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 {}
class SelectionMethod(eckity.event_based_operator.Operator):
 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 {}
SelectionMethod(events=None, higher_is_better=False)
 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
higher_is_better
selected_individuals
def apply_operator(self, payload):
15    def apply_operator(self, payload):
16        return self.select(payload[0], payload[1])
@abstractmethod
def select(self, source_inds, dest_inds):
18    @abstractmethod
19    def select(self, source_inds, dest_inds):
20        pass
def event_name_to_data(self, event_name):
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 {}