Discrete optimization –exact methods
Mikael RönnqvistNorwegian School of Economics and Business Administration
Bergen, [email protected]
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
tδ
δ−∈
−∈∈
∈
∈
∈
+ − − = ∀
+ − − − = ∀∑
∑
∑
∑
∑
∑
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