Using Less for More: When Warm-Starting Accelerates Branch-and-Cut for Stochastic Programs
Two-stage stochastic programs quickly become intractable as the number of scenarios grows. Motivated by this, we propose TULIP, a modular and easy-to-implement three-step warm-start framework for two-stage stochastic (mixed-)integer programs with an exponential number of cuts separated during branch-and-cut. TULIP (a) builds a cheap surrogate of the full problem by reducing the scenario set or by decoupling the two stages, (b) solves it up to a first incumbent to collect the tight cuts separated along the way, and (c) injects them to warm-start the original problem. In short: we use less (a cheaper surrogate) for more (the original problem). Using this modular setup, we propose four methods within this framework, each with a slightly different setting. Across four case studies, we show that this acceleration is governed by a single mechanism, the root cut loop, and we specify it through a closed-form equation. This TULIP speedup model predicts a speedup when the time saved in the root cut loop exceeds the surrogate overhead. In our experiments, a TULIP variant achieves mean speedups of up to 2.56, with gains increasing with the scenario count. In the remaining case studies, TULIP provides little or no runtime benefit, which the TULIP speedup model mostly explains through insufficient root cut loop savings compared to the surrogate overhead.