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:
| Cost | Symbol | Units | Role |
|---|---|---|---|
| Thermal generation | $/MWh | Fuel cost, typically 50–500 | |
| Contract dispatch | $/MWh | Positive 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.
| Penalty | Symbol | Units | Purpose |
|---|---|---|---|
| Load deficit | $/MWh | Unserved energy (piecewise, 1,000–10,000) | |
| Excess generation | $/MWh | Absorbs 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.
| Penalty | Symbol | Violated 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:
| Cost | Symbol | Purpose |
|---|---|---|
| Spillage | Prefer turbining over spilling | |
| FPHA turbined flow | Prevent degenerate FPHA solutions | |
| Exchange | Prevent 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
- Benders Decomposition — how cuts are derived from this LP structure
- Hydro Production — full derivation of constant productivity and FPHA models
- PAR(p) Autoregressive Models — the inflow model that produces
- LP Formulation (spec) — complete formal specification with all constraint families, variable bounds, and dual variable conventions
- Cut Management (spec) — dual extraction and cut coefficient derivation