what could a million cores do to solve integer programs?ted/files/talks/millioninforms12.pdf ·...
TRANSCRIPT
What Could a Million Cores Do To Solve Integer Programs?
A supercomputer is a machine for turning a compute-bound problem into an
Thorsten Koch Yuji Shinano
Zuse Institute Berlin / MATHEON
Ted Ralphs / Lehigh
A supercomputer is a machine for turning a compute-bound problem into an
I/O-bound problem. --Ken Batcher
Clock speed / number of cores per CPU
Which Mixed Integer Programs could a Million CPUs solve? Thorsten Koch Zuse Institute Berlin (ZIB) 2
What are the reasons why MIPs cannot be solved ?
1. Genuine bad formulation
2. Bad dual bounds
3. LP is difficult/slow, especially reoptimizing
4. Bad numerical properties
5. Difficult to find primal solution
6. Large enumeration tree, e.g. due to symmetry
7. Just big
8. Nobody knows
Which Mixed Integer Programs could a Million CPUs solve? Thorsten Koch Zuse Institute Berlin (ZIB) 3
Development of MIPLIB 2003
T. Koch, G. Gamrath, H. Mittelmann: Any Progress One Year after MIPLIB 2010 ? 4
easy can be solved within an hour on a contemporary pc with a state-of-the-art solverhard are solvable but take a longer time or require specialized algorithmsopen, i.e. not solved instances for which the optimal solution is not known
Development of MIPLIB 2010
120
140
160
180
200
220
Easy
T. Koch, G. Gamrath, H. Mittelmann: Any Progress One Year after MIPLIB 2010 ? 5
0
20
40
60
80
100
05.2011 07.2011 08.2011 01.2012 02.2012 03.2012 04.2012 05.2012 06.2012 07.2012 08.2012
Hard
Open
2012 Performance on MIPLIB 2010 / 1 thread
2000
2500
3000
3500
CBC/1
CPLEX/1
Gurobi/1
SCIP/spx/1
XPRESS/1
Seconds
T. Koch, G. Gamrath, H. Mittelmann: Any Progress One Year after MIPLIB 2010 ? 6
0
500
1000
1500
1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85
Best/1
Instances sorted by solution time
2012 Performance on MIPLIB 2010 / 12 threads
2000
2500
3000
3500
2012-Best/1
2012-CBC/12
2012-CPLEX/12
2012-Gurobi/12
2012-XPRESS/12
2012-Best/12
Seconds
T. Koch, G. Gamrath, H. Mittelmann: Any Progress One Year after MIPLIB 2010 ? 7
0
500
1000
1500
1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85
Instances sorted by solution time
What Does a Million Core System Look Like?
8Which Mixed Integer Programs could a Million CPUs solve? Thorsten Koch Zuse Institute Berlin (ZIB)
The K Computer
Which Mixed Integer Programs could a Million CPUs solve? Thorsten Koch Zuse Institute Berlin (ZIB) 9
What does a million core system look like?
# Computer Year Cores
Processor
Family MHz Cores OS
1 NUDT TH MPP, X5670 2.93Ghz 6C, NVIDIA GPU, FT-1000 8C 2010 186,368 EM64T 2930 6 Linux
2 Cray XT5-HE Opteron 6-core 2.6 GHz 2009 224,162 x86_64 2600 6 Linux
3 Dawning TC3600 Blade, Intel X5650, NVidia Tesla C2050 GPU 2010 120,640 EM64T 2660 6 Linux
4 HP ProLiant SL390s G7 Xeon 6C X5670, Nvidia GPU 2010 73,278 EM64T 2930 6 Linux
5 Cray XE6 12-core 2.1 GHz 2010 153,408 x86_64 2100 12 Linux
6 Bull bullx super-node S6010/S6030 2010 138,368 EM64T 2260 8 Linux
7 BladeCenter QS22/LS21 Cluster, PowerXCell 8i / Opteron 2009 122,400 Power 3200 9 Linux
Which Mixed Integer Programs could a Million CPUs solve? Thorsten Koch Zuse Institute Berlin (ZIB) 10
8 Cray XT5-HE Opteron 6-core 2.6 GHz 2009 98,928 x86_64 2600 6 Linux
9 Blue Gene/P Solution 2009 294,912 Power 850 4 CNK/SLES
10 Cray XE6 8-core 2.4 GHz 2010 107,152 x86_64 2400 8 Linux
Cluster composed of Processing Elements (PE), lets assume
4 CPUs with 32 cores = 256 cores per PE with shared memory.
Having 4000 PE = 1 Million cores.
=> Next generation Super Computer will have it!
1DOE/NNSA/LLNLUnited States
Sequoia - BlueGene/Q, Power BQC 16C 1.60 GHz, Custom / 2011IBM
1572864 16324.75 20132.66 7890.0
2
RIKEN Advanced Institute for Computational Science (AICS)Japan
K computer, SPARC64 VIIIfx 2.0GHz, Tofu interconnect / 2011Fujitsu
705024 10510.00 11280.38 12659.9
3DOE/SC/Argonne National LaboratoryUnited States
Mira - BlueGene/Q, Power BQC 16C 1.60GHz, Custom / 2012IBM
786432 8162.38 10066.33 3945.0
4Leibniz RechenzentrumGermany
SuperMUC - iDataPlex DX360M4, Xeon E5-2680 8C 2.70GHz, Infiniband FDR / 2012IBM
147456 2897.00 3185.05 3422.7
5
National Supercomputing Center
Tianhe-1A - NUDT YH MPP, Xeon X5670 6C 2.93 GHz, NVIDIA 2050 186368 2566.00 4701.00 4040.05
Supercomputing Center in TianjinChina
2.93 GHz, NVIDIA 2050/ 2010NUDT
186368 2566.00 4701.00 4040.0
6DOE/SC/Oak Ridge National LaboratoryUnited States
Jaguar - Cray XK6, Opteron 6274 16C 2.200GHz, Cray Gemini interconnect, NVIDIA 2090 / 2009Cray Inc.
298592 1941.00 2627.61 5142.0
7CINECAItaly
Fermi - BlueGene/Q, Power BQC 16C 1.60GHz, Custom / 2012IBM
163840 1725.49 2097.15 821.9
8Forschungszentrum Juelich (FZJ)Germany
JuQUEEN -BlueGene/Q, Power BQC 16C 1.60GHz, Custom / 2012IBM
131072 1380.39 1677.72 657.5
9CEA/TGCC-GENCIFrance
Curie thin nodes -Bullx B510, Xeon E5-2680 8C 2.700GHz, Infiniband QDR / 2012Bull
77184 1359.00 1667.17 2251.0
10
National Supercomputing Centre
Nebulae - Dawning TC3600 Blade System, Xeon X5650 6C 2.66GHz, Infiniband 120640 1271.00 2984.30 2580.0
Which Mixed Integer Programs could a Million CPUs solve? Thorsten Koch Zuse Institute Berlin (ZIB) 11
How about memory?
• The memory hierarchy will become increasingly complex• L1 Cache 1×
• L2 Cache 4×
• L3 Cache 16×
• Local / Remote Memory 50 − 700×
• Network >1,000×
• Disk >3,000,000×
• Total memory will increase
• Memory per PE will increase
• Memory per core will decrease
• Reliability will become a big issue:
• “DRAM Errors in the Wild: A Large-Scale Field Study” Schroeder, Pinheiro, Weber, 2009
• “Uncorrectable errors on 0.22% per DIMM per year makes a crash-tolerant application layer indispensable for large-scale server farms.”
Which Mixed Integer Programs could a Million CPUs solve? Thorsten Koch Zuse Institute Berlin (ZIB) 12
Challenges
13Which Mixed Integer Programs could a Million CPUs solve? Thorsten Koch Zuse Institute Berlin (ZIB)
Measuring Performance
• Traditional measures are not appropriate.
• The interesting problems are the ones that take too long to solve sequentially.
• Need to account for the possibility of failure.
• It’s exceedingly difficult to construct a test set
• Scalability varies substantially by instance.
• Hard to know what test problems are appropriate.
• A fixed test set will almost surely fail to measure what you want.
• Results are highly dependent on architecture• Results are highly dependent on architecture
• Difficult to make comparisons
• Difficult to tune parameters
• Hard to get enough time on large-scale platforms for tuning and testing.
• Results are non-deterministic!
• Determinism can be a false sense of security.
• Lack of determinism requires more extensive testing.
Which Mixed Integer Programs could a Million CPUs solve? Thorsten Koch Zuse Institute Berlin (ZIB) 14
Performance variability
T. Koch, G. Gamrath, H. Mittelmann: Any Progress One Year after MIPLIB 2010 ? 15
Ramp-up: Branching Trees
Which Mixed Integer Programs could a Million CPUs solve? Thorsten Koch Zuse Institute Berlin (ZIB) 16
Ramp-up: Branching Trees
Which Mixed Integer Programs could a Million CPUs solve? Thorsten Koch Zuse Institute Berlin (ZIB) 17
Typical? development of open nodes
Which Mixed Integer Programs could a Million CPUs solve? Thorsten Koch Zuse Institute Berlin (ZIB) 18
Sources of Parallelism
Parallelization of tree search is easy in principle...but not in practice!
• Tree parallelism: Process different part of the tree simultaneously.
• Node Parallelization
• Decomposition: Apply a decomposition approach in order to parallelize the bounding procedure.
• Direct Parallelization: Parallelize solution of the LP relaxation• Direct Parallelization: Parallelize solution of the LP relaxation
• Task parallelism
• Special procedures for the ramp-up/ramp-down phases
• Parallelize primal heuristics
• Parallelize cut generation
• Process multiple trees simultaneously
Which Mixed Integer Programs could a Million CPUs solve? Thorsten Koch Zuse Institute Berlin (ZIB) 19
How to use the machine
• Each PE runs a standard shared memory MIP-Solver
• A multi-level master/slave load coordinator can be used to build and maintain a tree and distribute the problem over the 4000 PEs.
Problems:
• Ramp-up � racing ramp-up
• Ramp-down � phase detection • Ramp-down � phase detection
• PE runs out of memory: Node files, Iterated DFS
• Total number of open nodes limited
• How to check-point
• Parallel performance with increasing number of cores
Which Mixed Integer Programs could a Million CPUs solve? Thorsten Koch Zuse Institute Berlin (ZIB) 20
Solution on a Single PE
Shared Memory
21Which Mixed Integer Programs could a Million CPUs solve? Thorsten Koch Zuse Institute Berlin (ZIB)
Parallel Speedup over threads, Gurobi 3.0
#Threads Speedup
1 1.0
2 1.31
4 1.63
6 1.88
1.5
2
2.5
Slide courtesy of Ed Rothberg
6 1.88
8 2.08
10 2.17
12 2.31
22
0
0.5
1
P1 P2 P4 P6 P8 P10 p12
Which Mixed Integer Programs could a Million CPUs solve? Thorsten Koch Zuse Institute Berlin (ZIB)
Speedups for P=4 using Gurobi (by Model)
Slide courtesy of Ed Rothberg
Which Mixed Integer Programs could a Million CPUs solve? Thorsten Koch Zuse Institute Berlin (ZIB) 23
Average speedup from 1 to 12 threads on MIPLIB 2010 : 3 x
2012 Speedup 1:12 threads CBC/SCIP
2000
2500
3000
3500
CBC/1
SCIP/spx/1
CBC/12
SCIP/spx/12
Seconds
T. Koch, G. Gamrath, H. Mittelmann: Any Progress One Year after MIPLIB 2010 ? 24
0
500
1000
1500
1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85
Instances sorted by solution time
2012 Parallel speedup Best 1/12 per instance
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
T. Koch, G. Gamrath, H. Mittelmann: Any Progress One Year after MIPLIB 2010 ? 25
0
1
2
3
4
5
6
7
8
9
10
11
12
bnatt350
acc
-tig
ht5
n3se
q24
mzz
v11
ex9
ns1
758913
neos-
…
beasleyC3
ns1
208400
tanglegra
…
netd
ivers
i…
neos-
…
sate
llite
s…
macr
oph…
bab5
sp98ic
opm
2-z
7-…
n3div36
30n20b8
roll3
000
net1
2
enlig
ht1
4
sp98ir
map20
eilB
101
pg5_34
tim
tab1
neos1
8
rmatr100…
nosw
ot
air04
qiu
eil3
3-2
rmin
e6
enlig
ht1
3
n4-3
neos-
…
ns1
766074
dfn
-gwin
-…
pw-m
yciel4
danoin
t
m100n50…
neos-
…
gm
u-3
5-4
0
Performance relative to number of threads
Numbers courtesy of K. Fujisawa
Which Mixed Integer Programs could a Million CPUs solve? Thorsten Koch Zuse Institute Berlin (ZIB) 26
Nodes per second
Which Mixed Integer Programs could a Million CPUs solve? Thorsten Koch Zuse Institute Berlin (ZIB) 27
B&B nodes
Which Mixed Integer Programs could a Million CPUs solve? Thorsten Koch Zuse Institute Berlin (ZIB) 28
Efficiency of MIP solvers
Which Mixed Integer Programs could a Million CPUs solve? Thorsten Koch Zuse Institute Berlin (ZIB) 29
Notes
• Current shared memory solvers – in spite of considerable efforts – do not scale well! Especially, because of the root-phase
• Ramp-up might become a problem
• Better algorithms lead to fewer nodes
• Memory bandwidth unclear • Memory bandwidth unclear
• Running more than one sub-solver per PE is likely problematic because of memory consumption
Which Mixed Integer Programs could a Million CPUs solve? Thorsten Koch Zuse Institute Berlin (ZIB) 30
Solution on Multiple PEs
Distributed Memory
31Which Mixed Integer Programs could a Million CPUs solve? Thorsten Koch Zuse Institute Berlin (ZIB)
What are the reasons why MIPs cannot be solved ?
1. Genuine bad formulation
2. Bad dual bounds
3. LP is difficult/slow, especially reoptimizing
4. Bad numerical properties
5. Difficult to find primal solution
6. Large enumeration tree, e.g. due to symmetry
7. Just big
8. Nobody knows
Assume we want to solve one LP per PE
Which Mixed Integer Programs could a Million CPUs solve? Thorsten Koch Zuse Institute Berlin (ZIB) 32
Bottleneck LP Solver
Simplex Barrier Lagrange
Warmstart
speedup500 x 3 x 2 x ?
Parallel
speedup1 x 16+ x 8 x ?
Speed 1 0.6 0.1 ?
Needs
crossoverno yes yes
crossover
Memory 1 x up to 10 x 0.8 ?
Implemented yes no warmstart no crossover
Numerically
stablemost good
unclear
BIP likely
Which Mixed Integer Programs could a Million CPUs solve? Thorsten Koch Zuse Institute Berlin (ZIB) 33
Crossover is single thread simplex and will likely take as long as simplex reoptimization (e.g. 20% of total time on 12 threads).The Lagrange/Bundle/Volume algorithms only compute lower bounds on the solution.
Simplex reoptimization
Which Mixed Integer Programs could a Million CPUs solve? Thorsten Koch Zuse Institute Berlin (ZIB) 34
Efficiency of Barrier solvers
Which Mixed Integer Programs could a Million CPUs solve? Thorsten Koch Zuse Institute Berlin (ZIB) 35
Can we solve zib03 with a million cores?
We were not able to compute a feasible basis for zib03 so far. After 10 h we still do not even have a primal feasible solution. Furthermore, experiments with smaller instances suggest the model is very unfavorable for the simplex method, especially regarding warm starts. Unfortunately, it is an IP.
Algorithm Time [h] Result Memory [GB]
Resident [GB]
Primal Simplex
>300 Infeasibility
218924 18
Simplex 2189
Dual Simplex >300 Lower bound
833524 18
Bundle 13 Lower bound
595155 18
Interior Point 103(32 threads)
Optimal
1.2228.148256 175
Crossover >300 unfinished
Some Predictions Pulled Out of the Air
• Expected Efficiencies
• An efficiency of 0.2 seems achievable for an ILP solver on 128 core CPU
• An efficiency of 0.1 seems realistic for solving ILPs on multiple PEs
• An efficiency of 0.2 seems achievable for solving large LPs by barrier with crossover in parallel on 128 cores.
• An efficiency of 0.1 seems possible for distributed solution of LPs by barrier.
• Expected Overall Performance• Expected Overall Performance
• For a million core system with 128 cores per PE and 8000 Pes, this means a speed-up of 20000 in steady-state.
• If we are only able to solve one LP relaxation (in parallel) on each PE due to size, then a speed-up of about 1000 is realistic.
• If we are only able to solve the LP relaxations in distributed fashion using, say, 8 Pes, then we can only expect a speed-up of about 10.
Prediction is very difficult, especially about the future. --Niels Bohr
Summary
Symptom HW cure SW cure
Slow LPs Faster cores LP algorithm improvement
Many nodes More cores IP algorithm improvement
Big instances More memory
• Faster cores help in all cases (the way it used to be)• More cores can improve slow LPs and big instances, too, but is
Which Mixed Integer Programs could a Million CPUs solve? Thorsten Koch Zuse Institute Berlin (ZIB) 38
• More cores can improve slow LPs and big instances, too, but is limited due to memory bandwidth, sequential algorithms, and ramp-up/-down
• Better LP algorithms could help for big instances• Better IP algorithms usually work against parallelization• It seems unlikely that many instances that have weak bounds or
poor formulations will be helped
Conclusions
Slow LP, many nodes, big instances, …
… chose 2 !
But what if the memory does not grow with the number of But what if the memory does not grow with the number of cores?
• Since a distributed Cholesky factorization is there
• a distributed Interior Point LP solver should be the solution. Only it will be even slower. Therefore,
We need more cores!
Which Mixed Integer Programs could a Million CPUs solve? Thorsten Koch Zuse Institute Berlin (ZIB) 40
Thank you very much!Thank you very much!
Which Mixed Integer Programs could a Million CPUs solve? Thorsten Koch Zuse Institute Berlin (ZIB) 41
Questions?Questions?
Which Mixed Integer Programs could a Million CPUs solve? Thorsten Koch Zuse Institute Berlin (ZIB) 42
ZIB IP Group
Which Mixed Integer Programs could a Million CPUs solve? Thorsten Koch Zuse Institute Berlin (ZIB) 43
Mining the talks
Thanks for contributing slides to
Tobias Achterberg
Timo Berthold
Robert BixbyRobert Bixby
Ed Rothberg
Zonghao Gu
Stefan Vigerske
and especially all I forgot
Which Mixed Integer Programs could a Million CPUs solve? Thorsten Koch Zuse Institute Berlin (ZIB) 44
ZIB Instances
Variables Constraints Non-zeros Description
1 12,471,400 5,887,041 49,877,768 Group Channel Routing on a 3D Grid Graph(Chip-Bus-Routing)
2 37,709,944 9,049,868 146,280,582 Group Channel Routing on a 3D Grid Graph(different model, infeasible)
3 29,128,799 19,731,970 104,422,573 Steiner-Tree-Packing on a 3D 3 29,128,799 19,731,970 104,422,573 Steiner-Tree-Packing on a 3D Grid Graph
4 37,423 7,433,543 69,004,977 Integrated WLAN Transmitter Selection and Channel Assignment
5 9,253,265 9,808 349,424,637 Duty Scheduling with base constraints
Future algorithmic speed-up
• Most of the computing time in MIP solver is spend in the solution of the LP relaxations, in the parallel case especially in the root
• The Dual Simplex algorithm is the method of choice
• Little setup cost, fast on small/”easy” instances
• The Simplex algorithm has exponential complexity
• The Simplex algorithm is inherently difficult to parallelize• The Simplex algorithm is inherently difficult to parallelize
• Interior Point Methods have polynomial complexity
• In practice much less variation of solution times
• Interior Point Methods parallelize well
• BUT Interior Point Methods are not warm start capable
Which Mixed Integer Programs could a Million CPUs solve? Thorsten Koch Zuse Institute Berlin (ZIB) 46
What is the MIPLIB
Version Year # Who Reference
1 1991 61 Bixby, Boyd, Indovina
2 1992 61 Bixby, Boyd, Indovina SIAM News 25, 15 (1992)
3 1996 65 Bixby, Ceria, McZeal, Savelsberg Optima 58, 12-15 (1998)
4 2003 60 Achterberg, Koch, Martin ORL 34(4) 361-372 (2006)
5 2010 87/361 Koch, Achterberg, Andersen, Bastert, Berthold, Bixby, Danna, Gamrath, Gleixner, Heinz, Lodi, Mittelmann, Ralphs, Salvagnin,
MPC 3, 103-163 (2011)
T. Koch, G. Gamrath, H. Mittelmann: Any Progress One Year after MIPLIB 2010 ? 47
Mittelmann, Ralphs, Salvagnin, Steffy, Wolter
The MIPLIB is a diverse collection of challenging real-world mixed integer programming (MIP) instances from various academic and industrial applications suited for benchmarking and testing of MIP solution algorithms.
The Benchmark set consist only of instances that could be solved in 2010 within two hours on a high-end personal computer by at least two MIP solvers.
MIPLIB 5 still contains 2 instances from Version 2, 7 instances from Version 3, and 17
instances from Version 4.
Development of MIPLIB 2003
T. Koch, G. Gamrath, H. Mittelmann: Any Progress One Year after MIPLIB 2010 ? 48
easy can be solved within an hour on a contemporary pc with a state-of-the-art solverhard are solvable but take a longer time or require specialized algorithmsopen, i.e. not solved instances for which the optimal solution is not known
Development of MIPLIB 2010
120
140
160
180
200
220
Easy
T. Koch, G. Gamrath, H. Mittelmann: Any Progress One Year after MIPLIB 2010 ? 49
0
20
40
60
80
100
05.2011 07.2011 08.2011 01.2012 02.2012 03.2012 04.2012 05.2012 06.2012 07.2012 08.2012
Hard
Open
Some MIP Solvers then and now
SolverVersion2011
Version2012 URL
IBM CPLEX 12.2 12.4 www.cplex.com
Gurobi 4.5 beta0 5.0 www.gurobi.com
FICO XPress-MP 7.2 RC 7.2 www.fico.com/en/Products/DMTools/Pages/FICO-Xpress-Optimization-Suite.aspx
SCIP/spx 2.0.1 3.0.0 scip.zib.de
T. Koch, G. Gamrath, H. Mittelmann: Any Progress One Year after MIPLIB 2010 ? 50
CBC 2.6.4 2.7.7 projects.coin-or.org/Cbc
Further solvers
Glpk 4.47 www.gnu.org/software/glpk/glpk.html
lp_solve 5.5 lpsolve.sourceforge.net
Lindo 7.1 www.lindo.com
Minto 3.1 coral.ie.lehigh.edu/~minto
Symphony 5.4 projects.coin-or.org/SYMPHONY
Performance relative to number of threads
Numbers courtesy of K. Fujisawa
T. Koch, G. Gamrath, H. Mittelmann: Any Progress One Year after MIPLIB 2010 ? 51
Performance variation due to # of threads
T. Koch, G. Gamrath, H. Mittelmann: Any Progress One Year after MIPLIB 2010 ? 52
Performance variation due to permutation
T. Koch, G. Gamrath, H. Mittelmann: Any Progress One Year after MIPLIB 2010 ? 53
Efficiency of MIP solvers
Computational Integer Programming Thorsten Koch Zuse Institute Berlin (ZIB) 54
How to compare MIP solver performance?
There are two components to it:
• Ability to solve an instance (within some timeframe)
• Time to solve
You have always to see both numbers!
If two solvers are compared there are two possibilities:
1. Both can solve all instances.
2. There are instances only one solver can solve
3. There are instances both cannot solve
T. Koch, G. Gamrath, H. Mittelmann: Any Progress One Year after MIPLIB 2010 ? 56
Current MIP Solver performance (1 thread)
T. Koch, G. Gamrath, H. Mittelmann: Any Progress One Year after MIPLIB 2010 ? 57
Geometric mean of results taken from the homepage of Hans Mittelmann (11. Aug 2012)http://plato.asu.edu/ftp/milpc.html
Unsolved or failed instances are accounted for with the time limit of 1 hour.
A new open access journal
Mathematical Programming Computation
MPC will publish original research articles covering computational issues in mathematical programming.
Articles report on innovative software, comparative tests, modeling environments, libraries of data, and/or applications.
A main feature of the journal is the inclusion of accompanying software and data with submitted manuscripts. The journal’s review process includes the
T. Koch, G. Gamrath, H. Mittelmann: Any Progress One Year after MIPLIB 2010 ? 59
data with submitted manuscripts. The journal’s review process includes the evaluation and testing of the accompanying software. Where possible, the review will aim for verification of reported computational results.
Visit: http://mpc.zib.de and http://springer.com
Editor-in-Chief: William Cook
General Editor: Thorsten Koch
Area Editors: D. Bienstock, R. Fourer, A. Goldberg, S. Leyffer, J. Linderoth,G. Reinelt, K. Toh
Technical Editors
Tobias Achterberg Daniel Espinoza Dominique Orban
David Applegate Armin Fügenschuh Marc Pfetsch
Oliver Bastert Andreas Grothey Ted Ralphs
Pietro Belotti Zonghao Gu Domenico Salvagnin
Hande Y. Benson William Hart Martin Schmidt
Andreas Bley Keld Helsgaun Mohit Tawarnalani
T. Koch, G. Gamrath, H. Mittelmann: Any Progress One Year after MIPLIB 2010 ? 60
Andreas Bley Keld Helsgaun Mohit Tawarnalani
Brian Borcher Benjamin Hiller Stefan Vigerske
Jordi Castro Leonardo B. Lopes Richard A. Waltz
Emilie Danna Todd S. Munson Stefan Wild
2012 Performance on MIPLIB 2010 / 1 thread
2000
2500
3000
3500
2012-CBC/1
2012-CPLEX/1
2012-Gurobi/1
2012-SCIP/spx/1
2012-XPRESS/1
Seconds
T. Koch, G. Gamrath, H. Mittelmann: Any Progress One Year after MIPLIB 2010 ? 61
0
500
1000
1500
1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85
2012-Best/1
Instances sorted by solution time
2012 Performance on MIPLIB 2010 / 12 threads
2000
2500
3000
3500
2012-Best/1
2012-CBC/12
2012-CPLEX/12
2012-Gurobi/12
2012-XPRESS/12
2012-Best/12
Seconds
T. Koch, G. Gamrath, H. Mittelmann: Any Progress One Year after MIPLIB 2010 ? 62
0
500
1000
1500
1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85
Instances sorted by solution time
2012 Speedup 1:12 threads CBC/SCIP
2000
2500
3000
3500
2012-CBC/1
2012-SCIP/spx/1
2012-CBC/12
2012-SCIP/spx/12
Seconds
T. Koch, G. Gamrath, H. Mittelmann: Any Progress One Year after MIPLIB 2010 ? 63
0
500
1000
1500
1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85
Instances sorted by solution time
MIPLIB Performance 2011:2012
2000
2500
3000
3500
2012-SCIP/spx/1
2012-Best/1
2012-Best/12
2011-SCIP/spx/1
2011-Best/1
Seconds
T. Koch, G. Gamrath, H. Mittelmann: Any Progress One Year after MIPLIB 2010 ? 64
0
500
1000
1500
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87
2011-Best/12
Speedup by permuting
15000
20000
Min
Max
Default
Which Mixed Integer Programs could a Million CPUs solve? Thorsten Koch Zuse Institute Berlin (ZIB) 65
0
5000
10000
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65
Progress in Numbers
2011 2012 Speed-up
Best/1 geom. mean time [s] 105 81 23%
Best/12 geom. mean time [s] 34 28 17%
Best/1 not optimal [#] 4 3
Best/12 not optimal [#] 1 0
Speedup 1 to 12 [×] 3.1 2.8
Max(C,G,X)/Min(C,G,X) 1 thr. 600 259
T. Koch, G. Gamrath, H. Mittelmann: Any Progress One Year after MIPLIB 2010 ? 66
Max(C,G,X)/Min(C,G,X) 1 thr. 600 259
Max(C,G,X)/Min(C,G,X) 12 thr. 1138 107
Best/1 geom. mean nodes [#] 2108 1958 8%
Best/12 geom. mean nodes [#] 2570 2406 7%
Max(C,G,X)/Min(C,G,X) 1 thr. 40,804 32,600
Max(C,G,X)/Min(C,G,X) 12 thr. 10,499 887,849
Single solvers have speed-ups up to 42%
2012 Parallel speedup Best 1/12 per instance
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
T. Koch, G. Gamrath, H. Mittelmann: Any Progress One Year after MIPLIB 2010 ? 67
0
1
2
3
4
5
6
7
8
9
10
11
12
bnatt350
acc
-tig
ht5
n3se
q24
mzz
v11
ex9
ns1
758913
neos-
…
beasleyC3
ns1
208400
tanglegra
…
netd
ivers
i…
neos-
…
sate
llite
s…
macr
oph…
bab5
sp98ic
opm
2-z
7-…
n3div36
30n20b8
roll3
000
net1
2
enlig
ht1
4
sp98ir
map20
eilB
101
pg5_34
tim
tab1
neos1
8
rmatr100…
nosw
ot
air04
qiu
eil3
3-2
rmin
e6
enlig
ht1
3
n4-3
neos-
…
ns1
766074
dfn
-gwin
-…
pw-m
yciel4
danoin
t
m100n50…
neos-
…
gm
u-3
5-4
0
Speedup Best/12 2011:2012 per instance
4
8
16
32
64
T. Koch, G. Gamrath, H. Mittelmann: Any Progress One Year after MIPLIB 2010 ? 68
0.25
0.5
1
2
rail5
07
ns1
208400
gm
u-3
5-4
0sa
tellite
s1-2
5eilB
101
ran16x16
csch
ed010
sp98ic
roll3
000
mik-2
50-1
-100-1
neos1
3aflow40b
nosw
ot
newdano
min
e-9
0-1
0acc
-tig
ht5
neos-
1109824
neos-
849702
danoin
tneos-
1601936
unitca
l_7
tim
tab1
bnatt350
pg5_34
iis-b
upa-c
ov
neos1
8ns1
830653
bley_xl1
msp
p16
n3se
q24
macr
ophage
rmin
e6
msc
98-ip
iis-1
00-0
-cov
opm
2-z
7-s
2bienst
2bin
kar1
0_1
cov1075
dfn
-gwin
-UUM
lect
sched-4
-obj
ns1
688347
ns1
766074
pig
eon-1
0qiu
rmatr100-p
5n3div36
neos-
476283
map18
pw-m
yciel4
rocI
I-4-1
1m
ap20
net1
2neos-
934278
rmatr100-p
10
ns1
758913
min
e-1
66-5
iis-p
ima-c
ov
app1-2
netd
ivers
ion
mcs
ched
neos-
1396125
ash
608gpia-3
col
mzz
v11
zib54-U
UE
beasleyC3
reblock
67
biella
1eil3
3-2
neos-
916792
roco
coC10-0
01000
n4-3
sp98ir
trip
tim
1ta
nglegra
m2
glass
4co
re2536-6
91
ex9
neos-
686190
air04
bab5
neos-
1337307
vpphard
enlig
ht1
3enlig
ht1
4m
100n500k4r1
tanglegra
m1
30n20b8
1998 Benchmark Set
2000
2500
3000
3500
SIP 1.1 [CPLEX 5.0 for LP] UltraSparc 167 MHz
CPLEX 5.0 UltraSparc 167 MHz
SIP 1.1 [CPLEX 5.0.1 for LP] X5260 3333 MHz
SCIP 2.1.1 [CPLEX 12.4 for LP] X5260 3333 MHz
CPLEX 12.4 X5260 3333 MHz
Seconds
T. Koch, G. Gamrath, H. Mittelmann: Any Progress One Year after MIPLIB 2010 ? 69
0
500
1000
1500
1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58
Instances sorted by solution time