discrete_optimization.tsp.mutation package

Submodules

discrete_optimization.tsp.mutation.mutation_tsp module

class discrete_optimization.tsp.mutation.mutation_tsp.Mutation2Opt(tsp_model: TSPModel2D, test_all: bool = False, nb_test: int | None = None, return_only_improvement: bool = False, **kwargs: Any)[source]

Bases: Mutation

static build(problem: TSPModel2D, solution: SolutionTSP, **kwargs) Mutation2Opt[source]
get_points(it: int, jt: int, variable: SolutionTSP) Tuple[Point2D, Point2D, Point2D, Point2D][source]
get_points_index(it: int, jt: int, variable: SolutionTSP) Tuple[int, int, int, int][source]
mutate(variable: SolutionTSP) Tuple[SolutionTSP, LocalMove][source]
mutate_and_compute_obj(variable: SolutionTSP) Tuple[SolutionTSP, LocalMove, Dict[str, float]][source]
node_count: int
points: Sequence[Point2D]
class discrete_optimization.tsp.mutation.mutation_tsp.Mutation2OptIntersection(tsp_model: TSPModel2D, test_all: bool = True, nb_test: int | None = None, return_only_improvement: bool = False, i_j_pairs: List[Tuple[int, int]] | None = None, **kwargs: Any)[source]

Bases: Mutation2Opt

static build(problem: TSPModel2D, solution: SolutionTSP, **kwargs) Mutation2OptIntersection[source]
mutate_and_compute_obj(variable: SolutionTSP) Tuple[SolutionTSP, LocalMove, Dict[str, float]][source]
nodeCount: int
points: Sequence[Point2D]
class discrete_optimization.tsp.mutation.mutation_tsp.MutationSwapTSP(tsp_model: TSPModel)[source]

Bases: Mutation

static build(problem: TSPModel, solution: SolutionTSP, **kwargs) MutationSwapTSP[source]
mutate(solution: SolutionTSP) Tuple[SolutionTSP, LocalMove][source]
mutate_and_compute_obj(solution: SolutionTSP) Tuple[SolutionTSP, LocalMove, Dict[str, float]][source]
class discrete_optimization.tsp.mutation.mutation_tsp.SwapTSPMove(attribute: str, tsp_model: TSPModel, swap: Tuple[int, int])[source]

Bases: LocalMove

apply_local_move(solution: SolutionTSP) SolutionTSP[source]
backtrack_local_move(solution: SolutionTSP) SolutionTSP[source]
discrete_optimization.tsp.mutation.mutation_tsp.ccw(A: Point2D, B: Point2D, C: Point2D) bool[source]
discrete_optimization.tsp.mutation.mutation_tsp.find_intersection(variable: SolutionTSP, points: Sequence[Point2D], test_all: bool = False, nb_tests: int = 10) List[Tuple[int, int]][source]
discrete_optimization.tsp.mutation.mutation_tsp.get_points_index(it: int, jt: int, variable: SolutionTSP, length_permutation: int) Tuple[int, int, int, int][source]
discrete_optimization.tsp.mutation.mutation_tsp.intersect(A: Point2D, B: Point2D, C: Point2D, D: Point2D) bool[source]

Module contents