Generating Cuts from Surrogate Constraint Analysis for Zero-One and Multiple Choice Programming

Fred Glover, Hanif D. Sherali, Youngho Lee

Research output: Contribution to journalArticle

21 Citations (Scopus)

Abstract

This paper presents a new surrogate constraint analysis that gives rise to a family of strong valid inequalities called surrogate-knapsack (S-K) cuts. The analytical procedure presented provides a strong S-K cut subject to constraining the values of selected cut coefficients, including the right-hand side. Our approach is applicable to both zero-one integer problems and problems having multiple choice (generalized upper bound) constraints. We also develop a strengthening process that further tightens the S-K cut obtained via the surrogate analysis. Building on this, we develop a polynomial-time separation procedure that successfully generates an S-K cut that renders a given non-integer extreme point infeasible. We show how sequential lifting processes can be viewed in our framework, and demonstrate that our approach can obtain facets that are not available to standard lifting methods. We also provide a related analysis for generating "fast cuts". Finally, we present computational results of the new S-K cuts for solving 0-1 integer programming problems. Our outcomes disclose that the new cuts are capable of reducing the duality gap between optimal continuous and integer feasible solutions more effectively than standard lifted cover inequalities, as used in modern codes such as the CPLEX mixed 0-1 integer programming solver.

Original languageEnglish
Pages (from-to)151-172
Number of pages22
JournalComputational Optimization and Applications
Volume8
Issue number2
DOIs
Publication statusPublished - 1997 Jan 1

    Fingerprint

Keywords

  • Chvátal Gomory cuts
  • Fractional surrogate constraint cuts
  • Knapsack polytope
  • Liftings
  • Separation procedure
  • Surrogate-knapsack cuts

ASJC Scopus subject areas

  • Control and Optimization
  • Computational Mathematics
  • Applied Mathematics

Cite this