The DC optimal power flow (DC OPF) approximation is a widely used model for power system optimization. In this post, we will write the DC OPF problem in matrix form and differentiate its solution with respect to the network parameters. This post follows the notation from our recent e-Energy paper.
The program parameters are fixed problem data collected in the vector θ:=(d⊤,α⊤,β⊤)⊤. The parameters d∈RN are the transmission-level active power demands dk=∑i∈Dkdk,i; α∈RK and β∈RK are the quadratic and linear generator cost coefficients, respectively. The parameterized DC OPF program is then
where g∈RK are the power generation set points and p∈RM are the line power flows. The matrix B∈{0,1}N×K is a generator-to-node incidence matrix with entries of the form
Bi,j={10generatorjatnodeiotherwise,
and the matrix F∈RM×N is the power transfer distribution factor (PTDF) matrix.
With some algebra, the parameterized DC OPF program (1) can be written as a compact, general form quadratic program (QP). To achieve this, define the constraint matrices
Furthermore, define the quadratic cost coefficient matrix and linear cost vector as
Q≜(diag(α)0M×K0K×MτIM×M),w≜(β0M),
where τ>0 is a small regularization parameter to yield a strongly convex objective. The program (1) can now be written as
xmin21x⊤Qx+w⊤x,s.t.Gx⪯hAx=y.
Let μ∈R2K+2M and ν∈RM+1 be the dual variables associated with the inequality constraints Gx⪯h and equality constraints Ax=y, respectively. Let z:=(x⊤,μ⊤,ν⊤)⊤ be the concatenation of the primal and dual variables of the program (6). The Lagrangian of the program is
l(z;θ)≜21x⊤Qx+w⊤x+μ⊤(Gx−h)+ν⊤(Ax−y).
Next, we construct a linear system of equations that describes the Karush-Kuhn-Tucker conditions for optimality of the program (6). Let z∗ be a solution to the program (6). The stationarity, complimentary slackness, and equality constraint feasibility conditions form a system of equations k(⋅) whose root is z∗. The KKT operator k(⋅) is then
An even simpler model can be obtained by eliminating the quadratic terms in the cost function. This is achieved by introducing a new variable z∈RK+M and rewriting the program (6) as a linear program (LP). The LP is then