Rapid Implementation of Branch-and-Cut with
Heuristics using GAMSHerman Abeledo and Hua (Edward) Ni
George Washington University
Michael Bussieck and Alex MeerausGAMS Development Corporation
Informs Annual Meeting 2003October 19-22, 2003, Atlanta, Georgia
2
Branch-and-Cut
• Branch-and-cut is an established algorithm to improve the branch-and-bound search.
• Implementation facilities:– MIP solver callback functions (e.g. CPLEX,
XPRESS)– Branch-and-cut framework (e.g. ABACUS,
SYMPHONY, COIN BCP)• Heuristic algorithms can help branch-and-
bound search by strong pruning.
3
Convergence – Pipeline Design
1280.7
1351.85
1423
1494.15
1565.3
1636.45
0 300 600 900 1200 1500 1800
Computation Time (seconds)
B&C&H_DualB&C&H_PrimalCPLEX_DualCPLEX_PrimalB&C_DualB&C_Primal
4
Knowledge Requirements
• IT knowledge (programming in C/C++, JAVA, Solver APIs)
• Mathematical programming knowledge • Application specific knowledge
Design Goal
• Supply GAMS users with an easy access to Branch-and-cut capabilities.
• Relieve GAMS users from the burden of learning a new programming language and/or acquiring solver-specific knowledge, so that they can focus more on the design of cutting planes and heuristic algorithms.
Design Principle
GAMS SYSTEM
GAMSSolverLink
MIP Solver(e.g. CPLEX)
B&B Callback
UserCut
Generator&
Heuristics(e.g. GAMS)
7
Implementation Issues
• GDX interface for information exchange• Namespace mapping facility• Option file support• DLL/SO or GAMS support• Incumbent solution validation
A Steiner Tree Problem
• Ortega, F., Wolsey, L. 2003. A Branch-and-cut Algorithm for the Single-commodity, Uncapacitated, Fixed-charge Network Flow Problem. Networks, Vol 41, 143-158
• Berlin52 – from SteinLib– 52 nodes (16 terminals)– 1326 edges
9
Model Formulation
10
Dicut Inequality and Separation
• Dicut inequality:
if S⊂V and b(S)>0.• Separation:
11
A Simple Heuristic
• Delete the arcs with zero values in the current fractional solution.
• Solve the original model in a smaller scale.
12
Cut Generator in GAMS I
13
Cut Generator in GAMS II
14
Convergence – Steiner Tree
626.4
835.2
1044
1252.8
0 300 600 900 1200 1500 1800
Compuation Time (seconds)
B&C&H_DualB&C&H_PrimalB&C_DualB&C_Primal
CPLEX_DualCPLEX_Primal
An Oil Pipeline Design Problem
1
2
3
4
5
7
9
10
11
• Brimberg, J., et. al. 2003. An Oil Pipeline Design Problem. Operations Research, Vol 51, 228-239
16
South Gabon Oil field
• 33 nodes – 25 wells– 7 connections– 1 port
• 129 arcs• 5 types of pipe
17
Model Formulation
18
Cost Approximation
Piece-wise Linear Pipeline Cost Approximation
01020304050607080
0 20 40 60 80 100
Pipeline Capacity
Cos
t
Type 1 Type 2 Type 3 Type 4 Type 5Capacity 5 10 25 50 100
Cost 10 15 25 40 65Approx. Cost 14.5 15 20 40 80
19
Two-Stage Heuristic Algorithm
• Stage One: Piecewise linear cost approximation
• Stage Two: Layout fixing
20
Cutting Plane Generation
• Valid cut inequality
• Generation
21
Convergence – Pipeline Design
1280.7
1351.85
1423
1494.15
1565.3
1636.45
0 300 600 900 1200 1500 1800
Computation Time (seconds)
B&C&H_DualB&C&H_PrimalCPLEX_DualCPLEX_PrimalB&C_DualB&C_Primal
Computational Results
• Overhead– Time spent within the callback functions minus
MIP computation on cuts and heuristics.– 20% ~ 25%
• Performance Improvements– Steiner: 6 hours vs. 2+ days– Pipeline Design: 20 minutes vs. 450 minutes
Top Related