Jedinica 7 / 9

Optimizacija lanca nabavke i logistike

Dobici:

  • Sposobnost identifikovanja problema dizajna mreže lanca snabdevanja, rute i rasporeda skladišta
  • Sposobnost korištenja AI u generiranju scenarija, popisu ograničenja i konstrukciji optimizacijskog modela
  • Sposobnost potvrđivanja rješenja predloženih od umjetne inteligencije s ograničenjima troškova, kapaciteta i isporuke

Lanac nabavke je cjelokupni tok materijala, informacija i novca od sirovina do krajnjeg kupca. Svaka odluka u ovoj mreži (gdje nabaviti, koje skladište za zalihe, kojom rutom za otpremu) uspostavlja ravnotežu između cijene, brzine i trajnosti. Optimizacija ovdje nije magija, ona znači dobro definiranu funkciju cilja i ograničenja. Vještačka inteligencija je veoma moćna u ovoj oblasti u strukturiranju problema, generisanju scenarija, navođenju ograničenja i izradi optimizacionog modela; Ali tvrdnje o “najboljem rješenju” uvijek moraju biti potvrđene u odnosu na ograničenja i stvarne troškove. U ovoj jedinici ćemo razgovarati o dizajnu mreže, optimizaciji ruta i odlukama o skladištu uz podršku AI.

Mapa problema optimizacije lanca snabdevanja

Prepoznavanje problema optimizacije je prvi korak u izgradnji pravog modela.

problem

varijabla odluke

Tipična namjena

mrežni dizajn

Koji objekat/magacin treba otvoriti?

Ukupno fiksni + varijabilni troškovi min

Dodjela/dodjela

Koji kupac iz kog skladišta?

Troškovi transporta min

Usmjeravanje vozila (VRP)

Koje vozilo se zaustavlja, kojim redom?

Ukupna udaljenost/vrijeme min

raspored skladišta

Gdje treba postaviti proizvode?

Udaljenost branja min

Izbor načina transporta

Zemljište/more/zrak

Balans cijene i brzine

Zajednički okvir svakog problema je isti: varijable odluke, funkcija cilja, ograničenja. Najvredniji doprinos AI je to što vam pomaže da prevedete poslovni problem u ove tri komponente.

Uloga: Vi ste industrijski inženjer specijalizovan za optimizaciju lanca snabdevanja. Zadatak: Prevedite sljedeći poslovni problem u model optimizacije. Navedite: (1) varijable odluke, (2) ciljnu funkciju, (3) ograničenja (kapacitet, zadovoljstvo potražnje, nenegativnost), (4) vrstu ovog problema. Problem: "Imamo 3 fabrike i 5 distributivnih centara. Kapacitet svake fabrike i potražnja svakog centra su određeni. Jedinični troškovi transporta od fabrike do centra su različiti. Minimizirajte ukupne troškove transporta Želimo da ga preuzmemo." Pravilo: Navedite tip modela (npr. problem transporta), jasno napišite pretpostavke.

Ovo je klasičan transportni problem. AI može to prepoznati i izgraditi ispravan matematički kostur; Takođe postavljate podatke o stvarnom kapacitetu i potražnji.

Optimizacija rute (VRP) i važnost ograničenja

Rutiranje vozila je najčešći i pogrešno ustanovljen problem u praksi. Postoji velika razlika između jednostavnog „najkraćeg puta“ (TSP) i pravog VRP-a: kapacitet vozila, vremenski okviri (sati kada kupac može doći), ograničenja vremena vožnje, više vozila.

Oprez: Kada AI preporuči rutu, često "zaboravlja" ili približava ograničenja kapaciteta i vremenskog okvira. Ruta opterećena više tereta nego što vozilo može ponijeti može izgledati "kratko", ali je nepraktično. Provjerite svaku rutu pojedinačno za ukupno opterećenje ≤ kapacitet i vrijeme dolaska ∈ vremenski okvir.

Slaba prompt / jaka prompt

Slab upit:

Navedite najkraći put za ovih 8 stanica.

Ako nema kapaciteta, vremenskog okvira i broja vozila, AI daje jednostavno rangiranje; Ne izdržava u stvarnom radu.

Snažan upit:

Predložite plan rute za sljedećih 8 kupaca. Ima 2 vozila, kapaciteta svakog od 100 jedinica. U prilogu su zahtjevi i vremenski okvir svakog kupca. Odjava iz skladišta 08:00. Pretpostavimo da je prosječna brzina 40 km/h. Izlaz: redosljed zaustavljanja za svako vozilo, kumulativno opterećenje (da ne prelazi kapacitet), procijenjeno vrijeme dolaska (da odgovara vremenskom prozoru), ukupna udaljenost. Ako postoji kršenje ograničenja, jasno to navedite i predložite alternativu. Podaci: {{ ... }}

Drugi prompt eksplicitno nameće ograničenja i traži provjeru kršenja od AI. Međutim, bitno je provjeriti rezultat pomoću rješavača ili ručno; AI ne garantuje apsolutnu optimalnost.

Optimalno ili samo "dobro"?

Ovdje postoji kritičan koncept: rješenje koje AI (i većina praktičnih metoda) pronađe često je dobro rješenje (heurističko), a ne optimalno. Pravi optimal se pronalazi pomoću matematičkog rješavača (kao što je OR-Tools, Gurobi, PuLP) rješavajući ispravno konstruirani model. Uloga AI je da izgradi model, a ne da ga riješi.

Napišite kostur modela za rješavanje sljedećeg transportnog problema sa Python PuLP:- Varijable odlučivanja x[i][j] (i fabrika, j centar)- Cilj: minimizacija ukupnih troškova- Ograničenje: snabdijevanje svake fabrike, potražnja svakog centra, x >= 0Objasnite kod sa komentarima, ali ću unijeti numeričke podatke. Također: navedite koje provjere trebam obaviti kada rješenje izađe.

Savjet: Umjesto da kažete AI da „napiše kod i shvati ga“, recite mu „napišite kod i ja ću ga pokrenuti“. Ovo čini optimizaciju pravim rješavačem; Ne vjerujete brojevima koje je napravila umjetna inteligencija (i neprovjerenim) koji govore "evo mog rješenja".

Odluke o skladištu i lokaciji

Plasman proizvoda u skladištu direktno utiče na distancu komisioniranja. Osnovni princip je da se artikli koji se često pomeraju (veliki promet) pozicioniraju blizu mesta preuzimanja (ABC plasman). AI može proizvesti nacrt prijedloga izgleda s podacima o kretanju proizvoda; Međutim, fizička ograničenja (veličina police, težina, odvajanje opasnog materijala, hladni lanac) moraju biti pod nadzorom ljudi.

Mini kućište: kratko na papiru, nemoguće na terenu

Distributivna kompanija vrši 40 isporuka dnevno sa 3 vozila. Industrijski inženjer Selin daje zaustavljanja, zahtjeve i kapacitete vozila AI-u i traži plan rute. AI proizvodi snimak koji izgleda lijepo i ima malu ukupnu udaljenost. Ali kada Selin provjeri, ona shvata da kumulativno opterećenje na ruti vozila premašuje kapacitet za 15%; Postoje i dva stajališta na kojima kupac može doći u popodnevnim satima, ali je predviđeno ujutro. Selin jasnije upisuje ograničenja na prompt i reprodukuje ih, a zatim verifikuje plan pomoću OR-alata. Rezultat postaje izvodljiv. Pouka: Plan koji je AI nazvao "najkraćim" zapravo nije bio najkraći i čak je bio nevažeći zbog kršenja ograničenja.

Uobičajene greške

  • Bez navođenja ograničenja: Zahtjev za rutu bez kapaciteta, vremenskog okvira i broja vozila.
  • Pogrešiti AI sa rešavačem: prihvatanje "optimalnog" rešenja koje je dala AI kao stvarnog izlaza rešavača.
  • Bez provjere kršenja ograničenja: Implementacija plana bez provjere kumulativnog opterećenja i vremena dolaska.
  • Fokusiranje na jedan cilj: optimiziranje samo troškova i zaboravljanje na trajnost/rizik (ovisnost o jednom dobavljaču).
  • Ne korištenje stvarnih troškova: Izgradnja modela sa zadanim/fabrikovanim jediničnim troškovima i ne ažuriranje stvarnim podacima.

Ukratko

  • Svaka optimizacija lanca snabdevanja svodi se na tri komponente: varijable odluke, funkcija cilja, ograničenja.
  • Najvredniji doprinos AI je prevođenje poslovnog problema u pravi tip modela (transport, VRP, dodjela).
  • Ograničenja kapaciteta i vremenskog okvira su ključna u VRP-u; AI ih često preskače, obavezno ih provjerite.
  • AI gradi, a ne rješava; Rešavač (PuLP, OR-Alati) treba da uradi stvarnu optimizaciju.
  • Pored troškova, cilj bi takođe trebalo da budu trajnost i rizik; Zavisnost od jednog dobavljača/jedne rute je skriveni trošak.

Zadatak aplikacije

Konstruirajte problem nabavke/distribucije (npr. 3 skladišta, 5-8 kupaca, potražnja i kapacitet vozila). Prvo, neka AI modelira problem kao varijablu odluke, cilj i ograničenje i imenuje tip problema. Zatim dajte VRP scenario i zatražite plan rute; U izlazu provjerite ukupno opterećenje i vrijeme dolaska svakog vozila. Kritična provjera: ručno zbrojite ukupno opterećenje najmanje jednog vozila i uporedite ga s kapacitetom i potražite kršenje ograničenja. Konačno, neka AI napiše kostur koda rješavača (PuLP) i dizajnira radni tok koji sprječava AI da generiše lažne brojeve, s pristupom "Ja ću pokrenuti rješenje".