Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész)

Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész)

Ebben a cikkben elmondjuk, hogyan oldottuk meg a raktárban lévő szabad cellák hiányának problémáját, és egy diszkrét optimalizálási algoritmust fejlesztettünk ki egy ilyen probléma megoldására. Beszéljünk arról, hogyan „építettük fel” az optimalizálási feladat matematikai modelljét, és milyen nehézségekbe ütköztünk az algoritmus bemeneti adatainak feldolgozása során.

Ha érdekelnek a matematika üzleti alkalmazásai, és nem félsz a képletek merev identitástranszformációitól 5. osztályos szinten, akkor üdvözöljük a macskában!

A cikk hasznos lesz azoknak, akik végrehajtják WMS-rendszerek, raktári vagy termelési logisztikai iparban dolgozók, valamint programozók, akik érdeklődnek a matematika üzleti életben való alkalmazása és a folyamatok optimalizálása iránt egy vállalatnál.

Bevezető rész

Ez a kiadvány folytatja azt a cikksorozatot, amelyben megosztjuk sikeres tapasztalatainkat az optimalizáló algoritmusok raktári folyamatokban történő megvalósításában.

В előző cikk leírja annak a raktárnak a sajátosságait, ahol megvalósítottuk WMS-rendszert, és azt is elmagyarázza, miért kellett megoldanunk a fennmaradó áruk kötegeinek klaszterezésének problémáját a megvalósítás során WMS-rendszereket, és hogyan csináltuk.

Amikor befejeztük az optimalizálási algoritmusokról szóló cikk megírását, az nagyon nagynak bizonyult, ezért úgy döntöttünk, hogy a felhalmozott anyagot 2 részre osztjuk:

  • Az első részben (ebben a cikkben) arról lesz szó, hogyan „építettük fel” a probléma matematikai modelljét, és milyen nagy nehézségekbe ütköztünk az algoritmus bemeneti adatainak feldolgozása és átalakítása során.
  • A második részben részletesen megvizsgáljuk az algoritmus nyelvi megvalósítását C + +, számítási kísérletet végzünk, és összefoglaljuk az ilyen „intelligens technológiák” vevő üzleti folyamataiban történő bevezetése során szerzett tapasztalatainkat.

Hogyan kell elolvasni egy cikket. Ha elolvasta az előző cikket, azonnal lépjen a „Létező megoldások áttekintése” fejezetre, ha nem, akkor a megoldandó probléma leírása az alábbi spoilerben található.

A vevő raktárában megoldandó probléma leírása

Szűk keresztmetszetek a folyamatokban

2018-ban befejeztük a megvalósításra váró projektet WMS-rendszerek a cseljabinszki „LD Kereskedelmi Ház” raktárában. Az „1C-Logistics: Warehouse Management 3” terméket 20 munkahelyre vezettük be: üzemeltetők WMS, raktárosok, targoncavezetők. Az átlagos raktár területe körülbelül 4 ezer m2, a cellák száma 5000, az SKU-k száma pedig 4500. A raktárban saját gyártású golyóscsapokat tárolunk, különböző méretű 1 kg-tól 400 kg-ig. A raktárban a készleteket tételesen tárolják, mivel az árukat a FIFO szerint kell kiválasztani.

A raktári folyamat automatizálási sémák tervezése során szembesültünk a nem optimális készlettárolás fennálló problémájával. A daruk tárolásának és lerakásának sajátosságai olyanok, hogy egy egységtároló cella csak egy tételből származó tételeket tartalmazhat (lásd 1. ábra). A termékek naponta érkeznek a raktárba, és minden beérkezés egy külön tétel. Összesen 1 hónapos raktári működés eredményeként 30 külön tétel jön létre, annak ellenére, hogy mindegyiket külön cellában kell tárolni. A termékeket gyakran nem egész raklapokban, hanem darabokban választják ki, és ennek eredményeként a darabkiválasztási zónában sok cellában a következő kép figyelhető meg: egy 1 m3-nél nagyobb térfogatú cellában több daru darab van, a sejttérfogat kevesebb mint 5-10%-át foglalják el.

Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész)
1. ábra: több darab fényképe egy cellában

Nyilvánvaló, hogy a tárolókapacitást nem használják ki optimálisan. A katasztrófa mértékének elképzeléséhez számokat tudok közölni: átlagosan 1-3 ilyen cella van, amelyek térfogata meghaladja az 100 m300-t, „minimális” egyenlegekkel a raktár működésének különböző időszakaiban. Mivel a raktár viszonylag kicsi, a raktári forgalmas időszakokban ez a tényező „szűk keresztmetszetté” válik, és nagymértékben lelassítja az átvétel és a kiszállítás raktári folyamatait.

Probléma megoldási ötlet

Felmerült egy ötlet: a legközelebbi dátummal rendelkező maradékokat egyetlen tételre kell csökkenteni, és az egységes tételben lévő maradékokat tömören egy cellába, vagy többbe kell helyezni, ha az egyikben nincs elég hely a teljes mennyiségű maradékot. Az ilyen „tömörítés” példája a 2. ábrán látható.

Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész)
2. ábra. A sejtekben lévő maradékok tömörítésének sémája

Ez lehetővé teszi, hogy jelentősen csökkentse az elfoglalt raktárterületet, amelyet az új áruk elhelyezésére használnak majd. Olyan helyzetben, amikor a raktári kapacitás túlterhelt, egy ilyen intézkedés rendkívül szükséges, különben egyszerűen nem lesz elegendő szabad hely az új áruk befogadására, ami a raktári elhelyezési és feltöltési folyamatok leállásához vezet, és ennek következtében az átvétel és a szállítás leállításához. Korábban, a WMS rendszer bevezetése előtt egy ilyen műveletet manuálisan hajtottak végre, ami nem volt hatékony, mivel a cellákban a megfelelő egyenlegek keresésének folyamata meglehetősen hosszú volt. Most, a WMS rendszer bevezetésével úgy döntöttünk, hogy automatizáljuk a folyamatot, felgyorsítjuk és intelligenssé tesszük.

Az ilyen probléma megoldásának folyamata 2 szakaszra oszlik:

  • az első szakaszban a tömörítéshez közeli kötegcsoportokat találunk (ez a feladat előző cikk);
  • a második szakaszban minden tételcsoportra kiszámítjuk a maradék áruk legtömörebb elhelyezését a cellákban.

Jelen cikkünkben az algoritmus második szakaszára fogunk összpontosítani.

Meglévő megoldások áttekintése

Mielőtt rátérnénk az általunk kidolgozott algoritmusok ismertetésére, érdemes röviden áttekinteni a piacon már létező rendszereket. WMS, amelyek hasonló optimális tömörítési funkcionalitást valósítanak meg.

Először is meg kell jegyezni az „1C: Enterprise 8. WMS Logistics. Raktárkezelés 4", amely az 1C tulajdonában van és a negyedik generációhoz tartozik WMS-az AXELOT által fejlesztett rendszerek. Ez a rendszer tömörítési funkcionalitást igényel, amelynek célja, hogy a különböző termékmaradványokat egyetlen közös cellában egyesítse. Érdemes megemlíteni, hogy a tömörítési funkcionalitás egy ilyen rendszerben más lehetőségeket is tartalmaz, például az áruk cellákban való elhelyezésének korrigálását az ABC osztályok szerint, de ezeken nem térünk ki.

Ha elemzi az 1C: Enterprise 8. WMS Logistics rendszer kódját. Raktárkezelés 4" (amely a funkcionalitás ezen részében van nyitva), a következőket vonhatjuk le. A maradék tömörítési algoritmus meglehetősen primitív lineáris logikát valósít meg, és szó sem lehet „optimális” tömörítésről. Természetesen nem rendelkezik a pártok csoportosításáról. Több ügyfél, akinél ilyen rendszert telepítettek, panaszkodtak a tömörítési tervezés eredményeire. Például a gyakorlatban gyakran a tömörítés során a következő helyzet fordult elő: 100 db. A tervek szerint a megmaradt árukat egyik cellából a másik cellába helyezik át, ahol 1 db található. árukat, bár időfelhasználás szempontjából optimális ennek az ellenkezője.

Ezenkívül számos külföldi országban deklarálják a cellákban maradó áruk tömörítésének funkcionalitását. WMS-rendszereket, de sajnos nincs valódi visszajelzésünk az algoritmusok hatékonyságáról (ez üzleti titok), még kevésbé a logikájuk mélységéről (tulajdonos zárt forráskódú szoftver), így nem tudjuk megítélni.

Keresse meg a probléma matematikai modelljét

Ahhoz, hogy egy probléma megoldására jó minőségű algoritmusokat tervezhessünk, először egyértelműen matematikailag kell megfogalmazni ezt a problémát, amit meg is fogunk tenni.

Sok sejt van Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész), amelyek egyes áruk maradványait tartalmazzák. A továbbiakban az ilyen sejteket donorsejteknek nevezzük. Jelöljük Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) a cellában lévő áru mennyisége Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész)$.

Fontos elmondani, hogy egy tételből csak egy termék, vagy több, korábban egy klaszterbe egyesített tétel (olvassa el: előző cikk), ami az áruk tárolásának és tárolásának sajátosságaiból adódik. A különböző termékeknek vagy különböző kötegcsoportoknak saját külön tömörítési eljárást kell futtatniuk.

Sok sejt van Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész), amelybe potenciálisan donorsejtekből származó maradványok helyezhetők el. Az ilyen cellákat a továbbiakban tárolócelláknak nevezzük. Ezek lehetnek szabad sejtek a raktárban vagy donor sejtek egy fajtából Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész). Mindig bőven Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) egy részhalmaz Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész).

Minden egyes cellához Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) sokaktól Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) Kapacitáskorlátozásra került sor Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész), dm3-ben mérve. Egy dm3 egy 10 cm-es oldalú kocka, a raktárban tárolt termékek meglehetősen nagyok, így ebben az esetben egy ilyen diszkretizálás bőven elegendő.

Adott a legrövidebb távolságok mátrixa Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) méterben az egyes cellák között Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész)Ahol Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) и Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) halmazokhoz tartoznak Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) и Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) volt.

Jelöljük Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) az áruk cellából történő kiszállításának „költségei”.Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) egy sejtbe Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész). Jelöljük Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) konténer kiválasztásának „költségei”. Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) hogy más sejtekből származó maradványokat mozgassanak belé. Hogyan és milyen mértékegységekben számítják ki az értékeket Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) и Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) tovább vizsgáljuk (lásd a bemeneti adatokat előkészítő részt), egyelőre elég annyit mondani, hogy ezek az értékek egyenesen arányosak lesznek az értékekkel Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) и Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) volt.

Jelöljük azzal Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) olyan változó, amely 1-et vesz fel, ha a maradék a cellából származik Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) konténerbe került Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész), egyébként pedig 0. Jelöljük azzal Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) egy olyan változó, amely 1 értéket vesz fel, ha a tároló Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) tartalmazza a fennmaradó árukat, és 0 egyébként.

A feladat leírása a következő: annyi konténert kell találnod Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) és így a donorsejteket „csatlakoztassa” a tárolósejtekhez a funkció minimalizálása érdekében

Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész)

korlátozások alatt

Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész)

Összességében a probléma megoldásának kiszámításakor arra törekszünk, hogy:

  • először is a tárolási kapacitás megtakarítása érdekében;
  • másodsorban a raktárosok idejét takarítsuk meg.

Az utolsó korlátozás azt jelenti, hogy nem szállíthatunk árut olyan konténerbe, amelyet nem mi választottunk, és ezért nem „merült költség” a kiválasztás miatt. Ez a korlátozás azt is jelenti, hogy a cellákból a konténerbe szállított áru mennyisége nem haladhatja meg a konténer kapacitását. Egy probléma megoldása alatt konténerek halmazát értjük Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) és módszerek donor sejtek konténerekhez való rögzítésére.

Az optimalizálási probléma ezen megfogalmazása nem új keletű, és a múlt század 80-as évei óta sok matematikus tanulmányozta. A külföldi szakirodalomban 2 optimalizálási feladat van egy megfelelő matematikai modellel: Egy forrású kapacitású létesítmény helymeghatározási probléma и Több forrású kapacitású létesítmény helymeghatározási probléma (a feladatok különbségeiről később lesz szó). Érdemes elmondani, hogy a matematikai szakirodalomban ilyen két optimalizálási probléma megfogalmazása a vállalkozások helyszíni elhelyezkedése alapján fogalmazódik meg, innen ered a „Facility Location” elnevezés. Ez nagyrészt tisztelgés a hagyomány előtt, hiszen a múlt század 50-es éveiben először jelentkezett ilyen kombinatorikus problémák megoldása a logisztika területéről, leginkább a hadiipari szektorból. A vállalkozások elhelyezkedését tekintve az ilyen feladatok a következőképpen fogalmazódnak meg:

  • Véges számú város van, ahol potenciálisan lehetséges termelő vállalkozásokat elhelyezni (a továbbiakban: termelő városok). Minden gyártóvárosra meghatározzák a vállalkozás megnyitásának költségeit, valamint az ott megnyitott vállalkozás termelési kapacitásának korlátozását.
  • A városoknak véges halmaza van, ahol az ügyfelek ténylegesen tartózkodnak (a továbbiakban ügyfélvárosok). Minden ilyen ügyfélváros esetében meg van határozva a termékek iránti kereslet mennyisége. Az egyszerűség kedvéért feltételezzük, hogy csak egy termék van, amelyet a vállalkozások állítanak elő és a vásárlók fogyasztanak el.
  • Minden város-gyártó és város-ügyfél pár esetében meg van adva a szállítási költségek értéke a szükséges mennyiségű terméknek a gyártótól a megrendelőhöz való eljuttatásához.

Meg kell találnia, mely városokban nyithat vállalkozást, és hogyan köthet ügyfeleket az ilyen vállalkozásokhoz, hogy:

  • A vállalkozások nyitásának összköltsége és a szállítási költség minimális volt;
  • A nyitott vállalkozáshoz rendelt vevők kereslete nem haladta meg az adott vállalkozás termelési kapacitását.

Most érdemes megemlíteni az egyetlen különbséget e két klasszikus probléma között:

  • Egy forrású kapacitású létesítmény helymeghatározási probléma – a klienst csak egy nyitott létesítményből látják el;
  • Több forrású kapacitású létesítmény helymeghatározási probléma – az ügyfél egyszerre több nyitott létesítményből is ellátható.

A két probléma közötti ilyen különbség első pillantásra jelentéktelen, valójában azonban az ilyen problémák teljesen eltérő kombinatorikus struktúrájához, és ennek következtében teljesen eltérő megoldási algoritmusokhoz vezet. A feladatok közötti különbségeket az alábbi ábra szemlélteti.

Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész)
3. ábra. a) Több forrású kapacitású létesítmény helymeghatározási probléma

Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész)
3. ábra. b) Egyforrásos kapacitású létesítmény helymeghatározási probléma

Mindkét feladat Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész)-nehéz, vagyis nincs olyan egzakt algoritmus, ami a bemeneti adatok méretének időpolinomjában megoldana egy ilyen problémát. Egyszerűbben fogalmazva, a probléma megoldására szolgáló összes pontos algoritmus exponenciális időn belül működik, bár talán gyorsabban, mint a lehetőségek teljes keresése. A feladat óta Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész)-nehéz, akkor csak hozzávetőleges heurisztikát veszünk figyelembe, vagyis olyan algoritmusokat, amelyek következetesen az optimálishoz nagyon közeli megoldásokat számítanak ki, és elég gyorsan működnek. Ha érdekel egy ilyen feladat, itt talál egy jó áttekintést oroszul.

Ha áttérünk a cellákban lévő áruk optimális tömörítésének problémájára, akkor:

  • kliens városok donorsejtek Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) a maradék áruval,
  • gyártó városok – konténercellák Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész), amelybe a többi cellából származó maradékokat kell elhelyezni,
  • szállítási költségek – időköltségek Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) raktáros, hogy az áru mennyiségét a donor cellából mozgassa Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) konténer cellába Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész);
  • vállalkozás megnyitásának költségei - konténer kiválasztásának költségei Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész), egyenlő a tárolócella térfogatával Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész), megszorozva egy bizonyos együtthatóval a szabad mennyiségek megtakarításához (az együttható értéke mindig > 1) (lásd a bemeneti adatok előkészítése című részt).

A probléma jól ismert klasszikus megoldásaival való analógia felrajzolása után meg kell válaszolni egy fontos kérdést, amelytől függ a megoldási algoritmus architektúrájának megválasztása: a maradékok áthelyezése a donor cellából csak egybe lehetséges. és csak egy tároló (Single-Source), vagy lehetséges a maradékok több konténercellába áthelyezése (Multi-Source)?

Érdemes megjegyezni, hogy a gyakorlatban a probléma mindkét megfogalmazása megtörténik. Az alábbiakban bemutatjuk az összes ilyen beállítás előnyeit és hátrányait:

Problémás változat Az opció előnyei Az opció hátrányai
Egyetlen forrás Az árumozgatási műveletek a probléma ezen változatával kiszámítva:

  • kisebb kontrollt igényel a raktáros részéről (MINDENT kivett az egyik cellából, MINDENT egy másik konténercellába rakott), ami kiküszöböli a következő kockázatokat: hibák az áru mennyiségének újraszámításánál a „Cellába helyezés” műveletek végrehajtása során; hibák az újraszámított mennyiség TSD-be való bevitele során;
  • Nincs szükség időre az áruk számának újraszámítása a „Cellába helyezés” műveletek végrehajtásakor, és beírja azokat a TSD-be
Többforrás A probléma ezen verziójával számított tömörítések általában 10-15%-kal kompaktabbak az „Egyetlen forrás” opcióval számított tömörítésekhez képest. De azt is megjegyezzük, hogy minél kisebb a maradékok száma a donorsejtekben, annál kisebb a különbség a tömörségben Az árumozgatási műveletek a probléma ezen változatával kiszámítva:

  • nagyobb kontrollt igényel a raktáros részéről (a tervezett konténercellák mindegyikébe újra kell számolni az áthelyezett áruk mennyiségét), ami kiküszöböli a hiba kockázatát az árumennyiség újraszámításánál és a TSD-be történő adatbevitelnél a „ Put in cell” műveleteket
  • Időbe telik az áruk számának újraszámítása a „Cellába helyezés” műveletek végrehajtásakor
  • Időbe telik a „rezsi” (megáll, felmegy a raklapra, beolvassa a konténercella vonalkódját) a „Cellába helyezés” műveletek végrehajtása során.
  • Előfordul, hogy az algoritmus egy majdnem teljes raklap mennyiségét „feloszthatja” nagyszámú, megfelelő termékkel már rendelkező konténercella között, ami a vevő szemszögéből elfogadhatatlan volt.

1. táblázat: Az egyforrású és a többforrású opciók előnyei és hátrányai.

Mivel a Single-Source opciónak több előnye van, és figyelembe véve azt a tényt is, hogy minél kisebb a maradékok száma a donorsejtekben, annál kisebb a különbség a kompressziós tömörség mértékében a probléma mindkét változatára számítva, a választásunk a következőre esett: a Single-Source opciót.

Érdemes elmondani, hogy a Multi-Source opció megoldása is megtörténik. Számos hatékony algoritmus létezik a megoldására, amelyek többsége számos szállítási probléma megoldására vezethető vissza. Nemcsak hatékony algoritmusok léteznek, hanem elegánsak is, pl. itt.

Bemeneti adatok előkészítése

Mielőtt elkezdené elemezni és kidolgozni egy problémamegoldó algoritmust, el kell dönteni, hogy milyen adatokat és milyen formában adjuk meg bemenetként. A donorcellákban maradó áruk mennyiségével és a konténercellák kapacitásával nincs probléma, hiszen ez triviális - az ilyen mennyiségeket m3-ben fogják mérni, de a konténercella használatának költségeivel és a költözési költségmátrixszal nem minden. olyan egyszerű!

Nézzük először a számítást árumozgatás költségei a donor sejtből a konténersejtbe. Először is el kell dönteni, hogy milyen mértékegységekben számoljuk a mozgás költségeit. A két legkézenfekvőbb lehetőség a méter és a másodperc. Nincs értelme az utazási költségeket „tiszta” méterben számolni. Mutassuk meg ezt egy példával. Hagyja a sejtet Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) az első szinten, cellában található Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) 30 méterrel eltávolítva és a második szinten található:

  • Költözés innen Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) в Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) drágább, mint elköltözni Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) в Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész), mivel a második szintről (1,5-2 méterrel a padlótól) könnyebb lemenni, mint a másodikra ​​felmenni, bár a távolság ugyanaz lesz;
  • Mozgatás 1 db. áruk a sejtből Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) в Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) Könnyebb lesz, mint 10 darabot mozgatni. ugyanaz a termék, bár a távolság azonos lesz.

Jobb, ha a költözési költségeket másodpercekben veszi figyelembe, mivel ez lehetővé teszi mind a szintek közötti különbség, mind a mozgott áruk mennyiségének különbségét. Ahhoz, hogy a mozgatási költséget másodpercben elszámolhassuk, a mozgási műveletet elemi komponensekre kell bontanunk, és minden elemi komponens végrehajtásához időmérést kell végeznünk.

Engedd ki a cellából Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) mozog Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) PC. áru konténerben Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész). enged Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) – egy dolgozó átlagos mozgási sebessége a raktárban, m/s-ban mérve. Hadd Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) и Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) – az egyszeri műveletek átlagos sebességét 4 dm3-nek megfelelő árumennyiségre veszik, illetve helyezik el (az az átlagos mennyiség, amelyet a munkavállaló egyszerre vesz el a raktárban műveletek végrehajtása során). Hadd Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) и Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) azon cellák magassága, ahonnan a take és put műveleteket hajtják végre. Például az első szint (padló) átlagos magassága 1 m, a második szint 2 m stb. Ekkor az áthelyezési művelet teljes időtartamának kiszámítására szolgáló képlet a következő Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) következő:

Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész)

A 2. táblázat az egyes elemi műveletek végrehajtási idejére vonatkozó statisztikákat mutatja, amelyeket a raktári alkalmazottak gyűjtenek össze, figyelembe véve a tárolt áruk sajátosságait.

a művelet neve Kijelölés Átlagos
A raktárban mozgó munkás átlagos sebessége Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) 1,5 m/s
Egy művelet átlagos sebessége (4 dm3 terméktérfogat esetén) Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) 2,4 másodperc

2. táblázat: A raktári műveletek befejezésének átlagos ideje

Elhatároztuk a költözési költségek számítási módját. Most ki kell találnunk, hogyan kell kiszámítani konténercella kiválasztásának költségei. Itt minden sokkal, de sokkal bonyolultabb, mint a költözési költségeknél, mert:

  • először is, a költségeknek közvetlenül a sejt térfogatától kell függniük - a donorsejtekből átvitt maradék maradék mennyiségét jobb elhelyezni egy kisebb térfogatú tartályban, mint egy nagy tartályban, feltéve, hogy ez a térfogat teljesen belefér mindkét tartályba. Így a konténerek kiválasztásának összköltségének minimalizálásával arra törekszünk, hogy a kiválasztási területen „szűkös” szabad tárolókapacitást megtakarítsunk az áruk cellákba helyezésének későbbi műveleteinek elvégzéséhez. A 4. ábra szemlélteti a maradékanyagok nagy és kis konténerekbe történő átvitelének lehetőségeit, valamint ezeknek a szállítási lehetőségeknek a következményeit a későbbi raktári műveletekben.
  • másodszor, mivel az eredeti probléma megoldásánál pontosan minimalizálni kell az összköltséget, és ez mind a költöztetés, mind a konténerválasztás költségeinek összege, akkor a köbméterben mért cellatérfogatokat valahogy másodpercekhez kell kapcsolni, ami korántsem triviális.

Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész)
Rizs. 4. Lehetőségek a maradékok különböző űrtartalmú konténerekbe történő mozgatására.

A 4. ábrán pirossal látható azon maradék mennyisége, amely a következő áruk elhelyezésének második szakaszában már nem fér be a konténerbe.

Ez segít összekapcsolni a konténer kiválasztásához szükséges köbméteres költségeket a probléma kiszámított megoldásához szükséges következő követelmények áthelyezési költségével:

  • Szükséges, hogy az adományozó edényből az egyenlegeket a konténeres edénybe kell vinni, ha ez csökkenti a terméket tartalmazó tárolóedények számát.
  • Meg kell tartani az egyensúlyt a konténerek térfogata és a költözésre fordított idő között: ha például egy probléma új megoldásában a korábbi megoldáshoz képest nagy a térfogatnövekedés, de kicsi az időveszteség. , akkor új lehetőséget kell választani.

Kezdjük az utolsó feltétellel. A félreérthető „egyenleg” szó tisztázása érdekében felmérést végeztünk a raktári alkalmazottak körében, hogy megtudjuk a következőket. Legyen egy térfogatú tárolócella Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész), amelyhez a donorsejtekből megmaradt áruk mozgása hozzá van rendelve, és az ilyen mozgás teljes ideje egyenlő Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész). Legyen több alternatív lehetőség ugyanabból a donorsejtekből származó, azonos mennyiségű áru más konténerekbe helyezésére, ahol minden elhelyezésnek saját becslése van Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész)Ahol Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész)<Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) и Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész)Ahol Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész)>Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész).

Felteszik a kérdést: mi a minimális hangerőnövekedés Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) elfogadható, adott időveszteségi érték mellett Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész)? Magyarázzuk meg egy példával. Kezdetben a maradványokat egy 1000 dm3 (1 m3) térfogatú tartályba kellett volna helyezni, és az átviteli idő 70 másodperc volt. Lehetőség van a maradékok másik 500 dm3 térfogatú és 130 másodperces tartályba helyezésére. Kérdés: készek vagyunk-e további 60 másodpercet a raktáros idejéből az áru mozgatására fordítani, hogy 500 dm3 szabad térfogatot megspóroljunk? A raktári alkalmazottak körében végzett felmérés eredményei alapján az alábbi diagramot állítottuk össze.

Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész)
Rizs. 5. A minimálisan megengedhető térfogat-megtakarítás függésének diagramja a működési idő különbségének növekedésétől

Vagyis ha a plusz időköltség 40 másodperc, akkor csak akkor vagyunk készek rákölteni, ha a térfogatnövekedés legalább 500 dm3. Annak ellenére, hogy a függésben van egy kis nemlinearitás, a további számítások egyszerűsége érdekében feltételezzük, hogy a mennyiségek közötti függés lineáris, és az egyenlőtlenség írja le

Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész)

Az alábbi ábrán az áruk konténerekbe helyezésének alábbi módjait vesszük figyelembe.

Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész)
Rizs. 6. (a) lehetőség: 2 tartály, teljes térfogat 400 dm3, teljes idő 150 mp.
Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész)
Rizs. 6. (b) lehetőség: 2 tartály, teljes térfogat 600 dm3, teljes idő 190 mp.
Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész)
Rizs. 6. (c) lehetőség: 1 tartály, teljes térfogat 400 dm3, teljes idő 200 mp.

Az (a) lehetőség a konténerek kiválasztásához előnyösebb, mint az eredeti opció, mivel az egyenlőtlenség teljesül: (800-400)/10>=150-120, ami azt jelenti, hogy 40 >= 30. A (b) lehetőség kevésbé előnyös, mint az eredeti opció , mivel az egyenlőtlenség nem áll fenn: (800-600)/10>=190-150, amiből következik, hogy 20 >= 40. De a (c) opció nem illik bele ilyen logikába! Tekintsük ezt a lehetőséget részletesebben. Egyrészt a (800-400)/10>=200-120 egyenlőtlenség, ami azt jelenti, hogy a 40 >= 80 egyenlőtlenség nem teljesül, ami arra utal, hogy a térfogatnövekedés nem ér meg ekkora időveszteséget.

Másrészt ebben a (c) opcióban nemcsak a teljes foglalt térfogatot csökkentjük, hanem a foglalt cellák számát is, ami az első két fontos követelmény közül a fent felsorolt ​​problémák kiszámítható megoldásához. Nyilvánvalóan ahhoz, hogy ez a követelmény elkezdődjön teljesülni, szükség van egy pozitív állandó hozzáadására az egyenlőtlenség bal oldalához. Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész), és egy ilyen állandót csak akkor kell hozzáadni, ha a konténerek száma csökken. Hadd emlékeztessük erre Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) 1-gyel egyenlő változó, amikor a tároló Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) kiválasztva, és 0, ha tároló Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) nincs kiválasztva. Jelöljük Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) – sok tartály a kezdeti megoldásban és Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) – sok konténer az új megoldásban. Általában az új egyenlőtlenség így fog kinézni:

Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész)

A fenti egyenlőtlenséget átalakítva azt kapjuk

Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész)

Ez alapján van egy képletünk a teljes költség kiszámításához Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) valami megoldás a problémára:

Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész)

De most felvetődik a kérdés: milyen értéke legyen egy ilyen állandónak? Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész)? Értékének nyilvánvalóan elég nagynak kell lennie ahhoz, hogy a probléma megoldásának első követelménye mindig teljesüljön. Természetesen a konstans értéke 103 vagy 106 is lehet, de én szeretném elkerülni az ilyen „bűvös számokat”. Ha figyelembe vesszük a raktári műveletek végzésének sajátosságait, akkor több megalapozott számszerű becslést is kiszámíthatunk egy ilyen állandó értékére.

enged Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) – az egyik ABC zóna raktári cellái közötti maximális távolság, esetünkben 100 m Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) – egy raktárban lévő konténercella maximális térfogata, esetünkben 1000 dm3.

Az érték kiszámításának első módja Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész). Tekintsünk egy olyan helyzetet, amikor az első szinten 2 konténer van, amelyekben az áruk már fizikailag elhelyezkednek, vagyis maguk is donorsejtek, és az áruk ugyanazon cellákba való áthelyezésének költsége természetesen 0. szükséges ilyen értéket találni az állandóra Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész), amelyben előnyös lenne az 1-es tárolóból a maradékot mindig a 2-es tárolóba mozgatni. Az értékek behelyettesítése Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) и Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) A fent megadott egyenlőtlenségben a következőket kapjuk:

Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész)

amiből az következik

Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész)

Ha behelyettesítjük az elemi műveletek végrehajtásának átlagos idejét a fenti képletbe, azt kapjuk

Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész)

Az érték kiszámításának második módja Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész). Nézzünk egy olyan helyzetet, ahol van Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) donorsejtek, amelyekből az árut az 1-es konténerbe tervezik. Jelöljük Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) – távolság a donor sejttől Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) Az 1-es konténerhez. Van még a 2-es konténer, amely már tartalmaz árukat, és amelynek térfogata lehetővé teszi, hogy el tudja helyezni az összes többi részét Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) sejteket. Az egyszerűség kedvéért feltételezzük, hogy a donorsejtekből a konténerekbe szállított áruk mennyisége azonos és egyenlő Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész). Meg kell találni az állandó ilyen értékét Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész), amelyben az összes maradék elhelyezése Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) a cellákat a 2. tárolóba helyezni mindig jövedelmezőbb lenne, mint a különböző tartályokba helyezni:

Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész)

A kapott egyenlőtlenség átalakítása

Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész)

A mennyiség értékének „erősítése” érdekében Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész), tegyük fel Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) = 0. A raktári egyenlegek tömörítési eljárásában általában 10 cella vesz részt. A mennyiségek ismert értékeit behelyettesítve a következő állandó értéket kapjuk

Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész)

Minden opcióhoz a legnagyobb számított értéket vesszük, ez lesz a mennyiség értéke Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) az adott raktári paraméterekhez. Most a teljesség kedvéért írjuk le az összköltség kiszámításának képletét Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész) valami megvalósítható megoldásért Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész):

Diszkrét matematika a WMS-hez: Algoritmus az elemek tömörítésére a cellákban (1. rész)

Most végül is titáni erőfeszítések A bemeneti adatok átalakításával azt mondhatjuk, hogy minden bemeneti adat a kívánt formára konvertálódott, és készen áll az optimalizálási algoritmusban való használatra.

Következtetés

A gyakorlat azt mutatja, hogy az algoritmus bemeneti adatainak előkészítésének és átalakításának bonyolultságát és fontosságát gyakran alábecsülik. Ebben a cikkben kifejezetten erre a szakaszra fordítottunk nagy figyelmet, hogy megmutassuk, csak a jó minőségű és intelligensen előkészített bemeneti adatok teszik igazán értékessé az algoritmus által kiszámított döntéseket az ügyfél számára. Igen, sok képlet származéka volt, de már a kata előtt figyelmeztettünk :)

A következő cikkben végre elérkezünk ahhoz, amire a 2 korábbi publikációt szánták - egy diszkrét optimalizáló algoritmusra.

Elkészítette a cikket
Roman Shangin, a projektrészleg programozója,
First Bit cég, Cseljabinszk


Forrás: will.com

Hozzászólás