hydro.gms : Hydrothermal Scheduling Problem

Description

Hydrothermal scheduling problem involves allocating the total power demand
and losses among the hydro and thermal generators in a least-cost way. The
scheduling period is typically a few days long. The hydraulic flow
constraints and the limits on generator outputs have to be observed in the
scheduling problem.

Reference

  • Wood, A J, and Wollenberg, B F, Example Problem 7b. In Power Generation, Operation and Control. John Wiley and Sons, 1984, p. 202.

Small Model of Type : NLP


Category : GAMS Model library


Main file : hydro.gms

$title Hydrothermal Scheduling Problem  (HYDRO,SEQ=167)
$Ontext
  Hydrothermal scheduling problem involves allocating the total power demand
  and losses among the hydro and thermal generators in a least-cost way. The
  scheduling period is typically a few days long. The hydraulic flow
  constraints and the limits on generator outputs have to be observed in the
  scheduling problem.


Wood, A J, and Wollenberg, B F, Example Problem 7b. In Power Generation,
Operation and Control. John Wiley and Sons, 1984, p. 202.

$Offtext

sets tt     periods (12 hours long) / 0,1*6 /
     t(tt)  periods (12 hours long) /   1*6 /

parameter load   mw load for the t-th period  / 1  1200, 2 1500, 3 1100
                                                4  1800, 5  950, 6 1300 /

scalars  losscof   loss coeff for hydro generation  / 0.00008 /
         n         number of hours in each period   / 12 /


variables
   thermal(t) output from the steam thermal plant (MW)
   hydro(t)   output from hydro plant             (MW)
   loss(t)    total loss                          (MW)
   q(tt)      hydro flow rate in acre-ft per hour
   v(tt)      reservoir storage volume at the end of t
   cost       total steam plant generation cost
positive variables thermal, hydro, loss, q, v ;

v.fx(tt)$(ord(tt) eq 1) = 100e3;
v.up(t)       = 120e3;
v.lo(t)       =  60e3;
thermal.up(t) = 1500 ;
thermal.lo(t) =  150 ;
hydro.up(t)   = 1000 ;

equations
   costfn       total cost calculation
   demcons(t)   demand plus loss must be met from hydro and thermal
   flow(tt)     hydraulic continuity equation
   losseq(t)    loss calculated as function of hydro output
   dischar(t)   calculation of hydro discharge ;


costfn..     cost =e= 1.15*n*card(t)*sum(t,
                                 500 + 8*thermal(t) + 0.0016*sqr(thermal(t)));

losseq(t)..  loss(t) =e= losscof*power(hydro(t),2) ;

demcons(t).. thermal(t) + hydro(t) =g= load(t) + loss(t) ;

flow(tt-1).. v(tt) =e= v(tt-1) + (2000 - q(tt))*n ;

dischar(t).. q(t) =e= 330 +4.97*hydro(t) ;

model hydther /all/ ;

solve hydther using nlp minimizing cost ;