Table of Contents
Fetching ...

GPU-Accelerated Dynamic Programming for Multistage Stochastic Energy Storage Arbitrage

Thomas Lee, Andy Sun

TL;DR

This work introduces a GPU-accelerated dynamic programming framework for multistage stochastic energy storage arbitrage, recasting backward induction as tensor-based operations to exploit GPU parallelism and handle general (including non-concave) payoffs via convexification. It formulates both deterministic and stochastic storage models and derives price–quantity bid curves from value-function subgradients, ensuring market-feasible bids through monotone, convexified mappings. Numerical results demonstrate near-exact profitability (0.1–0.3% gaps) relative to MILP benchmarks, with significant advantages in negative-price regimes and dramatic speedups (up to ~100x CPU and ~8,000x MILP). The approach enables rapid, large-scale scenario analysis and provides tangible gains from using stochastic DP bid curves over traditional self-scheduled or myopic strategies, highlighting practical implications for storage valuation and market participation.

Abstract

We develop a GPU-accelerated dynamic programming (DP) method for valuing, operating, and bidding energy storage under multistage stochastic electricity prices. Motivated by computational limitations in existing models, we formulate DP backward induction entirely in tensor-based algebraic operations that map naturally onto massively parallel GPU hardware. Our method accommodates general, potentially non-concave payoff structures, by combining a discretized DP formulation with a convexification procedure that produces market-feasible, monotonic price-quantity bid curves. Numerical experiments using ISO-NE real-time prices demonstrate up to a 100x speedup by the proposed GPU-based DP method relative to CPU computation, and an 8,000x speedup compared to a commercial MILP solver, while retaining sub-0.3% optimality gaps compared to exact benchmarks.

GPU-Accelerated Dynamic Programming for Multistage Stochastic Energy Storage Arbitrage

TL;DR

This work introduces a GPU-accelerated dynamic programming framework for multistage stochastic energy storage arbitrage, recasting backward induction as tensor-based operations to exploit GPU parallelism and handle general (including non-concave) payoffs via convexification. It formulates both deterministic and stochastic storage models and derives price–quantity bid curves from value-function subgradients, ensuring market-feasible bids through monotone, convexified mappings. Numerical results demonstrate near-exact profitability (0.1–0.3% gaps) relative to MILP benchmarks, with significant advantages in negative-price regimes and dramatic speedups (up to ~100x CPU and ~8,000x MILP). The approach enables rapid, large-scale scenario analysis and provides tangible gains from using stochastic DP bid curves over traditional self-scheduled or myopic strategies, highlighting practical implications for storage valuation and market participation.

Abstract

We develop a GPU-accelerated dynamic programming (DP) method for valuing, operating, and bidding energy storage under multistage stochastic electricity prices. Motivated by computational limitations in existing models, we formulate DP backward induction entirely in tensor-based algebraic operations that map naturally onto massively parallel GPU hardware. Our method accommodates general, potentially non-concave payoff structures, by combining a discretized DP formulation with a convexification procedure that produces market-feasible, monotonic price-quantity bid curves. Numerical experiments using ISO-NE real-time prices demonstrate up to a 100x speedup by the proposed GPU-based DP method relative to CPU computation, and an 8,000x speedup compared to a commercial MILP solver, while retaining sub-0.3% optimality gaps compared to exact benchmarks.

Paper Structure

This paper contains 16 sections, 17 equations, 2 figures, 3 tables, 1 algorithm.

Figures (2)

  • Figure 1: Diagram illustrating Algorithm \ref{['alg:algorithm']}. Vector / matrix / tensor objects from Alg. \ref{['alg:algorithm']} are illustrated as gray shapes. Labels at the top correspond to function names from Section \ref{['sec:models']}, and each axis is labeled with its corresponding variable name. The "+" operation here represents the tensor sum defined in Line \ref{['eq:Qhat_all']}.
  • Figure 2: Impact of duration and dispatch strategy on energy arbitrage profits. "DP bid curves" achieve up to 32% higher profits than "DP self-scheduled" (this difference represents the value of using price-quantity bid curves), which in turn achieves up to 24% higher profits than "Myopic".