discrete_optimization.binpack.solvers package
Submodules
discrete_optimization.binpack.solvers.cpsat module
- class discrete_optimization.binpack.solvers.cpsat.CpSatBinPackSolver(problem: BinPackSolution, params_objective_function: ParamsObjectiveFunction | None = None, **kwargs: Any)[source]
Bases:
OrtoolsCpSatSolver
,WarmstartMixin
- hyperparameters: list[Hyperparameter] = [EnumHyperparameter(name='modeling', default=<ModelingBinPack.BINARY: 0>, depends_on=None, name_in_kwargs='modeling')]
Hyperparameters available for this solver.
- These hyperparameters are to be feed to **kwargs found in
__init__()
init_model() (when available)
solve()
- init_model(**args: Any) None [source]
Instantiate a CP model instance
Afterwards, self.instance should not be None anymore.
- modeling: ModelingBinPack
- problem: BinPackProblem
- retrieve_solution(cpsolvercb: CpSolverSolutionCallback) Solution [source]
Construct a do solution from the cpsat solver internal solution.
It will be called each time the cpsat solver find a new solution. At that point, value of internal variables are accessible via cpsolvercb.Value(VARIABLE_NAME).
- Parameters:
cpsolvercb – the ortools callback called when the cpsat solver finds a new solution.
- Returns:
the intermediate solution, at do format.
- set_warm_start(solution: BinPackSolution) None [source]
Make the solver warm start from the given solution.
discrete_optimization.binpack.solvers.dp module
- class discrete_optimization.binpack.solvers.dp.DpBinPackSolver(problem: Problem, params_objective_function: ParamsObjectiveFunction | None = None, **kwargs: Any)[source]
Bases:
DpSolver
- hyperparameters: list[Hyperparameter] = [EnumHyperparameter(name='modeling', default=<ModelingDpBinPack.ASSIGN_ITEM_BINS: 0>, depends_on=None, name_in_kwargs='modeling')]
Hyperparameters available for this solver.
- These hyperparameters are to be feed to **kwargs found in
__init__()
init_model() (when available)
solve()
- init_model(**kwargs)[source]
Initialize internal model used to solve.
Can initialize a ortools, milp, gurobi, … model.
- modeling: ModelingDpBinPack
- problem: BinPackProblem
- transitions: dict
discrete_optimization.binpack.solvers.greedy module
- class discrete_optimization.binpack.solvers.greedy.GreedyBinPackSolver(problem: BinPackProblem, **kwargs: Any)[source]
Bases:
SolverDO
- problem: BinPackProblem
- solve(callbacks: list[Callback] | None = None, **kwargs: Any) ResultStorage [source]
Generic solving function.
- Parameters:
callbacks – list of callbacks used to hook into the various stage of the solve
**kwargs – any argument specific to the solver
Solvers deriving from SolverDo should use callbacks methods .on_step_end(), … during solve(). But some solvers are not yet updated and are just ignoring it.
Returns (ResultStorage): a result object containing potentially a pool of solutions to a discrete-optimization problem
discrete_optimization.binpack.solvers.lp module
- class discrete_optimization.binpack.solvers.lp.MathOptBinPackSolver(problem: BinPackProblem, params_objective_function: ParamsObjectiveFunction | None = None, **kwargs: Any)[source]
Bases:
_BaseLpBinPackSolver
,OrtoolsMathOptMilpSolver
discrete_optimization.binpack.solvers.toulbar module
- class discrete_optimization.binpack.solvers.toulbar.ToulbarBinPackSolver(problem: Problem, params_objective_function: ParamsObjectiveFunction | None = None, **kwargs: Any)[source]
Bases:
ToulbarSolver
,WarmstartMixin
- init_model(**kwargs) None [source]
Initialize internal model used to solve.
Can initialize a ortools, milp, gurobi, … model.
- problem: BinPackProblem
- retrieve_solution(solution_from_toulbar2: tuple[list, float, int]) BinPackSolution [source]
- set_warm_start(solution: BinPackSolution) None [source]
Make the solver warm start from the given solution.