discrete_optimization.tsptw.solvers package
Submodules
discrete_optimization.tsptw.solvers.cpsat module
- class discrete_optimization.tsptw.solvers.cpsat.CpSatTSPTWSolver(problem: TSPTWProblem, params_objective_function: ParamsObjectiveFunction | None = None, **kwargs)[source]
Bases:
OrtoolsCpSatSolver
,WarmstartMixin
CP-SAT solver for the Traveling Salesman Problem with Time Windows.
This solver uses a circuit constraint to ensure a valid tour and enforces time window constraints through implications based on the selected arcs.
- problem
The TSP-TW problem instance.
- Type:
- variables
A dictionary to store the CP-SAT model variables, including arc variables (‘x_arc’), time variables (‘t_time’), and the makespan variable.
- Type:
Dict[str, Any]
- problem: TSPTWProblem
- retrieve_solution(cpsolvercb: CpSolverSolutionCallback) TSPTWSolution [source]
Build a TSPTWSolution from the CP-SAT solver’s callback.
- Parameters:
cpsolvercb – The ortools callback object containing the current solution.
- Returns:
The current solution in the TSPTWSolution format.
- set_warm_start(solution: TSPTWSolution) None [source]
Provides a warm start hint to the CP-SAT solver from an existing solution.
- Parameters:
solution – A TSPTWSolution object.
discrete_optimization.tsptw.solvers.dp module
- class discrete_optimization.tsptw.solvers.dp.DpTspTwSolver(problem: Problem, params_objective_function: ParamsObjectiveFunction | None = None, **kwargs: Any)[source]
Bases:
DpSolver
- hyperparameters: list[Hyperparameter] = [CategoricalHyperparameter(name='add_dominated_transition', default=False, depends_on=None, name_in_kwargs='add_dominated_transition')]
Hyperparameters available for this solver.
- These hyperparameters are to be feed to **kwargs found in
__init__()
init_model() (when available)
solve()
- init_model(**kwargs: Any) None [source]
Initialize internal model used to solve.
Can initialize a ortools, milp, gurobi, … model.
- problem: TSPTWProblem
- retrieve_solution(sol: Solution) TSPTWSolution [source]
- transitions: dict