-
Notifications
You must be signed in to change notification settings - Fork 0
[WIP] Propagate bounds when eliminating a linear, degree-2 constraint #63
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
…e-elimination into propagate-bounds
Structural resultsModel & Method & Var. & Con. & Elim. & NNZ/Con. & Lin. NZ/Con. & Hess. NNZ\\
\hline
DIST & -- & 30368 & 30068 & 0 & 3.88 & 1.69 & 48032\\
DIST & LD1 & 30300 & 30000 & 68 & 3.89 & 1.69 & 48000\\
DIST & ECD2 & 29400 & 29100 & 968 & 3.62 & 1.68 & 47400\\
DIST & LD2 & 29068 & 28768 & 1300 & 3.64 & 1.67 & 47400\\
DIST & D2 & 19468 & 19168 & 10900 & 3.97 & 2.00 & 47100\\
DIST & GR & 9932 & 9632 & 20436 & 4.92 & 1.00 & 47700\\
DIST & LM & 9900 & 9600 & 20468 & 4.93 & 1.00 & 47700\\
\hline
MB & -- & 870 & 869 & 0 & 3.09 & 1.39 & 1869\\
MB & LD1 & 780 & 779 & 90 & 2.97 & 1.34 & 1451\\
MB & ECD2 & 777 & 776 & 93 & 2.95 & 1.34 & 1366\\
MB & LD2 & 592 & 591 & 278 & 3.24 & 1.28 & 1285\\
MB & D2 & 491 & 490 & 379 & 3.38 & 1.34 & 1145\\
MB & GR & 300 & 299 & 570 & 5.24 & 0.80 & 1609\\
MB & LM & 167 & 166 & 703 & 9.23 & 0.02 & 1524\\
\hline
OPF & -- & 61349 & 87120 & 0 & 3.06 & 2.27 & 75323\\
OPF & LD1 & 58969 & 84740 & 2380 & 3.07 & 2.28 & 72981\\
OPF & ECD2 & 55891 & 81662 & 5458 & 3.11 & 2.29 & 70249\\
OPF & LD2 & 55567 & 81338 & 5782 & 3.11 & 2.29 & 70113\\
OPF & D2 & 50650 & 86431 & 10699 & 2.93 & 1.78 & 70063\\
OPF & GR & 27152 & 120615 & 34197 & 3.21 & 2.42 & 149351\\
OPF & LM & 10396 & 138071 & 50953 & 3.93 & 0.24 & 80021\\
\hline
PIPE & -- & 12293 & 12221 & 0 & 3.00 & 1.70 & 33506\\
PIPE & LD1 & 10372 & 10300 & 1921 & 2.58 & 1.74 & 11155\\
PIPE & ECD2 & 7281 & 7209 & 5012 & 2.81 & 1.74 & 9414\\
PIPE & LD2 & 5252 & 5180 & 7041 & 3.13 & 1.90 & 9414\\
PIPE & D2 & 4660 & 4588 & 7633 & 3.27 & 2.02 & 7708\\
PIPE & GR & 5492 & 6315 & 6801 & 3.52 & 0.97 & 16627\\
PIPE & LM & 1124 & 2186 & 11169 & 10.68 & 0.94 & 25393\\
\hlineThe notable difference is that we now actually eliminate constraints with structure-preserving methods on the OPF model, and we eliminate noticeably more constraints in the pipeline model. |
Convergence resultsDistillation model method n-success n-total percent-success ave-elim-time ave-solve-time
0 distill no-elim 103 121 85.123967 0.000021 196.634005
1 distill d1 104 121 85.950413 83.219890 198.320097
2 distill trivial 107 121 88.429752 99.527496 121.172014
3 distill linear-d2 109 121 90.082645 97.635945 93.686453
4 distill d2 121 121 100.000000 113.284353 89.352910
5 distill ampl 119 121 98.347107 48.559953 79.228524
6 distill matching 119 121 98.347107 85.264567 91.135404Moving bed model method n-success n-total percent-success ave-elim-time ave-solve-time
0 mb-steady no-elim 88 121 72.727273 0.000033 6.267466
1 mb-steady d1 89 121 73.553719 5.377841 4.909835
2 mb-steady trivial 89 121 73.553719 5.387387 5.035623
3 mb-steady linear-d2 88 121 72.727273 6.289683 5.777489
4 mb-steady d2 96 121 79.338843 NaN NaN
5 mb-steady ampl 105 121 86.776860 1.743644 1.374737
6 mb-steady matching 101 121 83.471074 3.428107 1.176199Pipeline model method n-success n-total percent-success ave-elim-time ave-solve-time
0 pipeline no-elim 77 121 63.636364 0.000051 276.824916
1 pipeline d1 99 121 81.818182 54.529603 29.298835
2 pipeline trivial 98 121 80.991736 60.817973 17.694709
3 pipeline linear-d2 99 121 81.818182 60.353903 16.281515
4 pipeline d2 99 121 81.818182 66.426793 18.212334
5 pipeline ampl 99 121 81.818182 16.108160 11.489716
6 pipeline matching 99 121 81.818182 NaN NaNThe only difference is that matching-pipeline does slightly better, while pipeline-trivial does slightly worse. |
Solvetime resultsModel & Method & $t_{\rm build}$ & $t_{\rm elim}$ & $t_{\rm init}$ & $t_{\rm solve}$ & Iter. & Func. & Jac. & Hess. & Other\\
\hline
DIST & -- & 0.8 & -- & 2.4 & 3.0 & 19 & 3 & 3 & 8 & 86\\
DIST & LD1 & 0.8 & 32.7 & 2.2 & 3.0 & 19 & 3 & 3 & 8 & 86\\
DIST & ECD2 & 0.8 & 37.5 & 2.4 & 1.6 & 17 & 5 & 5 & 12 & 78\\
DIST & LD2 & 0.8 & 38.5 & 2.4 & 2.0 & 18 & 4 & 4 & 14 & 77\\
DIST & D2 & 0.8 & 45.1 & 2.2 & 1.7 & 13 & 4 & 3 & 20 & 74\\
DIST & GR & 0.8 & 20.6 & 2.1 & 1.5 & 13 & 4 & 3 & 24 & 69\\
DIST & LM & 0.8 & 31.5 & 2.1 & 1.5 & 13 & 4 & 3 & 24 & 69\\
\hline
MB & -- & 4.1 & -- & 0.5 & 0.1 & 9 & 10 & 6 & 19 & 66\\
MB & LD1 & 5.6 & 2.6 & 0.5 & 0.1 & 9 & 11 & 7 & 20 & 62\\
MB & ECD2 & 5.7 & 2.7 & 0.5 & 0.1 & 9 & 10 & 8 & 18 & 64\\
MB & LD2 & 5.8 & 3.1 & 0.4 & 0.1 & 9 & 11 & 7 & 22 & 60\\
MB & D2 & 5.6 & 3.2 & 0.5 & 0.1 & 10 & 12 & 6 & 27 & 55\\
MB & GR & 3.8 & 1.0 & 0.5 & 0.1 & 10 & 12 & 5 & 30 & 53\\
MB & LM & 4.2 & 1.8 & 0.4 & 0.1 & 10 & 12 & 5 & 49 & 34\\
\hline
OPF & -- & 2.9 & -- & 3.9 & 9.9 & 61 & 4 & 4 & 10 & 81\\
OPF & LD1 & 2.8 & 64.3 & 3.9 & 9.5 & 61 & 4 & 4 & 9 & 82\\
OPF & ECD2 & 2.8 & 69.9 & 4.1 & 198.7 & 387 & 1 & 1 & 3 & 95\\
OPF & LD2 & 2.8 & 76.5 & 4.6 & 3144.3 & 263 & 0 & 0 & 0 & 100\\
OPF & D2 & 3.0 & 84.9 & 4.6 & 424.3 & 148 & 0 & 0 & 1 & 99\\
OPF & GR & 2.8 & 31.5 & 5.0 & 17.0 & 75 & 4 & 5 & 10 & 82\\
OPF & LM & 2.8 & 68.0 & 8.1 & 26.8 & 73 & 9 & 11 & 25 & 54\\
\hline
PIPE & -- & 5.8 & -- & 1.4 & 6.7 & 49 & 1 & 1 & 3 & 95\\
PIPE & LD1 & 6.4 & 22.0 & 1.2 & 2.5 & 49 & 1 & 1 & 3 & 94\\
PIPE & ECD2 & 6.1 & 24.0 & 1.1 & 2.1 & 51 & 2 & 1 & 5 & 92\\
PIPE & LD2 & 6.0 & 24.8 & 1.1 & 1.1 & 34 & 2 & 2 & 7 & 89\\
PIPE & D2 & 6.0 & 26.5 & 1.2 & 0.9 & 34 & 2 & 2 & 7 & 88\\
PIPE & GR & 6.0 & 7.5 & 1.3 & 1.4 & 30 & 3 & 2 & 9 & 87\\
PIPE & LM & 5.8 & 50.0 & 1.9 & 3.1 & 35 & 2 & 4 & 76 & 18\\
\hlineSomething weird is still happening with OPF. I'll run this with |
Tighten bounds on the defining variable using bounds on the defined variable, if any, instead of adding inequalities.