Skip to content

Commit c9be8b0

Browse files
committed
Update
1 parent 36ed96f commit c9be8b0

File tree

3 files changed

+10
-11
lines changed

3 files changed

+10
-11
lines changed

src/algorithms/Chalmet.jl

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -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, solutions
60+
return status, nothing
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, solutions
72+
return status, nothing
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, solutions
81+
return status, nothing
8282
end
8383
_, y2[1] = _compute_point(model, variables, f1)
8484
if y2[1] solutions[1].y[1]
@@ -93,18 +93,16 @@ 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, solutions
96+
return status, nothing
9797
end
9898
x2, y2[2] = _compute_point(model, variables, f2)
9999
MOI.delete(model.inner, y2_constraint)
100100
push!(solutions, SolutionPoint(x2, y2))
101101
push!(Q, (1, 2))
102102
t = 3
103-
status = MOI.OPTIMAL
104103
while !isempty(Q)
105104
if (ret = _check_premature_termination(model, start_time)) !== nothing
106-
status = ret
107-
break
105+
return ret, solutions
108106
end
109107
r, s = pop!(Q)
110108
yr, ys = solutions[r].y, solutions[s].y
@@ -118,5 +116,5 @@ function minimize_multiobjective!(algorithm::Chalmet, model::Optimizer)
118116
append!(Q, [(r, t), (t, s)])
119117
t += 1
120118
end
121-
return status, solutions
119+
return MOI.OPTIMAL, solutions
122120
end

src/algorithms/Dichotomy.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,8 @@ function optimize_multiobjective!(algorithm::Dichotomy, model::Optimizer)
112112
w = y_d[2] / (y_d[2] - y_d[1])
113113
status, solution = _solve_weighted_sum(model, algorithm, [w, 1.0 - w])
114114
if !_is_scalar_status_optimal(status)
115-
break # Exit the solve with some error.
115+
# Exit the solve with some error.
116+
return status, nothing
116117
elseif solution solutions[a] || solution solutions[b]
117118
# We have found an existing solution. We're free to prune (a, b)
118119
# from the search space.

src/algorithms/DominguezRios.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ function _p_partition(
5757
= max.(z, B.l)
5858
ret = _DominguezRiosBox[]
5959
for i in 1:length(z)
60-
new_l = vcat(B.l[1:i], ẑ[(i+1):end])
61-
new_u = vcat(B.u[1:(i-1)], ẑ[i], B.u[(i+1):end])
60+
new_l = vcat(B.l[1:i], ẑ[i+1:end])
61+
new_u = vcat(B.u[1:i-1], ẑ[i], B.u[i+1:end])
6262
new_priority = _reduced_scaled_priority(new_l, new_u, i, ẑ, yI, yN)
6363
push!(ret, _DominguezRiosBox(new_l, new_u, new_priority))
6464
end

0 commit comments

Comments
 (0)