Efficient large-scale hydro system scheduling with forced spill conditions

Yoshiro Ikura, George Gross

Research output: Contribution to journalArticlepeer-review


We present a general framework for the formulation and solution of large-scale hydro system scheduling problems (h.s.s.p.). We use a nonlinear programming formulation that permits the representation of virtually all types of constraints imposed on a hydroelectric system: the physical, operational, legislative or contractual constraints. The problem formulation explicitly represents the nonlinear relationship between spillage and the reservoir storage level. Such constraints are called forced spill conditions and are modeled by nonlinear equalities. In the proposed method, the nonlinear constraints representing the forced spill conditions are treated by the exact penalty technique. The resulting problem has a nonlinear objective function and only linear constraints. The solution scheme makes detailed use of the structural characteristics of the h.s.s.p. The underlying network structure of the h.s.s.p. is exploited to determine a good starting point via the application of an efficient network flow algorithm. The sparsity of the linear constraints is exploited by the nonlinear optimization algorithm. The proposed method is computationally efficient for determining optimal schedules for large river systems. Results on several cases including one with 3300 decision variables, 2200 linear equalities, 2700 linear inequalities and 200 nonlinear equality constraints, are presented.

Original languageEnglish (US)
Pages (from-to)3502-3520
Number of pages19
JournalIEEE Transactions on Power Apparatus and Systems
Issue number12
StatePublished - Dec 1984
Externally publishedYes

ASJC Scopus subject areas

  • Energy Engineering and Power Technology
  • Engineering(all)
  • Electrical and Electronic Engineering


Dive into the research topics of 'Efficient large-scale hydro system scheduling with forced spill conditions'. Together they form a unique fingerprint.

Cite this