Grunderna i optimering

Supply Chain Analytics i Python

Aaren Stubberfield

Supply Chain Analytics Mgr.

Vad är en försörjningskedja

  • En försörjningskedja består av alla parter som är direkt eller indirekt involverade i att uppfylla en kunds beställning.¹
  • Inkluderar:
    • Leverantörer
    • Intern tillverkning
    • Outsourcade logistikleverantörer (dvs. tredjepartsleverantörer)
1 Chopra, Sunil, och Peter Meindl. _Supply Chain Management: Strategy, Planning, and Operations._ Pearson Prentice-Hall, 2007.
Supply Chain Analytics i Python

Vad är optimering av försörjningskedjan

  • Handlar om att hitta den bästa vägen mot ett mål givet vissa begränsningar

diagram över materialflöde från leverantörer till kunder

Supply Chain Analytics i Python

Snabbkurs i LP

  • Linjär programmering (LP) är ett kraftfullt verktyg för optimering

  • En optimeringsmetod som använder en matematisk modell med linjära samband

  • LP har 3 grundläggande komponenter:

    • Beslutsvariabler – det du kan styra
    • Målfunktion – matematiskt uttryck som använder variabler för att beskriva målet
    • Bivillkor – matematiska uttryck som beskriver lösningens gränser
Supply Chain Analytics i Python

Introduktionsexempel

Använd LP för att planera ett träningspass och bränna så många kalorier som möjligt.

Armhävning Löpning
Minuter 0,2 per armhävning 10 per mil
Kalorier 3 per armhävning 130 per mil

Bivillkor – bara 10 minuter att träna

Supply Chain Analytics i Python

LP:s grundläggande komponenter

Beslutsvariabler – Det vi kan styra:

  • Antal armhävningar och antal löpta mil

Målfunktion – Matematiskt uttryck som beskriver målet:

  • Max (3 * antal armhävningar + 130 * antal mil)

Bivillkor – Matematiska uttryck som beskriver lösningens gränser:

  • 0,2 * antal armhävningar + 10 * antal mil ≤ 10
  • Antal armhävningar ≥ 0
  • Antal mil ≥ 0
Supply Chain Analytics i Python

Exempellösning

Optimal lösning:

  • 50 armhävningar
  • 0 löpta mil

Förbrända kalorier: 150

diagram över godtagbara lösningar i träningsexemplet, inklusive den optimala punkten

Supply Chain Analytics i Python

LP vs IP vs MIP

Termer Beslutsvariabler
Linjär programmering (LP) Endast kontinuerliga
Heltalsprogrammering (IP) Endast diskreta eller heltal
Blandad heltalsprogrammering (MIP) Blandning av kontinuerliga och diskreta
Supply Chain Analytics i Python

Sammanfattning

  • Definierade optimering av försörjningskedjan
  • Definierade linjär programmering och dess grundkomponenter
    • Beslutsvariabler
    • Målfunktion
    • Bivillkor
  • Definierade LP vs IP vs MIP
Supply Chain Analytics i Python

Nu kör vi en övning!

Supply Chain Analytics i Python

Preparing Video For Download...