Closed blegat closed 4 years ago
The tests pow1v and pow1f of MOI fails with Mosek.jl v1.1.1 (i.e. Mosek v9.1) but works with Mosek.jl v1.0.4 (i.e. Mosek v9.0):
using MosekTools model = Mosek.Optimizer() using MathOptInterface const MOI = MathOptInterface v = MOI.add_variables(model, 3) vov = MOI.VectorOfVariables(v) vc = MOI.add_constraint(model, vov, MOI.PowerCone(0.9)) cx = MOI.add_constraint(model, MOI.ScalarAffineFunction([MOI.ScalarAffineTerm(1.0, v[1])], 0.), MOI.EqualTo(2.)) cy = MOI.add_constraint(model, MOI.ScalarAffineFunction([MOI.ScalarAffineTerm(1.0, v[2])], 0.), MOI.EqualTo(1.)) MOI.set(model, MOI.ObjectiveFunction{MOI.ScalarAffineFunction{Float64}}(), MOI.ScalarAffineFunction([MOI.ScalarAffineTerm(1.0, v[3])], 0.0)) MOI.set(model, MOI.ObjectiveSense(), MOI.MAX_SENSE) MOI.optimize!(model) @show MOI.get(model, MOI.ConstraintDual(), vc) Mosek.writedata(model.task, "pow.cbf")
gives
Problem Name : Objective sense : max Type : CONIC (conic optimization problem) Constraints : 2 Cones : 1 Scalar variables : 3 Matrix variables : 0 Integer variables : 0 Optimizer started. Presolve started. Eliminator started. Freed constraints in eliminator : 0 Eliminator terminated. Eliminator started. Freed constraints in eliminator : 0 Eliminator terminated. Eliminator - tries : 2 time : 0.00 Lin. dep. - tries : 0 time : 0.00 Lin. dep. - number : 0 Presolve terminated. Time: 0.00 Problem Name : Objective sense : max Type : CONIC (conic optimization problem) Constraints : 2 Cones : 1 Scalar variables : 3 Matrix variables : 0 Integer variables : 0 Optimizer - threads : 4 Optimizer - solved problem : the primal Optimizer - Constraints : 0 Optimizer - Cones : 0 Optimizer - Scalar variables : 1 conic : 0 Optimizer - Semi-definite variables: 0 scalarized : 0 Factor - setup time : 0.00 dense det. time : 0.00 Factor - ML order time : 0.00 GP order time : 0.00 Factor - nonzeros before factor : 0 after factor : 0 Factor - dense dim. : 0 flops : 0.00e+00 ITE PFEAS DFEAS GFEAS PRSTATUS POBJ DOBJ MU TIME 0 8.7e-01 1.0e+00 1.0e+00 0.00e+00 0.000000000e+00 0.000000000e+00 1.0e+00 0.00 1 1.6e-01 1.9e-01 1.4e-01 1.18e-01 7.445916446e-01 4.868007185e-01 1.9e-01 0.00 2 1.3e-02 1.5e-02 4.1e-03 6.32e-01 1.803552444e+00 1.762816564e+00 1.5e-02 0.00 3 7.1e-06 8.2e-06 5.3e-08 9.77e-01 1.866042285e+00 1.866015928e+00 8.2e-06 0.00 4 3.7e-11 4.3e-11 2.8e-13 1.00e+00 1.866065983e+00 1.866065983e+00 4.3e-11 0.00 Optimizer terminated. Time: 0.00 MOI.get(model, MOI.ConstraintDual(), vc) = [0.8397296921264373, 0.18660659825031936, 0.9999999997561113] 3-element Array{Float64,1}: 0.8397296921264373 0.18660659825031936 0.9999999997561113
on Mosek v1.1.1 and gives
Problem Name : Objective sense : max Type : CONIC (conic optimization problem) Constraints : 2 Cones : 1 Scalar variables : 3 Matrix variables : 0 Integer variables : 0 Optimizer started. Presolve started. Eliminator started. Freed constraints in eliminator : 0 Eliminator terminated. Eliminator started. Freed constraints in eliminator : 0 Eliminator terminated. Eliminator - tries : 2 time : 0.00 Lin. dep. - tries : 0 time : 0.00 Lin. dep. - number : 0 Presolve terminated. Time: 0.00 Problem Name : Objective sense : max Type : CONIC (conic optimization problem) Constraints : 2 Cones : 1 Scalar variables : 3 Matrix variables : 0 Integer variables : 0 Optimizer - threads : 4 Optimizer - solved problem : the primal Optimizer - Constraints : 0 Optimizer - Cones : 1 Optimizer - Scalar variables : 3 conic : 3 Optimizer - Semi-definite variables: 0 scalarized : 0 Factor - setup time : 0.00 dense det. time : 0.00 Factor - ML order time : 0.00 GP order time : 0.00 Factor - nonzeros before factor : 0 after factor : 0 Factor - dense dim. : 0 flops : 0.00e+00 ITE PFEAS DFEAS GFEAS PRSTATUS POBJ DOBJ MU TIME 0 6.2e-01 1.0e+00 4.8e+00 0.00e+00 0.000000000e+00 3.805618599e+00 1.0e+00 0.01 1 5.5e-02 8.9e-02 2.5e-01 3.93e-01 1.606601792e+00 1.912296322e+00 8.9e-02 0.02 2 2.6e-03 4.2e-03 2.5e-03 9.28e-01 1.858086151e+00 1.873893873e+00 4.2e-03 0.02 3 4.4e-05 7.1e-05 5.3e-06 9.99e-01 1.865883617e+00 1.866156437e+00 7.1e-05 0.02 4 4.3e-06 7.0e-06 1.7e-07 1.00e+00 1.866054134e+00 1.866081329e+00 7.0e-06 0.02 5 4.6e-07 7.4e-07 5.7e-09 1.00e+00 1.866065085e+00 1.866067959e+00 7.4e-07 0.02 6 1.6e-08 2.5e-08 3.6e-11 1.00e+00 1.866065955e+00 1.866066055e+00 2.5e-08 0.02 7 1.8e-09 3.2e-09 1.6e-12 1.00e+00 1.866065980e+00 1.866065993e+00 3.3e-09 0.02 Optimizer terminated. Time: 0.02 MOI.get(model, MOI.ConstraintDual(), vc) = [0.8397073684239428, 0.1866512563450408, -0.9999999950328783] 3-element Array{Float64,1}: 0.8397073684239428 0.1866512563450408 -0.9999999950328783
on Mosek v1.0.4. The MOI tests expects -1 for the third component.
-1
I checked, the pow.cbf generated is the same for both Mosek versions. The cbf file can be obtained here (the txt extension was added so that Github accept it as attachment)
pow.cbf
Fixed by Mosek v9.1.12
The tests pow1v and pow1f of MOI fails with Mosek.jl v1.1.1 (i.e. Mosek v9.1) but works with Mosek.jl v1.0.4 (i.e. Mosek v9.0):
gives
on Mosek v1.1.1 and gives
on Mosek v1.0.4. The MOI tests expects
-1
for the third component.I checked, the
pow.cbf
generated is the same for both Mosek versions. The cbf file can be obtained here (the txt extension was added so that Github accept it as attachment)