rapid implementation of branch-and-cut with heuristics ... · branch-and-cut capabilities. •...
TRANSCRIPT
![Page 1: Rapid Implementation of Branch-and-Cut with Heuristics ... · Branch-and-cut capabilities. • Relieve GAMS users from the burden of learning a new programming language and/or acquiring](https://reader033.vdocuments.site/reader033/viewer/2022042111/5e8c059671158840844ae2d2/html5/thumbnails/1.jpg)
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
![Page 2: Rapid Implementation of Branch-and-Cut with Heuristics ... · Branch-and-cut capabilities. • Relieve GAMS users from the burden of learning a new programming language and/or acquiring](https://reader033.vdocuments.site/reader033/viewer/2022042111/5e8c059671158840844ae2d2/html5/thumbnails/2.jpg)
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.
![Page 3: Rapid Implementation of Branch-and-Cut with Heuristics ... · Branch-and-cut capabilities. • Relieve GAMS users from the burden of learning a new programming language and/or acquiring](https://reader033.vdocuments.site/reader033/viewer/2022042111/5e8c059671158840844ae2d2/html5/thumbnails/3.jpg)
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
![Page 4: Rapid Implementation of Branch-and-Cut with Heuristics ... · Branch-and-cut capabilities. • Relieve GAMS users from the burden of learning a new programming language and/or acquiring](https://reader033.vdocuments.site/reader033/viewer/2022042111/5e8c059671158840844ae2d2/html5/thumbnails/4.jpg)
4
Knowledge Requirements
• IT knowledge (programming in C/C++, JAVA, Solver APIs)
• Mathematical programming knowledge • Application specific knowledge
![Page 5: Rapid Implementation of Branch-and-Cut with Heuristics ... · Branch-and-cut capabilities. • Relieve GAMS users from the burden of learning a new programming language and/or acquiring](https://reader033.vdocuments.site/reader033/viewer/2022042111/5e8c059671158840844ae2d2/html5/thumbnails/5.jpg)
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.
![Page 6: Rapid Implementation of Branch-and-Cut with Heuristics ... · Branch-and-cut capabilities. • Relieve GAMS users from the burden of learning a new programming language and/or acquiring](https://reader033.vdocuments.site/reader033/viewer/2022042111/5e8c059671158840844ae2d2/html5/thumbnails/6.jpg)
Design Principle
GAMS SYSTEM
GAMSSolverLink
MIP Solver(e.g. CPLEX)
B&B Callback
UserCut
Generator&
Heuristics(e.g. GAMS)
![Page 7: Rapid Implementation of Branch-and-Cut with Heuristics ... · Branch-and-cut capabilities. • Relieve GAMS users from the burden of learning a new programming language and/or acquiring](https://reader033.vdocuments.site/reader033/viewer/2022042111/5e8c059671158840844ae2d2/html5/thumbnails/7.jpg)
7
Implementation Issues
• GDX interface for information exchange• Namespace mapping facility• Option file support• DLL/SO or GAMS support• Incumbent solution validation
![Page 8: Rapid Implementation of Branch-and-Cut with Heuristics ... · Branch-and-cut capabilities. • Relieve GAMS users from the burden of learning a new programming language and/or acquiring](https://reader033.vdocuments.site/reader033/viewer/2022042111/5e8c059671158840844ae2d2/html5/thumbnails/8.jpg)
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
![Page 9: Rapid Implementation of Branch-and-Cut with Heuristics ... · Branch-and-cut capabilities. • Relieve GAMS users from the burden of learning a new programming language and/or acquiring](https://reader033.vdocuments.site/reader033/viewer/2022042111/5e8c059671158840844ae2d2/html5/thumbnails/9.jpg)
9
Model Formulation
![Page 10: Rapid Implementation of Branch-and-Cut with Heuristics ... · Branch-and-cut capabilities. • Relieve GAMS users from the burden of learning a new programming language and/or acquiring](https://reader033.vdocuments.site/reader033/viewer/2022042111/5e8c059671158840844ae2d2/html5/thumbnails/10.jpg)
10
Dicut Inequality and Separation
• Dicut inequality:
if S⊂V and b(S)>0.• Separation:
![Page 11: Rapid Implementation of Branch-and-Cut with Heuristics ... · Branch-and-cut capabilities. • Relieve GAMS users from the burden of learning a new programming language and/or acquiring](https://reader033.vdocuments.site/reader033/viewer/2022042111/5e8c059671158840844ae2d2/html5/thumbnails/11.jpg)
11
A Simple Heuristic
• Delete the arcs with zero values in the current fractional solution.
• Solve the original model in a smaller scale.
![Page 12: Rapid Implementation of Branch-and-Cut with Heuristics ... · Branch-and-cut capabilities. • Relieve GAMS users from the burden of learning a new programming language and/or acquiring](https://reader033.vdocuments.site/reader033/viewer/2022042111/5e8c059671158840844ae2d2/html5/thumbnails/12.jpg)
12
Cut Generator in GAMS I
![Page 13: Rapid Implementation of Branch-and-Cut with Heuristics ... · Branch-and-cut capabilities. • Relieve GAMS users from the burden of learning a new programming language and/or acquiring](https://reader033.vdocuments.site/reader033/viewer/2022042111/5e8c059671158840844ae2d2/html5/thumbnails/13.jpg)
13
Cut Generator in GAMS II
![Page 14: Rapid Implementation of Branch-and-Cut with Heuristics ... · Branch-and-cut capabilities. • Relieve GAMS users from the burden of learning a new programming language and/or acquiring](https://reader033.vdocuments.site/reader033/viewer/2022042111/5e8c059671158840844ae2d2/html5/thumbnails/14.jpg)
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
![Page 15: Rapid Implementation of Branch-and-Cut with Heuristics ... · Branch-and-cut capabilities. • Relieve GAMS users from the burden of learning a new programming language and/or acquiring](https://reader033.vdocuments.site/reader033/viewer/2022042111/5e8c059671158840844ae2d2/html5/thumbnails/15.jpg)
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
![Page 16: Rapid Implementation of Branch-and-Cut with Heuristics ... · Branch-and-cut capabilities. • Relieve GAMS users from the burden of learning a new programming language and/or acquiring](https://reader033.vdocuments.site/reader033/viewer/2022042111/5e8c059671158840844ae2d2/html5/thumbnails/16.jpg)
16
South Gabon Oil field
• 33 nodes – 25 wells– 7 connections– 1 port
• 129 arcs• 5 types of pipe
![Page 17: Rapid Implementation of Branch-and-Cut with Heuristics ... · Branch-and-cut capabilities. • Relieve GAMS users from the burden of learning a new programming language and/or acquiring](https://reader033.vdocuments.site/reader033/viewer/2022042111/5e8c059671158840844ae2d2/html5/thumbnails/17.jpg)
17
Model Formulation
![Page 18: Rapid Implementation of Branch-and-Cut with Heuristics ... · Branch-and-cut capabilities. • Relieve GAMS users from the burden of learning a new programming language and/or acquiring](https://reader033.vdocuments.site/reader033/viewer/2022042111/5e8c059671158840844ae2d2/html5/thumbnails/18.jpg)
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
![Page 19: Rapid Implementation of Branch-and-Cut with Heuristics ... · Branch-and-cut capabilities. • Relieve GAMS users from the burden of learning a new programming language and/or acquiring](https://reader033.vdocuments.site/reader033/viewer/2022042111/5e8c059671158840844ae2d2/html5/thumbnails/19.jpg)
19
Two-Stage Heuristic Algorithm
• Stage One: Piecewise linear cost approximation
• Stage Two: Layout fixing
![Page 20: Rapid Implementation of Branch-and-Cut with Heuristics ... · Branch-and-cut capabilities. • Relieve GAMS users from the burden of learning a new programming language and/or acquiring](https://reader033.vdocuments.site/reader033/viewer/2022042111/5e8c059671158840844ae2d2/html5/thumbnails/20.jpg)
20
Cutting Plane Generation
• Valid cut inequality
• Generation
![Page 21: Rapid Implementation of Branch-and-Cut with Heuristics ... · Branch-and-cut capabilities. • Relieve GAMS users from the burden of learning a new programming language and/or acquiring](https://reader033.vdocuments.site/reader033/viewer/2022042111/5e8c059671158840844ae2d2/html5/thumbnails/21.jpg)
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
![Page 22: Rapid Implementation of Branch-and-Cut with Heuristics ... · Branch-and-cut capabilities. • Relieve GAMS users from the burden of learning a new programming language and/or acquiring](https://reader033.vdocuments.site/reader033/viewer/2022042111/5e8c059671158840844ae2d2/html5/thumbnails/22.jpg)
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