
Nkan naa ṣe apejuwe bi o ṣe le ṣe WMS-eto, a dojuko iwulo lati yanju iṣoro iṣupọ ti kii ṣe boṣewa ati kini awọn algoridimu ti a lo lati yanju rẹ. A yoo sọ fun ọ bii a ṣe lo eto eto, ọna imọ-jinlẹ lati yanju iṣoro naa, awọn iṣoro wo ni a koju ati awọn ẹkọ wo ni a kọ.
Atẹjade yii bẹrẹ lẹsẹsẹ awọn nkan ninu eyiti a pin iriri aṣeyọri wa ni imuse awọn algoridimu iṣapeye ni awọn ilana ile itaja. Idi ti jara ti awọn nkan ni lati mọ awọn olugbo pẹlu awọn iru awọn iṣoro iṣapeye ti awọn iṣẹ ile-iṣọ ti o dide ni o fẹrẹ to eyikeyi alabọde ati ile-itaja nla, ati lati sọ nipa iriri wa ni yiyanju iru awọn iṣoro ati awọn ọfin ti o pade ni ọna . Awọn nkan naa yoo wulo fun awọn ti o ṣiṣẹ ni ile-iṣẹ eekaderi ile-itaja, imuse WMS-awọn ọna ṣiṣe, ati awọn olupilẹṣẹ ti o nifẹ si awọn ohun elo ti mathimatiki ni iṣowo ati iṣapeye awọn ilana ni ile-iṣẹ kan.
Bottleneck ni awọn ilana
Ni ọdun 2018, a pari iṣẹ akanṣe kan lati ṣe WMS-awọn ọna šiše ni ile ise ti awọn ile-iṣẹ "Trading House" LD" ni Chelyabinsk. A ṣe imuse ọja naa “1C-Logistics: Warehouse Management 3” fun awọn ibi iṣẹ 20: awọn oniṣẹ WMS, awọn olutọju ile itaja, awọn awakọ orita. Ile-ipamọ apapọ jẹ nipa 4 ẹgbẹrun m2, nọmba awọn sẹẹli jẹ 5000 ati nọmba awọn SKU jẹ 4500. Ile-ipamọ naa tọju awọn falifu bọọlu ti iṣelọpọ tiwa ti awọn titobi pupọ lati 1 kg si 400 kg. Oja ti o wa ninu ile-itaja ti wa ni ipamọ ni awọn ipele, nitori iwulo wa lati yan awọn ẹru ni ibamu si FIFO.
Nigbati o ba n ṣe apẹrẹ awọn igbero adaṣe ilana ile-itaja, a dojuko pẹlu iṣoro ti o wa ti ibi ipamọ akojo oja ti ko dara julọ. Awọn pato ti titoju ati awọn cranes jijẹ jẹ iru pe sẹẹli ibi-itọju ẹyọ kan le ni awọn ohun kan ninu ipele kan nikan. Awọn ọja de ile-itaja lojoojumọ ati dide kọọkan jẹ ipele lọtọ. Lapapọ, bi abajade ti oṣu 1 ti iṣẹ ile-iṣọ, awọn ipele lọtọ 30 ni a ṣẹda, botilẹjẹpe o yẹ ki o tọju ọkọọkan ni sẹẹli lọtọ. Awọn ọja nigbagbogbo yan kii ṣe ni awọn pallets gbogbo, ṣugbọn ni awọn ege, ati bi abajade, ni agbegbe yiyan nkan ni ọpọlọpọ awọn sẹẹli, a ṣe akiyesi aworan atẹle: ninu sẹẹli pẹlu iwọn didun ti o ju 1 m3, awọn ege cranes pupọ wa ti gba kere ju 5-10% ti iwọn didun sẹẹli.
olusin 1. Fọto ti awọn ege pupọ ti awọn ẹru ni sẹẹli kan
O han gbangba pe agbara ipamọ ko ni lilo ni aipe. Lati ṣe akiyesi iwọn ti ajalu naa, Mo le fun awọn nọmba: ni apapọ, o wa lati 1 si 3 awọn sẹẹli ti iru awọn sẹẹli pẹlu iwọn didun ti o ju 100 m300 lọ pẹlu awọn iwọntunwọnsi "iyokuro" ni awọn akoko oriṣiriṣi ti iṣẹ ile-iṣọ. Niwọn igba ti ile-itaja naa kere pupọ, lakoko awọn akoko ti o nšišẹ ile-itaja, ifosiwewe yii di “ọrun igo” ati fa fifalẹ awọn ilana ile-itaja pupọ.
Isoro ojutu agutan
Ero kan dide: awọn ipele ti ajẹkù pẹlu awọn ọjọ ti o sunmọ julọ yẹ ki o dinku si ipele ẹyọkan, ati iru awọn ajẹkù ti o ni ipele ti iṣọkan yẹ ki o gbe papọ ni sẹẹli kan tabi ni ọpọlọpọ, ti ko ba si aaye ti o to ni ọkan lati gba aaye naa. gbogbo iye ti ajẹkù.

Fig.2. Eto fun compressing awọn iṣẹku ninu awọn sẹẹli
Eyi n gba ọ laaye lati dinku aaye ile itaja ti o tẹdo ti yoo ṣee lo fun gbigbe awọn ẹru tuntun. Ni ipo kan nibiti agbara ile-itaja ti jẹ apọju, iru iwọn bẹ jẹ pataki pupọ, bibẹẹkọ o le jiroro ko ni aaye ọfẹ to lati gba awọn ẹru tuntun, eyiti yoo ja si iduro ni gbigbe ile-itaja ati awọn ilana isọdọtun. Ni iṣaaju ṣaaju imuse WMS-awọn ọna ṣiṣe ṣe iṣẹ ṣiṣe pẹlu ọwọ, eyiti ko doko, nitori ilana wiwa fun awọn iṣẹku ti o dara ninu awọn sẹẹli jẹ pipẹ pupọ. Bayi, pẹlu ifihan ti eto WMS, a pinnu lati ṣe adaṣe ilana naa, yiyara ati jẹ ki o ni oye.
Ilana ti yanju iru iṣoro kan ti pin si awọn ipele meji:
- ni ipele akọkọ a wa awọn ẹgbẹ ti awọn ipele ti o sunmọ ni ọjọ fun titẹkuro;
- ni ipele keji, fun ẹgbẹ kọọkan ti awọn ipele a ṣe iṣiro ipo iwapọ julọ ti awọn ọja to ku ninu awọn sẹẹli.
Ninu nkan ti o wa lọwọlọwọ a yoo dojukọ ipele akọkọ ti algorithm, ati fi agbegbe ti ipele keji silẹ fun nkan atẹle.
Wa awoṣe mathematiki ti iṣoro naa
Ṣaaju ki a to joko lati kọ koodu ati tun kẹkẹ wa pada, a pinnu lati sunmọ iṣoro yii ni imọ-jinlẹ, eyun: ṣe agbekalẹ rẹ ni mathematiki, dinku rẹ si iṣoro iṣapeye iyasọtọ ti a mọ daradara ati lo awọn algoridimu to munadoko lati yanju rẹ, tabi mu awọn algoridimu ti o wa tẹlẹ. gẹgẹbi ipilẹ ati ṣe atunṣe wọn si awọn pato ti iṣoro ti o wulo ti a yanju.
Niwọn bi o ti tẹle ni kedere lati iṣelọpọ iṣowo ti iṣoro ti a nṣe pẹlu awọn eto, a yoo ṣe agbekalẹ iru iṣoro bẹ ni awọn ofin ti ilana iṣeto.
Jẹ ki
- Eto gbogbo awọn ipele ti iyoku ọja kan ninu ile-itaja kan. Jẹ ki
- fun ibakan ti awọn ọjọ. Jẹ ki
- ipin ti awọn ipele, nibiti iyatọ ninu awọn ọjọ fun gbogbo awọn orisii awọn ipele ni ipin ko kọja igbagbogbo
. A nilo lati wa nọmba ti o kere julọ ti awọn ipin ipin
, iru awọn ti gbogbo subsets
ya papo yoo fun ọpọlọpọ
.
Ni awọn ọrọ miiran, a nilo lati wa awọn ẹgbẹ tabi awọn iṣupọ ti awọn ẹgbẹ ti o jọra, nibiti a ti pinnu iyasọtọ ibajọra nipasẹ igbagbogbo.
. Iṣẹ-ṣiṣe yii leti wa ti iṣoro iṣupọ ti a mọ daradara. O ṣe pataki lati sọ pe iṣoro ti o wa labẹ ero yatọ si iṣoro iṣupọ ni pe iṣoro wa ni ipo ti o muna ni pato fun ami-ara ti ibajọra ti awọn eroja iṣupọ, ti pinnu nipasẹ igbagbogbo.
, ṣugbọn ninu iṣoro iṣupọ ko si iru ipo bẹẹ. Alaye ti iṣoro iṣupọ ati alaye lori iṣoro yii ni a le rii
Nitorinaa, a ṣakoso lati ṣe agbekalẹ iṣoro naa ati rii iṣoro kilasika kan pẹlu agbekalẹ iru kan. Bayi o jẹ dandan lati ṣe akiyesi awọn algoridimu ti a mọ daradara fun lohun rẹ, ki o má ba ṣe atunṣe kẹkẹ, ṣugbọn lati mu awọn iṣẹ ti o dara julọ ati lo wọn. Lati yanju iṣoro iṣupọ, a gbero awọn algoridimu olokiki julọ, eyun:
- tumo si
-tumosi, alugoridimu fun idamo ti sopọ irinše, kere leta ti igi alugoridimu. Apejuwe ati itupalẹ iru awọn algoridimu le ṣee ri
Lati yanju iṣoro wa, awọn algoridimu akojọpọ
- tumo si ati
- tumo si ni o wa ko wulo ni gbogbo, niwon awọn nọmba ti awọn iṣupọ ti wa ni ko mọ ilosiwaju
ati iru awọn algoridimu ko ṣe akiyesi idinamọ awọn ọjọ igbagbogbo. Iru aligoridimu won lakoko asonu lati ero.
Lati yanju iṣoro wa, alugoridimu fun idanimọ awọn paati ti a ti sopọ ati algorithm igi ti o kere ju ni o dara julọ, ṣugbọn, bi o ti wa ni jade, wọn ko le lo “ori-lori” si iṣoro ti o yanju ati gba ojutu to dara. Lati ṣe alaye eyi, jẹ ki a ṣe akiyesi ọgbọn ti iṣiṣẹ ti iru awọn algoridimu ni ibatan si iṣoro wa.
Ro awonya
, ninu eyiti awọn vertices ni o wa ni ṣeto ti ẹni
, ati eti laarin awọn inaro
и
ni iwuwo dogba si iyatọ ti awọn ọjọ laarin awọn ipele
и
. Ninu algorithm fun idamo awọn paati ti a ti sopọ, paramita titẹ sii ti wa ni pato
nibo
, ati ninu awonya
gbogbo awọn egbegbe fun eyi ti awọn àdánù jẹ tobi ti wa ni kuro
. Awọn orisii nkan ti o sunmọ julọ nikan ni o wa ni asopọ. Ojuami ti algorithm ni lati yan iru iye kan
, ninu eyiti awọn aworan “ṣubu yato si” sinu ọpọlọpọ awọn paati ti a ti sopọ, nibiti awọn ẹgbẹ ti o jẹ ti awọn paati wọnyi yoo ni itẹlọrun ni itẹlọrun ibajọra wa, ti pinnu nipasẹ igbagbogbo
. Abajade irinše ni o wa awọn iṣupọ.
Algorithm igi ti o kere ju kọkọ kọ lori aworan kan
igi gigun ti o kere ju, ati lẹhinna yọkuro awọn egbegbe pẹlu iwuwo ti o ga julọ titi ti ayaworan “ṣubu yato si” sinu ọpọlọpọ awọn paati ti o ni asopọ, nibiti awọn ẹgbẹ ti o jẹ ti awọn paati wọnyi yoo tun ni itẹlọrun ami afijọra wa. Abajade irinše yoo jẹ awọn iṣupọ.
Nigbati o ba nlo iru awọn algoridimu bẹ lati yanju iṣoro ti o wa labẹ ero, ipo kan le dide bi ninu Nọmba 3.

Aworan 3. Ohun elo ti awọn algoridimu iṣupọ si iṣoro ti o yanju
Jẹ ki a sọ pe igbagbogbo wa fun iyatọ laarin awọn ọjọ ipele jẹ ọjọ 20. Aworan
ti ṣe afihan ni fọọmu aaye fun irọrun ti iwo wiwo. Awọn algoridimu mejeeji ṣe agbejade ojutu iṣupọ 3, eyiti o le ni ilọsiwaju ni irọrun nipasẹ apapọ awọn ipele ti a gbe sinu awọn iṣupọ lọtọ pẹlu ara wọn! O han gbangba pe iru awọn algoridimu nilo lati ṣe atunṣe lati baamu awọn pato ti iṣoro ti o yanju, ati ohun elo wọn ni fọọmu mimọ rẹ si ojutu ti iṣoro wa yoo fun awọn abajade ti ko dara.

Nitorinaa, ṣaaju ki a to bẹrẹ kikọ koodu fun awọn algoridimu ayaworan ti a ṣe atunṣe fun iṣẹ-ṣiṣe wa ati tunṣe kẹkẹ tiwa (ninu awọn ojiji biribiri ti eyiti a ti le mọ awọn ilana ti awọn kẹkẹ onigun mẹrin), a, lẹẹkansi, pinnu lati sunmọ iru iṣoro yii ni imọ-jinlẹ, eyun: gbiyanju lati dinku rẹ si iṣapeye iṣoro ọtọtọ miiran, ni ireti pe awọn algoridimu ti o wa tẹlẹ fun ipinnu le ṣee lo laisi awọn iyipada.
Iwadi miiran fun iṣoro kilasika ti o jọra ti ṣaṣeyọri! A ṣe iṣakoso lati wa iṣoro iṣapeye ọtọtọ, apẹrẹ ti o ṣe deede 1 ni 1 pẹlu iṣeto ti iṣoro wa. Iṣẹ-ṣiṣe yii ti jade lati jẹ ṣeto ibora isoro. Jẹ ki a ṣafihan agbekalẹ ti iṣoro naa ni ibatan si awọn pato wa.
Eto ti o ni opin wa
ati ebi
ti gbogbo awọn ipin ipin ti awọn ẹgbẹ, gẹgẹbi iyatọ ninu awọn ọjọ fun gbogbo awọn ẹgbẹ meji ti ipin kọọkan.
lati idile
ko koja awọn alakan
. Ibora ni a npe ni idile
ti agbara ti o kere julọ, awọn eroja ti o jẹ ti
, iru awọn ti awọn Euroopu ti tosaaju
lati idile
yẹ ki o fun awọn ṣeto ti gbogbo ẹni
.
Ayẹwo alaye ti iṣoro yii ni a le rii и Awọn aṣayan miiran fun ohun elo ti o wulo ti iṣoro ibora ati awọn iyipada rẹ ni a le rii
Algorithm lati yanju iṣoro naa
A ti pinnu lori awoṣe mathematiki ti iṣoro naa lati yanju. Bayi jẹ ki a wo algorithm fun ipinnu rẹ. Awọn ipin
lati idile
O le rii ni irọrun nipasẹ ilana atẹle.
- Ṣeto awọn ipele lati ṣeto kan
ni sokale ibere ti won ọjọ. - Wa awọn ọjọ ipele ti o kere julọ ati ti o pọju.
- Fun gbogbo ọjọ
lati awọn kere ọjọ si awọn ti o pọju, ri gbogbo batches ti ọjọ yato lati
ko si ju
(nitorinaa iye naa
O dara lati mu nọmba paapaa).
Kanna ti awọn ilana fun lara kan ebi ti tosaaju
ni
Awọn ọjọ ti gbekalẹ ni aworan 4.

Eya.4. Ibiyi ti subsets ti ẹni
Ilana yii ko ṣe pataki fun gbogbo eniyan
lọ nipasẹ gbogbo awọn ipele miiran ki o ṣayẹwo iyatọ ninu awọn ọjọ wọn, tabi lati iye ti o wa lọwọlọwọ
gbe sosi tabi ọtun titi ti o ba ri kan ipele ti ọjọ ti o yatọ si lati
nipa diẹ ẹ sii ju idaji awọn iye ti awọn ibakan. Gbogbo awọn eroja ti o tẹle, nigba gbigbe mejeeji si apa ọtun ati si apa osi, kii yoo nifẹ si wa, nitori wọn iyatọ ninu awọn ọjọ yoo pọ si nikan, nitori awọn eroja ti o wa ninu titobi ti paṣẹ ni ibẹrẹ. Ọna yii yoo ṣafipamọ akoko ni pataki nigbati nọmba awọn ẹgbẹ ati itankale awọn ọjọ wọn tobi pupọ.
Iṣoro ibora ti ṣeto jẹ
-iṣoro, eyiti o tumọ si pe ko si iyara (pẹlu akoko iṣẹ dogba si ilopọ pupọ ti data titẹ sii) ati algorithm deede fun ipinnu rẹ. Nitorinaa, lati yanju iṣoro ibora ti ṣeto, a yan algorithm ti o ni ojukokoro, eyiti, nitorinaa, ko pe, ṣugbọn ni awọn anfani wọnyi:
- Fun awọn iṣoro iwọn kekere (ati pe eyi jẹ ọran wa deede), o ṣe iṣiro awọn solusan ti o sunmọ to dara julọ. Bi iwọn iṣoro naa ṣe pọ si, didara ojutu naa bajẹ, ṣugbọn tun jẹ laiyara;
- Rọrun pupọ lati ṣe;
- Iyara, niwon iṣiro akoko ṣiṣe rẹ jẹ
.
Algoridimu ojukokoro yan awọn eto ti o da lori ofin atẹle: ni ipele kọọkan, a yan ṣeto kan ti o bo nọmba ti o pọ julọ ti awọn eroja ti a ko tii bo. Apejuwe alaye ti algorithm ati pseudocode rẹ ni a le rii
Ifiwewe ti deede ti iru algorithm oniwọra lori data idanwo ti iṣoro ti o yanju pẹlu awọn algoridimu miiran ti a mọ, gẹgẹbi algoridimu ojukokoro iṣeeṣe, algorithm ileto ant, ati bẹbẹ lọ, ko ti ṣe. Awọn abajade ti ifiwera iru awọn algoridimu lori data ID ti ipilẹṣẹ ni a le rii
Ṣiṣe ati imuse ti algorithm
Algoridimu yii jẹ imuse ni ede naa 1C ati awọn ti a to wa ni ohun ita processing ti a npe ni "Residue funmorawon" eyi ti a ti sopọ si WMS-eto. A ko ṣe algorithm ni ede naa C ++ ati lo lati ẹya paati abinibi ita, eyiti yoo jẹ deede diẹ sii, nitori iyara koodu naa kere C ++ igba ati ni diẹ ninu awọn apẹẹrẹ ani mewa ti igba yiyara ju awọn iyara ti iru koodu lori 1C. Lori ahọn 1C A ṣe imuse algorithm lati ṣafipamọ akoko idagbasoke ati irọrun ti n ṣatunṣe aṣiṣe ni ipilẹ iṣelọpọ alabara. Abajade algoridimu jẹ afihan ni Nọmba 5.

Eya.5. Ṣiṣe si awọn iṣẹku "compress".
Nọmba 5 fihan pe ninu ile itaja ti a ti sọ tẹlẹ, awọn iwọntunwọnsi lọwọlọwọ ti awọn ẹru ni awọn sẹẹli ibi ipamọ ti pin si awọn iṣupọ, laarin eyiti awọn ọjọ ti awọn ipele ẹru yatọ si ara wọn nipasẹ ko ju awọn ọjọ 30 lọ. Niwọn igba ti alabara ṣe agbejade ati tọju awọn falifu bọọlu irin ni ile-itaja, eyiti igbesi aye selifu rẹ ṣe iṣiro ni awọn ọdun, iru iyatọ ọjọ le jẹ igbagbe. Akiyesi pe iru processing ti wa ni Lọwọlọwọ lo ifinufindo ni gbóògì, ati awọn oniṣẹ WMS jẹrisi awọn ti o dara didara ti party clustering.
Awọn ipari ati itesiwaju
Iriri akọkọ ti a ni lati yanju iru iṣoro ti o wulo jẹ ifẹsẹmulẹ ti imunadoko ti lilo paragim: mathimatiki. isoro gbólóhùn
olokiki akete. awoṣe
olokiki alugoridimu
alugoridimu mu sinu iroyin awọn pato ti awọn isoro. Imudara ti oye ti wa ni ayika fun diẹ ẹ sii ju ọdun 300, ati ni akoko yii awọn eniyan ti ṣakoso lati ṣe akiyesi ọpọlọpọ awọn iṣoro ati ṣajọpọ iriri pupọ ni didaju wọn. Ni akọkọ, o ni imọran diẹ sii lati yipada si iriri yii, ati lẹhinna bẹrẹ lati tun kẹkẹ rẹ pada.
Ninu nkan ti o tẹle a yoo tẹsiwaju itan naa nipa awọn algoridimu ti o dara julọ ati wo ohun ti o nifẹ julọ ati pupọ diẹ sii: algoridimu kan fun “funmorawon” ti o dara julọ ti awọn iṣẹku sẹẹli, eyiti o lo data ti o gba lati inu algorithm iṣupọ ipele bi titẹ sii.
Ṣetan nkan naa
Roman Shangin, olupilẹṣẹ ti ẹka iṣẹ akanṣe,
Ile-iṣẹ BIT akọkọ, Chelyabinsk
orisun: www.habr.com

ni sokale ibere ti won ọjọ.
lati awọn kere ọjọ si awọn ti o pọju, ri gbogbo batches ti ọjọ yato lati
ko si ju
(nitorinaa iye naa
O dara lati mu nọmba paapaa).
.