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. 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