**Heinrich Braun, **

**Thomas Kasper**

## Opt im izat ion in SAP

### Agenda

**Optimization in SAP SCM**

**Acceptance of Optimization **

**Supply Chain Management:**

**Set of approaches utilized**

###

_{to integrate suppliers, manufactures, warehouses and stores}

_{to integrate suppliers, manufactures, warehouses and stores}

###

_{so that merchandise is produced and distributed at right }

_{so that merchandise is produced and distributed at right }

###

**quantity**

###

_{locations }

_{locations }

###

**time**

###

_{in order to }

_{in order to }

_{minimize cost}

_{minimize cost}

_{while satisfying service level requirements}

_{while satisfying service level requirements}

**[Simchi-Levi et al 2000]**

**Prerequisite:**

**Integrated Supply Chain Model**

### Supply Chain Managem ent – m ySAP SCM

**Network**

**Private**

**Trading**

**Exchange**

**Network**

**Supplier**

**Partner**

**Partner**

**Customer**

**Direct**

**Procurement**

**Source**

**Deliver**

**Order**

**Fulfillment**

**Make**

**Manufacturing**

**Supply Chain Design**

**Strategize**

**Demand and **

**Supply Planning**

**Plan**

**Supply Chain Performance Management**

**Measure**

**Supply Chain Event Management**

**Track**

**S**

**up**

**ply**

** C**

**ha**

**in**

** C**

**oll**

**ab**

**or**

**ati**

**on**

**C**

**oll**

**ab**

**or**

**ate**

**S**

**up**

**pl**

**y **

**C**

**ha**

**in**

** C**

**ol**

**la**

**bo**

**ra**

**tio**

**n**

**C**

**ol**

**la**

**bo**

**ra**

**te**

**Private**

**Trading**

**Exchange**

**Operational**

**Tactical**

**Strategic**

### m ySAP SCM: Planning Levels

**Source**

**Make**

**Deliver**

**Supply Chain Design**

**Strategize**

**Demand and **

**Supply Planning**

**Plan**

### Challenge: Max im ize t he applic at ion of Opt im izat ion in SCM

**Do´s**

###

_{Model Planning Problems as optimization problems}

_{Model Planning Problems as optimization problems}

###

_{Use the best optimization algorithms}

_{Use the best optimization algorithms}

###

_{Respect the given run time for solution}

_{Respect the given run time for solution}

**Don´t do´s**

###

_{Restrict the modeling to optimal solvable instances}

_{Restrict the modeling to optimal solvable instances}

###

_{Size}

_{Size}

###

_{Constraints}

_{Constraints}

###

_{Restrict your optimization algorithms to exact approaches neglecting}

_{Restrict your optimization algorithms to exact approaches neglecting}

###

_{Iterated Local Search}

_{Iterated Local Search}

###

_{Evolutionary Algorithms etc.}

_{Evolutionary Algorithms etc.}

**Our Goal**

**Leverage optimization algorithms by**

###

_{Aggregation}

_{Aggregation}

###

_{Decomposition}

_{Decomposition}

### Opt im izat ion - Ex pec t at ion by our c ust om er

### .

_{Best-of-Breed = }

_{Best-of-Breed = }

_{Efficiency }

_{Efficiency }

### Æ

_{Acceptance}

_{Acceptance}

_{!}

_{!}

**Depending on problem complexity (model, size)**

**Given run time**

**Efficiency**

###

_{Scalability}

_{Scalability}

_{Decomposition = quasi linear }

_{Decomposition = quasi linear }

_{Toolbox: alternative algorithms}

_{Toolbox: alternative algorithms}

### -

_{Optimal Solution ? }

_{Optimal Solution ? }

### -

_{At most 5% above Optimum ? }

_{At most 5% above Optimum ? }

### /

### /

### Problem versus Algorit hm 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**

### Opt im izer - Ex pec t at ion by our c ust om er

**Idealist**

###

_{Searching for the global Optimum}

_{Searching for the global Optimum}

**Realist**

###

_{Improving the first feasible solution until Time Out}

_{Improving the first feasible solution until Time Out}

**Sisyphus**

### Challenge: Mast ering t he planning c om plex it y of SCM

### Î

_{Modeling is crucial !!}

_{Modeling is crucial !!}

**Hierarchical planning**

###

_{Global optimization using aggregation (Supply Network Planning)}

_{Global optimization using aggregation (Supply Network Planning)}

###

_{Feasible plans by local optimization (Detailed Scheduling)}

_{Feasible plans by local optimization (Detailed Scheduling)}

**Supply Network Planning (SNP)**

###

_{Mid term horizon}

_{Mid term horizon}

###

_{Time in buckets (day, week,..)}

_{Time in buckets (day, week,..)}

###

_{Global optimization}

_{Global optimization}

###

_{Maximize profit}

_{Maximize profit}

###

_{Decide}

_{Decide}

###

**Where to produce**

###

**How much to produce**

###

**How much to deliver**

###

**How much capacities**

**Detailed Scheduling (DS)**

###

_{Short term horizon}

_{Short term horizon}

###

_{Time in seconds}

_{Time in seconds}

###

_{Local optimization}

_{Local optimization}

###

_{Disaggregate global plan}

_{Disaggregate global plan}

###

**Time: When to produce**

###

**Resource: **

**On which alternative resource**

###

_{Optimize production sequence}

_{Optimize production sequence}

**Transport**

**Discrete Lots **

**Minimal Lots**

**Piecewise linear Costs**

**Satisfy Demand**

**Priority Classes **

**Delay Costs**

**Non-Delivery Costs**

**Procure**

**Piecewise linear Costs**

**PPM**

**Products**

**Produce**

**Discrete Lots**

**Minimal Lots**

**Fixed Resource Consumption**

**Piecewise linear Costs**

**Store**

**with Shelf life**

**Handling-In**

**Capacity**

**Storage**

**Capacity**

**Safety Stock**

**Transport**

**Capacity**

**Handling-Out **

**Capacity**

**Production **

**Capacity**

**Time Windows**

**earliest starting time**

**due date, deadline**

**delay costs**

**Distances**

**(with calendars)**

**minimal**

**maximal**

**Setup**

**sequence dependent**

**setup costs**

**Resource Selection**

**Alternative resources**

**Resource costs**

**Unary**

**Resources**

**Product Flow**

**discrete**

**continuous**

**Storage**

**resources**

**PP/DS**

**SNP**

**SNP**

###

_{Planning only in SNP horizon}

_{Planning only in SNP horizon}

###

_{Release SNP Orders only in PP/DS }

_{Release SNP Orders only in PP/DS }

**horizon **

###

_{Respect PP/DS orders as fixed}

_{Respect PP/DS orders as fixed}

###

_{capacity reduction}

_{capacity reduction}

###

_{material flow }

_{material flow }

**PP/DS**

###

_{Respect pegged SNP Orders as due }

_{Respect pegged SNP Orders as due }

**dates**

###

_{No capacity reduction}

_{No capacity reduction}

###

_{But material flow}

_{But material flow}

###

_{No restrictions for scheduling }

_{No restrictions for scheduling }

**PP/DS orders**

**PP/DS**

**SNP**

**SNP Horizon**

**SNP**

###

_{Planning only in SNP horizon}

_{Planning only in SNP horizon}

###

_{Release SNP Orders only in PP/DS }

_{Release SNP Orders only in PP/DS }

**horizon **

###

_{Respect PP/DS orders as fixed}

_{Respect PP/DS orders as fixed}

###

_{capacity reduction}

_{capacity reduction}

###

_{material flow }

_{material flow }

**PP/DS**

###

_{Respect pegged SNP Orders as due }

_{Respect pegged SNP Orders as due }

**dates**

###

_{No capacity reduction}

_{No capacity reduction}

###

_{But material flow}

_{But material flow}

###

_{No restrictions for scheduling }

_{No restrictions for scheduling }

**PP/DS orders**

### Int egrat ion bet w een SNP and PP/DS

### Mast ering t he algorit hm ic c om plex it y: Aggregat ion

**Model Accuracy versus Solution Quality -> SNP**

###

_{Time Aggregation (telescopic buckets)}

_{Time Aggregation (telescopic buckets)}

###

_{Limit the discretization}

_{Limit the discretization}

###

_{Product Aggregation (families of finished products)}

_{Product Aggregation (families of finished products)}

###

_{Location Aggregation (transport zones, distribution centers)}

_{Location Aggregation (transport zones, distribution centers)}

**However: Sufficient model accuracy of SNP for DS**

**Multi-Level Capacitated Lot Sizing Problem (MLCLSP)**

**Setup cost and/or consumption in each bucket**

**Bad results**

**Setup consumption big compared to bucket capacity (big lots) **

### SNP Opt im izat ion: Ant ic ipat ion of Set up

**Good results**

**Proportional Lot Sizing Problem (PLSP)**

###

_{Considering setup in preceding bucket}

_{Considering setup in preceding bucket}

###

_{At most one setup per bucket}

_{At most one setup per bucket}

**Constraints on cross-period lots (= campaign quantity)**

###

_{Minimal campaign quantity}

_{Minimal campaign quantity}

###

_{Campaign quantity integer multiple of batch size}

_{Campaign quantity integer multiple of batch size}

### SNP Cam paign Opt im izat ion: Benc hm ark s

**Comparison: real word problems of process industry**

**ca. 500 000 decision variables, 200 000 constraints**

0,000000% 0,000001% 0,000010% 0,000100% 0,001000% 0,010000% 0,100000% 1,000000% 10,000000% 100,000000% 0 10 20 30 40 50 60 70 80 90 100

**time in minutes**

**O**

**p**

**ti**

**m**

**al**

**it**

**y **

**D**

**ev**

**ia**

**ti**

**o**

**n**

PI-Bench2
PI-Bench7
PI-Bench8
PI-Bench9
### Mast ering t he algorit hm ic c om plex it y: Dec om posit ion

**Global versus local optimality -> SNP + DS**

###

_{Local optimality depends on neighborhood}

_{Local optimality depends on neighborhood}

###

_{High solution quality by local optimization}

_{High solution quality by local optimization}

###

_{Local Optimization = Decomposition }

_{Local Optimization = Decomposition }

**Decomposition strategies**

###

_{SNP: time, resource, product, procurement}

_{SNP: time, resource, product, procurement}

###

_{DS: time, resource}

_{DS: time, resource}

### Tim e Dec om posit ion - Loc al Im provem ent

**Resources**

**Time**

**Current window**

**Gliding window script**

**1. Optimize only in current window**

**2. Move window by a time delta**

**3. Go to first step**

### SNP Produc t Dec om posit ion

*OPAL Executable*

*CPLEX 8.0*

*Pentium IV 1,5 GHz*

*1 GB Main memory*

**Customer model**

**Customer model**

**„Production Grouping“**

**„Production Grouping“**

**~15 comparable selections**

**~15 comparable selections**

*179‘086 Variables*

*66‘612 Constraints*

*10‘218 Binary variables*

30,00
40,00
50,00
60,00
70,00
80,00
90,00
100,00
**Solution time [hrs]**

**D**

**el**

**iv**

**er**

**y**

**[%**

**]**LP Relaxation 99,17 99,17 99,17 99,17 Decomposed MIP 94,40 98,98 99,07 99,09 Global MIP 45,1162 53,33 62,81 65,13 0,25 1 2 3 0,00 50.000.000,00 100.000.000,00 150.000.000,00 200.000.000,00 250.000.000,00

**Solution time [hrs]**

**To**

**ta**

**l c**

**os**

**t**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 Global MIP 2,44E+08 215.404.000,00 195.649.000,00 187.900.000,00

### Mult i Agent Opt im izat ion

**50**

**100**

**150**

**200**

**250**

**Delay**

**Setup**

**Quality= D+S**

**Objective**

###

_{Multi Criteria Optimization}

_{Multi Criteria Optimization}

###

_{user selects out of solutions with}

_{user selects out of solutions with}

###

_{similar overall quality}

_{similar overall quality}

###

**different components**

###

_{Use power of}

_{Use power of}

_{Pallelization }

_{Pallelization }

**Multi Agent Strategy**

###

_{Different }

_{Different }

_{AGENTS}

_{AGENTS}

_{focusing on Setup or Delay }

_{focusing on Setup or Delay }

**or Makespan **

###

_{Agents may use any optimizer (CP, GA, ..)}

_{Agents may use any optimizer (CP, GA, ..)}

###

_{New solutions by local improvement}

_{New solutions by local improvement}

### Several Solut ions

**Delay**

**Delay**

**0**

**S**

**S**

**et**

**et**

**up**

**up**

### Sc heduling Opt im izer Arc hit ec t ure

**Core Model**

**LiveCache**

**Model Generator**

**Campaign**

**Optimizer**

**Constraint**

**Programming**

**Algorithm**

**Genetic **

**Sequence**

**Optimizer**

**Time **

**Resource**

**Decomposition**

**Decomposition**

**Multi Agent**

**Reporting**

**GUI**

**Control**

**Control**

**Checking**

**LiveCache**

### Opt im izing w it h Tim e Dec om posit ion

**Core-Model**

**Model Generator**

**SNP**

**Deployment**

**Basic-Optimizers**

**Basic-Optimizers**

**Time**

**Product**

**Decomposition**

**Decomposition**

**Reporting**

**GUI**

**Control**

**Control**

**Checking**

**Resource**

**Vehicle**

**Allocation**

**solved solved**

### Opt im izing w it h Tim e Dec om posit ion

**Time-Decomposition**

**1**

**2**

**3**

**4**

**5**

**6**

**1 2**

**3-6**

**extract**

**merge**

**solve**

**store**

**solved**

**solved**

**solved solved**

### Opt im izing w it h Tim e Dec om posit ion

**Time-Decomposition**

**1**

**2**

**3**

**4**

**5**

**6**

**3 4**

**5-6**

**extract**

**merge**

**SNP **

**LP/MILP**

**solve**

**store**

**solved**

**solved**

**solved**

**solved**

**solved solved**

### Opt im izing w it h Tim e Dec om posit ion

**Time-Decomposition**

**1**

**2**

**3**

**4**

**5**

**6**

**5 6**

**extract**

**merge**

**solve**

**store**

**Detailed Scheduling**

###

_{Up to 200 000 activities}

_{Up to 200 000 activities}

**(no hard limitation)**

###

_{First solution }

_{First solution }

**as fast as greedy heuristics**

###

_{More run time }

_{More run time }

**improves solution quality**

**Supply Network Planning**

###

_{Pure LP}

_{Pure LP}

###

**Without discrete constraints**

###

_{Up to several million decision }

_{Up to several million decision }

**variables and about a million **

**constraints**

###

**Global optimum guaranteed**

###

_{For discrete constraints}

_{For discrete constraints}

###

**No global optimum guaranteed**

###

_{Quality depends on run time and }

_{Quality depends on run time and }

**approximation by pure LP**

### Sum m ary - Mast ering t he Algorit hm ic c om plex it y

###

_{Aggregation }

_{Aggregation }

###

**SNP: time, product, location**

###

**Automated Generation**

**: SNP model deduced from DS model !!**

###

_{Decomposition }

_{Decomposition }

###

**SNP: time, resource, product, procurement**

###

**DS: time, resource**

###

**Parallelization by “Agents”**

###

_{Hierarchy of Goals (customized by scripts)}

_{Hierarchy of Goals (customized by scripts)}

###

**SNP **

### ÅÆ

**DS**

###

**SNP: Service Level **

### ÅÆ

**Production Costs **

###

**DS: Service Level **

### ÅÆ

**Storage Costs**

### Foc us of Developm ent

**In the past**

###

_{larger}

_{larger}

_{optimization problems}

_{optimization problems}

###

_{better}

_{better}

_{solution quality}

_{solution quality}

###

_{more}

_{more}

_{functionality}

_{functionality}

**Current customer view**

###

_{Very confident with performance, solution quality, functionality}

_{Very confident with performance, solution quality, functionality}

###

_{Problem: Mastering the solution complexity (e.g. data consistency)}

_{Problem: Mastering the solution complexity (e.g. data consistency)}

**Current focus of development**

###

_{More sophisticated diagnostic tools}

_{More sophisticated diagnostic tools}

###

_{Parallelization by GRID Computing}

_{Parallelization by GRID Computing}

### Agenda

**Optimization in SAP SCM**

**Acceptance of Optimization**

### Ac c ept anc e Crit eria

**Heuristic (relaxing capacity) versus Optimization**

**Or**

### Model Ac c urac y

**SNP Heuristic**

###

_{Interactive Planning: Planner responsible for feasibility}

_{Interactive Planning: Planner responsible for feasibility}

### Æ

_{limited model accuracy sufficient}

_{limited model accuracy sufficient}

**SNP Optimizer**

###

_{Automated Planning: Optimizer responsible for feasibility}

_{Automated Planning: Optimizer responsible for feasibility}

### Æ

_{high model accuracy necessary}

_{high model accuracy necessary}

### Ac c ept anc e c rit eria: Solut ion qualit y

**SNP Heuristik**

**SNP Optimierer**

**Scaling of **

**Model accuracy**

**Limited model accuracy**

**Very detailed**

### Æ

_{MILP: using decomposition}

_{MILP: using decomposition}

**Scaling of**

**Model size**

### &

**LP: **

**MILP: using decomposition**

### &

**Acceptance by **

**end user**

###

_{Not sufficient: }

_{Not sufficient: }

**(Global) integer gap as Indicator **

###

_{Not acceptable: }

_{Not acceptable: }

**apparent improvement potential**

**Producing too early**

**Neglecting Priorities**

**…**

###

_{Goal: Local Optimality }

_{Goal: Local Optimality }

### Æ

_{Decomposition}

_{Decomposition}

**simple model + **

**Transparency of **

**algorithms **

### Æ

### Ac c ept anc e c rit eria: Solut ion t ransparenc y

**SNP Heuristic**

**SNP Optimizer**

**Solution stability**

###

_{Global Optimization}

_{Global Optimization}

### Æ

_{small data modifications may }

_{small data modifications may }

**cause large solution changes **

**MILP: change of search**

###

_{Sequential processing of }

_{Sequential processing of }

**orders and few constraints **

### Æ

_{robust for small data }

_{robust for small data }

**modifications**

**Interaction**

**Data/Model**

**versus **

**Solution**

###

_{Unforeseeable effects:}

_{Unforeseeable effects:}

**by considering both**

**globally and simultaneously**

**costs and constraints **

###

_{Soft versus Hard Constraints}

_{Soft versus Hard Constraints}

**violation depending on **

###

_{No “Black-Box”}

_{No “Black-Box”}

### Ac c ept anc e by different roles

###

_{OR Specialists }

_{OR Specialists }

###

_{solution quality}

_{solution quality}

###

_{run time behavior}

_{run time behavior}

###

_{IT department (TCO = Total Cost of Owner Ship, ROI = Return on Investment)}

_{IT department (TCO = Total Cost of Owner Ship, ROI = Return on Investment)}

###

_{Maintenance}

_{Maintenance}

###

_{Administration }

_{Administration }

###

_{Integration}

_{Integration}

###

_{Upgrades / Enhancements}

_{Upgrades / Enhancements}

###

_{Consultants}

_{Consultants}

###

_{Training / Documentation / Best practices}

_{Training / Documentation / Best practices}

###

_{Complete and validated scenarios}

_{Complete and validated scenarios}

###

_{Sizing tools}

_{Sizing tools}

###

_{End user (Planner)}

_{End user (Planner)}

###

_{Modeling capabilities}

_{Modeling capabilities}

###

_{Solution quality }

_{Solution quality }

### Æ

**acceptable**

**acceptable**

**solution in given run time, error tolerance**

###

_{Solution transparency }

_{Solution transparency }

### Opt im izat ion as st andard soft w are?!

**Tradeoff**

###

_{Solution quality}

_{Solution quality}

###

_{Solution costs (development, maintenance, ..)}

_{Solution costs (development, maintenance, ..)}

**Problems for special solutions**

###

_{Modeling as „moving target“}

_{Modeling as „moving target“}

###

**Changing master data**

### z

_{additional constraints}

_{additional constraints}

### z

_{additional resources (machines)}

_{additional resources (machines)}

###

**Changing transactional data**

### z

_{Number of orders }

_{Number of orders }

### z

_{Distribution of orders to product groups}

_{Distribution of orders to product groups}

###

**Changing objectives (depending on the economy)**

###

### Opt im izat ion algorit hm s

**Which algorithms for which planning levels?**

**Supply Network Planning**

###

_{LP / MILP Solver (CPLEX)}

_{LP / MILP Solver (CPLEX)}

**Classical Operations Research**

**Detailed Scheduling**

###

_{Constraint Programming}

_{Constraint Programming}

###

_{Evolutionary Algorithms}

_{Evolutionary Algorithms}

### Dialec t ic of nam ing debat e

**Optimization**

**Metaheuristics**

### Opt im izat ion – nam ing c onvent ion

**Academic: Optimization as an algorithm**

### ¾

_{find an optimal solution}

_{find an optimal solution}

**or**

**Practical: Optimization as a dynamic process**

### ¾

_{„the path is the goal“}

_{„the path is the goal“}

**objective**

**function**

**time**

**time out**

**Global optimal**

### ¾

_{Often missed}

_{Often missed}

### ¾

_{Tradeoff: Model accuracy <-> solution quality}

_{Tradeoff: Model accuracy <-> solution quality}

**Local optimal**

**Metaheuristics**

### ¾

_{Very robust}

_{Very robust}

### ¾

_{Quality scales with given run time}

_{Quality scales with given run time}

### Ac c ept anc e by different roles

###

_{OR Specialists }

_{OR Specialists }

###

_{solution quality}

_{solution quality}

###

_{run time behavior}

_{run time behavior}

###

_{IT department (TCO = Total Cost of Owner Ship, ROI = Return on Investment)}

_{IT department (TCO = Total Cost of Owner Ship, ROI = Return on Investment)}

###

_{Maintenance}

_{Maintenance}

###

_{Administration }

_{Administration }

###

_{Integration}

_{Integration}

###

_{Upgrades / Enhancements}

_{Upgrades / Enhancements}

###

_{Consultants}

_{Consultants}

###

_{Training / Documentation / Best practices}

_{Training / Documentation / Best practices}

###

_{Complete and validated scenarios}

_{Complete and validated scenarios}

###

_{Sizing tools}

_{Sizing tools}

###

_{End user (Planner)}

_{End user (Planner)}

###

_{Modeling capabilities}

_{Modeling capabilities}

###

_{Solution quality }

_{Solution quality }

### Æ

**acceptable**

**acceptable**

**solution in given run time, error tolerance**

###

_{Solution transparency }

_{Solution transparency }

### Opt im izer arc hit ec t ure

**„Acceptance“-Criteria: ROI**

###

_{Total Cost of Ownership}

_{Total Cost of Ownership}

###

**Licenses (development effort)**

###

**Maintenance**

###

**Enhancements**

###

_{Integration (to system landscape at customer)}

_{Integration (to system landscape at customer)}

###

_{Planning quality}

_{Planning quality}

**Architecture**

###

_{Toolbox}

_{Toolbox}

###

_{Exchangeable Components}

_{Exchangeable Components}

### Toolbox : alt ernat ive Opt im izer

**Evolution / Competition of Optimizer**

###

_{cf. Linear Optimization (ILOG CPLEX)}

_{cf. Linear Optimization (ILOG CPLEX)}

###

**Primal Simplex**

###

**Dual Simplex**

###

**Interior Point Methods**

###

_{Alternative Optimizer for Scheduling}

_{Alternative Optimizer for Scheduling}

###

**Constraint Programming (ILOG)**

###

**Evolutionary Algorithms (SAP)**

###

**Relax and Resolve (University of Karlsruhe)**

###

_{Alternative Optimizer for Vehicle Routing and Scheduling}

_{Alternative Optimizer for Vehicle Routing and Scheduling}

###

**Constraint Programming, Tabu Search (ILOG)**

### Ac c ept anc e by different roles

###

_{OR Specialists }

_{OR Specialists }

###

_{solution quality}

_{solution quality}

###

_{run time behavior}

_{run time behavior}

###

_{IT department (TCO = Total Cost of Owner Ship, ROI = Return on Investment)}

_{IT department (TCO = Total Cost of Owner Ship, ROI = Return on Investment)}

###

_{Maintenance}

_{Maintenance}

###

_{Administration }

_{Administration }

###

_{Integration}

_{Integration}

###

_{Upgrades / Enhancements}

_{Upgrades / Enhancements}

###

_{Consultants}

_{Consultants}

###

_{Training / Documentation / Best practices}

_{Training / Documentation / Best practices}

###

_{Complete and validated scenarios}

_{Complete and validated scenarios}

###

_{Sizing tools}

_{Sizing tools}

###

_{End user (Planner)}

_{End user (Planner)}

### Ac c ept anc e in Consult ing

**Problem: Know How**

###

_{Consultants sell methods to the customer which they can}

_{Consultants sell methods to the customer which they can}

###

**master**

###

**modify (additional heuristics)**

###

_{Consequence for Optimization?!}

_{Consequence for Optimization?!}

**Expert-Consulting Service for Optimization**

###

_{Remote Consultant located in development}

_{Remote Consultant located in development}

###

_{In particular, expert help for consulting partner}

_{In particular, expert help for consulting partner}

**Quick Questionnaire**

###

_{“Early watch” for planning complexity}

_{“Early watch” for planning complexity}

###

_{Simple modeling tool }

_{Simple modeling tool }

###

**What can I do to reduce model complexity?**

###

**Fallback Model: Which simplified model is uncritical?**

###

**Which model details are critical?**

### Sizing for Supply Net w ork Planning

**Continuous model**

**Continuous model**

**Resulting**

**Resulting****Estimate****variables****constraints**

Number of planning periods 82

Number of (planning relevant) location product combinations 14.500 1.189.000 1.189.000 Number of transportation lane product combinations 176.000 14.432.000

Number of location product combinations with customer demands 11.705 1.919.620 959.810 Number of location product combinations with corrected demand forecasts 0 0 0 Number of location product combinations with forecasted demands 11.705 1.919.620 959.810 Average lateness (in periods) allowed for demand items 1

Number of location product combinations with safety stock requirements 11.705 959.810 959.810 Number of location product combinations with product-specific storage bound 0

Number of location product combinations with an active shelf life 0 0 0 Number of production process models (PPMs) 1.641 134.562

Number of resources (production, transportation, handling in/out, storage) 50 4.100 4.100 20.558.712

4.072.530

**Discrete model**

**Discrete model**

**Discretized**

**Additional**

**Additional****periods****discrete variables****constraints**

Number of PPMs with minimum lot size requirements 1.641 134.562 Number of PPMs with discrete lot size requirements 1.641 134.562 Number of PPMs with fixed resource consumption 1.641 134.562

**SNP Opt imizer Quest ionnaire**

**Number of variables:****Number of constraints:**

### Sizing for Supply Net w ork Planning

**Continuous model**

**Continuous model**

**Resulting**

**Resulting****Estimate****variables****constraints**

Number of planning periods 13

Number of (planning relevant) location product combinations 14.500 188.500 188.500 Number of transportation lane product combinations 176.000 2.288.000

Number of location product combinations with customer demands 11.705 304.330 152.165 Number of location product combinations with corrected demand forecasts 0 0 0 Number of location product combinations with forecasted demands 11.705 304.330 152.165 Average lateness (in periods) allowed for demand items 1

Number of location product combinations with safety stock requirements 11.705 152.165 152.165 Number of location product combinations with product-specific storage bound 0

Number of location product combinations with an active shelf life 0 0 0 Number of production process models (PPMs) 1.641 21.333

Number of resources (production, transportation, handling in/out, storage) 50 650 650 3.259.308

645.645

**Discrete model**

**Discrete model**

**Discretized**

**Additional**

**Additional****periods****discrete variables****constraints**

Number of PPMs with minimum lot size requirements 1.641 21.333 Number of PPMs with discrete lot size requirements 1.641 21.333 Number of PPMs with fixed resource consumption 1.641 21.333 Number of production resources with discrete expansion 0 Number of transportable products with minimum lot size requirements 0 Number of transportable products with discrete lot size requirements 0 Number of piecewise-linear cost functions (procurement, production, transport) 0 63.999 0

**Additional number of constraints:**

**SNP Opt imizer Quest ionnaire**

**Number of variables:****Number of constraints:**

### Sizing for Det ailed Sc heduling

**Memory consumption**

**Memory consumption**

**number of**

**memory per**

**memory****objects****object[kb] consumption[Mb]**

Orders inside the optimization horizon 5.000 5.000 4,50 22 Average number of activities in an order 10,0 50.000 5,00 244 Average number of modes of an activity 3,0 150.000 1,00 146 Number of resources 10 10 530,00 5 Number of setup matrices 2 2 55,00 0 Maximum number of setup attributes in a setup matrix 500 250.000 0,10 49 8 130% 617

**Complexity of the model**

**Complexity of the model**

**degree of****difficulty**

Size A

Backward Scheduling yes C * A:* 1
Block planning on resources no A

*0 Bottleneck optimization no C*

**B:***2*

**C:**Campaigns no B

continous requirement/receipt no B weighted sum 140

Deadlines modeled as hard constraints no B Validity periods of orders no B

Cross-order relationships no B 7.000

Mode linkage no C **Degree**

Sequence dependent setups activities yes C **of complexity:****per degree of difficulty****Safety factor:**

**Memory consumption [Mb]:**

**PP/ DS Opt imizat ion Quest ionnaire**

*Version 4.0.1 for SAP APO 3.0, 3.1 and 4.0*

**Environment [Mb]:**

### Sizing for Det ailed Sc heduling

**Memory consumption**

**Memory consumption**

**number of**

**memory per**

**memory****objects****object[kb] consumption[Mb]**

Orders inside the optimization horizon 25.000 25.000 4,50 110 Average number of activities in an order 10,0 250.000 5,00 1.220 Average number of modes of an activity 3,0 750.000 1,00 732 Number of resources 10 10 530,00 5 Number of setup matrices 2 2 55,00 0 Maximum number of setup attributes in a setup matrix 500 250.000 0,10 49 8 130% 2.762

**Complexity of the model**

**Complexity of the model**

**degree of****difficulty**

Size A

Backward Scheduling yes C * A:* 1
Block planning on resources no A

*0 Bottleneck optimization no C*

**B:***2*

**C:**Campaigns no B

continous requirement/receipt no B weighted sum 140

Deadlines modeled as hard constraints no B Validity periods of orders no B

Cross-order relationships no B 7.000

Mode linkage no C **Degree**

Sequence dependent setups activities yes C **of complexity:**

Shelf life or max. pegging arcs no A **challenging **

Container resource no A Synchronization on resources no C

Time buffer no C

**per degree of difficulty****Safety factor:**

**Memory consumption [Mb]:**

*If the degree of complexity is not "moderate" SAP recommends the optimization consulting service*

**PP/ DS Opt imizat ion Quest ionnaire**

*Version 4.0.1 for SAP APO 3.0, 3.1 and 4.0*

**Environment [Mb]:**

### Ac c ept anc e by different roles

###

_{OR Specialists }

_{OR Specialists }

###

_{solution quality}

_{solution quality}

###

_{run time behavior}

_{run time behavior}

###

_{IT department (TCO = Total Cost of Owner Ship, ROI = Return on Investment)}

_{IT department (TCO = Total Cost of Owner Ship, ROI = Return on Investment)}

###

_{Maintenance}

_{Maintenance}

###

_{Administration }

_{Administration }

###

_{Integration}

_{Integration}

###

_{Upgrades / Enhancements}

_{Upgrades / Enhancements}

###

_{Consultants}

_{Consultants}

###

_{Training / Documentation / Best practices}

_{Training / Documentation / Best practices}

###

_{Complete and validated scenarios}

_{Complete and validated scenarios}

###

_{Sizing tools}

_{Sizing tools}

###

_{End user (Planner)}

_{End user (Planner)}

###

_{Modeling capabilities}

_{Modeling capabilities}

### Model Analysis

**Product properties**

###

**Cardinality of sourcing alternatives for a location-product**

###

**Maximum throughput per sourcing alternative for a location product**

###

**Lead-time per location product**

###

**Cycle analysis**

**Resource properties**

###

**Key resources**

**number of (final) products requiring a resource**

**Cost model properties**

###

**Non-delivery penalty configuration**

**non-delivery penalty > production costs+ Delay costs ?!**

###

**Transport-Storage**

**transport_costs > storage_costs ?!**

###

**Push analysis**

### Pull/Push Redundanc y: Ex am ple Pull Closure

###

_{Eliminate location-products not required for demand- or safety stock }

_{Eliminate location-products not required for demand- or safety stock }

**Demand**

### Com put at ional Test s: Pharm a Indust ry

### 1

### w ith cost

### push

### w /o cost

### push

### 0%

### 50%

### 100%

**Memory Consumption**

### w ith cost push

### w /o cost push

**Level of redundancy**

### #lo

### ca

### tio

### n-p

### rod

### uc

### t

### #la

### ne

### -pr

### od

### uc

### t

### #p

### pm

### #p

### rod

### uc

### t

_{#lo}

### c

### #a

### rc

### w /o cost push

### 0%

### 10%

### 20%

### 30%

### 40%

### 50%

### 60%

### 70%

### 80%

### 90%

### 100%

**Data Reduction**

### w /o cost push

### w ith cost push

**Problem characteristics**

### #buckets #loc-products #lane-products #ppm

### #products #locations #lanes

### 24

### 8.788

### 2.647

### 10.680

### 5.644

### 64

### 207

### #ineq

### #vars

### 201.327

### 524.578

### memory consumption

### 994.050.048

### Com put at ional Test s: Consum er Produc t s

**Problem characteristics**

### #buckets #loc-products #lane-products #ppm

### #products #locations

### #lanes

### 33

### 5.092

### 23.107

### 1.169

### 260

### 32

### 146

### #ineq

### 201.327

### #vars

### 524.578

### memory consumption

### 1.569.828.864

**Level of redundancy**

### od

### uc

### t

### du

### ct

### pm

### ct

_{c}

### w/o cost push

### 0%

### 10%

### 20%

### 30%

### 40%

### 50%

### 60%

### 70%

### 80%

### 90%

### 100%

**Data Reduction**

1
w /o cost push
w ith cost push 0% 20% 40% 60% 80% 100%

**Memory Consumption**

### Report of Solut ion Qualit y

**Key Indicators**

###

_{Resource utilization}

_{Resource utilization}

###

**Setup time**

###

**Idle time**

###

_{Stock}

_{Stock}

###

**Safety**

###

**Range of coverage**

###

_{Demand}

_{Demand}

###

**Backlog**

###

**Delay (Percentage of volume, average of delay in days, priorities)**

###

**Non Deliveries**

**Aggregation – Drill Down**

###

**Location**

### Advanc ed solut ion analysis

**Explanation**

###

_{Non deliveries}

_{Non deliveries}

###

_{Delay}

_{Delay}

###

_{Missed safety stock}

_{Missed safety stock}

**Easier Optimizer Customizing**

###

_{Preconfigured optimizer profiles}

_{Preconfigured optimizer profiles}

### Sum m ary – Ac c ept anc e of Opt im izat ion in Prac t ic e

**Acceptance by OR-Specialist**

###

_{Evolutionary algorithms are also optimization algorithms}

_{Evolutionary algorithms are also optimization algorithms}

### Æ

_{Bridging the gap between Local Search and MILP}

_{Bridging the gap between Local Search and MILP}

**Acceptance by IT-department / „Decider of the investment“**

###

_{Solution completeness, Integration, Openness to Enhancements }

_{Solution completeness, Integration, Openness to Enhancements }

### Æ

_{Component Architecture (}

_{Component Architecture (}

_{SAP Netweaver}

_{SAP Netweaver}

_{)}

_{)}

**Acceptance by Consultant**

###

_{Know How, References, Best Practices, Quality guarantees}

_{Know How, References, Best Practices, Quality guarantees}

### Æ

_{Optimization as “commodity” needs}

_{Optimization as “commodity” needs}

_{patience}

_{patience}

**Acceptance by End user**

###

_{Explanation}

_{Explanation}

_{Tools}

_{Tools}

**Solving on same location and same production process model**

###

_{Re-optimize in detailed scheduling}

_{Re-optimize in detailed scheduling}

**Change location or production model**

###

_{Remove orders overlapping machine break down}

_{Remove orders overlapping machine break down}

###

_{Resolve problem on aggregate level (SNP)}

_{Resolve problem on aggregate level (SNP)}