Top Banner
Mathematics of Infrastructure Planning ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research Center MATHEON Mathematics for key technologies 16/April/2012
41

Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

Mar 21, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

Mathematics of InfrastructurePlanning

ZIB Optimization Suite

Stefan HeinzZuse Institute Berlin (ZIB)

DFG Research Center MATHEON

Mathematics for key technologies

16/April/2012

Page 2: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

ZIB Optimization Suite = SCIP + SoPlex + ZIMPL

Toolbox for generating and solving constraint integer programs

ZIMPL. a mixed integer programming modeling language

. easily generate LPs, MIPs, and ...

SCIP. a MIP and CP solver, branch-cut-and-price framework

. ZIMPL models can directly be loaded into SCIP and solved

SoPlex. a linear programming solver

. SCIP uses SoPlex as underlying LP solver

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 1 / 22

Page 3: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

ZIMPL + SoPlex

ZIMPL – Modeling Language

. distinguish between data and model

. easily generate LPs, MIPs, and ...

. fast prototyping

. http://zimpl.zib.de

. AIMMS, AMPL, GAMS, MOSEL, OPL, . . .

SoPlex – Linear Programming Solver

. dual and primal simplex

. has a warm start

. http://soplex.zib.de

. CLP, CPLEX, GUROBI, MOSEK, XPRESS, . . .

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 2 / 22

Page 4: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

SCIP

SCIP is a framework for Constraint Integer Programming orientedtowards the needs of Mathematical Programming experts who wantto have total control of the solution process and access detailedinformation down to the guts of the solver.

. framework to solve constraint integer programs

. branch-and-bound framework

. branch-and-cut framework

. branch-and-propagate framework

. branch-and-price framework

. black box MIP solver

. http://scip.zib.de

. CBC, CPLEX, GUROBI, MOSEK, XPRESS, . . .

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 3 / 22

Page 5: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

An example: the Traveling Salesman Problem

Definition (TSP)

Given a complete graphG = (V ,E ) and distances defor all e ∈ E :

Find a Hamiltonian cycle(cycle containing all nodes,tour) of minimum length.

K8

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 4 / 22

Page 6: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

An example: the Traveling Salesman Problem

Definition (TSP)

Given a complete graphG = (V ,E ) and distances defor all e ∈ E :

Find a Hamiltonian cycle(cycle containing all nodes,tour) of minimum length.

K8

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 4 / 22

Page 7: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

An example: the Traveling Salesman Problem

Definition (TSP)

Given a complete graphG = (V ,E ) and distances defor all e ∈ E :

Find a Hamiltonian cycle(cycle containing all nodes,tour) of minimum length.

(n−1)!2

possible solutions: finite, but enumeration intractable!

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 4 / 22

Page 8: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

TSP world record

by Bill Cook et al.

The largest solved instance of the traveling salesman problem consists of a tourthrough 85,900 cities in a VLSI application that arose in Bell Laboratories in thelate 1980s.

The total amount of computer usage for the computations was appx. 136 CPU

years.Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 5 / 22

Page 9: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

What is a Constraint Integer Program?

Mixed Integer Program

Objective 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 Program

Objective 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

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 6 / 22

Page 10: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

TSP – Integer Programming FormulationGiven

. complete graph G = (V ,E )

. distances de > 0 for all e ∈ E

Binary variables

. xe = 1 if edge e is used

xe

K8

min∑e∈E

de xe

subject to∑

e∈δ(v)

xe = 2 ∀v ∈ V

∑e∈δ(S)

xe ≥ 2 ∀S ⊂ V , S 6= ∅

xe ∈ {0, 1} ∀e ∈ E

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 7 / 22

Page 11: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

TSP – Integer Programming FormulationGiven

. complete graph G = (V ,E )

. distances de > 0 for all e ∈ E

Binary variables

. xe = 1 if edge e is used

xe

K8

min∑e∈E

de xe

subject to∑

e∈δ(v)

xe = 2 ∀v ∈ V

∑e∈δ(S)

xe ≥ 2 ∀S ⊂ V , S 6= ∅

xe ∈ {0, 1} ∀e ∈ E

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 7 / 22

Page 12: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

TSP – Integer Programming FormulationGiven

. complete graph G = (V ,E )

. distances de > 0 for all e ∈ E

Binary variables

. xe = 1 if edge e is used

xe

K8

min∑e∈E

de xe

subject to∑

e∈δ(v)

xe = 2 ∀v ∈ V

∑e∈δ(S)

xe ≥ 2 ∀S ⊂ V , S 6= ∅

xe ∈ {0, 1} ∀e ∈ E

node degree

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 7 / 22

Page 13: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

TSP – Integer Programming FormulationGiven

. complete graph G = (V ,E )

. distances de > 0 for all e ∈ E

Binary variables

. xe = 1 if edge e is used

xe

K8

min∑e∈E

de xe

subject to∑

e∈δ(v)

xe = 2 ∀v ∈ V

∑e∈δ(S)

xe ≥ 2 ∀S ⊂ V , S 6= ∅

xe ∈ {0, 1} ∀e ∈ E

subtour elimination

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 7 / 22

Page 14: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

TSP – Integer Programming FormulationGiven

. complete graph G = (V ,E )

. distances de > 0 for all e ∈ E

Binary variables

. xe = 1 if edge e is used

xe

K8

min∑e∈E

de xe

subject to∑

e∈δ(v)

xe = 2 ∀v ∈ V

∑e∈δ(S)

xe ≥ 2 ∀S ⊂ V , S 6= ∅

xe ∈ {0, 1} ∀e ∈ E

distance

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 7 / 22

Page 15: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

TSP – Integer Programming FormulationGiven

. complete graph G = (V ,E )

. distances de > 0 for all e ∈ E

Binary variables

. xe = 1 if edge e is used

min∑e∈E

de xe

subject to∑

e∈δ(v)

xe = 2 ∀v ∈ V

∑e∈δ(S)

xe ≥ 2 ∀S ⊂ V , S 6= ∅

xe ∈ {0, 1} ∀e ∈ E

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 7 / 22

Page 16: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

TSP – Integer Programming FormulationGiven

. complete graph G = (V ,E )

. distances de > 0 for all e ∈ E

Binary variables

. xe = 1 if edge e is used

min∑e∈E

de xe

subject to∑

e∈δ(v)

xe = 2 ∀v ∈ V

∑e∈δ(S)

xe ≥ 2 ∀S ⊂ V , S 6= ∅

xe ∈ {0, 1} ∀e ∈ E

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 7 / 22

Page 17: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

TSP – Constraint Programming Formulation

Given

. complete graph G = (V ,E )

. for each e ∈ E a distancede > 0

Integer variables

. xv position of v ∈ V in tour

xv

K8

1

2

3

45

6

78

min length(x1, . . . , xn)

subject to alldifferent(x1, . . . , xn)

xv ∈ {1, . . . , n} ∀v ∈ V

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 8 / 22

Page 18: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

TSP – Constraint Programming Formulation

Given

. complete graph G = (V ,E )

. for each e ∈ E a distancede > 0

Integer variables

. xv position of v ∈ V in tour

xv

K8

1

2

3

45

6

78

min length(x1, . . . , xn)

subject to alldifferent(x1, . . . , xn)

xv ∈ {1, . . . , n} ∀v ∈ V

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 8 / 22

Page 19: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

What is a Constraint Integer Program?

Constraint Integer Program

Objective function:

. linear function

Feasible set:

. described by arbitrary constraints

Variable domains:

. real or integer values

After fixing all integer variables:

. CIP becomes an LP

min cT x

s.t. x ∈ F

(xI , xC ) ∈ ZI ×RC

Remark:

. arbitrary objective orvariables modeled byconstraints

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 9 / 22

Page 20: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

What is a Constraint Integer Program?

Constraint Integer Program

Objective function:

. linear function

Feasible set:

. described by arbitrary constraints

Variable domains:

. real or integer values

After fixing all integer variables:

. CIP becomes an LP

min∑e∈E

de xe

s.t.∑

e∈δ(v)

xe = 2 ∀ v ∈ V

nosubtour(x)xe ∈ {0, 1} ∀ e ∈ E

(CIP formulation of TSP)

Single nosubtour constraintrules out subtours (e.g. by do-main propagation). It may alsoseparate subtour eliminationinequalities.

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 9 / 22

Page 21: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

Constraint Integer Programming

. Mixed Integer Programs

. SATisfiability problems

. Pseudo-Boolean Optimization

. Finite Domain

. Constraint Programming

. Constraint Integer Programming

CP

CIP

FDPBO

MIP

SAT

Relation to CP and MIP

. Every MIP is a CIP. “MIP ( CIP”

. Every CP over a finite domain space is a CIP. “FD ( CIP”

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 10 / 22

Page 22: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

Constraint Integer Programming

. Mixed Integer Programs

. SATisfiability problems

. Pseudo-Boolean Optimization

. Finite Domain

. Constraint Programming

. Constraint Integer Programming

CP

CIP

FDPBO

MIP

SAT

Relation to CP and MIP

. Every MIP is a CIP. “MIP ( CIP”

. Every CP over a finite domain space is a CIP. “FD ( CIP”

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 10 / 22

Page 23: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

Constraint Integer Programming

. Mixed Integer Programs

. SATisfiability problems

. Pseudo-Boolean Optimization

. Finite Domain

. Constraint Programming

. Constraint Integer Programming

CP

CIP

FD

PBO

MIP

SAT

Relation to CP and MIP

. Every MIP is a CIP. “MIP ( CIP”

. Every CP over a finite domain space is a CIP. “FD ( CIP”

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 10 / 22

Page 24: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

Constraint Integer Programming

. Mixed Integer Programs

. SATisfiability problems

. Pseudo-Boolean Optimization

. Finite Domain

. Constraint Programming

. Constraint Integer Programming

CP

CIP

FDPBO

MIP

SAT

Relation to CP and MIP

. Every MIP is a CIP. “MIP ( CIP”

. Every CP over a finite domain space is a CIP. “FD ( CIP”

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 10 / 22

Page 25: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

Constraint Integer Programming

. Mixed Integer Programs

. SATisfiability problems

. Pseudo-Boolean Optimization

. Finite Domain

. Constraint Programming

. Constraint Integer Programming

CP

CIP

FDPBO

MIP

SAT

Relation to CP and MIP

. Every MIP is a CIP. “MIP ( CIP”

. Every CP over a finite domain space is a CIP. “FD ( CIP”

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 10 / 22

Page 26: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

Constraint Integer Programming

. Mixed Integer Programs

. SATisfiability problems

. Pseudo-Boolean Optimization

. Finite Domain

. Constraint Programming

. Constraint Integer Programming

CP

CIP

FDPBO

MIP

SAT

Relation to CP and MIP

. Every MIP is a CIP. “MIP ( CIP”

. Every CP over a finite domain space is a CIP. “FD ( CIP”

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 10 / 22

Page 27: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

How do we solve CIPs?

MIP

. LP relaxation

. cutting planes

CP

. domain propagation

SAT

. conflict analysis

. periodic restarts

MIP, CP, and SAT

. branch-and-bound

SCIP

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 11 / 22

Page 28: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

What is SCIP?

SCIP (Solving Constraint Integer Programs) . . .

. is a branch-cut-and-price framework,

. is constraint based,

. incorporatesI CP features (domain propagation),I MIP features (cutting planes, LP relaxation), andI SAT-solving features (conflict analysis, restarts),

. has a modular structure via plugins,

. provides a full-scale MIP solver,

. is free for academic purposes,

. and is available in source-code under http://scip.zib.de !

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 12 / 22

Page 29: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

Structure of SCIP

SCIP PrimalHeuristic

actconsdiving

coefdiving

crossover dins

feaspump

fixandinfer

fracdiving

guideddiving

intdiving

intshifting

linesearchdiving

localbranching

mutation

subnlp

objpscostdiving

octane

oneopt

pscostdiving

rensrins

rootsoldiving

rounding

shifting

shift&prop

simplerounding

trivial

trysol

twooptundercover

veclendiving

zi round

Variable

Event

default

Branch

allfullstrong

fullstrong

inference

leastinf

mostinf

pscostrandom

relpscost

Conflict

ConstraintHandler

and

bounddisjunc.

countsols cumu

lative

indicator

integral

knapsack

linear

linking

logicor

ororbitope

quadratic

setppc

soc

sos1

sos2

varbound

xor

Cutpool

LP

clp

cpxmsk

none

qso

spx

xprs

Dialog

default

Display

default

Nodeselector

bfs

dfs

estimate

hybridestim

restartdfs

· · ·

Presolver

boundshift

dualfix

implics

inttobinary

probing

trivial

Implications

Tree

Reader

ccg

cip

cnf

fix

lp

mps opb

ppm

rlp

sol

sos

zpl

Pricer

Separator

clique

cmir

flowcover

gomory

impliedbounds intobj

mcf

oddcycle

rapidlearn

redcost

strongcg

zerohalf

Propagator

pseudoobj

rootredcost

vbound

Relax

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 13 / 22

Page 30: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

Structure of SCIP

SCIP PrimalHeuristic

actconsdiving

coefdiving

crossover dins

feaspump

fixandinfer

fracdiving

guideddiving

intdiving

intshifting

linesearchdiving

localbranching

mutation

subnlp

objpscostdiving

octane

oneopt

pscostdiving

rensrins

rootsoldiving

rounding

shifting

shift&prop

simplerounding

trivial

trysol

twooptundercover

veclendiving

default

Variable

Event

default

Branch

allfullstrong

fullstrong

inference

leastinf

mostinf

pscostrandom

relpscost

Conflict

ConstraintHandler

and

bounddisjunc.

countsols cumu

lative

indicator

integral

knapsack

linear

linking

logicor

ororbitope

quadratic

setppc

soc

sos1

sos2

varbound

default

Cutpool

LP

clp

cpxmsk

none

qso

spx

default

Dialog

default

Display

default

Nodeselector

bfs

dfs

estimate

hybridestim

default

· · ·

Presolver

boundshift

dualfix

implics

inttobinary

probing

default

Implications

Tree

Reader

ccg

cip

cnf

fix

lp

mps opb

ppm

rlp

sol

sos

default

Pricer

Separator

clique

cmir

flowcover

gomory

impliedbounds intobj

mcf

oddcycle

rapidlearn

redcost

strongcgdefault

Propagator

pseudoobj

rootredcost

default

Relax

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 13 / 22

Page 31: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

Structure of SCIP

SCIP PrimalHeuristic

actconsdiving

coefdiving

crossover dins

feaspump

fixandinfer

fracdiving

guideddiving

intdiving

intshifting

linesearchdiving

localbranching

mutation

subnlp

objpscostdiving

octane

oneopt

pscostdiving

rensrins

rootsoldiving

rounding

shifting

shift&prop

simplerounding

trivial

trysol

twooptundercover

veclendiving

zi round

Variable

Event

default

Branch

allfullstrong

fullstrong

inference

leastinf

mostinf

pscostrandom

relpscost

Conflict

ConstraintHandler

and

bounddisjunc.

countsols cumu

lative

indicator

integral

knapsack

linear

linking

logicor

ororbitope

quadratic

setppc

soc

sos1

sos2

varbound

xor

Cutpool

LP

clp

cpxmsk

none

qso

spx

xprs

Dialog

default

Display

default

Nodeselector

bfs

dfs

estimate

hybridestim

restartdfs

· · ·

Presolver

boundshift

dualfix

implics

inttobinary

probing

trivial

Implications

Tree

Reader

ccg

cip

cnf

fix

lp

mps opb

ppm

rlp

sol

sos

zpl

Pricer

Separator

clique

cmir

flowcover

gomory

impliedbounds intobj

mcf

oddcycle

rapidlearn

redcost

strongcg

zerohalf

Propagator

pseudoobj

rootredcost

vbound

Relax

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 13 / 22

Page 32: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

History of SCIP

1998 SIP – Solving Integer Programs (Alexander Martin)

10/2002 Start of SCIP development (Tobias Achterberg)

02/2003 First version to solve MIPs

09/2005 First public version 0.80

09/2006 Version 0.90

07/2007 Tobias Achterberg left the SCIP developer team

09/2007 Version 1.00

09/2007 Part of the ZIB Optimization Suite

09/2008 Version 1.1.0

10/2008 Nonlinear support

09/2009 Version 1.2.0

05/2010 First global constraints

09/2010 Version 2.0

10/2012 Version 2.1

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 14 / 22

Page 33: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

Number of Default Plugins

SCIP version

plugin type 0.7 0.8 0.9 1.0 1.1 1.2 2.0 2.1

branching rules 6 7 8 8 8 8 8 8constraint handlers 10 10 11 11 14 16 23 25node selectors 3 7 3 5 5 5 5 5presolvers 2 7 5 5 6 6 6 5primal heuristics 9 14 21 23 24 27 32 33propagators 0 1 2 2 2 2 3 5readers 2 4 6 6 11 13 15 16separators 3 6 7 8 10 10 12 13

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 15 / 22

Page 34: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

Involved Persons

. Thorsten Koch

. Marc Pfetsch (TU Darmstadt)

. Timo Berthold

. Gerald Gamrath

. Ambros Gleixner

. Stefan Heinz

. Yuji Shinano

. Stefan Vigerske

. Kati Wolter

. Gregor Hendel

. Michael Winkler

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 16 / 22

Page 35: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

SCIP Facts

. more than 300 000 lines of C code→ 18% documentation→ 20% assertions

. 7 examples illustrating the use of SCIP

. HowTos: each plugin type, debugging, automatic testing, . . .

. C++ wrapper classes, (experimental) python interface

. 7 interfaces to external linear programming solvers→ CLP, CPLEX, Gurobi, Mosek, QSopt, SoPlex, XPRESS

. 10 different input formats→ cip, cnf, flatzinc, rlp, lp, mps, opb, pip, wbo, zimpl

. more than 1000 parameters, 15 “emphasis” settings

. active mailing list

. runs on Linux, Windows, Mac (Darwin+PPC), SunOS, . . .

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 17 / 22

Page 36: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

SCIP App

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 18 / 22

Page 37: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

Computational results

. fastest non-commercial MIP solver

0

1000

2000

3000

tim

ein

seco

nd

s

non-commercial commercial4.10x 3.60x

1.74x

1.20x 1.00x0.70x

0.27x 0.24x 0.19x

solved(of 87 instances)

3 5 41 52 57 63 73 74 77

GLPK 4.47lpsolve 5.5.2CBC 2.7.4SCIP 2.1.1 – CLP 1.14.3SCIP 2.1.1 – SoPlex 1.6SCIP 2.1.1 – Cplex 12.3Cplex 12.4Xpress 7.2.1Gurobi 4.6.1

results by H. Mittelmann (9/Jan/2012)

3.8x

2.8x 2.8x 2.3x

1.9x1.5x

1.2x1.0x

solved(of 87)

23 36 29 48 51 58 63 670

1000

2000

3000

4000

tim

ein

seco

nd

s

SCIP 0.7 – SoPlex 1.2.2

SCIP 0.80 – SoPlex 1.2.2

SCIP 0.90 – SoPlex 1.3.0

SCIP 1.00 – 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

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 19 / 22

Page 38: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

Outreach

Some universities and institutes using the ZIB Optimization Suite:

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 20 / 22

Page 39: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

ZIB Optimization Suite = SCIP + SoPlex + ZIMPL

Linux and Mac users

. download the ZIB Optimization Suite 2.0.1http://zibopt.zib.de

. read the INSTALL

I tar xvf ziboptsuite-2.0.1.tgzI cd ziboptsuite-2.0.1I makeI make test

. requirements: readline and zlib

. you can also use the virtual machine (see next slide)

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 21 / 22

Page 40: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

ZIB Optimization Suite = SCIP + SoPlex + ZIMPL

Windows user

. download the virtual machine (VM) form the course web page

I CIPvmware.zip (Attention 2,7 GB)I >1 GB main memoryI 5–8 GB disk space

. follow the instruction stated in the README.txt

I download the VMware Player (free software)I load the VM into the VMware PlayerI power on the VM

. ZIB Optimization Suite is already installed

. Eclipse, emacs, LATEX, JAVA, Kate, Kile, . . .

Stefan Heinz (ZIB) – Mathematics of Infrastructure Planning 22 / 22

Page 41: Mathematics of Infrastructure Planning · 2012. 4. 17. · ZIB Optimization Suite Stefan Heinz Zuse Institute Berlin (ZIB) DFG Research ... SCIP. a MIP and CP solver, branch-cut-and-price

Mathematics of InfrastructurePlanning

ZIB Optimization Suite

Stefan HeinzZuse Institute Berlin (ZIB)

DFG Research Center MATHEON

Mathematics for key technologies

16/April/2012