what could a million cores do to solve integer programs?ted/files/talks/millioninforms12.pdf ·...

69
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 I/O-bound problem. --Ken Batcher

Upload: phungkhanh

Post on 25-Jun-2018

216 views

Category:

Documents


0 download

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

Questions?Questions?

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

B&B nodes

Computational Integer Programming Thorsten Koch Zuse Institute Berlin (ZIB) 55

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.

Commercial Break

T. Koch, G. Gamrath, H. Mittelmann: Any Progress One Year after MIPLIB 2010 ? 58

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