What's new in CPLEX 12.6?

42

Click here to load reader

description

This presentation made at IFORS in July 2014 presents some of the innovations and enhancements in IBM CPLEX 12.6. Topics include MIP performance, Distributed MIP (solving a MIP on several computers), and the new nonconvex MIQP solver.

Transcript of What's new in CPLEX 12.6?

Page 1: What's new in CPLEX 12.6?

Decision Optimization

IFORS 2014 – CPLEX 12.6

IFORS 2014, Barcelona

What’s new in CPLEX 12.6

Xavier Nodet

Software Development Manager

IBM CPLEX Optimizer

[email protected]

Page 2: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

2 IFORS 2014 – CPLEX 12.6

Disclaimer

IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion. Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion.

Performance is based on measurements and projections using standard IBM®benchmarks in a controlled environment. The actual throughput orperformance that any user will experience will vary depending upon manyfactors, including considerations such as the amount of multiprogramming inthe user's job stream, the I/O configuration, the storage configuration, and theworkload processed. Therefore, no assurance can be given that an individualuser will achieve results similar to those stated here.

Page 3: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

3 IFORS 2014 – CPLEX 12.6

Agenda

MIP performance

Distributed MIP

Nonconvex (MI)QP

Page 4: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

4 IFORS 2014 – CPLEX 12.6

Agenda

MIP performance

Distributed MIP

Nonconvex (MI)QP

Page 5: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

MIP performance

Continuous improvements in MIP performance with each release

Main ingredients since 12.5:– Concurrent root cut loop– Lift and Project cuts

With 12.6:– 5% on nontrivial models (more than 1 sec)– 15% on hard models (more than 100 sec)

5 IFORS 2014 – CPLEX 12.6

Page 6: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

0

50

100

150

200

250

0

200

400

600

800

1000

1200

1400

1998

1999

2000

2001

2002

2003

2004

2005

2006

2007

2008

2009

2010

2011

2012

2013

tota

l sp

eed

up

nu

mb

er o

f ti

meo

uts

x217Same hardware

3147 models

10 sec

100 sec

1000 sec

Date: 28 September 2013Testset: 3147 models (1792 in 10sec, 1554 in 100sec, 1384 in 1000sec)Machine: Intel X5650 @ 2.67GHz, 24 GB RAM, 12 threads (deterministic since CPLEX 11.0)Timelimit: 10,000 sec

v6.0

v6.5.3

v7.0v8.0

v9.0

v10.0

v11.0v12.1

v12.2v12.4

v12.5v12.6

Page 7: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

7 IFORS 2014 – CPLEX 12.6

Agenda

MIP performance

Distributed MIP

Nonconvex (MI)QP

Page 8: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

One master, several workers

Distributed MIP

8 IFORS 2014 – CPLEX 12.6

Page 9: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

One master, several workers

Racing rampup: – Each worker solves a copy of the problem using different settings

Distributed MIP

9 IFORS 2014 – CPLEX 12.6

Page 10: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

One master, several workers

Racing rampup: – Each worker solves a copy of the problem using different settings– The master gathers primal and dual bounds from the workers and redistributes them

Distributed MIP

10 IFORS 2014 – CPLEX 12.6

Page 11: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

One master, several workers

Racing rampup: – Each worker solves a copy of the problem using different settings– The master gathers primal and dual bounds from the workers and redistributes them– A winner is selected

Distributed MIP

11 IFORS 2014 – CPLEX 12.6

Page 12: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

One master, several workers

Racing rampup: – Each worker solves a copy of the problem using different settings– The master gathers primal and dual bounds from the workers and redistributes them– A winner is selected

Distributed B&B

Distributed MIP

12 IFORS 2014 – CPLEX 12.6

Page 13: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

One master, several workers

Racing rampup: – Each worker solves a copy of the problem using different settings– The master gathers primal and dual bounds from the workers and redistributes them– A winner is selected

Distributed B&B– The master distributes subtrees coming from the winner to all workers

Distributed MIP

13 IFORS 2014 – CPLEX 12.6

Page 14: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

One master, several workers

Racing rampup: – Each worker solves a copy of the problem using different settings– The master gathers primal and dual bounds from the workers and redistributes them– A winner is selected

Distributed B&B– The master distributes subtrees coming from the winner to all workers– And coordinates the exploration of the whole tree

Distributed MIP

14 IFORS 2014 – CPLEX 12.6

Page 15: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

Distributed MIP

Use infinite rampup (default) to exploit performance variability– 1.5x to 2x speed-up with 4 workers on non-trivial problems

Use Distributed B&B (set CPXPARAM_DistMIP_Rampup_Duration to 1) – for very hard problems, many nodes to enumerate

Hardware doesn’t need to be the same

But workers should be as similar as possible to facilitate load balancing

15 IFORS 2014 – CPLEX 12.6

Page 16: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

16 IFORS 2014 – CPLEX 12.6

Agenda

MIP performance

Distributed MIP

Nonconvex (MI)QP

Page 17: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

Evolution of CPLEX capabilities

17 IFORS 2014 – CPLEX 12.6

LP-Simplex

MIP-B&B

Page 18: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

Evolution of CPLEX capabilities

18 IFORS 2014 – CPLEX 12.6

LP-Simplex-Barrier

Convex QP

-QP Barrier

Nonconvex QP-Local: QP Barrier

MIP-B&B

Page 19: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

Evolution of CPLEX capabilities

19 IFORS 2014 – CPLEX 12.6

LP-Simplex-Barrier

Convex QP-QP Simplex-QP Barrier

Nonconvex QP-Local: QP Barrier

(convex) MI(Q)P-B&B

Page 20: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

Evolution of CPLEX capabilities

20 IFORS 2014 – CPLEX 12.6

LP-Simplex-Barrier

Convex QP-QP Simplex-QP Barrier

Nonconvex QP-Local: QP Barrier

Convex QCP-SOCP Barrier

(convex) MI(QC)P-B&B

Page 21: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

Evolution of CPLEX capabilities

21 IFORS 2014 – CPLEX 12.6

LP-Simplex-Barrier

Convex QP-QP Simplex-QP Barrier

Nonconvex QP-Local: QP Barrier-Global: Spatial B&B

Convex QCP-SOCP Barrier

(convex) MI(QC)P-B&B

Nonconvex MIQP-Global: Spatial B&B

Page 22: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

Solving a nonconvex (MI)QP

QP Simplex doesn’t handle nonconvex problems

QP Barrier only gives locally optimal solutions

Relax the problem into a convex QP

Loop:– Solve the relaxed model to optimality using QP simplex– Do we need to branch?– Choose a variable to branch on– Create the nodes, update the relaxations

22 IFORS 2014 – CPLEX 12.6

Page 23: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

Relaxing to convex QP

If we had only positive squares, the problem would be convex

23 IFORS 2014 – CPLEX 12.6

Page 24: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

Relaxing to convex QP

If we had only positive squares, the problem would be convex

Relax negative squares using Secant approximations

24 IFORS 2014 – CPLEX 12.6

......min 2 iiixq

Page 25: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

Relaxing to convex QP

If we had only positive squares, the problem would be convex

Relax negative squares using Secant approximations– Replace with new variable

25 IFORS 2014 – CPLEX 12.6

2

ix iy2

......min

ii

iii

xy

yq

Page 26: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

Relaxing to convex QP

If we had only positive squares, the problem would be convex

Relax negative squares using Secant approximations– Replace with new variable– Coef. is negative, no need for equality

26 IFORS 2014 – CPLEX 12.6

2

ix iy2

......min

ii

iii

xy

yq

Page 27: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

Relaxing to convex QP

If we had only positive squares, the problem would be convex

Relax negative squares using Secant approximations– Replace with new variable– Coef. is negative, no need for equality– Use secant instead of

27 IFORS 2014 – CPLEX 12.6

iiiiii

iii

ulxuly

yq

......min2

ix iy

2

ix

Page 28: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

Relaxing to convex QP

If we had only positive squares, the problem would be convex

Relax negative squares using Secant approximations– Replace with new variable– Coef. is negative, no need for equality– Use secant instead of – Tight bounds are important!

28 IFORS 2014 – CPLEX 12.6

iiiiii

iii

ulxuly

yq

......min2

ix iy

2

ix

Page 29: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

Relaxing to convex QP

If we had only positive squares, the problem would be convex

Relax negative squares using Secant approximations– Replace with new variable– Coef. is negative, no need for equality– Use secant instead of – Tight bounds are important!

Use McCormick formulas for products

29 IFORS 2014 – CPLEX 12.6

2

ix iy

2

ix

ji xx

Page 30: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

Relaxing to convex QP

If we had only positive squares, the problem would be convex

Relax negative squares using Secant approximations– Replace with new variable– Coef. is negative, no need for equality– Use secant instead of – Tight bounds are important!

Use McCormick formulas for products

Convex quadratic parts remain

Relaxed problem depends on the bounds!

30 IFORS 2014 – CPLEX 12.6

2

ix iy

2

ix

ji xx

Page 31: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

Branching

If not all integer variables have an integer value, we have to branch

Compute a solution for nonconvex QP. If its value is equal to optimal solution of convex relaxation, done.

Else there must be a pair of variables not equal to the artificial and we have to branch

Choose a variable to branch on

Choose a value to divide this variable’s domain

Update Secant / McCormick approximations

31 IFORS 2014 – CPLEX 12.6

ji xx ijy

Page 32: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

EigenValue factorization

CPLEX may decide to transform the nonconvex (MI)QP given by the user

32 IFORS 2014 – CPLEX 12.6

0

2

1:min

x

bAx

xcQxx

Page 33: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

EigenValue factorization

CPLEX may decide to transform the nonconvex (MI)QP given by the user

33 IFORS 2014 – CPLEX 12.6

0

2

1:min

x

yxL

bAx

xcByy

0

2

1:min

x

bAx

xcQxx

'LBLQ

Page 34: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

EigenValue factorization

CPLEX may decide to transform the nonconvex (MI)QP given by the user

34 IFORS 2014 – CPLEX 12.6

0

2

1:min

x

zyM

yxL

bAx

xcDzz

0

2

1:min

x

yxL

bAx

xcByy

MDM'=B

Page 35: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

EigenValue factorization

CPLEX may decide to transform the nonconvex (MI)QP given by the user

D being diagonal, there are only squares in the objective

Maybe only few of them are negative, and trigger branching

35 IFORS 2014 – CPLEX 12.6

0

2

1:min

x

zyM

yxL

bAx

xcDzz

Page 36: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

EigenValue factorization

CPLEX may decide to transform the nonconvex (MI)QP given by the user

D being diagonal, there are only squares in the objective

Maybe only few of them are negative, and trigger branching

But…

Problem is larger

Bounds on z are larger than bounds on x

36 IFORS 2014 – CPLEX 12.6

0

2

1:min

x

zyM

yxL

bAx

xcDzz

Page 37: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

Other ingredients…

Multi-threading in the tree

Branching decisions based on pseudocosts

Unboundedness of the problem may be diagnosed

Quadratic terms involving binaries are linearized

KKT system used to strengthen the bounds of the variables

Remember to set CPXPARAM_SolutionTarget to OPTIMALGLOBAL!

37 IFORS 2014 – CPLEX 12.6

Page 38: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

No other solver aimed specifically at nonconvex MIQP

Comparison with SCIP 3.0.1 and Couenne 0.4 using 1 thread

390 models (internal, or publicly available), time limit 3 hours

Computational testing

38 IFORS 2014 – CPLEX 12.6

no timeouts

0

0,2

0,4

0,6

0,8

1

1,2

[0,1) [1,10) [10,100) [100,1k) [1k,10k)

problem time

rela

tive t

ime

scip

couenne

no timeouts

0

0,2

0,4

0,6

0,8

1

1,2

[0,1) [1,10) [10,100) [100,1k) [1k,10k)

problem time

rela

tive t

ime

4thread

Page 39: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

CPLEX Optimizer 12.6

39 IFORS 2014 – CPLEX 12.6

Page 40: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

CPLEX Optimizer 12.6

40 IFORS 2014 – CPLEX 12.6

Page 41: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

CPLEX Optimizer 12.6

41 IFORS 2014 – CPLEX 12.6

Page 42: What's new in CPLEX 12.6?

© 2014 IBM Corporation

Decision Optimization

CPLEX Optimizer 12.6

42 IFORS 2014 – CPLEX 12.6