A single co-located BESS and solar site is a challenging dispatch optimization problem. Multiple sites across different areas of the Japanese grid, each with its own generation source, capacity ratio, interconnection constraint, and curtailment exposure, is a different problem class entirely.
The challenge is not just scale in the sense of more computation. It is that sites that look independent at the physical level are coupled at the economic and operational level in ways that single-site dispatch logic does not account for.
How Multi-Site Portfolios Create Correlated Exposure
Consider a storage asset owner with three co-located solar-BESS sites in Kyushu: one in Miyazaki prefecture, one near Kumamoto, and one in Fukuoka. Each site has its own generation profile and BESS capacity. But all three share exposure to the same area TSO's curtailment instructions. When Kyushu system output exceeds demand and the TSO issues output control, all three sites may face simultaneous curtailment instructions.
If each site's dispatch optimizer is running independently, each one will try to pre-position its BESS for curtailment absorption using its own site-level forecast. But the three optimizers are not aware of each other. Site A may decide to hold SOC capacity for curtailment while Site B decides to discharge into the morning JEPX peak. When the curtailment event arrives, the portfolio's aggregate absorptive capacity is whatever the three independent decisions happened to produce, not what a coordinated portfolio optimizer would have planned.
This is the core problem with single-site dispatch logic applied to a portfolio: the sites are not actually independent, but they are being optimized as if they were.
What Portfolio-Level Dispatch Optimization Adds
A portfolio optimizer has visibility across all sites simultaneously. It can allocate roles: during a high-curtailment-probability period, the optimizer can designate one site as the primary absorber (hold high SOC headroom), allow another site to pursue JEPX arbitrage (discharge into peak price hours), and position the third site based on its specific capacity ratio and current SOC. The total portfolio outcome is optimized rather than the sum of three independent single-site outcomes.
This becomes particularly important when sites have different battery-to-solar capacity ratios. A site with a high capacity ratio (say, 1 MWh per 1 MWp of solar) has more absorptive capacity relative to its generation than a site with a low ratio (0.5 MWh per 1 MWp). Curtailment absorption should be concentrated at the high-ratio site, while the low-ratio site focuses on arbitrage or frequency regulation.
A single-site optimizer at each location cannot know to make this allocation decision. Only the portfolio layer has the information to coordinate it.
The SOC Synchronization Problem
Multi-site dispatch introduces a SOC synchronization challenge that does not exist at the single-site level. At the start of each operating day, each site's BESS will be at some SOC based on prior day's dispatch. If site SOCs are poorly coordinated, the morning day-ahead plan may be infeasible for some sites: the optimizer may plan a morning discharge from a battery that is already at low SOC from the prior day's curtailment absorption.
The overnight "reset" problem requires the portfolio optimizer to plan each site's end-of-day SOC targets such that the next morning's plan is executable. This is a rolling horizon constraint: today's decisions constrain tomorrow's feasible plans. In a multi-site portfolio, these constraints multiply across sites.
In practice, this means the portfolio optimizer needs to solve a rolling two-day lookahead to avoid accumulating infeasibilities. That increases computational complexity, but modern mixed-integer optimization solvers handle this well for portfolio sizes up to ten to fifteen sites. Beyond that, hierarchical decomposition methods (solve at the portfolio level for allocation decisions, then re-solve within each site for granular dispatch) become necessary for real-time applications.
Area Price Differences and Interconnection Constraints
Japan's eight area TSO regions (Hokkaido, Tohoku, TEPCO, Chubu, Hokuriku, Kansai, Chugoku, Shikoku, Kyushu) each have their own area prices in the JEPX market when interconnection constraints are binding. A portfolio that spans multiple areas will see different prices at different sites for the same delivery hour. The portfolio optimizer can potentially arbitrage these price differences by discharging in the higher-price area and maintaining storage headroom in the lower-price area.
This cross-area price optimization is real but requires area price forecasting at each site location, which adds a forecasting layer beyond just solar output prediction. Getting this right requires understanding when interconnection constraints are likely to bind (usually during high solar output in western Japan with limited transmission capacity to the east) and what the typical price spread looks like when they do.
We are not saying cross-area arbitrage is always the dominant value driver. For most co-located solar-BESS portfolios in Japan, curtailment avoidance and within-area intraday JEPX arbitrage are more consistently valuable than cross-area spread capture. But a portfolio optimizer that ignores area price differences will leave money behind on the days when spreads are large.
Degradation State as a Dispatch Input
Battery degradation is an issue at the single-site level, but it becomes a portfolio management input at the multi-site level. A site whose BESS is in its first year of operation has different available capacity, round-trip efficiency, and cycle cost than a site whose BESS has been in service for three years with significant calendar and cycle degradation.
A portfolio dispatch optimizer that uses nominal rated capacity rather than state-of-health-adjusted usable capacity will over-dispatch older batteries, accelerating their degradation and creating imbalance shortfalls when actual delivered energy is below the scheduled plan. The degradation state of each site's BESS needs to be tracked and fed into the capacity model the optimizer uses.
This is operationally demanding. It requires regular capacity testing or continuous SOH estimation from operational data, and it requires the portfolio management layer to update its capacity models at each site on a cadence that reflects actual degradation rate. For a portfolio owner managing multiple sites, this is a data management problem as much as an optimization problem, and it is one that grows with portfolio size.
The Explainability Requirement at Scale
One final consideration: as portfolio size grows, the decisions made by the portfolio optimizer become harder for operations staff to audit manually. On any given day, the optimizer may be dispatching a dozen sites with different strategies, and a site that is operating "suboptimally" by naive single-site metrics (e.g., low SOC at midday) may actually be executing a correct portfolio-level decision (holding headroom because a co-located partner site has a curtailment event forecast).
If the dispatch logic cannot explain why each site received the instructions it received, operations staff cannot verify correctness, cannot override confidently when needed, and cannot build trust in the system over time. Explainability is a portfolio-level requirement that becomes more important, not less important, as the system scales. The optimizer's output for each site should include a brief rationale that operators can read: what the portfolio constraint was, why this site was assigned this role today, and what the forecast input was that drove the decision.