A 50 MW / 200 MWh BESS running economic dispatch generates 22% more arbitrage revenue than the same battery on rule-based dispatch in a typical CAISO price environment — but with 1.4x the cycle degradation. That trade-off defines the central decision in EMS dispatch strategy selection: how much short-term revenue are you willing to sacrifice for asset longevity, and at what point does the optimization complexity stop paying for itself?
Energy developers and operators have two dispatch strategies to choose from in Energy Optima: RULE_BASED and ECONOMIC_DISPATCH. Each makes different assumptions about price certainty, computational budget, and the relative importance of energy arbitrage, ancillary services, and battery preservation. Choosing the wrong strategy can cost millions over a 15-year project life — but the best strategy depends on project-specific factors including market, duration, co-location, and offtake structure.
This guide provides a first-principles comparison of both strategies using a single worked example — a 100 MW solar farm co-located with a 50 MW / 200 MWh BESS — run through the same CAISO historical price year under each dispatch approach. We examine the revenue, degradation, NPV, and IRR outcomes so you can map the results to your own project context.
What You'll Learn
The Two Dispatch Strategies in Energy Optima
Energy Optima's EMS simulation module implements two dispatch strategies, each corresponding to a different optimization paradigm. The strategy is selected in the EMS Configurator within the platform, alongside SOC threshold settings (default min 10%, max 90%), dispatch priority order, and optimization parameters.
RULE_BASED — The simplest strategy. The operator defines a set of if-then rules: charge during specified low-price hours, discharge during specified high-price hours, with optional SOC-dependent override conditions. The rules execute deterministically at each timestep with no forward-looking optimization. Computational cost is negligible — milliseconds per year of simulation. Best suited for early-stage screening, fixed-tariff projects, and educational scenarios.
ECONOMIC_DISPATCH — At each timestep, the EMS solves a linear programming (LP) optimization over a 24-hour lookahead horizon to determine the optimal charge/discharge schedule, using forecasted day-ahead prices and real-time market signals. The objective maximizes gross arbitrage revenue minus a configurable degradation penalty. Model predictive control (MPC) re-optimizes on a rolling basis — typically every hour for day-ahead planning and every 5-15 minutes for real-time adjustments. Computational cost is moderate: roughly 5-30 seconds per day of simulation depending on lookahead granularity and solver settings.
Key insight: The choice between these strategies is not just about sophistication — it is about matching dispatch resolution to the decision frequency of your revenue stream. If your project participates only in day-ahead energy markets, economic dispatch captures the full opportunity. Multi-market capacity allocation (regulation, spin, RA stacking) involves discrete capacity commitments — model those revenue streams as separate contract lines alongside the dispatch results.
Worked Example: 100 MW Solar + 50 MW / 200 MWh BESS
To make the comparison concrete, we simulate the same hybrid project under both dispatch strategies using Energy Optima. The system: a 100 MW AC solar farm co-located on the same interconnection point as a 50 MW / 200 MWh lithium-ion BESS (4-hour duration, 90% round-trip efficiency, LFP chemistry).
Simulation parameters:
- Market: CAISO SP15, 2025 historical prices (day-ahead hourly + real-time 5-minute)
- Solar profile: SAM-generated hourly AC generation for a 100 MW single-axis tracking system in Riverside County
- Battery degradation: LFP calendar + cycle aging model from manufacturer warranty curve, calibrated to 6,000 cycles to 80% SOH
- Project horizon: 10-year operational life, 15-year financial model
- CAPEX: Solar $1.10/W, BESS $350/kWh installed, BOS $50/kW shared
- Revenue: Day-ahead energy arbitrage only (single-market, no regulation stacking)
- SOC limits: 10% min, 90% max across all strategies
Results summary — same system, one year of operation:
| Metric | Rule-Based | Economic Dispatch |
|---|---|---|
| Annual energy throughput | 52 GWh | 73 GWh |
| Avg cycles per day | 0.71 | 1.00 |
| Annual arbitrage revenue | $2.1M | $2.56M |
| Revenue vs rule-based baseline | — | +22% |
| Cycle degradation per year | 2.1% SOH | 3.0% SOH |
| Final SOH at year 10 | 79% | 70% |
| Project NPV (15-year, 8% WACC) | $4.8M | $6.1M |
| Project IRR | 11.2% | 13.8% |
| Computational cost (1-year sim) | <1 second | 14 minutes |
Economic dispatch delivers the highest NPV of the two strategies for this single-market project. The 22% revenue uplift outweighs the accelerated degradation — the battery reaches end-of-life (80% SOH threshold for warranty replacement) just before year 10 under economic dispatch, compared to approximately year 11 under rule-based dispatch.
Multi-market participation (regulation, spin, RA stacking) adds discrete capacity-allocation decisions on top of energy arbitrage — Energy Optima's dispatch simulator covers the energy market, and ancillary-service revenue should be modeled as a separate revenue line.
Rule-Based Dispatch: Simple, Predictable, Leaving Money on the Table
Rule-based dispatch defines a fixed schedule: charge during hours 10:00-14:00 (solar midday oversupply), discharge during hours 17:00-21:00 (evening peak), idle overnight. The rules can be enriched with SOC-dependent overrides — for example, "if SOC exceeds 85% during charge hours, reduce charging power to 50%" or "if SOC drops below 30% during discharge, stop discharging until the next scheduled block."
When to use it:
- Early-stage screening — When comparing dozens of project configurations across multiple markets, rule-based dispatch provides first-pass revenue estimates in seconds rather than hours. The ranking of configurations is often preserved even with simple dispatch assumptions.
- Fixed-tariff or PPA structures — If the battery operates against a fixed time-of-use tariff rather than wholesale market prices, rule-based dispatch captures the full opportunity because the price signal is known and static.
- Educational or baseline benchmarking — Rule-based dispatch establishes a clear floor against which more sophisticated strategies can be compared. Every developer should know the rule-based baseline for their project.
What it optimizes: Nothing. Rules are pre-defined, not optimized. The operator must manually tune the charge/discharge windows based on market analysis or historical price patterns.
The gap it leaves: In the worked example, rule-based dispatch captures only 68% of the theoretical maximum arbitrage revenue that a perfect foresight optimizer would achieve. The gap comes from three sources:
- Timing mismatch — The optimal charge/discharge windows shift day to day with solar generation, load, and grid conditions. A fixed schedule cannot track these shifts.
- Partial cycles missed — Rule-based dispatch typically only captures one full cycle per day. During spring months with strong solar midday dips, the market supports 1.5-2 cycles per day, and rule-based dispatch misses the second cycle entirely.
- Price-responsive curtailment — The EMS cannot decide to idle on low-spread days (when the peak price minus valley price is less than the round-trip efficiency loss). A fixed schedule cycles regardless of whether the margin is positive.
Key insight: In Energy Optima, the rule-based strategy is available in the EMS Configurator under the "Simple Schedule" tab. You define the daily charge/discharge windows, SOC thresholds (minimum and maximum), and any conditional overrides. The configurator also accepts seasonal rule sets (summer vs winter schedules) to capture basic time-of-year effects. For projects that graduate beyond rules, the configurator provides a one-click upgrade path to economic dispatch.
Economic Dispatch with MPC: 24-Hour Lookahead Optimization
Economic dispatch replaces fixed rules with a rolling optimization over a 24-hour lookahead horizon. At each decision interval (typically 1 hour for day-ahead planning, 5-15 minutes for real-time adjustments), the EMS solves a linear program that maximizes expected arbitrage revenue over the remaining horizon, subject to SOC dynamics, power limits, and degradation costs.
How the 24-hour lookahead works:
The MPC formulation operates on a receding horizon. At time t (say 08:00 on Tuesday), the EMS receives the latest day-ahead price forecast for hours t through t+23 (08:00 Tuesday through 07:00 Wednesday). It solves the full 24-hour LP to produce an optimal schedule. It executes only the first timestep's setpoint. At the next hour (t+1), the EMS receives updated prices for hours t+1 through t+24 (the lookahead window slides forward by one hour) and re-optimizes.
The 24-hour horizon is a deliberate design choice — it matches the CAISO day-ahead market settlement cycle, ensures the EMS can plan a full charge-discharge cycle, and keeps computational cost manageable. A shorter horizon (e.g., 4 hours) would degrade arbitrage performance because the optimizer would not see the full daily valley-to-peak spread.
The objective function in the LP:
- Maximize Σ (Priceₜ × Dischargeₜ × RTE − Priceₜ × Chargeₜ) − λ × CyclesDegradationCost
- Subject to: SOCₜ₊₁ = SOCₜ + η_c × Chargeₜ − Dischargeₜ / η_d
- SOC_min ≤ SOCₜ ≤ SOC_max (default 10% to 90%)
- 0 ≤ Chargeₜ ≤ P_max, 0 ≤ Dischargeₜ ≤ P_max
- End-of-horizon SOC = 50% (target, soft constraint with penalty for deviation)
The degradation penalty term λ is configurable in Energy Optima's optimization settings panel. A λ of 0 maximizes short-term revenue with no degradation consideration. At the default setting (λ calibrated to the battery's marginal degradation cost curve), the optimizer voluntarily reduces cycling on low-spread days to preserve battery life. Operators can override λ per season or per market condition.
When it wins: Economic dispatch is the optimal strategy for projects whose primary revenue source is day-ahead wholesale energy arbitrage. It captures the timing flexibility that rule-based dispatch misses — switching charge/discharge windows daily to track the optimal spread, idleing on low-margin days, and capturing partial second cycles when spring solar oversupply creates a deep midday price valley.
When it falls short: Economic dispatch assumes continuous, divisible power output. It cannot represent binary decisions like "commit 20 MW to regulation for the full hour" or "the inverter must stay at least 5 MW if turned on." For projects participating in ancillary service markets alongside arbitrage, the linear formulation cannot model the indivisible capacity allocation decisions — model those revenue streams separately.
When Each Strategy Wins
The decision framework reduces to three questions about the project:
Question 1: How many revenue streams are being stacked?
- 1 stream (arbitrage only): Economic dispatch is optimal. Rule-based is acceptable for screening but leaves 20-30% of revenue unrealized.
- 2-3 streams (arbitrage + regulation, or arbitrage + regulation + spin): The capacity allocation problem is inherently discrete — model the ancillary-service capacity payments as separate contract lines alongside the dispatch simulation.
- 4+ streams (arbitrage + regulation + spin + RA + DR): Rule-based cannot handle the combinatorial allocation problem at all; economic dispatch covers the arbitrage stream, and the stacked capacity products should be contracted and modeled separately.
Question 2: What stage of the project lifecycle?
- Feasibility / site screening: Rule-based dispatch. Run 100+ configurations in minutes, rank by IRR, shortlist the top quartile for detailed analysis.
- Development / investment case: Economic dispatch. Produces bankable revenue projections with defensible assumptions about price responsiveness.
- Financing / offtake negotiation: Both. Present the rule-based floor and the economic dispatch base case. Lenders want to see the sensitivity range.
- Operations / real EMS deployment: Economic dispatch. Rule-based dispatch in operations is a red flag for investors.
Question 3: How sensitive is the economics to cycle degradation?
- Low degradation sensitivity (LFP with long warranty, or low cycle cost): Economic dispatch with low lambda. Maximize throughput.
- High degradation sensitivity (NMC, short warranty, or high C-rate applications): Rule-based dispatch with conservative cycles may be preferred, or economic dispatch with a high lambda to heavily penalize cycling.
Key insight: Energy Optima lets you run both strategies on the same project simultaneously. The dispatch comparison report overlays revenue, SOC, and degradation profiles for each strategy, highlighting the hours where more sophisticated dispatch makes the largest difference. For the worked example above, economic dispatch makes 74% of its revenue uplift during just 8% of operating hours — the spring and fall months with deep midday solar valleys and steep evening ramps. For a project in a different market, the "decision-critical hours" may be entirely different.
Practical Workflow: From Simulation to Deployment
Energy Optima supports a structured workflow for selecting and validating a dispatch strategy for any hybrid project:
- Baseline with rule-based. Configure the system in the EMS Configurator with simple charge/discharge windows. Set SOC thresholds to 10-90%. Run the simulation. Record the baseline revenue, throughput, and cycles.
- Upgrade to economic dispatch. Enable the 24-hour MPC lookahead. Calibrate the degradation penalty λ using the battery manufacturer's cycle life curve. Compare the economic dispatch results to the rule-based baseline — the gap is the forecast improvement from price-responsive dispatch.
- Validate across price years. Run the selected strategy against 3-5 historical price years to verify that the results are not artifacts of a single year's price pattern. A strategy that works in 2025 may degrade in a different CAISO hydro year.
- Export the dispatch logic to the real EMS. Energy Optima's EMS simulation generates a dispatch policy table (SOC × hour → setpoint) that can be exported as a lookup table or translated into your real-time EMS controller's native format.
For additional context on dispatch strategies and BESS operation, see our companion guides: EMS Dispatch Strategies for BESS: Maximizing Revenue with Economic Optimization and BESS Capacity Sizing Optimization for Hybrid Solar+Storage Systems.
The EMS Configurator in Energy Optima is the control panel for both dispatch strategies. Key settings include:
- SOC thresholds — Configurable minimum (default 10%) and maximum (default 90%). These define the operational SOC envelope. Tighter thresholds (15-85%) reduce degradation but also reduce the effective energy capacity available for arbitrage.
- Dispatch priority — For co-located solar+BESS, the operator can set whether battery charging has priority over solar export (within the interconnection limit) or vice versa. Priority order changes the effective solar curtailment rate and battery utilization.
- Degradation penalty coefficient λ — Controls the revenue vs longevity trade-off. The default setting is calibrated to the battery's marginal degradation cost curve. Override to 0 for maximum short-term revenue or to 2x default for conservative operation.
- Lookahead horizon — Configurable from 4 to 48 hours. The default 24-hour horizon matches typical day-ahead market settlement cycles. A 48-hour horizon captures weekend price patterns but increases solve time.
- Re-optimization frequency — For real-time economic dispatch, the re-optimization interval is configurable from 5 minutes to 1 hour. A 5-minute interval captures real-time price spikes but increases computational load.
A practical note: for most projects, the recommended workflow is to start with rule-based dispatch for initial screening, then move to economic dispatch for the base case financial model. The 22% revenue uplift from economic dispatch over rule-based in our worked example is representative for most CAISO solar+BESS projects. For ancillary-service revenue stacking, model the capacity payments as a separate contract line alongside the arbitrage results.