Package ortools_utils

Module with additional functions to OR-Tools CP-SAT model and solver that allows for:

  • multiple-objective modelization
  • modelization of relaxable constraints (contraints that are not mandatory but are seen as an objective)
  • explanation of infeasibility for infeasible problems
  • local explanation of result for feasible problems
  • production of natural language explanations
  • easier local optimisation (LNS)…
Expand source code
"""
Module with additional functions to OR-Tools CP-SAT model and solver that allows for:

* multiple-objective modelization
* modelization of relaxable constraints (contraints that are not mandatory but are seen as an objective)
* explanation of infeasibility for infeasible problems
* local explanation of result for feasible problems
* production of natural language explanations
* easier local optimisation (LNS)...
"""

Sub-modules

ortools_utils.advanced_solving

For internal use only

ortools_utils.explainability

For internal use only

ortools_utils.metric

Abstract class that must be used to associate different kinds of metrics to a specific model.

ortools_utils.model

Defines a SuperModel class that overrides cp_model and enables you to name constraints, add relaxable constraints, define multiple objectives…

ortools_utils.model_indexation

For internal use only

ortools_utils.solver

Defines a SuperSolver class that overrides CpSolver and enables you to use complexe optimization strategies and to produce explanations.

ortools_utils.status

Class used as enum to return the current status of the solver (SuperSolver object).