raziskave in razvoj UDK: 684.432:65.012.2 pregledni znanstveni ~lanek (A Review) Terminiranje kompleksnih proizvodnih procesov Complex production scheduling avtor Janez ABRAM, Novoles d.d., Stra`a, e-po{ta: janez.abram@novoles.si izvleček/Abstract V prispevku je predstavljen algoritem za terminiranje kompleksnih proizvodnih procesov, ki izhaja iz Heller – Loge-mannovega algoritma. Terminski izra~un je prilagojen omejitvam strojnih in delovnih kapacitet z mo`nostjo izbire alternativnih delovnih mest. Algoritem je bil preizku{en pri proizvodnji stolov. S simulacijo proizvodnega procesa smo predvideli ~asovne in kapacitetne omejitve. Pri izena~evanju kapacitet smo upo{tevali sistem ozkih grl, ki ~asovno prerazporeja tiste operacije, ki ne vplivajo na prepustnost proizvodnje. In this paper, we provide algorithm of a complex production schedule which considered capacity burden of the machines and workers. The algorithm is derivative of network planning and HellerLogemann algorithm. Production scheduling was performed with a computer programme, in chair production. Set of different operating scenarios was simulated in order to support the scheduling on human and machine resources. Optimized production technology (OPT) was used, where bottlenecks are identified and scheduled first to optimize the throughput of the system. Klju~ne besede: terminiranje, izena~e-vanje kapacitet, proizvodnja stolov, sistem ozkih grl, simulacija procesov Keywords: scheduling, capacity balance, chair production, optimized production technology, process simulation Uvod Pri planiranju proizvodnje, za katero je zna~ilna velika prilagodljivost zahtevam kupca in veliko {tevilo razli~nih izdelkov, ni dovolj izdelati okvirni ~a-sovni plan za skupino izdelkov, ki jih bomo proizvajali. Zaradi razli~nih obremenitev delovnih resursov, ki se med proizvajanjem spreminjajo glede na vrsto izdelkov, je treba simulirati proizvodni proces in izdelati ukrepe. Klju~nega pomena je spremljanje zasedenosti strojev, razporeditev delavcev po operacijah in delovnih mestih ter ozkih grl. V nasprotnem primeru prihaja do ni`je produktivnosti, nedose-ganja dogovorjenih rokov in posledi~no do nekonkuren~nosti na trgu. V kompleksnih proizvodnih procesih se hkrati proizvaja ve~je {tevilo vrst izdelkov, ki so sestavljeni iz velikega {te-vila sestavnih delov. Delovni nalogi se lansirajo v proizvodnjo med tem, ko se realizirani kon~ujejo. Izdelki se proizvajajo na razli~nih delovnih mestih ali strojih, katerih zmogljivosti med seboj niso vedno usklajene. ~asi trajanja operacij so od nekaj minut do nekaj dni. ^asi izvedbe operacije so normirani. Z izrazom terminiranje v proizvodnji obi~ajno razumemo dolo~anje rokov za dokon~anje proizvodov, komponent in operacij ter ~as za~etka dela. Termi-niranje tako poteka na najvi{ji ravni dokon~anih proizvodov, na ravni planiranja potreb po materialih in na naj-ni`ji ravni, ki pomeni terminiranje operacij, povezanih z izvedbo naloge [ 1] . Pri terminiranju kompleksnih proizvodnih procesov se najpogosteje i{~e najugodnej{a varianta razporeditve operacij po delovnih mestih in ~asu. Heller - Logemannov algoritem Algoritem omogo~a terminiranje proizvodnih procesov, v katerih se pojavljajo vezani ali nevezani delovni nalogi. Pri nepovezanih nalogih prva operacija nima neposredno predhodne operacije, vse druge pa imajo po eno predhodno operacijo. Pri povezanih delovnih nalogih pa samo prve operacije na najni`jem nivoju (element – podsestav – sestav) nimajo predhodne operacije, medtem ko imajo vse druge po eno ali ve~ predhodnih operacij. Osnovna oblika Heller - Logemanno-vega algoritma je dopolnjena tako, da poleg ~asov obdelave upo{teva tudi ~a-se prekrivanja operacij in ~ase medope-racijskega zastoja [ 2] . Algoritem dovoljuje terminiranje v naprej (tek v desno) in v nazaj (tek v levo). Terminiranje ijaLeS 58(2006) 6 raziskave in razvoj v naprej enakomerno zaseda kapacitete, a povzroča medfazne zaloge obde-lovancev. Operacije naj bi se izvedle čimprej, zraven so časovne rezerve. Terminiranje v nazaj pa manj ugodno zaseda kapacitete, vendar so manjše tudi medfazne zaloge. Časovnih rezerv ni, zato obstoji nevarnost, da roki za izvedbo posameznih operacij niso uresničljivi [ 3]. Pri terminskem računu oblikujemo tabele z operacijami, ki jih je treba opraviti v terminski enoti. Tabelo uredimo po šifrah delovnih mest tako, da so v skupine združene vse operacije, ki se opravljajo na istem delovnem mestu, ne glede na to, v katerem delovnem nalogu se pojavljajo. Izračun opravljamo v več prehodih skozi tabelo operacij [4. Heller - Logemannov algoritem v svojem delovanju ne upošteva pomembnih dejavnikov terminiranja, kot so: • omejitev razpoložljivih delavcev za delo na stroju ali delavcev za nastavljanje strojev, ki neposredno vplivajo tudi na prestavitev začetka operacij za določene naloge, • izbiro alternativnih delovnih mest za določene operacije, • upoštevanje obratovanja določenih strojev v različnem številu izmen. Opis algoritma za terminiranje kompleksnih proizvodnih procesov Pred izračunom terminov oblikujemo tabelo z operacijami, v katero vnesemo podatke: • identifikacijo operacije, • prioriteto operacije, • identifikacijo neposredno naslednje operacije, • čas za izvedbo operacije, • čas medoperacijskega zastoja • čas prekrivanja, • število delavcev, ki so potrebni za izvedbo operacije, • število neposredno predhodnih operacij, • začetni in končni termin operacije. Bazo podatkov v tabeli operacij uredimo po zaporedju delovnih nalogov, ki se lansirajo v proizvodnjo. V vsakem delovnem nalogu poiščemo tiste elemente in sestave, ki jih je treba izdelati najprej, in jim dodelimo najvišjo prioriteto. Izračun poteka tako, da določamo termine za vse operacije elementov in sklopov delovnega naloga v enem prehodu. Pri Heller - Logemannovem algoritmu se določajo termini po delovnih mestih za delovne naloge. Pri izračunu končnega termina delovnega naloga je tako treba več prehodov skozi tabelo, kar pomeni slabšo preglednost po delovnih nalogih ter zahtevnejše programiranje. Da v tabeli z operacijami ne ponavljamo podatkov, oblikujemo novo tabelo, v kateri za vsa delovna mesta določimo število izmen obratovanja stroja. Obe tabeli med seboj povežemo na podlagi ključa - delovno mesto. Kjer roki izgotovitve delovnih nalogov niso posebej predpisani (tek v desno), poteka izračun terminov po naslednjih korakih (slika lin slika 2): 1. Postavimo se na prvo operacijo elementa / sklopa delovnega naloga, pri kateri je število neposredno predhodnih operacij enako nič. Če je takšnih operacij več, izberemo tisto, ki ima najvišjo prioriteto. 2. Prvi prosti termin določimo tako, da se pomikamo po časovni premici naprej oziroma preverimo, ali je ob terminu, ki je vpisan v polje S8, delovno mesto prosto. ~e je, preverimo ali imamo ob terminu S8 delavca za izvedbo operacije. ^e ga imamo, potrdimo za~etni termin. 3. Kon~ni termin S9 izra~unamo tako, da za~etnemu terminu S8 pri{tejemo ~as za izvedbo operacije S4 in ~as obratovanja stroja v izmeni (razlikujemo dopoldansko, popoldansko in no~no izmeno). Npr., ~e poteka delo na delovnem mestu v eni izmeni, operacija pa se kon~a v drugi ali tretji izmeni, je treba operaciji pri{teti ~as druge in tretje izmene. ~asovni interval poteka operacije se tako podalj{a za dve izmeni. Hkrati vrednost v polju S7 za teko~o operacijo zmanj{amo za 1. 4. Poi{~emo operacijo oziroma vse operacije, ki neposredno sledijo obravnavani teko~i operaciji. Klju~ za iskanje je polje S3. 5. Ugotovimo, kdaj se lahko naslednja operacija za~ne. ^e se naslednja operacija opravlja prekrito, se za~etni termin naslednje operacije dolo~i tako, da za~etnemu terminu obravnavane operacije pri{tejemo ~as prekrivanja. ~e prekrivanja ni, se za~etni termin naslednje operacije dolo~i tako, da se kon~nemu terminu teko~e operacije pri{teje ~as medope-racijskega zastoja. 6. ^e ima naslednja operacija `e prej izra~unan in v polju S8 vpisan za~etni termin, ki je ve~ji od pravkar izra~unanega, ga pustimo, sicer pa novo izra~unani za~etni termin vpi{emo v polje S8 naslednje operacije. Vrednost v polju S7 za naslednjo operacijo zmanj{amo za 1. Korake od 4 do 6 ponovimo za vse operacije, ki neposredno sledijo obravnavani operaciji. 7. ^e naslednji operaciji sledi ijaLeS 58(2006) 6 raziskave in razvoj operacija, se postavimo na naslednjo operacijo elementa oziroma sklopa, ki ima v polju S7 vrednost ni~ in korake od 2 do 6 ponovimo. ^e so razporejene vse operacije elementa oziroma sklopa lansiranega izdelka, nadaljujemo izra~un za naslednje skupine operacij, ki so potrebne za izdelavo elementov ali sklopov izdelka. 8. Ko so obdelane vse operacije izdelka, nadaljujemo izra~un na naslednjem izdelku (koraki od 1 do 7). 9. Operacije, ki imajo v polju S7 Slika 1. Algoritem za terminiranje kompleksnih proizvodnih procesov (tek v desno) Figure 1. Scheduling algorithm for complex production process (running to the right) vrednost –1, so razporejene – terminirane. Ko so obdelane vse operacije na vseh izdelkih, je terminski izra~un v naprej (tek v desno) kon~an. 10. Na koncu lahko prika`emo rezultate v obliki preglednice ali pa grafi~no v obliki gantograma. Uporaba algoritma V proizvodnem procesu izdelave stolov se v enem mesecu pojavlja od 30 do 70 razli~nih izdelkov. Velikost serije je od 100 do 1.000 kosov in se redko ponavlja. Tedensko izdelamo od 5 do 15 razli~nih proizvodov v dveh izmenah. Bolj obremenjeni stroji obratujejo v no~ni izmeni [ 5] . Pri testiranju algoritma smo se omejili na 12 izdelkov. Formirali smo tabelo s 650 operacijami in jim dolo~ili termine. Z izra~unom terminov smo ugotovili termine za posamezne operacije, ki so osnova za dolo~itev obremenitev posameznih delovnih mest (slika 3) in potrebno {tevilo delavcev v ~asovnih intervalih (slika 4). Izra~un smo izdelali za delovne naloge, ki nimajo posebej dolo~enega kon~nega roka. Ker pogosto vsa delovna mesta niso enakomerno obremenjena v celotnem ~asovnem obdobju, je za izvedbo operacije smiselno iskati alternativna, manj obremenjena delovna mesta, na katerih lahko opravljamo enake operacije. V grafi~nem prikazu proizvodnega razporeda (slika 3) lahko ugotovimo, da se koncentracija operacij po delovnih mestih razlikuje. Posamezna delovna mesta so bolj obremenjena od drugih. Ve~je {tevilo operacij v za~etnem obdobju vpliva na {tevilo delavcev v za~etnih izmenah (slika 4), kar je tudi ena izmed slabosti algoritma – tek v desno. Izvajanje delovnih nalogov in operacij je smiselno spro`iti takrat, ko jih lahko absorbiramo z razpolo`lji-vimi kapacitetami. Ideja izhaja od obre- ijaLeS 58(2006) 6 raziskave in razvoj Slika 2. Algoritem za terminiranje kompleksnih proizvodnih procesov (tek v desno) Figure 2. Scheduling algorithm for complex production process (running to the right) menitve odvisnega spro{~anja delovnih nalogov (BOA – Die belastungsorien-tierte Auftragsfreigabe) [ 6] . S primerjavo {tevila delavcev po izmenah lahko ugotovimo, da se dopoldanske in popoldanske izmene bistveno ne razlikujejo. V no~ni izmeni dela eden delavec. Za izvedbo vseh operacij smo potrebovali 17 izmen. ^e {tevilo delavcev zmanj{amo, se termini operacij premaknejo po ~asovni osi naprej. Klju~nega pomena pri tem pa je, da se ne prena{ajo kriti~ne operacije oziroma sklopi operacij. Tako dose`emo, da se najkasnej{i mo`ni roki izdelave ~im manj spreminjajo. Ker vseh operacij ni treba lansirati v za~etnih terminih, je pomembno, da ugotovimo operacije, ki povzro~ajo ozka grla v proizvodnji (OPT - Optimized Production Technology) [ 7] . Ta dolo~ajo prepustnost proizvodnje. Zato smo v za~etku izvedli simulacijo in izra~unali termine brez omejitev razpolo`ljivih kapacitet (slika 5). Iz do-lo~enih terminov smo ugotovili delovna mesta, kjer so potrebne kapacitete ve~je, kot so razpolo`ljive. Kriti~nim operacijam, ki povzro~ajo ozka grla, smo dodelili najvi{jo prioriteto pri zaporedju lansiranja v proizvodnjo. Ponovno smo opravili izra~un in upo-{tevali razpolo`ljive kapacitete (slika 6). Prioritete operacijam bi lahko do-lo~ili tudi tako, da bi poiskali kriti~ne aktivnosti oziroma operacije po metodi Slika 3. Gantogram proizvodnega razporeda pri terminiranju Figure 3. Gantt chart of the production schedule ijaLeS 58(2006) 6 raziskave in razvoj Slika 4. Razporeditev delavcev po izmenah brez upo{tevanja razpolo`ljivih kapacitet dela Figure 4. Number of employees required per shifts – not considering the utilisation of employees Slika 5. Simulacija proizvodnega procesa z algoritmom za terminiranje kompleksnih proizvodnih procesov in metodo izena~evanje kapacitet s sistemom ozkih grl Figure 5. Production simulation with algorithm of a complex production schedule and OPT Slika 6. Razporeditev delavcev po izmenah z upo{tevanja razpolo`ljivih kapacitet dela Figure 6. Number of employees required per shifts – considering the utilisation of employees ijaLeS 58(2006) 6 raziskave in razvoj kriti~ne poti (CPM - Critical Path Method). Na ta na~in bi dolo~ili operacije, ki jih je mogo~e ~asovno premikati, ne da bi s tem {e vplivali na trajanje celotnega izdelavnega ~asa [ 8] . Iz izra~u-nanih terminov po algoritmu za termi-niranje kompleksnih proizvodnih procesov, lahko dolo~imo za~etne in kon~-ne roke aktivnosti. Sklep Pri planiranju proizvodnje, kjer so izdelki sestavljeni iz velikega {tevila sestavnih delov, ki se obdelujejo na razli~nih delovnih mestih, katerih zmogljivosti niso usklajene, je klju~-nega pomena ~im bolj realno predvideti ~asovni potek operacij. V tak{nih proizvodnjah so poti obdelovancev raz-li~ne, zasedenost strojev pa je odvisna od izdelkov, zmogljivosti strojev in planiranja. ^e je razpolo`ljiva kapaciteta ve~ja od dejanske, se operacija ne za~ne ob naj-ugodnej{em terminu. Zato se zamikajo za~etki in konci delovnih nalogov, po-sledi~no pa se podalj{uje preto~ni ~as izdelkov. V proizvodnji ne potrebujemo vedno enakega {tevila delavcev v vseh izmenah, kar pomeni omejeno delovno kapaciteto. Pri lansiranju izdelkov v proizvodnjo moramo zato upo-{tevati omejitve kapacitete delovnih sredstev in omejitve kapacitete dela. Fleksibilnost delovnih kapacitet lahko dose`emo s prerazporejanjem delavcev, s prilagajanjem dinamike proizvodnje s pogodbenimi delavci, z nadurnim delom, z dodatno izmeno idr. [ 9]. Z omejevanjem kapacitet se operacije, ki v danih ~asovnih okvirjih ne vplivajo na izdelavni rok, zamikajo v kasnej{a ~asovna obdobja. Kriti~ne operacije pa je treba realizirati pred drugimi. Tak{-ne operacije je smiselno tudi preraz-porejati na alternativna delovna mesta, s ~imer razbremenimo samo kapaci- tete delovnih sredstev in ne kapacitet dela. Enakomerno obremenitev delavcev v celotnem ~asovnem obdobju lahko dose`emo tudi z dodajanjem novih delovnih nalogov (drsno planiranje) izhodi{~nemu naboru `e lansiranih delovnih nalogov oziroma prestavljanjem obstoje~ih delovnih nalogov v drugo ~asovno obdobje. Z izena~eva-njem kapacitet vplivamo na preglednost proizvodnje, na raven vmesnih zalog, na transport in na zahtevnost obvladovanja proizvodnje. Z algoritmom analiziramo potek proizvodnega procesa. Planer mora pri tem ugotoviti optimalne kapacitete glede na obseg dela. Prenizke razpo-lo`ljive kapacitete podalj{ujejo izde-lavni ~as izdelkov, previsoke pa pov-zro~ajo visoko raven vmesnih zalog. ^e se delovna mesta, ki so ozka grla, spreminjajo, moramo pri dolo~anju prioritet operacijam z vsakim razpisom znova dolo~iti le-te. ^e `elimo, da so termini izvedbe delovnega naloga kon~ani hitreje, pa lahko {e pred lansiranjem delovnih nalogov izvedemo razli~ne ukrepe. Ti so pove~anje {tevila delavcev, obratovanje stroja v dveh, treh ali {tirih izmenah, kooperacije, prerazporejanje manj pomembnih delovnih nalog v prosta terminska obdobja, spreminjanje zaporedja lansiranja delovnih nalogov idr. [ 5] . popravek V prej{nji {tevilki revije Les (5/2006) je pri{lo do pomote pri klasifikaciji ~lanka dr. Nika Torellija Violina II: Zvo~na barva lesa (str. 140 do 151). ^lanek spada med pregledne znanstvene ~lanke. literatura 1. Rusjan B.: Management proizvodnje, Ekonomska fakulteta, Ljubljana, 1999, 295 2. Rant M., Jeraj M., Ljubi~ T.: Enoten kompleksen organizacijski sistem planiranja v proizvodnih organizacijah, POIS, Radovljica, 1992 3. Muhlemann A., Oakland J., Lockyer K.: Production and Operations Management, Pitman, London, 1992, 566 4. Ljubi~ T.: Planiranje in vodenje proizvodnje, Moderna organizacija, Kranj, 2000, 443 5. Abram J., Zadnik L., Tratnik M., Oblak L.: Optimisation of scheduling: A case of industrial chair manufacturing, Proceedings of the 8th International Symposium on Operational Research, Nova Gorica , 28-30 Sept. 2005, 51-56 6. Schönsleben P.: Integrales Logistik-management, Springer Verlag, Berlin Heidelberg New York, 2000, 751 7. Chong C. S., Sivakumar A. I., Gay R.: Simulation based scheduling using a two-pass approach, Proceedings of the 2003 Winter Simulation Conference (S. Chick, P. J. Sánchez, D. Ferrin, D. J. Morrice), 2003, 1433-1439 8. Norman A. McDaniel, William W. Bahnmaier: Scheduling guide for program managers, Published by the defense systems management college press Fort Belvoir, 2001, 82 9. Polajnar A., Buchmeister B., Leber M.: Proizvodni mened`ment, Fakulteta za strojni{tvo, Maribor, 2001, 407 ijaLeS 58(2006) 6