SCIP Interface

Model

class ecole.scip.Model
__init__(*args, **kwargs)
as_pyscipopt(self: ecole.scip.Model) object
copy_orig(self: ecole.scip.Model) ecole.scip.Model
disable_cuts(self: ecole.scip.Model) None
disable_presolve(self: ecole.scip.Model) None
property dual_bound
static from_file(filepath: os.PathLike) ecole.scip.Model
static from_pyscipopt(model: object) ecole.scip.Model
get_param(self: ecole.scip.Model, name: str) Union[bool, int, float, str]
get_params(self: ecole.scip.Model) Dict[str, Union[bool, int, float, str]]
property is_solved
property name
presolve(self: ecole.scip.Model) None
property primal_bound
static prob_basic(name: str = 'Model') ecole.scip.Model
set_messagehdlr_quiet(self: ecole.scip.Model, quiet: bool) None
set_param(self: ecole.scip.Model, name: str, value: Union[bool, int, float, str]) None
set_params(self: ecole.scip.Model, name_values: Dict[str, Union[bool, int, float, str]]) None
solve(self: ecole.scip.Model) None
solve_iter(self: ecole.scip.Model, *args) Optional[Union[ecole.scip.callback.BranchruleCall, ecole.scip.callback.HeuristicCall]]
solve_iter_continue(self: ecole.scip.Model, arg0: ecole.scip.callback.Result) Optional[Union[ecole.scip.callback.BranchruleCall, ecole.scip.callback.HeuristicCall]]
property stage
transform_prob(self: ecole.scip.Model) None
write_problem(self: ecole.scip.Model, filepath: os.PathLike) None

Callbacks

Branchrule

class ecole.scip.callback.BranchruleConstructor
__init__(self: ecole.scip.callback.BranchruleConstructor, priority: int = 536870911, max_depth: int = - 1, max_bound_distance: float = 1.0) None
property max_bound_distance
property max_depth
property priority
class ecole.scip.callback.BranchruleCall
class Where

Members:

LP

External

Pseudo

External = <Where.External: 1>
LP = <Where.LP: 0>
Pseudo = <Where.Pseudo: 2>
__init__(self: ecole.scip.callback.BranchruleCall.Where, value: int) None
property name
property value
__init__(self: ecole.scip.callback.BranchruleCall, allow_add_constraints: bool = False, where: ecole.scip.callback.BranchruleCall.Where = <Where.LP: 0>) None
property allow_add_constraints
property where

Heuristic

class ecole.scip.callback.HeuristicConstructor
__init__(self: ecole.scip.callback.HeuristicConstructor, priority: int = 536870911, frequency: int = 1, frequency_offset: int = 0, max_depth: int = - 1, timing_mask: int = 24) None
property frequency
property frequency_offset
property max_depth
property priority
property timing_mask
class ecole.scip.callback.HeuristicCall
__init__(self: ecole.scip.callback.HeuristicCall, heuristic_timing: int = 0, node_infeasible: bool = False) None
property heuristic_timing
property node_infeasible

Utilities

callback.priority_max = 536870911
callback.max_depth_none = -1
callback.max_bound_distance_none = 1.0
callback.frequency_always = 1
callback.frequency_offset_none = 0
class ecole.scip.callback.Result

Members:

DidNotRun

Delayed

DidNotFind

Feasible

Infeasible

Unbounded

CutOff

Separated

NewRound

ReducedDOM

ConsAdded

ConsChanged

Branched

SolveLP

FoundSol

Suspended

Success

DelayNode

Branched = <Result.Branched: 13>
ConsAdded = <Result.ConsAdded: 11>
ConsChanged = <Result.ConsChanged: 12>
CutOff = <Result.CutOff: 7>
DelayNode = <Result.DelayNode: 18>
Delayed = <Result.Delayed: 2>
DidNotFind = <Result.DidNotFind: 3>
DidNotRun = <Result.DidNotRun: 1>
Feasible = <Result.Feasible: 4>
FoundSol = <Result.FoundSol: 15>
Infeasible = <Result.Infeasible: 5>
NewRound = <Result.NewRound: 9>
ReducedDOM = <Result.ReducedDOM: 10>
Separated = <Result.Separated: 8>
SolveLP = <Result.SolveLP: 14>
Success = <Result.Success: 17>
Suspended = <Result.Suspended: 16>
Unbounded = <Result.Unbounded: 6>
__init__(self: ecole.scip.callback.Result, value: int) None
property name
property value
class ecole.scip.callback.Type

Members:

Branchrule

Heuristic

Branchrule = <Type.Branchrule: 0>
Heuristic = <Type.Heuristic: 1>
__init__(self: ecole.scip.callback.Type, value: int) None
property name
property value

SCIP Data Types

class ecole.scip.Stage

Members:

Init

Problem

Transforming

Transformed

InitPresolve

Presolving

ExitPresolve

Presolved

InitSolve

Solving

Solved

ExitSolve

FreeTrans

Free

ExitPresolve = <Stage.ExitPresolve: 6>
ExitSolve = <Stage.ExitSolve: 11>
Free = <Stage.Free: 13>
FreeTrans = <Stage.FreeTrans: 12>
Init = <Stage.Init: 0>
InitPresolve = <Stage.InitPresolve: 4>
InitSolve = <Stage.InitSolve: 8>
Presolved = <Stage.Presolved: 7>
Presolving = <Stage.Presolving: 5>
Problem = <Stage.Problem: 1>
Solved = <Stage.Solved: 10>
Solving = <Stage.Solving: 9>
Transformed = <Stage.Transformed: 3>
Transforming = <Stage.Transforming: 2>
__init__(self: ecole.scip.Stage, value: int) None
property name
property value
class ecole.scip.HeurTiming
AfterLpLoop = 4
AfterLpNode = 8
AfterLpPlunge = 32
AfterNode = 24
AfterPlunge = 96
AfterPropLoop = 1024
AfterPseudoNode = 16
AfterPseudoPlunge = 64
BeforePresol = 256
DuringLpLoop = 2
DuringPresolLoop = 512
DuringPricingLoop = 128
__init__(*args, **kwargs)