I am solving a very large (>1M variables) linear program with Gurobi. After 3 hours, Gurobi returns with status INFEASIBLE. However, if I run primal_feasibility_report
with all variables being zero, it returns an empty Dict
, indicating that none of the variables violate any constraints (which also conceptually makes sense given my understanding of the problem). I’m wondering how this can be? Has anyone else run into this behavior?
I recognize that primal_feasibility_report
doesn’t necessarily call Gurobi, so could it be a problem with numerical imprecision in the the handoff between JuMP and Gurobi?
1 Like
odow
February 22, 2023, 6:34pm
2
Do you have the Gurobi log? Did it complain about numerical issues? What version of Gurobi?
Did you try setting a start value?
set_start_value.(all_variables.(model), 0.0)
It’s also possible that this is a bug in Gurobi. One thing you could try is write_to_file(model, "bug.mps")
and then pass the MPS file to gurobi_cl bug.mps
and see if it also errors. That should help identify whether the problem is in JuMP or Gurobi. If it’s in Gurobi, you should reach out to their support with the MPS file.
You could also try another solver like CPLEX to see if it has the same problem. See Debugging · JuMP
Thanks for the response. The Gurobi log (which I don’t have permissions to upload and is too long to post in this response) has a couple of numerical trouble warnings:
Gurobi Optimizer version 9.5.1 build v9.5.1rc2 (win64)
Thread count: 48 physical cores, 48 logical processors, using up to 1 threads
Optimize a model with 4633052 rows, 1346751 columns and 10256904 nonzeros
Model fingerprint: 0x40252232
Coefficient statistics:
Matrix range [2e-01, 2e+05]
Objective range [1e-01, 2e+06]
Bounds range [0e+00, 0e+00]
RHS range [1e-03, 1e+04]
Presolve removed 2596666 rows and 554977 columns (presolve time = 7s) ...
Presolve removed 2609668 rows and 567979 columns (presolve time = 11s) ...
Presolve removed 3693259 rows and 594673 columns
Presolve time: 14.62s
Presolved: 939793 rows, 1046083 columns, 3203963 nonzeros
Elapsed ordering time = 5s
Elapsed ordering time = 9s
Elapsed ordering time = 10s
Elapsed ordering time = 15s
Elapsed ordering time = 16s
Elapsed ordering time = 20s
Elapsed ordering time = 23s
Elapsed ordering time = 25s
Elapsed ordering time = 30s
Elapsed ordering time = 31s
Elapsed ordering time = 35s
Ordering time: 37.02s
Barrier statistics:
Dense cols : 52
Free vars : 7894
AA' NZ : 1.045e+07
Factor NZ : 1.627e+08 (roughly 1.7 GB of memory)
Factor Ops : 2.303e+11 (roughly 9 seconds per iteration)
Threads : 1
# Barrier log table ...
Barrier performed 81 iterations in 2368.57 seconds (1285.79 work units)
Numerical trouble encountered
# Then appears to cross over to Simplex method with a simplex log.
Warning: very big Kappa = 5.95566e+13, try parameter NumericFocus
# Then seems to cross back over to barrier method?
Barrier statistics:
Dense cols : 52
Free vars : 113584
AA' NZ : 1.916e+07
Factor NZ : 2.907e+08 (roughly 3.0 GB of memory)
Factor Ops : 4.440e+11 (roughly 20 seconds per iteration)
Threads : 1
# Then a long Barrier log
Barrier performed 66 iterations in 6246.39 seconds (3336.08 work units)
Numerical trouble encountered
# Then switches to Simplex again with a very long simplex log
Warning: very big Kappa = 4.6182e+14, try parameter NumericFocus
Solved in 372531 iterations and 9757.11 seconds (5797.72 work units)
Infeasible model
I am using the following Gurobi settings
(;
LogToConsole = false,
NumericFocus = 3,
BarHomogeneous = 1,
method = 2,
BarIterLimit = 1000,
Crossover = 1,
FeasibilityTol = 1e-2,
OptimalityTol = 1e-6,
BarConvTol = 1e-8,
Threads = 1,
DualReductions = 0, # This is only to see if infeasible or unbounded.
)
I did set the start value to be a value that is probably not feasible. I could try again with the all-zero initial value set. I’m currently running compute_conflict!
which has been going for ~6 hours. After that, I can try saving the model, re-running with the all-zero starting point, etc.
Thanks!
1 Like
odow
February 22, 2023, 9:02pm
4
Okay, a few comments. This is because of numerical issues in your formulation.
Read https://www.gurobi.com/documentation/current/refman/guidelines_for_numerical_i.html .
Can you reformulate your model to strengthen the formulation? It’s hard to give advice without seeing the model, but a few things JuMP (if you will) out:
The model starts with 4.6e6 rows, and presolve quickly removes 3.6e6 rows. Are all of the constraints necessary? Is there some redundancy? Is there a different way of formulating the model?
The objective coefficients cover 7 orders of magnitude. Do they all make sense?
The bound range is empty? Have you given all variables good lower and upper bounds? Note that you should use @variable(model, x >= lower)
instead of @variable(model, x)
@constraint(model, x >= lower)
. The former adds a new row to the constraint matrix. (That might be the reason for your presolve row issue.)
Why all of the options? What happens with the default settings, and only NumericFocus = 3
? You should probably also leave DualReductions
unset. It can distinguish infeasible and unbounded, but it also limits what presolve techniques can be applied.
compute_conflict
is unlikely to be helpful. The issue is numerical, not a modeling error.
3 Likes
Thanks for the detailed explanation! That was a very helpful Gurobi article. A little insight about the model - this is an electricity economic dispatch problem built on a DCOPF. There are variables for the voltage angle at each bus, each generator’s power capacity, each generator’s power generation, and the unmet load at each bus. The objective is in terms of costs of operation, and cost of unmet load.
Addressing some of your questions:
I didn’t realize it was not equivalent to use bounds vs constraints. I was able to bound most of the variables. I also uncovered some other redundant constraints that I cleaned up. In total, that cut the number of rows in half.
Unmet load generally has a much higher coefficient than many of the cost terms, but a multi-objective formulation wouldn’t be appropriate in this application. I tried scaling (changing the units) of the unmet load variables.
I was basing many options off of what worked for a previous, similar problem that was formulated using MATPOWER, in MATLAB. I have seen those problems solve with much larger coefficient ranges (not that it’s ideal), so I tried the settings we used successfully in the past.
compute_conflict!
never converged.
After making the above changes, I’m still getting numerical instability, as shown in the log below. Is there anything else worth checking?
Gurobi 9.5.1 (win64) logging started Fri Feb 24 11:05:38 2023
Set parameter LogFile to value "L:\Project-Gurobi\Workspace3\E4ST\Data\mpc_210711_allTech\out_gurobi3a\Gurobi.log"
Set parameter LogToConsole to value 0
Set parameter NumericFocus to value 3
Set parameter BarHomogeneous to value 1
Set parameter Method to value 2
Set parameter Crossover to value 0
Set parameter Threads to value 1
Gurobi 9.5.1 (win64) logging started Fri Feb 24 11:05:38 2023
Set parameter LogFile to value "L:\Project-Gurobi\Workspace3\E4ST\Data\mpc_210711_allTech\out_gurobi3a\Gurobi.log"
Gurobi Optimizer version 9.5.1 build v9.5.1rc2 (win64)
Thread count: 24 physical cores, 24 logical processors, using up to 1 threads
Optimize a model with 2301832 rows, 1346751 columns and 6949436 nonzeros
Model fingerprint: 0x79483959
Coefficient statistics:
Matrix range [1e-03, 2e+05]
Objective range [1e-01, 4e+04]
Bounds range [2e-02, 1e+06]
RHS range [1e-03, 1e+04]
Presolve removed 193856 rows and 11856 columns (presolve time = 6s) ...
Presolve removed 823784 rows and 11856 columns
Presolve time: 9.55s
Presolved: 1478048 rows, 1941735 columns, 5943756 nonzeros
Elapsed ordering time = 5s
Ordering time: 6.36s
Barrier statistics:
AA' NZ : 3.555e+06
Factor NZ : 3.529e+07 (roughly 600 MB of memory)
Factor Ops : 2.475e+10 (roughly 1 second per iteration)
Threads : 1
Objective Residual
Iter Primal Dual Primal Dual Compl Time
0 1.83190336e+19 -4.32267594e+21 1.14e+06 6.75e+10 6.04e+15 25s
1 8.37179011e+18 -5.13354961e+20 5.19e+05 6.69e+09 1.19e+15 29s
2 1.03835904e+18 -6.15870211e+19 6.43e+04 6.93e+08 1.44e+14 33s
3 1.06758637e+17 -6.22279522e+18 6.61e+03 6.90e+07 1.46e+13 40s
4 1.38220068e+16 -6.41749837e+17 8.55e+02 7.11e+06 1.72e+12 44s
5 2.25271989e+15 -8.15822366e+16 1.38e+02 9.04e+05 2.37e+11 48s
6 5.49600769e+14 -2.07942128e+16 3.30e+01 2.30e+05 4.61e+10 52s
7 2.10198394e+14 -6.17362854e+15 1.21e+01 6.85e+04 1.13e+10 57s
8 8.63806668e+13 -1.89107778e+15 4.87e+00 2.10e+04 3.15e+09 64s
9 4.11986865e+13 -6.56421260e+14 2.38e+00 7.29e+03 1.05e+09 73s
10 2.56036982e+13 -2.69134278e+14 1.52e+00 2.98e+03 4.52e+08 84s
11 2.52693245e+13 -2.67059666e+14 1.50e+00 2.96e+03 4.47e+08 90s
12 2.52701596e+13 -2.67072034e+14 1.50e+00 2.96e+03 4.47e+08 95s
13 2.47783700e+13 -2.60987638e+14 1.47e+00 2.89e+03 4.36e+08 105s
14 2.42150559e+13 -2.51453863e+14 1.87e+00 4.42e+02 4.20e+08 111s
15 2.42212248e+13 -2.51439969e+14 1.87e+00 4.42e+02 4.20e+08 116s
16 2.41842533e+13 -2.49438609e+14 1.87e+00 4.38e+02 4.17e+08 124s
17 2.28480211e+13 -2.27950764e+14 1.78e+00 3.99e+02 3.81e+08 131s
18 2.28465635e+13 -2.27950330e+14 1.78e+00 3.98e+02 3.81e+08 138s
19 2.28221799e+13 -2.27788001e+14 1.77e+00 3.98e+02 3.80e+08 143s
20 2.26962243e+13 -2.25400296e+14 1.77e+00 3.94e+02 3.77e+08 153s
21 2.14709663e+13 -2.14177503e+14 3.35e+00 3.74e+02 3.55e+08 163s
22 2.14738829e+13 -2.14191719e+14 6.57e+00 3.74e+02 3.55e+08 169s
23 2.13870563e+13 -2.12940179e+14 6.53e+00 3.72e+02 3.53e+08 175s
24 2.13553195e+13 -2.11345135e+14 6.52e+00 3.69e+02 3.51e+08 181s
25 2.10417289e+13 -2.10533310e+14 6.43e+00 3.67e+02 3.47e+08 188s
26 2.10328273e+13 -2.10242653e+14 7.80e+00 3.67e+02 3.47e+08 198s
27 2.09594761e+13 -2.07492436e+14 7.79e+00 3.62e+02 3.44e+08 207s
28 2.09594639e+13 -2.07488999e+14 7.79e+00 3.62e+02 3.44e+08 214s
29 2.09288527e+13 -2.07290325e+14 7.78e+00 3.62e+02 3.43e+08 220s
30 2.09220473e+13 -2.07309217e+14 7.78e+00 3.62e+02 3.43e+08 228s
31 2.08958296e+13 -2.07205263e+14 7.77e+00 3.61e+02 3.43e+08 236s
32 2.08893250e+13 -2.07129207e+14 7.77e+00 3.61e+02 3.43e+08 242s
33 2.08828311e+13 -2.07011052e+14 7.77e+00 3.61e+02 3.43e+08 248s
34 2.07090345e+13 -2.04267075e+14 1.40e+01 3.56e+02 3.38e+08 257s
35 2.07166324e+13 -2.04326293e+14 1.40e+01 3.56e+02 3.38e+08 262s
36 2.05284233e+13 -2.00456701e+14 1.39e+01 3.49e+02 3.33e+08 270s
37 2.00328092e+13 -1.94944329e+14 1.36e+01 3.40e+02 3.23e+08 282s
38 2.00314872e+13 -1.94943863e+14 1.36e+01 3.40e+02 3.23e+08 289s
39 1.99917125e+13 -1.94308061e+14 1.35e+01 3.38e+02 3.21e+08 296s
40 1.96704672e+13 -1.90745104e+14 1.33e+01 3.32e+02 3.15e+08 302s
41 1.96672173e+13 -1.90712195e+14 1.33e+01 3.32e+02 3.15e+08 311s
42 1.95625024e+13 -1.89671456e+14 1.33e+01 3.30e+02 3.13e+08 318s
43 1.94477293e+13 -1.87545854e+14 1.32e+01 3.27e+02 3.10e+08 326s
44 1.94414768e+13 -1.87385194e+14 1.32e+01 3.26e+02 3.09e+08 334s
45 1.94419507e+13 -1.87386999e+14 1.32e+01 3.26e+02 3.09e+08 341s
46 1.94410044e+13 -1.87377506e+14 1.32e+01 3.26e+02 3.09e+08 347s
47 1.94381471e+13 -1.87355411e+14 1.32e+01 3.26e+02 3.09e+08 352s
48 1.94395704e+13 -1.87398863e+14 1.32e+01 3.26e+02 3.09e+08 359s
49 1.94248674e+13 -1.87296663e+14 1.32e+01 3.26e+02 3.09e+08 368s
50 1.94217748e+13 -1.87220787e+14 1.32e+01 3.26e+02 3.09e+08 373s
51 1.94183806e+13 -1.87181497e+14 1.32e+01 3.26e+02 3.09e+08 379s
52 1.94091265e+13 -1.87179850e+14 1.32e+01 3.26e+02 3.09e+08 385s
53 1.94037753e+13 -1.87152096e+14 1.32e+01 3.26e+02 3.09e+08 392s
54 1.93965782e+13 -1.86925901e+14 1.32e+01 3.25e+02 3.09e+08 399s
55 1.90472235e+13 -1.85682126e+14 1.48e+01 3.23e+02 3.05e+08 405s
56 1.90316105e+13 -1.85542290e+14 1.48e+01 3.23e+02 3.04e+08 410s
57 1.89780952e+13 -1.85472893e+14 1.47e+01 3.23e+02 3.04e+08 416s
58 1.89588729e+13 -1.85486449e+14 1.47e+01 3.23e+02 3.04e+08 427s
59 1.89660249e+13 -1.85464831e+14 1.47e+01 3.23e+02 3.04e+08 434s
60 1.89611597e+13 -1.85384872e+14 1.47e+01 3.23e+02 3.04e+08 438s
61 1.89621981e+13 -1.85382301e+14 1.47e+01 3.23e+02 3.04e+08 443s
62 1.89574234e+13 -1.85274514e+14 1.47e+01 3.22e+02 3.03e+08 450s
63 1.89364779e+13 -1.85091346e+14 1.47e+01 3.22e+02 3.03e+08 458s
64 1.88907169e+13 -1.84488802e+14 1.47e+01 3.21e+02 3.02e+08 464s
65 1.87571503e+13 -1.83910051e+14 2.06e+01 3.20e+02 3.01e+08 471s
66 1.87554466e+13 -1.83881831e+14 3.90e+01 3.20e+02 3.01e+08 483s
67 1.87396185e+13 -1.83869021e+14 3.90e+01 3.20e+02 3.01e+08 488s
68 1.87381758e+13 -1.83861415e+14 3.90e+01 3.20e+02 3.01e+08 494s
69 1.87298530e+13 -1.83767462e+14 3.90e+01 3.20e+02 3.00e+08 501s
70 1.87204940e+13 -1.83738685e+14 3.90e+01 3.20e+02 3.00e+08 510s
71 1.87176060e+13 -1.83673295e+14 3.89e+01 3.20e+02 3.00e+08 517s
72 1.87177006e+13 -1.83670357e+14 3.89e+01 3.20e+02 3.00e+08 526s
73 1.87331818e+13 -1.83617124e+14 3.89e+01 3.20e+02 3.00e+08 533s
Barrier performed 73 iterations in 533.24 seconds (278.41 work units)
Numerical trouble encountered
User-callback calls 5067, time in user-callback 0.00 sec
The one thing I’m a little uncertain about is that optimal solutions for the objective function are likely in the 1e11 to 1e12 range. Is this worth reformulating? The simplest way would be to scale all of the objective coefficients down by 10^6 or something, so that the objective is in terms of millions of dollars rather than dollars. But that would yield very small objective coefficients. Are there better ways to reformulate?
Thank you so much for your help!!
Yes, you should probably scale down the objective. This way, you also scale down the duals, which improves the numerics (especially if you use an interior-point method).
After scaling down the objective by 10^6, I’m still seeing the same issues. Any thoughts on why this might be?
Gurobi 9.5.1 (win64) logging started Fri Feb 24 16:00:07 2023
Set parameter LogFile to value "L:\Project-Gurobi\Workspace3\E4ST\Data\mpc_210711_allTech\out_gurobi2\Gurobi.log"
Set parameter LogToConsole to value 0
Set parameter Method to value 2
Set parameter Crossover to value 0
Set parameter Threads to value 1
Gurobi 9.5.1 (win64) logging started Fri Feb 24 16:00:07 2023
Set parameter LogFile to value "L:\Project-Gurobi\Workspace3\E4ST\Data\mpc_210711_allTech\out_gurobi2\Gurobi.log"
Gurobi Optimizer version 9.5.1 build v9.5.1rc2 (win64)
Thread count: 24 physical cores, 24 logical processors, using up to 1 threads
Optimize a model with 2301832 rows, 1346751 columns and 6949436 nonzeros
Model fingerprint: 0xbb6434e0
Coefficient statistics:
Matrix range [1e-03, 2e+05]
Objective range [1e-07, 4e-02]
Bounds range [2e-02, 1e+06]
RHS range [1e-03, 1e+04]
Presolve removed 196664 rows and 14664 columns (presolve time = 8s) ...
Presolve removed 225368 rows and 14664 columns (presolve time = 10s) ...
Presolve removed 829400 rows and 14664 columns
Presolve time: 11.80s
Presolved: 1472432 rows, 1936119 columns, 5939024 nonzeros
Elapsed ordering time = 5s
Ordering time: 7.11s
Barrier statistics:
AA' NZ : 3.535e+06
Factor NZ : 3.616e+07 (roughly 600 MB of memory)
Factor Ops : 2.649e+10 (roughly 1 second per iteration)
Threads : 1
Objective Residual
Iter Primal Dual Primal Dual Compl Time
0 1.67667648e+13 -4.26631141e+15 1.06e+06 4.79e+01 5.96e+09 31s
1 6.66269156e+12 -9.32550733e+13 4.19e+05 2.91e-11 6.74e+08 32s
2 8.12060754e+10 -3.06993558e+12 5.10e+03 4.34e-09 9.92e+06 35s
3 2.41944473e+09 -3.48249133e+10 1.51e+02 5.09e-10 2.40e+05 37s
4 3.41306826e+08 -1.71545549e+10 2.04e+01 3.71e-10 4.03e+04 40s
5 1.01833789e+08 -6.77572452e+09 5.56e+00 5.75e-10 1.14e+04 43s
6 8.32068642e+07 -4.87494701e+09 4.48e+00 3.64e-10 8.21e+03 46s
7 7.62333032e+07 -4.09057352e+09 4.08e+00 1.19e-09 6.96e+03 49s
8 6.87755028e+07 -3.86872288e+09 3.66e+00 1.37e-09 6.38e+03 52s
9 5.88356077e+07 -3.39314733e+09 3.11e+00 1.86e-09 5.41e+03 54s
10 5.84701833e+07 -3.37663152e+09 3.10e+00 1.83e-09 5.38e+03 57s
11 5.59809162e+07 -3.23446968e+09 2.96e+00 1.69e-09 5.12e+03 60s
12 5.51274477e+07 -3.21261713e+09 2.91e+00 1.72e-09 5.06e+03 63s
13 5.50600419e+07 -3.21131632e+09 2.91e+00 1.72e-09 5.06e+03 66s
14 5.48709388e+07 -3.20528914e+09 2.90e+00 1.69e-09 5.04e+03 69s
15 5.47465471e+07 -3.19407257e+09 2.89e+00 1.69e-09 5.02e+03 72s
16 5.47393602e+07 -3.19390511e+09 2.89e+00 1.69e-09 5.02e+03 76s
17 5.42751660e+07 -3.18394899e+09 2.87e+00 1.69e-09 4.99e+03 79s
18 5.36596116e+07 -3.15806405e+09 2.83e+00 1.66e-09 4.94e+03 82s
19 5.03205581e+07 -2.91076839e+09 2.65e+00 2.50e-09 4.53e+03 85s
20 5.03133443e+07 -2.91037120e+09 2.65e+00 2.49e-09 4.53e+03 88s
21 5.02851946e+07 -2.90327460e+09 2.65e+00 2.60e-09 4.52e+03 91s
22 4.98910385e+07 -2.89523061e+09 2.63e+00 2.55e-09 4.49e+03 94s
23 4.70590363e+07 -2.69941551e+09 2.47e+00 1.72e-09 4.17e+03 97s
24 4.69118193e+07 -2.69231656e+09 2.69e+00 1.70e-09 4.15e+03 100s
25 4.69056647e+07 -2.69217349e+09 2.69e+00 1.72e-09 4.15e+03 103s
26 4.68802234e+07 -2.68657722e+09 2.69e+00 1.63e-09 4.15e+03 106s
27 4.68026946e+07 -2.67448746e+09 2.68e+00 1.66e-09 4.13e+03 109s
28 4.67805864e+07 -2.67343179e+09 2.68e+00 1.64e-09 4.13e+03 112s
29 4.67799270e+07 -2.67343740e+09 2.68e+00 1.64e-09 4.13e+03 115s
30 4.67839736e+07 -2.67341827e+09 2.68e+00 1.64e-09 4.13e+03 118s
31 4.67841214e+07 -2.67335262e+09 2.68e+00 1.66e-09 4.13e+03 121s
32 4.61330409e+07 -2.66715707e+09 2.64e+00 1.62e-09 4.10e+03 124s
33 4.56386475e+07 -2.65187429e+09 2.62e+00 1.41e-09 4.06e+03 127s
34 4.43424747e+07 -2.57792334e+09 2.59e+00 3.46e-09 3.93e+03 130s
35 4.38772605e+07 -2.55915046e+09 2.57e+00 3.19e-09 3.89e+03 133s
36 4.37367455e+07 -2.54998859e+09 2.56e+00 3.22e-09 3.88e+03 136s
37 4.37441629e+07 -2.54997189e+09 2.56e+00 3.22e-09 3.88e+03 139s
38 4.34660525e+07 -2.53424623e+09 2.54e+00 2.88e-09 3.85e+03 142s
39 4.34466562e+07 -2.53219465e+09 2.54e+00 2.88e-09 3.85e+03 145s
40 4.32492397e+07 -2.53045782e+09 2.52e+00 2.88e-09 3.84e+03 148s
41 4.32494093e+07 -2.53045968e+09 2.52e+00 2.87e-09 3.84e+03 151s
42 4.31765556e+07 -2.53018725e+09 2.52e+00 2.85e-09 3.83e+03 154s
43 4.31759172e+07 -2.53018870e+09 2.52e+00 2.85e-09 3.83e+03 157s
44 4.31405200e+07 -2.52984994e+09 2.52e+00 2.85e-09 3.83e+03 160s
45 4.31294155e+07 -2.52989094e+09 2.52e+00 2.85e-09 3.83e+03 164s
46 4.31296858e+07 -2.52986061e+09 2.52e+00 2.85e-09 3.83e+03 167s
47 4.30961853e+07 -2.52654923e+09 2.51e+00 2.76e-09 3.83e+03 170s
48 4.30885012e+07 -2.52639321e+09 2.51e+00 2.76e-09 3.83e+03 173s
49 4.31066323e+07 -2.52633164e+09 2.51e+00 2.76e-09 3.83e+03 176s
50 4.30932485e+07 -2.52636037e+09 2.51e+00 2.76e-09 3.83e+03 179s
51 4.24587958e+07 -2.47539845e+09 2.47e+00 3.06e-09 3.75e+03 183s
52 4.24515762e+07 -2.47530254e+09 2.47e+00 3.06e-09 3.75e+03 186s
53 4.24412466e+07 -2.47513406e+09 2.47e+00 3.04e-09 3.75e+03 189s
54 4.24130283e+07 -2.47160680e+09 2.47e+00 2.94e-09 3.74e+03 192s
55 4.23461131e+07 -2.46936580e+09 2.47e+00 2.98e-09 3.74e+03 195s
56 4.16360776e+07 -2.45448645e+09 2.43e+00 2.55e-09 3.69e+03 198s
57 4.16232237e+07 -2.45374103e+09 2.43e+00 2.53e-09 3.69e+03 202s
58 4.16277720e+07 -2.45369948e+09 2.43e+00 2.53e-09 3.69e+03 205s
59 4.14961047e+07 -2.44584908e+09 2.42e+00 2.24e-09 3.68e+03 208s
60 4.14960448e+07 -2.44572966e+09 2.42e+00 2.26e-09 3.68e+03 211s
61 4.14955883e+07 -2.44565083e+09 2.42e+00 2.24e-09 3.68e+03 214s
62 4.08514150e+07 -2.43639402e+09 2.38e+00 2.02e-09 3.65e+03 217s
63 4.06122305e+07 -2.42837089e+09 2.37e+00 2.04e-09 3.63e+03 219s
64 4.03951976e+07 -2.41773764e+09 2.35e+00 2.50e-09 3.61e+03 222s
65 4.03407267e+07 -2.41306070e+09 2.35e+00 2.47e-09 3.60e+03 225s
66 4.03459368e+07 -2.41300996e+09 2.35e+00 2.46e-09 3.60e+03 228s
67 4.03508810e+07 -2.41300965e+09 2.35e+00 2.46e-09 3.60e+03 232s
68 4.03452504e+07 -2.41283755e+09 2.35e+00 2.49e-09 3.60e+03 235s
69 4.03450712e+07 -2.41276485e+09 2.35e+00 2.47e-09 3.60e+03 238s
70 4.03102838e+07 -2.41164895e+09 2.35e+00 2.52e-09 3.60e+03 242s
71 4.03091513e+07 -2.41165526e+09 2.35e+00 2.52e-09 3.60e+03 245s
72 4.02939907e+07 -2.41078696e+09 2.35e+00 2.50e-09 3.60e+03 248s
73 4.02865536e+07 -2.41068922e+09 2.35e+00 2.52e-09 3.60e+03 251s
74 4.02851036e+07 -2.41049426e+09 2.35e+00 2.50e-09 3.60e+03 254s
75 4.02839730e+07 -2.41053077e+09 2.35e+00 2.50e-09 3.60e+03 257s
76 4.02221592e+07 -2.40686874e+09 2.35e+00 2.44e-09 3.59e+03 260s
77 4.02078196e+07 -2.40475313e+09 2.35e+00 2.43e-09 3.59e+03 264s
78 4.01034178e+07 -2.39907831e+09 2.34e+00 2.37e-09 3.58e+03 267s
79 3.99256151e+07 -2.38543235e+09 2.32e+00 2.53e-09 3.55e+03 270s
80 3.99222513e+07 -2.38536980e+09 2.32e+00 2.53e-09 3.55e+03 274s
81 3.99164302e+07 -2.38504138e+09 2.32e+00 2.55e-09 3.55e+03 277s
82 3.96825099e+07 -2.37950314e+09 2.31e+00 2.33e-09 3.54e+03 280s
83 3.97004834e+07 -2.37949455e+09 2.31e+00 2.33e-09 3.54e+03 283s
84 3.96805328e+07 -2.37811187e+09 2.31e+00 2.31e-09 3.54e+03 286s
85 3.96685030e+07 -2.37795931e+09 2.31e+00 2.30e-09 3.54e+03 289s
86 3.96554299e+07 -2.37795413e+09 2.31e+00 2.30e-09 3.54e+03 292s
87 3.96442338e+07 -2.37723166e+09 2.31e+00 2.33e-09 3.53e+03 295s
88 3.96124943e+07 -2.37472020e+09 2.31e+00 2.24e-09 3.53e+03 298s
89 3.95067299e+07 -2.35916581e+09 2.32e+00 2.04e-09 3.51e+03 301s
90 3.94765797e+07 -2.35878166e+09 2.32e+00 2.05e-09 3.51e+03 305s
91 3.94722774e+07 -2.35738879e+09 2.32e+00 2.04e-09 3.51e+03 308s
92 3.94803469e+07 -2.35721740e+09 2.32e+00 2.05e-09 3.51e+03 311s
93 3.94826364e+07 -2.35720665e+09 2.32e+00 2.04e-09 3.51e+03 314s
94 3.94825176e+07 -2.35719584e+09 2.32e+00 2.02e-09 3.51e+03 317s
95 3.94583720e+07 -2.35521481e+09 2.32e+00 2.04e-09 3.50e+03 320s
96 3.94508533e+07 -2.34137460e+09 2.32e+00 2.71e-09 3.49e+03 323s
97 3.94529466e+07 -2.34134887e+09 2.32e+00 2.69e-09 3.49e+03 326s
98 3.94584302e+07 -2.34131975e+09 2.32e+00 2.71e-09 3.49e+03 329s
99 3.94548943e+07 -2.34117713e+09 2.32e+00 2.71e-09 3.49e+03 332s
100 3.94082564e+07 -2.34107096e+09 2.78e+00 2.71e-09 3.49e+03 335s
101 3.94073845e+07 -2.34084760e+09 2.78e+00 2.71e-09 3.49e+03 338s
102 3.94077463e+07 -2.34082626e+09 2.78e+00 2.71e-09 3.49e+03 341s
Barrier performed 102 iterations in 340.65 seconds (161.26 work units)
Numerical trouble encountered
Model may be infeasible or unbounded. Consider using the
homogeneous algorithm (through parameter 'BarHomogeneous')
User-callback calls 6162, time in user-callback 0.03 sec
The matrix and RHS elements range from tiny to huge. Surely this has an influence on the numerical difficulties. How come you have such a large range?
A couple of things contribute to the wide ranges, and are hard to resolve:
Wide range of demanded power at the buses is a RHS coefficient. [1E3, 8E3] (also zero values here, since not all buses have demand)
Wide range of reactance values as constraint coefficients. [2e-1, 1e6]
Wide range of line power flow limits as RHS coefficients. [5, 1e4]
After removing line power flow constraints and setting the reactance values to be uniform, I was able to solve to optimality (quickly too). However, it is not the same problem, as those constraints and reactance values matter.
Gurobi 9.5.1 (win64) logging started Fri Feb 24 17:20:08 2023
Set parameter LogFile to value "L:\Project-Gurobi\Workspace3\E4ST\Data\mpc_210711_allTech\out_gurobi2\Gurobi.log"
Set parameter LogToConsole to value 0
Set parameter NumericFocus to value 3
Set parameter BarHomogeneous to value 1
Set parameter Method to value 2
Set parameter Crossover to value 0
Set parameter Threads to value 1
Gurobi 9.5.1 (win64) logging started Fri Feb 24 17:20:08 2023
Set parameter LogFile to value "L:\Project-Gurobi\Workspace3\E4ST\Data\mpc_210711_allTech\out_gurobi2\Gurobi.log"
Gurobi Optimizer version 9.5.1 build v9.5.1rc2 (win64)
Thread count: 24 physical cores, 24 logical processors, using up to 1 threads
Optimize a model with 882960 rows, 1346751 columns and 4111692 nonzeros
Model fingerprint: 0xb6b536c6
Coefficient statistics:
Matrix range [1e-03, 7e+02]
Objective range [1e-07, 4e-02]
Bounds range [2e-02, 1e+06]
RHS range [1e-03, 7e+03]
Presolve removed 19916 rows and 20020 columns (presolve time = 5s) ...
Presolve removed 19916 rows and 20072 columns
Presolve time: 5.74s
Presolved: 863044 rows, 1326679 columns, 4112732 nonzeros
Ordering time: 2.37s
Barrier statistics:
AA' NZ : 1.633e+06
Factor NZ : 2.001e+07 (roughly 400 MB of memory)
Factor Ops : 1.111e+10 (roughly 1 second per iteration)
Threads : 1
Objective Residual
Iter Primal Dual Primal Dual Compl Time
0 2.02024086e+12 -2.19325184e+14 5.24e+05 4.87e+01 4.27e+08 14s
1 9.15029414e+11 -2.74456492e+13 2.36e+05 1.82e-12 7.95e+07 16s
2 1.12753098e+11 -3.24654910e+12 2.90e+04 1.23e-11 9.38e+06 18s
3 1.26352214e+10 -3.36360612e+11 3.24e+03 1.05e-11 1.01e+06 21s
4 1.39326328e+09 -3.52669730e+10 3.54e+02 1.21e-11 1.07e+05 27s
5 1.84400283e+08 -6.26422220e+09 4.38e+01 1.16e-11 1.48e+04 29s
6 5.03221940e+07 -1.69690685e+09 1.02e+01 7.26e-12 3.39e+03 31s
7 1.08267646e+07 -2.55185923e+08 2.22e+00 5.30e-12 4.76e+02 34s
8 2.24565695e+06 -4.21627938e+07 4.30e-01 3.52e-12 6.81e+01 39s
9 4.55079877e+05 -9.42551206e+06 4.23e-02 1.87e-12 1.33e+01 43s
10 2.74224025e+05 -4.38385833e+06 1.60e-02 1.39e-12 6.19e+00 49s
11 2.17652584e+05 -2.36427532e+06 1.02e-02 1.38e-12 3.44e+00 55s
12 2.09367429e+05 -1.33648567e+06 2.39e-01 1.70e-10 2.11e+00 58s
13 1.43979760e+05 -8.86926095e+05 2.17e+00 1.21e-10 1.40e+00 63s
14 1.13544695e+05 -5.46630803e+05 1.52e+00 2.09e-09 8.98e-01 66s
15 6.11635860e+04 -3.48006430e+05 5.49e-01 6.48e-11 5.46e-01 69s
16 4.55602954e+04 -2.33361353e+05 3.25e-01 5.76e-11 3.71e-01 73s
17 4.08447409e+04 -1.52302090e+05 2.65e-01 6.61e-11 2.58e-01 77s
18 3.68014361e+04 -9.63764754e+04 2.17e-01 5.27e-11 1.79e-01 82s
19 3.31076671e+04 -5.78965935e+04 1.77e-01 4.61e-11 1.23e-01 85s
20 2.99890158e+04 -3.22192272e+04 1.44e-01 1.18e-08 8.53e-02 89s
21 2.64271199e+04 -1.80073558e+04 1.09e-01 1.87e-08 6.13e-02 92s
22 2.40438881e+04 -7.39527874e+03 8.65e-02 2.09e-08 4.38e-02 95s
23 2.18889562e+04 -3.10413036e+02 6.72e-02 1.93e-08 3.12e-02 98s
24 2.03101420e+04 3.96180880e+03 5.37e-02 1.66e-08 2.31e-02 101s
25 1.81594156e+04 6.54754782e+03 3.65e-02 1.34e-08 1.64e-02 105s
26 1.76282148e+04 8.18477564e+03 3.27e-02 8.92e-09 1.34e-02 109s
27 1.66444985e+04 9.34346556e+03 2.52e-02 7.11e-09 1.03e-02 112s
28 1.60357698e+04 1.02832658e+04 2.07e-02 5.64e-09 8.15e-03 115s
29 1.55900875e+04 1.09357437e+04 1.74e-02 4.45e-09 6.60e-03 120s
30 1.53545458e+04 1.13236121e+04 1.58e-02 3.21e-09 5.71e-03 123s
31 1.51162934e+04 1.16525921e+04 1.40e-02 2.84e-09 4.91e-03 127s
32 1.48545687e+04 1.20177981e+04 1.22e-02 2.03e-09 4.03e-03 130s
33 1.45471201e+04 1.22837036e+04 1.01e-02 1.32e-09 3.21e-03 133s
34 1.43024198e+04 1.25291044e+04 8.38e-03 8.99e-10 2.52e-03 137s
35 1.40947529e+04 1.26603510e+04 6.91e-03 7.01e-10 2.04e-03 140s
36 1.40065676e+04 1.27067212e+04 6.29e-03 4.40e-10 1.84e-03 143s
37 1.38272281e+04 1.27867646e+04 5.03e-03 2.68e-10 1.47e-03 147s
38 1.37347062e+04 1.28647921e+04 4.38e-03 1.72e-10 1.23e-03 150s
39 1.36460669e+04 1.29364127e+04 3.75e-03 7.62e-11 1.00e-03 153s
40 1.35229160e+04 1.29931961e+04 2.84e-03 8.64e-11 7.49e-04 157s
41 1.34725089e+04 1.30224165e+04 2.45e-03 9.25e-11 6.37e-04 160s
42 1.34250241e+04 1.30441540e+04 2.09e-03 8.14e-11 5.39e-04 164s
43 1.33986579e+04 1.30616966e+04 1.90e-03 8.03e-11 4.77e-04 167s
44 1.33575350e+04 1.30777271e+04 1.59e-03 7.29e-11 3.96e-04 170s
45 1.33276285e+04 1.30911992e+04 1.37e-03 1.01e-10 3.34e-04 174s
46 1.32895763e+04 1.31055361e+04 1.11e-03 1.07e-10 2.60e-04 177s
47 1.32633325e+04 1.31176337e+04 9.08e-04 9.72e-11 2.06e-04 180s
48 1.32388105e+04 1.31240594e+04 7.15e-04 8.42e-11 1.62e-04 183s
49 1.32272110e+04 1.31341637e+04 6.27e-04 1.91e-10 1.32e-04 187s
50 1.32211855e+04 1.31374468e+04 5.79e-04 1.70e-10 1.19e-04 190s
51 1.32129533e+04 1.31403626e+04 5.13e-04 2.42e-10 1.04e-04 193s
52 1.32048718e+04 1.31416394e+04 4.50e-04 2.29e-10 9.00e-05 197s
53 1.31954398e+04 1.31440470e+04 3.75e-04 2.62e-10 7.32e-05 200s
54 1.31864196e+04 1.31455325e+04 2.99e-04 2.31e-10 5.82e-05 203s
55 1.31800700e+04 1.31467268e+04 2.46e-04 1.86e-10 4.75e-05 206s
56 1.31748980e+04 1.31477273e+04 2.02e-04 1.97e-10 3.86e-05 210s
57 1.31705523e+04 1.31483467e+04 1.66e-04 2.12e-10 3.15e-05 213s
58 1.31677054e+04 1.31491981e+04 1.42e-04 1.58e-10 2.64e-05 216s
59 1.31650991e+04 1.31495136e+04 1.20e-04 1.73e-10 2.22e-05 220s
60 1.31627242e+04 1.31499926e+04 9.90e-05 1.37e-10 1.81e-05 223s
61 1.31604911e+04 1.31502650e+04 7.94e-05 1.20e-10 1.45e-05 227s
62 1.31576995e+04 1.31506051e+04 1.24e-04 8.00e-11 9.90e-06 230s
63 1.31564438e+04 1.31509088e+04 9.71e-05 7.23e-11 7.76e-06 234s
64 1.31552407e+04 1.31513873e+04 7.31e-05 9.58e-11 5.55e-06 237s
65 1.31543772e+04 1.31515457e+04 6.52e-05 7.51e-11 4.12e-06 240s
66 1.31538661e+04 1.31515741e+04 4.92e-05 5.15e-11 3.32e-06 243s
67 1.31536979e+04 1.31515991e+04 4.60e-05 8.06e-11 3.04e-06 246s
68 1.31534525e+04 1.31516275e+04 4.24e-05 6.94e-11 2.65e-06 248s
69 1.31533254e+04 1.31516617e+04 3.40e-05 8.13e-11 2.43e-06 251s
70 1.31522131e+04 1.31517088e+04 1.02e-05 7.20e-11 7.18e-07 254s
71 1.31518384e+04 1.31517619e+04 5.12e-06 7.30e-11 1.08e-07 257s
72 1.31517840e+04 1.31517722e+04 4.55e-06 1.32e-10 1.57e-08 260s
73 1.31517783e+04 1.31517746e+04 1.02e-06 7.28e-11 4.41e-09 263s
74 1.31517773e+04 1.31517757e+04 2.67e-07 1.24e-09 1.85e-09 265s
75 1.31517770e+04 1.31517768e+04 3.30e-08 1.29e-08 2.39e-10 268s
76 1.31517770e+04 1.31517770e+04 3.87e-09 1.24e-09 2.73e-11 271s
Barrier solved model in 76 iterations and 270.99 seconds (126.35 work units)
Optimal objective 1.31517770e+04
User-callback calls 3438, time in user-callback 0.01 sec
Can the problem be decomposed so that the scaling can be done within the subproblems? That may prevent having a large range. Just an idea.
odow
February 26, 2023, 12:32am
11
Have you tried leaving the default settings?
Your scalings are still too large. See this series of articles by Gurobi:
Since it’s struggling, you’re probably going to need to give up some accuracy in the input data in order to obtain a solution.
Are you using a standard formulation from PowerModels.jl? Or did you code it yourself? @ccoffrin might have some other suggestions.
I have tried the default settings - I found that it would choose to crossover to simplex and simplex would take a very long time before returning that the model was infeasible.
I am using a custom formulation. I made a few more changes based on all the above suggestions, and while my ranges are still pretty large, Gurobi is finding optimal solutions in ~7 minutes. I may need to revisit some of these things later on as our model grows (though I don’t anticipate growing will change the bounds much)
Thanks again for all the help!!
Here is a winning log:
Gurobi 10.0.1 (win64) logging started Mon Feb 27 15:52:21 2023
Set parameter LogFile to value "L:\Project-Gurobi\Workspace3\E4ST\Data\mpc_210711_allTech\out_gurobi2\Gurobi.log"
Set parameter LogToConsole to value 0
Set parameter NumericFocus to value 3
Set parameter BarHomogeneous to value 1
Set parameter Method to value 2
Set parameter Crossover to value 0
Set parameter Threads to value 1
Gurobi 10.0.1 (win64) logging started Mon Feb 27 15:52:24 2023
Set parameter LogFile to value "L:\Project-Gurobi\Workspace3\E4ST\Data\mpc_210711_allTech\out_gurobi2\Gurobi.log"
Gurobi Optimizer version 10.0.1 build v10.0.1rc0 (win64)
CPU model: Intel(R) Xeon(R) CPU E5-2690 v3 @ 2.60GHz, instruction set [SSE2|AVX|AVX2]
Thread count: 24 physical cores, 24 logical processors, using up to 1 threads
Optimize a model with 2002728 rows, 1346751 columns and 6341972 nonzeros
Model fingerprint: 0xc2ee89f7
Coefficient statistics:
Matrix range [2e-01, 1e+05]
Objective range [1e-07, 2e+00]
Bounds range [2e-02, 1e+06]
RHS range [1e-03, 2e+04]
Presolve removed 26000 rows and 14144 columns (presolve time = 5s) ...
Presolve removed 593476 rows and 14144 columns
Presolve time: 7.81s
Presolved: 1409252 rows, 1872679 columns, 5734248 nonzeros
Elapsed ordering time = 5s
Ordering time: 6.16s
Barrier statistics:
AA' NZ : 4.585e+06
Factor NZ : 3.790e+07 (roughly 800 MB of memory)
Factor Ops : 2.092e+10 (roughly 2 seconds per iteration)
Threads : 1
Objective Residual
Iter Primal Dual Primal Dual Compl Time
0 3.51958941e+13 -1.22733913e+16 5.06e+07 3.14e+00 1.25e+10 25s
1 1.51580035e+13 -1.69781893e+15 2.17e+07 2.73e-12 2.59e+09 28s
2 2.19287515e+12 -2.26493702e+14 3.14e+06 9.55e-12 3.52e+08 33s
3 2.50196048e+11 -2.45466100e+13 3.58e+05 9.55e-12 3.91e+07 42s
4 4.08936353e+10 -2.60215781e+12 5.84e+04 1.11e-11 5.29e+06 46s
5 1.02184303e+10 -6.64688681e+11 1.45e+04 8.82e-12 1.23e+06 50s
6 3.24799315e+09 -1.65266690e+11 4.59e+03 6.81e-12 3.07e+05 54s
7 1.00266986e+09 -3.51085864e+10 1.40e+03 5.02e-12 6.10e+04 60s
8 2.40170962e+08 -8.16642300e+09 3.10e+02 2.91e-12 9.94e+03 67s
9 1.22128675e+08 -2.81183322e+09 1.42e+02 2.60e-12 3.18e+03 76s
10 8.34925949e+07 -1.72424160e+09 8.85e+01 2.12e-12 1.80e+03 84s
11 5.25492574e+07 -9.25834081e+08 4.92e+01 5.20e-12 9.01e+02 98s
12 2.75528755e+07 -4.67565841e+08 2.30e+01 4.45e-12 4.18e+02 110s
13 2.11963119e+07 -3.03774590e+08 1.69e+01 8.81e-07 2.74e+02 120s
14 1.60157078e+07 -2.03686707e+08 1.22e+01 1.42e-06 1.83e+02 127s
15 1.55866793e+07 -2.00701427e+08 1.18e+01 1.42e-06 1.80e+02 135s
16 1.52840972e+07 -1.97981362e+08 1.15e+01 1.42e-06 1.77e+02 143s
17 1.52364659e+07 -1.96549503e+08 1.15e+01 1.42e-06 1.76e+02 150s
18 1.35856153e+07 -1.49316961e+08 1.01e+01 1.44e-06 1.37e+02 168s
19 9.01868938e+06 -1.44149483e+08 6.28e+00 1.42e-06 1.19e+02 178s
20 6.55063068e+06 -1.18815661e+08 4.24e+00 1.29e-06 9.51e+01 183s
21 5.46597408e+06 -8.18043965e+07 3.40e+00 1.01e-06 6.66e+01 192s
22 3.86391728e+06 -6.34204313e+07 2.18e+00 9.14e-07 5.03e+01 202s
23 2.28044093e+06 -3.64530763e+07 1.09e+00 7.35e-07 2.85e+01 212s
24 1.48487847e+06 -2.36108205e+07 6.38e-01 5.31e-07 1.83e+01 224s
25 1.06048287e+06 -1.44676100e+07 4.33e-01 3.67e-07 1.14e+01 231s
26 8.93105432e+05 -1.09817792e+07 3.54e-01 2.96e-07 8.74e+00 236s
27 6.79775185e+05 -8.00288126e+06 2.58e-01 2.34e-07 6.39e+00 242s
28 5.41395393e+05 -6.55179586e+06 1.97e-01 2.01e-07 5.20e+00 248s
29 3.91046657e+05 -4.84065945e+06 1.33e-01 1.59e-07 3.81e+00 254s
30 2.80567674e+05 -2.59415011e+06 1.46e+00 9.50e-08 2.12e+00 266s
31 2.15690042e+05 -1.67446302e+06 1.01e+00 6.56e-08 1.40e+00 274s
32 1.83538097e+05 -1.46636700e+06 7.80e-01 5.90e-08 1.21e+00 280s
33 1.67252658e+05 -1.12416347e+06 6.62e-01 4.60e-08 9.53e-01 284s
34 1.55925824e+05 -9.13034840e+05 5.83e-01 3.79e-08 7.92e-01 289s
35 1.37476979e+05 -5.86787579e+05 4.57e-01 2.72e-08 5.42e-01 295s
36 1.12091656e+05 -3.79322545e+05 2.85e-01 1.94e-08 3.66e-01 303s
37 9.89299071e+04 -2.25914880e+05 2.01e-01 1.37e-08 2.44e-01 311s
38 9.01203885e+04 -1.57808361e+05 1.45e-01 1.13e-08 1.86e-01 318s
39 8.43615075e+04 -9.74261500e+04 1.10e-01 9.58e-09 1.36e-01 324s
40 8.24400678e+04 -7.95646842e+04 9.91e-02 9.02e-09 1.22e-01 329s
41 7.81711680e+04 -4.31028573e+04 7.39e-02 8.04e-09 9.12e-02 334s
42 7.46103576e+04 -1.71518433e+04 5.36e-02 6.81e-09 6.89e-02 340s
43 7.21894455e+04 1.21921333e+03 4.07e-02 6.00e-09 5.32e-02 347s
44 7.03149092e+04 2.24204127e+04 3.13e-02 4.55e-09 3.63e-02 355s
45 6.81121893e+04 3.42255612e+04 2.04e-02 4.31e-09 2.56e-02 361s
46 6.69088240e+04 4.29569204e+04 1.50e-02 3.40e-09 1.81e-02 368s
47 6.59046506e+04 4.89306136e+04 1.06e-02 3.21e-09 1.29e-02 376s
48 6.51180925e+04 5.15932484e+04 7.26e-03 2.96e-09 1.02e-02 381s
49 6.48665397e+04 5.35210401e+04 6.26e-03 3.16e-09 8.54e-03 387s
50 6.45245597e+04 5.61928080e+04 4.92e-03 2.28e-09 6.30e-03 394s
51 6.40645084e+04 5.80859647e+04 3.15e-03 1.98e-09 4.50e-03 401s
52 6.38169047e+04 5.99398479e+04 2.28e-03 2.11e-09 2.94e-03 408s
53 6.35658927e+04 6.07384138e+04 1.42e-03 2.03e-09 2.13e-03 414s
54 6.34406393e+04 6.14460305e+04 1.10e-03 3.79e-09 1.50e-03 419s
55 6.33675502e+04 6.18133503e+04 1.18e-03 5.28e-09 1.17e-03 424s
56 6.33169880e+04 6.21342973e+04 1.28e-03 7.22e-09 8.95e-04 429s
57 6.32652776e+04 6.24455865e+04 1.25e-03 8.41e-09 6.23e-04 434s
58 6.32168634e+04 6.26961318e+04 1.27e-03 8.39e-09 3.98e-04 441s
59 6.31758748e+04 6.28249047e+04 1.93e-03 1.05e-08 2.67e-04 447s
60 6.31433638e+04 6.28948813e+04 1.24e-03 1.27e-08 1.88e-04 454s
61 6.31219906e+04 6.29419937e+04 7.96e-04 1.69e-08 1.36e-04 460s
62 6.31123618e+04 6.29802188e+04 5.93e-04 1.20e-08 1.00e-04 465s
63 6.31059485e+04 6.30077903e+04 4.64e-04 3.79e-08 7.45e-05 469s
64 6.31009940e+04 6.30324020e+04 3.64e-04 4.98e-08 5.23e-05 474s
65 6.30941567e+04 6.30409414e+04 2.30e-04 7.51e-08 4.03e-05 479s
66 6.30898619e+04 6.30611763e+04 1.46e-04 1.40e-07 2.19e-05 486s
67 6.30848777e+04 6.30694115e+04 4.25e-05 2.14e-07 1.17e-05 492s
68 6.30832964e+04 6.30771951e+04 1.57e-05 2.37e-06 4.69e-06 499s
69 6.30825574e+04 6.30796678e+04 5.70e-06 1.76e-06 2.22e-06 504s
70 6.30823549e+04 6.30808570e+04 1.08e-05 8.73e-06 1.15e-06 510s
71 6.30822523e+04 6.30815662e+04 1.01e-05 6.78e-06 5.39e-07 515s
72 6.30821374e+04 6.30818381e+04 2.74e-06 9.57e-06 2.32e-07 521s
73 6.30821022e+04 6.30819842e+04 9.16e-07 1.35e-05 9.56e-08 525s
74 6.30820894e+04 6.30820364e+04 1.91e-06 2.25e-05 4.15e-08 529s
75 6.30820907e+04 6.30820274e+04 1.39e-06 5.86e-05 2.27e-08 534s
76 6.30820938e+04 6.30820248e+04 9.68e-07 5.19e-05 2.06e-08 538s
77 6.30820900e+04 6.30819328e+04 1.59e-06 2.35e-04 1.97e-08 543s
78 6.30820973e+04 6.30820434e+04 4.02e-06 9.32e-05 8.00e-09 547s
79 6.30820996e+04 6.30820826e+04 6.92e-06 5.24e-05 4.59e-09 552s
80 6.30820927e+04 6.30820832e+04 2.26e-06 3.34e-05 2.33e-09 557s
81 6.30820940e+04 6.30820838e+04 2.02e-06 3.74e-05 1.89e-09 563s
82 6.30820986e+04 6.30821018e+04 3.11e-06 4.11e-05 1.05e-09 568s
83 6.30820991e+04 6.30820926e+04 3.10e-06 4.31e-05 9.26e-10 572s
84 6.30820975e+04 6.30820974e+04 2.57e-06 7.88e-05 8.00e-10 577s
Barrier solved model in 84 iterations and 576.88 seconds (303.54 work units)
Optimal objective 6.30820975e+04
User-callback calls 6624, time in user-callback 0.03 sec
1 Like
That’s definitely a possibility. I could imagine separating the lines into “low” and “high” reactance lines with different scalings on the units. Fortunately I was able to achieve optimal solutions with a simple objective scaling, but will consider revisiting this idea if the problem grows more unwieldy.