An Improved Implicit Enumeration Approach for Integer Programming

Arthur M. Geoffrion

Operations Research · 1969 · 231 citations · 9 references

Concepts

TL;DR

The study aims to merge the Balasian implicit enumeration framework with the Land–Doig and Roy–Bertier–Nghiem approaches to create a more powerful integer programming solver. The authors implement a simple implicit enumeration algorithm enhanced by an embedded linear program that generates strong surrogate constraints, and evaluate it on IBM 7044 hardware across set‑covering, optimal‑routing, and knapsack problems up to 90 variables. Embedding the linear program dramatically cuts solution times, outperforming five other implicit enumeration methods, and reduces the dependence on variable count from exponential to a low‑order polynomial—solving 90‑variable instances in about 15 s and 35‑variable cases in roughly 1 % of the original time.

Abstract

This paper synthesizes the Balasian implicit enumeration approach to integer linear programming with the approach typified by Land and Doig and by Roy, Bertier, and Nghiem. The synthesis results from the use of an imbedded linear program to compute surrogate constraints that are as “strong” as possible in a sense slightly different from that originally used by Glover. A simple implicit enumeration algorithm fitted with optional imbedded linear programming machinery was implemented and tested extensively on an IBM 7044. Use of the imbedded linear program greatly reduced solution times in virtually every case, and seemed to render the tested algorithm superior to the five other implicit enumeration algorithms for which comparable published experience was available. The crucial issue of the sensitivity of solution time to the number of integer variables was given special attention. Sequences were run of set-covering, optimal-routing, and knapsack problems with multiple constraints of varying sizes up to 90 variables. The results suggest that use of the imbedded linear program in the prescribed way may mitigate solution-time dependence on the number of variables from an exponential to a low-order polynomial increase. The dependence appeared to be approximately linear for the first two problem classes, with 90-variable problems typically being solved in about 15 seconds; and approximately cubic for the third class, with 80-variable problems typically solved in less than 2 minutes. In the 35-variable range for all three classes, use of the imbedded linear program reduced solution times by a factor of about 100.

References

9