An Iterative Approach to Finding Global Solutions of AC Optimal Power Flow Problems
Abstract
The existence of multiple solutions to AC optimal power flow (ACOPF) problems has been noted for decades. Existing solvers are generally successful in finding local solutions, which are stationary points but may not be globally optimal. In this paper, we propose a simple iterative approach to find globally optimal solutions to ACOPF problems. First, we call an existing solver for the ACOPF problem. From the solution and the associated dual variables, we form a partial Lagrangian. Then we optimize this partial Lagrangian and use its solution as a warm start to call the solver again for the ACOPF problem. By repeating this process, we can iteratively improve the solution quality, moving from local solutions to global ones. We show the effectiveness our algorithm on standard IEEE networks. The simulation results show that our algorithm can escape from local solutions to achieve global optimums within a few iterations.
I Introduction
Optimal power flow (OPF) is a fundamental resource allocation problem in power system operations that minimizes the cost of power generation while satisfying demand. The ACOPF formulation of the problem uses nonlinear power flow equations, resulting in nonlinear and nonconvex optimization problems [1, 2, 3]. The consequence of the nonconvexity of ACOPF we study in this paper is the presence of multiple solutions. The existence of multiple local solutions of the OPF problem has been well-known for several decades [4]. A common assumption is that OPF problems tend to have a single “practical” solution, and therefore the fact that multiple solutions can exist do not impact day-to-day operations [5, 6]. However, an increasingly large body of work have pointed to that multiple solutions do occur under reasonable conditions and cannot easily ruled out [7, 8, 2]. For example, [7] shows how modifications of the standard IEEE benchmarks can lead to each having more than one local solutions.
Most ACOPF problems are solved via variations of nonlinear optimization algorithms, including Newton-Raphson, sequential programming, interior points and others (see [2, 9, 10] and the references within). These algorithms are in general only able to certify a solution is locally optimal. These solutions satisfy some necessary optimality conditions (e.g., the KKT conditions) but may not globally optimal, that is, the least cost solution. An open question in the field is to develop algorithms that can find global optimal solutions. In addition, understanding and distinguishing the local and the global optimal solutions can lead to important theoretical discoveries about the ACOPF problem.
In this paper, we propose a simple algorithm that can effectively escape from local solutions to seek global optimal solutions. The process is outlined in Fig. 1. First, we solve the ACOPF problem using an existing solver (e.g., IPOPT [11]). From the solution and its associated dual variables, we form a partial Lagrangian. This partial Lagrangian serves to “flatten” the geometry of the optimization problem. We then optimize this partial Lagrangian, which can lead to a different solution. Using this second solution as a warm start, we again call the solver for the ACOPF problem. Repeating this iterative process, we can successively improve the solution quality, moving from local solutions to globally optimal ones.

We show the performance of our algorithm on standard 9-bus, 22-bus and 39-bus networks. We show that our algorithm can escape from local solutions [7] and find the global optimal solution a single iteration for most instances. We also sketch the intuition behind the algorithm using a two bus system.
Our approach can be seen as a way to provide good warm starts to nonlinear optimization solvers. Existing approaches along this line either randomizes [12] or uses a previous solution as the starting point [13]. The former tends to be time consuming, while the latter does not guarantee the resulting solution would be globally optimal [7]. The work in [14] suggests that solutions can escape local minima if load undergoes random fluctuations. Our approach can be seen as providing an explicit and deterministic algorithm to search for global solutions by using dual variables at local solutions.
II Model and Problem Formulation
Consider a power system network where buses are connected by edges. For bus , let and denote the active and reactive output of the generated and and denote the active and reactive load. We use and to denote the active and reactive power flowing from bus to bus . Note that if buses and are not connected, then the flows are zero. We use as a shorthand for .
The OPF problem is to minimize the total of active power generation costs while satisfying a number of constraints:
(1a) | ||||
s.t. | (1b) | |||
(1c) | ||||
(1d) | ||||
(1e) | ||||
(1f) | ||||
(1g) | ||||
(1h) | ||||
(1i) |
where and is the line charging susceptance. The constraints (1b) and (1c) enforce power balance, (1d) and (1e) are the AC power flow equations, (1f) limits the bus voltage magnitudes, (1g) and (1h) represent the active and reactive limits and (1i) are the line flow limits. The cost at bus is and can be linear, quadratic or other functions.
A pair of that minimizes the objective cost among all feasible solutions to (1) is called a global solution. In practice, a nonlinear programming (NLP) solver may only return a local solution, which is a feasible point that satisfy some local optimality conditions (e.g., KKT). Since a local solution is not necessarily global, in the following subsection, we propose an iterative approach to find global solutions by alternatively solving (1) and its partial Lagrangian. Any existing NLP can be used, and and we use IPOPT in this paper.
III Algorithm
Our algorithm starts with a call to a NLP solver with an initial guess, denoted by , . For example, this can be the standard flat start. Then we assume the solver returns a feasible solution. At this solution, we record the dual variables associated with the power balance equations (1b) and (1c), denoted as and . Using these dual variables, we form the following partial Lagrangian by dualizing the power balance equations:
We then minimize the partial Lagrangian by solving
(3) | ||||
s.t. |
We solve the problem in (3) at the same initial point that was used to solve the original primal problem in (1). Denote this solution to (3) by . Then we start the solver again to solve (1) but with the initial point . This process can be repeated until the solutions stop changing or up to a predefined number of iterations.
It tures out that the initial point that is given by solving the partial Lagrangian is often a much better starting point than the original choice of . Therefore, by repeating these steps, we can iteratively improve the quality of the starting point and get the global solution. The algorithm is summarized below as Algorithm 1. We illustrate the intuition behind this algorithm in the next section using a two bus network and present the numerical results in Section V.
Algorithm 1: Solving ACOPF iteratively |
Inputs: , |
1: At -th iteration: Initialized at , : |
2: Call IPOPT solver to solve problem (1), record |
3: Given , call IPOPT for the partial Lagrangian in (3), |
record the solutions as |
4: Call IPOPT for (1) initialized at , |
record solutions |
5: If the solution from line 4 corresponds to lower |
objective function value, then update initial points: |
, |
6: Otherwise, stay with the original initial points: |
7: Repeat the above process until solutions stop changing |
or reach the maximum number of iterations. |
IV Geometry
Algorithm 1 is successful because of the geometry of the partial Lagrangian is “better” than the geometry of the original problem. We use a two-bus network as an illustrative example. For simplicity, we set both voltage magnitudes to 1 p.u. and optimize over the angle. Suppose bus 1 is a generator and the reference (slack) bus with linear cost at $1/MW, and bus 2 is the load bus with angle . The line admittance is . Given a load of at bus 2, the ACOPF is:
(4a) | ||||
s.t. | (4b) |
For a feasible load , there are two solutions to (4b). To make visualize how an nonlinear solver would approach (4), we convert it to a penalized unconstrained problem [15]:
(5) | ||||
where is a (large) penalty parameter. The function is plotted in Fig. 2 and there are two local minima, with the left one being global. If a NLP is initialized in the right valley, the suboptimal solution would be found.
Now consider the partial Lagrangian for (4), given by
(6) | ||||
where is the multiplier corresponding to the equality constraint (4b) at a local solution. The blue line in Fig. 2 plots when dual variable is computed at the right (suboptimal) local solution. In contrast to , has a unique minimum that falls into the left valley, and can be obtained by minimizing from any initialization. Therefore, if we use the minimum of as an initialization point for the nonlinear solver, we would reach the global optimal solution.
The above example illustrates that the Lagrangian has a more advantageous geometry for optimization than the original primal problems. This is not surprising, since equality constraints tend to complicate the optimization landscape [2]. The key insight is to observe that it suffices to use the dual variables at suboptimal local solutions to form the Lagrangian.

V Simulation Results
In this section we report the simulation results to validate the effectiveness of our algorithm. The NLP solver used is IPOPT [11] and the convergence tolerance is set to . We assume IPOPT returns a feasible solution, which may not be a global optimum. We test our algorithm on different sizes of IEEE networks. For the 9-bus and 22-bus networks, we utilize the local solutions found in [7] as starting points to launch IPOPT. Specifically, there are 4 local solutions in the 9-bus network, and 2 local solutions in the 22-bus network. For each network, starting from different local solutions, our algorithm can achieve global solutions within one iteration.
For the 39-bus network, we take a set of initial points for and . To find the global solution, we do an exhaustive search within the bounds of each variable. In Fig. 3, we illustrate the improvement of solution quality for the 39-bus network. The x-axis represents the number of iterations that Algorithm 1 is ran, and y-axis represents the percentage of globally optimal solutions after each iteration. Without Algorithm 1, less than half of the solutions are globally optimal. One application of Algorithm 1 increases the percentage of globally optimal solutions to . After two iterations, only four cases do not reach global optimas. All solutions are globally optimal after three iterations.

VI Conclusion
In this paper, we propose a simple algorithm to find globally optimal solutions to ACOPF problems iteratively. First, we solve the ACOPF problem using an existing nonlinear solver. From the solution and its associated dual variables, we construct a partial Lagrangian. Optimizing this partial Lagrangian leads to a new solution. With this solution as an initial point, we again call the solver for the ACOPF problem. By repeating these steps, we can iteratively improve the solution quality, escaping from local solutions to achieve global optimums. We illustrate the intuition behind our algorithm using a two-bus network, which shows that the partial Lagrangian has a flatter optimization landscape compared to the original primal problem. We validate the effectiveness of our algorithm on standard 9-bus, 22-bus and 39-bus networks. Regardless of the initial points, our algorithm always finds the global optimum within at most three iterations.
References
- [1] M. B. Cain, R. P. O’neill, A. Castillo et al., “History of optimal power flow and formulations,” FERC, vol. 1, pp. 1–36, 2012.
- [2] D. K. Molzahn and I. A. Hiskens, “A survey of relaxations and approximations of the power flow equations,” Foundations and Trends in Electric Energy Systems, vol. 4, no. 1-2, pp. 1–221, 2019.
- [3] I. A. Hiskens and R. J. Davy, “Exploring the power flow solution space boundary,” IEEE transactions on power systems, vol. 16, no. 3, pp. 389–395, 2001.
- [4] J. A. Momoh, R. Adapa, and M. El-Hawary, “A review of selected optimal power flow literature to 1993. i. nonlinear and quadratic programming approaches,” IEEE transactions on power systems, vol. 14, no. 1, pp. 96–104, 1999.
- [5] J. Momoh, R. Koessler, M. Bond, B. Stott, D. Sun, A. Papalexopoulos, and P. Ristanovic, “Challenges to optimal power flow,” IEEE Transactions on Power systems, vol. 12, no. 1, pp. 444–455, 1997.
- [6] H. Wei, H. Sasaki, J. Kubokawa, and R. Yokoyama, “An interior point nonlinear programming for optimal power flow problems with a novel data structure,” IEEE Transactions on Power Systems, vol. 13, no. 3, pp. 870–877, 1998.
- [7] W. A. Bukhsh, A. Grothey, K. I. McKinnon, and P. A. Trodden, “Local solutions of the optimal power flow problem,” IEEE Transactions on Power Systems, vol. 28, no. 4, pp. 4780–4788, 2013.
- [8] D. Wu, D. K. Molzahn, B. C. Lesieutre, and K. Dvijotham, “A deterministic method to identify multiple local extrema for the ac optimal power flow problem,” IEEE Transactions on Power Systems, vol. 33, no. 1, pp. 654–668, 2017.
- [9] Z. Qiu, G. Deconinck, and R. Belmans, “A literature survey of optimal power flow problems in the electricity market context,” in IEEE/PES Power Systems Conference and Exposition, 2009, pp. 1–6.
- [10] F. Capitanescu, “Critical review of recent advances and further developments needed in ac optimal power flow,” Electric Power Systems Research, vol. 136, pp. 57–68, 2016.
- [11] A. Wächter and L. T. Biegler, “On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming,” Mathematical programming, vol. 106, no. 1, pp. 25–57, 2006.
- [12] N. Costilla-Enriquez, Y. Weng, and B. Zhang, “Combining newton-raphson and stochastic gradient descent for power flow analysis,” IEEE Transactions on Power Systems, vol. 36, no. 1, pp. 514–517, 2021.
- [13] Y. Tang and S. Low, “Distributed algorithm for time-varying optimal power flow,” in 2017 IEEE 56th Annual Conference on Decision and Control (CDC). IEEE, 2017, pp. 3264–3270.
- [14] J. Mulvaney-Kemp, S. Fattahi, and J. Lavaei, “Load variation enables escaping poor solutions of time-varying optimal power flow,” in PESGM, 2020.
- [15] D. P. Bertsekas, “Nonlinear programming,” Journal of the Operational Research Society, vol. 48, no. 3, pp. 334–334, 1997.