{"id":37108,"date":"2019-10-31T22:15:47","date_gmt":"2019-10-31T19:15:47","guid":{"rendered":"https:\/\/prohoster.info\/blog\/diskretnaya-matematika-dlya-wms-algoritm-szhatiya-tovarov-v-yachejkah-chast-1\/"},"modified":"2019-10-31T22:15:47","modified_gmt":"2019-10-31T19:15:47","slug":"diskretnaya-matematika-dlya-wms-algoritm-szhatiya-tovarov-v-yachejkah-chast-1","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hr\/blog\/news\/diskretnaya-matematika-dlya-wms-algoritm-szhatiya-tovarov-v-yachejkah-chast-1","title":{"rendered":"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/89e9927c86cd36ee5b4ab37b5c0753c9.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nU \u010dlanku \u0107emo objasniti kako smo rje\u0161avali problem nedostatka slobodnih mjesta u skladi\u0161tu i o razvoju algoritma diskretne optimizacije za rje\u0161avanje takvih problema. Objasnit \u0107emo kako smo 'gradili' matemati\u010dki model optimizacijskog zadatka i na koje smo se pote\u0161ko\u0107e neo\u010dekivano susreli prilikom obrade ulaznih podataka za algoritam.<\/p>\n<p>Ako vas zanimaju primjene matematike u poslovanju i ne bojite se slo\u017eenih jednad\u017ebi na razini 5. razreda, dobrodo\u0161li ispod!<\/p>\n<p>\u010clanak \u0107e biti koristan onima koji implementiraju <i>WMS<\/i>-sustave, rade u industriji skladi\u0161ne ili proizvodne logistike, kao i programerima koji su zainteresirani za primjene matematike u poslovanju i optimizaciju procesa u poduze\u0107u.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h4>Uvodni dio<\/h4>\n<p>\nOva publikacija nastavlja seriju \u010dlanaka u kojima dijelimo svoje uspje\u0161ne iskustva u implementaciji algoritama optimizacije u skladi\u0161ne procese. <\/p>\n<p>U <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/463289\/\">pro\u0161lom \u010dlanku<\/a><\/noindex> opisuje specifi\u010dnosti skladi\u0161ta u kojem je implementiran <i>WMS<\/i>-sustav, te obja\u0161njava za\u0161to smo morali rje\u0161avati problem klasterizacije serija ostataka proizvoda tijekom implementacije <i>WMS<\/i>-sustava i kako smo to postigli.<\/p>\n<p>Kada smo zavr\u0161ili s pisanjem \u010dlanka o algoritmima optimizacije, ispostavilo se da je postao vrlo opse\u017ean, stoga smo odlu\u010dili podijeliti prikupljeni materijal na 2 dijela:<\/p>\n<ul>\n<li>U prvom dijelu (ovaj \u010dlanak) \u0107emo govoriti o tome kako smo 'gradili' matemati\u010dki model zadatka i o velikim pote\u0161ko\u0107ama na koje smo neo\u010dekivano nai\u0161li prilikom obrade i transformacije ulaznih podataka za algoritam.<\/li>\n<li>U drugom dijelu detaljno \u0107emo razmotriti implementaciju algoritma na jeziku <i>C++<\/i>, provesti ra\u010dunalni eksperiment i sa\u017eeti iskustvo ste\u010deno tijekom implementacije takvih 'inteligentnih tehnologija' u poslovne procese klijenta.<\/li>\n<\/ul>\n<p>\nKako \u010ditati \u010dlanak. Ako ste \u010ditali prethodni \u010dlanak, mo\u017eete odmah prije\u0107i na poglavlje 'Pregled postoje\u0107ih rje\u0161enja', ako niste, opis rje\u0161avanog problema nalazi se u spoileru ispod.<\/p>\n<p><b class=\"spoiler_title\">Opis rje\u0161avanog problema u skladi\u0161tu klijenta<\/b><\/p>\n<h4>Usko grlo u procesima<\/h4>\n<p>\nU 2018. godini realizirali smo projekt implementacije <i>WMS<\/i>-sustava u skladi\u0161tu 'Trgovinski dom 'LD' u gradu \u010celjabinsku. Implementirali smo proizvod '1C-Logistika: Upravljanje skladi\u0161tem 3' na 20 radnih mjesta: operatori <i>WMS<\/i>, skladi\u0161tari, voza\u010di vili\u010dara. Skladi\u0161te je srednje veli\u010dine, oko 4 tisu\u0107e m2, s 5000 sku i 4500 razli\u010ditih artikala. U skladi\u0161tu se \u010duvaju loptasti ventili vlastite proizvodnje razli\u010ditih veli\u010dina od 1 kg do 400 kg. Zalihe se \u010duvaju prema serijama, jer postoji potreba za izborom roba po FIFO.<\/p>\n<p>Tijekom projektiranja shema automatizacije skladi\u0161nih procesa suo\u010dili smo se s postoje\u0107im problemom suboptimalnog skladi\u0161tenja zaliha. Specifika skladi\u0161tenja i slaganja ventila je takva da u jednoj jedinici mo\u017ee biti samo jedan artikl iz jedne serije (vidi sl. 1). Proizvodi dolaze u skladi\u0161te svaki dan, a svaki dolazak je posebna serija. U prosjeku, nakon mjesec dana rada skladi\u0161ta stvara se 30 odvojenih serija, pri \u010demu svaka mora biti pohranjena u vlastitoj jedinici. Roba se \u010desto ne bira u cijelim paletama, ve\u0107 po komadima, i kao rezultat, u zoni odabira po komadu u mnogim jedinicama se mo\u017ee primijetiti sljede\u0107a slika: u jedinici volumena vi\u0161e od 1m3 le\u017ei nekoliko komada ventila, koji zauzimaju manje od 5-10% volumena jedinice. <\/p>\n<p><img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/a7c03f2302c3be02c00c670453353f16.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Sl. 1. Fotografija nekoliko komada u jedinici<\/i><\/p>\n<p>O\u010digledno je neoptimalkno kori\u0161tenje skladi\u0161nih kapaciteta. Da bi se ilustrirala ozbiljnost problema, mogu navesti brojke: u prosjeku takvih jedinica volumena ve\u0107im od 1m3 s \"mali\" zalihama u razli\u010ditim razdobljima rada skladi\u0161ta ima izme\u0111u 100 i 300 jedinica. Budu\u0107i da je skladi\u0161te relativno malo, tijekom sezona optere\u0107enja ovaj faktor postaje \u201eusko grlo\u201c koje sna\u017eno usporava procese prijema i otpreme.<\/p>\n<h4>Ideja za rje\u0161enje problema<\/h4>\n<p>\nPojavila se ideja: serije preostalih zaliha s najbli\u017eim datumima okupljati u jednu zajedni\u010dku seriju i takve zalihe s unificiranom serijom smjestiti kompaktno zajedno u jednoj jedinici, ili u nekoliko, ako u jednoj ne bude dovoljno mjesta za cjelokupnu koli\u010dinu preostalog materijala. Primjer takvog \"smanjenja\" prikazan je na slici 2.<\/p>\n<p><img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/792f114a7afa6272a6d152a784650681.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Sl. 2. Shema smanjenja zaliha u jedinicama<\/i><\/p>\n<p>To significantly reduce the storage space occupied, which will be used for the new product placement. In a situation of overload in warehouse capacities, such a measure is critically necessary; otherwise, there may simply not be enough free space for placing new products, which will lead to a halt in warehouse placement and supply processes, and consequently, to a halt in receiving and shipping. Previously, before the implementation of the WMS system, this operation was performed manually, which was inefficient, as the process of finding suitable stock in cells was quite lengthy. Now, with the introduction of the WMS system, we decided to automate the process, speed it up, and make it intelligent.<\/p>\n<p>The process of solving such a task is divided into 2 stages: <\/p>\n<ul>\n<li>in the first stage, we find groups of batches that are close in date for compression (this task is dedicated to <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/463289\/\">prethodni \u010dlanak<\/a><\/noindex>);<\/li>\n<li>in the second stage, we calculate the most compact placement of product stock in the cells for each group of batches. <\/li>\n<\/ul>\n<p>\nIn the current article, we will focus on the second stage of the algorithm.<\/p>\n<h4>Overview of existing solutions<\/h4>\n<p>\nBefore moving on to the description of the algorithms we have developed, it is worth conducting a brief overview of the systems already existing in the market <i>WMS<\/i>, where similar optimal compression functionality is implemented.<\/p>\n<p>First of all, it is necessary to note the product \"1C: Enterprise 8. WMS Logistics. Warehouse Management 4\", which belongs to and is published by the company 1C and relates to the fourth generation <i>WMS<\/i>-systems developed by the company AXELOT. This system claims to have compression functionality, which is designed to combine disparate product stocks into a single common cell. It should be noted that the compression functionality in such a system also includes other capabilities, for example, correcting the placement of goods in cells according to their ABC classes, but we will not dwell on them. <\/p>\n<p>Ako analiziramo kod sustava \u201e1C: Poduze\u0107e 8. WMS Logistika. Upravljanje skladi\u0161tem 4\u201d (koji je u ovom dijelu funkcionalnosti otvoren), mo\u017eemo zaklju\u010diti sljede\u0107e. Algoritam kompresije zaliha implementira prili\u010dno primitivnu linarnu logiku i ne mo\u017ee biti govora o bilo kakvoj \u201eoptimalnoj\u201d kompresiji. Naravno, ne predvi\u0111a klasterizaciju serija. Nekoliko klijenata koji su uveli takav sustav \u017ealilo se na rezultate planiranja kompresije. Primjerice, u praksi se \u010desto doga\u0111alo sljede\u0107e: 100 kom. zaliha proizvoda iz jedne \u0107elije planira se premjestiti u drugu \u0107eliju, gdje le\u017ei 1 kom. proizvoda, iako bi optimalno s obzirom na tro\u0161kove vremena bilo obrnuto.<\/p>\n<p>Tako\u0111er, funkcionalnost kompresije zaliha proizvoda u \u0107elijama najavljena je u mnogim stranim <i>WMS<\/i>-sustavima, ali na\u017ealost, nemamo ni stvarnih recenzija o u\u010dinkovitosti rada algoritama (to je poslovna tajna), a ni predstavu o dubini njihove logike (proprijetarni softver sa zatvorenim kodom), pa ne mo\u017eemo suditi.<\/p>\n<h4>Pretra\u017eivanje matemati\u010dkog modela zadatka<\/h4>\n<p>\nDa bismo projektirali kvalitetne algoritme za rje\u0161avanje zadatka, prvo moramo jasno matemati\u010dki formulirati taj zadatak, \u0161to \u0107emo i u\u010diniti.<\/p>\n<p>Postoji mnogo \u0107elija <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/bfff1fb95dd0c633ada02b9398778eab.jpeg\" style=\"display:block;margin: 0 auto;\" \/>, u kojima se nalaze zalihe nekog proizvoda. Takve \u0107elije \u0107emo nazvati \u0107elijama-donorima. Oznacimo <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/50ef693482cd4cb27410b30b0bc107b1.jpeg\" style=\"display:block;margin: 0 auto;\" \/> volumen proizvoda koji se nalazi u \u0107eliji <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/dc7faf1656fb12c8e467fe3a5b8977fa.jpeg\" style=\"display:block;margin: 0 auto;\" \/>$.<\/p>\n<p>Va\u017eno je napomenuti da u postupku kompresije mo\u017ee sudjelovati samo jedan proizvod iz jedne serije, ili nekoliko serija, prethodno spojenih u klaster (\u010ditaj <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/463289\/\">prethodni \u010dlanak<\/a><\/noindex>), \u0161to je uvjetovano specifi\u010dno\u0161\u0107u skladi\u0161tenja i slaganja proizvoda. Za razli\u010dite proizvode ili razli\u010dite klastere serija trebala bi se pokrenuti svoja posebna procedura kompresije.<\/p>\n<p>Postoji mnogo \u0107elija <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/b9aafca691626263d8ecc2faed8dfcfe.jpeg\" style=\"display:block;margin: 0 auto;\" \/>, u koje se mogu potencijalno smjestiti zalihe iz \u0107elija-donora. Takve \u0107elije \u0107emo dalje nazvati \u0107elijama-kontejnerima. To mogu biti i slobodne \u0107elije u skladi\u0161tu, kao i \u0107elije-donori iz mno\u0161tva <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/25731bc72091e2284e76c434d2abdcfd.jpeg\" style=\"display:block;margin: 0 auto;\" \/>. Uvijek mno\u0161tvo <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/d407f97344131a3056b1eab1d3dd7dcd.jpeg\" style=\"display:block;margin: 0 auto;\" \/> je podskup <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/581806d446f3d8c91927045249698e71.jpeg\" style=\"display:block;margin: 0 auto;\" \/>.<\/p>\n<p>Za svaku \u0107eliju <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/b084d5852a1e4f00d2498640534d66e9.jpeg\" style=\"display:block;margin: 0 auto;\" \/> iz mno\u0161tva <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/236efb40a21865f78240c8e14303cc2e.jpeg\" style=\"display:block;margin: 0 auto;\" \/> postavljena su ograni\u010denja na kapacitet <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/fe253cfe5f2aa39bc8e064674fb206f8.jpeg\" style=\"display:block;margin: 0 auto;\" \/>, mjerenih u dm3. Jedan dm3 predstavlja kocku s rubovima od 10 cm. Proizvodi pohranjeni u skladi\u0161tu su prili\u010dno veliki, stoga je u ovom slu\u010daju takva diskretizacija sasvim dovoljna. <\/p>\n<p>Zadana je matrica najkra\u0107ih udaljenosti <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/48c133b0affa17f6a2367a02241d5f17.jpeg\" style=\"display:block;margin: 0 auto;\" \/> u metrima izme\u0111u svake paire \u0107elija <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/8fd860e331a8e42dd258857bdf580c05.jpeg\" style=\"display:block;margin: 0 auto;\" \/>, gdje <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/feb9a48c6e9e4ccd8e9fa1db5565e96e.jpeg\" style=\"display:block;margin: 0 auto;\" \/> i <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/d9a48a8a22ea984d0769373c5620c99a.jpeg\" style=\"display:block;margin: 0 auto;\" \/> pripadaju skupovima <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/e2dd20fda8a8b0b5ea2173c14f04fe00.jpeg\" style=\"display:block;margin: 0 auto;\" \/> i <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/0dabafdb55ac6b8495f6d5f657d6c01d.jpeg\" style=\"display:block;margin: 0 auto;\" \/> odgovaraju\u0107e. <\/p>\n<p>Ozna\u010dimo <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/2994defad9bb0a44741f31a85273abf2.jpeg\" style=\"display:block;margin: 0 auto;\" \/> \"tro\u0161kove\" za premje\u0161tanje robe iz \u0107elije<img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/a2e54425ec786d3a88290dda47f4b9cb.jpeg\" style=\"display:block;margin: 0 auto;\" \/> u \u0107eliju <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/bf4a9f1a1f396a9b7b6244cf8c77ecc8.jpeg\" style=\"display:block;margin: 0 auto;\" \/>. Ozna\u010dimo <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/6f4c10386fc638f6ca37e0ccdcf4ccb4.jpeg\" style=\"display:block;margin: 0 auto;\" \/> \"tro\u0161kove\" za odabir kontejnera <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/613d619ea5951551427f0cd45c7f79bf.jpeg\" style=\"display:block;margin: 0 auto;\" \/> za premje\u0161tanje ostataka iz drugih \u0107elija. Kako i u kojim mjerama \u0107e se izra\u010dunavati vrijednosti <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/22130f203fde6271e33cba0db14d6a80.jpeg\" style=\"display:block;margin: 0 auto;\" \/> i <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/d75c50be3ee4f8e02a9523f2d2109f0d.jpeg\" style=\"display:block;margin: 0 auto;\" \/> razmotrit \u0107emo dalje (vidi odjeljak priprema ulaznih podataka), sada je dovoljno re\u0107i da \u0107e takve veli\u010dine biti proporcionalne veli\u010dinama <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/5e4e80f122ac1fe43f94de2726c0d3b7.jpeg\" style=\"display:block;margin: 0 auto;\" \/> i <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/1b6a9d41ba4ad68d5a5fbae883b80596.jpeg\" style=\"display:block;margin: 0 auto;\" \/> odgovaraju\u0107e.<\/p>\n<p>Ozna\u010dimo preko <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/1ebfe4179740aff474a78d11a004aaa7.jpeg\" style=\"display:block;margin: 0 auto;\" \/> varijablu koja uzima vrijednost 1, ako se ostaci iz \u0107elije <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/48f9789788c38746ba4ac0c947e0a4ca.jpeg\" style=\"display:block;margin: 0 auto;\" \/> premje\u0161taju u kontejner <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/58ce0b4c9bfb946c00bffdc0c50a05d6.jpeg\" style=\"display:block;margin: 0 auto;\" \/>, i 0 u suprotnom. Ozna\u010dimo preko <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/642d5627193c55922be5274826b75cb4.jpeg\" style=\"display:block;margin: 0 auto;\" \/> varijablu koja uzima vrijednost 1, ako kontejner <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/6939c9f4daf2ecd531d9c2518c03401d.jpeg\" style=\"display:block;margin: 0 auto;\" \/> sadr\u017ei ostatke robe, i 0 u suprotnom.<\/p>\n<p><b>Zadatak se postavlja ovako<\/b>: potrebno je prona\u0107i takav skup kontejnera <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/d6065db66f210083181dabb39f0e9e16.jpeg\" style=\"display:block;margin: 0 auto;\" \/> i na taj na\u010din \"priklju\u010diti\" \u0107elije-donore kontejnerima, kako bi se minimizirala funkcija<\/p>\n<p><img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/68d7f0271f9761fff2c762e0fe6f5207.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>uz ograni\u010denja<\/p>\n<p><img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/d57b8752aa4a8140e239dfa7fdc9ec36.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Dakle, tijekom izra\u010dunavanja rje\u0161enja zadatka nastojimo: <\/p>\n<ul>\n<li>prvo, u\u0161tedjeti skladi\u0161ni prostor; <\/li>\n<li>drugo, u\u0161tedjeti vrijeme skladi\u0161tara. <\/li>\n<\/ul>\n<p>\nPosljednje ograni\u010denje zna\u010di da ne mo\u017eemo premje\u0161tati robu u kontejner koji nismo odabrali, a samim tim nismo ni \"snosili tro\u0161kove\" za njegov odabir. Tako\u0111er, ovo ograni\u010denje zna\u010di da volumen premje\u0161tane robe iz \u0107elija u kontejner ne smije prema\u0161iti kapacitet kontejnera. Pod rje\u0161enjem zadatka podrazumijevamo skup kontejnera <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/db0f987f2d388ad1394d21404e183c93.jpeg\" style=\"display:block;margin: 0 auto;\" \/> i na\u010dine priklju\u010divanja \u0107elija-donora kontejnerima.<\/p>\n<p>Ova formulacija optimizacijskog zadatka nije nova i istra\u017eivana je od strane mnogih matemati\u010dara jo\u0161 od po\u010detka 80-ih godina pro\u0161log stolje\u0107a. U inozemnoj literaturi postoje 2 optimizacijska zadatka s odgovaraju\u0107im matemati\u010dkim modelom: <noindex><a rel=\"nofollow\" href=\"http:\/\/www.math.nsc.ru\/AP\/benchmarks\/CFLP\/cflp.html\">Single-Source Capacitated Facility Location Problem<\/a><\/noindex> i <noindex><a rel=\"nofollow\" href=\"https:\/\/waset.org\/publications\/10002290\/a-survey-of-discrete-facility-location-problems\">Multi-Source Capacitated Facility Location Problem<\/a><\/noindex> (o razlikama u zadacima razgovarat \u0107emo kasnije). Vrijedi napomenuti da se u matemati\u010dkoj literaturi formulacije ovih dviju optimizacijskih problema izra\u017eavaju u terminima lociranja poduze\u0107a na terenu, odakle i naziv \u201eFacility Location\u201c. U ve\u0107ini slu\u010dajeva to je odraz tradicije, budu\u0107i da je prvi put potreba za rje\u0161avanjem takvih kombinatornih problema proiza\u0161la iz podru\u010dja logistike, ve\u0107inom u vojno-industrijskoj grani 50-ih godina pro\u0161log stolje\u0107a. U terminima lociranja poduze\u0107a, takvi problemi se formuliraju ovako: <\/p>\n<ul>\n<li>Postoji kona\u010dan broj gradova gdje potencijalno mogu biti smje\u0161tena proizvodna poduze\u0107a (dalje gradovi-proizvo\u0111a\u010di). Za svaki grad-proizvo\u0111a\u010d dane su tro\u0161kove otvaranja poduze\u0107a, kao i ograni\u010denje na proizvodne kapacitete otvorenog poduze\u0107a.<\/li>\n<li>Postoji kona\u010dan broj gradova gdje se zapravo nalaze klijenti (dalje gradovi-klijenti). Za svaki od tih gradova-klijenata je specificiran obujam potra\u017enje za proizvodom. Radi jednostavnosti, pretpostavit \u0107emo da je proizvod koji proizvode poduze\u0107a i koji konzumiraju klijenti jedan.<\/li>\n<li>Za svaki par grad-proizvo\u0111a\u010d i grad-klijent zadan je iznos tro\u0161kova prijevoza za isporuku potrebnog obujma proizvoda od proizvo\u0111a\u010da do klijenta.<\/li>\n<\/ul>\n<p>\nTreba prona\u0107i u kojim gradovima otvoriti poduze\u0107a i kako povezati klijente s tim poduze\u0107ima, kako bi:<\/p>\n<ul>\n<li>Ukupni tro\u0161kovi otvaranja poduze\u0107a i tro\u0161kovi prijevoza bili minimalni;<\/li>\n<li>Obujam potra\u017enje klijenata povezanih s nekim otvorenim poduze\u0107em ne prelazi proizvodne kapacitete tog poduze\u0107a.<\/li>\n<\/ul>\n<p>\nSada vrijedi spomenuti jedinstvenu razliku izme\u0111u ova dva klasi\u010dna problema:<\/p>\n<ul>\n<li>Single-Source Capacitated Facility Location Problem \u2013 klijent se opskrbljuje samo iz jednog otvorenog poduze\u0107a;<\/li>\n<li>Multi-Source Capacitated Facility Location Problem \u2013 klijent se mo\u017ee opskrbljivati iz nekoliko otvorenih poduze\u0107a istovremeno.<\/li>\n<\/ul>\n<p>\nTakva razlika izme\u0111u dvaju problema na prvi pogled \u010dini se bezna\u010dajnom, ali zapravo vodi do potpuno razli\u010dite kombinatorne strukture tih problema i, kao posljedica, do potpuno razli\u010ditih algoritama za njihovo rje\u0161avanje. Razlika izme\u0111u problema prikazana je na slici ispod.<\/p>\n<p><img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/77962906c7de2fced174d4a2b7785cc2.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Sl.3. a) Multi-Source Capacitated Facility Location Problem<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/0242437e488a1aea0f00ce9ede02886d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Sl.3. b) Single-Source Capacitated Facility Location Problem<\/i><\/p>\n<p>Oba problema <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/b16678811fceca32d18c94e71cfaa603.jpeg\" style=\"display:block;margin: 0 auto;\" \/>-te\u0161ke, odnosno ne postoji to\u010dan algoritam koji bi za polinomno vrijeme u odnosu na veli\u010dinu ulaznih podataka rije\u0161io takav problem. Drugim rije\u010dima, svi to\u010dni algoritmi za rje\u0161avanje problema \u0107e raditi eksponencijalno vrijeme, iako, mo\u017eda, br\u017ee od potpune brute-force metode. S obzirom na problem <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/09f42b4b905d9bdc3f00f21098f84ad7.jpeg\" style=\"display:block;margin: 0 auto;\" \/>-te\u017eak, pa \u0107emo razmatrati samo pribli\u017ene heuristike, tj. algoritme koji izra\u010dunavaju rje\u0161enja koja su vrlo bliska optimalnim i rade dovoljno brzo. Ako postoji interes za takav problem, ovdje se mo\u017ee prona\u0107i dobar pregled na hrvatskom.<\/p>\n<p>Ako prebacimo na terminologiju na\u0161eg zadatka optimalnog skladi\u0161tenja robe u \u0107elijama, tada:<\/p>\n<ul>\n<li>gradovi-klijenti \u2013 to su \u0107elije-donori <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/e6db70dbb85d1c7249f4c30e97e2942e.jpeg\" style=\"display:block;margin: 0 auto;\" \/> s ostacima robe, <\/li>\n<li>gradovi-proizvo\u0111a\u010di \u2013 \u0107elije-kontejneri <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/5ef31fe0483d2bc9a0c18b5dc25e9867.jpeg\" style=\"display:block;margin: 0 auto;\" \/>, u koje se planira smjestiti ostatke iz drugih \u0107elija,<\/li>\n<li>tro\u0161kovi transporta \u2013 tro\u0161kovi vremena <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/afac567e9057a46de6e0f3d29df9315a.jpeg\" style=\"display:block;margin: 0 auto;\" \/> skladi\u0161tarima za premje\u0161tanje volumena robe iz \u0107elije-donora <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/829df82255e40cb99024d7c8dd408d41.jpeg\" style=\"display:block;margin: 0 auto;\" \/> u \u0107eliju-kontejner <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/b87c9d9260adb26ce623dbe80b4f22c2.jpeg\" style=\"display:block;margin: 0 auto;\" \/>; <\/li>\n<li>tro\u0161kovi otvaranja poduze\u0107a \u2013 tro\u0161kovi odabira kontejnera <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/db4d21fc2067a23b5af5bb01c412323a.jpeg\" style=\"display:block;margin: 0 auto;\" \/>, jednaki volumenu \u0107elije-kontejnera <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/b631a01a65f1ffd3348cbcaeeab11f0d.jpeg\" style=\"display:block;margin: 0 auto;\" \/>, pomno\u017eenom s nekim koeficijentom u\u0161tede slobodnih volumena (vrijednost koeficijenta uvijek &gt; 1) (vidi odjeljak priprema ulaznih podataka).<\/li>\n<\/ul>\n<p>\nNakon \u0161to je analogija s poznatim klasi\u010dnim zadatkom isporuke provedena, potrebno je odgovoriti na va\u017eno pitanje koje utje\u010de na izbor arhitekture algoritma rje\u0161enja: je li premje\u0161tanje ostataka iz \u0107elije-donora mogu\u0107e samo u jedan i samo jedan kontejner (Single-Source), ili je li mogu\u0107e premje\u0161tanje ostataka u vi\u0161e \u0107elija-kontejnera (Multi-Source)?<\/p>\n<p>Vrijedi napomenuti da u praksi obje formulacije problema postoje. Ispod \u0107emo navesti sve \u201aza\u2018 i \u201aprotiv\u2018 za svaku takvu formulaciju:<\/p>\n<table>\n<tr>\n<th>Opcija problema<\/th>\n<th>Prednosti opcije<\/th>\n<th>Nedostaci opcije<\/th>\n<\/tr>\n<tr>\n<td>Single-Source<\/td>\n<td>Operacije premje\u0161tanja robe, izra\u010dunate prema ovoj opciji problema:<\/p>\n<ul>\n<li>tra\u017ee manje kontrole s strane skladi\u0161tara (uzeo je SVE iz jedne \u0107elije, stavio SVE u drugu \u0107eliju-kontejner), \u0161to eliminira rizike: pogre\u0161ke pri prebrojavanju koli\u010dine robe prilikom obavljanja operacija \u201aStavi u \u0107eliju\u2018; pogre\u0161ke pri unosu prebrojane koli\u010dine u TSD;<\/li>\n<li>Nema potrebe za ponovnim brojanjem koli\u010dine proizvoda prilikom izvr\u0161enja operacija \u201eStaviti u \u0107eliju\u201c i njihove unosa u TSD.<\/li>\n<\/ul>\n<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Multi-Source<\/td>\n<td>Kompresije izra\u010dunate prema ovoj varijanti zadatka obi\u010dno su kompaktne za 10-15% u odnosu na kompresije izra\u010dunate prema varijanti \u201eSingle-Source\u201c. Ipak, treba napomenuti da \u0161to je manji broj ostataka u \u0107elijama-donorima, to je razlika u kompaktno\u0161\u0107u manja.<\/td>\n<td>Operacije premje\u0161tanja robe, izra\u010dunate prema ovoj opciji problema:<\/p>\n<ul>\n<li>Zahteva ve\u0107i nadzor od strane skladi\u0161tara (potrebno je prebrojati koli\u010dinu proizvoda koja se prenosi u svaku od planiranih \u0107elija-kontejnera), \u0161to eliminates rizik od gre\u0161ke prilikom prebrojavanja koli\u010dine proizvoda i unosa podataka u TSD prilikom izvr\u0161enja operacija \u201eStaviti u \u0107eliju\u201c.<\/li>\n<li>Potrebno je vreme za ponovno brojanje koli\u010dine proizvoda prilikom izvr\u0161enja operacija \u201eStaviti u \u0107eliju\u201c.<\/li>\n<li>Potrebno je vreme za 'prekovremene tro\u0161kove' (stati, pri\u0107i paleti, skenirati barkod \u0107elije-kontejnera) prilikom izvr\u0161enja operacija \u201eStaviti u \u0107eliju\u201c.<\/li>\n<li>Ponekad algoritam mo\u017ee 'rascepiti' koli\u010dinu gotovo pune palete izme\u0111u velikog broja \u0107elija-kontejnera gde ve\u0107 ima odgovaraju\u0107i proizvod, \u0161to bi iz perspektive kupca bilo neprihvatljivo.<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/table>\n<p><i>Tabela 1. Prednosti i nedostaci varijanti Single-Source i Multi-Source.<\/i><\/p>\n<p>S obzirom na to da opcija Single-Source ima vi\u0161e prednosti, a tako\u0111e uzimaju\u0107i u obzir \u010dinjenicu da \u0161to je manji broj ostataka u \u0107elijama-donorima, to je razlika u stepenu kompaktno\u0161\u0107u kompresije smanjena, na\u0161 izbor je pao na varijantu Single-Source.<\/p>\n<p>Treba re\u0107i da re\u0161enje varijante Multi-Source tako\u0111e ima svoje mesto. Postoji veliki broj efikasnih algoritama za njegovo re\u0161enje, od kojih se ve\u0107ina svodi na re\u0161avanje niza transportnih zadataka. Tako\u0111e postoje ne samo efikasni, ve\u0107 i elegantni algoritmi, na primer,<noindex><a rel=\"nofollow\" href=\"http:\/\/www.mathnet.ru\/php\/archive.phtml?wshow=paper&amp;jrnid=da&amp;paperid=791&amp;option_lang=rus\"> ovde.<\/a><\/noindex><\/p>\n<h4>Priprema ulaznih podataka<\/h4>\n<p>\nPre nego \u0161to zapo\u010dnemo analizu i razvoj algoritma za re\u0161avanje zadatka, potrebno je utvrditi koje podatke i u kojem obliku \u0107emo mu dostaviti na ulaz. Sa koli\u010dinama ostataka proizvoda u \u0107elijama-donorima i kapacitetom \u0107elija-kontejnera nema problema, jer je to trivijalno \u2013 takve veli\u010dine bi\u0107e mjerene u m3, ali \u0161to se ti\u010de tro\u0161kova kori\u0161\u0107enja \u0107elije-kontejnera i matrice tro\u0161kova za kretanje, stvari nisu tako jednostavne!<\/p>\n<p>Na po\u010detku \u0107emo razmotriti izra\u010dunavanje <b>tro\u0161kova premje\u0161tanja robe<\/b> iz \u0107elije-donora u \u0107eliju-kontejner. Prvo je potrebno odrediti u kojim jedinicama mjerenja \u0107emo izra\u010dunavati tro\u0161kove premje\u0161tanja. Dve naj o\u010diglednije opcije su metri i sekunde. U \u201e\u010distim\u201d metrima tro\u0161kove premje\u0161tanja ra\u010dunati je besmisleno. Prika\u017eimo to na primjeru. Pretpostavimo da je \u0107elija <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/990a5fae8988ddf41395483263de2bcc.jpeg\" style=\"display:block;margin: 0 auto;\" \/> smje\u0161tena na prvom spratu, \u0107elija <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/9d17b98e807444f431d01f2e77fc96f7.jpeg\" style=\"display:block;margin: 0 auto;\" \/> udaljena 30 metara i nalazi se na drugom spratu:<\/p>\n<ul>\n<li>Premje\u0161tanje iz <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/3188fd9853d5cda2834a5083539ac11d.jpeg\" style=\"display:block;margin: 0 auto;\" \/> u <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/e212a0be19ea687b1017c3aacec3df19.jpeg\" style=\"display:block;margin: 0 auto;\" \/> skuplje je nego premje\u0161tanje iz <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/d65e60dec37fb3b83c83ca1c566f1ee9.jpeg\" style=\"display:block;margin: 0 auto;\" \/> u <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/4168198a4c90bdd3dd4b7f0c904b06e0.jpeg\" style=\"display:block;margin: 0 auto;\" \/>, jer je lak\u0161e spu\u0161tati se sa drugog sprata (1,5-2 metra od poda) nego podizati na drugi, iako \u0107e udaljenost biti jednaka;<\/li>\n<li>Premjestiti 1 kom. robe iz \u0107elije <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/039864ccd0a2bd14a99a83494f056fa3.jpeg\" style=\"display:block;margin: 0 auto;\" \/> u <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/9f9bc7a256119b110f47760b145e174b.jpeg\" style=\"display:block;margin: 0 auto;\" \/> bit \u0107e lak\u0161e nego premjestiti 10 kom. iste robe, iako \u0107e udaljenost biti jednaka.<\/li>\n<\/ul>\n<p>\nTro\u0161kove premje\u0161tanja bolje je pratiti u sekundama, jer to omogu\u0107ava da se uzmu u obzir i razlika u spratovima i razlika u koli\u010dini premje\u0161tene robe. Da bismo izra\u010dunali tro\u0161kove premje\u0161tanja u sekundama, moramo razlo\u017eiti operaciju premje\u0161tanja na elementarne sastojke i mjeriti vreme potrebno za izvr\u0161avanje svake elementarne komponente.<\/p>\n<p>Pretpostavimo da iz \u0107elije <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/538c4304e37f340a5a5a8e47e0ee2865.jpeg\" style=\"display:block;margin: 0 auto;\" \/> premje\u0161ta <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/6c7e32728f4771726f8ef9b2d78111d6.jpeg\" style=\"display:block;margin: 0 auto;\" \/> kom. robe u kontejner <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/fc2ad051b500eae5884404f4b9419841.jpeg\" style=\"display:block;margin: 0 auto;\" \/>. Neka <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/6733192a31618a03e51e8e3133cb96ee.jpeg\" style=\"display:block;margin: 0 auto;\" \/> bude prosje\u010dna brzina kretanja radnika po skladi\u0161tu, mjerena u m\/s. Neka <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/97f7e9c65c2196fa586f957618d1c8a2.jpeg\" style=\"display:block;margin: 0 auto;\" \/> i <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/bbe48d987f180e2f9ccec6e090e6f942.jpeg\" style=\"display:block;margin: 0 auto;\" \/> budu prosje\u010dne brzine jednokratnog izvr\u0161enja operacija uzeti i staviti za volumen robe jednak 4 dm3 (prosje\u010dan volumen koji uzima radnik u skladi\u0161tu prilikom izvr\u0161avanja operacija). Neka <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/267d74648f49d5a2d063b1377c6d2fe6.jpeg\" style=\"display:block;margin: 0 auto;\" \/> i <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/fefdd606d5a81ba4e2ce57b107dfe1e6.jpeg\" style=\"display:block;margin: 0 auto;\" \/> bude visina \u0107elija iz kojih se izvr\u0161avaju operacije uzeti i staviti. Na primjer, prosje\u010dna visina prvog sprata (pod) je 1 m, drugi sprat 2 m itd. Tada formula za izra\u010dun ukupnog vremena potrebnog za izvr\u0161enje operacije premje\u0161tanja <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/a48ae3c2e9dc8f2c3108cb2be1f96c40.jpeg\" style=\"display:block;margin: 0 auto;\" \/> je sljede\u0107a:<\/p>\n<p><img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/55afb96b1141bb5656351bdaeba31ae4.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>U tabeli 2 prikazana je statistika vremena izvr\u0161enja svake elementarne operacije, koju su prikupili zaposlenici skladi\u0161ta uzimaju\u0107i u obzir specifi\u010dnost \u010duvane robe.<\/p>\n<table>\n<tr>\n<th>Naziv operacije<\/th>\n<th>Oznaka<\/th>\n<th>Prosje\u010dna vrijednost<\/th>\n<\/tr>\n<tr>\n<td>Prosje\u010dna brzina kretanja radnika po skladi\u0161tu<\/td>\n<td><img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/dadbfb13d2b84b95ab2c5d653a21668b.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/td>\n<td>1,5 m\/s<\/td>\n<\/tr>\n<tr>\n<td>Prosje\u010dna brzina izvr\u0161enja jedne operacije staviti (za volumen robe 4 dm3)<\/td>\n<td><img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/aa619b43a70a7cf646ad35d5c8883329.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/td>\n<td>2,4 sek<\/td>\n<\/tr>\n<\/table>\n<p><i>Tabela 2. Prosje\u010dno vreme izvr\u0161enja skladi\u0161nih operacija<\/i><\/p>\n<p>Sa na\u010dinom izra\u010duna tro\u0161kova premje\u0161tanja smo se dogovorili. Sada je potrebno saznati kako izra\u010dunati <b>tro\u0161kove za odabir \u0107elije-kontejnera<\/b>Ovdje je sve puno, puno slo\u017eenije nego s tro\u0161kovima premje\u0161tanja, jer: <\/p>\n<ul>\n<li>prvo, tro\u0161kovi bi trebali biti u izravnoj vezi s volumenom \u0107elije \u2013 istu koli\u010dinu zaliha koja se premje\u0161ta iz \u0107elija-donora bolje je staviti u manji kontejner nego u ve\u0107i, pod uvjetom da takav volumen u potpunosti stane u oba kontejnera. Tako, minimiziraju\u0107i ukupne tro\u0161kove izbora kontejnera, nastojimo u\u0161tedjeti 'deficitarne' slobodne skladi\u0161ne kapacitete u podru\u010dju zone odabira, radi obavljanja narednih operacija postavljanja robe u \u0107elijama. Na slici 4 prikazani su na\u010dini premje\u0161tanja zaliha u velike i male kontejnere i posljedice takvih opcija premje\u0161tanja prilikom obavljanja narednih skladi\u0161nih operacija.<\/li>\n<li>drugo, s obzirom na to da u rje\u0161enju po\u010detnog zadatka moramo minimizirati ukupne tro\u0161kove, a to je zbroj tro\u0161kova premje\u0161tanja i tro\u0161kova izbora kontejnera, potrebno je nekako uskladiti volumene \u0107elija u kubnim metrima s sekundama, \u0161to nije nimalo trivijalno.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/2c906f9e80b32fcb111fcba7000ea2ba.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Sl. 4. Opcije premje\u0161tanja zaliha u kontejnere razli\u010ditih kapaciteta.<\/i><\/p>\n<p>Na slici 4 crvenom bojom prikazan je volumen zaliha koji vi\u0161e ne stane u kontejner u drugoj fazi postavljanja sljede\u0107ih proizvoda. <\/p>\n<p>Pomo\u0107i \u0107e uskladiti kubi\u010dne metre tro\u0161kova izbora kontejnera sa sekundama tro\u0161kova premje\u0161tanja sljede\u0107i zahtjevi za prora\u010dunata rje\u0161enja zadatka:<\/p>\n<ul>\n<li>Moramo osigurati da se zalihe iz \u0107elije-donora premjeste u \u0107eliju-kontejner u svakom slu\u010daju, ako to smanjuje ukupni broj \u0107elija-kontejnera u kojima se nalazi roba.<\/li>\n<li>Potrebno je odr\u017eavati ravnote\u017eu izme\u0111u volumena kontejnera i tro\u0161kova vremena za premje\u0161tanje: na primjer, ako je u novoj opciji rje\u0161enja zadatka u odnosu na prethodnu opciju dobitak u volumenu velik, a gubitak u tro\u0161kovima vremena mali, tada je potrebno odabrati novu opciju.<\/li>\n<\/ul>\n<p>\nPo\u010det \u0107emo s posljednjim zahtjevom. Kako bismo konkretizirali vi\u0161ezna\u010dnu rije\u010d 'ravnote\u017ea', proveli smo anketu me\u0111u zaposlenicima skladi\u0161ta s ciljem da saznamo sljede\u0107e. Neka imamo \u0107eliju-kontejner volumena <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/2b831b12448ccaee33c528ac622b7ee3.jpeg\" style=\"display:block;margin: 0 auto;\" \/>, u koju je predvi\u0111eno premje\u0161tanje zaliha iz \u0107elija-donora, a ukupno vrijeme takvog premje\u0161tanja jednako je <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/8050f4b02464164d334048bda86b3923.jpeg\" style=\"display:block;margin: 0 auto;\" \/>. Postavite jo\u0161 nekoliko alternativnih opcija za smje\u0161taj iste koli\u010dine robe iz istih donatorskih \u0107elija u druge kontejnere, pri \u010demu svaki smje\u0161taj ima svoje ocjene. <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/76f11cd5ab85f9092c8f458d01ac347b.jpeg\" style=\"display:block;margin: 0 auto;\" \/>, gdje <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/9e735d8a9c4cff3c69fd926eac8c85aa.jpeg\" style=\"display:block;margin: 0 auto;\" \/>&lt;<img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/d963e193a263a1505467c19e874f0aab.jpeg\" style=\"display:block;margin: 0 auto;\" \/> i <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/ff5d990cf5a1752d7bb45da9fd58cd7a.jpeg\" style=\"display:block;margin: 0 auto;\" \/>, gdje <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/485f34b3e720011c38740712cdb8edd9.jpeg\" style=\"display:block;margin: 0 auto;\" \/>&gt;<img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/c66b20d93fd1791e9f186f707b1517bb.jpeg\" style=\"display:block;margin: 0 auto;\" \/>. <\/p>\n<p>Postavlja se pitanje: koja je minimalna dobit u volumenu? <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/86861ad2236d827efdc683d759d4c120.jpeg\" style=\"display:block;margin: 0 auto;\" \/> pri zadanoj vrijednosti gubitka vremena? <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/3d49171042fd83244c054dfd84e5c6bb.jpeg\" style=\"display:block;margin: 0 auto;\" \/>? \u041f\u043e\u044f\u0441\u043d\u0438\u043c \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435. \u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043e\u0441\u0442\u0430\u0442\u043a\u0438 \u043f\u043e\u043b\u0430\u0433\u0430\u043b\u043e\u0441\u044c \u0440\u0430\u0437\u043c\u0435\u0449\u0430\u0442\u044c \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u043e\u0431\u044a\u0435\u043c\u0430 1000 \u0434\u043c3 (1 \u043c3) \u0438 \u0432\u0440\u0435\u043c\u044f \u043d\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u043b\u043e 70 \u0441\u0435\u043a\u0443\u043d\u0434. \u0415\u0441\u0442\u044c \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u043e\u0441\u0442\u0430\u0442\u043a\u043e\u0432 \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u043e\u0431\u044a\u0435\u043c\u0430 500 \u0434\u043c3 \u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c 130 \u0441\u0435\u043a\u0443\u043d\u0434. \u0412\u043e\u043f\u0440\u043e\u0441: \u0433\u043e\u0442\u043e\u0432\u044b \u043b\u0438 \u043c\u044b \u0442\u0440\u0430\u0442\u0438\u0442\u044c \u0435\u0449\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 60 \u0441\u0435\u043a\u0443\u043d\u0434 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043a\u043b\u0430\u0434\u043e\u0432\u0449\u0438\u043a\u0430 \u043d\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c 500 \u0434\u043c3 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043c\u0430? \u041f\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c \u043e\u043f\u0440\u043e\u0441\u0430 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u0441\u043a\u043b\u0430\u0434\u0430 \u0431\u044b\u043b\u0430 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u0430.<\/p>\n<p><img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/283289c63fe1232e95b73d1dffdaa030.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Slika 5. Dijagram ovisnosti minimalne prihvatljive u\u0161tede volumena o pove\u0107anju razlike u vremenu izvr\u0161enja operacije.<\/i><\/p>\n<p>Odnosno, ako dodatni tro\u0161kovi u vremenu iznose 40 sekundi, spremni smo ih potro\u0161iti samo ako \u0107e dobit u volumenu biti najmanje 500 d\u043c3. Iako se u ovisnosti primje\u0107uje mala nelineranost, radi jednostavnosti daljnjih izra\u010duna pretpostavit \u0107emo da je ovisnost izme\u0111u veli\u010dina linearna i da ju opisuje nejednakost.<\/p>\n<p><img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/666802648033d918a1119e58963feffe.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Na slici ispod razmatramo sljede\u0107e na\u010dine smje\u0161taja robe u kontejnere.<\/p>\n<p><img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/a1cb3a5bce4c369f63b3ebeebb738911.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Slika 6. Opcija (a): 2 kontejnera, ukupni volumen 400 d\u043c3, ukupno vrijeme 150 sekundi.<\/i><br \/>\n<img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/a13f35b0e2a188e9a8cbf27bcfbf0292.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Slika 6. Opcija (b): 2 kontejnera, ukupni volumen 600 d\u043c3, ukupno vrijeme 190 sekundi.<\/i><br \/>\n<img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/35699c8bd00546c9828dbe50d4b53c46.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Slika 6. Opcija (c): 1 kontejner, ukupni volumen 400 d\u043c3, ukupno vrijeme 200 sekundi.<\/i><\/p>\n<p>Opcija (a) odabira kontejnera je po\u017eeljnija od izvorne opcije, budu\u0107i da je nejednakost ostvarena: (800-400)\/10 \u2265 150-120, iz \u010dega slijedi 40 \u2265 30. Opcija (b) je manje po\u017eeljna od izvorne opcije, jer nejednakost nije ostvarena: (800-600)\/10 \u2265 190-150, iz \u010dega slijedi 20 \u2265 40. Me\u0111utim, opcija (c) ne odgovara ovoj logici! Razmotrimo ovu opciju detaljnije. S jedne strane nejednakost (800-400)\/10 \u2265 200-120, \u0161to zna\u010di da nejednakost 40 \u2265 80 nije ostvarena, \u0161to ukazuje na to da dobit u volumenu ne opravdava toliki gubitak vremena. <\/p>\n<p>S druge strane, u takvoj opciji (c) ne samo da smanjujemo ukupno zauzeti volumen, nego tako\u0111er smanjujemo broj zauzetih \u0107elija, \u0161to je prvi od dva va\u017ena zahtjeva za izra\u010dunata rje\u0161enja problema, navedena gore. O\u010dito je da je kako bi se ovaj zahtjev po\u010deo ostvarivati potrebno u lijevu stranu nejednakosti dodati neku pozitivnu konstantu. <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/61d6b2cb21474a2f4512d6a130a15a0a.jpeg\" style=\"display:block;margin: 0 auto;\" \/>, pri \u010demu tu konstantu treba dodati samo kada se broj kontejnera smanjuje. Podsjetimo se da <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/d80d33679896035041d0ca9a78e8177a.jpeg\" style=\"display:block;margin: 0 auto;\" \/> \u2014 to je varijabla koja je jednaka 1 kada je kontejner <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/a83cd6273e544b63099939e6845740fb.jpeg\" style=\"display:block;margin: 0 auto;\" \/> odabran, i 0 kada kontejner <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/bc94d9e952782e630125a6e8919ba5ad.jpeg\" style=\"display:block;margin: 0 auto;\" \/> nije odabran. Oznaka, <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/1e3fb5d7013e60f67c56a56899630852.jpeg\" style=\"display:block;margin: 0 auto;\" \/> \u2013 mno\u0161tvo kontejnera u prvotnom rje\u0161enju i <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/26ac9732af37e865cea1bb10a343175c.jpeg\" style=\"display:block;margin: 0 auto;\" \/> \u2013 mno\u0161tvo kontejnera u novom rje\u0161enju. U op\u0107em obliku novo nejednakost \u0107e izgledati ovako:<\/p>\n<p><img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/1237914e5fdafcc6013203e2624009d0.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Preoblikovanjem gornje nejednakosti, dobivamo <\/p>\n<p><img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/80b039f9ef44301c3b624ada42c28db8.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Iz ovoga imamo formulu za izra\u010dun ukupnih tro\u0161kova <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/cb5bce584fee0156b23adbab83f66b33.jpeg\" style=\"display:block;margin: 0 auto;\" \/> neke varijante rje\u0161enja problema:<\/p>\n<p><img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/34f382d40368a980674914916c65b4ec.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><b>Ali sada se postavlja pitanje<\/b>: koju vrijednost bi takva konstanta trebala imati <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/e4754f88bcddfba85b3c785512bee697.jpeg\" style=\"display:block;margin: 0 auto;\" \/>? \u041e\u0447\u0435\u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0438\u043c, \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u0435\u0433\u0434\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u043e\u0441\u044c \u043f\u0435\u0440\u0432\u043e\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0435 \u043a \u0440\u0435\u0448\u0435\u043d\u0438\u044f\u043c \u0437\u0430\u0434\u0430\u0447\u0438. \u041c\u043e\u0436\u043d\u043e \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0432\u0437\u044f\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b \u0440\u0430\u0432\u043d\u043e\u0435 103 \u0438\u043b\u0438 106, \u043d\u043e \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u0442\u0430\u043a\u0438\u0445 \u00abmagic numbers\u00bb. \u0415\u0441\u043b\u0438 \u0431\u0443\u0434\u0435\u043c \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0443 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u043a\u043b\u0430\u0434\u0441\u043a\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u043f\u043e\u043b\u043d\u0435 \u043e\u0431\u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0445 \u043e\u0446\u0435\u043d\u043e\u043a \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u044b \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b.<\/p>\n<p>Neka <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/50deefe99bf1d5f948a49591904a8bfe.jpeg\" style=\"display:block;margin: 0 auto;\" \/> \u2013 maksimalna udaljenost izme\u0111u \u0107elija skladi\u0161ta jedne zone ABC, koja iznosi u na\u0161em slu\u010daju 100 m. Neka <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/466892dd75279d08b4835a42e62444d4.jpeg\" style=\"display:block;margin: 0 auto;\" \/> \u2013 maksimalni volumen \u0107elije-kontejnera u skladi\u0161tu, koji iznosi u na\u0161em slu\u010daju 1000 dm3.<\/p>\n<p><b>Prvi na\u010din izra\u010duna veli\u010dine<\/b> <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/29b94b534da709020cbef206cb0d7dac.jpeg\" style=\"display:block;margin: 0 auto;\" \/>. Razmatramo situaciju u kojoj postoje 2 kontejnera na prvom sloju, u kojima se ve\u0107 fizi\u010dki nalazi roba, tj. oni sami su \u0107elije-donatori, a tro\u0161kovi premje\u0161tanja robe u te iste \u0107elije su, naravno, 0. Potrebno je prona\u0107i takvu vrijednost konstante <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/5cf81db57dd2a18cc0ec29bb7ca3da62.jpeg\" style=\"display:block;margin: 0 auto;\" \/>, pri kojoj bi bilo isplativo uvijek premje\u0161tati ostatke iz kontejnera 1 u kontejner 2. Umetanjem vrijednosti <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/20bbd09e167edc3eb1ed49d8078ecf19.jpeg\" style=\"display:block;margin: 0 auto;\" \/> i <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/605017af48e7b3ca4a323642db4227cd.jpeg\" style=\"display:block;margin: 0 auto;\" \/> u gornju nejednakost, dobivamo:<\/p>\n<p><img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/2794955b8f9f3d64ffe4e2b449547555.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>iz \u010dega slijedi<\/p>\n<p><img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/292a6e80c646c7eed80e888c8805990c.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Umetanjem vrijednosti prosje\u010dnog vremena izvedbe elementalnih operacija u gornju formulu dobivamo<\/p>\n<p><img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/1f56bf1f98c1a3bbd65a4cea99da7efb.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><b>Drugi na\u010din izra\u010duna veli\u010dine<\/b> <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/78e3dff7183b15136d9e03f4a5724479.jpeg\" style=\"display:block;margin: 0 auto;\" \/>. Razmatramo situaciju u kojoj postoji <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/02daff1eff70a2963ab8eaa067f15584.jpeg\" style=\"display:block;margin: 0 auto;\" \/> \u0107elija-donatora iz kojih se planira premjestiti roba u kontejner 1. Oznaka <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/df20c3f27815f2060aae20d260210893.jpeg\" style=\"display:block;margin: 0 auto;\" \/> \u2013 udaljenost od \u0107elije-donatora <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/a29ace66656cf1680c9e00258a9ff597.jpeg\" style=\"display:block;margin: 0 auto;\" \/> do kontejnera 1. Ima tako\u0111er kontejner 2, u kojem ve\u0107 ima roba, a \u010diji volumen dopu\u0161ta smje\u0161taj ostataka iz svih <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/e25f0828e7d794f8d804528395f6dc7e.jpeg\" style=\"display:block;margin: 0 auto;\" \/> \u0107elija. Radi jednostavnosti, pretpostavit \u0107emo da je volumen robe koja se premje\u0161ta iz \u0107elija-donatora u kontejnere jednak <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/35c3392a83fc3b7eef928ddb5e93961a.jpeg\" style=\"display:block;margin: 0 auto;\" \/>. Potrebno je prona\u0107i takvu vrijednost konstante <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/c9bc10aade46cc3c63628c0ba100b364.jpeg\" style=\"display:block;margin: 0 auto;\" \/>, pri kojoj bi smje\u0161taj svih ostataka iz <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/e610d9981da2857a541f028a217f2306.jpeg\" style=\"display:block;margin: 0 auto;\" \/> \u0107elija u kontejner 2 uvijek bio isplativiji nego smje\u0161taj u razli\u010dite kontejnere:<\/p>\n<p><img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/27f4f99a920799fba9725f30a04c8ebc.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Preoblikovanjem nejednakosti dobivamo<\/p>\n<p><img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/56abddb4fc3e54eeb1fe466c68e5d8d7.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Kako bismo \"poja\u010dali\" vrijednost veli\u010dine <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/d77359ea816f9d45a8910cb26649f717.jpeg\" style=\"display:block;margin: 0 auto;\" \/>, prihva\u0107amo da <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/9edf13fb4e34b5da26957e451300046f.jpeg\" style=\"display:block;margin: 0 auto;\" \/> = 0. Prosje\u010dan broj \u0107elija koje obi\u010dno sudjeluju u postupku skupljanja ostataka u skladi\u0161tu iznosi 10. Umetanjem poznatih vrijednosti veli\u010dina, imamo sljede\u0107u vrijednost konstante<\/p>\n<p><img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/40323791fd8cd2be3f29a2becf78e175.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Uzimamo najve\u0107u vrijednost, izra\u010dunatu za svaku varijantu, to \u0107e biti vrijednost veli\u010dine <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/fd018460792c79b8a7953c06b839711d.jpeg\" style=\"display:block;margin: 0 auto;\" \/> za zadata parametre skladi\u0161ta. Sada, za cjelovitost, zapi\u0161imo formulu za izra\u010dun ukupnih tro\u0161kova <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/d4cb2c81bcc788380f1f0c1123b0eeda.jpeg\" style=\"display:block;margin: 0 auto;\" \/> za neku prihvatljivu varijantu rje\u0161enja <img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/052e710199e9417aaea94b16dbed47d3.jpeg\" style=\"display:block;margin: 0 auto;\" \/>:<\/p>\n<p><img decoding=\"async\" alt=\"Diskretna matematika za WMS: algoritam kompresije proizvoda u stanicama (dio 1)\" src=\"\/wp-content\/uploads\/2019\/08\/8dd672c7b91639fe1872ef50dca7a220.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Evo sada, nakon svih <b>titanovih napora<\/b> u transformaciji ulaznih podataka, mo\u017eemo re\u0107i da su svi ulazni podaci transformirani u \u017eeljeni oblik i spremni za kori\u0161tenje u algoritmu optimizacije.<\/p>\n<h4>Zaklju\u010dak<\/h4>\n<p>\nKao \u0161to praksa pokazuje, slo\u017eenost i va\u017enost faze pripreme i transformacije ulaznih podataka za algoritam \u010desto se podcjenjuju. U ovom \u010dlanku posebno smo posvetili puno pa\u017enje ovoj fazi kako bismo pokazali da samo kvalitetno i mudro pripremljeni ulazni podaci mogu u\u010diniti rje\u0161enja koja izra\u010dunava algoritam zaista vrijednima za klijenta. Da, bilo je mnogih ispravaka formula, ali Vas upozoravamo jo\u0161 prije katas \ud83d\ude42<\/p>\n<p>U sljede\u0107em \u010dlanku napokon \u0107emo do\u0107i do onoga zbog \u010dega su zami\u0161ljene prethodne 2 objave \u2013 do algoritma diskretne optimizacije.<\/p>\n<p><i>\u010clanak je pripremio<br \/>\nRoman Shangin, programer odjela projekata,<br \/>\ntvrtka Prvi Bit, \u010celjabinsk<\/i><br \/>\n<br \/>Izvor: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/463481\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c, \u043a\u0430\u043a \u0440\u0435\u0448\u0430\u043b\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043d\u0435\u0445\u0432\u0430\u0442\u043a\u0438 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0445 \u044f\u0447\u0435\u0435\u043a \u043d\u0430 \u0441\u043a\u043b\u0430\u0434\u0435 \u0438 \u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u0434\u0438\u0441\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0442\u0430\u043a\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438. \u0420\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043c\u044b \u00ab\u0441\u0442\u0440\u043e\u0438\u043b\u0438\u00bb \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u043c\u043e\u0434\u0435\u043b\u044c \u0437\u0430\u0434\u0430\u0447\u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438, \u0438 \u043e \u0442\u043e\u043c \u0441 \u043a\u0430\u043a\u0438\u043c\u0438 \u0442\u0440\u0443\u0434\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u043c\u044b \u043d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u043e \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c \u043f\u0440\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430. \u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0438 \u0432 \u0431\u0438\u0437\u043d\u0435\u0441\u0435 \u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":27819,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-37108","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/hr\/blog\/news\/diskretnaya-matematika-dlya-wms-algoritm-szhatiya-tovarov-v-yachejkah-chast-1\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"hr_HR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0414\u0438\u0441\u043a\u0440\u0435\u0442\u043d\u0430\u044f \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430 \u0434\u043b\u044f WMS: \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0441\u0436\u0430\u0442\u0438\u044f \u0442\u043e\u0432\u0430\u0440\u043e\u0432 \u0432 \u044f\u0447\u0435\u0439\u043a\u0430\u0445 (\u0447\u0430\u0441\u0442\u044c 1) | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hr\/blog\/news\/diskretnaya-matematika-dlya-wms-algoritm-szhatiya-tovarov-v-yachejkah-chast-1\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:15:47+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:15:47+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Diskretna matematika za WMS: algoritam kompresije proizvoda u \u0107elijama (dio 1) | ProHoster","description":"U \u010dlanku se bavimo.","canonical_url":"https:\/\/prohoster.info\/hr\/blog\/news\/diskretnaya-matematika-dlya-wms-algoritm-szhatiya-tovarov-v-yachejkah-chast-1","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hr_HR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0414\u0438\u0441\u043a\u0440\u0435\u0442\u043d\u0430\u044f \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430 \u0434\u043b\u044f WMS: \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0441\u0436\u0430\u0442\u0438\u044f \u0442\u043e\u0432\u0430\u0440\u043e\u0432 \u0432 \u044f\u0447\u0435\u0439\u043a\u0430\u0445 (\u0447\u0430\u0441\u0442\u044c 1) | ProHoster","og:description":"\u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b.","og:url":"https:\/\/prohoster.info\/hr\/blog\/news\/diskretnaya-matematika-dlya-wms-algoritm-szhatiya-tovarov-v-yachejkah-chast-1","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:15:47+00:00","article:modified_time":"2019-10-31T19:15:47+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"37108","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-22 06:08:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:33:24","updated":"2026-01-22 06:08:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/37108","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/comments?post=37108"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/37108\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media\/27819"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media?parent=37108"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/categories?post=37108"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/tags?post=37108"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}