Gams Power
Gams Power
Gams Power
Version 1.0
Ray D. Zimmerman; PSERC, Cornell University, Ithaca, NY 14853
Jagadisan Viswanathan; Verilogic LLC, Pittsburgh, PA 15235
Alex Meeraus; GAMS Development Corporation, Washington, DC 20007
January 2008
Contents
1 Introduction 1
2 AC Power Flow 2
2.1 Admittance matrix of the network . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 Equations for power injections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.3 Specications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.4 Other aspects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
4 Implementation in GAMS 6
4.1 Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.2 Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.3 AC Power Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.4 AC Optimal Power Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1 Introduction
GAMSPOWER is a collection of AC Power Flow (PF) and AC Optimal Power Flow (OPF)
problems formulated in the GAMS modeling language (http://www.gams.com/). The data for
these problems are the same as the corresponding cases in MATPOWER (http://www.pserc.
cornell.edu/matpower/). This document briey describes
- the mathematical models used in the AC PF and OPF problems. It is based on the material
in MATPOWER User Manual [1].
- some of the details of the implementation in the GAMS framework.
After this work was completed, we learned that Antonio Conejo and his colleagues at the University
of Castilla-La Mancha, Ciudad Real, Spain have been using GAMS to solve AC OPF problems for
more than 15 years! Three of their recent works on optimization problems with AC Power Flow
at the centre stagemodeled and solved in GAMS frameworkare cited in the References.
1
2 AC POWER FLOW 2
2 AC Power Flow
2.1 Admittance matrix of the network
The admittance matrix of the network Y is obtained by combining elements described below:
- The shunt admittance of bus k is computed as
where Gk,sh is the shunt conductance (in MW (demanded) at V = 1.0 p.u.) and Bk,sh is
the shunt susceptance (in MVAr (injected) at V = 1.0 p.u.).
- Let (f, t, c) denote a branch where f is the from bus, t is the to bus and c is the circuit
identier. The branch could be a transmission line, transformer or phase shifter. The branch
is considered as a standard π -model transmission line, with series resistance R and reactance
X and total line charging susceptance Bc in series with an ideal transformer and phase shifter,
at the from end, with tap ratio τ and and phase shift angle θshift . For simplicity, the branch
parameters are written without the subscript f tc.
Here, τ and θshift are considered as known parameters. More generally, they can be consid-
ered as variables whose values have to be determined.
The branch currents and the bus voltages at the from and to ends of the branch are related
by: µ ¶ µ ¶ µ ¶µ ¶
If,c Ef yff,c yf t,c Ef
= Yftc =
It,c Et ytf,c ytt,c Et
where µ¡ ¢ ¶
Ys + j B2c τ12 −Ys τ ejθ1shift 1
Yftc = and Ys =
−Ys τ e−jθ1 shift Ys + j B2c R + jX
Let B denote the set of branches and let N denote the number of buses. The elements of Y are
obtained as folllows:
X X
Ykk = Yk,sh + yff,c + ytt,c for all k = 1, 2, . . . , N
(f,t,c)∈B:f =k (f,t,c)∈B:t=k
X X
Yik = yf t,c + ytf,c i 6= k, for all i, k = 1, 2, . . . , N
(f,t,c)∈B:f =i,t=k (f,t,c)∈B:f =k,t=i
Pi + jQi = Ei Ii∗
à N
!∗
X
= Ei Yik Ek
k=1
N
X
= |Ei ||Ek |(Gik − jBik )ej(θi −θk )
k=1
3 AC OPTIMAL POWER FLOW 3
where θi and θk are the angles, |Ei | and |Ek |, the magnitudes, of the voltages at the buses i and
k , respectively. Equating the real and imaginary parts of both the sides results in:
N
X
Pi = |Ei ||Ek |[Gik cos(θi − θk ) + Bik sin(θi − θk )] (1)
k=1
N
X
Qi = |Ei ||Ek |[Gik sin(θi − θk ) − Bik cos(θi − θk )] (2)
k=1
2.3 Specications
There are 4 variables (|E|, θ, P and Q) and two equations, (1) and (2), per bus. So, to solve the
Power Flow problem, the values of two variables must be specied, in a consistent manner, for
each bus. The simplest cases of Power Flow problems deal with following types of buses:
Reference bus : The magnitude of the bus voltage and the bus angle are xed. Obviously, there
can be only one reference bus for a given problem.
PV bus : Here, at least one generator is assigned to the bus. The active power power injected
(= sum of active power outputs of generators assigned to the bus - demand) and magnitude
of the bus voltage are specied.
PQ bus : The active and reactive power injected are specied.
So, simply stated, the Power Flow problem is to nd the solution of a system of nonlinear equations.
In the GAMS framework, the Power Flow problem is formulated as a dummy optimization problem.
The optimal solution is a (or, most likely, the unique) feasible solution satisfying the constraints
(more on this below).
The classication into PV or PQ buses does not apply anymore: but a reference bus is still
needed to x one of the bus angles (most often, to zero).
The MATPOWER User Manual [1] shows how the optimization framework also allows addi-
tional constraints to be taken into consideration. For example, consider the P-Q capability curve
of a generator. This means the point (p, q), where p and q are the active and reactive power
outputs, respectively, must lie within a (bounded, convex) polyhedron dened by a set of linear
inequalities.
Other possibilities are to treat the phase shifter angle θshift and the transformer tap ratio τ of
some branches as variables.
PF F (f, t, c) = |Ef |[|Ef |yff,r (f, t, c) + |Et |(yf t,r (f, t, c) cos(θf − θt )
+yf t,i (f, t, c) sin(θf − θt ))]
QF F (f, t, c) = |Ef |[−|Ef |yff,i (f, t, c) + |Et |(yf t,r (f, t, c) sin(θf − θt )
−yf t,i (f, t, c) cos(θf − θt ))]
PF T (f, t, c) = |Et |[|Et |ytt,r (f, t, c) + |Ef |(ytf,r (f, t, c) cos(θt − θf )
+ytf,i (f, t, c) sin(θt − θf ))]
QF T (f, t, c) = |Et |[−|Et |ytt,i (f, t, c) + |Ef |(ytf,r (f, t, c) sin(θt − θf )
−ytf,i (f, t, c) cos(θt − θf ))]
where yff , yf t , ytf and ytt are the entries of the branch admittance matrix Yftc , dened in
subsection 2.1. The power ow limits are the constraints:
with
0 = x0 < x1 < . . . < xn and 0 = y0 < y1 < . . . < yn
Assuming that the slopes
are non-decreasing, i.e., 0 < m1 ≤ m2 . . . ≤ mn , it is shown in MATPOWER User Manual [1], the
cost y for active power output p satises the inequalities:
Similarly, if
(u0 , v0 ), (u1 , v1 ), . . . , (un , vn )
dene the segments for the piecwise-linear cost for reactive power, then the cost z for reactive
power output q satises the inequalities
where
ni = (vi − vi−1 )/(ui − ui−1 ) for i = 1, 2, . . . ..n
For quadratic cost functions, the generation cost for active power p is computed as c0 + c1 p +
c2 p2 . The cost for reactive power q is similarly computed as d0 + d1 q + d2 q 2 .
where Pid and Qdi are the active and reactive power demands at i with
pmin
j ≤ pj ≤ pmax
j and qjmin ≤ qj ≤ qjmax if j is online (7)
and
yj = c0 + c1 pj + c2 p2j (9)
or
zj = d0 + d1 qj + d2 qj2 (11)
or
The optimization problem is to minimize C subject to all the constraints described earlier.
4 IMPLEMENTATION IN GAMS 6
4. Add the constraints identied in step 2 and solve AC OPF again, using the last solution as
the starting point.
5. Go to step 2.
4 Implementation in GAMS
The GAMS input le for any problem is quite self-explanatory. The following brief descriptions
of some details are simply meant to guide a new user.
4.1 Sets
In GAMS, the basic building blocks are sets. The model is created with parameters, variables
and equations dened on sets. For the PF and OPF problems, the basic sets are the buses
and generarors dened by their identiers. The relationship between objects is expressed through
subsets of the product sets. For example, the association between generators and buses is expressed
in statements like:
Set
pq(bus) pq buses (bus_type == 1)
pv(bus) pv buses (bus_type == 2)
ref(bus) reference bus (bus_type == 3)
iso(bus) isolated bus (bus_type == 4) ;
4.2 Data
Data are entered as scalars, parameters and tables. Parameters are lists of values dened over
sets. Tables are similar to matrices used in MATPOWER case les. Additional data may be
created as needed using GAMS modeling language statements.
Some parameters have been dened in `main.gms' simply to show additional possibilities. Some
of them are redundant and can be easily removed. To illustrate, consider the parameter ratio
dened by
denom(fbus,tbus,ckt)$branch(fbus,tbus,ckt)
= ratio(fbus,tbus,ckt)$(ratio(fbus,tbus,ckt) ne 0)
+ 1$(ratio(fbus,tbus,ckt) eq 0);
We can avoid the parameter ratio altogether by changing the above to:
denom(fbus,tbus,ckt)$branch(fbus,tbus,ckt)
= branch_data(fbus,tbus,ckt, 'ratio')
$(branch_data(fbus,tbus,ckt, 'ratio') ne 0)
+ 1$(branch_data(fbus,tbus,ckt, 'ratio') eq 0);
From the given data, additional parameters needed in the model are generated. See the declara-
tion : Parameters ysh_r(bus), ysh_i(bus), etc. and the following statements in `main.gms'
where the terms related to the admittance matrix of the network (subsection 2.1) are computed.
Positive variables
Variables
Positive variables
The declarations and denitions of cost functions correspond to the optimization model described
in subsections 3.2 and 3.3. Bounds on the variables Pgen and Qgen are specied in:
Pgen.lo(gen) = Pmin(gen)$online(gen);
Pgen.up(gen) = Pmax(gen)$online(gen);
Qgen.lo(gen) = Qmin(gen)$online(gen);
Qgen.up(gen) = Qmax(gen)$online(gen);
So, for generators that are oine, the above bounds are all zero.
The AC OPF is solved as a nonlinear optimization problem with the objective function
total_cost with the statement:
Solve opf minimizing total_cost using nlp;
The last part of `main.gms' implements the algorithm described in subsection 3.4 for solving
AC OPF incrementally.
References
[1] MATPOWER 3.2 User's Manual: Available online at: (http://www.pserc.cornell.edu/
matpower/).
[2] F. Milano, C. A. Canizares and A. J. Conejo: Sensitivity-Based Security-Constrained OPF
Market Clearing Model, IEEE Trans. on Power systems, 20(4), 2051-2060, November 2005.
[5] A. J. Wood and B. F. Wollenberg: Power Generation, Operation and Control, second edition,
Wiley, New York (1996).