From c9eef36c4eed6c4c0ffb5fce36d9ad797effb484 Mon Sep 17 00:00:00 2001 From: "Alinson S. Xavier" Date: Mon, 29 Jan 2024 00:41:29 -0600 Subject: [PATCH] Make cuts component compatible with Pyomo+Gurobi --- miplearn/collectors/basic.py | 7 +- miplearn/problems/stab.py | 95 ++++++++++++++++++----- miplearn/solvers/gurobi.py | 21 +++-- miplearn/solvers/pyomo.py | 34 +++++--- tests/components/cuts/test_mem.py | 91 ++++++++++++---------- tests/conftest.py | 9 ++- tests/fixtures/gen_stab.py | 27 ++++++- tests/fixtures/stab-gp-n50-00000.h5 | Bin 0 -> 40428 bytes tests/fixtures/stab-gp-n50-00000.mps.gz | Bin 0 -> 7138 bytes tests/fixtures/stab-gp-n50-00000.pkl.gz | Bin 0 -> 3023 bytes tests/fixtures/stab-gp-n50-00001.h5 | Bin 0 -> 43852 bytes tests/fixtures/stab-gp-n50-00001.mps.gz | Bin 0 -> 7152 bytes tests/fixtures/stab-gp-n50-00001.pkl.gz | Bin 0 -> 3026 bytes tests/fixtures/stab-gp-n50-00002.h5 | Bin 0 -> 33040 bytes tests/fixtures/stab-gp-n50-00002.mps.gz | Bin 0 -> 7136 bytes tests/fixtures/stab-gp-n50-00002.pkl.gz | Bin 0 -> 3039 bytes tests/fixtures/stab-n50-00000.h5 | Bin 42208 -> 0 bytes tests/fixtures/stab-n50-00000.mps.gz | Bin 7005 -> 0 bytes tests/fixtures/stab-n50-00000.pkl.gz | Bin 3002 -> 0 bytes tests/fixtures/stab-n50-00001.h5 | Bin 30212 -> 0 bytes tests/fixtures/stab-n50-00001.mps.gz | Bin 7011 -> 0 bytes tests/fixtures/stab-n50-00001.pkl.gz | Bin 3005 -> 0 bytes tests/fixtures/stab-n50-00002.h5 | Bin 34868 -> 0 bytes tests/fixtures/stab-n50-00002.mps.gz | Bin 6998 -> 0 bytes tests/fixtures/stab-n50-00002.pkl.gz | Bin 3014 -> 0 bytes tests/fixtures/stab-pyo-n50-00000.h5 | Bin 0 -> 35153 bytes tests/fixtures/stab-pyo-n50-00000.mps.gz | Bin 0 -> 17927 bytes tests/fixtures/stab-pyo-n50-00000.pkl.gz | Bin 0 -> 3024 bytes tests/fixtures/stab-pyo-n50-00001.h5 | Bin 0 -> 38633 bytes tests/fixtures/stab-pyo-n50-00001.mps.gz | Bin 0 -> 21017 bytes tests/fixtures/stab-pyo-n50-00001.pkl.gz | Bin 0 -> 3027 bytes tests/fixtures/stab-pyo-n50-00002.h5 | Bin 0 -> 27149 bytes tests/fixtures/stab-pyo-n50-00002.mps.gz | Bin 0 -> 15277 bytes tests/fixtures/stab-pyo-n50-00002.pkl.gz | Bin 0 -> 3040 bytes tests/problems/test_stab.py | 6 +- 35 files changed, 203 insertions(+), 87 deletions(-) create mode 100644 tests/fixtures/stab-gp-n50-00000.h5 create mode 100644 tests/fixtures/stab-gp-n50-00000.mps.gz create mode 100644 tests/fixtures/stab-gp-n50-00000.pkl.gz create mode 100644 tests/fixtures/stab-gp-n50-00001.h5 create mode 100644 tests/fixtures/stab-gp-n50-00001.mps.gz create mode 100644 tests/fixtures/stab-gp-n50-00001.pkl.gz create mode 100644 tests/fixtures/stab-gp-n50-00002.h5 create mode 100644 tests/fixtures/stab-gp-n50-00002.mps.gz create mode 100644 tests/fixtures/stab-gp-n50-00002.pkl.gz delete mode 100644 tests/fixtures/stab-n50-00000.h5 delete mode 100644 tests/fixtures/stab-n50-00000.mps.gz delete mode 100644 tests/fixtures/stab-n50-00000.pkl.gz delete mode 100644 tests/fixtures/stab-n50-00001.h5 delete mode 100644 tests/fixtures/stab-n50-00001.mps.gz delete mode 100644 tests/fixtures/stab-n50-00001.pkl.gz delete mode 100644 tests/fixtures/stab-n50-00002.h5 delete mode 100644 tests/fixtures/stab-n50-00002.mps.gz delete mode 100644 tests/fixtures/stab-n50-00002.pkl.gz create mode 100644 tests/fixtures/stab-pyo-n50-00000.h5 create mode 100644 tests/fixtures/stab-pyo-n50-00000.mps.gz create mode 100644 tests/fixtures/stab-pyo-n50-00000.pkl.gz create mode 100644 tests/fixtures/stab-pyo-n50-00001.h5 create mode 100644 tests/fixtures/stab-pyo-n50-00001.mps.gz create mode 100644 tests/fixtures/stab-pyo-n50-00001.pkl.gz create mode 100644 tests/fixtures/stab-pyo-n50-00002.h5 create mode 100644 tests/fixtures/stab-pyo-n50-00002.mps.gz create mode 100644 tests/fixtures/stab-pyo-n50-00002.pkl.gz diff --git a/miplearn/collectors/basic.py b/miplearn/collectors/basic.py index 278251e..86b7dfc 100644 --- a/miplearn/collectors/basic.py +++ b/miplearn/collectors/basic.py @@ -8,7 +8,7 @@ import sys from io import StringIO from os.path import exists -from typing import Callable, List +from typing import Callable, List, Any from ..h5 import H5File from ..io import _RedirectOutput, gzip, _to_h5_filename @@ -22,6 +22,7 @@ class BasicCollector: build_model: Callable, n_jobs: int = 1, progress: bool = False, + verbose: bool = False, ) -> None: def _collect(data_filename: str) -> None: h5_filename = _to_h5_filename(data_filename) @@ -43,7 +44,9 @@ class BasicCollector: return with H5File(h5_filename, "w") as h5: - streams = [StringIO()] + streams: List[Any] = [StringIO()] + if verbose: + streams += [sys.stdout] with _RedirectOutput(streams): # Load and extract static features model = build_model(data_filename) diff --git a/miplearn/problems/stab.py b/miplearn/problems/stab.py index fdaa621..f21a572 100644 --- a/miplearn/problems/stab.py +++ b/miplearn/problems/stab.py @@ -1,21 +1,23 @@ # MIPLearn: Extensible Framework for Learning-Enhanced Mixed-Integer Optimization # Copyright (C) 2020-2022, UChicago Argonne, LLC. All rights reserved. # Released under the modified BSD license. See COPYING.md for more details. + import logging from dataclasses import dataclass -from typing import List, Union, Any, Hashable +from typing import List, Union, Any, Hashable, Optional import gurobipy as gp import networkx as nx import numpy as np +import pyomo.environ as pe from gurobipy import GRB, quicksum +from miplearn.io import read_pkl_gz +from miplearn.solvers.gurobi import GurobiModel +from miplearn.solvers.pyomo import PyomoModel from networkx import Graph from scipy.stats import uniform, randint from scipy.stats.distributions import rv_frozen -from miplearn.io import read_pkl_gz -from miplearn.solvers.gurobi import GurobiModel - logger = logging.getLogger(__name__) @@ -82,12 +84,15 @@ class MaxWeightStableSetGenerator: return nx.generators.random_graphs.binomial_graph(self.n.rvs(), self.p.rvs()) -def build_stab_model(data: MaxWeightStableSetData) -> GurobiModel: - if isinstance(data, str): - data = read_pkl_gz(data) - assert isinstance(data, MaxWeightStableSetData) - +def build_stab_model_gurobipy( + data: Union[str, MaxWeightStableSetData], + params: Optional[dict[str, Any]] = None, +) -> GurobiModel: + data = _stab_read(data) model = gp.Model() + if params is not None: + for (param_name, param_value) in params.items(): + setattr(model.params, param_name, param_value) nodes = list(data.graph.nodes) # Variables and objective function @@ -99,16 +104,8 @@ def build_stab_model(data: MaxWeightStableSetData) -> GurobiModel: model.addConstr(x[i1] + x[i2] <= 1) def cuts_separate(m: GurobiModel) -> List[Hashable]: - # Retrieve optimal fractional solution x_val = m.inner.cbGetNodeRel(x) - - # Check that we selected at most one vertex for each - # clique in the graph (sum <= 1) - violations: List[Hashable] = [] - for clique in nx.find_cliques(data.graph): - if sum(x_val[i] for i in clique) > 1.0001: - violations.append(tuple(sorted(clique))) - return violations + return _stab_separate(data, x_val) def cuts_enforce(m: GurobiModel, violations: List[Any]) -> None: logger.info(f"Adding {len(violations)} clique cuts...") @@ -122,3 +119,65 @@ def build_stab_model(data: MaxWeightStableSetData) -> GurobiModel: cuts_separate=cuts_separate, cuts_enforce=cuts_enforce, ) + + +def build_stab_model_pyomo( + data: MaxWeightStableSetData, + solver: str = "gurobi_persistent", + params: Optional[dict[str, Any]] = None, +) -> PyomoModel: + data = _stab_read(data) + model = pe.ConcreteModel() + nodes = pe.Set(initialize=list(data.graph.nodes)) + + # Variables and objective function + model.x = pe.Var(nodes, domain=pe.Boolean, name="x") + model.obj = pe.Objective(expr=sum([-data.weights[i] * model.x[i] for i in nodes])) + + # Edge inequalities + model.edge_eqs = pe.ConstraintList() + for (i1, i2) in data.graph.edges: + model.edge_eqs.add(model.x[i1] + model.x[i2] <= 1) + + # Clique inequalities + model.clique_eqs = pe.ConstraintList() + + def cuts_separate(m: PyomoModel) -> List[Hashable]: + m.solver.cbGetNodeRel([model.x[i] for i in nodes]) + x_val = [model.x[i].value for i in nodes] + return _stab_separate(data, x_val) + + def cuts_enforce(m: PyomoModel, violations: List[Any]) -> None: + logger.info(f"Adding {len(violations)} clique cuts...") + for clique in violations: + m.add_constr(model.clique_eqs.add(sum(model.x[i] for i in clique) <= 1)) + + m = PyomoModel( + model, + solver, + cuts_separate=cuts_separate, + cuts_enforce=cuts_enforce, + ) + + if solver == "gurobi_persistent" and params is not None: + for (param_name, param_value) in params.items(): + m.solver.set_gurobi_param(param_name, param_value) + + return m + + +def _stab_read(data: Union[str, MaxWeightStableSetData]) -> MaxWeightStableSetData: + if isinstance(data, str): + data = read_pkl_gz(data) + assert isinstance(data, MaxWeightStableSetData) + return data + + +def _stab_separate(data: MaxWeightStableSetData, x_val: List[float]) -> List[Hashable]: + # Check that we selected at most one vertex for each + # clique in the graph (sum <= 1) + violations: List[Hashable] = [] + for clique in nx.find_cliques(data.graph): + if sum(x_val[i] for i in clique) > 1.0001: + violations.append(tuple(sorted(clique))) + return violations diff --git a/miplearn/solvers/gurobi.py b/miplearn/solvers/gurobi.py index 7a29a9c..38a4da4 100644 --- a/miplearn/solvers/gurobi.py +++ b/miplearn/solvers/gurobi.py @@ -16,6 +16,8 @@ logger = logging.getLogger(__name__) def _gurobi_callback(model: AbstractModel, gp_model: gp.Model, where: int) -> None: + assert isinstance(gp_model, gp.Model) + # Lazy constraints if model.lazy_separate is not None: assert model.lazy_enforce is not None @@ -58,6 +60,16 @@ def _gurobi_add_constr(gp_model: gp.Model, where: str, constr: Any) -> None: gp_model.addConstr(constr) +def _gurobi_set_required_params(model: AbstractModel, gp_model: gp.Model) -> None: + # Required parameters for lazy constraints + if model.lazy_enforce is not None: + gp_model.setParam("PreCrush", 1) + gp_model.setParam("LazyConstraints", 1) + # Required parameters for user cuts + if model.cuts_enforce is not None: + gp_model.setParam("PreCrush", 1) + + class GurobiModel(AbstractModel): _supports_basis_status = True _supports_sensitivity_analysis = True @@ -188,14 +200,7 @@ class GurobiModel(AbstractModel): def callback(_: gp.Model, where: int) -> None: _gurobi_callback(self, self.inner, where) - # Required parameters for lazy constraints - if self.lazy_enforce is not None: - self.inner.setParam("PreCrush", 1) - self.inner.setParam("LazyConstraints", 1) - - # Required parameters for user cuts - if self.cuts_enforce is not None: - self.inner.setParam("PreCrush", 1) + _gurobi_set_required_params(self, self.inner) if self.lazy_enforce is not None or self.cuts_enforce is not None: self.inner.optimize(callback) diff --git a/miplearn/solvers/pyomo.py b/miplearn/solvers/pyomo.py index 2d64f40..f4c83a9 100644 --- a/miplearn/solvers/pyomo.py +++ b/miplearn/solvers/pyomo.py @@ -14,7 +14,11 @@ from scipy.sparse import coo_matrix from miplearn.h5 import H5File from miplearn.solvers.abstract import AbstractModel -from miplearn.solvers.gurobi import _gurobi_callback, _gurobi_add_constr +from miplearn.solvers.gurobi import ( + _gurobi_callback, + _gurobi_add_constr, + _gurobi_set_required_params, +) class PyomoModel(AbstractModel): @@ -24,18 +28,22 @@ class PyomoModel(AbstractModel): solver_name: str = "gurobi_persistent", lazy_separate: Optional[Callable] = None, lazy_enforce: Optional[Callable] = None, + cuts_separate: Optional[Callable] = None, + cuts_enforce: Optional[Callable] = None, ): super().__init__() self.inner = model self.solver_name = solver_name + self.lazy_separate = lazy_separate + self.lazy_enforce = lazy_enforce + self.cuts_separate = cuts_separate + self.cuts_enforce = cuts_enforce self.solver = pe.SolverFactory(solver_name) self.is_persistent = hasattr(self.solver, "set_instance") if self.is_persistent: self.solver.set_instance(model) self.results: Optional[Dict] = None self._is_warm_start_available = False - self.lazy_separate = lazy_separate - self.lazy_enforce = lazy_enforce if not hasattr(self.inner, "dual"): self.inner.dual = Suffix(direction=Suffix.IMPORT) self.inner.rc = Suffix(direction=Suffix.IMPORT) @@ -116,6 +124,10 @@ class PyomoModel(AbstractModel): h5.put_scalar("mip_obj_value", obj_value) h5.put_scalar("mip_obj_bound", obj_bound) h5.put_scalar("mip_gap", self._gap(obj_value, obj_bound)) + if self.lazy_ is not None: + h5.put_scalar("mip_lazy", repr(self.lazy_)) + if self.cuts_ is not None: + h5.put_scalar("mip_cuts", repr(self.cuts_)) def fix_variables( self, @@ -131,16 +143,17 @@ class PyomoModel(AbstractModel): def optimize(self) -> None: self.lazy_ = [] - if self.lazy_separate is not None: + self.cuts_ = [] + + if self.lazy_enforce is not None or self.cuts_enforce is not None: assert ( self.solver_name == "gurobi_persistent" ), "Callbacks are currently only supported on gurobi_persistent" + _gurobi_set_required_params(self, self.solver._solver_model) def callback(_: Any, __: Any, where: int) -> None: - _gurobi_callback(self, self.solver, where) + _gurobi_callback(self, self.solver._solver_model, where) - self.solver.set_gurobi_param("PreCrush", 1) - self.solver.set_gurobi_param("LazyConstraints", 1) self.solver.set_callback(callback) if self.is_persistent: @@ -301,12 +314,12 @@ class PyomoModel(AbstractModel): for (i, constr) in enumerate( self.inner.component_objects(pyomo.core.Constraint) ): - if len(constr) > 0: + if len(constr) > 1: for idx in constr: names.append(constr[idx].name) _parse_constraint(constr[idx], curr_row) curr_row += 1 - else: + elif len(constr) == 1: names.append(constr.name) _parse_constraint(constr, curr_row) curr_row += 1 @@ -352,7 +365,8 @@ class PyomoModel(AbstractModel): for constr in self.inner.component_objects(pyomo.core.Constraint): for idx in constr: c = constr[idx] - slacks.append(abs(self.inner.slack[c])) + if c in self.inner.slack: + slacks.append(abs(self.inner.slack[c])) h5.put_array("mip_constr_slacks", np.array(slacks)) def _parse_pyomo_expr(self, expr: Any) -> Tuple[Dict[str, float], float]: diff --git a/tests/components/cuts/test_mem.py b/tests/components/cuts/test_mem.py index 108802b..b029e3d 100644 --- a/tests/components/cuts/test_mem.py +++ b/tests/components/cuts/test_mem.py @@ -5,62 +5,69 @@ from typing import Any, List, Dict from unittest.mock import Mock -from sklearn.dummy import DummyClassifier -from sklearn.neighbors import KNeighborsClassifier - from miplearn.components.cuts.mem import MemorizingCutsComponent from miplearn.extractors.abstract import FeaturesExtractor -from miplearn.problems.stab import build_stab_model +from miplearn.problems.stab import build_stab_model_gurobipy, build_stab_model_pyomo from miplearn.solvers.learning import LearningSolver +from sklearn.dummy import DummyClassifier +from sklearn.neighbors import KNeighborsClassifier +from typing import Callable -def test_mem_component( - stab_h5: List[str], +def test_mem_component_gp( + stab_gp_h5: List[str], + stab_pyo_h5: List[str], default_extractor: FeaturesExtractor, ) -> None: - clf = Mock(wraps=DummyClassifier()) - comp = MemorizingCutsComponent(clf=clf, extractor=default_extractor) - comp.fit(stab_h5) + for h5 in [stab_pyo_h5, stab_gp_h5]: + clf = Mock(wraps=DummyClassifier()) + comp = MemorizingCutsComponent(clf=clf, extractor=default_extractor) + comp.fit(h5) - # Should call fit method with correct arguments - clf.fit.assert_called() - x, y = clf.fit.call_args.args - assert x.shape == (3, 50) - assert y.shape == (3, 388) - y = y.tolist() - assert y[0][:20] == [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] - assert y[1][:20] == [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1] - assert y[2][:20] == [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1] + # Should call fit method with correct arguments + clf.fit.assert_called() + x, y = clf.fit.call_args.args + assert x.shape == (3, 50) + assert y.shape == (3, 415) + y = y.tolist() + assert y[0][:20] == [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] + assert y[1][:20] == [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] + assert y[2][:20] == [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1] - # Should store violations - assert comp.constrs_ is not None - assert comp.n_features_ == 50 - assert comp.n_targets_ == 388 - assert len(comp.constrs_) == 388 + # Should store violations + assert comp.constrs_ is not None + assert comp.n_features_ == 50 + assert comp.n_targets_ == 415 + assert len(comp.constrs_) == 415 - # Call before-mip - stats: Dict[str, Any] = {} - model = Mock() - comp.before_mip(stab_h5[0], model, stats) + # Call before-mip + stats: Dict[str, Any] = {} + model = Mock() + comp.before_mip(h5[0], model, stats) - # Should call predict with correct args - clf.predict.assert_called() - (x_test,) = clf.predict.call_args.args - assert x_test.shape == (1, 50) + # Should call predict with correct args + clf.predict.assert_called() + (x_test,) = clf.predict.call_args.args + assert x_test.shape == (1, 50) - # Should set cuts_aot_ - assert model.cuts_aot_ is not None - assert len(model.cuts_aot_) == 243 + # Should set cuts_aot_ + assert model.cuts_aot_ is not None + assert len(model.cuts_aot_) == 285 def test_usage_stab( - stab_h5: List[str], + stab_gp_h5: List[str], + stab_pyo_h5: List[str], default_extractor: FeaturesExtractor, ) -> None: - data_filenames = [f.replace(".h5", ".pkl.gz") for f in stab_h5] - clf = KNeighborsClassifier(n_neighbors=1) - comp = MemorizingCutsComponent(clf=clf, extractor=default_extractor) - solver = LearningSolver(components=[comp]) - solver.fit(data_filenames) - stats = solver.optimize(data_filenames[0], build_stab_model) - assert stats["Cuts: AOT"] > 0 + for (h5, build_model) in [ + (stab_pyo_h5, build_stab_model_pyomo), + (stab_gp_h5, build_stab_model_gurobipy), + ]: + data_filenames = [f.replace(".h5", ".pkl.gz") for f in h5] + clf = KNeighborsClassifier(n_neighbors=1) + comp = MemorizingCutsComponent(clf=clf, extractor=default_extractor) + solver = LearningSolver(components=[comp]) + solver.fit(data_filenames) + stats = solver.optimize(data_filenames[0], build_model) # type: ignore + assert stats["Cuts: AOT"] > 0 diff --git a/tests/conftest.py b/tests/conftest.py index e91fcff..a664101 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -52,8 +52,13 @@ def tsp_h5(request: Any) -> List[str]: @pytest.fixture() -def stab_h5(request: Any) -> List[str]: - return _h5_fixture("stab*.h5", request) +def stab_gp_h5(request: Any) -> List[str]: + return _h5_fixture("stab-gp*.h5", request) + + +@pytest.fixture() +def stab_pyo_h5(request: Any) -> List[str]: + return _h5_fixture("stab-pyo*.h5", request) @pytest.fixture() diff --git a/tests/fixtures/gen_stab.py b/tests/fixtures/gen_stab.py index 7d942d1..6eb9267 100644 --- a/tests/fixtures/gen_stab.py +++ b/tests/fixtures/gen_stab.py @@ -7,9 +7,11 @@ from miplearn.collectors.basic import BasicCollector from miplearn.io import write_pkl_gz from miplearn.problems.stab import ( MaxWeightStableSetGenerator, - build_stab_model, + build_stab_model_gurobipy, + build_stab_model_pyomo, ) + np.random.seed(42) gen = MaxWeightStableSetGenerator( w=uniform(10.0, scale=1.0), @@ -18,6 +20,25 @@ gen = MaxWeightStableSetGenerator( fix_graph=True, ) data = gen.generate(3) -data_filenames = write_pkl_gz(data, dirname(__file__), prefix="stab-n50-") + +params = {"seed": 42, "threads": 1} + +# Gurobipy +data_filenames = write_pkl_gz(data, dirname(__file__), prefix="stab-gp-n50-") collector = BasicCollector() -collector.collect(data_filenames, build_stab_model) +collector.collect( + data_filenames, + lambda data: build_stab_model_gurobipy(data, params=params), + progress=True, + verbose=True, +) + +# Pyomo +data_filenames = write_pkl_gz(data, dirname(__file__), prefix="stab-pyo-n50-") +collector = BasicCollector() +collector.collect( + data_filenames, + lambda model: build_stab_model_pyomo(model, params=params), + progress=True, + verbose=True, +) diff --git a/tests/fixtures/stab-gp-n50-00000.h5 b/tests/fixtures/stab-gp-n50-00000.h5 new file mode 100644 index 0000000000000000000000000000000000000000..c7b6b944222fd7ec1975237729503ee6053c5831 GIT binary patch literal 40428 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 literal 0 HcmV?d00001 diff --git a/tests/fixtures/stab-gp-n50-00000.mps.gz b/tests/fixtures/stab-gp-n50-00000.mps.gz new file mode 100644 index 0000000000000000000000000000000000000000..97dcf778c31523873c3e24f0c7c457d21fe41ad9 GIT binary patch literal 7138 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 literal 0 HcmV?d00001 diff --git a/tests/fixtures/stab-gp-n50-00000.pkl.gz b/tests/fixtures/stab-gp-n50-00000.pkl.gz new file mode 100644 index 0000000000000000000000000000000000000000..857ff693b7db2e737ad2c08c5a10b702f9712e89 GIT binary patch literal 3023 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 RGvUhe{{jx|)AI@)003n$@N)nF literal 0 HcmV?d00001 diff --git a/tests/fixtures/stab-gp-n50-00001.h5 b/tests/fixtures/stab-gp-n50-00001.h5 new file mode 100644 index 0000000000000000000000000000000000000000..4b816306275c6e712eeb066ba30137dac460d335 GIT binary patch literal 43852 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 literal 0 HcmV?d00001 diff --git a/tests/fixtures/stab-gp-n50-00001.mps.gz b/tests/fixtures/stab-gp-n50-00001.mps.gz new file mode 100644 index 0000000000000000000000000000000000000000..c15de1095587652899d9a20f56596299debb48fd GIT binary patch literal 7152 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 U`vOrV6RxWGFOJgy;|d)B0L9ty1ONa4 literal 0 HcmV?d00001 diff --git a/tests/fixtures/stab-gp-n50-00002.h5 b/tests/fixtures/stab-gp-n50-00002.h5 new file mode 100644 index 0000000000000000000000000000000000000000..bfb2bc8d68701d92d59cc79e019556a71a36a6ae GIT binary patch literal 33040 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 diff --git a/tests/fixtures/stab-n50-00000.mps.gz b/tests/fixtures/stab-n50-00000.mps.gz deleted file mode 100644 index a0e1c89ded75beaa43ef662b9185ed2755b15e98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7005 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 Hzy0=qq*hAf diff --git a/tests/fixtures/stab-n50-00000.pkl.gz b/tests/fixtures/stab-n50-00000.pkl.gz deleted file mode 100644 index 8d2fe1e388251e6283afde53d0369c930b07b51d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3002 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 diff --git a/tests/fixtures/stab-n50-00001.h5 b/tests/fixtures/stab-n50-00001.h5 deleted file mode 100644 index c88468af4690b1e2f77fe6dfc489e59ee5e6b3ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30212 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 ICWFua11fYGHvj+t diff --git a/tests/fixtures/stab-n50-00001.mps.gz b/tests/fixtures/stab-n50-00001.mps.gz deleted file mode 100644 index 1e8311b7933fd890279132df8c9574ca71bb1526..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7011 zcmd^D`#;nBAMb>@96L0HhFs2?+$%!AD`#z^?JWvujgd(0s<25W*%GD z&>^SYRQxqnRaChjwSA~S^p@zTx^=Q&c&%X<2EbFa(Btd31G*~iuvpH-Dz4+uz$S>gg(O-*!6&B{zm zGWLjwxrn2Pp@@yh&0Qh-k`bzFLq;wU)1#O%%s65c@dnY3&F41~x%=?AvT7c^WNW*S z`6f`hwM)oRIWUjD2^cC11X*Yl)dc{ z?Lr%_{2d{A>ArkU%A@v(E}=@h*3!6jm#a6Qk+P(HZL3hcooY$k?H$4&T`Bgp9YS~Q zR7>OT?J&=C_2IKs=DH|ruaGeP^Yiq1`hwiN+(P;oq6>SQ-xg)1e7+>^$dBd+h95b9 z&+sGX9~ge*{5``@od1R6hU-U;8?^t09+woGAoodL$04?IW6vNC#lRyqf?8%wSp% z(L1eyuu7BJP0u`5*?o$Zcd%kxNBV65P}4gbVFU#Gv|3@~!5SUuY2c-WJ5qD>1<%P* zFZ}$bSB_JWfkCos4S)b2RVyq8EZpIm4&c$0%&s*CLVZ-NvEe?VUB8yflsKdD&kd50 z;G_h1xf{lh_Fb<0jyp~-yA})n(V)E(7jmvuZAXC8nt>g3Yo1L&phM0IYXBT!Nycr7 z=>Qqc(SMD^MsP%cPnqR&^w8nZ0a5Oo{)Op2GvGmMs6*fVTmX&>2I?5b_~*pHHB!2s z)veG&JA&NOV%_>E=OxlcG3ey}#1II_pZMQy;u%>Fq78+`Q2i=Ot zXyX^%3R{exiAvSiUX^=|8DDy%;F0Z109k9DwR&2nIr-=3Gd_lLJziTiKLxH)Yq4*i z*f@WFdorFB)MCpDe$)^y=0tTiz*ANfr;)a#Btwa;1W?0TJZD8)w=xmg6|S8inSc!!Qpt2H(O z9MX}Vu@Ozg5ulDw;JM;mwEn%l7}#7J3%L{JLKW8ax8Zdep4k3}4QLQLY2vPj6c)5o z-MBP``d%#S|3cKQu{f}K#|7G@^)J^u05Q#!>{&6H`(a`5ufQVCh*)Z zY1K}Tck<^Soe;lwKk*TvXxg2i-cCc_xb8%qpVU&4$*7|zjlRPrPb+xAP6<46Xn04S zW`8POq&2Jt&kfWq?La5%66B3P9jU@iem3t*fpeZu$e|9`A`&G*F=byb&fq29&*|B! zxo43aGifeUl0WQ3{iB0XH&Fa0odw<97FvxB)rdDSOO7OB+(8WzpxpG33auc>dVP0u z3w6E5H!e4+mtO9KE{GYZ6b>d7DWC{NI^M*=7eiW-XZxv)=k$aHx`F0&up?FS4Ri^f z$wL#gYb}rCo~b0WWWg}Uy%U~FU8?q~CeVPcl?IzSco0H;Ve zO!ZvAz49KE2_GCO5A{VB#vM#FSMYFj7t4)sJ<9(ut1sXHB9H%b{}_-qEF9M`o8r$W z`-UPbt|O;c>AP0S4XhC}Ktnytm~Ixe*68S}3OO z(+z64R~udVIz7~=OCj{k1ikMrOMjzYkMSHMUvW0+M zw5PN@x37H7?r)il(6{W+!OA}a2}OLqgd&gAG>7F3MzP^9)IUrZ!xJcQbHPN83laIi zD9SjDWeZt@L)ow6Z}YbE(IYCqVA{}^fp9Sde_kE|Y<>l)YW{m( ztZStWPXgwApn!zM;YZ95DD`hI89q(i?{ zDV+-2+uJA{uqZbEu*szHaD_!9GmJ31plN@ms6o!gQxxbWdO%4j_r>}DKr_b~g|@BJ z;t!Ee!hE@Bx$-gE4DvDvfS}*_g=+sfXA}n}J!jH%Z~6He-tkkKx}S!i$}2@CEwV{l zDijZb6V-2{v@aE!E+^>#(@^SIjXlvF3Amgg;Dd~eeKx_9P@v$;m;6blyq!37ptXRH zYGEc%>8|x2Y{uEia@y-)&J(0 zwpNJj#?wrLDov7*rv@rbw?z%o|66x!v@W5pu3YtnwZsh`!BRz+PxJgYAV+6Ltp_u1 zTQ072UB8D-(aJGtd?#D)w1Z5E&a-HyJuqpE%dh}PTi)P9Q_eBK)uT+aoIWZMuxtha z3etKF3{SA0*2`S%85QIq zliH*v1^e9%Gu|Y?>Z4`Iu6!O9a|(!}m#@Ywpru*wE=fV_;>%{@oqMN2{km7V8_`7; zuorEK5(-arJt~#czO`Yw$;s=6z4X#-N0&ZKssS^ zvN0omv6_c4d%oMEk+r6fxmLaRyuNYch_*MrQl#fTxBoQqtHdy=^GW7+jcZqU2}`K7_lS7CyX%ERVA-8#lL{=jlp&IIXX||1#;|VnkW+eagH5!2%j> z+0Cjl9g8yW$t^>kdPZw7niT9v|D%)PZiVugZ4P?pMPwt|aJ-Kk)N8|hsopgcT04=* zGU=02dvEe6YhP1yW~KIAt*LoE8RNF1f63&{5N%PI!E1BtO=-iJFxfn!tf)SmIEQDt ziz+#Y9#GR`3%imj5=1T`f`?qFso_IVNXK@@i2H;0CKW+=ln%V+FVrF z?VyRQh?@06xE4bwwk;Ll2s-IT(H@NpJ|5RxNj zja6SOX$W8J;Z@#)a3gNxPBKi|{s)<2_YdlJ2Bk`kPtq5{yv3D7Sp8H^O)mWY?4SPg zlsbzmx`Vcj;!4M|x`!zR-PH1$7l$8P?8-^^b6`Mbm^w*_(!aZNEgoOi$jO5^%X5Qq zQR2qQg}N4{u)oKn>>u)Uu{!OkoF4OucJ8Ea{Ig=?ot7MWxO8eZFb4O)! z@+K~KQ?24PVZk&H`!i;fLm`v;h`wEwIF719Pa^*p?NwZqn z3VZ|)jEHmN)#spyg9(V1y{914%*K8iJsL(P6~MfKk-RGIy;SNY9fxY;9$agvO%P$4+zeWT4YxzZYNqs?CFKFhndh3&%}~5@T7mN{DLj3 z{JHZ8e#^ot^(I;T#>vpJ5+|?Nw%;6Mi-HKV4pI1yG>kpfJ>H}_=)DD?#vwdp87gzr zK~}xO;e9LIBdc*ewMV74dO;5Cgh5Q*2jRpJ-vWuGcAf&X!Yls#L$q?_a!r*3{mDj?hR;2!`afh_WdXJSgW& z92CaxnlHi)!DU)@9uMvA-iH0B+#ht_(uU9D%^!jJZbSs@tPE0;ktLOq4TzYe|GMyK zYNRfiCCI$4gjN`FV-)WuB286@w-~a-T^FiMv9Di72jEEy&4$@=Ma>?>cuddMgW0zYN1K5YA);Kd<^|`vV%4Dytj9f>ruCZKLLmYXO z{AMi~eDqtrvaVq2rnYkh!#7&tvuOBENqy2*UzEXSV2w52So*ma(k->>(d zHvZ4D@p~o7-P%7X$!`~V3WebOjrQ8$qH+0O)Z@CM{HmS5i0E~o?K6;#$p9p52LB?Q z*QNA^DEy)hzktm$@vCzFQN?V~{Hl&O)7%gzKhPAb|DL3v&jt7kRYmY?<0lmF6fq$B z&S^`H=eYR)Pp8gn<9fCpNEv#UJ_!TEC5>c8YNUobv}NclRjO1e(qs`41X&v@tFkI~#jc>@ zDt`BV?@eAF6WICv4u>Ic?)N|6IrqLdVQSfB*>%Iz%O96LIxoxZ%FnUq<>zK(xw8xG z1zuN1z#rGuHNL-l^eB(FH{NHtd%L~uTwYgTX&`l4pfF(bM~=#O<#}*nj@vsfH-F4{ zduEoapuk;V*M1P$L1p~|p2$M{+pwJ65pMa`8CDo@h9e>nWe{Z%xWriw5rrs^sDOw@ zR76xlR7O-m#2~67sv)W)Y9L|}H4$-$ctirC7NRzy4x%oi9wHHugh)ozM>Ie*L|713 zL<*u2!iGpiq#@D~jS)={c0^M|Geq;kfX`ocm}`X4OR@#)(Q7Gh;Mdu!-GNtU)j1nz zY-TQv$0tp^UDfDdWlgn)rj}rGCDG(WidL~*t{$NZ^R#t_dxi(=i8l4Y+=F<->blQ1 z&CA9mJ@iRzsn8AzE;R*FAvzzUsTdtIcQz?RH`6sG*(tfW%~{5?K)DoUnyVPYJjEKE z(r3u1qSusS=tqbd@kt?BTYJ=&;VkRf5_GVFrd~P3B!{ZYJgwGJrcnw=#mAwT>5TA< zb4Gej1>LM->XSYR^-S|t+CB)e2Yk{<8`MU?*@dWaYl)p}+_g1AO#7X7pmF!vjWw2M zjUAxsMvdc9;|tCx&yOYg8LuhSH94qHc&b)Qu#O6>V{Y0Gf^!+IcCcpxlovzwJ*fVyYAJ1x=`JQ3lq`llrdF*;mpWqACFsjG)bygW zyoe4D3v)(`7BW@Q*3&zZXd<^5ywdxx)~>|0J7MjAVD0T7{sn7Sl#5mnwPmV&7k+*2 z>Kpj)GH*V)sO-@wXzoBgXP|o>x|OI~N2W@mw_cjDS;jJJmvTF}(`_KV_~`P<#bx=O z(X@$Z*!#e^0sXqP_FkDPigu*wqs$PaWr{IPj`{pI?))T!|7n^J%KI3KJK=)|0F%&z zrSM}X0O}FoJ}UR6vQT!2X);yQgyRiIzrHaV6_2M++9pSGGE9C63ny~n`?+vGE<8pi z<8e|u#CEe7Hh|64R<-S_v79a_;Tfo%g<2BV&m#DA<(yb5Q}t4An8_iO^p2G{9;>si zLYRg}4$m$qo`YgC>wAFp^{4O*<(SxOF4K7LNi=jyzuyE)tHEg<4Z)`%^fE@}3P$Bu z2-c@yO9~F4;7nE;kg2LzrwSIQWC}GTi6IU)t6^e;2U{#1?h1@4sChRq{tN8~Ii~H2 z@B}^2ruKSjzaUf15Vu=h+qhHGO8V`SAC$V?pgR?QFN5v}sIrI>8z^yFrdaWTUZq(j zxs+Q{n!#+fC*!Er9fk|2Ek~t$VD@h?y8+F9h?Nec*|XT)eX6_SRaL3@R;C2Qoui(? z*c8*#mnt%zvOQ4bG{~-iQt0 zPSxp{K$f1cU<}IN3&TGI&rJ|?AVDq(=1}@sYQC<#7k|ohr{@mC_Vr1Fq*gEJ?1RQ1 zsJRMH;f7rN09XCXxN4|7ykVRAWXW>JWWmXmSb0Bo&3RPu5!yD0738skxg4U6H17-x zd4uMC#9n?UQ@p4Ufpn(_oK(|;scLH-me(6F*=X%_0IdSd1=MFD!913EkOVK0;7t-- zCBgS3h?WEiB2K1SqP|SVyHBVG{IpPyc6G_r2TVC&ngOQOFzH!vy#o7VXwX>V&F7FU zr%#*6^)b1AU~6s>uOji{iPu1;I^sc@%%_X_gbnWWdVH{61DXS%xrmlsMau@0D4%j+ z5lXHSQ5{w&fDb z|AgiLs5X~qLg|O~N<%%0>L|ehO(I4=RJ#_{9z?bO2F@q&zbeN+g&bbC!B77;6XzUp z-XhMY^uIC-nG(f7nd+OKAxjKJGH+-z0doj2uL7hRK^oDX*0iS+v3#^= zC9$673?Cxa+qCB=bq0#s1nH=E#$q@D(+tnfilRREZ5~L9Kynx)ui;eqA84xc)Ez?M zRTSPr#dj!Ghfp^h~PCQEaE_7lT zDaLVD7qB;5ITVLEvM-0LW1%5^X-zaInTC=nhfL#D!^9LdFk+re|IhDI6seU5$OicJ zCffIzGfITfuQVc#C)+l%Jx8|lbnidhPM@)@ztGDF9%mM|wHdj)(9+(-AI3o&DUwY<3jR$PM+)JDMKDBd79JCM`&O!otsMM z=BwU{r8<`J{uIP&M67|p`2si*G%KBL9ZsBy+;XdF-F8}cgm7OF?gqP?LaKX6^(f8i zO0)XVtl>0k6j7%U)lbxbOjfZ@wOnkG$^1Px2yP?zAe}-i_paN$#S_d7RP-L|#VZ^)jWJzmKPqaWMFfg6}IB zT!#IwNuL|D?cE5SLFmcEe2;vQDSFI&DlO=Dl?DF&a0Pm@|mE zf|%RXbc$WdKXF8+5^YZBA?U@X-Uu6yfi#k&cDhwasI_eIF>dG!g!-LOHRzpl)6cyNb(eYd4?p%Y0p>eVmbPf zM3Pk6b02{QaJ(|eHHlnB1X@L)jWlb!OsaWJ2s9KhCvetX0?;=Yt2hF=*{{U}+C@)Z zp(i)PRWtIbHkoR(=)yvZu4Xfi$`m|V?QDb(7R-g}^H6;Ys^6j^<=Bv>6dy@9rcmw= zJ|o@FNoYgWLh7uc&3ibh2dR2YrY7R7Rw~7ta#rVI3N}IfB*fo__;)Bdp5o0YK8og_ z;1+tHJ@}eq5KHsZh|-o@ygSX$aIYe8`@z})i*g?>J zBs@XFf63HXoKejb=haAyi%33ct-M)o2J2;TmZy`=c>=WI3DA?Hw1m_r)t4~Qo-AYN zmX|C`*wnQ|+DxRKMA}d94io7VTYQd47bJ_%m*I~Zr~aF$AmFc=DmE{CwAhfWOkPe0OGUPJuVym+1{G4frF~g#mw5&In$zG~f&?3bYN+2+R)jk^}3! zrzjvULBbz7!aE_)Ek6}8vSncI99~eyAKog^ty{OwxA0PbIK#YwjJa*(<{8^M`ts%< ztd2#euiFMMvO2C#jNQ}Ws@2g^{^gw2(L%kfj?0_#aHZ9OA5M(5TO1?R%i>tQ3a?rg zN9tg#u-&44&flO2`9?h3%t3xhtyQ29Kqj9ygI0ER5FT?&fw*hDqcpLx#Gi%BV diff --git a/tests/fixtures/stab-n50-00002.h5 b/tests/fixtures/stab-n50-00002.h5 deleted file mode 100644 index c049b30d10a2fb640720444ff9791f0009aaa176..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34868 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 diff --git a/tests/fixtures/stab-n50-00002.pkl.gz b/tests/fixtures/stab-n50-00002.pkl.gz deleted file mode 100644 index d8e5ae4b96f841c2c552f8ff0193b97ab4981346..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3014 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 Imv|fi0CNS;i2wiq diff --git a/tests/fixtures/stab-pyo-n50-00000.h5 b/tests/fixtures/stab-pyo-n50-00000.h5 new file mode 100644 index 0000000000000000000000000000000000000000..c22e8204c529e8e93f4bbaa30888de2d487d1399 GIT binary patch literal 35153 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 literal 0 HcmV?d00001 diff --git a/tests/fixtures/stab-pyo-n50-00001.mps.gz b/tests/fixtures/stab-pyo-n50-00001.mps.gz new file mode 100644 index 0000000000000000000000000000000000000000..20fdf5c0b5d8d122ab26f6d178527813f0265cd9 GIT binary patch literal 21017 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 Oe|gD#VeXSH%nSgTR1`u0 literal 0 HcmV?d00001 diff --git a/tests/fixtures/stab-pyo-n50-00001.pkl.gz b/tests/fixtures/stab-pyo-n50-00001.pkl.gz new file mode 100644 index 0000000000000000000000000000000000000000..933b70ef8e81f09fd85815225b9773438f237a29 GIT binary patch literal 3027 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 VM*9L$B@?cy_%Dvr0OJZB006l9@r3{Y literal 0 HcmV?d00001 diff --git a/tests/fixtures/stab-pyo-n50-00002.h5 b/tests/fixtures/stab-pyo-n50-00002.h5 new file mode 100644 index 0000000000000000000000000000000000000000..4b33fdd483a02f584947bf4605624bee302f4b6c GIT binary patch literal 27149 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 literal 0 HcmV?d00001 diff --git a/tests/fixtures/stab-pyo-n50-00002.pkl.gz b/tests/fixtures/stab-pyo-n50-00002.pkl.gz new file mode 100644 index 0000000000000000000000000000000000000000..0f38344c43b2ddea0a68f30b6cc1fdcce871528f GIT binary patch literal 3040 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 literal 0 HcmV?d00001 diff --git a/tests/problems/test_stab.py b/tests/problems/test_stab.py index 236cab4..ee2cb66 100644 --- a/tests/problems/test_stab.py +++ b/tests/problems/test_stab.py @@ -9,7 +9,8 @@ import numpy as np from miplearn.h5 import H5File from miplearn.problems.stab import ( MaxWeightStableSetData, - build_stab_model, + build_stab_model_gurobipy, + build_stab_model_pyomo, ) from miplearn.solvers.abstract import AbstractModel @@ -20,7 +21,8 @@ def test_stab() -> None: weights=np.array([1.0, 1.0, 1.0, 1.0, 1.0]), ) for model in [ - build_stab_model(data), + build_stab_model_gurobipy(data), + build_stab_model_pyomo(data), ]: assert isinstance(model, AbstractModel) with NamedTemporaryFile() as tempfile: