1,2,3...QAP! Matteo Fischetti (joint work with Michele Monaci and Domenico Salvagnin) DEI University of Padova IPDU, Newcastle, July 2011.

Slides:



Advertisements
Similar presentations
The simplex algorithm The simplex algorithm is the classical method for solving linear programs. Its running time is not polynomial in the worst case.
Advertisements

BU Decision Models Integer_LP1 Integer Optimization Summer 2013.
Factorial Mixture of Gaussians and the Marginal Independence Model Ricardo Silva Joint work-in-progress with Zoubin Ghahramani.
Types of Algorithms.
Algorithms + L. Grewe.
Searching on Multi-Dimensional Data
Saucy3: Fast Symmetry Discovery in Graphs Hadi Katebi Karem A. Sakallah Igor L. Markov The University of Michigan.
EE 553 Integer Programming
Computational Methods for Management and Economics Carla Gomes Module 8b The transportation simplex method.
Online Social Networks and Media. Graph partitioning The general problem – Input: a graph G=(V,E) edge (u,v) denotes similarity between u and v weighted.
Linear Obfuscation to Combat Symbolic Execution Zhi Wang 1, Jiang Ming 2, Chunfu Jia 1 and Debin Gao 3 1 Nankai University 2 Pennsylvania State University.
EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011.
MATH 685/ CSI 700/ OR 682 Lecture Notes
1 Logic-Based Methods for Global Optimization J. N. Hooker Carnegie Mellon University, USA November 2003.
Computational problems, algorithms, runtime, hardness
Branch and Bound Searching Strategies
1 Optimization problems such as MAXSAT, MIN NODE COVER, MAX INDEPENDENT SET, MAX CLIQUE, MIN SET COVER, TSP, KNAPSACK, BINPACKING do not have a polynomial.
Maintenance Routing Gábor Maróti CWI, Amsterdam and NS Reizigers, Utrecht Models for Maintenance Routing 2nd AMORE Seminar, Partas, 30.
Computational Methods for Management and Economics Carla Gomes
Testing Metric Properties Michal Parnas and Dana Ron.
Solving the Protein Threading Problem in Parallel Nocola Yanev, Rumen Andonov Indrajit Bhattacharya CMSC 838T Presentation.
2-Layer Crossing Minimisation Johan van Rooij. Overview Problem definitions NP-Hardness proof Heuristics & Performance Practical Computation One layer:
1 Branch and Bound Searching Strategies 2 Branch-and-bound strategy 2 mechanisms: A mechanism to generate branches A mechanism to generate a bound so.
1 Planning and Scheduling to Minimize Tardiness John Hooker Carnegie Mellon University September 2005.
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.
LP formulation of Economic Dispatch
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
Graph Coalition Structure Generation Maria Polukarov University of Southampton Joint work with Tom Voice and Nick Jennings HUJI, 25 th September 2011.
A Decomposition Heuristic for Stochastic Programming Natashia Boland +, Matteo Fischetti*, Michele Monaci*, Martin Savelsbergh + + Georgia Institute of.
1 Decision Procedures for Linear Arithmetic Presented By Omer Katz 01/04/14 Based on slides by Ofer Strichman.
Operations Research Assistant Professor Dr. Sana’a Wafa Al-Sayegh 2 nd Semester ITGD4207 University of Palestine.
Thinning out Steiner Trees
Télécom 2A – Algo Complexity (1) Time Complexity and the divide and conquer strategy Or : how to measure algorithm run-time And : design efficient algorithms.
Notes 5IE 3121 Knapsack Model Intuitive idea: what is the most valuable collection of items that can be fit into a backpack?
MILP algorithms: branch-and-bound and branch-and-cut
Data Structures & Algorithms Graphs
15.053Tuesday, April 9 Branch and Bound Handouts: Lecture Notes.
1 Outline:  Optimization of Timed Systems  TA-Modeling of Scheduling Tasks  Transformation of TA into Mixed-Integer Programs  Tree Search for TA using.
1 Branch and Bound Searching Strategies Updated: 12/27/2010.
Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation.
1 Mean Field and Variational Methods finishing off Graphical Models – Carlos Guestrin Carnegie Mellon University November 5 th, 2008 Readings: K&F:
Types of Algorithms. 2 Algorithm classification Algorithms that use a similar problem-solving approach can be grouped together We’ll talk about a classification.
Branch and Bound Algorithms Present by Tina Yang Qianmei Feng.
Solving and Analyzing Side-Chain Positioning Problems Using Linear and Integer Programming Carleton L. Kingsford, Bernard Chazelle and Mona Singh Bioinformatics.
 In the previews parts we have seen some kind of segmentation method.  In this lecture we will see graph cut, which is a another segmentation method.
Intersection Cuts for Bilevel Optimization
Branch and Bound Searching Strategies
Constraint Programming for the Diameter Constrained Minimum Spanning Tree Problem Thiago F. Noronha Celso C. Ribeiro Andréa C. Santos.
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
The NP class. NP-completeness
Integer Programming An integer linear program (ILP) is defined exactly as a linear program except that values of variables in a feasible solution have.
From Mixed-Integer Linear to Mixed-Integer Bilevel Linear Programming
5.3 Mixed-Integer Nonlinear Programming (MINLP) Models
Exact Algorithms for Mixed-Integer Bilevel Linear Programming
The minimum cost flow problem
Matteo Fischetti, University of Padova
Chapter 5. Optimal Matchings
MILP algorithms: branch-and-bound and branch-and-cut
#post_modern Branch-and-Cut Implementation
MIP Tools Branch and Cut with Callbacks Lazy Constraint Callback
Heaps Chapter 11 has several programming projects, including a project that uses heaps. This presentation shows you what a heap is, and demonstrates.
Matteo Fischenders, University of Padova
Matteo Fischetti, University of Padova
Matteo Fischetti, University of Padova
Backtracking and Branch-and-Bound
Intersection Cuts from Bilinear Disjunctions
Lecture 4: Tree Search Strategies
Intersection Cuts for Quadratic Mixed-Integer Optimization
Presentation transcript:

1,2,3...QAP! Matteo Fischetti (joint work with Michele Monaci and Domenico Salvagnin) DEI University of Padova IPDU, Newcastle, July 2011

QAP definition complete directed graph G=(V,A) and n=|V| facilities to be assigned to its nodes distance from node i to node j is b ij required flow from facility u to facility v is a uv decision var.s: x iu =1 iff facility u is assigned to node i, =0 othw.

ESC instances in 3 steps

Step 1: don’t break my symmetries! Many QAP instances are highly symmetrical (certain facility/node permutations do not affect solution cost nor feasibility) Symmetry is typically viewed as a useful feature in mathematics, but… … it tricks enumeration (equivalent sol.s visited again and again) Usual recipe in discrete optimization: break it! Instead, we propose a new way to exploit it to reduce problem size and complexity

Clone definition a fg = a gf a fh = a gh for all h <> f,g a hf = a hg for all h <> f,g Assume wlog b ii = 0 for all nodes i. Two facilities f and g are clones iff: Equivalence relation that partitions the set of facilities into clone clusters

Shrinking clones All esc instances have such clones (not just “isolated” ones…) We shrink them and update the model accordingly esc32a32 x 3232 x 26 esc32b32 x 3232 x 25 esc32c32 x 3232 x 10 esc32d32 x 3232 x 13 esc32h32 x 3232 x 14 esc64a64 x 6464 x 15 esc x x 21

Step 2: B&C design

Main ingredients carefully chosen MILP formulation locally valid cut separation based on Gilmore-Lawler bounds custom QAP-specific branching strategy custom symmetry detection on matrix b and aggressive orbital branching

Step 2.1: choosing the model Introducing variables we get the basic Kaufman-Broeckx (KB) MILP model

Step 2.1: handy MILP The Kb model is tiny and fast... but its bound is really bad (always zero at the root) However we can improve it through the following family of inequalities (Xia and Yuan, 2006) where minAP iu is the Gilmore-Lawler term computed by solving a linear assignment problem with x iu = 1 This family of cuts strengthen the KB model a lot  we separate local versions of them throughout the B&C tree, by using a fast separation procedure

Step 2.2: branching A good branching order is crucial for the B&C Default strategies are NOT particularly effective on these instances Basic idea  we want to branch first on the variables that have a larger range of objective values for the possible assignments We define the branching priority for x iu as

Step 2.3: orbital branching Clone shrinking takes care of (most of) symmetry on matrix a  what about matrix b? On esc instances, also matrix b contains symmetries (but not of clone type)  resort to orbital branching (Ostrowski et al., 2011) We compute the appropriate symmetry group directly on matrix b (faster than considering the whole model) we could have used nauty, but we exploited the particular structure of esc instances and implemented an ad-hoc procedure

Step 2.3: matrix b structure b ij = HammingDistance(i-1,j-1)-1 Two operations on binary string preserve the Hamming distance: bit flip bit permutation fix facility form the beginning  no bit flips left compute orbits and stabilizers from explicit list of bit permutations!

Cplex 12.2 interactive mode (8 threads, Intel Xeon 3.2Ghz, 16GB ram)

B&C results esc32c s esc32d s esc64a s IBM Cplex 12.2 on Intel Xeon 3.2GHz - 16GB RAM - 8 threads

A closer look at esc64a unshrunkenanyhopeless +∞ shrunkencplex default>3.600> shrunkencplex tweaked shrunkencplex twk + ORD shrunkenour B&C IBM Cplex 12.2 on Intel Xeon 3.2GHz - 16GB RAM - 8 threads Similar results are obtained on the other esc instances

Whale watching (esc128)

Step 3: flow splitting Split matrix a as a = a 1 +a 2, with a 1,a 2 ≥0 Solve QAP(a 1,b) and QAP(a 2,b) separately Lower bound property: full equivalence if we impose the two solutions coincide (equality)  variable splitting model just a relaxation otherwise (lower bound)

Two better than one? the two models are still QAPs of the same size as before  why should we want to do this? two main reasons: 1. the final bound after a fixed amount of enumeration on a weaker model might be much better than that based on a stronger model (strange but true!) 2. if the two QAPs have a simpler structure they might be much easier to solve than the original instance (in particular, we can actually add symmetry to the model!)

How to split the flow matrix? two (independent) strategies 1. select a subset of facilities and zero out all distances in their clique  good strategy when there are (almost) disconnected components in flow support 2. define a 1 as clip(a,[0,1]) and a 2 = a - a 1  improve cost “uniformity” 3. can be applied sequentially to get a “longer” split chain a = a 1 + a a k

Flow splitting for esc32a …

… and for the big whale (esc128)

Flow splitting results esc32a = = 51s esc32h = = 7799s esc = = 9s (!!!) IBM Cplex 12.2 on Intel Xeon 3.2GHz - 16GB RAM - 8 threads

Conclusions & Future work We could solve unsolved esc instances in a surprisingly short amount of time, including esc128 (the largest QAPLIB instance ever solved) TODO list develop a B&B algorithm using a variable-splitting model based on flow splitting try other QAP classes generalize to other classes of difficult MI(N)LPs  Orbital shrinking (F.-Liberti, 2011)

Thank you