ProHoster > Blog > warta internét > Matematika diskrit pikeun WMS: algoritma pikeun ngompres barang dina sél (bagian 1)
Matematika diskrit pikeun WMS: algoritma pikeun ngompres barang dina sél (bagian 1)
Dina artikel ieu kami baris ngabejaan ka maneh kumaha urang direngsekeun masalah kurangna sél bébas dina gudang sarta ngembangkeun hiji algoritma optimasi diskrit pikeun ngajawab masalah sapertos. Hayu urang ngobrol ngeunaan kumaha urang "ngawangun" model matematik masalah optimasi, sarta ngeunaan kasusah nu teu disangka-sangka encountered nalika ngolah data input pikeun algoritma.
Upami anjeun resep kana aplikasi matematika dina bisnis sareng anjeun henteu sieun transformasi identitas anu kaku tina rumus di tingkat kelas 5, teras wilujeng sumping ka ucing!
Artikel bakal mangpaat pikeun jalma anu ngalaksanakeun WMS-sistem, gawéna di gudang atawa industri logistik produksi, kitu ogé programer anu kabetot dina aplikasi matematika dina bisnis jeung optimasi prosés di hiji perusahaan.
Bagian bubuka
Publikasi ieu neraskeun séri tulisan dimana urang bagikeun pangalaman suksés dina ngalaksanakeun algoritma optimasi dina prosés gudang.
В artikel saméméhna ngajelaskeun specifics tina gudang dimana urang dilaksanakeun WMS-sistem, sarta ogé ngécéskeun naon pangna urang diperlukeun pikeun ngajawab masalah clustering bets barang sésana salila palaksanaan WMS-sistem, jeung kumaha urang ngalakukeun eta.
Nalika kami réngsé nyerat tulisan ngeunaan algoritma optimasi, tétéla ageung pisan, janten kami mutuskeun pikeun ngabagi bahan akumulasi kana 2 bagian:
Dina bagian kahiji (artikel ieu) urang bakal ngobrol ngeunaan kumaha urang "ngawangun" model matematik masalah, sarta ngeunaan kasusah hébat urang disangka encountered nalika ngolah jeung ngarobah data input pikeun algoritma.
Dina bagian kadua urang bakal mertimbangkeun di jéntré palaksanaan algoritma dina basa C ++, kami bakal ngalaksanakeun percobaan komputasi sareng nyimpulkeun pangalaman anu kami peroleh nalika palaksanaan "téknologi calakan" sapertos dina prosés bisnis palanggan.
Kumaha maca hiji artikel. Upami anjeun maca tulisan sateuacana, anjeun tiasa langsung angkat ka bab "Tinjauan solusi anu aya"; upami henteu, maka pedaran masalah anu direngsekeun aya dina spoiler di handap ieu.
Katerangan ngeunaan masalah anu direngsekeun di gudang palanggan
Bottleneck dina prosés
Dina 2018, urang réngsé hiji proyék pikeun dilaksanakeun WMS-sistem di gudang "Trading House "LD" di Chelyabinsk. Kami ngalaksanakeun produk "1C-Logistik: Manajemén Gudang 3" pikeun 20 tempat kerja: operator WMS, penjaga toko, supir forklift. Gudang rata-rata sakitar 4 rébu m2, jumlah sél 5000 sareng jumlah SKU 4500. Gudang nyimpen klep bal produksi urang sorangan tina ukuran anu béda-béda ti 1 kg dugi ka 400 kg. Inventory di gudang disimpen dina bets, sabab aya anu peryogi pikeun milih barang nurutkeun FIFO.
Salila desain skéma otomatisasi prosés gudang, kami disanghareupan ku masalah anu aya dina panyimpenan inventaris anu henteu optimal. Spésifik pikeun nyimpen sareng nempatkeun bango sapertos hiji sél panyimpenan unit ngan ukur tiasa ngandung barang tina hiji bets (tingali Gbr. 1). Produk anjog ka gudang poean sarta unggal datangna téh bets misah. Dina total, salaku hasil tina 1 bulan operasi gudang, 30 bets misah dijieun, sanajan kanyataan yén unggal kudu disimpen dina sél misah. Produk sering dipilih henteu dina palet sadayana, tapi dina potongan, sareng salaku hasilna, dina zona pamilihan potongan dina seueur sél gambar di handap ieu dititénan: dina sél anu volumena langkung ti 1 m3 aya sababaraha potongan bango. ngeusian kirang ti 5-10% tina volume sél.
Gbr 1. Poto sababaraha lembar dina sél
Éta jelas yén kapasitas neundeun henteu dianggo sacara optimal. Pikeun ngabayangkeun skala musibah, abdi tiasa masihan angka: rata-rata, aya ti 1 nepi ka 3 sél sél misalna kalawan volume leuwih ti 100 m300 kalawan kasaimbangan "minuscule" salila période béda tina operasi gudang. Kusabab gudang relatif leutik, salila usum sibuk gudang faktor ieu jadi "bottleneck" na greatly slows turun prosés gudang narima jeung kiriman.
Gagasan solusi masalah
Timbul hiji gagasan: bets sésa-sésa jeung tanggal pangdeukeutna kudu diréduksi jadi hiji bets tunggal, sarta sésa-sésa sapertos bets ngahiji kudu ditempatkeun compactly babarengan dina hiji sél, atawa dina sababaraha, lamun aya teu cukup spasi dina hiji nampung sakabéh jumlah sésana. Conto "komprési" sapertos dipidangkeun dina Gambar 2.
Gbr.2. Skéma pikeun compressing résidu dina sél
Ieu ngamungkinkeun anjeun sacara signifikan ngirangan rohangan gudang anu dijajah anu bakal dianggo pikeun barang-barang énggal anu disimpen. Dina kaayaan dimana kapasitas gudang kaleuleuwihan, ukuran sapertos kitu peryogi pisan, upami teu aya rohangan bébas anu cekap pikeun nampung barang énggal, anu bakal nyababkeun lirén dina prosés gudang panempatan sareng replenishment sareng, salaku akibatna, ka eureun di ditampa jeung kiriman. Saméméhna, saméméh palaksanaan sistem WMS, operasi ieu dipigawé sacara manual, nu éta teu epektip, sabab prosés néangan kasaimbangan cocog dina sél éta rada lila. Ayeuna, kalayan ngenalkeun sistem WMS, kami mutuskeun pikeun ngajadikeun otomatis prosésna, nyepetkeun sareng ngajantenkeun éta calakan.
Prosés ngarengsekeun masalah ieu dibagi kana 2 tahap:
dina tahap kahiji urang manggihan grup bets nutup dina tanggal pikeun komprési (dedicated kana tugas ieu artikel saméméhna);
dina tahap kadua, pikeun tiap grup bets urang ngitung panempatan paling kompak tina barang sésana dina sél.
Dina artikel ayeuna urang bakal difokuskeun tahap kadua algoritma.
Tinjauan solusi anu aya
Sateuacan ngaléngkah ka pedaran algoritma anu kami parantos dikembangkeun, éta patut ngalaksanakeun tinjauan ringkes sistem anu parantos aya di pasar. WMS, nu nerapkeun fungsionalitas komprési optimal sarupa.
Anu mimiti, perlu dicatet produk "1C: Perusahaan 8. WMS Logistics. Manajemén gudang 4", anu dipiboga sareng direplikasi ku 1C sareng milik generasi kaopat WMS-sistem dikembangkeun ku AXELOT. Sistim ieu ngaklaim fungsionalitas komprési, nu dirancang pikeun ngahijikeun produk disparate tetep dina hiji sél umum. Perlu disebatkeun yén fungsionalitas komprési dina sistem sapertos kitu ogé kalebet kamungkinan anu sanés, contona, koréksi panempatan barang dina sél dumasar kana kelas ABC na, tapi urang moal cicing di dinya.
Upami anjeun nganalisis kodeu 1C: perusahaan 8. Sistem Logistik WMS. Manajemén gudang 4" (anu kabuka dina bagian ieu fungsionalitas), urang tiasa nyimpulkeun ieu di handap. Algoritma komprési sésa-sésa ngalaksanakeun logika linier anu rada primitif sareng teu aya anu tiasa ngobrol ngeunaan komprési "optimal". Alami, éta teu nyadiakeun keur clustering pihak. Sababaraha klien anu ngagaduhan sistem sapertos kitu ngawadul ngeunaan hasil perencanaan komprési. Contona, mindeng dina prakna salila komprési kaayaan handap lumangsung: 100 PCS. Direncanakeun pikeun mindahkeun barang sésana tina hiji sél ka sél anu sanés, dimana aya 1 sapotong. barang, sanajan éta optimal ti sudut pandang konsumsi waktu pikeun ngalakukeun sabalikna.
Ogé, fungsionalitas compressing barang sésana dina sél dinyatakeun di loba nagara deungeun. WMS-sistem, tapi, hanjakalna, urang boga eupan balik nyata dina efektivitas algoritma (ieu rusiah dagang), teuing kirang hiji gagasan ngeunaan jero logika maranéhna (software katutup-sumber proprietary), sangkan teu bisa nangtoskeun.
Pilarian model matematik tina masalah
Dina raraga mendesain algoritma kualitas luhur pikeun ngarengsekeun hiji masalah, mimitina perlu jelas ngarumuskeun masalah ieu sacara matematis, nu bakal urang ngalakukeun.
Aya loba sél , nu ngandung sésa-sésa sababaraha barang. Dina naon di handap, urang bakal nelepon sél donor sél sapertos. Hayu urang denote volume barang dina sél $.
Kadé disebutkeun yen ngan hiji produk tina hiji bets, atawa sababaraha bets saméméhna digabungkeun kana klaster (baca: artikel saméméhna), anu disababkeun ku spésifik neundeun sareng neundeun barang. Produk béda atawa klaster bets béda kedah ngajalankeun prosedur komprési misah sorangan.
Aya loba sél , dimana résidu tina sél donor berpotensi tiasa disimpen. Urang salajengna bakal nelepon sél wadahna sél sapertos. Ieu tiasa janten sél bébas dina gudang atanapi sél donor tina rupa-rupa . Sok nyatu mangrupa sawaréh .
Pikeun unggal sél ti loba Watesan kapasitas parantos diatur , diukur dina dm3. Hiji dm3 nyaéta kubus kalayan sisi 10 cm Produk anu disimpen di gudang cukup ageung, janten dina hal ieu discretization sapertos kitu cukup.
Dibéré matriks tina jarak shortest dina méter antara unggal pasangan sél dimana и milik susunan и sasuai.
Hayu urang denote "biaya" mindahkeun barang tina sél kana sél . Hayu urang denote "biaya" milih wadahna pikeun mindahkeun résidu tina sél séjén kana éta. Kumaha persis sareng dina naon unit pangukuran bakal diitung и urang bakal mertimbangkeun salajengna (tingali bagian Nyiapkeun data input), pikeun ayeuna cukup disebutkeun yen nilai sapertos bakal langsung sabanding jeung nilai. и sasuai.
Hayu urang nunjukkeun ku variabel nu nyokot nilai 1 lamun sésana téh ti sél dipindahkeun kana wadahna , jeung 0 disebutkeun. Hayu urang nunjukkeun ku variabel nu nyokot nilai 1 lamun wadahna ngandung barang sésana, jeung 0 disebutkeun.
pancén téh diébréhkeun kieu: anjeun kedah mendakan seueur wadah sahingga "ngagantelkeun" sél donor kana sél wadahna pikeun ngaleutikan fungsina
dina watesan
Dina total, nalika ngitung solusi pikeun masalah, urang narékahan pikeun:
firstly, pikeun ngahemat kapasitas gudang;
kadua, pikeun ngahemat waktos storekeepers '.
Watesan panungtungan hartina urang teu bisa mindahkeun barang kana wadahna nu urang teu milih, sarta ku kituna teu "ngabayar biaya" pikeun milih eta. Watesan ieu ogé hartosna yén volume barang anu dipindahkeun tina sél kana wadahna henteu kedah ngaleuwihan kapasitas wadahna. Ku ngarengsekeun masalah kami hartosna sakumpulan wadah jeung métode pikeun ngagantelkeun sél donor kana wadahna.
Rumusan masalah optimasi ieu sanés énggal, sareng parantos ditaliti ku seueur matematikawan ti mimiti 80an abad ka tukang. Dina literatur asing aya 2 masalah optimasi sareng modél matematika anu cocog: Masalah Lokasi Fasilitas Kapasitas Sumber Tunggal и Masalah Lokasi Fasilitas Kapasitan Multi-Sumber (urang bakal ngobrol ngeunaan béda dina tugas engké). Eta sia nyebutkeun yen dina literatur matematik rumusan dua masalah optimasi misalna dirumuskeun dina watesan lokasi usaha dina taneuh, ku kituna ngaranna "Lokasi Fasilitas". Kanggo sabagéan ageung, ieu mangrupikeun upeti ka tradisi, sabab pikeun kahiji kalina peryogi pikeun ngabéréskeun masalah kombinatorial sapertos kitu asalna tina bidang logistik, kalolobaanana ti séktor militér-industri dina 50an abad ka tukang. Dina hal lokasi perusahaan, tugas sapertos dirumuskeun sapertos kieu:
Aya sajumlah kota anu terbatas dimana kamungkinan pikeun mendakan perusahaan manufaktur (saterusna disebut kota manufaktur). Pikeun unggal kota manufaktur, biaya pikeun muka perusahaan di jerona dieusian, kitu ogé watesan dina kapasitas produksi perusahaan dibuka di dinya.
Aya set wates kota dimana klien sabenerna lokasina (hereinafter disebut kota klien). Pikeun unggal kota klien sapertos, volume paménta pikeun produk dieusian. Pikeun kesederhanaan, urang bakal nganggap yén ngan ukur aya hiji produk anu diproduksi ku perusahaan sareng dikonsumsi ku konsumén.
Pikeun unggal pasangan kota-produsén sareng kota-klien, nilai biaya angkutan pikeun nganteurkeun volume produk anu diperyogikeun ti produsén ka klien ditetepkeun.
Anjeun kedah milarian di kota mana pikeun muka usaha sareng kumaha ngagantelkeun klien kana usaha sapertos kitu pikeun:
Biaya total pikeun muka usaha sareng biaya transportasi minimal;
Volume paménta ti konsumén ditugaskeun ka sagala perusahaan kabuka teu ngaleuwihan kapasitas produksi pausahaan éta.
Ayeuna kedah disebatkeun hiji-hijina bédana dina dua masalah klasik ieu:
Masalah Lokasi Fasilitas Kapasitas Sumber Tunggal - klien disayogikeun tina ngan hiji fasilitas anu kabuka;
Masalah Lokasi Fasilitas Kapasitas Multi-Sumber - klien tiasa disayogikeun tina sababaraha fasilitas kabuka dina waktos anu sami.
Sapertos bédana antara dua masalah ieu teu signifikan dina glance kahiji, tapi, dina kanyataanana, ngabalukarkeun struktur combinatorial lengkep beda tina masalah sapertos na, salaku konsekuensi, algoritma lengkep beda pikeun ngarengsekeun aranjeunna. Bedana antara pancén dipintonkeun dina gambar di handap ieu.
Gbr.3. a) Masalah Lokasi Fasilitas Kapasitan Multi-Sumber
Gbr.3. b) Masalah Lokasi Fasilitas Kapasitan Sumber Tunggal
Duanana tugas -hese, nyaeta, euweuh algoritma pasti nu bakal ngajawab masalah sapertos dina polynomial waktos dina ukuran tina data input. Dina kecap anu langkung saderhana, sadaya algoritma anu pasti pikeun ngarengsekeun masalah bakal tiasa dianggo dina waktos éksponénsial, sanaos langkung gancang tibatan milarian pilihan anu lengkep. Kusabab tugas -Hésé, maka urang bakal nganggap ukur heuristik perkiraan, nyaéta, algoritma anu konsistén bakal ngitung solusi anu caket pisan sareng optimal sareng bakal dianggo gancang. Upami anjeun resep kana tugas sapertos kitu, anjeun tiasa mendakan gambaran anu saé dina basa Rusia di dieu.
Upami urang ngalih kana terminologi masalah urang ngeunaan komprési optimal barang dina sél, maka:
kota klien mangrupakeun sél donor jeung barang sésana,
kota manufaktur - sél wadahna , dimana sésa sél séjén sakuduna ditempatkeun,
waragad angkutan - waragad waktu penjaga toko pikeun mindahkeun volume barang tina sél donor kana sél wadahna ;
waragad muka usaha - waragad milih wadahna , sarua jeung volume sél wadahna , dikalikeun ku koefisien tangtu pikeun nyimpen volume bébas (nilai koefisien sok > 1) (tingali bagian Nyiapkeun data input).
Saatos analogi sareng solusi klasik anu kasohor tina masalah parantos digambar, perlu pikeun ngajawab patarosan penting anu gumantung kana pilihan arsitéktur algoritma solusi: mindahkeun sésa-sésa sél donor ngan ukur ka hiji. sarta ngan hiji wadah (Single-Sumber), atawa éta mungkin pikeun mindahkeun sésana kana sababaraha sél wadahna (Multi-Sumber)?
Eta sia noting yén dina praktekna duanana rumusan masalah lumangsung. Kami nampilkeun sadaya pro sareng kontra pikeun tiap setting sapertos kieu:
Masalah varian
Pro tina pilihan
Kontra pilihan
Tunggal-Sumber
Operasi gerak barang diitung ngagunakeun varian ieu masalah:
merlukeun kirang kontrol dina bagian tina storekeeper (nyokot sagalana ti hiji sél, nempatkeun sagalana dina sél wadahna sejen), nu eliminates resiko tina: kasalahan nalika recalculating kuantitas barang nalika ngajalankeun "Pasang dina sél" operasi; kasalahan dina ngasupkeun kuantitas recalculated kana TSD;
Teu aya waktos anu diperyogikeun pikeun ngitung deui jumlah barang nalika ngalakukeun operasi "Pasang dina sél" sareng lebetkeun kana TSD.
Multi-Sumber
Compressions diitung ngagunakeun versi ieu masalah biasana 10-15% leuwih kompak dibandingkeun compressions diitung ngagunakeun pilihan "Single-Sumber". Tapi urang ogé dicatet yén leuwih leutik jumlah résidu dina sél donor, nu leutik bédana compactness
Operasi gerak barang diitung ngagunakeun varian ieu masalah:
meryogikeun kontrol anu langkung ageung ti pihak panyimpen (perlu ngitung deui jumlah barang anu dipindahkeun kana unggal sél wadah anu direncanakeun), anu ngaleungitkeun résiko kasalahan nalika ngitung deui jumlah barang sareng ngalebetkeun data kana TSD nalika ngalaksanakeun " Nempatkeun dina sél" operasi
Butuh waktu pikeun ngitung deui jumlah barang nalika ngajalankeun operasi "Pasang dina sél".
Butuh waktu pikeun "overhead" (eureun, buka palet, nyeken barkod sél wadahna) nalika ngajalankeun operasi "Pasang dina sél".
Kadang-kadang algoritma tiasa "meulah" kuantitas palet anu ampir lengkep antara sajumlah ageung sél wadahna anu parantos ngagaduhan produk anu cocog, anu, tina sudut pandang palanggan, henteu katampi.
meja 1. Pro jeung kontra ngeunaan pilihan Single-Sumber sarta Multi-Sumber.
Kusabab pilihan Sumber Tunggal gaduh langkung seueur kaunggulan, sareng ogé ngémutan kanyataan yén langkung alit jumlah résidu dina sél donor, langkung alit bédana dina tingkat kompaksi komprési anu diitung pikeun duanana varian masalah, pilihan urang murag kana. pilihan Single-Sumber Sumber.
Eta sia nyebutkeun yén solusi pikeun pilihan Multi-Sumber ogé lumangsung. Aya angka nu gede ngarupakeun algoritma éféktif pikeun ngarengsekeun eta, lolobana nu turun ka ngarengsekeun sababaraha masalah angkutan. Aya ogé henteu ngan algoritma efisien, tapi ogé anu elegan, contona, dieu.
Nyiapkeun Data Input
Sateuacan ngawitan nganalisis sareng ngembangkeun algoritma pikeun ngabéréskeun masalah, anjeun kedah mutuskeun data naon sareng dina bentuk naon anu bakal kami tuang salaku input. Henteu aya masalah sareng volume barang sésana dina sél donor sareng kapasitas sél wadahna, sabab éta sepele - jumlah sapertos kitu bakal diukur dina m3, tapi kalayan biaya ngagunakeun sél wadahna sareng matriks biaya gerak, sanés sadayana. basajan pisan!
Hayu urang tingali heula itungan biaya mindahkeun barang ti sél donor ka sél wadahna. Anu mimiti, perlu mutuskeun dina unit ukuran naon urang bakal ngitung biaya gerak. Dua pilihan anu paling atra nyaéta méter sareng detik. Henteu aya rasa pikeun ngitung biaya perjalanan dina méter "murni". Hayu urang nunjukkeun ieu ku conto. Hayu sél lokasina di tingkat kahiji, sél dipiceun ku 30 méter sarta ayana dina tingkat kadua:
Pindah ti в leuwih mahal ti pindah ti в , saprak turun ti tingkat kadua (1,5-2 méter ti lantai) leuwih gampang ti naek ka kadua, sanajan jarak bakal sarua;
Pindahkeun 1 pc. barang ti sél в Éta bakal langkung gampang tibatan mindahkeun 10 lembar. produk anu sarua, sanajan jarak bakal sarua.
Éta leuwih hadé mertimbangkeun biaya pindah dina sababaraha detik, sabab ieu ngidinan Anjeun pikeun tumut kana akun duanana béda tiers jeung bédana dina kuantitas barang dipindahkeun. Pikeun ngitung biaya gerakan dina sababaraha detik, urang kedah nguraikeun operasi gerakan kana komponén dasar sareng nyandak ukuran waktos pikeun ngalaksanakeun unggal komponén dasar.
Hayu ti sél gerak PC. barang dina wadahna ... Hayu - laju rata-rata gerak hiji pagawe di gudang, diukur dina m / detik. Hayu и - laju rata-rata operasi hiji-waktos nyandak sareng nempatkeun, masing-masing, pikeun volume barang sami sareng 4 dm3 (volume rata-rata anu dicandak ku karyawan dina hiji waktos di gudang nalika ngalaksanakeun operasi). Hayu и jangkungna sél ti mana nyokot tur nyimpen operasi anu dipigawé, masing-masing. Contona, jangkungna rata-rata tingkat kahiji (lantai) nyaéta 1 m, tingkat kadua 2 m, jsb. Lajeng rumus keur ngitung total waktu pikeun ngarengsekeun hiji operasi move nyaeta Teras:
Méja 2 nembongkeun statistik dina waktu palaksanaan unggal operasi dasar, dikumpulkeun ku karyawan gudang, nyokot kana akun specifics tina barang disimpen.
ngaran operasi
Rancang
Hartosna
Laju rata-rata saurang padamel anu ngurilingan gudang
1,5 m/s
Laju rata-rata hiji operasi pikeun nempatkeun (pikeun volume produk 4 dm3)
2,4 detik
Méja 2. Rata-rata waktos pikeun ngarengsekeun operasi gudang
Kami geus mutuskeun dina metoda keur ngitung biaya pindah. Ayeuna urang kudu angka kaluar kumaha carana ngitung waragad milih sél wadahna. Sadayana di dieu langkung seueur, langkung rumit tibatan biaya pindah, sabab:
firstly, waragad kudu langsung gumantung kana volume sél - volume sarua résidu ditransfer ti sél donor hadé disimpen dina wadahna volume leutik batan dina wadahna badag, disadiakeun yén volume sapertos lengkep pas dina duanana peti . Ku kituna, ku ngaminimalkeun biaya sakabéh milih peti, urang narékahan pikeun ngahemat "langka" kapasitas gudang bébas di wewengkon Pilihan pikeun ngalakukeun operasi saterusna nempatkeun barang dina sél. Gambar 4 nunjukkeun pilihan pikeun mindahkeun résidu kana wadah ageung sareng alit sareng akibat tina pilihan transfer ieu dina operasi gudang salajengna.
Bréh, saprak dina ngarengsekeun masalah aslina urang kudu ngaleutikan persis total biaya, sarta ieu jumlah duanana waragad pindah sarta waragad milih wadahna, lajeng volume sél dina méter kubik kudu kumaha bae numbu ka detik. nu jauh tina hal nu teu pati penting.
Sangu. 4. Pilihan pikeun mindahkeun leftovers kana peti tina kapasitas béda.
Angka 4 nunjukkeun dina beureum volume sésa-sésa anu henteu pas kana wadahna dina tahap kadua nempatkeun barang-barang anu salajengna.
Éta bakal ngabantosan ngaitkeun biaya méter kubik pikeun milih wadah sareng detik biaya pikeun mindahkeun syarat-syarat ieu pikeun ngitung solusi pikeun masalah:
Perlu yén kasaimbangan tina donor bin dipindahkeun ka wadahna bin bisi wae lamun ieu ngurangan jumlah total wadahna bins ngandung produk.
Perlu ngajaga kasaimbangan antara volume wadahna sareng waktos anu dihabiskeun pikeun ngalih: contona, upami dina solusi anyar pikeun masalah dibandingkeun sareng solusi sateuacana, gain volume ageung, tapi rugi waktosna sakedik. , mangka perlu milih pilihan anyar.
Hayu urang mimitian ku sarat panungtungan. Dina raraga netelakeun kecap ambigu "kasaimbangan," urang ngalaksanakeun survey karyawan gudang pikeun manggihan di handap. Hayu aya sél wadah volume , dimana gerakan barang sésana tina sél donor ditugaskeun sareng total waktos gerakan sapertos kitu sami sareng . Hayu aya sababaraha pilihan alternatif pikeun nempatkeun jumlah anu sami tina sél donor anu sami kana wadah anu sanés, dimana unggal panempatan gaduh perkiraan sorangan. dimana < и dimana >.
Patarosan ieu ngajukeun: naon gain minimum dina volume ditarima, pikeun nilai leungitna waktu tinangtu ? Hayu urang ngajelaskeun ku conto. Mimitina, sésa-sésa sakuduna ditempatkeun dina wadah kalayan volume 1000 dm3 (1 m3) sareng waktos transferna 70 detik. Aya pilihan pikeun nempatkeun résidu dina wadah anu sanés kalayan volume 500 dm3 sareng waktos 130 detik. Patarosan: naha urang siap nyéépkeun tambahan 60 detik tina waktos panyimpen pikeun mindahkeun barang pikeun ngahémat 500 dm3 volume gratis? Dumasar kana hasil survey karyawan gudang, disusun diagram ieu di handap.
Sangu. 5. Diagram gumantungna tina tabungan volume allowable minimum dina kanaékan bédana dina waktu operasi
Nyaéta, upami biaya waktos tambahan nyaéta 40 detik, maka kami siap nyéépkeunana ngan ukur nalika gain volume sahenteuna 500 dm3. Sanaos kanyataan yén aya sakedik nonlinier dina gumantungna, pikeun kesederhanaan itungan salajengna urang bakal nganggap yén gumantungna antara kuantitas linier sareng dijelaskeun ku kateusaruaan.
Dina gambar di handap ieu, urang nganggap metodeu di handap ieu pikeun nempatkeun barang dina peti.
Sangu. 6. Pilihan (a): 2 wadahna, total volume 400 dm3, total waktu 150 detik.
Sangu. 6. Pilihan (b): 2 wadahna, total volume 600 dm3, total waktu 190 detik.
Sangu. 6. Pilihan (c): 1 wadahna, total volume 400 dm3, total waktu 200 detik.
Pilihan (a) pikeun milih peti leuwih hade tinimbang pilihan aslina, saprak kateusaruaan nahan: (800-400) / 10> = 150-120, nu ngakibatkeun 40 > = 30. Pilihan (b) kirang pikaresep ti aslina. pilihan , saprak kateusaruaan teu tahan: (800-600) / 10> = 190-150 nu ngakibatkeun 20 > = 40. Tapi pilihan (c) teu cocog kana logika sapertos! Hayu urang nganggap pilihan ieu leuwih jéntré. Di hiji sisi, kateusaruaan (800-400) / 10> = 200-120, nu hartina kateusaruaan 40> = 80 teu wareg, nu nunjukkeun yén gain dina volume teu patut misalna hiji leungitna badag dina jangka waktu.
Tapi di sisi anu sanésna, dina pilihan ieu (c) urang henteu ngan ukur ngirangan volume anu dijajah, tapi ogé ngirangan jumlah sél anu dijajah, anu kahiji tina dua syarat penting pikeun solusi anu tiasa dihitung pikeun masalah anu didaptarkeun di luhur. Jelas, supados sarat ieu mimiti kacumponan, perlu nambihan sababaraha konstanta positip ka sisi kénca kateusaruaan. , sareng konstanta sapertos kitu kedah ditambihan ngan nalika jumlah wadahna ngirangan. Hayu urang ngingetan yén mangrupakeun variabel sarua 1 nalika wadahna dipilih, jeung 0 nalika wadahna teu dipilih. Hayu urang nunjukkeun – loba wadahna dina leyuran awal jeung – loba peti dina leyuran anyar. Sacara umum, kateusaruaan anyar bakal katingali sapertos kieu:
Transforming kateusaruaan di luhur, urang meunang
Dumasar ieu, urang gaduh rumus pikeun ngitung total biaya sababaraha solusi pikeun masalah:
Tapi ayeuna timbul patarosan: naon nilai konstanta kudu boga? ? Jelas, nilaina kudu cukup badag sahingga sarat munggaran pikeun solusi masalah salawasna patepung. Anjeun tiasa, tangtosna, nyandak nilai konstanta sarua jeung 103 atawa 106, tapi Abdi hoyong ulah sapertos "angka magic". Upami urang nganggap spésifik pikeun ngalaksanakeun operasi gudang, urang tiasa ngitung sababaraha perkiraan numeris anu diadegkeun tina nilai konstanta sapertos kitu.
Hayu – jarak maksimum antara sél gudang hiji zona ABC, sarua dina hal urang jeung 100 m.. Hayu – volume maksimum sél wadahna di gudang, sarua dina hal urang jeung 1000 dm3.
Cara kahiji ngitung nilai . Hayu urang nganggap kaayaan dimana aya 2 wadah dina tingkat kahiji, dimana barang-barangna parantos aya sacara fisik, nyaéta, aranjeunna nyalira sél donor, sareng biaya mindahkeun barang ka sél anu sami sacara alami sami sareng 0. perlu pikeun manggihan nilai misalna pikeun konstanta , nu bakal nguntungkeun pikeun salawasna mindahkeun sésa tina wadahna 1 kana wadahna 2. Ngaganti nilai и Dina kateusaruaan dibikeun di luhur urang meunang:
ti mana eta kieu
Ngaganti nilai waktu rata-rata pikeun ngajalankeun operasi dasar kana rumus di luhur urang meunang
Cara kadua ngitung nilai . Hayu urang nganggap kaayaan dimana aya sél donor ti mana éta rencanana mindahkeun barang kana wadahna 1. Hayu urang nunjukkeun - jarak ti sél donor ka wadah 1. Aya ogé wadah 2, nu geus ngandung barang, jeung volume nu ngidinan Anjeun pikeun nampung sésana sadaya. sél. Pikeun kesederhanaan, urang bakal nganggap yén volume barang anu dipindahkeun tina sél donor ka wadahna sami sareng sami sareng . Ieu diperlukeun pikeun manggihan nilai konstanta misalna , dimana panempatan sadaya sésa ti sél kana wadah 2 bakal salawasna jadi leuwih nguntungkeun ti nempatkeun aranjeunna dina wadahna béda:
Transforming kateusaruaan urang meunang
Dina raraga "nguatkeun" nilai kuantitas , hayu urang nganggap éta = 0. Rata-rata jumlah sél biasana kalibet dina prosedur pikeun compressing kasaimbangan gudang nyaéta 10. Ngaganti nilai dipikawanoh tina kuantitas, urang boga nilai handap tina konstanta.
Urang nyokot nilai pangbadagna diitung keur unggal pilihan, ieu bakal nilai kuantitas pikeun parameter gudang dibikeun. Ayeuna, pikeun ngalengkepan, hayu urang nyerat rumus pikeun ngitung total biaya pikeun sababaraha solusi meujeuhna :
Ayeuna, barina ogé usaha titanic Ku transforming data input, urang bisa disebutkeun yen sakabeh data input geus dirobah jadi formulir dipikahoyong tur siap dipaké dina algoritma optimasi.
kacindekan
Salaku prakték nempokeun, pajeulitna sarta pentingna tahap Nyiapkeun sarta transforming data input pikeun hiji algoritma mindeng underestimated. Dina artikel ieu, urang husus dibayar loba perhatian ka tahap ieu guna némbongkeun yén ngan kualitas luhur sarta intelligently disiapkeun data input bisa nyieun kaputusan diitung ku algoritma sabenerna berharga pikeun klien nu. Leres, aya seueur turunan rumus, tapi kami ngingetkeun anjeun sateuacan kata :)
Dina artikel salajengna urang tungtungna bakal datang ka naon 2 publikasi saméméhna dimaksudkeun pikeun - a algoritma optimasi diskrit.
Disiapkeun artikel
Roman Shangin, programmer ti departemen proyék,
parusahaan Bit munggaran, Chelyabinsk