Abstract

This paper considers a modification of the branch-and-cut algorithm for Mixed Integer Linear Programming where branching is performed on general disjunctions rather than on variables. We select promising branching disjunctions based on a heuristic measure of disjunction quality. This measure exploits the relation between branching disjunctions and intersection cuts. In this work, we focus on disjunctions defining the mixed integer Gomory cuts at an optimal basis of the linear programming relaxation. The procedure is tested on instances from the literature. Experiments show that, for a majority of the instances, the enumeration tree obtained by branching on these general disjunctions has a smaller size than the tree obtained by branching on variables, even when variable branching is performed using full strong branching.

Highlights

  • Branch-and-cut is the most widely used algorithm for solving Mixed Integer Linear Programs (MILP)

  • The test set for our experiments is the union of the Mixed Integer Linear Programming libraries MIPLIB 2.0 [28], MIPLIB 3.0 [10], and MIPLIB 2003 [4]

  • We propose a procedure for branching on general disjunctions as part of a branch-and-cut algorithm for solving Mixed Integer Linear Programming problems

Read more

Summary

Introduction

Branch-and-cut is the most widely used algorithm for solving Mixed Integer Linear Programs (MILP). In general purpose MILP solvers, branching objects are variables—the “best” candidate is chosen among the integer variables that have a fractional value in the current optimal solution of a linear programming relaxation of MILP. If an integer-constrained variable, x j, has a fractional value xj, we impose the constraint x j ≤ xj in one of the children and x j ≥ xj in the other. This can be viewed as adding the constraints πT x ≤ π0 and πT x ≥ π0 + 1, respectively, where π = e j, the j-th unit vector, and π0 = xj. General disjunctions are known as split disjunctions [12]

Objectives
Methods
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call