QLIK DATA TRANSFORMATION EVENT  •  Ugotovite, kako lahko kar najbolje izkoristite svoje podatke - Pridruži se brezplačno 
Kupujete nove stroje? Ste pomislili na optimizacijo načrtovanja?
Blog

Kupujete nove stroje? Ste pomislili na optimizacijo načrtovanja?

8 min read Jan 17, 2020

Rast podjetja, ki se ukvarja z proizvodnjo, je odvisna od zmožnosti proizvodnje večjih količin izdelkov. Če se število naročil povečuje, proizvodne kapacitete pa se približujejo svojim omejitvam, mora vodstvo premisliti o naložbi v nove proizvodne kapacitete. To pa ni vedno lahka odločitev, saj je s tem povezan strošek naložbe, pogosto pa je obrat prostorsko omejen.

Dilema

S tem pa proizvodnih obratih se veliko investira v nove stroje, s katero podjetje želi povečati proizvodno moč obrata. Če bi našli način, kako pametneje zastaviti delovne procese, bi lahko hitreje proizvedli svoje izdelke ter obenem brez nakupa dragih novih strojev povečali delovne kapacitete.

undefined

Načrtovanje dela je pomemben del delovnega procesa v proizvodnem obratu 

Učinkovito načrtovanje dela je ključnega pomena za pravočasno izpolnjevanje naročil, razporejanje materialov in delovnih zmogljivosti ter končno optimizacijo dobička. Izkaže pa se, da je načrtovanje zahteven proces z veliko različnimi možnostmi, obenem pa se v proizvodnih obratih tudi zahteve hitro spreminjajo. V članku bomo predstavili sistem, ki je za eno izmed slovenskih proizvodnih podjetij vnesel ključno spremembo in optimiziral proces načrtovanja ter nezanemarljivo prispeval k prihodkom. Podjetje se ukvarja z tiskom različnih izdelkov, tako da so barve ena izmed poglavitnih surovin. Pred projektom smo pregledali njihov delovni proces in ugotovili, da je bilo ozko grlo prav načrtovanje delovnega procesa. Vpeljali smo sistem, ki v realnem času spremlja proizvodnjo na vseh strojih, vizualno prikaže in sporoča trenutno stanje vsakega stroja ter preračunava optimalni vrstni red delovnih nalogov.

V nabor delovnih nalogov prejmemo nov nabor, v katerem ima vsak izmed delovnih nalogov različne elemente. Glede na lastnosti zaporednih delovnih nalogov se en vrstni red hitreje izvaja od drugih. Oglejmo si primer čiščenja barvnih prekatov. Če v isti prekat vstavimo modro barvo in hočemo v naslednjem koraku uporabljati oranžno barvo, bomo porabili več časa za čiščenje prekata, kot če bi prej natisnili nalog z zeleno barvo, saj je zelena barva mešanica modre in rumene, oranžna pa je mešanica rumene in rdeče.

undefined

Slika 1: Barvni krog

Na preprostem primeru vidimo možnosti spreminjanja barv v enem prekatu

Stvari postanejo zanimive, ko skušamo načrtovati delovne naloge s tremi do osmimi barvami na treh strojih s 6 možnimi barvami, kjer vsak dela z drugačno hitrostjo in samo en premore tehnologijo za določeno vrsto tiskovin. Pri tem moramo biti pri vsakem delovnem nalogu previdni (oziroma je to kar najpomembnejša postavka), da ne zamudimo obljubljenega roka.

Omenili smo že veliko parametrov, ki jih moramo upoštevati in ustrezno usklajevati. Če bi to počeli ročno, bi potrebovali veliko časa (praktično nemogoče), saj je na voljo veliko število kombinacij. Časovna zahtevnost problema s 3 stroji je n! 3n. Kot zanimivost tukaj omenimo, da bi imeli pri 42 nalogih na voljo toliko različnih vrstnih redov, kolikor je vseh atomov na zemlji, pri 59 nalogih pa je ta številka enaka številu vseh atomov na svetu. Problemom takšnega ranga v računalniškem žargonu pravimo NP-polni problemi. To pomeni, da zelo težko preiščemo vse možne rešitve in najdemo najboljšo, ker je možnosti preprosto preveč. Če bi morali poiskati vse možne vrstne rede pri 190 delovnih nalogih, bi jih morali preiskati več kot 190!.

Ker pa je proizvodnja živ proces, se nenehno spreminja

Delovni nalog je narejen in izpolnjen, izdelek pa natisnjen in ustvarjen in ga torej ne upoštevamo več v vrstnem redu. Na drugi strani nenehno prihajajo nova naročila, za katera se moramo odločiti, kam jih bomo uvrstili. Zato potrebujemo sistem, ki se bo osveževal in sproti iskal po stalno spreminjajoči se množici delovnih nalogov. Potrebujemo način, ki bo v vsakem trenutku zmožen poiskati boljši vrstni red, če mu en člen odvzamemo ali dodamo, torej spremenimo organizem. Darwin je dejal: »Ne preživi najmočnejša vrsta, niti najbolj inteligentna; preživi tista, ki se najbolje prilagaja spremembam.« Eno rešitev vrstnega reda si predstavljamo kot nek osebek v neki vrsti. Več osebkov lahko med seboj primerjamo tako, da v dani populaciji izberemo tistega najboljšega za rešitev. Zaradi spreminjajočega se procesa se bodo najboljši osebki populacije velikokrat menjavali, zato uporabimo metodo, ki je navdih našla pri Darwinu, imenovano genetski algoritem.

Da bi lažje razumeli, kako algoritem deluje, si predstavljajmo, da želimo ustvariti najboljšo nogometno ekipo enajstih ljudi na svetu. Recimo, da imamo način, kako izmeriti kakovost ekipe, ko igra vseh 11 igralcev. Temu rečemo fitnes funkcija, ki vrne rezultat. Funkcija je sestavljena iz različnih vidikov, da zajame oceno igranja v obrambi in napadu ter ceno nogometašev in meri osebno povezanost med njimi. Vse lastnosti nato obteži in vrne številko, ki predstavlja oceno.

Ker je preveč možnosti in ljudi na svetu, imamo le omejeno možnosti oceniti različne ekipe, zato uporabimo različne metode menjavanja igralcev. V prvem krogu sestavimo nekaj ekip in jih razvrstimo v skladu z našo funkcijo. V naslednjem krogu želimo ustvariti nove ekipe in obdržati nekaj starih, da bi našli ekipo s čim boljšo oceno. Seveda se v naslednji krog uvrsti nekaj najbolje uvrščenih ekip (metoda je znana po imenu elitizem). Vzamemo poljubni ekipi in med njima zamenjamo nekaj igralcev, da dobimo dve novi ekipi. Metodi rečemo »cross-over« in z njo preverimo možnost, da se določeni igralci bolje počutijo v drugi ekipi. Seveda metodo ponovimo večkrat. Včasih se zgodi, da s predstavljenimi metodami preprosto ne moremo najti še boljše ekipe in torej dosežemo t. i. lokalni optimum. V tem primeru uporabimo metodo mutacije, ki naključno poišče igralca in ga vključi v eno ekipo. Izkaže se, da zaradi te metode genetski algoritem »uide« lokalnemu optimumu in prinese boljše rezultate. Po nekaj ponovitvah dobimo zelo dobro ekipo, vendar nikoli ne moremo vedeti, ali je najboljša. Sčasoma tudi igralci postajajo starejši, za njimi prihajajo mlajši, z drugačnimi sposobnostmi, zaradi česar moramo vedno ocenjevati in spreminjati ekipe ter iskati boljše možnosti.


undefined

Slika 2: Lokalni in globalni optimum. Genetski algoritem išče po prostoru in se skuša čimbolj približati globalnemu optimumu

Podobne metode smo uporabili pri iskanju najboljšega vrstnega reda, le da smo igralce zamenjali z delovnimi nalogami

Zaradi spreminjajoče se narave problema algoritem nenehno išče najboljšo rešitev in izvaja opisane metode. Izkaže se, da algoritem v nekaj iteracijah poišče dovolj dobro rešitev, da se je v proizvodnji, kjer smo rešitev implementirali, zgolj zaradi boljšega vrstnega reda opravil bistveno zmanjšal čas, porabljen za izdelavo istega števila delovnih nalogov. Na vsaki liniji se je proizvodni čas skrajšal za približno 2 uri, tako da imajo v podjetju občutno manj delovnih sobot. Prav tako je podjetje uspelo zmanjšati število zamujenih naročil.

undefined

Slika 3: Primer prikaza vrstnega reda. Rdeča črta prikazuje trenutni čas, rdeč pravokotnik signalizira delovni nalog, pri katerem je bilo porabljenega preveč časa, temno modri pravokotniki pred črto pa prikazujejo pravočasno izdelan nalog. Sistem v realnem času spremlja stanje, tako da trenutni nalog utripa modro, če še ni pretekel čas, potreben za izdelavo, v nasprotnem primeru začne utripati rdeče. Za načrtovane naloge desno od črte pa tudi poizvedujemo, ali so prejšnje operacije, potrebne za izdelavo nalog, že opravljene.

S sistemom smo uspeli povečati kapaciteto proizvodnih strojev, da je lahko podjetje izpolnilo več naročil brez nakupa novih proizvodnih obratov. S tem so ustvarili več 100 tisoč EUR dodatnega prihodka, kar je glede na velikost tega proizvodnega obrata pomenilo znatno povečanje. Z vpeljavo najnaprednejših algoritmov smo uspeli pokazati, da je možno tudi v manjših in srednje velikih proizvodnih obratih (v Sloveniji jih je veliko) uporabiti znanje iz akademske sfere in ga uporabiti pri reševanju izzivov v resničnem življenju. Ne le, da so problemi rešljivi, dovolj dobre optimalne rešitve imajo neposreden vpliv na dobiček in so vidne v zelo kratkem času. Izkušnje so pokazale, da je pri podjetjih še veliko prostora za napredek in da se premalo izkorišča že vpeljane sisteme in algoritme pri vsakodnevnih opravilih ter procesih, ki jih ljudje še vedno izvajajo ročno. S tem projektom smo sprostili in optimizirali kar nekaj procesov v proizvodnem ciklusu in pokazali, kako lahko znanost pomaga industriji.

(!) je matematična funkcija, imenovana fakulteta in se računa na naslednji način: n! = n*(n-1)*(n-2)*…*3*2*1

Želite prebirati več takšnih vsebin?

Naročite se na naše e-novice in najnovejše vsebine boste prejeli na vaš e-naslov.

O avtorju

Martin Frešer

Data Scientist