Solving Difficult MIP Problems using GAMS and Condor

Similar documents
Rapid Application Development & Grid Computing Using GAMS. Software Demonstration INFORMS San Francisco 2005

High Throughput Computing and Sampling Issues for Optimization in Radiotherapy

GAMS. Grid Computing

Agenda. GAMS Development / GAMS Software. GAMS at a Glance. An illustrative Example: The Mean Variance Model. Grid Computing

A Parallel Macro Partitioning Framework for Solving Mixed Integer Programs

State-of-the-Optimization using Xpress-MP v2006

Rapid Application Prototyping using GAMS

Design Principles that Make the Difference

NEOS.jl (and other things)

Solving a Challenging Quadratic 3D Assignment Problem

c 2001 Society for Industrial and Applied Mathematics

Solving Scenarios in the Cloud

The MIP-Solving-Framework SCIP

Using Multiple Machines to Solve Models Faster with Gurobi 6.0

A LARGE SCALE INTEGER AND COMBINATORIAL OPTIMIZER

Advanced Use of GAMS Solver Links

LaGO - A solver for mixed integer nonlinear programming

GAMS Striving for Innovation and Compatibility

GAMS. General Algebraic Modeling System. EURO 2009 Bonn. Michael Bussieck Jan-Hendrik Jagla

Benders in a nutshell Matteo Fischetti, University of Padova

Solving a Challenging Quadratic 3D Assignment Problem

MVE165/MMG631 Linear and integer optimization with applications Lecture 9 Discrete optimization: theory and algorithms

Parallel and Distributed Optimization with Gurobi Optimizer

GAMS. How can I make this work... arrgghh? GAMS Development Corporation

Recent enhancements in. GAMS Development Corporation

Comparison of Some High-Performance MINLP Solvers

Parallel Branch & Bound

Outline An Introduction to the Computational Grid. Come on Let s Play the Feud. The Big Board. Jeff Linderoth. Name one common use of the Internet

Linking GAMS to Solvers Using COIN-OSI. Michael Bussieck Steve Dirkse GAMS Development Corporation

FATCOP 2.0: Advanced Features in an Opportunistic Mixed Integer Programming Solver

Outline. Modeling. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Models Lecture 5 Mixed Integer Programming Models and Exercises

The Heuristic (Dark) Side of MIP Solvers. Asja Derviskadic, EPFL Vit Prochazka, NHH Christoph Schaefer, EPFL

MVE165/MMG630, Applied Optimization Lecture 8 Integer linear programming algorithms. Ann-Brith Strömberg

Linear & Integer Programming: A Decade of Computation

2. Modeling AEA 2018/2019. Based on Algorithm Engineering: Bridging the Gap Between Algorithm Theory and Practice - ch. 2

Fundamentals of Integer Programming

Solving Large-Scale Energy System Models

Recent enhancements in. GAMS Software GmbH GAMS Development Corporation

February 19, Integer programming. Outline. Problem formulation. Branch-andbound

Decomposition Methods for Mathematical Programming Problems. GAMS Software GmbH / GAMS Development Corp.

3 INTEGER LINEAR PROGRAMMING

Recent Enhancement in GAMS. GAMS Software GmbH GAMS Development Corp.

Cloud Branching MIP workshop, Ohio State University, 23/Jul/2014

The Gurobi Solver V1.0

Heuristics in Commercial MIP Solvers Part I (Heuristics in IBM CPLEX)

The Gurobi Optimizer. Bob Bixby

Heuristics in MILP. Group 1 D. Assouline, N. Molyneaux, B. Morén. Supervisors: Michel Bierlaire, Andrea Lodi. Zinal 2017 Winter School

Motivation for Heuristics

Exact solutions to mixed-integer linear programming problems

Branch-and-cut implementation of Benders decomposition Matteo Fischetti, University of Padova

Modern Benders (in a nutshell)

Algorithms for Decision Support. Integer linear programming models

CAD Algorithms. Categorizing Algorithms

Modelling. Christina Burt, Stephen J. Maher, Jakob Witzig. 29th September Zuse Institute Berlin Berlin, Germany

Stochastic Separable Mixed-Integer Nonlinear Programming via Nonconvex Generalized Benders Decomposition

Integer Programming Chapter 9

SCIP. 1 Introduction. 2 Model requirements. Contents. Stefan Vigerske, Humboldt University Berlin, Germany

SBB: A New Solver for Mixed Integer Nonlinear Programming

General Algebraic Modeling System

Index. optimal package assignments, 143 optimal package assignments, symmetrybreaking,

OPTIMIZAÇÃO E DECISÃO 09/10

Parallel Processing in Mixed Integer Programming

A NEW SEQUENTIAL CUTTING PLANE ALGORITHM FOR SOLVING MIXED INTEGER NONLINEAR PROGRAMMING PROBLEMS

Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem

Applied Mixed Integer Programming: Beyond 'The Optimum'

Column Generation Based Primal Heuristics

Using ODHeuristics To Solve Hard Mixed Integer Programming Problems. Alkis Vazacopoulos Robert Ashford Optimization Direct Inc.

Integer Programming. Xi Chen. Department of Management Science and Engineering International Business School Beijing Foreign Studies University

Optimization: beyond the normal

GMO: GAMS Next-Generation Model API. GAMS Development Corporation

CSE 417 Branch & Bound (pt 4) Branch & Bound

Methods to improve computing times in linear energy system optimization models

Assessing Performance of Parallel MILP Solvers

Minimum Weight Constrained Forest Problems. Problem Definition

Using the ODH-CPLEX Python Interface. Alkis Vazacopoulos Robert Ashford Optimization Direct Inc. April 2018

Experience with CGL in the PICO Mixed- Integer Programming Solver

Interactions between a Modeling System and Advanced Solvers. GAMS Development Corporation

Parallel Computing in Combinatorial Optimization

An extended supporting hyperplane algorithm for convex MINLP problems

The Lattice BOINC Project Public Computing for the Tree of Life

A Lifted Linear Programming Branch-and-Bound Algorithm for Mixed Integer Conic Quadratic Programs

DFS* and the Traveling Tournament Problem. David C. Uthus, Patricia J. Riddle, and Hans W. Guesgen

9.4 SOME CHARACTERISTICS OF INTEGER PROGRAMS A SAMPLE PROBLEM

Solving the Euclidean Steiner Tree Problem in n-space

Assignment 3b: The traveling salesman problem

Package Rcplex. February 15, 2013

Improving the Efficiency of Depth-First Search by Cycle Elimination

Constraint Branching and Disjunctive Cuts for Mixed Integer Programs

SCIP Workshop 2014, Berlin, September 30, Introduction to SCIP

Tutorial on Integer Programming for Visual Computing

AMPL in the Cloud Using Online Services to Develop and Deploy Optimization Applications through Algebraic Modeling

Welcome to the Webinar. What s New in Gurobi 7.5

Introduction. Chapter 15. Optimization Modeling: Applications. Integer Programming. Manufacturing Example. Three Types of ILP Models

Algorithms II MIP Details

Active-Constraint Variable Ordering for Faster Feasibility of Mixed Integer Linear Programs

Outline. Column Generation: Cutting Stock A very applied method. Introduction to Column Generation. Given an LP problem

A Branch-and-Cut Algorithm for the Single-Commodity, Uncapacitated, Fixed-Charge Network Flow Problem

Column Generation: Cutting Stock

Penalty Alternating Direction Methods for Mixed- Integer Optimization: A New View on Feasibility Pumps

Alternating Criteria Search: A Parallel Large Neighborhood Search Algorithm for Mixed Integer Programs

Transcription:

Solving Difficult MIP Problems using GAMS and Condor Michael R. Bussieck MBussieck@gams.com GAMS Software GmbH http://www.gams.de Michael C. Ferris Ferris@cs.wisc.edu University of Wisconsin-Madison http://www.cs.wisc.edu/~ferris/ 1 1 OR 2006 Karlsruhe, Germany, September 6-8, 2006

GAMS Development / GAMS Software Roots: Research project World Bank 1976 Pioneer in Algebraic Modeling Systems used for economic modeling Went commercial in 1987 Offices in Washington, D.C and Cologne Professional software tool provider Operating in a segmented niche market Broad academic & commercial user base and network 2 2

GAMS at a Glance 3 3 General Algebraic Modeling System: Algebraic Modeling Language, Integrated Solver, Model Libraries, Connectivity- & Productivity Tools Design Principles: Balanced mix of declarative and procedural elements Open architecture and interfaces to other systems Different layers with separation of: model and data model and solution methods model and operating system model and interface

4 4 What s New??? Improvements on all frontiers Connectivity Tools Databases Spreadsheets Specialized Visualization Tools (e.g. VEDA) Productivity Tools IDE Improvements Charting Engine Interfaces Using GAMS from Application Environments Solver Interfacing Branch-and-Cut-and-Heuristic (BCH) Facility Grid Computing

What is Grid Computing? A pool of connected computers managed and available as a common computing resource Effective sharing of CPU power Massive parallel task execution Scheduler handles management tasks E.g. Condor, Sun N6 Grid Engine, Globus Can be rented or owned in common Licensing & security issues 5 5

Typical Application for GAMS & Grid mymodel.solvelink=3; loop(scenario, demand=42; demand=sdemand(scenario sdemand(scenario); cost=14; cost=scost(scenario scost(scenario); solve mymodel min obj using minlp; h(scenario)= report(scenario) = var.l; )=mymodel.handle); ) = var.l); Repeat loop(scenario$h(scenario), if(handlestatus(h(scenario))=2, mymodel.handle=h(scenario h(scenario); h(scenario)=0; execute_loadhandle mymodel; report(scenario)= )=var.l); if(card(h), execute 'sleep 1'); until card(h)=0 or timeelapsed > 100; 6 6

Massively Parallel MIP MIP/B&C Algorithm ideal to parallelize Master/Worker Paradigm (process nodes in parallel) Software: FATCOP/Condor, BCP/PVM, PICO/MPI A-priori subdivision into n independent problems Seymour problem solved that way Open Pit Mining (openpit in GAMS Model library) Partitioning integer variables to subdivide model into into 4096 sub-problems Experiments (Ferris) at UW using Condor Pool 7 7

Condor 8 8

Results for 4096 MIPS on Condor Grid Submission started Jan 11,16:00 All jobs submitted by Jan 11, 23:00 All jobs returned by Jan 12, 12:40 20 hours wall time, 5000 CPU hours Peak number of CPU s: 500 9 9

Testing MIPLIB2003 Instances 10 10

Tool and expertise combined Initial schemes take over 1 year of computation and go nowhere even with fastest commercial solver like CPLEX/XPRESS Extensions of approach that incorporate both computational strategies and optimization expertise Adaptive refinement strategy Sophisticated problem domain branching and cuts Use of resources beyond local file system Dedicated resources 11 11

Problems with a-priori Partitioning 99% of sub-problems very easy to solve 1% (almost) as difficult as the original problem How can we find n sub-problems with similar (but reduced) level of difficulty? B&C Code keeps a list of open/unexplored nodes Problem-bounds of these open nodes represent partitioning of the original problem Nodes Best Cuts/ Node Left Objective IInf Integer Best Node ItCnt 0 0 29.6862 64 29.6862 165 100 37 17.0000 14 25.0000 2230 200 70 21.8429 22 24.0000 4022 Gap 12 12 GAMS/CPLEX Option dumptree n creates n bound files

How difficult is a sub-problem? What is a good estimate for how difficult a sub-problem is? Look at the LP value of a sub-problem The smaller the LP value (assuming minimization) the more difficult the sub-problem 1600000 1400000 1200000 1000000 800000 600000 400000 200000 Series1 Series2 Cplex Default Cplex Strong Branching Spend more time in subproblem generation 13 13 0 0 500 1000 1500 2000 2500

Putting it all together Generate n sub-problems using GAMS/CPLEX with dumpopt n; loop(n, load nth bound file; generate and submit nth sub-problem ); Repeat loop(n$(not collected), if (n( finished, load nth-solution and mark n as collected)); sleep some time; Until all collected; 14 14

Communication & Strategy An incumbent solution allows to prune nodes with larger LP solution value in all sub-problems. Hence communicate a newly found incumbent to all subproblems Sub-problems not started: Start with a cutoff Running sub-problems: Update the cutoff with a GAMS/CPLEX option file that is read while running 15 15 Strategy: Have one machine working on good solutions (e.g. CPLEX mipemphasis 1 or 4) using original problem Sub-problems emphasize on best-bound (e.g. CPLEX mipemphasis 3)

Some results ROLL3000 A1C1S1 TIMTAB2* * Added problem cuts #sub-problems 986 1089 3320 objective 12890 11768.2 1.10656e+06 #Cplex B&B nodes CPU time used 400,034 50h 1,921,736 3432h 17,092,215 2384h 16 16 CPU time wasted Wall time 0.5h Over night Over night 248h 360h Over night

Other Results Problem SWATH (TSP type problem) Sub-problems: 2598 (578 still outstanding) Objective: 467.407 CPU time used: 6590h CPU time wasted: 4995h Nodes explored: 38,012,523 Second Level Partitioning (subdivide one of the 578 outstanding problems [a difficult one]): 17 17 Sub-problems: 702 (264 still outstanding) CPU time used: 30600h (3.5 years!) CPU time wasted: 46344h (5 years!) Nodes explored: 752,713,119

A word of caution Go back to original SWATH paper! Understand underlying (20 city) TSP with supernodes 5 rounds of subtour elimination cuts, 32 extra constraints in all Problem solved in less than 20 minutes on a single machine using CoinCbc! 18 18

Summary 19 19 GAMS/CPLEX dumpopt n to find a-priori problem partition of a MIP Using GAMS Grid Facilities, Condor, and GAMS/CPLEX to generate, submit, and solve n sub-problems Communication of updated incumbent is essential Solved two previously unsolved problems (ROLL3000, A1C1S1) from MIPLIB2003 over night (with few hundred machines available) Brute force has it s limits, but with some additional problem specific knowledge (turned into problem specific cuts) one more problem (TIMTAB2) could be solved over night. Work on the model level rather than the matrix level Some problem in MIPLIB3 will remain unsolved (for a while)