discrete_optimization.generic_tools.mutations package

Submodules

discrete_optimization.generic_tools.mutations.mixed_mutation module

class discrete_optimization.generic_tools.mutations.mixed_mutation.BasicPortfolioMutation(list_mutation: List[Mutation], weight_mutation: List[float] | ndarray)[source]

Bases: Mutation

mutate(solution: Solution) Tuple[Solution, LocalMove][source]
mutate_and_compute_obj(solution: Solution) Tuple[Solution, LocalMove, Dict[str, float]][source]
class discrete_optimization.generic_tools.mutations.mixed_mutation.BasicPortfolioMutationTrack(list_mutation: List[Mutation], weight_mutation: List[float] | ndarray)[source]

Bases: Mutation

mutate(solution: Solution) Tuple[Solution, LocalMove][source]
mutate_and_compute_obj(solution: Solution) Tuple[Solution, LocalMove, Dict[str, float]][source]

discrete_optimization.generic_tools.mutations.mutation_bool module

class discrete_optimization.generic_tools.mutations.mutation_bool.BitFlipMove(attribute: str, list_index_flip: Iterable[int])[source]

Bases: LocalMove

apply_local_move(solution: Solution) Solution[source]
backtrack_local_move(solution: Solution) Solution[source]
class discrete_optimization.generic_tools.mutations.mutation_bool.MutationBitFlip(problem: Problem, attribute: str | None = None, probability_flip: float = 0.1)[source]

Bases: Mutation

static build(problem: Problem, solution: Solution, **kwargs: Any) MutationBitFlip[source]
mutate(solution: Solution) Tuple[Solution, LocalMove][source]
mutate_and_compute_obj(solution: Solution) Tuple[Solution, LocalMove, Dict[str, float]][source]

discrete_optimization.generic_tools.mutations.mutation_catalog module

discrete_optimization.generic_tools.mutations.mutation_catalog.get_available_mutations(problem: Problem, solution: Solution | None = None) Tuple[Dict[TypeAttribute, Dict[str, Tuple[Type[Mutation], Dict[str, Any]]]], List[Tuple[Type[Mutation], Dict[str, Any]]]][source]

discrete_optimization.generic_tools.mutations.mutation_integer module

class discrete_optimization.generic_tools.mutations.mutation_integer.MutationIntegerSpecificArity(problem: Problem, attribute: str | None = None, arities: List[int] | None = None, probability_flip: float = 0.1, min_value: int = 1)[source]

Bases: Mutation

static build(problem: Problem, solution: Solution, **kwargs: Any) MutationIntegerSpecificArity[source]
mutate(solution: Solution) Tuple[Solution, LocalMove][source]
mutate_and_compute_obj(solution: Solution) Tuple[Solution, LocalMove, Dict[str, float]][source]

discrete_optimization.generic_tools.mutations.mutation_util module

discrete_optimization.generic_tools.mutations.mutation_util.get_attribute_for_type(register: EncodingRegister, type_attribute: TypeAttribute) str[source]

discrete_optimization.generic_tools.mutations.permutation_mutations module

class discrete_optimization.generic_tools.mutations.permutation_mutations.PermutationPartialShuffleMutation(problem: Problem, solution: Solution, attribute: str | None = None, proportion: float = 0.3)[source]

Bases: Mutation

static build(problem: Problem, solution: Solution, **kwargs: Any) PermutationPartialShuffleMutation[source]
mutate(solution: Solution) Tuple[Solution, LocalMove][source]
mutate_and_compute_obj(solution: Solution) Tuple[Solution, LocalMove, Dict[str, float]][source]
class discrete_optimization.generic_tools.mutations.permutation_mutations.PermutationShuffleMutation(problem: Problem, solution: Solution, attribute: str | None = None)[source]

Bases: Mutation

static build(problem: Problem, solution: Solution, **kwargs: Any) PermutationShuffleMutation[source]
mutate(solution: Solution) Tuple[Solution, LocalMove][source]
mutate_and_compute_obj(solution: Solution) Tuple[Solution, LocalMove, Dict[str, float]][source]
class discrete_optimization.generic_tools.mutations.permutation_mutations.PermutationSwap(problem: Problem, solution: Solution, attribute: str | None = None, nb_swap: int = 1)[source]

Bases: Mutation

static build(problem: Problem, solution: Solution, **kwargs: Any) PermutationSwap[source]
mutate(solution: Solution) Tuple[Solution, LocalMove][source]
mutate_and_compute_obj(solution: Solution) Tuple[Solution, LocalMove, Dict[str, float]][source]
class discrete_optimization.generic_tools.mutations.permutation_mutations.ShuffleMove(attribute: str, new_permutation: List[int] | ndarray, prev_permutation: List[int] | ndarray)[source]

Bases: LocalMove

apply_local_move(solution: Solution) Solution[source]
backtrack_local_move(solution: Solution) Solution[source]
class discrete_optimization.generic_tools.mutations.permutation_mutations.SwapsLocalMove(attribute: str, list_index_swap: List[Tuple[int, int]])[source]

Bases: LocalMove

apply_local_move(solution: Solution) Solution[source]
backtrack_local_move(solution: Solution) Solution[source]
class discrete_optimization.generic_tools.mutations.permutation_mutations.TwoOptMove(attribute: str, index_2opt: List[Tuple[int, int]])[source]

Bases: LocalMove

apply_local_move(solution: Solution) Solution[source]
backtrack_local_move(solution: Solution) Solution[source]
class discrete_optimization.generic_tools.mutations.permutation_mutations.TwoOptMutation(problem: Problem, solution: Solution, attribute: str | None = None)[source]

Bases: Mutation

static build(problem: Problem, solution: Solution, **kwargs: Any) TwoOptMutation[source]
mutate(solution: Solution) Tuple[Solution, LocalMove][source]
mutate_and_compute_obj(solution: Solution) Tuple[Solution, LocalMove, Dict[str, float]][source]

Module contents