From 77e0ee32feb11a65f6fabeea4c816857376302b0 Mon Sep 17 00:00:00 2001 From: Joao-Dionisio Date: Wed, 14 Jan 2026 15:11:48 +0000 Subject: [PATCH 01/23] automatically run stub test --- .github/workflows/stubs.yml | 26 ++++++++++++++++++++++++++ CHANGELOG.md | 1 + 2 files changed, 27 insertions(+) diff --git a/.github/workflows/stubs.yml b/.github/workflows/stubs.yml index 559f8d97b..3f43a12cf 100644 --- a/.github/workflows/stubs.yml +++ b/.github/workflows/stubs.yml @@ -20,12 +20,29 @@ jobs: stubtest: if: (github.event_name != 'pull_request') || (github.event.pull_request.draft == false) runs-on: ubuntu-24.04 + permissions: + contents: write env: PYTHON_VERSION: "3.14" steps: - uses: actions/checkout@v6 + - name: Setup Python for stub generation + uses: actions/setup-python@v4 + with: + python-version: "3.12" + id: py312 + + - name: Check if stubs need regeneration + id: check + run: python scripts/generate_stubs.py --check + continue-on-error: true + + - name: Regenerate stubs + if: steps.check.outcome == 'failure' + run: python scripts/generate_stubs.py + - name: Install dependencies (SCIPOptSuite) run: | wget --quiet --no-check-certificate "https://github.com/scipopt/scip/releases/download/v${{ env.version }}/scipoptsuite_${{ env.version }}-1+jammy_amd64.deb" @@ -51,6 +68,15 @@ jobs: - name: Run stubtest run: stubs/test.sh + - name: Commit and push updated stubs + if: steps.check.outcome == 'failure' && github.event_name == 'push' + run: | + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + git add src/pyscipopt/scip.pyi + git commit -m "Auto-regenerate type stubs [skip ci]" + git push + lint: runs-on: ubuntu-latest env: diff --git a/CHANGELOG.md b/CHANGELOG.md index 52df46228..c53e20749 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ - Added automated script for generating type stubs - Include parameter names in type stubs - Speed up MatrixExpr.sum(axis=...) via quicksum +- Run automated type stub generating script to PR pipeline ### Fixed - all fundamental callbacks now raise an error if not implemented - Fixed the type of MatrixExpr.sum(axis=...) result from MatrixVariable to MatrixExpr. From ddf3d78a5272f2342e57bd82e0ce370050c5cd6a Mon Sep 17 00:00:00 2001 From: Joao-Dionisio Date: Wed, 14 Jan 2026 15:16:28 +0000 Subject: [PATCH 02/23] add isObjIntegral() for test --- src/pyscipopt/scip.pxd | 1 + src/pyscipopt/scip.pxi | 11 +++++++++++ tests/test_model.py | 13 ++++++++++++- 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/pyscipopt/scip.pxd b/src/pyscipopt/scip.pxd index b9bffc1d6..352bd9b28 100644 --- a/src/pyscipopt/scip.pxd +++ b/src/pyscipopt/scip.pxd @@ -737,6 +737,7 @@ cdef extern from "scip/scip.h": SCIP_Real SCIPepsilon(SCIP* scip) SCIP_Real SCIPfeastol(SCIP* scip) SCIP_RETCODE SCIPsetObjIntegral(SCIP* scip) + SCIP_Bool SCIPisObjIntegral(SCIP* scip) SCIP_Real SCIPgetLocalOrigEstimate(SCIP* scip) SCIP_Real SCIPgetLocalTransEstimate(SCIP* scip) diff --git a/src/pyscipopt/scip.pxi b/src/pyscipopt/scip.pxi index da23028f9..f08746c35 100644 --- a/src/pyscipopt/scip.pxi +++ b/src/pyscipopt/scip.pxi @@ -3981,6 +3981,17 @@ cdef class Model: """ PY_SCIP_CALL(SCIPsetObjIntegral(self._scip)) + def isObjIntegral(self): + """ + Returns whether the objective function is integral. + + Returns + ------- + bool + + """ + return SCIPisObjIntegral(self._scip) + def getLocalEstimate(self, original = False): """ Gets estimate of best primal solution w.r.t. original or transformed problem contained in current subtree. diff --git a/tests/test_model.py b/tests/test_model.py index 573a507e3..fbb3ff563 100644 --- a/tests/test_model.py +++ b/tests/test_model.py @@ -563,4 +563,15 @@ def test_getVarPseudocost(): p = m.getVarPseudocost(var, SCIP_BRANCHDIR.UPWARDS) # Not exactly 12 because the new value is a weighted sum of all the updates - assert m.isEQ(p, 12.0001) \ No newline at end of file + assert m.isEQ(p, 12.0001) + +def test_objIntegral(): + m = Model() + m.setObjIntegral() + assert m.isObjIntegral() + + m = Model() + x = m.addVar(vtype='C', obj=1.5) + m.addCons(x >= 0) + m.optimize() + assert not m.isObjIntegral() \ No newline at end of file From e578db5a807bbacff61bcc2162ef1a1233073569 Mon Sep 17 00:00:00 2001 From: Joao-Dionisio Date: Wed, 14 Jan 2026 15:16:58 +0000 Subject: [PATCH 03/23] changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c53e20749..eea4c389e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - Include parameter names in type stubs - Speed up MatrixExpr.sum(axis=...) via quicksum - Run automated type stub generating script to PR pipeline +- Wrapped isObjIntegral() and test ### Fixed - all fundamental callbacks now raise an error if not implemented - Fixed the type of MatrixExpr.sum(axis=...) result from MatrixVariable to MatrixExpr. From 1d7ed331a5dd703e45f1dd546dd102b14f7858ea Mon Sep 17 00:00:00 2001 From: Joao-Dionisio Date: Wed, 14 Jan 2026 15:24:26 +0000 Subject: [PATCH 04/23] run on PR instead of pushes to master, and write a message --- .github/workflows/stubs.yml | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/.github/workflows/stubs.yml b/.github/workflows/stubs.yml index 3f43a12cf..d2a2792b9 100644 --- a/.github/workflows/stubs.yml +++ b/.github/workflows/stubs.yml @@ -22,11 +22,15 @@ jobs: runs-on: ubuntu-24.04 permissions: contents: write + pull-requests: write env: PYTHON_VERSION: "3.14" steps: - uses: actions/checkout@v6 + with: + ref: ${{ github.head_ref || github.ref }} + repository: ${{ github.event.pull_request.head.repo.full_name || github.repository }} - name: Setup Python for stub generation uses: actions/setup-python@v4 @@ -69,14 +73,21 @@ jobs: run: stubs/test.sh - name: Commit and push updated stubs - if: steps.check.outcome == 'failure' && github.event_name == 'push' + if: steps.check.outcome == 'failure' && github.event_name == 'pull_request' run: | git config user.name "github-actions[bot]" git config user.email "github-actions[bot]@users.noreply.github.com" git add src/pyscipopt/scip.pyi - git commit -m "Auto-regenerate type stubs [skip ci]" + git commit -m "Auto-regenerate type stubs" git push + - name: Comment on PR + if: steps.check.outcome == 'failure' && github.event_name == 'pull_request' + env: + GH_TOKEN: ${{ github.token }} + run: | + gh pr comment ${{ github.event.pull_request.number }} --body "Type stubs were out of date and have been automatically regenerated. A new commit has been pushed to this PR." + lint: runs-on: ubuntu-latest env: From 6785f9850e08a6cbd5ded3d217f6f7f5aee90bf3 Mon Sep 17 00:00:00 2001 From: Joao-Dionisio Date: Wed, 14 Jan 2026 15:44:36 +0000 Subject: [PATCH 05/23] apply copilot suggestions --- .github/workflows/stubs.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/stubs.yml b/.github/workflows/stubs.yml index d2a2792b9..c3d627dd1 100644 --- a/.github/workflows/stubs.yml +++ b/.github/workflows/stubs.yml @@ -36,7 +36,6 @@ jobs: uses: actions/setup-python@v4 with: python-version: "3.12" - id: py312 - name: Check if stubs need regeneration id: check @@ -73,16 +72,16 @@ jobs: run: stubs/test.sh - name: Commit and push updated stubs - if: steps.check.outcome == 'failure' && github.event_name == 'pull_request' + if: steps.check.outcome == 'failure' && github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository run: | git config user.name "github-actions[bot]" git config user.email "github-actions[bot]@users.noreply.github.com" git add src/pyscipopt/scip.pyi - git commit -m "Auto-regenerate type stubs" + git diff --cached --quiet || git commit -m "Auto-regenerate type stubs" git push - name: Comment on PR - if: steps.check.outcome == 'failure' && github.event_name == 'pull_request' + if: steps.check.outcome == 'failure' && github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository env: GH_TOKEN: ${{ github.token }} run: | From 292adf456b55784fdfd5a1aa1cb1c47a680cc921 Mon Sep 17 00:00:00 2001 From: Joao-Dionisio Date: Wed, 14 Jan 2026 15:52:26 +0000 Subject: [PATCH 06/23] fix stub generator for numpy subclass overrides and Statistics types --- scripts/generate_stubs.py | 19 +- src/pyscipopt/scip.pyi | 2670 +++++++++++++------------------------ 2 files changed, 943 insertions(+), 1746 deletions(-) diff --git a/scripts/generate_stubs.py b/scripts/generate_stubs.py index 52acbaed2..fc2494fa6 100755 --- a/scripts/generate_stubs.py +++ b/scripts/generate_stubs.py @@ -610,7 +610,11 @@ def _generate_class_stub(self, cls_info: ClassInfo) -> list: all_special.append((method, f'def {method}(self, *args, **kwargs): ...')) for method in comparison_methods: - all_special.append((method, self.COMPARISON_METHODS[method])) + stub = self.COMPARISON_METHODS[method] + # Add type: ignore[override] for numpy subclass comparison methods + if is_numpy_subclass and method in ('__ge__', '__le__', '__gt__', '__lt__'): + stub = stub.replace(': ...', ': ... # type: ignore[override]') + all_special.append((method, stub)) # Sort and output all special methods alphabetically for method, stub in sorted(all_special, key=lambda x: x[0]): @@ -677,13 +681,14 @@ def _apply_special_cases(self) -> None: ('copying_time', 'float', None), ('problem_name', 'str', None), ('presolved_problem_name', 'str', None), - ('n_runs', 'int', 'None'), - ('n_nodes', 'int', 'None'), + ('n_runs', 'int | None', 'None'), + ('n_nodes', 'int | None', 'None'), ('n_solutions_found', 'int', '-1'), - ('first_solution', 'float', 'None'), - ('primal_bound', 'float', 'None'), - ('dual_bound', 'float', 'None'), - ('gap', 'float', 'None'), + ('first_solution', 'float | None', 'None'), + ('primal_bound', 'float | None', 'None'), + ('dual_bound', 'float | None', 'None'), + ('gap', 'float | None', 'None'), + ('primal_dual_integral', 'float | None', 'None'), ] # Add/update known module-level variables with correct types diff --git a/src/pyscipopt/scip.pyi b/src/pyscipopt/scip.pyi index 831dd02ed..5787a4176 100644 --- a/src/pyscipopt/scip.pyi +++ b/src/pyscipopt/scip.pyi @@ -3,7 +3,6 @@ from typing import ClassVar import numpy from _typeshed import Incomplete -from typing_extensions import disjoint_base CONST: Term EventNames: dict @@ -33,1610 +32,870 @@ sqrt: Incomplete str_conversion: Incomplete value_to_array: Incomplete -@disjoint_base class Benders: model: Incomplete name: Incomplete - def __init__(self) -> None: ... - def benderscreatesub(self, probnumber: Incomplete) -> Incomplete: ... - def bendersexit(self) -> Incomplete: ... - def bendersexitpre(self) -> Incomplete: ... - def bendersexitsol(self) -> Incomplete: ... - def bendersfree(self) -> Incomplete: ... - def bendersfreesub(self, probnumber: Incomplete) -> Incomplete: ... - def bendersgetvar( - self, variable: Incomplete, probnumber: Incomplete - ) -> Incomplete: ... - def bendersinit(self) -> Incomplete: ... - def bendersinitpre(self) -> Incomplete: ... - def bendersinitsol(self) -> Incomplete: ... - def benderspostsolve( - self, - solution: Incomplete, - enfotype: Incomplete, - mergecandidates: Incomplete, - npriomergecands: Incomplete, - checkint: Incomplete, - infeasible: Incomplete, - ) -> Incomplete: ... - def benderspresubsolve( - self, solution: Incomplete, enfotype: Incomplete, checkint: Incomplete - ) -> Incomplete: ... - def benderssolvesub( - self, solution: Incomplete, probnumber: Incomplete - ) -> Incomplete: ... - def benderssolvesubconvex( - self, solution: Incomplete, probnumber: Incomplete, onlyconvex: Incomplete - ) -> Incomplete: ... - -@disjoint_base + def __init__(self, *args, **kwargs) -> None: ... + def benderscreatesub(self, *args, **kwargs): ... + def bendersexit(self, *args, **kwargs): ... + def bendersexitpre(self, *args, **kwargs): ... + def bendersexitsol(self, *args, **kwargs): ... + def bendersfree(self, *args, **kwargs): ... + def bendersfreesub(self, *args, **kwargs): ... + def bendersgetvar(self, *args, **kwargs): ... + def bendersinit(self, *args, **kwargs): ... + def bendersinitpre(self, *args, **kwargs): ... + def bendersinitsol(self, *args, **kwargs): ... + def benderspostsolve(self, *args, **kwargs): ... + def benderspresubsolve(self, *args, **kwargs): ... + def benderssolvesub(self, *args, **kwargs): ... + def benderssolvesubconvex(self, *args, **kwargs): ... + class Benderscut: benders: Incomplete model: Incomplete name: Incomplete - def __init__(self) -> None: ... - def benderscutexec( - self, solution: Incomplete, probnumber: Incomplete, enfotype: Incomplete - ) -> Incomplete: ... - def benderscutexit(self) -> Incomplete: ... - def benderscutexitsol(self) -> Incomplete: ... - def benderscutfree(self) -> Incomplete: ... - def benderscutinit(self) -> Incomplete: ... - def benderscutinitsol(self) -> Incomplete: ... - -@disjoint_base + def __init__(self, *args, **kwargs) -> None: ... + def benderscutexec(self, *args, **kwargs): ... + def benderscutexit(self, *args, **kwargs): ... + def benderscutexitsol(self, *args, **kwargs): ... + def benderscutfree(self, *args, **kwargs): ... + def benderscutinit(self, *args, **kwargs): ... + def benderscutinitsol(self, *args, **kwargs): ... + class BoundChange: - def __init__(self) -> None: ... - def getBoundchgtype(self) -> Incomplete: ... - def getBoundtype(self) -> Incomplete: ... - def getNewBound(self) -> Incomplete: ... - def getVar(self) -> Incomplete: ... - def isRedundant(self) -> Incomplete: ... - -@disjoint_base + def __init__(self, *args, **kwargs) -> None: ... + def getBoundchgtype(self, *args, **kwargs): ... + def getBoundtype(self, *args, **kwargs): ... + def getNewBound(self, *args, **kwargs): ... + def getVar(self, *args, **kwargs): ... + def isRedundant(self, *args, **kwargs): ... + class Branchrule: model: Incomplete - def __init__(self) -> None: ... - def branchexecext(self, allowaddcons: Incomplete) -> Incomplete: ... - def branchexeclp(self, allowaddcons: Incomplete) -> Incomplete: ... - def branchexecps(self, allowaddcons: Incomplete) -> Incomplete: ... - def branchexit(self) -> Incomplete: ... - def branchexitsol(self) -> Incomplete: ... - def branchfree(self) -> Incomplete: ... - def branchinit(self) -> Incomplete: ... - def branchinitsol(self) -> Incomplete: ... - -@disjoint_base + def __init__(self, *args, **kwargs) -> None: ... + def branchexecext(self, *args, **kwargs): ... + def branchexeclp(self, *args, **kwargs): ... + def branchexecps(self, *args, **kwargs): ... + def branchexit(self, *args, **kwargs): ... + def branchexitsol(self, *args, **kwargs): ... + def branchfree(self, *args, **kwargs): ... + def branchinit(self, *args, **kwargs): ... + def branchinitsol(self, *args, **kwargs): ... + class Column: data: Incomplete - def __init__(self) -> None: ... - def getAge(self) -> Incomplete: ... - def getBasisStatus(self) -> Incomplete: ... - def getLPPos(self) -> Incomplete: ... - def getLb(self) -> Incomplete: ... - def getObjCoeff(self) -> Incomplete: ... - def getPrimsol(self) -> Incomplete: ... - def getUb(self) -> Incomplete: ... - def getVar(self) -> Incomplete: ... - def isIntegral(self) -> Incomplete: ... - def __eq__(self, other: Incomplete)-> Incomplete: ... - def __ge__(self, other: Incomplete)-> Incomplete: ... - def __gt__(self, other: Incomplete)-> Incomplete: ... + def __init__(self, *args, **kwargs) -> None: ... + def getAge(self, *args, **kwargs): ... + def getBasisStatus(self, *args, **kwargs): ... + def getLPPos(self, *args, **kwargs): ... + def getLb(self, *args, **kwargs): ... + def getObjCoeff(self, *args, **kwargs): ... + def getPrimsol(self, *args, **kwargs): ... + def getUb(self, *args, **kwargs): ... + def getVar(self, *args, **kwargs): ... + def isIntegral(self, *args, **kwargs): ... + def __eq__(self, other: object) -> bool: ... + def __ge__(self, other: object) -> bool: ... + def __gt__(self, other: object) -> bool: ... def __hash__(self) -> int: ... - def __le__(self, other: Incomplete)-> Incomplete: ... - def __lt__(self, other: Incomplete)-> Incomplete: ... - def __ne__(self, other: Incomplete)-> Incomplete: ... + def __le__(self, other: object) -> bool: ... + def __lt__(self, other: object) -> bool: ... + def __ne__(self, other: object) -> bool: ... -@disjoint_base class ColumnExact: data: Incomplete - def __init__(self) -> None: ... + def __init__(self, *args, **kwargs) -> None: ... -@disjoint_base class Conshdlr: model: Incomplete name: Incomplete - def __init__(self) -> None: ... - def consactive(self, constraint: Incomplete) -> Incomplete: ... - def conscheck( - self, - constraints: Incomplete, - solution: Incomplete, - checkintegrality: Incomplete, - checklprows: Incomplete, - printreason: Incomplete, - completely: Incomplete, - ) -> Incomplete: ... - def conscopy(self) -> Incomplete: ... - def consdeactive(self, constraint: Incomplete) -> Incomplete: ... - def consdelete(self, constraint: Incomplete) -> Incomplete: ... - def consdelvars(self, constraints: Incomplete) -> Incomplete: ... - def consdisable(self, constraint: Incomplete) -> Incomplete: ... - def consenable(self, constraint: Incomplete) -> Incomplete: ... - def consenfolp( - self, - constraints: Incomplete, - nusefulconss: Incomplete, - solinfeasible: Incomplete, - ) -> Incomplete: ... - def consenfops( - self, - constraints: Incomplete, - nusefulconss: Incomplete, - solinfeasible: Incomplete, - objinfeasible: Incomplete, - ) -> Incomplete: ... - def consenforelax( - self, - solution: Incomplete, - constraints: Incomplete, - nusefulconss: Incomplete, - solinfeasible: Incomplete, - ) -> Incomplete: ... - def consexit(self, constraints: Incomplete) -> Incomplete: ... - def consexitpre(self, constraints: Incomplete) -> Incomplete: ... - def consexitsol( - self, constraints: Incomplete, restart: Incomplete - ) -> Incomplete: ... - def consfree(self) -> Incomplete: ... - def consgetdivebdchgs(self) -> Incomplete: ... - def consgetnvars(self, constraint: Incomplete) -> Incomplete: ... - def consgetpermsymgraph(self) -> Incomplete: ... - def consgetsignedpermsymgraph(self) -> Incomplete: ... - def consgetvars(self, constraint: Incomplete) -> Incomplete: ... - def consinit(self, constraints: Incomplete) -> Incomplete: ... - def consinitlp(self, constraints: Incomplete) -> Incomplete: ... - def consinitpre(self, constraints: Incomplete) -> Incomplete: ... - def consinitsol(self, constraints: Incomplete) -> Incomplete: ... - def conslock( - self, - constraint: Incomplete, - locktype: Incomplete, - nlockspos: Incomplete, - nlocksneg: Incomplete, - ) -> Incomplete: ... - def consparse(self) -> Incomplete: ... - def conspresol( - self, - constraints: Incomplete, - nrounds: Incomplete, - presoltiming: Incomplete, - nnewfixedvars: Incomplete, - nnewaggrvars: Incomplete, - nnewchgvartypes: Incomplete, - nnewchgbds: Incomplete, - nnewholes: Incomplete, - nnewdelconss: Incomplete, - nnewaddconss: Incomplete, - nnewupgdconss: Incomplete, - nnewchgcoefs: Incomplete, - nnewchgsides: Incomplete, - result_dict: Incomplete, - ) -> Incomplete: ... - def consprint(self, constraint: Incomplete) -> Incomplete: ... - def consprop( - self, - constraints: Incomplete, - nusefulconss: Incomplete, - nmarkedconss: Incomplete, - proptiming: Incomplete, - ) -> Incomplete: ... - def consresprop(self) -> Incomplete: ... - def conssepalp( - self, constraints: Incomplete, nusefulconss: Incomplete - ) -> Incomplete: ... - def conssepasol( - self, constraints: Incomplete, nusefulconss: Incomplete, solution: Incomplete - ) -> Incomplete: ... - def constrans(self, sourceconstraint: Incomplete) -> Incomplete: ... - -@disjoint_base + def __init__(self, *args, **kwargs) -> None: ... + def consactive(self, *args, **kwargs): ... + def conscheck(self, *args, **kwargs): ... + def conscopy(self, *args, **kwargs): ... + def consdeactive(self, *args, **kwargs): ... + def consdelete(self, *args, **kwargs): ... + def consdelvars(self, *args, **kwargs): ... + def consdisable(self, *args, **kwargs): ... + def consenable(self, *args, **kwargs): ... + def consenfolp(self, *args, **kwargs): ... + def consenfops(self, *args, **kwargs): ... + def consenforelax(self, *args, **kwargs): ... + def consexit(self, *args, **kwargs): ... + def consexitpre(self, *args, **kwargs): ... + def consexitsol(self, *args, **kwargs): ... + def consfree(self, *args, **kwargs): ... + def consgetdivebdchgs(self, *args, **kwargs): ... + def consgetnvars(self, *args, **kwargs): ... + def consgetpermsymgraph(self, *args, **kwargs): ... + def consgetsignedpermsymgraph(self, *args, **kwargs): ... + def consgetvars(self, *args, **kwargs): ... + def consinit(self, *args, **kwargs): ... + def consinitlp(self, *args, **kwargs): ... + def consinitpre(self, *args, **kwargs): ... + def consinitsol(self, *args, **kwargs): ... + def conslock(self, *args, **kwargs): ... + def consparse(self, *args, **kwargs): ... + def conspresol(self, *args, **kwargs): ... + def consprint(self, *args, **kwargs): ... + def consprop(self, *args, **kwargs): ... + def consresprop(self, *args, **kwargs): ... + def conssepalp(self, *args, **kwargs): ... + def conssepasol(self, *args, **kwargs): ... + def constrans(self, *args, **kwargs): ... + class Constant(GenExpr): number: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... + def __init__(self, *args, **kwargs) -> None: ... -@disjoint_base class Constraint: data: Incomplete name: Incomplete - def __init__(self) -> None: ... - def getConshdlrName(self) -> Incomplete: ... - def isActive(self) -> Incomplete: ... - def isChecked(self) -> Incomplete: ... - def isDynamic(self) -> Incomplete: ... - def isEnforced(self) -> Incomplete: ... - def isInitial(self) -> Incomplete: ... - def isKnapsack(self) -> Incomplete: ... - def isLinear(self) -> Incomplete: ... - def isLinearType(self) -> Incomplete: ... - def isLocal(self) -> Incomplete: ... - def isModifiable(self) -> Incomplete: ... - def isNonlinear(self) -> Incomplete: ... - def isOriginal(self) -> Incomplete: ... - def isPropagated(self) -> Incomplete: ... - def isRemovable(self) -> Incomplete: ... - def isSeparated(self) -> Incomplete: ... - def isStickingAtNode(self) -> Incomplete: ... - def __eq__(self, other: Incomplete)-> Incomplete: ... - def __ge__(self, other: Incomplete)-> Incomplete: ... - def __gt__(self, other: Incomplete)-> Incomplete: ... + def __init__(self, *args, **kwargs) -> None: ... + def getConshdlrName(self, *args, **kwargs): ... + def isActive(self, *args, **kwargs): ... + def isChecked(self, *args, **kwargs): ... + def isDynamic(self, *args, **kwargs): ... + def isEnforced(self, *args, **kwargs): ... + def isInitial(self, *args, **kwargs): ... + def isKnapsack(self, *args, **kwargs): ... + def isLinear(self, *args, **kwargs): ... + def isLinearType(self, *args, **kwargs): ... + def isLocal(self, *args, **kwargs): ... + def isModifiable(self, *args, **kwargs): ... + def isNonlinear(self, *args, **kwargs): ... + def isOriginal(self, *args, **kwargs): ... + def isPropagated(self, *args, **kwargs): ... + def isRemovable(self, *args, **kwargs): ... + def isSeparated(self, *args, **kwargs): ... + def isStickingAtNode(self, *args, **kwargs): ... + def __eq__(self, other: object) -> bool: ... + def __ge__(self, other: object) -> bool: ... + def __gt__(self, other: object) -> bool: ... def __hash__(self) -> int: ... - def __le__(self, other: Incomplete)-> Incomplete: ... - def __lt__(self, other: Incomplete)-> Incomplete: ... - def __ne__(self, other: Incomplete)-> Incomplete: ... + def __le__(self, other: object) -> bool: ... + def __lt__(self, other: object) -> bool: ... + def __ne__(self, other: object) -> bool: ... -@disjoint_base class Cutsel: model: Incomplete - def __init__(self) -> None: ... - def cutselexit(self) -> Incomplete: ... - def cutselexitsol(self) -> Incomplete: ... - def cutselfree(self) -> Incomplete: ... - def cutselinit(self) -> Incomplete: ... - def cutselinitsol(self) -> Incomplete: ... - def cutselselect( - self, - cuts: Incomplete, - forcedcuts: Incomplete, - root: Incomplete, - maxnselectedcuts: Incomplete, - ) -> Incomplete: ... - -@disjoint_base + def __init__(self, *args, **kwargs) -> None: ... + def cutselexit(self, *args, **kwargs): ... + def cutselexitsol(self, *args, **kwargs): ... + def cutselfree(self, *args, **kwargs): ... + def cutselinit(self, *args, **kwargs): ... + def cutselinitsol(self, *args, **kwargs): ... + def cutselselect(self, *args, **kwargs): ... + class DomainChanges: - def __init__(self) -> None: ... - def getBoundchgs(self) -> Incomplete: ... + def __init__(self, *args, **kwargs) -> None: ... + def getBoundchgs(self, *args, **kwargs): ... -@disjoint_base class Event: data: Incomplete name: Incomplete - def __init__(self) -> None: ... - def _getEventNames(self) -> Incomplete: ... - def getName(self) -> Incomplete: ... - def getNewBound(self) -> Incomplete: ... - def getNode(self) -> Incomplete: ... - def getOldBound(self) -> Incomplete: ... - def getRow(self) -> Incomplete: ... - def getType(self) -> Incomplete: ... - def getVar(self) -> Incomplete: ... - def __eq__(self, other: Incomplete)-> Incomplete: ... - def __ge__(self, other: Incomplete)-> Incomplete: ... - def __gt__(self, other: Incomplete)-> 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): ... + def getOldBound(self, *args, **kwargs): ... + def getRow(self, *args, **kwargs): ... + def getType(self, *args, **kwargs): ... + def getVar(self, *args, **kwargs): ... + def __eq__(self, other: object) -> bool: ... + def __ge__(self, other: object) -> bool: ... + def __gt__(self, other: object) -> bool: ... def __hash__(self) -> int: ... - def __le__(self, other: Incomplete)-> Incomplete: ... - def __lt__(self, other: Incomplete)-> Incomplete: ... - def __ne__(self, other: Incomplete)-> Incomplete: ... + def __le__(self, other: object) -> bool: ... + def __lt__(self, other: object) -> bool: ... + def __ne__(self, other: object) -> bool: ... -@disjoint_base class Eventhdlr: model: Incomplete name: Incomplete - def __init__(self) -> None: ... - def eventcopy(self) -> Incomplete: ... - def eventdelete(self) -> Incomplete: ... - def eventexec(self, event: Incomplete) -> Incomplete: ... - def eventexit(self) -> Incomplete: ... - def eventexitsol(self) -> Incomplete: ... - def eventfree(self) -> Incomplete: ... - def eventinit(self) -> Incomplete: ... - def eventinitsol(self) -> Incomplete: ... - -@disjoint_base + def __init__(self, *args, **kwargs) -> None: ... + def eventcopy(self, *args, **kwargs): ... + def eventdelete(self, *args, **kwargs): ... + def eventexec(self, *args, **kwargs): ... + def eventexit(self, *args, **kwargs): ... + def eventexitsol(self, *args, **kwargs): ... + def eventfree(self, *args, **kwargs): ... + def eventinit(self, *args, **kwargs): ... + def eventinitsol(self, *args, **kwargs): ... + class Expr: terms: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def degree(self) -> Incomplete: ... - def normalize(self) -> Incomplete: ... - def __abs__(self) -> Incomplete: ... - def __add__(self, other: Incomplete) -> Incomplete: ... - def __eq__(self, other: Incomplete)-> Incomplete: ... - def __ge__(self, other: Incomplete)-> Incomplete: ... - def __getitem__(self, index: Incomplete) -> Incomplete: ... - def __gt__(self, other: Incomplete)-> Incomplete: ... - def __iadd__(self, other: Incomplete) -> Incomplete: ... # noqa: PYI034 - def __iter__(self) -> Incomplete: ... - def __le__(self, other: Incomplete)-> Incomplete: ... - def __lt__(self, other: Incomplete)-> Incomplete: ... - def __mul__(self, other: Incomplete) -> Incomplete: ... - def __ne__(self, other: Incomplete)-> Incomplete: ... - def __neg__(self) -> Incomplete: ... - def __next__(self) -> Incomplete: ... - def __pow__(self, other: Incomplete, mod: Incomplete = ...) -> Incomplete: ... - def __radd__(self, other: Incomplete) -> Incomplete: ... - def __rmul__(self, other: Incomplete) -> Incomplete: ... - def __rpow__(self, other: Incomplete) -> Incomplete: ... - def __rsub__(self, other: Incomplete) -> Incomplete: ... - def __rtruediv__(self, other: Incomplete) -> Incomplete: ... - def __sub__(self, other: Incomplete) -> Incomplete: ... - def __truediv__(self, other: Incomplete) -> Incomplete: ... - -@disjoint_base + def __init__(self, *args, **kwargs) -> None: ... + def degree(self, *args, **kwargs): ... + def normalize(self, *args, **kwargs): ... + def __abs__(self): ... + def __add__(self, other): ... + def __eq__(self, other: object) -> bool: ... + def __ge__(self, other: object) -> bool: ... + def __getitem__(self, index): ... + def __gt__(self, other: object) -> bool: ... + def __iadd__(self, other): ... + def __iter__(self): ... + def __le__(self, other: object) -> bool: ... + def __lt__(self, other: object) -> bool: ... + def __mul__(self, other): ... + def __ne__(self, other: object) -> bool: ... + def __neg__(self): ... + def __next__(self): ... + def __pow__(self, other): ... + def __radd__(self, other): ... + def __rmul__(self, other): ... + def __rpow__(self, other): ... + def __rsub__(self, other): ... + def __rtruediv__(self, other): ... + def __sub__(self, other): ... + def __truediv__(self, other): ... + class ExprCons: _lhs: Incomplete _rhs: Incomplete expr: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def normalize(self) -> Incomplete: ... - def __bool__(self)-> Incomplete: ... - def __eq__(self, other: Incomplete)-> Incomplete: ... - def __ge__(self, other: Incomplete)-> Incomplete: ... - def __gt__(self, other: Incomplete)-> Incomplete: ... - def __le__(self, other: Incomplete)-> Incomplete: ... - def __lt__(self, other: Incomplete)-> Incomplete: ... - def __ne__(self, other: Incomplete)-> Incomplete: ... - -@disjoint_base + def __init__(self, *args, **kwargs) -> None: ... + def normalize(self, *args, **kwargs): ... + def __bool__(self) -> bool: ... + def __eq__(self, other: object) -> bool: ... + def __ge__(self, other: object) -> bool: ... + def __gt__(self, other: object) -> bool: ... + def __le__(self, other: object) -> bool: ... + def __lt__(self, other: object) -> bool: ... + def __ne__(self, other: object) -> bool: ... + class GenExpr: _op: Incomplete children: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def degree(self) -> Incomplete: ... - def getOp(self) -> Incomplete: ... - def __abs__(self) -> Incomplete: ... - def __add__(self, other: Incomplete) -> Incomplete: ... - def __eq__(self, other: Incomplete)-> Incomplete: ... - def __ge__(self, other: Incomplete)-> Incomplete: ... - def __gt__(self, other: Incomplete)-> Incomplete: ... - def __le__(self, other: Incomplete)-> Incomplete: ... - def __lt__(self, other: Incomplete)-> Incomplete: ... - def __mul__(self, other: Incomplete) -> Incomplete: ... - def __ne__(self, other: Incomplete)-> Incomplete: ... - def __neg__(self) -> Incomplete: ... - def __pow__(self, other: Incomplete, mod: Incomplete = ...) -> Incomplete: ... - def __radd__(self, other: Incomplete) -> Incomplete: ... - def __rmul__(self, other: Incomplete) -> Incomplete: ... - def __rpow__(self, other: Incomplete) -> Incomplete: ... - def __rsub__(self, other: Incomplete) -> Incomplete: ... - def __rtruediv__(self, other: Incomplete) -> Incomplete: ... - def __sub__(self, other: Incomplete) -> Incomplete: ... - def __truediv__(self, other: Incomplete) -> Incomplete: ... - -@disjoint_base + def __init__(self, *args, **kwargs) -> None: ... + def degree(self, *args, **kwargs): ... + def getOp(self, *args, **kwargs): ... + def __abs__(self): ... + def __add__(self, other): ... + def __eq__(self, other: object) -> bool: ... + def __ge__(self, other: object) -> bool: ... + def __gt__(self, other: object) -> bool: ... + def __le__(self, other: object) -> bool: ... + def __lt__(self, other: object) -> bool: ... + def __mul__(self, other): ... + def __ne__(self, other: object) -> bool: ... + def __neg__(self): ... + def __pow__(self, other): ... + def __radd__(self, other): ... + def __rmul__(self, other): ... + def __rpow__(self, other): ... + def __rsub__(self, other): ... + def __rtruediv__(self, other): ... + def __sub__(self, other): ... + def __truediv__(self, other): ... + class Heur: model: Incomplete name: Incomplete - def __init__(self) -> None: ... - def heurexec( - self, heurtiming: Incomplete, nodeinfeasible: Incomplete - ) -> Incomplete: ... - def heurexit(self) -> Incomplete: ... - def heurexitsol(self) -> Incomplete: ... - def heurfree(self) -> Incomplete: ... - def heurinit(self) -> Incomplete: ... - def heurinitsol(self) -> Incomplete: ... - -@disjoint_base + def __init__(self, *args, **kwargs) -> None: ... + def heurexec(self, *args, **kwargs): ... + def heurexit(self, *args, **kwargs): ... + def heurexitsol(self, *args, **kwargs): ... + def heurfree(self, *args, **kwargs): ... + def heurinit(self, *args, **kwargs): ... + def heurinitsol(self, *args, **kwargs): ... + class IIS: - def __init__(self) -> None: ... - def getNNodes(self) -> Incomplete: ... - def getSubscip(self) -> Incomplete: ... - def getTime(self) -> Incomplete: ... - def greedyMakeIrreducible(self) -> Incomplete: ... - def isSubscipInfeasible(self) -> Incomplete: ... - def isSubscipIrreducible(self) -> Incomplete: ... - def setSubscipInfeasible(self, infeasible: Incomplete) -> Incomplete: ... - def setSubscipIrreducible(self, irreducible: Incomplete) -> Incomplete: ... - -@disjoint_base + 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) -> None: ... - def iisfinderexec(self) -> Incomplete: ... - def iisfinderfree(self) -> Incomplete: ... + def __init__(self, *args, **kwargs) -> None: ... + def iisfinderexec(self, *args, **kwargs): ... + def iisfinderfree(self, *args, **kwargs): ... -@disjoint_base class LP: name: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def addCol( - self, - entries: Incomplete, - obj: Incomplete = ..., - lb: Incomplete = ..., - ub: Incomplete = ..., - ) -> Incomplete: ... - def addCols( - self, - entrieslist: Incomplete, - objs: Incomplete = ..., - lbs: Incomplete = ..., - ubs: Incomplete = ..., - ) -> Incomplete: ... - def addRow( - self, entries: Incomplete, lhs: Incomplete = ..., rhs: Incomplete = ... - ) -> Incomplete: ... - def addRows( - self, entrieslist: Incomplete, lhss: Incomplete = ..., rhss: Incomplete = ... - ) -> Incomplete: ... - def chgBound( - self, col: Incomplete, lb: Incomplete, ub: Incomplete - ) -> Incomplete: ... - def chgCoef( - self, row: Incomplete, col: Incomplete, newval: Incomplete - ) -> Incomplete: ... - def chgObj(self, col: Incomplete, obj: Incomplete) -> Incomplete: ... - def chgSide( - self, row: Incomplete, lhs: Incomplete, rhs: Incomplete - ) -> Incomplete: ... - def clear(self) -> Incomplete: ... - def delCols(self, firstcol: Incomplete, lastcol: Incomplete) -> Incomplete: ... - def delRows(self, firstrow: Incomplete, lastrow: Incomplete) -> Incomplete: ... - def getActivity(self) -> Incomplete: ... - def getBasisInds(self) -> Incomplete: ... - def getBounds( - self, firstcol: Incomplete = ..., lastcol: Incomplete = ... - ) -> Incomplete: ... - def getDual(self) -> Incomplete: ... - def getDualRay(self) -> Incomplete: ... - def getIntParam(self, param: Incomplete) -> Incomplete: ... - def getNIterations(self) -> Incomplete: ... - def getObjVal(self) -> Incomplete: ... - def getPrimal(self) -> Incomplete: ... - def getPrimalRay(self) -> Incomplete: ... - def getRealParam(self, param: Incomplete) -> Incomplete: ... - def getRedcost(self) -> Incomplete: ... - def getSides( - self, firstrow: Incomplete = ..., lastrow: Incomplete = ... - ) -> Incomplete: ... - def infinity(self) -> Incomplete: ... - def isDualFeasible(self) -> Incomplete: ... - def isInfinity(self, val: Incomplete) -> Incomplete: ... - def isOptimal(self) -> Incomplete: ... - def isPrimalFeasible(self) -> Incomplete: ... - def ncols(self) -> Incomplete: ... - def nrows(self) -> Incomplete: ... - def readLP(self, filename: Incomplete) -> Incomplete: ... - def setIntParam(self, param: Incomplete, value: Incomplete) -> Incomplete: ... - def setRealParam(self, param: Incomplete, value: Incomplete) -> Incomplete: ... - def solve(self, dual: Incomplete = ...) -> Incomplete: ... - def writeLP(self, filename: Incomplete) -> Incomplete: ... + def __init__(self, *args, **kwargs) -> None: ... + def addCol(self, *args, **kwargs): ... + def addCols(self, *args, **kwargs): ... + def addRow(self, *args, **kwargs): ... + def addRows(self, *args, **kwargs): ... + def chgBound(self, *args, **kwargs): ... + def chgCoef(self, *args, **kwargs): ... + def chgObj(self, *args, **kwargs): ... + def chgSide(self, *args, **kwargs): ... + def clear(self, *args, **kwargs): ... + def delCols(self, *args, **kwargs): ... + def delRows(self, *args, **kwargs): ... + def getActivity(self, *args, **kwargs): ... + def getBasisInds(self, *args, **kwargs): ... + def getBounds(self, *args, **kwargs): ... + def getDual(self, *args, **kwargs): ... + def getDualRay(self, *args, **kwargs): ... + def getIntParam(self, *args, **kwargs): ... + def getNIterations(self, *args, **kwargs): ... + def getObjVal(self, *args, **kwargs): ... + def getPrimal(self, *args, **kwargs): ... + def getPrimalRay(self, *args, **kwargs): ... + def getRealParam(self, *args, **kwargs): ... + def getRedcost(self, *args, **kwargs): ... + def getSides(self, *args, **kwargs): ... + def infinity(self, *args, **kwargs): ... + def isDualFeasible(self, *args, **kwargs): ... + def isInfinity(self, *args, **kwargs): ... + def isOptimal(self, *args, **kwargs): ... + def isPrimalFeasible(self, *args, **kwargs): ... + def ncols(self, *args, **kwargs): ... + def nrows(self, *args, **kwargs): ... + def readLP(self, *args, **kwargs): ... + def setIntParam(self, *args, **kwargs): ... + def setRealParam(self, *args, **kwargs): ... + def solve(self, *args, **kwargs): ... + def writeLP(self, *args, **kwargs): ... class MatrixConstraint(numpy.ndarray): - def getConshdlrName(self) -> Incomplete: ... - def isActive(self) -> Incomplete: ... - def isChecked(self) -> Incomplete: ... - def isDynamic(self) -> Incomplete: ... - def isEnforced(self) -> Incomplete: ... - def isInitial(self) -> Incomplete: ... - def isLinear(self) -> Incomplete: ... - def isLocal(self) -> Incomplete: ... - def isModifiable(self) -> Incomplete: ... - def isNonlinear(self) -> Incomplete: ... - def isPropagated(self) -> Incomplete: ... - def isRemovable(self) -> Incomplete: ... - def isSeparated(self) -> Incomplete: ... - def isStickingAtNode(self) -> Incomplete: ... + def getConshdlrName(self, *args, **kwargs): ... + def isActive(self, *args, **kwargs): ... + def isChecked(self, *args, **kwargs): ... + def isDynamic(self, *args, **kwargs): ... + def isEnforced(self, *args, **kwargs): ... + def isInitial(self, *args, **kwargs): ... + def isLinear(self, *args, **kwargs): ... + def isLocal(self, *args, **kwargs): ... + def isModifiable(self, *args, **kwargs): ... + def isNonlinear(self, *args, **kwargs): ... + def isPropagated(self, *args, **kwargs): ... + def isRemovable(self, *args, **kwargs): ... + def isSeparated(self, *args, **kwargs): ... + def isStickingAtNode(self, *args, **kwargs): ... class MatrixExpr(numpy.ndarray): - def sum( # type: ignore[override] - self, axis: Incomplete = ..., keepdims: Incomplete = ..., **kwargs: Incomplete - ) -> Incomplete: ... - def __add__(self, other: Incomplete) -> Incomplete: ... - def __eq__(self, other: Incomplete)-> Incomplete: ... - def __ge__(self, other: Incomplete) -> MatrixExprCons: ... - def __iadd__(self, other: Incomplete) -> Incomplete: ... # noqa: PYI034 - def __le__(self, other: Incomplete) -> MatrixExprCons: ... - def __matmul__(self, other: Incomplete) -> Incomplete: ... - def __mul__(self, other: Incomplete) -> Incomplete: ... - def __pow__(self, other: Incomplete) -> Incomplete: ... # type: ignore[override] - def __radd__(self, other: Incomplete) -> Incomplete: ... - def __rmul__(self, other: Incomplete) -> Incomplete: ... - def __rsub__(self, other: Incomplete) -> Incomplete: ... - def __rtruediv__(self, other: Incomplete) -> Incomplete: ... - def __sub__(self, other: Incomplete) -> Incomplete: ... - def __truediv__(self, other: Incomplete) -> Incomplete: ... + def sum(self, *args, **kwargs): ... + def __add__(self, other): ... + def __eq__(self, other: object) -> bool: ... + def __ge__(self, other: object) -> bool: ... # type: ignore[override] + def __iadd__(self, other): ... + def __le__(self, other: object) -> bool: ... # type: ignore[override] + def __matmul__(self, *args, **kwargs): ... + def __mul__(self, other): ... + def __pow__(self, other): ... + def __radd__(self, other): ... + def __rmul__(self, other): ... + def __rsub__(self, other): ... + def __rtruediv__(self, other): ... + def __sub__(self, other): ... + def __truediv__(self, other): ... class MatrixExprCons(numpy.ndarray): - def __eq__(self, other: Incomplete)-> Incomplete: ... - def __ge__(self, other: Incomplete) -> MatrixExprCons: ... - def __le__(self, other: Incomplete) -> MatrixExprCons: ... + def __eq__(self, other: object) -> bool: ... + def __ge__(self, other: object) -> bool: ... # type: ignore[override] + def __le__(self, other: object) -> bool: ... # type: ignore[override] class MatrixGenExpr(MatrixExpr): ... class MatrixVariable(MatrixExpr): - def getAvgSol(self) -> Incomplete: ... - def getCol(self) -> Incomplete: ... - def getIndex(self) -> Incomplete: ... - def getLPSol(self) -> Incomplete: ... - def getLbGlobal(self) -> Incomplete: ... - def getLbLocal(self) -> Incomplete: ... - def getLbOriginal(self) -> Incomplete: ... - def getObj(self) -> Incomplete: ... - def getUbGlobal(self) -> Incomplete: ... - def getUbLocal(self) -> Incomplete: ... - def getUbOriginal(self) -> Incomplete: ... - def isInLP(self) -> Incomplete: ... - def varMayRound(self, direction: Incomplete = ...) -> Incomplete: ... - def vtype(self) -> Incomplete: ... - -@disjoint_base + def getAvgSol(self, *args, **kwargs): ... + def getCol(self, *args, **kwargs): ... + def getIndex(self, *args, **kwargs): ... + def getLPSol(self, *args, **kwargs): ... + def getLbGlobal(self, *args, **kwargs): ... + def getLbLocal(self, *args, **kwargs): ... + def getLbOriginal(self, *args, **kwargs): ... + def getObj(self, *args, **kwargs): ... + def getUbGlobal(self, *args, **kwargs): ... + def getUbLocal(self, *args, **kwargs): ... + def getUbOriginal(self, *args, **kwargs): ... + def isInLP(self, *args, **kwargs): ... + def varMayRound(self, *args, **kwargs): ... + def vtype(self, *args, **kwargs): ... + class Model: _freescip: Incomplete data: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def _createConsGenNonlinear( - self, cons: Incomplete, **kwargs: Incomplete - ) -> Incomplete: ... - def _createConsLinear( - self, lincons: Incomplete, **kwargs: Incomplete - ) -> Incomplete: ... - def _createConsNonlinear( - self, cons: Incomplete, **kwargs: Incomplete - ) -> Incomplete: ... - def _createConsQuadratic( - self, quadcons: Incomplete, **kwargs: Incomplete - ) -> Incomplete: ... - def _getStageNames(self) -> Incomplete: ... - def activateBenders( - self, benders: Incomplete, nsubproblems: Incomplete - ) -> Incomplete: ... - def addBendersSubproblem( - self, benders: Incomplete, subproblem: Incomplete - ) -> Incomplete: ... - def addCoefKnapsack( - self, cons: Incomplete, var: Incomplete, weight: Incomplete - ) -> Incomplete: ... - def addCoefLinear( - self, cons: Incomplete, var: Incomplete, value: Incomplete - ) -> Incomplete: ... - def addCons( - self, - cons: Incomplete, - name: Incomplete = ..., - initial: Incomplete = ..., - separate: Incomplete = ..., - enforce: Incomplete = ..., - check: Incomplete = ..., - propagate: Incomplete = ..., - local: Incomplete = ..., - modifiable: Incomplete = ..., - dynamic: Incomplete = ..., - removable: Incomplete = ..., - stickingatnode: Incomplete = ..., - ) -> Incomplete: ... - def addConsAnd( - self, - vars: Incomplete, - resvar: Incomplete, - name: Incomplete = ..., - initial: Incomplete = ..., - separate: Incomplete = ..., - enforce: Incomplete = ..., - check: Incomplete = ..., - propagate: Incomplete = ..., - local: Incomplete = ..., - modifiable: Incomplete = ..., - dynamic: Incomplete = ..., - removable: Incomplete = ..., - stickingatnode: Incomplete = ..., - ) -> Incomplete: ... - def addConsCardinality( - self, - consvars: Incomplete, - cardval: Incomplete, - indvars: Incomplete = ..., - weights: Incomplete = ..., - name: Incomplete = ..., - initial: Incomplete = ..., - separate: Incomplete = ..., - enforce: Incomplete = ..., - check: Incomplete = ..., - propagate: Incomplete = ..., - local: Incomplete = ..., - dynamic: Incomplete = ..., - removable: Incomplete = ..., - stickingatnode: Incomplete = ..., - ) -> Incomplete: ... - def addConsCoeff( - self, cons: Incomplete, var: Incomplete, coeff: Incomplete - ) -> Incomplete: ... - def addConsDisjunction( - self, - conss: Incomplete, - name: Incomplete = ..., - initial: Incomplete = ..., - relaxcons: Incomplete = ..., - enforce: Incomplete = ..., - check: Incomplete = ..., - local: Incomplete = ..., - modifiable: Incomplete = ..., - dynamic: Incomplete = ..., - ) -> Incomplete: ... - def addConsElemDisjunction( - self, disj_cons: Incomplete, cons: Incomplete - ) -> Incomplete: ... - def addConsIndicator( - self, - cons: Incomplete, - binvar: Incomplete = ..., - activeone: Incomplete = ..., - name: Incomplete = ..., - initial: Incomplete = ..., - separate: Incomplete = ..., - enforce: Incomplete = ..., - check: Incomplete = ..., - propagate: Incomplete = ..., - local: Incomplete = ..., - dynamic: Incomplete = ..., - removable: Incomplete = ..., - stickingatnode: Incomplete = ..., - ) -> Incomplete: ... - def addConsKnapsack( - self, - vars: Incomplete, - weights: Incomplete, - capacity: Incomplete, - name: Incomplete = ..., - initial: Incomplete = ..., - separate: Incomplete = ..., - enforce: Incomplete = ..., - check: Incomplete = ..., - modifiable: Incomplete = ..., - propagate: Incomplete = ..., - local: Incomplete = ..., - dynamic: Incomplete = ..., - removable: Incomplete = ..., - stickingatnode: Incomplete = ..., - ) -> Incomplete: ... - def addConsLocal( - self, cons: Incomplete, validnode: Incomplete = ... - ) -> Incomplete: ... - def addConsNode( - self, node: Incomplete, cons: Incomplete, validnode: Incomplete = ... - ) -> Incomplete: ... - def addConsOr( - self, - vars: Incomplete, - resvar: Incomplete, - name: Incomplete = ..., - initial: Incomplete = ..., - separate: Incomplete = ..., - enforce: Incomplete = ..., - check: Incomplete = ..., - propagate: Incomplete = ..., - local: Incomplete = ..., - modifiable: Incomplete = ..., - dynamic: Incomplete = ..., - removable: Incomplete = ..., - stickingatnode: Incomplete = ..., - ) -> Incomplete: ... - def addConsSOS1( - self, - vars: Incomplete, - weights: Incomplete = ..., - name: Incomplete = ..., - initial: Incomplete = ..., - separate: Incomplete = ..., - enforce: Incomplete = ..., - check: Incomplete = ..., - propagate: Incomplete = ..., - local: Incomplete = ..., - dynamic: Incomplete = ..., - removable: Incomplete = ..., - stickingatnode: Incomplete = ..., - ) -> Incomplete: ... - def addConsSOS2( - self, - vars: Incomplete, - weights: Incomplete = ..., - name: Incomplete = ..., - initial: Incomplete = ..., - separate: Incomplete = ..., - enforce: Incomplete = ..., - check: Incomplete = ..., - propagate: Incomplete = ..., - local: Incomplete = ..., - dynamic: Incomplete = ..., - removable: Incomplete = ..., - stickingatnode: Incomplete = ..., - ) -> Incomplete: ... - def addConsXor( - self, - vars: Incomplete, - rhsvar: Incomplete, - name: Incomplete = ..., - initial: Incomplete = ..., - separate: Incomplete = ..., - enforce: Incomplete = ..., - check: Incomplete = ..., - propagate: Incomplete = ..., - local: Incomplete = ..., - modifiable: Incomplete = ..., - dynamic: Incomplete = ..., - removable: Incomplete = ..., - stickingatnode: Incomplete = ..., - ) -> Incomplete: ... - def addConss( - self, - conss: Incomplete, - name: Incomplete = ..., - initial: Incomplete = ..., - separate: Incomplete = ..., - enforce: Incomplete = ..., - check: Incomplete = ..., - propagate: Incomplete = ..., - local: Incomplete = ..., - modifiable: Incomplete = ..., - dynamic: Incomplete = ..., - removable: Incomplete = ..., - stickingatnode: Incomplete = ..., - ) -> Incomplete: ... - def addCut(self, cut: Incomplete, forcecut: Incomplete = ...) -> Incomplete: ... - def addExprNonlinear( - self, cons: Incomplete, expr: Incomplete, coef: Incomplete - ) -> Incomplete: ... - def addMatrixCons( - self, - cons: Incomplete, - name: Incomplete = ..., - initial: Incomplete = ..., - separate: Incomplete = ..., - enforce: Incomplete = ..., - check: Incomplete = ..., - propagate: Incomplete = ..., - local: Incomplete = ..., - modifiable: Incomplete = ..., - dynamic: Incomplete = ..., - removable: Incomplete = ..., - stickingatnode: Incomplete = ..., - ) -> Incomplete: ... - def addMatrixConsIndicator( - self, - cons: Incomplete, - binvar: Incomplete = ..., - activeone: Incomplete = ..., - name: Incomplete = ..., - initial: Incomplete = ..., - separate: Incomplete = ..., - enforce: Incomplete = ..., - check: Incomplete = ..., - propagate: Incomplete = ..., - local: Incomplete = ..., - dynamic: Incomplete = ..., - removable: Incomplete = ..., - stickingatnode: Incomplete = ..., - ) -> Incomplete: ... - def addMatrixVar( - self, - shape: Incomplete, - name: Incomplete = ..., - vtype: Incomplete = ..., - lb: Incomplete = ..., - ub: Incomplete = ..., - obj: Incomplete = ..., - pricedVar: Incomplete = ..., - pricedVarScore: Incomplete = ..., - ) -> Incomplete: ... - def addObjoffset( - self, offset: Incomplete, solutions: Incomplete = ... - ) -> Incomplete: ... - def addPoolCut(self, row: Incomplete) -> Incomplete: ... - def addPyCons(self, cons: Incomplete) -> Incomplete: ... - def addRowDive(self, row: Incomplete) -> Incomplete: ... - def addRowExact(self, rowexact: Incomplete) -> Incomplete: ... - def addSol(self, solution: Incomplete, free: Incomplete = ...) -> Incomplete: ... - def addVar( - self, - name: Incomplete = ..., - vtype: Incomplete = ..., - lb: Incomplete = ..., - ub: Incomplete = ..., - obj: Incomplete = ..., - pricedVar: Incomplete = ..., - pricedVarScore: Incomplete = ..., - deletable: Incomplete = ..., - ) -> Incomplete: ... - def addVarLocks( - self, var: Incomplete, nlocksdown: Incomplete, nlocksup: Incomplete - ) -> Incomplete: ... - def addVarLocksType( - self, - var: Incomplete, - locktype: Incomplete, - nlocksdown: Incomplete, - nlocksup: Incomplete, - ) -> Incomplete: ... - def addVarSOS1( - self, cons: Incomplete, var: Incomplete, weight: Incomplete - ) -> Incomplete: ... - def addVarSOS2( - self, cons: Incomplete, var: Incomplete, weight: Incomplete - ) -> Incomplete: ... - def addVarToRow( - self, row: Incomplete, var: Incomplete, value: Incomplete - ) -> Incomplete: ... - def allColsInLP(self) -> Incomplete: ... - def allowNegSlackExact(self) -> Incomplete: ... - def appendVarSOS1(self, cons: Incomplete, var: Incomplete) -> Incomplete: ... - def appendVarSOS2(self, cons: Incomplete, var: Incomplete) -> Incomplete: ... - def applyCutsProbing(self) -> Incomplete: ... - def attachEventHandlerCallback( - self, - callback: Incomplete, - events: Incomplete, - name: Incomplete = ..., - description: Incomplete = ..., - ) -> Incomplete: ... - def backtrackProbing(self, probingdepth: Incomplete) -> Incomplete: ... - def branchLPExact(self) -> Incomplete: ... - def branchVar(self, variable: Incomplete) -> Incomplete: ... - def branchVarVal(self, variable: Incomplete, value: Incomplete) -> Incomplete: ... - def cacheRowExtensions(self, row: Incomplete) -> Incomplete: ... - def calcChildEstimate( - self, variable: Incomplete, targetvalue: Incomplete - ) -> Incomplete: ... - def calcNodeselPriority( - self, variable: Incomplete, branchdir: Incomplete, targetvalue: Incomplete - ) -> Incomplete: ... - def catchEvent( - self, eventtype: Incomplete, eventhdlr: Incomplete - ) -> Incomplete: ... - def catchRowEvent( - self, row: Incomplete, eventtype: Incomplete, eventhdlr: Incomplete - ) -> Incomplete: ... - def catchVarEvent( - self, var: Incomplete, eventtype: Incomplete, eventhdlr: Incomplete - ) -> Incomplete: ... - def checkBendersSubproblemOptimality( - self, solution: Incomplete, probnumber: Incomplete, benders: Incomplete = ... - ) -> Incomplete: ... - def checkQuadraticNonlinear(self, cons: Incomplete) -> Incomplete: ... - def checkSol( - self, - solution: Incomplete, - printreason: Incomplete = ..., - completely: Incomplete = ..., - checkbounds: Incomplete = ..., - checkintegrality: Incomplete = ..., - checklprows: Incomplete = ..., - original: Incomplete = ..., - ) -> Incomplete: ... - def chgCapacityKnapsack( - self, cons: Incomplete, capacity: Incomplete - ) -> Incomplete: ... - def chgCoefLinear( - self, cons: Incomplete, var: Incomplete, value: Incomplete - ) -> Incomplete: ... - def chgLhs(self, cons: Incomplete, lhs: Incomplete) -> Incomplete: ... - def chgReoptObjective( - self, coeffs: Incomplete, sense: Incomplete = ... - ) -> Incomplete: ... - def chgRhs(self, cons: Incomplete, rhs: Incomplete) -> Incomplete: ... - def chgRowLhsDive(self, row: Incomplete, newlhs: Incomplete) -> Incomplete: ... - def chgRowRhsDive(self, row: Incomplete, newrhs: Incomplete) -> Incomplete: ... - def chgVarBranchPriority( - self, var: Incomplete, priority: Incomplete - ) -> Incomplete: ... - def chgVarLb(self, var: Incomplete, lb: Incomplete) -> Incomplete: ... - def chgVarLbDive(self, var: Incomplete, newbound: Incomplete) -> Incomplete: ... - def chgVarLbGlobal(self, var: Incomplete, lb: Incomplete) -> Incomplete: ... - def chgVarLbNode( - self, node: Incomplete, var: Incomplete, lb: Incomplete - ) -> Incomplete: ... - def chgVarLbProbing(self, var: Incomplete, lb: Incomplete) -> Incomplete: ... - def chgVarObjDive(self, var: Incomplete, newobj: Incomplete) -> Incomplete: ... - def chgVarObjProbing(self, var: Incomplete, newobj: Incomplete) -> Incomplete: ... - def chgVarType(self, var: Incomplete, vtype: Incomplete) -> Incomplete: ... - def chgVarUb(self, var: Incomplete, ub: Incomplete) -> Incomplete: ... - def chgVarUbDive(self, var: Incomplete, newbound: Incomplete) -> Incomplete: ... - def chgVarUbGlobal(self, var: Incomplete, ub: Incomplete) -> Incomplete: ... - def chgVarUbNode( - self, node: Incomplete, var: Incomplete, ub: Incomplete - ) -> Incomplete: ... - def chgVarUbProbing(self, var: Incomplete, ub: Incomplete) -> Incomplete: ... - def computeBestSolSubproblems(self) -> Incomplete: ... - def constructLP(self) -> Incomplete: ... - def copyLargeNeighborhoodSearch( - self, to_fix: Incomplete, fix_vals: Incomplete - ) -> Incomplete: ... - def count(self) -> Incomplete: ... - def createChild( - self, nodeselprio: Incomplete, estimate: Incomplete - ) -> Incomplete: ... - def createCons( - self, - conshdlr: Incomplete, - name: Incomplete, - initial: Incomplete = ..., - separate: Incomplete = ..., - enforce: Incomplete = ..., - check: Incomplete = ..., - propagate: Incomplete = ..., - local: Incomplete = ..., - modifiable: Incomplete = ..., - dynamic: Incomplete = ..., - removable: Incomplete = ..., - stickingatnode: Incomplete = ..., - ) -> Incomplete: ... - def createConsFromExpr( - self, - cons: Incomplete, - name: Incomplete = ..., - initial: Incomplete = ..., - separate: Incomplete = ..., - enforce: Incomplete = ..., - check: Incomplete = ..., - propagate: Incomplete = ..., - local: Incomplete = ..., - modifiable: Incomplete = ..., - dynamic: Incomplete = ..., - removable: Incomplete = ..., - stickingatnode: Incomplete = ..., - ) -> Incomplete: ... - def createEmptyRowSepa( - self, - sepa: Incomplete, - name: Incomplete = ..., - lhs: Incomplete = ..., - rhs: Incomplete = ..., - local: Incomplete = ..., - modifiable: Incomplete = ..., - removable: Incomplete = ..., - ) -> Incomplete: ... - def createEmptyRowUnspec( - self, - name: Incomplete = ..., - lhs: Incomplete = ..., - rhs: Incomplete = ..., - local: Incomplete = ..., - modifiable: Incomplete = ..., - removable: Incomplete = ..., - ) -> Incomplete: ... - def createOrigSol(self, heur: Incomplete = ...) -> Incomplete: ... - def createPartialSol(self, heur: Incomplete = ...) -> Incomplete: ... - def createProbBasic(self, problemName: Incomplete = ...) -> Incomplete: ... - def createSol( - self, heur: Incomplete = ..., initlp: Incomplete = ... - ) -> Incomplete: ... - def cutoffNode(self, node: Incomplete) -> Incomplete: ... - def deactivatePricer(self, pricer: Incomplete) -> Incomplete: ... - def delCoefLinear(self, cons: Incomplete, var: Incomplete) -> Incomplete: ... - def delCons(self, cons: Incomplete) -> Incomplete: ... - def delConsLocal(self, cons: Incomplete) -> Incomplete: ... - def delVar(self, var: Incomplete) -> Incomplete: ... - def disableDebugSol(self) -> Incomplete: ... - def disablePropagation(self, onlyroot: Incomplete = ...) -> Incomplete: ... - def dropEvent(self, eventtype: Incomplete, eventhdlr: Incomplete) -> Incomplete: ... - def dropRowEvent( - self, row: Incomplete, eventtype: Incomplete, eventhdlr: Incomplete - ) -> Incomplete: ... - def dropVarEvent( - self, var: Incomplete, eventtype: Incomplete, eventhdlr: Incomplete - ) -> Incomplete: ... - def enableDebugSol(self) -> Incomplete: ... - def enableExactSolving(self, enable: Incomplete) -> Incomplete: ... - def enableReoptimization(self, enable: Incomplete = ...) -> Incomplete: ... - def endDive(self) -> Incomplete: ... - def endProbing(self) -> Incomplete: ... - def endStrongbranch(self) -> Incomplete: ... - def epsilon(self) -> Incomplete: ... - def feasCeil(self, value: Incomplete) -> Incomplete: ... - def feasFloor(self, value: Incomplete) -> Incomplete: ... - def feasFrac(self, value: Incomplete) -> Incomplete: ... - def feasRound(self, value: Incomplete) -> Incomplete: ... - def feastol(self) -> Incomplete: ... - def fixVar(self, var: Incomplete, val: Incomplete) -> Incomplete: ... - def fixVarProbing(self, var: Incomplete, fixedval: Incomplete) -> Incomplete: ... - def flushRowExtensions(self, row: Incomplete) -> Incomplete: ... - def frac(self, value: Incomplete) -> Incomplete: ... - def freeBendersSubproblems(self) -> Incomplete: ... - def freeProb(self) -> Incomplete: ... - def freeReoptSolve(self) -> Incomplete: ... - def freeSol(self, solution: Incomplete) -> Incomplete: ... - def freeTransform(self) -> 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): ... + def addCoefLinear(self, *args, **kwargs): ... + def addCons(self, *args, **kwargs): ... + def addConsAnd(self, *args, **kwargs): ... + def addConsCardinality(self, *args, **kwargs): ... + def addConsCoeff(self, *args, **kwargs): ... + def addConsDisjunction(self, *args, **kwargs): ... + def addConsElemDisjunction(self, *args, **kwargs): ... + def addConsIndicator(self, *args, **kwargs): ... + def addConsKnapsack(self, *args, **kwargs): ... + def addConsLocal(self, *args, **kwargs): ... + def addConsNode(self, *args, **kwargs): ... + def addConsOr(self, *args, **kwargs): ... + def addConsSOS1(self, *args, **kwargs): ... + def addConsSOS2(self, *args, **kwargs): ... + def addConsXor(self, *args, **kwargs): ... + def addConss(self, *args, **kwargs): ... + def addCut(self, *args, **kwargs): ... + def addExprNonlinear(self, *args, **kwargs): ... + def addMatrixCons(self, *args, **kwargs): ... + def addMatrixConsIndicator(self, *args, **kwargs): ... + def addMatrixVar(self, *args, **kwargs): ... + def addObjoffset(self, *args, **kwargs): ... + 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): ... + def addVarLocksType(self, *args, **kwargs): ... + def addVarSOS1(self, *args, **kwargs): ... + 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): ... + def calcChildEstimate(self, *args, **kwargs): ... + def calcNodeselPriority(self, *args, **kwargs): ... + def catchEvent(self, *args, **kwargs): ... + def catchRowEvent(self, *args, **kwargs): ... + def catchVarEvent(self, *args, **kwargs): ... + def checkBendersSubproblemOptimality(self, *args, **kwargs): ... + def checkQuadraticNonlinear(self, *args, **kwargs): ... + def checkSol(self, *args, **kwargs): ... + def chgCapacityKnapsack(self, *args, **kwargs): ... + def chgCoefLinear(self, *args, **kwargs): ... + def chgLhs(self, *args, **kwargs): ... + def chgReoptObjective(self, *args, **kwargs): ... + def chgRhs(self, *args, **kwargs): ... + def chgRowLhsDive(self, *args, **kwargs): ... + def chgRowRhsDive(self, *args, **kwargs): ... + def chgVarBranchPriority(self, *args, **kwargs): ... + def chgVarLb(self, *args, **kwargs): ... + def chgVarLbDive(self, *args, **kwargs): ... + def chgVarLbGlobal(self, *args, **kwargs): ... + def chgVarLbNode(self, *args, **kwargs): ... + def chgVarLbProbing(self, *args, **kwargs): ... + def chgVarObjDive(self, *args, **kwargs): ... + def chgVarObjProbing(self, *args, **kwargs): ... + def chgVarType(self, *args, **kwargs): ... + def chgVarUb(self, *args, **kwargs): ... + def chgVarUbDive(self, *args, **kwargs): ... + def chgVarUbGlobal(self, *args, **kwargs): ... + def chgVarUbNode(self, *args, **kwargs): ... + def chgVarUbProbing(self, *args, **kwargs): ... + def computeBestSolSubproblems(self, *args, **kwargs): ... + def constructLP(self, *args, **kwargs): ... + def copyLargeNeighborhoodSearch(self, *args, **kwargs): ... + def count(self, *args, **kwargs): ... + def createChild(self, *args, **kwargs): ... + def createCons(self, *args, **kwargs): ... + def createConsFromExpr(self, *args, **kwargs): ... + def createEmptyRowSepa(self, *args, **kwargs): ... + def createEmptyRowUnspec(self, *args, **kwargs): ... + def createOrigSol(self, *args, **kwargs): ... + def createPartialSol(self, *args, **kwargs): ... + def createProbBasic(self, *args, **kwargs): ... + def createSol(self, *args, **kwargs): ... + def cutoffNode(self, *args, **kwargs): ... + def deactivatePricer(self, *args, **kwargs): ... + def delCoefLinear(self, *args, **kwargs): ... + def delCons(self, *args, **kwargs): ... + def delConsLocal(self, *args, **kwargs): ... + def delVar(self, *args, **kwargs): ... + def disableDebugSol(self, *args, **kwargs): ... + def disablePropagation(self, *args, **kwargs): ... + def dropEvent(self, *args, **kwargs): ... + 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): ... + def endStrongbranch(self, *args, **kwargs): ... + def epsilon(self, *args, **kwargs): ... + def feasCeil(self, *args, **kwargs): ... + def feasFloor(self, *args, **kwargs): ... + def feasFrac(self, *args, **kwargs): ... + def feasRound(self, *args, **kwargs): ... + def feastol(self, *args, **kwargs): ... + def fixVar(self, *args, **kwargs): ... + def fixVarProbing(self, *args, **kwargs): ... + def flushRowExtensions(self, *args, **kwargs): ... + def frac(self, *args, **kwargs): ... + def freeBendersSubproblems(self, *args, **kwargs): ... + def freeProb(self, *args, **kwargs): ... + def freeReoptSolve(self, *args, **kwargs): ... + def freeSol(self, *args, **kwargs): ... + def freeTransform(self, *args, **kwargs): ... @staticmethod - def from_ptr(capsule: Incomplete, take_ownership: Incomplete) -> Incomplete: ... - def generateIIS(self) -> Incomplete: ... - def getActivity(self, cons: Incomplete, sol: Incomplete = ...) -> Incomplete: ... - def getBendersAuxiliaryVar( - self, probnumber: Incomplete, benders: Incomplete = ... - ) -> Incomplete: ... - def getBendersSubproblem( - self, probnumber: Incomplete, benders: Incomplete = ... - ) -> Incomplete: ... - def getBendersVar( - self, var: Incomplete, benders: Incomplete = ..., probnumber: Incomplete = ... - ) -> Incomplete: ... - def getBestChild(self) -> Incomplete: ... - def getBestLeaf(self) -> Incomplete: ... - def getBestNode(self) -> Incomplete: ... - def getBestSibling(self) -> Incomplete: ... - def getBestSol(self) -> Incomplete: ... - def getBestboundNode(self) -> Incomplete: ... - def getBipartiteGraphRepresentation( - self, - prev_col_features: Incomplete = ..., - prev_edge_features: Incomplete = ..., - prev_row_features: Incomplete = ..., - static_only: Incomplete = ..., - suppress_warnings: Incomplete = ..., - ) -> Incomplete: ... - def getBranchScoreMultiple( - self, var: Incomplete, gains: Incomplete - ) -> Incomplete: ... - def getCapacityKnapsack(self, cons: Incomplete) -> Incomplete: ... - def getChildren(self) -> Incomplete: ... - def getColRedCost(self, col: Incomplete) -> Incomplete: ... - def getCondition(self, exact: Incomplete = ...) -> Incomplete: ... - def getConsNVars(self, constraint: Incomplete) -> Incomplete: ... - def getConsVals(self, constraint: Incomplete) -> Incomplete: ... - def getConsVars(self, constraint: Incomplete) -> Incomplete: ... - def getConss(self, transformed: Incomplete = ...) -> Incomplete: ... - def getCurrentNode(self) -> Incomplete: ... - def getCutEfficacy(self, cut: Incomplete, sol: Incomplete = ...) -> Incomplete: ... - def getCutLPSolCutoffDistance( - self, cut: Incomplete, sol: Incomplete - ) -> Incomplete: ... - def getCutoffbound(self) -> Incomplete: ... - def getDepth(self) -> Incomplete: ... - def getDualMultiplier(self, cons: Incomplete) -> Incomplete: ... - def getDualSolVal( - self, cons: Incomplete, boundconstraint: Incomplete = ... - ) -> Incomplete: ... - def getDualbound(self) -> Incomplete: ... - def getDualboundRoot(self) -> Incomplete: ... - def getDualfarkasKnapsack(self, cons: Incomplete) -> Incomplete: ... - def getDualfarkasLinear(self, cons: Incomplete) -> Incomplete: ... - def getDualsolKnapsack(self, cons: Incomplete) -> Incomplete: ... - def getDualsolLinear(self, cons: Incomplete) -> Incomplete: ... - def getGap(self) -> Incomplete: ... - def getHeurTiming(self, heurname: Incomplete) -> Incomplete: ... - def getIIS(self) -> Incomplete: ... - def getLPBInvARow(self, row: Incomplete) -> Incomplete: ... - def getLPBInvRow(self, row: Incomplete) -> Incomplete: ... - def getLPBasisInd(self) -> Incomplete: ... - def getLPBranchCands(self) -> Incomplete: ... - def getLPColsData(self) -> Incomplete: ... - def getLPObjVal(self) -> Incomplete: ... - def getLPRowsData(self) -> Incomplete: ... - def getLPSolstat(self) -> Incomplete: ... - def getLeaves(self) -> Incomplete: ... - def getLhs(self, cons: Incomplete) -> Incomplete: ... - def getLinearConsIndicator(self, cons: Incomplete) -> Incomplete: ... - def getLocalEstimate(self, original: Incomplete = ...) -> Incomplete: ... - def getLowerbound(self) -> Incomplete: ... - def getMajorVersion(self) -> Incomplete: ... - def getMaxDepth(self) -> Incomplete: ... - def getMinorVersion(self) -> Incomplete: ... - def getNBestSolsFound(self) -> Incomplete: ... - def getNBinVars(self) -> Incomplete: ... - def getNChildren(self) -> Incomplete: ... - def getNConss(self, transformed: Incomplete = ...) -> Incomplete: ... - def getNContVars(self) -> Incomplete: ... - def getNCountedSols(self) -> Incomplete: ... - def getNCuts(self) -> Incomplete: ... - def getNCutsApplied(self) -> Incomplete: ... - def getNFeasibleLeaves(self) -> Incomplete: ... - def getNImplVars(self) -> Incomplete: ... - def getNInfeasibleLeaves(self) -> Incomplete: ... - def getNIntVars(self) -> Incomplete: ... - def getNLPBranchCands(self) -> Incomplete: ... - def getNLPCols(self) -> Incomplete: ... - def getNLPIterations(self) -> Incomplete: ... - def getNLPRows(self) -> Incomplete: ... - def getNLPs(self) -> Incomplete: ... - def getNLeaves(self) -> Incomplete: ... - def getNLimSolsFound(self) -> Incomplete: ... - def getNNlRows(self) -> Incomplete: ... - def getNNodeLPIterations(self) -> Incomplete: ... - def getNNodes(self) -> Incomplete: ... - def getNReaders(self) -> Incomplete: ... - def getNSepaRounds(self) -> Incomplete: ... - def getNSiblings(self) -> Incomplete: ... - def getNSols(self) -> Incomplete: ... - def getNSolsFound(self) -> Incomplete: ... - def getNStrongbranchLPIterations(self) -> Incomplete: ... - def getNTotalNodes(self) -> Incomplete: ... - def getNVars(self, transformed: Incomplete = ...) -> Incomplete: ... - def getNVarsAnd(self, and_cons: Incomplete) -> Incomplete: ... - def getNlRowActivityBounds(self, nlrow: Incomplete) -> Incomplete: ... - def getNlRowSolActivity( - self, nlrow: Incomplete, sol: Incomplete = ... - ) -> Incomplete: ... - def getNlRowSolFeasibility( - self, nlrow: Incomplete, sol: Incomplete = ... - ) -> Incomplete: ... - def getNlRows(self) -> Incomplete: ... - def getObjVal(self, original: Incomplete = ...) -> Incomplete: ... - def getObjective(self) -> Incomplete: ... - def getObjectiveSense(self) -> Incomplete: ... - def getObjlimit(self) -> Incomplete: ... - def getObjoffset(self, original: Incomplete = ...) -> Incomplete: ... - def getOpenNodes(self) -> Incomplete: ... - def getParam(self, name: Incomplete) -> Incomplete: ... - def getParams(self) -> Incomplete: ... - def getPlungeDepth(self) -> Incomplete: ... - def getPresolvingTime(self) -> Incomplete: ... - def getPrimalRay(self) -> Incomplete: ... - def getPrimalRayVal(self, var: Incomplete) -> Incomplete: ... - def getPrimalbound(self) -> Incomplete: ... - def getPrioChild(self) -> Incomplete: ... - def getPrioSibling(self) -> Incomplete: ... - def getProbName(self) -> Incomplete: ... - def getProbingDepth(self) -> Incomplete: ... - def getPseudoBranchCands(self) -> Incomplete: ... - def getReadingTime(self) -> Incomplete: ... - def getResultantAnd(self, and_cons: Incomplete) -> Incomplete: ... - def getRhs(self, cons: Incomplete) -> Incomplete: ... - def getRowActivity(self, row: Incomplete) -> Incomplete: ... - def getRowDualSol(self, row: Incomplete) -> Incomplete: ... - def getRowLPActivity(self, row: Incomplete) -> Incomplete: ... - def getRowLinear(self, cons: Incomplete) -> Incomplete: ... - def getRowNumIntCols(self, row: Incomplete) -> Incomplete: ... - def getRowObjParallelism(self, row: Incomplete) -> Incomplete: ... - def getRowParallelism( - self, row1: Incomplete, row2: Incomplete, orthofunc: Incomplete = ... - ) -> Incomplete: ... - def getSiblings(self) -> Incomplete: ... - def getSlack( - self, cons: Incomplete, sol: Incomplete = ..., side: Incomplete = ... - ) -> Incomplete: ... - def getSlackVarIndicator(self, cons: Incomplete) -> Incomplete: ... - def getSolObjVal( - self, sol: Incomplete, original: Incomplete = ... - ) -> Incomplete: ... - def getSolTime(self, sol: Incomplete) -> Incomplete: ... - def getSolVal(self, sol: Incomplete, expr: Incomplete) -> Incomplete: ... - def getSols(self) -> Incomplete: ... - def getSolvingTime(self) -> Incomplete: ... - def getStage(self) -> Incomplete: ... - def getStageName(self) -> Incomplete: ... - def getStatus(self) -> Incomplete: ... - def getTechVersion(self) -> Incomplete: ... - def getTermsQuadratic(self, cons: Incomplete) -> Incomplete: ... - def getTotalTime(self) -> Incomplete: ... - def getTransformedCons(self, cons: Incomplete) -> Incomplete: ... - def getTransformedVar(self, var: Incomplete) -> Incomplete: ... - def getTreesizeEstimation(self) -> Incomplete: ... - def getVal(self, expr: Incomplete) -> Incomplete: ... - def getValsLinear(self, cons: Incomplete) -> Incomplete: ... - def getVarDict(self, transformed: Incomplete = ...) -> Incomplete: ... - def getVarLbDive(self, var: Incomplete) -> Incomplete: ... - def getVarPseudocost( - self, var: Incomplete, branchdir: Incomplete - ) -> Incomplete: ... - def getVarPseudocostScore( - self, var: Incomplete, solVal: Incomplete - ) -> Incomplete: ... - def getVarRedcost(self, var: Incomplete) -> Incomplete: ... - def getVarStrongbranch( - self, - var: Incomplete, - itlim: Incomplete, - idempotent: Incomplete = ..., - integral: Incomplete = ..., - ) -> Incomplete: ... - def getVarStrongbranchLast(self, var: Incomplete) -> Incomplete: ... - def getVarStrongbranchNode(self, var: Incomplete) -> Incomplete: ... - def getVarUbDive(self, var: Incomplete) -> Incomplete: ... - def getVars(self, transformed: Incomplete = ...) -> Incomplete: ... - def getVarsAnd(self, and_cons: Incomplete) -> Incomplete: ... - def getWeightsKnapsack(self, cons: Incomplete) -> Incomplete: ... - def hasPrimalRay(self) -> Incomplete: ... - def hideOutput(self, quiet: Incomplete = ...) -> Incomplete: ... - def inProbing(self) -> Incomplete: ... - def inRepropagation(self) -> Incomplete: ... - def includeBenders( - self, - benders: Incomplete, - name: Incomplete, - desc: Incomplete, - priority: Incomplete = ..., - cutlp: Incomplete = ..., - cutpseudo: Incomplete = ..., - cutrelax: Incomplete = ..., - shareaux: Incomplete = ..., - ) -> Incomplete: ... - def includeBendersDefaultCuts(self, benders: Incomplete) -> Incomplete: ... - def includeBenderscut( - self, - benders: Incomplete, - benderscut: Incomplete, - name: Incomplete, - desc: Incomplete, - priority: Incomplete = ..., - islpcut: Incomplete = ..., - ) -> Incomplete: ... - def includeBranchrule( - self, - branchrule: Incomplete, - name: Incomplete, - desc: Incomplete, - priority: Incomplete, - maxdepth: Incomplete, - maxbounddist: Incomplete, - ) -> Incomplete: ... - def includeConshdlr( - self, - conshdlr: Incomplete, - name: Incomplete, - desc: Incomplete, - sepapriority: Incomplete = ..., - enfopriority: Incomplete = ..., - chckpriority: Incomplete = ..., - sepafreq: Incomplete = ..., - propfreq: Incomplete = ..., - eagerfreq: Incomplete = ..., - maxprerounds: Incomplete = ..., - delaysepa: Incomplete = ..., - delayprop: Incomplete = ..., - needscons: Incomplete = ..., - proptiming: Incomplete = ..., - presoltiming: Incomplete = ..., - ) -> Incomplete: ... - def includeCutsel( - self, - cutsel: Incomplete, - name: Incomplete, - desc: Incomplete, - priority: Incomplete, - ) -> Incomplete: ... - def includeDefaultPlugins(self) -> Incomplete: ... - def includeEventhdlr( - self, eventhdlr: Incomplete, name: Incomplete, desc: Incomplete - ) -> Incomplete: ... - def includeHeur( - self, - heur: Incomplete, - name: Incomplete, - desc: Incomplete, - dispchar: Incomplete, - priority: Incomplete = ..., - freq: Incomplete = ..., - freqofs: Incomplete = ..., - maxdepth: Incomplete = ..., - timingmask: Incomplete = ..., - usessubscip: Incomplete = ..., - ) -> Incomplete: ... - def includeIISfinder( - self, - iisfinder: Incomplete, - name: Incomplete, - desc: Incomplete, - priority: Incomplete = ..., - freq: Incomplete = ..., - ) -> Incomplete: ... - def includeNodesel( - self, - nodesel: Incomplete, - name: Incomplete, - desc: Incomplete, - stdpriority: Incomplete, - memsavepriority: Incomplete, - ) -> Incomplete: ... - def includePresol( - self, - presol: Incomplete, - name: Incomplete, - desc: Incomplete, - priority: Incomplete, - maxrounds: Incomplete, - timing: Incomplete = ..., - ) -> Incomplete: ... - def includePricer( - self, - pricer: Incomplete, - name: Incomplete, - desc: Incomplete, - priority: Incomplete = ..., - delay: Incomplete = ..., - ) -> Incomplete: ... - def includeProp( - self, - prop: Incomplete, - name: Incomplete, - desc: Incomplete, - presolpriority: Incomplete, - presolmaxrounds: Incomplete, - proptiming: Incomplete, - presoltiming: Incomplete = ..., - priority: Incomplete = ..., - freq: Incomplete = ..., - delay: Incomplete = ..., - ) -> Incomplete: ... - def includeReader( - self, reader: Incomplete, name: Incomplete, desc: Incomplete, ext: Incomplete - ) -> Incomplete: ... - def includeRelax( - self, - relax: Incomplete, - name: Incomplete, - desc: Incomplete, - priority: Incomplete = ..., - freq: Incomplete = ..., - ) -> Incomplete: ... - def includeSepa( - self, - sepa: Incomplete, - name: Incomplete, - desc: Incomplete, - priority: Incomplete = ..., - freq: Incomplete = ..., - maxbounddist: Incomplete = ..., - usessubscip: Incomplete = ..., - delay: Incomplete = ..., - ) -> Incomplete: ... - def infinity(self) -> Incomplete: ... - def initBendersDefault(self, subproblems: Incomplete) -> Incomplete: ... - def interruptSolve(self) -> Incomplete: ... - def isAndConsSorted(self, and_cons: Incomplete) -> Incomplete: ... - def isCutEfficacious( - self, cut: Incomplete, sol: Incomplete = ... - ) -> Incomplete: ... - def isEQ(self, val1: Incomplete, val2: Incomplete) -> Incomplete: ... - def isExact(self) -> Incomplete: ... - def isFeasEQ(self, val1: Incomplete, val2: Incomplete) -> Incomplete: ... - def isFeasGE(self, val1: Incomplete, val2: Incomplete) -> Incomplete: ... - def isFeasGT(self, val1: Incomplete, val2: Incomplete) -> Incomplete: ... - def isFeasIntegral(self, value: Incomplete) -> Incomplete: ... - def isFeasLE(self, val1: Incomplete, val2: Incomplete) -> Incomplete: ... - def isFeasLT(self, val1: Incomplete, val2: Incomplete) -> Incomplete: ... - def isFeasNegative(self, value: Incomplete) -> Incomplete: ... - def isFeasPositive(self, value: Incomplete) -> Incomplete: ... - def isFeasZero(self, value: Incomplete) -> Incomplete: ... - def isGE(self, val1: Incomplete, val2: Incomplete) -> Incomplete: ... - def isGT(self, val1: Incomplete, val2: Incomplete) -> Incomplete: ... - def isHugeValue(self, val: Incomplete) -> Incomplete: ... - def isInfinity(self, value: Incomplete) -> Incomplete: ... - def isLE(self, val1: Incomplete, val2: Incomplete) -> Incomplete: ... - def isLPSolBasic(self) -> Incomplete: ... - def isLT(self, val1: Incomplete, val2: Incomplete) -> Incomplete: ... - def isNLPConstructed(self) -> Incomplete: ... - def isNegative(self, val: Incomplete) -> Incomplete: ... - def isObjChangedProbing(self) -> Incomplete: ... - def isPositive(self, val: Incomplete) -> Incomplete: ... - def isZero(self, value: Incomplete) -> Incomplete: ... - def lpiGetIterations(self) -> Incomplete: ... - def markDoNotAggrVar(self, var: Incomplete) -> Incomplete: ... - def markDoNotMultaggrVar(self, var: Incomplete) -> Incomplete: ... - def newProbingNode(self) -> Incomplete: ... - def optimize(self) -> Incomplete: ... - def optimizeNogil(self) -> Incomplete: ... - def presolve(self) -> Incomplete: ... - def printBestSol(self, write_zeros: Incomplete = ...) -> Incomplete: ... - def printCons(self, constraint: Incomplete) -> Incomplete: ... - def printExternalCodeVersions(self) -> Incomplete: ... - def printNlRow(self, nlrow: Incomplete) -> Incomplete: ... - def printProblem( - self, - ext: Incomplete = ..., - trans: Incomplete = ..., - genericnames: Incomplete = ..., - ) -> Incomplete: ... - def printRow(self, row: Incomplete) -> Incomplete: ... - def printSol( - self, solution: Incomplete = ..., write_zeros: Incomplete = ... - ) -> Incomplete: ... - def printStatistics(self, filename: Incomplete = ...) -> Incomplete: ... - def printStatisticsJson(self) -> Incomplete: ... - def printVersion(self) -> Incomplete: ... - def propagateProbing(self, maxproprounds: Incomplete) -> Incomplete: ... - def readParams(self, file: Incomplete) -> Incomplete: ... - def readProblem( - self, filename: Incomplete, extension: Incomplete = ... - ) -> Incomplete: ... - def readSol(self, filename: Incomplete) -> Incomplete: ... - def readSolFile(self, filename: Incomplete) -> Incomplete: ... - def redirectOutput(self) -> Incomplete: ... - def relax(self) -> Incomplete: ... - def releaseRow(self, row: Incomplete) -> Incomplete: ... - def repropagateNode(self, node: Incomplete) -> Incomplete: ... - def resetParam(self, name: Incomplete) -> Incomplete: ... - def resetParams(self) -> Incomplete: ... - def restartSolve(self) -> Incomplete: ... - def separateSol( - self, - sol: Incomplete = ..., - pretendroot: Incomplete = ..., - allowlocal: Incomplete = ..., - onlydelayed: Incomplete = ..., - ) -> Incomplete: ... - def setBendersSubproblemIsConvex( - self, benders: Incomplete, probnumber: Incomplete, isconvex: Incomplete = ... - ) -> Incomplete: ... - def setBoolParam(self, name: Incomplete, value: Incomplete) -> Incomplete: ... - def setCharParam(self, name: Incomplete, value: Incomplete) -> Incomplete: ... - def setCheck(self, cons: Incomplete, newCheck: Incomplete) -> Incomplete: ... - def setEmphasis( - self, paraemphasis: Incomplete, quiet: Incomplete = ... - ) -> Incomplete: ... - def setEnforced(self, cons: Incomplete, newEnf: Incomplete) -> Incomplete: ... - def setHeurTiming( - self, heurname: Incomplete, heurtiming: Incomplete - ) -> Incomplete: ... - def setHeuristics(self, setting: Incomplete) -> Incomplete: ... - def setInitial(self, cons: Incomplete, newInit: Incomplete) -> Incomplete: ... - def setIntParam(self, name: Incomplete, value: Incomplete) -> Incomplete: ... - def setLogfile(self, path: Incomplete) -> Incomplete: ... - def setLongintParam(self, name: Incomplete, value: Incomplete) -> Incomplete: ... - def setMaximize(self) -> Incomplete: ... - def setMinimize(self) -> Incomplete: ... - def setModifiable(self, cons: Incomplete, newMod: Incomplete) -> Incomplete: ... - def setObjIntegral(self) -> Incomplete: ... - def setObjective( - self, expr: Incomplete, sense: Incomplete = ..., clear: Incomplete = ... - ) -> Incomplete: ... - def setObjlimit(self, objlimit: Incomplete) -> Incomplete: ... - def setParam(self, name: Incomplete, value: Incomplete) -> Incomplete: ... - def setParams(self, params: Incomplete) -> Incomplete: ... - def setParamsCountsols(self) -> Incomplete: ... - def setPresolve(self, setting: Incomplete) -> Incomplete: ... - def setProbName(self, name: Incomplete) -> Incomplete: ... - def setRealParam(self, name: Incomplete, value: Incomplete) -> Incomplete: ... - def setRelaxSolVal(self, var: Incomplete, val: Incomplete) -> Incomplete: ... - def setRemovable(self, cons: Incomplete, newRem: Incomplete) -> Incomplete: ... - def setSeparating(self, setting: Incomplete) -> Incomplete: ... - def setSolVal( - self, solution: Incomplete, var: Incomplete, val: Incomplete - ) -> Incomplete: ... - def setStringParam(self, name: Incomplete, value: Incomplete) -> Incomplete: ... - def setupBendersSubproblem( - self, - probnumber: Incomplete, - benders: Incomplete = ..., - solution: Incomplete = ..., - checktype: Incomplete = ..., - ) -> Incomplete: ... - def solveBendersSubproblem( - self, - probnumber: Incomplete, - solvecip: Incomplete, - benders: Incomplete = ..., - solution: Incomplete = ..., - ) -> Incomplete: ... - def solveConcurrent(self) -> Incomplete: ... - def solveDiveLP(self, itlim: Incomplete = ...) -> Incomplete: ... - def solveProbingLP(self, itlim: Incomplete = ...) -> Incomplete: ... - def sortAndCons(self, and_cons: Incomplete) -> Incomplete: ... - def startDive(self) -> Incomplete: ... - def startProbing(self) -> Incomplete: ... - def startStrongbranch(self) -> Incomplete: ... - def tightenVarLb( - self, var: Incomplete, lb: Incomplete, force: Incomplete = ... - ) -> Incomplete: ... - def tightenVarLbGlobal( - self, var: Incomplete, lb: Incomplete, force: Incomplete = ... - ) -> Incomplete: ... - def tightenVarUb( - self, var: Incomplete, ub: Incomplete, force: Incomplete = ... - ) -> Incomplete: ... - def tightenVarUbGlobal( - self, var: Incomplete, ub: Incomplete, force: Incomplete = ... - ) -> Incomplete: ... - def to_ptr(self, give_ownership: Incomplete) -> Incomplete: ... - def translateSubSol( - self, sub_model: Incomplete, sol: Incomplete, heur: Incomplete - ) -> Incomplete: ... - def trySol( - self, - solution: Incomplete, - printreason: Incomplete = ..., - completely: Incomplete = ..., - checkbounds: Incomplete = ..., - checkintegrality: Incomplete = ..., - checklprows: Incomplete = ..., - free: Incomplete = ..., - ) -> Incomplete: ... - def updateBendersLowerbounds( - self, lowerbounds: Incomplete, benders: Incomplete = ... - ) -> Incomplete: ... - def updateNodeLowerbound(self, node: Incomplete, lb: Incomplete) -> Incomplete: ... - def updateVarPseudocost( - self, - var: Incomplete, - valdelta: Incomplete, - objdelta: Incomplete, - weight: Incomplete, - ) -> Incomplete: ... - def version(self) -> Incomplete: ... - def writeBestSol( - self, filename: Incomplete = ..., write_zeros: Incomplete = ... - ) -> Incomplete: ... - def writeBestTransSol( - self, filename: Incomplete = ..., write_zeros: Incomplete = ... - ) -> Incomplete: ... - def writeLP(self, filename: Incomplete = ...) -> Incomplete: ... - def writeMIP( - self, - filename: Incomplete, - genericnames: Incomplete = ..., - origobj: Incomplete = ..., - lazyconss: Incomplete = ..., - ) -> Incomplete: ... - def writeName(self, var: Incomplete) -> Incomplete: ... - def writeParams( - self, - filename: Incomplete = ..., - comments: Incomplete = ..., - onlychanged: Incomplete = ..., - verbose: Incomplete = ..., - ) -> Incomplete: ... - def writeProblem( - self, - filename: Incomplete = ..., - trans: Incomplete = ..., - genericnames: Incomplete = ..., - verbose: Incomplete = ..., - ) -> Incomplete: ... - def writeSol( - self, - solution: Incomplete, - filename: Incomplete = ..., - write_zeros: Incomplete = ..., - ) -> Incomplete: ... - def writeStatistics(self, filename: Incomplete = ...) -> Incomplete: ... - def writeStatisticsJson(self, filename: Incomplete = ...) -> Incomplete: ... - def writeTransSol( - self, - solution: Incomplete, - filename: Incomplete = ..., - write_zeros: Incomplete = ..., - ) -> Incomplete: ... - def __eq__(self, other: Incomplete)-> Incomplete: ... - def __ge__(self, other: Incomplete)-> Incomplete: ... - def __gt__(self, other: Incomplete)-> Incomplete: ... + 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): ... + def getBendersVar(self, *args, **kwargs): ... + def getBestChild(self, *args, **kwargs): ... + def getBestLeaf(self, *args, **kwargs): ... + def getBestNode(self, *args, **kwargs): ... + def getBestSibling(self, *args, **kwargs): ... + def getBestSol(self, *args, **kwargs): ... + def getBestboundNode(self, *args, **kwargs): ... + def getBipartiteGraphRepresentation(self, *args, **kwargs): ... + def getBranchScoreMultiple(self, *args, **kwargs): ... + def getCapacityKnapsack(self, *args, **kwargs): ... + def getChildren(self, *args, **kwargs): ... + def getColRedCost(self, *args, **kwargs): ... + def getCondition(self, *args, **kwargs): ... + def getConsNVars(self, *args, **kwargs): ... + def getConsVals(self, *args, **kwargs): ... + def getConsVars(self, *args, **kwargs): ... + def getConss(self, *args, **kwargs): ... + def getCurrentNode(self, *args, **kwargs): ... + def getCutEfficacy(self, *args, **kwargs): ... + def getCutLPSolCutoffDistance(self, *args, **kwargs): ... + def getCutoffbound(self, *args, **kwargs): ... + def getDepth(self, *args, **kwargs): ... + def getDualMultiplier(self, *args, **kwargs): ... + def getDualSolVal(self, *args, **kwargs): ... + def getDualbound(self, *args, **kwargs): ... + def getDualboundRoot(self, *args, **kwargs): ... + def getDualfarkasKnapsack(self, *args, **kwargs): ... + def getDualfarkasLinear(self, *args, **kwargs): ... + def getDualsolKnapsack(self, *args, **kwargs): ... + 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): ... + def getLPBranchCands(self, *args, **kwargs): ... + def getLPColsData(self, *args, **kwargs): ... + def getLPObjVal(self, *args, **kwargs): ... + def getLPRowsData(self, *args, **kwargs): ... + def getLPSolstat(self, *args, **kwargs): ... + def getLeaves(self, *args, **kwargs): ... + def getLhs(self, *args, **kwargs): ... + def getLinearConsIndicator(self, *args, **kwargs): ... + def getLocalEstimate(self, *args, **kwargs): ... + def getLowerbound(self, *args, **kwargs): ... + def getMajorVersion(self, *args, **kwargs): ... + def getMaxDepth(self, *args, **kwargs): ... + def getMinorVersion(self, *args, **kwargs): ... + def getNBestSolsFound(self, *args, **kwargs): ... + def getNBinVars(self, *args, **kwargs): ... + def getNChildren(self, *args, **kwargs): ... + def getNConss(self, *args, **kwargs): ... + def getNContVars(self, *args, **kwargs): ... + def getNCountedSols(self, *args, **kwargs): ... + def getNCuts(self, *args, **kwargs): ... + def getNCutsApplied(self, *args, **kwargs): ... + def getNFeasibleLeaves(self, *args, **kwargs): ... + def getNImplVars(self, *args, **kwargs): ... + def getNInfeasibleLeaves(self, *args, **kwargs): ... + def getNIntVars(self, *args, **kwargs): ... + def getNLPBranchCands(self, *args, **kwargs): ... + def getNLPCols(self, *args, **kwargs): ... + def getNLPIterations(self, *args, **kwargs): ... + def getNLPRows(self, *args, **kwargs): ... + def getNLPs(self, *args, **kwargs): ... + def getNLeaves(self, *args, **kwargs): ... + def getNLimSolsFound(self, *args, **kwargs): ... + def getNNlRows(self, *args, **kwargs): ... + def getNNodeLPIterations(self, *args, **kwargs): ... + def getNNodes(self, *args, **kwargs): ... + def getNReaders(self, *args, **kwargs): ... + def getNSepaRounds(self, *args, **kwargs): ... + def getNSiblings(self, *args, **kwargs): ... + def getNSols(self, *args, **kwargs): ... + def getNSolsFound(self, *args, **kwargs): ... + def getNStrongbranchLPIterations(self, *args, **kwargs): ... + def getNTotalNodes(self, *args, **kwargs): ... + def getNVars(self, *args, **kwargs): ... + def getNVarsAnd(self, *args, **kwargs): ... + def getNlRowActivityBounds(self, *args, **kwargs): ... + def getNlRowSolActivity(self, *args, **kwargs): ... + def getNlRowSolFeasibility(self, *args, **kwargs): ... + def getNlRows(self, *args, **kwargs): ... + def getObjVal(self, *args, **kwargs): ... + def getObjective(self, *args, **kwargs): ... + def getObjectiveSense(self, *args, **kwargs): ... + def getObjlimit(self, *args, **kwargs): ... + def getObjoffset(self, *args, **kwargs): ... + def getOpenNodes(self, *args, **kwargs): ... + def getParam(self, *args, **kwargs): ... + def getParams(self, *args, **kwargs): ... + def getPlungeDepth(self, *args, **kwargs): ... + def getPresolvingTime(self, *args, **kwargs): ... + def getPrimalRay(self, *args, **kwargs): ... + def getPrimalRayVal(self, *args, **kwargs): ... + def getPrimalbound(self, *args, **kwargs): ... + def getPrioChild(self, *args, **kwargs): ... + def getPrioSibling(self, *args, **kwargs): ... + def getProbName(self, *args, **kwargs): ... + def getProbingDepth(self, *args, **kwargs): ... + def getPseudoBranchCands(self, *args, **kwargs): ... + def getReadingTime(self, *args, **kwargs): ... + def getResultantAnd(self, *args, **kwargs): ... + def getRhs(self, *args, **kwargs): ... + def getRowActivity(self, *args, **kwargs): ... + def getRowDualSol(self, *args, **kwargs): ... + def getRowLPActivity(self, *args, **kwargs): ... + def getRowLinear(self, *args, **kwargs): ... + def getRowNumIntCols(self, *args, **kwargs): ... + def getRowObjParallelism(self, *args, **kwargs): ... + def getRowParallelism(self, *args, **kwargs): ... + def getSiblings(self, *args, **kwargs): ... + def getSlack(self, *args, **kwargs): ... + def getSlackVarIndicator(self, *args, **kwargs): ... + def getSolObjVal(self, *args, **kwargs): ... + def getSolTime(self, *args, **kwargs): ... + def getSolVal(self, *args, **kwargs): ... + def getSols(self, *args, **kwargs): ... + def getSolvingTime(self, *args, **kwargs): ... + def getStage(self, *args, **kwargs): ... + def getStageName(self, *args, **kwargs): ... + def getStatus(self, *args, **kwargs): ... + def getTechVersion(self, *args, **kwargs): ... + def getTermsQuadratic(self, *args, **kwargs): ... + def getTotalTime(self, *args, **kwargs): ... + def getTransformedCons(self, *args, **kwargs): ... + def getTransformedVar(self, *args, **kwargs): ... + def getTreesizeEstimation(self, *args, **kwargs): ... + def getVal(self, *args, **kwargs): ... + def getValsLinear(self, *args, **kwargs): ... + def getVarDict(self, *args, **kwargs): ... + def getVarLbDive(self, *args, **kwargs): ... + def getVarPseudocost(self, *args, **kwargs): ... + def getVarPseudocostScore(self, *args, **kwargs): ... + def getVarRedcost(self, *args, **kwargs): ... + def getVarStrongbranch(self, *args, **kwargs): ... + def getVarStrongbranchLast(self, *args, **kwargs): ... + def getVarStrongbranchNode(self, *args, **kwargs): ... + def getVarUbDive(self, *args, **kwargs): ... + def getVars(self, *args, **kwargs): ... + def getVarsAnd(self, *args, **kwargs): ... + def getWeightsKnapsack(self, *args, **kwargs): ... + def hasPrimalRay(self, *args, **kwargs): ... + def hideOutput(self, *args, **kwargs): ... + def inProbing(self, *args, **kwargs): ... + def inRepropagation(self, *args, **kwargs): ... + def includeBenders(self, *args, **kwargs): ... + def includeBendersDefaultCuts(self, *args, **kwargs): ... + def includeBenderscut(self, *args, **kwargs): ... + def includeBranchrule(self, *args, **kwargs): ... + def includeConshdlr(self, *args, **kwargs): ... + def includeCutsel(self, *args, **kwargs): ... + 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): ... + def includeProp(self, *args, **kwargs): ... + def includeReader(self, *args, **kwargs): ... + def includeRelax(self, *args, **kwargs): ... + def includeSepa(self, *args, **kwargs): ... + def infinity(self, *args, **kwargs): ... + def initBendersDefault(self, *args, **kwargs): ... + def interruptSolve(self, *args, **kwargs): ... + 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): ... + def isFeasIntegral(self, *args, **kwargs): ... + def isFeasLE(self, *args, **kwargs): ... + def isFeasLT(self, *args, **kwargs): ... + def isFeasNegative(self, *args, **kwargs): ... + def isFeasPositive(self, *args, **kwargs): ... + def isFeasZero(self, *args, **kwargs): ... + def isGE(self, *args, **kwargs): ... + def isGT(self, *args, **kwargs): ... + def isHugeValue(self, *args, **kwargs): ... + def isInfinity(self, *args, **kwargs): ... + def isLE(self, *args, **kwargs): ... + def isLPSolBasic(self, *args, **kwargs): ... + def isLT(self, *args, **kwargs): ... + def isNLPConstructed(self, *args, **kwargs): ... + def isNegative(self, *args, **kwargs): ... + def isObjChangedProbing(self, *args, **kwargs): ... + def isObjIntegral(self, *args, **kwargs): ... + 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): ... + def presolve(self, *args, **kwargs): ... + def printBestSol(self, *args, **kwargs): ... + def printCons(self, *args, **kwargs): ... + def printExternalCodeVersions(self, *args, **kwargs): ... + def printNlRow(self, *args, **kwargs): ... + def printProblem(self, *args, **kwargs): ... + 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): ... + def readProblem(self, *args, **kwargs): ... + def readSol(self, *args, **kwargs): ... + def readSolFile(self, *args, **kwargs): ... + def redirectOutput(self, *args, **kwargs): ... + def relax(self, *args, **kwargs): ... + def releaseRow(self, *args, **kwargs): ... + def repropagateNode(self, *args, **kwargs): ... + def resetParam(self, *args, **kwargs): ... + def resetParams(self, *args, **kwargs): ... + def restartSolve(self, *args, **kwargs): ... + def separateSol(self, *args, **kwargs): ... + def setBendersSubproblemIsConvex(self, *args, **kwargs): ... + def setBoolParam(self, *args, **kwargs): ... + def setCharParam(self, *args, **kwargs): ... + def setCheck(self, *args, **kwargs): ... + def setEmphasis(self, *args, **kwargs): ... + def setEnforced(self, *args, **kwargs): ... + def setHeurTiming(self, *args, **kwargs): ... + def setHeuristics(self, *args, **kwargs): ... + def setInitial(self, *args, **kwargs): ... + def setIntParam(self, *args, **kwargs): ... + def setLogfile(self, *args, **kwargs): ... + def setLongintParam(self, *args, **kwargs): ... + def setMaximize(self, *args, **kwargs): ... + def setMinimize(self, *args, **kwargs): ... + def setModifiable(self, *args, **kwargs): ... + def setObjIntegral(self, *args, **kwargs): ... + def setObjective(self, *args, **kwargs): ... + def setObjlimit(self, *args, **kwargs): ... + def setParam(self, *args, **kwargs): ... + def setParams(self, *args, **kwargs): ... + def setParamsCountsols(self, *args, **kwargs): ... + def setPresolve(self, *args, **kwargs): ... + def setProbName(self, *args, **kwargs): ... + def setRealParam(self, *args, **kwargs): ... + def setRelaxSolVal(self, *args, **kwargs): ... + def setRemovable(self, *args, **kwargs): ... + def setSeparating(self, *args, **kwargs): ... + def setSolVal(self, *args, **kwargs): ... + def setStringParam(self, *args, **kwargs): ... + def setupBendersSubproblem(self, *args, **kwargs): ... + def solveBendersSubproblem(self, *args, **kwargs): ... + def solveConcurrent(self, *args, **kwargs): ... + def solveDiveLP(self, *args, **kwargs): ... + def solveProbingLP(self, *args, **kwargs): ... + def sortAndCons(self, *args, **kwargs): ... + def startDive(self, *args, **kwargs): ... + def startProbing(self, *args, **kwargs): ... + def startStrongbranch(self, *args, **kwargs): ... + def tightenVarLb(self, *args, **kwargs): ... + def tightenVarLbGlobal(self, *args, **kwargs): ... + def tightenVarUb(self, *args, **kwargs): ... + def tightenVarUbGlobal(self, *args, **kwargs): ... + def to_ptr(self, *args, **kwargs): ... + def translateSubSol(self, *args, **kwargs): ... + def trySol(self, *args, **kwargs): ... + def updateBendersLowerbounds(self, *args, **kwargs): ... + def updateNodeLowerbound(self, *args, **kwargs): ... + def updateVarPseudocost(self, *args, **kwargs): ... + def version(self, *args, **kwargs): ... + def writeBestSol(self, *args, **kwargs): ... + def writeBestTransSol(self, *args, **kwargs): ... + def writeLP(self, *args, **kwargs): ... + def writeMIP(self, *args, **kwargs): ... + def writeName(self, *args, **kwargs): ... + def writeParams(self, *args, **kwargs): ... + 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: ... + def __gt__(self, other: object) -> bool: ... def __hash__(self) -> int: ... - def __le__(self, other: Incomplete)-> Incomplete: ... - def __lt__(self, other: Incomplete)-> Incomplete: ... - def __ne__(self, other: Incomplete)-> Incomplete: ... + def __le__(self, other: object) -> bool: ... + def __lt__(self, other: object) -> bool: ... + def __ne__(self, other: object) -> bool: ... -@disjoint_base class NLRow: data: Incomplete name: Incomplete - def __init__(self) -> None: ... - def getConstant(self) -> Incomplete: ... - def getDualsol(self) -> Incomplete: ... - def getLhs(self) -> Incomplete: ... - def getLinearTerms(self) -> Incomplete: ... - def getRhs(self) -> Incomplete: ... - def __eq__(self, other: Incomplete)-> Incomplete: ... - def __ge__(self, other: Incomplete)-> Incomplete: ... - def __gt__(self, other: Incomplete)-> Incomplete: ... + def __init__(self, *args, **kwargs) -> None: ... + def getConstant(self, *args, **kwargs): ... + def getDualsol(self, *args, **kwargs): ... + def getLhs(self, *args, **kwargs): ... + def getLinearTerms(self, *args, **kwargs): ... + def getRhs(self, *args, **kwargs): ... + def __eq__(self, other: object) -> bool: ... + def __ge__(self, other: object) -> bool: ... + def __gt__(self, other: object) -> bool: ... def __hash__(self) -> int: ... - def __le__(self, other: Incomplete)-> Incomplete: ... - def __lt__(self, other: Incomplete)-> Incomplete: ... - def __ne__(self, other: Incomplete)-> Incomplete: ... + def __le__(self, other: object) -> bool: ... + def __lt__(self, other: object) -> bool: ... + def __ne__(self, other: object) -> bool: ... -@disjoint_base class Node: data: Incomplete - def __init__(self) -> None: ... - def getAddedConss(self) -> Incomplete: ... - def getDepth(self) -> Incomplete: ... - def getDomchg(self) -> Incomplete: ... - def getEstimate(self) -> Incomplete: ... - def getLowerbound(self) -> Incomplete: ... - def getNAddedConss(self) -> Incomplete: ... - def getNDomchg(self) -> Incomplete: ... - def getNParentBranchings(self) -> Incomplete: ... - def getNumber(self) -> Incomplete: ... - def getParent(self) -> Incomplete: ... - def getParentBranchings(self) -> Incomplete: ... - def getType(self) -> Incomplete: ... - def isActive(self) -> Incomplete: ... - def isPropagatedAgain(self) -> Incomplete: ... - def __eq__(self, other: Incomplete)-> Incomplete: ... - def __ge__(self, other: Incomplete)-> Incomplete: ... - def __gt__(self, other: Incomplete)-> Incomplete: ... + def __init__(self, *args, **kwargs) -> None: ... + def getAddedConss(self, *args, **kwargs): ... + def getDepth(self, *args, **kwargs): ... + def getDomchg(self, *args, **kwargs): ... + def getEstimate(self, *args, **kwargs): ... + def getLowerbound(self, *args, **kwargs): ... + def getNAddedConss(self, *args, **kwargs): ... + def getNDomchg(self, *args, **kwargs): ... + def getNParentBranchings(self, *args, **kwargs): ... + def getNumber(self, *args, **kwargs): ... + def getParent(self, *args, **kwargs): ... + def getParentBranchings(self, *args, **kwargs): ... + def getType(self, *args, **kwargs): ... + def isActive(self, *args, **kwargs): ... + def isPropagatedAgain(self, *args, **kwargs): ... + def __eq__(self, other: object) -> bool: ... + def __ge__(self, other: object) -> bool: ... + def __gt__(self, other: object) -> bool: ... def __hash__(self) -> int: ... - def __le__(self, other: Incomplete)-> Incomplete: ... - def __lt__(self, other: Incomplete)-> Incomplete: ... - def __ne__(self, other: Incomplete)-> Incomplete: ... + def __le__(self, other: object) -> bool: ... + def __lt__(self, other: object) -> bool: ... + def __ne__(self, other: object) -> bool: ... -@disjoint_base class Nodesel: model: Incomplete - def __init__(self) -> None: ... - def nodecomp(self, node1: Incomplete, node2: Incomplete) -> Incomplete: ... - def nodeexit(self) -> Incomplete: ... - def nodeexitsol(self) -> Incomplete: ... - def nodefree(self) -> Incomplete: ... - def nodeinit(self) -> Incomplete: ... - def nodeinitsol(self) -> Incomplete: ... - def nodeselect(self) -> Incomplete: ... + def __init__(self, *args, **kwargs) -> None: ... + def nodecomp(self, *args, **kwargs): ... + def nodeexit(self, *args, **kwargs): ... + def nodeexitsol(self, *args, **kwargs): ... + def nodefree(self, *args, **kwargs): ... + def nodeinit(self, *args, **kwargs): ... + def nodeinitsol(self, *args, **kwargs): ... + def nodeselect(self, *args, **kwargs): ... class Op: add: ClassVar[str] = ... @@ -1660,14 +919,14 @@ class PY_SCIP_BENDERSENFOTYPE: LP: ClassVar[int] = ... PSEUDO: ClassVar[int] = ... RELAX: ClassVar[int] = ... - def __init__(self) -> None: ... + def __init__(self, *args, **kwargs) -> None: ... class PY_SCIP_BRANCHDIR: AUTO: ClassVar[int] = ... DOWNWARDS: ClassVar[int] = ... FIXED: ClassVar[int] = ... UPWARDS: ClassVar[int] = ... - def __init__(self) -> None: ... + def __init__(self, *args, **kwargs) -> None: ... class PY_SCIP_EVENTTYPE: BESTSOLFOUND: ClassVar[int] = ... @@ -1726,7 +985,7 @@ class PY_SCIP_EVENTTYPE: VAREVENT: ClassVar[int] = ... VARFIXED: ClassVar[int] = ... VARUNLOCKED: ClassVar[int] = ... - def __init__(self) -> None: ... + def __init__(self, *args, **kwargs) -> None: ... class PY_SCIP_HEURTIMING: AFTERLPLOOP: ClassVar[int] = ... @@ -1740,18 +999,18 @@ class PY_SCIP_HEURTIMING: DURINGLPLOOP: ClassVar[int] = ... DURINGPRESOLLOOP: ClassVar[int] = ... DURINGPRICINGLOOP: ClassVar[int] = ... - def __init__(self) -> None: ... + def __init__(self, *args, **kwargs) -> None: ... class PY_SCIP_IMPLINTTYPE: NONE: ClassVar[int] = ... STRONG: ClassVar[int] = ... WEAK: ClassVar[int] = ... - def __init__(self) -> None: ... + def __init__(self, *args, **kwargs) -> None: ... class PY_SCIP_LOCKTYPE: CONFLICT: ClassVar[int] = ... MODEL: ClassVar[int] = ... - def __init__(self) -> None: ... + def __init__(self, *args, **kwargs) -> None: ... class PY_SCIP_LPPARAM: BARRIERCONVTOL: ClassVar[int] = ... @@ -1774,7 +1033,7 @@ class PY_SCIP_LPPARAM: SCALING: ClassVar[int] = ... THREADS: ClassVar[int] = ... TIMING: ClassVar[int] = ... - def __init__(self) -> None: ... + def __init__(self, *args, **kwargs) -> None: ... class PY_SCIP_LPSOLSTAT: ERROR: ClassVar[int] = ... @@ -1785,7 +1044,7 @@ class PY_SCIP_LPSOLSTAT: OPTIMAL: ClassVar[int] = ... TIMELIMIT: ClassVar[int] = ... UNBOUNDEDRAY: ClassVar[int] = ... - def __init__(self) -> None: ... + def __init__(self, *args, **kwargs) -> None: ... class PY_SCIP_NODETYPE: CHILD: ClassVar[int] = ... @@ -1799,7 +1058,7 @@ class PY_SCIP_NODETYPE: REFOCUSNODE: ClassVar[int] = ... SIBLING: ClassVar[int] = ... SUBROOT: ClassVar[int] = ... - def __init__(self) -> None: ... + def __init__(self, *args, **kwargs) -> None: ... class PY_SCIP_PARAMEMPHASIS: BENCHMARK: ClassVar[int] = ... @@ -1814,28 +1073,28 @@ class PY_SCIP_PARAMEMPHASIS: PHASEFEAS: ClassVar[int] = ... PHASEIMPROVE: ClassVar[int] = ... PHASEPROOF: ClassVar[int] = ... - def __init__(self) -> None: ... + def __init__(self, *args, **kwargs) -> None: ... class PY_SCIP_PARAMSETTING: AGGRESSIVE: ClassVar[int] = ... DEFAULT: ClassVar[int] = ... FAST: ClassVar[int] = ... OFF: ClassVar[int] = ... - def __init__(self) -> None: ... + def __init__(self, *args, **kwargs) -> None: ... class PY_SCIP_PRESOLTIMING: EXHAUSTIVE: ClassVar[int] = ... FAST: ClassVar[int] = ... MEDIUM: ClassVar[int] = ... NONE: ClassVar[int] = ... - def __init__(self) -> None: ... + def __init__(self, *args, **kwargs) -> None: ... class PY_SCIP_PROPTIMING: AFTERLPLOOP: ClassVar[int] = ... AFTERLPNODE: ClassVar[int] = ... BEFORELP: ClassVar[int] = ... DURINGLPLOOP: ClassVar[int] = ... - def __init__(self) -> None: ... + def __init__(self, *args, **kwargs) -> None: ... class PY_SCIP_RESULT: BRANCHED: ClassVar[int] = ... @@ -1855,14 +1114,14 @@ class PY_SCIP_RESULT: SUCCESS: ClassVar[int] = ... SUSPENDED: ClassVar[int] = ... UNBOUNDED: ClassVar[int] = ... - def __init__(self) -> None: ... + def __init__(self, *args, **kwargs) -> None: ... class PY_SCIP_ROWORIGINTYPE: CONS: ClassVar[int] = ... REOPT: ClassVar[int] = ... SEPA: ClassVar[int] = ... UNSPEC: ClassVar[int] = ... - def __init__(self) -> None: ... + def __init__(self, *args, **kwargs) -> None: ... class PY_SCIP_SOLORIGIN: LPSOL: ClassVar[int] = ... @@ -1873,7 +1132,7 @@ class PY_SCIP_SOLORIGIN: RELAXSOL: ClassVar[int] = ... UNKNOWN: ClassVar[int] = ... ZERO: ClassVar[int] = ... - def __init__(self) -> None: ... + def __init__(self, *args, **kwargs) -> None: ... class PY_SCIP_STAGE: EXITPRESOLVE: ClassVar[int] = ... @@ -1890,7 +1149,7 @@ class PY_SCIP_STAGE: SOLVING: ClassVar[int] = ... TRANSFORMED: ClassVar[int] = ... TRANSFORMING: ClassVar[int] = ... - def __init__(self) -> None: ... + def __init__(self, *args, **kwargs) -> None: ... class PY_SCIP_STATUS: BESTSOLLIMIT: ClassVar[int] = ... @@ -1910,167 +1169,128 @@ class PY_SCIP_STATUS: UNBOUNDED: ClassVar[int] = ... UNKNOWN: ClassVar[int] = ... USERINTERRUPT: ClassVar[int] = ... - def __init__(self) -> None: ... + def __init__(self, *args, **kwargs) -> None: ... -@disjoint_base class PowExpr(GenExpr): expo: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... + def __init__(self, *args, **kwargs) -> None: ... -@disjoint_base class Presol: model: Incomplete - def __init__(self) -> None: ... - def presolexec( - self, nrounds: Incomplete, presoltiming: Incomplete - ) -> Incomplete: ... - def presolexit(self) -> Incomplete: ... - def presolexitpre(self) -> Incomplete: ... - def presolfree(self) -> Incomplete: ... - def presolinit(self) -> Incomplete: ... - def presolinitpre(self) -> Incomplete: ... - -@disjoint_base + def __init__(self, *args, **kwargs) -> None: ... + def presolexec(self, *args, **kwargs): ... + def presolexit(self, *args, **kwargs): ... + def presolexitpre(self, *args, **kwargs): ... + def presolfree(self, *args, **kwargs): ... + def presolinit(self, *args, **kwargs): ... + def presolinitpre(self, *args, **kwargs): ... + class Pricer: model: Incomplete - def __init__(self) -> None: ... - def pricerexit(self) -> Incomplete: ... - def pricerexitsol(self) -> Incomplete: ... - def pricerfarkas(self) -> Incomplete: ... - def pricerfree(self) -> Incomplete: ... - def pricerinit(self) -> Incomplete: ... - def pricerinitsol(self) -> Incomplete: ... - def pricerredcost(self) -> Incomplete: ... - -@disjoint_base + def __init__(self, *args, **kwargs) -> None: ... + def pricerexit(self, *args, **kwargs): ... + def pricerexitsol(self, *args, **kwargs): ... + def pricerfarkas(self, *args, **kwargs): ... + def pricerfree(self, *args, **kwargs): ... + def pricerinit(self, *args, **kwargs): ... + def pricerinitsol(self, *args, **kwargs): ... + def pricerredcost(self, *args, **kwargs): ... + class ProdExpr(GenExpr): constant: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... + def __init__(self, *args, **kwargs) -> None: ... -@disjoint_base class Prop: model: Incomplete - def __init__(self) -> None: ... - def propexec(self, proptiming: Incomplete) -> Incomplete: ... - def propexit(self) -> Incomplete: ... - def propexitpre(self) -> Incomplete: ... - def propexitsol(self, restart: Incomplete) -> Incomplete: ... - def propfree(self) -> Incomplete: ... - def propinit(self) -> Incomplete: ... - def propinitpre(self) -> Incomplete: ... - def propinitsol(self) -> Incomplete: ... - def proppresol( - self, nrounds: Incomplete, presoltiming: Incomplete, result_dict: Incomplete - ) -> Incomplete: ... - def propresprop( - self, - confvar: Incomplete, - inferinfo: Incomplete, - bdtype: Incomplete, - relaxedbd: Incomplete, - ) -> Incomplete: ... - -@disjoint_base + def __init__(self, *args, **kwargs) -> None: ... + def propexec(self, *args, **kwargs): ... + def propexit(self, *args, **kwargs): ... + def propexitpre(self, *args, **kwargs): ... + def propexitsol(self, *args, **kwargs): ... + def propfree(self, *args, **kwargs): ... + def propinit(self, *args, **kwargs): ... + def propinitpre(self, *args, **kwargs): ... + def propinitsol(self, *args, **kwargs): ... + def proppresol(self, *args, **kwargs): ... + def propresprop(self, *args, **kwargs): ... + class Reader: model: Incomplete name: Incomplete - def __init__(self) -> None: ... - def readerfree(self) -> Incomplete: ... - def readerread(self, filename: Incomplete) -> Incomplete: ... - def readerwrite( - self, - file: Incomplete, - name: Incomplete, - transformed: Incomplete, - objsense: Incomplete, - objoffset: Incomplete, - objscale: Incomplete, - binvars: Incomplete, - intvars: Incomplete, - implvars: Incomplete, - contvars: Incomplete, - fixedvars: Incomplete, - startnvars: Incomplete, - conss: Incomplete, - maxnconss: Incomplete, - startnconss: Incomplete, - genericnames: Incomplete, - ) -> Incomplete: ... - -@disjoint_base + def __init__(self, *args, **kwargs) -> None: ... + def readerfree(self, *args, **kwargs): ... + def readerread(self, *args, **kwargs): ... + def readerwrite(self, *args, **kwargs): ... + class Relax: model: Incomplete name: Incomplete - def __init__(self) -> None: ... - def relaxexec(self) -> Incomplete: ... - def relaxexit(self) -> Incomplete: ... - def relaxexitsol(self) -> Incomplete: ... - def relaxfree(self) -> Incomplete: ... - def relaxinit(self) -> Incomplete: ... - def relaxinitsol(self) -> Incomplete: ... - -@disjoint_base + def __init__(self, *args, **kwargs) -> None: ... + def relaxexec(self, *args, **kwargs): ... + def relaxexit(self, *args, **kwargs): ... + def relaxexitsol(self, *args, **kwargs): ... + def relaxfree(self, *args, **kwargs): ... + def relaxinit(self, *args, **kwargs): ... + def relaxinitsol(self, *args, **kwargs): ... + class Row: data: Incomplete name: Incomplete - def __init__(self) -> None: ... - def getAge(self) -> Incomplete: ... - def getBasisStatus(self) -> Incomplete: ... - def getCols(self) -> Incomplete: ... - def getConsOriginConshdlrtype(self) -> Incomplete: ... - def getConstant(self) -> Incomplete: ... - def getDualfarkas(self) -> Incomplete: ... - def getDualsol(self) -> Incomplete: ... - def getLPPos(self) -> Incomplete: ... - def getLhs(self) -> Incomplete: ... - def getNLPNonz(self) -> Incomplete: ... - def getNNonz(self) -> Incomplete: ... - def getNorm(self) -> Incomplete: ... - def getOrigintype(self) -> Incomplete: ... - def getRhs(self) -> Incomplete: ... - def getVals(self) -> Incomplete: ... - def isInGlobalCutpool(self) -> Incomplete: ... - def isIntegral(self) -> Incomplete: ... - def isLocal(self) -> Incomplete: ... - def isModifiable(self) -> Incomplete: ... - def isRemovable(self) -> Incomplete: ... - def __eq__(self, other: Incomplete)-> Incomplete: ... - def __ge__(self, other: Incomplete)-> Incomplete: ... - def __gt__(self, other: Incomplete)-> Incomplete: ... + def __init__(self, *args, **kwargs) -> None: ... + def getAge(self, *args, **kwargs): ... + def getBasisStatus(self, *args, **kwargs): ... + def getCols(self, *args, **kwargs): ... + def getConsOriginConshdlrtype(self, *args, **kwargs): ... + def getConstant(self, *args, **kwargs): ... + def getDualfarkas(self, *args, **kwargs): ... + def getDualsol(self, *args, **kwargs): ... + def getLPPos(self, *args, **kwargs): ... + def getLhs(self, *args, **kwargs): ... + def getNLPNonz(self, *args, **kwargs): ... + def getNNonz(self, *args, **kwargs): ... + def getNorm(self, *args, **kwargs): ... + def getOrigintype(self, *args, **kwargs): ... + def getRhs(self, *args, **kwargs): ... + def getVals(self, *args, **kwargs): ... + def isInGlobalCutpool(self, *args, **kwargs): ... + def isIntegral(self, *args, **kwargs): ... + def isLocal(self, *args, **kwargs): ... + def isModifiable(self, *args, **kwargs): ... + def isRemovable(self, *args, **kwargs): ... + def __eq__(self, other: object) -> bool: ... + def __ge__(self, other: object) -> bool: ... + def __gt__(self, other: object) -> bool: ... def __hash__(self) -> int: ... - def __le__(self, other: Incomplete)-> Incomplete: ... - def __lt__(self, other: Incomplete)-> Incomplete: ... - def __ne__(self, other: Incomplete)-> Incomplete: ... + def __le__(self, other: object) -> bool: ... + def __lt__(self, other: object) -> bool: ... + def __ne__(self, other: object) -> bool: ... -@disjoint_base class RowExact: data: Incomplete - def __init__(self) -> None: ... + def __init__(self, *args, **kwargs) -> None: ... -@disjoint_base class Sepa: model: Incomplete name: Incomplete - def __init__(self) -> None: ... - def sepaexeclp(self) -> Incomplete: ... - def sepaexecsol(self, solution: Incomplete) -> Incomplete: ... - def sepaexit(self) -> Incomplete: ... - def sepaexitsol(self) -> Incomplete: ... - def sepafree(self) -> Incomplete: ... - def sepainit(self) -> Incomplete: ... - def sepainitsol(self) -> Incomplete: ... - -@disjoint_base + def __init__(self, *args, **kwargs) -> None: ... + def sepaexeclp(self, *args, **kwargs): ... + def sepaexecsol(self, *args, **kwargs): ... + def sepaexit(self, *args, **kwargs): ... + def sepaexitsol(self, *args, **kwargs): ... + def sepafree(self, *args, **kwargs): ... + def sepainit(self, *args, **kwargs): ... + def sepainitsol(self, *args, **kwargs): ... + class Solution: data: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def _checkStage(self, method: Incomplete) -> Incomplete: ... - def _evaluate(self, term: Incomplete) -> Incomplete: ... - def getOrigin(self) -> Incomplete: ... - def retransform(self) -> Incomplete: ... - def translate(self, target: Incomplete) -> Incomplete: ... - def __getitem__(self, index: Incomplete) -> Incomplete: ... - def __setitem__(self, index: Incomplete, object: Incomplete) -> None: ... + 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): ... + def __getitem__(self, index): ... + def __setitem__(self, index, object) -> None: ... @dataclass class Statistics: @@ -2090,51 +1310,22 @@ class Statistics: dual_bound: float | None = None gap: float | None = None primal_dual_integral: float | None = None - @property - def n_binary_vars(self) -> Incomplete: ... - @property - def n_conss(self) -> Incomplete: ... - @property - def n_continuous_vars(self) -> Incomplete: ... - @property - def n_implicit_integer_vars(self) -> Incomplete: ... - @property - def n_integer_vars(self) -> Incomplete: ... - @property - def n_maximal_cons(self) -> Incomplete: ... - @property - def n_presolved_binary_vars(self) -> Incomplete: ... - @property - def n_presolved_conss(self) -> Incomplete: ... - @property - def n_presolved_continuous_vars(self) -> Incomplete: ... - @property - def n_presolved_implicit_integer_vars(self) -> Incomplete: ... - @property - def n_presolved_integer_vars(self) -> Incomplete: ... - @property - def n_presolved_maximal_cons(self) -> Incomplete: ... - @property - def n_presolved_vars(self) -> Incomplete: ... - @property - def n_vars(self) -> Incomplete: ... - -@disjoint_base + class SumExpr(GenExpr): coefs: Incomplete constant: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... + def __init__(self, *args, **kwargs) -> None: ... class Term: hashval: Incomplete ptrtuple: Incomplete vartuple: Incomplete - def __init__(self, *args: Incomplete) -> None: ... - def __add__(self, other: Incomplete) -> Incomplete: ... - def __eq__(self, other: Incomplete)-> Incomplete: ... - def __ge__(self, other: Incomplete)-> Incomplete: ... - def __getitem__(self, index: Incomplete) -> Incomplete: ... - def __gt__(self, other: Incomplete)-> Incomplete: ... + def __init__(self, *args, **kwargs) -> None: ... + def __add__(self, other): ... + def __eq__(self, other: object) -> bool: ... + def __ge__(self, other: object) -> bool: ... + def __getitem__(self, index): ... + def __gt__(self, other: object) -> bool: ... def __hash__(self) -> int: ... def __le__(self, other: object) -> bool: ... def __len__(self) -> int: ... @@ -2142,47 +1333,48 @@ class Term: def __ne__(self, other: object) -> bool: ... class UnaryExpr(GenExpr): - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... + def __init__(self, *args, **kwargs) -> None: ... -@disjoint_base class VarExpr(GenExpr): var: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... + def __init__(self, *args, **kwargs) -> None: ... -@disjoint_base class Variable(Expr): data: Incomplete name: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def getAvgSol(self) -> Incomplete: ... - def getCol(self) -> Incomplete: ... - def getImplType(self) -> Incomplete: ... - def getIndex(self) -> Incomplete: ... - def getLPSol(self) -> Incomplete: ... - def getLbGlobal(self) -> Incomplete: ... - def getLbLocal(self) -> Incomplete: ... - def getLbOriginal(self) -> Incomplete: ... - def getNBranchings(self, branchdir: Incomplete) -> Incomplete: ... - def getNBranchingsCurrentRun(self, branchdir: Incomplete) -> Incomplete: ... - def getNLocksDown(self) -> Incomplete: ... - def getNLocksDownType(self, locktype: Incomplete) -> Incomplete: ... - def getNLocksUp(self) -> Incomplete: ... - def getNLocksUpType(self, locktype: Incomplete) -> Incomplete: ... - def getObj(self) -> Incomplete: ... - def getStatus(self) -> Incomplete: ... - def getUbGlobal(self) -> Incomplete: ... - def getUbLocal(self) -> Incomplete: ... - def getUbOriginal(self) -> Incomplete: ... - def isActive(self) -> Incomplete: ... - def isBinary(self) -> Incomplete: ... - def isDeletable(self) -> Incomplete: ... - def isImpliedIntegral(self) -> Incomplete: ... - def isInLP(self) -> Incomplete: ... - def isIntegral(self) -> Incomplete: ... - def isNonImpliedIntegral(self) -> Incomplete: ... - def isOriginal(self) -> Incomplete: ... - def isRelaxationOnly(self) -> Incomplete: ... - def markRelaxationOnly(self) -> Incomplete: ... - def ptr(self) -> Incomplete: ... - def varMayRound(self, direction: Incomplete = ...) -> Incomplete: ... - def vtype(self) -> Incomplete: ... + 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): ... + def getLbLocal(self, *args, **kwargs): ... + def getLbOriginal(self, *args, **kwargs): ... + def getNBranchings(self, *args, **kwargs): ... + def getNBranchingsCurrentRun(self, *args, **kwargs): ... + def getNLocksDown(self, *args, **kwargs): ... + def getNLocksDownType(self, *args, **kwargs): ... + 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 isRelaxationOnly(self, *args, **kwargs): ... + def markRelaxationOnly(self, *args, **kwargs): ... + def ptr(self, *args, **kwargs): ... + def varMayRound(self, *args, **kwargs): ... + def vtype(self, *args, **kwargs): ... + +class _VarArray: + def __init__(self, *args, **kwargs) -> None: ... From 129eb2f41cd76de2ee911d63866f21f81145de22 Mon Sep 17 00:00:00 2001 From: Joao-Dionisio Date: Wed, 14 Jan 2026 15:57:52 +0000 Subject: [PATCH 07/23] add type annotations to generated stub methods --- scripts/generate_stubs.py | 43 +- src/pyscipopt/scip.pyi | 1558 ++++++++++++++++++------------------- 2 files changed, 801 insertions(+), 800 deletions(-) diff --git a/scripts/generate_stubs.py b/scripts/generate_stubs.py index fc2494fa6..5d9cfb1ad 100755 --- a/scripts/generate_stubs.py +++ b/scripts/generate_stubs.py @@ -79,24 +79,25 @@ class StubGenerator: # Methods with specific type hints (no *args, **kwargs) TYPED_METHODS = { - '__getitem__': 'def __getitem__(self, index): ...', - '__iter__': 'def __iter__(self): ...', - '__next__': 'def __next__(self): ...', - '__add__': 'def __add__(self, other): ...', - '__radd__': 'def __radd__(self, other): ...', - '__sub__': 'def __sub__(self, other): ...', - '__rsub__': 'def __rsub__(self, other): ...', - '__mul__': 'def __mul__(self, other): ...', - '__rmul__': 'def __rmul__(self, other): ...', - '__truediv__': 'def __truediv__(self, other): ...', - '__rtruediv__': 'def __rtruediv__(self, other): ...', - '__pow__': 'def __pow__(self, other): ...', - '__rpow__': 'def __rpow__(self, other): ...', - '__neg__': 'def __neg__(self): ...', - '__abs__': 'def __abs__(self): ...', - '__iadd__': 'def __iadd__(self, other): ...', - '__isub__': 'def __isub__(self, other): ...', - '__imul__': 'def __imul__(self, other): ...', + '__getitem__': 'def __getitem__(self, index: Incomplete) -> Incomplete: ...', + '__iter__': 'def __iter__(self) -> Incomplete: ...', + '__next__': 'def __next__(self) -> Incomplete: ...', + '__add__': 'def __add__(self, other: Incomplete) -> Incomplete: ...', + '__radd__': 'def __radd__(self, other: Incomplete) -> Incomplete: ...', + '__sub__': 'def __sub__(self, other: Incomplete) -> Incomplete: ...', + '__rsub__': 'def __rsub__(self, other: Incomplete) -> Incomplete: ...', + '__mul__': 'def __mul__(self, other: Incomplete) -> Incomplete: ...', + '__rmul__': 'def __rmul__(self, other: Incomplete) -> Incomplete: ...', + '__truediv__': 'def __truediv__(self, other: Incomplete) -> Incomplete: ...', + '__rtruediv__': 'def __rtruediv__(self, other: Incomplete) -> Incomplete: ...', + '__pow__': 'def __pow__(self, other: Incomplete, mod: Incomplete = ...) -> Incomplete: ...', + '__rpow__': 'def __rpow__(self, other: Incomplete) -> Incomplete: ...', + '__neg__': 'def __neg__(self) -> Incomplete: ...', + '__abs__': 'def __abs__(self) -> Incomplete: ...', + '__iadd__': 'def __iadd__(self, other: Incomplete) -> Incomplete: ... # noqa: PYI034', + '__isub__': 'def __isub__(self, other: Incomplete) -> Incomplete: ... # noqa: PYI034', + '__imul__': 'def __imul__(self, other: Incomplete) -> Incomplete: ... # noqa: PYI034', + '__matmul__': 'def __matmul__(self, other: Incomplete) -> Incomplete: ...', } def __init__(self, src_dir: Path): @@ -595,9 +596,9 @@ def _generate_class_stub(self, cls_info: ClassInfo) -> list: for method in sorted(regular_methods): if method in cls_info.static_methods: lines.append(' @staticmethod') - lines.append(f' def {method}(*args, **kwargs): ...') + lines.append(f' def {method}(*args: Incomplete, **kwargs: Incomplete) -> Incomplete: ...') else: - lines.append(f' def {method}(self, *args, **kwargs): ...') + lines.append(f' def {method}(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ...') # Combine special methods and comparison methods, sort alphabetically all_special = [] @@ -607,7 +608,7 @@ def _generate_class_stub(self, cls_info: ClassInfo) -> list: elif method in self.TYPED_METHODS: all_special.append((method, self.TYPED_METHODS[method])) else: - all_special.append((method, f'def {method}(self, *args, **kwargs): ...')) + all_special.append((method, f'def {method}(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ...')) for method in comparison_methods: stub = self.COMPARISON_METHODS[method] diff --git a/src/pyscipopt/scip.pyi b/src/pyscipopt/scip.pyi index 5787a4176..85bb3870b 100644 --- a/src/pyscipopt/scip.pyi +++ b/src/pyscipopt/scip.pyi @@ -36,65 +36,65 @@ class Benders: model: Incomplete name: Incomplete def __init__(self, *args, **kwargs) -> None: ... - def benderscreatesub(self, *args, **kwargs): ... - def bendersexit(self, *args, **kwargs): ... - def bendersexitpre(self, *args, **kwargs): ... - def bendersexitsol(self, *args, **kwargs): ... - def bendersfree(self, *args, **kwargs): ... - def bendersfreesub(self, *args, **kwargs): ... - def bendersgetvar(self, *args, **kwargs): ... - def bendersinit(self, *args, **kwargs): ... - def bendersinitpre(self, *args, **kwargs): ... - def bendersinitsol(self, *args, **kwargs): ... - def benderspostsolve(self, *args, **kwargs): ... - def benderspresubsolve(self, *args, **kwargs): ... - def benderssolvesub(self, *args, **kwargs): ... - def benderssolvesubconvex(self, *args, **kwargs): ... + def benderscreatesub(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def bendersexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def bendersexitpre(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def bendersexitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def bendersfree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def bendersfreesub(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def bendersgetvar(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def bendersinit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def bendersinitpre(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def bendersinitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def benderspostsolve(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def benderspresubsolve(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def benderssolvesub(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def benderssolvesubconvex(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... class Benderscut: benders: Incomplete model: Incomplete name: Incomplete def __init__(self, *args, **kwargs) -> None: ... - def benderscutexec(self, *args, **kwargs): ... - def benderscutexit(self, *args, **kwargs): ... - def benderscutexitsol(self, *args, **kwargs): ... - def benderscutfree(self, *args, **kwargs): ... - def benderscutinit(self, *args, **kwargs): ... - def benderscutinitsol(self, *args, **kwargs): ... + def benderscutexec(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def benderscutexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def benderscutexitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def benderscutfree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def benderscutinit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def benderscutinitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... class BoundChange: def __init__(self, *args, **kwargs) -> None: ... - def getBoundchgtype(self, *args, **kwargs): ... - def getBoundtype(self, *args, **kwargs): ... - def getNewBound(self, *args, **kwargs): ... - def getVar(self, *args, **kwargs): ... - def isRedundant(self, *args, **kwargs): ... + def getBoundchgtype(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getBoundtype(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNewBound(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getVar(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isRedundant(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... class Branchrule: model: Incomplete def __init__(self, *args, **kwargs) -> None: ... - def branchexecext(self, *args, **kwargs): ... - def branchexeclp(self, *args, **kwargs): ... - def branchexecps(self, *args, **kwargs): ... - def branchexit(self, *args, **kwargs): ... - def branchexitsol(self, *args, **kwargs): ... - def branchfree(self, *args, **kwargs): ... - def branchinit(self, *args, **kwargs): ... - def branchinitsol(self, *args, **kwargs): ... + def branchexecext(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def branchexeclp(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def branchexecps(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def branchexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def branchexitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def branchfree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def branchinit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def branchinitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... class Column: data: Incomplete def __init__(self, *args, **kwargs) -> None: ... - def getAge(self, *args, **kwargs): ... - def getBasisStatus(self, *args, **kwargs): ... - def getLPPos(self, *args, **kwargs): ... - def getLb(self, *args, **kwargs): ... - def getObjCoeff(self, *args, **kwargs): ... - def getPrimsol(self, *args, **kwargs): ... - def getUb(self, *args, **kwargs): ... - def getVar(self, *args, **kwargs): ... - def isIntegral(self, *args, **kwargs): ... + def getAge(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getBasisStatus(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getLPPos(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getLb(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getObjCoeff(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getPrimsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getUb(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getVar(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isIntegral(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def __eq__(self, other: object) -> bool: ... def __ge__(self, other: object) -> bool: ... def __gt__(self, other: object) -> bool: ... @@ -111,39 +111,39 @@ class Conshdlr: model: Incomplete name: Incomplete def __init__(self, *args, **kwargs) -> None: ... - def consactive(self, *args, **kwargs): ... - def conscheck(self, *args, **kwargs): ... - def conscopy(self, *args, **kwargs): ... - def consdeactive(self, *args, **kwargs): ... - def consdelete(self, *args, **kwargs): ... - def consdelvars(self, *args, **kwargs): ... - def consdisable(self, *args, **kwargs): ... - def consenable(self, *args, **kwargs): ... - def consenfolp(self, *args, **kwargs): ... - def consenfops(self, *args, **kwargs): ... - def consenforelax(self, *args, **kwargs): ... - def consexit(self, *args, **kwargs): ... - def consexitpre(self, *args, **kwargs): ... - def consexitsol(self, *args, **kwargs): ... - def consfree(self, *args, **kwargs): ... - def consgetdivebdchgs(self, *args, **kwargs): ... - def consgetnvars(self, *args, **kwargs): ... - def consgetpermsymgraph(self, *args, **kwargs): ... - def consgetsignedpermsymgraph(self, *args, **kwargs): ... - def consgetvars(self, *args, **kwargs): ... - def consinit(self, *args, **kwargs): ... - def consinitlp(self, *args, **kwargs): ... - def consinitpre(self, *args, **kwargs): ... - def consinitsol(self, *args, **kwargs): ... - def conslock(self, *args, **kwargs): ... - def consparse(self, *args, **kwargs): ... - def conspresol(self, *args, **kwargs): ... - def consprint(self, *args, **kwargs): ... - def consprop(self, *args, **kwargs): ... - def consresprop(self, *args, **kwargs): ... - def conssepalp(self, *args, **kwargs): ... - def conssepasol(self, *args, **kwargs): ... - def constrans(self, *args, **kwargs): ... + def consactive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def conscheck(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def conscopy(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def consdeactive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def consdelete(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def consdelvars(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def consdisable(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def consenable(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def consenfolp(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def consenfops(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def consenforelax(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def consexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def consexitpre(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def consexitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def consfree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def consgetdivebdchgs(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def consgetnvars(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def consgetpermsymgraph(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def consgetsignedpermsymgraph(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def consgetvars(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def consinit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def consinitlp(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def consinitpre(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def consinitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def conslock(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def consparse(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def conspresol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def consprint(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def consprop(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def consresprop(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def conssepalp(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def conssepasol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def constrans(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... class Constant(GenExpr): number: Incomplete @@ -153,23 +153,23 @@ class Constraint: data: Incomplete name: Incomplete def __init__(self, *args, **kwargs) -> None: ... - def getConshdlrName(self, *args, **kwargs): ... - def isActive(self, *args, **kwargs): ... - def isChecked(self, *args, **kwargs): ... - def isDynamic(self, *args, **kwargs): ... - def isEnforced(self, *args, **kwargs): ... - def isInitial(self, *args, **kwargs): ... - def isKnapsack(self, *args, **kwargs): ... - def isLinear(self, *args, **kwargs): ... - def isLinearType(self, *args, **kwargs): ... - def isLocal(self, *args, **kwargs): ... - def isModifiable(self, *args, **kwargs): ... - def isNonlinear(self, *args, **kwargs): ... - def isOriginal(self, *args, **kwargs): ... - def isPropagated(self, *args, **kwargs): ... - def isRemovable(self, *args, **kwargs): ... - def isSeparated(self, *args, **kwargs): ... - def isStickingAtNode(self, *args, **kwargs): ... + def getConshdlrName(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isActive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isChecked(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isDynamic(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isEnforced(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isInitial(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isKnapsack(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isLinear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isLinearType(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isLocal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isModifiable(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isNonlinear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isOriginal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isPropagated(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isRemovable(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isSeparated(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isStickingAtNode(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def __eq__(self, other: object) -> bool: ... def __ge__(self, other: object) -> bool: ... def __gt__(self, other: object) -> bool: ... @@ -181,29 +181,29 @@ class Constraint: class Cutsel: model: Incomplete def __init__(self, *args, **kwargs) -> None: ... - def cutselexit(self, *args, **kwargs): ... - def cutselexitsol(self, *args, **kwargs): ... - def cutselfree(self, *args, **kwargs): ... - def cutselinit(self, *args, **kwargs): ... - def cutselinitsol(self, *args, **kwargs): ... - def cutselselect(self, *args, **kwargs): ... + def cutselexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def cutselexitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def cutselfree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def cutselinit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def cutselinitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def cutselselect(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... class DomainChanges: def __init__(self, *args, **kwargs) -> None: ... - def getBoundchgs(self, *args, **kwargs): ... + def getBoundchgs(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... class Event: data: Incomplete name: 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): ... - def getOldBound(self, *args, **kwargs): ... - def getRow(self, *args, **kwargs): ... - def getType(self, *args, **kwargs): ... - def getVar(self, *args, **kwargs): ... + def _getEventNames(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getName(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNewBound(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNode(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getOldBound(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getRow(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getType(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getVar(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def __eq__(self, other: object) -> bool: ... def __ge__(self, other: object) -> bool: ... def __gt__(self, other: object) -> bool: ... @@ -216,49 +216,49 @@ class Eventhdlr: model: Incomplete name: Incomplete def __init__(self, *args, **kwargs) -> None: ... - def eventcopy(self, *args, **kwargs): ... - def eventdelete(self, *args, **kwargs): ... - def eventexec(self, *args, **kwargs): ... - def eventexit(self, *args, **kwargs): ... - def eventexitsol(self, *args, **kwargs): ... - def eventfree(self, *args, **kwargs): ... - def eventinit(self, *args, **kwargs): ... - def eventinitsol(self, *args, **kwargs): ... + def eventcopy(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def eventdelete(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def eventexec(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def eventexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def eventexitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def eventfree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def eventinit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def eventinitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... class Expr: terms: Incomplete def __init__(self, *args, **kwargs) -> None: ... - def degree(self, *args, **kwargs): ... - def normalize(self, *args, **kwargs): ... - def __abs__(self): ... - def __add__(self, other): ... + def degree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def normalize(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def __abs__(self) -> Incomplete: ... + def __add__(self, other: Incomplete) -> Incomplete: ... def __eq__(self, other: object) -> bool: ... def __ge__(self, other: object) -> bool: ... - def __getitem__(self, index): ... + def __getitem__(self, index: Incomplete) -> Incomplete: ... def __gt__(self, other: object) -> bool: ... - def __iadd__(self, other): ... - def __iter__(self): ... + def __iadd__(self, other: Incomplete) -> Incomplete: ... # noqa: PYI034 + def __iter__(self) -> Incomplete: ... def __le__(self, other: object) -> bool: ... def __lt__(self, other: object) -> bool: ... - def __mul__(self, other): ... + def __mul__(self, other: Incomplete) -> Incomplete: ... def __ne__(self, other: object) -> bool: ... - def __neg__(self): ... - def __next__(self): ... - def __pow__(self, other): ... - def __radd__(self, other): ... - def __rmul__(self, other): ... - def __rpow__(self, other): ... - def __rsub__(self, other): ... - def __rtruediv__(self, other): ... - def __sub__(self, other): ... - def __truediv__(self, other): ... + def __neg__(self) -> Incomplete: ... + def __next__(self) -> Incomplete: ... + def __pow__(self, other: Incomplete, mod: Incomplete = ...) -> Incomplete: ... + def __radd__(self, other: Incomplete) -> Incomplete: ... + def __rmul__(self, other: Incomplete) -> Incomplete: ... + def __rpow__(self, other: Incomplete) -> Incomplete: ... + def __rsub__(self, other: Incomplete) -> Incomplete: ... + def __rtruediv__(self, other: Incomplete) -> Incomplete: ... + def __sub__(self, other: Incomplete) -> Incomplete: ... + def __truediv__(self, other: Incomplete) -> Incomplete: ... class ExprCons: _lhs: Incomplete _rhs: Incomplete expr: Incomplete def __init__(self, *args, **kwargs) -> None: ... - def normalize(self, *args, **kwargs): ... + def normalize(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def __bool__(self) -> bool: ... def __eq__(self, other: object) -> bool: ... def __ge__(self, other: object) -> bool: ... @@ -271,127 +271,127 @@ class GenExpr: _op: Incomplete children: Incomplete def __init__(self, *args, **kwargs) -> None: ... - def degree(self, *args, **kwargs): ... - def getOp(self, *args, **kwargs): ... - def __abs__(self): ... - def __add__(self, other): ... + def degree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getOp(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def __abs__(self) -> Incomplete: ... + def __add__(self, other: Incomplete) -> Incomplete: ... def __eq__(self, other: object) -> bool: ... def __ge__(self, other: object) -> bool: ... def __gt__(self, other: object) -> bool: ... def __le__(self, other: object) -> bool: ... def __lt__(self, other: object) -> bool: ... - def __mul__(self, other): ... + def __mul__(self, other: Incomplete) -> Incomplete: ... def __ne__(self, other: object) -> bool: ... - def __neg__(self): ... - def __pow__(self, other): ... - def __radd__(self, other): ... - def __rmul__(self, other): ... - def __rpow__(self, other): ... - def __rsub__(self, other): ... - def __rtruediv__(self, other): ... - def __sub__(self, other): ... - def __truediv__(self, other): ... + def __neg__(self) -> Incomplete: ... + def __pow__(self, other: Incomplete, mod: Incomplete = ...) -> Incomplete: ... + def __radd__(self, other: Incomplete) -> Incomplete: ... + def __rmul__(self, other: Incomplete) -> Incomplete: ... + def __rpow__(self, other: Incomplete) -> Incomplete: ... + def __rsub__(self, other: Incomplete) -> Incomplete: ... + def __rtruediv__(self, other: Incomplete) -> Incomplete: ... + def __sub__(self, other: Incomplete) -> Incomplete: ... + def __truediv__(self, other: Incomplete) -> Incomplete: ... class Heur: model: Incomplete name: Incomplete def __init__(self, *args, **kwargs) -> None: ... - def heurexec(self, *args, **kwargs): ... - def heurexit(self, *args, **kwargs): ... - def heurexitsol(self, *args, **kwargs): ... - def heurfree(self, *args, **kwargs): ... - def heurinit(self, *args, **kwargs): ... - def heurinitsol(self, *args, **kwargs): ... + def heurexec(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def heurexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def heurexitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def heurfree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def heurinit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def heurinitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... 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): ... + def getNNodes(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getSubscip(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getTime(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def greedyMakeIrreducible(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isSubscipInfeasible(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isSubscipIrreducible(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def setSubscipInfeasible(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def setSubscipIrreducible(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... class IISfinder: iis: Incomplete def __init__(self, *args, **kwargs) -> None: ... - def iisfinderexec(self, *args, **kwargs): ... - def iisfinderfree(self, *args, **kwargs): ... + def iisfinderexec(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def iisfinderfree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... class LP: name: Incomplete def __init__(self, *args, **kwargs) -> None: ... - def addCol(self, *args, **kwargs): ... - def addCols(self, *args, **kwargs): ... - def addRow(self, *args, **kwargs): ... - def addRows(self, *args, **kwargs): ... - def chgBound(self, *args, **kwargs): ... - def chgCoef(self, *args, **kwargs): ... - def chgObj(self, *args, **kwargs): ... - def chgSide(self, *args, **kwargs): ... - def clear(self, *args, **kwargs): ... - def delCols(self, *args, **kwargs): ... - def delRows(self, *args, **kwargs): ... - def getActivity(self, *args, **kwargs): ... - def getBasisInds(self, *args, **kwargs): ... - def getBounds(self, *args, **kwargs): ... - def getDual(self, *args, **kwargs): ... - def getDualRay(self, *args, **kwargs): ... - def getIntParam(self, *args, **kwargs): ... - def getNIterations(self, *args, **kwargs): ... - def getObjVal(self, *args, **kwargs): ... - def getPrimal(self, *args, **kwargs): ... - def getPrimalRay(self, *args, **kwargs): ... - def getRealParam(self, *args, **kwargs): ... - def getRedcost(self, *args, **kwargs): ... - def getSides(self, *args, **kwargs): ... - def infinity(self, *args, **kwargs): ... - def isDualFeasible(self, *args, **kwargs): ... - def isInfinity(self, *args, **kwargs): ... - def isOptimal(self, *args, **kwargs): ... - def isPrimalFeasible(self, *args, **kwargs): ... - def ncols(self, *args, **kwargs): ... - def nrows(self, *args, **kwargs): ... - def readLP(self, *args, **kwargs): ... - def setIntParam(self, *args, **kwargs): ... - def setRealParam(self, *args, **kwargs): ... - def solve(self, *args, **kwargs): ... - def writeLP(self, *args, **kwargs): ... + def addCol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addCols(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addRow(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addRows(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def chgBound(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def chgCoef(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def chgObj(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def chgSide(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def clear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def delCols(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def delRows(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getActivity(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getBasisInds(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getBounds(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getDual(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getDualRay(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getIntParam(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNIterations(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getObjVal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getPrimal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getPrimalRay(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getRealParam(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getRedcost(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getSides(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def infinity(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isDualFeasible(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isInfinity(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isOptimal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isPrimalFeasible(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def ncols(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def nrows(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def readLP(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def setIntParam(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def setRealParam(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def solve(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def writeLP(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... class MatrixConstraint(numpy.ndarray): - def getConshdlrName(self, *args, **kwargs): ... - def isActive(self, *args, **kwargs): ... - def isChecked(self, *args, **kwargs): ... - def isDynamic(self, *args, **kwargs): ... - def isEnforced(self, *args, **kwargs): ... - def isInitial(self, *args, **kwargs): ... - def isLinear(self, *args, **kwargs): ... - def isLocal(self, *args, **kwargs): ... - def isModifiable(self, *args, **kwargs): ... - def isNonlinear(self, *args, **kwargs): ... - def isPropagated(self, *args, **kwargs): ... - def isRemovable(self, *args, **kwargs): ... - def isSeparated(self, *args, **kwargs): ... - def isStickingAtNode(self, *args, **kwargs): ... + def getConshdlrName(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isActive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isChecked(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isDynamic(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isEnforced(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isInitial(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isLinear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isLocal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isModifiable(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isNonlinear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isPropagated(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isRemovable(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isSeparated(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isStickingAtNode(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... class MatrixExpr(numpy.ndarray): - def sum(self, *args, **kwargs): ... - def __add__(self, other): ... + def sum(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def __add__(self, other: Incomplete) -> Incomplete: ... def __eq__(self, other: object) -> bool: ... def __ge__(self, other: object) -> bool: ... # type: ignore[override] - def __iadd__(self, other): ... + def __iadd__(self, other: Incomplete) -> Incomplete: ... # noqa: PYI034 def __le__(self, other: object) -> bool: ... # type: ignore[override] - def __matmul__(self, *args, **kwargs): ... - def __mul__(self, other): ... - def __pow__(self, other): ... - def __radd__(self, other): ... - def __rmul__(self, other): ... - def __rsub__(self, other): ... - def __rtruediv__(self, other): ... - def __sub__(self, other): ... - def __truediv__(self, other): ... + def __matmul__(self, other: Incomplete) -> Incomplete: ... + def __mul__(self, other: Incomplete) -> Incomplete: ... + def __pow__(self, other: Incomplete, mod: Incomplete = ...) -> Incomplete: ... + def __radd__(self, other: Incomplete) -> Incomplete: ... + def __rmul__(self, other: Incomplete) -> Incomplete: ... + def __rsub__(self, other: Incomplete) -> Incomplete: ... + def __rtruediv__(self, other: Incomplete) -> Incomplete: ... + def __sub__(self, other: Incomplete) -> Incomplete: ... + def __truediv__(self, other: Incomplete) -> Incomplete: ... class MatrixExprCons(numpy.ndarray): def __eq__(self, other: object) -> bool: ... @@ -402,440 +402,440 @@ class MatrixGenExpr(MatrixExpr): ... class MatrixVariable(MatrixExpr): - def getAvgSol(self, *args, **kwargs): ... - def getCol(self, *args, **kwargs): ... - def getIndex(self, *args, **kwargs): ... - def getLPSol(self, *args, **kwargs): ... - def getLbGlobal(self, *args, **kwargs): ... - def getLbLocal(self, *args, **kwargs): ... - def getLbOriginal(self, *args, **kwargs): ... - def getObj(self, *args, **kwargs): ... - def getUbGlobal(self, *args, **kwargs): ... - def getUbLocal(self, *args, **kwargs): ... - def getUbOriginal(self, *args, **kwargs): ... - def isInLP(self, *args, **kwargs): ... - def varMayRound(self, *args, **kwargs): ... - def vtype(self, *args, **kwargs): ... + def getAvgSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getCol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getIndex(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getLPSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getLbGlobal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getLbLocal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getLbOriginal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getObj(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getUbGlobal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getUbLocal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getUbOriginal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isInLP(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def varMayRound(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def vtype(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... 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): ... - def addCoefLinear(self, *args, **kwargs): ... - def addCons(self, *args, **kwargs): ... - def addConsAnd(self, *args, **kwargs): ... - def addConsCardinality(self, *args, **kwargs): ... - def addConsCoeff(self, *args, **kwargs): ... - def addConsDisjunction(self, *args, **kwargs): ... - def addConsElemDisjunction(self, *args, **kwargs): ... - def addConsIndicator(self, *args, **kwargs): ... - def addConsKnapsack(self, *args, **kwargs): ... - def addConsLocal(self, *args, **kwargs): ... - def addConsNode(self, *args, **kwargs): ... - def addConsOr(self, *args, **kwargs): ... - def addConsSOS1(self, *args, **kwargs): ... - def addConsSOS2(self, *args, **kwargs): ... - def addConsXor(self, *args, **kwargs): ... - def addConss(self, *args, **kwargs): ... - def addCut(self, *args, **kwargs): ... - def addExprNonlinear(self, *args, **kwargs): ... - def addMatrixCons(self, *args, **kwargs): ... - def addMatrixConsIndicator(self, *args, **kwargs): ... - def addMatrixVar(self, *args, **kwargs): ... - def addObjoffset(self, *args, **kwargs): ... - 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): ... - def addVarLocksType(self, *args, **kwargs): ... - def addVarSOS1(self, *args, **kwargs): ... - 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): ... - def calcChildEstimate(self, *args, **kwargs): ... - def calcNodeselPriority(self, *args, **kwargs): ... - def catchEvent(self, *args, **kwargs): ... - def catchRowEvent(self, *args, **kwargs): ... - def catchVarEvent(self, *args, **kwargs): ... - def checkBendersSubproblemOptimality(self, *args, **kwargs): ... - def checkQuadraticNonlinear(self, *args, **kwargs): ... - def checkSol(self, *args, **kwargs): ... - def chgCapacityKnapsack(self, *args, **kwargs): ... - def chgCoefLinear(self, *args, **kwargs): ... - def chgLhs(self, *args, **kwargs): ... - def chgReoptObjective(self, *args, **kwargs): ... - def chgRhs(self, *args, **kwargs): ... - def chgRowLhsDive(self, *args, **kwargs): ... - def chgRowRhsDive(self, *args, **kwargs): ... - def chgVarBranchPriority(self, *args, **kwargs): ... - def chgVarLb(self, *args, **kwargs): ... - def chgVarLbDive(self, *args, **kwargs): ... - def chgVarLbGlobal(self, *args, **kwargs): ... - def chgVarLbNode(self, *args, **kwargs): ... - def chgVarLbProbing(self, *args, **kwargs): ... - def chgVarObjDive(self, *args, **kwargs): ... - def chgVarObjProbing(self, *args, **kwargs): ... - def chgVarType(self, *args, **kwargs): ... - def chgVarUb(self, *args, **kwargs): ... - def chgVarUbDive(self, *args, **kwargs): ... - def chgVarUbGlobal(self, *args, **kwargs): ... - def chgVarUbNode(self, *args, **kwargs): ... - def chgVarUbProbing(self, *args, **kwargs): ... - def computeBestSolSubproblems(self, *args, **kwargs): ... - def constructLP(self, *args, **kwargs): ... - def copyLargeNeighborhoodSearch(self, *args, **kwargs): ... - def count(self, *args, **kwargs): ... - def createChild(self, *args, **kwargs): ... - def createCons(self, *args, **kwargs): ... - def createConsFromExpr(self, *args, **kwargs): ... - def createEmptyRowSepa(self, *args, **kwargs): ... - def createEmptyRowUnspec(self, *args, **kwargs): ... - def createOrigSol(self, *args, **kwargs): ... - def createPartialSol(self, *args, **kwargs): ... - def createProbBasic(self, *args, **kwargs): ... - def createSol(self, *args, **kwargs): ... - def cutoffNode(self, *args, **kwargs): ... - def deactivatePricer(self, *args, **kwargs): ... - def delCoefLinear(self, *args, **kwargs): ... - def delCons(self, *args, **kwargs): ... - def delConsLocal(self, *args, **kwargs): ... - def delVar(self, *args, **kwargs): ... - def disableDebugSol(self, *args, **kwargs): ... - def disablePropagation(self, *args, **kwargs): ... - def dropEvent(self, *args, **kwargs): ... - 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): ... - def endStrongbranch(self, *args, **kwargs): ... - def epsilon(self, *args, **kwargs): ... - def feasCeil(self, *args, **kwargs): ... - def feasFloor(self, *args, **kwargs): ... - def feasFrac(self, *args, **kwargs): ... - def feasRound(self, *args, **kwargs): ... - def feastol(self, *args, **kwargs): ... - def fixVar(self, *args, **kwargs): ... - def fixVarProbing(self, *args, **kwargs): ... - def flushRowExtensions(self, *args, **kwargs): ... - def frac(self, *args, **kwargs): ... - def freeBendersSubproblems(self, *args, **kwargs): ... - def freeProb(self, *args, **kwargs): ... - def freeReoptSolve(self, *args, **kwargs): ... - def freeSol(self, *args, **kwargs): ... - def freeTransform(self, *args, **kwargs): ... + def _createConsGenNonlinear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def _createConsLinear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def _createConsNonlinear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def _createConsQuadratic(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def _getStageNames(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def activateBenders(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addBendersSubproblem(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addCoefKnapsack(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addCoefLinear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addCons(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addConsAnd(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addConsCardinality(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addConsCoeff(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addConsDisjunction(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addConsElemDisjunction(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addConsIndicator(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addConsKnapsack(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addConsLocal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addConsNode(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addConsOr(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addConsSOS1(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addConsSOS2(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addConsXor(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addConss(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addCut(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addExprNonlinear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addMatrixCons(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addMatrixConsIndicator(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addMatrixVar(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addObjoffset(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addPoolCut(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addPyCons(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addRowDive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addRowExact(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addVar(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addVarLocks(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addVarLocksType(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addVarSOS1(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addVarSOS2(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def addVarToRow(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def allColsInLP(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def allowNegSlackExact(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def appendVarSOS1(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def appendVarSOS2(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def applyCutsProbing(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def attachEventHandlerCallback(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def backtrackProbing(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def branchLPExact(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def branchVar(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def branchVarVal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def cacheRowExtensions(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def calcChildEstimate(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def calcNodeselPriority(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def catchEvent(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def catchRowEvent(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def catchVarEvent(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def checkBendersSubproblemOptimality(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def checkQuadraticNonlinear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def checkSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def chgCapacityKnapsack(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def chgCoefLinear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def chgLhs(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def chgReoptObjective(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def chgRhs(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def chgRowLhsDive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def chgRowRhsDive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def chgVarBranchPriority(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def chgVarLb(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def chgVarLbDive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def chgVarLbGlobal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def chgVarLbNode(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def chgVarLbProbing(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def chgVarObjDive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def chgVarObjProbing(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def chgVarType(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def chgVarUb(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def chgVarUbDive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def chgVarUbGlobal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def chgVarUbNode(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def chgVarUbProbing(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def computeBestSolSubproblems(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def constructLP(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def copyLargeNeighborhoodSearch(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def count(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def createChild(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def createCons(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def createConsFromExpr(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def createEmptyRowSepa(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def createEmptyRowUnspec(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def createOrigSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def createPartialSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def createProbBasic(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def createSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def cutoffNode(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def deactivatePricer(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def delCoefLinear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def delCons(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def delConsLocal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def delVar(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def disableDebugSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def disablePropagation(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def dropEvent(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def dropRowEvent(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def dropVarEvent(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def enableDebugSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def enableExactSolving(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def enableReoptimization(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def endDive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def endProbing(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def endStrongbranch(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def epsilon(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def feasCeil(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def feasFloor(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def feasFrac(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def feasRound(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def feastol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def fixVar(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def fixVarProbing(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def flushRowExtensions(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def frac(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def freeBendersSubproblems(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def freeProb(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def freeReoptSolve(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def freeSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def freeTransform(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... @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): ... - def getBendersVar(self, *args, **kwargs): ... - def getBestChild(self, *args, **kwargs): ... - def getBestLeaf(self, *args, **kwargs): ... - def getBestNode(self, *args, **kwargs): ... - def getBestSibling(self, *args, **kwargs): ... - def getBestSol(self, *args, **kwargs): ... - def getBestboundNode(self, *args, **kwargs): ... - def getBipartiteGraphRepresentation(self, *args, **kwargs): ... - def getBranchScoreMultiple(self, *args, **kwargs): ... - def getCapacityKnapsack(self, *args, **kwargs): ... - def getChildren(self, *args, **kwargs): ... - def getColRedCost(self, *args, **kwargs): ... - def getCondition(self, *args, **kwargs): ... - def getConsNVars(self, *args, **kwargs): ... - def getConsVals(self, *args, **kwargs): ... - def getConsVars(self, *args, **kwargs): ... - def getConss(self, *args, **kwargs): ... - def getCurrentNode(self, *args, **kwargs): ... - def getCutEfficacy(self, *args, **kwargs): ... - def getCutLPSolCutoffDistance(self, *args, **kwargs): ... - def getCutoffbound(self, *args, **kwargs): ... - def getDepth(self, *args, **kwargs): ... - def getDualMultiplier(self, *args, **kwargs): ... - def getDualSolVal(self, *args, **kwargs): ... - def getDualbound(self, *args, **kwargs): ... - def getDualboundRoot(self, *args, **kwargs): ... - def getDualfarkasKnapsack(self, *args, **kwargs): ... - def getDualfarkasLinear(self, *args, **kwargs): ... - def getDualsolKnapsack(self, *args, **kwargs): ... - 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): ... - def getLPBranchCands(self, *args, **kwargs): ... - def getLPColsData(self, *args, **kwargs): ... - def getLPObjVal(self, *args, **kwargs): ... - def getLPRowsData(self, *args, **kwargs): ... - def getLPSolstat(self, *args, **kwargs): ... - def getLeaves(self, *args, **kwargs): ... - def getLhs(self, *args, **kwargs): ... - def getLinearConsIndicator(self, *args, **kwargs): ... - def getLocalEstimate(self, *args, **kwargs): ... - def getLowerbound(self, *args, **kwargs): ... - def getMajorVersion(self, *args, **kwargs): ... - def getMaxDepth(self, *args, **kwargs): ... - def getMinorVersion(self, *args, **kwargs): ... - def getNBestSolsFound(self, *args, **kwargs): ... - def getNBinVars(self, *args, **kwargs): ... - def getNChildren(self, *args, **kwargs): ... - def getNConss(self, *args, **kwargs): ... - def getNContVars(self, *args, **kwargs): ... - def getNCountedSols(self, *args, **kwargs): ... - def getNCuts(self, *args, **kwargs): ... - def getNCutsApplied(self, *args, **kwargs): ... - def getNFeasibleLeaves(self, *args, **kwargs): ... - def getNImplVars(self, *args, **kwargs): ... - def getNInfeasibleLeaves(self, *args, **kwargs): ... - def getNIntVars(self, *args, **kwargs): ... - def getNLPBranchCands(self, *args, **kwargs): ... - def getNLPCols(self, *args, **kwargs): ... - def getNLPIterations(self, *args, **kwargs): ... - def getNLPRows(self, *args, **kwargs): ... - def getNLPs(self, *args, **kwargs): ... - def getNLeaves(self, *args, **kwargs): ... - def getNLimSolsFound(self, *args, **kwargs): ... - def getNNlRows(self, *args, **kwargs): ... - def getNNodeLPIterations(self, *args, **kwargs): ... - def getNNodes(self, *args, **kwargs): ... - def getNReaders(self, *args, **kwargs): ... - def getNSepaRounds(self, *args, **kwargs): ... - def getNSiblings(self, *args, **kwargs): ... - def getNSols(self, *args, **kwargs): ... - def getNSolsFound(self, *args, **kwargs): ... - def getNStrongbranchLPIterations(self, *args, **kwargs): ... - def getNTotalNodes(self, *args, **kwargs): ... - def getNVars(self, *args, **kwargs): ... - def getNVarsAnd(self, *args, **kwargs): ... - def getNlRowActivityBounds(self, *args, **kwargs): ... - def getNlRowSolActivity(self, *args, **kwargs): ... - def getNlRowSolFeasibility(self, *args, **kwargs): ... - def getNlRows(self, *args, **kwargs): ... - def getObjVal(self, *args, **kwargs): ... - def getObjective(self, *args, **kwargs): ... - def getObjectiveSense(self, *args, **kwargs): ... - def getObjlimit(self, *args, **kwargs): ... - def getObjoffset(self, *args, **kwargs): ... - def getOpenNodes(self, *args, **kwargs): ... - def getParam(self, *args, **kwargs): ... - def getParams(self, *args, **kwargs): ... - def getPlungeDepth(self, *args, **kwargs): ... - def getPresolvingTime(self, *args, **kwargs): ... - def getPrimalRay(self, *args, **kwargs): ... - def getPrimalRayVal(self, *args, **kwargs): ... - def getPrimalbound(self, *args, **kwargs): ... - def getPrioChild(self, *args, **kwargs): ... - def getPrioSibling(self, *args, **kwargs): ... - def getProbName(self, *args, **kwargs): ... - def getProbingDepth(self, *args, **kwargs): ... - def getPseudoBranchCands(self, *args, **kwargs): ... - def getReadingTime(self, *args, **kwargs): ... - def getResultantAnd(self, *args, **kwargs): ... - def getRhs(self, *args, **kwargs): ... - def getRowActivity(self, *args, **kwargs): ... - def getRowDualSol(self, *args, **kwargs): ... - def getRowLPActivity(self, *args, **kwargs): ... - def getRowLinear(self, *args, **kwargs): ... - def getRowNumIntCols(self, *args, **kwargs): ... - def getRowObjParallelism(self, *args, **kwargs): ... - def getRowParallelism(self, *args, **kwargs): ... - def getSiblings(self, *args, **kwargs): ... - def getSlack(self, *args, **kwargs): ... - def getSlackVarIndicator(self, *args, **kwargs): ... - def getSolObjVal(self, *args, **kwargs): ... - def getSolTime(self, *args, **kwargs): ... - def getSolVal(self, *args, **kwargs): ... - def getSols(self, *args, **kwargs): ... - def getSolvingTime(self, *args, **kwargs): ... - def getStage(self, *args, **kwargs): ... - def getStageName(self, *args, **kwargs): ... - def getStatus(self, *args, **kwargs): ... - def getTechVersion(self, *args, **kwargs): ... - def getTermsQuadratic(self, *args, **kwargs): ... - def getTotalTime(self, *args, **kwargs): ... - def getTransformedCons(self, *args, **kwargs): ... - def getTransformedVar(self, *args, **kwargs): ... - def getTreesizeEstimation(self, *args, **kwargs): ... - def getVal(self, *args, **kwargs): ... - def getValsLinear(self, *args, **kwargs): ... - def getVarDict(self, *args, **kwargs): ... - def getVarLbDive(self, *args, **kwargs): ... - def getVarPseudocost(self, *args, **kwargs): ... - def getVarPseudocostScore(self, *args, **kwargs): ... - def getVarRedcost(self, *args, **kwargs): ... - def getVarStrongbranch(self, *args, **kwargs): ... - def getVarStrongbranchLast(self, *args, **kwargs): ... - def getVarStrongbranchNode(self, *args, **kwargs): ... - def getVarUbDive(self, *args, **kwargs): ... - def getVars(self, *args, **kwargs): ... - def getVarsAnd(self, *args, **kwargs): ... - def getWeightsKnapsack(self, *args, **kwargs): ... - def hasPrimalRay(self, *args, **kwargs): ... - def hideOutput(self, *args, **kwargs): ... - def inProbing(self, *args, **kwargs): ... - def inRepropagation(self, *args, **kwargs): ... - def includeBenders(self, *args, **kwargs): ... - def includeBendersDefaultCuts(self, *args, **kwargs): ... - def includeBenderscut(self, *args, **kwargs): ... - def includeBranchrule(self, *args, **kwargs): ... - def includeConshdlr(self, *args, **kwargs): ... - def includeCutsel(self, *args, **kwargs): ... - 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): ... - def includeProp(self, *args, **kwargs): ... - def includeReader(self, *args, **kwargs): ... - def includeRelax(self, *args, **kwargs): ... - def includeSepa(self, *args, **kwargs): ... - def infinity(self, *args, **kwargs): ... - def initBendersDefault(self, *args, **kwargs): ... - def interruptSolve(self, *args, **kwargs): ... - 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): ... - def isFeasIntegral(self, *args, **kwargs): ... - def isFeasLE(self, *args, **kwargs): ... - def isFeasLT(self, *args, **kwargs): ... - def isFeasNegative(self, *args, **kwargs): ... - def isFeasPositive(self, *args, **kwargs): ... - def isFeasZero(self, *args, **kwargs): ... - def isGE(self, *args, **kwargs): ... - def isGT(self, *args, **kwargs): ... - def isHugeValue(self, *args, **kwargs): ... - def isInfinity(self, *args, **kwargs): ... - def isLE(self, *args, **kwargs): ... - def isLPSolBasic(self, *args, **kwargs): ... - def isLT(self, *args, **kwargs): ... - def isNLPConstructed(self, *args, **kwargs): ... - def isNegative(self, *args, **kwargs): ... - def isObjChangedProbing(self, *args, **kwargs): ... - def isObjIntegral(self, *args, **kwargs): ... - 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): ... - def presolve(self, *args, **kwargs): ... - def printBestSol(self, *args, **kwargs): ... - def printCons(self, *args, **kwargs): ... - def printExternalCodeVersions(self, *args, **kwargs): ... - def printNlRow(self, *args, **kwargs): ... - def printProblem(self, *args, **kwargs): ... - 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): ... - def readProblem(self, *args, **kwargs): ... - def readSol(self, *args, **kwargs): ... - def readSolFile(self, *args, **kwargs): ... - def redirectOutput(self, *args, **kwargs): ... - def relax(self, *args, **kwargs): ... - def releaseRow(self, *args, **kwargs): ... - def repropagateNode(self, *args, **kwargs): ... - def resetParam(self, *args, **kwargs): ... - def resetParams(self, *args, **kwargs): ... - def restartSolve(self, *args, **kwargs): ... - def separateSol(self, *args, **kwargs): ... - def setBendersSubproblemIsConvex(self, *args, **kwargs): ... - def setBoolParam(self, *args, **kwargs): ... - def setCharParam(self, *args, **kwargs): ... - def setCheck(self, *args, **kwargs): ... - def setEmphasis(self, *args, **kwargs): ... - def setEnforced(self, *args, **kwargs): ... - def setHeurTiming(self, *args, **kwargs): ... - def setHeuristics(self, *args, **kwargs): ... - def setInitial(self, *args, **kwargs): ... - def setIntParam(self, *args, **kwargs): ... - def setLogfile(self, *args, **kwargs): ... - def setLongintParam(self, *args, **kwargs): ... - def setMaximize(self, *args, **kwargs): ... - def setMinimize(self, *args, **kwargs): ... - def setModifiable(self, *args, **kwargs): ... - def setObjIntegral(self, *args, **kwargs): ... - def setObjective(self, *args, **kwargs): ... - def setObjlimit(self, *args, **kwargs): ... - def setParam(self, *args, **kwargs): ... - def setParams(self, *args, **kwargs): ... - def setParamsCountsols(self, *args, **kwargs): ... - def setPresolve(self, *args, **kwargs): ... - def setProbName(self, *args, **kwargs): ... - def setRealParam(self, *args, **kwargs): ... - def setRelaxSolVal(self, *args, **kwargs): ... - def setRemovable(self, *args, **kwargs): ... - def setSeparating(self, *args, **kwargs): ... - def setSolVal(self, *args, **kwargs): ... - def setStringParam(self, *args, **kwargs): ... - def setupBendersSubproblem(self, *args, **kwargs): ... - def solveBendersSubproblem(self, *args, **kwargs): ... - def solveConcurrent(self, *args, **kwargs): ... - def solveDiveLP(self, *args, **kwargs): ... - def solveProbingLP(self, *args, **kwargs): ... - def sortAndCons(self, *args, **kwargs): ... - def startDive(self, *args, **kwargs): ... - def startProbing(self, *args, **kwargs): ... - def startStrongbranch(self, *args, **kwargs): ... - def tightenVarLb(self, *args, **kwargs): ... - def tightenVarLbGlobal(self, *args, **kwargs): ... - def tightenVarUb(self, *args, **kwargs): ... - def tightenVarUbGlobal(self, *args, **kwargs): ... - def to_ptr(self, *args, **kwargs): ... - def translateSubSol(self, *args, **kwargs): ... - def trySol(self, *args, **kwargs): ... - def updateBendersLowerbounds(self, *args, **kwargs): ... - def updateNodeLowerbound(self, *args, **kwargs): ... - def updateVarPseudocost(self, *args, **kwargs): ... - def version(self, *args, **kwargs): ... - def writeBestSol(self, *args, **kwargs): ... - def writeBestTransSol(self, *args, **kwargs): ... - def writeLP(self, *args, **kwargs): ... - def writeMIP(self, *args, **kwargs): ... - def writeName(self, *args, **kwargs): ... - def writeParams(self, *args, **kwargs): ... - 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 from_ptr(*args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def generateIIS(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getActivity(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getBendersAuxiliaryVar(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getBendersSubproblem(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getBendersVar(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getBestChild(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getBestLeaf(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getBestNode(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getBestSibling(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getBestSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getBestboundNode(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getBipartiteGraphRepresentation(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getBranchScoreMultiple(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getCapacityKnapsack(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getChildren(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getColRedCost(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getCondition(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getConsNVars(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getConsVals(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getConsVars(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getConss(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getCurrentNode(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getCutEfficacy(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getCutLPSolCutoffDistance(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getCutoffbound(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getDepth(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getDualMultiplier(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getDualSolVal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getDualbound(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getDualboundRoot(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getDualfarkasKnapsack(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getDualfarkasLinear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getDualsolKnapsack(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getDualsolLinear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getGap(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getHeurTiming(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getIIS(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getLPBInvARow(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getLPBInvRow(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getLPBasisInd(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getLPBranchCands(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getLPColsData(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getLPObjVal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getLPRowsData(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getLPSolstat(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getLeaves(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getLhs(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getLinearConsIndicator(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getLocalEstimate(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getLowerbound(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getMajorVersion(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getMaxDepth(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getMinorVersion(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNBestSolsFound(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNBinVars(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNChildren(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNConss(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNContVars(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNCountedSols(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNCuts(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNCutsApplied(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNFeasibleLeaves(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNImplVars(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNInfeasibleLeaves(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNIntVars(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNLPBranchCands(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNLPCols(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNLPIterations(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNLPRows(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNLPs(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNLeaves(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNLimSolsFound(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNNlRows(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNNodeLPIterations(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNNodes(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNReaders(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNSepaRounds(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNSiblings(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNSols(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNSolsFound(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNStrongbranchLPIterations(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNTotalNodes(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNVars(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNVarsAnd(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNlRowActivityBounds(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNlRowSolActivity(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNlRowSolFeasibility(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNlRows(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getObjVal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getObjective(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getObjectiveSense(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getObjlimit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getObjoffset(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getOpenNodes(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getParam(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getParams(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getPlungeDepth(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getPresolvingTime(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getPrimalRay(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getPrimalRayVal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getPrimalbound(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getPrioChild(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getPrioSibling(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getProbName(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getProbingDepth(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getPseudoBranchCands(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getReadingTime(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getResultantAnd(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getRhs(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getRowActivity(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getRowDualSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getRowLPActivity(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getRowLinear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getRowNumIntCols(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getRowObjParallelism(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getRowParallelism(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getSiblings(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getSlack(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getSlackVarIndicator(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getSolObjVal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getSolTime(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getSolVal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getSols(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getSolvingTime(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getStage(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getStageName(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getStatus(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getTechVersion(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getTermsQuadratic(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getTotalTime(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getTransformedCons(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getTransformedVar(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getTreesizeEstimation(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getVal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getValsLinear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getVarDict(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getVarLbDive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getVarPseudocost(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getVarPseudocostScore(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getVarRedcost(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getVarStrongbranch(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getVarStrongbranchLast(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getVarStrongbranchNode(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getVarUbDive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getVars(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getVarsAnd(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getWeightsKnapsack(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def hasPrimalRay(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def hideOutput(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def inProbing(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def inRepropagation(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def includeBenders(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def includeBendersDefaultCuts(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def includeBenderscut(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def includeBranchrule(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def includeConshdlr(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def includeCutsel(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def includeDefaultPlugins(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def includeEventhdlr(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def includeHeur(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def includeIISfinder(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def includeNodesel(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def includePresol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def includePricer(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def includeProp(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def includeReader(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def includeRelax(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def includeSepa(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def infinity(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def initBendersDefault(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def interruptSolve(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isAndConsSorted(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isCutEfficacious(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isEQ(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isExact(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isFeasEQ(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isFeasGE(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isFeasGT(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isFeasIntegral(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isFeasLE(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isFeasLT(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isFeasNegative(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isFeasPositive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isFeasZero(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isGE(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isGT(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isHugeValue(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isInfinity(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isLE(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isLPSolBasic(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isLT(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isNLPConstructed(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isNegative(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isObjChangedProbing(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isObjIntegral(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isPositive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isZero(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def lpiGetIterations(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def markDoNotAggrVar(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def markDoNotMultaggrVar(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def newProbingNode(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def optimize(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def optimizeNogil(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def presolve(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def printBestSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def printCons(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def printExternalCodeVersions(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def printNlRow(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def printProblem(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def printRow(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def printSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def printStatistics(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def printStatisticsJson(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def printVersion(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def propagateProbing(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def readParams(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def readProblem(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def readSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def readSolFile(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def redirectOutput(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def relax(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def releaseRow(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def repropagateNode(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def resetParam(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def resetParams(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def restartSolve(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def separateSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def setBendersSubproblemIsConvex(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def setBoolParam(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def setCharParam(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def setCheck(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def setEmphasis(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def setEnforced(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def setHeurTiming(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def setHeuristics(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def setInitial(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def setIntParam(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def setLogfile(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def setLongintParam(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def setMaximize(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def setMinimize(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def setModifiable(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def setObjIntegral(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def setObjective(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def setObjlimit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def setParam(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def setParams(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def setParamsCountsols(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def setPresolve(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def setProbName(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def setRealParam(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def setRelaxSolVal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def setRemovable(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def setSeparating(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def setSolVal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def setStringParam(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def setupBendersSubproblem(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def solveBendersSubproblem(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def solveConcurrent(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def solveDiveLP(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def solveProbingLP(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def sortAndCons(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def startDive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def startProbing(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def startStrongbranch(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def tightenVarLb(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def tightenVarLbGlobal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def tightenVarUb(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def tightenVarUbGlobal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def to_ptr(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def translateSubSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def trySol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def updateBendersLowerbounds(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def updateNodeLowerbound(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def updateVarPseudocost(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def version(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def writeBestSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def writeBestTransSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def writeLP(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def writeMIP(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def writeName(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def writeParams(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def writeProblem(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def writeSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def writeStatistics(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def writeStatisticsJson(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def writeTransSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def __eq__(self, other: object) -> bool: ... def __ge__(self, other: object) -> bool: ... def __gt__(self, other: object) -> bool: ... @@ -848,11 +848,11 @@ class NLRow: data: Incomplete name: Incomplete def __init__(self, *args, **kwargs) -> None: ... - def getConstant(self, *args, **kwargs): ... - def getDualsol(self, *args, **kwargs): ... - def getLhs(self, *args, **kwargs): ... - def getLinearTerms(self, *args, **kwargs): ... - def getRhs(self, *args, **kwargs): ... + def getConstant(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getDualsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getLhs(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getLinearTerms(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getRhs(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def __eq__(self, other: object) -> bool: ... def __ge__(self, other: object) -> bool: ... def __gt__(self, other: object) -> bool: ... @@ -864,20 +864,20 @@ class NLRow: class Node: data: Incomplete def __init__(self, *args, **kwargs) -> None: ... - def getAddedConss(self, *args, **kwargs): ... - def getDepth(self, *args, **kwargs): ... - def getDomchg(self, *args, **kwargs): ... - def getEstimate(self, *args, **kwargs): ... - def getLowerbound(self, *args, **kwargs): ... - def getNAddedConss(self, *args, **kwargs): ... - def getNDomchg(self, *args, **kwargs): ... - def getNParentBranchings(self, *args, **kwargs): ... - def getNumber(self, *args, **kwargs): ... - def getParent(self, *args, **kwargs): ... - def getParentBranchings(self, *args, **kwargs): ... - def getType(self, *args, **kwargs): ... - def isActive(self, *args, **kwargs): ... - def isPropagatedAgain(self, *args, **kwargs): ... + def getAddedConss(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getDepth(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getDomchg(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getEstimate(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getLowerbound(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNAddedConss(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNDomchg(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNParentBranchings(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNumber(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getParent(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getParentBranchings(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getType(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isActive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isPropagatedAgain(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def __eq__(self, other: object) -> bool: ... def __ge__(self, other: object) -> bool: ... def __gt__(self, other: object) -> bool: ... @@ -889,13 +889,13 @@ class Node: class Nodesel: model: Incomplete def __init__(self, *args, **kwargs) -> None: ... - def nodecomp(self, *args, **kwargs): ... - def nodeexit(self, *args, **kwargs): ... - def nodeexitsol(self, *args, **kwargs): ... - def nodefree(self, *args, **kwargs): ... - def nodeinit(self, *args, **kwargs): ... - def nodeinitsol(self, *args, **kwargs): ... - def nodeselect(self, *args, **kwargs): ... + def nodecomp(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def nodeexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def nodeexitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def nodefree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def nodeinit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def nodeinitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def nodeselect(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... class Op: add: ClassVar[str] = ... @@ -1178,23 +1178,23 @@ class PowExpr(GenExpr): class Presol: model: Incomplete def __init__(self, *args, **kwargs) -> None: ... - def presolexec(self, *args, **kwargs): ... - def presolexit(self, *args, **kwargs): ... - def presolexitpre(self, *args, **kwargs): ... - def presolfree(self, *args, **kwargs): ... - def presolinit(self, *args, **kwargs): ... - def presolinitpre(self, *args, **kwargs): ... + def presolexec(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def presolexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def presolexitpre(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def presolfree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def presolinit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def presolinitpre(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... class Pricer: model: Incomplete def __init__(self, *args, **kwargs) -> None: ... - def pricerexit(self, *args, **kwargs): ... - def pricerexitsol(self, *args, **kwargs): ... - def pricerfarkas(self, *args, **kwargs): ... - def pricerfree(self, *args, **kwargs): ... - def pricerinit(self, *args, **kwargs): ... - def pricerinitsol(self, *args, **kwargs): ... - def pricerredcost(self, *args, **kwargs): ... + def pricerexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def pricerexitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def pricerfarkas(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def pricerfree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def pricerinit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def pricerinitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def pricerredcost(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... class ProdExpr(GenExpr): constant: Incomplete @@ -1203,60 +1203,60 @@ class ProdExpr(GenExpr): class Prop: model: Incomplete def __init__(self, *args, **kwargs) -> None: ... - def propexec(self, *args, **kwargs): ... - def propexit(self, *args, **kwargs): ... - def propexitpre(self, *args, **kwargs): ... - def propexitsol(self, *args, **kwargs): ... - def propfree(self, *args, **kwargs): ... - def propinit(self, *args, **kwargs): ... - def propinitpre(self, *args, **kwargs): ... - def propinitsol(self, *args, **kwargs): ... - def proppresol(self, *args, **kwargs): ... - def propresprop(self, *args, **kwargs): ... + def propexec(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def propexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def propexitpre(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def propexitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def propfree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def propinit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def propinitpre(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def propinitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def proppresol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def propresprop(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... class Reader: model: Incomplete name: Incomplete def __init__(self, *args, **kwargs) -> None: ... - def readerfree(self, *args, **kwargs): ... - def readerread(self, *args, **kwargs): ... - def readerwrite(self, *args, **kwargs): ... + def readerfree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def readerread(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def readerwrite(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... class Relax: model: Incomplete name: Incomplete def __init__(self, *args, **kwargs) -> None: ... - def relaxexec(self, *args, **kwargs): ... - def relaxexit(self, *args, **kwargs): ... - def relaxexitsol(self, *args, **kwargs): ... - def relaxfree(self, *args, **kwargs): ... - def relaxinit(self, *args, **kwargs): ... - def relaxinitsol(self, *args, **kwargs): ... + def relaxexec(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def relaxexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def relaxexitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def relaxfree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def relaxinit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def relaxinitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... class Row: data: Incomplete name: Incomplete def __init__(self, *args, **kwargs) -> None: ... - def getAge(self, *args, **kwargs): ... - def getBasisStatus(self, *args, **kwargs): ... - def getCols(self, *args, **kwargs): ... - def getConsOriginConshdlrtype(self, *args, **kwargs): ... - def getConstant(self, *args, **kwargs): ... - def getDualfarkas(self, *args, **kwargs): ... - def getDualsol(self, *args, **kwargs): ... - def getLPPos(self, *args, **kwargs): ... - def getLhs(self, *args, **kwargs): ... - def getNLPNonz(self, *args, **kwargs): ... - def getNNonz(self, *args, **kwargs): ... - def getNorm(self, *args, **kwargs): ... - def getOrigintype(self, *args, **kwargs): ... - def getRhs(self, *args, **kwargs): ... - def getVals(self, *args, **kwargs): ... - def isInGlobalCutpool(self, *args, **kwargs): ... - def isIntegral(self, *args, **kwargs): ... - def isLocal(self, *args, **kwargs): ... - def isModifiable(self, *args, **kwargs): ... - def isRemovable(self, *args, **kwargs): ... + def getAge(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getBasisStatus(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getCols(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getConsOriginConshdlrtype(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getConstant(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getDualfarkas(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getDualsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getLPPos(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getLhs(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNLPNonz(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNNonz(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNorm(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getOrigintype(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getRhs(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getVals(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isInGlobalCutpool(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isIntegral(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isLocal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isModifiable(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isRemovable(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def __eq__(self, other: object) -> bool: ... def __ge__(self, other: object) -> bool: ... def __gt__(self, other: object) -> bool: ... @@ -1273,23 +1273,23 @@ class Sepa: model: Incomplete name: Incomplete def __init__(self, *args, **kwargs) -> None: ... - def sepaexeclp(self, *args, **kwargs): ... - def sepaexecsol(self, *args, **kwargs): ... - def sepaexit(self, *args, **kwargs): ... - def sepaexitsol(self, *args, **kwargs): ... - def sepafree(self, *args, **kwargs): ... - def sepainit(self, *args, **kwargs): ... - def sepainitsol(self, *args, **kwargs): ... + def sepaexeclp(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def sepaexecsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def sepaexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def sepaexitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def sepafree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def sepainit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def sepainitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... 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): ... - def __getitem__(self, index): ... + def _checkStage(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def _evaluate(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getOrigin(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def retransform(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def translate(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def __getitem__(self, index: Incomplete) -> Incomplete: ... def __setitem__(self, index, object) -> None: ... @dataclass @@ -1321,10 +1321,10 @@ class Term: ptrtuple: Incomplete vartuple: Incomplete def __init__(self, *args, **kwargs) -> None: ... - def __add__(self, other): ... + def __add__(self, other: Incomplete) -> Incomplete: ... def __eq__(self, other: object) -> bool: ... def __ge__(self, other: object) -> bool: ... - def __getitem__(self, index): ... + def __getitem__(self, index: Incomplete) -> Incomplete: ... def __gt__(self, other: object) -> bool: ... def __hash__(self) -> int: ... def __le__(self, other: object) -> bool: ... @@ -1343,38 +1343,38 @@ class Variable(Expr): data: Incomplete name: Incomplete 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): ... - def getLbLocal(self, *args, **kwargs): ... - def getLbOriginal(self, *args, **kwargs): ... - def getNBranchings(self, *args, **kwargs): ... - def getNBranchingsCurrentRun(self, *args, **kwargs): ... - def getNLocksDown(self, *args, **kwargs): ... - def getNLocksDownType(self, *args, **kwargs): ... - 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 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 getAvgSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getCol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getImplType(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getIndex(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getLPSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getLbGlobal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getLbLocal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getLbOriginal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNBranchings(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNBranchingsCurrentRun(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNLocksDown(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNLocksDownType(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNLocksUp(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getNLocksUpType(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getObj(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getStatus(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getUbGlobal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getUbLocal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getUbOriginal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isActive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isBinary(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isDeletable(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isImpliedIntegral(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isInLP(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isIntegral(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isNonImpliedIntegral(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isOriginal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def isRelaxationOnly(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def markRelaxationOnly(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def ptr(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def varMayRound(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def vtype(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... class _VarArray: def __init__(self, *args, **kwargs) -> None: ... From 272d60bc49ebf1ef9017dd9138b6953767b57e37 Mon Sep 17 00:00:00 2001 From: Joao-Dionisio Date: Wed, 14 Jan 2026 15:59:33 +0000 Subject: [PATCH 08/23] add type annotations to __init__ and other special methods --- scripts/generate_stubs.py | 6 +- src/pyscipopt/scip.pyi | 120 +++++++++++++++++++------------------- 2 files changed, 63 insertions(+), 63 deletions(-) diff --git a/scripts/generate_stubs.py b/scripts/generate_stubs.py index 5d9cfb1ad..3db45e0b4 100755 --- a/scripts/generate_stubs.py +++ b/scripts/generate_stubs.py @@ -59,11 +59,11 @@ class StubGenerator: '__hash__': 'def __hash__(self) -> int: ...', '__len__': 'def __len__(self) -> int: ...', '__bool__': 'def __bool__(self) -> bool: ...', - '__init__': 'def __init__(self, *args, **kwargs) -> None: ...', + '__init__': 'def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ...', '__repr__': 'def __repr__(self) -> str: ...', '__str__': 'def __str__(self) -> str: ...', - '__delitem__': 'def __delitem__(self, other) -> None: ...', - '__setitem__': 'def __setitem__(self, index, object) -> None: ...', + '__delitem__': 'def __delitem__(self, key: Incomplete) -> None: ...', + '__setitem__': 'def __setitem__(self, key: Incomplete, value: Incomplete) -> None: ...', } # Methods that should NOT appear in stubs (internal Cython methods) diff --git a/src/pyscipopt/scip.pyi b/src/pyscipopt/scip.pyi index 85bb3870b..835711da9 100644 --- a/src/pyscipopt/scip.pyi +++ b/src/pyscipopt/scip.pyi @@ -35,7 +35,7 @@ value_to_array: Incomplete class Benders: model: Incomplete name: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... def benderscreatesub(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def bendersexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def bendersexitpre(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... @@ -55,7 +55,7 @@ class Benderscut: benders: Incomplete model: Incomplete name: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... def benderscutexec(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def benderscutexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def benderscutexitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... @@ -64,7 +64,7 @@ class Benderscut: def benderscutinitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... class BoundChange: - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... def getBoundchgtype(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def getBoundtype(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def getNewBound(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... @@ -73,7 +73,7 @@ class BoundChange: class Branchrule: model: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... def branchexecext(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def branchexeclp(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def branchexecps(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... @@ -85,7 +85,7 @@ class Branchrule: class Column: data: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... def getAge(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def getBasisStatus(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def getLPPos(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... @@ -105,12 +105,12 @@ class Column: class ColumnExact: data: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... class Conshdlr: model: Incomplete name: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... def consactive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def conscheck(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def conscopy(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... @@ -147,12 +147,12 @@ class Conshdlr: class Constant(GenExpr): number: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... class Constraint: data: Incomplete name: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... def getConshdlrName(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def isActive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def isChecked(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... @@ -180,7 +180,7 @@ class Constraint: class Cutsel: model: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... def cutselexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def cutselexitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def cutselfree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... @@ -189,13 +189,13 @@ class Cutsel: def cutselselect(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... class DomainChanges: - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... def getBoundchgs(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... class Event: data: Incomplete name: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... def _getEventNames(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def getName(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def getNewBound(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... @@ -215,7 +215,7 @@ class Event: class Eventhdlr: model: Incomplete name: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... def eventcopy(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def eventdelete(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def eventexec(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... @@ -227,7 +227,7 @@ class Eventhdlr: class Expr: terms: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... def degree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def normalize(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def __abs__(self) -> Incomplete: ... @@ -257,7 +257,7 @@ class ExprCons: _lhs: Incomplete _rhs: Incomplete expr: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... def normalize(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def __bool__(self) -> bool: ... def __eq__(self, other: object) -> bool: ... @@ -270,7 +270,7 @@ class ExprCons: class GenExpr: _op: Incomplete children: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... def degree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def getOp(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def __abs__(self) -> Incomplete: ... @@ -295,7 +295,7 @@ class GenExpr: class Heur: model: Incomplete name: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... def heurexec(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def heurexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def heurexitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... @@ -304,7 +304,7 @@ class Heur: def heurinitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... class IIS: - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... def getNNodes(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def getSubscip(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def getTime(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... @@ -316,13 +316,13 @@ class IIS: class IISfinder: iis: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... def iisfinderexec(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def iisfinderfree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... class LP: name: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... def addCol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def addCols(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def addRow(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... @@ -420,7 +420,7 @@ class MatrixVariable(MatrixExpr): class Model: _freescip: Incomplete data: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... def _createConsGenNonlinear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def _createConsLinear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def _createConsNonlinear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... @@ -847,7 +847,7 @@ class Model: class NLRow: data: Incomplete name: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... def getConstant(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def getDualsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def getLhs(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... @@ -863,7 +863,7 @@ class NLRow: class Node: data: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... def getAddedConss(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def getDepth(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def getDomchg(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... @@ -888,7 +888,7 @@ class Node: class Nodesel: model: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... def nodecomp(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def nodeexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def nodeexitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... @@ -919,14 +919,14 @@ class PY_SCIP_BENDERSENFOTYPE: LP: ClassVar[int] = ... PSEUDO: ClassVar[int] = ... RELAX: ClassVar[int] = ... - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... class PY_SCIP_BRANCHDIR: AUTO: ClassVar[int] = ... DOWNWARDS: ClassVar[int] = ... FIXED: ClassVar[int] = ... UPWARDS: ClassVar[int] = ... - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... class PY_SCIP_EVENTTYPE: BESTSOLFOUND: ClassVar[int] = ... @@ -985,7 +985,7 @@ class PY_SCIP_EVENTTYPE: VAREVENT: ClassVar[int] = ... VARFIXED: ClassVar[int] = ... VARUNLOCKED: ClassVar[int] = ... - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... class PY_SCIP_HEURTIMING: AFTERLPLOOP: ClassVar[int] = ... @@ -999,18 +999,18 @@ class PY_SCIP_HEURTIMING: DURINGLPLOOP: ClassVar[int] = ... DURINGPRESOLLOOP: ClassVar[int] = ... DURINGPRICINGLOOP: ClassVar[int] = ... - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... class PY_SCIP_IMPLINTTYPE: NONE: ClassVar[int] = ... STRONG: ClassVar[int] = ... WEAK: ClassVar[int] = ... - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... class PY_SCIP_LOCKTYPE: CONFLICT: ClassVar[int] = ... MODEL: ClassVar[int] = ... - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... class PY_SCIP_LPPARAM: BARRIERCONVTOL: ClassVar[int] = ... @@ -1033,7 +1033,7 @@ class PY_SCIP_LPPARAM: SCALING: ClassVar[int] = ... THREADS: ClassVar[int] = ... TIMING: ClassVar[int] = ... - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... class PY_SCIP_LPSOLSTAT: ERROR: ClassVar[int] = ... @@ -1044,7 +1044,7 @@ class PY_SCIP_LPSOLSTAT: OPTIMAL: ClassVar[int] = ... TIMELIMIT: ClassVar[int] = ... UNBOUNDEDRAY: ClassVar[int] = ... - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... class PY_SCIP_NODETYPE: CHILD: ClassVar[int] = ... @@ -1058,7 +1058,7 @@ class PY_SCIP_NODETYPE: REFOCUSNODE: ClassVar[int] = ... SIBLING: ClassVar[int] = ... SUBROOT: ClassVar[int] = ... - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... class PY_SCIP_PARAMEMPHASIS: BENCHMARK: ClassVar[int] = ... @@ -1073,28 +1073,28 @@ class PY_SCIP_PARAMEMPHASIS: PHASEFEAS: ClassVar[int] = ... PHASEIMPROVE: ClassVar[int] = ... PHASEPROOF: ClassVar[int] = ... - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... class PY_SCIP_PARAMSETTING: AGGRESSIVE: ClassVar[int] = ... DEFAULT: ClassVar[int] = ... FAST: ClassVar[int] = ... OFF: ClassVar[int] = ... - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... class PY_SCIP_PRESOLTIMING: EXHAUSTIVE: ClassVar[int] = ... FAST: ClassVar[int] = ... MEDIUM: ClassVar[int] = ... NONE: ClassVar[int] = ... - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... class PY_SCIP_PROPTIMING: AFTERLPLOOP: ClassVar[int] = ... AFTERLPNODE: ClassVar[int] = ... BEFORELP: ClassVar[int] = ... DURINGLPLOOP: ClassVar[int] = ... - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... class PY_SCIP_RESULT: BRANCHED: ClassVar[int] = ... @@ -1114,14 +1114,14 @@ class PY_SCIP_RESULT: SUCCESS: ClassVar[int] = ... SUSPENDED: ClassVar[int] = ... UNBOUNDED: ClassVar[int] = ... - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... class PY_SCIP_ROWORIGINTYPE: CONS: ClassVar[int] = ... REOPT: ClassVar[int] = ... SEPA: ClassVar[int] = ... UNSPEC: ClassVar[int] = ... - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... class PY_SCIP_SOLORIGIN: LPSOL: ClassVar[int] = ... @@ -1132,7 +1132,7 @@ class PY_SCIP_SOLORIGIN: RELAXSOL: ClassVar[int] = ... UNKNOWN: ClassVar[int] = ... ZERO: ClassVar[int] = ... - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... class PY_SCIP_STAGE: EXITPRESOLVE: ClassVar[int] = ... @@ -1149,7 +1149,7 @@ class PY_SCIP_STAGE: SOLVING: ClassVar[int] = ... TRANSFORMED: ClassVar[int] = ... TRANSFORMING: ClassVar[int] = ... - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... class PY_SCIP_STATUS: BESTSOLLIMIT: ClassVar[int] = ... @@ -1169,15 +1169,15 @@ class PY_SCIP_STATUS: UNBOUNDED: ClassVar[int] = ... UNKNOWN: ClassVar[int] = ... USERINTERRUPT: ClassVar[int] = ... - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... class PowExpr(GenExpr): expo: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... class Presol: model: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... def presolexec(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def presolexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def presolexitpre(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... @@ -1187,7 +1187,7 @@ class Presol: class Pricer: model: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... def pricerexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def pricerexitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def pricerfarkas(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... @@ -1198,11 +1198,11 @@ class Pricer: class ProdExpr(GenExpr): constant: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... class Prop: model: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... def propexec(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def propexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def propexitpre(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... @@ -1217,7 +1217,7 @@ class Prop: class Reader: model: Incomplete name: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... def readerfree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def readerread(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def readerwrite(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... @@ -1225,7 +1225,7 @@ class Reader: class Relax: model: Incomplete name: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... def relaxexec(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def relaxexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def relaxexitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... @@ -1236,7 +1236,7 @@ class Relax: class Row: data: Incomplete name: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... def getAge(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def getBasisStatus(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def getCols(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... @@ -1267,12 +1267,12 @@ class Row: class RowExact: data: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... class Sepa: model: Incomplete name: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... def sepaexeclp(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def sepaexecsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def sepaexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... @@ -1283,14 +1283,14 @@ class Sepa: class Solution: data: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... def _checkStage(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def _evaluate(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def getOrigin(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def retransform(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def translate(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def __getitem__(self, index: Incomplete) -> Incomplete: ... - def __setitem__(self, index, object) -> None: ... + def __setitem__(self, key: Incomplete, value: Incomplete) -> None: ... @dataclass class Statistics: @@ -1314,13 +1314,13 @@ class Statistics: class SumExpr(GenExpr): coefs: Incomplete constant: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... class Term: hashval: Incomplete ptrtuple: Incomplete vartuple: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... def __add__(self, other: Incomplete) -> Incomplete: ... def __eq__(self, other: object) -> bool: ... def __ge__(self, other: object) -> bool: ... @@ -1333,16 +1333,16 @@ class Term: def __ne__(self, other: object) -> bool: ... class UnaryExpr(GenExpr): - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... class VarExpr(GenExpr): var: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... class Variable(Expr): data: Incomplete name: Incomplete - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... def getAvgSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def getCol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def getImplType(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... @@ -1377,4 +1377,4 @@ class Variable(Expr): def vtype(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... class _VarArray: - def __init__(self, *args, **kwargs) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... From 2eeedbb02c19feb6addc8eb3af4a691236666310 Mon Sep 17 00:00:00 2001 From: Joao-Dionisio Date: Wed, 14 Jan 2026 16:06:58 +0000 Subject: [PATCH 09/23] fix auto-regeneration: add token, show diff in PR comment --- .github/workflows/stubs.yml | 49 ++++++++++++++++++++++++++++++++++--- 1 file changed, 45 insertions(+), 4 deletions(-) diff --git a/.github/workflows/stubs.yml b/.github/workflows/stubs.yml index c3d627dd1..c8f7626cf 100644 --- a/.github/workflows/stubs.yml +++ b/.github/workflows/stubs.yml @@ -31,6 +31,8 @@ jobs: with: ref: ${{ github.head_ref || github.ref }} repository: ${{ github.event.pull_request.head.repo.full_name || github.repository }} + token: ${{ secrets.GITHUB_TOKEN }} + fetch-depth: 0 - name: Setup Python for stub generation uses: actions/setup-python@v4 @@ -72,20 +74,59 @@ jobs: run: stubs/test.sh - name: Commit and push updated stubs + id: commit if: steps.check.outcome == 'failure' && github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository run: | git config user.name "github-actions[bot]" git config user.email "github-actions[bot]@users.noreply.github.com" git add src/pyscipopt/scip.pyi - git diff --cached --quiet || git commit -m "Auto-regenerate type stubs" - git push + + # Capture the diff for the PR comment + DIFF=$(git diff --cached --stat) + echo "diff<> $GITHUB_OUTPUT + echo "$DIFF" >> $GITHUB_OUTPUT + echo "EOF" >> $GITHUB_OUTPUT + + # Capture detailed changes + DETAILED_DIFF=$(git diff --cached src/pyscipopt/scip.pyi | head -100) + echo "detailed_diff<> $GITHUB_OUTPUT + echo "$DETAILED_DIFF" >> $GITHUB_OUTPUT + echo "EOF" >> $GITHUB_OUTPUT + + if git diff --cached --quiet; then + echo "committed=false" >> $GITHUB_OUTPUT + else + git commit -m "Auto-regenerate type stubs" + git push + echo "committed=true" >> $GITHUB_OUTPUT + fi - name: Comment on PR - if: steps.check.outcome == 'failure' && github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository + if: steps.commit.outputs.committed == 'true' env: GH_TOKEN: ${{ github.token }} run: | - gh pr comment ${{ github.event.pull_request.number }} --body "Type stubs were out of date and have been automatically regenerated. A new commit has been pushed to this PR." + gh pr comment ${{ github.event.pull_request.number }} --body "## 🤖 Type stubs automatically regenerated + + The type stubs were out of date and have been automatically regenerated. A new commit has been pushed to this PR. + +
+ Changes summary + + \`\`\` + ${{ steps.commit.outputs.diff }} + \`\`\` + +
+ +
+ Detailed diff (first 100 lines) + + \`\`\`diff + ${{ steps.commit.outputs.detailed_diff }} + \`\`\` + +
" lint: runs-on: ubuntu-latest From 0a5ac24da04d14388dae6ee077eab303f0c7098c Mon Sep 17 00:00:00 2001 From: Joao-Dionisio Date: Wed, 14 Jan 2026 16:18:38 +0000 Subject: [PATCH 10/23] restructure workflow: test -> regenerate -> test -> commit --- .github/workflows/stubs.yml | 33 ++++++++++++++++----------------- src/pyscipopt/scip.pyi | 1 - 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/.github/workflows/stubs.yml b/.github/workflows/stubs.yml index c8f7626cf..09f8d243c 100644 --- a/.github/workflows/stubs.yml +++ b/.github/workflows/stubs.yml @@ -34,20 +34,6 @@ jobs: token: ${{ secrets.GITHUB_TOKEN }} fetch-depth: 0 - - name: Setup Python for stub generation - uses: actions/setup-python@v4 - with: - python-version: "3.12" - - - name: Check if stubs need regeneration - id: check - run: python scripts/generate_stubs.py --check - continue-on-error: true - - - name: Regenerate stubs - if: steps.check.outcome == 'failure' - run: python scripts/generate_stubs.py - - name: Install dependencies (SCIPOptSuite) run: | wget --quiet --no-check-certificate "https://github.com/scipopt/scip/releases/download/v${{ env.version }}/scipoptsuite_${{ env.version }}-1+jammy_amd64.deb" @@ -67,15 +53,28 @@ jobs: export CFLAGS="-O0 -ggdb -Wall -Wextra -Werror -Wno-error=deprecated-declarations" # Debug mode. More warnings. Warnings as errors, but allow deprecated declarations. python -m pip install . -v 2>&1 | tee build.log - - name: Run MyPy + - name: Run MyPy (before regeneration) + id: mypy_before + run: python -m mypy --package pyscipopt + continue-on-error: true + + - name: Run stubtest (before regeneration) + id: stubtest_before + run: stubs/test.sh + continue-on-error: true + + - name: Regenerate stubs + run: python scripts/generate_stubs.py + + - name: Run MyPy (after regeneration) run: python -m mypy --package pyscipopt - - name: Run stubtest + - name: Run stubtest (after regeneration) run: stubs/test.sh - name: Commit and push updated stubs id: commit - if: steps.check.outcome == 'failure' && github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository + if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository run: | git config user.name "github-actions[bot]" git config user.email "github-actions[bot]@users.noreply.github.com" diff --git a/src/pyscipopt/scip.pyi b/src/pyscipopt/scip.pyi index 835711da9..8107ea86d 100644 --- a/src/pyscipopt/scip.pyi +++ b/src/pyscipopt/scip.pyi @@ -743,7 +743,6 @@ class Model: def isNLPConstructed(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def isNegative(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def isObjChangedProbing(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isObjIntegral(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def isPositive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def isZero(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... def lpiGetIterations(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... From 5645239a1b3e84985e89b3b49733d2a5fcaea4d8 Mon Sep 17 00:00:00 2001 From: Joao-Dionisio Date: Wed, 14 Jan 2026 16:55:56 +0000 Subject: [PATCH 11/23] parse actual function parameters instead of using *args/**kwargs --- scripts/generate_stubs.py | 117 ++- src/pyscipopt/scip.pyi | 1590 ++++++++++++++++++------------------- 2 files changed, 903 insertions(+), 804 deletions(-) diff --git a/scripts/generate_stubs.py b/scripts/generate_stubs.py index 3db45e0b4..cb8ac725c 100755 --- a/scripts/generate_stubs.py +++ b/scripts/generate_stubs.py @@ -25,7 +25,7 @@ class ClassInfo: name: str parent: Optional[str] = None attributes: list = field(default_factory=list) # list of (name, type_hint) - methods: list = field(default_factory=list) # list of method names + methods: dict = field(default_factory=dict) # dict of method_name -> list of param names (excluding self) static_methods: set = field(default_factory=set) # set of static method names class_vars: list = field(default_factory=list) # list of (name, type_hint) has_hash: bool = False @@ -406,6 +406,17 @@ def get_current_class(): i += 1 continue + # Extract full signature (may span multiple lines) + sig_lines = [stripped] + j = i + 1 + while j < len(lines) and ')' not in sig_lines[-1]: + sig_lines.append(lines[j].strip()) + j += 1 + full_sig = ' '.join(sig_lines) + + # Parse parameters from signature + params = self._parse_params(full_sig) + if current_class: cls_info = self.module_info.classes.get(current_class) if cls_info: @@ -417,9 +428,9 @@ def get_current_class(): # Expand __richcmp__ to individual comparison methods for cmp_method in self.RICHCMP_EXPANSION['__richcmp__']: if cmp_method not in cls_info.methods: - cls_info.methods.append(cmp_method) + cls_info.methods[cmp_method] = [] elif method_name not in cls_info.methods: - cls_info.methods.append(method_name) + cls_info.methods[method_name] = params # Track static methods if is_staticmethod: @@ -449,6 +460,87 @@ def get_current_class(): i += 1 + def _generate_method_stub(self, method_name: str, params: list, is_static: bool = False, return_type: str = 'Incomplete') -> str: + """Generate a method stub with proper parameter types. + + Args: + method_name: Name of the method + params: List of (param_name, has_default) tuples + is_static: Whether this is a static method + return_type: Return type annotation + """ + if not params: + # No parameters (other than self) + if is_static: + return f'def {method_name}() -> {return_type}: ...' + else: + return f'def {method_name}(self) -> {return_type}: ...' + + # Build parameter string + param_strs = [] + if not is_static: + param_strs.append('self') + + for param_name, has_default in params: + if has_default: + param_strs.append(f'{param_name}: Incomplete = ...') + else: + param_strs.append(f'{param_name}: Incomplete') + + params_str = ', '.join(param_strs) + return f'def {method_name}({params_str}) -> {return_type}: ...' + + def _parse_params(self, signature: str) -> list: + """Parse parameter names from a function signature. + + Returns a list of (param_name, has_default) tuples, excluding 'self'. + """ + # Extract the part between parentheses + match = re.search(r'\(([^)]*)\)', signature) + if not match: + return [] + + params_str = match.group(1) + if not params_str.strip(): + return [] + + params = [] + # Split by comma, but handle nested structures + depth = 0 + current = [] + for char in params_str: + if char in '([{': + depth += 1 + current.append(char) + elif char in ')]}': + depth -= 1 + current.append(char) + elif char == ',' and depth == 0: + params.append(''.join(current).strip()) + current = [] + else: + current.append(char) + if current: + params.append(''.join(current).strip()) + + result = [] + for param in params: + if not param: + continue + # Skip self + if param == 'self': + continue + # Extract parameter name (before any type annotation or default) + # Handle: name, name=default, name: type, name: type = default + # Also handle Cython types like: int name, object name + param_match = re.match(r'^(?:\w+\s+)?(\w+)(?:\s*[:=].*)?$', param.strip()) + if param_match: + param_name = param_match.group(1) + has_default = '=' in param + result.append((param_name, has_default)) + + return result + def _detect_dataclass(self, content: str) -> dict: """Detect @dataclass decorated classes and their fields.""" dataclasses = {} @@ -565,7 +657,7 @@ def _generate_class_stub(self, cls_info: ClassInfo) -> list: special_methods = [] comparison_methods = [] - for method in cls_info.methods: + for method in cls_info.methods.keys(): if method in self.COMPARISON_METHODS: comparison_methods.append(method) elif method.startswith('__') and method.endswith('__'): @@ -587,18 +679,23 @@ def _generate_class_stub(self, cls_info: ClassInfo) -> list: # Output __init__ first if present or needs to be added (not for numpy subclasses or specific classes) if '__init__' in special_methods: - lines.append(f' {self.SPECIAL_METHODS["__init__"]}') + params = cls_info.methods.get('__init__', []) + stub = self._generate_method_stub('__init__', params, return_type='None') + lines.append(f' {stub}') special_methods.remove('__init__') elif '__init__' not in cls_info.methods and not is_numpy_subclass and not cls_info.is_dataclass and cls_info.name not in skip_init_classes: - lines.append(f' {self.SPECIAL_METHODS["__init__"]}') + lines.append(f' def __init__(self) -> None: ...') # Sort and output regular methods for method in sorted(regular_methods): + params = cls_info.methods.get(method, []) if method in cls_info.static_methods: lines.append(' @staticmethod') - lines.append(f' def {method}(*args: Incomplete, **kwargs: Incomplete) -> Incomplete: ...') + stub = self._generate_method_stub(method, params, is_static=True) + lines.append(f' {stub}') else: - lines.append(f' def {method}(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ...') + stub = self._generate_method_stub(method, params) + lines.append(f' {stub}') # Combine special methods and comparison methods, sort alphabetically all_special = [] @@ -608,7 +705,9 @@ def _generate_class_stub(self, cls_info: ClassInfo) -> list: elif method in self.TYPED_METHODS: all_special.append((method, self.TYPED_METHODS[method])) else: - all_special.append((method, f'def {method}(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ...')) + params = cls_info.methods.get(method, []) + stub = self._generate_method_stub(method, params) + all_special.append((method, stub)) for method in comparison_methods: stub = self.COMPARISON_METHODS[method] diff --git a/src/pyscipopt/scip.pyi b/src/pyscipopt/scip.pyi index 8107ea86d..422c59f30 100644 --- a/src/pyscipopt/scip.pyi +++ b/src/pyscipopt/scip.pyi @@ -35,66 +35,66 @@ value_to_array: Incomplete class Benders: model: Incomplete name: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def benderscreatesub(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def bendersexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def bendersexitpre(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def bendersexitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def bendersfree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def bendersfreesub(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def bendersgetvar(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def bendersinit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def bendersinitpre(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def bendersinitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def benderspostsolve(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def benderspresubsolve(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def benderssolvesub(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def benderssolvesubconvex(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def __init__(self) -> None: ... + def benderscreatesub(self, probnumber: Incomplete) -> Incomplete: ... + def bendersexit(self) -> Incomplete: ... + def bendersexitpre(self) -> Incomplete: ... + def bendersexitsol(self) -> Incomplete: ... + def bendersfree(self) -> Incomplete: ... + def bendersfreesub(self, probnumber: Incomplete) -> Incomplete: ... + def bendersgetvar(self, variable: Incomplete, probnumber: Incomplete) -> Incomplete: ... + def bendersinit(self) -> Incomplete: ... + def bendersinitpre(self) -> Incomplete: ... + def bendersinitsol(self) -> Incomplete: ... + def benderspostsolve(self, solution: Incomplete, enfotype: Incomplete, mergecandidates: Incomplete, npriomergecands: Incomplete, checkint: Incomplete, infeasible: Incomplete) -> Incomplete: ... + def benderspresubsolve(self, solution: Incomplete, enfotype: Incomplete, checkint: Incomplete) -> Incomplete: ... + def benderssolvesub(self, solution: Incomplete, probnumber: Incomplete) -> Incomplete: ... + def benderssolvesubconvex(self, solution: Incomplete, probnumber: Incomplete, onlyconvex: Incomplete) -> Incomplete: ... class Benderscut: benders: Incomplete model: Incomplete name: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def benderscutexec(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def benderscutexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def benderscutexitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def benderscutfree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def benderscutinit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def benderscutinitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def __init__(self) -> None: ... + def benderscutexec(self, solution: Incomplete, probnumber: Incomplete, enfotype: Incomplete) -> Incomplete: ... + def benderscutexit(self) -> Incomplete: ... + def benderscutexitsol(self) -> Incomplete: ... + def benderscutfree(self) -> Incomplete: ... + def benderscutinit(self) -> Incomplete: ... + def benderscutinitsol(self) -> Incomplete: ... class BoundChange: - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def getBoundchgtype(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getBoundtype(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNewBound(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getVar(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isRedundant(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def __init__(self) -> None: ... + def getBoundchgtype(self) -> Incomplete: ... + def getBoundtype(self) -> Incomplete: ... + def getNewBound(self) -> Incomplete: ... + def getVar(self) -> Incomplete: ... + def isRedundant(self) -> Incomplete: ... class Branchrule: model: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def branchexecext(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def branchexeclp(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def branchexecps(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def branchexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def branchexitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def branchfree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def branchinit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def branchinitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def __init__(self) -> None: ... + def branchexecext(self, allowaddcons: Incomplete) -> Incomplete: ... + def branchexeclp(self, allowaddcons: Incomplete) -> Incomplete: ... + def branchexecps(self, allowaddcons: Incomplete) -> Incomplete: ... + def branchexit(self) -> Incomplete: ... + def branchexitsol(self) -> Incomplete: ... + def branchfree(self) -> Incomplete: ... + def branchinit(self) -> Incomplete: ... + def branchinitsol(self) -> Incomplete: ... class Column: data: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def getAge(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getBasisStatus(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getLPPos(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getLb(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getObjCoeff(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getPrimsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getUb(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getVar(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isIntegral(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def __init__(self) -> None: ... + def getAge(self) -> Incomplete: ... + def getBasisStatus(self) -> Incomplete: ... + def getLPPos(self) -> Incomplete: ... + def getLb(self) -> Incomplete: ... + def getObjCoeff(self) -> Incomplete: ... + def getPrimsol(self) -> Incomplete: ... + def getUb(self) -> Incomplete: ... + def getVar(self) -> Incomplete: ... + def isIntegral(self) -> Incomplete: ... def __eq__(self, other: object) -> bool: ... def __ge__(self, other: object) -> bool: ... def __gt__(self, other: object) -> bool: ... @@ -105,71 +105,71 @@ class Column: class ColumnExact: data: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... + def __init__(self) -> None: ... class Conshdlr: model: Incomplete name: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def consactive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def conscheck(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def conscopy(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def consdeactive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def consdelete(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def consdelvars(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def consdisable(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def consenable(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def consenfolp(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def consenfops(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def consenforelax(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def consexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def consexitpre(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def consexitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def consfree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def consgetdivebdchgs(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def consgetnvars(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def consgetpermsymgraph(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def consgetsignedpermsymgraph(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def consgetvars(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def consinit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def consinitlp(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def consinitpre(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def consinitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def conslock(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def consparse(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def conspresol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def consprint(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def consprop(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def consresprop(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def conssepalp(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def conssepasol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def constrans(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def __init__(self) -> None: ... + def consactive(self, constraint: Incomplete) -> Incomplete: ... + def conscheck(self, constraints: Incomplete, solution: Incomplete, checkintegrality: Incomplete, checklprows: Incomplete, printreason: Incomplete, completely: Incomplete) -> Incomplete: ... + def conscopy(self) -> Incomplete: ... + def consdeactive(self, constraint: Incomplete) -> Incomplete: ... + def consdelete(self, constraint: Incomplete) -> Incomplete: ... + def consdelvars(self, constraints: Incomplete) -> Incomplete: ... + def consdisable(self, constraint: Incomplete) -> Incomplete: ... + def consenable(self, constraint: Incomplete) -> Incomplete: ... + def consenfolp(self, constraints: Incomplete, nusefulconss: Incomplete, solinfeasible: Incomplete) -> Incomplete: ... + def consenfops(self, constraints: Incomplete, nusefulconss: Incomplete, solinfeasible: Incomplete, objinfeasible: Incomplete) -> Incomplete: ... + def consenforelax(self, solution: Incomplete, constraints: Incomplete, nusefulconss: Incomplete, solinfeasible: Incomplete) -> Incomplete: ... + def consexit(self, constraints: Incomplete) -> Incomplete: ... + def consexitpre(self, constraints: Incomplete) -> Incomplete: ... + def consexitsol(self, constraints: Incomplete, restart: Incomplete) -> Incomplete: ... + def consfree(self) -> Incomplete: ... + def consgetdivebdchgs(self) -> Incomplete: ... + def consgetnvars(self, constraint: Incomplete) -> Incomplete: ... + def consgetpermsymgraph(self) -> Incomplete: ... + def consgetsignedpermsymgraph(self) -> Incomplete: ... + def consgetvars(self, constraint: Incomplete) -> Incomplete: ... + def consinit(self, constraints: Incomplete) -> Incomplete: ... + def consinitlp(self, constraints: Incomplete) -> Incomplete: ... + def consinitpre(self, constraints: Incomplete) -> Incomplete: ... + def consinitsol(self, constraints: Incomplete) -> Incomplete: ... + def conslock(self, constraint: Incomplete, locktype: Incomplete, nlockspos: Incomplete, nlocksneg: Incomplete) -> Incomplete: ... + def consparse(self) -> Incomplete: ... + def conspresol(self, constraints: Incomplete, nrounds: Incomplete, presoltiming: Incomplete, nnewfixedvars: Incomplete, nnewaggrvars: Incomplete, nnewchgvartypes: Incomplete, nnewchgbds: Incomplete, nnewholes: Incomplete, nnewdelconss: Incomplete, nnewaddconss: Incomplete, nnewupgdconss: Incomplete, nnewchgcoefs: Incomplete, nnewchgsides: Incomplete, result_dict: Incomplete) -> Incomplete: ... + def consprint(self, constraint: Incomplete) -> Incomplete: ... + def consprop(self, constraints: Incomplete, nusefulconss: Incomplete, nmarkedconss: Incomplete, proptiming: Incomplete) -> Incomplete: ... + def consresprop(self) -> Incomplete: ... + def conssepalp(self, constraints: Incomplete, nusefulconss: Incomplete) -> Incomplete: ... + def conssepasol(self, constraints: Incomplete, nusefulconss: Incomplete, solution: Incomplete) -> Incomplete: ... + def constrans(self, sourceconstraint: Incomplete) -> Incomplete: ... class Constant(GenExpr): number: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... + def __init__(self, number: Incomplete) -> None: ... class Constraint: data: Incomplete name: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def getConshdlrName(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isActive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isChecked(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isDynamic(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isEnforced(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isInitial(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isKnapsack(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isLinear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isLinearType(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isLocal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isModifiable(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isNonlinear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isOriginal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isPropagated(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isRemovable(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isSeparated(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isStickingAtNode(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def __init__(self) -> None: ... + def getConshdlrName(self) -> Incomplete: ... + def isActive(self) -> Incomplete: ... + def isChecked(self) -> Incomplete: ... + def isDynamic(self) -> Incomplete: ... + def isEnforced(self) -> Incomplete: ... + def isInitial(self) -> Incomplete: ... + def isKnapsack(self) -> Incomplete: ... + def isLinear(self) -> Incomplete: ... + def isLinearType(self) -> Incomplete: ... + def isLocal(self) -> Incomplete: ... + def isModifiable(self) -> Incomplete: ... + def isNonlinear(self) -> Incomplete: ... + def isOriginal(self) -> Incomplete: ... + def isPropagated(self) -> Incomplete: ... + def isRemovable(self) -> Incomplete: ... + def isSeparated(self) -> Incomplete: ... + def isStickingAtNode(self) -> Incomplete: ... def __eq__(self, other: object) -> bool: ... def __ge__(self, other: object) -> bool: ... def __gt__(self, other: object) -> bool: ... @@ -180,30 +180,30 @@ class Constraint: class Cutsel: model: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def cutselexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def cutselexitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def cutselfree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def cutselinit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def cutselinitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def cutselselect(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def __init__(self) -> None: ... + def cutselexit(self) -> Incomplete: ... + def cutselexitsol(self) -> Incomplete: ... + def cutselfree(self) -> Incomplete: ... + def cutselinit(self) -> Incomplete: ... + def cutselinitsol(self) -> Incomplete: ... + def cutselselect(self, cuts: Incomplete, forcedcuts: Incomplete, root: Incomplete, maxnselectedcuts: Incomplete) -> Incomplete: ... class DomainChanges: - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def getBoundchgs(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def __init__(self) -> None: ... + def getBoundchgs(self) -> Incomplete: ... class Event: data: Incomplete name: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def _getEventNames(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getName(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNewBound(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNode(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getOldBound(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getRow(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getType(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getVar(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def __init__(self) -> None: ... + def _getEventNames(self) -> Incomplete: ... + def getName(self) -> Incomplete: ... + def getNewBound(self) -> Incomplete: ... + def getNode(self) -> Incomplete: ... + def getOldBound(self) -> Incomplete: ... + def getRow(self) -> Incomplete: ... + def getType(self) -> Incomplete: ... + def getVar(self) -> Incomplete: ... def __eq__(self, other: object) -> bool: ... def __ge__(self, other: object) -> bool: ... def __gt__(self, other: object) -> bool: ... @@ -215,21 +215,21 @@ class Event: class Eventhdlr: model: Incomplete name: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def eventcopy(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def eventdelete(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def eventexec(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def eventexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def eventexitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def eventfree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def eventinit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def eventinitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def __init__(self) -> None: ... + def eventcopy(self) -> Incomplete: ... + def eventdelete(self) -> Incomplete: ... + def eventexec(self, event: Incomplete) -> Incomplete: ... + def eventexit(self) -> Incomplete: ... + def eventexitsol(self) -> Incomplete: ... + def eventfree(self) -> Incomplete: ... + def eventinit(self) -> Incomplete: ... + def eventinitsol(self) -> Incomplete: ... class Expr: terms: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def degree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def normalize(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def __init__(self, terms: Incomplete = ...) -> None: ... + def degree(self) -> Incomplete: ... + def normalize(self) -> Incomplete: ... def __abs__(self) -> Incomplete: ... def __add__(self, other: Incomplete) -> Incomplete: ... def __eq__(self, other: object) -> bool: ... @@ -257,8 +257,8 @@ class ExprCons: _lhs: Incomplete _rhs: Incomplete expr: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def normalize(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def __init__(self, expr: Incomplete, lhs: Incomplete = ..., rhs: Incomplete = ...) -> None: ... + def normalize(self) -> Incomplete: ... def __bool__(self) -> bool: ... def __eq__(self, other: object) -> bool: ... def __ge__(self, other: object) -> bool: ... @@ -270,9 +270,9 @@ class ExprCons: class GenExpr: _op: Incomplete children: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def degree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getOp(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def __init__(self) -> None: ... + def degree(self) -> Incomplete: ... + def getOp(self) -> Incomplete: ... def __abs__(self) -> Incomplete: ... def __add__(self, other: Incomplete) -> Incomplete: ... def __eq__(self, other: object) -> bool: ... @@ -295,89 +295,89 @@ class GenExpr: class Heur: model: Incomplete name: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def heurexec(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def heurexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def heurexitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def heurfree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def heurinit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def heurinitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def __init__(self) -> None: ... + def heurexec(self, heurtiming: Incomplete, nodeinfeasible: Incomplete) -> Incomplete: ... + def heurexit(self) -> Incomplete: ... + def heurexitsol(self) -> Incomplete: ... + def heurfree(self) -> Incomplete: ... + def heurinit(self) -> Incomplete: ... + def heurinitsol(self) -> Incomplete: ... class IIS: - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def getNNodes(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getSubscip(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getTime(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def greedyMakeIrreducible(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isSubscipInfeasible(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isSubscipIrreducible(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def setSubscipInfeasible(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def setSubscipIrreducible(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def __init__(self) -> None: ... + def getNNodes(self) -> Incomplete: ... + def getSubscip(self) -> Incomplete: ... + def getTime(self) -> Incomplete: ... + def greedyMakeIrreducible(self) -> Incomplete: ... + def isSubscipInfeasible(self) -> Incomplete: ... + def isSubscipIrreducible(self) -> Incomplete: ... + def setSubscipInfeasible(self, infeasible: Incomplete) -> Incomplete: ... + def setSubscipIrreducible(self, irreducible: Incomplete) -> Incomplete: ... class IISfinder: iis: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def iisfinderexec(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def iisfinderfree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def __init__(self) -> None: ... + def iisfinderexec(self) -> Incomplete: ... + def iisfinderfree(self) -> Incomplete: ... class LP: name: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def addCol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addCols(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addRow(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addRows(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def chgBound(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def chgCoef(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def chgObj(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def chgSide(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def clear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def delCols(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def delRows(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getActivity(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getBasisInds(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getBounds(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getDual(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getDualRay(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getIntParam(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNIterations(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getObjVal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getPrimal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getPrimalRay(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getRealParam(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getRedcost(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getSides(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def infinity(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isDualFeasible(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isInfinity(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isOptimal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isPrimalFeasible(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def ncols(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def nrows(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def readLP(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def setIntParam(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def setRealParam(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def solve(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def writeLP(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def __init__(self, name: Incomplete = ..., sense: Incomplete = ...) -> None: ... + def addCol(self, entries: Incomplete, obj: Incomplete = ..., lb: Incomplete = ..., ub: Incomplete = ...) -> Incomplete: ... + def addCols(self, entrieslist: Incomplete, objs: Incomplete = ..., lbs: Incomplete = ..., ubs: Incomplete = ...) -> Incomplete: ... + def addRow(self, entries: Incomplete, lhs: Incomplete = ..., rhs: Incomplete = ...) -> Incomplete: ... + def addRows(self, entrieslist: Incomplete, lhss: Incomplete = ..., rhss: Incomplete = ...) -> Incomplete: ... + def chgBound(self, col: Incomplete, lb: Incomplete, ub: Incomplete) -> Incomplete: ... + def chgCoef(self, row: Incomplete, col: Incomplete, newval: Incomplete) -> Incomplete: ... + def chgObj(self, col: Incomplete, obj: Incomplete) -> Incomplete: ... + def chgSide(self, row: Incomplete, lhs: Incomplete, rhs: Incomplete) -> Incomplete: ... + def clear(self) -> Incomplete: ... + def delCols(self, firstcol: Incomplete, lastcol: Incomplete) -> Incomplete: ... + def delRows(self, firstrow: Incomplete, lastrow: Incomplete) -> Incomplete: ... + def getActivity(self) -> Incomplete: ... + def getBasisInds(self) -> Incomplete: ... + def getBounds(self, firstcol: Incomplete = ..., lastcol: Incomplete = ...) -> Incomplete: ... + def getDual(self) -> Incomplete: ... + def getDualRay(self) -> Incomplete: ... + def getIntParam(self, param: Incomplete) -> Incomplete: ... + def getNIterations(self) -> Incomplete: ... + def getObjVal(self) -> Incomplete: ... + def getPrimal(self) -> Incomplete: ... + def getPrimalRay(self) -> Incomplete: ... + def getRealParam(self, param: Incomplete) -> Incomplete: ... + def getRedcost(self) -> Incomplete: ... + def getSides(self, firstrow: Incomplete = ..., lastrow: Incomplete = ...) -> Incomplete: ... + def infinity(self) -> Incomplete: ... + def isDualFeasible(self) -> Incomplete: ... + def isInfinity(self, val: Incomplete) -> Incomplete: ... + def isOptimal(self) -> Incomplete: ... + def isPrimalFeasible(self) -> Incomplete: ... + def ncols(self) -> Incomplete: ... + def nrows(self) -> Incomplete: ... + def readLP(self, filename: Incomplete) -> Incomplete: ... + def setIntParam(self, param: Incomplete, value: Incomplete) -> Incomplete: ... + def setRealParam(self, param: Incomplete, value: Incomplete) -> Incomplete: ... + def solve(self, dual: Incomplete = ...) -> Incomplete: ... + def writeLP(self, filename: Incomplete) -> Incomplete: ... class MatrixConstraint(numpy.ndarray): - def getConshdlrName(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isActive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isChecked(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isDynamic(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isEnforced(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isInitial(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isLinear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isLocal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isModifiable(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isNonlinear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isPropagated(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isRemovable(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isSeparated(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isStickingAtNode(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getConshdlrName(self) -> Incomplete: ... + def isActive(self) -> Incomplete: ... + def isChecked(self) -> Incomplete: ... + def isDynamic(self) -> Incomplete: ... + def isEnforced(self) -> Incomplete: ... + def isInitial(self) -> Incomplete: ... + def isLinear(self) -> Incomplete: ... + def isLocal(self) -> Incomplete: ... + def isModifiable(self) -> Incomplete: ... + def isNonlinear(self) -> Incomplete: ... + def isPropagated(self) -> Incomplete: ... + def isRemovable(self) -> Incomplete: ... + def isSeparated(self) -> Incomplete: ... + def isStickingAtNode(self) -> Incomplete: ... class MatrixExpr(numpy.ndarray): - def sum(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def sum(self, axis: Incomplete = ..., keepdims: Incomplete = ...) -> Incomplete: ... def __add__(self, other: Incomplete) -> Incomplete: ... def __eq__(self, other: object) -> bool: ... def __ge__(self, other: object) -> bool: ... # type: ignore[override] @@ -402,439 +402,439 @@ class MatrixGenExpr(MatrixExpr): ... class MatrixVariable(MatrixExpr): - def getAvgSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getCol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getIndex(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getLPSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getLbGlobal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getLbLocal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getLbOriginal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getObj(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getUbGlobal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getUbLocal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getUbOriginal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isInLP(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def varMayRound(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def vtype(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def getAvgSol(self) -> Incomplete: ... + def getCol(self) -> Incomplete: ... + def getIndex(self) -> Incomplete: ... + def getLPSol(self) -> Incomplete: ... + def getLbGlobal(self) -> Incomplete: ... + def getLbLocal(self) -> Incomplete: ... + def getLbOriginal(self) -> Incomplete: ... + def getObj(self) -> Incomplete: ... + def getUbGlobal(self) -> Incomplete: ... + def getUbLocal(self) -> Incomplete: ... + def getUbOriginal(self) -> Incomplete: ... + def isInLP(self) -> Incomplete: ... + def varMayRound(self, direction: Incomplete = ...) -> Incomplete: ... + def vtype(self) -> Incomplete: ... class Model: _freescip: Incomplete data: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def _createConsGenNonlinear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def _createConsLinear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def _createConsNonlinear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def _createConsQuadratic(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def _getStageNames(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def activateBenders(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addBendersSubproblem(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addCoefKnapsack(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addCoefLinear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addCons(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addConsAnd(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addConsCardinality(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addConsCoeff(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addConsDisjunction(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addConsElemDisjunction(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addConsIndicator(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addConsKnapsack(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addConsLocal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addConsNode(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addConsOr(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addConsSOS1(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addConsSOS2(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addConsXor(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addConss(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addCut(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addExprNonlinear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addMatrixCons(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addMatrixConsIndicator(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addMatrixVar(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addObjoffset(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addPoolCut(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addPyCons(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addRowDive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addRowExact(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addVar(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addVarLocks(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addVarLocksType(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addVarSOS1(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addVarSOS2(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def addVarToRow(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def allColsInLP(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def allowNegSlackExact(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def appendVarSOS1(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def appendVarSOS2(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def applyCutsProbing(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def attachEventHandlerCallback(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def backtrackProbing(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def branchLPExact(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def branchVar(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def branchVarVal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def cacheRowExtensions(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def calcChildEstimate(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def calcNodeselPriority(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def catchEvent(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def catchRowEvent(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def catchVarEvent(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def checkBendersSubproblemOptimality(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def checkQuadraticNonlinear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def checkSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def chgCapacityKnapsack(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def chgCoefLinear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def chgLhs(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def chgReoptObjective(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def chgRhs(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def chgRowLhsDive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def chgRowRhsDive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def chgVarBranchPriority(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def chgVarLb(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def chgVarLbDive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def chgVarLbGlobal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def chgVarLbNode(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def chgVarLbProbing(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def chgVarObjDive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def chgVarObjProbing(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def chgVarType(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def chgVarUb(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def chgVarUbDive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def chgVarUbGlobal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def chgVarUbNode(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def chgVarUbProbing(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def computeBestSolSubproblems(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def constructLP(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def copyLargeNeighborhoodSearch(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def count(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def createChild(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def createCons(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def createConsFromExpr(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def createEmptyRowSepa(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def createEmptyRowUnspec(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def createOrigSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def createPartialSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def createProbBasic(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def createSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def cutoffNode(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def deactivatePricer(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def delCoefLinear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def delCons(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def delConsLocal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def delVar(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def disableDebugSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def disablePropagation(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def dropEvent(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def dropRowEvent(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def dropVarEvent(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def enableDebugSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def enableExactSolving(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def enableReoptimization(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def endDive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def endProbing(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def endStrongbranch(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def epsilon(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def feasCeil(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def feasFloor(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def feasFrac(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def feasRound(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def feastol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def fixVar(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def fixVarProbing(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def flushRowExtensions(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def frac(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def freeBendersSubproblems(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def freeProb(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def freeReoptSolve(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def freeSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def freeTransform(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def __init__(self, problemName: Incomplete = ..., defaultPlugins: Incomplete = ..., sourceModel: Incomplete = ..., origcopy: Incomplete = ..., globalcopy: Incomplete = ..., enablepricing: Incomplete = ..., createscip: Incomplete = ..., threadsafe: Incomplete = ...) -> None: ... + def _createConsGenNonlinear(self, cons: Incomplete) -> Incomplete: ... + def _createConsLinear(self, lincons: Incomplete) -> Incomplete: ... + def _createConsNonlinear(self, cons: Incomplete) -> Incomplete: ... + def _createConsQuadratic(self, quadcons: Incomplete) -> Incomplete: ... + def _getStageNames(self) -> Incomplete: ... + def activateBenders(self, benders: Incomplete, nsubproblems: Incomplete) -> Incomplete: ... + def addBendersSubproblem(self, benders: Incomplete, subproblem: Incomplete) -> Incomplete: ... + def addCoefKnapsack(self, cons: Incomplete, var: Incomplete, weight: Incomplete) -> Incomplete: ... + def addCoefLinear(self, cons: Incomplete, var: Incomplete, value: Incomplete) -> Incomplete: ... + def addCons(self, cons: Incomplete, name: Incomplete = ..., initial: Incomplete = ..., separate: Incomplete = ..., enforce: Incomplete = ..., check: Incomplete = ..., propagate: Incomplete = ..., local: Incomplete = ..., modifiable: Incomplete = ..., dynamic: Incomplete = ..., removable: Incomplete = ..., stickingatnode: Incomplete = ...) -> Incomplete: ... + def addConsAnd(self, vars: Incomplete, resvar: Incomplete, name: Incomplete = ..., initial: Incomplete = ..., separate: Incomplete = ..., enforce: Incomplete = ..., check: Incomplete = ..., propagate: Incomplete = ..., local: Incomplete = ..., modifiable: Incomplete = ..., dynamic: Incomplete = ..., removable: Incomplete = ..., stickingatnode: Incomplete = ...) -> Incomplete: ... + def addConsCardinality(self, consvars: Incomplete, cardval: Incomplete, indvars: Incomplete = ..., weights: Incomplete = ..., name: Incomplete = ..., initial: Incomplete = ..., separate: Incomplete = ..., enforce: Incomplete = ..., check: Incomplete = ..., propagate: Incomplete = ..., local: Incomplete = ..., dynamic: Incomplete = ..., removable: Incomplete = ..., stickingatnode: Incomplete = ...) -> Incomplete: ... + def addConsCoeff(self, cons: Incomplete, var: Incomplete, coeff: Incomplete) -> Incomplete: ... + def addConsDisjunction(self, conss: Incomplete, name: Incomplete = ..., initial: Incomplete = ..., relaxcons: Incomplete = ..., enforce: Incomplete = ..., check: Incomplete = ..., local: Incomplete = ..., modifiable: Incomplete = ..., dynamic: Incomplete = ...) -> Incomplete: ... + def addConsElemDisjunction(self, disj_cons: Incomplete, cons: Incomplete) -> Incomplete: ... + def addConsIndicator(self, cons: Incomplete, binvar: Incomplete = ..., activeone: Incomplete = ..., name: Incomplete = ..., initial: Incomplete = ..., separate: Incomplete = ..., enforce: Incomplete = ..., check: Incomplete = ..., propagate: Incomplete = ..., local: Incomplete = ..., dynamic: Incomplete = ..., removable: Incomplete = ..., stickingatnode: Incomplete = ...) -> Incomplete: ... + def addConsKnapsack(self, vars: Incomplete, weights: Incomplete, capacity: Incomplete, name: Incomplete = ..., initial: Incomplete = ..., separate: Incomplete = ..., enforce: Incomplete = ..., check: Incomplete = ..., modifiable: Incomplete = ..., propagate: Incomplete = ..., local: Incomplete = ..., dynamic: Incomplete = ..., removable: Incomplete = ..., stickingatnode: Incomplete = ...) -> Incomplete: ... + def addConsLocal(self, cons: Incomplete, validnode: Incomplete = ...) -> Incomplete: ... + def addConsNode(self, node: Incomplete, cons: Incomplete, validnode: Incomplete = ...) -> Incomplete: ... + def addConsOr(self, vars: Incomplete, resvar: Incomplete, name: Incomplete = ..., initial: Incomplete = ..., separate: Incomplete = ..., enforce: Incomplete = ..., check: Incomplete = ..., propagate: Incomplete = ..., local: Incomplete = ..., modifiable: Incomplete = ..., dynamic: Incomplete = ..., removable: Incomplete = ..., stickingatnode: Incomplete = ...) -> Incomplete: ... + def addConsSOS1(self, vars: Incomplete, weights: Incomplete = ..., name: Incomplete = ..., initial: Incomplete = ..., separate: Incomplete = ..., enforce: Incomplete = ..., check: Incomplete = ..., propagate: Incomplete = ..., local: Incomplete = ..., dynamic: Incomplete = ..., removable: Incomplete = ..., stickingatnode: Incomplete = ...) -> Incomplete: ... + def addConsSOS2(self, vars: Incomplete, weights: Incomplete = ..., name: Incomplete = ..., initial: Incomplete = ..., separate: Incomplete = ..., enforce: Incomplete = ..., check: Incomplete = ..., propagate: Incomplete = ..., local: Incomplete = ..., dynamic: Incomplete = ..., removable: Incomplete = ..., stickingatnode: Incomplete = ...) -> Incomplete: ... + def addConsXor(self, vars: Incomplete, rhsvar: Incomplete, name: Incomplete = ..., initial: Incomplete = ..., separate: Incomplete = ..., enforce: Incomplete = ..., check: Incomplete = ..., propagate: Incomplete = ..., local: Incomplete = ..., modifiable: Incomplete = ..., dynamic: Incomplete = ..., removable: Incomplete = ..., stickingatnode: Incomplete = ...) -> Incomplete: ... + def addConss(self, conss: Incomplete, name: Incomplete = ..., initial: Incomplete = ..., separate: Incomplete = ..., enforce: Incomplete = ..., check: Incomplete = ..., propagate: Incomplete = ..., local: Incomplete = ..., modifiable: Incomplete = ..., dynamic: Incomplete = ..., removable: Incomplete = ..., stickingatnode: Incomplete = ...) -> Incomplete: ... + def addCut(self, forcecut: Incomplete = ...) -> Incomplete: ... + def addExprNonlinear(self, cons: Incomplete, expr: Incomplete, coef: Incomplete) -> Incomplete: ... + def addMatrixCons(self, cons: Incomplete, name: Incomplete = ..., initial: Incomplete = ..., separate: Incomplete = ..., enforce: Incomplete = ..., check: Incomplete = ..., propagate: Incomplete = ..., local: Incomplete = ..., modifiable: Incomplete = ..., dynamic: Incomplete = ..., removable: Incomplete = ..., stickingatnode: Incomplete = ...) -> Incomplete: ... + def addMatrixConsIndicator(self, cons: Incomplete, binvar: Incomplete = ..., activeone: Incomplete = ..., name: Incomplete = ..., initial: Incomplete = ..., separate: Incomplete = ..., enforce: Incomplete = ..., check: Incomplete = ..., propagate: Incomplete = ..., local: Incomplete = ..., dynamic: Incomplete = ..., removable: Incomplete = ..., stickingatnode: Incomplete = ...) -> Incomplete: ... + def addMatrixVar(self, shape: Incomplete, name: Incomplete = ..., vtype: Incomplete = ..., lb: Incomplete = ..., ub: Incomplete = ..., obj: Incomplete = ..., pricedVar: Incomplete = ..., pricedVarScore: Incomplete = ...) -> Incomplete: ... + def addObjoffset(self, offset: Incomplete, solutions: Incomplete = ...) -> Incomplete: ... + def addPoolCut(self) -> Incomplete: ... + def addPyCons(self, cons: Incomplete) -> Incomplete: ... + def addRowDive(self, row: Incomplete) -> Incomplete: ... + def addRowExact(self, rowexact: Incomplete) -> Incomplete: ... + def addSol(self, solution: Incomplete, free: Incomplete = ...) -> Incomplete: ... + def addVar(self, name: Incomplete = ..., vtype: Incomplete = ..., lb: Incomplete = ..., ub: Incomplete = ..., obj: Incomplete = ..., pricedVar: Incomplete = ..., pricedVarScore: Incomplete = ..., deletable: Incomplete = ...) -> Incomplete: ... + def addVarLocks(self, var: Incomplete, nlocksdown: Incomplete, nlocksup: Incomplete) -> Incomplete: ... + def addVarLocksType(self, var: Incomplete, locktype: Incomplete, nlocksdown: Incomplete, nlocksup: Incomplete) -> Incomplete: ... + def addVarSOS1(self, cons: Incomplete, var: Incomplete, weight: Incomplete) -> Incomplete: ... + def addVarSOS2(self, cons: Incomplete, var: Incomplete, weight: Incomplete) -> Incomplete: ... + def addVarToRow(self, value: Incomplete) -> Incomplete: ... + def allColsInLP(self) -> Incomplete: ... + def allowNegSlackExact(self) -> Incomplete: ... + def appendVarSOS1(self, cons: Incomplete, var: Incomplete) -> Incomplete: ... + def appendVarSOS2(self, cons: Incomplete, var: Incomplete) -> Incomplete: ... + def applyCutsProbing(self) -> Incomplete: ... + def attachEventHandlerCallback(self, callback: Incomplete, events: Incomplete, name: Incomplete = ..., description: Incomplete = ...) -> Incomplete: ... + def backtrackProbing(self, probingdepth: Incomplete) -> Incomplete: ... + def branchLPExact(self) -> Incomplete: ... + def branchVar(self, variable: Incomplete) -> Incomplete: ... + def branchVarVal(self, variable: Incomplete, value: Incomplete) -> Incomplete: ... + def cacheRowExtensions(self) -> Incomplete: ... + def calcChildEstimate(self, variable: Incomplete, targetvalue: Incomplete) -> Incomplete: ... + def calcNodeselPriority(self, variable: Incomplete, branchdir: Incomplete, targetvalue: Incomplete) -> Incomplete: ... + def catchEvent(self, eventtype: Incomplete, eventhdlr: Incomplete) -> Incomplete: ... + def catchRowEvent(self, row: Incomplete, eventtype: Incomplete, eventhdlr: Incomplete) -> Incomplete: ... + def catchVarEvent(self, var: Incomplete, eventtype: Incomplete, eventhdlr: Incomplete) -> Incomplete: ... + def checkBendersSubproblemOptimality(self, solution: Incomplete, probnumber: Incomplete, benders: Incomplete = ...) -> Incomplete: ... + def checkQuadraticNonlinear(self, cons: Incomplete) -> Incomplete: ... + def checkSol(self, solution: Incomplete, printreason: Incomplete = ..., completely: Incomplete = ..., checkbounds: Incomplete = ..., checkintegrality: Incomplete = ..., checklprows: Incomplete = ..., original: Incomplete = ...) -> Incomplete: ... + def chgCapacityKnapsack(self, cons: Incomplete, capacity: Incomplete) -> Incomplete: ... + def chgCoefLinear(self, cons: Incomplete, var: Incomplete, value: Incomplete) -> Incomplete: ... + def chgLhs(self, cons: Incomplete, lhs: Incomplete) -> Incomplete: ... + def chgReoptObjective(self, coeffs: Incomplete, sense: Incomplete = ...) -> Incomplete: ... + def chgRhs(self, cons: Incomplete, rhs: Incomplete) -> Incomplete: ... + def chgRowLhsDive(self, row: Incomplete, newlhs: Incomplete) -> Incomplete: ... + def chgRowRhsDive(self, row: Incomplete, newrhs: Incomplete) -> Incomplete: ... + def chgVarBranchPriority(self, var: Incomplete, priority: Incomplete) -> Incomplete: ... + def chgVarLb(self, var: Incomplete, lb: Incomplete) -> Incomplete: ... + def chgVarLbDive(self, var: Incomplete, newbound: Incomplete) -> Incomplete: ... + def chgVarLbGlobal(self, var: Incomplete, lb: Incomplete) -> Incomplete: ... + def chgVarLbNode(self, node: Incomplete, var: Incomplete, lb: Incomplete) -> Incomplete: ... + def chgVarLbProbing(self, var: Incomplete, lb: Incomplete) -> Incomplete: ... + def chgVarObjDive(self, var: Incomplete, newobj: Incomplete) -> Incomplete: ... + def chgVarObjProbing(self, var: Incomplete, newobj: Incomplete) -> Incomplete: ... + def chgVarType(self, var: Incomplete, vtype: Incomplete) -> Incomplete: ... + def chgVarUb(self, var: Incomplete, ub: Incomplete) -> Incomplete: ... + def chgVarUbDive(self, var: Incomplete, newbound: Incomplete) -> Incomplete: ... + def chgVarUbGlobal(self, var: Incomplete, ub: Incomplete) -> Incomplete: ... + def chgVarUbNode(self, node: Incomplete, var: Incomplete, ub: Incomplete) -> Incomplete: ... + def chgVarUbProbing(self, var: Incomplete, ub: Incomplete) -> Incomplete: ... + def computeBestSolSubproblems(self) -> Incomplete: ... + def constructLP(self) -> Incomplete: ... + def copyLargeNeighborhoodSearch(self, to_fix: Incomplete, fix_vals: Incomplete) -> Incomplete: ... + def count(self) -> Incomplete: ... + def createChild(self, nodeselprio: Incomplete, estimate: Incomplete) -> Incomplete: ... + def createCons(self, conshdlr: Incomplete, name: Incomplete, initial: Incomplete = ..., separate: Incomplete = ..., enforce: Incomplete = ..., check: Incomplete = ..., propagate: Incomplete = ..., local: Incomplete = ..., modifiable: Incomplete = ..., dynamic: Incomplete = ..., removable: Incomplete = ..., stickingatnode: Incomplete = ...) -> Incomplete: ... + def createConsFromExpr(self, cons: Incomplete, name: Incomplete = ..., initial: Incomplete = ..., separate: Incomplete = ..., enforce: Incomplete = ..., check: Incomplete = ..., propagate: Incomplete = ..., local: Incomplete = ..., modifiable: Incomplete = ..., dynamic: Incomplete = ..., removable: Incomplete = ..., stickingatnode: Incomplete = ...) -> Incomplete: ... + def createEmptyRowSepa(self, sepa: Incomplete, name: Incomplete = ..., lhs: Incomplete = ..., rhs: Incomplete = ..., local: Incomplete = ..., modifiable: Incomplete = ..., removable: Incomplete = ...) -> Incomplete: ... + def createEmptyRowUnspec(self, name: Incomplete = ..., lhs: Incomplete = ..., rhs: Incomplete = ..., local: Incomplete = ..., modifiable: Incomplete = ..., removable: Incomplete = ...) -> Incomplete: ... + def createOrigSol(self, heur: Incomplete = ...) -> Incomplete: ... + def createPartialSol(self, heur: Incomplete = ...) -> Incomplete: ... + def createProbBasic(self, problemName: Incomplete = ...) -> Incomplete: ... + def createSol(self, heur: Incomplete = ..., initlp: Incomplete = ...) -> Incomplete: ... + def cutoffNode(self, node: Incomplete) -> Incomplete: ... + def deactivatePricer(self, pricer: Incomplete) -> Incomplete: ... + def delCoefLinear(self, cons: Incomplete, var: Incomplete) -> Incomplete: ... + def delCons(self, cons: Incomplete) -> Incomplete: ... + def delConsLocal(self, cons: Incomplete) -> Incomplete: ... + def delVar(self, var: Incomplete) -> Incomplete: ... + def disableDebugSol(self) -> Incomplete: ... + def disablePropagation(self, onlyroot: Incomplete = ...) -> Incomplete: ... + def dropEvent(self, eventtype: Incomplete, eventhdlr: Incomplete) -> Incomplete: ... + def dropRowEvent(self, row: Incomplete, eventtype: Incomplete, eventhdlr: Incomplete) -> Incomplete: ... + def dropVarEvent(self, var: Incomplete, eventtype: Incomplete, eventhdlr: Incomplete) -> Incomplete: ... + def enableDebugSol(self) -> Incomplete: ... + def enableExactSolving(self, enable: Incomplete) -> Incomplete: ... + def enableReoptimization(self, enable: Incomplete = ...) -> Incomplete: ... + def endDive(self) -> Incomplete: ... + def endProbing(self) -> Incomplete: ... + def endStrongbranch(self) -> Incomplete: ... + def epsilon(self) -> Incomplete: ... + def feasCeil(self, value: Incomplete) -> Incomplete: ... + def feasFloor(self, value: Incomplete) -> Incomplete: ... + def feasFrac(self, value: Incomplete) -> Incomplete: ... + def feasRound(self, value: Incomplete) -> Incomplete: ... + def feastol(self) -> Incomplete: ... + def fixVar(self, var: Incomplete, val: Incomplete) -> Incomplete: ... + def fixVarProbing(self, var: Incomplete, fixedval: Incomplete) -> Incomplete: ... + def flushRowExtensions(self) -> Incomplete: ... + def frac(self, value: Incomplete) -> Incomplete: ... + def freeBendersSubproblems(self) -> Incomplete: ... + def freeProb(self) -> Incomplete: ... + def freeReoptSolve(self) -> Incomplete: ... + def freeSol(self, solution: Incomplete) -> Incomplete: ... + def freeTransform(self) -> Incomplete: ... @staticmethod - def from_ptr(*args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def generateIIS(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getActivity(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getBendersAuxiliaryVar(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getBendersSubproblem(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getBendersVar(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getBestChild(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getBestLeaf(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getBestNode(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getBestSibling(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getBestSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getBestboundNode(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getBipartiteGraphRepresentation(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getBranchScoreMultiple(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getCapacityKnapsack(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getChildren(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getColRedCost(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getCondition(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getConsNVars(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getConsVals(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getConsVars(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getConss(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getCurrentNode(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getCutEfficacy(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getCutLPSolCutoffDistance(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getCutoffbound(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getDepth(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getDualMultiplier(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getDualSolVal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getDualbound(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getDualboundRoot(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getDualfarkasKnapsack(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getDualfarkasLinear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getDualsolKnapsack(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getDualsolLinear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getGap(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getHeurTiming(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getIIS(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getLPBInvARow(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getLPBInvRow(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getLPBasisInd(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getLPBranchCands(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getLPColsData(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getLPObjVal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getLPRowsData(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getLPSolstat(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getLeaves(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getLhs(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getLinearConsIndicator(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getLocalEstimate(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getLowerbound(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getMajorVersion(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getMaxDepth(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getMinorVersion(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNBestSolsFound(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNBinVars(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNChildren(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNConss(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNContVars(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNCountedSols(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNCuts(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNCutsApplied(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNFeasibleLeaves(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNImplVars(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNInfeasibleLeaves(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNIntVars(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNLPBranchCands(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNLPCols(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNLPIterations(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNLPRows(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNLPs(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNLeaves(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNLimSolsFound(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNNlRows(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNNodeLPIterations(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNNodes(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNReaders(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNSepaRounds(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNSiblings(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNSols(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNSolsFound(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNStrongbranchLPIterations(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNTotalNodes(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNVars(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNVarsAnd(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNlRowActivityBounds(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNlRowSolActivity(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNlRowSolFeasibility(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNlRows(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getObjVal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getObjective(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getObjectiveSense(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getObjlimit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getObjoffset(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getOpenNodes(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getParam(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getParams(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getPlungeDepth(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getPresolvingTime(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getPrimalRay(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getPrimalRayVal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getPrimalbound(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getPrioChild(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getPrioSibling(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getProbName(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getProbingDepth(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getPseudoBranchCands(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getReadingTime(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getResultantAnd(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getRhs(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getRowActivity(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getRowDualSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getRowLPActivity(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getRowLinear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getRowNumIntCols(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getRowObjParallelism(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getRowParallelism(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getSiblings(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getSlack(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getSlackVarIndicator(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getSolObjVal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getSolTime(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getSolVal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getSols(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getSolvingTime(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getStage(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getStageName(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getStatus(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getTechVersion(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getTermsQuadratic(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getTotalTime(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getTransformedCons(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getTransformedVar(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getTreesizeEstimation(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getVal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getValsLinear(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getVarDict(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getVarLbDive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getVarPseudocost(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getVarPseudocostScore(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getVarRedcost(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getVarStrongbranch(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getVarStrongbranchLast(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getVarStrongbranchNode(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getVarUbDive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getVars(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getVarsAnd(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getWeightsKnapsack(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def hasPrimalRay(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def hideOutput(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def inProbing(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def inRepropagation(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def includeBenders(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def includeBendersDefaultCuts(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def includeBenderscut(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def includeBranchrule(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def includeConshdlr(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def includeCutsel(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def includeDefaultPlugins(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def includeEventhdlr(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def includeHeur(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def includeIISfinder(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def includeNodesel(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def includePresol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def includePricer(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def includeProp(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def includeReader(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def includeRelax(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def includeSepa(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def infinity(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def initBendersDefault(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def interruptSolve(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isAndConsSorted(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isCutEfficacious(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isEQ(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isExact(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isFeasEQ(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isFeasGE(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isFeasGT(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isFeasIntegral(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isFeasLE(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isFeasLT(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isFeasNegative(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isFeasPositive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isFeasZero(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isGE(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isGT(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isHugeValue(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isInfinity(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isLE(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isLPSolBasic(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isLT(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isNLPConstructed(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isNegative(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isObjChangedProbing(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isPositive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isZero(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def lpiGetIterations(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def markDoNotAggrVar(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def markDoNotMultaggrVar(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def newProbingNode(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def optimize(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def optimizeNogil(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def presolve(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def printBestSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def printCons(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def printExternalCodeVersions(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def printNlRow(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def printProblem(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def printRow(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def printSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def printStatistics(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def printStatisticsJson(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def printVersion(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def propagateProbing(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def readParams(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def readProblem(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def readSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def readSolFile(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def redirectOutput(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def relax(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def releaseRow(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def repropagateNode(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def resetParam(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def resetParams(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def restartSolve(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def separateSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def setBendersSubproblemIsConvex(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def setBoolParam(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def setCharParam(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def setCheck(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def setEmphasis(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def setEnforced(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def setHeurTiming(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def setHeuristics(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def setInitial(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def setIntParam(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def setLogfile(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def setLongintParam(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def setMaximize(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def setMinimize(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def setModifiable(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def setObjIntegral(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def setObjective(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def setObjlimit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def setParam(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def setParams(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def setParamsCountsols(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def setPresolve(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def setProbName(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def setRealParam(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def setRelaxSolVal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def setRemovable(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def setSeparating(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def setSolVal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def setStringParam(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def setupBendersSubproblem(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def solveBendersSubproblem(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def solveConcurrent(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def solveDiveLP(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def solveProbingLP(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def sortAndCons(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def startDive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def startProbing(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def startStrongbranch(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def tightenVarLb(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def tightenVarLbGlobal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def tightenVarUb(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def tightenVarUbGlobal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def to_ptr(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def translateSubSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def trySol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def updateBendersLowerbounds(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def updateNodeLowerbound(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def updateVarPseudocost(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def version(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def writeBestSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def writeBestTransSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def writeLP(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def writeMIP(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def writeName(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def writeParams(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def writeProblem(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def writeSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def writeStatistics(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def writeStatisticsJson(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def writeTransSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def from_ptr(capsule: Incomplete, take_ownership: Incomplete) -> Incomplete: ... + def generateIIS(self) -> Incomplete: ... + def getActivity(self, cons: Incomplete, sol: Incomplete = ...) -> Incomplete: ... + def getBendersAuxiliaryVar(self, probnumber: Incomplete, benders: Incomplete = ...) -> Incomplete: ... + def getBendersSubproblem(self, probnumber: Incomplete, benders: Incomplete = ...) -> Incomplete: ... + def getBendersVar(self, var: Incomplete, benders: Incomplete = ..., probnumber: Incomplete = ...) -> Incomplete: ... + def getBestChild(self) -> Incomplete: ... + def getBestLeaf(self) -> Incomplete: ... + def getBestNode(self) -> Incomplete: ... + def getBestSibling(self) -> Incomplete: ... + def getBestSol(self) -> Incomplete: ... + def getBestboundNode(self) -> Incomplete: ... + def getBipartiteGraphRepresentation(self, prev_col_features: Incomplete = ..., prev_edge_features: Incomplete = ..., prev_row_features: Incomplete = ..., static_only: Incomplete = ..., suppress_warnings: Incomplete = ...) -> Incomplete: ... + def getBranchScoreMultiple(self, var: Incomplete, gains: Incomplete) -> Incomplete: ... + def getCapacityKnapsack(self, cons: Incomplete) -> Incomplete: ... + def getChildren(self) -> Incomplete: ... + def getColRedCost(self, col: Incomplete) -> Incomplete: ... + def getCondition(self, exact: Incomplete = ...) -> Incomplete: ... + def getConsNVars(self, constraint: Incomplete) -> Incomplete: ... + def getConsVals(self, constraint: Incomplete) -> Incomplete: ... + def getConsVars(self, constraint: Incomplete) -> Incomplete: ... + def getConss(self, transformed: Incomplete = ...) -> Incomplete: ... + def getCurrentNode(self) -> Incomplete: ... + def getCutEfficacy(self, sol: Incomplete = ...) -> Incomplete: ... + def getCutLPSolCutoffDistance(self) -> Incomplete: ... + def getCutoffbound(self) -> Incomplete: ... + def getDepth(self) -> Incomplete: ... + def getDualMultiplier(self, cons: Incomplete) -> Incomplete: ... + def getDualSolVal(self, cons: Incomplete, boundconstraint: Incomplete = ...) -> Incomplete: ... + def getDualbound(self) -> Incomplete: ... + def getDualboundRoot(self) -> Incomplete: ... + def getDualfarkasKnapsack(self, cons: Incomplete) -> Incomplete: ... + def getDualfarkasLinear(self, cons: Incomplete) -> Incomplete: ... + def getDualsolKnapsack(self, cons: Incomplete) -> Incomplete: ... + def getDualsolLinear(self, cons: Incomplete) -> Incomplete: ... + def getGap(self) -> Incomplete: ... + def getHeurTiming(self, heurname: Incomplete) -> Incomplete: ... + def getIIS(self) -> Incomplete: ... + def getLPBInvARow(self, row: Incomplete) -> Incomplete: ... + def getLPBInvRow(self, row: Incomplete) -> Incomplete: ... + def getLPBasisInd(self) -> Incomplete: ... + def getLPBranchCands(self) -> Incomplete: ... + def getLPColsData(self) -> Incomplete: ... + def getLPObjVal(self) -> Incomplete: ... + def getLPRowsData(self) -> Incomplete: ... + def getLPSolstat(self) -> Incomplete: ... + def getLeaves(self) -> Incomplete: ... + def getLhs(self, cons: Incomplete) -> Incomplete: ... + def getLinearConsIndicator(self, cons: Incomplete) -> Incomplete: ... + def getLocalEstimate(self, original: Incomplete = ...) -> Incomplete: ... + def getLowerbound(self) -> Incomplete: ... + def getMajorVersion(self) -> Incomplete: ... + def getMaxDepth(self) -> Incomplete: ... + def getMinorVersion(self) -> Incomplete: ... + def getNBestSolsFound(self) -> Incomplete: ... + def getNBinVars(self) -> Incomplete: ... + def getNChildren(self) -> Incomplete: ... + def getNConss(self, transformed: Incomplete = ...) -> Incomplete: ... + def getNContVars(self) -> Incomplete: ... + def getNCountedSols(self) -> Incomplete: ... + def getNCuts(self) -> Incomplete: ... + def getNCutsApplied(self) -> Incomplete: ... + def getNFeasibleLeaves(self) -> Incomplete: ... + def getNImplVars(self) -> Incomplete: ... + def getNInfeasibleLeaves(self) -> Incomplete: ... + def getNIntVars(self) -> Incomplete: ... + def getNLPBranchCands(self) -> Incomplete: ... + def getNLPCols(self) -> Incomplete: ... + def getNLPIterations(self) -> Incomplete: ... + def getNLPRows(self) -> Incomplete: ... + def getNLPs(self) -> Incomplete: ... + def getNLeaves(self) -> Incomplete: ... + def getNLimSolsFound(self) -> Incomplete: ... + def getNNlRows(self) -> Incomplete: ... + def getNNodeLPIterations(self) -> Incomplete: ... + def getNNodes(self) -> Incomplete: ... + def getNReaders(self) -> Incomplete: ... + def getNSepaRounds(self) -> Incomplete: ... + def getNSiblings(self) -> Incomplete: ... + def getNSols(self) -> Incomplete: ... + def getNSolsFound(self) -> Incomplete: ... + def getNStrongbranchLPIterations(self) -> Incomplete: ... + def getNTotalNodes(self) -> Incomplete: ... + def getNVars(self, transformed: Incomplete = ...) -> Incomplete: ... + def getNVarsAnd(self, and_cons: Incomplete) -> Incomplete: ... + def getNlRowActivityBounds(self, nlrow: Incomplete) -> Incomplete: ... + def getNlRowSolActivity(self, nlrow: Incomplete, sol: Incomplete = ...) -> Incomplete: ... + def getNlRowSolFeasibility(self, nlrow: Incomplete, sol: Incomplete = ...) -> Incomplete: ... + def getNlRows(self) -> Incomplete: ... + def getObjVal(self, original: Incomplete = ...) -> Incomplete: ... + def getObjective(self) -> Incomplete: ... + def getObjectiveSense(self) -> Incomplete: ... + def getObjlimit(self) -> Incomplete: ... + def getObjoffset(self, original: Incomplete = ...) -> Incomplete: ... + def getOpenNodes(self) -> Incomplete: ... + def getParam(self, name: Incomplete) -> Incomplete: ... + def getParams(self) -> Incomplete: ... + def getPlungeDepth(self) -> Incomplete: ... + def getPresolvingTime(self) -> Incomplete: ... + def getPrimalRay(self) -> Incomplete: ... + def getPrimalRayVal(self, var: Incomplete) -> Incomplete: ... + def getPrimalbound(self) -> Incomplete: ... + def getPrioChild(self) -> Incomplete: ... + def getPrioSibling(self) -> Incomplete: ... + def getProbName(self) -> Incomplete: ... + def getProbingDepth(self) -> Incomplete: ... + def getPseudoBranchCands(self) -> Incomplete: ... + def getReadingTime(self) -> Incomplete: ... + def getResultantAnd(self, and_cons: Incomplete) -> Incomplete: ... + def getRhs(self, cons: Incomplete) -> Incomplete: ... + def getRowActivity(self, row: Incomplete) -> Incomplete: ... + def getRowDualSol(self, row: Incomplete) -> Incomplete: ... + def getRowLPActivity(self, row: Incomplete) -> Incomplete: ... + def getRowLinear(self, cons: Incomplete) -> Incomplete: ... + def getRowNumIntCols(self, row: Incomplete) -> Incomplete: ... + def getRowObjParallelism(self, row: Incomplete) -> Incomplete: ... + def getRowParallelism(self, row1: Incomplete, row2: Incomplete, orthofunc: Incomplete = ...) -> Incomplete: ... + def getSiblings(self) -> Incomplete: ... + def getSlack(self, cons: Incomplete, sol: Incomplete = ..., side: Incomplete = ...) -> Incomplete: ... + def getSlackVarIndicator(self, cons: Incomplete) -> Incomplete: ... + def getSolObjVal(self, sol: Incomplete, original: Incomplete = ...) -> Incomplete: ... + def getSolTime(self, sol: Incomplete) -> Incomplete: ... + def getSolVal(self, sol: Incomplete, expr: Incomplete) -> Incomplete: ... + def getSols(self) -> Incomplete: ... + def getSolvingTime(self) -> Incomplete: ... + def getStage(self) -> Incomplete: ... + def getStageName(self) -> Incomplete: ... + def getStatus(self) -> Incomplete: ... + def getTechVersion(self) -> Incomplete: ... + def getTermsQuadratic(self, cons: Incomplete) -> Incomplete: ... + def getTotalTime(self) -> Incomplete: ... + def getTransformedCons(self, cons: Incomplete) -> Incomplete: ... + def getTransformedVar(self, var: Incomplete) -> Incomplete: ... + def getTreesizeEstimation(self) -> Incomplete: ... + def getVal(self, expr: Incomplete) -> Incomplete: ... + def getValsLinear(self, cons: Incomplete) -> Incomplete: ... + def getVarDict(self, transformed: Incomplete = ...) -> Incomplete: ... + def getVarLbDive(self, var: Incomplete) -> Incomplete: ... + def getVarPseudocost(self, var: Incomplete, branchdir: Incomplete) -> Incomplete: ... + def getVarPseudocostScore(self, var: Incomplete, solVal: Incomplete) -> Incomplete: ... + def getVarRedcost(self, var: Incomplete) -> Incomplete: ... + def getVarStrongbranch(self, var: Incomplete, itlim: Incomplete, idempotent: Incomplete = ..., integral: Incomplete = ...) -> Incomplete: ... + def getVarStrongbranchLast(self, var: Incomplete) -> Incomplete: ... + def getVarStrongbranchNode(self, var: Incomplete) -> Incomplete: ... + def getVarUbDive(self, var: Incomplete) -> Incomplete: ... + def getVars(self, transformed: Incomplete = ...) -> Incomplete: ... + def getVarsAnd(self, and_cons: Incomplete) -> Incomplete: ... + def getWeightsKnapsack(self, cons: Incomplete) -> Incomplete: ... + def hasPrimalRay(self) -> Incomplete: ... + def hideOutput(self, quiet: Incomplete = ...) -> Incomplete: ... + def inProbing(self) -> Incomplete: ... + def inRepropagation(self) -> Incomplete: ... + def includeBenders(self, benders: Incomplete, name: Incomplete, desc: Incomplete, priority: Incomplete = ..., cutlp: Incomplete = ..., cutpseudo: Incomplete = ..., cutrelax: Incomplete = ..., shareaux: Incomplete = ...) -> Incomplete: ... + def includeBendersDefaultCuts(self, benders: Incomplete) -> Incomplete: ... + def includeBenderscut(self, benders: Incomplete, benderscut: Incomplete, name: Incomplete, desc: Incomplete, priority: Incomplete = ..., islpcut: Incomplete = ...) -> Incomplete: ... + def includeBranchrule(self, branchrule: Incomplete, name: Incomplete, desc: Incomplete, priority: Incomplete, maxdepth: Incomplete, maxbounddist: Incomplete) -> Incomplete: ... + def includeConshdlr(self, conshdlr: Incomplete, name: Incomplete, desc: Incomplete, sepapriority: Incomplete = ..., enfopriority: Incomplete = ..., chckpriority: Incomplete = ..., sepafreq: Incomplete = ..., propfreq: Incomplete = ..., eagerfreq: Incomplete = ..., maxprerounds: Incomplete = ..., delaysepa: Incomplete = ..., delayprop: Incomplete = ..., needscons: Incomplete = ..., proptiming: Incomplete = ..., presoltiming: Incomplete = ...) -> Incomplete: ... + def includeCutsel(self, cutsel: Incomplete, name: Incomplete, desc: Incomplete, priority: Incomplete) -> Incomplete: ... + def includeDefaultPlugins(self) -> Incomplete: ... + def includeEventhdlr(self, eventhdlr: Incomplete, name: Incomplete, desc: Incomplete) -> Incomplete: ... + def includeHeur(self, heur: Incomplete, name: Incomplete, desc: Incomplete, dispchar: Incomplete, priority: Incomplete = ..., freq: Incomplete = ..., freqofs: Incomplete = ..., maxdepth: Incomplete = ..., timingmask: Incomplete = ..., usessubscip: Incomplete = ...) -> Incomplete: ... + def includeIISfinder(self, iisfinder: Incomplete, name: Incomplete, desc: Incomplete, priority: Incomplete = ..., freq: Incomplete = ...) -> Incomplete: ... + def includeNodesel(self, nodesel: Incomplete, name: Incomplete, desc: Incomplete, stdpriority: Incomplete, memsavepriority: Incomplete) -> Incomplete: ... + def includePresol(self, presol: Incomplete, name: Incomplete, desc: Incomplete, priority: Incomplete, maxrounds: Incomplete, timing: Incomplete = ...) -> Incomplete: ... + def includePricer(self, pricer: Incomplete, name: Incomplete, desc: Incomplete, priority: Incomplete = ..., delay: Incomplete = ...) -> Incomplete: ... + def includeProp(self, prop: Incomplete, name: Incomplete, desc: Incomplete, presolpriority: Incomplete, presolmaxrounds: Incomplete, proptiming: Incomplete, presoltiming: Incomplete = ..., priority: Incomplete = ..., freq: Incomplete = ..., delay: Incomplete = ...) -> Incomplete: ... + def includeReader(self, reader: Incomplete, name: Incomplete, desc: Incomplete, ext: Incomplete) -> Incomplete: ... + def includeRelax(self, relax: Incomplete, name: Incomplete, desc: Incomplete, priority: Incomplete = ..., freq: Incomplete = ...) -> Incomplete: ... + def includeSepa(self, sepa: Incomplete, name: Incomplete, desc: Incomplete, priority: Incomplete = ..., freq: Incomplete = ..., maxbounddist: Incomplete = ..., usessubscip: Incomplete = ..., delay: Incomplete = ...) -> Incomplete: ... + def infinity(self) -> Incomplete: ... + def initBendersDefault(self, subproblems: Incomplete) -> Incomplete: ... + def interruptSolve(self) -> Incomplete: ... + def isAndConsSorted(self, and_cons: Incomplete) -> Incomplete: ... + def isCutEfficacious(self, sol: Incomplete = ...) -> Incomplete: ... + def isEQ(self, val1: Incomplete, val2: Incomplete) -> Incomplete: ... + def isExact(self) -> Incomplete: ... + def isFeasEQ(self, val1: Incomplete, val2: Incomplete) -> Incomplete: ... + def isFeasGE(self, val1: Incomplete, val2: Incomplete) -> Incomplete: ... + def isFeasGT(self, val1: Incomplete, val2: Incomplete) -> Incomplete: ... + def isFeasIntegral(self, value: Incomplete) -> Incomplete: ... + def isFeasLE(self, val1: Incomplete, val2: Incomplete) -> Incomplete: ... + def isFeasLT(self, val1: Incomplete, val2: Incomplete) -> Incomplete: ... + def isFeasNegative(self, value: Incomplete) -> Incomplete: ... + def isFeasPositive(self, value: Incomplete) -> Incomplete: ... + def isFeasZero(self, value: Incomplete) -> Incomplete: ... + def isGE(self, val1: Incomplete, val2: Incomplete) -> Incomplete: ... + def isGT(self, val1: Incomplete, val2: Incomplete) -> Incomplete: ... + def isHugeValue(self, val: Incomplete) -> Incomplete: ... + def isInfinity(self, value: Incomplete) -> Incomplete: ... + def isLE(self, val1: Incomplete, val2: Incomplete) -> Incomplete: ... + def isLPSolBasic(self) -> Incomplete: ... + def isLT(self, val1: Incomplete, val2: Incomplete) -> Incomplete: ... + def isNLPConstructed(self) -> Incomplete: ... + def isNegative(self, val: Incomplete) -> Incomplete: ... + def isObjChangedProbing(self) -> Incomplete: ... + def isPositive(self, val: Incomplete) -> Incomplete: ... + def isZero(self, value: Incomplete) -> Incomplete: ... + def lpiGetIterations(self) -> Incomplete: ... + def markDoNotAggrVar(self, var: Incomplete) -> Incomplete: ... + def markDoNotMultaggrVar(self, var: Incomplete) -> Incomplete: ... + def newProbingNode(self) -> Incomplete: ... + def optimize(self) -> Incomplete: ... + def optimizeNogil(self) -> Incomplete: ... + def presolve(self) -> Incomplete: ... + def printBestSol(self, write_zeros: Incomplete = ...) -> Incomplete: ... + def printCons(self, constraint: Incomplete) -> Incomplete: ... + def printExternalCodeVersions(self) -> Incomplete: ... + def printNlRow(self, nlrow: Incomplete) -> Incomplete: ... + def printProblem(self, ext: Incomplete = ..., trans: Incomplete = ..., genericnames: Incomplete = ...) -> Incomplete: ... + def printRow(self) -> Incomplete: ... + def printSol(self, solution: Incomplete = ..., write_zeros: Incomplete = ...) -> Incomplete: ... + def printStatistics(self, filename: Incomplete = ...) -> Incomplete: ... + def printStatisticsJson(self, filename: Incomplete = ...) -> Incomplete: ... + def printVersion(self) -> Incomplete: ... + def propagateProbing(self, maxproprounds: Incomplete) -> Incomplete: ... + def readParams(self, file: Incomplete) -> Incomplete: ... + def readProblem(self, filename: Incomplete, extension: Incomplete = ...) -> Incomplete: ... + def readSol(self, filename: Incomplete) -> Incomplete: ... + def readSolFile(self, filename: Incomplete) -> Incomplete: ... + def redirectOutput(self) -> Incomplete: ... + def relax(self) -> Incomplete: ... + def releaseRow(self) -> Incomplete: ... + def repropagateNode(self, node: Incomplete) -> Incomplete: ... + def resetParam(self, name: Incomplete) -> Incomplete: ... + def resetParams(self) -> Incomplete: ... + def restartSolve(self) -> Incomplete: ... + def separateSol(self, sol: Incomplete = ..., pretendroot: Incomplete = ..., allowlocal: Incomplete = ..., onlydelayed: Incomplete = ...) -> Incomplete: ... + def setBendersSubproblemIsConvex(self, benders: Incomplete, probnumber: Incomplete, isconvex: Incomplete = ...) -> Incomplete: ... + def setBoolParam(self, name: Incomplete, value: Incomplete) -> Incomplete: ... + def setCharParam(self, name: Incomplete, value: Incomplete) -> Incomplete: ... + def setCheck(self, cons: Incomplete, newCheck: Incomplete) -> Incomplete: ... + def setEmphasis(self, paraemphasis: Incomplete, quiet: Incomplete = ...) -> Incomplete: ... + def setEnforced(self, cons: Incomplete, newEnf: Incomplete) -> Incomplete: ... + def setHeurTiming(self, heurname: Incomplete, heurtiming: Incomplete) -> Incomplete: ... + def setHeuristics(self, setting: Incomplete) -> Incomplete: ... + def setInitial(self, cons: Incomplete, newInit: Incomplete) -> Incomplete: ... + def setIntParam(self, name: Incomplete, value: Incomplete) -> Incomplete: ... + def setLogfile(self, path: Incomplete) -> Incomplete: ... + def setLongintParam(self, name: Incomplete, value: Incomplete) -> Incomplete: ... + def setMaximize(self) -> Incomplete: ... + def setMinimize(self) -> Incomplete: ... + def setModifiable(self, cons: Incomplete, newMod: Incomplete) -> Incomplete: ... + def setObjIntegral(self) -> Incomplete: ... + def setObjective(self, expr: Incomplete, sense: Incomplete = ..., clear: Incomplete = ...) -> Incomplete: ... + def setObjlimit(self, objlimit: Incomplete) -> Incomplete: ... + def setParam(self, name: Incomplete, value: Incomplete) -> Incomplete: ... + def setParams(self, params: Incomplete) -> Incomplete: ... + def setParamsCountsols(self) -> Incomplete: ... + def setPresolve(self, setting: Incomplete) -> Incomplete: ... + def setProbName(self, name: Incomplete) -> Incomplete: ... + def setRealParam(self, name: Incomplete, value: Incomplete) -> Incomplete: ... + def setRelaxSolVal(self, var: Incomplete, val: Incomplete) -> Incomplete: ... + def setRemovable(self, cons: Incomplete, newRem: Incomplete) -> Incomplete: ... + def setSeparating(self, setting: Incomplete) -> Incomplete: ... + def setSolVal(self, solution: Incomplete, var: Incomplete, val: Incomplete) -> Incomplete: ... + def setStringParam(self, name: Incomplete, value: Incomplete) -> Incomplete: ... + def setupBendersSubproblem(self, probnumber: Incomplete, benders: Incomplete = ..., solution: Incomplete = ..., checktype: Incomplete = ...) -> Incomplete: ... + def solveBendersSubproblem(self, probnumber: Incomplete, solvecip: Incomplete, benders: Incomplete = ..., solution: Incomplete = ...) -> Incomplete: ... + def solveConcurrent(self) -> Incomplete: ... + def solveDiveLP(self, itlim: Incomplete = ...) -> Incomplete: ... + def solveProbingLP(self, itlim: Incomplete = ...) -> Incomplete: ... + def sortAndCons(self, and_cons: Incomplete) -> Incomplete: ... + def startDive(self) -> Incomplete: ... + def startProbing(self) -> Incomplete: ... + def startStrongbranch(self) -> Incomplete: ... + def tightenVarLb(self, var: Incomplete, lb: Incomplete, force: Incomplete = ...) -> Incomplete: ... + def tightenVarLbGlobal(self, var: Incomplete, lb: Incomplete, force: Incomplete = ...) -> Incomplete: ... + def tightenVarUb(self, var: Incomplete, ub: Incomplete, force: Incomplete = ...) -> Incomplete: ... + def tightenVarUbGlobal(self, var: Incomplete, ub: Incomplete, force: Incomplete = ...) -> Incomplete: ... + def to_ptr(self, give_ownership: Incomplete) -> Incomplete: ... + def translateSubSol(self, sub_model: Incomplete, sol: Incomplete, heur: Incomplete) -> Incomplete: ... + def trySol(self, solution: Incomplete, printreason: Incomplete = ..., completely: Incomplete = ..., checkbounds: Incomplete = ..., checkintegrality: Incomplete = ..., checklprows: Incomplete = ..., free: Incomplete = ...) -> Incomplete: ... + def updateBendersLowerbounds(self, lowerbounds: Incomplete, benders: Incomplete = ...) -> Incomplete: ... + def updateNodeLowerbound(self, node: Incomplete, lb: Incomplete) -> Incomplete: ... + def updateVarPseudocost(self, var: Incomplete, valdelta: Incomplete, objdelta: Incomplete, weight: Incomplete) -> Incomplete: ... + def version(self) -> Incomplete: ... + def writeBestSol(self, filename: Incomplete = ..., write_zeros: Incomplete = ...) -> Incomplete: ... + def writeBestTransSol(self, filename: Incomplete = ..., write_zeros: Incomplete = ...) -> Incomplete: ... + def writeLP(self, filename: Incomplete = ...) -> Incomplete: ... + def writeMIP(self, filename: Incomplete, genericnames: Incomplete = ..., origobj: Incomplete = ..., lazyconss: Incomplete = ...) -> Incomplete: ... + def writeName(self, var: Incomplete) -> Incomplete: ... + def writeParams(self, filename: Incomplete = ..., comments: Incomplete = ..., onlychanged: Incomplete = ..., verbose: Incomplete = ...) -> Incomplete: ... + def writeProblem(self, filename: Incomplete = ..., trans: Incomplete = ..., genericnames: Incomplete = ..., verbose: Incomplete = ...) -> Incomplete: ... + def writeSol(self, solution: Incomplete, filename: Incomplete = ..., write_zeros: Incomplete = ...) -> Incomplete: ... + def writeStatistics(self, filename: Incomplete = ...) -> Incomplete: ... + def writeStatisticsJson(self, filename: Incomplete = ...) -> Incomplete: ... + def writeTransSol(self, solution: Incomplete, filename: Incomplete = ..., write_zeros: Incomplete = ...) -> Incomplete: ... def __eq__(self, other: object) -> bool: ... def __ge__(self, other: object) -> bool: ... def __gt__(self, other: object) -> bool: ... @@ -846,12 +846,12 @@ class Model: class NLRow: data: Incomplete name: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def getConstant(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getDualsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getLhs(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getLinearTerms(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getRhs(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def __init__(self) -> None: ... + def getConstant(self) -> Incomplete: ... + def getDualsol(self) -> Incomplete: ... + def getLhs(self) -> Incomplete: ... + def getLinearTerms(self) -> Incomplete: ... + def getRhs(self) -> Incomplete: ... def __eq__(self, other: object) -> bool: ... def __ge__(self, other: object) -> bool: ... def __gt__(self, other: object) -> bool: ... @@ -862,21 +862,21 @@ class NLRow: class Node: data: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def getAddedConss(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getDepth(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getDomchg(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getEstimate(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getLowerbound(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNAddedConss(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNDomchg(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNParentBranchings(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNumber(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getParent(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getParentBranchings(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getType(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isActive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isPropagatedAgain(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def __init__(self) -> None: ... + def getAddedConss(self) -> Incomplete: ... + def getDepth(self) -> Incomplete: ... + def getDomchg(self) -> Incomplete: ... + def getEstimate(self) -> Incomplete: ... + def getLowerbound(self) -> Incomplete: ... + def getNAddedConss(self) -> Incomplete: ... + def getNDomchg(self) -> Incomplete: ... + def getNParentBranchings(self) -> Incomplete: ... + def getNumber(self) -> Incomplete: ... + def getParent(self) -> Incomplete: ... + def getParentBranchings(self) -> Incomplete: ... + def getType(self) -> Incomplete: ... + def isActive(self) -> Incomplete: ... + def isPropagatedAgain(self) -> Incomplete: ... def __eq__(self, other: object) -> bool: ... def __ge__(self, other: object) -> bool: ... def __gt__(self, other: object) -> bool: ... @@ -887,14 +887,14 @@ class Node: class Nodesel: model: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def nodecomp(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def nodeexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def nodeexitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def nodefree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def nodeinit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def nodeinitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def nodeselect(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def __init__(self) -> None: ... + def nodecomp(self, node1: Incomplete, node2: Incomplete) -> Incomplete: ... + def nodeexit(self) -> Incomplete: ... + def nodeexitsol(self) -> Incomplete: ... + def nodefree(self) -> Incomplete: ... + def nodeinit(self) -> Incomplete: ... + def nodeinitsol(self) -> Incomplete: ... + def nodeselect(self) -> Incomplete: ... class Op: add: ClassVar[str] = ... @@ -918,14 +918,14 @@ class PY_SCIP_BENDERSENFOTYPE: LP: ClassVar[int] = ... PSEUDO: ClassVar[int] = ... RELAX: ClassVar[int] = ... - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... + def __init__(self) -> None: ... class PY_SCIP_BRANCHDIR: AUTO: ClassVar[int] = ... DOWNWARDS: ClassVar[int] = ... FIXED: ClassVar[int] = ... UPWARDS: ClassVar[int] = ... - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... + def __init__(self) -> None: ... class PY_SCIP_EVENTTYPE: BESTSOLFOUND: ClassVar[int] = ... @@ -984,7 +984,7 @@ class PY_SCIP_EVENTTYPE: VAREVENT: ClassVar[int] = ... VARFIXED: ClassVar[int] = ... VARUNLOCKED: ClassVar[int] = ... - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... + def __init__(self) -> None: ... class PY_SCIP_HEURTIMING: AFTERLPLOOP: ClassVar[int] = ... @@ -998,18 +998,18 @@ class PY_SCIP_HEURTIMING: DURINGLPLOOP: ClassVar[int] = ... DURINGPRESOLLOOP: ClassVar[int] = ... DURINGPRICINGLOOP: ClassVar[int] = ... - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... + def __init__(self) -> None: ... class PY_SCIP_IMPLINTTYPE: NONE: ClassVar[int] = ... STRONG: ClassVar[int] = ... WEAK: ClassVar[int] = ... - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... + def __init__(self) -> None: ... class PY_SCIP_LOCKTYPE: CONFLICT: ClassVar[int] = ... MODEL: ClassVar[int] = ... - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... + def __init__(self) -> None: ... class PY_SCIP_LPPARAM: BARRIERCONVTOL: ClassVar[int] = ... @@ -1032,7 +1032,7 @@ class PY_SCIP_LPPARAM: SCALING: ClassVar[int] = ... THREADS: ClassVar[int] = ... TIMING: ClassVar[int] = ... - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... + def __init__(self) -> None: ... class PY_SCIP_LPSOLSTAT: ERROR: ClassVar[int] = ... @@ -1043,7 +1043,7 @@ class PY_SCIP_LPSOLSTAT: OPTIMAL: ClassVar[int] = ... TIMELIMIT: ClassVar[int] = ... UNBOUNDEDRAY: ClassVar[int] = ... - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... + def __init__(self) -> None: ... class PY_SCIP_NODETYPE: CHILD: ClassVar[int] = ... @@ -1057,7 +1057,7 @@ class PY_SCIP_NODETYPE: REFOCUSNODE: ClassVar[int] = ... SIBLING: ClassVar[int] = ... SUBROOT: ClassVar[int] = ... - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... + def __init__(self) -> None: ... class PY_SCIP_PARAMEMPHASIS: BENCHMARK: ClassVar[int] = ... @@ -1072,28 +1072,28 @@ class PY_SCIP_PARAMEMPHASIS: PHASEFEAS: ClassVar[int] = ... PHASEIMPROVE: ClassVar[int] = ... PHASEPROOF: ClassVar[int] = ... - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... + def __init__(self) -> None: ... class PY_SCIP_PARAMSETTING: AGGRESSIVE: ClassVar[int] = ... DEFAULT: ClassVar[int] = ... FAST: ClassVar[int] = ... OFF: ClassVar[int] = ... - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... + def __init__(self) -> None: ... class PY_SCIP_PRESOLTIMING: EXHAUSTIVE: ClassVar[int] = ... FAST: ClassVar[int] = ... MEDIUM: ClassVar[int] = ... NONE: ClassVar[int] = ... - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... + def __init__(self) -> None: ... class PY_SCIP_PROPTIMING: AFTERLPLOOP: ClassVar[int] = ... AFTERLPNODE: ClassVar[int] = ... BEFORELP: ClassVar[int] = ... DURINGLPLOOP: ClassVar[int] = ... - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... + def __init__(self) -> None: ... class PY_SCIP_RESULT: BRANCHED: ClassVar[int] = ... @@ -1113,14 +1113,14 @@ class PY_SCIP_RESULT: SUCCESS: ClassVar[int] = ... SUSPENDED: ClassVar[int] = ... UNBOUNDED: ClassVar[int] = ... - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... + def __init__(self) -> None: ... class PY_SCIP_ROWORIGINTYPE: CONS: ClassVar[int] = ... REOPT: ClassVar[int] = ... SEPA: ClassVar[int] = ... UNSPEC: ClassVar[int] = ... - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... + def __init__(self) -> None: ... class PY_SCIP_SOLORIGIN: LPSOL: ClassVar[int] = ... @@ -1131,7 +1131,7 @@ class PY_SCIP_SOLORIGIN: RELAXSOL: ClassVar[int] = ... UNKNOWN: ClassVar[int] = ... ZERO: ClassVar[int] = ... - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... + def __init__(self) -> None: ... class PY_SCIP_STAGE: EXITPRESOLVE: ClassVar[int] = ... @@ -1148,7 +1148,7 @@ class PY_SCIP_STAGE: SOLVING: ClassVar[int] = ... TRANSFORMED: ClassVar[int] = ... TRANSFORMING: ClassVar[int] = ... - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... + def __init__(self) -> None: ... class PY_SCIP_STATUS: BESTSOLLIMIT: ClassVar[int] = ... @@ -1168,94 +1168,94 @@ class PY_SCIP_STATUS: UNBOUNDED: ClassVar[int] = ... UNKNOWN: ClassVar[int] = ... USERINTERRUPT: ClassVar[int] = ... - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... + def __init__(self) -> None: ... class PowExpr(GenExpr): expo: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... + def __init__(self) -> None: ... class Presol: model: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def presolexec(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def presolexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def presolexitpre(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def presolfree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def presolinit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def presolinitpre(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def __init__(self) -> None: ... + def presolexec(self, nrounds: Incomplete, presoltiming: Incomplete) -> Incomplete: ... + def presolexit(self) -> Incomplete: ... + def presolexitpre(self) -> Incomplete: ... + def presolfree(self) -> Incomplete: ... + def presolinit(self) -> Incomplete: ... + def presolinitpre(self) -> Incomplete: ... class Pricer: model: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def pricerexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def pricerexitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def pricerfarkas(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def pricerfree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def pricerinit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def pricerinitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def pricerredcost(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def __init__(self) -> None: ... + def pricerexit(self) -> Incomplete: ... + def pricerexitsol(self) -> Incomplete: ... + def pricerfarkas(self) -> Incomplete: ... + def pricerfree(self) -> Incomplete: ... + def pricerinit(self) -> Incomplete: ... + def pricerinitsol(self) -> Incomplete: ... + def pricerredcost(self) -> Incomplete: ... class ProdExpr(GenExpr): constant: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... + def __init__(self) -> None: ... class Prop: model: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def propexec(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def propexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def propexitpre(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def propexitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def propfree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def propinit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def propinitpre(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def propinitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def proppresol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def propresprop(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def __init__(self) -> None: ... + def propexec(self, proptiming: Incomplete) -> Incomplete: ... + def propexit(self) -> Incomplete: ... + def propexitpre(self) -> Incomplete: ... + def propexitsol(self, restart: Incomplete) -> Incomplete: ... + def propfree(self) -> Incomplete: ... + def propinit(self) -> Incomplete: ... + def propinitpre(self) -> Incomplete: ... + def propinitsol(self) -> Incomplete: ... + def proppresol(self, nrounds: Incomplete, presoltiming: Incomplete, result_dict: Incomplete) -> Incomplete: ... + def propresprop(self, confvar: Incomplete, inferinfo: Incomplete, bdtype: Incomplete, relaxedbd: Incomplete) -> Incomplete: ... class Reader: model: Incomplete name: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def readerfree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def readerread(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def readerwrite(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def __init__(self) -> None: ... + def readerfree(self) -> Incomplete: ... + def readerread(self, filename: Incomplete) -> Incomplete: ... + def readerwrite(self, file: Incomplete, name: Incomplete, transformed: Incomplete, objsense: Incomplete, objoffset: Incomplete, objscale: Incomplete, binvars: Incomplete, intvars: Incomplete, implvars: Incomplete, contvars: Incomplete, fixedvars: Incomplete, startnvars: Incomplete, conss: Incomplete, maxnconss: Incomplete, startnconss: Incomplete, genericnames: Incomplete) -> Incomplete: ... class Relax: model: Incomplete name: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def relaxexec(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def relaxexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def relaxexitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def relaxfree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def relaxinit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def relaxinitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def __init__(self) -> None: ... + def relaxexec(self) -> Incomplete: ... + def relaxexit(self) -> Incomplete: ... + def relaxexitsol(self) -> Incomplete: ... + def relaxfree(self) -> Incomplete: ... + def relaxinit(self) -> Incomplete: ... + def relaxinitsol(self) -> Incomplete: ... class Row: data: Incomplete name: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def getAge(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getBasisStatus(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getCols(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getConsOriginConshdlrtype(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getConstant(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getDualfarkas(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getDualsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getLPPos(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getLhs(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNLPNonz(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNNonz(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNorm(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getOrigintype(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getRhs(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getVals(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isInGlobalCutpool(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isIntegral(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isLocal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isModifiable(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isRemovable(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def __init__(self) -> None: ... + def getAge(self) -> Incomplete: ... + def getBasisStatus(self) -> Incomplete: ... + def getCols(self) -> Incomplete: ... + def getConsOriginConshdlrtype(self) -> Incomplete: ... + def getConstant(self) -> Incomplete: ... + def getDualfarkas(self) -> Incomplete: ... + def getDualsol(self) -> Incomplete: ... + def getLPPos(self) -> Incomplete: ... + def getLhs(self) -> Incomplete: ... + def getNLPNonz(self) -> Incomplete: ... + def getNNonz(self) -> Incomplete: ... + def getNorm(self) -> Incomplete: ... + def getOrigintype(self) -> Incomplete: ... + def getRhs(self) -> Incomplete: ... + def getVals(self) -> Incomplete: ... + def isInGlobalCutpool(self) -> Incomplete: ... + def isIntegral(self) -> Incomplete: ... + def isLocal(self) -> Incomplete: ... + def isModifiable(self) -> Incomplete: ... + def isRemovable(self) -> Incomplete: ... def __eq__(self, other: object) -> bool: ... def __ge__(self, other: object) -> bool: ... def __gt__(self, other: object) -> bool: ... @@ -1266,28 +1266,28 @@ class Row: class RowExact: data: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... + def __init__(self) -> None: ... class Sepa: model: Incomplete name: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def sepaexeclp(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def sepaexecsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def sepaexit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def sepaexitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def sepafree(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def sepainit(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def sepainitsol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def __init__(self) -> None: ... + def sepaexeclp(self) -> Incomplete: ... + def sepaexecsol(self, solution: Incomplete) -> Incomplete: ... + def sepaexit(self) -> Incomplete: ... + def sepaexitsol(self) -> Incomplete: ... + def sepafree(self) -> Incomplete: ... + def sepainit(self) -> Incomplete: ... + def sepainitsol(self) -> Incomplete: ... class Solution: data: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def _checkStage(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def _evaluate(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getOrigin(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def retransform(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def translate(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def __init__(self, raise_error: Incomplete = ...) -> None: ... + def _checkStage(self, method: Incomplete) -> Incomplete: ... + def _evaluate(self, term: Incomplete) -> Incomplete: ... + def getOrigin(self) -> Incomplete: ... + def retransform(self) -> Incomplete: ... + def translate(self, target: Incomplete) -> Incomplete: ... def __getitem__(self, index: Incomplete) -> Incomplete: ... def __setitem__(self, key: Incomplete, value: Incomplete) -> None: ... @@ -1313,13 +1313,13 @@ class Statistics: class SumExpr(GenExpr): coefs: Incomplete constant: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... + def __init__(self) -> None: ... class Term: hashval: Incomplete ptrtuple: Incomplete vartuple: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... + def __init__(self) -> None: ... def __add__(self, other: Incomplete) -> Incomplete: ... def __eq__(self, other: object) -> bool: ... def __ge__(self, other: object) -> bool: ... @@ -1332,48 +1332,48 @@ class Term: def __ne__(self, other: object) -> bool: ... class UnaryExpr(GenExpr): - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... + def __init__(self, op: Incomplete, expr: Incomplete) -> None: ... class VarExpr(GenExpr): var: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... + def __init__(self, var: Incomplete) -> None: ... class Variable(Expr): data: Incomplete name: Incomplete - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... - def getAvgSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getCol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getImplType(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getIndex(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getLPSol(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getLbGlobal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getLbLocal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getLbOriginal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNBranchings(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNBranchingsCurrentRun(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNLocksDown(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNLocksDownType(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNLocksUp(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getNLocksUpType(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getObj(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getStatus(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getUbGlobal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getUbLocal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def getUbOriginal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isActive(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isBinary(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isDeletable(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isImpliedIntegral(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isInLP(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isIntegral(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isNonImpliedIntegral(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isOriginal(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def isRelaxationOnly(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def markRelaxationOnly(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def ptr(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def varMayRound(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... - def vtype(self, *args: Incomplete, **kwargs: Incomplete) -> Incomplete: ... + def __init__(self) -> None: ... + def getAvgSol(self) -> Incomplete: ... + def getCol(self) -> Incomplete: ... + def getImplType(self) -> Incomplete: ... + def getIndex(self) -> Incomplete: ... + def getLPSol(self) -> Incomplete: ... + def getLbGlobal(self) -> Incomplete: ... + def getLbLocal(self) -> Incomplete: ... + def getLbOriginal(self) -> Incomplete: ... + def getNBranchings(self, branchdir: Incomplete) -> Incomplete: ... + def getNBranchingsCurrentRun(self, branchdir: Incomplete) -> Incomplete: ... + def getNLocksDown(self) -> Incomplete: ... + def getNLocksDownType(self, locktype: Incomplete) -> Incomplete: ... + def getNLocksUp(self) -> Incomplete: ... + def getNLocksUpType(self, locktype: Incomplete) -> Incomplete: ... + def getObj(self) -> Incomplete: ... + def getStatus(self) -> Incomplete: ... + def getUbGlobal(self) -> Incomplete: ... + def getUbLocal(self) -> Incomplete: ... + def getUbOriginal(self) -> Incomplete: ... + def isActive(self) -> Incomplete: ... + def isBinary(self) -> Incomplete: ... + def isDeletable(self) -> Incomplete: ... + def isImpliedIntegral(self) -> Incomplete: ... + def isInLP(self) -> Incomplete: ... + def isIntegral(self) -> Incomplete: ... + def isNonImpliedIntegral(self) -> Incomplete: ... + def isOriginal(self) -> Incomplete: ... + def isRelaxationOnly(self) -> Incomplete: ... + def markRelaxationOnly(self) -> Incomplete: ... + def ptr(self) -> Incomplete: ... + def varMayRound(self, direction: Incomplete = ...) -> Incomplete: ... + def vtype(self) -> Incomplete: ... class _VarArray: - def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... + def __init__(self) -> None: ... From 002afee5bf3a39b4f5d9e4415b956b3ef336e812 Mon Sep 17 00:00:00 2001 From: Joao-Dionisio Date: Wed, 14 Jan 2026 17:06:24 +0000 Subject: [PATCH 12/23] Add @disjoint_base decorator and fix sum() override for numpy subclasses --- scripts/generate_stubs.py | 26 ++++++++++++++++++++++-- src/pyscipopt/scip.pyi | 42 ++++++++++++++++++++++++++++++++++++++- 2 files changed, 65 insertions(+), 3 deletions(-) diff --git a/scripts/generate_stubs.py b/scripts/generate_stubs.py index cb8ac725c..06d412f65 100755 --- a/scripts/generate_stubs.py +++ b/scripts/generate_stubs.py @@ -100,6 +100,20 @@ class StubGenerator: '__matmul__': 'def __matmul__(self, other: Incomplete) -> Incomplete: ...', } + # Classes that should have @disjoint_base decorator + # These are user-facing classes that should not be structurally compatible + DISJOINT_BASE_CLASSES = { + 'Benders', 'Benderscut', 'BoundChange', 'Branchrule', 'Column', 'ColumnExact', + 'Conshdlr', 'Constant', 'Constraint', 'Cutsel', 'DomainChanges', 'Event', + 'Eventhdlr', 'Expr', 'ExprCons', 'GenExpr', 'Heur', 'IIS', 'IISfinder', + 'LP', 'Model', 'NLRow', 'Node', 'Nodesel', 'PowExpr', 'Presol', 'Pricer', + 'ProdExpr', 'Prop', 'Reader', 'Relax', 'Row', 'RowExact', 'Sepa', 'Solution', + 'SumExpr', 'VarExpr', 'Variable', + } + + # Methods that need type: ignore[override] for numpy subclasses + NUMPY_OVERRIDE_METHODS = {'__ge__', '__le__', '__gt__', '__lt__', 'sum'} + def __init__(self, src_dir: Path): self.src_dir = src_dir self.module_info = ModuleInfo() @@ -579,6 +593,7 @@ def generate_stub(self) -> str: lines.append('') lines.append('import numpy') lines.append('from _typeshed import Incomplete') + lines.append('from typing_extensions import disjoint_base') lines.append('') # Module-level variables and functions (sorted alphabetically) @@ -627,6 +642,10 @@ def _generate_class_stub(self, cls_info: ClassInfo) -> list: if cls_info.is_dataclass: lines.append('@dataclass') + # Add @disjoint_base decorator for appropriate classes + if cls_info.name in self.DISJOINT_BASE_CLASSES: + lines.append('@disjoint_base') + # Class declaration if cls_info.parent: lines.append(f'class {cls_info.name}({cls_info.parent}):') @@ -695,6 +714,9 @@ def _generate_class_stub(self, cls_info: ClassInfo) -> list: lines.append(f' {stub}') else: stub = self._generate_method_stub(method, params) + # Add type: ignore[override] for numpy subclass override methods + if is_numpy_subclass and method in self.NUMPY_OVERRIDE_METHODS: + stub = stub.replace(': ...', ': ... # type: ignore[override]') lines.append(f' {stub}') # Combine special methods and comparison methods, sort alphabetically @@ -711,8 +733,8 @@ def _generate_class_stub(self, cls_info: ClassInfo) -> list: for method in comparison_methods: stub = self.COMPARISON_METHODS[method] - # Add type: ignore[override] for numpy subclass comparison methods - if is_numpy_subclass and method in ('__ge__', '__le__', '__gt__', '__lt__'): + # Add type: ignore[override] for numpy subclass override methods + if is_numpy_subclass and method in self.NUMPY_OVERRIDE_METHODS: stub = stub.replace(': ...', ': ... # type: ignore[override]') all_special.append((method, stub)) diff --git a/src/pyscipopt/scip.pyi b/src/pyscipopt/scip.pyi index 422c59f30..e06e71896 100644 --- a/src/pyscipopt/scip.pyi +++ b/src/pyscipopt/scip.pyi @@ -3,6 +3,7 @@ from typing import ClassVar import numpy from _typeshed import Incomplete +from typing_extensions import disjoint_base CONST: Term EventNames: dict @@ -32,6 +33,7 @@ sqrt: Incomplete str_conversion: Incomplete value_to_array: Incomplete +@disjoint_base class Benders: model: Incomplete name: Incomplete @@ -51,6 +53,7 @@ class Benders: def benderssolvesub(self, solution: Incomplete, probnumber: Incomplete) -> Incomplete: ... def benderssolvesubconvex(self, solution: Incomplete, probnumber: Incomplete, onlyconvex: Incomplete) -> Incomplete: ... +@disjoint_base class Benderscut: benders: Incomplete model: Incomplete @@ -63,6 +66,7 @@ class Benderscut: def benderscutinit(self) -> Incomplete: ... def benderscutinitsol(self) -> Incomplete: ... +@disjoint_base class BoundChange: def __init__(self) -> None: ... def getBoundchgtype(self) -> Incomplete: ... @@ -71,6 +75,7 @@ class BoundChange: def getVar(self) -> Incomplete: ... def isRedundant(self) -> Incomplete: ... +@disjoint_base class Branchrule: model: Incomplete def __init__(self) -> None: ... @@ -83,6 +88,7 @@ class Branchrule: def branchinit(self) -> Incomplete: ... def branchinitsol(self) -> Incomplete: ... +@disjoint_base class Column: data: Incomplete def __init__(self) -> None: ... @@ -103,10 +109,12 @@ class Column: def __lt__(self, other: object) -> bool: ... def __ne__(self, other: object) -> bool: ... +@disjoint_base class ColumnExact: data: Incomplete def __init__(self) -> None: ... +@disjoint_base class Conshdlr: model: Incomplete name: Incomplete @@ -145,10 +153,12 @@ class Conshdlr: def conssepasol(self, constraints: Incomplete, nusefulconss: Incomplete, solution: Incomplete) -> Incomplete: ... def constrans(self, sourceconstraint: Incomplete) -> Incomplete: ... +@disjoint_base class Constant(GenExpr): number: Incomplete def __init__(self, number: Incomplete) -> None: ... +@disjoint_base class Constraint: data: Incomplete name: Incomplete @@ -178,6 +188,7 @@ class Constraint: def __lt__(self, other: object) -> bool: ... def __ne__(self, other: object) -> bool: ... +@disjoint_base class Cutsel: model: Incomplete def __init__(self) -> None: ... @@ -188,10 +199,12 @@ class Cutsel: def cutselinitsol(self) -> Incomplete: ... def cutselselect(self, cuts: Incomplete, forcedcuts: Incomplete, root: Incomplete, maxnselectedcuts: Incomplete) -> Incomplete: ... +@disjoint_base class DomainChanges: def __init__(self) -> None: ... def getBoundchgs(self) -> Incomplete: ... +@disjoint_base class Event: data: Incomplete name: Incomplete @@ -212,6 +225,7 @@ class Event: def __lt__(self, other: object) -> bool: ... def __ne__(self, other: object) -> bool: ... +@disjoint_base class Eventhdlr: model: Incomplete name: Incomplete @@ -225,6 +239,7 @@ class Eventhdlr: def eventinit(self) -> Incomplete: ... def eventinitsol(self) -> Incomplete: ... +@disjoint_base class Expr: terms: Incomplete def __init__(self, terms: Incomplete = ...) -> None: ... @@ -253,6 +268,7 @@ class Expr: def __sub__(self, other: Incomplete) -> Incomplete: ... def __truediv__(self, other: Incomplete) -> Incomplete: ... +@disjoint_base class ExprCons: _lhs: Incomplete _rhs: Incomplete @@ -267,6 +283,7 @@ class ExprCons: def __lt__(self, other: object) -> bool: ... def __ne__(self, other: object) -> bool: ... +@disjoint_base class GenExpr: _op: Incomplete children: Incomplete @@ -292,6 +309,7 @@ class GenExpr: def __sub__(self, other: Incomplete) -> Incomplete: ... def __truediv__(self, other: Incomplete) -> Incomplete: ... +@disjoint_base class Heur: model: Incomplete name: Incomplete @@ -303,6 +321,7 @@ class Heur: def heurinit(self) -> Incomplete: ... def heurinitsol(self) -> Incomplete: ... +@disjoint_base class IIS: def __init__(self) -> None: ... def getNNodes(self) -> Incomplete: ... @@ -314,12 +333,14 @@ class IIS: def setSubscipInfeasible(self, infeasible: Incomplete) -> Incomplete: ... def setSubscipIrreducible(self, irreducible: Incomplete) -> Incomplete: ... +@disjoint_base class IISfinder: iis: Incomplete def __init__(self) -> None: ... def iisfinderexec(self) -> Incomplete: ... def iisfinderfree(self) -> Incomplete: ... +@disjoint_base class LP: name: Incomplete def __init__(self, name: Incomplete = ..., sense: Incomplete = ...) -> None: ... @@ -377,7 +398,7 @@ class MatrixConstraint(numpy.ndarray): def isStickingAtNode(self) -> Incomplete: ... class MatrixExpr(numpy.ndarray): - def sum(self, axis: Incomplete = ..., keepdims: Incomplete = ...) -> Incomplete: ... + def sum(self, axis: Incomplete = ..., keepdims: Incomplete = ...) -> Incomplete: ... # type: ignore[override] def __add__(self, other: Incomplete) -> Incomplete: ... def __eq__(self, other: object) -> bool: ... def __ge__(self, other: object) -> bool: ... # type: ignore[override] @@ -417,6 +438,7 @@ class MatrixVariable(MatrixExpr): def varMayRound(self, direction: Incomplete = ...) -> Incomplete: ... def vtype(self) -> Incomplete: ... +@disjoint_base class Model: _freescip: Incomplete data: Incomplete @@ -743,6 +765,7 @@ class Model: def isNLPConstructed(self) -> Incomplete: ... def isNegative(self, val: Incomplete) -> Incomplete: ... def isObjChangedProbing(self) -> Incomplete: ... + def isObjIntegral(self) -> Incomplete: ... def isPositive(self, val: Incomplete) -> Incomplete: ... def isZero(self, value: Incomplete) -> Incomplete: ... def lpiGetIterations(self) -> Incomplete: ... @@ -843,6 +866,7 @@ class Model: def __lt__(self, other: object) -> bool: ... def __ne__(self, other: object) -> bool: ... +@disjoint_base class NLRow: data: Incomplete name: Incomplete @@ -860,6 +884,7 @@ class NLRow: def __lt__(self, other: object) -> bool: ... def __ne__(self, other: object) -> bool: ... +@disjoint_base class Node: data: Incomplete def __init__(self) -> None: ... @@ -885,6 +910,7 @@ class Node: def __lt__(self, other: object) -> bool: ... def __ne__(self, other: object) -> bool: ... +@disjoint_base class Nodesel: model: Incomplete def __init__(self) -> None: ... @@ -1170,10 +1196,12 @@ class PY_SCIP_STATUS: USERINTERRUPT: ClassVar[int] = ... def __init__(self) -> None: ... +@disjoint_base class PowExpr(GenExpr): expo: Incomplete def __init__(self) -> None: ... +@disjoint_base class Presol: model: Incomplete def __init__(self) -> None: ... @@ -1184,6 +1212,7 @@ class Presol: def presolinit(self) -> Incomplete: ... def presolinitpre(self) -> Incomplete: ... +@disjoint_base class Pricer: model: Incomplete def __init__(self) -> None: ... @@ -1195,10 +1224,12 @@ class Pricer: def pricerinitsol(self) -> Incomplete: ... def pricerredcost(self) -> Incomplete: ... +@disjoint_base class ProdExpr(GenExpr): constant: Incomplete def __init__(self) -> None: ... +@disjoint_base class Prop: model: Incomplete def __init__(self) -> None: ... @@ -1213,6 +1244,7 @@ class Prop: def proppresol(self, nrounds: Incomplete, presoltiming: Incomplete, result_dict: Incomplete) -> Incomplete: ... def propresprop(self, confvar: Incomplete, inferinfo: Incomplete, bdtype: Incomplete, relaxedbd: Incomplete) -> Incomplete: ... +@disjoint_base class Reader: model: Incomplete name: Incomplete @@ -1221,6 +1253,7 @@ class Reader: def readerread(self, filename: Incomplete) -> Incomplete: ... def readerwrite(self, file: Incomplete, name: Incomplete, transformed: Incomplete, objsense: Incomplete, objoffset: Incomplete, objscale: Incomplete, binvars: Incomplete, intvars: Incomplete, implvars: Incomplete, contvars: Incomplete, fixedvars: Incomplete, startnvars: Incomplete, conss: Incomplete, maxnconss: Incomplete, startnconss: Incomplete, genericnames: Incomplete) -> Incomplete: ... +@disjoint_base class Relax: model: Incomplete name: Incomplete @@ -1232,6 +1265,7 @@ class Relax: def relaxinit(self) -> Incomplete: ... def relaxinitsol(self) -> Incomplete: ... +@disjoint_base class Row: data: Incomplete name: Incomplete @@ -1264,10 +1298,12 @@ class Row: def __lt__(self, other: object) -> bool: ... def __ne__(self, other: object) -> bool: ... +@disjoint_base class RowExact: data: Incomplete def __init__(self) -> None: ... +@disjoint_base class Sepa: model: Incomplete name: Incomplete @@ -1280,6 +1316,7 @@ class Sepa: def sepainit(self) -> Incomplete: ... def sepainitsol(self) -> Incomplete: ... +@disjoint_base class Solution: data: Incomplete def __init__(self, raise_error: Incomplete = ...) -> None: ... @@ -1310,6 +1347,7 @@ class Statistics: gap: float | None = None primal_dual_integral: float | None = None +@disjoint_base class SumExpr(GenExpr): coefs: Incomplete constant: Incomplete @@ -1334,10 +1372,12 @@ class Term: class UnaryExpr(GenExpr): def __init__(self, op: Incomplete, expr: Incomplete) -> None: ... +@disjoint_base class VarExpr(GenExpr): var: Incomplete def __init__(self, var: Incomplete) -> None: ... +@disjoint_base class Variable(Expr): data: Incomplete name: Incomplete From 75fdde8445d41b1183740ffce51c545474ef4514 Mon Sep 17 00:00:00 2001 From: Joao-Dionisio Date: Wed, 14 Jan 2026 17:56:10 +0000 Subject: [PATCH 13/23] Fix stubtest errors in stub generator --- scripts/generate_stubs.py | 206 +++++++++++++++++++++++++++++++------- 1 file changed, 168 insertions(+), 38 deletions(-) diff --git a/scripts/generate_stubs.py b/scripts/generate_stubs.py index 06d412f65..557deb6f5 100755 --- a/scripts/generate_stubs.py +++ b/scripts/generate_stubs.py @@ -32,6 +32,7 @@ class ClassInfo: has_eq: bool = False is_dataclass: bool = False dataclass_fields: list = field(default_factory=list) # list of (name, type, default) + is_statistics_class: bool = False # Special handling for Statistics class @dataclass @@ -90,7 +91,6 @@ class StubGenerator: '__rmul__': 'def __rmul__(self, other: Incomplete) -> Incomplete: ...', '__truediv__': 'def __truediv__(self, other: Incomplete) -> Incomplete: ...', '__rtruediv__': 'def __rtruediv__(self, other: Incomplete) -> Incomplete: ...', - '__pow__': 'def __pow__(self, other: Incomplete, mod: Incomplete = ...) -> Incomplete: ...', '__rpow__': 'def __rpow__(self, other: Incomplete) -> Incomplete: ...', '__neg__': 'def __neg__(self) -> Incomplete: ...', '__abs__': 'def __abs__(self) -> Incomplete: ...', @@ -108,11 +108,22 @@ class StubGenerator: 'Eventhdlr', 'Expr', 'ExprCons', 'GenExpr', 'Heur', 'IIS', 'IISfinder', 'LP', 'Model', 'NLRow', 'Node', 'Nodesel', 'PowExpr', 'Presol', 'Pricer', 'ProdExpr', 'Prop', 'Reader', 'Relax', 'Row', 'RowExact', 'Sepa', 'Solution', - 'SumExpr', 'VarExpr', 'Variable', + 'SumExpr', 'VarExpr', 'Variable', '_VarArray', } # Methods that need type: ignore[override] for numpy subclasses - NUMPY_OVERRIDE_METHODS = {'__ge__', '__le__', '__gt__', '__lt__', 'sum'} + NUMPY_OVERRIDE_METHODS = {'__ge__', '__le__', '__gt__', '__lt__', 'sum', '__pow__'} + + # Cython extension types (cdef class) that need *args, **kwargs for __init__ + # These specific classes have __init__ with *args, **kwargs at runtime + CYTHON_EXTENSION_TYPES = { + 'PowExpr', 'ProdExpr', 'SumExpr', 'UnaryExpr', 'VarExpr', 'Constant', + } + + # Classes with custom __init__ signatures + CUSTOM_INIT = { + 'Term': 'def __init__(self, *vartuple: Incomplete) -> None: ...', + } def __init__(self, src_dir: Path): self.src_dir = src_dir @@ -443,7 +454,8 @@ def get_current_class(): for cmp_method in self.RICHCMP_EXPANSION['__richcmp__']: if cmp_method not in cls_info.methods: cls_info.methods[cmp_method] = [] - elif method_name not in cls_info.methods: + else: + # Always overwrite - last definition wins (like Python) cls_info.methods[method_name] = params # Track static methods @@ -490,6 +502,13 @@ def _generate_method_stub(self, method_name: str, params: list, is_static: bool else: return f'def {method_name}(self) -> {return_type}: ...' + # Special case: __pow__ third parameter should have a default (Python protocol) + if method_name == '__pow__' and len(params) >= 2: + params = list(params) # Make a copy + # Make the third parameter (modulo/mod) have a default + if len(params) >= 2 and not params[1][1]: # If second param doesn't have default + params[1] = (params[1][0], True) # Give it a default + # Build parameter string param_strs = [] if not is_static: @@ -541,16 +560,43 @@ def _parse_params(self, signature: str) -> list: for param in params: if not param: continue + param = param.strip() # Skip self if param == 'self': continue - # Extract parameter name (before any type annotation or default) - # Handle: name, name=default, name: type, name: type = default - # Also handle Cython types like: int name, object name - param_match = re.match(r'^(?:\w+\s+)?(\w+)(?:\s*[:=].*)?$', param.strip()) - if param_match: - param_name = param_match.group(1) - has_default = '=' in param + # Skip *args and **kwargs - they need special handling + if param.startswith('*'): + continue + + # Handle Cython typed parameters: Type name [not None] [= default] + # Examples: Row row not None, Variable var not None, int x, object y = None + # The pattern is: [Type] name [not None] [= default] + + # First, check for default value + has_default = '=' in param + + # Remove "not None" modifier if present + param_clean = re.sub(r'\s+not\s+None\s*', ' ', param) + + # Try to match: Type name [= default] or just name [= default] + # Cython type pattern: CapitalizedType name + cython_match = re.match(r'^([A-Z]\w*)\s+(\w+)(?:\s*=.*)?$', param_clean.strip()) + if cython_match: + param_name = cython_match.group(2) + result.append((param_name, has_default)) + continue + + # Try simple Cython type: lowercase_type name (like int x, object y) + simple_cython_match = re.match(r'^([a-z]\w*)\s+(\w+)(?:\s*=.*)?$', param_clean.strip()) + if simple_cython_match: + param_name = simple_cython_match.group(2) + result.append((param_name, has_default)) + continue + + # Python-style: name [: type] [= default] + python_match = re.match(r'^(\w+)(?:\s*:.*)?(?:\s*=.*)?$', param_clean.strip()) + if python_match: + param_name = python_match.group(1) result.append((param_name, has_default)) return result @@ -638,6 +684,10 @@ def _generate_class_stub(self, cls_info: ClassInfo) -> list: """Generate stub for a single class.""" lines = [] + # Special handling for Statistics class (has read-only @property methods) + if cls_info.is_statistics_class: + return self._generate_statistics_stub() + # Handle dataclass if cls_info.is_dataclass: lines.append('@dataclass') @@ -659,6 +709,12 @@ def _generate_class_stub(self, cls_info: ClassInfo) -> list: lines.append(f' {fname}: {ftype} = {fdefault}') else: lines.append(f' {fname}: {ftype}') + # Also include additional attributes (like @property-based ones) + # Use ... as default to allow them after fields with defaults + if cls_info.attributes: + sorted_attrs = sorted(cls_info.attributes, key=lambda x: x[0]) + for attr_name, type_hint in sorted_attrs: + lines.append(f' {attr_name}: {type_hint} = ...') return lines # Class variables (for enum-like classes) @@ -697,13 +753,28 @@ def _generate_class_stub(self, cls_info: ClassInfo) -> list: comparison_methods.append(cmp_method) # Output __init__ first if present or needs to be added (not for numpy subclasses or specific classes) + # Cython extension types need *args, **kwargs for __init__ + is_cython_extension = cls_info.name in self.CYTHON_EXTENSION_TYPES + has_custom_init = cls_info.name in self.CUSTOM_INIT if '__init__' in special_methods: - params = cls_info.methods.get('__init__', []) - stub = self._generate_method_stub('__init__', params, return_type='None') - lines.append(f' {stub}') + if has_custom_init: + lines.append(f' {self.CUSTOM_INIT[cls_info.name]}') + elif is_cython_extension: + # Cython extension types have *args, **kwargs at runtime + lines.append(f' {self.SPECIAL_METHODS["__init__"]}') + else: + params = cls_info.methods.get('__init__', []) + stub = self._generate_method_stub('__init__', params, return_type='None') + lines.append(f' {stub}') special_methods.remove('__init__') elif '__init__' not in cls_info.methods and not is_numpy_subclass and not cls_info.is_dataclass and cls_info.name not in skip_init_classes: - lines.append(f' def __init__(self) -> None: ...') + if has_custom_init: + lines.append(f' {self.CUSTOM_INIT[cls_info.name]}') + elif is_cython_extension: + # Cython extension types have *args, **kwargs at runtime + lines.append(f' {self.SPECIAL_METHODS["__init__"]}') + else: + lines.append(f' def __init__(self) -> None: ...') # Sort and output regular methods for method in sorted(regular_methods): @@ -723,13 +794,16 @@ def _generate_class_stub(self, cls_info: ClassInfo) -> list: all_special = [] for method in special_methods: if method in self.SPECIAL_METHODS: - all_special.append((method, self.SPECIAL_METHODS[method])) + stub = self.SPECIAL_METHODS[method] elif method in self.TYPED_METHODS: - all_special.append((method, self.TYPED_METHODS[method])) + stub = self.TYPED_METHODS[method] else: params = cls_info.methods.get(method, []) stub = self._generate_method_stub(method, params) - all_special.append((method, stub)) + # Add type: ignore[override] for numpy subclass override methods + if is_numpy_subclass and method in self.NUMPY_OVERRIDE_METHODS: + stub = stub.replace(': ...', ': ... # type: ignore[override]') + all_special.append((method, stub)) for method in comparison_methods: stub = self.COMPARISON_METHODS[method] @@ -748,6 +822,70 @@ def _generate_class_stub(self, cls_info: ClassInfo) -> list: return lines + def _generate_statistics_stub(self) -> list: + """Generate stub for the Statistics class with proper @property decorators.""" + lines = [] + lines.append('class Statistics:') + + # Writable attributes (from __init__ parameters) + writable_attrs = [ + ('status', 'str'), + ('total_time', 'float'), + ('solving_time', 'float'), + ('presolving_time', 'float'), + ('reading_time', 'float'), + ('copying_time', 'float'), + ('problem_name', 'str'), + ('presolved_problem_name', 'str'), + ('n_runs', 'int | None'), + ('n_nodes', 'int | None'), + ('n_solutions_found', 'int'), + ('first_solution', 'float | None'), + ('primal_bound', 'float | None'), + ('dual_bound', 'float | None'), + ('gap', 'float | None'), + ('primal_dual_integral', 'float | None'), + ] + + # Read-only properties (derived from other fields) + readonly_props = [ + ('n_binary_vars', 'int'), + ('n_conss', 'int'), + ('n_continuous_vars', 'int'), + ('n_implicit_integer_vars', 'int'), + ('n_integer_vars', 'int'), + ('n_maximal_cons', 'int'), + ('n_presolved_binary_vars', 'int'), + ('n_presolved_conss', 'int'), + ('n_presolved_continuous_vars', 'int'), + ('n_presolved_implicit_integer_vars', 'int'), + ('n_presolved_integer_vars', 'int'), + ('n_presolved_maximal_cons', 'int'), + ('n_presolved_vars', 'int'), + ('n_vars', 'int'), + ] + + # Output writable attributes + for attr_name, attr_type in writable_attrs: + lines.append(f' {attr_name}: {attr_type}') + + # Output __init__ method + init_params = [] + for attr_name, attr_type in writable_attrs: + init_params.append(f'{attr_name}: {attr_type}') + init_sig = ', '.join(['self'] + init_params) + lines.append(f' def __init__({init_sig}) -> None: ...') + + # Output read-only properties with @property decorator + for prop_name, prop_type in readonly_props: + lines.append(' @property') + lines.append(f' def {prop_name}(self) -> {prop_type}: ...') + + # Statistics is a dataclass at runtime, so it has __replace__ + lines.append(' def __replace__(self, **changes: Incomplete) -> Statistics: ...') + + return lines + def run(self) -> str: """Run the stub generator on all relevant files.""" pxi_files = list(self.src_dir.glob('*.pxi')) @@ -790,28 +928,20 @@ def _apply_special_cases(self) -> None: if ('name', 'Incomplete') not in cls_info.attributes: cls_info.attributes.append(('name', 'Incomplete')) - # Handle Statistics as dataclass + # Handle Statistics - has both dataclass fields and @property methods + # We need to use explicit @property decorators for read-only attributes if 'Statistics' in self.module_info.classes: cls_info = self.module_info.classes['Statistics'] - cls_info.is_dataclass = True - cls_info.dataclass_fields = [ - ('status', 'str', None), - ('total_time', 'float', None), - ('solving_time', 'float', None), - ('presolving_time', 'float', None), - ('reading_time', 'float', None), - ('copying_time', 'float', None), - ('problem_name', 'str', None), - ('presolved_problem_name', 'str', None), - ('n_runs', 'int | None', 'None'), - ('n_nodes', 'int | None', 'None'), - ('n_solutions_found', 'int', '-1'), - ('first_solution', 'float | None', 'None'), - ('primal_bound', 'float | None', 'None'), - ('dual_bound', 'float | None', 'None'), - ('gap', 'float | None', 'None'), - ('primal_dual_integral', 'float | None', 'None'), - ] + # Clear any parsed attributes - we handle Statistics fully manually + cls_info.attributes = [] + cls_info.methods = {} # Clear methods, we'll generate them manually + # Mark as special class that needs custom generation + cls_info.is_statistics_class = True + + # Handle Term class - has *vartuple in __init__ + if 'Term' in self.module_info.classes: + cls_info = self.module_info.classes['Term'] + cls_info.methods['__init__'] = [('vartuple', False)] # Will be handled specially # Add/update known module-level variables with correct types known_vars = { From 746317c408703b6ff06130ad4f973313af0f75fa Mon Sep 17 00:00:00 2001 From: Joao-Dionisio Date: Wed, 14 Jan 2026 18:01:31 +0000 Subject: [PATCH 14/23] Allow stub regeneration for forks when script is unchanged --- .github/workflows/stubs.yml | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/.github/workflows/stubs.yml b/.github/workflows/stubs.yml index 09f8d243c..1cf592a3d 100644 --- a/.github/workflows/stubs.yml +++ b/.github/workflows/stubs.yml @@ -63,18 +63,32 @@ jobs: run: stubs/test.sh continue-on-error: true + - name: Check if generate_stubs.py is unchanged from master + id: check_script + run: | + git fetch origin master + if git diff --quiet origin/master -- scripts/generate_stubs.py; then + echo "unchanged=true" >> $GITHUB_OUTPUT + else + echo "unchanged=false" >> $GITHUB_OUTPUT + echo "::warning::scripts/generate_stubs.py was modified - skipping auto-regeneration for security" + fi + - name: Regenerate stubs + if: steps.check_script.outputs.unchanged == 'true' run: python scripts/generate_stubs.py - name: Run MyPy (after regeneration) + if: steps.check_script.outputs.unchanged == 'true' run: python -m mypy --package pyscipopt - name: Run stubtest (after regeneration) + if: steps.check_script.outputs.unchanged == 'true' run: stubs/test.sh - name: Commit and push updated stubs id: commit - if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository + if: github.event_name == 'pull_request' && steps.check_script.outputs.unchanged == 'true' && github.event.pull_request.head.repo.full_name == github.repository run: | git config user.name "github-actions[bot]" git config user.email "github-actions[bot]@users.noreply.github.com" From 8cf8bc94ec097932e4e6b051d7d5de4a805a7f13 Mon Sep 17 00:00:00 2001 From: Joao-Dionisio Date: Wed, 14 Jan 2026 18:13:48 +0000 Subject: [PATCH 15/23] Only check script changes for fork PRs --- .github/workflows/stubs.yml | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/.github/workflows/stubs.yml b/.github/workflows/stubs.yml index 1cf592a3d..bbc349603 100644 --- a/.github/workflows/stubs.yml +++ b/.github/workflows/stubs.yml @@ -63,32 +63,40 @@ jobs: run: stubs/test.sh continue-on-error: true - - name: Check if generate_stubs.py is unchanged from master + - name: Check if safe to run generate_stubs.py id: check_script run: | - git fetch origin master - if git diff --quiet origin/master -- scripts/generate_stubs.py; then - echo "unchanged=true" >> $GITHUB_OUTPUT + # For same-repo PRs, always allow running the script + if [[ "${{ github.event.pull_request.head.repo.full_name }}" == "${{ github.repository }}" ]] || [[ "${{ github.event_name }}" != "pull_request" ]]; then + echo "allowed=true" >> $GITHUB_OUTPUT + echo "Same-repo PR or push - allowing regeneration" else - echo "unchanged=false" >> $GITHUB_OUTPUT - echo "::warning::scripts/generate_stubs.py was modified - skipping auto-regeneration for security" + # For fork PRs, only allow if script is unchanged from master + git fetch origin master + if git diff --quiet origin/master -- scripts/generate_stubs.py; then + echo "allowed=true" >> $GITHUB_OUTPUT + echo "Fork PR with unchanged script - allowing regeneration" + else + echo "allowed=false" >> $GITHUB_OUTPUT + echo "::warning::Fork PR with modified scripts/generate_stubs.py - skipping auto-regeneration for security" + fi fi - name: Regenerate stubs - if: steps.check_script.outputs.unchanged == 'true' + if: steps.check_script.outputs.allowed == 'true' run: python scripts/generate_stubs.py - name: Run MyPy (after regeneration) - if: steps.check_script.outputs.unchanged == 'true' + if: steps.check_script.outputs.allowed == 'true' run: python -m mypy --package pyscipopt - name: Run stubtest (after regeneration) - if: steps.check_script.outputs.unchanged == 'true' + if: steps.check_script.outputs.allowed == 'true' run: stubs/test.sh - name: Commit and push updated stubs id: commit - if: github.event_name == 'pull_request' && steps.check_script.outputs.unchanged == 'true' && github.event.pull_request.head.repo.full_name == github.repository + if: github.event_name == 'pull_request' && steps.check_script.outputs.allowed == 'true' && github.event.pull_request.head.repo.full_name == github.repository run: | git config user.name "github-actions[bot]" git config user.email "github-actions[bot]@users.noreply.github.com" From f36b628e6de03336bb200790e7f00dcb4b8fab8d Mon Sep 17 00:00:00 2001 From: Joao-Dionisio Date: Wed, 14 Jan 2026 18:18:26 +0000 Subject: [PATCH 16/23] Copy regenerated stub to installed location for stubtest --- .github/workflows/stubs.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/stubs.yml b/.github/workflows/stubs.yml index bbc349603..92e72e128 100644 --- a/.github/workflows/stubs.yml +++ b/.github/workflows/stubs.yml @@ -84,7 +84,10 @@ jobs: - name: Regenerate stubs if: steps.check_script.outputs.allowed == 'true' - run: python scripts/generate_stubs.py + run: | + python scripts/generate_stubs.py + # Copy regenerated stub to installed package location for stubtest + cp src/pyscipopt/scip.pyi "$(python -c 'import pyscipopt; print(pyscipopt.__path__[0])')/scip.pyi" - name: Run MyPy (after regeneration) if: steps.check_script.outputs.allowed == 'true' From 490892e448e4ba213bf2935ee87c09be8538fc05 Mon Sep 17 00:00:00 2001 From: Joao-Dionisio Date: Wed, 14 Jan 2026 18:22:27 +0000 Subject: [PATCH 17/23] Fix SIGPIPE error in commit step --- .github/workflows/stubs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/stubs.yml b/.github/workflows/stubs.yml index 92e72e128..e3096d747 100644 --- a/.github/workflows/stubs.yml +++ b/.github/workflows/stubs.yml @@ -111,8 +111,8 @@ jobs: echo "$DIFF" >> $GITHUB_OUTPUT echo "EOF" >> $GITHUB_OUTPUT - # Capture detailed changes - DETAILED_DIFF=$(git diff --cached src/pyscipopt/scip.pyi | head -100) + # Capture detailed changes (use || true to handle SIGPIPE from head) + DETAILED_DIFF=$(git diff --cached src/pyscipopt/scip.pyi | head -100 || true) echo "detailed_diff<> $GITHUB_OUTPUT echo "$DETAILED_DIFF" >> $GITHUB_OUTPUT echo "EOF" >> $GITHUB_OUTPUT From 7ce66660847cad000cddd84e07e5f67c96cbd3a8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 14 Jan 2026 18:24:51 +0000 Subject: [PATCH 18/23] Auto-regenerate type stubs --- src/pyscipopt/scip.pyi | 90 ++++++++++++++++++++++++++++-------------- 1 file changed, 60 insertions(+), 30 deletions(-) diff --git a/src/pyscipopt/scip.pyi b/src/pyscipopt/scip.pyi index e06e71896..db52edc1e 100644 --- a/src/pyscipopt/scip.pyi +++ b/src/pyscipopt/scip.pyi @@ -156,7 +156,7 @@ class Conshdlr: @disjoint_base class Constant(GenExpr): number: Incomplete - def __init__(self, number: Incomplete) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... @disjoint_base class Constraint: @@ -259,7 +259,7 @@ class Expr: def __ne__(self, other: object) -> bool: ... def __neg__(self) -> Incomplete: ... def __next__(self) -> Incomplete: ... - def __pow__(self, other: Incomplete, mod: Incomplete = ...) -> Incomplete: ... + def __pow__(self, other: Incomplete, modulo: Incomplete = ...) -> Incomplete: ... def __radd__(self, other: Incomplete) -> Incomplete: ... def __rmul__(self, other: Incomplete) -> Incomplete: ... def __rpow__(self, other: Incomplete) -> Incomplete: ... @@ -300,7 +300,7 @@ class GenExpr: def __mul__(self, other: Incomplete) -> Incomplete: ... def __ne__(self, other: object) -> bool: ... def __neg__(self) -> Incomplete: ... - def __pow__(self, other: Incomplete, mod: Incomplete = ...) -> Incomplete: ... + def __pow__(self, other: Incomplete, modulo: Incomplete = ...) -> Incomplete: ... def __radd__(self, other: Incomplete) -> Incomplete: ... def __rmul__(self, other: Incomplete) -> Incomplete: ... def __rpow__(self, other: Incomplete) -> Incomplete: ... @@ -406,7 +406,7 @@ class MatrixExpr(numpy.ndarray): def __le__(self, other: object) -> bool: ... # type: ignore[override] def __matmul__(self, other: Incomplete) -> Incomplete: ... def __mul__(self, other: Incomplete) -> Incomplete: ... - def __pow__(self, other: Incomplete, mod: Incomplete = ...) -> Incomplete: ... + def __pow__(self, other: Incomplete) -> Incomplete: ... # type: ignore[override] def __radd__(self, other: Incomplete) -> Incomplete: ... def __rmul__(self, other: Incomplete) -> Incomplete: ... def __rsub__(self, other: Incomplete) -> Incomplete: ... @@ -467,13 +467,13 @@ class Model: def addConsSOS2(self, vars: Incomplete, weights: Incomplete = ..., name: Incomplete = ..., initial: Incomplete = ..., separate: Incomplete = ..., enforce: Incomplete = ..., check: Incomplete = ..., propagate: Incomplete = ..., local: Incomplete = ..., dynamic: Incomplete = ..., removable: Incomplete = ..., stickingatnode: Incomplete = ...) -> Incomplete: ... def addConsXor(self, vars: Incomplete, rhsvar: Incomplete, name: Incomplete = ..., initial: Incomplete = ..., separate: Incomplete = ..., enforce: Incomplete = ..., check: Incomplete = ..., propagate: Incomplete = ..., local: Incomplete = ..., modifiable: Incomplete = ..., dynamic: Incomplete = ..., removable: Incomplete = ..., stickingatnode: Incomplete = ...) -> Incomplete: ... def addConss(self, conss: Incomplete, name: Incomplete = ..., initial: Incomplete = ..., separate: Incomplete = ..., enforce: Incomplete = ..., check: Incomplete = ..., propagate: Incomplete = ..., local: Incomplete = ..., modifiable: Incomplete = ..., dynamic: Incomplete = ..., removable: Incomplete = ..., stickingatnode: Incomplete = ...) -> Incomplete: ... - def addCut(self, forcecut: Incomplete = ...) -> Incomplete: ... + def addCut(self, cut: Incomplete, forcecut: Incomplete = ...) -> Incomplete: ... def addExprNonlinear(self, cons: Incomplete, expr: Incomplete, coef: Incomplete) -> Incomplete: ... def addMatrixCons(self, cons: Incomplete, name: Incomplete = ..., initial: Incomplete = ..., separate: Incomplete = ..., enforce: Incomplete = ..., check: Incomplete = ..., propagate: Incomplete = ..., local: Incomplete = ..., modifiable: Incomplete = ..., dynamic: Incomplete = ..., removable: Incomplete = ..., stickingatnode: Incomplete = ...) -> Incomplete: ... def addMatrixConsIndicator(self, cons: Incomplete, binvar: Incomplete = ..., activeone: Incomplete = ..., name: Incomplete = ..., initial: Incomplete = ..., separate: Incomplete = ..., enforce: Incomplete = ..., check: Incomplete = ..., propagate: Incomplete = ..., local: Incomplete = ..., dynamic: Incomplete = ..., removable: Incomplete = ..., stickingatnode: Incomplete = ...) -> Incomplete: ... def addMatrixVar(self, shape: Incomplete, name: Incomplete = ..., vtype: Incomplete = ..., lb: Incomplete = ..., ub: Incomplete = ..., obj: Incomplete = ..., pricedVar: Incomplete = ..., pricedVarScore: Incomplete = ...) -> Incomplete: ... def addObjoffset(self, offset: Incomplete, solutions: Incomplete = ...) -> Incomplete: ... - def addPoolCut(self) -> Incomplete: ... + def addPoolCut(self, row: Incomplete) -> Incomplete: ... def addPyCons(self, cons: Incomplete) -> Incomplete: ... def addRowDive(self, row: Incomplete) -> Incomplete: ... def addRowExact(self, rowexact: Incomplete) -> Incomplete: ... @@ -483,7 +483,7 @@ class Model: def addVarLocksType(self, var: Incomplete, locktype: Incomplete, nlocksdown: Incomplete, nlocksup: Incomplete) -> Incomplete: ... def addVarSOS1(self, cons: Incomplete, var: Incomplete, weight: Incomplete) -> Incomplete: ... def addVarSOS2(self, cons: Incomplete, var: Incomplete, weight: Incomplete) -> Incomplete: ... - def addVarToRow(self, value: Incomplete) -> Incomplete: ... + def addVarToRow(self, row: Incomplete, var: Incomplete, value: Incomplete) -> Incomplete: ... def allColsInLP(self) -> Incomplete: ... def allowNegSlackExact(self) -> Incomplete: ... def appendVarSOS1(self, cons: Incomplete, var: Incomplete) -> Incomplete: ... @@ -494,7 +494,7 @@ class Model: def branchLPExact(self) -> Incomplete: ... def branchVar(self, variable: Incomplete) -> Incomplete: ... def branchVarVal(self, variable: Incomplete, value: Incomplete) -> Incomplete: ... - def cacheRowExtensions(self) -> Incomplete: ... + def cacheRowExtensions(self, row: Incomplete) -> Incomplete: ... def calcChildEstimate(self, variable: Incomplete, targetvalue: Incomplete) -> Incomplete: ... def calcNodeselPriority(self, variable: Incomplete, branchdir: Incomplete, targetvalue: Incomplete) -> Incomplete: ... def catchEvent(self, eventtype: Incomplete, eventhdlr: Incomplete) -> Incomplete: ... @@ -562,7 +562,7 @@ class Model: def feastol(self) -> Incomplete: ... def fixVar(self, var: Incomplete, val: Incomplete) -> Incomplete: ... def fixVarProbing(self, var: Incomplete, fixedval: Incomplete) -> Incomplete: ... - def flushRowExtensions(self) -> Incomplete: ... + def flushRowExtensions(self, row: Incomplete) -> Incomplete: ... def frac(self, value: Incomplete) -> Incomplete: ... def freeBendersSubproblems(self) -> Incomplete: ... def freeProb(self) -> Incomplete: ... @@ -593,8 +593,8 @@ class Model: def getConsVars(self, constraint: Incomplete) -> Incomplete: ... def getConss(self, transformed: Incomplete = ...) -> Incomplete: ... def getCurrentNode(self) -> Incomplete: ... - def getCutEfficacy(self, sol: Incomplete = ...) -> Incomplete: ... - def getCutLPSolCutoffDistance(self) -> Incomplete: ... + def getCutEfficacy(self, cut: Incomplete, sol: Incomplete = ...) -> Incomplete: ... + def getCutLPSolCutoffDistance(self, cut: Incomplete, sol: Incomplete) -> Incomplete: ... def getCutoffbound(self) -> Incomplete: ... def getDepth(self) -> Incomplete: ... def getDualMultiplier(self, cons: Incomplete) -> Incomplete: ... @@ -743,7 +743,7 @@ class Model: def initBendersDefault(self, subproblems: Incomplete) -> Incomplete: ... def interruptSolve(self) -> Incomplete: ... def isAndConsSorted(self, and_cons: Incomplete) -> Incomplete: ... - def isCutEfficacious(self, sol: Incomplete = ...) -> Incomplete: ... + def isCutEfficacious(self, cut: Incomplete, sol: Incomplete = ...) -> Incomplete: ... def isEQ(self, val1: Incomplete, val2: Incomplete) -> Incomplete: ... def isExact(self) -> Incomplete: ... def isFeasEQ(self, val1: Incomplete, val2: Incomplete) -> Incomplete: ... @@ -780,10 +780,10 @@ class Model: def printExternalCodeVersions(self) -> Incomplete: ... def printNlRow(self, nlrow: Incomplete) -> Incomplete: ... def printProblem(self, ext: Incomplete = ..., trans: Incomplete = ..., genericnames: Incomplete = ...) -> Incomplete: ... - def printRow(self) -> Incomplete: ... + def printRow(self, row: Incomplete) -> Incomplete: ... def printSol(self, solution: Incomplete = ..., write_zeros: Incomplete = ...) -> Incomplete: ... def printStatistics(self, filename: Incomplete = ...) -> Incomplete: ... - def printStatisticsJson(self, filename: Incomplete = ...) -> Incomplete: ... + def printStatisticsJson(self) -> Incomplete: ... def printVersion(self) -> Incomplete: ... def propagateProbing(self, maxproprounds: Incomplete) -> Incomplete: ... def readParams(self, file: Incomplete) -> Incomplete: ... @@ -792,7 +792,7 @@ class Model: def readSolFile(self, filename: Incomplete) -> Incomplete: ... def redirectOutput(self) -> Incomplete: ... def relax(self) -> Incomplete: ... - def releaseRow(self) -> Incomplete: ... + def releaseRow(self, row: Incomplete) -> Incomplete: ... def repropagateNode(self, node: Incomplete) -> Incomplete: ... def resetParam(self, name: Incomplete) -> Incomplete: ... def resetParams(self) -> Incomplete: ... @@ -1199,7 +1199,7 @@ class PY_SCIP_STATUS: @disjoint_base class PowExpr(GenExpr): expo: Incomplete - def __init__(self) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... @disjoint_base class Presol: @@ -1227,7 +1227,7 @@ class Pricer: @disjoint_base class ProdExpr(GenExpr): constant: Incomplete - def __init__(self) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... @disjoint_base class Prop: @@ -1328,7 +1328,6 @@ class Solution: def __getitem__(self, index: Incomplete) -> Incomplete: ... def __setitem__(self, key: Incomplete, value: Incomplete) -> None: ... -@dataclass class Statistics: status: str total_time: float @@ -1338,26 +1337,56 @@ class Statistics: copying_time: float problem_name: str presolved_problem_name: str - n_runs: int | None = None - n_nodes: int | None = None - n_solutions_found: int = -1 - first_solution: float | None = None - primal_bound: float | None = None - dual_bound: float | None = None - gap: float | None = None - primal_dual_integral: float | None = None + n_runs: int | None + n_nodes: int | None + n_solutions_found: int + first_solution: float | None + primal_bound: float | None + dual_bound: float | None + gap: float | None + primal_dual_integral: float | None + def __init__(self, status: str, total_time: float, solving_time: float, presolving_time: float, reading_time: float, copying_time: float, problem_name: str, presolved_problem_name: str, n_runs: int | None, n_nodes: int | None, n_solutions_found: int, first_solution: float | None, primal_bound: float | None, dual_bound: float | None, gap: float | None, primal_dual_integral: float | None) -> None: ... + @property + def n_binary_vars(self) -> int: ... + @property + def n_conss(self) -> int: ... + @property + def n_continuous_vars(self) -> int: ... + @property + def n_implicit_integer_vars(self) -> int: ... + @property + def n_integer_vars(self) -> int: ... + @property + def n_maximal_cons(self) -> int: ... + @property + def n_presolved_binary_vars(self) -> int: ... + @property + def n_presolved_conss(self) -> int: ... + @property + def n_presolved_continuous_vars(self) -> int: ... + @property + def n_presolved_implicit_integer_vars(self) -> int: ... + @property + def n_presolved_integer_vars(self) -> int: ... + @property + def n_presolved_maximal_cons(self) -> int: ... + @property + def n_presolved_vars(self) -> int: ... + @property + def n_vars(self) -> int: ... + def __replace__(self, **changes: Incomplete) -> Statistics: ... @disjoint_base class SumExpr(GenExpr): coefs: Incomplete constant: Incomplete - def __init__(self) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... class Term: hashval: Incomplete ptrtuple: Incomplete vartuple: Incomplete - def __init__(self) -> None: ... + def __init__(self, *vartuple: Incomplete) -> None: ... def __add__(self, other: Incomplete) -> Incomplete: ... def __eq__(self, other: object) -> bool: ... def __ge__(self, other: object) -> bool: ... @@ -1370,12 +1399,12 @@ class Term: def __ne__(self, other: object) -> bool: ... class UnaryExpr(GenExpr): - def __init__(self, op: Incomplete, expr: Incomplete) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... @disjoint_base class VarExpr(GenExpr): var: Incomplete - def __init__(self, var: Incomplete) -> None: ... + def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ... @disjoint_base class Variable(Expr): @@ -1415,5 +1444,6 @@ class Variable(Expr): def varMayRound(self, direction: Incomplete = ...) -> Incomplete: ... def vtype(self) -> Incomplete: ... +@disjoint_base class _VarArray: def __init__(self) -> None: ... From 3e22af97618e314eeb32b51e4a81745c64af9c29 Mon Sep 17 00:00:00 2001 From: Joao-Dionisio Date: Wed, 14 Jan 2026 19:48:58 +0000 Subject: [PATCH 19/23] Skip regeneration if stubtest already passes --- .github/workflows/stubs.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/stubs.yml b/.github/workflows/stubs.yml index e3096d747..2e67706b2 100644 --- a/.github/workflows/stubs.yml +++ b/.github/workflows/stubs.yml @@ -83,23 +83,23 @@ jobs: fi - name: Regenerate stubs - if: steps.check_script.outputs.allowed == 'true' + if: steps.stubtest_before.outcome == 'failure' && steps.check_script.outputs.allowed == 'true' run: | python scripts/generate_stubs.py # Copy regenerated stub to installed package location for stubtest cp src/pyscipopt/scip.pyi "$(python -c 'import pyscipopt; print(pyscipopt.__path__[0])')/scip.pyi" - name: Run MyPy (after regeneration) - if: steps.check_script.outputs.allowed == 'true' + if: steps.stubtest_before.outcome == 'failure' && steps.check_script.outputs.allowed == 'true' run: python -m mypy --package pyscipopt - name: Run stubtest (after regeneration) - if: steps.check_script.outputs.allowed == 'true' + if: steps.stubtest_before.outcome == 'failure' && steps.check_script.outputs.allowed == 'true' run: stubs/test.sh - name: Commit and push updated stubs id: commit - if: github.event_name == 'pull_request' && steps.check_script.outputs.allowed == 'true' && github.event.pull_request.head.repo.full_name == github.repository + if: steps.stubtest_before.outcome == 'failure' && github.event_name == 'pull_request' && steps.check_script.outputs.allowed == 'true' && github.event.pull_request.head.repo.full_name == github.repository run: | git config user.name "github-actions[bot]" git config user.email "github-actions[bot]@users.noreply.github.com" From e67ee9aff0ca67e19f2b5997ce4eb7ccb6b84431 Mon Sep 17 00:00:00 2001 From: Joao-Dionisio Date: Wed, 14 Jan 2026 19:52:20 +0000 Subject: [PATCH 20/23] Only import dataclass when needed --- scripts/generate_stubs.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/generate_stubs.py b/scripts/generate_stubs.py index 557deb6f5..9ee0fc5a2 100755 --- a/scripts/generate_stubs.py +++ b/scripts/generate_stubs.py @@ -634,7 +634,10 @@ def generate_stub(self) -> str: lines = [] # Header imports - lines.append('from dataclasses import dataclass') + # Only import dataclass if any class uses it + has_dataclass = any(cls.is_dataclass for cls in self.module_info.classes.values()) + if has_dataclass: + lines.append('from dataclasses import dataclass') lines.append('from typing import ClassVar') lines.append('') lines.append('import numpy') From 6402c2d41f46554ba51ac1cbc9dce83053da11b2 Mon Sep 17 00:00:00 2001 From: Joao-Dionisio Date: Wed, 14 Jan 2026 19:58:11 +0000 Subject: [PATCH 21/23] Auto-fix some lint issues after stub regeneration --- .github/workflows/stubs.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/stubs.yml b/.github/workflows/stubs.yml index 2e67706b2..f9c41c694 100644 --- a/.github/workflows/stubs.yml +++ b/.github/workflows/stubs.yml @@ -86,6 +86,10 @@ jobs: if: steps.stubtest_before.outcome == 'failure' && steps.check_script.outputs.allowed == 'true' run: | python scripts/generate_stubs.py + # Auto-fix lint issues and format + pip install ruff + ruff check src/pyscipopt/scip.pyi --extend-select ANN,I,PYI,RUF100 --fix + ruff format src/pyscipopt/scip.pyi # Copy regenerated stub to installed package location for stubtest cp src/pyscipopt/scip.pyi "$(python -c 'import pyscipopt; print(pyscipopt.__path__[0])')/scip.pyi" From e802f6ffb32670db13ab6a1cbce1ca748ca72539 Mon Sep 17 00:00:00 2001 From: Joao-Dionisio Date: Wed, 14 Jan 2026 20:02:49 +0000 Subject: [PATCH 22/23] Make lint job run after stubtest --- .github/workflows/stubs.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/stubs.yml b/.github/workflows/stubs.yml index f9c41c694..f662c0bf3 100644 --- a/.github/workflows/stubs.yml +++ b/.github/workflows/stubs.yml @@ -157,12 +157,15 @@ jobs: " lint: + needs: stubtest runs-on: ubuntu-latest env: FILES: src/pyscipopt/scip.pyi steps: - uses: actions/checkout@v6 + with: + ref: ${{ github.head_ref || github.ref }} - name: Install Ruff uses: astral-sh/ruff-action@v3 @@ -172,5 +175,5 @@ jobs: - name: Lint type stubs run: ruff check ${{ env.FILES }} --extend-select ANN,I,PYI,RUF100 - - name: Format type stubs - run: ruff format ${{ env.FILES }} + - name: Format check type stubs + run: ruff format --check ${{ env.FILES }} From 3e1ef48ca3a8257b63e00cd1a729505bfaf288bf Mon Sep 17 00:00:00 2001 From: Joao-Dionisio Date: Wed, 14 Jan 2026 20:08:34 +0000 Subject: [PATCH 23/23] Regenerate stubs without unused import --- src/pyscipopt/scip.pyi | 1057 ++++++++++++++++++++++++++++++++++------ 1 file changed, 910 insertions(+), 147 deletions(-) diff --git a/src/pyscipopt/scip.pyi b/src/pyscipopt/scip.pyi index db52edc1e..ef6fce23f 100644 --- a/src/pyscipopt/scip.pyi +++ b/src/pyscipopt/scip.pyi @@ -1,4 +1,3 @@ -from dataclasses import dataclass from typing import ClassVar import numpy @@ -44,14 +43,30 @@ class Benders: def bendersexitsol(self) -> Incomplete: ... def bendersfree(self) -> Incomplete: ... def bendersfreesub(self, probnumber: Incomplete) -> Incomplete: ... - def bendersgetvar(self, variable: Incomplete, probnumber: Incomplete) -> Incomplete: ... + def bendersgetvar( + self, variable: Incomplete, probnumber: Incomplete + ) -> Incomplete: ... def bendersinit(self) -> Incomplete: ... def bendersinitpre(self) -> Incomplete: ... def bendersinitsol(self) -> Incomplete: ... - def benderspostsolve(self, solution: Incomplete, enfotype: Incomplete, mergecandidates: Incomplete, npriomergecands: Incomplete, checkint: Incomplete, infeasible: Incomplete) -> Incomplete: ... - def benderspresubsolve(self, solution: Incomplete, enfotype: Incomplete, checkint: Incomplete) -> Incomplete: ... - def benderssolvesub(self, solution: Incomplete, probnumber: Incomplete) -> Incomplete: ... - def benderssolvesubconvex(self, solution: Incomplete, probnumber: Incomplete, onlyconvex: Incomplete) -> Incomplete: ... + def benderspostsolve( + self, + solution: Incomplete, + enfotype: Incomplete, + mergecandidates: Incomplete, + npriomergecands: Incomplete, + checkint: Incomplete, + infeasible: Incomplete, + ) -> Incomplete: ... + def benderspresubsolve( + self, solution: Incomplete, enfotype: Incomplete, checkint: Incomplete + ) -> Incomplete: ... + def benderssolvesub( + self, solution: Incomplete, probnumber: Incomplete + ) -> Incomplete: ... + def benderssolvesubconvex( + self, solution: Incomplete, probnumber: Incomplete, onlyconvex: Incomplete + ) -> Incomplete: ... @disjoint_base class Benderscut: @@ -59,7 +74,9 @@ class Benderscut: model: Incomplete name: Incomplete def __init__(self) -> None: ... - def benderscutexec(self, solution: Incomplete, probnumber: Incomplete, enfotype: Incomplete) -> Incomplete: ... + def benderscutexec( + self, solution: Incomplete, probnumber: Incomplete, enfotype: Incomplete + ) -> Incomplete: ... def benderscutexit(self) -> Incomplete: ... def benderscutexitsol(self) -> Incomplete: ... def benderscutfree(self) -> Incomplete: ... @@ -120,19 +137,46 @@ class Conshdlr: name: Incomplete def __init__(self) -> None: ... def consactive(self, constraint: Incomplete) -> Incomplete: ... - def conscheck(self, constraints: Incomplete, solution: Incomplete, checkintegrality: Incomplete, checklprows: Incomplete, printreason: Incomplete, completely: Incomplete) -> Incomplete: ... + def conscheck( + self, + constraints: Incomplete, + solution: Incomplete, + checkintegrality: Incomplete, + checklprows: Incomplete, + printreason: Incomplete, + completely: Incomplete, + ) -> Incomplete: ... def conscopy(self) -> Incomplete: ... def consdeactive(self, constraint: Incomplete) -> Incomplete: ... def consdelete(self, constraint: Incomplete) -> Incomplete: ... def consdelvars(self, constraints: Incomplete) -> Incomplete: ... def consdisable(self, constraint: Incomplete) -> Incomplete: ... def consenable(self, constraint: Incomplete) -> Incomplete: ... - def consenfolp(self, constraints: Incomplete, nusefulconss: Incomplete, solinfeasible: Incomplete) -> Incomplete: ... - def consenfops(self, constraints: Incomplete, nusefulconss: Incomplete, solinfeasible: Incomplete, objinfeasible: Incomplete) -> Incomplete: ... - def consenforelax(self, solution: Incomplete, constraints: Incomplete, nusefulconss: Incomplete, solinfeasible: Incomplete) -> Incomplete: ... + def consenfolp( + self, + constraints: Incomplete, + nusefulconss: Incomplete, + solinfeasible: Incomplete, + ) -> Incomplete: ... + def consenfops( + self, + constraints: Incomplete, + nusefulconss: Incomplete, + solinfeasible: Incomplete, + objinfeasible: Incomplete, + ) -> Incomplete: ... + def consenforelax( + self, + solution: Incomplete, + constraints: Incomplete, + nusefulconss: Incomplete, + solinfeasible: Incomplete, + ) -> Incomplete: ... def consexit(self, constraints: Incomplete) -> Incomplete: ... def consexitpre(self, constraints: Incomplete) -> Incomplete: ... - def consexitsol(self, constraints: Incomplete, restart: Incomplete) -> Incomplete: ... + def consexitsol( + self, constraints: Incomplete, restart: Incomplete + ) -> Incomplete: ... def consfree(self) -> Incomplete: ... def consgetdivebdchgs(self) -> Incomplete: ... def consgetnvars(self, constraint: Incomplete) -> Incomplete: ... @@ -143,14 +187,46 @@ class Conshdlr: def consinitlp(self, constraints: Incomplete) -> Incomplete: ... def consinitpre(self, constraints: Incomplete) -> Incomplete: ... def consinitsol(self, constraints: Incomplete) -> Incomplete: ... - def conslock(self, constraint: Incomplete, locktype: Incomplete, nlockspos: Incomplete, nlocksneg: Incomplete) -> Incomplete: ... + def conslock( + self, + constraint: Incomplete, + locktype: Incomplete, + nlockspos: Incomplete, + nlocksneg: Incomplete, + ) -> Incomplete: ... def consparse(self) -> Incomplete: ... - def conspresol(self, constraints: Incomplete, nrounds: Incomplete, presoltiming: Incomplete, nnewfixedvars: Incomplete, nnewaggrvars: Incomplete, nnewchgvartypes: Incomplete, nnewchgbds: Incomplete, nnewholes: Incomplete, nnewdelconss: Incomplete, nnewaddconss: Incomplete, nnewupgdconss: Incomplete, nnewchgcoefs: Incomplete, nnewchgsides: Incomplete, result_dict: Incomplete) -> Incomplete: ... + def conspresol( + self, + constraints: Incomplete, + nrounds: Incomplete, + presoltiming: Incomplete, + nnewfixedvars: Incomplete, + nnewaggrvars: Incomplete, + nnewchgvartypes: Incomplete, + nnewchgbds: Incomplete, + nnewholes: Incomplete, + nnewdelconss: Incomplete, + nnewaddconss: Incomplete, + nnewupgdconss: Incomplete, + nnewchgcoefs: Incomplete, + nnewchgsides: Incomplete, + result_dict: Incomplete, + ) -> Incomplete: ... def consprint(self, constraint: Incomplete) -> Incomplete: ... - def consprop(self, constraints: Incomplete, nusefulconss: Incomplete, nmarkedconss: Incomplete, proptiming: Incomplete) -> Incomplete: ... + def consprop( + self, + constraints: Incomplete, + nusefulconss: Incomplete, + nmarkedconss: Incomplete, + proptiming: Incomplete, + ) -> Incomplete: ... def consresprop(self) -> Incomplete: ... - def conssepalp(self, constraints: Incomplete, nusefulconss: Incomplete) -> Incomplete: ... - def conssepasol(self, constraints: Incomplete, nusefulconss: Incomplete, solution: Incomplete) -> Incomplete: ... + def conssepalp( + self, constraints: Incomplete, nusefulconss: Incomplete + ) -> Incomplete: ... + def conssepasol( + self, constraints: Incomplete, nusefulconss: Incomplete, solution: Incomplete + ) -> Incomplete: ... def constrans(self, sourceconstraint: Incomplete) -> Incomplete: ... @disjoint_base @@ -197,7 +273,13 @@ class Cutsel: def cutselfree(self) -> Incomplete: ... def cutselinit(self) -> Incomplete: ... def cutselinitsol(self) -> Incomplete: ... - def cutselselect(self, cuts: Incomplete, forcedcuts: Incomplete, root: Incomplete, maxnselectedcuts: Incomplete) -> Incomplete: ... + def cutselselect( + self, + cuts: Incomplete, + forcedcuts: Incomplete, + root: Incomplete, + maxnselectedcuts: Incomplete, + ) -> Incomplete: ... @disjoint_base class DomainChanges: @@ -273,7 +355,9 @@ class ExprCons: _lhs: Incomplete _rhs: Incomplete expr: Incomplete - def __init__(self, expr: Incomplete, lhs: Incomplete = ..., rhs: Incomplete = ...) -> None: ... + def __init__( + self, expr: Incomplete, lhs: Incomplete = ..., rhs: Incomplete = ... + ) -> None: ... def normalize(self) -> Incomplete: ... def __bool__(self) -> bool: ... def __eq__(self, other: object) -> bool: ... @@ -314,7 +398,9 @@ class Heur: model: Incomplete name: Incomplete def __init__(self) -> None: ... - def heurexec(self, heurtiming: Incomplete, nodeinfeasible: Incomplete) -> Incomplete: ... + def heurexec( + self, heurtiming: Incomplete, nodeinfeasible: Incomplete + ) -> Incomplete: ... def heurexit(self) -> Incomplete: ... def heurexitsol(self) -> Incomplete: ... def heurfree(self) -> Incomplete: ... @@ -344,20 +430,44 @@ class IISfinder: class LP: name: Incomplete def __init__(self, name: Incomplete = ..., sense: Incomplete = ...) -> None: ... - def addCol(self, entries: Incomplete, obj: Incomplete = ..., lb: Incomplete = ..., ub: Incomplete = ...) -> Incomplete: ... - def addCols(self, entrieslist: Incomplete, objs: Incomplete = ..., lbs: Incomplete = ..., ubs: Incomplete = ...) -> Incomplete: ... - def addRow(self, entries: Incomplete, lhs: Incomplete = ..., rhs: Incomplete = ...) -> Incomplete: ... - def addRows(self, entrieslist: Incomplete, lhss: Incomplete = ..., rhss: Incomplete = ...) -> Incomplete: ... - def chgBound(self, col: Incomplete, lb: Incomplete, ub: Incomplete) -> Incomplete: ... - def chgCoef(self, row: Incomplete, col: Incomplete, newval: Incomplete) -> Incomplete: ... + def addCol( + self, + entries: Incomplete, + obj: Incomplete = ..., + lb: Incomplete = ..., + ub: Incomplete = ..., + ) -> Incomplete: ... + def addCols( + self, + entrieslist: Incomplete, + objs: Incomplete = ..., + lbs: Incomplete = ..., + ubs: Incomplete = ..., + ) -> Incomplete: ... + def addRow( + self, entries: Incomplete, lhs: Incomplete = ..., rhs: Incomplete = ... + ) -> Incomplete: ... + def addRows( + self, entrieslist: Incomplete, lhss: Incomplete = ..., rhss: Incomplete = ... + ) -> Incomplete: ... + def chgBound( + self, col: Incomplete, lb: Incomplete, ub: Incomplete + ) -> Incomplete: ... + def chgCoef( + self, row: Incomplete, col: Incomplete, newval: Incomplete + ) -> Incomplete: ... def chgObj(self, col: Incomplete, obj: Incomplete) -> Incomplete: ... - def chgSide(self, row: Incomplete, lhs: Incomplete, rhs: Incomplete) -> Incomplete: ... + def chgSide( + self, row: Incomplete, lhs: Incomplete, rhs: Incomplete + ) -> Incomplete: ... def clear(self) -> Incomplete: ... def delCols(self, firstcol: Incomplete, lastcol: Incomplete) -> Incomplete: ... def delRows(self, firstrow: Incomplete, lastrow: Incomplete) -> Incomplete: ... def getActivity(self) -> Incomplete: ... def getBasisInds(self) -> Incomplete: ... - def getBounds(self, firstcol: Incomplete = ..., lastcol: Incomplete = ...) -> Incomplete: ... + def getBounds( + self, firstcol: Incomplete = ..., lastcol: Incomplete = ... + ) -> Incomplete: ... def getDual(self) -> Incomplete: ... def getDualRay(self) -> Incomplete: ... def getIntParam(self, param: Incomplete) -> Incomplete: ... @@ -367,7 +477,9 @@ class LP: def getPrimalRay(self) -> Incomplete: ... def getRealParam(self, param: Incomplete) -> Incomplete: ... def getRedcost(self) -> Incomplete: ... - def getSides(self, firstrow: Incomplete = ..., lastrow: Incomplete = ...) -> Incomplete: ... + def getSides( + self, firstrow: Incomplete = ..., lastrow: Incomplete = ... + ) -> Incomplete: ... def infinity(self) -> Incomplete: ... def isDualFeasible(self) -> Incomplete: ... def isInfinity(self, val: Incomplete) -> Incomplete: ... @@ -419,8 +531,7 @@ class MatrixExprCons(numpy.ndarray): def __ge__(self, other: object) -> bool: ... # type: ignore[override] def __le__(self, other: object) -> bool: ... # type: ignore[override] -class MatrixGenExpr(MatrixExpr): - ... +class MatrixGenExpr(MatrixExpr): ... class MatrixVariable(MatrixExpr): def getAvgSol(self) -> Incomplete: ... @@ -442,79 +553,368 @@ class MatrixVariable(MatrixExpr): class Model: _freescip: Incomplete data: Incomplete - def __init__(self, problemName: Incomplete = ..., defaultPlugins: Incomplete = ..., sourceModel: Incomplete = ..., origcopy: Incomplete = ..., globalcopy: Incomplete = ..., enablepricing: Incomplete = ..., createscip: Incomplete = ..., threadsafe: Incomplete = ...) -> None: ... + def __init__( + self, + problemName: Incomplete = ..., + defaultPlugins: Incomplete = ..., + sourceModel: Incomplete = ..., + origcopy: Incomplete = ..., + globalcopy: Incomplete = ..., + enablepricing: Incomplete = ..., + createscip: Incomplete = ..., + threadsafe: Incomplete = ..., + ) -> None: ... def _createConsGenNonlinear(self, cons: Incomplete) -> Incomplete: ... def _createConsLinear(self, lincons: Incomplete) -> Incomplete: ... def _createConsNonlinear(self, cons: Incomplete) -> Incomplete: ... def _createConsQuadratic(self, quadcons: Incomplete) -> Incomplete: ... def _getStageNames(self) -> Incomplete: ... - def activateBenders(self, benders: Incomplete, nsubproblems: Incomplete) -> Incomplete: ... - def addBendersSubproblem(self, benders: Incomplete, subproblem: Incomplete) -> Incomplete: ... - def addCoefKnapsack(self, cons: Incomplete, var: Incomplete, weight: Incomplete) -> Incomplete: ... - def addCoefLinear(self, cons: Incomplete, var: Incomplete, value: Incomplete) -> Incomplete: ... - def addCons(self, cons: Incomplete, name: Incomplete = ..., initial: Incomplete = ..., separate: Incomplete = ..., enforce: Incomplete = ..., check: Incomplete = ..., propagate: Incomplete = ..., local: Incomplete = ..., modifiable: Incomplete = ..., dynamic: Incomplete = ..., removable: Incomplete = ..., stickingatnode: Incomplete = ...) -> Incomplete: ... - def addConsAnd(self, vars: Incomplete, resvar: Incomplete, name: Incomplete = ..., initial: Incomplete = ..., separate: Incomplete = ..., enforce: Incomplete = ..., check: Incomplete = ..., propagate: Incomplete = ..., local: Incomplete = ..., modifiable: Incomplete = ..., dynamic: Incomplete = ..., removable: Incomplete = ..., stickingatnode: Incomplete = ...) -> Incomplete: ... - def addConsCardinality(self, consvars: Incomplete, cardval: Incomplete, indvars: Incomplete = ..., weights: Incomplete = ..., name: Incomplete = ..., initial: Incomplete = ..., separate: Incomplete = ..., enforce: Incomplete = ..., check: Incomplete = ..., propagate: Incomplete = ..., local: Incomplete = ..., dynamic: Incomplete = ..., removable: Incomplete = ..., stickingatnode: Incomplete = ...) -> Incomplete: ... - def addConsCoeff(self, cons: Incomplete, var: Incomplete, coeff: Incomplete) -> Incomplete: ... - def addConsDisjunction(self, conss: Incomplete, name: Incomplete = ..., initial: Incomplete = ..., relaxcons: Incomplete = ..., enforce: Incomplete = ..., check: Incomplete = ..., local: Incomplete = ..., modifiable: Incomplete = ..., dynamic: Incomplete = ...) -> Incomplete: ... - def addConsElemDisjunction(self, disj_cons: Incomplete, cons: Incomplete) -> Incomplete: ... - def addConsIndicator(self, cons: Incomplete, binvar: Incomplete = ..., activeone: Incomplete = ..., name: Incomplete = ..., initial: Incomplete = ..., separate: Incomplete = ..., enforce: Incomplete = ..., check: Incomplete = ..., propagate: Incomplete = ..., local: Incomplete = ..., dynamic: Incomplete = ..., removable: Incomplete = ..., stickingatnode: Incomplete = ...) -> Incomplete: ... - def addConsKnapsack(self, vars: Incomplete, weights: Incomplete, capacity: Incomplete, name: Incomplete = ..., initial: Incomplete = ..., separate: Incomplete = ..., enforce: Incomplete = ..., check: Incomplete = ..., modifiable: Incomplete = ..., propagate: Incomplete = ..., local: Incomplete = ..., dynamic: Incomplete = ..., removable: Incomplete = ..., stickingatnode: Incomplete = ...) -> Incomplete: ... - def addConsLocal(self, cons: Incomplete, validnode: Incomplete = ...) -> Incomplete: ... - def addConsNode(self, node: Incomplete, cons: Incomplete, validnode: Incomplete = ...) -> Incomplete: ... - def addConsOr(self, vars: Incomplete, resvar: Incomplete, name: Incomplete = ..., initial: Incomplete = ..., separate: Incomplete = ..., enforce: Incomplete = ..., check: Incomplete = ..., propagate: Incomplete = ..., local: Incomplete = ..., modifiable: Incomplete = ..., dynamic: Incomplete = ..., removable: Incomplete = ..., stickingatnode: Incomplete = ...) -> Incomplete: ... - def addConsSOS1(self, vars: Incomplete, weights: Incomplete = ..., name: Incomplete = ..., initial: Incomplete = ..., separate: Incomplete = ..., enforce: Incomplete = ..., check: Incomplete = ..., propagate: Incomplete = ..., local: Incomplete = ..., dynamic: Incomplete = ..., removable: Incomplete = ..., stickingatnode: Incomplete = ...) -> Incomplete: ... - def addConsSOS2(self, vars: Incomplete, weights: Incomplete = ..., name: Incomplete = ..., initial: Incomplete = ..., separate: Incomplete = ..., enforce: Incomplete = ..., check: Incomplete = ..., propagate: Incomplete = ..., local: Incomplete = ..., dynamic: Incomplete = ..., removable: Incomplete = ..., stickingatnode: Incomplete = ...) -> Incomplete: ... - def addConsXor(self, vars: Incomplete, rhsvar: Incomplete, name: Incomplete = ..., initial: Incomplete = ..., separate: Incomplete = ..., enforce: Incomplete = ..., check: Incomplete = ..., propagate: Incomplete = ..., local: Incomplete = ..., modifiable: Incomplete = ..., dynamic: Incomplete = ..., removable: Incomplete = ..., stickingatnode: Incomplete = ...) -> Incomplete: ... - def addConss(self, conss: Incomplete, name: Incomplete = ..., initial: Incomplete = ..., separate: Incomplete = ..., enforce: Incomplete = ..., check: Incomplete = ..., propagate: Incomplete = ..., local: Incomplete = ..., modifiable: Incomplete = ..., dynamic: Incomplete = ..., removable: Incomplete = ..., stickingatnode: Incomplete = ...) -> Incomplete: ... + def activateBenders( + self, benders: Incomplete, nsubproblems: Incomplete + ) -> Incomplete: ... + def addBendersSubproblem( + self, benders: Incomplete, subproblem: Incomplete + ) -> Incomplete: ... + def addCoefKnapsack( + self, cons: Incomplete, var: Incomplete, weight: Incomplete + ) -> Incomplete: ... + def addCoefLinear( + self, cons: Incomplete, var: Incomplete, value: Incomplete + ) -> Incomplete: ... + def addCons( + self, + cons: Incomplete, + name: Incomplete = ..., + initial: Incomplete = ..., + separate: Incomplete = ..., + enforce: Incomplete = ..., + check: Incomplete = ..., + propagate: Incomplete = ..., + local: Incomplete = ..., + modifiable: Incomplete = ..., + dynamic: Incomplete = ..., + removable: Incomplete = ..., + stickingatnode: Incomplete = ..., + ) -> Incomplete: ... + def addConsAnd( + self, + vars: Incomplete, + resvar: Incomplete, + name: Incomplete = ..., + initial: Incomplete = ..., + separate: Incomplete = ..., + enforce: Incomplete = ..., + check: Incomplete = ..., + propagate: Incomplete = ..., + local: Incomplete = ..., + modifiable: Incomplete = ..., + dynamic: Incomplete = ..., + removable: Incomplete = ..., + stickingatnode: Incomplete = ..., + ) -> Incomplete: ... + def addConsCardinality( + self, + consvars: Incomplete, + cardval: Incomplete, + indvars: Incomplete = ..., + weights: Incomplete = ..., + name: Incomplete = ..., + initial: Incomplete = ..., + separate: Incomplete = ..., + enforce: Incomplete = ..., + check: Incomplete = ..., + propagate: Incomplete = ..., + local: Incomplete = ..., + dynamic: Incomplete = ..., + removable: Incomplete = ..., + stickingatnode: Incomplete = ..., + ) -> Incomplete: ... + def addConsCoeff( + self, cons: Incomplete, var: Incomplete, coeff: Incomplete + ) -> Incomplete: ... + def addConsDisjunction( + self, + conss: Incomplete, + name: Incomplete = ..., + initial: Incomplete = ..., + relaxcons: Incomplete = ..., + enforce: Incomplete = ..., + check: Incomplete = ..., + local: Incomplete = ..., + modifiable: Incomplete = ..., + dynamic: Incomplete = ..., + ) -> Incomplete: ... + def addConsElemDisjunction( + self, disj_cons: Incomplete, cons: Incomplete + ) -> Incomplete: ... + def addConsIndicator( + self, + cons: Incomplete, + binvar: Incomplete = ..., + activeone: Incomplete = ..., + name: Incomplete = ..., + initial: Incomplete = ..., + separate: Incomplete = ..., + enforce: Incomplete = ..., + check: Incomplete = ..., + propagate: Incomplete = ..., + local: Incomplete = ..., + dynamic: Incomplete = ..., + removable: Incomplete = ..., + stickingatnode: Incomplete = ..., + ) -> Incomplete: ... + def addConsKnapsack( + self, + vars: Incomplete, + weights: Incomplete, + capacity: Incomplete, + name: Incomplete = ..., + initial: Incomplete = ..., + separate: Incomplete = ..., + enforce: Incomplete = ..., + check: Incomplete = ..., + modifiable: Incomplete = ..., + propagate: Incomplete = ..., + local: Incomplete = ..., + dynamic: Incomplete = ..., + removable: Incomplete = ..., + stickingatnode: Incomplete = ..., + ) -> Incomplete: ... + def addConsLocal( + self, cons: Incomplete, validnode: Incomplete = ... + ) -> Incomplete: ... + def addConsNode( + self, node: Incomplete, cons: Incomplete, validnode: Incomplete = ... + ) -> Incomplete: ... + def addConsOr( + self, + vars: Incomplete, + resvar: Incomplete, + name: Incomplete = ..., + initial: Incomplete = ..., + separate: Incomplete = ..., + enforce: Incomplete = ..., + check: Incomplete = ..., + propagate: Incomplete = ..., + local: Incomplete = ..., + modifiable: Incomplete = ..., + dynamic: Incomplete = ..., + removable: Incomplete = ..., + stickingatnode: Incomplete = ..., + ) -> Incomplete: ... + def addConsSOS1( + self, + vars: Incomplete, + weights: Incomplete = ..., + name: Incomplete = ..., + initial: Incomplete = ..., + separate: Incomplete = ..., + enforce: Incomplete = ..., + check: Incomplete = ..., + propagate: Incomplete = ..., + local: Incomplete = ..., + dynamic: Incomplete = ..., + removable: Incomplete = ..., + stickingatnode: Incomplete = ..., + ) -> Incomplete: ... + def addConsSOS2( + self, + vars: Incomplete, + weights: Incomplete = ..., + name: Incomplete = ..., + initial: Incomplete = ..., + separate: Incomplete = ..., + enforce: Incomplete = ..., + check: Incomplete = ..., + propagate: Incomplete = ..., + local: Incomplete = ..., + dynamic: Incomplete = ..., + removable: Incomplete = ..., + stickingatnode: Incomplete = ..., + ) -> Incomplete: ... + def addConsXor( + self, + vars: Incomplete, + rhsvar: Incomplete, + name: Incomplete = ..., + initial: Incomplete = ..., + separate: Incomplete = ..., + enforce: Incomplete = ..., + check: Incomplete = ..., + propagate: Incomplete = ..., + local: Incomplete = ..., + modifiable: Incomplete = ..., + dynamic: Incomplete = ..., + removable: Incomplete = ..., + stickingatnode: Incomplete = ..., + ) -> Incomplete: ... + def addConss( + self, + conss: Incomplete, + name: Incomplete = ..., + initial: Incomplete = ..., + separate: Incomplete = ..., + enforce: Incomplete = ..., + check: Incomplete = ..., + propagate: Incomplete = ..., + local: Incomplete = ..., + modifiable: Incomplete = ..., + dynamic: Incomplete = ..., + removable: Incomplete = ..., + stickingatnode: Incomplete = ..., + ) -> Incomplete: ... def addCut(self, cut: Incomplete, forcecut: Incomplete = ...) -> Incomplete: ... - def addExprNonlinear(self, cons: Incomplete, expr: Incomplete, coef: Incomplete) -> Incomplete: ... - def addMatrixCons(self, cons: Incomplete, name: Incomplete = ..., initial: Incomplete = ..., separate: Incomplete = ..., enforce: Incomplete = ..., check: Incomplete = ..., propagate: Incomplete = ..., local: Incomplete = ..., modifiable: Incomplete = ..., dynamic: Incomplete = ..., removable: Incomplete = ..., stickingatnode: Incomplete = ...) -> Incomplete: ... - def addMatrixConsIndicator(self, cons: Incomplete, binvar: Incomplete = ..., activeone: Incomplete = ..., name: Incomplete = ..., initial: Incomplete = ..., separate: Incomplete = ..., enforce: Incomplete = ..., check: Incomplete = ..., propagate: Incomplete = ..., local: Incomplete = ..., dynamic: Incomplete = ..., removable: Incomplete = ..., stickingatnode: Incomplete = ...) -> Incomplete: ... - def addMatrixVar(self, shape: Incomplete, name: Incomplete = ..., vtype: Incomplete = ..., lb: Incomplete = ..., ub: Incomplete = ..., obj: Incomplete = ..., pricedVar: Incomplete = ..., pricedVarScore: Incomplete = ...) -> Incomplete: ... - def addObjoffset(self, offset: Incomplete, solutions: Incomplete = ...) -> Incomplete: ... + def addExprNonlinear( + self, cons: Incomplete, expr: Incomplete, coef: Incomplete + ) -> Incomplete: ... + def addMatrixCons( + self, + cons: Incomplete, + name: Incomplete = ..., + initial: Incomplete = ..., + separate: Incomplete = ..., + enforce: Incomplete = ..., + check: Incomplete = ..., + propagate: Incomplete = ..., + local: Incomplete = ..., + modifiable: Incomplete = ..., + dynamic: Incomplete = ..., + removable: Incomplete = ..., + stickingatnode: Incomplete = ..., + ) -> Incomplete: ... + def addMatrixConsIndicator( + self, + cons: Incomplete, + binvar: Incomplete = ..., + activeone: Incomplete = ..., + name: Incomplete = ..., + initial: Incomplete = ..., + separate: Incomplete = ..., + enforce: Incomplete = ..., + check: Incomplete = ..., + propagate: Incomplete = ..., + local: Incomplete = ..., + dynamic: Incomplete = ..., + removable: Incomplete = ..., + stickingatnode: Incomplete = ..., + ) -> Incomplete: ... + def addMatrixVar( + self, + shape: Incomplete, + name: Incomplete = ..., + vtype: Incomplete = ..., + lb: Incomplete = ..., + ub: Incomplete = ..., + obj: Incomplete = ..., + pricedVar: Incomplete = ..., + pricedVarScore: Incomplete = ..., + ) -> Incomplete: ... + def addObjoffset( + self, offset: Incomplete, solutions: Incomplete = ... + ) -> Incomplete: ... def addPoolCut(self, row: Incomplete) -> Incomplete: ... def addPyCons(self, cons: Incomplete) -> Incomplete: ... def addRowDive(self, row: Incomplete) -> Incomplete: ... def addRowExact(self, rowexact: Incomplete) -> Incomplete: ... def addSol(self, solution: Incomplete, free: Incomplete = ...) -> Incomplete: ... - def addVar(self, name: Incomplete = ..., vtype: Incomplete = ..., lb: Incomplete = ..., ub: Incomplete = ..., obj: Incomplete = ..., pricedVar: Incomplete = ..., pricedVarScore: Incomplete = ..., deletable: Incomplete = ...) -> Incomplete: ... - def addVarLocks(self, var: Incomplete, nlocksdown: Incomplete, nlocksup: Incomplete) -> Incomplete: ... - def addVarLocksType(self, var: Incomplete, locktype: Incomplete, nlocksdown: Incomplete, nlocksup: Incomplete) -> Incomplete: ... - def addVarSOS1(self, cons: Incomplete, var: Incomplete, weight: Incomplete) -> Incomplete: ... - def addVarSOS2(self, cons: Incomplete, var: Incomplete, weight: Incomplete) -> Incomplete: ... - def addVarToRow(self, row: Incomplete, var: Incomplete, value: Incomplete) -> Incomplete: ... + def addVar( + self, + name: Incomplete = ..., + vtype: Incomplete = ..., + lb: Incomplete = ..., + ub: Incomplete = ..., + obj: Incomplete = ..., + pricedVar: Incomplete = ..., + pricedVarScore: Incomplete = ..., + deletable: Incomplete = ..., + ) -> Incomplete: ... + def addVarLocks( + self, var: Incomplete, nlocksdown: Incomplete, nlocksup: Incomplete + ) -> Incomplete: ... + def addVarLocksType( + self, + var: Incomplete, + locktype: Incomplete, + nlocksdown: Incomplete, + nlocksup: Incomplete, + ) -> Incomplete: ... + def addVarSOS1( + self, cons: Incomplete, var: Incomplete, weight: Incomplete + ) -> Incomplete: ... + def addVarSOS2( + self, cons: Incomplete, var: Incomplete, weight: Incomplete + ) -> Incomplete: ... + def addVarToRow( + self, row: Incomplete, var: Incomplete, value: Incomplete + ) -> Incomplete: ... def allColsInLP(self) -> Incomplete: ... def allowNegSlackExact(self) -> Incomplete: ... def appendVarSOS1(self, cons: Incomplete, var: Incomplete) -> Incomplete: ... def appendVarSOS2(self, cons: Incomplete, var: Incomplete) -> Incomplete: ... def applyCutsProbing(self) -> Incomplete: ... - def attachEventHandlerCallback(self, callback: Incomplete, events: Incomplete, name: Incomplete = ..., description: Incomplete = ...) -> Incomplete: ... + def attachEventHandlerCallback( + self, + callback: Incomplete, + events: Incomplete, + name: Incomplete = ..., + description: Incomplete = ..., + ) -> Incomplete: ... def backtrackProbing(self, probingdepth: Incomplete) -> Incomplete: ... def branchLPExact(self) -> Incomplete: ... def branchVar(self, variable: Incomplete) -> Incomplete: ... def branchVarVal(self, variable: Incomplete, value: Incomplete) -> Incomplete: ... def cacheRowExtensions(self, row: Incomplete) -> Incomplete: ... - def calcChildEstimate(self, variable: Incomplete, targetvalue: Incomplete) -> Incomplete: ... - def calcNodeselPriority(self, variable: Incomplete, branchdir: Incomplete, targetvalue: Incomplete) -> Incomplete: ... - def catchEvent(self, eventtype: Incomplete, eventhdlr: Incomplete) -> Incomplete: ... - def catchRowEvent(self, row: Incomplete, eventtype: Incomplete, eventhdlr: Incomplete) -> Incomplete: ... - def catchVarEvent(self, var: Incomplete, eventtype: Incomplete, eventhdlr: Incomplete) -> Incomplete: ... - def checkBendersSubproblemOptimality(self, solution: Incomplete, probnumber: Incomplete, benders: Incomplete = ...) -> Incomplete: ... + def calcChildEstimate( + self, variable: Incomplete, targetvalue: Incomplete + ) -> Incomplete: ... + def calcNodeselPriority( + self, variable: Incomplete, branchdir: Incomplete, targetvalue: Incomplete + ) -> Incomplete: ... + def catchEvent( + self, eventtype: Incomplete, eventhdlr: Incomplete + ) -> Incomplete: ... + def catchRowEvent( + self, row: Incomplete, eventtype: Incomplete, eventhdlr: Incomplete + ) -> Incomplete: ... + def catchVarEvent( + self, var: Incomplete, eventtype: Incomplete, eventhdlr: Incomplete + ) -> Incomplete: ... + def checkBendersSubproblemOptimality( + self, solution: Incomplete, probnumber: Incomplete, benders: Incomplete = ... + ) -> Incomplete: ... def checkQuadraticNonlinear(self, cons: Incomplete) -> Incomplete: ... - def checkSol(self, solution: Incomplete, printreason: Incomplete = ..., completely: Incomplete = ..., checkbounds: Incomplete = ..., checkintegrality: Incomplete = ..., checklprows: Incomplete = ..., original: Incomplete = ...) -> Incomplete: ... - def chgCapacityKnapsack(self, cons: Incomplete, capacity: Incomplete) -> Incomplete: ... - def chgCoefLinear(self, cons: Incomplete, var: Incomplete, value: Incomplete) -> Incomplete: ... + def checkSol( + self, + solution: Incomplete, + printreason: Incomplete = ..., + completely: Incomplete = ..., + checkbounds: Incomplete = ..., + checkintegrality: Incomplete = ..., + checklprows: Incomplete = ..., + original: Incomplete = ..., + ) -> Incomplete: ... + def chgCapacityKnapsack( + self, cons: Incomplete, capacity: Incomplete + ) -> Incomplete: ... + def chgCoefLinear( + self, cons: Incomplete, var: Incomplete, value: Incomplete + ) -> Incomplete: ... def chgLhs(self, cons: Incomplete, lhs: Incomplete) -> Incomplete: ... - def chgReoptObjective(self, coeffs: Incomplete, sense: Incomplete = ...) -> Incomplete: ... + def chgReoptObjective( + self, coeffs: Incomplete, sense: Incomplete = ... + ) -> Incomplete: ... def chgRhs(self, cons: Incomplete, rhs: Incomplete) -> Incomplete: ... def chgRowLhsDive(self, row: Incomplete, newlhs: Incomplete) -> Incomplete: ... def chgRowRhsDive(self, row: Incomplete, newrhs: Incomplete) -> Incomplete: ... - def chgVarBranchPriority(self, var: Incomplete, priority: Incomplete) -> Incomplete: ... + def chgVarBranchPriority( + self, var: Incomplete, priority: Incomplete + ) -> Incomplete: ... def chgVarLb(self, var: Incomplete, lb: Incomplete) -> Incomplete: ... def chgVarLbDive(self, var: Incomplete, newbound: Incomplete) -> Incomplete: ... def chgVarLbGlobal(self, var: Incomplete, lb: Incomplete) -> Incomplete: ... - def chgVarLbNode(self, node: Incomplete, var: Incomplete, lb: Incomplete) -> Incomplete: ... + def chgVarLbNode( + self, node: Incomplete, var: Incomplete, lb: Incomplete + ) -> Incomplete: ... def chgVarLbProbing(self, var: Incomplete, lb: Incomplete) -> Incomplete: ... def chgVarObjDive(self, var: Incomplete, newobj: Incomplete) -> Incomplete: ... def chgVarObjProbing(self, var: Incomplete, newobj: Incomplete) -> Incomplete: ... @@ -522,21 +922,74 @@ class Model: def chgVarUb(self, var: Incomplete, ub: Incomplete) -> Incomplete: ... def chgVarUbDive(self, var: Incomplete, newbound: Incomplete) -> Incomplete: ... def chgVarUbGlobal(self, var: Incomplete, ub: Incomplete) -> Incomplete: ... - def chgVarUbNode(self, node: Incomplete, var: Incomplete, ub: Incomplete) -> Incomplete: ... + def chgVarUbNode( + self, node: Incomplete, var: Incomplete, ub: Incomplete + ) -> Incomplete: ... def chgVarUbProbing(self, var: Incomplete, ub: Incomplete) -> Incomplete: ... def computeBestSolSubproblems(self) -> Incomplete: ... def constructLP(self) -> Incomplete: ... - def copyLargeNeighborhoodSearch(self, to_fix: Incomplete, fix_vals: Incomplete) -> Incomplete: ... + def copyLargeNeighborhoodSearch( + self, to_fix: Incomplete, fix_vals: Incomplete + ) -> Incomplete: ... def count(self) -> Incomplete: ... - def createChild(self, nodeselprio: Incomplete, estimate: Incomplete) -> Incomplete: ... - def createCons(self, conshdlr: Incomplete, name: Incomplete, initial: Incomplete = ..., separate: Incomplete = ..., enforce: Incomplete = ..., check: Incomplete = ..., propagate: Incomplete = ..., local: Incomplete = ..., modifiable: Incomplete = ..., dynamic: Incomplete = ..., removable: Incomplete = ..., stickingatnode: Incomplete = ...) -> Incomplete: ... - def createConsFromExpr(self, cons: Incomplete, name: Incomplete = ..., initial: Incomplete = ..., separate: Incomplete = ..., enforce: Incomplete = ..., check: Incomplete = ..., propagate: Incomplete = ..., local: Incomplete = ..., modifiable: Incomplete = ..., dynamic: Incomplete = ..., removable: Incomplete = ..., stickingatnode: Incomplete = ...) -> Incomplete: ... - def createEmptyRowSepa(self, sepa: Incomplete, name: Incomplete = ..., lhs: Incomplete = ..., rhs: Incomplete = ..., local: Incomplete = ..., modifiable: Incomplete = ..., removable: Incomplete = ...) -> Incomplete: ... - def createEmptyRowUnspec(self, name: Incomplete = ..., lhs: Incomplete = ..., rhs: Incomplete = ..., local: Incomplete = ..., modifiable: Incomplete = ..., removable: Incomplete = ...) -> Incomplete: ... + def createChild( + self, nodeselprio: Incomplete, estimate: Incomplete + ) -> Incomplete: ... + def createCons( + self, + conshdlr: Incomplete, + name: Incomplete, + initial: Incomplete = ..., + separate: Incomplete = ..., + enforce: Incomplete = ..., + check: Incomplete = ..., + propagate: Incomplete = ..., + local: Incomplete = ..., + modifiable: Incomplete = ..., + dynamic: Incomplete = ..., + removable: Incomplete = ..., + stickingatnode: Incomplete = ..., + ) -> Incomplete: ... + def createConsFromExpr( + self, + cons: Incomplete, + name: Incomplete = ..., + initial: Incomplete = ..., + separate: Incomplete = ..., + enforce: Incomplete = ..., + check: Incomplete = ..., + propagate: Incomplete = ..., + local: Incomplete = ..., + modifiable: Incomplete = ..., + dynamic: Incomplete = ..., + removable: Incomplete = ..., + stickingatnode: Incomplete = ..., + ) -> Incomplete: ... + def createEmptyRowSepa( + self, + sepa: Incomplete, + name: Incomplete = ..., + lhs: Incomplete = ..., + rhs: Incomplete = ..., + local: Incomplete = ..., + modifiable: Incomplete = ..., + removable: Incomplete = ..., + ) -> Incomplete: ... + def createEmptyRowUnspec( + self, + name: Incomplete = ..., + lhs: Incomplete = ..., + rhs: Incomplete = ..., + local: Incomplete = ..., + modifiable: Incomplete = ..., + removable: Incomplete = ..., + ) -> Incomplete: ... def createOrigSol(self, heur: Incomplete = ...) -> Incomplete: ... def createPartialSol(self, heur: Incomplete = ...) -> Incomplete: ... def createProbBasic(self, problemName: Incomplete = ...) -> Incomplete: ... - def createSol(self, heur: Incomplete = ..., initlp: Incomplete = ...) -> Incomplete: ... + def createSol( + self, heur: Incomplete = ..., initlp: Incomplete = ... + ) -> Incomplete: ... def cutoffNode(self, node: Incomplete) -> Incomplete: ... def deactivatePricer(self, pricer: Incomplete) -> Incomplete: ... def delCoefLinear(self, cons: Incomplete, var: Incomplete) -> Incomplete: ... @@ -546,8 +999,12 @@ class Model: def disableDebugSol(self) -> Incomplete: ... def disablePropagation(self, onlyroot: Incomplete = ...) -> Incomplete: ... def dropEvent(self, eventtype: Incomplete, eventhdlr: Incomplete) -> Incomplete: ... - def dropRowEvent(self, row: Incomplete, eventtype: Incomplete, eventhdlr: Incomplete) -> Incomplete: ... - def dropVarEvent(self, var: Incomplete, eventtype: Incomplete, eventhdlr: Incomplete) -> Incomplete: ... + def dropRowEvent( + self, row: Incomplete, eventtype: Incomplete, eventhdlr: Incomplete + ) -> Incomplete: ... + def dropVarEvent( + self, var: Incomplete, eventtype: Incomplete, eventhdlr: Incomplete + ) -> Incomplete: ... def enableDebugSol(self) -> Incomplete: ... def enableExactSolving(self, enable: Incomplete) -> Incomplete: ... def enableReoptimization(self, enable: Incomplete = ...) -> Incomplete: ... @@ -573,17 +1030,32 @@ class Model: def from_ptr(capsule: Incomplete, take_ownership: Incomplete) -> Incomplete: ... def generateIIS(self) -> Incomplete: ... def getActivity(self, cons: Incomplete, sol: Incomplete = ...) -> Incomplete: ... - def getBendersAuxiliaryVar(self, probnumber: Incomplete, benders: Incomplete = ...) -> Incomplete: ... - def getBendersSubproblem(self, probnumber: Incomplete, benders: Incomplete = ...) -> Incomplete: ... - def getBendersVar(self, var: Incomplete, benders: Incomplete = ..., probnumber: Incomplete = ...) -> Incomplete: ... + def getBendersAuxiliaryVar( + self, probnumber: Incomplete, benders: Incomplete = ... + ) -> Incomplete: ... + def getBendersSubproblem( + self, probnumber: Incomplete, benders: Incomplete = ... + ) -> Incomplete: ... + def getBendersVar( + self, var: Incomplete, benders: Incomplete = ..., probnumber: Incomplete = ... + ) -> Incomplete: ... def getBestChild(self) -> Incomplete: ... def getBestLeaf(self) -> Incomplete: ... def getBestNode(self) -> Incomplete: ... def getBestSibling(self) -> Incomplete: ... def getBestSol(self) -> Incomplete: ... def getBestboundNode(self) -> Incomplete: ... - def getBipartiteGraphRepresentation(self, prev_col_features: Incomplete = ..., prev_edge_features: Incomplete = ..., prev_row_features: Incomplete = ..., static_only: Incomplete = ..., suppress_warnings: Incomplete = ...) -> Incomplete: ... - def getBranchScoreMultiple(self, var: Incomplete, gains: Incomplete) -> Incomplete: ... + def getBipartiteGraphRepresentation( + self, + prev_col_features: Incomplete = ..., + prev_edge_features: Incomplete = ..., + prev_row_features: Incomplete = ..., + static_only: Incomplete = ..., + suppress_warnings: Incomplete = ..., + ) -> Incomplete: ... + def getBranchScoreMultiple( + self, var: Incomplete, gains: Incomplete + ) -> Incomplete: ... def getCapacityKnapsack(self, cons: Incomplete) -> Incomplete: ... def getChildren(self) -> Incomplete: ... def getColRedCost(self, col: Incomplete) -> Incomplete: ... @@ -594,11 +1066,15 @@ class Model: def getConss(self, transformed: Incomplete = ...) -> Incomplete: ... def getCurrentNode(self) -> Incomplete: ... def getCutEfficacy(self, cut: Incomplete, sol: Incomplete = ...) -> Incomplete: ... - def getCutLPSolCutoffDistance(self, cut: Incomplete, sol: Incomplete) -> Incomplete: ... + def getCutLPSolCutoffDistance( + self, cut: Incomplete, sol: Incomplete + ) -> Incomplete: ... def getCutoffbound(self) -> Incomplete: ... def getDepth(self) -> Incomplete: ... def getDualMultiplier(self, cons: Incomplete) -> Incomplete: ... - def getDualSolVal(self, cons: Incomplete, boundconstraint: Incomplete = ...) -> Incomplete: ... + def getDualSolVal( + self, cons: Incomplete, boundconstraint: Incomplete = ... + ) -> Incomplete: ... def getDualbound(self) -> Incomplete: ... def getDualboundRoot(self) -> Incomplete: ... def getDualfarkasKnapsack(self, cons: Incomplete) -> Incomplete: ... @@ -656,8 +1132,12 @@ class Model: def getNVars(self, transformed: Incomplete = ...) -> Incomplete: ... def getNVarsAnd(self, and_cons: Incomplete) -> Incomplete: ... def getNlRowActivityBounds(self, nlrow: Incomplete) -> Incomplete: ... - def getNlRowSolActivity(self, nlrow: Incomplete, sol: Incomplete = ...) -> Incomplete: ... - def getNlRowSolFeasibility(self, nlrow: Incomplete, sol: Incomplete = ...) -> Incomplete: ... + def getNlRowSolActivity( + self, nlrow: Incomplete, sol: Incomplete = ... + ) -> Incomplete: ... + def getNlRowSolFeasibility( + self, nlrow: Incomplete, sol: Incomplete = ... + ) -> Incomplete: ... def getNlRows(self) -> Incomplete: ... def getObjVal(self, original: Incomplete = ...) -> Incomplete: ... def getObjective(self) -> Incomplete: ... @@ -686,11 +1166,17 @@ class Model: def getRowLinear(self, cons: Incomplete) -> Incomplete: ... def getRowNumIntCols(self, row: Incomplete) -> Incomplete: ... def getRowObjParallelism(self, row: Incomplete) -> Incomplete: ... - def getRowParallelism(self, row1: Incomplete, row2: Incomplete, orthofunc: Incomplete = ...) -> Incomplete: ... + def getRowParallelism( + self, row1: Incomplete, row2: Incomplete, orthofunc: Incomplete = ... + ) -> Incomplete: ... def getSiblings(self) -> Incomplete: ... - def getSlack(self, cons: Incomplete, sol: Incomplete = ..., side: Incomplete = ...) -> Incomplete: ... + def getSlack( + self, cons: Incomplete, sol: Incomplete = ..., side: Incomplete = ... + ) -> Incomplete: ... def getSlackVarIndicator(self, cons: Incomplete) -> Incomplete: ... - def getSolObjVal(self, sol: Incomplete, original: Incomplete = ...) -> Incomplete: ... + def getSolObjVal( + self, sol: Incomplete, original: Incomplete = ... + ) -> Incomplete: ... def getSolTime(self, sol: Incomplete) -> Incomplete: ... def getSolVal(self, sol: Incomplete, expr: Incomplete) -> Incomplete: ... def getSols(self) -> Incomplete: ... @@ -708,10 +1194,20 @@ class Model: def getValsLinear(self, cons: Incomplete) -> Incomplete: ... def getVarDict(self, transformed: Incomplete = ...) -> Incomplete: ... def getVarLbDive(self, var: Incomplete) -> Incomplete: ... - def getVarPseudocost(self, var: Incomplete, branchdir: Incomplete) -> Incomplete: ... - def getVarPseudocostScore(self, var: Incomplete, solVal: Incomplete) -> Incomplete: ... + def getVarPseudocost( + self, var: Incomplete, branchdir: Incomplete + ) -> Incomplete: ... + def getVarPseudocostScore( + self, var: Incomplete, solVal: Incomplete + ) -> Incomplete: ... def getVarRedcost(self, var: Incomplete) -> Incomplete: ... - def getVarStrongbranch(self, var: Incomplete, itlim: Incomplete, idempotent: Incomplete = ..., integral: Incomplete = ...) -> Incomplete: ... + def getVarStrongbranch( + self, + var: Incomplete, + itlim: Incomplete, + idempotent: Incomplete = ..., + integral: Incomplete = ..., + ) -> Incomplete: ... def getVarStrongbranchLast(self, var: Incomplete) -> Incomplete: ... def getVarStrongbranchNode(self, var: Incomplete) -> Incomplete: ... def getVarUbDive(self, var: Incomplete) -> Incomplete: ... @@ -722,28 +1218,153 @@ class Model: def hideOutput(self, quiet: Incomplete = ...) -> Incomplete: ... def inProbing(self) -> Incomplete: ... def inRepropagation(self) -> Incomplete: ... - def includeBenders(self, benders: Incomplete, name: Incomplete, desc: Incomplete, priority: Incomplete = ..., cutlp: Incomplete = ..., cutpseudo: Incomplete = ..., cutrelax: Incomplete = ..., shareaux: Incomplete = ...) -> Incomplete: ... + def includeBenders( + self, + benders: Incomplete, + name: Incomplete, + desc: Incomplete, + priority: Incomplete = ..., + cutlp: Incomplete = ..., + cutpseudo: Incomplete = ..., + cutrelax: Incomplete = ..., + shareaux: Incomplete = ..., + ) -> Incomplete: ... def includeBendersDefaultCuts(self, benders: Incomplete) -> Incomplete: ... - def includeBenderscut(self, benders: Incomplete, benderscut: Incomplete, name: Incomplete, desc: Incomplete, priority: Incomplete = ..., islpcut: Incomplete = ...) -> Incomplete: ... - def includeBranchrule(self, branchrule: Incomplete, name: Incomplete, desc: Incomplete, priority: Incomplete, maxdepth: Incomplete, maxbounddist: Incomplete) -> Incomplete: ... - def includeConshdlr(self, conshdlr: Incomplete, name: Incomplete, desc: Incomplete, sepapriority: Incomplete = ..., enfopriority: Incomplete = ..., chckpriority: Incomplete = ..., sepafreq: Incomplete = ..., propfreq: Incomplete = ..., eagerfreq: Incomplete = ..., maxprerounds: Incomplete = ..., delaysepa: Incomplete = ..., delayprop: Incomplete = ..., needscons: Incomplete = ..., proptiming: Incomplete = ..., presoltiming: Incomplete = ...) -> Incomplete: ... - def includeCutsel(self, cutsel: Incomplete, name: Incomplete, desc: Incomplete, priority: Incomplete) -> Incomplete: ... + def includeBenderscut( + self, + benders: Incomplete, + benderscut: Incomplete, + name: Incomplete, + desc: Incomplete, + priority: Incomplete = ..., + islpcut: Incomplete = ..., + ) -> Incomplete: ... + def includeBranchrule( + self, + branchrule: Incomplete, + name: Incomplete, + desc: Incomplete, + priority: Incomplete, + maxdepth: Incomplete, + maxbounddist: Incomplete, + ) -> Incomplete: ... + def includeConshdlr( + self, + conshdlr: Incomplete, + name: Incomplete, + desc: Incomplete, + sepapriority: Incomplete = ..., + enfopriority: Incomplete = ..., + chckpriority: Incomplete = ..., + sepafreq: Incomplete = ..., + propfreq: Incomplete = ..., + eagerfreq: Incomplete = ..., + maxprerounds: Incomplete = ..., + delaysepa: Incomplete = ..., + delayprop: Incomplete = ..., + needscons: Incomplete = ..., + proptiming: Incomplete = ..., + presoltiming: Incomplete = ..., + ) -> Incomplete: ... + def includeCutsel( + self, + cutsel: Incomplete, + name: Incomplete, + desc: Incomplete, + priority: Incomplete, + ) -> Incomplete: ... def includeDefaultPlugins(self) -> Incomplete: ... - def includeEventhdlr(self, eventhdlr: Incomplete, name: Incomplete, desc: Incomplete) -> Incomplete: ... - def includeHeur(self, heur: Incomplete, name: Incomplete, desc: Incomplete, dispchar: Incomplete, priority: Incomplete = ..., freq: Incomplete = ..., freqofs: Incomplete = ..., maxdepth: Incomplete = ..., timingmask: Incomplete = ..., usessubscip: Incomplete = ...) -> Incomplete: ... - def includeIISfinder(self, iisfinder: Incomplete, name: Incomplete, desc: Incomplete, priority: Incomplete = ..., freq: Incomplete = ...) -> Incomplete: ... - def includeNodesel(self, nodesel: Incomplete, name: Incomplete, desc: Incomplete, stdpriority: Incomplete, memsavepriority: Incomplete) -> Incomplete: ... - def includePresol(self, presol: Incomplete, name: Incomplete, desc: Incomplete, priority: Incomplete, maxrounds: Incomplete, timing: Incomplete = ...) -> Incomplete: ... - def includePricer(self, pricer: Incomplete, name: Incomplete, desc: Incomplete, priority: Incomplete = ..., delay: Incomplete = ...) -> Incomplete: ... - def includeProp(self, prop: Incomplete, name: Incomplete, desc: Incomplete, presolpriority: Incomplete, presolmaxrounds: Incomplete, proptiming: Incomplete, presoltiming: Incomplete = ..., priority: Incomplete = ..., freq: Incomplete = ..., delay: Incomplete = ...) -> Incomplete: ... - def includeReader(self, reader: Incomplete, name: Incomplete, desc: Incomplete, ext: Incomplete) -> Incomplete: ... - def includeRelax(self, relax: Incomplete, name: Incomplete, desc: Incomplete, priority: Incomplete = ..., freq: Incomplete = ...) -> Incomplete: ... - def includeSepa(self, sepa: Incomplete, name: Incomplete, desc: Incomplete, priority: Incomplete = ..., freq: Incomplete = ..., maxbounddist: Incomplete = ..., usessubscip: Incomplete = ..., delay: Incomplete = ...) -> Incomplete: ... + def includeEventhdlr( + self, eventhdlr: Incomplete, name: Incomplete, desc: Incomplete + ) -> Incomplete: ... + def includeHeur( + self, + heur: Incomplete, + name: Incomplete, + desc: Incomplete, + dispchar: Incomplete, + priority: Incomplete = ..., + freq: Incomplete = ..., + freqofs: Incomplete = ..., + maxdepth: Incomplete = ..., + timingmask: Incomplete = ..., + usessubscip: Incomplete = ..., + ) -> Incomplete: ... + def includeIISfinder( + self, + iisfinder: Incomplete, + name: Incomplete, + desc: Incomplete, + priority: Incomplete = ..., + freq: Incomplete = ..., + ) -> Incomplete: ... + def includeNodesel( + self, + nodesel: Incomplete, + name: Incomplete, + desc: Incomplete, + stdpriority: Incomplete, + memsavepriority: Incomplete, + ) -> Incomplete: ... + def includePresol( + self, + presol: Incomplete, + name: Incomplete, + desc: Incomplete, + priority: Incomplete, + maxrounds: Incomplete, + timing: Incomplete = ..., + ) -> Incomplete: ... + def includePricer( + self, + pricer: Incomplete, + name: Incomplete, + desc: Incomplete, + priority: Incomplete = ..., + delay: Incomplete = ..., + ) -> Incomplete: ... + def includeProp( + self, + prop: Incomplete, + name: Incomplete, + desc: Incomplete, + presolpriority: Incomplete, + presolmaxrounds: Incomplete, + proptiming: Incomplete, + presoltiming: Incomplete = ..., + priority: Incomplete = ..., + freq: Incomplete = ..., + delay: Incomplete = ..., + ) -> Incomplete: ... + def includeReader( + self, reader: Incomplete, name: Incomplete, desc: Incomplete, ext: Incomplete + ) -> Incomplete: ... + def includeRelax( + self, + relax: Incomplete, + name: Incomplete, + desc: Incomplete, + priority: Incomplete = ..., + freq: Incomplete = ..., + ) -> Incomplete: ... + def includeSepa( + self, + sepa: Incomplete, + name: Incomplete, + desc: Incomplete, + priority: Incomplete = ..., + freq: Incomplete = ..., + maxbounddist: Incomplete = ..., + usessubscip: Incomplete = ..., + delay: Incomplete = ..., + ) -> Incomplete: ... def infinity(self) -> Incomplete: ... def initBendersDefault(self, subproblems: Incomplete) -> Incomplete: ... def interruptSolve(self) -> Incomplete: ... def isAndConsSorted(self, and_cons: Incomplete) -> Incomplete: ... - def isCutEfficacious(self, cut: Incomplete, sol: Incomplete = ...) -> Incomplete: ... + def isCutEfficacious( + self, cut: Incomplete, sol: Incomplete = ... + ) -> Incomplete: ... def isEQ(self, val1: Incomplete, val2: Incomplete) -> Incomplete: ... def isExact(self) -> Incomplete: ... def isFeasEQ(self, val1: Incomplete, val2: Incomplete) -> Incomplete: ... @@ -779,15 +1400,24 @@ class Model: def printCons(self, constraint: Incomplete) -> Incomplete: ... def printExternalCodeVersions(self) -> Incomplete: ... def printNlRow(self, nlrow: Incomplete) -> Incomplete: ... - def printProblem(self, ext: Incomplete = ..., trans: Incomplete = ..., genericnames: Incomplete = ...) -> Incomplete: ... + def printProblem( + self, + ext: Incomplete = ..., + trans: Incomplete = ..., + genericnames: Incomplete = ..., + ) -> Incomplete: ... def printRow(self, row: Incomplete) -> Incomplete: ... - def printSol(self, solution: Incomplete = ..., write_zeros: Incomplete = ...) -> Incomplete: ... + def printSol( + self, solution: Incomplete = ..., write_zeros: Incomplete = ... + ) -> Incomplete: ... def printStatistics(self, filename: Incomplete = ...) -> Incomplete: ... def printStatisticsJson(self) -> Incomplete: ... def printVersion(self) -> Incomplete: ... def propagateProbing(self, maxproprounds: Incomplete) -> Incomplete: ... def readParams(self, file: Incomplete) -> Incomplete: ... - def readProblem(self, filename: Incomplete, extension: Incomplete = ...) -> Incomplete: ... + def readProblem( + self, filename: Incomplete, extension: Incomplete = ... + ) -> Incomplete: ... def readSol(self, filename: Incomplete) -> Incomplete: ... def readSolFile(self, filename: Incomplete) -> Incomplete: ... def redirectOutput(self) -> Incomplete: ... @@ -797,14 +1427,26 @@ class Model: def resetParam(self, name: Incomplete) -> Incomplete: ... def resetParams(self) -> Incomplete: ... def restartSolve(self) -> Incomplete: ... - def separateSol(self, sol: Incomplete = ..., pretendroot: Incomplete = ..., allowlocal: Incomplete = ..., onlydelayed: Incomplete = ...) -> Incomplete: ... - def setBendersSubproblemIsConvex(self, benders: Incomplete, probnumber: Incomplete, isconvex: Incomplete = ...) -> Incomplete: ... + def separateSol( + self, + sol: Incomplete = ..., + pretendroot: Incomplete = ..., + allowlocal: Incomplete = ..., + onlydelayed: Incomplete = ..., + ) -> Incomplete: ... + def setBendersSubproblemIsConvex( + self, benders: Incomplete, probnumber: Incomplete, isconvex: Incomplete = ... + ) -> Incomplete: ... def setBoolParam(self, name: Incomplete, value: Incomplete) -> Incomplete: ... def setCharParam(self, name: Incomplete, value: Incomplete) -> Incomplete: ... def setCheck(self, cons: Incomplete, newCheck: Incomplete) -> Incomplete: ... - def setEmphasis(self, paraemphasis: Incomplete, quiet: Incomplete = ...) -> Incomplete: ... + def setEmphasis( + self, paraemphasis: Incomplete, quiet: Incomplete = ... + ) -> Incomplete: ... def setEnforced(self, cons: Incomplete, newEnf: Incomplete) -> Incomplete: ... - def setHeurTiming(self, heurname: Incomplete, heurtiming: Incomplete) -> Incomplete: ... + def setHeurTiming( + self, heurname: Incomplete, heurtiming: Incomplete + ) -> Incomplete: ... def setHeuristics(self, setting: Incomplete) -> Incomplete: ... def setInitial(self, cons: Incomplete, newInit: Incomplete) -> Incomplete: ... def setIntParam(self, name: Incomplete, value: Incomplete) -> Incomplete: ... @@ -814,7 +1456,9 @@ class Model: def setMinimize(self) -> Incomplete: ... def setModifiable(self, cons: Incomplete, newMod: Incomplete) -> Incomplete: ... def setObjIntegral(self) -> Incomplete: ... - def setObjective(self, expr: Incomplete, sense: Incomplete = ..., clear: Incomplete = ...) -> Incomplete: ... + def setObjective( + self, expr: Incomplete, sense: Incomplete = ..., clear: Incomplete = ... + ) -> Incomplete: ... def setObjlimit(self, objlimit: Incomplete) -> Incomplete: ... def setParam(self, name: Incomplete, value: Incomplete) -> Incomplete: ... def setParams(self, params: Incomplete) -> Incomplete: ... @@ -825,10 +1469,24 @@ class Model: def setRelaxSolVal(self, var: Incomplete, val: Incomplete) -> Incomplete: ... def setRemovable(self, cons: Incomplete, newRem: Incomplete) -> Incomplete: ... def setSeparating(self, setting: Incomplete) -> Incomplete: ... - def setSolVal(self, solution: Incomplete, var: Incomplete, val: Incomplete) -> Incomplete: ... + def setSolVal( + self, solution: Incomplete, var: Incomplete, val: Incomplete + ) -> Incomplete: ... def setStringParam(self, name: Incomplete, value: Incomplete) -> Incomplete: ... - def setupBendersSubproblem(self, probnumber: Incomplete, benders: Incomplete = ..., solution: Incomplete = ..., checktype: Incomplete = ...) -> Incomplete: ... - def solveBendersSubproblem(self, probnumber: Incomplete, solvecip: Incomplete, benders: Incomplete = ..., solution: Incomplete = ...) -> Incomplete: ... + def setupBendersSubproblem( + self, + probnumber: Incomplete, + benders: Incomplete = ..., + solution: Incomplete = ..., + checktype: Incomplete = ..., + ) -> Incomplete: ... + def solveBendersSubproblem( + self, + probnumber: Incomplete, + solvecip: Incomplete, + benders: Incomplete = ..., + solution: Incomplete = ..., + ) -> Incomplete: ... def solveConcurrent(self) -> Incomplete: ... def solveDiveLP(self, itlim: Incomplete = ...) -> Incomplete: ... def solveProbingLP(self, itlim: Incomplete = ...) -> Incomplete: ... @@ -836,28 +1494,87 @@ class Model: def startDive(self) -> Incomplete: ... def startProbing(self) -> Incomplete: ... def startStrongbranch(self) -> Incomplete: ... - def tightenVarLb(self, var: Incomplete, lb: Incomplete, force: Incomplete = ...) -> Incomplete: ... - def tightenVarLbGlobal(self, var: Incomplete, lb: Incomplete, force: Incomplete = ...) -> Incomplete: ... - def tightenVarUb(self, var: Incomplete, ub: Incomplete, force: Incomplete = ...) -> Incomplete: ... - def tightenVarUbGlobal(self, var: Incomplete, ub: Incomplete, force: Incomplete = ...) -> Incomplete: ... + def tightenVarLb( + self, var: Incomplete, lb: Incomplete, force: Incomplete = ... + ) -> Incomplete: ... + def tightenVarLbGlobal( + self, var: Incomplete, lb: Incomplete, force: Incomplete = ... + ) -> Incomplete: ... + def tightenVarUb( + self, var: Incomplete, ub: Incomplete, force: Incomplete = ... + ) -> Incomplete: ... + def tightenVarUbGlobal( + self, var: Incomplete, ub: Incomplete, force: Incomplete = ... + ) -> Incomplete: ... def to_ptr(self, give_ownership: Incomplete) -> Incomplete: ... - def translateSubSol(self, sub_model: Incomplete, sol: Incomplete, heur: Incomplete) -> Incomplete: ... - def trySol(self, solution: Incomplete, printreason: Incomplete = ..., completely: Incomplete = ..., checkbounds: Incomplete = ..., checkintegrality: Incomplete = ..., checklprows: Incomplete = ..., free: Incomplete = ...) -> Incomplete: ... - def updateBendersLowerbounds(self, lowerbounds: Incomplete, benders: Incomplete = ...) -> Incomplete: ... + def translateSubSol( + self, sub_model: Incomplete, sol: Incomplete, heur: Incomplete + ) -> Incomplete: ... + def trySol( + self, + solution: Incomplete, + printreason: Incomplete = ..., + completely: Incomplete = ..., + checkbounds: Incomplete = ..., + checkintegrality: Incomplete = ..., + checklprows: Incomplete = ..., + free: Incomplete = ..., + ) -> Incomplete: ... + def updateBendersLowerbounds( + self, lowerbounds: Incomplete, benders: Incomplete = ... + ) -> Incomplete: ... def updateNodeLowerbound(self, node: Incomplete, lb: Incomplete) -> Incomplete: ... - def updateVarPseudocost(self, var: Incomplete, valdelta: Incomplete, objdelta: Incomplete, weight: Incomplete) -> Incomplete: ... + def updateVarPseudocost( + self, + var: Incomplete, + valdelta: Incomplete, + objdelta: Incomplete, + weight: Incomplete, + ) -> Incomplete: ... def version(self) -> Incomplete: ... - def writeBestSol(self, filename: Incomplete = ..., write_zeros: Incomplete = ...) -> Incomplete: ... - def writeBestTransSol(self, filename: Incomplete = ..., write_zeros: Incomplete = ...) -> Incomplete: ... + def writeBestSol( + self, filename: Incomplete = ..., write_zeros: Incomplete = ... + ) -> Incomplete: ... + def writeBestTransSol( + self, filename: Incomplete = ..., write_zeros: Incomplete = ... + ) -> Incomplete: ... def writeLP(self, filename: Incomplete = ...) -> Incomplete: ... - def writeMIP(self, filename: Incomplete, genericnames: Incomplete = ..., origobj: Incomplete = ..., lazyconss: Incomplete = ...) -> Incomplete: ... + def writeMIP( + self, + filename: Incomplete, + genericnames: Incomplete = ..., + origobj: Incomplete = ..., + lazyconss: Incomplete = ..., + ) -> Incomplete: ... def writeName(self, var: Incomplete) -> Incomplete: ... - def writeParams(self, filename: Incomplete = ..., comments: Incomplete = ..., onlychanged: Incomplete = ..., verbose: Incomplete = ...) -> Incomplete: ... - def writeProblem(self, filename: Incomplete = ..., trans: Incomplete = ..., genericnames: Incomplete = ..., verbose: Incomplete = ...) -> Incomplete: ... - def writeSol(self, solution: Incomplete, filename: Incomplete = ..., write_zeros: Incomplete = ...) -> Incomplete: ... + def writeParams( + self, + filename: Incomplete = ..., + comments: Incomplete = ..., + onlychanged: Incomplete = ..., + verbose: Incomplete = ..., + ) -> Incomplete: ... + def writeProblem( + self, + filename: Incomplete = ..., + trans: Incomplete = ..., + genericnames: Incomplete = ..., + verbose: Incomplete = ..., + ) -> Incomplete: ... + def writeSol( + self, + solution: Incomplete, + filename: Incomplete = ..., + write_zeros: Incomplete = ..., + ) -> Incomplete: ... def writeStatistics(self, filename: Incomplete = ...) -> Incomplete: ... def writeStatisticsJson(self, filename: Incomplete = ...) -> Incomplete: ... - def writeTransSol(self, solution: Incomplete, filename: Incomplete = ..., write_zeros: Incomplete = ...) -> Incomplete: ... + def writeTransSol( + self, + solution: Incomplete, + filename: Incomplete = ..., + write_zeros: Incomplete = ..., + ) -> Incomplete: ... def __eq__(self, other: object) -> bool: ... def __ge__(self, other: object) -> bool: ... def __gt__(self, other: object) -> bool: ... @@ -1205,7 +1922,9 @@ class PowExpr(GenExpr): class Presol: model: Incomplete def __init__(self) -> None: ... - def presolexec(self, nrounds: Incomplete, presoltiming: Incomplete) -> Incomplete: ... + def presolexec( + self, nrounds: Incomplete, presoltiming: Incomplete + ) -> Incomplete: ... def presolexit(self) -> Incomplete: ... def presolexitpre(self) -> Incomplete: ... def presolfree(self) -> Incomplete: ... @@ -1241,8 +1960,16 @@ class Prop: def propinit(self) -> Incomplete: ... def propinitpre(self) -> Incomplete: ... def propinitsol(self) -> Incomplete: ... - def proppresol(self, nrounds: Incomplete, presoltiming: Incomplete, result_dict: Incomplete) -> Incomplete: ... - def propresprop(self, confvar: Incomplete, inferinfo: Incomplete, bdtype: Incomplete, relaxedbd: Incomplete) -> Incomplete: ... + def proppresol( + self, nrounds: Incomplete, presoltiming: Incomplete, result_dict: Incomplete + ) -> Incomplete: ... + def propresprop( + self, + confvar: Incomplete, + inferinfo: Incomplete, + bdtype: Incomplete, + relaxedbd: Incomplete, + ) -> Incomplete: ... @disjoint_base class Reader: @@ -1251,7 +1978,25 @@ class Reader: def __init__(self) -> None: ... def readerfree(self) -> Incomplete: ... def readerread(self, filename: Incomplete) -> Incomplete: ... - def readerwrite(self, file: Incomplete, name: Incomplete, transformed: Incomplete, objsense: Incomplete, objoffset: Incomplete, objscale: Incomplete, binvars: Incomplete, intvars: Incomplete, implvars: Incomplete, contvars: Incomplete, fixedvars: Incomplete, startnvars: Incomplete, conss: Incomplete, maxnconss: Incomplete, startnconss: Incomplete, genericnames: Incomplete) -> Incomplete: ... + def readerwrite( + self, + file: Incomplete, + name: Incomplete, + transformed: Incomplete, + objsense: Incomplete, + objoffset: Incomplete, + objscale: Incomplete, + binvars: Incomplete, + intvars: Incomplete, + implvars: Incomplete, + contvars: Incomplete, + fixedvars: Incomplete, + startnvars: Incomplete, + conss: Incomplete, + maxnconss: Incomplete, + startnconss: Incomplete, + genericnames: Incomplete, + ) -> Incomplete: ... @disjoint_base class Relax: @@ -1345,7 +2090,25 @@ class Statistics: dual_bound: float | None gap: float | None primal_dual_integral: float | None - def __init__(self, status: str, total_time: float, solving_time: float, presolving_time: float, reading_time: float, copying_time: float, problem_name: str, presolved_problem_name: str, n_runs: int | None, n_nodes: int | None, n_solutions_found: int, first_solution: float | None, primal_bound: float | None, dual_bound: float | None, gap: float | None, primal_dual_integral: float | None) -> None: ... + def __init__( + self, + status: str, + total_time: float, + solving_time: float, + presolving_time: float, + reading_time: float, + copying_time: float, + problem_name: str, + presolved_problem_name: str, + n_runs: int | None, + n_nodes: int | None, + n_solutions_found: int, + first_solution: float | None, + primal_bound: float | None, + dual_bound: float | None, + gap: float | None, + primal_dual_integral: float | None, + ) -> None: ... @property def n_binary_vars(self) -> int: ... @property