22
Rapid Implementation of Branch-and-Cut with Heuristics using GAMS Herman Abeledo and Hua (Edward) Ni George Washington University Michael Bussieck and Alex Meeraus GAMS Development Corporation Informs Annual Meeting 2003 October 19-22, 2003, Atlanta, Georgia

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

  • Upload
    others

  • View
    15

  • Download
    0

Embed Size (px)

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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