diff --git a/miplearn/__init__.py b/miplearn/__init__.py index 755da71..2a83ff8 100644 --- a/miplearn/__init__.py +++ b/miplearn/__init__.py @@ -9,7 +9,7 @@ from .extractors import (SolutionExtractor, from .components.component import Component from .components.objective import ObjectiveValueComponent -from .components.lazy import LazyConstraintsComponent +from .components.lazy_dynamic import DynamicLazyConstraintsComponent from .components.lazy_static import StaticLazyConstraintsComponent from .components.cuts import UserCutsComponent from .components.primal import PrimalSolutionComponent diff --git a/miplearn/components/lazy.py b/miplearn/components/lazy_dynamic.py similarity index 98% rename from miplearn/components/lazy.py rename to miplearn/components/lazy_dynamic.py index 8c3c6cc..2e961c2 100644 --- a/miplearn/components/lazy.py +++ b/miplearn/components/lazy_dynamic.py @@ -14,7 +14,7 @@ from ..extractors import * logger = logging.getLogger(__name__) -class LazyConstraintsComponent(Component): +class DynamicLazyConstraintsComponent(Component): """ A component that predicts which lazy constraints to enforce. """ diff --git a/miplearn/components/tests/test_lazy.py b/miplearn/components/tests/test_lazy_dynamic.py similarity index 95% rename from miplearn/components/tests/test_lazy.py rename to miplearn/components/tests/test_lazy_dynamic.py index 3c6f2a3..739b53a 100644 --- a/miplearn/components/tests/test_lazy.py +++ b/miplearn/components/tests/test_lazy_dynamic.py @@ -5,7 +5,7 @@ from unittest.mock import Mock import numpy as np -from miplearn import LazyConstraintsComponent, LearningSolver, InternalSolver +from miplearn import DynamicLazyConstraintsComponent, LearningSolver, InternalSolver from miplearn.classifiers import Classifier from miplearn.tests import get_test_pyomo_instances from numpy.linalg import norm @@ -18,7 +18,7 @@ def test_lazy_fit(): instances[0].found_violated_lazy_constraints = ["a", "b"] instances[1].found_violated_lazy_constraints = ["b", "c"] classifier = Mock(spec=Classifier) - component = LazyConstraintsComponent(classifier=classifier) + component = DynamicLazyConstraintsComponent(classifier=classifier) component.fit(instances) @@ -55,7 +55,7 @@ def test_lazy_before(): instances[0].build_lazy_constraint = Mock(return_value="c1") solver = LearningSolver() solver.internal_solver = Mock(spec=InternalSolver) - component = LazyConstraintsComponent(threshold=0.10) + component = DynamicLazyConstraintsComponent(threshold=0.10) component.classifiers = {"a": Mock(spec=Classifier), "b": Mock(spec=Classifier)} component.classifiers["a"].predict_proba = Mock(return_value=[[0.95, 0.05]]) @@ -81,7 +81,7 @@ def test_lazy_before(): def test_lazy_evaluate(): instances, models = get_test_pyomo_instances() - component = LazyConstraintsComponent() + component = DynamicLazyConstraintsComponent() component.classifiers = {"a": Mock(spec=Classifier), "b": Mock(spec=Classifier), "c": Mock(spec=Classifier)} diff --git a/miplearn/solvers/learning.py b/miplearn/solvers/learning.py index 9c0b717..95e47a5 100644 --- a/miplearn/solvers/learning.py +++ b/miplearn/solvers/learning.py @@ -9,7 +9,7 @@ from p_tqdm import p_map from .. import (ObjectiveValueComponent, PrimalSolutionComponent, - LazyConstraintsComponent, + DynamicLazyConstraintsComponent, UserCutsComponent) from .pyomo.cplex import CplexPyomoSolver from .pyomo.gurobi import GurobiPyomoSolver @@ -66,7 +66,7 @@ class LearningSolver: else: self.add(ObjectiveValueComponent()) self.add(PrimalSolutionComponent()) - self.add(LazyConstraintsComponent()) + self.add(DynamicLazyConstraintsComponent()) self.add(UserCutsComponent()) assert self.mode in ["exact", "heuristic"] diff --git a/miplearn/solvers/tests/test_learning_solver.py b/miplearn/solvers/tests/test_learning_solver.py index ceed608..cb64050 100644 --- a/miplearn/solvers/tests/test_learning_solver.py +++ b/miplearn/solvers/tests/test_learning_solver.py @@ -6,7 +6,7 @@ import logging import pickle import tempfile -from miplearn import LazyConstraintsComponent +from miplearn import DynamicLazyConstraintsComponent from miplearn import LearningSolver from . import _get_instance, _get_internal_solvers @@ -61,7 +61,7 @@ def test_parallel_solve(): def test_add_components(): solver = LearningSolver(components=[]) - solver.add(LazyConstraintsComponent()) - solver.add(LazyConstraintsComponent()) + solver.add(DynamicLazyConstraintsComponent()) + solver.add(DynamicLazyConstraintsComponent()) assert len(solver.components) == 1 assert "LazyConstraintsComponent" in solver.components