Hi @odow,
Thank you for your inputs. The model was initially used extensively with single objective (Total cost) and emissions declared as a constraint. In that setting, the model works well and converges to optimality. If I need to make a pareto-front, two choices I have.
- Put the entire program in a for-loop and keep changing RHS of emissions constraint and repeat,
- Put emissions as a second objective in MOO framework and use some algorithm like epsilon-constraint.
I just tried option 2 to explore how it works.
Thank you so much for sharing the link to âTools to test and debug JuMP modelsâ. I could see lot of insights to come from that discussion. I will go through it thoroughly.
Is there any way to print the left, right bounds obtained in EpsilonConstraint.jl and also the constraint generated in each iteration by following line?
MOI.set(model, MOI.ConstraintSet(), ci, SetType(bound))
This is erroring before it even gets to the epsilon constraint because of numerical issues.
It is interesting to know that solver didnât enter yet to EpsilonConstraint for-loop in the example discussed.
Its a very unusual model.
Can you please elaborate on âunusualâ?
When I use Dichotomy(), with
set_optimizer(model, () -> MOA.Optimizer(optimizer_with_attributes(Mosek.Optimizer, "SIM_HOTSTART" => Mosek.MSK_SIM_HOTSTART_NONE)))
I get following error at 7th iteration (including 2 initial iterations to find objective bounds)
Total energy demand is: 2.500080489880405e6 MWh
Problem
Name :
Objective sense : minimize
Type : LO (linear optimization problem)
Constraints : 254057
Affine conic cons. : 0
Disjunctive cons. : 0
Cones : 0
Scalar variables : 122656
Matrix variables : 0
Integer variables : 0
Optimizer started.
Presolve started.
Linear dependency checker started.
Linear dependency checker terminated.
Eliminator started.
Freed constraints in eliminator : 52562
Eliminator terminated.
Eliminator started.
Freed constraints in eliminator : 8759
Eliminator terminated.
Eliminator - tries : 2 time : 0.00
Lin. dep. - tries : 1 time : 0.06
Lin. dep. - primal attempts : 1 successes : 1
Lin. dep. - dual attempts : 0 successes : 0
Lin. dep. - primal deps. : 0 dual deps. : 0
Presolve terminated. Time: 0.59
GP based matrix reordering started.
GP based matrix reordering terminated.
Optimizer - threads : 4
Optimizer - solved problem : the primal
Optimizer - Constraints : 143563
Optimizer - Cones : 0
Optimizer - Scalar variables : 225806 conic : 0
Optimizer - Semi-definite variables: 0 scalarized : 0
Factor - setup time : 1.88
Factor - dense det. time : 0.05 GP order time : 1.25
Factor - nonzeros before factor : 8.34e+05 after factor : 1.34e+06
Factor - dense dim. : 8 flops : 2.16e+07
Factor - GP saved nzs : -1927 GP saved flops : 2.02e+05
ITE PFEAS DFEAS GFEAS PRSTATUS POBJ DOBJ MU TIME
0 1.3e+05 2.2e+03 2.4e+06 0.00e+00 2.487605236e+06 8.356159816e+04 1.9e+01 2.75
1 1.0e+05 1.8e+03 1.9e+06 -5.70e-01 2.173969598e+06 4.376815586e+04 1.6e+01 2.98
2 7.5e+04 1.3e+03 1.4e+06 5.15e-01 1.608958278e+06 2.288554775e+05 1.1e+01 3.19
3 6.1e+04 1.0e+03 1.1e+06 1.21e+00 1.267642033e+06 2.672454728e+05 9.1e+00 3.39
4 6.1e+04 1.0e+03 1.1e+06 8.80e-01 1.596049478e+06 4.042101170e+05 9.1e+00 3.58
5 6.1e+04 1.0e+03 1.1e+06 1.20e+00 1.584598353e+06 4.194065431e+05 9.1e+00 3.78
6 3.9e+04 6.6e+02 7.3e+05 1.14e+00 1.161296180e+06 5.020797952e+05 5.8e+00 4.08
7 3.9e+04 6.6e+02 7.3e+05 1.27e+00 1.134982756e+06 4.605911794e+05 5.8e+00 4.28
8 2.9e+04 5.0e+02 5.5e+05 1.31e+00 9.531343303e+05 4.835872356e+05 4.4e+00 4.64
9 2.3e+04 3.9e+02 4.3e+05 1.32e+00 8.566982159e+05 5.086402325e+05 3.5e+00 5.02
10 1.5e+04 2.6e+02 2.9e+05 1.34e+00 7.456848046e+05 5.384617494e+05 2.3e+00 5.47
11 1.5e+04 2.6e+02 2.9e+05 1.30e+00 7.784263086e+05 5.586494844e+05 2.3e+00 5.84
12 9.1e+03 1.6e+02 1.7e+05 1.38e+00 6.994242772e+05 5.812660820e+05 1.4e+00 6.27
13 6.0e+03 1.0e+02 1.1e+05 1.27e+00 6.633440303e+05 5.905184662e+05 8.9e-01 6.67
14 3.9e+03 6.6e+01 7.3e+04 1.19e+00 6.415390189e+05 5.959103141e+05 5.8e-01 6.89
15 3.9e+03 6.6e+01 7.3e+04 1.11e+00 6.462403446e+05 5.995111839e+05 5.8e-01 7.09
16 2.1e+03 3.5e+01 3.9e+04 1.12e+00 6.277837661e+05 6.034735220e+05 3.1e-01 7.27
17 1.0e+03 1.8e+01 1.9e+04 1.07e+00 6.175236778e+05 6.056303808e+05 1.6e-01 7.47
18 5.4e+02 9.2e+00 1.0e+04 1.04e+00 6.128290304e+05 6.066740657e+05 8.1e-02 7.69
19 3.1e+02 5.2e+00 5.8e+03 1.02e+00 6.106433365e+05 6.071737200e+05 4.6e-02 7.89
20 2.0e+02 3.4e+00 3.7e+03 1.01e+00 6.096531522e+05 6.074002119e+05 3.0e-02 8.09
21 1.4e+02 2.3e+00 2.6e+03 1.01e+00 6.090723392e+05 6.075322575e+05 2.0e-02 8.30
22 9.0e+01 1.5e+00 1.7e+03 1.01e+00 6.086412636e+05 6.076306036e+05 1.3e-02 8.50
23 6.4e+01 1.1e+00 1.2e+03 1.00e+00 6.084059036e+05 6.076847495e+05 9.6e-03 8.70
24 4.4e+01 7.6e-01 8.3e+02 1.00e+00 6.082257441e+05 6.077263461e+05 6.7e-03 8.91
25 2.6e+01 4.4e-01 4.9e+02 1.00e+00 6.080579370e+05 6.077655587e+05 3.9e-03 9.11
26 2.0e+01 3.4e-01 3.8e+02 1.00e+00 6.080050323e+05 6.077783124e+05 3.0e-03 9.31
27 1.2e+01 2.0e-01 2.2e+02 1.00e+00 6.079276416e+05 6.077968580e+05 1.7e-03 9.52
28 9.5e+00 1.6e-01 1.8e+02 1.00e+00 6.079083412e+05 6.078015653e+05 1.4e-03 9.70
29 6.6e+00 1.1e-01 1.2e+02 1.00e+00 6.078821626e+05 6.078079433e+05 9.9e-04 9.91
30 2.5e+00 4.2e-02 4.6e+01 1.00e+00 6.078445494e+05 6.078169005e+05 3.7e-04 10.16
31 1.4e+00 2.4e-02 2.6e+01 1.00e+00 6.078347918e+05 6.078191760e+05 2.1e-04 10.55
32 5.2e-01 8.8e-03 9.7e+00 1.00e+00 6.078268334e+05 6.078209955e+05 7.8e-05 11.00
33 3.1e-01 5.3e-03 5.8e+00 1.00e+00 6.078249071e+05 6.078214323e+05 4.6e-05 11.39
34 2.2e-01 3.7e-03 4.1e+00 1.00e+00 6.078240576e+05 6.078216247e+05 3.2e-05 11.78
35 8.9e-02 1.5e-03 1.7e+00 1.00e+00 6.078228900e+05 6.078218879e+05 1.3e-05 12.20
36 7.8e-02 1.3e-03 1.5e+00 1.00e+00 6.078227887e+05 6.078219108e+05 1.2e-05 12.47
37 4.3e-02 7.3e-04 8.0e-01 1.00e+00 6.078224652e+05 6.078219835e+05 6.4e-06 12.69
38 3.0e-02 5.1e-04 5.6e-01 1.00e+00 6.078223475e+05 6.078220094e+05 4.5e-06 12.88
39 1.7e-02 2.9e-04 3.2e-01 1.00e+00 6.078222260e+05 6.078220363e+05 2.5e-06 13.08
40 1.0e-02 1.8e-04 1.9e-01 1.00e+00 6.078221658e+05 6.078220496e+05 1.5e-06 13.28
41 6.2e-03 1.1e-04 1.2e-01 1.00e+00 6.078221282e+05 6.078220579e+05 9.4e-07 13.48
42 3.6e-03 6.2e-05 6.9e-02 1.00e+00 6.078221042e+05 6.078220631e+05 5.5e-07 13.67
43 2.3e-03 3.9e-05 4.3e-02 1.00e+00 6.078220919e+05 6.078220659e+05 3.5e-07 13.86
44 1.3e-03 2.2e-05 2.4e-02 1.00e+00 6.078220824e+05 6.078220679e+05 1.9e-07 14.08
45 8.0e-04 1.4e-05 1.5e-02 1.00e+00 6.078220779e+05 6.078220689e+05 1.2e-07 14.25
46 4.9e-04 8.3e-06 9.2e-03 1.00e+00 6.078220750e+05 6.078220695e+05 7.3e-08 14.45
47 2.4e-04 4.1e-06 4.5e-03 1.00e+00 6.078220728e+05 6.078220700e+05 3.6e-08 14.66
48 1.3e-04 2.2e-06 2.4e-03 1.00e+00 6.078220717e+05 6.078220703e+05 1.9e-08 14.86
49 6.7e-05 1.1e-06 1.3e-03 1.00e+00 6.078220712e+05 6.078220704e+05 1.0e-08 15.06
50 3.8e-05 6.6e-07 7.4e-04 1.00e+00 6.078220709e+05 6.078220704e+05 5.8e-09 15.27
51 2.4e-05 4.1e-07 4.6e-04 1.00e+00 6.078220707e+05 6.078220705e+05 3.6e-09 15.47
52 1.3e-05 2.3e-07 2.6e-04 1.00e+00 6.078220706e+05 6.078220705e+05 2.0e-09 15.67
53 7.2e-06 1.2e-07 1.4e-04 1.00e+00 6.078220706e+05 6.078220705e+05 1.1e-09 15.88
54 4.8e-06 8.1e-08 9.2e-05 1.00e+00 6.078220706e+05 6.078220705e+05 7.1e-10 16.28
55 1.8e-06 3.1e-08 4.9e-05 1.00e+00 6.078220705e+05 6.078220705e+05 2.7e-10 17.06
56 3.2e-06 1.3e-08 1.7e-05 1.00e+00 6.078220705e+05 6.078220705e+05 1.1e-10 17.59
57 3.2e-06 1.3e-08 1.7e-05 1.00e+00 6.078220705e+05 6.078220705e+05 1.1e-10 18.11
58 2.6e-06 9.8e-09 1.3e-05 1.00e+00 6.078220705e+05 6.078220705e+05 8.9e-11 18.53
Basis identification started.
Primal basis identification phase started.
Primal basis identification phase terminated. Time: 1.05
Dual basis identification phase started.
Dual basis identification phase terminated. Time: 0.58
Simplex reoptimization started.
Primal simplex reoptimization started.
ITER DEGITER(%) PFEAS DFEAS POBJ DOBJ TIME
0 0.00 1.15e+08 NA 6.071663880421e+05 NA 0.03
2500 17.67 1.64e+02 NA 5.957916504554e+05 NA 6.88
5000 16.34 0.00e+00 NA 6.091009271373e+05 NA 16.61
7500 11.20 0.00e+00 NA 6.079273553597e+05 NA 21.72
10000 8.64 0.00e+00 NA 6.078515448069e+05 NA 25.14
12500 8.34 0.00e+00 NA 6.078261409560e+05 NA 31.42
15000 9.53 0.00e+00 NA 6.078220920118e+05 NA 38.58
17500 9.18 0.00e+00 NA 6.078220722011e+05 NA 41.75
18187 9.22 0.00e+00 NA 6.078220705189e+05 NA 43.75
Primal simplex reoptimization terminated. Time: 43.75
Simplex reoptimization terminated. Time: 43.81
Basis identification terminated. Time: 45.83
Optimizer terminated. Time: 64.44
Problem
Name :
Objective sense : minimize
Type : LO (linear optimization problem)
Constraints : 254057
Affine conic cons. : 0
Disjunctive cons. : 0
Cones : 0
Scalar variables : 122656
Matrix variables : 0
Integer variables : 0
Optimizer started.
Optimizer terminated. Time: 4.78
Problem
Name :
Objective sense : minimize
Type : LO (linear optimization problem)
Constraints : 254057
Affine conic cons. : 0
Disjunctive cons. : 0
Cones : 0
Scalar variables : 122656
Matrix variables : 0
Integer variables : 0
Optimizer started.
Optimizer terminated. Time: 4.80
Problem
Name :
Objective sense : minimize
Type : LO (linear optimization problem)
Constraints : 254057
Affine conic cons. : 0
Disjunctive cons. : 0
Cones : 0
Scalar variables : 122656
Matrix variables : 0
Integer variables : 0
Optimizer started.
Simplex reoptimization started.
Primal simplex reoptimization started.
ITER DEGITER(%) PFEAS DFEAS POBJ DOBJ TIME
0 0.00 1.15e+08 NA 6.071663880421e+05 NA 0.02
2500 17.67 1.64e+02 NA 5.957916504554e+05 NA 8.14
5000 16.34 0.00e+00 NA 6.091009271373e+05 NA 17.84
7500 11.20 0.00e+00 NA 6.079273553597e+05 NA 23.59
10000 8.64 0.00e+00 NA 6.078515448069e+05 NA 28.03
12500 8.34 0.00e+00 NA 6.078261409560e+05 NA 35.56
15000 9.53 0.00e+00 NA 6.078220920118e+05 NA 42.59
17500 9.18 0.00e+00 NA 6.078220722011e+05 NA 45.83
18187 9.22 0.00e+00 NA 6.078220705189e+05 NA 47.75
Primal simplex reoptimization terminated. Time: 47.75
Simplex reoptimization terminated. Time: 47.88
Optimizer terminated. Time: 70.11
Problem
Name :
Objective sense : minimize
Type : LO (linear optimization problem)
Constraints : 254057
Affine conic cons. : 0
Disjunctive cons. : 0
Cones : 0
Scalar variables : 122656
Matrix variables : 0
Integer variables : 0
Optimizer started.
Simplex reoptimization started.
Dual simplex reoptimization started.
ITER DEGITER(%) PFEAS DFEAS POBJ DOBJ TIME
0 0.00 NA 0.00e+00 NA 7.314393670557e+05 0.02
404 99.75 NA 0.00e+00 NA 7.314393670914e+05 1.62
Dual simplex reoptimization terminated. Time: 1.62
Simplex reoptimization terminated. Time: 1.70
Optimizer terminated. Time: 19.69
Problem
Name :
Objective sense : minimize
Type : LO (linear optimization problem)
Constraints : 254057
Affine conic cons. : 0
Disjunctive cons. : 0
Cones : 0
Scalar variables : 122656
Matrix variables : 0
Integer variables : 0
Optimizer started.
Optimizer terminated. Time: 4.78
Problem
Name :
Objective sense : minimize
Type : LO (linear optimization problem)
Constraints : 254057
Affine conic cons. : 0
Disjunctive cons. : 0
Cones : 0
Scalar variables : 122656
Matrix variables : 0
Integer variables : 0
Optimizer started.
Simplex reoptimization started.
Primal simplex reoptimization started.
ITER DEGITER(%) PFEAS DFEAS POBJ DOBJ TIME
0 0.00 5.66e+160 NA nan NA 0.03
6 0.00 5.66e+160 NA nan NA 0.05
Primal simplex reoptimization terminated. Time: 0.05
Simplex reoptimization terminated. Time: 0.09
Optimizer terminated. Time: 25.36
ERROR: Mosek.MosekError(3100, "")
As per Mosek documentation, it means,
A step size in an optimizer was unexpectedly unbounded. For instance, if the step-size becomes unbounded in phase 1 of the simplex algorithm then an error occurs. Normally this will happen only if the problem is badly formulated. Please contact MOSEK support if this error occurs.
If I use EpsilonConstraint with HOTSTART disabled also, the result is similar to the initial post