Closed GabrielPonte closed 2 years ago
@odow maybe you have some insights on this?
What's the Mosek log look like?
To the integer problem I received:
nl_solver : MathOptInterface.OptimizerWithAttributes(Mosek.Optimizer, Pair{MathOptInterface.AbstractOptimizerAttribute, Any}[])
feasibility_pump : false
log_levels : [:Options, :Table, :Info]
#Variables: 21
#IntBinVar: 20
Obj Sense: Max
Problem
Name :
Objective sense : max
Type : CONIC (conic optimization problem)
Constraints : 112
Cones : 5
Scalar variables : 56
Matrix variables : 1
Integer variables : 0
Optimizer started.
Presolve started.
Eliminator - tries : 0 time : 0.00
Lin. dep. - tries : 0 time : 0.00
Lin. dep. - number : 0
Presolve terminated. Time: 0.00
Optimizer terminated. Time: 0.00
MOSEK error 3915: There is no barx available for the solution type 2.
Mosek.MosekError(3915, "There is no barx available for the solution type 2.")
But if I try to solve the continuous relaxation problem using Juniper, I get this
nl_solver : MathOptInterface.OptimizerWithAttributes(Mosek.Optimizer, Pair{MathOptInterface.AbstractOptimizerAttribute, Any}[])
feasibility_pump : false
log_levels : [:Options, :Table, :Info]
#Variables: 21
#IntBinVar: 0
Obj Sense: Max
Problem
Name :
Objective sense : max
Type : CONIC (conic optimization problem)
Constraints : 112
Cones : 5
Scalar variables : 56
Matrix variables : 1
Integer variables : 0
Optimizer started.
Presolve started.
Linear dependency checker started.
Linear dependency checker terminated.
Eliminator started.
Freed constraints in eliminator : 0
Eliminator terminated.
Eliminator - tries : 1 time : 0.00
Lin. dep. - tries : 1 time : 0.00
Lin. dep. - number : 0
Presolve terminated. Time: 0.00
Problem
Name :
Objective sense : max
Type : CONIC (conic optimization problem)
Constraints : 112
Cones : 5
Scalar variables : 56
Matrix variables : 1
Integer variables : 0
Optimizer - threads : 4
Optimizer - solved problem : the primal
Optimizer - Constraints : 56
Optimizer - Cones : 6
Optimizer - Scalar variables : 42 conic : 26
Optimizer - Semi-definite variables: 1 scalarized : 55
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 : 1556 after factor : 1556
Factor - dense dim. : 0 flops : 7.33e+04
ITE PFEAS DFEAS GFEAS PRSTATUS POBJ DOBJ MU TIME
0 1.0e+01 1.3e+00 9.2e+00 0.00e+00 -4.139191995e+00 4.025510008e+00 1.0e+00 0.00
1 3.6e+00 4.7e-01 2.3e+00 1.30e-01 -6.292682594e-01 3.070976911e+00 3.6e-01 0.00
2 8.8e-01 1.1e-01 3.1e-01 6.58e-01 2.878837892e+00 3.897308677e+00 8.8e-02 0.00
3 3.7e-01 4.8e-02 9.8e-02 7.52e-01 4.542779248e+00 5.021396013e+00 3.7e-02 0.00
4 1.1e-01 1.4e-02 1.6e-02 8.61e-01 5.330785460e+00 5.474247778e+00 1.1e-02 0.00
5 3.7e-02 4.8e-03 3.5e-03 9.04e-01 5.657260601e+00 5.708623052e+00 3.7e-03 0.00
6 5.6e-03 7.2e-04 2.1e-04 9.79e-01 5.770077355e+00 5.777792726e+00 5.6e-04 0.00
7 1.2e-03 1.6e-04 2.2e-05 9.93e-01 5.795726539e+00 5.797452819e+00 1.2e-04 0.00
8 3.4e-04 4.4e-05 3.3e-06 9.98e-01 5.800510299e+00 5.800985510e+00 3.4e-05 0.00
9 5.3e-05 6.8e-06 2.0e-07 1.00e+00 5.802054044e+00 5.802126387e+00 5.3e-06 0.00
10 6.5e-06 8.4e-07 8.6e-09 1.00e+00 5.802315285e+00 5.802324181e+00 6.5e-07 0.00
11 5.0e-07 6.4e-08 1.8e-10 1.00e+00 5.802348461e+00 5.802349140e+00 5.0e-08 0.00
12 2.9e-08 3.7e-09 2.6e-12 1.00e+00 5.802351018e+00 5.802351057e+00 2.9e-09 0.00
Optimizer terminated. Time: 0.00
MOSEK error 3915: There is no barx available for the solution type 2.
Mosek.MosekError(3915, "There is no barx available for the solution type 2.")
Stacktrace:
[1] getbarxj(task_::Mosek.Task, whichsol_::Mosek.Soltype, j_::Int32)
@ Mosek C:\Users\Cliente\.julia\packages\Mosek\au3Cq\src\msk_functions.jl:2105
[2] getbarxj
@ C:\Users\Cliente\.julia\packages\Mosek\au3Cq\src\msk_functions.jl:2095 [inlined]
[3] matrix_solution(m::MosekModel, sol::Mosek.Soltype)
@ MosekTools C:\Users\Cliente\.julia\packages\MosekTools\sppJY\src\MosekTools.jl:268
[4] optimize!(m::MosekModel)
@ MosekTools C:\Users\Cliente\.julia\packages\MosekTools\sppJY\src\MosekTools.jl:275
[5] optimize!(b::MathOptInterface.Bridges.LazyBridgeOptimizer{MosekModel})
@ MathOptInterface.Bridges C:\Users\Cliente\.julia\packages\MathOptInterface\YDdD3\src\Bridges\bridge_optimizer.jl:319
[6] solve_root_incumbent_model(jp::Juniper.JuniperProblem)
@ Juniper C:\Users\Cliente\.julia\packages\Juniper\8wso7\src\model.jl:37
[7] optimize!(model::Juniper.Optimizer)
@ Juniper C:\Users\Cliente\.julia\packages\Juniper\8wso7\src\MOI_wrapper\MOI_wrapper.jl:248
[8] optimize!(b::MathOptInterface.Bridges.LazyBridgeOptimizer{Juniper.Optimizer})
@ MathOptInterface.Bridges C:\Users\Cliente\.julia\packages\MathOptInterface\YDdD3\src\Bridges\bridge_optimizer.jl:319
[9] optimize!(m::MathOptInterface.Utilities.CachingOptimizer{MathOptInterface.AbstractOptimizer, MathOptInterface.Utilities.UniversalFallback{MathOptInterface.Utilities.GenericModel{Float64, MathOptInterface.Utilities.ModelFunctionConstraints{Float64}}}})
@ MathOptInterface.Utilities C:\Users\Cliente\.julia\packages\MathOptInterface\YDdD3\src\Utilities\cachingoptimizer.jl:252
[10] optimize!(model::Model, optimizer_factory::Nothing; bridge_constraints::Bool, ignore_optimize_hook::Bool, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ JuMP C:\Users\Cliente\.julia\packages\JuMP\klrjG\src\optimizer_interface.jl:185
[11] optimize! (repeats 2 times)
@ C:\Users\Cliente\.julia\packages\JuMP\klrjG\src\optimizer_interface.jl:157 [inlined]
[12] top-level scope
@ In[53]:1
[13] eval
@ .\boot.jl:373 [inlined]
[14] include_string(mapexpr::typeof(REPL.softscope), mod::Module, code::String, filename::String)
@ Base .\loading.jl:1196
Already reported: https://github.com/jump-dev/MosekTools.jl/issues/72
Thank you! This solved my initial issue, but now I'm receiving a wrong solution to my problem
nl_solver : MathOptInterface.OptimizerWithAttributes(Mosek.Optimizer, Pair{MathOptInterface.AbstractOptimizerAttribute, Any}[])
feasibility_pump : false
log_levels : [:Options, :Table, :Info]
#Variables: 21
#IntBinVar: 20
Obj Sense: Max
Problem
Name :
Objective sense : max
Type : CONIC (conic optimization problem)
Constraints : 72
Cones : 5
Scalar variables : 56
Matrix variables : 1
Integer variables : 0
Optimizer started.
Presolve started.
Eliminator - tries : 0 time : 0.00
Lin. dep. - tries : 0 time : 0.00
Lin. dep. - number : 0
Presolve terminated. Time: 0.00
Optimizer terminated. Time: 0.00
Start values are not feasible.
Problem
Name :
Objective sense : max
Type : CONIC (conic optimization problem)
Constraints : 72
Cones : 5
Scalar variables : 56
Matrix variables : 1
Integer variables : 0
Optimizer started.
Optimizer terminated. Time: 0.00
Status of relaxation: OPTIMAL
Time for relaxation: 0.01100015640258789
Relaxation Obj: 0.0
Obj: 0.0
objective_value(model)
I get a zero solution. When I try the continuous relaxation, there's no errors and the Mosek log is correct, but I also receive a zero solution
nl_solver : MathOptInterface.OptimizerWithAttributes(Mosek.Optimizer, Pair{MathOptInterface.AbstractOptimizerAttribute, Any}[])
feasibility_pump : false
log_levels : [:Options, :Table, :Info]
#Variables: 21
#IntBinVar: 0
Obj Sense: Max
Problem
Name :
Objective sense : max
Type : CONIC (conic optimization problem)
Constraints : 72
Cones : 5
Scalar variables : 56
Matrix variables : 1
Integer variables : 0
Optimizer started.
Presolve started.
Linear dependency checker started.
Linear dependency checker terminated.
Eliminator started.
Freed constraints in eliminator : 0
Eliminator terminated.
Eliminator - tries : 1 time : 0.00
Lin. dep. - tries : 1 time : 0.00
Lin. dep. - number : 0
Presolve terminated. Time: 0.00
Problem
Name :
Objective sense : max
Type : CONIC (conic optimization problem)
Constraints : 72
Cones : 5
Scalar variables : 56
Matrix variables : 1
Integer variables : 0
Optimizer - threads : 4
Optimizer - solved problem : the primal
Optimizer - Constraints : 56
Optimizer - Cones : 6
Optimizer - Scalar variables : 42 conic : 26
Optimizer - Semi-definite variables: 1 scalarized : 55
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 : 1556 after factor : 1556
Factor - dense dim. : 0 flops : 7.33e+04
ITE PFEAS DFEAS GFEAS PRSTATUS POBJ DOBJ MU TIME
0 1.0e+01 1.3e+00 9.2e+00 0.00e+00 -4.139191995e+00 4.025510008e+00 1.0e+00 0.00
1 3.6e+00 4.7e-01 2.3e+00 1.30e-01 -6.292682594e-01 3.070976911e+00 3.6e-01 0.01
2 8.8e-01 1.1e-01 3.1e-01 6.58e-01 2.878837892e+00 3.897308677e+00 8.8e-02 0.01
3 3.7e-01 4.8e-02 9.8e-02 7.52e-01 4.542779248e+00 5.021396013e+00 3.7e-02 0.01
4 1.1e-01 1.4e-02 1.6e-02 8.61e-01 5.330785460e+00 5.474247778e+00 1.1e-02 0.01
5 3.7e-02 4.8e-03 3.5e-03 9.04e-01 5.657260601e+00 5.708623052e+00 3.7e-03 0.01
6 5.6e-03 7.2e-04 2.1e-04 9.79e-01 5.770077355e+00 5.777792726e+00 5.6e-04 0.01
7 1.2e-03 1.6e-04 2.2e-05 9.93e-01 5.795726539e+00 5.797452819e+00 1.2e-04 0.01
8 3.4e-04 4.4e-05 3.3e-06 9.98e-01 5.800510299e+00 5.800985510e+00 3.4e-05 0.01
9 5.3e-05 6.8e-06 2.0e-07 1.00e+00 5.802054044e+00 5.802126387e+00 5.3e-06 0.01
10 6.5e-06 8.4e-07 8.6e-09 1.00e+00 5.802315285e+00 5.802324181e+00 6.5e-07 0.01
11 5.0e-07 6.4e-08 1.8e-10 1.00e+00 5.802348461e+00 5.802349140e+00 5.0e-08 0.01
12 2.9e-08 3.7e-09 2.6e-12 1.00e+00 5.802351018e+00 5.802351057e+00 2.9e-09 0.01
Optimizer terminated. Time: 0.01
Incumbent using start values: 0.0
Optimizer started.
Optimizer terminated. Time: 0.00
Status of relaxation: OPTIMAL
Time for relaxation: 0.019999980926513672
Relaxation Obj: 0.0
Obj: 0.0
I don't have a Mosek license, so it's pretty hard for me to debug this.
No problem! The link that you gave me was really helpful for me to debug it and now I'm able to get the value of the continuous relaxation using Juniper with Mosek. Thanks! Now I'm facing a new issue when trying to use the integer problem, not only from Mosek, but from SCS as well. Thanks a lot for your help!
Hi, I'm trying to solver a problem with a logdet objective function. The continuous relaxation can be solved by Mosek using LogDetTriangle, but when I'm using Juniper with Mosek, it throws to me an error. Could you please help me with it?