Unit Commitment (UC)
Unit Commitment determines the optimal schedule of generator on/off decisions and power outputs over multiple time periods, typically for day-ahead market clearing or operational planning.
flowchart TB
A[24-Hour Load Forecast] --> B[Unit Commitment]
C[Generator Constraints] --> B
D[Reserve Requirements] --> B
B --> E{Mixed-Integer Optimization}
E --> F[On/Off Schedule u_it]
E --> G[Power Dispatch p_it]
E --> H[Reserves r_it]
E --> I[Total Cost]
Solver Comparison
| Feature | ED | UC | DC-OPF | AC-OPF |
|---|---|---|---|---|
| Problem Type | LP/QP | MIP | LP/QP | NLP |
| Network Model | ✗ | ✗ | ✓ DC (Linearized) | ✓ AC |
| Time Periods | Single | Multiple (24+) | Single | Single |
| Commitment | ✗ | ✓ Binary | ✗ | ✗ |
| Startup Costs | ✗ | ✓ | ✗ | ✗ |
| Ramping Limits | ✗ | ✓ | ✗ | ✗ |
| Min Up/Down Time | ✗ | ✓ | ✗ | ✗ |
| Reserve Requirements | ✗ | ✓ | ✗ | ✗ |
| Solve Time | Fastest | Slow | Fast | Medium |
| → Detailed Comparison |
Mathematical Formulation
Complete UC Model
Sets and Indices
| Symbol | Description | Example (KPG193) |
|---|---|---|
| Set of generators | ||
| Set of time periods | ||
| Set of buses | ||
| Generator index | ||
| Time period index | ||
| Bus index |
Decision Variables
Binary Variables
| Variable | Domain | Description |
|---|---|---|
| Commitment status: 1 if generator | ||
| Startup indicator: 1 if generator | ||
| Shutdown indicator: 1 if generator |
Continuous Variables
| Variable | Unit | Description |
|---|---|---|
| p.u. | Power output of generator | |
| p.u. | Upward reserve provided by generator | |
| p.u. | Downward reserve provided by generator |
Parameters
Generator Technical Parameters
| Parameter | Unit | Description |
|---|---|---|
| p.u. | Minimum generation when online | |
| p.u. | Maximum generation capacity | |
| p.u. | Power available during startup | |
| p.u. | Power available during shutdown | |
| p.u./h | Maximum ramp-up rate | |
| p.u./h | Maximum ramp-down rate | |
| h | Minimum up time | |
| h | Minimum down time |
Cost Parameters
| Parameter | Unit | Description |
|---|---|---|
| $/h | Generation cost function | |
| $ | Startup cost | |
| $ | Shutdown cost |
System Parameters
| Parameter | Unit | Description |
|---|---|---|
| p.u. | Demand at bus | |
| p.u. | System upward reserve requirement at time | |
| p.u. | System downward reserve requirement at time |
Formulation Explanation
(1a) Objective Function
Minimize total operational cost:
Three cost components:
- Generation cost
: Fuel and variable O&M - Startup cost
: Turbine warmup, auxiliary systems - Shutdown cost
: Turbine cooldown, inspection
For KPG 193:
- Coal startup: 2,521-15,127 thousand KRW
- LNG startup: 21,545-53,323 thousand KRW
- Nuclear: 0 (stays online continuously)
Constraint Explanation
(1b) Minimum Generation Constraint
Generator must produce at least minimum when online:
Physical meaning:
- If
(online): - If
(offline): Constraint becomes
Why minimum generation?
- Turbine stability (minimum steam flow)
- Emissions control performance
- Equipment protection
For KPG 193:
- Coal:
- LNG:
- Nuclear:
(baseload)
(1c) Maximum Generation with Startup/Shutdown
Generator limited by capacity and transition states:
Three cases:
Normal operation (
- Full capacity if online
During startup (
- Reduced capacity while warming up
Before shutdown (
- Reduced capacity while cooling down
graph LR
A["(Startup) P ≤ PSU"] --> B["(Normal) P ≤ P̄"]
B --> C["(Shutdown) P ≤ PSD"]
C --> D["(Offline) P = 0"]
(1d) Ramp-Up Constraint
Limit rate of power increase:
Physical meaning:
- Cannot increase output faster than turbine/boiler ramp rate
- Protects equipment from thermal stress
- Includes reserves (must be able to ramp to cover reserve)
(1e) Ramp-Down Constraint
Limit rate of power decrease:
Physical meaning:
- Cannot decrease output faster than safe rate
- Turbine blade cooling limits
- Boiler pressure management
(1f) Minimum Up Time Constraint
Once started, must stay online:
Interpretation:
- If unit started in last
hours, it must be online now - Prevents rapid cycling (thermal stress)
- Protects equipment lifetime
Timeline example (
timeline
title Minimum Up Time Constraint (TU = 4 hours)
Hour 1 : Offline
Hour 2 : Startup v=1
Hour 3 : Must stay on
Hour 4 : Must stay on
Hour 5 : Must stay on
Hour 6 : Can shutdown
For KPG 193:
- Coal: 6 hours
- LNG: 4 hours
- Nuclear: 8 hours
(1g) Minimum Down Time Constraint
Once stopped, must stay offline:
Interpretation:
- If unit shut down in last
hours, it must stay offline - Allows equipment to cool properly
- Reduces maintenance costs
For KPG 193:
- Coal: 12 hours
- LNG: 3 hours
- Nuclear: 12 hours
(1h) Logical Linking Constraint
Connect commitment, startup, and shutdown:
Four cases:
| Meaning | ||||
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | Stays offline |
| 0 | 1 | 1 | 0 | Startup |
| 1 | 1 | 0 | 0 | Stays online |
| 1 | 0 | 0 | 1 | Shutdown |
Ensures:
and cannot both be 1- Correct startup/shutdown indicators
(1i) & (1j) Reserve Requirements
System must carry sufficient spinning reserves:
Reserve types:
Upward reserve
- Headroom to increase generation
- Covers contingencies (generator/line outages)
- Meets forecast errors
Downward reserve
- Ability to decrease generation
- Absorbs excess renewable generation
- Balances sudden load drops
(1k) Power Balance Constraint
Generation equals demand at each time:
Must hold for every hour in the optimization horizon.
Solution Timeline
gantt
title 24-Hour UC Solution (Example Day)
dateFormat HH
axisFormat %H
section Nuclear (22 units)
All online 24/7: 00, 24h
section Coal Baseload (30 units)
Online all day: 00, 24h
section Coal Mid-Merit (8 units)
Start H05: 05, 19h
section Coal Cycling (8 units)
Morning peak: 07, 6h
Evening peak: 17, 6h
section LNG Baseload (10 units)
Online all day: 00, 24h
section LNG Morning (8 units)
Morning ramp: 06, 7h
section LNG Evening (10 units)
Evening peak: 16, 9h
Key observations:
- Nuclear runs continuously (baseload)
- Coal provides mid-merit with some cycling
- LNG follows load (flexible peaking)
- Startups timed to avoid min up/down violations
Startup Cost Trajectories
Hot/Warm/Cold Starts
graph TB
A[Unit Offline] --> B{Time Offline?}
B -->|< 3h| C[Hot Start Cost × 1.0 Fast startup]
B -->|3-6h| D[Warm Start Cost × 1.1 Medium startup]
B -->|> 6h| E[Cold Start Cost × 1.2 Slow startup]
C --> F[Online in 1-2 hours]
D --> G[Online in 2-4 hours]
E --> H[Online in 4-6 hours]
Startup cost formula:
For KPG193:
| Fuel | Delay 1 | Delay 2 | Delay 3 |
|---|---|---|---|
| LNG | 3 | 6 | 12 |
| Coal | 12 | 24 | 48 |
| Nuclear | 8 | 16 | 32 |
- Cold start typically 1.2× hot start cost
Results Interpretation
Commitment Schedule Analysis
Example output:
Hour | Nuclear | Coal | LNG | Total | Demand | Reserve-----|---------|------|-----|-------|--------|-------- 1 | 22 | 35 | 12 | 69 | 48,000 | 5,200 6 | 22 | 38 | 18 | 78 | 58,000 | 6,100 12 | 22 | 40 | 24 | 86 | 72,000 | 7,500 18 | 22 | 38 | 28 | 88 | 85,000 | 8,800 24 | 22 | 36 | 15 | 73 | 52,000 | 5,500Insights:
- Nuclear: Always online (baseload)
- Coal: Moderate cycling (35-40 units)
- LNG: High cycling (12-28 units, follows load)
Extensions
- Security-Constrained UC (SCUC) enforce N-1 security constraints in the unit commitment schedule.
- Stochastic UC couple commitment decisions across multiple demand and renewable generation scenarios.
- Multi-Area UC coordinate unit commitment across multiple regions or control areas.
Next Steps
- Understand network constraints: DC-OPF →
- Full AC model: AC-OPF →
- Compare all models: Solver Comparison →
- Run UC: Getting Started →