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

Slides:



Advertisements
Similar presentations
Greening Backbone Networks Shutting Off Cables in Bundled Links Will Fisher, Martin Suchara, and Jennifer Rexford Princeton University.
Advertisements

Parallel Virtual Machine Rama Vykunta. Introduction n PVM provides a unified frame work for developing parallel programs with the existing infrastructure.
Adopt Algorithm for Distributed Constraint Optimization
M. Muztaba Fuad Masters in Computer Science Department of Computer Science Adelaide University Supervised By Dr. Michael J. Oudshoorn Associate Professor.
SLA-Oriented Resource Provisioning for Cloud Computing
© Imperial College London Eplex: Harnessing Mathematical Programming Solvers for Constraint Logic Programming Kish Shen and Joachim Schimpf IC-Parc.
What is GAMS?. While they are not NLP solvers, per se, attention should be given to modeling languages like: GAMS- AIMMS-
EE 553 Integer Programming
Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB) Tobias Achterberg Conflict Analysis SCIP Workshop at ZIB October 2007.
Progress in Linear Programming Based Branch-and-Bound Algorithms
Optimization Issues for Huge Datasets and Long Computation Michael Ferris University of Wisconsin, Computer Sciences Qun Chen, Jin-Ho.
Chess Problem Solver Solves a given chess position for checkmate Problem input in text format.
Condor and GridShell How to Execute 1 Million Jobs on the Teragrid Jeffrey P. Gardner - PSC Edward Walker - TACC Miron Livney - U. Wisconsin Todd Tannenbaum.
Linear Programming and CPLEX Ting-Yuan Wang Advisor: Charlie C. Chen Department of Electrical and Computer Engineering University of Wisconsin-Madison.
Computational Methods for Management and Economics Carla Gomes
Quality-Aware Segment Transmission Scheduling in Peer-to-Peer Streaming Systems Cheng-Hsin Hsu Senior Research Scientist Deutsche Telekom R&D Lab USA Los.
Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB) Tobias Achterberg Conflict Analysis in Mixed Integer Programming.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
Branch and Bound Algorithm for Solving Integer Linear Programming
AMPL Presentation 1 By Raymond Kleinberg Outline AMPL - Ugh! - What is it good for? Basics Starting a Problem Running the Problem Example.
1 Contents college 3 en 4 Book: Appendix A.1, A.3, A.4, §3.4, §3.5, §4.1, §4.2, §4.4, §4.6 (not: §3.6 - §3.8, §4.2 - §4.3) Extra literature on resource.
A Grid-enabled Branch and Bound Algorithm for Solving Challenging Combinatorial Optimization Problems Authors: M. Mezmaz, N. Melab and E-G. Talbi Presented.
Lift-and-Project cuts: an efficient solution method for mixed-integer programs Sebastian Ceria Graduate School of Business and Computational Optimization.
Knight’s Tour Distributed Problem Solving Knight’s Tour Yoav Kasorla Izhaq Shohat.
1 Global Meta-Hybrids for Large-Scale Combinatorial Optimization Professor Leyuan Shi Department of Industrial Engineering University of Wisconsin-Madison.
How to Play Sudoku & Win Integer Programming Formulation of a Popular Game Sven LeyfferSven Leyffer, Argonne, Feb. 15, 2005 (windoze powerpoint sumi painting.
HeteroPar 2013 Optimization of a Cloud Resource Management Problem from a Consumer Perspective Rafaelli de C. Coutinho, Lucia M. A. Drummond and Yuri Frota.
Distributed Systems Early Examples. Projects NOW – a Network Of Workstations University of California, Berkely Terminated about 1997 after demonstrating.
Parallel Computing The Bad News –Hardware is not getting faster fast enough –Too many architectures –Existing architectures are too specific –Programs.
Optimizing over the Split Closure Anureet Saxena ACO PhD Student, Tepper School of Business, Carnegie Mellon University. (Joint Work with Egon Balas)
A Decomposition Heuristic for Stochastic Programming Natashia Boland +, Matteo Fischetti*, Michele Monaci*, Martin Savelsbergh + + Georgia Institute of.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Grid Computing I CONDOR.
Parallel Optimization Tools for High Performance Design of Integrated Circuits WISCAD VLSI Design Automation Lab Azadeh Davoodi.
MILP algorithms: branch-and-bound and branch-and-cut
Condor: High-throughput Computing From Clusters to Grid Computing P. Kacsuk – M. Livny MTA SYTAKI – Univ. of Wisconsin-Madison
WOOD 492 MODELLING FOR DECISION SUPPORT
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
15.053Tuesday, April 9 Branch and Bound Handouts: Lecture Notes.
Condor Project Computer Sciences Department University of Wisconsin-Madison Master/Worker and Condor.
 Load balancing is the process of distributing a workload evenly throughout a group or cluster of computers to maximize throughput.  This means that.
1 Iterative Integer Programming Formulation for Robust Resource Allocation in Dynamic Real-Time Systems Sethavidh Gertphol and Viktor K. Prasanna University.
Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation.
Divide and Conquer Optimization problem: z = max{cx : x  S}
Miron Livny Computer Sciences Department University of Wisconsin-Madison Condor-G: A Computation Management.
FATCOP: A Mixed Integer Program Solver Michael FerrisQun Chen Department of Computer Sciences University of Wisconsin-Madison Jeff Linderoth, Argonne.
Solving Multistage Stochastic Linear Programs on the Computational Grid Jerry Shen June 8, 2004.
By Chi-Chang Chen.  Cluster computing is a technique of linking two or more computers into a network (usually through a local area network) in order.
Branch and Bound Algorithms Present by Tina Yang Qianmei Feng.
Miron Livny Computer Sciences Department University of Wisconsin-Madison Condor and (the) Grid (one of.
1 Chapter 6 Reformulation-Linearization Technique and Applications.
Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB) Tobias Achterberg Conflict Analysis in Mixed Integer Programming.
Sebastian Ceria Graduate School of Business and
Chapter 1: Introduction
Data Driven Resource Allocation for Distributed Learning
Integer Programming An integer linear program (ILP) is defined exactly as a linear program except that values of variables in a feasible solution have.
Condor – A Hunter of Idle Workstation
The CPLEX Library: Mixed Integer Programming
Grid Means Business OGF-20, Manchester, May 2007
MILP algorithms: branch-and-bound and branch-and-cut
Semiconductor Manufacturing (and other stuff) with Condor
Project BNB-Grid: solving large scale optimization problems in a distributed environment Good afternoon, I’m Mikhail Posypkin from Institute for System.
MIP Tools Branch and Cut with Callbacks Lazy Constraint Callback
Basic Grid Projects – Condor (Part I)
Subject Name: Operating System Concepts Subject Number:
Discrepancy and Optimization
Matteo Fischetti, University of Padova
Cynthia Phillips (Sandia National Laboratories)
Integer Programming (IP)
Presentation transcript:

FATCOP: A Mixed Integer Program Solver Michael FerrisQun 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 Problems are specified by application convenient format - GAMS, AMPL, or MPS

Branch-and-Bound Algorithm 0 Top node Integer infeasible Integer feasible incumbent = Z LP relaxation Z lp > Z LP infeasible 2 1 x f  1x f  x g  0x g  1

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) 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 and PVM Condor: a distributed resource management system Manages large heterogeneous clusters of UNIX workstations Design motivated to use ‘idle’ capacity for long-running, computation-intensive jobs PVM (parallel virtual machine): software allowing heterogeneous network of computers to appear as a single concurrent computational resource Unified framework for parallel program development PVM and Condor perfectly matched Framework to run parallel applications in a distributed opportunistic environment

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

GAMSAMPLMPS FATCOP MWCondor-PVM CPLEX OSL SOPLEX MINOS... Application Problem PVMInternet Protocol LPSOLVER INTERFACE

Problem Setup Create Work Pool Request Host Host Add Sub Solved Error Receive Solve Report Send Data Send Problem Request Host Clean Up Problem Remove Prob Update Pool Send New Problem Operation

FATCOP: Single Job

solution Message queue Host suspend Master Host deletion Task exit Host add Host resume Condor pool MIP data subproblem Condor Central Manager worker Select machines worker worker Host add requests

FATCOP Daily Log

FATCOP Weekly Log

FATCOP Monthly Log

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 optimal) Solved by FATCOP sequential solver:41 (72%) Solved by FATCOP: 46 (80%)

MIPLIB Problems: Cuts

FATCOP: sequential/parallel

FATCOP on real problems

FATCOP vs CPLEX

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 hrs –Total worker cpu time hrs –Total worker suspension time - 40 hrs

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”

Without Rounding Heuristic

With Rounding Heuristic

Set Covering Problem min c T x s.t.Ex>=e and x j = 0 or 1 E  {0,1} 300  600,c i  U(1,20) Rounding heuristic every 10 iterations Do “good solutions” early in the process help?

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?

Product Design: MIP + GA

K LFATCOP (no heur)FATCOP(with heur)CPLEX 5 53, , ,71511,18027, ,34046,395239,973 Tree size for the problem with N=50

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 Turn on all user defined heuristics Provable optimal solution found ,115,883 75The 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 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 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 –average number of machine used is 108 CPLEX –12 days, 10 hrs with 356,600 nodes –single machine, clique cuts useful

Future Work How to use heuristics to guide node selection and branching variable selection? Fly-in FATCOP FATCOP under AMPL Branch and Cut algorithm