The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf ·...

56
The SCIP Optimization Suite Gerald Gamrath Zuse Institute Berlin EWO Seminar February 13, 2015 Gerald Gamrath (ZIB): The SCIP Optimization Suite 1

Transcript of The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf ·...

Page 1: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

The SCIP Optimization Suite

Gerald Gamrath

Zuse Institute Berlin

EWO Seminar

February 13, 2015

Gerald Gamrath (ZIB): The SCIP Optimization Suite 1

Page 2: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

ZIB: Fast Algorithms – Fast Computers

Konrad-Zuse-Zentrum für Informationstechnik Berlin

I non-university research institute and computing center of the state of BerlinI Research Units:

I numerical analysis and modelingI visualization and data analysisI optimization: energy–traffic–telecommunication–linear and nonlinear IPI scientific information systemsI distributed algorithms and supercomputing

I President: Martin GrötschelI more information: http://www.zib.de

Gerald Gamrath (ZIB): The SCIP Optimization Suite 2

Page 3: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

ZIB: Fast Algorithms – Fast Computers

Konrad-Zuse-Zentrum für Informationstechnik Berlin

I non-university research institute and computing center of the state of BerlinI Research Units:

I numerical analysis and modelingI visualization and data analysisI optimization: energy–traffic–telecommunication–linear and nonlinear IPI scientific information systemsI distributed algorithms and supercomputing

I President: Martin GrötschelI more information: http://www.zib.de

Gerald Gamrath (ZIB): The SCIP Optimization Suite 2

Page 4: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

Outline

SCIP – Solving Constraint Integer Programs

Constraint Integer Programming

Solving Constraint Integer Programs

History and Applications

http://scip.zib.de

Gerald Gamrath (ZIB): The SCIP Optimization Suite 3

Page 5: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

What is a Constraint Integer Program?

Mixed Integer ProgramObjective function:. linear function

Feasible set:. described by linear constraints

Variable domains:. real or integer values

min cT x

s.t. Ax ≤ b

(xI , xC) ∈ ZI × RC

Constraint ProgramObjective function:. arbitrary function

Feasible set:. given by arbitrary constraints

Variable domains:. arbitrary (usually finite)

min c(x)s.t. x ∈ F

(xI , xN ) ∈ ZI ×X

Gerald Gamrath (ZIB): The SCIP Optimization Suite 4

Page 6: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

What is a Constraint Integer Program?

Constraint Integer ProgramObjective function:. linear function

Feasible set:. described by arbitrary constraints

Variable domains:. real or integer values

When all integer variables fixed:. CIP becomes an LP

min cT x

s.t. x ∈ F

(xI , xC) ∈ ZI × RC

Remark:I arbitrary objective or variables

modeled by constraints

Gerald Gamrath (ZIB): The SCIP Optimization Suite 5

Page 7: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

Constraint Integer Programming

I Mixed Integer Programs

I SATisfiability problems

I Pseudo-Boolean Optimization

I Finite Domain

I Constraint Programming

I Constraint Integer Programming

CP

CIP

FDPBO

MIP

SAT

Relation to CP and MIPI Every MIP is a CIP. “MIP ( CIP”I Every CP over a finite domain space is a CIP. “FD ( CIP”

Gerald Gamrath (ZIB): The SCIP Optimization Suite 6

Page 8: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

Constraint Integer Programming

I Mixed Integer Programs

I SATisfiability problems

I Pseudo-Boolean Optimization

I Finite Domain

I Constraint Programming

I Constraint Integer Programming

CP

CIP

FDPBO

MIP

SAT

Relation to CP and MIPI Every MIP is a CIP. “MIP ( CIP”I Every CP over a finite domain space is a CIP. “FD ( CIP”

Gerald Gamrath (ZIB): The SCIP Optimization Suite 6

Page 9: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

Constraint Integer Programming

I Mixed Integer Programs

I SATisfiability problems

I Pseudo-Boolean Optimization

I Finite Domain

I Constraint Programming

I Constraint Integer Programming

CP

CIP

FD

PBO

MIP

SAT

Relation to CP and MIPI Every MIP is a CIP. “MIP ( CIP”I Every CP over a finite domain space is a CIP. “FD ( CIP”

Gerald Gamrath (ZIB): The SCIP Optimization Suite 6

Page 10: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

Constraint Integer Programming

I Mixed Integer Programs

I SATisfiability problems

I Pseudo-Boolean Optimization

I Finite Domain

I Constraint Programming

I Constraint Integer Programming

CP

CIP

FDPBO

MIP

SAT

Relation to CP and MIPI Every MIP is a CIP. “MIP ( CIP”I Every CP over a finite domain space is a CIP. “FD ( CIP”

Gerald Gamrath (ZIB): The SCIP Optimization Suite 6

Page 11: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

Constraint Integer Programming

I Mixed Integer Programs

I SATisfiability problems

I Pseudo-Boolean Optimization

I Finite Domain

I Constraint Programming

I Constraint Integer Programming

CP

CIP

FDPBO

MIP

SAT

Relation to CP and MIPI Every MIP is a CIP. “MIP ( CIP”I Every CP over a finite domain space is a CIP. “FD ( CIP”

Gerald Gamrath (ZIB): The SCIP Optimization Suite 6

Page 12: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

Constraint Integer Programming

I Mixed Integer Programs

I SATisfiability problems

I Pseudo-Boolean Optimization

I Finite Domain

I Constraint Programming

I Constraint Integer Programming

CP

CIP

FDPBO

MIP

SAT

Relation to CP and MIPI Every MIP is a CIP. “MIP ( CIP”I Every CP over a finite domain space is a CIP. “FD ( CIP”

Gerald Gamrath (ZIB): The SCIP Optimization Suite 6

Page 13: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

Constraint Integer Programming

I Mixed Integer Programs

I SATisfiability problems

I Pseudo-Boolean Optimization

I Finite Domain

I Constraint Programming

I Constraint Integer Programming

CP

CIP

FDPBO

MIP

SAT

Relation to CP and MIPI Every MIP is a CIP. “MIP ( CIP”I Every CP over a finite domain space is a CIP. “FD ( CIP”

Gerald Gamrath (ZIB): The SCIP Optimization Suite 6

Page 14: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

CIP Solving Techniques

Presolving Primal Heuristics Branch & Bound

Cutting Planes Domain Propagationx1

x2

x3

x4

x1

x2

x3

x4

Conflict Analysis

Gerald Gamrath (ZIB): The SCIP Optimization Suite 7

Page 15: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

How do we solve CIPs?

MIPI LP relaxationI cutting planes

CPI domain propagation

SATI conflict analysisI periodic restarts

MIP, CP, and SATI branch-and-bound

SCIP

Gerald Gamrath (ZIB): The SCIP Optimization Suite 8

Page 16: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

SCIP’s Modular, Plugin-based Structure

SCIP PrimalHeuristic

actconsdiving

clique

coefdiving

crossover

dins

dualval

feaspump

fixandinfer

fracdiving

guideddiving

intdiving

intshifting

linesearchdiving

localbranching

mutation

objpscostdiving

octane

oneopt

proximitypscostdiving

rens

randomrounding

rins

rootsoldiving

rounding

shift&prop

shifting

simplerounding

subnlp

trivialtrysol

twoopt

undercover

vbound

veclendivingzi round

zeroobjective

Event

Expr.Interpr.

CppAD

Presolver

boundshift

components convert

int

domcol

dualinfer

gateextract

implicsinttobinary

trivial

· · ·

Reader

bnd

ccg cip

cnf

fix

fzn

gmslp

mps

opb

osil

pipppm

pbm

rlp

sol

wbo zpl

Pricer

LP

clp

cpx

grb

msk

none

qso

spx

spx2

xprs

NLP

ipopt

Relax

ConstraintHandler

abspower

and

bivariate

bounddisjunc.

conjunction

countsols

cumulative

disjunction

indicatorintegral

knapsack

linear

linking

logicor

nonlinear

or orbitope

pseudoboolean

quadratic

setppc

soc

sos1

sos2

superindicator

varbound

xor

Conflict

Tree

Branch

allfullstrong

cloud

fullstrong

inference

leastinf

mostinf

pscostrandom

relpscost

Nodeselector

bfs

breadthfirst

dfs

estimate

hybridestim

restartdfs

uct

Propagator

dualfixgen

vbound

obbt

probing

pseudoobj

redcost

rootredcostvbound

Implications

Separator

cgmip

clique

closecuts cmir

flowcover

gomory

impliedbounds

intobj

mcfoddcycle

rapidlearn

strongcg

zerohalf

Cutpool

Dialog

default

Gerald Gamrath (ZIB): The SCIP Optimization Suite 9

Page 17: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

SCIP’s Modular, Plugin-based Structure

SCIP PrimalHeuristic

actconsdiving

Event

Expr.Interpr.

Presolver

· · ·

Reader

Pricer

LP

NLP

Relax

ConstraintHandler

abspower

and

bivariate

bounddisjunc.

conjunction

countsols

cumulative

disjunction

indicatorintegral

knapsack

linear

linking

logicor

nonlinear

or orbitope

pseudoboolean

quadratic

setppc

soc

sos1

sos2

superindicator

varbound

xor

Conflict

Tree

Branch

allfullstrong

cloud

fullstrong

inference

leastinf

mostinf

pscostrandom

relpscost

Nodeselector

Propagator

Implications

Separator

Cutpool

Dialog

Gerald Gamrath (ZIB): The SCIP Optimization Suite 9

Page 18: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

SCIP’s Modular, Plugin-based Structure

SCIP PrimalHeuristic

actconsdiving

clique

coefdiving

crossover

dins

dualval

feaspump

fixandinfer

fracdiving

guideddiving

intdiving

intshifting

linesearchdiving

localbranching

mutation

objpscostdiving

octane

oneopt

proximitypscostdiving

rens

randomrounding

rins

rootsoldiving

rounding

shift&prop

shifting

simplerounding

subnlp

trivialtrysol

twoopt

undercover

vbound

veclendivingzi round

zeroobjective

Event

Expr.Interpr.

CppAD

Presolver

boundshift

components convert

int

domcol

dualinfer

gateextract

implicsinttobinary

trivial

· · ·

Reader

bnd

ccg cip

cnf

fix

fzn

gmslp

mps

opb

osil

pipppm

pbm

rlp

sol

wbo zpl

Pricer

LP

clp

cpx

grb

msk

none

qso

spx

spx2

xprs

NLP

ipopt

Relax

ConstraintHandler

abspower

and

bivariate

bounddisjunc.

conjunction

countsols

cumulative

disjunction

indicatorintegral

knapsack

linear

linking

logicor

nonlinear

or orbitope

pseudoboolean

quadratic

setppc

soc

sos1

sos2

superindicator

varbound

xor

Conflict

Tree

Branch

allfullstrong

cloud

fullstrong

inference

leastinf

mostinf

pscostrandom

relpscost

Nodeselector

bfs

breadthfirst

dfs

estimate

hybridestim

restartdfs

uct

Propagator

dualfixgen

vbound

obbt

probing

pseudoobj

redcost

rootredcostvbound

Implications

Separator

cgmip

clique

closecuts cmir

flowcover

gomory

impliedbounds

intobj

mcfoddcycle

rapidlearn

strongcg

zerohalf

Cutpool

Dialog

default

Gerald Gamrath (ZIB): The SCIP Optimization Suite 9

Page 19: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

Some facts about SCIP

I general setupI plugin based systemI default plugins handle MIPs and nonconvex MINLPsI support for branch-and-price and custom relaxations

I documentation and guidelinesI more than 450 000 lines of C code, 20% documentation

I 30 000 assertions, 4 000 debug messagesI HowTos: plugins types, debugging, automatic testingI 11 examples illustrating the use of SCIPI active mailing list [email protected] (300 members)

I interface and usabilityI user-friendly interactive shellI interfaces to AMPL, GAMS, ZIMPL, MATLAB, Python and JavaI C++ wrapper classesI LP solvers: CLP, CPLEX, Gurobi, MOSEK, QSopt, SoPlex, XpressI over 1 600 parameters and 15 emphasis settings

I about 8000 downloads per year from 100+ countriesGerald Gamrath (ZIB): The SCIP Optimization Suite 10

Page 20: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

(Some) Universities and Institutes using SCIP

. RWTH Aaachen

. Universität Bayreuth

. FU Berlin

. TU Berlin

. HU Berlin

. WIAS Berlin

. TU Braunschweig

. TU Chemnitz

. TU Darmstadt

. TU Dortmund

. TU Dresden

. Universität Erlangen-Nürnberg

. Leibniz Universität Hannover

. Universität Heidelberg

. Fraunhofer ITWM Kaiserslautern

. Universität Karlsruhe

. Christian-Albrechts-Universität zu Kiel

. Hochschule Lausitz

. OvGU Magdeburg

. TU München

. Universität Osnabrück

. Universität Stuttgart

. Aarhus Universitet

. The University of Adelaide

. Università dell’Aquila

. Arizona State University

. University of Assiut

. National Technical University ofAthens

. Georgia Institute of Technology

. Indian Institute of Science

. Tsinghua University

. UC Berkeley

. Lehigh University

. University of Bristol

. Eötvös Loránd Tudományegyetem

. Universidad de Buenos Aires

. Institut Français de Mécanique Avancée

. Chuo University

. Clemson University

. University College Cork

. Danmarks Tekniske Universitet

. Syddansk Universitet

. Kyushu University

. Fuzhou University

. Jinan University

. Rijksuniversiteit Groningen

. Hanoi Institute of Mathematics

. The Hong Kong Polytechnic University

. University of Hyogo

. The Irkutsk Scientific Center

. University of the Witwatersrand

. Københavens Universitet

. Kunming Botany Institute

. École Poly. Fédérale de Lausanne

. Linköpings universitet

. Université catholique de Louvain

. Universidad Rey Juan Carlos

. Université de la Mediterranée Aix-Marseille

. University of Melbourne

. UNAM

. Politecnico di Milano

. Università degli Studi di Milano

. Monash University

. Ikerlan

. Université de Montréal

. NIISI RAS

. Université de Nantes

. The University of Newcastle

. University of Nottingham

. Universitetet i Oslo

. Università degli Studi di Padova

. L’Université Sud de Paris

. Brown University

. The University of Queensland

. IASI CNR

. Erasmus Universiteit Rotterdam

. Carnegie Mellon University

. Universidad Diego Portales

. University of Balochistan

. Universidad San Francisco de Quito

. Universidade Federal do Rio de Janeiro

. Universidade de São Paulo

. Fudan University

. University of New South Wales

. Tel Aviv University

. The University of Tokyo

. Politecnico di Torino

. University of Toronto

. NTNU i Trondheim

. The University of York

. University of Washington

. University of Waterloo

. Massey University

. Austrian Institute of Technology

. TU Wien

. Universität Wien

. Wirtschaftsuniversität Wien

. ETH Zürich

Gerald Gamrath (ZIB): The SCIP Optimization Suite 11

Page 21: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

(Some) Universities and Institutes using SCIP

Gerald Gamrath (ZIB): The SCIP Optimization Suite 12

Page 22: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

SCIP 3.1: Performance

. fastest non-commercial MIP solver

0

1000

2000

3000

timein

seco

nds

non-commercial commercial

2.77x 2.65x

1.00x 0.67x0.17x 0.16x 0.15x

solved(of 87 instances)

50 47 68 75 84 84 84

CBC 2.8.10

SCIP 3.1.0 – CLP 1.15.6

SCIP 3.1.0 – SoPlex 2.0.0

SCIP 3.1.0 – Cplex 12.6.0

Xpress 7.8.0

Gurobi 6.0.0

Cplex 12.6.1

data: Hans Mittelmanngraphics: ZIB

. versionwise performance improvements

4.68x

3.47x 3.50x

2.89x

2.34x

1.82x1.52x

1.23x 1.16x 1.0x

solved(of 87)

23 36 29 48 51 58 63 67 65 670

1000

2000

3000

4000

timein

seco

nds

SCIP 0.7 – SoPlex 1.2.2

SCIP 0.8 – SoPlex 1.2.2

SCIP 0.9 – SoPlex 1.3.0

SCIP 1.0 – SoPlex 1.3.2

SCIP 1.1 – SoPlex 1.4.0

SCIP 1.2 – SoPlex 1.4.2

SCIP 2.0 – SoPlex 1.5.0

SCIP 2.1 – SoPlex 1.6.0

SCIP 3.0 – SoPlex 1.7.0

SCIP 3.1 – SoPlex 2.0.0

Gerald Gamrath (ZIB): The SCIP Optimization Suite 13

Page 23: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

SCIP Optimization Suite

I Toolbox for generating and solving constraint integer programsI free for academic use, available in source code

ZIMPLI model and generate LPs, MIPs, and MINLPs

SCIPI MIP, MINLP and CIP solver, branch-cut-and-price framework

SoPlexI revised primal and dual simplex algorithm

GCGI generic branch-cut-and-price solver

UGI framework for parallelization of MIP and MINLP solvers

Gerald Gamrath (ZIB): The SCIP Optimization Suite 14

Page 24: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

SCIP Optimization Suite

I Toolbox for generating and solving constraint integer programsI free for academic use, available in source code

ZIMPLI model and generate LPs, MIPs, and MINLPs

SCIPI MIP, MINLP and CIP solver, branch-cut-and-price framework

SoPlexI revised primal and dual simplex algorithm

GCGI generic branch-cut-and-price solver

UGI framework for parallelization of MIP and MINLP solvers

Gerald Gamrath (ZIB): The SCIP Optimization Suite 14

Page 25: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

Current Developers of the SCIP Optimization Suite

I Thorsten KochI Marc Pfetsch (TU Darmstadt)I Gerald GamrathI Ambros GleixnerI Gregor HendelI Stephen J. MaherI Matthias MiltenbergerI Benjamin MüllerI Felipe SerranoI Yuji ShinanoI Jakob WitzigI Tobias Fischer (TU Darmstadt)I Tristan Gally (TU Darmstadt)I Stefan Vigerske (GAMS)I Dieter Weninger (FAU Erlangen)I Christian Puchert (RWTH Aachen)I Jonas Witt (RWTH Aachen)I Daniel RehfeldtI . . .

Gerald Gamrath (ZIB): The SCIP Optimization Suite 15

Page 26: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

History of the SCIP Optimization Suite

1996 SoPlex – Sequential obj. simPlex (R. Wunderling [now IBM])

1998 SIP – Solving Integer Programs (A. Martin [now U Erlangen])10/2002 Beginning of SCIP development (T. Achterberg [now Gurobi])08/2003 Chipdesign verification10/2004 ZIMPL – Zuse Institute Math. Programming Language (T. Koch)09/2005 First public version 0.8 of SCIP09/2007 SCIP 1.0 release, ZIB Optimization Suite (SoPlex, SCIP, ZIMPL)11/2008 Development of GCG started (G. G.)01/2009 Gas transport optimization03/2009 Beginning of UG development (Y. Shinano)09/2009 Beale-Orchard-Hays Prize (T. Achterberg)04/2010 Supply-Chain management12/2010 Google Research Award 20118/2012 Version 3.0, first releases of GCG, UG, SCIP-SDP

SCIP Optimization Suite (SoPlex, SCIP, ZIMPL, GCG, UG)

Gerald Gamrath (ZIB): The SCIP Optimization Suite 16

Page 27: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

SoPlex – Sequential object-oriented simplex

I implementation of the revised simplex algorithmI primal and dual solving routines for linear programsI iterative refinement to overcome numerical problems

(Gleixner, Steffy, Wolter 2012)I fast and accurate solutions by repeated floating-point solves

max

max

P

max cT x

s. t. Ax = b

x > 0

max ∆dualcT x

s. t. Ax = ∆primb

x > −∆primx

P

x 7→ ∆prim(x− x)

y 7→ ∆dual(y − y)

x 7→ x/∆prim + x

y 7→ y/∆dual + y

Gerald Gamrath (ZIB): The SCIP Optimization Suite 17

Page 28: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

Siemens cooperation

Longstanding Cooperation with departmentModeling, Simulation, Optimization

. first licensee (1996) of SoPlex

. steady use in various optimization modules

placement robots incircuit board production

optimal planning ofwater networks

Gerald Gamrath (ZIB): The SCIP Optimization Suite 18

Page 29: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

History of the SCIP Optimization Suite

1996 SoPlex – Sequential obj. simPlex (R. Wunderling [now IBM])1998 SIP – Solving Integer Programs (A. Martin [now U Erlangen])

10/2002 Beginning of SCIP development (T. Achterberg [now Gurobi])08/2003 Chipdesign verification

10/2004 ZIMPL – Zuse Inst. Math. Programming Language (T. Koch)09/2005 First public version 0.8 of SCIP09/2007 SCIP 1.0 release, ZIB Optimization Suite (SoPlex, SCIP, ZIMPL)11/2008 Development of GCG started (G. G.)01/2009 Gas transport optimization03/2009 Beginning of UG development (Y. Shinano)09/2009 Beale-Orchard-Hays Prize (T. Achterberg)04/2010 Supply-Chain management12/2010 Google Research Award 20118/2012 Version 3.0, first releases of GCG, UG, SCIP-SDP

SCIP Optimization Suite (SoPlex, SCIP, ZIMPL, GCG, UG)

Gerald Gamrath (ZIB): The SCIP Optimization Suite 19

Page 30: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

Chipdesign verification

Goal: (computer-)proof, that a design is free of errors

Method: property checking using CIPs

Result:

5 10 15 20 25 35 4030

12 h

1 h

32 h

2 h

register width

time

Boolean satisfiability

Constraint Integer Programming

constraints 422 152026variables 3714 50756 Duration: 2003-2008

Gerald Gamrath (ZIB): The SCIP Optimization Suite 20

Page 31: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

History of the SCIP Optimization Suite

1996 SoPlex – Sequential obj. simPlex (R. Wunderling [now IBM])1998 SIP – Solving Integer Programs (A. Martin [now U Erlangen])

10/2002 Beginning of SCIP development (T. Achterberg [now Gurobi])08/2003 Chipdesign verification10/2004 ZIMPL – Zuse Inst. Math. Programming Language (T. Koch)

09/2005 First public version 0.8 of SCIP09/2007 SCIP 1.0 release, ZIB Optimization Suite (SoPlex, SCIP, ZIMPL)11/2008 Development of GCG started (G. G.)01/2009 Gas transport optimization03/2009 Beginning of UG development (Y. Shinano)09/2009 Beale-Orchard-Hays Prize (T. Achterberg)04/2010 Supply-Chain management12/2010 Google Research Award 20118/2012 Version 3.0, first releases of GCG, UG, SCIP-SDP

SCIP Optimization Suite (SoPlex, SCIP, ZIMPL, GCG, UG)10/2014 Google Optimization uses SCIP

Gerald Gamrath (ZIB): The SCIP Optimization Suite 21

Page 32: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

History of the SCIP Optimization Suite

1996 SoPlex – Sequential obj. simPlex (R. Wunderling [now IBM])1998 SIP – Solving Integer Programs (A. Martin [now U Erlangen])

10/2002 Beginning of SCIP development (T. Achterberg [now Gurobi])08/2003 Chipdesign verification10/2004 ZIMPL – Zuse Inst. Math. Programming Language (T. Koch)09/2005 First public version 0.8 of SCIP09/2007 SCIP 1.0 release, ZIB Optimization Suite (SoPlex, SCIP, ZIMPL)

11/2008 Development of GCG started (G. G.)01/2009 Gas transport optimization03/2009 Beginning of UG development (Y. Shinano)09/2009 Beale-Orchard-Hays Prize (T. Achterberg)04/2010 Supply-Chain management12/2010 Google Research Award 20118/2012 Version 3.0, first releases of GCG, UG, SCIP-SDP

SCIP Optimization Suite (SoPlex, SCIP, ZIMPL, GCG, UG)10/2014 Google Optimization uses SCIP

Gerald Gamrath (ZIB): The SCIP Optimization Suite 22

Page 33: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

History of the SCIP Optimization Suite

1996 SoPlex – Sequential obj. simPlex (R. Wunderling [now IBM])1998 SIP – Solving Integer Programs (A. Martin [now U Erlangen])

10/2002 Beginning of SCIP development (T. Achterberg [now Gurobi])08/2003 Chipdesign verification10/2004 ZIMPL – Zuse Inst. Math. Programming Language (T. Koch)09/2005 First public version 0.8 of SCIP09/2007 SCIP 1.0 release, ZIB Optimization Suite (SoPlex, SCIP, ZIMPL)11/2008 Development of GCG started (G. G.)

01/2009 Gas transport optimization03/2009 Beginning of UG development (Y. Shinano)09/2009 Beale-Orchard-Hays Prize (T. Achterberg)04/2010 Supply-Chain management12/2010 Google Research Award 20118/2012 Version 3.0, first releases of GCG, UG, SCIP-SDP

SCIP Optimization Suite (SoPlex, SCIP, ZIMPL, GCG, UG)10/2014 Google Optimization uses SCIP

Gerald Gamrath (ZIB): The SCIP Optimization Suite 23

Page 34: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

GCG – a generic branch-cut-and-price solver

Goal of GCG:I extend branch-cut-and-price framework

SCIP to generic solverI based on Dantzig-Wolfe decompositionI easy use of branch-cut-and-priceI profit from powerful SCIP basics

How does it work?I structure of problem provided or detectedI solve original and reformulated problem simultaneouslyI pricing problems solved as general MIPs

Gerald Gamrath (ZIB): The SCIP Optimization Suite 24

Page 35: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

History of the SCIP Optimization Suite

1996 SoPlex – Sequential obj. simPlex (R. Wunderling [now IBM])1998 SIP – Solving Integer Programs (A. Martin [now U Erlangen])

10/2002 Beginning of SCIP development (T. Achterberg [now Gurobi])08/2003 Chipdesign verification10/2004 ZIMPL – Zuse Inst. Math. Programming Language (T. Koch)09/2005 First public version 0.8 of SCIP09/2007 SCIP 1.0 release, ZIB Optimization Suite (SoPlex, SCIP, ZIMPL)11/2008 Development of GCG started (G. G.)01/2009 Gas transport optimization

03/2009 Beginning of UG development (Y. Shinano)09/2009 Beale-Orchard-Hays Prize (T. Achterberg)04/2010 Supply-Chain management12/2010 Google Research Award 20118/2012 Version 3.0, first releases of GCG, UG, SCIP-SDP

SCIP Optimization Suite (SoPlex, SCIP, ZIMPL, GCG, UG)10/2014 Google Optimization uses SCIP

Gerald Gamrath (ZIB): The SCIP Optimization Suite 25

Page 36: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

Optimization of gas transport

Stochastic Mixed-Integer Nonlinear Constraint ProgramGasflow on Entryvs. Temperature

-5 0 5 10 15 20 25

over a large network. Start: 01/2009

Goal:. develop algorithms to solve such problems to “global optimality”!

. rather: attempt to integrate as many aspects as possible

Industry partner:

Gerald Gamrath (ZIB): The SCIP Optimization Suite 26

Page 37: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

Optimization of gas transport

Stochastic Mixed-Integer Nonlinear Constraint ProgramGasflow on Entryvs. Temperature

-5 0 5 10 15 20 25

over a large network. Start: 01/2009

Goal:. develop algorithms to solve such problems to “global optimality”!. rather: attempt to integrate as many aspects as possible

Industry partner:

Gerald Gamrath (ZIB): The SCIP Optimization Suite 26

Page 38: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

Mixed-Integer Nonlinear Programming

min ct

x for c ∈ Rn,

s. t. gk(x) 6 0 for k = 1, . . . , m, gk : [`, u]→ R ∈ C1,

x ∈ [`, u],xi ∈ Z for i ∈ I ⊆ {1, . . . , n}.

−1

1−1

1

5

10

0 100 200 300

0

200

−200

0

200

gk convexlocal = global optimality

gk nonconvexsuboptimal local optima

Gerald Gamrath (ZIB): The SCIP Optimization Suite 27

Page 39: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

MINLP solving techniques

Gradient cuts UnderestimatorsgHxL

gcHxL

-6 -4 -2 2 4

-15

-10

-5

5

10Spatial branching

-6 -4 -2 2 4

-15

-10

-5

5

10

Presolving Bound tightening Primal heuristics

Gerald Gamrath (ZIB): The SCIP Optimization Suite 28

Page 40: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

MINLP solving with SCIP

SCIP scope was extended over CIP in order to solve (nonconvex) MINLP:

CIP Definition:When all integer variables fixed:. CIP becomes an LP

SCIP solves:When no branching was performed:. remaining problem is tractable

(LP/ conv. NLP)

MINLP performance of SCIP

0

50

100

150

200

250

timein

seconds

1.00x 0.97x

2.01x2.15x

2.64x

solved 169 170 137 137 138

SCIP 3.0.1 – CPLEX 12.5.0

SCIP 3.0.1 – SoPlex 1.7.1

BARON 11.8.0

Couenne 0.4

LindoAPI 7.0.1.497

results on MINLPLIB (January 2013, all 252 instances that can be handled by all solvers)

1

Gerald Gamrath (ZIB): The SCIP Optimization Suite 29

Page 41: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

History of the SCIP Optimization Suite

1996 SoPlex – Sequential obj. simPlex (R. Wunderling [now IBM])1998 SIP – Solving Integer Programs (A. Martin [now U Erlangen])

10/2002 Beginning of SCIP development (T. Achterberg [now Gurobi])08/2003 Chipdesign verification10/2004 ZIMPL – Zuse Inst. Math. Programming Language (T. Koch)09/2005 First public version 0.8 of SCIP09/2007 SCIP 1.0 release, ZIB Optimization Suite (SoPlex, SCIP, ZIMPL)11/2008 Development of GCG started (G. G.)01/2009 Gas transport optimization03/2009 Beginning of UG development (Y. Shinano)

09/2009 Beale-Orchard-Hays Prize (T. Achterberg)04/2010 Supply Chain management12/2010 Google Research Award 20118/2012 Version 3.0, first releases of GCG, UG, SCIP-SDP

SCIP Optimization Suite (SoPlex, SCIP, ZIMPL, GCG, UG)10/2014 Google Optimization uses SCIP

Gerald Gamrath (ZIB): The SCIP Optimization Suite 30

Page 42: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

ug[SCIP] — the parallel version of SCIP

Some facts and results:I shared (“FiberSCIP”) and

distributed memory version(“ParaSCIP”)

I solves MIP and MINLPI successful runs with up to 80.000

SCIP solversI solved 2 previously unsolved

MIPLIB 2003 instancesI ds: 4096 cores, about 76 hours, 3

billion nodesI stp3d: 7186 cores, about 33

hours, 10 million nodes (optimalsolution given)

I and many MIPLIB 2010 instances

HLRN II:

MIPLIB 2003:

Gerald Gamrath (ZIB): The SCIP Optimization Suite 31

Page 43: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

History of the SCIP Optimization Suite

1996 SoPlex – Sequential obj. simPlex (R. Wunderling [now IBM])1998 SIP – Solving Integer Programs (A. Martin [now U Erlangen])

10/2002 Beginning of SCIP development (T. Achterberg [now Gurobi])08/2003 Chipdesign verification10/2004 ZIMPL – Zuse Inst. Math. Programming Language (T. Koch)09/2005 First public version 0.8 of SCIP09/2007 SCIP 1.0 release, ZIB Optimization Suite (SoPlex, SCIP, ZIMPL)11/2008 Development of GCG started (G. G.)01/2009 Gas transport optimization03/2009 Beginning of UG development (Y. Shinano)09/2009 Beale-Orchard-Hays Prize (T. Achterberg)04/2010 Supply Chain management

12/2010 Google Research Award 20118/2012 Version 3.0, first releases of GCG, UG, SCIP-SDP

SCIP Optimization Suite (SoPlex, SCIP, ZIMPL, GCG, UG)10/2014 Google Optimization uses SCIP

Gerald Gamrath (ZIB): The SCIP Optimization Suite 32

Page 44: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

Supply Chain Management

Huge, numerically challenging problems

Topics:I overall LP performanceI improved numerical stabilityI new presolving techniquesI decomposition approachesI better branching schemes

Duration:I 2010 – 2019

(at least)

Cooperation:

Gerald Gamrath (ZIB): The SCIP Optimization Suite 33

Page 45: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

Presolving

I some of the regarded instances are hugeI MIPs often contain a lot of redundancyI even more when a generic model is used for all types of supply chains

→ presolving

Presolving is one of the most important parts of a MIP solver:I reduce problem size before the actual solvingI remove infeasible regions of the search spaceI remove suboptimal regions of the search space

Two new presolversI dominated columnsI connected components

Gerald Gamrath (ZIB): The SCIP Optimization Suite 34

Page 46: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

Presolving

I some of the regarded instances are hugeI MIPs often contain a lot of redundancyI even more when a generic model is used for all types of supply chains

→ presolving

Presolving is one of the most important parts of a MIP solver:I reduce problem size before the actual solvingI remove infeasible regions of the search spaceI remove suboptimal regions of the search space

Two new presolversI dominated columnsI connected components

Gerald Gamrath (ZIB): The SCIP Optimization Suite 34

Page 47: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

Independent Components

I supply chain of a company often has multiple independent sections

100

101

102

103

#independ

entsubp

roblem

s

I MIP solving is NP hard → better solve them individually

I but: customer wants his complete supply chain in one modelI one global time limitI some problems split up during presolving

→ solution: components presolver

Gerald Gamrath (ZIB): The SCIP Optimization Suite 35

Page 48: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

Independent Components

I supply chain of a company often has multiple independent sections

100

101

102

103

#independ

entsubp

roblem

s

I MIP solving is NP hard → better solve them individuallyI but: customer wants his complete supply chain in one modelI one global time limitI some problems split up during presolving

→ solution: components presolver

Gerald Gamrath (ZIB): The SCIP Optimization Suite 35

Page 49: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

Independent Components

I supply chain of a company often has multiple independent sections

100

101

102

103

#independ

entsubp

roblem

s

I MIP solving is NP hard → better solve them individuallyI but: customer wants his complete supply chain in one modelI one global time limitI some problems split up during presolving

→ solution: components presolverGerald Gamrath (ZIB): The SCIP Optimization Suite 35

Page 50: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

The Components Presolver

c1 : x1 + 2x2 − x3 ≤ 5c2 : 3x2 + x4 ≥ 3c3 : 3x5 + 2x6 − 5x7 ≤ 7

x1

x2

x4

x3

x5

x6

x7

The components presolver:I MIP → (undirected) graph

I variable → nodeI constraint → edges

I compute connected componentsI solve “small” components during presolvingI remove solved components

Improvements:I solve components

I in parallelI alternatingly

I branch to force splitting

Gerald Gamrath (ZIB): The SCIP Optimization Suite 36

Page 51: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

Examples

Some Structures:

001-series: 5 components 002-series: 1164 components

p2756 (MIPLIB 2003):18 components

tanglegram2 (MIPLIB 2010):37 components

Gerald Gamrath (ZIB): The SCIP Optimization Suite 37

Page 52: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

Branching Improvements

I Strong Branching with Domain PropagationI perform propagation within strong branchingI improved predictionsI reduces tree size + solving time

I Cloud BranchingI expoit dual degeneracyI branch on “cloud of solutions”I reduce performance variabilityI save strong branching effortI improve reliability of pseudo costs

z = cT x

bx?jc x?

jdx?

je

∆↓

∆↑

ljuj

z = cT x

bx?jc x?

jdx?

je

∆−j

∆+j

ljuj

∆−j

∆+j

Gerald Gamrath (ZIB): The SCIP Optimization Suite 38

Page 53: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

History of the SCIP Optimization Suite

1996 SoPlex – Sequential obj. simPlex (R. Wunderling [now IBM])1998 SIP – Solving Integer Programs (A. Martin [now U Erlangen])

10/2002 Beginning of SCIP development (T. Achterberg [now Gurobi])08/2003 Chipdesign verification10/2004 ZIMPL – Zuse Inst. Math. Programming Language (T. Koch)09/2005 First public version 0.8 of SCIP09/2007 SCIP 1.0 release, ZIB Optimization Suite (SoPlex, SCIP, ZIMPL)11/2008 Development of GCG started (G. G.)01/2009 Gas transport optimization03/2009 Beginning of UG development (Y. Shinano)09/2009 Beale-Orchard-Hays Prize (T. Achterberg)04/2010 Supply Chain management12/2010 Google Research Award 20118/2012 Version 3.0, first releases of GCG, UG, SCIP-SDP

SCIP Optimization Suite (SoPlex, SCIP, ZIMPL, GCG, UG)

10/2014 Google Optimization uses SCIP

Gerald Gamrath (ZIB): The SCIP Optimization Suite 39

Page 54: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

History of the SCIP Optimization Suite

1996 SoPlex – Sequential obj. simPlex (R. Wunderling [now IBM])1998 SIP – Solving Integer Programs (A. Martin [now U Erlangen])

10/2002 Beginning of SCIP development (T. Achterberg [now Gurobi])08/2003 Chipdesign verification10/2004 ZIMPL – Zuse Inst. Math. Programming Language (T. Koch)09/2005 First public version 0.8 of SCIP09/2007 SCIP 1.0 release, ZIB Optimization Suite (SoPlex, SCIP, ZIMPL)11/2008 Development of GCG started (G. G.)01/2009 Gas transport optimization03/2009 Beginning of UG development (Y. Shinano)09/2009 Beale-Orchard-Hays Prize (T. Achterberg)04/2010 Supply Chain management12/2010 Google Research Award 20118/2012 Version 3.0, first releases of GCG, UG, SCIP-SDP

SCIP Optimization Suite (SoPlex, SCIP, ZIMPL, GCG, UG)10/2014 Google Optimization uses SCIP

Gerald Gamrath (ZIB): The SCIP Optimization Suite 40

Page 55: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

Google Optimization

https://developers.google.com/optimization/docs/lp

Gerald Gamrath (ZIB): The SCIP Optimization Suite 41

Page 56: The SCIP Optimization Suiteegon.cheme.cmu.edu/ewo/docs/EWO_Seminar_02_13_2015.pdf · SCIP’sModular,Plugin-basedStructure SCIP Primal Heuristic actcons diving Event Expr. Interpr.

To be continued...

I Which application do you want to solve with SCIP?I Download SCIP and try it out!I Register for the mailing list: [email protected] Join all these SCIP users:

Gerald Gamrath (ZIB): The SCIP Optimization Suite 42