discrete_optimization.shop.solvers package

Submodules

discrete_optimization.shop.solvers.cpsat module

class discrete_optimization.shop.solvers.cpsat.CommonShopCpSatSolver(problem: Problem, params_objective_function: ParamsObjectiveFunction | None = None, **kwargs: Any)[source]

Bases: GenericSchedulingAutoCpSatSolver[tuple[int, int], None, None, int, None], WithoutSkillSchedulingCpSatSolver[tuple[int, int], None, int, None]

class discrete_optimization.shop.solvers.cpsat.CpSatShopSolver(problem: Problem, params_objective_function: ParamsObjectiveFunction | None = None, **kwargs: Any)[source]

Bases: CommonShopCpSatSolver

convert_task_variables_to_solution(raw_sol: RawSolution[tuple[int, int], None, None]) AnyShopSolution[source]

Convert solution from autosolver format into do format.

To be used in self.retrieve_solution().

Parameters:

raw_sol

Returns:

get_makespan_upper_bound() int[source]

Get a upper bound on global makespan.

hyperparameters: list[Hyperparameter] = [CategoricalHyperparameter(name='duplicate_temporal_var', default=False, depends_on=None, name_in_kwargs='duplicate_temporal_var'), CategoricalHyperparameter(name='add_cumulative_constraint', default=False, depends_on=None, name_in_kwargs='add_cumulative_constraint')]

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]

Init cp model and reset stored variables if any.

problem: CommonShopProblem

discrete_optimization.shop.solvers.greedy module

class discrete_optimization.shop.solvers.greedy.GreedyShopSolver(problem: Problem, params_objective_function: ParamsObjectiveFunction | None = None, **kwargs: Any)[source]

Bases: SolverDO

problem: CommonShopProblem
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

Module contents