def __init__( self, problem: Problem, solution: Solution, attribute: str = None, proportion: float = 0.3, ): self.problem = problem self.register: EncodingRegister = solution.get_attribute_register( problem) self.attribute = attribute if attribute is None: print("none") attributes = [ k for k in self.register.dict_attribute_to_type for t in self.register.dict_attribute_to_type[k]["type"] if t == TypeAttribute.PERMUTATION ] print(attributes) if len(attributes) > 0: self.attribute = attributes[0] self.range_shuffle = self.register.dict_attribute_to_type[ self.attribute]["range"] self.n_to_move = int(proportion * len(self.range_shuffle)) self.range_int = list(range(self.n_to_move)) self.range_int_total = list(range(len(self.range_shuffle)))
def __init__(self, problem: Problem, solution: Solution, attribute: str = None): self.problem = problem self.register: EncodingRegister = solution.get_attribute_register( problem) self.attribute = attribute if self.attribute is None: attributes = [ k for k in self.register.dict_attribute_to_type for t in self.register.dict_attribute_to_type[k]["type"] if t == TypeAttribute.PERMUTATION ] if len(attributes) > 0: self.attribute = attributes[0] self.range_shuffle = self.register.dict_attribute_to_type[ self.attribute]["range"] self.range_int = list(range(len(self.range_shuffle)))
def __init__( self, problem: Problem, solution: Solution, attribute: str = None, nb_swap: int = 1, ): self.problem = problem self.register: EncodingRegister = solution.get_attribute_register( problem) self.nb_swap = nb_swap self.attribute = attribute if self.attribute is None: attributes = [ k for k in self.register.dict_attribute_to_type for t in self.register.dict_attribute_to_type[k]["type"] if t == TypeAttribute.PERMUTATION ] if len(attributes) > 0: self.attribute = attributes[0] self.length = len( self.register.dict_attribute_to_type[self.attribute]["range"])