Plot predicted objective value

This commit is contained in:
2020-02-26 15:45:02 -06:00
parent 32510d077d
commit 5eee00c626
8 changed files with 50 additions and 21 deletions

View File

@@ -15,7 +15,7 @@ class Component(ABC):
pass
@abstractmethod
def after_solve(self, solver, instance, model):
def after_solve(self, solver, instance, model, results):
pass
@abstractmethod

View File

@@ -38,7 +38,7 @@ class LazyConstraintsComponent(Component):
cut = instance.build_lazy_constraint(model, v)
solver.internal_solver.add_constraint(cut)
def after_solve(self, solver, instance, model):
def after_solve(self, solver, instance, model, results):
pass
def fit(self, training_instances):

View File

@@ -27,8 +27,13 @@ class ObjectiveValueComponent(Component):
instance.predicted_lb = lb
logger.info("Predicted objective: [%.2f, %.2f]" % (lb, ub))
def after_solve(self, solver, instance, model):
pass
def after_solve(self, solver, instance, model, results):
if self.ub_regressor is not None:
results["Predicted UB"] = instance.predicted_ub
results["Predicted LB"] = instance.predicted_lb
else:
results["Predicted UB"] = None
results["Predicted LB"] = None
def fit(self, training_instances):
logger.debug("Extracting features...")

View File

@@ -135,7 +135,7 @@ class PrimalSolutionComponent(Component):
else:
solver.internal_solver.set_warm_start(solution)
def after_solve(self, solver, instance, model):
def after_solve(self, solver, instance, model, results):
pass
def fit(self, training_instances):