Elsevier

Operations Research Letters

Volume 33, Issue 1, January 2005, Pages 42-54
Operations Research Letters

Branching rules revisited

https://doi.org/10.1016/j.orl.2004.04.002 Get rights and content

Abstract

We present a new generalization called reliability branching of today's state-of-the-art strong branching and pseudocost branching strategies for linear programming based branch-and-bound algorithms. After reviewing commonly used branching strategies and performing extensive computational studies we compare different parameter settings and show the superiority of our proposed new strategy.

Introduction

In this paper we are dealing with mixed integer programs (MIPs), which are optimization problems of the following form: c = min c T x, Ax⩽b, x∈ Z I × R N⧹I , with A∈ R m×n , b∈ R m , c∈ R n , IN={1,…,n}.

Among the most successful methods are currently linear programming based branch-and-bound (B&B) algorithms where the underlying linear programs (LPs) are possibly strengthened by cutting planes. Most commercial integer programming solvers, see [6], are based on this method. As we will see below, B&B algorithms leave two choices: how to split a problem (branching) and which (sub)problem to select next. In this paper we focus on the branching step and introduce a new generalization that contains many of the known branching rules as special cases. We show that specific choices of parameters for this new class of branching rules perform in most cases better than the current rules when tested on real-world instances.

In Section 2 we review current branching strategies from the literature and present our new generalization. In Section 3 the results of extensive numerical tests on specific parameter choices are presented.

We use the following notation. XMIP denotes the set of feasible solutions of (1), and we set c=∞ if XMIP=∅. The linear programming relaxation of (1) is obtained by removing the integrality constraints c ̄ P LP = min {c T x | x∈P LP }, where P LP ={x∈ R n | Ax⩽b} . We also denote c ̄ P LP =∞ if PLP=∅. Obviously, c ̄ P LP ⩽c , since PLPXMIP. A typical LP based B&B algorithm for solving (1) looks as follows:

Algorithm 1 LP-based branch-and-bound

Input: A MIP in the form (1).

Output: An optimal solution xXMIP and its value c=cTx or the conclusion that XMIP=∅, denoted by c≔∞.

  • 1.

    Initialize the problem set S≔{PLP} with the LP relaxation of the MIP. Set c≔∞.

  • 2.

    If S=∅, exit by returning the value c

    (with an optimal solution x).

  • 3.

    Choose a problem QS and delete it from S.

  • 4.

    Solve the linear program c ̄ Q = min {c T x | x∈Q} with optimal solution x ̄ Q , where Q might have been strengthened by cutting planes.

  • 5.

    If c ̄ Q ⩾c , goto 2.

  • 6.

    If x ̄ Q ∈X MIP , set c c ̄ Q and x x ̄ Q , goto 2.

  • 7.

    Branching: Split Q into subproblems, add them to S and goto 3.

If it is clear from the context we omit Q from all parameters and write , , etc. instead of c ̄ Q , x ̄ Q , etc.

Section snippets

Branching rules

Since branching is in the core of any B&B algorithm, finding good strategies was important to practical MIP solving right from the beginning [3], [13]. We refrain from giving details of all existing strategies, but concentrate on the most popular rules used in todays MIP solvers. For a comprehensive study of B&B strategies we refer to [8], [10] and the references therein.

The only way to split a problem Q within an LP based B&B algorithm is to branch on linear inequalities in order to keep the

Computational results

In this section we compare computational results for different branching rules and parameter settings on several MIP instances. All calculations were performed on a 833 MHz Alpha 21264 workstation with 4 MB Cache and 2 GB RAM.

Conclusion

It was shown that a more intensive dynamic use of strong branching leads to significant improvements in both the number of B&B nodes and the time needed to solve the considered problem instances.

It also became evident, that there is still a gap to the number of nodes needed using full strong branching (Fig. 2). The question is whether it is possible to bridge this gap without increasing the time spent per node too much.

References (15)

  • A. Land et al.

    Computer codes for problems of integer programming

    Ann. Discrete Math

    (1979)
  • T. Achterberg, T. Koch, A. Martin, The mixed integer programming library: MIPLIB 2003, 2003....
  • D. Applegate, R.E. Bixby, V. Chvátal, W. Cook, Finding cuts in the TSP, Technical Report 95-05, DIMACS, March...
  • M. Benichou et al.

    Experiments in mixed-integer programming

    Math. Programming

    (1971)
  • R. Borndörfer et al.

    Decomposing matrices into blocks

    SIAM J. Optim

    (1998)
  • J.M. Clochard, D. Naddef, Using path inequalities in a branch-and-cut code for the symmetric traveling salesman...
  • B. Fourer

    2003 Software surveylinear programming

    OR/MS Today

    (2003)
There are more references available in the full text version of this article.

Cited by (367)

  • A branch-and-cut algorithm for scheduling train platoons in urban rail networks

    2024, Transportation Research Part B: Methodological
  • Pickup capacitated vehicle routing problem with three-dimensional loading constraints: Model and algorithms

    2023, Transportation Research Part E: Logistics and Transportation Review
View all citing articles on Scopus
View full text