Skip to content

Commit d8d440c

Browse files
authored
Merge pull request #84 from JuliaOpt/bl/moi8
Update to MOI v0.8
2 parents a5df368 + 306d525 commit d8d440c

File tree

2 files changed

+27
-27
lines changed

2 files changed

+27
-27
lines changed

REQUIRE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
julia 0.6
22
MathProgBase 0.5 0.8
3-
MathOptInterface 0.7 0.8
3+
MathOptInterface 0.8 0.9
44
Compat 0.68
55
BinaryProvider 0.3

src/MOI_wrapper.jl

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ function MOIU.load_variables(instance::Optimizer, nvars::Integer)
227227
end
228228

229229
function MOIU.allocate(instance::Optimizer, ::MOI.ObjectiveSense, sense::MOI.OptimizationSense)
230-
instance.maxsense = sense == MOI.MaxSense
230+
instance.maxsense = sense == MOI.MAX_SENSE
231231
end
232232
function MOIU.allocate(::Optimizer, ::MOI.ObjectiveFunction,
233233
::MOI.Union{MOI.SingleVariable,
@@ -291,24 +291,24 @@ end
291291
function MOI.get(instance::Optimizer, ::MOI.TerminationStatus)
292292
flag = instance.sol.ret_val
293293
if flag == OPTIMIZE_NOT_CALLED
294-
return MOI.OptimizeNotCalled
294+
return MOI.OPTIMIZE_NOT_CALLED
295295
elseif flag == ECOS.ECOS_OPTIMAL
296-
return MOI.Optimal
296+
return MOI.OPTIMAL
297297
elseif flag == ECOS.ECOS_PINF
298-
return MOI.Infeasible
298+
return MOI.INFEASIBLE
299299
elseif flag == ECOS.ECOS_DINF
300-
return MOI.DualInfeasible
300+
return MOI.DUAL_INFEASIBLE
301301
elseif flag == ECOS.ECOS_MAXIT
302302
return MOI.IterationLimit
303303
elseif flag == ECOS.ECOS_OPTIMAL + ECOS.ECOS_INACC_OFFSET
304-
return MOI.AlmostOptimal
304+
return MOI.ALMOST_OPTIMAL
305305
elseif flag == ECOS.ECOS_PINF + ECOS.ECOS_INACC_OFFSET
306-
return MOI.AlmostInfeasible
306+
return MOI.ALMOST_INFEASIBLE
307+
elseif flag == ECOS.ECOS_DINF + ECOS.ECOS_INACC_OFFSET
308+
return MOI.ALMOST_DUAL_INFEASIBLE
307309
else
308-
return MOI.OtherError
310+
return MOI.OTHER_ERROR
309311
end
310-
# TODO: AlmostDualInfeasible for ECOS.ECOS_DINF + ECOS.ECOS_INACC_OFFSET
311-
# https://github.com/JuliaOpt/MathOptInterface.jl/issues/601
312312
end
313313

314314
MOI.get(instance::Optimizer, ::MOI.ObjectiveValue) = instance.sol.objval
@@ -317,21 +317,21 @@ MOI.get(instance::Optimizer, ::MOI.ObjectiveBound) = instance.sol.objbnd
317317
function MOI.get(instance::Optimizer, ::MOI.PrimalStatus)
318318
flag = instance.sol.ret_val
319319
if flag == ECOS.ECOS_OPTIMAL
320-
return MOI.FeasiblePoint
320+
return MOI.FEASIBLE_POINT
321321
elseif flag == ECOS.ECOS_PINF
322-
return MOI.InfeasiblePoint
322+
return MOI.INFEASIBLE_POINT
323323
elseif flag == ECOS.ECOS_DINF
324-
return MOI.InfeasibilityCertificate
324+
return MOI.INFEASIBILITY_CERTIFICATE
325325
elseif flag == ECOS.ECOS_MAXIT
326-
return MOI.UnknownResultStatus
326+
return MOI.UNKNOWN_RESULT_STATUS
327327
elseif flag == ECOS.ECOS_OPTIMAL + ECOS.ECOS_INACC_OFFSET
328-
return MOI.NearlyFeasiblePoint
328+
return MOI.NEARLY_FEASIBLE_POINT
329329
elseif flag == ECOS.ECOS_PINF + ECOS.ECOS_INACC_OFFSET
330-
return MOI.InfeasiblePoint
330+
return MOI.INFEASIBLE_POINT
331331
elseif flag == ECOS.ECOS_DINF + ECOS.ECOS_INACC_OFFSET
332-
return MOI.NearlyInfeasibilityCertificate
332+
return MOI.NEARLY_INFEASIBILITY_CERTIFICATE
333333
else
334-
return MOI.OtherResultStatus
334+
return MOI.OTHER_RESULT_STATUS
335335
end
336336
end
337337
# Swapping indices 2 <-> 3 is an involution (it is its own inverse)
@@ -362,21 +362,21 @@ end
362362
function MOI.get(instance::Optimizer, ::MOI.DualStatus)
363363
flag = instance.sol.ret_val
364364
if flag == ECOS.ECOS_OPTIMAL
365-
return MOI.FeasiblePoint
365+
return MOI.FEASIBLE_POINT
366366
elseif flag == ECOS.ECOS_PINF
367-
return MOI.InfeasibilityCertificate
367+
return MOI.INFEASIBILITY_CERTIFICATE
368368
elseif flag == ECOS.ECOS_DINF
369-
return MOI.InfeasiblePoint
369+
return MOI.INFEASIBLE_POINT
370370
elseif flag == ECOS.ECOS_MAXIT
371-
return MOI.UnknownResultStatus
371+
return MOI.UNKNOWN_RESULT_STATUS
372372
elseif flag == ECOS.ECOS_OPTIMAL + ECOS.ECOS_INACC_OFFSET
373-
return MOI.NearlyFeasiblePoint
373+
return MOI.NEARLY_FEASIBLE_POINT
374374
elseif flag == ECOS.ECOS_PINF + ECOS.ECOS_INACC_OFFSET
375-
return MOI.NearlyInfeasibilityCertificate
375+
return MOI.NEARLY_INFEASIBILITY_CERTIFICATE
376376
elseif flag == ECOS.ECOS_DINF + ECOS.ECOS_INACC_OFFSET
377-
return MOI.InfeasiblePoint
377+
return MOI.INFEASIBLE_POINT
378378
else
379-
m.solve_stat = MOI.OtherResultStatus
379+
return MOI.OTHER_RESULT_STATUS
380380
end
381381
end
382382
_dual(instance, ci::CI{<:MOI.AbstractFunction, <:ZeroCones}) = instance.sol.dual_eq

0 commit comments

Comments
 (0)