FATCOP A Mixed Integer Program Solver Michael Ferris

  • Slides: 23
Download presentation
FATCOP: A Mixed Integer Program Solver Michael Ferris Qun Chen University of Wisconsin-Madison Jeffrey

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

MIP formulation minimize subject to b c Tx Ax l x u xj and

MIP formulation minimize subject to b c Tx Ax l x u xj and some integer Problems are specified by application convenient format - GAMS, AMPL, or MPS

Branch-and-Bound Algorithm 0 xf 0 Integer infeasible xg 0 LP relaxation Zlp > Z

Branch-and-Bound Algorithm 0 xf 0 Integer infeasible xg 0 LP relaxation Zlp > Z 3 Top node xf 1 1 2 xg 1 4 LP infeasible Integer feasible incumbent = Z

The “Seymour Problem” • Set covering problem used in proof of four color theorem

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)

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

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

condor INTERNET condor startd master worker shadow (global RM) startd starter (local RM) FATCOP

condor INTERNET condor startd master worker shadow (global RM) startd starter (local RM) FATCOP worker FATCOP startd Master pvmd worker pvmd startd Condor Pool startd

Application Problem MPS GAMS MW Condor-PVM Internet Protocol LPSOLVER INTERFACE FATCOP AMPL CPLEX OSL

Application Problem MPS GAMS MW Condor-PVM Internet Protocol LPSOLVER INTERFACE FATCOP AMPL CPLEX OSL SOPLEX MINOS. . .

FATCOP Daily Log

FATCOP Daily Log

MIP Technology • Each task is a subtree, time limit – – Diving heuristic

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?

TEST on MIPLIB problems MIPLIB: 57 problems, varying size and difficulty (several not proven

TEST on MIPLIB problems MIPLIB: 57 problems, varying size and difficulty (several not proven optimal) Solved by FATCOP sequential solver: 41 (72%) Solved by FATCOP: 46 (80%)

FATCOP: sequential/parallel

FATCOP: sequential/parallel

FATCOP on real problems

FATCOP on real problems

FATCOP vs CPLEX

FATCOP vs CPLEX

Machine utilization • For one run of “NSA” problem, used 122 machines (linux, intel/solaris,

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

Simple Interfaces • Write the heuristic code in C/C++ – Perform heuristics at root

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”

Product Design Problem • Maximize market share by choosing a product profile (or other

Product Design Problem • 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?

MIP Solution for Product Design using FATCOP • Run FATCOP parallel solver • Incorporate

MIP Solution for Product Design using FATCOP • Run FATCOP parallel solver • Incorporate following user defined heuristics: – Upper bound (NP/GA heuristics) – Priority Branching (Greedy heuristic) – Reformulation (both in root and subtrees)

Product design - optimality • • • K=12, L=3, N=200 Use FATCOP parallel 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. 1 hours, evaluated 18, 115, 883 nodes and utilized 75 machines on average

Product design - practicality • • K=12, L=3, N=200 Use FATCOP sequential solver Turn

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

Back to Seymour • Schmieta, Pataki, Linderoth and Ferris – explored to depth 8

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

Seymour Node 319 • FATCOP – 47. 0 hrs with 2, 887, 808 nodes

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