qilisdk.utils.classical_solvers.scip_solver

Attributes

ScipExpr

Classes

ScipSolver

Classical solver that uses SCIP (via pyscipopt).

Module Contents

type ScipExpr = Expr | float[source]
class ScipSolver[source]

Bases: qilisdk.utils.classical_solvers.base_solver.ClassicalSolver

Classical solver that uses SCIP (via pyscipopt).

This requires the optional pyscipopt dependency (pip install qilisdk[scip]).

Example

from qilisdk.core import Model
from qilisdk.utils.classical_solvers import ScipSolver

model = Model.knapsack(values=[5, 4], weights=[3, 2], max_weight=3)
result = ScipSolver().solve(model)
solve(model: qilisdk.core.Model, verbose: bool = False, params: dict[str, Any] | None = None) qilisdk.utils.classical_solvers.base_solver.ClassicalSolverResult[source]

Solve the given model to global optimality with SCIP.

Parameters:
  • model – The Model instance to solve.

  • verbose (bool, optional) – If False (the default) SCIP’s solver output is hidden.

  • params (dict[str, Any] | None, optional) – SCIP parameters forwarded to pyscipopt.Model.setParams (e.g. {"limits/time": 60}).

Returns:

the results of the optimization, including the objective value and best solution.

Return type:

ClassicalSolverResult

Raises:

ValueError – if the model contains an unsupported variable, uses an unsupported operation, or if SCIP finds no feasible solution.