Jednotka 7 / 9

Optimalizácia dodávateľského reťazca a logistiky

zisky:

  • Schopnosť identifikovať problémy s návrhom siete dodávateľského reťazca, trasou a rozložením skladu
  • Schopnosť používať AI pri generovaní scenárov, výpise obmedzení a konštrukcii optimalizačného modelu
  • Schopnosť overiť riešenia navrhované AI s nákladmi, kapacitou a obmedzeniami dodania

Dodávateľský reťazec je celý tok materiálov, informácií a peňazí od surovín ku koncovému zákazníkovi. Každé rozhodnutie v tejto sieti (odkiaľ získať zdroj, ktorý sklad skladovať, ktorá cesta k odoslaniu) predstavuje rovnováhu medzi cenou, rýchlosťou a trvanlivosťou. Optimalizácia tu nie je mágia, znamená dobre definovanú cieľovú funkciu a obmedzenia. Umelá inteligencia je v tejto oblasti veľmi výkonná pri štruktúrovaní problému, vytváraní scenárov, uvádzaní obmedzení a návrhu optimalizačného modelu; Tvrdenia o „najlepšom riešení“ však vždy musia byť overené vzhľadom na obmedzenia a skutočné náklady. V tejto časti sa budeme zaoberať návrhom siete, optimalizáciou trasy a rozhodnutiami o skladoch s podporou AI.

Mapa problémov s optimalizáciou dodávateľského reťazca

Rozpoznanie problémov s optimalizáciou je prvým krokom k vytvoreniu správneho modelu.

problém

rozhodovacia premenná

Typický účel

návrh siete

Ktoré zariadenie/sklad by sa malo otvoriť?

Celkové fixné + variabilné náklady min

Pridelenie/pridelenie

Ktorý zákazník z akého skladu?

Náklady na dopravu min

Smerovanie vozidla (VRP)

Ktoré vozidlo zastaví, v akom poradí?

Celková vzdialenosť/čas min

usporiadanie skladu

Kde by mali byť výrobky umiestnené?

Vzdialenosť odberu min

Výber spôsobu dopravy

Zem/more/vzduch

Rovnováha medzi cenou a rýchlosťou

Spoločný rámec každého problému je rovnaký: rozhodovacie premenné, objektívna funkcia, obmedzenia. Najcennejším prínosom AI je, že vám pomáha preložiť obchodný problém do týchto troch komponentov.

Úloha: Ste priemyselný inžinier so špecializáciou na optimalizáciu dodávateľského reťazca. Úloha: Preložte nasledujúci obchodný problém do modelu optimalizácie. Uveďte: (1) rozhodovacie premenné, (2) účelovú funkciu, (3) obmedzenia (kapacita, uspokojenie dopytu, nezápornosť), (4) typ tohto problému. Problém: "Máme 3 továrne a 5 distribučných centier. Kapacita každej továrne a dopyt každého centra sú isté. Jednotkové náklady na dopravu z továrne do centra sú rôzne. Minimalizovať celkové náklady na dopravu Chceme to stiahnuť."Pravidlo: Pomenujte typ modelu (napr. problém s dopravou), jasne napíšte predpoklady.

Ide o klasický dopravný problém. AI to dokáže rozpoznať a zostaviť správnu matematickú kostru; Umiestňujete tiež údaje o skutočnej kapacite a dopyte.

Optimalizácia trasy (VRP) a dôležitosť obmedzení

Smerovanie vozidiel je v praxi najčastejšie sa vyskytujúci a nesprávne stanovený problém. Medzi jednoduchou „najkratšou cestou“ (TSP) a skutočným VRP je veľký rozdiel: kapacita vozidla, časové okná (hodiny, kedy si zákazník môže vyzdvihnúť vozidlo), časové limity jazdy, viac vozidiel.

Upozornenie: Keď AI odporúča trasu, často „zabudne“ alebo sa približuje kapacitným a časovým obmedzeniam. Trasa naložená väčším nákladom, ako môže vozidlo uniesť, sa môže zdať „krátka“, ale je nepraktická. Na každej trase jednotlivo skontrolujte celkové zaťaženie ≤ kapacita a čas príchodu ∈ časové okno.

Slabá výzva / silná výzva

Slabá výzva:

Uveďte najkratšiu trasu pre týchto 8 zastávok.

Ak nie je k dispozícii kapacita, časové okno a počet vozidiel, AI poskytne jednoduché poradie; V reálnej prevádzke neobstojí.

Výkonná výzva:

Navrhnite plán trasy pre nasledujúcich 8 zákazníkov. Ide o 2 vozidlá, kapacita každého je 100 jednotiek. Požiadavka a časové okno každého zákazníka sú pripojené. Odchod zo skladu08:00. Predpokladajme priemernú rýchlosť 40 km/h. Výstup: poradie zastávok pre každé vozidlo, kumulatívne zaťaženie (neprekročenie kapacity), odhadované časy príchodu (aby sa zmestili do časového okna), celková vzdialenosť. Ak dôjde k porušeniu obmedzenia, jasne to uveďte a navrhnite alternatívu. Údaje: {{ ... }}

Druhá výzva výslovne ukladá obmedzenia a vyžaduje od AI kontrolu porušenia. Je však nevyhnutné overiť výsledok pomocou riešiteľa alebo ručne; AI nezaručuje absolútnu optimálnosť.

Optimálne alebo len „dobré“?

Je tu kritický koncept: riešenie, ktoré AI (a väčšina praktických metód) nájde, je často dobré riešenie (heuristické), nie optimálne. Skutočné optimum nájde matematický riešiteľ (napríklad OR-Tools, Gurobi, PuLP), ktorý rieši správne zostavený model. Úlohou AI je budovať model, nie ho riešiť.

Napíšte kostru modelu na vyriešenie nasledujúceho dopravného problému pomocou Python PuLP:- Rozhodovacie premenné x[i][j] (i továreň, j centrum)- Cieľ: minimalizácia celkových nákladov- Obmedzenie: ponuka každej továrne, dopyt každého strediska, x >= 0Vysvetlite kód komentárom, ale číselné údaje zadáte. Tiež: uveďte, aké kontroly musím vykonať, keď sa objaví riešenie.

Tip: Namiesto toho, aby ste povedali AI, aby „napísal kód a prišiel na to“, povedzte mu „napíš kód a ja ho spustím“. Vďaka tomu je optimalizácia skutočným riešiteľom; Neveríte číslam vytvoreným AI (a neovereným), ktoré hovoria „tu je moje riešenie“.

Rozhodnutia o sklade a umiestnení

Umiestnenie produktu v sklade priamo ovplyvňuje vzdialenosť vychystávania. Základným princípom je umiestniť často presúvané (vysokoobrátkové) položky blízko miesta odberu (ABC umiestnenie). AI môže vytvoriť návrh rozloženia s údajmi o pohybe produktu; Avšak fyzické obmedzenia (veľkosť police, hmotnosť, separácia nebezpečného materiálu, chladiaci reťazec) musia byť pod dohľadom ľudí.

Mini Case: Krátky na papieri, v teréne nemožné

Distribučná spoločnosť realizuje 40 dodávok denne s 3 vozidlami. Priemyselný inžinier Selin poskytuje AI zastávky, požiadavky a kapacity vozidiel a žiada o plán trasy. AI vytvára záber, ktorý vyzerá pekne a má nízku celkovú vzdialenosť. Ale keď Selin kontroluje, uvedomí si, že kumulované zaťaženie na trase vozidla presahuje kapacitu o 15%; K dispozícii sú tiež dve zastávky, kde si zákazník môže vyzdvihnúť v popoludňajších hodinách, ale je naplánovaný na dopoludnie. Selin zapíše obmedzenia jasnejšie do výzvy a reprodukuje ich, potom overí plán pomocou nástrojov OR-Tools. Výsledok sa stáva realizovateľným. Poučenie: Plán, ktorý AI nazvala „najkratší“, v skutočnosti nebol najkratší a bol dokonca neplatný z dôvodu porušenia obmedzení.

Časté chyby

  • Nešpecifikovanie obmedzení: Žiadosť o trasu bez kapacity, časového okna a počtu vozidiel.
  • Zamieňanie AI za riešiteľa: Prijatie „optimálneho“ riešenia daného AI ako skutočného výstupu riešiteľa.
  • Nekontroluje sa porušenie obmedzení: Implementácia plánu bez kontroly kumulatívneho zaťaženia a časov príchodu.
  • Zameranie na jediný cieľ: Optimalizácia iba nákladov a zabudnutie na životnosť/riziko (závislosť od jedného dodávateľa).
  • Nepoužívanie skutočných nákladov: Vytváranie modelu s predvolenými/vyrobenými jednotkovými nákladmi a neaktualizovanie o skutočné údaje.

V súhrne

  • Každá optimalizácia dodávateľského reťazca sa scvrkáva na tri zložky: rozhodovacie premenné, cieľová funkcia, obmedzenia.
  • Najcennejším prínosom AI je preloženie obchodného problému do správneho typu modelu (preprava, VRP, zadanie).
  • Obmedzenia kapacity a časového okna sú vo VRP rozhodujúce; AI ich často preskakuje, nezabudnite ich skontrolovať.
  • AI vytvára, nie rieši; Samotnú optimalizáciu by mal vykonať riešiteľ (PuLP, OR-Tools).
  • Okrem nákladov by mala byť cieľom aj životnosť a riziko; Závislosť od jedného dodávateľa/jedinej trasy je skrytým nákladom.

Aplikačná úloha

Vytvorte problém zásobovania/distribúcie (napr. 3 sklady, 5-8 zákazníkov, dopyt a kapacita vozidiel). Najprv nechajte AI modelovať problém ako rozhodovaciu premennú, cieľ a obmedzenie a pomenujte typ problému. Potom uveďte scenár VRP a požiadajte o plán trasy; Vo výstupe si sami skontrolujte kumulatívne zaťaženie a časy príjazdov každého vozidla. Kritické overenie: manuálne spočítajte celkové zaťaženie aspoň jedného vozidla a porovnajte ho s kapacitou a hľadajte porušenie obmedzenia. Nakoniec nechajte AI napísať kostru kódu riešiteľa (PuLP) a navrhnite pracovný postup, ktorý zabráni AI generovať falošné čísla pomocou prístupu „Spustím riešenie“.