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