Neural Two-Stage Stochastic Optimization for Solving Unit Commitment Problem

Zhentong Shao, Jingtao Qin, Nanpeng Yu
7/13/2025
eess.SYcs.LG

No confident code implementation found for this paper.

Abstract

This paper proposes a neural stochastic optimization method for efficiently solving the two-stage stochastic unit commitment (2S-SUC) problem under high-dimensional uncertainty scenarios. The proposed method approximates the second-stage recourse problem using a deep neural network trained to map commitment decisions and uncertainty features to recourse costs. The trained network is subsequently embedded into the first-stage UC problem as a mixed-integer linear program (MILP), allowing for explicit enforcement of operational constraints while preserving the key uncertainty characteristics. A scenario-embedding network is employed to enable dimensionality reduction and feature aggregation across arbitrary scenario sets, serving as a data-driven scenario reduction mechanism. Numerical experiments on IEEE 5-bus, 30-bus, and 118-bus systems demonstrate that the proposed neural two-stage stochastic optimization method achieves solutions with an optimality gap of less than 1%, while enabling orders-of-magnitude speedup compared to conventional MILP solvers and decomposition-based methods. Moreover, the model's size remains constant regardless of the number of scenarios, offering significant scalability for large-scale stochastic unit commitment problems.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. Any repos shown below are weak matches — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{shao2025neural,
  title  = {Neural Two-Stage Stochastic Optimization for Solving Unit Commitment Problem},
  author = {Zhentong Shao and Jingtao Qin and Nanpeng Yu},
  year   = {2025},
  eprint = {2507.09503},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2507.09503v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2507.09503.svg)](https://codeofpaper.com/paper/2507.09503)

Discussion