예제 #1
0
 def _clone_teams(self, current_generation, teams_to_clone, teams_population, programs_population, bid_profiles):
     for team, parent_profile in zip(teams_to_clone, bid_profiles):
         clone = Team(current_generation, team.programs)
         programs_population = clone.mutate(programs_population)
         child_profile = clone.generate_profile()
         while parent_profile == child_profile:
             programs_population = clone.mutate(programs_population)
             child_profile = clone.generate_profile()
         while not self._team_has_different_bid_profile_overall(child_profile, bid_profiles):
             programs_population = clone.mutate(programs_population)
             child_profile = clone.generate_profile()
         teams_population.append(clone)
     return teams_population, programs_population
예제 #2
0
 def _clone_teams(self, current_generation, teams_to_clone, teams_population, programs_population):
     for team in teams_to_clone:
         clone = Team(current_generation, team.programs, team.environment)
         programs_population = clone.mutate(programs_population)
         teams_population.append(clone)
     return teams_population, programs_population