LearningSolver: Silence logging during parallel_solve

pull/3/head
Alinson S. Xavier 5 years ago
parent 92615958fb
commit 0cf88ded89

@ -238,13 +238,13 @@ class LearningSolver:
label="Solve"): label="Solve"):
self.internal_solver = None self.internal_solver = None
self._silence_miplearn_logger()
SOLVER[0] = self SOLVER[0] = self
INSTANCES[0] = instances INSTANCES[0] = instances
p_map_results = p_map(_parallel_solve, p_map_results = p_map(_parallel_solve,
list(range(len(instances))), list(range(len(instances))),
num_cpus=n_jobs, num_cpus=n_jobs,
desc=label) desc=label)
results = [p["Results"] for p in p_map_results] results = [p["Results"] for p in p_map_results]
for (idx, r) in enumerate(p_map_results): for (idx, r) in enumerate(p_map_results):
instances[idx].solution = r["Solution"] instances[idx].solution = r["Solution"]
@ -255,7 +255,7 @@ class LearningSolver:
instances[idx].found_violated_lazy_constraints = r["Violated lazy constraints"] instances[idx].found_violated_lazy_constraints = r["Violated lazy constraints"]
#instances[idx].found_violated_user_cuts = r["Violated user cuts"] #instances[idx].found_violated_user_cuts = r["Violated user cuts"]
instances[idx].solver_log = r["Results"]["Log"] instances[idx].solver_log = r["Results"]["Log"]
self._restore_miplearn_logger()
return results return results
def fit(self, training_instances): def fit(self, training_instances):
@ -268,6 +268,15 @@ class LearningSolver:
name = component.__class__.__name__ name = component.__class__.__name__
self.components[name] = component self.components[name] = component
def _silence_miplearn_logger(self):
miplearn_logger = logging.getLogger("miplearn")
self.prev_log_level = miplearn_logger.getEffectiveLevel()
miplearn_logger.setLevel(logging.WARNING)
def _restore_miplearn_logger(self):
miplearn_logger = logging.getLogger("miplearn")
miplearn_logger.setLevel(self.prev_log_level)
def __getstate__(self): def __getstate__(self):
self.internal_solver = None self.internal_solver = None
return self.__dict__ return self.__dict__

Loading…
Cancel
Save