You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Looking at the code for tournament_selection_nsga2 in parent_selection.py only the first two solutions in each round of selection are ever compared.
pareto_fronts, solutions_fronts_indices=self.non_dominated_sorting(fitness)
self.pareto_fronts=pareto_fronts.copy()
# Randomly generate pairs of indices to apply for NSGA-II tournament selection for selecting the parents solutions.rand_indices=numpy.random.randint(low=0.0,
high=len(solutions_fronts_indices),
size=(num_parents, self.K_tournament))
forparent_numinrange(num_parents):
# Return the indices of the current 2 solutions.current_indices=rand_indices[parent_num]
# Return the front index of the 2 solutions.parent_fronts_indices=solutions_fronts_indices[current_indices]
ifparent_fronts_indices[0] <parent_fronts_indices[1]:
# If the first solution is in a lower pareto front than the second, then select it.selected_parent_idx=current_indices[0]
elifparent_fronts_indices[0] >parent_fronts_indices[1]:
# If the second solution is in a lower pareto front than the first, then select it.selected_parent_idx=current_indices[1]
else:
# The 2 solutions are in the same pareto front.# The selection is made using the crowding distance.
...
K_tournament solution indexes are selected with randint though. This also happens for crowding distance as well.
The text was updated successfully, but these errors were encountered:
Looking at the code for
tournament_selection_nsga2
in parent_selection.py only the first two solutions in each round of selection are ever compared.K_tournament solution indexes are selected with randint though. This also happens for crowding distance as well.
The text was updated successfully, but these errors were encountered: