Neur2RO: Neural Two-Stage Robust Optimization
Justin Dumouchelle1
Esther Julien2
Jannis Kurtz3
Elias B. Khalil1

1University of Toronto, 2TU Delft, 3University of Amsterdam
justin.dumouchelle@mail.utoronto.ca

[Paper]  
[GitHub]  
[Video]  


Overview of Neur2RO, a fast learning-based approximation to column-and-constraint generation (CCG) for solving two-stage robust optimization problems. In each iteration, a main problem (box (a)) is solved to find a good first-stage solution x for the set of scenarios that have been identified thus far (initially, none). Then, an adversarial problem (box (c)) is solved to obtain a new scenario for which the solution x is not feasible anymore in main problem. If no such scenario exists, then x is optimal and CCG terminates. Otherwise, the adversarial scenario is added to the set of worst-case scenarios and we iterate to main problem. For each of the main and adversarial problems, we show two versions: classical (CCG, boxes (a) and (c)) and learning-augmented (Neur2RO, dashed boxes (b) and (d))


Abstract

Robust optimization provides a mathematical framework for modeling and solving decision-making problems under worst-case uncertainty. This work addresses two-stage robust optimization (2RO) problems (also called adjustable robust optimization), wherein first-stage and second-stage decisions are made before and after uncertainty is realized, respectively. This results in a nested min-max-min optimization problem which is extremely challenging computationally, especially when the decisions are discrete. We propose Neur2RO, an efficient machine learning-driven instantiation of column-and-constraint generation (CCG), a classical iterative algorithm for 2RO. Specifically, we learn to estimate the value function of the second-stage problem via a novel neural network architecture that is easy to optimize over by design. Embedding our neural network into CCG yields high-quality solutions quickly as evidenced by experiments on two 2RO benchmarks, knapsack and capital budgeting. For knapsack, Neur2RO finds solutions that are within roughly 2% of the best-known values in a few seconds compared to the three hours of the state-of-the-art exact branch-and-price algorithm; for larger and more complex instances, Neur2RO finds even better solutions. For capital budgeting, Neur2RO outperforms three variants of the k-adaptability algorithm, particularly on the largest instances, with a 10 to 100-fold reduction in solution time.


[Video]





Paper and Supplementary Material

Dumouchelle, Julien, Kurtz, Khalil.
Neur2RO: Neural Two-Stage Robust Optimization.
In ICLR, 2024.
(hosted on ArXiv)


[Bibtex]