diff --git a/src/pyscipopt/scip.pyi b/src/pyscipopt/scip.pyi index 1c1b0f841..571f987d7 100644 --- a/src/pyscipopt/scip.pyi +++ b/src/pyscipopt/scip.pyi @@ -1,7 +1,8 @@ from dataclasses import dataclass +from typing import ClassVar + import numpy from _typeshed import Incomplete -from typing import ClassVar CONST: Term EventNames: dict @@ -11,7 +12,10 @@ Operator: Op PATCH: int PY_SCIP_CALL: Incomplete StageNames: dict -__test__: dict +_SCIP_BOUNDTYPE_TO_STRING: dict +_expr_richcmp: Incomplete +_is_number: Incomplete +_matrixexpr_richcmp: Incomplete buildGenExprObj: Incomplete cos: Incomplete exp: Incomplete @@ -99,6 +103,10 @@ class Column: def __lt__(self, other: object) -> bool: ... def __ne__(self, other: object) -> bool: ... +class ColumnExact: + data: Incomplete + def __init__(self, *args, **kwargs) -> None: ... + class Conshdlr: model: Incomplete name: Incomplete @@ -187,6 +195,7 @@ class DomainChanges: class Event: data: Incomplete def __init__(self, *args, **kwargs) -> None: ... + def _getEventNames(self, *args, **kwargs): ... def getName(self, *args, **kwargs): ... def getNewBound(self, *args, **kwargs): ... def getNode(self, *args, **kwargs): ... @@ -244,6 +253,8 @@ class Expr: def __truediv__(self, other): ... class ExprCons: + _lhs: Incomplete + _rhs: Incomplete expr: Incomplete def __init__(self, *args, **kwargs) -> None: ... def normalize(self, *args, **kwargs): ... @@ -256,6 +267,7 @@ class ExprCons: def __ne__(self, other: object) -> bool: ... class GenExpr: + _op: Incomplete children: Incomplete def __init__(self, *args, **kwargs) -> None: ... def degree(self, *args, **kwargs): ... @@ -290,6 +302,23 @@ class Heur: def heurinit(self, *args, **kwargs): ... def heurinitsol(self, *args, **kwargs): ... +class IIS: + def __init__(self, *args, **kwargs) -> None: ... + def getNNodes(self, *args, **kwargs): ... + def getSubscip(self, *args, **kwargs): ... + def getTime(self, *args, **kwargs): ... + def greedyMakeIrreducible(self, *args, **kwargs): ... + def isSubscipInfeasible(self, *args, **kwargs): ... + def isSubscipIrreducible(self, *args, **kwargs): ... + def setSubscipInfeasible(self, *args, **kwargs): ... + def setSubscipIrreducible(self, *args, **kwargs): ... + +class IISfinder: + iis: Incomplete + def __init__(self, *args, **kwargs) -> None: ... + def iisfinderexec(self, *args, **kwargs): ... + def iisfinderfree(self, *args, **kwargs): ... + class LP: name: Incomplete def __init__(self, *args, **kwargs) -> None: ... @@ -387,8 +416,14 @@ class MatrixVariable(MatrixExpr): def vtype(self, *args, **kwargs): ... class Model: + _freescip: Incomplete data: Incomplete def __init__(self, *args, **kwargs) -> None: ... + def _createConsGenNonlinear(self, *args, **kwargs): ... + def _createConsLinear(self, *args, **kwargs): ... + def _createConsNonlinear(self, *args, **kwargs): ... + def _createConsQuadratic(self, *args, **kwargs): ... + def _getStageNames(self, *args, **kwargs): ... def activateBenders(self, *args, **kwargs): ... def addBendersSubproblem(self, *args, **kwargs): ... def addCoefKnapsack(self, *args, **kwargs): ... @@ -417,6 +452,7 @@ class Model: def addPoolCut(self, *args, **kwargs): ... def addPyCons(self, *args, **kwargs): ... def addRowDive(self, *args, **kwargs): ... + def addRowExact(self, *args, **kwargs): ... def addSol(self, *args, **kwargs): ... def addVar(self, *args, **kwargs): ... def addVarLocks(self, *args, **kwargs): ... @@ -425,11 +461,13 @@ class Model: def addVarSOS2(self, *args, **kwargs): ... def addVarToRow(self, *args, **kwargs): ... def allColsInLP(self, *args, **kwargs): ... + def allowNegSlackExact(self, *args, **kwargs): ... def appendVarSOS1(self, *args, **kwargs): ... def appendVarSOS2(self, *args, **kwargs): ... def applyCutsProbing(self, *args, **kwargs): ... def attachEventHandlerCallback(self, *args, **kwargs): ... def backtrackProbing(self, *args, **kwargs): ... + def branchLPExact(self, *args, **kwargs): ... def branchVar(self, *args, **kwargs): ... def branchVarVal(self, *args, **kwargs): ... def cacheRowExtensions(self, *args, **kwargs): ... @@ -441,8 +479,6 @@ class Model: def checkBendersSubproblemOptimality(self, *args, **kwargs): ... def checkQuadraticNonlinear(self, *args, **kwargs): ... def checkSol(self, *args, **kwargs): ... - def chgAndConsCheckFlagWhenUpgr(self, *args, **kwargs): ... - def chgAndConsRemovableFlagWhenUpgr(self, *args, **kwargs): ... def chgCapacityKnapsack(self, *args, **kwargs): ... def chgCoefLinear(self, *args, **kwargs): ... def chgLhs(self, *args, **kwargs): ... @@ -459,8 +495,6 @@ class Model: def chgVarObjDive(self, *args, **kwargs): ... def chgVarObjProbing(self, *args, **kwargs): ... def chgVarType(self, *args, **kwargs): ... - def markDoNotAggrVar(self, *args, **kwargs): ... - def markDoNotMultaggrVar(self, *args, **kwargs): ... def chgVarUb(self, *args, **kwargs): ... def chgVarUbDive(self, *args, **kwargs): ... def chgVarUbGlobal(self, *args, **kwargs): ... @@ -491,6 +525,7 @@ class Model: def dropRowEvent(self, *args, **kwargs): ... def dropVarEvent(self, *args, **kwargs): ... def enableDebugSol(self, *args, **kwargs): ... + def enableExactSolving(self, *args, **kwargs): ... def enableReoptimization(self, *args, **kwargs): ... def endDive(self, *args, **kwargs): ... def endProbing(self, *args, **kwargs): ... @@ -512,6 +547,7 @@ class Model: def freeTransform(self, *args, **kwargs): ... @staticmethod def from_ptr(*args, **kwargs): ... + def generateIIS(self, *args, **kwargs): ... def getActivity(self, *args, **kwargs): ... def getBendersAuxiliaryVar(self, *args, **kwargs): ... def getBendersSubproblem(self, *args, **kwargs): ... @@ -547,6 +583,7 @@ class Model: def getDualsolLinear(self, *args, **kwargs): ... def getGap(self, *args, **kwargs): ... def getHeurTiming(self, *args, **kwargs): ... + def getIIS(self, *args, **kwargs): ... def getLPBInvARow(self, *args, **kwargs): ... def getLPBInvRow(self, *args, **kwargs): ... def getLPBasisInd(self, *args, **kwargs): ... @@ -670,6 +707,7 @@ class Model: def includeDefaultPlugins(self, *args, **kwargs): ... def includeEventhdlr(self, *args, **kwargs): ... def includeHeur(self, *args, **kwargs): ... + def includeIISfinder(self, *args, **kwargs): ... def includeNodesel(self, *args, **kwargs): ... def includePresol(self, *args, **kwargs): ... def includePricer(self, *args, **kwargs): ... @@ -683,6 +721,7 @@ class Model: def isAndConsSorted(self, *args, **kwargs): ... def isCutEfficacious(self, *args, **kwargs): ... def isEQ(self, *args, **kwargs): ... + def isExact(self, *args, **kwargs): ... def isFeasEQ(self, *args, **kwargs): ... def isFeasGE(self, *args, **kwargs): ... def isFeasGT(self, *args, **kwargs): ... @@ -705,6 +744,8 @@ class Model: def isPositive(self, *args, **kwargs): ... def isZero(self, *args, **kwargs): ... def lpiGetIterations(self, *args, **kwargs): ... + def markDoNotAggrVar(self, *args, **kwargs): ... + def markDoNotMultaggrVar(self, *args, **kwargs): ... def newProbingNode(self, *args, **kwargs): ... def optimize(self, *args, **kwargs): ... def optimizeNogil(self, *args, **kwargs): ... @@ -717,6 +758,7 @@ class Model: def printRow(self, *args, **kwargs): ... def printSol(self, *args, **kwargs): ... def printStatistics(self, *args, **kwargs): ... + def printStatisticsJson(self, *args, **kwargs): ... def printVersion(self, *args, **kwargs): ... def propagateProbing(self, *args, **kwargs): ... def readParams(self, *args, **kwargs): ... @@ -789,6 +831,7 @@ class Model: def writeProblem(self, *args, **kwargs): ... def writeSol(self, *args, **kwargs): ... def writeStatistics(self, *args, **kwargs): ... + def writeStatisticsJson(self, *args, **kwargs): ... def writeTransSol(self, *args, **kwargs): ... def __eq__(self, other: object) -> bool: ... def __ge__(self, other: object) -> bool: ... @@ -889,7 +932,9 @@ class PY_SCIP_EVENTTYPE: BOUNDTIGHTENED: ClassVar[int] = ... DISABLED: ClassVar[int] = ... DOMCHANGED: ClassVar[int] = ... + DUALBOUNDIMPROVED: ClassVar[int] = ... FIRSTLPSOLVED: ClassVar[int] = ... + GAPUPDATED: ClassVar[int] = ... GBDCHANGED: ClassVar[int] = ... GHOLEADDED: ClassVar[int] = ... GHOLECHANGED: ClassVar[int] = ... @@ -953,6 +998,12 @@ class PY_SCIP_HEURTIMING: DURINGPRICINGLOOP: ClassVar[int] = ... def __init__(self, *args, **kwargs) -> None: ... +class PY_SCIP_IMPLINTTYPE: + NONE: ClassVar[int] = ... + STRONG: ClassVar[int] = ... + WEAK: ClassVar[int] = ... + def __init__(self, *args, **kwargs) -> None: ... + class PY_SCIP_LOCKTYPE: CONFLICT: ClassVar[int] = ... MODEL: ClassVar[int] = ... @@ -1211,6 +1262,10 @@ class Row: def __lt__(self, other: object) -> bool: ... def __ne__(self, other: object) -> bool: ... +class RowExact: + data: Incomplete + def __init__(self, *args, **kwargs) -> None: ... + class Sepa: model: Incomplete name: Incomplete @@ -1226,6 +1281,8 @@ class Sepa: class Solution: data: Incomplete def __init__(self, *args, **kwargs) -> None: ... + def _checkStage(self, *args, **kwargs): ... + def _evaluate(self, *args, **kwargs): ... def getOrigin(self, *args, **kwargs): ... def retransform(self, *args, **kwargs): ... def translate(self, *args, **kwargs): ... @@ -1309,6 +1366,7 @@ class Variable(Expr): def __init__(self, *args, **kwargs) -> None: ... def getAvgSol(self, *args, **kwargs): ... def getCol(self, *args, **kwargs): ... + def getImplType(self, *args, **kwargs): ... def getIndex(self, *args, **kwargs): ... def getLPSol(self, *args, **kwargs): ... def getLbGlobal(self, *args, **kwargs): ... @@ -1321,19 +1379,23 @@ class Variable(Expr): def getNLocksUp(self, *args, **kwargs): ... def getNLocksUpType(self, *args, **kwargs): ... def getObj(self, *args, **kwargs): ... + def getStatus(self, *args, **kwargs): ... def getUbGlobal(self, *args, **kwargs): ... def getUbLocal(self, *args, **kwargs): ... def getUbOriginal(self, *args, **kwargs): ... + def isActive(self, *args, **kwargs): ... + def isBinary(self, *args, **kwargs): ... def isDeletable(self, *args, **kwargs): ... + def isImpliedIntegral(self, *args, **kwargs): ... def isInLP(self, *args, **kwargs): ... + def isIntegral(self, *args, **kwargs): ... + def isNonImpliedIntegral(self, *args, **kwargs): ... def isOriginal(self, *args, **kwargs): ... - def isActive(self, *args, **kwargs): ... def isRelaxationOnly(self, *args, **kwargs): ... def markRelaxationOnly(self, *args, **kwargs): ... def ptr(self, *args, **kwargs): ... def varMayRound(self, *args, **kwargs): ... def vtype(self, *args, **kwargs): ... - def getStatus(self, *args, **kwargs): ... class _VarArray: def __init__(self, *args, **kwargs) -> None: ...