Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Stage Subproblem LP Formulation

Overview

At each stage of the SDDP algorithm, the dispatcher solves a linear program (LP) that models the power system for that time period. This LP is the fundamental computational unit of the solver: the forward pass executes it once per stage to simulate the policy, and the backward pass executes it once per stage per scenario to generate Benders cuts.

Understanding the LP structure is important because it directly shapes the quality of the cuts and the economic signals propagated across stages. A well-structured LP ensures that cuts carry meaningful marginal water values and that every scenario is feasible.

Cost and Penalty Taxonomy

The objective function combines four types of costs. The distinction matters because each type serves a different algorithmic role.

Resource Costs

Resource costs represent actual operating expenditures with economic meaning:

CostSymbolUnitsRole
Thermal generation$/MWhFuel cost, typically 50–500
Contract dispatch$/MWhPositive for imports, negative for exports

Category 1: Recourse Slacks

These penalty terms guarantee that every LP is feasible regardless of the inflow scenario. Without them, the backward pass could encounter infeasible subproblems, making cut generation impossible.

PenaltySymbolUnitsPurpose
Load deficit$/MWhUnserved energy (piecewise, 1,000–10,000)
Excess generation$/MWhAbsorbs uncontrollable surplus (0.001–0.1)

Category 2: Constraint Violation Penalties

These provide soft enforcement of physical constraints that may be impossible to satisfy under extreme conditions. They must be high enough to propagate penalty signals into the future cost function and influence reservoir decisions multiple stages ahead.

PenaltySymbolViolated Constraint
Storage below minimum
Filling target shortfall (terminal)
Turbined flow minimum
Outflow minimum/maximum
Generation minimum

Category 3: Regularization Costs

Very small costs (2–3 orders of magnitude below economic costs) that break degeneracy and guide the solver toward physically preferred solutions when the LP is otherwise indifferent:

CostSymbolPurpose
SpillagePrefer turbining over spilling
FPHA turbined flowPrevent degenerate FPHA solutions
ExchangePrevent unnecessary power flows

Priority Ordering

The ordering must be maintained to ensure correct economic signals:

Filling a dead reservoir (dam safety) has the highest priority; load shedding ranks above generation costs; regularization terms are negligible compared to any economic quantity.

The Stage Subproblem LP

The complete objective minimizes total cost over all load blocks :

Storage violation penalties (, ) appear outside the block sum because they apply to end-of-stage storage (hm³), not per-block flow rates.

Key Constraint Families

Load Balance

For each bus and block , supply must meet demand. Hydro generation, thermal dispatch, imports, and transmission flows contribute to supply; deficit and excess slack variables ensure feasibility:

Hydro Water Balance

End-of-stage storage equals incoming storage plus net inflows and minus all outflows, scaled by the time conversion factor :

where is the incremental inflow from the PAR(p) model and is the incoming storage.

State-Fixing Constraints and the Benders Interface

A critical design choice is the introduction of explicit incoming-state LP variables and , each fixed to the trial value via an equality constraint:

The dual of each fixing constraint is the cut coefficient for that state dimension. This “fishing constraint” technique collects all sensitivity information into a single dual value per state variable — the LP solver automatically propagates contributions from all downstream constraints (water balance, FPHA, generic constraints) through the incoming-state variable. The result appears in the stage LP as:

where is the dual of the storage fixing constraint and is the dual of the lag fixing constraint. Each new Benders cut is derived from these duals after each backward-pass solve.

Hydro Production Models

Two production models are available during training:

Constant productivity: A linear equality linking generation to turbined flow:

where (MW per m³/s) depends on turbine efficiency and reference head. Simple and fast.

FPHA (piecewise-linear): A set of linear hyperplanes forming a concave upper bound on generation as a function of storage and flow:

where is average stage storage. FPHA captures head variation and the effect of spillage on tailrace level, at the cost of more constraints per hydro.

Further Reading