fatcop: a mixed integer program solver
DESCRIPTION
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 PresentationTRANSCRIPT
![Page 1: FATCOP: A Mixed Integer Program Solver](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56814d04550346895dba331b/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56814d04550346895dba331b/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56814d04550346895dba331b/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56814d04550346895dba331b/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56814d04550346895dba331b/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56814d04550346895dba331b/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56814d04550346895dba331b/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56814d04550346895dba331b/html5/thumbnails/8.jpg)
FATCOP Daily Log
![Page 9: FATCOP: A Mixed Integer Program Solver](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56814d04550346895dba331b/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56814d04550346895dba331b/html5/thumbnails/10.jpg)
![Page 11: FATCOP: A Mixed Integer Program Solver](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56814d04550346895dba331b/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56814d04550346895dba331b/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56814d04550346895dba331b/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56814d04550346895dba331b/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56814d04550346895dba331b/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56814d04550346895dba331b/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56814d04550346895dba331b/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56814d04550346895dba331b/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56814d04550346895dba331b/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56814d04550346895dba331b/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56814d04550346895dba331b/html5/thumbnails/21.jpg)
![Page 22: FATCOP: A Mixed Integer Program Solver](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56814d04550346895dba331b/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062409/56814d04550346895dba331b/html5/thumbnails/23.jpg)
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