You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When solving AC-ROP if there is no ref-bus (bustype==3) juniper will fail to solve the problem.
using PGLib, PowerModels, PowerModelsRestoration, Juniper, Ipopt
case =pglib("pglib_opf_case3_lmbd")
case["bus"]["1"]["bus_type"] =2# no ref bus
case["bus"]["2"]["bus_type"] =2
case["bus"]["3"]["bus_type"] =2
case["bus"]["1"]["damaged"] =0
case["bus"]["2"]["damaged"] =1
case["bus"]["3"]["damaged"] =1
case_mn =replicate_restoration_network(case, count_damaged_components(case))
julia> PowerModelsRestoration.run_rop(case_mn, ACPPowerModel, minlp_solver)
....106r 7.4549345e+002.35e-041.72e+02-7.07.34e-01-8.01e-016.62e-01h 1107r 9.7990705e+001.01e-042.19e+01-7.05.53e-01-1.00e+009.38e-01h 1108r 1.1170669e+013.02e-052.67e-03-7.03.22e-01-1.00e+001.00e+00h 1
Restoration phase converged to a feasible point that is
unacceptable to the filter for the original problem.
Restoration phase in the restoration phase failed.
Number of Iterations....: 108
(scaled) (unscaled)
Objective...............: -1.1328883119944665e+011.1328883119944665e+01
Dual infeasibility......: 3.9999993103033539e+013.9999993103033539e+01
Constraint violation....: 4.5380391761051797e-074.5380391761051797e-07
Variable bound violation:5.6941909194847506e-095.6941909194847506e-09
Complementarity.........: 9.1147285638831260e-089.1147285638831260e-08
Overall NLP error.......: 3.9999993103033539e+013.9999993103033539e+01
Number of objective function evaluations =197
Number of objective gradient evaluations =92
Number of equality constraint evaluations =197
Number of inequality constraint evaluations =197
Number of equality constraint Jacobian evaluations =127
Number of inequality constraint Jacobian evaluations =127
Number of Lagrangian Hessian evaluations =109
Total seconds in IPOPT =0.339
EXIT: Restoration Failed!
02-17.0-3.40-#branches: 1
Obj:NaN
This is not an issue for OPF
case =pglib("pglib_opf_case3_lmbd") # fails when there is not ref-bus
case["bus"]["1"]["bus_type"] =2# no ref-bus
case["bus"]["2"]["bus_type"] =2
case["bus"]["3"]["bus_type"] =2
julia>run_opf(case, ACPPowerModel, minlp_solver)
...
EXIT: Optimal Solution Found.
Status of relaxation: LOCALLY_SOLVED
Time for relaxation:0.1510000228881836
Relaxation Obj:5812.64297227752
Obj:5812.64297227752
Is there a particular reason for this issue related to NLP vs. MINLP problems?
This comes up as an issue when running cleanup of an rop solution for a followup optimization problem, where the bus_type might be overwritten, causing the subsequent optimization problem to fail.
PowerModelsRestoration.clean_status!(result_rop_ac["solution"]) # can overwrite the ref bus type
PowerModelsRestoration.update_status!(case, result_rop_ac["solution"]) # case now has no ref bus
The text was updated successfully, but these errors were encountered:
The lack of a reference bus is likely contributing to rank deficiency in the KKT matrix. For OPF, IPOPT's Hessian regularization is sufficient to converge. I don't know exactly what the ROP problem is, but along with the integer relaxation it is likely introducing additional rank deficiency (or otherwise incorrect inertia) into the KKT system, which throws off the interior point algorithm.
It's worth noting that returning the "Restoration Failed" status when the solver is at a feasible or almost-feasible point is borderline a bug in IPOPT. IMO IPOPT should have a "converged to feasible point" status that gets returned in situations like this.
When solving AC-ROP if there is no ref-bus (bustype==3) juniper will fail to solve the problem.
This is not an issue for OPF
Is there a particular reason for this issue related to NLP vs. MINLP problems?
This comes up as an issue when running cleanup of an rop solution for a followup optimization problem, where the bus_type might be overwritten, causing the subsequent optimization problem to fail.
The text was updated successfully, but these errors were encountered: