the sas milp solver: current status and future developments

16
THE SAS MILP SOLVER: CURRENT STATUS AND FUTURE DEVELOPMENTS INFORMS Annual Meeting 2016, Nashville Philipp M. Christophel Menal Güzelsoy Amar Narisetty Imre Pólik

Upload: dangdat

Post on 11-Jan-2017

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The SAS MILP Solver: Current Status And Future Developments

THE SAS MILP SOLVER: CURRENTSTATUS AND FUTURE DEVELOPMENTS

INFORMS Annual Meeting 2016, Nashville

Philipp M. ChristophelMenal GüzelsoyAmar Narisetty

Imre Pólik

Page 2: The SAS MILP Solver: Current Status And Future Developments

SAS/OR AGENDA

1 Introduction

2 Improvements in SAS/OR 14.2Precedence detectionModulo 2 solver

3 Computational results

4 Future Developments

Copyright 2016, SAS Institute Inc. All rights reserved. 2

Page 3: The SAS MILP Solver: Current Status And Future Developments

INTRODUCTION ABOUT THE SAS MILP SOLVER

SAS/OR: LP, QP, NLP, MILP, modeling language, networkalgorithms, constraint programming, derivative-freeoptimization, discrete event simulationAccessible through the PROC OPTMODEL modelinglanguage and directly by calling PROC OPTMILPAlgorithms

I LP relaxation-based branch and cutI Decomposition

Developed since 2004, available since 2006Latest version: SAS/OR 14.2

Copyright 2016, SAS Institute Inc. All rights reserved. 3

Page 4: The SAS MILP Solver: Current Status And Future Developments

IMPROVEMENTS INSAS/OR 14.2 OVERVIEW

PresolverI New techniques: two-row tightening, row aggregation, swap

substitutions, free columns substitutions, mod 2 reductions,precedence constraint, number theory based tightenings andsubstitutions

CutsI New flow cover, flow path, and MIR cuts

SimplexI Crash basis improvementsI Perturbation improvements

OtherI More dual solution tighteningI (Orbital) Probing in node presolverI New pre-LP heuristics

Copyright 2016, SAS Institute Inc. All rights reserved. 4

Page 5: The SAS MILP Solver: Current Status And Future Developments

IMPROVEMENTS INSAS/OR 14.2 PRECEDENCE DETECTION

Given constraints of the form x ≤ y or x ≤ 1− y identify theredundant onesPrecedence graph (G): each variable and its complement getsa nodeArcs indicate the precedence relationshipTransitive closure (G): adding all the implied arcs to the graphRedundancy detection: uv ∈ G is redundant iff∃w ∈ G,w 6= u, v : uw ∈ G,wv ∈ GNeed to be careful about back edges and self links

Copyright 2016, SAS Institute Inc. All rights reserved. 5

Page 6: The SAS MILP Solver: Current Status And Future Developments

IMPROVEMENTS INSAS/OR 14.2 PRECEDENCE DETECTION

Precedence graph

1

2 3

4

x1 ≤ x2

x2 ≤ x3

x3 ≤ x4

x1 ≤ x4

Copyright 2016, SAS Institute Inc. All rights reserved. 6

Page 7: The SAS MILP Solver: Current Status And Future Developments

IMPROVEMENTS INSAS/OR 14.2 PRECEDENCE DETECTION

Transitive closure

1

2 3

4

x1 ≤ x2

x2 ≤ x3

x3 ≤ x4

x1 ≤ x4

Copyright 2016, SAS Institute Inc. All rights reserved. 6

Page 8: The SAS MILP Solver: Current Status And Future Developments

IMPROVEMENTS INSAS/OR 14.2 PRECEDENCE DETECTION

(14) is redundant

1

2 3

4

x1 ≤ x2

x2 ≤ x3

x3 ≤ x4

x1 ≤ x4

Copyright 2016, SAS Institute Inc. All rights reserved. 6

Page 9: The SAS MILP Solver: Current Status And Future Developments

IMPROVEMENTS INSAS/OR 14.2 PRECEDENCE DETECTION

Already had transitive closure implemented as part of SAS/ORVery fastThe closure can be used to speed up probingVery effective on the opm2 class of instances

Instance Rows Rows leftopm2_z7_s2 26675 15699opm2_z10_s2 146299 65358opm2_z11_s8 205459 88265opm2_z12_s7 297768 124278opm2_z12_s14 297299 124194

Copyright 2016, SAS Institute Inc. All rights reserved. 7

Page 10: The SAS MILP Solver: Current Status And Future Developments

IMPROVEMENTS INSAS/OR 14.2 MODULO 2 SOLVER

Take all integer equalities modulo 2Solve the system with Gaussian elimination

I dense bitfield storage with 64bit wordsI all coefficients are 0-1I pivoting operation is bitwise XOR: very fast

Detect infeasibilityObtain the parity of a variable: tighten or fixIdentify linear relations between 2 binaries

x + y ≡ 0 mod 2 −→ x = y

Copyright 2016, SAS Institute Inc. All rights reserved. 8

Page 11: The SAS MILP Solver: Current Status And Future Developments

COMPUTATIONALRESULTS OVERALL PERFORMANCE

Test set of 798 instances from customers and publicbenchmarks96 machines running 2 jobs each on 16-core/2-socket Intel(R)Xeon(R) E5-2630 v3 @ 2.40GHz CPUs62GB of memory per job2-hour time limit, default options, 4 threadsResults for 14.2

I 57% faster than 14.1 on instances both versions solveI 61 instances more solved within the time limit

Copyright 2016, SAS Institute Inc. All rights reserved. 9

Page 12: The SAS MILP Solver: Current Status And Future Developments

COMPUTATIONALRESULTS OVERALL PERFORMANCE

frac

tion

of in

stan

ces

0.0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

log2(r)

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

SAS/OR 14.2SAS/OR 14.1SAS/OR 13.2SAS/OR 13.1

0.0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

Copyright 2016, SAS Institute Inc. All rights reserved. 10

Page 13: The SAS MILP Solver: Current Status And Future Developments

COMPUTATIONALRESULTS PUBLIC BENCHMARKS

Mittelmann Test Solved Time (sec.)1

Bench, 1 thr, 2h, 0 gap 81 of 87 240Bench, 1 thr, 2h, 0 gap (17 seeds avg.) 82 of 87 235Bench, 4 thr, 2h, 0 gap 85 of 87 121Bench, 4 thr, 2h, 0 gap (17 seeds avg.) 85 of 87 113Bench, 12 thr, 2h, 0 gap 82 of 87 95Bench, 12 thr, 2h, 0 gap (17 seeds avg.) 84 of 87 84Solvable, 12 thr, 2h, 0 gap 170 of 208 261Infeasible, 4 thr, 1h 18 of 19 47Feasible, 4 thr, 1h, 1st feasible 27 of 33 114

1Intel(R) Xeon(R) E5-2630 v3 @ 2.40GHz CPUCopyright 2016, SAS Institute Inc. All rights reserved. 11

Page 14: The SAS MILP Solver: Current Status And Future Developments

FUTUREDEVELOPMENTS OUTLOOK

SAS/OR solvers on SAS ViyaI SAS Viya: a new, cloud-based

architectureI Data in HadoopI Call from SAS, Python, Java, LuaI Distributed parallel MILP solver

Solver ImprovementsI New lift-and-project cutsI Cut management improvementsI Probing improvementsI Even more presolver techniquesI Simplex: Row basis and advanced

crash basis

Copyright 2016, SAS Institute Inc. All rights reserved. 12

Page 15: The SAS MILP Solver: Current Status And Future Developments

FUTUREDEVELOPMENTS CONTRIBUTIONS TO MIPLIB 2017

0

10

20

30

40

50

60

Num

bero

fIns

tanc

es

2003 2004 2005 2006 2007 2008 2009 2010 2011

easyhardopen Since 1992, MIPLIB has been

a key driver for computational progressin mixed integer programming.

“Shape the Future ofMixed Integer Programming!”

Go to miplibsubmissions.zib.de to submit your instances to the6th Mixed Integer Programming Library

Deadline: Februar 28, 2017An initiative by Arizona State University, COIN-OR, CPLEX, FICO,Gurobi, MIPCL, MOSEK, NuOPT, SAS, and Zuse Institute Berlin.

Copyright 2016, SAS Institute Inc. All rights reserved. 13

Page 16: The SAS MILP Solver: Current Status And Future Developments

http://support.sas.com/orThe SAS MILP Solver: Current Status And Future

Developments