eckity.genetic_operators.selections.selection_method
1from abc import abstractmethod 2 3from eckity.event_based_operator import Operator 4 5 6class SelectionMethod(Operator): 7 def __init__(self, events=None, higher_is_better=False): 8 if events is None: 9 events = ["after_selection"] 10 super().__init__(events=events) 11 self.higher_is_better = higher_is_better 12 self.selected_individuals = None 13 14 def apply_operator(self, payload): 15 return self.select(payload[0], payload[1]) 16 17 @abstractmethod 18 def select(self, source_inds, dest_inds): 19 pass 20 21 def event_name_to_data(self, event_name): 22 if event_name == "after_selection": 23 return {"applied_individuals": self.selected_individuals} 24 else: 25 return {}
7class SelectionMethod(Operator): 8 def __init__(self, events=None, higher_is_better=False): 9 if events is None: 10 events = ["after_selection"] 11 super().__init__(events=events) 12 self.higher_is_better = higher_is_better 13 self.selected_individuals = None 14 15 def apply_operator(self, payload): 16 return self.select(payload[0], payload[1]) 17 18 @abstractmethod 19 def select(self, source_inds, dest_inds): 20 pass 21 22 def event_name_to_data(self, event_name): 23 if event_name == "after_selection": 24 return {"applied_individuals": self.selected_individuals} 25 else: 26 return {}