Offline battery degradation model

Battery capacity retention over DST cycles

The model predicts battery capacity degradation based on state-of-charge profile and cell temperature, reference here.

Code in Matlab.

Piece-wise linear degradation model for optimization

Piece-wise linear state-of-charge profile decomposition

This is a piece-wise linear model for incorporating nonlinear battery cycle degradation mechanisms into optimization, reference here.

Code in GAMS (requires Gurobi).

Optimal battery control and bidding in frequency regulation

Regulation instruction versus controlled battery response

This code demonstrates the optimal response control and bidding design for degradation-sensitive batteries in PJM pay-for-performance frequency regulation markets, reference here.

Code in Matlab.

Dynamic battery lifetime valuation

Incremental cost per full cycle over remaining capacity and project lifetime

This code calculates the opportunity value of battery degradation based on historical price data using dynamic programming, reference here.

Code in Julia (requires Gurobi).

Battery price arbitrage using stochastic dynamic programming

Stochastic dynamic programming stage transition diagram

The code uses an analytical algorithm to solve stochastic dynamic programming for optimizing battery price arbitrage in wholesale real-time electricity markets, reference here.

Code in Matlab.

Comparing different battery degradation models in power system optimization

Comparison of battery degradation models in grid optimization

The code compares different degradation models in grid optimization. Reference paper is here.

Code in Julia (requires Gurobi).

Transferable energy storage bidder

Transferable energy storage bidder architecture

Algorithms for bidding energy storage to arbitrage in wholesale markets. Reference paper is here.

Code in Python.

Assessing market participation for energy storage

Two-stage market clearing simulation framework

A two-stage market clearing simulation framework to assess energy storage participation in day-ahead and real-time markets. Reference paper is here.

Code in Matlab (requires Gurobi).

Predicting strategic energy storage behaviors

Inverse optimization framework identifying a storage agent's disutility function with input convex neural networks

An inverse optimization approach that learns the unknown disutility function of a strategic storage agent from observed price and response data, using input convex neural networks embedded in a differentiable optimization layer. Reference paper is here.

Code in Python.

Energy storage arbitrage in two-settlement markets

Day-ahead and real-time energy storage bidding framework

An integrated bidding model for energy storage participating in both day-ahead and real-time markets, pairing a transformer-based real-time price forecaster for day-ahead bids with an LSTM and dynamic programming hybrid real-time bidder. Reference paper is here.

Code in Python.

Locational energy storage bid bounds

Storage charge and discharge bid bounds decreasing with state of charge

Chance-constrained bid bounds that serve as locational offer caps for energy storage, aligning storage bids with the social welfare objective while regulating economic withholding. Reference paper is here.

Code in Matlab (requires YALMIP and Gurobi).

Dimension-reduced optimization of multi-zone thermostatically controlled loads

Zone-level comfort violations under original and latent-variable optimization methods

A latent-variable representation learned through multi-task learning that reduces the dimension of multi-zone thermostatically controlled load optimization, with both model-based and model-free solution algorithms. Reference paper is here.

Code in Python.