This article originally appeared on PrincetonOptimization.com.
Electric power executives are navigating one of the most complex operating environments the industry has ever faced. Demand patterns are shifting, renewables are accelerating, and energy storage is scaling rapidly, all of it managed within operational windows measured in minutes.
At the center of that challenge sits a set of optimization models that most consumers never see, but that determine every day whether the lights stay on and at what cost. Over the past five years, Princeton Consultants has helped a major Independent System Operator (ISO) modernize and scale those decision systems. What started as a performance review of a single model grew into a broader transformation of how grid optimization is designed and sustained.
The Invisible Engine of Grid Reliability
Every day, an ISO answers two questions for its regional grid: which power plants should run? how much power should each produce? Two tightly coupled optimization processes handle those questions. Security-Constrained Unit Commitment (SCUC) decides which generators to commit over a 24-hour horizon, subject to startup costs, minimum run times, ramp limits, and transmission security. Economic Dispatch (ED) then sets the hourly output of each committed unit to meet demand at the lowest total cost while satisfying reliability and market rules.
The catch: these models complete inside a strict operational window. In the day-ahead market the target is five minutes for the final physical pass. Miss it, and the ISO cannot clear the market or publish awards on schedule. This is not a theoretical concern. It is a production constraint with real operational, market, and reliability consequences.
Energy Storage Changes the Game
For decades, grid optimization models rested on the simple premise that generators produce power. Grid-scale batteries, which the industry calls Energy Storage Resources (ESRs), break that premise. An ESR can charge, discharge, or sit idle, and the model tracks its state of charge across time. The decision at hour five depends on the decision at hour four, which introduces a combinatorial explosion of more binary and continuous variables, more inter-temporal constraints, and more interactions between assets.
In our project work, the effect was stark. Baseline runs with zero batteries solved in about 94 seconds. As the ISO stepped the count up, solve times climbed rapidly: 145 seconds at 50 batteries, 252 at 75, 469 at 100, and 1,216 seconds (over twenty minutes) at 125. That is an exponential wall, and with battery adoption accelerating industry-wide it was about to become an operational emergency.
Diagnose, Tune, Reformulate
The ISO mandated support of at least 100 storage assets with no observable performance degradation, while staying inside the five-minute window. The instinctive fix in most organizations is hardware, but in optimization that is rarely where the biggest gains live. The largest performance cliffs in a MIP almost always trace back to how the model is posed, not how fast the machine is. We worked three levers in parallel, each targeting a different time horizon.
1. Solver Tuning
Gurobi has hundreds of configurable parameters. Defaults are strong general-purpose settings, but they are not necessarily right for a model that runs the same structure hundreds of times a day under a tight deadline. We ran systematic experiments across a representative inventory of production scenarios (baseline, 30 through 125 ESRs, ramp-constrained cases, and regression scenarios from multiple production days). A handful of adjustments made a large difference, and the biggest wins landed on the cases causing the most trouble:
Raising the frequency of the RINS heuristic in UC so Gurobi polishes integer solutions at every node.
Switching ED from the default method to Primal Simplex, consistently faster for this LP’s structure.
Restoring the feasibility tolerance for ED to Gurobi’s default of 1e-6. Production had tightened it to 1e-9, which sounded conservative but cost solve time without meaningfully changing the awarded dispatch.
Capping PrePasses at 2. Additional presolve passes were doing more work than they were saving.
Worst-case solve time dropped from over twenty minutes to 55 seconds across the full test suite, with every case finishing inside the five-minute window. No changes to the underlying model.
2. Constraint Reformulation
This was the most impactful lever, and the most overlooked. You can express any business rule in many mathematically equivalent ways. They give the same answer, but not at the same speed. How you write a constraint determines how much of the search space the solver eliminates before it ever branches.
The cleanest example is the classic "big-M" problem. Suppose the model says "if this generator is committed, output can go up to its capacity; if it is not, output must be zero." A natural way to write that is:
Power ≤ 99,999 × IsOn
Logically fine, but 99,999 dwarfs any generator’s real capacity, so the LP relaxation gives back a wildly loose bound and the solver wastes branching effort narrowing a region the modeler already knew was impossible. The fix: replace 99,999 with the unit’s actual maximum capacity.
Power ≤ 200 × IsOn
Same answer, tight relaxation, dramatically smaller search. We found a family of these "Maximum Power for a Generation Unit" constraints, plus piecewise linear variables in ED whose bounds sat effectively infinite when the data supported tight, finite bounds.
A related refinement was hierarchical objectives. The model balanced slack violations, total cost, and (in ED) a quadratic proration term in a single weighted sum. That made the solver’s job harder and left model behavior sensitive to the weights. Restructuring as two stages in UC and three in ED (slack, then cost, then proration) improved performance and created a natural checkpoint where a business user could review any slack violations before the cost solve proceeds.
3. Incremental Architecture
The existing architecture treated each run as an isolated event: build the full model, hand it to the solver, wait for the answer, repeat from scratch. That pattern ignores capability modern solvers specifically exploit: incremental solving. Solve a simplified version first, use the resulting basis or incumbent as a warm start, then layer in complexity and let the solver pick up where it left off. For a pipeline that runs many times a day under a five-minute deadline, that is the difference between meeting the deadline and missing it.
From Constraint to Capability
The combined impact was dramatic. The ISO hit its 100-resource target with no observable degradation. Every production test case finished inside the five-minute window. Just as important, the system became future-ready: the formulation extends more easily, the architecture composes more easily, and the recovered headroom absorbs the next wave of grid complexity. No single change delivered this. The three levers worked together.
Beyond Performance: A Five-Year Partnership
The success of that first engagement opened the door to a broader relationship. Four further projects stand out.
Dynamic Reserves. The ISO allocated reserve capacity using static rules (fixed percentages, fixed zonal requirements), which often carried too much reserve (expensive) or too little (risky). We helped build a reserve framework that procures dynamically, based on real-time conditions and the transmission constraints that actually bind during contingencies. The same techniques from the SCUC review got it fast enough to run inside the required window.
Capacity Expansion Planning. The Capacity Expansion Model (CEM) answers which new plants, transmission lines, and storage facilities to build, and when. It solves iteratively, updating coefficients (such as locational marginal prices) until it converges. The original implementation rebuilt the full model at every iteration, so runtime scaled linearly with the number of iterations. We restructured the algorithm: build the model once, then update coefficients on the existing model each iteration, letting Gurobi keep its basis and update incrementally. The first iteration now dominates total runtime, which lets planners evaluate dramatically more scenarios before committing to billion-dollar infrastructure decisions.
LCR Solver Risk Assessment. The Locational Capacity Requirement (LCR) Optimizer uses COBYLA, a derivative-free method, wrapped around a reliability simulation. Our robustness analysis showed it converging to within 0.12% of the global minimum across a wide sweep of starting points, step sizes, and constraint right-hand sides. The more interesting finding: a specific failure mode where certain input configurations send the production solver into an infinite loop. We handed the ISO a prioritized remediation plan with impact ratings so the team could sequence fixes by severity.
Solver Upgrade Verification. When the ISO was ready to move from Gurobi 9 to 12, we ran every production model on both versions across hundreds of scenarios. The upgrade delivered 30 to 40% runtime improvements on the longest-running models. More useful for a risk-averse operator, we could precisely characterize when v12’s solution differed from v9’s and why. Most differences were simple swaps (one generator’s output drops, another’s rises by the same amount) or combinatory substitutions (burden redistributed across three or more units, net change zero). A smaller category were true differences within the MIP optimality gap. That framing let the ISO see at a glance which differences were normal solver behavior and which warranted review. Before v12 went live, the ISO decided to skip it and go straight to Gurobi 13, and asked us to repeat the process.
Lessons for Grid Executives
Formulation matters more than hardware. When an optimization system is struggling, the first question should not be how to scale compute, but how well the problem is formulated.
Tuning is not optional. Defaults are a starting point for a general workload, not an endpoint for a mission-critical model running hundreds of times a day against similar data.
Architecture is strategic. Monolithic, one-shot solves are the easiest to build and the hardest to grow. Incremental, modular architectures scale with the grid.
Testing is risk management. Validate every change (model edits, parameter adjustments, solver upgrades) against real production data before it ships. It pays for itself the first time it catches something.
Domain expertise compounds. Optimization expertise alone is not enough, and neither is domain expertise alone. The highest-leverage outcomes live at the intersection, and that intersection becomes a strategic asset over time.
Looking Ahead: Intelligent Grid Operations
As grid complexity grows, the next evolution is taking shape: a more modular, coordinated decision architecture, rather than a monolithic super-model or a black-box AI. One pattern is a set of specialized decision agents, each built around a purpose-fit optimization model. A Commitment Agent handles day-ahead unit commitment. A Dispatch Agent runs real-time economic dispatch within the committed units. A Reserve Agent produces reserve targets and shortfall alerts. A central orchestration layer sequences decisions and enforces governance. Every decision is auditable, every scope explicit, every handoff tracked. This is not about replacing optimization with AI. It is about augmenting optimization with intelligent coordination, so that increasingly complex systems stay transparent, controllable, and reliable.
Final Thought
The electric grid is often called the most complex machine ever built. Its performance increasingly depends not just on physical infrastructure but on the quality of the decisions that operate it. Optimization is the engine of those decisions, and the organizations that invest in making that engine faster, smarter, and more adaptable will be those best positioned to lead.
To discuss this with Rob Randall, contact Princeton Consultants to set up a call.
About Dr. Robert Randall
Rob Randall, PhD is a Senior Optimization Specialist at Princeton Consultants. His recent work in the energy sector has focused on improving the performance and scalability of large-scale market optimization models, including unit commitment, economic dispatch, reserve modeling, and capacity expansion. A two-time INFORMS Wagner Prize finalist, he is a Senior Member of INFORMS and serves on the Clemson University Department of Industrial Engineering Advisory Board.
