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
- 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
- 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]