Top Banner
FATCOP: A Mixed Integer Program Solver Michael Ferris Qun Chen University of Wisconsin-Madison Jeffrey Linderoth Argonne National Laboratories
23

FATCOP: A Mixed Integer Program Solver

Jan 17, 2016

Download

Documents

Arion

FATCOP: A Mixed Integer Program Solver. Michael Ferris Qun Chen University of Wisconsin-Madison Jeffrey Linderoth Argonne National Laboratories. MIP formulation. minimize c T x subject to Ax  b l  x  u and some x j integer. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: FATCOP: A Mixed Integer Program Solver

FATCOP: A Mixed Integer Program Solver

Michael Ferris Qun ChenUniversity of Wisconsin-Madison

Jeffrey Linderoth Argonne National Laboratories

Page 2: FATCOP: A Mixed Integer Program Solver

MIP formulationMIP formulation

minimize cTxsubject to Ax b

l x uand some xj integer

Problems are specified by application convenient format - GAMS, AMPL, or MPS

Page 3: FATCOP: A Mixed Integer Program Solver

Branch-and-Bound Branch-and-Bound AlgorithmAlgorithm

0 Top node

Integer infeasible

Integer feasibleincumbent = Z

LP relaxationZlp > Z

LP infeasible

21

xf 1xf 0

3 4

xg 0 xg 1

Page 4: FATCOP: A Mixed Integer Program Solver

The “Seymour Problem”

• Set covering problem used in proof of four color theorem

• CPLEX 6.0 and Condor (2 option files)• Running since June 23, 1999• Currently >340 days CPU time per

job• (7.9 million nodes; 1.5 million nodes)

Page 5: FATCOP: A Mixed Integer Program Solver

FAT COP

• FAT - large # of processors – opportunistic environment (Condor)

• COP - Master Worker control– fault tolerant: task exit, host suspend– portable parallel programming

• Mixed Integer Program Solver– Branch and Bound: LP relaxations – MPS file, AMPL or GAMS input

Page 6: FATCOP: A Mixed Integer Program Solver

condor

master worker

Condor Pool

startd

startdstartd

startd

startd startd

startd

startd

startd

startd

condorINTERNET

shadow(global RM)

FATCOP

Master pvmd

FATCOP worker

worker pvmd

starter(local RM)

Page 7: FATCOP: A Mixed Integer Program Solver

GAMS AMPLMPS

FATCOPFATCOP

MW

Condor-PVM

CPLEXOSL

SOPLEXMINOS

...

Application Problem

PVM

Internet Protocol

LPSO

LVER

INTER

FAC

E

Page 8: FATCOP: A Mixed Integer Program Solver

FATCOP Daily Log

Page 9: FATCOP: A Mixed Integer Program Solver

MIP Technology

• Each task is a subtree, time limit– Diving heuristic– Cutting planes (global)– Pseudocosts– Preprocessing

• Master checkpoint• Worker has state, how to share

info?

Page 10: FATCOP: A Mixed Integer Program Solver
Page 11: FATCOP: A Mixed Integer Program Solver

TEST on MIPLIB TEST on MIPLIB problemsproblems

MIPLIB: 57 problems, varying size and difficulty (several not proven optimal)

Solved by FATCOP sequential solver: 41 (72%)

Solved by FATCOP: 46 (80%)

Page 12: FATCOP: A Mixed Integer Program Solver

EXECUTION TIME TREE SIZESEQUENTIAL PARALLEL SPEEDUP SEQUENTIAL PARALLEL

10TEAMSAIR04AIR05DANOINTL1521AVPK1PP08ACUTSQIUROUTVPM2

3.2 8.716.3-

0.683.66.4

0.51-

0.55

0.20 0.73 0.4216.8

0.06 0.78 2.8

0.0811.7

0.18

16.011.939.1 -11.9 4.6 2.3 6.1 - 3.2

10,130 3,606 18,512 - 4,0463,564,0813,469,870 13,842 - 626,358

9,340 3,666 14,755 686,680 4,7023,047,9815,001,600 9,6874,510,6701,088,824

Time in hours (“-“ means time limit of 48 hours exceeded)

FATCOP: sequential/parallel

Page 13: FATCOP: A Mixed Integer Program Solver

Name Executiontime

Tree size Avg. # ofMachines

SolutionGap

Applicationarea

MCSCHED

NSA

SP97IC

SP98AR

SP98IC

1.3 hrs

31.8 hrs

2.1 hrs

1.1 hrs

0.7 hrs

1,331,176

255,854,364

22,588

147,597

130,600

41

111

35

33

23

0%

0%

3%

3%

3%

ConferenceScheduling

NationalSecurity

Dutch Railway

Dutch Railway

Dutch Railway

FATCOP on real problems

Page 14: FATCOP: A Mixed Integer Program Solver

5% 3% 1% 0%Name

FATCOP CPLEX FATCOP CPLEX FATCOP CPLEX FATCOP CPLEX

Applicationarea

MCSCHED

NSA

SP97IC

SP98AR

SP98IC

1.2

18.6

0.7

0.4

0.3

-

-

3.2

2.4

1.4

1.3

24.5

2.1

1.1

0.7

-

-

-

3.8

1.4

2.8

29.2

-

-

-

-

-

-

-

-

1.3

31.8

-

-

-

-

-

-

-

-

ConferenceSchedulingNationalSecurityDutchRailwayDutchRailwayDutchRailway

Time unit is hour.“-“ indicates reached time limit of 48 hours.

FATCOP vs CPLEX

Page 15: FATCOP: A Mixed Integer Program Solver

Machine utilization

• For one run of “NSA” problem, used 122 machines (linux, intel/solaris, sun), 26 from UNM, 11 from NCSA.– Average number of machines in use

111– Wall clock time - 31.8 hrs – Total worker cpu time - 3014 hrs– Total worker suspension time - 40 hrs

Page 16: FATCOP: A Mixed Integer Program Solver

Simple Interfaces

• Write the heuristic code in C/C++– Perform heuristics at root node– Rounding/reformulation at any node– Searching heuristics at integer nodes

• Compile and copy the object file to the solver directory

• Turn on option “perform heuristics”

Page 17: FATCOP: A Mixed Integer Program Solver

Product Design Product Design ProblemProblem

• Maximize market share by choosing a product profile (or other objectives)– Product has K attributes, and each

attribute has L levels, N customers

• Important marketing problem• NP hard, but good heuristics

– How good are these solutions?

Page 18: FATCOP: A Mixed Integer Program Solver

MIP Solution for MIP Solution for Product Design using Product Design using

FATCOPFATCOP• Run FATCOP parallel solver

• Incorporate following user defined heuristics:– Upper bound (NP/GA heuristics)– Priority Branching (Greedy heuristic)– Reformulation (both in root and

subtrees)

Page 19: FATCOP: A Mixed Integer Program Solver

Product design - optimality

• K=12, L=3, N=200• Use FATCOP parallel solver• Turn on all user defined heuristics• Provable optimal solution found• The FATCOP job lasted 10.110.1 hours,

evaluated 18,115,88318,115,883 nodes and utilized 7575 machines on average

Page 20: FATCOP: A Mixed Integer Program Solver

Product design - practicality

• K=12, L=3, N=200• Use FATCOP sequential solver• Turn on all user defined heuristics• Prove the solution found by

heuristics is within 20% gap in about 90,000 nodes.

• Run CPLEX MIP solver for comparison

Page 21: FATCOP: A Mixed Integer Program Solver
Page 22: FATCOP: A Mixed Integer Program Solver

Back to Seymour

• Schmieta, Pataki, Linderoth and Ferris– explored to depth 8 in tree– applied cuts at each of these 256 nodes– solved in parallel, using whatever resources

available (CPLEX, FATCOP,...)

• Problem solved with over 1 year CPU– over 10 million nodes, 11,000 hours

Page 23: FATCOP: A Mixed Integer Program Solver

Seymour Node 319

• FATCOP– 47.0 hrs with 2,887,808 nodes– average number of machine used is

108

• CPLEX– 12 days, 10 hrs with 356,600 nodes– single machine, clique cuts useful