Discrete optimization – exact methods · Capacity: ~2 million tons Wood: ~9 million cu.m.* Case:...

Post on 30-Jul-2020

1 views 0 download

transcript

Discrete optimization –exact methods

Mikael RönnqvistNorwegian School of Economics and Business Administration

Bergen, Norwaymikael.ronnqvist@nhh.no

eVITA Winter School 2009 - Optimization

Agenda (Wednesday 15-16:30, 16:30-18:30)

Applications – introductionModeling and standard modelsSolution methodsApplications – revisited– Results/Impacts

Case (if time)Concluding comments

ObjectiveUnderstanding of the main solution approaches for discrete optimization and their characteristics.Understanding of modeling and standard discrete optimization models.Insights in some applications and how discrete optimization can be used to solve them.

Seminar based on material from J. Lundgren, M. Rönnqvist and P. Värbrand, Optimeringslära, Studentlitteratur, Sweden, 537 pages, 2008. (English version available during Spring 2009)

– P. Eveborn, M. Rönnqvist, M. Almroth, M. Eklund, H. Einarsdóttir and K. Lidèn, Operations Research (O.R.) Improves Quality and Efficiency in Home Care, to appear in Interfaces

– H. Gunnarsson, M. Rönnqvist and D. Carlsson, A combined terminal location and ship routing problem, Journal of the Operational Research Society, Vol. 57, 928-938, 2006.

– D. Bredström, J. T. Lundgren, M. Rönnqvist, D. Carlsson and A. Mason, Supply chain optimization in the pulp mill industry – IP models, column generation and novel constraint branches, European Journal of Operational Research, Vol 156, pp 2-22, 2004.

– H. Broman, M. Frisk and M. Rönnqvist, Supply chain planning of harvest operations and transportation after the storm Gudrun, to appear in INFOR

Applications

Applications

Paper roll cutting 2D - Board cutting Terminal locationProduction planningRouting/ SchedulingGame

Paper roll cutting

Roll cutting at paper millsLength: 30,000 metersLength: 30,000 metersWidth: 5Width: 5--10 meters10 metersProducts: 0.3Products: 0.3--1.0 m1.0 mRoll: 5,000 metersRoll: 5,000 metersFixed demandFixed demand

2D Board cutting

Defect areas

Products

Weighted area of products determines the board’s quality/value

Terminal location

*cu.m. = cubic meters, solid under bark

Södra Cell in totalCapacity: ~2 million tonsWood: ~9 million cu.m.*

Case: Södra Cell - mills

Customers

GHENTGHENTGHENTGHENTGHENTGHENTGHENTGHENTGHENT

TERNEUZENTERNEUZENTERNEUZENTERNEUZENTERNEUZENTERNEUZENTERNEUZENTERNEUZENTERNEUZEN

EMDENEMDENEMDENEMDENEMDENEMDENEMDENEMDENEMDEN

NORTHFLEETNORTHFLEETNORTHFLEETNORTHFLEETNORTHFLEETNORTHFLEETNORTHFLEETNORTHFLEETNORTHFLEET

CHATHAMCHATHAMCHATHAMCHATHAMCHATHAMCHATHAMCHATHAMCHATHAMCHATHAM

LOWESTOFTLOWESTOFTLOWESTOFTLOWESTOFTLOWESTOFTLOWESTOFTLOWESTOFTLOWESTOFTLOWESTOFT

HULLHULLHULLHULLHULLHULLHULLHULLHULL

BOULOGNEBOULOGNEBOULOGNEBOULOGNEBOULOGNEBOULOGNEBOULOGNEBOULOGNEBOULOGNE

GENUAGENUAGENUAGENUAGENUAGENUAGENUAGENUAGENUA

LA PALLICELA PALLICELA PALLICELA PALLICELA PALLICELA PALLICELA PALLICELA PALLICELA PALLICE

PASAJESPASAJESPASAJESPASAJESPASAJESPASAJESPASAJESPASAJESPASAJES

GRANGEMOUTHGRANGEMOUTHGRANGEMOUTHGRANGEMOUTHGRANGEMOUTHGRANGEMOUTHGRANGEMOUTHGRANGEMOUTHGRANGEMOUTH

CORPACHCORPACHCORPACHCORPACHCORPACHCORPACHCORPACHCORPACHCORPACH

INVERNESSINVERNESSINVERNESSINVERNESSINVERNESSINVERNESSINVERNESSINVERNESSINVERNESS

AVEIROAVEIROAVEIROAVEIROAVEIROAVEIROAVEIROAVEIROAVEIRO

ANTWERPENANTWERPENANTWERPENANTWERPENANTWERPENANTWERPENANTWERPENANTWERPENANTWERPEN

GRIMSBYGRIMSBYGRIMSBYGRIMSBYGRIMSBYGRIMSBYGRIMSBYGRIMSBYGRIMSBY

ABERDEENABERDEENABERDEENABERDEENABERDEENABERDEENABERDEENABERDEENABERDEEN

BREMENBREMENBREMENBREMENBREMENBREMENBREMENBREMENBREMEN

GANDIAGANDIAGANDIAGANDIAGANDIAGANDIAGANDIAGANDIAGANDIA

STETTINSTETTINSTETTINSTETTINSTETTINSTETTINSTETTINSTETTINSTETTIN

WESELWESELWESELWESELWESELWESELWESELWESELWESEL

DUNDEEDUNDEEDUNDEEDUNDEEDUNDEEDUNDEEDUNDEEDUNDEEDUNDEE

HALDENHALDENHALDENHALDENHALDENHALDENHALDENHALDENHALDEN

HÖNEFOSSHÖNEFOSSHÖNEFOSSHÖNEFOSSHÖNEFOSSHÖNEFOSSHÖNEFOSSHÖNEFOSSHÖNEFOSS

KIELKIELKIELKIELKIELKIELKIELKIELKIEL

SKOGNSKOGNSKOGNSKOGNSKOGNSKOGNSKOGNSKOGNSKOGN

SUNDERLANDSUNDERLANDSUNDERLANDSUNDERLANDSUNDERLANDSUNDERLANDSUNDERLANDSUNDERLANDSUNDERLAND

BASELBASELBASELBASELBASELBASELBASELBASELBASEL

Terminaler

Folla (4)Svenska (17)Svenska, Tofte (2)Tofte (7)

Terminals

Production planning

Pulp Logs

Sawmills

Production Plans

Swedish Harbours

Sawdust

Forestry Districts

Söd

ra P

ulp

Mill

s

Pulp Logs

Import

S90Z S90TZ S85Z S85SZ S70Z SBZ S90Z

Domestic Customers

International Customers

Supply chain structure

Production plans

VAS90Z 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3VAS85RZ 3 3 3VAS85TZ 2 2 2 3VAS80TZ 3 3

M ONSBZ 2 2 2 2 2 2 2 3 3 3M ONS90Z 3 3 3 3M ONS85Z 2 2 2 2 2 2M ONS85S 2 3M ONS90S 2 3 3M STOP

M ORSBZ 3 3 3 3 3M ORS90TD 2 2 2 2 2 2 3M ORS70TZ 2 2 2 2 2 2 2 2 2 3 3 3 3M ORS90RD

1 31 61

Home care operations

Headlines in Swedish newspapers

“Anna, 89, found dead after missed home care services.”

“My mother met 57 different persons from the home care services during the last two months.”

“Sick leave among staff members above 30 percent in the elderly care.”

THE CITY OF STOCKHOLM

City of Stockholm: 2 million in the region and 794,000 in town

Long tradition in providing Social Care “Cutting edge”methods and alternatives in Home Care

Growing number of elderly citizens with rising costs

Great need for better and more effective organisation

Quality and Efficiency in Home CareA background

Social Service Assignment

The Elderly Citizen

Home Care Workers

Social Service

Assignment

• Availability• Working hours• Competence/ skills

• Address (location)• Gender• Language

• Service (medical etc..) • Care time• Time windows

VisitAssignment(scheduling & routing)

Daily planning problem

Sudoku

Sudoku

Given initial dataFill digits 1-9 into boxes such thatEvery digit 1-9 appears in every row, column, and 3x3 box

3675674

92641529

9424987617

9328361

Modeling

Integer feasible points

1

2

3

21 3

2x

1x

LP-opt

32*

LP

32*

LP

24

)2(

=

=

z

x T

20

)20(*HP

*HP

=

=

z

x T

IP-opt

integer ,0, 2 632 s.t.

109max

21

1

21

21

≥≤≤+

+=

xxx

xxxxz

problem)(max **HPLP zz ≥

General IP

integer ,,..,1,0

,..,1, s.t.

(min)max

1

1

njx

mibxa

xcz

j

ij

n

jij

j

n

jj

=≥

=≤

=

=

=

All variables integer Pure IPSome variables integer Mixed IP

Binary variables (0 or 1) 0/1 - problem

Total cost

Convex hull

integer

Example strong formulation

}1,0{, 0,

5 s.t.3632min

21

21

22

11

21

2121

∈≥≤≤≥+

+++=

yyxx

MyxMyx

xxyyxxz Optimum:

16

0,10,5

*21

21

=

====

z

yyxx

LP-relaxation

16 ,1,5 5

13 ,,5 10

3.10,,5100

*11

*2

111

*100

511

===⇒=

===⇒=

===⇒=

LP

LP

LP

zyxM

zyxM

zyxM

Choose M as small as possible

Note! M must be largeenough. Otherwise, the Optimum is cut away.

Standard models

Standard IP modelsKnapsack problemGeneralized Assignment Problem (GAP)Facility location problemMixed Integer Programming (MIP)Set partitioning problem (SPP)

Knapsack problem

integer

Model 1

In the following simplified example of GAP we assume that wejust have a fxed cost fi for using the machines that we want to minimize.

Model 2

Model 3

10 instances, 8 machines, 25 jobs, m=8, n=25

Facility location

Facility location

Different values of M gives the following results From solving the LP-relaxation.

Infeas

Two routing modelsNetwork formulationRoute based formulation with set partitioning model

Set partitioning problem

Comparison (10 vehicles, 50 customer)

Network– 25,500 variables– 1070 constraints– ? constraints

(subtours)

+ and -:+ simple formulation + all routes included- solvable?- difficult with capacity constraints

Set-partitioning– ? Variables– 60 constraints

+ and -:+ simple to generate routes (with capacity)+ solvable- not all routes

Methods

Cutting planes

Example

Gomory cut: 221 ≤+ xx

1

2

3

21 3

2x

1x

This cut provides the Convex hull to the integer points

Example

{ } jxxxxxx

xxxxxz

j ,1,0 62235 st

431011max

54321

54321

∀∈≤++++

++++=

Possible valid inequalities

(4) 2 (3) 1(2) 1 (1) 1

43241

3121

≤++≤+≤+≤+

xxxxxxxxx

Solve LP relaxation ( ) 5316,0, 0, 0, 1, 5

3 * ==⇒ zxT

LP

( ) 2115,0, 1, 2

1, 1, 0 * ==⇒ zxT

LPAdd (1)

( ) 15,1, 1, 0, 1, 0 * ==⇒ zx TLP

Add (4)Optimum!

Branch & bound methods

Land-Doig-Dakins

1

2

3

21 3

2x

1x

Optimum: 20,)20( ** == zx T

PO

P4P5

P2P3

P6 P1

( ) 3224z 3

22 ==T

x

12 ≥x02 ≤x

( ) 18z 02 == Tx ( ) 23z 123 ==

Tx

21 ≥x11 ≤x

( ) 22z 341 ==

Tx

( ) 19z 11 == Tx ( ) 20z 20 == Tx

12 ≤x

No solutionstop!

22 ≥x

Stop! zz ≤ Feasible solution.Stop!

stop! zz ≤

integer ,0, 2 632 st

109max

21

1

21

21

≥≤≤+

+=

xxx

xxxxz

PO

P4P5

P3P10

P2 P1

( ) 77z 5,82z 000217 ===

Tx

81 ≥x71 ≤x

( ) 4,82 00537 == zx

T

12 ≥x02 ≤x

( ) 82 0107 == zx T

61 ≤x

No solution, stop!

71 ≥x

stop! zz ≤

( ) 3,82 001326 == zx

T

( ) 2,82z 00596 ==

Tx

No solution, stop!

P7P8

P6P9

22 ≥x12 ≤x

51 ≤x 61 ≥x

( ) 2,82 002655 == zx

T

No solution, stop!

( ) 7,77 03416 == zx

T

( ) 82 0035 == zx T

Feasible solution, stop!

Feasible solution, stop!

integer ,0,,, 452356 st

35911max

4321

4321

4321

≥≤+++

+++=

xxxxxxxx

xxxxz

Knapsack 0/1

P2P3

P1P4

P0

( ) 11 2,18 00541 === zzx

T

12 =x02 =x

( ) 5,17 21101 == zx

T

No solution, stop!

11 =x

( ) 2,18 00165 == zx

T

( ) 17z 1110 == TxStop, integer coefficientsMeans that z must be integer.Z can not be better than 17.

{ }10,,, 102356 st

35911max

4321

4321

4321

∈≤+++

+++=

xxxxxxxx

xxxxz

01 =x

Feasible solution, stop!

Many knapsack problems can be formulated and solved efficiently by dynamic programming.

2

5

1

2 3

4 6 7

8 9

1

3

45

67

8

910

11

Search strategiesDepth-first Breadth first

Example B&BFive jobs on one machine. Set up timedependent on sequence, se table. Decide sequence of jobs in order to minimize total time.

−−

−−

16891271587

10121110111410691012749854

Previous

none

1

5

5

4

3

2

4321Job

B&B: relax the ordering. Solve by chosing cheapest costin column. Fix one job and resolve.

Variables:

⎩⎨⎧

=otherwise ,0

number as done is job if ,1 jixij

Example, B&B

−−

−−

16891271587

10121110111410691012749854

Prev

None

1

5

5

4

3

2

4321

30 ,0 =zP

−−

−−

16891271587

10121110111410691012749854

Prev

None

1

5

5

4

3

2

4321

36z ,2 =P

Feasible solution2-1-4-5-3

0

4321 5

111 =x121 =x

151 =x131 =x 141 =x

36=z 38=z36=z

35=z

30=z

37=zfeasibleworse worseworse

Furthersearch

−−

−−

16891271587

10121110111410691012749854

prev

none

1

5

5

4

3

2

4321

35 ,5 =zP

5

9876

112 =x122 =x 132 =x 142 =x

43=z35=z

39=z

35=z

43=zworseworse worse

−−

−−

16891271587

10121110111410691012749854

prev

none

1

5

5

4

3

2

4321

35 ,8 =zP

−−

−−

16891271587

10121110111410691012749854

prev

none

1

5

5

4

3

2

4321

39 ,10 =zP 121110

113 =x 143 =x123 =x

sequence: 5-3-?

sequence: 5-3-1-?

39=zworse

39=zworse

37=zworse

Optimum in node 2

3-5-4-1-2 :sequence ,36* =z

−−

−−

16891271587

10121110111410691012749854

prev

none

1

5

5

4

3

2

4321

40=z

−−

−−

16891271587

10121110111410691012749854

prev

none

1

5

5

4

3

2

4321

43=z

We were lucky to find a feasible solution fast.

In order cheapest

Branch & CutCombination of B&B and cutting planes

Add cuts

branching

Idea: Add cuts so that the LP-relaxationbecomes strongerbefore branching

An important extension is to make the LP-relaxation stronger byadding valid inequalities. This is the idea behind Branch & Cut. In each node in the search tree we add, if possible, one orseveral valid inequalities. We study a simple knapsack problem toillustrate the idea.

Normal branching

Branch & Cut

The standard approach is to branch on variables with fractionalvalues. For some applications (e.g. set-partitioning models)this is very weak and gives a large search tree. In someset-partitioning models where a variable is set to one, manyvariables are set to 0. If the variable is set to 0, essentiallynothing happens. To get at better balance we can choose to do aso-called constraint branching.

We will illustrate the technique with a set-partitioning model.Constraint branching means that two new subproblem is created byrequiring that a set of variables should sum to 0 or 1 instead ofa single variable. In a LP-solution to a set-partitioning modeleach constraint or object (to be partitioned) will be covered byone or several variables/columns (representing alternatives).

Normal fractional branching

Branch & PriceIn many applications (e.g. Set partitioning type models) it is not possible to generate all variables explicitColumn generation – a method to solve large scale LP problems can be used in each of the B&B nodes

A has many columnsas compared to thenumber of constraints

Application dependent

Cases & Results

Paper roll cutting

Roll cutting at paper millsLength: 30,000 metersLength: 30,000 metersWidth: 5Width: 5--10 meters10 metersProducts: 0.3Products: 0.3--1.0 m1.0 mRoll: 5,000 metersRoll: 5,000 metersFixed demandFixed demand

Tactical problem: Cutting stock problem

:Demand of roll .Number of times roll appears in pattern .

:Number of times pattern is used.

i

ij

j

Coefficientsb ia i j

Variablesx j

==

=

[ ]

,...,nj,x

,...,m, ibxa

xw

j

n

jijij

n

jj

1 integer ,0

1 s.t.

min P1

1

1

=≥

=≥

=

=

=

Standard solution approachClassical Gilmore & Gomory: Column generation and B&B

1

1

min

. . , 1,...,

0, integer

n

jj

n

ij j i ij

j

x

s t a x s b i m

x

=

=

− = =

∑1

1

min rc=1-

. .

0, integer, 1,...,

n

i ij

m

i ii

i

v w

s t d w L

w i m

=

=

≥ =

dualsduals

new patternnew pattern

Data:width of product .width of main roll.dual variable f

Variables:=number of pr

or constraint

oduct in new pattern.

i

i

iw i

d iLv i

===

Practical considerationsThe number of rolls in a pattern is limited. The number of different rolls in a pattern is limited. Some rolls are not allowed to be in the same pattern. Some rolls must be included in the same pattern. There is a maximum allowed trim loss.Demand is given as a target value with bounds on under- and overproduction.

2D Board cutting

Upper part: optimal placement of max 4 products. Middle part: optimal placement of max 4 products. Lower part: Allocation areas (defined through defects)

Upper part: optimal placement (max 100 products)Middle part: current heuristic solution Lower part: Allocation areas (defined through defects)

Upper part: optimal placement (max 100 products)Middle part: current heuristic solution Lower part: Allocation areas (defined through defects)

Upper part: heuristic solution (note non-guilliotine solution)Middle part: optimal placement

Terminal location

*cu.m. = cubic meters, solid under bark

Södra Cell in totalCapacity: ~2 million tonsWood: ~9 million cu.m.*

Case: Södra Cell - mills

Customers

GHENTGHENTGHENTGHENTGHENTGHENTGHENTGHENTGHENT

TERNEUZENTERNEUZENTERNEUZENTERNEUZENTERNEUZENTERNEUZENTERNEUZENTERNEUZENTERNEUZEN

EMDENEMDENEMDENEMDENEMDENEMDENEMDENEMDENEMDEN

NORTHFLEETNORTHFLEETNORTHFLEETNORTHFLEETNORTHFLEETNORTHFLEETNORTHFLEETNORTHFLEETNORTHFLEET

CHATHAMCHATHAMCHATHAMCHATHAMCHATHAMCHATHAMCHATHAMCHATHAMCHATHAM

LOWESTOFTLOWESTOFTLOWESTOFTLOWESTOFTLOWESTOFTLOWESTOFTLOWESTOFTLOWESTOFTLOWESTOFT

HULLHULLHULLHULLHULLHULLHULLHULLHULL

BOULOGNEBOULOGNEBOULOGNEBOULOGNEBOULOGNEBOULOGNEBOULOGNEBOULOGNEBOULOGNE

GENUAGENUAGENUAGENUAGENUAGENUAGENUAGENUAGENUA

LA PALLICELA PALLICELA PALLICELA PALLICELA PALLICELA PALLICELA PALLICELA PALLICELA PALLICE

PASAJESPASAJESPASAJESPASAJESPASAJESPASAJESPASAJESPASAJESPASAJES

GRANGEMOUTHGRANGEMOUTHGRANGEMOUTHGRANGEMOUTHGRANGEMOUTHGRANGEMOUTHGRANGEMOUTHGRANGEMOUTHGRANGEMOUTH

CORPACHCORPACHCORPACHCORPACHCORPACHCORPACHCORPACHCORPACHCORPACH

INVERNESSINVERNESSINVERNESSINVERNESSINVERNESSINVERNESSINVERNESSINVERNESSINVERNESS

AVEIROAVEIROAVEIROAVEIROAVEIROAVEIROAVEIROAVEIROAVEIRO

ANTWERPENANTWERPENANTWERPENANTWERPENANTWERPENANTWERPENANTWERPENANTWERPENANTWERPEN

GRIMSBYGRIMSBYGRIMSBYGRIMSBYGRIMSBYGRIMSBYGRIMSBYGRIMSBYGRIMSBY

ABERDEENABERDEENABERDEENABERDEENABERDEENABERDEENABERDEENABERDEENABERDEEN

BREMENBREMENBREMENBREMENBREMENBREMENBREMENBREMENBREMEN

GANDIAGANDIAGANDIAGANDIAGANDIAGANDIAGANDIAGANDIAGANDIA

STETTINSTETTINSTETTINSTETTINSTETTINSTETTINSTETTINSTETTINSTETTIN

WESELWESELWESELWESELWESELWESELWESELWESELWESEL

DUNDEEDUNDEEDUNDEEDUNDEEDUNDEEDUNDEEDUNDEEDUNDEEDUNDEE

HALDENHALDENHALDENHALDENHALDENHALDENHALDENHALDENHALDEN

HÖNEFOSSHÖNEFOSSHÖNEFOSSHÖNEFOSSHÖNEFOSSHÖNEFOSSHÖNEFOSSHÖNEFOSSHÖNEFOSS

KIELKIELKIELKIELKIELKIELKIELKIELKIEL

SKOGNSKOGNSKOGNSKOGNSKOGNSKOGNSKOGNSKOGNSKOGN

SUNDERLANDSUNDERLANDSUNDERLANDSUNDERLANDSUNDERLANDSUNDERLANDSUNDERLANDSUNDERLANDSUNDERLAND

BASELBASELBASELBASELBASELBASELBASELBASELBASEL

Terminaler

Folla (4)Svenska (17)Svenska, Tofte (2)Tofte (7)

Terminals

>15% of volume => 320 000 tonnes€ 150 million

Storage cost (20%)€ 30 million

Storage cost (20%)€ 30 million

30 60

Inventories / Lead times …

Södra Cell responsibilityCustomer responsibility

Security stock(5-10 days)

PulpSMI:Supplier Managed Inventory

GHENT

TERNEUZEN

EMDEN

NORTHFLEET

CHATHAM

LOWESTOFTLOWESTOFTLOWESTOFTLOWESTOFTLOWESTOFTLOWESTOFTLOWESTOFTLOWESTOFTLOWESTOFT

HULLHULLHULLHULLHULLHULLHULLHULLHULL

ANTWERPEN

GRIMSBYGRIMSBYGRIMSBYGRIMSBYGRIMSBYGRIMSBYGRIMSBYGRIMSBYGRIMSBY

BREMEN

STETTIN

WESEL

HALDEN

KIEL

Värö

TofteDistribution - Complexity

Three vessels on long term contract

Additional vessels on spot market

Train and truck transports

Several different products

Supply ≈ Demand

Alternative shipment ports

Alternative terminals

Mathematical model: objective

min ( )

( )

( )

A H

B H

H

H L

A MP Ak i kijp

k R i I j J p P

B MP Bk i kijp

k R i I j J p P

S MP S R Rij i ijp ji ji

i I j J p P j J i I

T totj j j j

j J j J

T T Q Qhl hlp jq jqp

h J l J p P j J q Q p P

trainiq iqp

c c x

c c x

c c x c x

c y f z

c y c y

c y

∈ ∈ ∈ ∈

∈ ∈ ∈ ∈

∈ ∈ ∈ ∈ ∈

∈ ∈

∈ ∈ ∈ ∈ ∈ ∈

+ +

+ +

+ + +

+ +

+ +

∑∑ ∑ ∑

∑∑∑ ∑

∑∑ ∑ ∑∑

∑ ∑

∑ ∑∑ ∑∑∑

train truck truckiq iqp

i I q Q p P i I q Q p P

c y∈ ∈ ∈ ∈ ∈ ∈

+∑∑∑ ∑∑∑

AA--routes routes

BB--routes routes

Spot + return trips Spot + return trips

Terminal costs Terminal costs

Distribution from terminals Distribution from terminals

Train + truck Train + truck

Mathematical model: constraints

, A B

A B S T Qkijp kijp ijp jlp jqp H

k R i I k R i I i I l L q Qx x x y y j J p P

∈ ∈ ∈ ∈ ∈ ∈ ∈

+ + = + ∀ ∈ ∈∑∑ ∑∑ ∑ ∑ ∑

, H

T Qhjp jqp L

h J q Qy y j J p P

∈ ∈

= ∀ ∈ ∈∑ ∑, Q train truck

jqp iqp iqp qpj J i I i I

y y y D q Q p P∈ ∈ ∈

+ + = ∀ ∈ ∈∑ ∑ ∑

A H B H H

A A B B Rk kijp k kijp ji

k R i I j J p P k R i I j J p P j J i It x t x x r

∈ ∈ ∈ ∈ ∈ ∈ ∈ ∈ ∈ ∈

+ + ≤∑∑∑ ∑ ∑∑∑ ∑ ∑∑

A B

A B Rkijp kijp ji

k R i I p P k R i I p P i Ix x x j J

∈ ∈ ∈ ∈ ∈ ∈ ∈

+ = ∀ ∈∑∑∑ ∑∑∑ ∑

A

A Tkijp l l jl H

k R i I p P l Lx p w j Jα

∈ ∈ ∈ ∈

≤ ∀ ∈∑∑∑ ∑

j jll L

z w j J∈

≥ ∀ ∈∑

A H B H H

A B Rkijp kijp ji

k R j J p P k R j J p P j Jx x x i I

∈ ∈ ∈ ∈ ∈ ∈ ∈

+ = ∀ ∈∑ ∑ ∑ ∑ ∑ ∑ ∑

Proportion AProportion A--routesroutes

Flow conservationFlow conservation

Customer demandCustomer demand

Ship capacityShip capacity

Return flowReturn flow

Return flowReturn flow

Flow conservationFlow conservation

Return flowReturn flow

Number of:Customers 262Pulpmills 4Harbor-terminals 21Land-terminals 3 Ships 3Products 30A-routes 84B-routes 1,873Spot-routes 84

Problem size

GHENTGHENTGHENTGHENTGHENTGHENTGHENTGHENTGHENT

TERNEUZENTERNEUZENTERNEUZENTERNEUZENTERNEUZENTERNEUZENTERNEUZENTERNEUZENTERNEUZEN

EMDENEMDENEMDENEMDENEMDENEMDENEMDENEMDENEMDEN

NORTHFLEETNORTHFLEETNORTHFLEETNORTHFLEETNORTHFLEETNORTHFLEETNORTHFLEETNORTHFLEETNORTHFLEET

CHATHAMCHATHAMCHATHAMCHATHAMCHATHAMCHATHAMCHATHAMCHATHAMCHATHAM

LOWESTOFTLOWESTOFTLOWESTOFTLOWESTOFTLOWESTOFTLOWESTOFTLOWESTOFTLOWESTOFTLOWESTOFT

HULLHULLHULLHULLHULLHULLHULLHULLHULL

BOULOGNEBOULOGNEBOULOGNEBOULOGNEBOULOGNEBOULOGNEBOULOGNEBOULOGNEBOULOGNE

GENUAGENUAGENUAGENUAGENUAGENUAGENUAGENUAGENUA

LA PALLICELA PALLICELA PALLICELA PALLICELA PALLICELA PALLICELA PALLICELA PALLICELA PALLICE

PASAJESPASAJESPASAJESPASAJESPASAJESPASAJESPASAJESPASAJESPASAJES

GRANGEMOUTHGRANGEMOUTHGRANGEMOUTHGRANGEMOUTHGRANGEMOUTHGRANGEMOUTHGRANGEMOUTHGRANGEMOUTHGRANGEMOUTH

CORPACHCORPACHCORPACHCORPACHCORPACHCORPACHCORPACHCORPACHCORPACH

INVERNESSINVERNESSINVERNESSINVERNESSINVERNESSINVERNESSINVERNESSINVERNESSINVERNESS

AVEIROAVEIROAVEIROAVEIROAVEIROAVEIROAVEIROAVEIROAVEIRO

ANTWERPENANTWERPENANTWERPENANTWERPENANTWERPENANTWERPENANTWERPENANTWERPENANTWERPEN

GRIMSBYGRIMSBYGRIMSBYGRIMSBYGRIMSBYGRIMSBYGRIMSBYGRIMSBYGRIMSBY

ABERDEENABERDEENABERDEENABERDEENABERDEENABERDEENABERDEENABERDEENABERDEEN

BREMENBREMENBREMENBREMENBREMENBREMENBREMENBREMENBREMEN

GANDIAGANDIAGANDIAGANDIAGANDIAGANDIAGANDIAGANDIAGANDIA

STETTINSTETTINSTETTINSTETTINSTETTINSTETTINSTETTINSTETTINSTETTIN

WESELWESELWESELWESELWESELWESELWESELWESELWESEL

DUNDEEDUNDEEDUNDEEDUNDEEDUNDEEDUNDEEDUNDEEDUNDEEDUNDEE

HALDENHALDENHALDENHALDENHALDENHALDENHALDENHALDENHALDEN

HÖNEFOSSHÖNEFOSSHÖNEFOSSHÖNEFOSSHÖNEFOSSHÖNEFOSSHÖNEFOSSHÖNEFOSSHÖNEFOSS

KIELKIELKIELKIELKIELKIELKIELKIELKIEL

SKOGNSKOGNSKOGNSKOGNSKOGNSKOGNSKOGNSKOGNSKOGN

SUNDERLANDSUNDERLANDSUNDERLANDSUNDERLANDSUNDERLANDSUNDERLANDSUNDERLANDSUNDERLANDSUNDERLAND

BASELBASELBASELBASELBASELBASELBASELBASELBASEL

Terminaler

Folla (4)Svenska (17)Svenska, Tofte (2)Tofte (7)

Terminals

Problem P2: Terminal i Terneuzen isaccessible for all customers in Italy.

Problem P3: Terminals inSunderland and Grimsby become available for all customers in UK

Problem P4: Problem P3 + only one of the terminals in Sunderland and Grimsby can be used

Problem P5: Terminals in KielGhent, Boulogne and La Pallice are removed.

Scenarios

Problem P6: Alternative to the Kielcanal is tested.

Production planning

Pulp Logs

Sawmills

Production Plans

Swedish Harbours

Sawdust

Forestry Districts

Söd

ra P

ulp

Mill

s

Pulp Logs

Import

S90Z S90TZ S85Z S85SZ S70Z SBZ S90Z

Domestic Customers

International Customers

Supply chain structure

0 ,0

1 0 ,0

2 0 ,0

3 0 ,0

4 0 ,0

5 0 ,0

6 0 ,0

7 0 ,0

8 0 ,0

9 0 ,0

0 ,0

1 ,0

2 ,0

3 ,0

4 ,0

5 ,0

6 ,0

7 ,0

8 ,0

9 ,0

January 1st to June 30th 2000

Stockat mill

(0-90 000)

Usagein mill

(0-8 000)

Deliveriesto mill

(0-9 000)

Daily variation due to campaign production

Södra Cell, Supply Chain - conditions

SBZ 1 1 2 2 2 2 2 2 2 3 3

S90Z 1 1 3 3

S85Z 1 1 1 1 1 1 2 2 2 2 2 2

S85Z/TZ 1 1 1 1 1 1 1 1 1 1 1 1 1 2

S90Z/TZ 1 1 1 1 1 1 1 2 3 3

S90Z S90TZ S85Z S85SZ S70Z SBZ S90ZProduction schedule (campaigns)

Solution method - column generation

Each campaign has a minimum and maximum length in time

There is a fixed cost to change campaigns i.e. recipies

, 1

, 1

, ,

, ,

0.9 1.1 , ,

,

, ,

,

F Fia t iat ijat iat

j M

H Hjp t jpt jpt jpt

Mja j

a A

ja ijat jai F

Dijat i

j M a A

Djdpt dpt

j M

Ejpt pt

j M

l H x l i a t

l w v l j p t

f T j

f x f j a t

x T i t

y D d p t

v D p t

−∈

∈ ∈

+ − = ∀

+ − = ∀

≤ ∀

≥ ≤ ∀

≤ ∀

= ∀

= ∀

∑∑

Storage in forests

Storage at domestic harbours

Inflow levels

Inflow levels

Capacity levels in forests

Domestic demand

International demand

Model: Constraints

, 1

, 1

0 , ,

0 , ,

j

j j

j

outjrp jqrt jq

q Q

A Aja t ijat jat

i F

P Pjp t jpt jdp

injra jqrt jq

q Q r R

t jptd Dr R

l x l j a t

l R z

R

w y l j p

z

δ−∈

−∈∈

+ − − = ∀

+ − − − = ∀∑

1 j

jqq Q

z j∈

= ∀∑

Model: constraints cont.

amount of assortment used in one time period when running

recipe at pulp mill amount of product produced in one time period when running

recipe at pulp mill

injra

outjrp

R a

r jR p

r

=

=

1 if recipe runs in production plan during time period

at pulp mill , 0 otherwisejqrt

jr q t

j

δ =

dual: jatα

dual: jptβ

dual: jγ

Storage of pulp logs

Storage of pulp products

Day 1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7Day 1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7

Solution method - Subproblem

Find best reduced cost production plan

Subproblem: a shortest path problemArcs represent campaignsArc costs reflect dual prices on log / pulp inventory constraint and production / changeover costs

, , , ,jat jpt j

Z in outjq jq jqrt jra jqrt jrp

a t r p t rc C R Rδ δα β γ= + − −∑ ∑

Restricted master Problem

Subproblem,pulpmill 1

Dua

l var

iabl

es

Pro

duct

ion

plan

Subproblem,pulpmill 2

Dua

l var

iabl

es

Pro

duct

ion

plan

Subproblem,pulpmill n

Dua

l var

iabl

es

Pro

duct

ion

plan

Solution method - column generation

Normal variable branching is not effective– There are very few 0/1-variables with value 1 (out of a

very large number of possible)– The 1-branch is too strong (most often creating

infeasible solutions)– The 0-branch is too weak (there are many similar

production plans)– Procedure creates a huge Branch and Bound tree

Branch and Bound procedures

Constraint branching enables a moreefficient strategyGiven a fractional LP-solution:– Sum the fractional usage of each receipe for each time

period and pulp mill– choose the usage closest to 1.0 and branch on this

• for example: use receipe S90Z at day 14 in mill Mönsterås

– the branch is easy to implement in the subproblem i.e. simply remove certain arcs

Constraint branching heuristic

Production plansComparison with manual plans (campaign changes 3 5 million SEK, total 120 110 million SEK)Strategic implications regarding campaign scheduling

VARO VAS90Z 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3VARO VAS85RZ 3 3 3VARO VAS85TZ 2 2 2 3VARO VAS80TZ 3 3

M ONSTERAS M ONSBZ 2 2 2 2 2 2 2 3 3 3M ONSTERAS M ONS90Z 3 3 3 3M ONSTERAS M ONS85Z 2 2 2 2 2 2M ONSTERAS M ONS85S 2 3M ONSTERAS M ONS90S 2 3 3M ONSTERAS M STOP

M ORRUM M ORSBZ 3 3 3 3 3M ORRUM M ORS90TD 2 2 2 2 2 2 3M ORRUM M ORS70TZ 2 2 2 2 2 2 2 2 2 3 3 3 3M ORRUM M ORS90RD

1 31 61

Home care operations

Social Service Assignment

The Elderly Citizen

Home Care Workers

Social Service

Assignment

• Availability• Working hours• Competence/ skills

• Address (location)• Gender• Language

• Service (medical etc..) • Care time• Time windows

VisitAssignment(scheduling & routing)

Daily planning problem

Problem in OR termsDecisions– Allocation of visits to home care workers– Routing of workers

Constraints– Skills– Time windows (short and wide time windows)– Time relations (precedence and synchronization)– Working hours, travel time/ breaks

Objective– Short and long term continuity– Route cost/ time– Fairness– Preferences

OR challenges

Synchronisation of visits– Synchronized visits (double staffing)– Precedence relations of visits (at the same elderly)

Translation between OR and practice– OR Real life (planners have no OR background)

Multiple transport modes: Car, bike, walkingLast minute planning

– Many simulations require short solution times– Sometimes cannot assign all tasks– May require re-prioritization

Evaluation of quality

OR ModelingSet partitioning model, extended with– Synchronization and precedence constraints– Fairness measurement

THE CITY OF STOCKHOLM

In practice locally since 2003

Full scale implementation 2008– 800 Planning Officers are involved

– All Home Care Units, about 15000 workers participate

– 40 000 Elderly Clients enjoy the benefit

Large scale solutions– E-learning programs

– Centralized database

– Interconnected systems to ensure information flow

Approach

Quantifiable benefits (i)Increased Efficiency – The efficiency improvement, which is calculated as more contact

hours to less cost and with increased service quality, was 12 percent. For example, the ordinary staff could make 12 percent more visits in the same working time while having a better competence match and visiting the same clients.

– Morning meeting times have decreased by two-thirds;– In the City of Stockholm, the time spent for developing schedules

for each of the 15,000 care workers in the city’s home-help units can be lowered by an average of 10-12 minutes every day. On an annual basis, this corresponds to 310-375 full-time annual equivalents.

Quantifiable benefits (ii)Transportation In Bengtsfors the driving distance is 20 percent lower than previously

Sick Leave In Jakobsberg, the annual short-term sick leave fell from 563 days to 166.

Quality and Safety – In Jakobsberg, the number of missed visits (forgotten, delayed, or

rebooked) fell from 91 to 4. – In Bengtsfors, where staff had previously had many discussions about

which staff member should perform which visit, these discussions almost ceased because the system is totally objective.

– Aurskog-Høland employs highly qualified nurses; better skill matching allows 22 percent of the nurses to be used for work requiring their specific skills.

Unquantifiable benefits (i)Clients – The risk of forgetting visits is reduced significantly. – Easier to control the continuity among member of staff visiting a client. – The reporting makes it possible to follow up, e.g., to review the overall care

hours.

Staff – Work in the home-care sector can be stressful. The removal of the often-

turbulent last-minute morning meetings has removed one stress factor. – Creating routes that such that work is distributed fairly among the staff

members, and that allow for realistic travel times between visits has also alleviated stress.

– The system can also schedule work tasks, such as meetings, documentation, and administration.

– Better usage of employee skills could also raise the status of the home-care profession.

Laps Care

System Overview

Daily planning

Healthcare

Back End system

System

Integration

Mobile communication

Social Care

Back End system

Human Resource

Back End system

Laps CareActivity and

time reporting

Laps Care: Usage

– 2007 Laps Care daily scheduled 4.000 staff in 200 units

– 2008 : 20.000 staff in 250+800 units

– 2009 : 30.000 staff in 1500 units

– Sweden has 120.000 employed in Home Care

– Northern Europe has one million Care workers

Laps Care: Business CaseCase study proves 10% improved efficiency in cost savings and 5% in initial needed investment

– Laps Care clients saved 2007: $US 30 million

– Savings 2008: $US 75 million

– Savings 2009: $US 125 million

– Potential annual benefits in Sweden: $US 700 million

– Potential annual benefits in N. Europe: $US 6 billion

Sudoku

Sudoku

Given initial dataFill digits 1-9 into boxes such thatEvery digit 1-9 appears in every row, column, and 3x3 box

3675674

92641529

9424987617

9328361

SolutionSolver: CPLEXTime: 0Nodes: 0

… AMPL presolve

3429167859567821431784359264815276397398614522653498176172583945 94173268823694571

Case: Logistics planning after the storm Gudrun at Sveaskog

The storm GudrunDuring the weekend of January 8-9 2005 the storm Gudrun (hurricane winds) hit southern part of Sweden.More than 70 million m3 was blowned down; this corresponds to one full annual harvest for Sweden. Damage often at ”difficult” locations.Important function in the infrastructure was out of order: electricity, phones, transportation etc.The value of wood alone is 30 billion SEK approx. 3.2 billion Euros.Worst forest damages in Sweden for the last 100 years.

Dangerous and slow operations

Storageterminals

Industrialterminals

Storageroad

harvesting

Sveaskog’s logistics

• 2,5 – 3 million m3 own forest

+ external volumes

• not close to harbours

• Customer essentially north of the area

• Signed contracts to befollowed

Supply

Demand

Transportation modes

Terminals

StormOpt – new decisions and restrictions

Resource limitations– Trucks (ton*km)– Harvest capacity (different machine types)

New decisions: harvesting, storage – binary variables needed

Wood value– Current and new industrial orders– Roadside storage of logs– Terminal storage of logs– Trees not harvested

Costs for harvesting and storage

Situation27 aggregated harvest areas4 harvesting classes5 assortment per class2,5 - 3 million m3

Situation27 aggregated harvest areas4 harvesting classes5 assortment per class2,5 - 3 million m3

92 customers

Situation27 aggregated harvest areas4 harvesting classes5 assortment per class2,5 - 3 million m3

92 customers9 train terminals5 harbours20 train system100 ship routes

Situation27 aggregated harvest areas4 harvesting classes5 assortment per class2,5 - 3 million m3

92 customers9 train terminals5 harbours20 train system100 ship routes

Some important factors:

The storm felled forest for Sveaskog was not “harbour close”.The logistics costs associated with deliveries to/from harbours were relatively high.Truck and transportation capacities were the most limiting factors.Model size:– 4,500 constraints– 195,000 variables

Experiences and what happened The weather conditions with deep snow made the operations difficult. When the snow depths was less, the harvest level increased rapidly.More medium and large units than expected arrived. Instead of 54-59-32 (large-medium-small harvest units) there were 64-74-14 units. Increase in the number of trucks was slower and it was not until the middle of April when there was a balance between truck and harvesting capacities (84 trucks were in operation).

Experiences and what happenedDelivery planning

0

500

1000

1500

2000

2500

Feb Mar Apr Maj Jun

KM3F

UB HarvestingDeliveryStorage

Experiences and what happenedThe storm felled volumes were less than the estimations (measured 2,45 against estimated 3,1 million m3). The volume carried by train was planned to be at 369,000 m3 and this was the level in practice. The average distance for the trucks was 83 km (2004: 97 km). The total volume carried on trucks were 1,73 million m3. The transportation work on train was 47% of the total work with an average distance of 340 km. This transportation work on train represented 64 trucks.The volume carried by ship was smaller than planned (23,000 against 52,000 m3). One reason for this was a Finish strike.

Summary of operations

Concluding remarksQuick and efficient change of logistic system not possible without OR support.OR models easy to solve, modelling relatively easy due to ”similar” model and cost structures difficult to compute.Project possible with dedicated manager at Sveaskog.Increased acceptance of OR for non-OR persons at Sveaskog.

Concluding remarks

Concluding remarksThere are many general and advanced solvers and modeling languages available (CPLEX, XPRESS, COIN-OR, AMPL, EXCEL, MPL, GAMS, etc) for discrete optimization.There are many specific solvers available for particular applications/ models (TSP, VRP, GAP, Facility location, Knapsack, etc.)Actual implementations require knowledge in both modeling and solution methods.Data is available through databases. But, care needs to be taken for error in data.Trends: Robustness, uncertainty, real-time, coordination, even larger and detailed models