Yksikkö 7 / 9

Toimitusketjun ja logistiikan optimointi

Voitot:

  • Kyky tunnistaa toimitusketjun verkkosuunnittelun, reitin ja varaston sijoittelun ongelmat
  • Kyky käyttää tekoälyä skenaarioiden luomisessa, rajoitteiden luetteloinnissa ja optimointimallin rakentamisessa
  • Kyky validoida tekoälyehdotuksia kustannus-, kapasiteetti- ja toimitusrajoittein

Toimitusketju on koko materiaali-, tiedon- ja rahavirta raaka-aineista loppuasiakkaalle. Jokainen päätös tässä verkostossa ( mistä hankkia, mikä varasto varastoida, mikä reitti lähettää) löytää tasapainon kustannusten, nopeuden ja kestävyyden välillä. Optimointi ei ole tässä taikuutta, se tarkoittaa hyvin määriteltyä tavoitefunktiota ja rajoituksia. Tekoäly on tällä alueella erittäin voimakas ongelman jäsentämisessä, skenaarioiden luomisessa, rajoitusten luetteloinnissa ja optimointimallin laatimisessa; Mutta "paras ratkaisu" -vaatimukset on aina validoitava rajoitusten ja todellisten kustannusten perusteella. Tässä osiossa keskustelemme verkon suunnittelusta, reitin optimoinnista ja varastopäätöksistä tekoälytuen avulla.

Toimitusketjun optimointiongelmien kartta

Optimointiongelmien tunnistaminen on ensimmäinen askel oikean mallin rakentamisessa.

ongelma

päätösmuuttuja

Tyypillinen tarkoitus

verkon suunnittelu

Mikä laitos/varasto pitäisi avata?

Kiinteät + muuttuvat kustannukset yhteensä min

Toimeksianto/jako

Mikä asiakas mistä varastosta?

Kuljetuskulut min

Ajoneuvon reititys (VRP)

Mikä ajoneuvo tekee minkäkin pysäkin, missä järjestyksessä?

Kokonaismatka/aika min

varaston layout

Mihin tuotteet kannattaa sijoittaa?

Keräilyetäisyys min

Kuljetustavan valinta

Maa/meri/ilma

Kustannus-nopeus tasapaino

Jokaisen ongelman yhteinen viitekehys on sama: päätösmuuttujat, tavoitefunktio, rajoitteet. Tekoälyn arvokkain panos on se, että se auttaa sinua muuttamaan liiketoimintaongelman näihin kolmeen osaan.

Rooli: Olet toimitusketjun optimointiin erikoistunut teollisuusinsinööri. Tehtävä: Käännä seuraava liiketoimintaongelma optimointimalliksi. Määritä: (1) päätösmuuttujat, (2) tavoitefunktio, (3) rajoitteet (kapasiteetti, kysyntätyytyväisyys, ei-negatiivisuus), (4) tämän ongelman tyyppi. Ongelma: "Meillä on 3 tehdasta ja 5 jakelukeskusta. Jokaisen tehtaan kapasiteetti ja kunkin keskuksen kysyntä ovat varmoja. Kuljetusyksikkökustannukset tehtaalta keskustaan ​​ovat erilaisia. Minimoi kuljetuksen kokonaiskustannukset Haluamme ladata sen." Sääntö: Nimeä mallin tyyppi (esim. kuljetusongelma), kirjoita oletukset selkeästi.

Tämä on klassinen kuljetusongelma. Tekoäly tunnistaa tämän ja rakentaa oikean matemaattisen luurangon; Sijoitat myös todellisia kapasiteetti- ja kysyntätietoja.

Reitin optimointi (VRP) ja rajoitusten tärkeys

Ajoneuvojen reititys on käytännössä yleisin ja virheellisesti todettu ongelma. Yksinkertaisen "lyhimmän polun" (TSP) ja todellisen VRP:n välillä on suuri ero: ajoneuvon kapasiteetti, aikaikkunat (tunnit, jolloin asiakas voi noutaa), ajoaikarajoitukset, useita ajoneuvoja.

Varoitus: Kun tekoäly suosittelee reittiä, se usein "unohtaa" tai arvioi kapasiteetin ja aikaikkunan rajoitukset. Reitti, jossa on enemmän rahtia kuin ajoneuvo pystyy kantamaan, saattaa vaikuttaa "lyhyeltä", mutta se on epäkäytännöllinen. Tarkista jokainen reitti erikseen kokonaiskuorma ≤ kapasiteetti ja saapumisaika ∈ aikaikkuna.

Heikko kehote / Vahva kehote

Heikko kehote:

Anna näille 8 pysäkille lyhin reitti.

Jos kapasiteettia, aikaikkunaa ja ajoneuvojen määrää ei ole, tekoäly antaa yksinkertaisen järjestyksen; Se ei kestä todellisessa käytössä.

Tehokas kehotus:

Ehdota reittisuunnitelmaa seuraaville 8 asiakkaalle. Ajoneuvoja on 2 kappaletta, kunkin kapasiteetti on 100 yksikköä. Liitteenä on jokaisen asiakkaan kysyntä- ja aikaikkuna. Uloskirjautuminen varastosta 08:00. Oletetaan keskinopeudeksi 40 km/h. Tulos: kunkin ajoneuvon pysähdysjärjestys, kumulatiivinen kuorma (ei ylitä kapasiteettia), arvioidut saapumisajat (sopimaan aikaikkunaan), kokonaismatka. Jos rajoituksia on rikottu, kerro se selkeästi ja ehdota vaihtoehtoa. Tiedot: {{ ... }}

Toinen kehote asettaa nimenomaisesti rajoituksia ja pyytää rikkomusten tarkistusta tekoälyltä. On kuitenkin tärkeää varmistaa tulos ratkaisijalla tai manuaalisesti; AI ei takaa absoluuttista optimaalisuutta.

Optimaalinen vai vain "hyvä"?

Tässä on kriittinen käsite: tekoälyn (ja useimpien käytännön menetelmien) löytämä ratkaisu on usein hyvä ratkaisu (heuristinen), ei optimaalinen. Todellisen optimaalisen löytää matemaattinen ratkaisija (kuten OR-Tools, Gurobi, PuLP), joka ratkaisee oikein rakennetun mallin. Tekoälyn tehtävänä on rakentaa malli, ei ratkaista sitä.

Kirjoita mallirunko seuraavan kuljetusongelman ratkaisemiseksi Python PuLP:lla:- Päätösmuuttujat x[i][j] (i tehdas, j keskus)- Tavoite: kokonaiskustannusten minimointi- Rajoitus: jokaisen tehtaan tarjonta, kunkin keskuksen kysyntä, x >= 0 Selitä koodi kommenteilla, mutta syötän numerotiedot. Myös: luettele mitä tarkistuksia minun on tehtävä, kun ratkaisu tulee ulos.

Vinkki: Sen sijaan, että käskeisit tekoälyä "kirjoittaa koodi ja selvittää se", sano sille "kirjoita koodi, niin minä suoritan sen". Tämä tekee optimoinnista todellisen ratkaisijan; Et luota tekoälyn keksimiin (ja vahvistamattomiin) numeroihin, joissa sanotaan "tässä on ratkaisuni".

Varasto- ja sijaintipäätökset

Tuotesijoittelu varastossa vaikuttaa suoraan keräilyetäisyyteen. Perusperiaatteena on sijoittaa usein liikkuvat (korkea vaihtuvuus) tavarat lähelle keräilypistettä (ABC-sijoitus). Tekoäly voi tuottaa asetteluehdotuksen luonnoksen tuotteen liiketiedoista; Fyysisiä rajoituksia (hyllyn koko, paino, vaarallisten aineiden erottelu, kylmäketju) on kuitenkin valvottava ihmisten toimesta.

Mini Case: lyhyt paperi, mahdotonta kentällä

Jakeluyhtiö tekee 40 toimitusta päivässä 3 ajoneuvolla. Teollisuusinsinööri Selin antaa pysähdykset, pyynnöt ja ajoneuvokapasiteetit tekoälylle ja pyytää reittisuunnitelmaa. Tekoäly tuottaa kuvan, joka näyttää hyvältä ja jonka kokonaisetäisyys on pieni. Mutta kun Selin tarkistaa, hän tajuaa, että ajoneuvon reitin kumulatiivinen kuormitus ylittää kapasiteetin 15 %; Siellä on myös kaksi pysäkkiä, joista asiakas voi noutaa iltapäivällä, mutta aikataulu on aamulla. Selin kirjoittaa rajoitukset selkeämmin kehotteeseen ja toistaa ne, sitten tarkistaa suunnitelman OR-Toolsilla. Tuloksesta tulee toteuttamiskelpoinen. Oppitunti: Suunnitelma, jota tekoäly kutsui "lyhyimmäksi", ei itse asiassa ollut lyhin ja jopa virheellinen rajoitusrikkomusten vuoksi.

Yleisiä virheitä

  • Ei määritetä rajoituksia: Reitin pyytäminen ilman kapasiteettia, aikaikkunaa ja ajoneuvojen määrää.
  • Tekoälyn erehtyminen ratkaisijaksi: Tekoälyn antaman "optimaalisen" ratkaisun hyväksyminen todellisena ratkaisijan lähtönä.
  • Ei tarkista rajoitusrikkomuksia: Suunnitelman toteuttaminen tarkistamatta kumulatiivista kuormaa ja saapumisaikoja.
  • Keskittyminen yhteen tavoitteeseen: Optimoi vain kustannukset ja unohda kestävyys/riski (riippuvuus yhdestä toimittajasta).
  • Ei käytä todellisia kustannuksia: Mallin rakentaminen oletus-/valmistetuilla yksikkökustannuksilla, eikä sitä päivitetä todellisilla tiedoilla.

Yhteenvetona

  • Jokainen toimitusketjun optimointi tiivistyy kolmeen osaan: päätösmuuttujat, tavoitefunktio, rajoitukset.
  • Tekoälyn arvokkain panos on liiketoiminnan ongelman kääntäminen oikeaan mallityyppiin (kuljetus, VRP, toimeksianto).
  • Kapasiteetti- ja aikaikkunarajoitukset ovat ratkaisevia VRP:ssä; AI ohittaa nämä usein, muista tarkistaa ne.
  • AI rakentaa, ei ratkaise; Ratkaisijan (PuLP, OR-Tools) tulee tehdä varsinainen optimointi.
  • Kustannusten lisäksi tavoitteena tulisi olla kestävyys ja riski; Riippuvuus yhdestä toimittajasta/yhdestä reitistä on piilohinta.

Sovellustehtävä

Rakenna toimitus/jakeluongelma (esim. 3 varastoa, 5-8 asiakasta, vaatimukset ja ajoneuvon kapasiteetti). Ensin on mallinnettava ongelma päätösmuuttujaksi, tavoitteeksi ja rajoitteeksi ja nimettävä ongelman tyyppi. Anna sitten VRP-skenaario ja pyydä reittisuunnitelma; Tarkista itse kunkin ajoneuvon kumulatiivinen kuorma ja saapumisajat tulosteesta. Kriittinen vahvistus: laske manuaalisesti vähintään yhden ajoneuvon kokonaiskuorma ja vertaa sitä kapasiteettiin ja etsi rajoitusrikkomus. Lopuksi pyydä tekoälyä kirjoittamaan ratkaisun (PuLP) koodirunko ja suunnittelemaan työnkulku, joka estää tekoälyä luomasta väärennettyjä numeroita käyttämällä "Ajan ratkaisua" -lähestymistapaa.