def cx_crossover(self, parent1, parent2): #od parent1 dajemy loop, od parent2 dopełnienie index = 0 child1 = Route(self.cities) chromosom_index = [] while True: chromosom_index.append(index) chromosom = parent2.city_route[index] index = parent1.city_route.index(chromosom) if index == 0: break unused_indexes = list(range(0, len(parent1.city_route))) for i in chromosom_index: child1.city_route[i] = parent1.city_route[i] unused_indexes.remove(i) for i in unused_indexes: child1.city_route[i] = parent2.city_route[i] child1 = self.mutation(child1) child1.calc_cost() return child1