Dobici:
- Sposobnost identificiranja problema s dizajnom mreže opskrbnog lanca, trase i rasporeda skladišta
- Sposobnost korištenja umjetne inteligencije u generiranju scenarija, popisu ograničenja i izgradnji optimizacijskog modela
- Sposobnost provjere predloženih rješenja umjetne inteligencije s ograničenjima troškova, kapaciteta i isporuke
Opskrbni lanac je cijeli tok materijala, informacija i novca od sirovina do krajnjeg kupca. Svaka odluka u ovoj mreži (gdje nabaviti, koje skladište uskladištiti, kojom rutom poslati) uspostavlja ravnotežu između cijene, brzine i trajnosti. Optimizacija ovdje nije magija, ona znači dobro definiranu ciljnu funkciju i ograničenja. Umjetna inteligencija je vrlo moćna u ovom području u strukturiranju problema, generiranju scenarija, popisu ograničenja i izradi modela optimizacije; Ali tvrdnje o "najboljem rješenju" uvijek moraju biti potvrđene u odnosu na ograničenja i stvarne troškove. U ovoj jedinici raspravljat ćemo o dizajnu mreže, optimizaciji rute i odlukama o skladištu uz podršku umjetne inteligencije.
Karta problema optimizacije opskrbnog lanca
Prepoznavanje optimizacijskih problema prvi je korak u izgradnji pravog modela.
problem
varijabla odluke
Tipična namjena
projektiranje mreže
Koji objekt/skladište otvoriti?
Ukupni fiksni + varijabilni trošak min
Dodjeljivanje/dodjela
Koji kupac s kojeg skladišta?
Cijena prijevoza min
Usmjeravanje vozila (VRP)
Koje vozilo se zaustavlja, kojim redoslijedom?
Ukupna udaljenost/vrijeme min
raspored skladišta
Gdje treba smjestiti proizvode?
Razmak branja min
Izbor načina prijevoza
Zemlja/more/zrak
Ravnoteža cijene i brzine
Zajednički okvir svakog problema je isti: varijable odluke, funkcija cilja, ograničenja. Najvrjedniji doprinos umjetne inteligencije je to što vam pomaže prevesti poslovni problem u ove tri komponente.
Uloga: Vi ste industrijski inženjer specijaliziran za optimizaciju opskrbnog lanca. Zadatak: Prevedite sljedeći poslovni problem u optimizacijski model. Navedite: (1) varijable odluke, (2) ciljnu funkciju, (3) ograničenja (kapacitet, zadovoljenje potražnje, nenegativnost), (4) vrstu ovog problema. Problem: "Imamo 3 tvornice i 5 distribucijskih centara. Kapacitet svake tvornice i potražnja svakog centra su određeni. Jedinični troškovi transporta od tvornice do centra su različiti. Minimizirajte ukupne troškove transporta. Želimo ga preuzeti." Pravilo: Imenujte vrstu modela (npr. problem transporta), jasno napišite pretpostavke.
Ovo je klasičan transportni problem. AI to može prepoznati i izgraditi ispravan matematički kostur; Također postavljate podatke o stvarnom kapacitetu i potražnji.
Optimizacija rute (VRP) i važnost ograničenja
Rutiranje vozila je najčešće susrećen i netočno utvrđen problem u praksi. Postoji velika razlika između jednostavnog "najkraćeg puta" (TSP) i pravog VRP-a: kapacitet vozila, vremenski prozori (sati kada kupac može preuzeti), vremenska ograničenja vožnje, više vozila.
Oprez: kada umjetna inteligencija preporuči rutu, često "zaboravi" ili približna ograničenja kapaciteta i vremenskog okvira. Ruta natovarena s više tereta nego što vozilo može prevesti može se činiti "kratkom", ali je nepraktična. Provjerite svaku rutu pojedinačno za ukupno opterećenje ≤ kapacitet i vrijeme dolaska ∈ vremenski okvir.
Slab upit / Jak upit
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. Postoje 2 vozila, kapacitet svakog je 100 jedinica. Svaki zahtjev kupca i vremenski okvir su priloženi. Odjava iz skladišta08:00. Pretpostavimo da je prosječna brzina 40 km/h. Izlaz: redoslijed zaustavljanja za svako vozilo, kumulativno opterećenje (ne smije premašiti kapacitet), procijenjeno vrijeme dolaska (kako bi odgovaralo vremenskom prozoru), ukupna udaljenost. Ako postoji kršenje ograničenja, jasno to navedite i predložite alternativu. Podaci: {{ ... }}
Drugi prompt izričito nameće ograničenja i zahtijeva provjeru kršenja od AI-ja. Međutim, bitno je provjeriti rezultat s rješavačem ili ručno; AI ne jamči 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 (heuristika), a ne optimalno. Pravi optimalni se pronalazi matematičkim rješavačem (kao što je OR-Tools, Gurobi, PuLP) koji rješava ispravno konstruirani model. Uloga umjetne inteligencije je izgraditi model, a ne riješiti ga.
Napišite kostur modela za rješavanje sljedećeg transportnog problema s Python PuLP:- Varijable odluke x[i][j] (i tvornica, j centar)- Cilj: minimizacija ukupnih troškova- Ograničenje: ponuda svake tvornice, potražnja svakog centra, x >= 0Objasnite kod s komentarima, ali ja ću unijeti numeričke podatke. Također: navedite koje provjere trebam učiniti kada rješenje izađe.
Savjet: Umjesto da kažete umjetnoj inteligenciji da "napiše kôd i shvati ga", recite mu "napišite kôd i ja ću ga pokrenuti." To optimizaciju čini pravim rješavačem; Ne vjerujete brojevima koje je izradila umjetna inteligencija (i neprovjerenim) koji govore "evo mog rješenja".
Odluke o skladištu i lokaciji
Postavljanje proizvoda u skladištu izravno utječe na udaljenost komisioniranja. Osnovno načelo je postaviti artikle koji se često premještaju (visoki promet) blizu mjesta preuzimanja (postavljanje ABC). AI može izraditi 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 nadzirati ljudi.
Mini slučaj: kratak na papiru, nemoguće na terenu
Distribucijska tvrtka vrši 40 isporuka dnevno s 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, shvati da kumulativno opterećenje na putu vozila premašuje kapacitet za 15%; Postoje i dva stajališta gdje kupac može pokupiti u poslijepodnevnim satima, ali je na rasporedu ujutro. Selin jasnije piše ograničenja na upit i reproducira ih, a zatim provjerava plan pomoću OR-Tools. Rezultat postaje izvediv. Lekcija: 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 specificiranja ograničenja: Traženje rute bez kapaciteta, vremenskog okvira i broja vozila.
- Zamjena AI-a za rješavača: prihvaćanje "optimalnog" rješenja koje daje AI kao stvarni izlaz rješavatelja.
- Bez provjere kršenja ograničenja: Provedba 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: Izrada modela sa zadanim/izmišljenim jediničnim troškovima i njegovo neažuriranje stvarnim podacima.
Ukratko
- Svaka optimizacija opskrbnog lanca svodi se na tri komponente: varijable odluke, funkciju cilja, ograničenja.
- Najvrjedniji doprinos umjetne inteligencije je prevođenje poslovnog problema u pravu vrstu modela (prijevoz, VRP, dodjela).
- Ograničenja kapaciteta i vremenskog prozora ključna su u VRP-u; AI ih često preskače, svakako ih provjerite.
- AI gradi, a ne rješava; Rješivač (PuLP, OR-Tools) trebao bi izvršiti stvarnu optimizaciju.
- Osim cijene, cilj bi također trebao biti trajnost i rizik; Ovisnost o jednom dobavljaču/jednoj ruti je skriveni trošak.
Zadatak aplikacije
Konstruirajte problem opskrbe/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 vrstu problema. Zatim dajte VRP scenarij i zatražite plan rute; Provjerite kumulativno opterećenje i vremena dolaska svakog vozila sami u izlazu. Kritična provjera: ručno zbrojite ukupno opterećenje barem jednog vozila i usporedite ga s kapacitetom i potražite kršenje ograničenja. Konačno, neka umjetna inteligencija napiše kostur koda rješavača (PuLP) i osmisli tijek rada koji sprječava umjetnu inteligenciju da generira lažne brojeve, uz pristup "ja ću pokrenuti rješenje".