@@ -57,7 +57,7 @@ function minimize_multiobjective!(algorithm::Chalmet, model::Optimizer)
5757 optimize_inner! (model)
5858 status = MOI. get (model. inner, MOI. TerminationStatus ())
5959 if ! _is_scalar_status_optimal (status)
60- return status, nothing
60+ return status, solutions
6161 end
6262 _, y1[2 ] = _compute_point (model, variables, f2)
6363 MOI. set (model. inner, MOI. ObjectiveFunction {typeof(f1)} (), f1)
@@ -69,7 +69,7 @@ function minimize_multiobjective!(algorithm::Chalmet, model::Optimizer)
6969 optimize_inner! (model)
7070 status = MOI. get (model. inner, MOI. TerminationStatus ())
7171 if ! _is_scalar_status_optimal (status)
72- return status, nothing
72+ return status, solutions
7373 end
7474 x1, y1[1 ] = _compute_point (model, variables, f1)
7575 MOI. delete (model. inner, y1_constraint)
@@ -78,7 +78,7 @@ function minimize_multiobjective!(algorithm::Chalmet, model::Optimizer)
7878 optimize_inner! (model)
7979 status = MOI. get (model. inner, MOI. TerminationStatus ())
8080 if ! _is_scalar_status_optimal (status)
81- return status, nothing
81+ return status, solutions
8282 end
8383 _, y2[1 ] = _compute_point (model, variables, f1)
8484 if y2[1 ] ≈ solutions[1 ]. y[1 ]
@@ -93,7 +93,7 @@ function minimize_multiobjective!(algorithm::Chalmet, model::Optimizer)
9393 optimize_inner! (model)
9494 status = MOI. get (model. inner, MOI. TerminationStatus ())
9595 if ! _is_scalar_status_optimal (status)
96- return status, nothing
96+ return status, solutions
9797 end
9898 x2, y2[2 ] = _compute_point (model, variables, f2)
9999 MOI. delete (model. inner, y2_constraint)
@@ -103,6 +103,8 @@ function minimize_multiobjective!(algorithm::Chalmet, model::Optimizer)
103103 while ! isempty (Q)
104104 if _time_limit_exceeded (model, start_time)
105105 return MOI. TIME_LIMIT, solutions
106+ elseif _check_interrupt ()
107+ return MOI. INTERRUPTED, solutions
106108 end
107109 r, s = pop! (Q)
108110 yr, ys = solutions[r]. y, solutions[s]. y
0 commit comments