SNP Optimizer
SNP Optimizer
SNP Optimizer
Su p p l y Ch a i n M a n a g e m e n t
Heinrich Braun,
Thomas Kasper
SAP AG
Agenda
Acceptance of Optimization
Summary
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
I n t r o d u c t i o n : Su p p l y Ch a i n M a n a g e m e n t
quantity
locations
time
Customers
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
DCs
Plants
Supplier
Su p p l y Ch a i n M a n a g e m e n t m y SA P SCM
Measure
Partner
Plan
Source
Demand and
Supply Planning
Make
Direct
Procurement
Manufacturing
Deliver
Order
Fulfillment
Customer
Collaborate
Network
Collaborate
Private
Trading
Exchange
Supplier
Strategize
Private
Trading
Exchange
Network
Partner
Track
CP AI OR 2004,
Heinrich Braun
m y SA P SCM : Pl a n n i n g L e v e l s
Strategic
Strategize
Supply Chain Design
Tactical
Plan
Demand and
Supply Planning
Operational
Source
Make
Direct
Procurement
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
Manufacturing
Deliver
Order
Fulfillment
Ch a l l e n g e : M a x i m i ze t h e a p p l i c a t i o n o f Op t i m i za t i o n i n SCM
Dos
Dont dos
Constraints
Our Goal
Leverage optimization algorithms by
Aggregation
Decomposition
for solving the Planning and Scheduling problems in SCM
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
Op t i m i za t i o n - Ex p e c t a t i o n b y o u r c u s t o m e r
Optimal Solution ?
Efficiency
Scalability
SAP AG 2002,
CP AI OR 2004,
Solution Quality
Total Cost of Ownership (Licenses, Maintenance, Administration, Handling)
Heinrich Braun
Pr o b l e m v e r s u s A l g o r i t h m s
OR-Researcher: accepts Problems, which solves his algorithm optimally
OR-developer: accepts Problems, which solves his algorithm efficiently
OR-user: accepts algorithms, which solves his problem effectively
ModelSpecification
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
OptimizationAlgorithms
Op t i m i ze r - Ex p e c t a t i o n b y o u r c u s t o m e r
Idealist
Realist
Sisyphus
Pragmatic
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
Ch a l l e n g e : M a s t e r i n g t h e p l a n n i n g c o m p l e x i t y o f SCM
Hierarchical planning
Global optimization using aggregation (Supply Network Planning)
SAP AG 2002,
CP AI OR 2004,
Modeling is crucial !!
Heinrich Braun
10
H i e r a r c h i c a l Pl a n n i n g
Supply Network Planning (SNP)
Mid term horizon
Global optimization
Local optimization
Maximize profit
Decide
Where to produce
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
11
Resource:
On which alternative resource
SN P Op t i m i ze r : M o d e l Ov e r v i e w
Produce
Discrete Lots
Minimal Lots
Fixed Resource Consumption
Piecewise linear Costs
Transport
Transport
Capacity
Discrete Lots
Minimal Lots
Production
Capacity
PPM
Storage
Capacity
Products
Safety Stock
Handling-In
Capacity
Store
Handling-Out
Capacity
Satisfy Demand
Procure
CP AI OR 2004,
Heinrich Braun
12
Priority Classes
Delay Costs
Non-Delivery Costs
PP/DS Op t i m i ze r : M o d e l Ov e r v i e w
Time Windows
Distances
(with calendars)
minimal
maximal
Resource Selection
Alternative resources
Resource costs
Setup
sequence dependent
setup costs
Unary
Resources
Product Flow
Storage
resources
discrete
continuous
Multi-Cap
Resources
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
13
Ex a m p l e : Co m p l e x M o d e l i n g
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
14
I n t e g r a t i o n b e t w e e n SN P a n d PP/DS
SNP
PP/DS
SNP
PP/DS
PP/DS Horizon
SNP Horizon
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
15
I n t e g r a t i o n b e t w e e n SN P a n d PP/DS
SNP
PP/DS
SNP
PP/DS
PP/DS Horizon
SNP Horizon
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
16
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
17
SN P Op t i m i za t i o n : A n t i c i p a t i o n o f Se t u p
Bad results
Setup consumption big compared to bucket capacity (big lots)
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
18
SN P Op t i m i za t i o n : L o t Si zi n g i n SA P SCM
Proportional Lot Sizing Problem (PLSP)
Considering setup in preceding bucket
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
19
SN P Ca m p a i g n Op t i m i za t i o n : B e n c h m a r k s
10
20
30
40
50
60
70
80
90
100
10,000000%
Optimality Deviation
1,000000%
0,100000%
PI-Bench2
0,010000%
PI-Bench7
PI-Bench8
0,001000%
PI-Bench9
0,000100%
0,000010%
0,000001%
0,000000%
time in minutes
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
20
M a s t e r i n g t h e a l g o r i t h m i c c o m p l e x i t y : De c o m p o s i t i o n
Decomposition strategies
Parallelization by Agents
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
21
T i m e De c o m p o s i t i o n - L o c a l I m p r o v e m e n t
Resources
Current window
CP AI OR 2004,
Heinrich Braun
22
Time
SN P Pr o d u c t De c o m p o s i t i o n
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
23
SN P Pr o d u c t De c o m p o s i t i o n
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
24
SN P Pr o d u c t De c o m p o s i t i o n
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
25
SN P Pr o d u c t De c o m p o s i t i o n
100,00
90,00
Delivery [%]
80,00
70,00
60,00
50,00
40,00
30,00
LP Relaxation
Decomposed MIP
Global MIP
0,25
99,17
99,17
99,17
99,17
94,40
98,98
99,07
99,09
45,1162
53,33
62,81
65,13
Total cost
200.000.000,00
150.000.000,00
100.000.000,00
OPAL Executable
CPLEX 8.0
50.000.000,00
0,00
0,25
LP Relaxation
34.075.500,00
34.075.500,00
34.075.500,00
34.075.500,00
Decomposed MIP
63.231.900,00
38.170.900,00
37.871.200,00
37.860.100,00
2,44E+08
215.404.000,00
195.649.000,00
187.900.000,00
Global MIP
CP AI OR 2004,
Production Grouping
~15 comparable selections
179086 Variables
66612 Constraints
10218 Binary variables
250.000.000,00
SAP AG 2002,
Customer model
Heinrich Braun
26
M u l t i A g e n t Op t i m i za t i o n
Objective
250
200
Delay
Setup
Quality= D+S
150
100
50
0
SAP AG 2002,
Heinrich Braun
27
Performance
Setup
Se v e r a l So l u t i o n s
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
Delay
28
Sc h e d u l i n g Op t i m i ze r A r c h i t e c t u r e
LiveCache
GUI
Time
Model Generator
Resource
Reporting
Core Model
Checking
Multi Agent
Control
Decomposition
Constraint
Programming
Genetic
Algorithm
Sequence
Optimizer
Basic Optimizer
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
29
Campaign
Optimizer
Op t i m i zi n g w i t h T i m e De c o m p o s i t i o n
LiveCache
GUI
Time
Model Generator
Product
Reporting
Core-Model
Checking
Control
Decomposition
SNP
Deployment
Basic-Optimizers
SAP AG 2002,
CP AI OR 2004,
Resource
Heinrich Braun
30
Vehicle
Allocation
Op t i m i zi n g w i t h T i m e De c o m p o s i t i o n
solved
solved
merge
TimeDecomposition
3-6
extract
store
solve
SNP
LP/MILP
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
31
Op t i m i zi n g w i t h T i m e De c o m p o s i t i o n
solved
solved
solved
solved
merge
TimeDecomposition
5-6
extract
store
solve
SNP
LP/MILP
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
32
Op t i m i zi n g w i t h T i m e De c o m p o s i t i o n
solved
solved
solved
solved
solved
solved
merge
TimeDecomposition
6
extract
store
solve
SNP
LP/MILP
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
33
Op t i m i za t i o n Pe r f o r m a n c e
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
34
Detailed Scheduling
First solution
Su m m a r y - M a s t e r i n g t h e A l g o r i t h m i c c o m p l e x i t y
Aggregation
Parallelization by Agents
SNP DS
Decomposition
Our Mission
CP AI OR 2004,
Heinrich Braun
35
Fo c u s o f De v e l o p m e n t
In the past
more functionality
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
36
Agenda
Acceptance of Optimization
Summary
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
37
A c c e p t a n c e Cr i t e r i a
Or
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
38
Model Ac c urac y
SNP Heuristic
SNP Optimizer
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
39
A c c e p t a n c e c r i t e r i a : So l u t i o n q u a l i t y
SNP Optimierer
SNP Heuristik
LP:
Scaling of
&
Model size
Scaling of
Very detailed
MILP: using decomposition
Model accuracy
Acceptance by
end user
&
simple model +
Transparency of
algorithms
acceptable solution
Not sufficient:
(Global) integer gap as Indicator
Not acceptable:
apparent improvement potential
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
40
A c c e p t a n c e c r i t e r i a : So l u t i o n t r a n s p a r e n c y
SNP Heuristic
Solution stability
Sequential processing of
orders and few constraints
robust for small data
modifications
SNP Optimizer
Global Optimization
small data modifications may
cause large solution changes
No Black-Box
algorithms transparent
Interaction
Data/Model
versus
Solution
SAP AG 2002,
CP AI OR 2004,
Unforeseeable effects:
by considering both
Heinrich Braun
41
violation depending on
solution quality!
solution quality
run time behavior
Maintenance
Administration
Integration
Upgrades / Enhancements
Consultants
Modeling capabilities
Solution quality
acceptable solution in given run time, error tolerance
Solution transparency
Diagnostics, Warnings, Tool tips in case of errors
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
42
Op t i m i za t i o n a s s t a n d a r d s o f t w a r e ?!
Tradeoff
Solution quality
Solution costs (development, maintenance, ..)
master data
z additional constraints
Changing
transactional data
z Number of orders
Changing
Planning
Graphical user interface
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
43
Op t i m i za t i o n a l g o r i t h m s
Which algorithms for which planning levels?
Detailed Scheduling
Constraint Programming
Evolutionary Algorithms
Metaheuristics
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
44
Di a l e c t i c o f n a m i n g d e b a t e
Metaheuristics
Optimization
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
Heuristic
45
Op t i m i za t i o n n a m i n g c o n v e n t i o n
or
objective
function
time out
time
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
46
Op t i m i za t i o n i n p r a c t i c e
Global optimal
Often missed
Metaheuristics
Very robust
Local optimal
A must have
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
47
solution quality
run time behavior
Maintenance
Administration
Integration
Upgrades / Enhancements
Consultants
Modeling capabilities
Solution quality
acceptable solution in given run time, error tolerance
Solution transparency
Diagnostics, Warnings, Tool tips in case of errors
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
48
Op t i m i ze r a r c h i t e c t u r e
Acceptance-Criteria: ROI
Total Cost of Ownership
Licenses
(development effort)
Maintenance
Enhancements
Planning quality
Architecture
Toolbox
Exchangeable Components
SAP Netweaver
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
49
T o o l b o x : a l t e r n a t i v e Op t i m i ze r
Simplex
Simplex
Interior
Point Methods
Programming (ILOG)
Evolutionary
Relax
Algorithms (SAP)
Evolutionary
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
Algorithms (SAP)
50
solution quality
run time behavior
Maintenance
Administration
Integration
Upgrades / Enhancements
Consultants
Modelling capabilities
Solution quality
acceptable solution in given run time, error tolerance
Solution transparency
Diagnostics, Warnings, Tool tips in case of errors
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
51
A c c e p t a n c e i n Co n s u l t i n g
Problem: Know How
modify
(additional heuristics)
Quick Questionnaire
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
52
Si zi n g f o r Su p p l y N e t w o r k Pl a n n i n g
SN P Opt imizer Quest ionnair e
Continuous model
Resulting
variables
Estimate
82
14.500
176.000
11.705
0
11.705
1
11.705
0
1.641
50
Number of variables:
Number of constraints:
Discrete model
Discretized
periods
1.641
1.641
1.641
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
53
Resulting
constraints
1.189.000
14.432.000
1.919.620
0
1.919.620
1.189.000
959.810
0
0
134.562
4.100
959.810
959.810
0
959.810
0
4.100
20.558.712
4.072.530
Additional
discrete variables
134.562
134.562
134.562
0
0
0
0
403.686
0
Additional
constraints
Si zi n g f o r Su p p l y N e t w o r k Pl a n n i n g
SN P Opt imizer Quest ionnair e
Continuous model
Resulting
variables
Estimate
13
14.500
176.000
11.705
0
11.705
1
11.705
0
1.641
50
Number of variables:
Number of constraints:
Discrete model
Discretized
periods
1.641
1.641
1.641
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
54
188.500
2.288.000
304.330
0
304.330
152.165
0
0
21.333
650
Resulting
constraints
188.500
152.165
0
152.165
152.165
0
650
3.259.308
645.645
Additional
discrete variables
21.333
21.333
21.333
0
0
0
0
63.999
0
Additional
constraints
Si zi n g f o r De t a i l e d Sc h e d u l i n g
PP/ DS Opt imizat ion Q uest ionnaire
Version 4.0.1 for SAP APO 3.0, 3.1 and 4.0
Memory consumption
number of
5.000
10,0
3,0
10
2
500
objects
5.000
50.000
150.000
10
2
250.000
memory per
memory
object[kb] consumption[Mb]
4,50
22
5,00
244
1,00
146
530,00
5
55,00
0
0,10
49
8
130%
617
Environment [Mb]:
Safety factor:
Memory consumption [Mb]:
yes
no
no
no
no
no
no
no
no
yes
no
no
no
no
degree of
difficulty
A
C
A
C
B
B
B
B
B
C
C
A
A
C
C
no of features
per degree of difficulty
A: 1
B: 0
C: 2
weighted sum 140
7.000
Degree
of complexity:
high
If the degree of complexity is not "moderate" SAP recommends the optimization consulting service
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
55
Si zi n g f o r De t a i l e d Sc h e d u l i n g
PP/ DS Opt imizat ion Q uest ionnaire
Version 4.0.1 for SAP APO 3.0, 3.1 and 4.0
Memory consumption
Orders inside the optimization horizon
Average number of activities in an order
Average number of modes of an activity
Number of resources
Number of setup matrices
Maximum number of setup attributes in a setup matrix
number of
25.000
10,0
3,0
10
2
500
objects
25.000
250.000
750.000
10
2
250.000
memory per
memory
object[kb] consumption[Mb]
4,50
110
5,00
1.220
1,00
732
530,00
5
55,00
0
0,10
49
8
130%
2.762
Environment [Mb]:
Safety factor:
Memory consumption [Mb]:
yes
no
no
no
no
no
no
no
no
yes
no
no
no
no
degree of
difficulty
A
C
A
C
B
B
B
B
B
C
C
A
A
C
C
no of features
per degree of difficulty
A: 1
B: 0
C: 2
weighted sum 140
7.000
Degree
of complexity:
challenging
If the degree of complexity is not "moderate" SAP recommends the optimization consulting service
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
56
solution quality
run time behavior
Maintenance
Administration
Integration
Upgrades / Enhancements
Consultants
Modeling capabilities
Solution quality
acceptable solution in given run time, error tolerance
Solution transparency
Diagnostics, Warnings, Tool tips in case of errors
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
57
Model Analysis
Product properties
Cardinality
Resource properties
Key
resources
number of (final) products requiring a resource
penalty configuration
non-delivery penalty > production costs+ Delay costs ?!
Transport-Storage
transport_costs > storage_costs ?!
Push analysis
storage_costs_L1 + transport_costs < storage costs_L2 ?!
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
58
Pu l l /Pu s h Re d u n d a n c y : Ex a m p l e Pu l l Cl o s u r e
Demand
CP AI OR 2004,
Heinrich Braun
59
Co m p u t a t i o n a l T e s t s : Ph a r m a I n d u s t r y
Problem characteristics
#buckets #loc-products #lane-products #ppm
#products #locations #lanes
#ineq
#vars
memory consumption
24
8.788
2.647
10.680
5.644
64
207
201.327 524.578
994.050.048
Level of redundancy
Memory Consumption
Data Reduction
100%
100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%
50%
0%
w ith cost
push
t
t
uc
d
uc
o
d
r
p
ro
n-p
e
it o
a
an
#l
oc
l
#
pm
#p
ct
du
o
r
#p
w /o cost push
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
w /o cost push
oc
#l
rc
#a
1
w /o cost
push
w /o cost push
Co m p u t a t i o n a l T e s t s : Co n s u m e r Pr o d u c t s
Problem characteristics
#buckets #loc-products #lane-products #ppm
#products #locations #lanes
33
5.092
23.107
1.169
260
32
146
#ineq
#vars
201.327 524.578
memory consumption
1.569.828.864
Level of redundancy
Data Reduction
Memory Consumption
100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%
100%
80%
60%
40%
20%
0%
CP AI OR 2004,
Heinrich Braun
#a
rc
#l
oc
du
ct
#p
ro
#p
pm
#l
oc
at
io
npr
od
#l
an
uc
et
pr
od
uc
t
w /o cost push
w /o cost push
Re p o r t o f So l u t i o n Qu a l i t y
Key Indicators
Resource utilization
Setup
Idle
Stock
time
time
Safety
Range
Demand
of coverage
Backlog
Delay
Non
Deliveries
Product
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
62
Non deliveries
Delay
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
63
Su m m a r y A c c e p t a n c e o f Op t i m i za t i o n i n Pr a c t i c e
Acceptance by OR-Specialist
Acceptance by Consultant
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
64
Re a l l o c a t e Or d e r s u s i n g a g g r e g a t e d l e v e l (SN P )
Problem
Scheduling a late order or Solving a machine break down
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
65
SN P c o n s i d e r s s e t u p i n PP/DS
Setup for each bucket
Enhancing PP/DS orders by SNP orders
Bucket 1
SNPorders
PP/DS
orders
Bucket 2
B
SNP
PP/DS
SAP AG 2002,
CP AI OR 2004,
Heinrich Braun
66