Skip to main content
Energy Grid → Question 6

What If Gas Plants Behave Like Real Machines?

Questions 1–4 assumed gas plants could teleport to full power for free. Real combined-cycle plants cost $80K per start, take hours to ramp, and must stay on once committed. Does adding these constraints change the answer?

Question 6 — Higher Fidelity (Depth)

Questions 1–4 let gas plants turn on and off instantly, for free, every hour. Real combined-cycle plants cost $80K per start, take hours to reach full load, can't run below 40% output, and must stay on for at least 8 hours once committed. Does this change how much storage you need?

We added unit commitment constraints — a fundamentally different dispatch algorithm that makes commitment (on/off) decisions with a 4-hour look-ahead, separate from dispatch (how much) decisions within each hour.

Blackout Hours: Base Dispatch vs Heuristic UC vs SCUC Optimizer (70% RE + 15 GW DC)
Finding
The heuristic UC grossly overstated the penalty — 60G + 300 GWh showed 1,598 hours under the heuristic but only 6 under SCUC (matching base dispatch exactly). With 70 GW gas, SCUC actually finds 0 blackout hours — better than base — because optimal commitment planning uses batteries more efficiently.

1,598 hours of blackout that never existed. The heuristic UC flagged the runner-up portfolio (60 GW + 300 GWh) as catastrophically unreliable. The SCUC optimizer says 6 hours — matching base dispatch exactly. A 266x discrepancy, entirely an algorithm artifact. UC does matter at lower gas levels, though: at 50 GW, SCUC finds 92 blackout hours vs. 239 base, because the optimizer pre-commits gas and charges batteries in ways greedy dispatch misses.

The heuristic decommitted too aggressively. With only a 4-hour look-ahead, it shut down gas plants during brief renewable surges. Combined-cycle restarts take 8 hours, so those plants were unavailable when the next deficit hit. The MIP-based SCUC sees the full 24-hour demand pattern before making commitment decisions, so it never shuts down a plant it will need 6 hours later.

The fancier model was the wrong one. Heuristic UC (more complex): 1,598 hours. Base dispatch (simpler): 6. The added complexity introduced a greedy look-ahead artifact, not better physics. Running only the fancier model would have killed a perfectly good portfolio. Lesson: when you escalate fidelity, sanity-check the new results against the model they're replacing.

Deep Dive — Why Was the Heuristic So Wrong?

The 266× discrepancy (1,598h vs 6h) isn't a bug in the code. It's a known limitation of greedy dispatch algorithms applied to unit commitment. Here's what happens:

The heuristic uses a 4-hour look-ahead window to make commitment decisions. When a brief renewable surplus appears, the heuristic sees 4 hours of adequate supply and decommits gas plants to save fuel costs. But combined-cycle plants have an 8-hour minimum restart time. When the surplus ends and demand rises again 5–6 hours later, those plants are still offline and unavailable. This creates a cascading availability gap: each premature shutdown ripples forward, compounding shortfalls that the 4-hour window never saw coming.

The effect is asymmetric. Decommitting too early is catastrophic (8-hour penalty), while keeping a plant running unnecessarily costs only marginal fuel. The heuristic optimizes locally but creates global disasters — turning brief surpluses into prolonged blackouts.

This is why ISOs use MIP-based Security-Constrained Unit Commitment (SCUC). ERCOT, PJM, MISO, and every major ISO abandoned heuristic UC decades ago precisely because greedy approaches produce these artifacts. The SCUC optimizer with 24-hour rolling windows sees the full daily demand pattern before committing — it never shuts down a plant that will be needed 6 hours later. Our result isn't novel; it's a textbook demonstration of why the industry moved to mathematical programming for commitment decisions. The 1,598-hour result isn't wrong because the model is broken — it's wrong because the algorithm lacks the foresight the problem demands.

Models: (1) Heuristic UC — 4-hour look-ahead commitment, hourly dispatch. (2) SCUC — PuLP/CBC mixed-integer optimizer, rolling 24-hour windows with 6-hour overlap, min run/down time constraints, startup cost minimization, VOLL = $10,000/MWh. Both use CCGT (60% of gas, 40% min load, 8h min run, $80K/start) and CT (40%, 20% min load, 2h min run, $30K/start). SCUC runtime: ~90s per config.