Bilevel programming and the separation problem

A. Lodi, T.K. Ralphs, G.J. Woeginger

Research output: Contribution to journalArticleAcademicpeer-review

18 Citations (Scopus)


In recent years, branch-and-cut algorithms have become firmly established as the most effective method for solving generic mixed integer linear programs (MILPs). Methods for automatically generating inequalities valid for the convex hull of solutions to such MILPs are a critical element of branch-and-cut. This paper examines the nature of the so-called separation problem, which is that of generating a valid inequality violated by a given real vector, usually arising as the solution to a relaxation of the original problem. We show that the problem of generating a maximally violated valid inequality often has a natural interpretation as a bilevel program. In some cases, this bilevel program can be easily reformulated as a simple single-level mathematical program, yielding a standard mathematical programming formulation for the separation problem. In other cases, no such polynomial-size single-level reformulation exists unless the polynomial hierarchy collapses to its first level (an event considered extremely unlikely in computational complexity theory). We illustrate our insights by considering the separation problem for two well-known classes of valid inequalities. Keywords: Bilevel programming; Cutting planes; Separation; Computational complexity
Original languageEnglish
Pages (from-to)437-458
Number of pages22
JournalMathematical Programming
Issue number1-2
Publication statusPublished - 2014


Dive into the research topics of 'Bilevel programming and the separation problem'. Together they form a unique fingerprint.

Cite this