Skip to content

Commit 9dc9ed7

Browse files
committed
[GeneralDichotomy] allow any primal feasible point from subsolve
1 parent 5cfef38 commit 9dc9ed7

1 file changed

Lines changed: 9 additions & 4 deletions

File tree

src/algorithms/GeneralDichotomy.jl

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,18 @@ function _solve_weighted_sum(
5959
f = _scalarise(model.f, weight)
6060
MOI.set(model.inner, MOI.ObjectiveFunction{typeof(f)}(), f)
6161
optimize_inner!(model)
62-
status = MOI.get(model.inner, MOI.TerminationStatus())
63-
if !_is_scalar_status_optimal(status)
64-
_log_subproblem_solve(model, "subproblem not optimal")
62+
primal_status = MOI.get(model.inner, MOI.PrimalStatus())
63+
if !_is_scalar_status_feasible_point(primal_status)
64+
_log_subproblem_solve(model, "subproblem failed to solve")
6565
return status, nothing
6666
end
67+
status = MOI.get(model.inner, MOI.TerminationStatus())
6768
variables = MOI.get(model.inner, MOI.ListOfVariableIndices())
6869
X, Y = _compute_point(model, variables, model.f)
69-
_log_subproblem_solve(model, Y)
70+
if !_is_scalar_status_optimal(status)
71+
_log_subproblem_solve(model, "subproblem not optimal")
72+
else
73+
_log_subproblem_solve(model, Y)
74+
end
7075
return status, SolutionPoint(X, Y)
7176
end

0 commit comments

Comments
 (0)