250 likes | 311 Views
Using Personal Condor to Solve Quadratic Assignment Problems. Jeff Linderoth Axioma, Inc. jlinderoth@axiomainc.com. Partners in Crime. Kurt Anstreicher Nate Brixius University of Iowa. Jean-Pierre Goux MCS Division, ANL. LOTS of people in this room! University of Wisconsin.
E N D
Using Personal Condor toSolve Quadratic AssignmentProblems Jeff Linderoth Axioma, Inc. jlinderoth@axiomainc.com
Partners in Crime Kurt Anstreicher Nate Brixius University of Iowa Jean-Pierre Goux MCS Division, ANL LOTS of people in this room! University of Wisconsin
Our Mission • Find the best possible solution to large quadratic assignment problem (QAP) instances • Prove that the solution is indeed optimal • Show how to exploit the Computational Grid offered by Personal Condor to make it happen
What’s a QAP? • Can be thought of as a facility location problem • The QAP is NP-REALLY-Hard • TSP: Solve n=13509 • QAP: Solve n=25
Q: Why Is This Important? • Answer #1: Practical applications • Facility Location • Hospital Design • Flight Instrument Layout • Answer #2: Similarity • Comparable to other practically important combinatorial optimization problems • TSP, MIP
The REAL Answer – It’s NOT! “The Journey Is The Reward” What can we learn about solving complex numerical problems on Computational Grids?
The Perfect Marriage + While my wife likes this slide, really it’s the QAP and Condor that make the perfect marriage!
Making the Perfect Marriage • Something Old • Something New • Something Borrowed • Something Blue
Something Old: • Branch-and-Bound • Bound • Solve “auxiliary” problem that gives a lower bound on the optimal solution to the problem • Any assignment of facilities to locations gives an upper bound on the optimal solution • What if lower bound < upper bound?
Branch • Divide-and-Conquer! • Recursively make problem smaller by assigning each facility to a fixed location • Without the bounding, this is complete enumeration. (n!) This is not “pleasantly parallel” computing!
Something New: • A convex quadratic programming relaxation • Solved with the Frank-Wolfe Algorithm*. • Each iteration is one linear assignment problem * Something VERY old
Something Borrowed: • With Condor it is easy to “borrow” CPU cycles • Call your friends and colleagues and flock with their Condor pools • Write an NPACI proposal and Glide-In to supercomputer resources • If all else fails (Condor/Globus not installed), hobble in!
Something Blue? • You could work until you’re blue in the face and not solve QAP instances* * My sincerest apologies for the terrible pun
The Holy Grail • We want to solve nug30! • Extrapolating results and using an idea of Knuth*, we conjecture that we will need roughly 10-15 years of CPU time • How can we be sure to use 10-15 years of CPU time somewhat efficiently? • We have the additional burden of working in Condor’s extremely dynamic environment! * Something Old
Making the Marriage Work • The MW runtime support library helps us cope with the dynamic nature of our platform • MW – Master Worker paradigm • Must deal with contention at the master • Search/ordering strategies at both master and worker are important! • Parallel Efficiency improves from 50% to 90% • Lots more details! • Paper available at www.optimization-online.org
Mission Accomplished! Solution Characteristics
The Ups & Downs • Human (read Jeff) error • Master compiled for <= 1000 workers • Condor schedd bug (Gasp!!!!) • Master shut down to fix NFS problems • Condor schedd bug • Human (read Jeff) error • Incorrect editing of configuration files resulting in many incorrect submissions
The Moral of the Story • A good wedding/marriage requires four key ingredients • There were also four key ingredients to solving nug30 • Powerful mathematics for producing a lower bound • Innovative branching techniques • An EXTREMELY powerful computing platform • “Marrying” the algorithm to the platform in an appropriate manner
The TRUE Moral • It is possible to do complex numerical calculations on the Computational Grid using Condor! • It opens the doors to attacking heretofore unsolved problems! • http://www.mcs.anl.gov/metaneos