Extract all features ahead of time

This commit is contained in:
2021-03-31 07:42:01 -05:00
parent b3c24814b0
commit 12fca1f22b
8 changed files with 106 additions and 39 deletions

View File

@@ -17,7 +17,7 @@ from miplearn.components.cuts import UserCutsComponent
from miplearn.components.lazy_dynamic import DynamicLazyConstraintsComponent
from miplearn.components.objective import ObjectiveValueComponent
from miplearn.components.primal import PrimalSolutionComponent
from miplearn.features import ModelFeaturesExtractor
from miplearn.features import FeaturesExtractor
from miplearn.instance import Instance
from miplearn.solvers import _RedirectOutput
from miplearn.solvers.internal import InternalSolver
@@ -174,9 +174,9 @@ class LearningSolver:
assert isinstance(self.internal_solver, InternalSolver)
self.internal_solver.set_instance(instance, model)
# Extract model features
extractor = ModelFeaturesExtractor(self.internal_solver)
instance.model_features = extractor.extract()
# Extract features
extractor = FeaturesExtractor(self.internal_solver)
instance.features = extractor.extract(instance)
# Solve root LP relaxation
if self.solve_lp: