A Branch-and-Cut Algorithm for Discrete Bilevel Linear Programs

We present a branch-and-cut algorithm for solving discrete bilevel linear programs where the upper-level variables are binary and the lower-level variables are either pure integer or pure binary. This algorithm performs local search to find improved bilevel feasible solutions. We strengthen the relaxed node subproblems in the branch-and-cut search tree by generating cuts to eliminate … Read more

A scalable bounding method for multi-stage stochastic integer programs

Many dynamic decision problems involving uncertainty can be appropriately modeled as multi-stage stochastic programs. However, most practical instances are so large and/or complex that it is impossible to solve them on a single computer, especially due to memory limitations. Extending the work of Sandikci et al. (2013) on two-stage stochastic mixed-integer-programs (SMIPs), this paper develops … Read more

Two-Stage Quadratic Integer Programs with Stochastic Right-Hand Sides

We consider two-stage quadratic integer programs with stochastic right-hand sides, and present an equivalent reformulation using value functions. We fi rst derive some basic properties of value functions of quadratic integer programs. We then propose a two-phase solution approach. The first phase constructs the value functions of quadratic integer programs in both stages. The second phase … Read more

Visualizing Branch-and-Bound Algorithms

We present a suite of tools for visualizing the status and progress of branch-and-bound algorithms for mixed integer programming. By integrating these tools with the open-source codes CBC, SYMPHONY, and GLPK, we demonstrate the potential usefulness of visual representations in helping a user predict future progress of the algorithm or analyzing the algorithm’s performance. We … Read more