A Suite of Optimal Power Flow Solvers

— This site is under construction now—

Extreme Performance OPF Solvers for Large Number of Time Periods

Structure exploiting, data-compression algorithms for extreme scalability and low memory footprint

Slide 2
Slide 3
  • Multiperiod OPF Problems

    Multiperiod optimal power flow problems including storage devices and generator ramping

  • SC-OPF Problems

    Security constrained optimal power flow problems for very large number of contingencies

  • Stochastic OPF Problems

    Stochastic OPF problems with thousands of scenarios


Beltistos is a suite of high-performance OPF algorithms including extremely scalable and low memory multiperiod OPF (MPOPF) and security-constrained OPF (SCOPF) solvers. Beltistos adopts selected algorithms implemented in IPOPT adjusted specifically for the nature of the OPF problems. The MPOPF and SCOPF solution algorithms implement structure exploiting and data compression algorithms designed for the particular structure of the MPOPF problems. Beltistos-mem is a variant of the MPOPF algorithm which sacrifices redundant computation in favor of memory efficiency. Beltistos relies on PARDISO linear solver, providing improved performance and accuracy by utilizing features such as reordering, scaling and pivoting.


OPF Performance Comparison

Time for the solution of various OPF benchmarks using various commercial and open source optimizers is shown below. Beltistos is the fastest optimizer for all large-scale cases. MIPS-PARDISO was slower by a factor of 4, while KNITRO and IPOPTPARDISO were up to 5.5 times slower. MIPS with the default linear solver and FMINCON were slower up to a factor of 35 or 40, respectively. Concerning the number of iterations, IPOPT-PARDISO and MIPS-PARDISO perform up to 2.5 times more iterations compared to the Beltistos. Regarding the memory requirements, MIPS-PARDISO is the most efficient optimizer for roughly 50% of the benchmark cases, very closely followed by Beltistos and IPOPT-PARDISO. MIPS with the default linear solver required up to 7 times more memory while solving the largest benchmark. More details about the benchmarks can be found at the following reference: Technical report.

MPOPF Comparision - case118 Time and Memory

The average time per iteration for number of time periods N=3,600 up to N=8,760 corresponding to one year with a time step size corresponding to one hour is shown below. It is worth noting that BELTISTOS-mem, the memory saving approach of Beltistos, is slightly slower than the normal mode of BELTISTOS but it is still almost four orders of magnitude faster than IPOPT and KNITRO. It also needs approximately two orders of magnitude less memory than IPOPT. More details about the benchmarks can be found at the following reference: MPOPF IEEE paper.

MPOPF Performance Comparison

The average time per iteration for number of time periods N=600 up to N=4,800 is shown below for different power grid networks.

SCOPF Performance Comparison

The average time per iteration is shown for the SCOPF benchmarks with different number of (artifitial) contingency scenarios. Serial IPOPT and parallel implementation of Beltistos with distributed memory using different number of MPI proccesses is shown. More details about the benchmarks can be found at the following reference: SCOPF IEEE paper.