From ddc1c6aab8848e7c343706927e6e9e1a0b16c45b Mon Sep 17 00:00:00 2001 From: PCO Date: Fri, 7 Feb 2025 17:19:16 +0100 Subject: [PATCH] save best bound even if solve not ok --- docplex/mp/cplex_engine.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/docplex/mp/cplex_engine.py b/docplex/mp/cplex_engine.py index 1af3611..65a116c 100644 --- a/docplex/mp/cplex_engine.py +++ b/docplex/mp/cplex_engine.py @@ -2048,12 +2048,13 @@ def solve(self, mdl, parameters=None, **kwargs): is_mip = cpx._is_MIP() solve_ok = self._is_solve_status_ok(cpx_status) - if solve_ok: - nb_iterations, nb_nodes_processed = get_progress_details(cpx) - if is_mip: + if is_mip: + if not self._is_multiobj(): + cpx_bestbound = cpx.solution.MIP.get_best_objective() + if solve_ok: + nb_iterations, nb_nodes_processed = get_progress_details(cpx) if not self._is_multiobj(): cpx_miprelgap = cpx.solution.MIP.get_mip_relative_gap() - cpx_bestbound = cpx.solution.MIP.get_best_objective() else: cpx_miprelgap = cpx_bestbound = self.get_infinity()