VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fakulta strojního inženýrství Ústav automatizace a informatiky

Podobné dokumenty
Lokace odbavovacího centra nákladní pokladny pro víkendový provoz

EKONOMICKO-MATEMATICKÉ METODY

MODELOVÁNÍ A SIMULACE

SIMULACE. Numerické řešení obyčejných diferenciálních rovnic. Měřicí a řídicí technika magisterské studium FTOP - přednášky ZS 2009/10

ALGORITMUS SILOVÉ METODY

Iterační výpočty. Dokumentace k projektu pro předměty IZP a IUS. 22. listopadu projekt č. 2

1. Nejkratší cesta v grafu

Ivana Linkeová SPECIÁLNÍ PŘÍPADY NURBS REPREZENTACE. 2 NURBS reprezentace křivek

2. Definice pravděpodobnosti

POUŽITÍ METODY PERT PŘI ŘÍZENÍ PROJEKTŮ

POROVNÁNÍ MEZI SKUPINAMI

6. Demonstrační simulační projekt generátory vstupních proudů simulačního modelu

Vkládání pomocí Viterbiho algoritmu

u (x i ) U i 1 2U i +U i+1 h 2. Na hranicích oblasti jsou uzlové hodnoty dány okrajovými podmínkami bud přímo

UNIVERZITA PARDUBICE ÚSTAV ELEKTROTECHNIKY A INFORMATIKY POČÍTAČOVÁ PODPORA ŘÍZENÍ ROZSÁHLÝCH PROJEKTŮ BAKALÁŘSKÁ PRÁCE

Monte Carlo metody Josef Pelikán CGG MFF UK Praha.

Dále budeme předpokládat, že daný Markovův řetězec je homogenní. p i1 i 2

2.5. MATICOVÉ ŘEŠENÍ SOUSTAV LINEÁRNÍCH ROVNIC

Čísla a aritmetika. Řádová čárka = místo, které odděluje celou část čísla od zlomkové.

LOGICKÉ OBVODY J I Ř Í K A L O U S E K

Numerická matematika 1. t = D u. x 2 (1) tato rovnice určuje chování funkce u(t, x), která závisí na dvou proměnných. První

8a.Objektové metody viditelnosti. Robertsův algoritmus

CHYBY MĚŘENÍ. uvádíme ve tvaru x = x ± δ.

Optimalizační přístup při plánování rekonstrukcí vodovodních řadů

Simulační metody hromadné obsluhy

ŘEŠENÍ PROBLÉMU LOKALIZACE A ALOKACE LOGISTICKÝCH OBJEKTŮ POMOCÍ PROGRAMOVÉHO SYSTÉMU MATLAB. Vladimír Hanta 1, Ivan Gros 2

Energie elektrického pole

Informační systémy plánování výroby - pokročilé rozvrhování

Rozvrhování výroby. František Koblasa Technická univerzita v Liberci. TU v Liberci

Přemysl Žiška, Pravoslav Martinek. Katedra teorie obvodů, ČVUT Praha, Česká republika. Abstrakt

ANALÝZA VZTAHU DVOU SPOJITÝCH VELIČIN

Řízení projektů. Konstrukce síťového grafu pro řízení projektů Metoda CPM Metoda PERT

Grantový řád Vysoké školy ekonomické v Praze

Matematika I A ukázkový test 1 pro 2018/2019

Vysoké školy ekonomické v Praze

ANALÝZA RIZIKA A JEHO CITLIVOSTI V INVESTIČNÍM PROCESU

Plánování a rozvrhování. Podmínky pro zdroje. Typy zdrojů. Zdroje. časové vztahy. omezení kapacity zdrojů. Roman Barták, KTIML

SÍŤOVÁ ANALÝZA. Základní pojmy síťové analýzy. u,. Sjednocením množin { u, u,..., 2. nazýváme grafem G.

VLIV VELIKOSTI OBCE NA TRŽNÍ CENY RODINNÝCH DOMŮ

Vícekriteriální rozhodování. Typy kritérií

Neparametrické metody

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Numerické metody optimalizace

Základy finanční matematiky

MOŽNOSTI MODELOVÁNÍ A ŘEŠENÍ STŘETU PŘI OBJASŇOVÁNÍ FINGOVANÝCH DOPRAVNÍCH NEHOD

VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE FAKULTA INFORMATIKY A STATISTIKY BAKALÁŘSKÁ PRÁCE Radka Luštincová

Korelační energie. Celkovou elektronovou energii molekuly lze experimentálně určit ze vztahu. E vib. = E at. = 39,856, E d

3 VYBRANÉ MODELY NÁHODNÝCH VELIČIN. 3.1 Náhodná veličina

permutace, popisující nějaké symetrie, je i π permutace, popisující nějakou symetrii.

Tepelná kapacita = T. Ē = 1 2 hν + hν. 1 = 1 e x. ln dx. Einsteinův výpočet (1907): Soustava N nezávislých oscilátorů se stejnou vlastní frekvencí má

REGRESNÍ ANALÝZA. 13. cvičení

Vysoká škola báňská - Technická univerzita Ostrava Fakulta elektrotechniky a informatiky LOGICKÉ OBVODY pro kombinované a distanční studium

SÍŤOVÁ ANALÝZA. Kristýna Slabá, 1. července 2010

Čísla přiřazená elementárním jevům tvoří obor hodnot M proměnné, kterou nazýváme náhodná veličina (označujeme X, Y, Z,...)

MANAŽERSKÉ ROZHODOVÁNÍ

í I Průchod a rozptyl záření gama ve vrstvách materiálu Prof. Ing. J. Šeda, DrSc. KDAIZ - PJPI

ČASOVÁ KOORDINACE SPOJŮ VEŘEJNÉ HROMADNÉ DOPRAVY NA ÚSECÍCH DOPRAVNÍ SÍTĚ

Metody síťové analýzy

XXX. ASR '2005 Seminar, Instruments and Control, Ostrava, April 29,

Operační výzkum. Síťová analýza. Metoda CPM.

7. STATISTICKÝ SOUBOR S JEDNÍM ARGUMENTEM

Dopravní plánování a modelování (11 DOPM )

UNIVERZITA PARDUBICE

MASARYKOVA UNIVERZITA PEDAGOGICKÁ FAKULTA

Spojité regulátory - 1 -

Aplikace simulačních metod ve spolehlivosti

PQ-stromy a rozpoznávání intervalových grafů v lineárním čase

APLIKACE MATEMATICKÉHO PROGRAMOVÁNÍ PŘI NÁVRHU STRUKTURY DISTRIBUČNÍHO SYSTÉMU

Přednášky část 4 Analýza provozních zatížení a hypotézy kumulace poškození, příklady. Milan Růžička

Václav Jirchář, ZTGB

9 PŘEDNÁŠKA 9: Heisenbergovy relace neurčitosti, důsledky. Tunelový jev. Shrnutí probrané látky, příprava na zkoušku.

MATEMATICKÁ TEORIE ROZHODOVÁNÍ

ČVUT FEL. X16FIM Finanční Management. Semestrální projekt. Téma: Optimalizace zásobování teplem. Vypracoval: Marek Handl

Časové rezervy. Celková rezerva činnosti

Kinetika spalovacích reakcí

Finanční matematika. Téma: Důchody. Současná hodnota anuity

4EK212 Kvantitativní management. 7.Řízení projektů

Mechatronické systémy s elektronicky komutovanými motory

PROBLEMATIKA INTELIGENTNÍHO AUTOMATICKÉHO

Hodnocení účinnosti údržby

A u. jsou po řadě počáteční a koncové body úsečky; t je parametr:

KOMPLEXNÍ ČÍSLA. Algebraický tvar komplexního čísla

MODELOVÁNÍ SEISMICKÉHO ZDROJE JAKO REÁLNÁ TESTOVACÍ ÚLOHA PRO NELINEÁRNÍ INVERSNÍ ALGORITMUS

Statika soustavy těles v rovině

9. cvičení 4ST201. Obsah: Jednoduchá lineární regrese Vícenásobná lineární regrese Korelační analýza. Jednoduchá lineární regrese

Obsah. 1 Protokoly Diffieho-Hellmanův a ElGamalův. 3 Hledání generátoru v Z p

Statistická šetření a zpracování dat.

ina ina Diskrétn tní náhodná veličina může nabývat pouze spočetně mnoha hodnot (počet aut v náhodně vybraná domácnost, výsledek hodu kostkou)

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ SMĚRNICE Č. 55/2017 ZÁSADY STUDENTSKÉ GRANTOVÉ SOUTĚŽE NA PODPORU PROJEKTŮ SPECIFICKÉHO VYSOKOŠKOLSKÉHO VÝZKUMU NA VUT

Porovnání GUM a metody Monte Carlo

Teoretické modely diskrétních náhodných veličin

11 Tachogram jízdy kolejových vozidel

URČOVÁNÍ TRENDŮ A JEJICH VÝZNAM PRO EKONOMIKU

4EK311 Operační výzkum. 6. Řízení projektů

Délka (dny) terénní úpravy (prvotní) příprava staveniště (výstavba přístřešku pro materiál)

Výslednice, rovnováha silové soustavy.

Jihočeská univerzita v Českých Budějovicích. Pedagogická fakulta Katedra fyziky. Bakalářská práce

Příprava ke státním maturitám 2011, vyšší úroveň obtížnosti materiál stažen z

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ VĚTRACÍ SYSTÉMY OBYTNÝCH DOMŮ BAKALÁŘSKÁ PRÁCE FAKULTA STROJNÍHO INŽENÝRSTVÍ ENERGETICKÝ ÚSTAV

Úvod Terminologie Dělení Princip ID3 C4.5 CART Shrnutí. Obsah přednášky

Transkript:

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fakulta strojního nženýrství Ústav automatzace a nformatky Ing. Petr Majer MODERNÍ METODY ROZVRHOVÁNÍ VÝROBY MODERN METHODS OF MANUFACTURING SCHEDULING ZKRÁCENÁ VERZE PH.D. THESIS Obor: Školtel: Techncká kybernetka RNDr. Jří Dvořák, CSc. Oponent: prof. Ing. Mloš Konečný, DrSc. FP VUT v Brně doc. RNDr. Josef Zapletal, CSc. FEKT VUT v Brně doc. RNDr. Mloslav Mkulík, CSc. ESF MU Brno Datum obhajoby: 28. lstopadu 2003

KLÍČOVÁ SLOVA rozvrhování zakázkové výroby, rozvrhování proudové výroby, dsjunktvní graf, heurstcké metody, dopravní dávky, montážní a dstrbuční operace, voltelnost strojů, fuzzy termíny dokončení, fuzzy doby zpracování KEY WORDS job shop schedulng, flow shop schedulng, dsjunctve graph, heurstc methods, transfer batches, assembly and dstrbuton operatons, nterchangeablty of machnes, fuzzy due dates, fuzzy processng tmes ORIGINÁL DISERTAČNÍ PRÁCE JE ULOŽEN NA ADRESE Ústav automatzace a nformatky FSI VUT v Brně Techncká 2 616 69 Brno Tel. +420 541 143 342 2003 Petr Majer ISBN 80-214-2530-X ISSN 1213-4198

OBSAH 1 Úvod 5 1.1 Současný stav 5 1.2 Cíle dsertační práce 6 2 Kombnatorcké problémy a rozvrhování výroby 6 2.1 Časová složtost 7 2.2 Rozvrhování výroby 7 2.2.1 Rozvrhování proudové výroby (flow shop schedulng) 7 2.2.2 Rozvrhování zakázkové výroby (job shop schedulng) 8 3 Metody řešení 9 3.1 Přesné metody 10 3.2 Heurstcké metody 10 4 Rozvrhování zakázkové výroby 12 4.1 Reprezentace dat 12 4.2 Krtera rozvrhu 14 4.3 Metody řešení založené na kódování dsjunktvním grafem 14 4.4 Výsledky výpočtů 16 5 Problémy rozvrhování v reálných výrobních podmínkách 18 5.1 Montážní a dstrbuční operace 18 5.2 Časy přípravy, technologcké a dopravní časy, termíny spuštění a termíny dokončení úloh 19 5.3 Dopravní dávky 19 5.4 Aplkace stochastckých heurstckých metod 20 5.5 Voltelnost strojů 20 5.6 Další aspekty reálné výroby 21 5.7 Návrh softwarového vybavení pro rozvrhování zakázkové výroby 21 6 Rozvrhování s neurčtým údaj 22 6.1 Fuzzy čísla 23 6.2 Fuzzy doby trvání operací 24 6.3 Kombnace s termíny dokončení úloh 24 6.4 Výsledky výpočtů 25 7 Závěr 26 Lteratura 27 Shrnutí 30 Summary 30 Currculum vtae autora 31 Seznam publkací autora 31 3

1 ÚVOD Všude kolem sebe vdíme snahu o zvyšování produktvty práce. Př výrobě je na operatvní úrovn důležtým úkolem tvorba výrobních rozvrhů. Obecně je problém rozvrhování dán konečnou množnou výrobků, které je potřeba vyrobt a omezeným počtem výrobních strojů, které jsou k dspozc. Přtom je pro každý výrobek znám technologcký postup, který určuje operace ve stanoveném pořadí jejch doby trvání a každé operac přděluje určtý druh stroje. O rozvrhování zakázkové výroby (job shop schedulng) mluvíme v případě, kdy pořadí strojů smí být pro každý výrobek různé. Ve specálním případě, kdy je pořadí strojů pro všechny výrobky stejné, mluvíme o rozvrhování proudové výroby (flow shop schedulng). Úkolem rozvrhování je najít nejlepší rozvrh (schedule), tj. optmální pořadí operací na jednotlvých strojích. Jako krterum rozvrhu je možné použít celkovou dobu trvání výroby, délky prostojů strojů, ztráty spojené s nesplněním prací v požadovaných termínech, stupeň rozpracovanost apod. Uvedená krtera jsou mnmalzačního charakteru. V prax se setkáváme s řadou modfkací problému rozvrhování (zahrnutí časů přípravy operací, dopravních a technologckých časů, zohlednění dopravních dávek, rozvrhování montážních operací, voltelnost strojů, omezená kapacta mezskladů, neurčtý charakter zadaných údajů apod.). Dsertační práce se zabývá vytvářením a řešením takových modelů rozvrhování výroby, které reálné výrobní podmínky reflektují lépe než základní modely rozvrhování. 1.1 SOUČASNÝ STAV Úlohy rozvrhování lze formulovat jako úlohy celočíselného programování a řešt klasckým optmalzačním metodam (zde se obvykle používá metoda větví a mezí nebo dynamcké programování). Problémy rozvrhování patří mez NP-těžké problémy, což znamená že zmíněné přesné optmalzační metody je možné použít pouze pro úlohy omezeného rozsahu. Optmální řešení rozsáhlejších úloh nelze těmto metodam získat v reálném čase a proto je nutné používat různé heurstcké metody. Praxe se zatím omezuje převážně na jednoduché technky nebo problémově specfcké heurstcké metody šté na míru konkrétní stuac. Ukazuje se, že lepších výsledků je možno dosáhnout s využtím stochastckých heurstckých metod založených na prncpech genetckých algortmů (genetc algorthms), smulovaného žíhání (smulated annealng) a zakázaného prohledávání (tabu search) nebo jejch kombnací. V českém průmyslu se př rozvrhování výroby používají různé programové systémy (např. Baan, mysap, Movex, ESO9, OR-Systém). Jejch posláním je však spíše než vytváření a optmalzace rozvrhů, pouze shromažďování a organzace dat z technologckých postupů v různých databázích. Tyto systémy sce umějí pěkně prezentovat rozvrhy v různých tabulkách a Ganttových dagramech. Rozvrh s v nch ale užvatel musí vytvořt buď ručně sám, nebo jsou použty pouze prmtvní technky pro určení pořadí operací na strojích (FCFS frst come, frst served, SPT shortest processng tme, apod.). Většna současných manažerů se spokojí s poskytnutím jakéhokolv provedtelného rozvrhu, u kterého jednoduchou metodou krtcké cesty určí krtcké čnnost a ty se pak snaží dokončt v termínech. Důsledky nedobře rozvržené výroby jsou dlouhé časové prostoje mez jednotlvým operacem př výrobě, nevytíženost kapact, dlouhé průběžné doby provádění zakázek a tím pádem jejch neúměrné prodražování, nízká produktvta práce a konkurenceschopnost frmy. Naprot tomu v rozvnutých ekonomkách jsou matematcké modely a metody běžnou součástí průmyslové praxe. Podnky, které s systémy rozvrhování výroby samy vyvíjejí, většnou nejsou ochotny je poskytnout jným frmám. Na softwarovém trhu zatím chybí komplexní programový systém na vytváření a optmalzac rozvrhů výroby, který by zahrnoval všechny aspekty reálné výroby a dokázal pružně reagovat na změny vznkající př výrobě. V českém prostředí navíc exstuje propast mez akademckou teorí a praxí. Na akademcké půdě se řeší většnou základní modely problémů a propracovávají se algortmy schopné nejrychlej 5

najít optmální řešení, ale podnky požadují zejména zohlednění skutečných výrobních podmínek v těchto modelech a poskytnutí těchto algortmů v podobě umožňující snadné nasazení v prax. 1.2 CÍLE DISERTAČNÍ PRÁCE Cílem dsertační práce je na základě dosavadního stavu poznání ve zmíněné oblast vyvnout takové modely rozvrhování, které lépe reflektují reálné výrobní podmínky a metody jejch řešení. Práce postupovaly v těchto krocích: 1) Podrobná analýza problémů rozvrhování proudové výroby a rozvrhování zakázkové výroby, pops použtelných modelů reprezentací těchto problémů a pops použtelných metod řešení. Cílem je vytvoření přehledu ve studované problematce. 2) Studum možnost použtí přesných metod. Jedním z cílů je určení mezí velkost rozvrhovací úlohy, pro kterou jsou tyto metody efektvně použtelné. 3) Tvorba a pops matematckých modelů problému rozvrhování, které zahrnují hledska reálných výrobních podmínek, jako je zohlednění dopravních dávek, rozvrhování montážních operací, apod. Pro řešení vytvářených modelů jsme se snažl o nasazení stochastckých heurstckých metod. 4) Implementace metod na počítač a ověření na praktckých aplkacích. Mmo jné jsme se pokusl navrhnout a realzovat prototyp softwarového vybavení pro rozvrhování zakázkové výroby zahrnující aspekty reálných výrobních podmínek. 5) Vytvoření modelu problému rozvrhování zakázkové výroby, který dokáže pracovat s neurčtým vstupním údaj. K modelování neurčtostí jsme využl teor fuzzy množn. Zejména nám šlo o navržení vhodných účelových funkcí a o vzájemné srovnání optmalzačních krterí. Poděkování Práce je součástí výzkumného záměru CEZ: J22/98: 261100009 Netradční metody studa komplexních a neurčtých systémů. Elektroncká verze dsertační práce Úplná verze dsertační práce v rozsahu 90-t stran, je k dspozc také v elektroncké podobě na Internetové adrese http://www.majer.czweb.org/schedulng. 2 KOMBINATORICKÉ PROBLÉMY A ROZVRHOVÁNÍ VÝROBY Úlohy rozvrhování řadíme do třídy kombnatorckých problémů. To jsou problémy, ve kterých vystupují dskrétní proměnné a jejchž množna přípustných řešení je konečná. V každém z těchto problémů se skrývá možnost kombnatorcké exploze. 6

2.1 ČASOVÁ SLOŽITOST Časová složtost O(g(n)) algortmu řešícího problém o rozsahu n udává horní mez počtu g(n) elementárních operací (na hypotetckém počítač), které jsou pro vyřešení problému tímto algortmem zapotřebí. Řekneme, že algortmus je polynomální, jestlže jeho časová složtost je O(n k ), pro nějakou konstantu k. Naprot tomu řekneme, že algortmus má exponencální časovou složtost, jestlže jeho časová složtost není polynomální. Příkladem jsou algortmy s časovou složtostí O(n!), O(2 n ) atd. Obecná teore algortmů [12, 34] rozlšuje dvě třídy problémů: polynomální P (polynomal) a nedetermnstcky polynomální NP (non-determnstc polynomal). Problémy, pro jejchž řešení jsou známy polynomální algortmy patří do třídy P. Ostatní problémy s exponencální složtostí patří do třídy NP. Třída problémů NP je v podstatě množna problémů, pro které polynomální algortmy mají být teprve nalezeny. Samozřejmě problém patřící do třídy P můžeme neefektvně řešt algortmem s nepolynomální časovou složtost, jestlže nám nevadí, že to zabere vzhledem k rozsahu problému exponencálně dlouhou dobu. Výjmečně může být problém ze třídy NP přeřazen do třídy P, pokud se někomu podaří objevt polynomální algortmus k jeho řešení. Bohužel exstují problémy, o kterých mnoho moderních matematků předpokládá, že pro jejch řešení nkdy nebudou polynomální algortmy nalezeny, protože tyto problémy jsou přílš složté. Do této kategore patří problémy rozvrhování. Klasckým metodam (např. dynamckým programováním nebo metodou větví a mezí) lze řešt problémy rozvrhování pouze do omezeného rozsahu. Na rozsáhlejší úlohy je nutné použít heurstckých metod. Nejznámějším heurstckým metodam jsou smulované žíhání, zakázané prohledávání a genetcké algortmy [24, 36]. 2.2 ROZVRHOVÁNÍ VÝROBY Základním pojmy teore rozvrhů jsou stroj, operace a úloha. Operace (operaton) je základní technologcký úkon, který už dále není děltelný na částečné technologcké úkony. Úloha (job) je posloupnost operací, které je potřeba vykonat v rámc jedné zakázky. V české lteratuře se někdy ve významu úlohy vyskytuje termín práce. Stroj (machne) je zařízení schopné vykonávat jednu nebo několk operací. V některé lteratuře se používá též termín procesor. 2.2.1 Rozvrhování proudové výroby (flow shop schedulng) Problém rozvrhování proudové výroby (flow shop schedulng) [1, 40] je charakterzován množnou úloh J = { J 1,..., J n } a množnou strojů M = { M 1,..., M m }. Všech n úloh musí být vykonáno na m strojích př dodržení následujících podmínek: () Každá úloha je složena z m operací, které musejí být vykonány na m různých strojích. () Všechny úlohy provádějí své operace na strojích ve stejném pořadí strojů (stroje jsou řazeny sérově). () Na každém stroj může být v jednom okamžku vykonávána nejvýše jedna operace jedné úlohy. (v) Operace nemohou být přerušeny. (v) Mez operacem různých úloh není precedenční omezení. Obvykle se k uvedeným pět podmínkám přdává šestá: (v) Pořadí úloh je na každém stroj stejné. V takovém případě hovoříme o tzv. permutačním rozvrhování proudové výroby (permutaton flow shop schedulng). Úkolem je najít takové pořadí (permutac) úloh, které mnmalzuje trvání výrobního procesu, případně které zajstí dokončení úloh v požadovaných termínech, jsou-l zadány. Nyní předpokládejme následující označení: π - permutace úloh, π() - -tá úloha v permutac úloh, p - k 7

doba trvání operace -té úlohy na k-tém stroj, C k - termín dokončení operace -té úlohy na k-tém stroj. Jestlže je dána permutace úloh π, pak jsou termíny dokončení C π ( ), k určeny následovně [40]: C π (1),1 = π (1), 1 C π (),1 = Cπ ( 1),1 + pπ ( ), 1 C π (1),k = C π ( 1), k 1 + pπ (1), k C π ( ), k = max{ C π ( 1), k, Cπ ( ), k 1} + pπ ( ), k p (2.1) = 2,, n (2.2) k = 2,, m (2.3) = 2,, n; k = 2,, m (2.4) Ukázka rozvrhu pro n = 3 úlohy a m = 3 stroje je na obrázku 2.1. Obrázek 2.1. Rozvrh v proudové výrobě V permutačním problému rozvrhování proudové výroby je řešení reprezentováno pouze pořadím π (permutací) všech úloh. V tomto případě je každé řešení provedtelné a nazývá se rozvrh (schedule). Cílem je nalezení takového rozvrhu π, pro který je hodnota účelové funkce optmální. Nejčastěj se používá krterum C max (označované anglckým termínem makespan) defnované jako termín dokončení poslední úlohy (resp. jako doba potřebná k provedení všech úloh): Mnmalzovat C max = C ( n ), m π. (2.5) 2.2.2 Rozvrhování zakázkové výroby (job shop schedulng) V klascké podobě byl problém rozvrhování zakázkové výroby (job shop schedulng) [8, 30, 42] popsán v [3]. Jsou zadány tř konečné množny: množna úloh J = { J 1,..., J n }, množna strojů M = { M 1,..., M m } a množna operací O = { o 1,..., o N }. Každá úloha se skládá z určtého, obecně nestejného, počtu operací. Množna O je množna všech operací všech úloh. Doba trvání k-té operace je p k. Je potřeba vykonat všechny úlohy př splnění následujících omezení: () Pro provedení každé operace je zapotřebí jednoznačně přřazený stroj z množny M. () Pořadí operací u každé úlohy je dáno technologckým postupem a nelze je měnt. () Na jednom stroj lze současně provádět nejvýše jednu operac jedné úlohy. (v) Provádění operace nelze přerušt. (v) Mez operacem různých úloh není precedenční omezení, to znamená, že pro žádnou dvojc operací z různých úloh není předepsáno pořadí provádění. Vykonání každé úlohy tedy znamená provedení všech jejích operací v zadaném pořadí na daných strojích. Jakékol provedtelné pořadí π operací na všech strojích z M se nazývá rozvrh (schedule). Úkolem rozvrhování je nalézt nejvhodnější pořadí operací na daných strojích. Označme 8

symbolem C j okamžk dokončení j-té operace. Často se jako krtérum používá celková doba trvání rozvrhu (makespan): Mnmalzovat C ) = max{ C } max (π k (2.6) 1< k< N Příkladem rozvrhu pro problém o osm operacích na třech strojích může být π = {( 4,1,7 ), ( 6,2),( 5,3,8 )}, kde jednotlvé seznamy operací v kulatých závorkách představují pořadí operací na jednotlvých strojích. Tento rozvrh vdíme zakreslený pomocí Ganttova dagramu na obrázku 2.2. Obrázek 2.2. Rozvrh v zakázkové výrobě Př rozvrhování ve skutečné výrobě mohou být sledovány jné cíle, např. mnmalzace ztrát spojených s nesplněním prací v požadovaných termínech, mnmalzace prostojů, mnmalzace rozpracované výroby, atd. Pro optmalzac se používají většnou heurstcké metody ve spojení s vhodnou reprezentací dat. Různým reprezentacem dat v problému rozvrhování zakázkové výroby a krter rozvrhů se budeme zabývat v kaptole 4. 3 METODY ŘEŠENÍ Součástí problémů rozvrhování je vždy požadavek na optmalzac nějaké účelové funkce, která závsí na sekvencích jednotlvých operací na strojích. Rozsah prostoru řešení je pro problémy rozvrhování obrovský. Jedná se o NP-těžké úlohy [12, 34]. K jejch řešení je možné použít přesné metody (např. metodu větví a mezí), ale tyto metody přestávají být od určtého rozsahu problému efektvní, proto je nutné používat heurstcké metody (např. smulované žíhání, tabu search nebo genetcké algortmy). Obecně jsou všechny metody popsány například ve [24, 32, 36] a na determnstcký problém rozvrhování výroby jsou aplkovány např. ve [22, 30, 42]. Přehled používaných metod k řešení problémů rozvrhování je uveden ve [18]. Pops následujících metod vztahujeme na řešení následujícího problému: Je dána konečná množna X přípustných řešení a krterum f : X R. Hledáme takové řešení x * X, pro které je hodnota účelové funkce mnmální f ( x * ) mn{ f ( x) } =. x X 9

3.1 PŘESNÉ METODY Hstore použtí přesných metod pro problémy rozvrhování je poměrně dlouhá. Jž Johnson [19] se v roce 1954 se zabýval řešením rozvrhování proudové výroby lbovolného počtu úloh na dvou strojích. Vycházel přtom z teorému, že má-l permutace n úloh tu vlastnost, že platí mn{ p 1, p j 1 } mn{ p 2, p j 2 } pro 1, j n, pak je pro tuto permutac hodnota C max optmální. Johnson dále popsal metody řešící rozvrhování na třech strojích. Přehled přístupů k jednoduchým problémům rozvrhování můžeme najít ve [1]. Za nejúspěšnější exaktní metodu považuje mnoho autorů [6] metodu větví a mezí. Zde se * snažíme najít celkové nejlepší řešení x pomocí rozdělování původní množny řešení X na stále menší podmnožny a stanovením dolní meze hodnoty účelové funkce v každé podmnožně. Tyto podmnožny chápeme jako množny řešení odpovídající podproblémům původního problému. Pokud v některé podmnožně je stanovena dolní mez vyšší než je dosud nalezené nejlepší řešení, je možné tuto podmnožnu elmnovat. Obvykle se používá jedna ze dvou prohledávacích strategí: prohledávání do šířky a prohledávání do hloubky. Naprot tomu v dynamckém programování je problém rozdělen na několk stupňů a v každém stupn je potřeba učnt rozhodnutí, jež mají vlv na rozhodnutí, která budou učněna v pozdějších stupních. Na základě Bellmanova prncpu optmalty je sestavena rekurzvní rovnce, která popsuje optmální hodnotu účelové funkce v daném stupn jako funkc hodnoty, získané ve stupn předchozím. Přesné metody nelze použít na rozsáhlejší problémy, protože jejch časová náročnost roste exponencálně s lneárním růstem rozsahu problému. 3.2 HEURISTICKÉ METODY Heurstcké metody sce nezaručují nalezení globálně optmálního řešení, ale jsou schopny v přměřené době poskytnout řešení, jenž je uspokojvé. Heurstcké optmalzační metody se používají pro optmalzac mnohaparametrových funkcí s dvokým průběhem, tj. s mnoha extrémy nebo neznámým gradentem. Takovým funkcem je většna účelových funkcí problémů rozvrhování výroby. Proces prohledávání prostoru řešení vyžaduje rovnováhu dvou cílů: 1. Co nejrychlej najít nejblžší (většnou lokální) optmum v okolí výchozího bodu. 2. Co nejlépe prohledat prostor všech řešení. Nejčastěj používaným heurstckým metodam jsou: zakázané prohledávání, smulované žíhání a genetcké algortmy. 3.2.1 Relace sousedství a účelová funkce Pro použtí většny stochastckých heurstckých metod potřebujeme defnovat určtou relac sousedství, která pro každé přípustné řešení x umožňuje pomocí množny transformací S(x) stanovt jeho jsté okolí U(x) jako množnu přípustných řešení sousedících s x. Př stanovení množny sousedních řešení je důležté splnění podmínky dosažtelnost, která požaduje, aby každé řešení bylo dosažtelné z lbovolného jného řešení postupnou aplkací vztahu sousednost. V případě problému rozvrhování výroby je přípustným řešením jstá množna provedtelných sekvencí operací na jednotlvých strojích (rozvrh). Pro každé přípustné řešení lze vypočítat hodnotu účelové funkce, která je krterem kvalty každého přípustného řešení. Cílem optmalzace pomocí heurstckých metod je najít takové přípustné řešení, které má nejlepší hodnotu účelové funkce. Pro permutační problém je přípustným řešením např. sekvence úloh ABCDEF. Relac sousedství můžeme jednoduše defnovat např. jako prohození pořadí dvou sousedních úloh. Potom by naše řešení ABCDEF mělo pět sousedních řešení: BACDEF, ACBDEF, ABDCEF, ABCEDF, ABCDFE. Způsobů, jak defnovat relac sousedství lze vymyslet mnoho (výměna lbovolných dvou, 10

prohození tří, otočení pořadí část řetězce, atd). Expermenty ukázaly že pro permutační problém je nejvýhodnější použtí relace sousedství pomocí tzv. dvoubodové shft operace. Př volbě nejvhodnějšího způsobu generování sousedních řešení pro konkrétní heurstckou metodu vycházíme obvykle z praktckých zkušeností. 3.2.2 Metoda smulovaného žíhání Smulované žíhání (smulated annealng) je varantou horolezeckého algortmu, v němž heurstcké kroky směřující k horšímu řešení jsou řízeny určtou pravděpodobností. Přístup smulovaného žíhání je založen na smulování fyzkálních procesů probíhajících př odstraňování defektů krystalcké mřížky. Exstuje určtá analoge tohoto přírodního procesu s procesem řešení optmalzačních problémů. V aplkac na řešení mnmalzačního problému je krystal reprezentován nějakým přípustným řešením x tohoto problému. Každému přípustnému řešení můžeme přřadt energ krystalu - funkční hodnotu f(x). Důležtý je rovněž parametr T, který je formální analogí teploty krystalu. Aktuální řešení x je přeměněno náhodnou transformací t S na nové řešení x' z okolí U(x). Původní řešení se nahradí novým x' v následném procesu smulovaného žíhání s pravděpodobností dle Metropolsova vzorce [28]: Pravděpodobnost ( x x' ) = mn 1, e f ( x') f ( x) T. (3.1) Jestlže funkční hodnota nového řešení x' je stejná nebo lepší než funkční hodnota původního řešení x, f ( x') f ( x), pravděpodobnost nahrazení je rovna jedné. V tomto případě je nové řešení automatcky akceptováno do dalšího procesu smulovaného žíhání. V případě, že funkční hodnota nového řešení x' není lepší než funkční hodnota původního řešení x, f ( x') > f ( x), pravděpodobnost akceptování je menší než jednotková, ale v tomto případě má nové řešení šanc pokračovat v smulovaném žíhání. Algortmus smulovaného žíhání má následující jednoduchou formu: x:=náhodně vygenerované řešení; T:=T max ;x * :=x;k:=1; whle (T>T mn and k>0) do begn t:=0;k:=0; whle(t<t max and k<k max ) do begn t:=t+1; x :=t(x); f f(x ) f(x) then Pr:=1 else Pr:= exp(e, f(x )-f(x)/t); f random<pr then begn x:=x ; k:=k+1; f f(x)<f(x * ) then x * :=x; end; end; T:=α *T; end; Teplota T je ohrančena mnmální a maxmální hodnotou T mn T T max, snžování teploty je realzováno po každém provedení vnějšího cyklu. Způsob snžování teploty určuje tzv. plán chlazení. Nejjednodušej je možné snžovat teplotu pomocí vynásobení koefcentem α. Zkušenost ukazují, že nejlepší hodnoty koefcentu α jsou mez 0.8 a 0.99. V sofstkovanějších mplementacích algortmu může být rychlost snžování teploty závslá na procentu úspěšných pokusů o překlopení do jného stavu př aktuální teplotě. 11

Celočíselné proměnné t a k jsou počtadla pro vnější resp. vntřní whle-cyklus. Proměnná t zaznamenává celkový počet pokusů smulovaného žíhání pro danou teplotu T, zatímco proměnná k zaznamenává počet úspěšných pokusů, které byly akceptovány Metropolsovým vzorcem. Pro volbu maxmálních hodnot t max a k max neexstuje všeobecný předps, t max a k max jsou obvykle ve vztahu k velkost množny sousedů, hodnota k max je volena od několka set do několka tsíc a t max = 10 * k max. Volba jednotlvých parametrů metody je obvykle uskutečněna na základě zkušeností po mnoha expermentech. Podmínka ukončení algortmu je splněna buď dosažením mnmální teploty nebo tzv. zmrazením krystalu, tj. neuskutečněním př dané teplotě an jednoho úspěšného pokusu z celkového počtu t max pokusů o vykmtnutí z pevné pozce v krystalcké mřížce. Reálná proměnná random je náhodně generované číslo z ntervalu (0,1). Proměnná x * zaznamenává nejlepší řešení v průběhu provádění celého algortmu. Ve všeobecnost proměnná x nemusí po skončení smulovaného žíhání obsahovat nejlepší řešení. V lteratuře [31] je popsána podrobná teore smulovaného žíhání. Byly dokonce dokázány exstenční teorémy, za jakých podmínek smulované žíhání poskytuje globální mnmum funkce f (x) v defnčním oboru x. Často se používá rozšíření smulovaného žíhání směrem ke genetckému algortmu. Místo jednoho řešení se současně optmalzuje smulovaným žíháním malá populace řešení, které s vždy po určtém počtu kroků s malou pravděpodobností vymění nformac operací totožnou s křížením z genetckého algortmu. V dsertační prác jsou uvedeny podrobné popsy všech používaných heurstckých optmalzačních metod. V těchto tezích je z důvodu omezeného prostoru neuvádíme. 4 ROZVRHOVÁNÍ ZAKÁZKOVÉ VÝROBY V této kaptole ukážeme různé způsoby reprezentace problému rozvrhování zakázkové výroby. Zvláštní pozornost budeme věnovat zřejmě nejvýhodnější reprezentac pomocí dsjunktvního grafu. Budou zde popsány souvsející algortmy a způsoby konstruování sousedství. Dále se budeme zabývat množnou použtelných krterí, podle nchž se optmalzuje rozvrh. 4.1 REPREZENTACE DAT Pod pojmem reprezentace dat problému rozvrhování rozumíme určtý způsob zápsu posloupností operací na strojích do určté struktury, která nám umožní provádění výpočtů na počítačích a hledání optmálního řešení. Př kódování a dekódování řešení do zvolené struktury musíme vzít v úvahu tř zásadní otázky: 1. Přípustnost struktury řešení dekódované ze struktury musí ležet v oblast přípustných řešení daného problému. 2. Legálnost struktury struktura reprezentuje řešení daného problému. 3. Jednečnost zobrazení každá vytvořená struktura by měla odpovídat jednečnému rozvrhu. V průběhu posledních několka let bylo navrženo několk způsobů reprezentací problému rozvrhování zakázkové výroby, které mohou být rozděleny podle kódovacího postupu na reprezentace s přímým přístupem a reprezentace s nepřímým přístupem. V přímém přístupu je rozvrh zakódován do seznamu jednotlvých operací a heurstcké metody pro tyto struktury vytváří přesně defnovaná sousedství, pomocí kterých probíhá vlastní 12

hledání. Do této skupny patří reprezentace založená na operacích, reprezentace založená na pracích, reprezentace založená na vzájemném vztahu mez pracem, reprezentace založená na časech dokončení a reprezentace náhodných klíčů. V nepřímém přístupu se místo rozvrhů kódují sekvence takzvaných dspečerských pravdel, pomocí kterých posléze uspořádáme operace. Cílem hledání je tedy nalezení co nejlepší sekvence dspečerských pravdel. Rozvrh je nakonec sestaven z této nejlepší sekvence dspečerských pravdel postupným dosazováním operací. Do této skupny patří reprezentace založená na preferenčním seznamu, reprezentace založená na prortních pravdlech, reprezentace založená na dsjunktvním grafu a reprezentace založená na strojích. Všechny uvedené reprezentace jsou zhruba popsány v [8]. Nejvýhodnější z hledska použtí heurstckých metod se jeví reprezentace pomocí dsjunktvního grafu. 4.1.1 Reprezentace dsjunktvním grafem Dsjunktvní graf G [4, 5, 18, 27] je defnován množnou uzlů V, množnou konjunktvních hran C a množnou dsjunktvních hran D, G = ( V, C D). Uzly reprezentují operace všech úloh. Množna uzlů V obsahuje navíc dva specální uzly, počáteční 0 (nula) a koncový uzel * (hvězdčka). Tyto specální uzly jsou ohodnoceny nulam, ostatní uzly jsou ohodnoceny dobam trvání odpovídajících operací. Orentované konjunktvní hrany vyjadřují zadané pořadí operací v rámc jednotlvých úloh. Dále jsou zde hrany vycházející z počátečního uzlu 0 a směřující do uzlů příslušných prvým operacím úloh a hrany vycházející z uzlů příslušných posledním operacím úloh a směřující do koncového uzlu *. Dsjunktvní hrany spojují operace, které musejí být provedeny na stejném stroj. Na začátku algortmu jsou dsjunktvní hrany neorentované. Graf G může být rozložen na Graf G 0 = (V, C) a na m úplných podgrafů G k = (O k, D k ), kde O k je množna operací prováděných na k-tém stroj a D k = O k O k. Množna dsjunktvních hran D tvoří tedy m úplných podgrafů, z nchž každý přísluší jednomu stroj, kde m je počet strojů. Příklad reprezentace problému rozvrhování zakázkové výroby dsjunktvním grafem představuje obrázek 4.1. Obrázek 4.1. Dsjunktvní graf Stanovt výrobní rozvrh znamená rozhodnout o pořadí operací na jednotlvých strojích, tedy stanovt orentac dsjunktvních hran. Množna S všech orentovaných dsjunktvních hran se nazývá úplná selekce. Úplná selekce určuje přípustný rozvrh π pouze v případě, že výsledný graf G( π ) = ( V, C S) je acyklcký. V tom případě se S nazývá acyklcká úplná selekce. Příkladem rozvrhu pro problém znázorněný dsjunktvním grafem na obrázku 4.1 může být π = {( 4,1,7 ), ( 2,6),( 5,3,8 )}, kde jednotlvé seznamy operací v kulatých závorkách představují pořadí operací na jednotlvých strojích. Celková doba zpracování všech úloh je pak dána délkou nejdelší cesty z počátečního uzlu do koncového uzlu grafu. Tuto cestu nazýváme krtckou cestou. 13

Máme-l vytvořen acyklcký orentovaný graf, můžeme pomocí algortmu nalezení krtcké cesty CPM (crtcal path method) [21, 34] určt nejdříve možné časy dokončení operací C k. Než k tomu přstoupíme, můžeme ještě graf zjednodušt. Protože lbovolná operace má na stejném stroj nejvýše jednu bezprostředně předcházející operac a nejvýše jednu bezprostředně následující operac, můžeme z grafu vypustt ty dsjunktvní hrany, které nespojují uzly odpovídající bezprostředně po sobě následujícím operacím na stejném stroj. Vedlejším efektem aplkace metody CPM na provedtelný rozvrh je, že zjstíme všechny nejdříve možné časy zahájení, nejpozděj přípustné časy dokončení a časové rezervy operací. 4.2 KRITERIA ROZVRHU Jako krterum kvalty rozvrhu se nejčastěj volí celková doba zpracování všech úloh (makespan). Úkolem je najít takový rozvrh π, který mnmalzuje čas dokončení poslední zpracovávané operace: C max ( π ) = max{ C j}. (4.1) 1 j n Krtérum (4.1) použjeme např. v případě, kdy odběratel zadá jstou množnu zakázek J a hotové zakázky odebere a zaplatí až po ukončení poslední z nch. Často je pro každou zakázku zadán termín jejího dokončení d. V takovém případě je naším úkolem nalezení rozvrhu, který mnmalzuje ztráty spojené s nedodržením termínů. Pak můžeme pro vytvoření účelové funkce použít následujících parametrů: L = CLast( ) d časová odchylka od plánovaného ukončení úlohy { 0 } T = max, L zpoždění úlohy J, { 0 } E = max, L předsth úlohy J, přčemž Last () je funkce, jejíž hodnotou je ndex poslední operace v -té úloze. Občas se vyskytne požadavek mnmalzace rozpracované výroby, protože v systému jsou například ve formě materálu č ve formě vyplacených mezd vázány prostředky, se kterým není možné dsponovat dříve, než je hotová zakázka odevzdána. Důležtým parametrem v tomto případě je doba pobytu úlohy J v systému: J, F = C C p, Last( ) Frst( ) Frst( ) přčemž Frst () je ndex první prováděné operace v -té úloze. Další krtera rozvrhu jsou uvedena v úplné verz dsertační práce. 4.3 METODY ŘEŠENÍ ZALOŽENÉ NA KÓDOVÁNÍ DISJUNKTIVNÍM GRAFEM k Množna všech operací O může být přrozeně rozdělena do m podmnožn O, 1 k m, kde každá z nch odpovídá množně operací prováděných na k-tém stroj. Pořadí operací na k-tém stroj může k být defnováno jako permutace π k, která se vytvoří pouze z operací příslušné množny O. Výrobní rozvrh π je tedy defnován také jako množna permutací π = { π k k {1,..., m}} operací na strojích 1,...,m, pro kterou je odpovídající graf G(S) acyklcký. Problém rozvrhování zakázkové výroby můžeme znovu formulovat jako hledání provedtelného výrobního rozvrhu π, který mnmalzuje 14

účelovou funkc. Často se používá účelová funkce (4.1). Hodnota této funkce se rovná délce krtcké cesty v grafu G (π ). Víme, že krtcká cesta u (π ) v grafu G (π ) je posloupnost krtckých operací u ( π ) = ( u1,..., uv ), kde v je počet operací na krtcké cestě. Krtcká cesta je rozdělena do podsekvencí nazývaných krtcké bloky B h. Krtcké bloky jsou maxmální podskupny operací krtcké cesty, které obsahují operace prováděné na stejném stroj. Krtcká cesta u (π ) je tedy posloupnost krtckých bloků u( π ) = ( Bh h (1,..., g)), kde g je počet krtckých bloků na krtcké cestě u (π ). Defnce krtckých bloků je důležtá, protože pomocí ní budeme moc defnovat operátory heurstckých metod. Aby bylo možné použít stochastcké heurstcké metody pro optmalzac rozvrhu reprezentovaného orentovaným dsjunktvním grafem, je potřeba formulovat algortmus nalezení počátečního provedtelného rozvrhu, defnovat vztah sousedství, případně určt další operátory heurstckých metod (křížení, mutace) a vymezt funkc ohodnocení rozvrhu (optmalzační krterum). Algortmus pro vytvoření počátečního rozvrhu navrhl Gffler a Thomson ve [13]. Tento algortmus nám poskytne náhodný přípustný rozvrh, kterému budeme moc přřadt hodnotu účelové funkce. Sousedství je množna rozvrhů, které lze získat aplkováním operátoru přechodu do jného rozvrhu. V prác [3] bylo popsáno několk způsobů, jak měnt orentace dsjunktvních hran v grafu, aby se co nejefektvněj prohledal prostor řešení. Mez nejjednodušší patří sousedství S 1 použté v prác [25]: S 1 : Přechod ze současného řešení do nového je vytvořeno změnou orentace dsjunktvní hrany (,j) na krtcké cestě současného grafu na (j,). Jnak řečeno, S 1 vyjadřuje záměnu pořadí dvou bezprostředně následujících operací o a o j na jednom stroj v případě, že obě operace leží na krtcké cestě. Jné zajímavé sousedství bylo představeno v prác [14]: S 4 : Pro každý uzel o v krtckém bloku posuň o na úplný začátek nebo konec tohoto bloku. V lteratuře [3, 30, 33] je popsána řada dalších možností, jak tvořt sousedství v rozvrzích založených na kódování dsjunktvním grafem. Všechny operátory přechodu do jného rozvrhu jsou založeny pouze na změnách pořadí operací v rámc krtckých bloků. Pro takto defnované operátory lze dokázat, že pokud výchozí dsjunktvní graf je acyklcký, potom také každý graf vznklý jejch aplkováním je acyklcký, tedy jemu odpovídající rozvrh je provedtelný. Pokusme se o náznak tohoto důkazu. Předpokládejme, že máme problém rozvrhování zakázkové výroby reprezentovaný uzlově ohodnoceným dsjunktvním grafem, kde uzly jsou ohodnoceny kladným hodnotam. Dále předpokládejme, že žádné dvě bezprostředně po sobě následující operace jedné úlohy se neprovádějí na stejném stroj. Pro takový graf platí, že exstuje-l v grafu orentovaná dsjunktvní hrana, změnou jejíž orentace by vznkla v grafu smyčka, potom tato hrana nemůže ležet na krtcké cestě a tudíž nemůže být vybrána k otočení. Obrázek 4.6. 15

Na obrázku 4.6 vdíme 3 uzly, z uzlu 1 do uzlu 3 vede dsjunktvní hrana, jejímž otočením by vznkl v grafu cyklus, protože mez uzly 1 a 3 vede ještě jná cesta než přímo po dsjunktvní hraně (1, 3). Cesta z 1 do 3 přes uzel 2 bude vždy delší než přímá cesta po hraně (1, 3), proto tato hrana nemůže ležet na krtcké cestě. 4.4 VÝSLEDKY VÝPOČTŮ V následující část jsou prezentovány výsledky z provedených expermentů souvsejících s problémem rozvrhování zakázkové a proudové výroby. Provedl jsme tyto expermenty: zkoumání hranc rozsahu problému, pro který jsou efektvně použtelné přesné metody porovnání výsledků dosažených různým stochastckým heurstckým metodam: horolezeckým algortmem, tabu search, smulovaným žíháním a genetckým algortmem srovnání reprezentace problému preferenčním seznamem s reprezentací dsjunktvním grafem 4.4.1 Použtelnost přesných metod Metodou větví a mezí jsme řešl úlohy rozvrhování zakázkové výroby pro odstupňované rozsahy úloh. K optmalzac jsme využl algebracký modelovací systém GAMS (General Algebrac Modellng System) [7], kde je mplementována metoda větví a mezí (B&B). Pro testování jsme použl etalonové příklady [2], u kterých je známá optmální hodnota účelové funkce. Vlastností všech těchto etalonových příkladů je, že každá úloha vykonává na každém stroj právě jednu operac. V tomto expermentu jsme za mnmalzační účelovou funkc zvoll celkovou dobu trvání rozvrhu C max dle rovnce (2.6). Pro srovnání jsme tytéž úlohy řešl heurstckou metodou smulovaného žíhání. Metoda větví a mezí, pokud skončla korektně, nám vždy poskytla optmální řešení. Smulované žíhání jsme pro každý příklad spouštěl 10krát a zaznamenal jsme získanou nejlepší a průměrnou hodnotu účelové funkce. V tabulce 4.1 jsou zaznamenány všechny vypočtené hodnoty. příklad SA B & B rozsah prostor řešení optmum doba průměr nejlepší doba dosažená status n m (n!) m C max výpočtu C max C max výpočtu C max 3 3 216 74 1s 74 74 2s 74 optmum 3 6 46656 47 1s 47 47 14s 47 optmum 4 4 331776 96 2s 96 96 17s 96 optmum 4 5 7,96E+6 44 2s 44 44 31s 44 optmum 4 6 1,91E+8 47 2s 47 47 128s 47 optmum 5 3 1,72E+6 32 2s 32 32 64s 32 optmum 5 4 2,07E+8 35 2s 36 35 178s 35 optmum 5 5 2,48E+10 49 3s 52 49 1020s 49 optmum 6 3 3,73E+8 41 3s 41 41 661s 41 optmum 6 6 1,39E+17 55 4s 57 55 908s 58 nedosažtelné 10 5 6,29E+32 666 6s 667 666 >>1000s - nedosažtelné 10 10 3,96E+65 945 18s 987 959 >>1000s - nedosažtelné 20 10 7,27E+183 1218 93s 1315 1287 >>1000s - nedosažtelné 30 10 1,724E+324 1784 189s 1869 1819 >>1000s - nedosažtelné Tabulka 4.1. Možnost nasazení metody větví a mezí v porovnání se smulovaným žíháním 16

Z naměřených výsledků vyplývá, že přesným metodam lze získat optmální řešení v reálném čase pouze pro úlohy do omezeného rozsahu. Konkrétně algortmus větví a mezí byl za 1000 sekund schopen prozkoumat řádově průměrně 10 10 možných řešení. To odpovídá rozsahu problému o velkost n = 5 jobů, z nchž každý má m = 5 operací. Př řešení úloh heurstckou metodou sce není zaručeno, že jsme získal optmální hodnotu účelové funkce, protože se neprozkoumal celý prostor řešení, ale heurstcká metoda je schopna nám v přjatelně dlouhém čase poskytnout řešení, které je přjatelné. 4.4.2 Srovnání heurstckých metod Na skupně 12t etalonových příkladů [2] rozvrhování proudové výroby jsme optmalzoval účelovou funkc C max těmto stochastckým heurstckým metodam: HC horolezecký algortmus, TS tabu search, SA smulované žíhání, GA genetcký algortmus. Pro každý příklad jsme nechal algortmy proběhnout 30krát, vypočetl jsme průměrnou hodnotu účelové funkce a zaznamenal nejlepší nalezené řešení. Pro všechny metody byla délka trvání výpočtu omezena počtem volání účelové funkce úměrným počtu úloh: počet volání funkce = 10 n 2. Počáteční permutace úloh byly pro všechny metody generovány náhodně. Doba trvání výpočtu na počítač pro největší příklad o rozsahu 20 úloh 75 operací nepřesáhla 100 sekund. Z provedených expermentů můžeme vyvodt tyto závěry: z navržených přístupů řešení rozvrhovacího problému jsme nejlepších výsledků dosahoval s použtím metody tabu search, zatímco pro rozsáhlejší příklady se osvědčly metody smulované žíhání a genetcký algortmus. Všechny tř metody (TS, SA a GA) jsou výrazně lepší v porovnání s metodou horolezeckého algortmu. Je nutné podotknout, že vzájemné porovnání metod je vždy relatvní, výkonnost jednotlvých metod záleží na nastavení jednotlvých parametrů metod. My jsme se pokoušel parametry metod nastavovat co nejlépe na základě zkušeností získaných po provedení mnoha expermentů s každou metodou. 4.4.3 Srovnání reprezentací Na základě počítačového programu Plánování výroby 3.0 [5] bylo provedeno srovnání reprezentací problému rozvrhování zakázkové výroby pomocí dsjunktvního grafu s reprezentací pomocí preferenčního seznamu př použtí optmalzačních metod: smulované žíhání, tabu search, genetcký algortmus. Z porovnání účnnost způsobů kódování mez dsjunktvním grafem a preferenčním seznamem je patrné, že metody používající kódování dsjunktvním grafem jsou ve všech případech účnnější. Metody založené na kódování preferenčním seznamem jsou sce schopny pro svou jednoduchost za stejnou dobu vykonat řádově více svých kroků, ale nejsou schopny dosáhnout optma u poměrně jednoduchých příkladů. I přes svou časovou náročnost lze metody založené na kódování dsjunktvním grafem upřednostnt před metodam používajícím kódování preferenčním seznamem. 17

5 PROBLÉMY ROZVRHOVÁNÍ V REÁLNÝCH VÝROBNÍCH PODMÍNKÁCH V předcházející kaptole byl popsán klascký model problému rozvrhování zakázkové výroby. V prax je možné se setkat s řadou jeho modfkací (zohlednění dopravních dávek, rozvrhování montážních operací, různé výrobní způsoby, voltelnost strojů, omezená kapacta mezskladů apod.). V této kaptole vyjdeme z modelu prezentovaného ve [15] a budeme studovat možnost reprezentace nejčastějších reálných podmínek pomocí tzv. rozšířeného dsjunktvního grafu. 5.1 MONTÁŽNÍ A DISTRIBUČNÍ OPERACE V technologckém postupu méně složtých výrobků se často setkáme s potřebou kompletovat celek z více částí. S těmto celky nezřídka dále provádíme další montážní operace, než vznkne konečný výrobek. Montážní celek může být určen k dalšímu zpracování nebo může být samostatným prodávaným produktem. Obrácenou operací montáže je operace typu dstrbuce. Často je úkolem rozvrhnout výrobu, ve které se vyskytuje současně několk dstrbučních operací a několk montážních operací. Nechť G = ( V, C D) je dsjunktvní graf. V klascké podobě dsjunktvního grafu má každý uzel (kromě uzlů 0 a *) v podgrafu G 0 = ( V, C) pouze jednoho předchůdce a pouze jednoho následníka. Problém s montážním operacem lze jednoduše modelovat takovým způsobem že přpustíme, aby uzel reprezentující montážní (resp. dstrbuční) operac měl více předchůdců (resp. následníků), spojených s tímto uzlem konjunktvním hranam. Ukázku grafu G 0 = ( V, C) rozšířeného tímto způsobem můžeme vdět na obrázku 5.1. Operace 17 je dstrbuční a operace 4, 10, 13 a 20 jsou montážní. 18 Obrázek 5.1. Rozšíření dsjunktvního grafu o dstrbuční a montážní operace Jako jednu úlohu v tomto případě chápeme množnu operací reprezentovaných uzly, které jsou navzájem pospojovány konjunktvním hranam (kromě hran spojených s uzly 0 a *). Na obrázku 5.1 jsou tedy 3 úlohy: první úloha je tvořená operacem 1 až 7, druhá úloha operacem 8 až 16 a třetí úloha operacem 17 až 23.

5.2 ČASY PŘÍPRAVY, TECHNOLOGICKÉ A DOPRAVNÍ ČASY, TERMÍNY SPUŠTĚNÍ A TERMÍNY DOKONČENÍ ÚLOH Nyní se podrobně podíváme na jednu (k-tou) operac. Klascký model rozvrhování zakázkové výroby počítá pouze s jedním výrobním časem p operace (process tme). Ale v prax doba trvání k-té k operace zahrnuje ještě několk dalších časů se kterým musíme počítat: čas přípravy, technologcký čas a dopravní čas. Tyto časy mohou být reprezentovány pomocí ohodnocení hran v dsjunktvním grafu. Čas přípravy operace (setup tme) je doba potřebná např. k seřízení stroje. Časem přípravy chápeme dobu přípravy stroje, po kterou ještě není nutné, aby byla dokončena operace stejné úlohy na předchozím stroj, protože v opačném případě by tento čas bylo možné jednoduše zahrnout do výrobního času. Nechť každá dsjunktvní hrana {, j} je reprezentována dvěma opačným orentovaným hranam (, j) a (j, ), Úkolem optmalzace bude vybrat pouze jednu z této dvojce hran. Jsou-l časy přípravy na pořadí operací nezávslé, potom každé dsjunktvní hraně (, j) přřadíme ohodnocení s j, což je čas přípravy operace o j. Jsou-l časy přípravy na pořadí závslé, potom každou dsjunktvní hranu (, j) ohodnotíme hodnotou s j, což je čas přípravy operace o j, kterou předchází na stejném stroj operace o. Technologcký čas τ k (technologc tme) je doba, po kterou musí úloha po skončení vlastní (k-té) operace čekat, než může postoupt na další stroj. Vlastní stroj ale přtom už může být použt pro zpracování další operace jné úlohy. Dopravní čas t k (transport tme) je doba dopravy úlohy na následující pracovště. Technologcký a dopravní čas mají na čas začátku navazující operace stejný vlv, proto je můžeme sečíst a nahradt jednou hodnotou, kterou ohodnotíme konjunktvní hranu vedoucí k následující operac stejné úlohy. Nyní předpokládejme, že -tá úloha má stanoven nejdříve možný čas zahájení ρ a termín dokončení d. V dsertační prác je ukázáno, že problém mnmalzace maxmálního zpoždění úlohy může být modelován dsjunktvním grafem pomocí ohodnocení hran spojujících uzly 0 a *. Nakonec orentací dsjunktvních hran pomocí optmalzační metody získáme orentovaný graf, v němž jsou ohodnoceny uzly hodnotam p k a hrany hodnotam h j. Metodou nalezení krtcké cesty snadno získáme dobu trvání rozvrhu, nejdříve možné termíny začátků operací, nejpozděj přípustné termíny ukončení operací a časové rezervy operací. 5.3 DOPRAVNÍ DÁVKY Požadovaný objem výroby každé úlohy je její výrobní dávka. Výrobní dávka může být předávána z - tého na bezprostředně následující j-tý stroj jedním následujících tří způsobů postupný, souběžný a smíšený způsob [39,41]. Př postupném výrobním způsobu předává pracovště celou výrobní dávku na j-té pracovště až po jejím úplném dokončení na -tém pracovšt. Mnmální průběžná doba výrobní dávky je př postupném způsobu v porovnání s ostatním způsoby vysoká. Naprot tomu v souběžném výrobním způsobu je výrobní dávka rozdělena na u dopravních dávek, které se předávají postupně ze stroje přděleného -té operac na bezprostředně následující stroj přdělený j-té operac. Zpracování dopravní dávky začne na následujícím pracovšt hned, jakmle dorazí dopravní dávka z předcházejícího pracovště. Př čekání na další dopravní dávku se však mohou na strojích vyskytovat zbytečné prostoje. Př smíšeném výrobním způsobu je stanovena podmínka, že zpracování výrobní dávky nesmí být na žádné operac přerušeno. Když je stroj přřazený j-té operac volný, není nutné čekat na dokončení celé výrobní dávky na předcházejícím pracovšt. Provedení j-té operace může začít dříve, ale tak, aby zpracování výrobní dávky na j-té operac nebylo přerušeno. Čas zpracování -té operace 19

jedné dopravní dávky je q = p / u, kde p je čas zpracování -té operace celé výrobní dávky. Z obrázku 5.2. lze snadno odvodt velkost největšího časového překrytí v j dvou po sobě následujících operací o a o j : v j = mn{ p q, p q } (5.1) j j Pokud jsou bezprostředně po sobě následujícím operacím a j přděleny různé stroje a výrobní dávka je rozdělena na několk dopravních dávek, zmenšíme ohodnocení konjunktvní hrany (, j) v dsjunktvním grafu o hodnotu v j. Př započítání technologckých a dopravních časů bude tedy ohodnocení konjunktvní hrany (, j) rovno h = τ + t v. j j j Obrázek 5.2. Časové překrytí operací př souběžném výrobním způsobu 5.4 APLIKACE STOCHASTICKÝCH HEURISTICKÝCH METOD Rozšířeným dsjunktvním grafem rozumíme graf, ve kterém se mohou vyskytovat uzly odpovídající dstrbučním a montážním operacím a kde jsou ohodnoceny uzly hodnotam p k a hrany hodnotam h j. Pro vytvoření počátečního rozvrhu jsme upravl algortmus z [13] do podoby, která je použtelná pro rozšířený dsjunktvní graf. Tento algortmus, jenž je publkován v dsertační prác, nám poskytne přípustný rozvrh π = { π 1,..., π m }, kterému můžeme přřadt ohodnocení (například využjeme CPM). Vytvořený rozvrh použjeme jako počáteční řešení pro aplkování některé z heurstckých optmalzačních metod. Operátor přechodu do jného řešení je možné defnovat stejným způsoby jako bylo popsáno v kaptole 4.3. V rozšířeném dsjunktvním grafu přpouštíme exstenc precedenčních omezení daných konjunktvním hranam mez operacem na jednom stroj a také ohodnocení dsjunktvních hran kladným hodnotam. Pro přípustný graf tohoto druhu ovšem právě proto, že přpouštíme ohodnocení hran, není splněna podmínka, že aplkováním operátorů přechodu do jného rozvrhu vznkne vždy přípustný graf (bez smyček). Proto musíme kontrolovat provedtelnost vygenerovaného rozvrhu v každém kroku našeho algortmu. 5.5 VOLITELNOST STROJŮ V problému voltelnost strojů [10], nemusí být pro některou operac pevně určen jeden konkrétní stroj, ale seznam strojů, na jednom z nchž se má daná operace voltelně provést. Doba trvání stejné operace její cena přtom může být na různých strojích různá. Zadání problému obsahuje kromě seznamu ohodnocených uzlů odpovídajících operacím a seznamu ohodnocených konjunktvních hran odpovídajících technologckým návaznostem operací, též pro některé operace seznam alternatvních strojů s časy trvání. Úkolem heurstcké metody, pro nž se pokusíme navrhnout reprezentac, bude stanovt nejen nejlepší pořadí operací na strojích, ale také pro operac vybrat z jejího seznamu stroj. Rozvrh π je představován dvěma řetězc parametrů π = {X, Y}. Řetězec Y popsuje pořadí provádění operací na jednotlvých strojích (např. pomocí reprezentace založené na operacích) př známém přřazení operací ke strojům. Řetězec X obsahuje tolk prvků, kolk je v problému operací, 20

pro které má být vybrán stroj z více možných strojů. Každý prvek v řetězc X je vyjádřen ndexem použtého stroje. Pro takto reprezentovaný problém jsme navrhl tř specální genetcké algortmy, které jsou popsány v dsertační prác. V těchto tezích naznačíme pouze postup prvního z nch: 5.5.1 Genetcký algortmus pro řešení problému s nesourodým parametry Uvažujeme jednce, který je reprezentován dvěma částm řešení X a Y. Každému jednc lze přřadt hodnotu funkce fttness. V každé část řešení X, Y můžeme odděleně snadno defnovat operátory křížení a mutace. Počáteční populace se vygeneruje náhodně. V každé terac se z populace náhodně vybere její podmnožna, z níž dva nejlepší jednc se stanou rodč. Náhoda rozhodne, jestl křížení rodčů proběhne v část X nebo v část Y. Křížením vznknou dva potomc. Každý potomek se s malou pravděpodobností podrobí mutac. Opět náhoda rozhodne, jestl mutace proběhne v část X nebo v část Y. Nakonec nově vznklí potomc nahradí dva nejhorší jednce z náhodně vybrané podmnožny populace. Algortmus končí provedením daného počtu terací nebo vypršením časového lmtu. V průběhu algortmu se zaznamenává jednec s nejlepší hodnotou funkce fttnes. 5.6 DALŠÍ ASPEKTY REÁLNÉ VÝROBY V reálné zakázkové výrobě se př rozvrhování můžeme setkat s množstvím dalších specfckých požadavků. Dsertační práce se zaměřla jen na řešení nejdůležtějších z nch. Ostatním aspektům se věnujme jen přehledově. Často před zahájením výroby neznáme všechny zakázky, které máme zpracovávat, nýbrž zákazníc své objednávky ční postupně nahodle v průběhu doby, kdy jsou naše stroje vytíženy prací na předchozích zakázkách. Je vhodné zapracování nové objednávky do našeho rozvrhu on-lne a v reálném čase. Př obdržení nové zakázky přerozvrhujeme výrobu (reschedulng). Proces rozvrhování je pak kontnuální a uplatní se v něm krterum nejdelší průběžné doby zakázky. Další omezení dostaneme v případech, když je třeba rozvrh přzpůsobt pracovní době, když kapacta mezoperačních skladů je omezená, apod. Možnost přerušení operace v určtém okamžku je možné modelovat v dsjunktvním grafu tak, že operac rozdělíme na dvě operace, mez které zařadíme uzel představující hypotetckou operac s nulovou délkou trvání. V neposlední řadě se ve výrobě často vyskytuje spousta neurčtých vstupních údajů. Tématu rozvrhování s neurčtým údaj se věnuje 6. kaptola dsertační práce. 5.7 NÁVRH SOFTWAROVÉHO VYBAVENÍ PRO ROZVRHOVÁNÍ ZAKÁZKOVÉ VÝROBY Pro řešení problémů rozvrhování zakázkové výroby se zohledněním reálných výrobních podmínek jsme navrhl a pokusl jsme se realzovat prototyp softwarového vybavení. Předsevzal jsme s, že vytvoříme počítačový program, pomocí kterého bude možné snadno a přehledně vytvářet a optmalzovat výrobní rozvrhy na základě známých technologckých postupů. Náš program pracuje s modelem rozvrhování zakázkové výroby, který zahrnuje výrobky obsahující montážní a dstrbuční operace, doplňkové časy dopravní dávky. V programu jsme použl reprezentac pomocí rozšířeného dsjunktvního grafu. Nejprve jsme navrhl relační model databáze, tj strukturu tabulek, odkud se mají data načítat a jak ukládat výsledky. V dsertační prác jsou pak podrobně popsány tř základní navržené moduly programu: 1. programový modul pro přípravu dat do struktury grafu, 2. programový modul pro výpočet a 3. programový modul na prezentac výsledků. K programování jsme použl vývojový 21