Vienetas 7 / 9

Tiekimo grandinės ir logistikos optimizavimas

Pelnas:

  • Gebėjimas identifikuoti tiekimo grandinės tinklo projektavimo, maršruto ir sandėlio išdėstymo problemas
  • Gebėjimas naudoti AI scenarijų generavimui, apribojimų sąrašui ir optimizavimo modelių kūrimui
  • Galimybė patvirtinti AI siūlomus sprendimus su sąnaudų, pajėgumų ir pristatymo apribojimais

Tiekimo grandinė yra visas medžiagų, informacijos ir pinigų srautas nuo žaliavų iki galutinio pirkėjo. Kiekvienas sprendimas šiame tinkle (kur įsigyti, kuriame sandėlyje laikyti atsargas, kokiu maršrutu išsiųsti) išlaiko pusiausvyrą tarp kainos, greičio ir ilgaamžiškumo. Optimizavimas čia nėra magija, tai reiškia tiksliai apibrėžtą tikslo funkciją ir suvaržymus. Dirbtinis intelektas šioje srityje yra labai galingas struktūrizuodamas problemą, generuodamas scenarijus, išvardydamas apribojimus ir rengdamas optimizavimo modelį; Tačiau teiginiai „geriausias sprendimas“ visada turi būti patvirtinti atsižvelgiant į apribojimus ir faktines išlaidas. Šiame skyriuje aptarsime tinklo projektavimą, maršruto optimizavimą ir sandėlio sprendimus su AI palaikymu.

Tiekimo grandinės optimizavimo problemų žemėlapis

Optimizavimo problemų pripažinimas yra pirmasis žingsnis kuriant tinkamą modelį.

problema

sprendimo kintamasis

Tipiškas tikslas

tinklo projektavimas

Kuris objektas/sandėlis turėtų būti atidarytas?

Bendra fiksuota + kintamoji kaina min

Priskyrimas/paskirstymas

Kuris klientas iš kokio sandėlio?

Transporto kaina min

Transporto priemonės maršrutas (VRP)

Kuri transporto priemonė, kokia tvarka sustoja?

Bendras atstumas/laikas min

sandėlio išdėstymas

Kur turėtų būti dedami produktai?

Paėmimo atstumas min

Transporto režimo pasirinkimas

Žemė/jūra/oras

Sąnaudų ir greičio balansas

Kiekvienos problemos bendra struktūra yra ta pati: sprendimo kintamieji, tikslo funkcija, apribojimai. Vertingiausias dirbtinio intelekto indėlis yra tai, kad jis padeda verslo problemą paversti šiais trimis komponentais.

Vaidmuo: esate pramonės inžinierius, kurio specializacija yra tiekimo grandinės optimizavimas. Užduotis: Išverskite šią verslo problemą į optimizavimo modelį. Nurodykite: (1) sprendimo kintamuosius, (2) tikslo funkciją, (3) apribojimus (pajėgumą, paklausos patenkinimą, neneigiamumą), (4) šios problemos tipą. Problema: "Turime 3 gamyklas ir 5 paskirstymo centrus. Kiekvienos gamyklos pajėgumai ir kiekvieno centro paklausa yra tam tikri. Transportavimo vieneto kaštai iš gamyklos į centrą skiriasi. Sumažinkite bendrą transportavimo kainą Norime jį atsisiųsti." Taisyklė: Įvardykite modelio tipą (pvz., transportavimo problema), aiškiai parašykite prielaidas.

Tai klasikinė transporto problema. AI gali tai atpažinti ir sukurti teisingą matematinį skeletą; Taip pat pateikiate realius pajėgumo ir paklausos duomenis.

Maršruto optimizavimas (VRP) ir apribojimų svarba

Transporto priemonių maršruto parinkimas yra dažniausiai pasitaikanti ir neteisingai nustatyta problema praktikoje. Yra didelis skirtumas tarp paprasto „trumpiausio kelio“ (TSP) ir tikrojo VRP: transporto priemonės talpa, laiko langai (valandos, kai klientas gali pasiimti), vairavimo laiko limitai, kelios transporto priemonės.

Įspėjimas: kai AI rekomenduoja maršrutą, jis dažnai „pamiršta“ arba apytiksliai apskaičiuoja pajėgumų ir laiko lango apribojimus. Maršrutas, kuriame yra daugiau krovinių, nei gali vežti transporto priemonė, gali atrodyti „trumpas“, bet nepraktiškas. Patikrinkite kiekvieną maršrutą atskirai, ar bendra apkrova ≤ talpa ir atvykimo laikas ∈ laiko langas.

Silpnas raginimas / stiprus raginimas

Silpnas raginimas:

Nurodykite trumpiausią šių 8 stotelių maršrutą.

Jei nėra talpos, laiko lango ir transporto priemonių skaičiaus, AI pateikia paprastą reitingą; Realiai veikiant jis neatlaiko.

Galingas raginimas:

Pasiūlykite maršruto planą šiems 8 klientams. Yra 2 automobiliai, kiekvienos talpa 100 vnt. Pridedamas kiekvieno kliento poreikis ir laiko langas. Išsiregistravimas iš sandėlio 08:00. Tarkime, kad vidutinis greitis yra 40 km/val. Išvestis: kiekvienos transporto priemonės sustojimų tvarka, bendra apkrova (neviršyti talpos), numatomas atvykimo laikas (atitinka laiko langą), bendras atstumas. Jei yra apribojimų pažeidimas, aiškiai nurodykite jį ir pasiūlykite alternatyvą. Duomenys: {{ ... }}

Antrasis raginimas aiškiai nustato apribojimus ir reikalauja, kad AI patikrintų pažeidimus. Tačiau būtina patikrinti rezultatą sprendikliu arba rankiniu būdu; AI negarantuoja absoliutaus optimalumo.

Optimalus ar tiesiog „geras“?

Čia yra kritinė koncepcija: sprendimas, kurį randa AI (ir dauguma praktinių metodų), dažnai yra geras sprendimas (euristinis), o ne optimalus. Tikrąjį optimalumą randa matematinis sprendėjas (pvz., OR-Tools, Gurobi, PuLP), išsprendžiantis teisingai sukonstruotą modelį. AI vaidmuo yra sukurti modelį, o ne jį išspręsti.

Parašykite modelio skeletą, kad išspręstumėte šią transportavimo problemą su Python PuLP:- Sprendimo kintamieji x[i][j] (i gamykla, j centras)- Tikslas: bendrų sąnaudų minimizavimas- Apribojimas: kiekvienos gamyklos pasiūla, kiekvieno centro paklausa, x >= 0Kodą paaiškinkite komentarais, bet aš įvesiu skaitinius duomenis. Taip pat: nurodykite, kokius patikrinimus turiu atlikti, kai pasirodys sprendimas.

Patarimas: užuot liepę dirbtiniam intelektui „parašyti kodą ir išsiaiškinti“, sakykite „parašyk kodą ir aš jį paleisiu“. Dėl to optimizavimas yra tikras sprendimas; Jūs nepasitikite dirbtinio intelekto sukurtais (ir nepatvirtintais) skaičiais, kurie sako „čia mano sprendimas“.

Sandėlio ir vietos sprendimai

Prekių išdėstymas sandėlyje tiesiogiai įtakoja paėmimo atstumą. Pagrindinis principas yra išdėstyti dažnai perkeliamus (didelės apyvartos) prekes arti paėmimo vietos (ABC vieta). AI gali parengti maketo pasiūlymo metmenis su produkto judėjimo duomenimis; Tačiau fizinius apribojimus (lentynos dydį, svorį, pavojingų medžiagų atskyrimą, šaldymo grandinę) turi prižiūrėti žmonės.

Mini dėklas: trumpas popierius, neįmanomas lauke

Platinimo įmonė per dieną atlieka 40 pristatymų su 3 automobiliais. Pramonės inžinierius Selinas AI suteikia sustojimus, užklausas ir transporto priemonių pajėgumus bei prašo maršruto plano. AI sukuria gražiai atrodantį kadrą, kurio bendras atstumas yra mažas. Bet kai Selin patikrina, ji supranta, kad suminė apkrova transporto priemonės maršrute viršija talpą 15 %; Taip pat yra dvi stotelės, kuriose klientas gali pasiimti po pietų, bet numatytas ryte. Selinas aiškiau užrašo apribojimus ragelyje ir juos atkuria, tada patikrina planą su OR-Tools. Rezultatas tampa įmanomas. Pamoka: planas, kurį AI pavadino „trumpiausiu“, iš tikrųjų nebuvo pats trumpiausias ir netgi buvo negaliojantis dėl apribojimų pažeidimų.

Dažnos klaidos

  • Apribojimų nenurodymas: Maršruto užklausa be talpos, laiko lango ir transporto priemonių skaičiaus.
  • AI klaidinimas su sprendėju: AI pateikto „optimalaus“ sprendimo priėmimas kaip tikroji sprendimo priemonė.
  • Netikrinti, ar nėra apribojimų pažeidimų: plano įgyvendinimas netikrinant sukauptos apkrovos ir atvykimo laiko.
  • Dėmesys vienam tikslui: optimizuoti tik išlaidas ir pamiršti patvarumą / riziką (priklausomybė nuo vieno tiekėjo).
  • Nenaudojant tikrų sąnaudų: modelio kūrimas pagal numatytuosius / pagamintus vieneto kaštus ir jo neatnaujinimas naudojant tikrus duomenis.

Apibendrinant

  • Kiekvienas tiekimo grandinės optimizavimas susideda iš trijų komponentų: sprendimo kintamųjų, tikslo funkcijos, apribojimų.
  • Vertingiausias AI indėlis yra verslo problemos pavertimas tinkamo modelio tipu (transportavimas, VRP, paskyrimas).
  • Pajėgumų ir laiko lango apribojimai yra labai svarbūs VRP; AI dažnai tai praleidžia, būtinai patikrinkite.
  • AI kuria, o ne sprendžia; Faktinį optimizavimą turėtų atlikti sprendėjas (PuLP, OR-Tools).
  • Be išlaidų, taip pat turėtų būti siekiama patvarumo ir rizikos; Priklausomybė nuo vieno tiekėjo / vieno maršruto yra paslėpta kaina.

Taikymo užduotis

Sukurkite tiekimo / paskirstymo problemą (pvz., 3 sandėliai, 5–8 klientai, poreikiai ir transporto priemonės talpa). Pirma, AI modeliuokite problemą kaip sprendimo kintamąjį, tikslą ir apribojimą ir įvardykite problemos tipą. Tada pateikite VRP scenarijų ir paprašykite maršruto plano; Išvestyje patys patikrinkite kiekvienos transporto priemonės bendrą apkrovą ir atvykimo laiką. Kritinis patikrinimas: rankiniu būdu sudėkite bent vienos transporto priemonės bendrą apkrovą ir palyginkite ją su talpa ir ieškokite apribojimo pažeidimo. Galiausiai, leiskite dirbtiniam intelektui parašyti tirpiklio (PuLP) kodo skeletą ir sukurti darbo eigą, neleidžiančią AI generuoti netikrų skaičių, taikant metodą „Paleidžiu sprendimą“.