Given the release of a new nonlinear modeling interface in JuMP v1.15, I thought it would be good to update rosseta-opf to use that new interface and check these results.
The JuMP results are largely unchanged with an arguable case for a small performance improvements at the largest scales. No notable performance regression is a good outcome for the new nonlinear modeling interface, which has been rebuilt from scratch for improved maintainability and added support for a variety of new features.
In updating to more recent versions of all related packages and Julia, Optimization.jl also saw a notable improvement, now solving up to 793 bus case for the first time. Nonconvex.jl also solved a 200 bus case for the first time. NLPModels encountered some new exceptions in derivative calculations on large cases.
By and large, there has been notable progress across the board!
Case | Vars | Cons | JuMP | NLPModels | NonConvex | Optim | Optimization |
---|---|---|---|---|---|---|---|
case3_lmbd | 24 | 28 | 1.47e-02 | 4.82e-02 | 8.42e+00 | INF. | 2.62e+00 |
case5_pjm | 44 | 53 | 1.78e-02 | 8.63e-02 | 1.76e+00 | INF. | 3.96e-01 |
case14_ieee | 118 | 169 | 3.45e-01 | 3.18e-01 | 7.84e+01 | N.D. | 7.75e+00 |
case24_ieee_rts | 266 | 315 | 3.69e-01 | 7.81e-01 | 2.38e+02 | INF. | 1.77e+01 |
case30_ieee | 236 | 348 | 3.74e-01 | 7.84e-01 | 2.41e+02 | N.D. | 1.76e+01 |
case30_as | 236 | 348 | 3.33e-01 | 6.68e-01 | 2.49e+02 | INF. | 1.77e+01 |
case39_epri | 282 | 401 | 9.70e-02 | 6.81e-01 | 3.28e+02 | N.D. | 2.18e+01 |
case57_ieee | 448 | 675 | 4.01e-01 | 1.15e+00 | 5.82e+02 | N.D. | 4.24e+01 |
case60_c | 518 | 737 | 4.14e-01 | 1.61e+00 | 5.29e+02 | N.D. | 4.52e+01 |
case73_ieee_rts | 824 | 987 | 4.45e-01 | 2.69e+00 | 1.22e+03 | N.D. | 9.43e+01 |
case89_pegase | 1042 | 1649 | 6.33e-01 | 6.70e+00 | 3.96e+03 | N.D. | 2.23e+02 |
case118_ieee | 1088 | 1539 | 6.35e-01 | 4.44e+00 | 3.05e+03 | N.D. | 1.79e+02 |
case162_ieee_dtc | 1484 | 2313 | 6.39e-01 | 6.21e+00 | N.D. | N.D. | 3.95e+02 |
case179_goc | 1468 | 2200 | 7.24e-01 | 9.49e+00 | 5.67e+03 | N.D. | 3.01e+02 |
case197_snem | 1608 | 2397 | 6.84e-01 | 6.76e+00 | N.D. | N.D. | 4.29e+02 |
case200_activ | 1456 | 2116 | 5.41e-01 | 5.29e+00 | 6.49e+03 | N.D. | 2.92e+02 |
case240_pserc | 2558 | 3617 | 2.76e+00 | 4.90e+01 | N.D. | N.D. | 9.65e+02 |
case300_ieee | 2382 | 3478 | 9.57e-01 | 1.23e+01 | N.D. | N.D. | 8.37e+02 |
case500_goc | 4254 | 6097 | 1.40e+00 | 2.98e+01 | N.D. | N.D. | 3.11e+03 |
case588_sdet | 4110 | 5979 | 1.34e+00 | 2.31e+01 | N.D. | N.D. | 2.58e+03 |
case793_goc | 5432 | 7978 | 1.69e+00 | 4.00e+01 | N.D. | N.D. | 4.94e+03 |
case1354_pegase | 11192 | 16646 | 4.89e+00 | 1.68e+02 | N.D. | N.D. | N.D. |
case1803_snem | 15246 | 23172 | 8.23e+00 | 3.37e+02 | N.D. | N.D. | N.D. |
case1888_rte | 14480 | 21494 | 1.98e+01 | 5.18e+02 | N.D. | N.D. | N.D. |
case1951_rte | 15018 | 22075 | 9.86e+00 | N.D. | N.D. | N.D. | N.D. |
case2000_goc | 19008 | 29432 | 7.82e+00 | 3.93e+02 | N.D. | N.D. | N.D. |
case2312_goc | 17128 | 25716 | 7.27e+00 | 2.92e+02 | N.D. | N.D. | N.D. |
case2383wp_k | 17004 | 25039 | 7.84e+00 | 2.68e+02 | N.D. | N.D. | N.D. |
case2736sp_k | 19088 | 28356 | 7.03e+00 | 3.15e+02 | N.D. | N.D. | N.D. |
case2737sop_k | 18988 | 28358 | 6.40e+00 | N.D. | N.D. | N.D. | N.D. |
case2742_goc | 24540 | 38196 | 2.77e+01 | 1.16e+03 | N.D. | N.D. | N.D. |
case2746wp_k | 19520 | 28446 | 6.81e+00 | 2.90e+02 | N.D. | N.D. | N.D. |
case2746wop_k | 19582 | 28642 | 6.55e+00 | 2.94e+02 | N.D. | N.D. | N.D. |
case2848_rte | 21822 | 32129 | 1.50e+01 | 6.11e+02 | N.D. | N.D. | N.D. |
case2853_sdet | 23028 | 33154 | 1.08e+01 | 7.18e+02 | N.D. | N.D. | N.D. |
case2868_rte | 22090 | 32393 | 1.66e+01 | 6.69e+02 | N.D. | N.D. | N.D. |
case2869_pegase | 25086 | 37813 | 1.25e+01 | 8.14e+02 | N.D. | N.D. | N.D. |
case3012wp_k | 21082 | 31029 | 9.96e+00 | 4.17e+02 | N.D. | N.D. | N.D. |
case3022_goc | 23238 | 34990 | 1.16e+01 | N.D. | N.D. | N.D. | N.D. |
case3120sp_k | 21608 | 32092 | 1.01e+01 | 4.35e+02 | N.D. | N.D. | N.D. |
case3375wp_k | 24350 | 35876 | 1.17e+01 | N.D. | N.D. | N.D. | N.D. |
case3970_goc | 35270 | 54428 | 1.67e+01 | 2.02e+03 | N.D. | N.D. | N.D. |
case4020_goc | 36696 | 56957 | 2.22e+01 | N.D. | N.D. | N.D. | N.D. |
case4601_goc | 38814 | 59596 | 2.36e+01 | 2.38e+03 | N.D. | N.D. | N.D. |
case4619_goc | 42532 | 66289 | 2.10e+01 | 2.44e+03 | N.D. | N.D. | N.D. |
case4661_sdet | 34758 | 51302 | 1.72e+01 | 1.50e+03 | N.D. | N.D. | N.D. |
case4837_goc | 41398 | 64030 | 2.25e+01 | 2.25e+03 | N.D. | N.D. | N.D. |
case4917_goc | 37872 | 56917 | 2.04e+01 | N.D. | N.D. | N.D. | N.D. |
case5658_epigrids | 48552 | 74821 | 2.40e+01 | 3.37e+03 | N.D. | N.D. | N.D. |
case6468_rte | 49734 | 75937 | 6.32e+01 | 4.10e+03 | N.D. | N.D. | N.D. |
case6470_rte | 50482 | 75976 | 3.64e+01 | 3.56e+03 | N.D. | N.D. | N.D. |
case6495_rte | 50426 | 76124 | 6.38e+01 | 4.39e+03 | N.D. | N.D. | N.D. |
case6515_rte | 50546 | 76290 | 5.21e+01 | 4.19e+03 | N.D. | N.D. | N.D. |
case7336_epigrids | 62116 | 95306 | 2.90e+01 | 5.42e+03 | N.D. | N.D. | N.D. |
case8387_pegase | 78748 | 118702 | 5.03e+01 | N.D. | N.D. | N.D. | N.D. |
case9241_pegase | 85568 | 130826 | 5.30e+01 | N.D. | N.D. | N.D. | N.D. |
case9591_goc | 83572 | 130588 | 6.02e+01 | N.D. | N.D. | N.D. | N.D. |
case10000_goc | 76804 | 112352 | 5.11e+01 | N.D. | N.D. | N.D. | N.D. |
case10192_epigrids | 89850 | 139456 | 5.81e+01 | N.D. | N.D. | N.D. | N.D. |
case10480_goc | 96750 | 150874 | 6.87e+01 | N.D. | N.D. | N.D. | N.D. |
case13659_pegase | 117370 | 170588 | 6.82e+01 | N.D. | N.D. | N.D. | N.D. |
case19402_goc | 179562 | 281733 | 1.49e+02 | N.D. | N.D. | N.D. | N.D. |
case20758_epigrids | 179236 | 274918 | 1.04e+02 | N.D. | N.D. | N.D. | N.D. |
case24464_goc | 203374 | 313641 | 1.27e+02 | N.D. | N.D. | N.D. | N.D. |
case30000_goc | 208624 | 307752 | 2.49e+02 | N.D. | N.D. | N.D. | N.D. |
case78484_epigrids | 674562 | 1039062 | 7.77e+02 | N.D. | N.D. | N.D. | N.D. |
Package Details
Julia v1.10.0
[54578032] ADNLPModels v0.7.0
[f6369f11] ForwardDiff v0.10.36
[b6b21f68] Ipopt v1.6.0
[4076af6c] JuMP v1.18.1
[961ee093] ModelingToolkit v8.75.0
[f4238b75] NLPModelsIpopt v0.10.1
[01bcebdf] Nonconvex v2.1.3
[bf347577] NonconvexIpopt v0.4.2
[429524aa] Optim v1.7.8
[7f7a1694] Optimization v3.21.0
[fd9f6733] OptimizationMOI v0.3.0
[c36e90e8] PowerModels v0.20.1
[0c5d862f] Symbolics v5.15.1
Ipopt was run with the linear solver HSL ma27.