pnnl / ExaGO

High-performance power grid optimization for stochastic, security-constrained, and multi-period ACOPF problems.
Other
60 stars 9 forks source link

IPOPT/MA57 failure with large systems #104

Closed wperkins closed 6 months ago

wperkins commented 6 months ago

Issue type

Relates to

Summary

OPFLOW fails with a SEGV for large problems (25k-, 70k-bus cases from MATPOWER) with IPOPT and MA57. MA57 works fine on smaller problems, including the 10k-bus case from ExaGo. MA27 (the default) works fine for these cases. This is probably not be an ExaGo problem, but maybe someone knows how to make MA57 work.

Exact commands to reproduce, if applicable

I'm working on deception and running on the a100 partition. I've built the current develop branch (b68204f1) of ExaGO in Release mode using the standard script.

Contents of ipopt.opt:

linear_solver ma57

OPFLOW command line:

mpirun -np 1 opflow -options_view \
    -netfile ./case_ACTIVSg25k.m \
    -opflow_solver IPOPT \
    -opflow_model POWER_BALANCE_POLAR \
    -opflow_initialization FROMFILE \
    -opflow_ignore_lineflow_constraints 1 \
    -save_output case_ACTIVSg25k_ipopt \
    -print_output \
    -log_view \
    -opflow_output_format MINIMAL

Output is in the attached file: case_ACTIVSg25k_ipopt.log

The network is in the attached file: case_ACTIVSg25k.m.txt

nychiang commented 6 months ago

@wperkins Try to set ipopt option ma57_pivot_order to 2. MA57 has a bug when using Metis for large systems.

wperkins commented 6 months ago

@nychiang, that did the trick. Thanks.