Supply Chain Planning in the Consumer Electronics Industry - - PowerPoint PPT Presentation
Supply Chain Planning in the Consumer Electronics Industry - - PowerPoint PPT Presentation
Supply Chain Planning in the Consumer Electronics Industry Real AI 2012 David Lesaint david.lesaint@univ-angers.fr LERIA - Universit dAngers -
Contents ¡
- TFT-‑LCD ¡Panels ¡
– Manufacturing ¡operaCons ¡ – Supply ¡chain ¡planning ¡ – SCP ¡as ¡discrete ¡opCmisaCon ¡
- Constraint ¡Programming ¡Approach ¡
– MulC-‑pass ¡adaptaCve ¡planning ¡ – A ¡generic ¡CP ¡model ¡ – Experiments ¡
- Summary ¡and ¡Outlook ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 2 ¡
Contents ¡
- TFT-‑LCD ¡Panels ¡
– Manufacturing ¡operaCons ¡ – Supply ¡chain ¡planning ¡ – SCP ¡as ¡discrete ¡opCmisaCon ¡
- Constraint ¡Programming ¡Approach ¡
– MulC-‑pass ¡adaptaCve ¡planning ¡ – A ¡generic ¡CP ¡model ¡ – Experiments ¡
- Summary ¡and ¡Outlook ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 3 ¡
TFT-‑LCD ¡Panel ¡Manufacturing ¡
- Panel ¡FabricaCon ¡
– etch ¡color ¡filters ¡(CF) ¡and ¡thin-‑film ¡ transistors ¡(TFT) ¡onto ¡glasses ¡ – match ¡and ¡assemble ¡CF ¡and ¡TFT ¡ panels ¡(cell ¡producCon) ¡
- Module ¡Assembly ¡
– assemble ¡display ¡drivers, ¡back-‑light ¡ units ¡(LEDs), ¡PCB, ¡etc ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 4 ¡
Manufacturing ¡Process ¡
- Reentrant ¡flows ¡ ¡
- MulC-‑funcConal ¡equipments ¡
- High ¡uClisaCon ¡24/7 ¡x ¡365 ¡
- High ¡contenCon ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 5 ¡
LCD ¡Panel ¡Fab ¡Layout ¡
- Reentrant ¡flows ¡ ¡
- MulC-‑funcConal ¡equipments ¡
- High ¡uClisaCon ¡24/7 ¡x ¡365 ¡
- High ¡contenCon ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 6 ¡
(from ¡Choi ¡et ¡al. ¡2010, ¡KAIST)
LCD ¡Panel ¡Supply ¡Chain ¡
- Panels ¡for ¡TVs, ¡PCs ¡and ¡mobiles ¡
– about ¡20 ¡fab ¡and ¡assembly ¡plants ¡ – hubs, ¡vendor-‑managed ¡ inventories ¡and ¡customer ¡ warehouses ¡located ¡worldwide ¡ ¡ – air, ¡sea, ¡road ¡or ¡rail ¡shipping ¡
- Three ¡successive ¡stages ¡mixing ¡
producCon ¡and ¡transportaCon ¡ acCviCes ¡
1. Panel ¡fabricaCon ¡ 2. Module ¡assembly ¡ 3. Shipping ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 7 ¡
Lead ¡Cmes ¡
- 3-‑5 ¡days ¡for ¡fab ¡
- 1 ¡day ¡for ¡assembly ¡
- 1-‑30 ¡days ¡for ¡shipping ¡
Variability ¡
- 1K ¡items ¡
- 10K ¡routes ¡
- 1K ¡resources ¡
- 1K ¡inventories ¡
¡ ¡
Volume ¡
- 1K ¡products ¡
- 10K ¡orders ¡/ ¡month ¡
- 10M ¡panels ¡/ ¡month ¡
¡
Contents ¡
- TFT-‑LCD ¡Panels ¡
– Manufacturing ¡operaCons ¡ – Supply ¡chain ¡planning ¡ – SCP ¡as ¡discrete ¡opCmisaCon ¡
- Constraint ¡Programming ¡Approach ¡
– MulC-‑pass ¡adaptaCve ¡planning ¡ – A ¡generic ¡CP ¡model ¡ – Experiments ¡
- Summary ¡and ¡Outlook ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 8 ¡
Scope ¡of ¡Supply ¡Chain ¡Planning ¡
- Plan ¡producCon ¡and ¡transportaCon ¡orders ¡
– for ¡the ¡next ¡4 ¡months ¡[28 ¡daily ¡Cme ¡buckets ¡+ ¡12 ¡weekly ¡buckets] ¡ – every ¡week ¡[rolling ¡plan ¡with ¡20% ¡refreshment ¡rate] ¡ – plan ¡communicated ¡to ¡plants ¡and ¡suppliers ¡for ¡execuCon ¡and ¡procurement ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 9 ¡
(from ¡Rohde ¡et ¡al ¡2000, ¡PPS-‑M)
Business ¡ObjecCves ¡of ¡SCP ¡
- Just-‑in-‑Cme ¡and ¡complete ¡delivery ¡
– minimise ¡lateness ¡and ¡earliness ¡
- Maximise ¡resource ¡capacity ¡uClisaCon ¡
– balance ¡and ¡smoothen ¡uClisaCon ¡
- Reduce ¡transportaCon ¡costs ¡
- PrioriCse ¡customer ¡volume ¡allocaCon ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 10 ¡
Build ¡a ¡plan ¡for ¡each ¡ confirmed/forecast ¡ sales ¡order ¡
Challenges ¡of ¡SCP ¡
- Dynamic ¡nature ¡of ¡parts ¡supplies ¡
– eg ¡semiconductor ¡shortages ¡
- Excessive ¡air ¡freight ¡
- Unbalanced ¡resource ¡uClisaCon ¡
- Inflated ¡demand ¡
– eg ¡sales ¡mistrust ¡SCP, ¡forecast ¡inaccuracies ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 11 ¡
Build ¡a ¡plan ¡for ¡each ¡ confirmed/forecast ¡ sales ¡order ¡
Challenges ¡of ¡SCP ¡
- Dynamic ¡nature ¡of ¡parts ¡supplies ¡
– eg ¡semiconductor ¡shortages ¡
- Excessive ¡air ¡freight ¡
- Unbalanced ¡resource ¡uClisaCon ¡
- Inflated ¡demand ¡
– eg ¡sales ¡mistrust ¡SCP, ¡forecast ¡inaccuracies ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 12 ¡
Build ¡a ¡plan ¡for ¡each ¡ confirmed/forecast ¡ sales ¡order ¡ Subop&mal ¡ Planning! ¡
Contents ¡
- TFT-‑LCD ¡Panels ¡
– Manufacturing ¡operaCons ¡ – Supply ¡chain ¡planning ¡ – SCP ¡as ¡discrete ¡opCmisaCon ¡
- Constraint ¡Programming ¡Approach ¡
– MulC-‑pass ¡adaptaCve ¡planning ¡ – A ¡generic ¡CP ¡model ¡ – Experiments ¡
- Summary ¡and ¡Outlook ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 13 ¡
Key ¡Planning ¡Decisions ¡
- Route(s) ¡selecCon ¡
– mulC-‑level ¡BOMs ¡for ¡products ¡ – alternate ¡routes ¡for ¡each ¡item ¡
- Resource(s) ¡allocaCon ¡
– single ¡or ¡simultaneous ¡resources ¡ – atomic ¡or ¡aggregate ¡resources ¡
- Lot-‑sizing ¡
– how ¡much ¡to ¡consume, ¡produce ¡ and ¡store ¡
- Scheduling ¡
– when ¡to ¡consume, ¡produce ¡and ¡ store ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 14 ¡
100 ¡ 100 ¡ 100 ¡ 100 ¡ 100 ¡ 100 ¡
17”DF- X Route 1 1 1
use ¡ 100 ¡ 100 ¡ init ¡ 1/2 ¡ 1/1 ¡ supply ¡ 300 ¡ 0 ¡ demand ¡ 1/2 ¡ 1/1 ¡
ITC
supply ¡ demand ¡ 1/2 ¡ 1/1 ¡ use ¡ 150 ¡ 150 ¡ init ¡ 1/2 ¡ 1/1 ¡
WC1 WC2
¡ ¡ ¡ ¡2/1 ¡ ¡ ¡ ¡ ¡ ¡2/2 ¡ ¡ ¡ ¡ ¡ ¡ ¡2/3 ¡ ¡ ¡ ¡ ¡ ¡ ¡2/4 ¡ ¡ ¡ ¡ ¡ ¡ ¡2/5 ¡ ¡ ¡ ¡ ¡ ¡ ¡2/6 ¡ ¡ ¡ ¡ ¡ ¡ ¡2/7 ¡ ¡ ¡ ¡ ¡ ¡2/8 ¡ 24 ¡ 16 ¡ 8 ¡ 0 ¡ Efficiency ¡
FOR ¡EACH ¡ORDER: ¡
Core ¡Combinatorial ¡Model ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 15 ¡
Resource ¡ Route ¡ Inventory ¡ Inventory ¡ Route ¡ Inventory ¡ Route ¡ ... ¡ Resource ¡ Resource ¡ ... ¡ Resource ¡ Resource ¡ Inventory ¡
alternaCve ¡resources ¡ aggregate ¡resources ¡
Material ¡ BOR ¡ BOR ¡ BOR ¡ BOR-‑set ¡ BOR ¡ p-‑BOM ¡ p-‑BOM ¡ p-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡
Core ¡Constraints ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 16 ¡
Resource ¡ Route ¡ Inventory ¡ Inventory ¡ Route ¡ Inventory ¡ Route ¡ ... ¡ Resource ¡ Resource ¡ ... ¡ Resource ¡ Resource ¡ Inventory ¡
alternaCve ¡resources ¡ aggregate ¡resources ¡
Material ¡ BOR ¡ BOR ¡ BOR ¡ BOR-‑set ¡ BOR ¡ p-‑BOM ¡ p-‑BOM ¡ p-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡
- ¡Cme-‑phased ¡yield ¡
- ¡priority, ¡cost, ¡proporCon ¡
Core ¡Constraints ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 17 ¡
Resource ¡ Route ¡ Inventory ¡ Inventory ¡ Route ¡ Inventory ¡ Route ¡ ... ¡ Resource ¡ Resource ¡ ... ¡ Resource ¡ Resource ¡ Inventory ¡
alternaCve ¡resources ¡ aggregate ¡resources ¡
Material ¡ BOR ¡ BOR ¡ BOR ¡ BOR-‑set ¡ BOR ¡ p-‑BOM ¡ p-‑BOM ¡ p-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡
- ¡Cme-‑phased ¡yield ¡
- ¡priority, ¡cost, ¡proporCon ¡
- ¡consumpCon ¡rate ¡
- ¡priority, ¡cost, ¡proporCon ¡
Core ¡Constraints ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 18 ¡
Resource ¡ Route ¡ Inventory ¡ Inventory ¡ Route ¡ Inventory ¡ Route ¡ ... ¡ Resource ¡ Resource ¡ ... ¡ Resource ¡ Resource ¡ Inventory ¡
alternaCve ¡resources ¡ aggregate ¡resources ¡
Material ¡ BOR ¡ BOR ¡ BOR ¡ BOR-‑set ¡ BOR ¡ p-‑BOM ¡ p-‑BOM ¡ p-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡ c-‑BOM ¡
- ¡Cme-‑phased ¡yield ¡
- ¡priority, ¡cost, ¡proporCon ¡
- ¡capacity ¡consumpCon ¡rate ¡
- ¡cycle-‑Cmes ¡
- ¡Cme-‑phased ¡efficiency ¡
- ¡lot ¡size ¡min ¡& ¡increments ¡
- ¡consumpCon ¡rate ¡
- ¡priority, ¡cost, ¡proporCon ¡
Required ¡Features ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡
Id ¡ Feature ¡ 1 ¡ Due ¡date ¡fence ¡ 2 ¡ Material ¡constraints ¡ 3 ¡ Route ¡details ¡& ¡calendars ¡ 4 ¡ Shipping ¡lead ¡Cmes ¡ 5 ¡ Time-‑phased ¡yield ¡ 6 ¡ Time-‑phased ¡qty ¡consumpCon ¡ 7 ¡ Efficiency ¡rates ¡ 8 ¡ Resource ¡capacity ¡calendar ¡ 9 ¡ Resource ¡down-‑Cmes ¡ 10 ¡ Over-‑prod. ¡resource ¡capacity ¡ 11 ¡ Resource ¡capacity ¡uClizaCon ¡ 12 ¡ ObjecCve-‑based ¡simulaCon ¡ 13 ¡ Disconnected ¡inventories ¡ 14 ¡ Resource-‑less ¡routes ¡ 15 ¡ Incomplete ¡BOMs ¡ 16 ¡ MulCple ¡due ¡dates ¡(RTF) ¡ 17 ¡ Build-‑ahead ¡days ¡constraints ¡ ¡ 18 ¡ Demand/trans. ¡mode ¡pegging ¡ 19 ¡ EffecCve ¡dates ¡ 20 ¡ Product ¡life-‑cycles ¡ 21 ¡ Planned ¡orders ¡creaCon ¡rule ¡ Id ¡ Feature ¡ 22 ¡ Resource ¡pooling ¡ 23 ¡ MulC-‑resource ¡sales ¡orders ¡ 24 ¡ MulC-‑bucket ¡sales ¡orders ¡ 25 ¡ MulC-‑route ¡sales ¡orders ¡ 26 ¡ Time-‑phased ¡safety ¡stock ¡ 27 ¡ Stock ¡keeping-‑Cme ¡ 28 ¡ Policies ¡-‑ ¡delivery, ¡demand ¡priority ¡ 29 ¡ Policies ¡-‑ ¡cost-‑driven ¡rouCng ¡ 30 ¡ Policies ¡-‑ ¡resource ¡uClizaCon ¡ maximizaCon ¡& ¡smoothing ¡ 31 ¡ Alternate ¡materials ¡ 32 ¡ WIP ¡projecCon ¡ 33 ¡ WIP ¡pegging ¡(Nenng) ¡ 34 ¡ Stock ¡pegging ¡(Nenng) ¡ 35 ¡ Time-‑phased ¡line/plant ¡assignmt. ¡ 36 ¡ Shipping ¡schedule ¡constraints ¡ 37 ¡ Time-‑phased ¡efficiency ¡ 38 ¡ Time-‑phased ¡takt ¡Cme ¡ 39 ¡ Lot ¡size ¡ 40 ¡ Net ¡change ¡producCon ¡planning ¡ 41 ¡ Frozen ¡plan, ¡NOH ¡handling ¡
IN ¡SCOPE OUT-‑OF-‑SCOPE
19 ¡
RepresentaCve ¡Instance ¡Size ¡
- Data ¡Model ¡
– 10s ¡of ¡DB ¡tables ¡and ¡columns ¡ – 100K ¡records ¡ – 1mn ¡to ¡load ¡an ¡instance ¡
- RepresentaCve ¡Instance ¡Size ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 20 ¡
- 20,000 ¡BOMs
- 10,000 ¡c-‑BOMs
- 10,000 ¡p-‑BOMs ¡
- 6,000 ¡inventories
- 10,000 ¡routes
- 1,500 ¡resources ¡
- 16-‑weeks ¡long ¡horizon
- 28 ¡daily ¡buckets ¡+ ¡12 ¡weekly ¡buckets
- 1500 ¡items ¡(30 ¡materials)
- 10 ¡item ¡groups ¡
- 10,000 ¡sales ¡orders
- 12,000 ¡planned ¡orders ¡
- 4,500 ¡stock ¡deliveries
- 7,500 ¡WIPs ¡
- 12,000 ¡BORs
- 20 ¡BOR-‑sets
Other ¡Requirements ¡
- Acceptable ¡response ¡Cmes ¡
- Adaptable ¡to ¡problem ¡instance ¡characterisCcs ¡
– eg, ¡seasonal ¡demand, ¡new ¡product ¡launch ¡
- Decision-‑support ¡
– support ¡what-‑if ¡analysis ¡ – diagnose ¡failure ¡and ¡subopCmality ¡ – repair ¡or ¡improve ¡parts ¡of ¡a ¡plan ¡
- Plan ¡stability ¡
- System ¡integraCon ¡with ¡MRP, ¡ERP, ¡etc ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 21 ¡
Contents ¡
- TFT-‑LCD ¡Panels ¡
– Manufacturing ¡operaCons ¡ – Supply ¡chain ¡planning ¡ – SCP ¡as ¡discrete ¡opCmisaCon ¡
- Constraint ¡Programming ¡Approach ¡
– MulC-‑pass ¡adaptaCve ¡planning ¡ – A ¡generic ¡CP ¡model ¡ – Experiments ¡
- Summary ¡and ¡Outlook ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 22 ¡
ExisCng ¡SCP ¡System ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 23 ¡
Rule-‑based ¡order-‑by-‑order ¡planning ¡
SequenCal ¡process ¡
- 1. WIP ¡projecCon ¡
- 2. stock ¡order ¡planning ¡
- 3. inventory ¡nenng ¡
- 4. planned ¡order ¡planning ¡
Incremental ¡strategy ¡
- 1 ¡stock/sales ¡order ¡at ¡a ¡Cme ¡
Greedy ¡algorithm ¡
- pre-‑ranking ¡orders, ¡routes, ¡resources ¡
- backward-‑planning ¡for ¡planned ¡orders ¡
- forward-‑planning ¡for ¡stock ¡orders ¡
ExisCng ¡SCP ¡System ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 24 ¡
Rule-‑based ¡order-‑by-‑order ¡planning ¡
No ¡search ¡
- alternaCves ¡are ¡not ¡explored ¡
- may ¡miss ¡soluCons ¡
- may ¡miss ¡improvements ¡
Same ¡model ¡for ¡all ¡orders ¡
- manually ¡reconfigured ¡aqer ¡each ¡run ¡ ¡
No ¡inference ¡
- does ¡not ¡prune ¡search ¡space ¡using ¡
constraints ¡before ¡and ¡during ¡search ¡ ¡
- may ¡explore ¡useless ¡parts ¡of ¡search ¡
space ¡
Analysis ¡
- MathemaCcal ¡(Linear ¡and ¡
Mixed ¡Integer) ¡Programming ¡ unsuitable ¡
– low-‑fidelity ¡models ¡ – prohibiCve ¡response ¡Cmes ¡
- Problem ¡decomposiCon ¡is ¡a ¡
must ¡
– instance ¡size ¡ – data-‑rich ¡ – orthogonal ¡decisions ¡ – heterogeneous ¡requirements ¡... ¡
- Constraint ¡Programming ¡... ¡
– ensures ¡high-‑fidelity ¡models ¡ – proven ¡track-‑record ¡on ¡real-‑life ¡ planning/scheduling ¡problems ¡
- ... ¡But ¡no ¡one-‑size-‑fits-‑all ¡
soluCon! ¡
– use ¡different ¡CP ¡models ¡for ¡ different ¡subproblems ¡ – leverage ¡COMET ¡to ¡this ¡effect ¡ – develop ¡a ¡run-‑Cme ¡configurable ¡ CP ¡engine ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 25 ¡
CP ¡versus ¡LP/MIP ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 26 ¡
FEATURE ¡ Mathema&cal ¡Programming ¡ Constraint ¡Programming ¡ Relaxa&on ¡ Yes ¡ No ¡ GAP ¡measure ¡ Yes ¡ No ¡ Op&mality ¡Proof ¡ Yes ¡ Yes ¡ Modeling ¡Limita&ons ¡ QuadraCc ¡problems ¡limited ¡to ¡ PosiCve ¡Semi ¡Definite ¡problems ¡ and ¡Second ¡Order ¡Cone ¡ Programming ¡problems ¡ Discrete ¡problems ¡ ¡ Specialised ¡Constraints ¡ No ¡ Yes ¡ Logical ¡Constraints ¡ Yes ¡ Yes ¡ Theore&cal ¡Grounds ¡ Algebra ¡ AI, ¡Graph ¡Theory, ¡Algorithms ¡
(from ¡ILOG ¡2009, ¡OPL ¡manual)
MulC-‑Paradigm ¡OpCmisaCon ¡Languages ¡
- COMETTM ¡
– mulC-‑paradigm ¡opCmizaCon ¡DSL ¡ ¡ – with ¡Java-‑like ¡programming ¡layer ¡ – interpreted ¡language ¡
- Benefits ¡
– high-‑fidelity ¡system ¡engineering ¡ – eases ¡validaCon ¡ – rapid ¡prototyping ¡ – strong ¡performances ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 27 ¡
IMPLEMENTATION ¡ PARADIGM ¡ Embedded ¡(eg. ¡C++ ¡library) ¡ Domain-‑Specific ¡Language ¡ MP ¡ ECLIPSE ¡| ¡OSCAR ¡| ¡... ¡ OPL ¡| ¡COMET ¡| ¡MINIZINC ¡... ¡ CP ¡ ECLIPSE ¡| ¡OSCAR ¡| ¡ILOG ¡SOLVER ¡| CHOCO ¡| ¡GECODE ¡| ¡... ¡ OPL ¡| ¡COMET ¡| ¡MINIZINC ¡... ¡ Meta-‑Heuris&cs ¡ ECLIPSE ¡| ¡OSCAR ¡| ¡LOCALIZER ¡| ¡... ¡ OPL ¡| ¡COMET ¡... ¡
- P. ¡Van ¡Hentenryck ¡
Brown ¡univ. ¡-‑ ¡Dynadec ¡
Problem ¡DecomposiCon ¡Approach ¡
- MulC-‑pass ¡planning ¡
– each ¡pass ¡iterates ¡over ¡a ¡class ¡of ¡orders ¡ – one ¡or ¡more ¡orders ¡planned ¡at ¡each ¡iteraCon ¡ – failed ¡orders ¡revisited ¡in ¡subsequent ¡passes ¡
- CP ¡model ¡
– created ¡at ¡each ¡iteraCon ¡and ¡customised ¡for ¡each ¡(set ¡of) ¡order(s) ¡ – uses ¡COMET ¡global ¡constraints ¡and ¡ – porwolio ¡of ¡saCsfacCon/opCmizaCon ¡algorithms ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 28 ¡
Problem ¡too ¡large ¡ for ¡global ¡approach ¡ Too ¡much ¡variability ¡ for ¡a ¡single ¡CP ¡model ¡
configure ¡CP ¡ model ¡ plan ¡orders ¡with ¡ CP ¡model ¡ select ¡set ¡of ¡
- rders ¡
next ¡pass ¡
MulC-‑Pass ¡Planning ¡Procedure ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 29 ¡
soluCon? ¡ build ¡CP ¡model ¡ solve ¡ select ¡orders ¡ save ¡ soluCon ¡ record ¡ failure ¡
next ¡itera*on ¡
¡pass ¡[CP ¡solver] ¡
yes
mulC-‑pass ¡[Meta-‑Solver] ¡
no
Contents ¡
- TFT-‑LCD ¡Panels ¡
– Manufacturing ¡operaCons ¡ – Supply ¡chain ¡planning ¡ – SCP ¡as ¡discrete ¡opCmisaCon ¡
- Constraint ¡Programming ¡Approach ¡
– MulC-‑pass ¡adaptaCve ¡planning ¡ – A ¡generic ¡CP ¡model ¡ – Experiments ¡
- Summary ¡and ¡Outlook ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 30 ¡
Search ¡Space ¡
- RouCng ¡search ¡space ¡is ¡an ¡OR-‑
AND-‑tree ¡
– inventories ¡= ¡OR-‑nodes ¡
- choose ¡a ¡single ¡upstream ¡route ¡
– routes ¡= ¡AND-‑nodes ¡
- follow ¡all ¡upstream ¡inventories ¡
– a ¡plan ¡is ¡a ¡tree ¡of ¡acCviCes ¡
- Other ¡decision ¡points ¡at ¡each ¡
node ¡
– quanCCes ¡and ¡Cming ¡of ¡ producCon/consumpCon ¡ – resource ¡allocaCon ¡ – stock ¡consumpCon/creaCon ¡ – order ¡shortage, ¡etc ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 31 ¡
...
... ...
Materials ¡ Inventory ¡ Resource ¡ Route ¡ OR-‑node ¡ AND-‑node ¡
Pazern ¡
Search ¡Space ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 32 ¡
... ... ... ... ... ... ... ... ... ... ...
... ...
Pazern ¡ Search ¡ Space ¡
Materials ¡ Inventory ¡ Resource ¡ Route ¡ OR-‑node ¡ AND-‑node ¡
SoluCon ¡Plans ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 33 ¡
... ... ... ... ... ... ... ... ... ...
Search ¡ Space ¡ SoluCon ¡ Plan ¡
CP ¡Model ¡Build ¡& ¡Solve ¡
- Declare ¡finite ¡domains ¡
- Create ¡decision ¡variables ¡
- Post ¡constraints ¡
- Search ¡for ¡a ¡soluCon ¡
- Save ¡soluCon ¡or ¡return ¡failure ¡
- All ¡steps ¡traverse ¡the ¡OR-‑AND-‑
tree ¡
– either ¡visit ¡each ¡node ¡once ¡ – or ¡visit ¡each ¡node ¡mulCple ¡Cmes ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 34 ¡
... ... ... ... ... ... ... ... ... ...
Search ¡space ¡
Variable ¡CreaCon ¡
- At ¡each ¡node ¡by ¡traversing ¡
supply ¡net ¡top-‑down ¡
- Variables ¡indexed ¡by ¡order ¡ids, ¡
node ¡ids ¡and/or ¡object ¡ids ¡
- Each ¡variable ¡models ¡a ¡specific ¡
aspect ¡
– rouCng ¡decision, ¡quanCty ¡to ¡ produce, ¡stock ¡to ¡consume, ¡start ¡ date ¡of ¡acCvity, ¡etc ¡
- Finite ¡domain ¡variables ¡
– symbolic ¡ – integers ¡ – booleans ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 35 ¡
... ... ... ... ... ... ... ... ... ...
...
... ... Variable ¡CreaCon ¡Example ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 36 ¡
// order o // inventory i // RTE(i) = 1..#upstream_routes_of_i
- xRoute{<o,i>} = new var<CP>{int} = var<CP>{int}(_cp,RTE(i));
...
... ... Variable ¡CreaCon ¡Example ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 37 ¡
// order o // inventory i // POR(o) = set of planned orders for o // RTE(i) = 1..#upstream_routes_of_i // HOZ = 1..#buckets_in_planning_horizon
- xAddBck{<o,i>} = new var<CP>{int}[p in POR(o), r in RTE(i)]
= var<CP>{int}(_cp,HOZ);
...
... ... Variable ¡CreaCon ¡Example ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 38 ¡
//order o // route r // POR(o) = set of planned orders for o // RSC(r) = 1..#resources_of_r // CPY(r) = 0..#max_capacity_consumable_on_r
- xCsdCpy{<o,r>} = new var<CP>{int}[p in POR(o),w in RSC(r)]
= var<CP>{int}(_cp,CPY(r));
Constraint ¡PosCng ¡
- At ¡each ¡node ¡(visited ¡once) ¡
- Each ¡constraint ¡addresses ¡a ¡
specific ¡requirement ¡or ¡rule ¡
– match ¡stock ¡ins ¡and ¡outs ¡ – RTF/DDF ¡ – safety ¡stocks ¡ – route ¡possible ¡Cmes ¡ – item ¡SOL/EOL ¡ – capacity ¡constraints ¡ – yield ¡rate ¡ – etc ¡ ¡
- Finite ¡domain ¡constraints ¡
– arithmeCc, ¡logical ¡ – indexing, ¡etc ¡ ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 39 ¡
... ... ... ... ... ... ... ... ... ...
...
... ... Constraint ¡PosCng ¡Example ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 40 ¡
// order o // RTF of o rtf
- if (_cfg.solver().enableOrderRTF()) {
if (! _cfg.solver().enableJustInTimeDelivery()) { _cp.post(xSrlsBck{o} <= rtf,
- nBounds);
} else { _cp.post(xSrlsBck{o} == rtf,
- nBounds);
} }
...
... ... Constraint ¡PosCng ¡Example ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 41 ¡
// order o // inventory i // si = <o,i> // POR(o) = set of planned orders for o // RTE(i) = 1..#upstream_routes_of_i
- forall(p in POR(o)) {
_cp.post(xRaddStk{si}[p,route{<o,i>}] == xIaddStk{si}[p],
- nBounds);
_cp.post((sum(r in xRaddStk{si}.getRange(1)) xAddStk{si}[p,r]) == xIaddStk{si}[p],
- nBounds);
}
Search ¡Algorithm ¡
- Different ¡labelling ¡strategy ¡per ¡ ¡class ¡of ¡variables ¡
– rouCng, ¡allocaCon, ¡stock, ¡quanCty, ¡Cme ¡
- Each ¡class ¡has ¡
– a ¡priority ¡
- 0..5 ¡(0 ¡ó ¡disabled) ¡
– a ¡traversal ¡direcCon ¡
- backward ¡or ¡forward ¡
– value ¡selecCon ¡heurisCcs ¡ ¡
- domain-‑specific ¡or ¡not ¡
- greedy ¡or ¡exhausCve ¡
- randomized ¡or ¡systemaCc ¡
- single ¡value ¡or ¡domain ¡splinng ¡
- min ¡first ¡or ¡max ¡first ¡ ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 42 ¡
... ... ... ... ... ...
Search ¡Strategy ¡Example ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 43 ¡
... ... ... ... ... ...
- 1. ¡RouCng ¡+ ¡AllocaCon
Search ¡Strategy ¡Example ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 44 ¡
... ... ... ... ... ...
- 2. Quantities
Search ¡Strategy ¡Example ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 45 ¡
... ... ... ... ... ...
- 3. Time
Problem ¡DecomposiCon ¡Strategy ¡(Meta-‑Solver) ¡
- Cluster ¡orders ¡using ¡any ¡criteria ¡combinaCon ¡
– unsolved ¡orders ¡ – same ¡customer ¡ – same ¡module-‑out ¡inventory ¡ – similar ¡due ¡dates ¡ – contenCon ¡on ¡resources ¡ – contenCon ¡on ¡materials ¡ – etc ¡
- Use ¡best-‑fit ¡model ¡for ¡each ¡class ¡of ¡orders ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 46 ¡
Model ¡and ¡Solver ¡ConfiguraCon ¡
- ReconfiguraCon ¡aqer ¡each ¡pass ¡
– switch ¡on ¡or ¡off ¡problem ¡features/constraints ¡
- allow ¡lateness, ¡disable ¡aggregate ¡resources, ¡do ¡not ¡fragment ¡sales ¡
- rders, ¡shorten ¡sales ¡orders, ¡etc ¡
– switch ¡on ¡or ¡off ¡algorithmic ¡opCons ¡
- aspect ¡prioriCes, ¡heurisCcs, ¡search ¡type, ¡etc ¡
- Other ¡algorithmic ¡opCons ¡
– maximum ¡number ¡of ¡failures ¡allowed ¡ – don’t ¡explore ¡non-‑contribuCng ¡subtrees ¡ ¡ ¡ – saCsfy ¡or ¡opCmize ¡ – restarts ¡(eg, ¡Large-‑Neighbourhood ¡Search) ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 47 ¡
Example ¡of ¡Strategy ¡
- Quickly ¡plan ¡the ¡bulk ¡of ¡the ¡demand ¡in ¡first ¡passes ¡
– using ¡efficient ¡but ¡constraining ¡CP ¡model ¡
- eg, ¡no ¡order ¡fragmentaCon, ¡no ¡lateness, ¡no ¡shortening ¡
- Tackle ¡hard ¡orders ¡and ¡perform ¡fine-‑grained ¡planning ¡in ¡
subsequent ¡passes ¡
– using ¡more ¡flexible ¡model ¡with ¡all ¡features ¡turned ¡on ¡
- MulC-‑criteria ¡opCmizaCon ¡may ¡be ¡carried ¡out ¡
– at ¡iteraCon-‑level ¡
- eg, ¡using ¡weighted ¡objecCve ¡funcCon ¡inside ¡CP ¡model ¡ ¡
– at ¡pass-‑level ¡
- eg, ¡different ¡passes ¡focus ¡on ¡different ¡KPIs ¡ ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 48 ¡
Contents ¡
- TFT-‑LCD ¡Panels ¡
– Manufacturing ¡operaCons ¡ – Supply ¡chain ¡planning ¡ – SCP ¡as ¡discrete ¡opCmisaCon ¡
- Constraint ¡Programming ¡Approach ¡
– MulC-‑pass ¡adaptaCve ¡planning ¡ – A ¡generic ¡CP ¡model ¡ – Experiments ¡
- Summary ¡and ¡Outlook ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 49 ¡
Experiments ¡
- Tests ¡on ¡representaCve ¡dataset ¡
– similar ¡structure ¡and ¡size ¡to ¡customer’s ¡instances ¡
- Measures ¡
– on-‑Cme ¡delivery ¡(OTD) ¡and ¡fulfillment ¡for ¡orders ¡and ¡quanCCes ¡ – assembly ¡resource ¡capacity ¡uClizaCon ¡ – run-‑Cme ¡
- Comparison ¡of ¡COMET ¡with ¡exisCng ¡rules ¡system ¡
– lazer ¡fragments ¡a ¡sales ¡order's ¡plan, ¡former ¡does ¡not ¡ ¡
- over ¡different ¡routes ¡and ¡dates ¡and ¡resources ¡on ¡a ¡route ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 50 ¡
Search ¡Strategy ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 51 ¡
CLASS ¡ PRIORITY ¡ rou&ng ¡ 1 ¡ resource ¡alloca&on ¡ 1 ¡ stock ¡ 0 ¡ quan&ty ¡ 2 ¡ &me ¡ 3 ¡ HEURISTIC ¡ dom-‑spec ¡ all-‑ random ¡ greedy-‑ min ¡ greedy-‑ max ¡ all-‑min ¡ all-‑max ¡ dicho-‑ tomic ¡ rou&ng ¡ x ¡ resourcing ¡ x ¡ stock ¡ x ¡ quan&ty ¡ x ¡ &me ¡ x ¡ CLASS ¡ TRAVERSAL ¡ rou&ng ¡ backward ¡ resource ¡alloca&on ¡ backward ¡ stock ¡ none ¡ quan&ty ¡ backward ¡ &me ¡ forward ¡
COMET ¡vs. ¡Rule-‑based ¡Planner ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 52 ¡
total ¡orders ¡to ¡plan ¡ #orders ¡fulfilled ¡ #orders ¡on-‑Cme ¡ COMET ¡ 7102 ¡ 6658 ¡ 5588 ¡ total ¡quanCCes ¡ #quanCCes ¡delivered ¡ #quanCCes ¡on ¡Cme ¡ COMET ¡ 21,909,458 ¡ 18,550,314 ¡ 16,411,630 ¡ run-‑Cme ¡ COMET ¡ 764 ¡sec ¡ #orders ¡delivered ¡ #orders ¡on ¡Cme ¡ Improvement ¡ + ¡9.7% ¡ + ¡6.7% ¡ #quanCCes ¡delivered ¡ #quanCCes ¡on ¡Cme ¡ Improvement ¡ + ¡2.0% ¡ + ¡3.1% ¡
Contents ¡
- TFT-‑LCD ¡Panels ¡
– Manufacturing ¡operaCons ¡ – Supply ¡chain ¡planning ¡ – SCP ¡as ¡discrete ¡opCmisaCon ¡
- Constraint ¡Programming ¡Approach ¡
– MulC-‑pass ¡adaptaCve ¡planning ¡ – A ¡generic ¡CP ¡model ¡ – Experiments ¡
- Summary ¡and ¡Outlook ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 53 ¡
Summary ¡
- DecomposiCon ¡approach ¡based ¡on ¡CP ¡
– high-‑fidelity ¡model ¡ – solver ¡leverages ¡COMET ¡propagaCon ¡and ¡search ¡capabiliCes ¡ – "best-‑fit ¡model" ¡approach ¡through ¡run-‑Cme ¡configurable ¡model ¡
- Results ¡very ¡encouraging ¡
– much ¡bezer ¡soluCons ¡than ¡Rules ¡system ¡ – acceptable ¡perfs: ¡10mns ¡/ ¡run ¡(30 ¡orders/sec) ¡
- Project ¡
– implementaCon ¡enCrely ¡in ¡COMET ¡ – 10 ¡man-‑month ¡effort ¡end-‑to-‑end ¡ – 30K ¡lines ¡of ¡code ¡ – core ¡model ¡3K ¡lines ¡of ¡code ¡ ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 54 ¡
Outlook ¡
- Missing ¡features ¡should ¡further ¡improve ¡OTD, ¡fulfillment ¡
and ¡resource ¡uClisaCon ¡by ¡tapping ¡in ¡remaining ¡pockets ¡of ¡ capacity ¡and ¡exploiCng ¡inventories ¡
5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 55 ¡