Self-Splitting Tree Search in a Parallel Environment Matteo Fischetti, Michele Monaci, Domenico Salvagnin University of Padova IFORS 2014, Barcelona 1.

Slides:



Advertisements
Similar presentations
Turing Machines January 2003 Part 2:. 2 TM Recap We have seen how an abstract TM can be built to implement any computable algorithm TM has components:
Advertisements

1 University of Southern California Keep the Adversary Guessing: Agent Security by Policy Randomization Praveen Paruchuri University of Southern California.
EE 553 Integer Programming
Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB) Tobias Achterberg Conflict Analysis SCIP Workshop at ZIB October 2007.
Matteo Fischetti, University of Padova, Italy
1,2,3...QAP! Matteo Fischetti (joint work with Michele Monaci and Domenico Salvagnin) DEI University of Padova IPDU, Newcastle, July 2011.
An Algorithm for Automatically Designing Deterministic Mechanisms without Payments Vincent Conitzer and Tuomas Sandholm Computer Science Department Carnegie.
Aussois, 4-8/1/20101 = ? Matteo Fischetti and Domenico Salvagnin University of Padova +
Computational Methods for Management and Economics Carla Gomes
1 Robustness by cutting planes and the Uncertain Set Covering Problem AIRO 2008, Ischia, 10 September 2008 (work supported my MiUR and EU) Matteo Fischetti.
1 Combinatorial Problems in Cooperative Control: Complexity and Scalability Carla Gomes and Bart Selman Cornell University Muri Meeting March 2002.
Lift-and-Project cuts: an efficient solution method for mixed-integer programs Sebastian Ceria Graduate School of Business and Computational Optimization.
Seven Lectures on Statistical Parsing Christopher Manning LSA Linguistic Institute 2007 LSA 354 Lecture 7.
Knight’s Tour Distributed Problem Solving Knight’s Tour Yoav Kasorla Izhaq Shohat.
Hardness-Aware Restart Policies Yongshao Ruan, Eric Horvitz, & Henry Kautz IJCAI 2003 Workshop on Stochastic Search.
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding ILPs with Branch & Bound ILP References: ‘Integer Programming’
On the role of randomness in exact tree search methods EURO XXV, Vilnius, July Matteo Fischetti, University of Padova (based on joint work with Michele.
Decision Procedures An Algorithmic Point of View
Computational Stochastic Optimization: Bridging communities October 25, 2012 Warren Powell CASTLE Laboratory Princeton University
Towards a Fast Heuristic for MINLP John W. Chinneck, M. Shafique Systems and Computer Engineering Carleton University, Ottawa, Canada.
Introduction to variable selection I Qi Yu. 2 Problems due to poor variable selection: Input dimension is too large; the curse of dimensionality problem.
A Decomposition Heuristic for Stochastic Programming Natashia Boland +, Matteo Fischetti*, Michele Monaci*, Martin Savelsbergh + + Georgia Institute of.
Stochastic Algorithms Some of the fastest known algorithms for certain tasks rely on chance Stochastic/Randomized Algorithms Two common variations – Monte.
Parallel #2 Paper – Phylogeny and Branch and Bound Algorithms George McGinn
Thinning out Steiner Trees
Proximity search heuristics for Mixed Integer Programs Matteo Fischetti University of Padova, Italy RAMP, 17 October Joint work with Martina Fischetti.
Notes 5IE 3121 Knapsack Model Intuitive idea: what is the most valuable collection of items that can be fit into a backpack?
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
MILP algorithms: branch-and-bound and branch-and-cut
Tobias Achterberg Konrad-Zuse-Zentrum für Informationstechnik Berlin Branching SCIP Workshop at ZIB October 2007.
Heuristic Optimization Methods Greedy algorithms, Approximation algorithms, and GRASP.
Applications of Dynamic Programming and Heuristics to the Traveling Salesman Problem ERIC SALMON & JOSEPH SEWELL.
1 The Theory of NP-Completeness 2 Cook ’ s Theorem (1971) Prof. Cook Toronto U. Receiving Turing Award (1982) Discussing difficult problems: worst case.
15.053Tuesday, April 9 Branch and Bound Handouts: Lecture Notes.
“LOGISTICS MODELS” Andrés Weintraub P
Computing Simulation in Orders Based Transparent Parallelizing Pavlenko Vitaliy Danilovich, Odessa National Polytechnic University Burdeinyi Viktor Viktorovych,
A Linear Search Strategy Using Bounds Sharlee Climer and Weixiong Zhang.
Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation.
V. Cacchiani, A. Caprara and P. Toth DEIS, University of Bologna TIMETABLING FOR CONGESTED CORRIDORS.
SAT 2009 Ashish Sabharwal Backdoors in the Context of Learning (short paper) Bistra Dilkina, Carla P. Gomes, Ashish Sabharwal Cornell University SAT-09.
Simplified Benders cuts for Facility Location
FATCOP: A Mixed Integer Program Solver Michael FerrisQun Chen University of Wisconsin-Madison Jeffrey Linderoth Argonne National Laboratories.
Intersection Cuts for Bilevel Optimization
Raunak Singh (ras2192) IEOR 4405: Production Scheduling 28 th April 2009.
Non-LP-Based Approximation Algorithms Fabrizio Grandoni IDSIA
REU 2007-ParSat: A Parallel SAT Solver Christopher Earl, Mentor: Dr. Hao Zheng Department of Computer Science & Engineering Introduction Results and Conclusions.
CSC Lecture 23: Sigmoid Belief Nets and the wake-sleep algorithm Geoffrey Hinton.
1 Chapter 6 Reformulation-Linearization Technique and Applications.
The Search for Systems of Diagonal Latin Squares Using the Project Oleg Zaikin, Stepan Kochemazov Matrosov Institute for System Dynamics and Control.
Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB) Tobias Achterberg Conflict Analysis in Mixed Integer Programming.
Sebastian Ceria Graduate School of Business and
Matteo Fischetti, Michele Monaci University of Padova
From Mixed-Integer Linear to Mixed-Integer Bilevel Linear Programming
Exact Algorithms for Mixed-Integer Bilevel Linear Programming
Matteo Fischetti, University of Padova
#post_modern Branch-and-Cut Implementation
Objective of This Course
MIP Tools Branch and Cut with Callbacks Lazy Constraint Callback
Integer Programming (정수계획법)
Matteo Fischenders, University of Padova
Matteo Fischetti, University of Padova
Deep Learning and Mixed Integer Optimization
Matteo Fischetti, University of Padova
PERFORMANCE MEASURES. COMPUTATIONAL MODELS Equal Duration Model:  It is assumed that a given task can be divided into n equal subtasks, each of which.
Programming with data Lecture 3
Major Design Strategies
Intersection Cuts from Bilinear Disjunctions
Major Design Strategies
Intersection Cuts for Quadratic Mixed-Integer Optimization
Discrete Optimization
Presentation transcript:

Self-Splitting Tree Search in a Parallel Environment Matteo Fischetti, Michele Monaci, Domenico Salvagnin University of Padova IFORS 2014, Barcelona 1

Parallel computation Modern PCs / notebooks have several processing units (cores) available Running a sequential code on 8 cores only uses 12% of the available power… … whereas one would of course aim at using 100% of it IFORS 2014, Barcelona2

Distributed computation Affordable servers offer 24+ quadcore units (blades) Grids of computers are available worldwide No doubt that parallel computing is becoming a must for CPU intensive applications, including optimization IFORS 2014, Barcelona3

Parallelization of a sequential code We are given a deterministic sequential source code based on a divide-and-conquer algorithm (e.g., tree search) We want to slightly modify it to exploit a given set of K (say) processors called workers IDEA: just run K times the same sequential code on the K workers … but modify the source code so as to just skip some nodes (that will be processed instead by one of the other workers…) “Workload automatically splits itself among the workers” IFORS 2014, Barcelona4

The basic idea Assume you have K workers available and a sequential tree-search code In the source code, locate the place where tree nodes are popped-out from the node queue Add the following statements to your sequential code: When a sufficient n. of nodes has been generated, just kill some nodes according to a rule that depends on an additional integer input parameter k Run the resulting sequential code on the K workers, with input k=1,2,…,K Naïve Rule: kill nodes with a certain probability (using k as random seed)  heuristic as a same node can be killed by all K workers SelfSplit: use a rule that guarantees a node be killed in all but one of the K runs LL’fatto IFORS 2014, Barcelona5

SelfSplit Each worker reads the original input data and receives an additional input pair (k,K), where K is the total number of workers and k=1,…,K identifies the current worker The same deterministic computation is initially performed, in parallel, by all workers (sampling phase), without any communication When enough open nodes have been generated, each worker applies a deterministic rule to skip the nodes that belong to other workers. No communication required at this stage IFORS 2014, Barcelona6

Vanilla implementation IFORS 2014, Barcelona7

Paused-node implementation IFORS 2014, Barcelona8

Extensions SelfSplit can be run with just K' << K workers, with input pairs (1,K), (2,K), …,(K',K)  kind of multistart heuristic that guarantees non-overlapping explorations It can be used to obtain a quick estimate of the sequential computing time, e.g. by running SelfSplit with (1,1000), …(8,1000) and taking sampling_time * (average_computing_time – sampling_time) Allows for a pause-and-resume exploration of the tree (useful e.g. in case of computer failures) Applications to High Performance Computing and Cloud Computing? IFORS 2014, Barcelona9

Related approaches The idea of parallelizing without communication is not new… Laursen, Per S Can parallel branch and bound without communication be effective? SIAM Journal on Optimization 4(2) … but is was apparently ignored by the Mathematical Programming community Recent work for Constraint Programming (CP) Regin, Jean-Charles, Mohamed Rezgui, Arnaud Malapert Embarrassingly parallel search. Christian Schulte, ed., Principles and Practice of Constraint Programming, Lecture Notes in Computer Science, vol Springer Berlin Heidelberg, Moisan, Thierry, Jonathan Gaudreault, Claude-Guy Quimper Parallel discrepancy-based search. Christian Schulte, ed., Principles and Practice of Constraint Programming, Lecture Notes in Computer Science, vol Springer Berlin Heidelberg, IFORS 2014, Barcelona10

Our hashtags SelfSplit is #easy to implement SelfSplit can be the #firstoption to try SelfSplit can in fact be the #onlyoption when complicated (industrial) codes need to be parallelized  #justforget to modifying the sources heavily SelfSplit can be rather effective indeed #itworks IFORS 2014, Barcelona11

SelfSplit for CP #itworks IFORS 2014, Barcelona12

Pure B&B codes #stillworkswell IFORS 2014, Barcelona13 Sequential code to parallelize: an old FORTRAN code of lines from M. Fischetti, P. Toth, “An Additive Bounding Procedure for the Asymmetric Travelling Salesman Problem”, Mathematical Programming A 53, , Parametrized AP relaxation (no LP) Branching on subtours Best-bound first Vanilla SelfSplit: just 8 new lines added to the sequential original code

B&Cut codes #fair Sequential code to parallelize: B& C FORTRAN code (10K lines) from –M. Fischetti, P. Toth, “A Polyhedral Approach to the Asymmetric Traveling Salesman Problem” Management Science 43, 11, , –M. Fischetti, A. Lodi, P. Toth, “Exact Methods for the Asymmetric Traveling Salesman Problem”, in The Traveling Salesman Problem and its Variations, G. Gutin and A. Punnen ed.s, Kluwer, , Main Features –LP solver: CPLEX –Cuts: SEC, SD, DK, RANK (and pool) separated along the tree –Dynamic (Lagrangian) pricing of var.s –Variable fixing, primal heuristics, etc. IFORS 2014, Barcelona14

MIP application (CPLEX) IFORS 2014, Barcelona15 We performed the following experiments 1. We implemented SelfSplit in its paused-node version using CPLEX callbacks. 2. We selected the instances from MIPLIB 2010 on which CPLEX consistently needs a large n. of nodes, even when the incumbent is given on input, and still can be solved within 10,000 sec.s (single- thread default). This produced a testbed of 32 instances. 3. All experiments have been performed in single thread, by giving the incumbent on input and disabling all heuristics  approximation of a production implementation involving some limited amount of communication in which the incumbent is shared among workers.

MIP application (CPLEX) IFORS 2014, Barcelona16 Experiment n. 1 We compared CPLEX default (with empty callbacks) with SelfSplit_1, i.e. SelfSplit with input pair (1,1), using 5 random seeds. The slowdown incurred was just 10-20%, hence Self_Split_1 is comparable with CPLEX on our testbed Experiment n. 2 We considered the availability of 16 single-thread machines and compared two ways to exploit them without communication: (a) running Rand_16, i.e. SelfSplit_1 with 16 random seeds and taking the best run for each instance (concurrent mode) (b) running SelfSplit_16, i.e. SelfSplit with input pairs (1,16), (2,16),…,(16,16)

MIP application (CPLEX) #notbad IFORS 2014, Barcelona17

Why speedups change so much? Empirical rule: the more sophisticated the code, the smaller the speedup #curseofbeingtoosmart Typically explained by the fact that the solver “learns during the run” important information (cuts, conflicts, etc.) that cannot be shared by the workers in a no-communication framework However SelfSplit learns a lot during its sampling phase: is loss of communication the only issue? We believe that performance variability plays a role here Sophisticated tree-search codes behave like chaotic systems (marginal changes modify the search path and may heavily affect performance) Maybe simpler B&B codes preferable when #millioncores will be available? IFORS 2014, Barcelona18

Role of variability in workload split Synthetic experiments with 10, 100, 1000 random subtrees per worker (subtree size as a random variable) unif = uniform prt = Pareto heavy t. IFORS 2014, Barcelona19

Thank you for your attention IFORS 2014, Barcelona20 SelfSplit paper available at Slides (also of this talk) available at