Supply Chain Planning in the Consumer Electronics Industry - - PowerPoint PPT Presentation

supply chain planning
SMART_READER_LITE
LIVE PREVIEW

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 -


slide-1
SLIDE 1

Supply ¡Chain ¡Planning ¡ ¡in ¡the ¡Consumer ¡Electronics ¡Industry ¡

¡

Real ¡AI ¡2012 ¡ ¡

David ¡Lesaint ¡

david.lesaint@univ-­‑angers.fr ¡

LERIA ¡-­‑ ¡Université ¡d’Angers ¡-­‑ ¡France ¡

slide-2
SLIDE 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 ¡ 2 ¡

slide-3
SLIDE 3

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 ¡

slide-4
SLIDE 4

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 ¡

slide-5
SLIDE 5

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 ¡

slide-6
SLIDE 6

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)

slide-7
SLIDE 7

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 ¡

¡

slide-8
SLIDE 8

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 ¡

slide-9
SLIDE 9

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)

slide-10
SLIDE 10

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 ¡

slide-11
SLIDE 11

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 ¡

slide-12
SLIDE 12

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! ¡

slide-13
SLIDE 13

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 ¡

slide-14
SLIDE 14

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: ¡

slide-15
SLIDE 15

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 ¡

slide-16
SLIDE 16

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 ¡
slide-17
SLIDE 17

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 ¡
slide-18
SLIDE 18

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 ¡
slide-19
SLIDE 19

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 ¡

slide-20
SLIDE 20

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
slide-21
SLIDE 21

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 ¡

slide-22
SLIDE 22

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 ¡

slide-23
SLIDE 23

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 ¡
slide-24
SLIDE 24

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 ¡

slide-25
SLIDE 25

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 ¡

slide-26
SLIDE 26

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)

slide-27
SLIDE 27

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 ¡

slide-28
SLIDE 28

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 ¡

slide-29
SLIDE 29

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

slide-30
SLIDE 30

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 ¡

slide-31
SLIDE 31

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 ¡

slide-32
SLIDE 32

Search ¡Space ¡

5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 32 ¡

... ... ... ... ... ... ... ... ... ... ...

... ...

Pazern ¡ Search ¡ Space ¡

Materials ¡ Inventory ¡ Resource ¡ Route ¡ OR-­‑node ¡ AND-­‑node ¡

slide-33
SLIDE 33

SoluCon ¡Plans ¡

5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 33 ¡

... ... ... ... ... ... ... ... ... ...

Search ¡ Space ¡ SoluCon ¡ Plan ¡

slide-34
SLIDE 34

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 ¡

slide-35
SLIDE 35

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 ¡

... ... ... ... ... ... ... ... ... ...

slide-36
SLIDE 36

...

... ... 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));
slide-37
SLIDE 37

...

... ... 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);

slide-38
SLIDE 38

...

... ... 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));

slide-39
SLIDE 39

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 ¡

... ... ... ... ... ... ... ... ... ...

slide-40
SLIDE 40

...

... ... 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);

} }

slide-41
SLIDE 41

...

... ... 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);

}

slide-42
SLIDE 42

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 ¡

... ... ... ... ... ...

slide-43
SLIDE 43

Search ¡Strategy ¡Example ¡

5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 43 ¡

... ... ... ... ... ...

  • 1. ¡RouCng ¡+ ¡AllocaCon
slide-44
SLIDE 44

Search ¡Strategy ¡Example ¡

5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 44 ¡

... ... ... ... ... ...

  • 2. Quantities
slide-45
SLIDE 45

Search ¡Strategy ¡Example ¡

5 ¡Oct. ¡2012 ¡ Supply ¡Chain ¡Planning ¡in ¡Consumer ¡Electronics ¡ 45 ¡

... ... ... ... ... ...

  • 3. Time
slide-46
SLIDE 46

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 ¡

slide-47
SLIDE 47

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 ¡

slide-48
SLIDE 48

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 ¡

slide-49
SLIDE 49

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 ¡

slide-50
SLIDE 50

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 ¡

slide-51
SLIDE 51

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 ¡

slide-52
SLIDE 52

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% ¡

slide-53
SLIDE 53

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 ¡

slide-54
SLIDE 54

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 ¡

slide-55
SLIDE 55

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 ¡

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 ¡

should ¡improve ¡ OTD, ¡fulfillment ¡ and ¡resource ¡ uClizaCon ¡