dispatch.gms : Economic Load Dispatch Including Transmission Losses

**Description**

The economic dispatch problem can be defined as determining the least-cost power generation schedule from a set of on-line generating units to meet the total power demand at a given point of time. The generating unit cost and the network transmission losses are modeled as quadratic function of the power generation. In the present problem, both the cost-minimizing and loss-minimizing solutions have been obtained.

**Reference**

- Wood, A J, and Wollenberg, B F, Example Problem 4e. In Power Generation, Operation and Control. John Wiley and Sons, 1984, pp. 85-88.

**Small Model of Type :** NLP

**Category :** GAMS Model library

**Main file :** dispatch.gms

```
$title Economic Load Dispatch Including Transmission Losses (DISPATCH,SEQ=166)
$Ontext
The economic dispatch problem can be defined as determining the
least-cost power generation schedule from a set of on-line generating
units to meet the total power demand at a given point of time. The
generating unit cost and the network transmission losses are modeled
as quadratic function of the power generation.
In the present problem, both the cost-minimizing and loss-minimizing
solutions have been obtained.
Wood, A J, and Wollenberg, B F, Example Problem 4e. In Power Generation,
Operation and Control. John Wiley and Sons, 1984, pp. 85-88.
$Offtext
sets i generators / p1*p3 /
genchar generator characteristics / a,b,c,upplim,lowlim /
cg(genchar) cost categories / a,b,c /
alias (i,j) ;
table gendata(i,genchar) generator cost characteristics and limits
a b c upplim lowlim
p1 213.1 11.669 0.00533 200 50
p2 200.0 10.333 0.00889 150 37.5
p3 240.0 10.833 0.00741 180 45
parameter pexp(cg) exponent for cost function / a 0, b 1, c 2 /;
table b(i,j) the b-matrix loss coefficients - squared components
p1 p2 p3
p1 0.0676 0.00953 -0.00507
p2 0.00953 0.0521 0.00901
p3 -0.00507 0.00901 0.0294
parameter b0(i) linear loss coefficients /
p1 -0.0766
p2 -0.00342
p3 0.0189 /;
scalar b00 loss equation constant / 0.040357 / ;
scalar demand total power demand in MW / 210 / ;
variables
p(i) power generation level in MW
loss total transmission loss in MW
cost total generation cost - the objective function
positive variables p;
p.up(i) = gendata(i,"upplim") ;
p.lo(i) = gendata(i,"lowlim") ;
equations
costfn total cost calculation
lossfn total loss calculation
demcons total generation must equal demand and loss ;
costfn.. cost =e= sum((i,cg), gendata(i,cg)*power(p(i),pexp(cg)));
lossfn.. loss =e= b00 + sum(i, b0(i)*p(i))/100
+ sum((i,j), p(i)*b(i,j)*p(j))/100;
demcons.. sum(i, p(i)) =g= demand + loss ;
model edc /all/ ;
solve edc minimizing cost using nlp ;
* trace a trade-off frontier
set s trade-off points / min-loss, s1*s4, min-cost /
st(s) in between points / s1*s4 /
parameter trace trace report ;
trace('cost','min-cost') = cost.l;
trace('loss','min-cost') = loss.l;
option limrow=0,limcol=0;
solve edc minimizing loss using nlp ;
trace('cost','min-loss') = cost.l;
trace('loss','min-loss') = loss.l;
edc.solprint=%solprint.Quiet%;
loop(st,
loss.fx = trace('loss','min-loss')
+ ord(st)/(card(st)+1)*(trace('loss','min-cost')
-trace('loss','min-loss'));
solve edc minimizing cost using nlp ;
trace('cost',st) = cost.l;
trace('loss',st) = loss.l);
display trace;
```