VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ PROGRAMOVÝ SYSTÉM PRO PLÁNOVÁNÍ A ROZVRHOVÁNÍ VÝROBY PROGRAM SYSTEM FOR PRODUCTION PLANNING AND SCHEDULING

Rozměr: px
Začít zobrazení ze stránky:

Download "VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ PROGRAMOVÝ SYSTÉM PRO PLÁNOVÁNÍ A ROZVRHOVÁNÍ VÝROBY PROGRAM SYSTEM FOR PRODUCTION PLANNING AND SCHEDULING"

Transkript

1 VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA STROJNÍHO INŽENÝRSTVÍ ÚSTAV AUTOMATIZACE A INFORMATIKY FACULTY OF MECHANICAL ENGINEERING INSTITUTE OF AUTOMATION AND COMPUTER SCIENCE PROGRAMOVÝ SYSTÉM PRO PLÁNOVÁNÍ A ROZVRHOVÁNÍ VÝROBY PROGRAM SYSTEM FOR PRODUCTION PLANNING AND SCHEDULING DIPLOMOVÁ PRÁCE DIPLOMA THESIS AUTOR PRÁCE AUTHOR VEDOUCÍ PRÁCE SUPERVISOR Petr Pospíšil RNDr. Jiří Dvořák, CSc. BRNO 2007

2

3 Strana 3 ZADÁNÍ ZÁVĚREČNÉ PRÁCE (na místo tohoto listu vložte originál a nebo kopii zadání Vaš práce)

4

5 Strana 5 LICENČNÍ SMLOUVA (na místo tohoto listu vložte vyplněný a podepsaný list formuláře licenčního ujednání)

6

7 Strana 7 ABSTRAKT Tato diplomová práce se zabývá vícestupňovým vícevýrobkovým problémem optimalizace dynamických výrobních dávek pro obecné výrobní struktury a problémem optimalizace rozvrhu pořadí výrobků na jednotlivých strojích. Výrobní struktura je reprezentována orientovaným acyklickým grafem a kritériem optimalizace jsou celkové výrobní náklady. Cílem je návrh integrovaného přístupu k řešení obou problémů pomocí stochastických heuristických metod (genetické algoritmy, simulované žíhání, zakázané hledání), programová realizace navržených postupů a jejich srovnání na souboru testovacích příkladů. ABSTRACT This thesis deals with a multi-level, multi-machine dynamic lot sizing problem with a general production structure and a problem of scheduling products on each machine. The production structure is represented by oriented acyclic graph and the total production costs are used as the optimization criterion. The aim is to propose an integrated approach to solving both problems by means of stochastic heuristic methods (genetic algorithms, simulated annealing, tabu search), program implementation of proposed algorithms and their comparison on test examples. KLÍČOVÁ SLOVA Výrobní dávka, zakázková výroba, disjunktivní graf, genetický algoritmus, simulované žíhání. KEYWORDS Lot size, job shop scheduling, disjunctive graph, genetic algorithm, annealing. simulated

8 Strana 8 Abstrakt

9 Strana 9 PODĚKOVÁNÍ Na tomto místě bych rád poděkoval RNDr. Jiřímu Dvořákovi, CSc, za jeho vedení a odborné rady a podněty při vyhotovení této diplomové práce.

10 Strana 10 Poděkování Prohlášení Prohlašuji, že jsem diplomovou práci zpracoval samostatně a že jsem uvedl všechny použité prameny a literaturu, ze kterých jsem čerpal. V Brně dne podpis

11 Strana 11 Obsah: Zadání závěrečné práce...3 Licenční smlouva...5 Abstrakt...7 Poděkování Úvod Optimalizace výrobních dávek Formulace problému Přesné metody řešení Heuristické metody řešení Rozvrhování výroby Rozvrhování typu flow-shop (rozvrhování proudové výroby) Rozvrhování typu job-shop (rozvrhování zakázkové výroby) Metody řešení Heuristické metody Horolezecký algoritmus (Hill climbing) Simulované žíhání (Simulated annealing) Zakázané hledání (Tabu search) Genetické algoritmy (Genetic algorithms) Reprezentace dat Způsoby reprezentace dat pro job shop rozvrhování Disjunktivní graf Montážní a distribuční operace Časy přípravy, dopravní a technologické časy Návrh řešení problému Použitý způsob reprezentace dat Relace sousedství Popis algoritmu Přesuny výroby Algoritmus pro nalezení počátečního rozvrhu Realizace programu Hlavní okno Nápověda Nastavení parametrů algoritmů Výpočet Součásti programu Spuštění výpočtu Zpracování prvků a simulované žíhání Programové řešení genetického algoritmu Výpočetní experimenty Příklady zaměřené na hledání optimálního rozvrhu Příklad zaměřený na integraci dávek a rozvrhu Porovnání výsledků Závěr Seznam použité literatury...59

12

13 Strana 13 1 ÚVOD V současné době kolem sebe vidíme snahu o zvyšování produktivity práce a zefektivnění výroby. S rostoucí konkurencí se firmy snaží své vnitropodnikové procesy co nejvíce optimalizovat, aby proti svým soupeřů získaly nějakou výhodu. Proto je důležitým úkolem plánování výroby a tvorba výrobních rozvrhů. Plánování znamená určení velikosti výrobních dávek, tj. kdy a kolik výrobků se má vyrobit. Plánovací horizont je časové období, které je rozdělené na několik stejně dlouhých period, ve kterém se plánují činnosti v závislosti na poptávce po koncových výrobcích. Poptávka po výrobcích může být v čase konstantní (stacionární) nebo proměnná (dynamická). V této práci jsem uvažoval dynamickou poptávku, která je spojena s konečným plánovacím horizontem. Obecně je problém rozvrhování dán konečnou množinou prací, které mají být v určitém časovém období provedeny a omezeným počtem strojů, které jsou k dispozici. Přitom u každého výrobku známe technologický postup, určující operace v daném pořadí i jejich doby trvání, a který každé operaci přiděluje určitý druh stroje. Existují dva typy rozvrhování, a to rozvrhování zakázkové výroby (job shop scheduling), o kterém mluvíme v případě, že pořadí strojů může být pro každý výrobek různé a rozvrhování proudové výroby (flow shop scheduling), kde nastává speciální případ, kdy pořadí strojů je pro všechny výrobky stejné. Úkolem rozvrhování je najít nejlepší rozvrh (schedule) provádění operací, tzn. nalézt optimální pořadí operací na jednotlivých strojích. Jako hlavní kritérium rozvrhu se nejčastěji používá celková doba trvání výroby (makespan), dále ztráty vyplývající s nedodržením časových požadavků, stupeň rozpracovanosti apod. Tato diplomová práce se zabývá problematikou rozvrhování výroby a optimalizace výrobních dávek pro vícestupňový vícevýrobkový výrobně - montážní systém s obecnou strukturou a více kapacitně omezenými zdroji v prostředí zakázkové výroby. Navazuje na výsledky dosažené v [14], kde byl představen dekompoziční přístup, při kterém se střídá řešení plánovacího problému (problém velikosti výrobních dávek) pro pevně stanovenou posloupnost operací na strojích s řešením rozvrhovacího problému pro neměnný výrobní plán. Cílem této práce je analyzovat typy problémů a existující metody řešení, navržení integrovaného přístupu pro řešení vybraných typů obou problémů s použitím stochastických heuristických metod a následně vytvoření programové realizace navržených metod a jejich srovnání na souboru testovacích příkladů. Text práce je seřazen do následujících částí: Nejdříve je analyzována problematika rozvrhování výroby a problematika optimalizace výrobních dávek, poté jsou podrobněji rozebrány publikované metody řešení zadaného problému a následně je popsán návrh a realizace řešení. Nakonec je provedeno srovnání navržených metod na souboru testovacích příkladů.

14 Strana 14 1 Úvod

15 Strana 15 2 OPTIMALIZACE VÝROBNÍCH DÁVEK Již v úvodu byly uvedeny některé základní pojmy, které ještě s několika dalšími nyní vysvětlím. Jeden ze základních pojmů je výrobní dávka (production lot), což je množství výrobků (součástí, dílů), které jsou současně zadávány do výroby nebo z výroby odváděny, jsou opracovávány v těsném časovém sledu nebo současně, a to na určeném pracovišti a s jednorázovým konstantním vynaložením nákladů na přípravu a zakončení příslušného procesu. Pojem výrobní dávka je třeba oddělit od pojmu série, která představuje celou řadu výrobků (součástí, dílů), jednoho provedení a je tvořena výrobními dávkami. Výrobní dávky mají z ekonomického hlediska velký vliv na efektivitu celého procesu. Zvyšování velikosti výrobních dávek snižuje fixní náklady (náklady na přípravu a zakončení výroby), zvyšuje produktivitu práce a zjednodušuje operativní řízení výroby. Naopak se zvýšení dávek projeví zvýšením skladovacích nákladů, zvýšením vázanosti obratového kapitálu, zvýšením výrobních a manipulačních ploch, prodlužováním průběžné doby výroby a snižováním odolnosti výroby proti změnám a poruchám. Cílem řešení problému výrobních dávek je určení výrobních dávek pro všechny výrobky tak, aby byla splněna vnější poptávka po těchto výrobcích a současně celkové náklady byly minimální. V minulosti bylo vypracováno mnoho modelů pro různé typy problémů výrobních dávek známých z průmyslové praxe. Tyto modely mohou být rozděleny podle: Plánovacího horizotu (konečný nebo nekonečný) Charakteru poptávky (stacionární nebo dynamická) Povahy dávek (časově invariantní nebo dynamické dávky) Počtu výrobků (jeden nebo více výrobků) Počtu omezených zdrojů (kapacitně neomezené nebo omezené) Počtu výrobních stupňů (jednostupňové nebo vícestupňové) Povahy montážního systému (sériová, montážní, distribuční nebo obecná) Plánovací horizont je určité časové období rozdělené na množství stejně dlouhých period, ve kterém se plánují nějaké činnosti. Tyto činnosti se plánují v závislosti na poptávce. Poptávka je buď konstantní v čase (stacionární), nebo variabilní v čase (dynamická). Nekonečný plánovací horizont je obvykle spojen se stacionární poptávkou a s časově invariantními výrobními dávkami, zatímco dynamické výrobní dávky s dynamickou poptávkou se plánují v horizontu konečném. Poptávka je předpokládaná spotřeba výrobků na konci časových period. Podle původu rozeznáváme nezávislou a závislou poptávku. Dále rozeznáváme modely se statickou a dynamickou poptávkou: Nezávislá poptávka na tuto poptávku nemá podnik v podstatě vliv. Jde většinou o poptávku zákazníků po konečných výrobcích Závislá poptávka odvozuje se z poptávky po konečném výrobku. Ze znalosti poptávky po konečném výrobku lze vypočítat čas a množství všech dílů a materiálu, které jsou nutné pro výrobu a montáž konečného výrobku Stacionární poptávka poptávka je konstantní v čase Dynamická poptávka poptávka je variabilní v čase Výrobně montážní strukturu si lze představit jako orientovanou síťovou strukturu. Výrobní struktura může být jednoúrovňová (single level), nebo víceúrovňová (multilevel). V případě jednoúrovňové struktury obsahuje síť pouze izolované uzly v paralelním vztahu. U víceúrovňové struktury je nejméně jedna dvojice uzlů spojena hranou. Uzly grafu

16 Strana 16 2 Optimalizace výrobních dávek představují jednotlivé koncové výrobky či polotovary nutné k sestavení koncového výrobku. Hrany jsou vztahy mezi výrobky. Hrana (i, j) z uzlu i do uzlu j existuje tehdy, pokud je výrobek i nutný k sestavení výrobku j (počet jednotek výrobku i požadovaný pro jednu jednotku výrobku j je ohodnocením této hrany). V literatuře bývá tato struktura značena jako BOM (Bill of material). Pokud jsou však uvažovány kapacitně omezené zdroje, je o výrobně/montážní struktuře nutno uvažovat v rovině prováděných operaci. Každé operaci je přiřazen určitý typ zdroje a graf pak podává informaci nejen o vstupně - výstupní (tzv. gozinto ) struktuře, ale také o prováděných operacích a požadovaných zdrojích. Víceúrovňové struktury dále rozlišujeme podle typu sítě na sériové, montážní, distribuční a obecné. Pro sériové struktury platí, že každý uzel má nejvýše jednu vstupní a nejvýše jednu výstupní hranu, zatímco obecná montážní struktura umožňuje, aby každý uzel měl více než jednu vstupní a jednu výstupní hranu. U čistě montážní (stromové struktury) má každý uzel (mimo uzlu * ) nejvýše jednu výstupní a jednu nebo více vstupních hran. Montážní a distribuční jsou pak speciálními případy obecné struktury (viz obr. 1). V MRP II (Manufacturing Ressource Planning) systémech jsou velikost dávek a výrobní rozvrh obvykle určeny ve třech fázích: nejprve jsou určeny dávky bez ohledu na kapacitní omezení. Vícestupňová výrobní struktura je do problému zahrnuta tak, že dávky jsou postupně vypočítány stupeň po stupni počínaje koncovými výrobky. Velikost dávek je poté přizpůsobena kapacitním omezením. Priorita mezi výrobky není v tomto okamžiku brána v potaz. Pořadí vykonávaných operací je určeno až nakonec. Tato strategie však vede k vysoké rozpracovanosti výroby (work-in-process) a dlouhým průběžným časům (lead time), což je důvodem pro hledání nových výhodnějších postupů pro nalezení řešení blízké optimálnímu. 2.1 Formulace problému Obr. 1. Výrobně montážní struktura Při integraci problému dávek a rozvrhování budeme vycházet z následujícího modelu, prezentovaného dříve např. v [2], [16]. Uvažujeme vícevýrobkový vícestupňový kapacitně

17 2 Optimalizace výrobních dávek Strana 17 omezený problém dynamických výrobních dávek (MLCLSP multi level capacitated lot sizing problem) charakterizovaný následujícími předpoklady: výrobní struktura je obecného typu (s více možnými koncovými výrobky), plánovací horizont je konečný s T časovými periodami, je dána dynamická pevná vnější poptávka po N výrobcích, je dáno více zdrojů s omezenou kapacitou, která musí být dodržena, nejsou povoleny skluzy při uspokojování poptávky, produkce výrobků je okamžitá, nehledě na vyráběné množství, výrobní, seřizovací a skladovací náklady jsou časově proměnné. Předpokládáme, že všechny uzly jsou očíslované tak, aby splňovaly podmínku i > j pro hranu (i, j). Zaveďme následující označení: N počet výrobků T počet časových period K... počet kapacitně omezených zdrojů d it vnější poptávka po výrobku i v periodě t S(i) množina bezprostředních následníků výrobku i (jestliže i je koncový výrobek, pak S(i) = Ø); r ij počet jednotek výrobku i potřebných k vyrobení jedné jednotky výrobku j s it seřizovací náklady výrobku i v periodě t c it jednotkové výrobní náklady výrobku i v periodě t h it jednotkové skladovací náklady výrobku i v periodě t b kt množství zdroje k dostupné v periodě t; f ikt pevné množství zdroje k nutné k výrobě 1 položky výrobku i v periodě t (např. seřizovací čas na stroji); v ikt... jednotkové množství zdroje k nutné k produkci jednotky výrobku i v periodě t. X it množství výrobku i vyrobené v periodě t (výrobní dávka) Y it binární proměnná označující, zda je dovolena produkce výrobku i v periodě t ( Y it =1 jestliže X it 0, Y it =0 v opačném případě) I it zásoba výrobku i v periodě t; (počáteční zásoba a I i0 konečná zásoba I it výrobku i jsou dány) M... velké kladné číslo Cílem řešení MLCLSP problému je určení výrobních dávek, které minimalizují sumu seřizovacích, výrobních a skladovacích nákladů výrobního systému. Minimalizovat Problém lze formulovat jako následující model smíšeně celočíselného programování: za podmínek: F {X,Y, I }= i =1 N T t =1 {s it Y it c it X it h it I it } (1) I i,t 1 X it I it =d it r ij X jt i=1,..., N t=1,...,t (2) j S i

18 Strana 18 2 Optimalizace výrobních dávek N f kit Y it v kit X it b kt i=1 k=1,..., K t=1,..., T (3) X it M Y it i=1,..., N t=1,...,t (4) I it, X it 0 i=1,..., N t=1,...,t (5) Y it 0,1 i=1,..., N t=1,...,t (6) Omezení (2) představují rovnice rovnováhy zásob. Podmínky (3) zabezpečují přípustnost z hlediska kapacit. Omezení (4) zajišťují, že seřizovací náklady s it jsou započítány pouze když X it je kladné. Podmínka nezápornosti zásob I it v (5) zabraňuje skluzu v uspokojování poptávky. Pro řešení MLCLSP problému se používají dva fundamentálně odlišné přístupy. Prvním je optimalizační přístup, který hledá optimální řešení, zatímco druhý heuristický přístup hledá dobrá řešení a empiricky testuje jejich kvalitu. 2.2 Přesné metody řešení Metoda větví a mezí je iterační metoda pro nalezení globálního extrému funkce f(x) na množině přípustných řešení M. Je založena na opakování dvou operací: Větvení množina M a později její vybraná podmnožina se rozkládají na dvě či více disjunktní podmnožiny (postup lze znázornit stromovým grafem) Omezování každou podmnožinu získanou předchozí operací určuje dolní (při minimalizaci), resp. horní (při maximalizaci) mez hodnot funkce f(x) na této podmnožině Pro další rozklad se volí podmnožina s nejnižší dolní, resp. nejvyšší horní mezí. Cílem je najít takové přípustné řešení, pro něž hodnota víceúčelové funkce není větší než dolní meze, resp. není menší než horní meze u všech dosud nerozložených podmnožin, neboť takové řešení je optimální. Dynamické programování Základy dynamického programování vypracoval v roce 1957 Bellman. Problém je rozdělen na několik stupňů a v každém stupni je potřeba učinit rozhodnutí, která mají vliv na rozhodnutí učiněná v dalších stupních. Na základě Bellmanova principu optimality je sestavena rekurzivní rovnice, která popisuje optimální hodnotu účelové funkce v daném stupni jako funkci hodnoty získané v předchozím stupni. 2.3 Heuristické metody řešení Klasické optimalizační metody (dynamické programování, metoda větví a mezí) mohou být aplikovány pouze na malou třídu problémů, které mají malou velikost nebo jednoduchou strukturu. Jednovýrobkový, jednoúrovňový, kapacitně neomezený problém s konstantní poptávkou je jednoduše optimálně řešitelný metodou EOQ (Economic Order Quantity), která počítá se spojitým časem a nekonečným plánovacím horizontem a nepočítá s kapacitními omezeními. Tato metoda byla použita např. v [9]. V případě, že poptávka není konstantního charakteru, se dá vhodně řešit metodou dynamického programování, mnoha výkonnými heuristickými procedurami, přřípadně algoritmem Wagner-Withinovým, který

19 2 Optimalizace výrobních dávek Strana 19 usiluje o minimalizaci proporcí nákladů objednávání a skladování za použití dynamického programování. Jde o výběr optimální strategie pokrytí požadavků každé výrobní periody při minimálních celkových nákladech. Přehled procedur řešících výrobní dávky je prezentován např. v [6]. Problém dávek se stává obtížně řešitelným v momentě, kdy jsou do modelu zahrnuta kapacitní omezení. Florian et al. [8] ukázali, že jednovýrobkový, kapacitně omezený problém výrobních dávek bez seřizovacích časů je NP těžký, z čehož plyne, že vícevýrobkový kapacitně omezený problém výrobních dávek je také NP těžký. Z předchozího vyplývá, že většinu praktických problémů je nutno řešit použitím heuristických metod. Heuristické metody byly často vyvíjeny na tělo daným specifickým problémům či typům problémů, s kterými jsou do značné míry provázány. Pak ovšem nelze takovou heuristiku řešící jeden typ problému nijak snadno použít k řešení problému jiného. Z tohoto důvodu je dnes nemalý zájem věnován technikám schopným řešit širší třídy problémů. Typickými zástupci těchto metod jsou genetické algoritmy (GA), simulované žíhání (SA), zakázané hledání (TS) a evoluční algoritmy. Katok et. al. [10] rozdělují heuristické procedury do čtyř tříd: Dekompoziční přístupy: Tyto přístupy ignorují víceúrovňovou strukturu MLCLSP a řeší posloupnost jednoúrovňových kapacitně omezených problémů. Procedury založené na Lagrangiánu: Tempelmeier a Derstroff používají Lagrangeovskou relaxaci podmínek rovnováhy zásob a kapacitních omezení a aktualizují Lagrangeovy multiplikátory pomocí subgradientové optimalizace s cílem určit dolní meze. Přípustná řešení jsou sestavena heuristickou konečnou rozvrhovaní procedurou, která posouvá produkci z přetížených period. Procedury založené na lineárním programování (LP): Tato skupina zahrnuje různé LP relaxace MLCLSP problému formulovaného jako úloha smíšeně celočíselného programování. Maes et. al. Představují tři heuristiky založené na LP pro řešení problémů se seřizovacími náklady bez seřizovacích časů. Harrison a Lewis uvažují problémy se seřizovacími časy bez seřizovacích nákladů v sériovém montážním systému. Stochastické metody lokálního hledání: Tato skupina zahrnuje simulované žíhání, zakázané hledání, genetické algoritmy a evoluční strategie. Özdamar a Birbil navrhují hybridní heuristiky pro kapacitně omezený problém výrobních dávek. Do GA integrují schéma lokálního hledání, které spojuje výhody TS a SA. Xie a Dong [11] navrhují genetický algoritmus pro obecné struktury s více možnými koncovými výrobky. Jejich metoda založená na genetickém algoritmu zajišťuje přípustnost jen z hlediska kapacit, zatímco nepřípustnost z hlediska zásob je penalizována. Dvořák a Král v [7] navrhli algoritmus zachovávající přípustnost z hlediska zásob, přičemž nepřípustnost z hlediska kapacit je snižována přesunem výroby dopředu nebo dozadu a zbývající přesahy kapacit jsou penalizovány.

20 Strana 20 2 Optimalizace výrobních dávek

21 Strana 21 3 ROZVRHOVÁNÍ VÝROBY Problematika rozvrhování výroby (scheduling problem) je velice složitý proces patřící do množiny složitých kombinatorických úloh. Tento problém je určen množinou strojů, množinou prací členěných do sledů jednotlivých operací a stanovením vztahů mezi stroji a operacemi. Následné řešení spočívá v nalezení nejlepších pořadí prací na zadaných strojích. V jednodušším případě každá práce pochází přes všechny stroje a pořadí strojů je u každé práce stejné (tzv. flow shop scheduling). Ve složitějším případě pořadí strojů může být pro jednotlivé práce různé a navíc práce nemusejí procházet přes všechny stroje (tzv. job shop scheduling). Při řešení mohou být sledovány různé cíle, jako např. minimalizace ztrát spojené s nesplněním prací v požadovaných termínech, minimalizace celkové doby zpracování, minimalizace prostojů, minimalizace rozpracované výroby apod. Je dána množina úloh nebo též prací (jobs) a množina m strojů či procesorů (machines). Je nutno vykonat všech n úloh, přičemž každá úloha se skládá z určitého, obecně nestejného počtu operací. Doby trvání těchto operací mohou být opět obecně různé, dokonce nulové. Pořadí operací pro každou úlohu je pevně dáno technologickým postupem a nelze je měnit. Na jednom stroji lze současně provádět pouze jednu operaci jedné úlohy a provádění operace nelze přerušit. Vykonání úlohy znamená tedy provedení všech jejích operací v daném pořadí na daných strojích. Přiřazení libovolných proveditelných pořadí operacím na všech strojích se nazývá rozvrh (schedule). Úkolem rozvrhování je optimalizovat rozvrh, tedy nalézt nejvhodnější pořadí úloh na dané množině strojů. Kritériem pro optimalizaci bývá nejčastěji čas dokončení všech úloh, tedy celková doba trvání výroby (makespan). 3.1 Rozvrhování typu flow-shop (rozvrhování proudové výroby) Problém flow-shop rozvrhování může být popsán následovně: Existuje množina m strojů a množina n prací. Všechny práce prochází stejné pořadí strojů, tzn., že práce je složena ze seznamu úkolů, kde i-tý úkol každé práce je určen stejným strojem, který potřebujeme k provedení daného úkolu, a časem provedení na daném stroji. Předpokládejme, že pořadí zpracování množiny prací J na m rozdílných strojích popsáno posloupností strojů P 1, P 2,, P m. Práce J j J je sestavena z úkolů T 1j,, T mj s procesními časy p ij pro všechny stroje P i, i = 1,, m. Existuje mnoho omezení týkajících se jak prací, tak i strojů. Základní omezení a pravidla je možno definovat následujícím způsobem: každá práce je složena z operací, které se provádějí na vzájemně různých strojích všechny práce provádějí své operace na strojích ve stejném pořadí strojů (stroje jsou řazeny sériově) operace jsou nepřerušitelné v každém okamžiku se na každém stroji může provádět nejvýše jedna operace, a tedy nejvýše jedna úloha mezi operacemi různých úloh nejsou žádné precedenční omezení Zatímco pořadí strojů všech prací je stejné, problém rozvrhování je nalézt pořadí prací, které minimalizuje maximum časů dokončení všech úkolů. Ve většině případů flow-shopu

22 Strana 22 3 Rozvrhování výroby se jedná o tzv. permutační flow-shop, kde každý stroj provádí práce ve stejném pořadí. Z toho vyplývá, že když je u permutačního flow-shopu stanoveno pořadí prací na prvním stroji, je potom použito i u ostatních strojů. V tomto permutačním problému rozvrhování proudové výroby je řešení reprezentováno pouze pořadím π všech úloh. Potom je každé řešení proveditelné. Výsledný rozvrh je pak nazýván permutačním rozvrhem. Cílem se stává nalezení takového rozvrhu π, u kterého je hodnota účelové funkce optimální. Nejčastěji se jako kritérium používá makespan C max, který je možno definovat jako termín dokončení poslední úlohy. 3.2 Rozvrhování typu job-shop (rozvrhování zakázkové výroby) Problém job-shop rozvrhování může být pospán následovně: Existuje množina m strojů a množina n prací. Každá práce má specifikováno procesní pořadí strojů, tzn., že práce je složena ze seznamu jednotlivých úkolů, které jsou určeny požadavkem na stroj a na procesním časem na něj. Operace a stroje musí splnit několik následujících omezení: každé operaci přísluší jediné pracoviště, na němž se může operace provádět každá operace musí být na daném stroji zpracována v nepřerušeném časovém úseku dané délky v každém okamžiku se na každém stroji může provádět nejvýše jedna operace po sobě jdoucí operace patřící k téže úloze jsou prováděny na různých pracovištích mezi operacemi různých prací nejsou žádné precedenční omezení Nechť je použito následující označení: n počet prací (finálních výrobků, koncových položek) N celkový počet operací (výrobních položek); koncové položky mají čísla 1,, n B(i) množina bezprostředních předchůdců operace (položky) i m počet strojů (skupin strojů) O(k) množina operací přiřazených stroji k p j doba provádění operace j na výrobní dávce příslušného výrobku z j nejdříve možný termín zahájení operace j M velké kladné číslo (horní mez celkové doby trvání všech prací) celková doba trvání všech prací (čas dokončení poslední práce) C max x jl proměnná popisující precedenční vztah mezi operacemi j, l O(k): 1 operace j se provede před operací l 0 operace l se provede před operací j Problém optimalizace výrobního rozvrhu pak lze matematicky formulovat takto: Minimalizovat C max (7) za podmínek : C max z i p i, i = 1,, n (8)

23 3 Rozvrhování výroby Strana 23 z j z i p i, j = 1,, N; i B j (9) z l z j p j x jl M 1 x jl, k = 1,, m; j,l O k (10) z j z l p l 1 x jl M x jl, k = 1,, m; j,l O k (11) x jl {0,1}, k = 1,, m; j,l O k (12) C max 0, z j 0, j = 1,, N (13) Podmínka (9) zajišťuje, že operace na každé práci se provádějí v předem určeném pořadí. Omezení (10)-(12) určují, že v určitém čase může být na jednom stroji pouze jedna operace. Jakékoliv přípustné řešení vyhovující podmínkám (8)-(13) je proveditelné a nazývá se rozvrh. Při rozvrhování ve skutečné výrobě se mohou sledovat i jiné cíle, např. minimalizace ztrát spojených s nesplněným prací v požadovaných termínech, minimalizace prostojů, atd. 3.3 Metody řešení Problém rozvrhování patří mezi obecně mezi NP-úplné problémy, což znamená, že přesné optimalizační metody jsou prakticky použitelné pouze pro úlohy omezeného rozsahu. Rozsáhlejší problémy je nutno řešit heuristickými metodami, které sice nezaručují nalezení optimálního řešení ani nedokážou stanovit, jak blízko se k optimu určité přípustné řešení nachází, ale jsou schopny v přiměřené době poskytnout uspokojivé řešení. Speciální kapitolou heuristických algoritmů jsou evoluční algoritmy. Tyto algoritmy jsou založeny na myšlence simulace některých v přírodě se vyskytujících procesů. Mezi nevýhody těchto algoritmů patří pravděpodobnostní charakter výsledků. Z toho vyplývá, že po každém spuštění se může dojít k jinému výsledku. Mezi základní a nejznámější evoluční algoritmy v současné době patří: Genetický algoritmus (Genetic algorithm) Simulované žíhání (Simulated annealing) Zakázané hledání (Tabu search)

24 Strana 24 3 Rozvrhování výroby

25 Strana 25 4 HEURISTICKÉ METODY Slovo heuristika je odvozeno od řeckého slova heuriskein, což znamená nalézt, nebo objevit. Heuristické metody jsou metody pro hledání dobrých řešení (tj. řešení blízkých optimálnímu) pomocí intuitivních přístupů a při rozumných výpočetních nákladech. Obecně heuristická metoda nemůže zaručit nalezení globálního optima a obvykle ani stanovit, jak blízko je nalezené řešení od optimálního. Heuristické metody se používají pro řešení úloh s velkým rozměrem nebo složitou strukturou, u nichž by výpočet pomocí exaktních metod byl časově velmi náročný. Nejjednodušší (ale nejméně efektivní) heuristickou metodou je tzv. metoda lokálního hledání (local search method). Je to vlastně gradientová metoda bez gradientu, kdy se směr nejprudšího spádu určí kompletním prohledáním sousedství. Tento algoritmus trpí základní nectností gradientových metod, tj. že nejspíše skončí v některém lokálním optimu. Tomuto algoritmu se nebudu věnovat podrobně, spíše se zaměřím na nejčastěji používané metody. 4.1 Horolezecký algoritmus (Hill climbing) Horolezecký algoritmus patří do skupiny algoritmů, ve kterých jsou dovoleny i kroky směřující ke zhoršení aktuálního řešení. Podobně jako v metodě lokálního hledání v každém kroku vybíráme nejlepší řešení ze sousedních řešení. Rozdíl je v tom, že podmínkou ukončení algoritmu není nalezení zlepšujícího řešení mezi sousedními řešeními, ale provedení určitého počtu iterací. V průběhu celé historie algoritmu zaznamenáváme nejlepší dosažené řešení, které slouží jako výsledné optimální řešení. Základní nevýhodou horolezeckého algoritmu je, že se po určitém počtu iteračních kroků vrací k lokálně optimálnímu řešení, které se již vyskytlo v některém předcházejícím kroku (problém zacyklení). Tento problém se částečně řeší tak, že se algoritmus spustí několikrát z různých náhodně vygenerovaných počátečních řešení a za výsledek se bere nejlepší z několika průběhů. Možnou modifikací horolezeckého algoritmu je, že v každé iteraci nebudeme generovat všechna sousední řešení aktuálního řešení, ale například pouze jejich náhodně zvolenou část. Princip horolezeckého algoritmu: 1. Zvolíme náhodně počáteční přípustné řešení 2. Pro aktuální řešení vygenerujeme všechna sousední řešení a vypočteme pro ně hodnoty účelové funkce 3. Ze sousedních řešení vybereme takové, která má nejnižší hodnotu účelové funkce a zvolíme ho jako nové aktuální řešení 4. Dokud není proveden předepsaný počet iterací pokračujeme bodem 2 Horolezecký algoritmus jsem zde uvedl z toho důvodu, protože z něj vychází simulované žíhání, které jsem implementoval v programové realizaci této práce. 4.2 Simulované žíhání (Simulated annealing) Základy této metody byly poprvé publikovány již v roce 1953 v algoritmu, který simuloval chladnutí materiálu v horké lázni. V roce 1980 Kirkpatrick navrhl, že by tento typ simulace mohl být použit ke hledání přípustných řešení optimalizačního problému s cílem zajistit konvergenci k optimálnímu řešení. Simulované žíhání je variantou horolezeckého algoritmu, v němž heuristické kroky směřující k horšímu řešení jsou vždy řízeny určitou pravděpodobností. Přístup simulovaného

26 Strana 26 4 Heuristické metody žíhání je založen na simulování fyzikálních procesů probíhajících při odstraňování defektů krystalické mřížky. Krystal se zahřeje na určitou (vysokou) teplotu a potom se pomalu ochlazuje (žíhá). Defekty krystalické mřížky mají při vysoké teplotě vysokou pravděpodobnost zániku. Pomalé ochlazování systému zabezpečí, že pravděpodobnost vzniku nových defektů klesá. Pří žíhání se soustava snaží dostat do takového stavu, ve kterém je její energie minimální tj. krystal bez defektů. Existuje určitá analogie tohoto přírodního procesu s procesem řešení optimalizačních problémů. Metoda simulovaného žíhání simuluje změny energie systému, dokud není dosaženo ustáleného stavu. V průběhu výpočtu jsou dovoleny i kroky směřující k horšímu řešení. Frekvence těchto kroků je řízena pravděpodobnostní funkcí, která vyjadřuje zákony termodynamiky, podle nichž je při teplotě t pravděpodobnost růstu energie o δe dána vztahem: P E =exp E, (14) kt kde E je energie [J], t je teplota [K], a k je Boltzmanova konstanta [1, J.K -1 ]. V Metropolisově algoritmu se při změně stavu systému vypočítá odpovídající změna energie. Jestliže dojde k poklesu energie, systém přejde do nového stavu. Jestliže dojde k vzrůstu energie, systém přejde do nového stavu s jistou pravděpodobností danou vzorcem (14). V literatuře je popsána podrobná teorie simulovaného žíhání. Byly dokonce dokázány existenční teorémy, za jakých podmínek simulované žíhání poskytuje globální minimum funkce ƒ(x) v definičním oboru x. Často se používá rozšíření simulovaného žíhání směrem ke genetickému algoritmu. Místo jednoho řešení se současně optimalizuje simulovaným žíháním malá populace řešení, které si vždy po určitém počtu kroků s malou pravděpodobností vymění informaci operací totožnou křížením z genetického algoritmu. Generická rozhodnutí se týkají volby parametrů algoritmu. Jedná se o počáteční teplotu, počáteční počet opakování, pravidla pro snižování teploty (funkce α), funkci γ, která slouží k ke změně počtu opakování, a podmínku zastavení výpočtu. Ke snižování teploty se často používá fce. t =at (15) kde 0 < a < 1. Nejčastěji se používají a hodnoty (0,8 0,99). Délka vnitřního cyklu se může zvětšovat geometricky (16) nebo aritmeticky (17). n =bn, b 1 (16) n =n c, c 0 (17) Tato generická rozhodnutí se používají z důvodu, že pokud se blížíme nějaké optimální hodnotě, tak je potřeba prohledávat větší okolí dosud nejlepšího nalezeného řešení. Princip simulovaného žíhání: 1. Zvolíme si podmínku ukončení a počáteční počet opakování n 2. Náhodně vygenerujeme počáteční přípustné řešení problému x 0 a položíme x min = x 0 3. Pokud není splněna podmínka pro ukončení cyklu, provádíme kroky 3.1 až Opakujeme kroky až dokud není počet opakování roven n Náhodně vybereme sousední řešení x Položíme δ = f(x 1 ) f(x 0 ) Jestliže δ < 0 provedeme krok , jinak provedeme krok Položíme x 0 = x Náhodně vygenerujeme hodnotu r z intervalu <0, 1>. Jestliže

27 4 Heuristické metody Strana 27 r < exp(-δ/t), položíme x 0 = x Je-li f(x 1 ) < f(x min ), pak položíme x min = x Dosavadní hodnotu t nahradíme hodnotou α(t) 3.3 Dosavadní hodnotu n nahradíme hodnotou γ(n) 4. Řešení x min je aproximací optimálního řešení 4.3 Zakázané hledání (Tabu search) Metodu zakázaného hledání navrhnul koncem 80. let Glover jako zobecnění horolezeckého algoritmu k řešení optimalizačních úloh z operačního výzkumu. Základem metody je hledání nejlepšího souseda ze sousedství jednotlivých řešení. Zakázané hledání vychází z horolezeckého algoritmu, kde se pro dané aktuální řešení generuje pomocí konečné množiny transformací množina sousedů. V průběhu algoritmu se zaznamenává nejlepší řešení, které slouží jako výsledné optimální řešení. Nevýhodou tohoto algoritmu je, že se po určitém daném počtu iteračních kroků vrací k lokálnímu řešení, které se již vyskytlo v předchozích krocích. Tento nedostatek Glover vyřešil zavedením tzv. krátkodobé a dlouhodobé paměti. Krátkodobá paměť (tabu list) obsahuje inverzní transformace k použitým transformacím v předcházejících iteracích. Jestliže je transformace obsažena v tabu listu, potom se nemůže použít k sestrojení okolí aktuálního řešení. Při inicializaci algoritmu je tabu list prázdný, po každé iteraci se do něj dodá transformace, která poskytla lokální optimální řešení. Po naplnění tabu listu se v každé iteraci provede aktualizace tabu listu (délka zákazu u všech pohybů se sníží o jedna). Důležitým parametrem je délka tabu listu. Jestliže je velikost malá, pak může dojít k zacyklení. Jestliže je délka příliš velká, pak s velkou pravděpodobností vynecháme lokální minima, která by mohla být globálními minimy. Proces hledání lze významně zdokonalit použitím tzv. aspiračních kritérií. Aspirační kritérium je podmínka, která za určitých okolností dovoluje ignorování tabu omezení (např. zakázaný pohyb vede k řešení, které je lepší než všechna dosud dosažená řešení). Dlouhodobá paměť pracuje tak, že znevýhodňuje (penalizuje) ty transformace, které sice nejsou obsaženy v tabu listu, ale často se vyskytovaly v předcházející historii algoritmu. Rozlišujeme dva procesy, intenzifikaci a diverzifikaci. Intenzifikační strategie se při hledání řešení zaměřují na podporu dobrých atributů. Diversifikační strategie namísto toho generují řešení zahrnující atributy významně odlišné od těch, které se vyskytly v procesu dosavadního hledání. Existují dvě metody výběru sousedů: Metoda nejstrmějšího spádu prohledává se množina sousedů aktuálního řešení a vybírá se to řešení, které nejvíce snižuje hodnotu účelové funkce Metoda náhodného spádu v náhodném pořadí se prohledávají sousedé aktuálního řešení a vybírá se první řešení s nižší hodnotou účelové funkce Technika zakázaného prohledávání může být použita jak v klasickém spojení s horolezeckým algoritmem, tak i v kombinaci s jinými algoritmy. U ostatních metod však není natolik efektivní, neboť tyto metody neprohledávají celé sousedství aktuálního řešení a pravděpodobnost zapůsobení zakázaného seznamu je tedy dost malá. Princip zakázaného hledání: 1. Zvolíme délku tabu listu a počet iterací 2. Vygenerujeme počáteční přípustné řešení problému x 0 a položíme x min = x 0 3. Pokud není splněna podmínka pro ukončení, tak provádíme kroky 3.1 až Vygenerujeme množinu přípustných sousedů N(x 0 ) nepatřící do tabu listu 3.2 Vybereme x * N x 0 takové, že f x * =min f x, x S x Položíme x 0 = x *

28 Strana 28 4 Heuristické metody 3.4. Je-li f(x * ) < f(x min ), pak položíme x min = x * 3.5. Aktualizujeme tabu list a zvýšíme počet iterací o jednu 4. Bod x min je aproximací optimálního řešení 4.4 Genetické algoritmy (Genetic algorithms) Genetické algoritmy jsou inspirovány Darwinovými zákony přirozeného výběru. V evolučním vývoji nebo při šlechtění rostlin či živočichů se prosazují jedinci, kteří mají jisté žádoucí charakteristiky, které jsou na genetické úrovni determinovány kombinací rodičovských chromozomů. U zrodu genetických algoritmů stála myšlenka, že při hledání lepších řešení složitých problémů by bylo možno obdobným způsobem kombinovat části existujících řešení. Ačkoli genetické algoritmy nemají již prakticky s biologií nic společného, udržují si biologickou terminologii. Evolucí jsou míněny postupné změny proměnných vedoucí k nalezené extrému funkce. Soubor proměnných vstupních veličin funkce tvoří jedince (někdy je formálně jedinec nazýván chromozómem). Není zde však důležitý samotný jedinec, jako postupný vývoj, kooperace a fungování populace soubor jedinců. Neúspěšní jedinci vymírají, úspěšní přežívají a množí se. Při aplikaci genetických algoritmů na problémy operačního výzkumu každý jedinec v algoritmu nějakým způsobem kóduje jedno řešení x problému. V případě rozvrhování výroby bude jedince, zřejmě jeden přípustný rozvrh. Hodnota zdatnosti (fitness) jedince odpovídá hodnotě účelové funkce ƒ(x) v tomto řešení. Pro manipulace s chromozómy se používají genetické operátory selekce (selection), křížení (crossover) a mutace (mutation). Při selekci se jedná o výběr jedinců z celkové populace, kteří se stanou rodiči. Důležitým hlediskem, jenž se přímo či nepřímo uplatňuje při výběru alespoň jednoho z rodičů, je právě jeho zdatnost. Hybnou silou změn jsou křížení (výměna genetické informace mezi jedinci) a mutace (velmi málo pravděpodobné provedení náhodné změny chromozómu, zabraňující zdegenerování populace). Genetické algoritmy pracují tím způsobem, že se nejprve vytvoří počáteční populace o velikosti p jedinců a pak se tato populace mění pomocí genetických operátorů tak dlouho, dokud není splněna nějaká podmínka ukončení. Počáteční populace se většinou získá náhodným generováním. Byly provedeny také pokusy nasadit do počáteční populace kvalitní řešení, získaná jinými heuristickými metodami, ale při tomto způsobu se ukázalo nebezpečí předčasné konvergence do nějakého ještě ne dost dobrého lokálního optima. Pokud jde o velikost p populace, je jasné, že příliš malá populace může zavinit špatné pokrytí prostoru řešení, zatímco velká populace zvyšuje výpočetní náročnost. Zkušenosti ukazují, že pro většinu problémů je dostačující populace o velikosti 50 až 200 jedinců. Selekcí je třeba z populace vybrat zdatné jedince (s dobrou hodnotou fitness), kteří se potom stanou rodiči. Rodiče se vybírají pseudonáhodně. Zdatnější jedinci mají větší šanci být vybráni než méně zdatní jedinci. Čím je jedinec zdatnější (čím má větší hodnotu fitness), tím je pravděpodobnost jeho výběru ke křížení větší. Pokud se výběr uskutečňuje v souladu s rozdělením pravděpodobnosti, počítané jako podíl hodnoty fitness chromozómu k celkové hodnotě fitness populace, označujeme tento způsob výběru jako ruleta. Jiným způsobem selekce je například soutěžení (tournament). Soutěže se účastní část populace a její vítěz, nejzdatnější účastník soutěže, se pak stane rodičem. Křížení se pro vybranou skupinu rodičovských chromozómů může uskutečňovat několika způsoby. Například pro případ, kdy je jedinec reprezentován sekvencí čísel úloh, představuje nejjednodušší přístup tzv. jednobodové křížení, při němž se zvolí náhodně nějaký bod, dělící oba rodičovské chromozómy na dvě části. Jeden potomek pak zdědí levou část

29 4 Heuristické metody Strana 29 z prvního rodiče a na zbývající pozice se mu doplní chybějící prvky v tom pořadí, v jakém se vyskytují ve druhém rodiči, druhý potomek vznikne analogicky s obráceným pořadím rodičů. Mutace je v obecnosti malá náhodná změna jedné, či několika proměnných (prvků chromozómu), která ovlivní řešení, ať už kladně nebo záporně. Pravděpodobnost uskutečnění mutace je nízká (obvykle menší než 1%). Mutace je nutná k tomu, aby se zamezilo přílišné specializaci zapadnutí celé populace do jednoho lokálního minima, aby vždy byla možnost vytvoření zásadně nových chromozómů odpovídajících lepšímu řešení. Mutace přinášejí do chromozómů novou genetickou informaci. Pro mutaci mohou být použity stejné operátory, jakými lze generovat sousední řešení v předchozích popsaných metodách. Jednou z možností změny p-členné populace je vygenerovat pomocí křížení a mutace novou generaci p potomků a nahradit jí rodičovskou generaci en bloc. Jiné způsoby umožňují nějaké překrývání populace rodičů a potomků a populaci tedy mění inkrementálně. Např. vygenerovaný potomek nahrazuje pseudonáhodně vybraného slabého příslušníka aktuální populace. Princip genetických algoritmů: 1. Zvolíme velikost populace, počet generací, pravděpodobnost křížení a mutace 2. Náhodně si vygenerujeme počáteční generaci 3. Pokud byla splněna ukončující podmínka tak skončíme výpočet a vypíšeme řešení 4. Opakujeme následující kroky, dokud není vytvořen požadovaný počet potomků 4.1. Pomocí selekce vybereme vhodné rodiče 4.2. Provedeme křížení rodičů a vytvoříme tak potomky 4.3. Provedeme mutaci potomků 5. Vytvoříme novou populaci a přejdeme zpátky na krok 3.

30 Strana 30 4 Heuristické metody

31 Strana 31 5 REPREZENTACE DAT Pod pojmem reprezentace dat (kódování) v oblasti job shop rozvrhování rozumíme vytvoření určitého způsobu zápisu posloupností operací na strojích do seznamu, který nám umožní provádění výpočtu na počítačích, nalezení co nejlepšího řešení v co nejkratším čase. Dále je třeba posuzovat navržené kódování z hlediska paměťových nároků a složitosti algoritmů, protože i když je dnes výpočetní technika na vysoké úrovni, heuristické výpočty patří neustálým opakováním stejných operací k jedněm z nejvíce náročných algoritmů na velikost paměti. Na zvoleném způsobu reprezentace dat záleží, které varianty se budou při heuristickém prohledávání zkoumat. Například pomocí kódování založeného na operacích vytváříme pouze takové kódy, které z hlediska uspořádání jednotlivých operací za sebou v jednotlivých pracích vytváří vždy správné rozvrhy. Otázkou ovšem zůstává, jestli tím, že vynecháme řešení, která jsou nesmyslná, zároveň neztratíme cestu k řešením, která by pro nás byla výhodná. Tyto a mnoho dalších úvah musí vzít programátor vytvářející program pro job shop rozvrhování vzít v potaz. Při převádění zadání do seznamu musíme mít na zřeteli tři zásadní otázky kódování: proveditelnost seznamu legálnost řešení jedinečnost seznamu Proveditelností rozumíme otázku, zda výsledné řešení dekódované ze seznamu leží v oblasti daného problému. Další otázkou je legálnost výsledku, a to z hlediska zejména pořadí jednotlivých operací na výrobcích apod. Poslední je jedinečnost námi vytvořeného seznamu, který musí odpovídat jedinečnému rozvrhu. 5.1 Způsoby reprezentace dat pro job shop rozvrhování V průběhu let bylo navrženo několik způsobů reprezentace dat problému rozvrhování zakázkové výroby. Z nich uveďme alespoň ty základní: reprezentace založená na úlohách (job-based representation) reprezentace založená na operacích (operation-based representation) reprezentace preferenčním seznamem (preference-list-based representation) reprezentace disjunktivním grafem (disjunctive graph-based representation) reprezentace založená na strojích (machine-based representation) reprezentace pomocí náhodných klíčů (random keys representation) Tyto reprezentace se moho rozdělit podle přístupu na reprezentace s přímým přístupem rozvrh je zakódován do seznamu jednotlivých operací a heuristické metody vytváří přesně definovaná sousedství, kde probíhá vlastní hledání. Může to být např. reprezentace založná na operacích, reprezentace založená na pracích,... reprezentace s nepřímým přístupem místo rozvrhů se kódují sekvence pravidel, podle kterých následně uspořádáme operace. Cílem se tedy stává nalezení co nejlepší sekvence pravidel. Do této skupiny patří reprezentace preferenčním seznamem, reprezentace disjunktivním grafem a reprezentace založená na strojích. Nejvýhodnější reprezentací z hlediska použití při vytváření programu u heuristických metod se jeví reprezentace pomocí disjunktivního grafu, která je studována např. v [12].

32 Strana 32 5 Reprezentace dat Srovnání reprezentací bylo provedeno např. v [3], kde jednoznačně lepší způsob byl u reprezentace pomocí disjunktivního grafu, která byla efektivnější i rychlejší než reprezentace pomocí preferenčního seznamu. 5.2 Disjunktivní graf Klasický disjunktivní graf G je definován množinou uzlů V, množinou konjunktivních hran C a množinou disjunktivních hran D, G= V,C D. Uzly reprezentují operace všech úloh, tedy výrobky, respektive položky výrobků. Množina uzlů V obsahuje navíc dva speciální uzly, počáteční 0 (nula) a koncový uzel * (hvězdička). Tyto speciální uzly jsou ohodnoceny nulami, ostatní uzly jsou ohodnoceny dobami trvání odpovídajících operací. Orientované konjunktivní hrany vyjadřují zadané pořadí operací v rámci jednotlivý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 *. Disjunktivní hrany spojují operace, které musejí být provedeny na stejném stroji. Na začátku algoritmu jsou disjunktivní hrany neorientované. Příklad reprezentace problému disjunktivním grafem představuje obrázek 2. Obr. 2 Disjunktivní graf Stanovit výrobní rozvrh znamená rozhodnout o pořadí operací na jednotlivých strojích, tedy stanovit orientaci disjunktivních hran. Množina S všech orientovaných disjunktivní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 acyklický. V tom případě se S nazývá acyklická úplná selekce. Příkladem rozvrhu pro problém znázorněný disjunktivním grafem na obrázku 2 může být ={ 4,1,7, 6,2, 5,3,8 }, kde jednotlivé seznamy operací v kulatých závorkách představují pořadí operací na jednotlivých strojích. Celková doba zpracování všech úloh (makespan) je pak dána délkou nejdelší cesty z počátečního uzlu do koncového uzlu grafu. Tuto cestu nazýváme kritickou cestou. Máme-li vytvořen acyklický orientovaný graf, můžeme pomocí algoritmu nalezení kritické cesty CPM (critical path method) určit nejdříve možné časy dokončení operací. Než k tomu přistoupíme, můžeme ještě graf zjednodušit. Protože libovolná operace má na stejném stroji nejvýše jednu bezprostředně předcházející operaci a nejvýše jednu bezprostředně následující operaci, můžeme z grafu vypustit ty disjunktivní hrany, které nespojují uzly odpovídající bezprostředně po sobě následujícím operacím na stejném stroji. Ve zjednodušeném grafu bude každý uzel, s výjimkou uzlů 0 a *, mít nejvýše dva

33 5 Reprezentace dat Strana 33 bezprostřední následníky a nejvýše dva bezprostřední předchůdce (viz obr. 3). Obr. 3 Zjednodušený orientovaný disjunktivní graf 5.3 Montážní a distribuční operace Častým požadavkem při výrobě i méně složitých výrobků je potřeba kompletovat celek z více částí. S těmito celky také často provádíme další montážní operace, než vznikne konečný výrobek. Obrácenou operací montáže je operace typu distribuce (výsledky této operace se distribuují na několik bezprostředně navazujících operací). Například polotovar dělíme na více částí a z každé části vyrábíme jinou součást stejného nebo jiného výrobku. Disjunktivní graf lze snadno rozšířit o distribuční a montážní operace. V klasické podobě disjunktivní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ími operacemi lze jednoduše modelovat takovým způsobem, že připustíme, aby uzel reprezentující montážní operaci (obrázek 4b) měl více předchůdců, spojených s tímto uzlem konjunktivními hranami. Obdobně z uzlu reprezentujícího distribuční operaci (obrázek 4a) bude moci vystupovat více konjunktivních hran k uzlům reprezentujícím následující operace. Obr. 4 a) distribuční operace, b) montážní operace Ukázku grafu G 0 V,C rozšířeného tímto způsobem můžeme vidět na obrázku 5. Operace 1 a 13 jsou distribuční a operace 10 a 16 jsou montážní.

34 Strana 34 5 Reprezentace dat Obr. 5 Rozšíření disjunktivního grafu o distribuční a montážní operace 5.4 Časy přípravy, dopravní a technologické časy Obvykle se u klasického modelu rozvrhování počítá pouze s jedním výrobním časem operace (process time). Ale v praxi je doba výroby jedné operace dána více časy, které se musí také započítávat: čas přípravy, dopravní čas a technologický čas. Čas přípravy (setup time) je doba, která je nutná např. k seřízení stroje, namíchání barvy apod. Je to doba přípravy stroje, kdy ještě není bezpodmínečně nutné, aby byla dokončena předchozí operace na stejné úloze na jiném stroji. Musí se brát ale ohled na to, jestli se jedná o čas přípravy nezávislý na pořadí operací a čas přípravy závislý na pořadí operací. Dopravní čas (transport time) je doba potřebná k dopravě výrobku na další pracoviště. Technologický čas (technologic time) označuje dobu, po kterou musí výrobek ještě zůstat na pracovišti po skončení výroby, než může být přesunut na další stanoviště, může to být např. doba nutná k zaschnutí laku, odkapání oleje apod. Samotný stroj však už může být použit pro další výrobu. Dopravní a technologický čas mají na počáteční čas další operace stejný vliv, proto mohou být nahrazeny jednou hodnotou. Časy přípravy, výrobní, dopravní a technologické mohou být reprezentovány pomocí ohodnocení uzlů a hran v disjunktivním grafu.

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

Operační výzkum. Síťová analýza. Metoda CPM. Operační výzkum Síťová analýza. Metoda CPM. Operační program Vzdělávání pro konkurenceschopnost Název projektu: Inovace magisterského studijního programu Fakulty ekonomiky a managementu Registrační číslo

Více

Metody síťové analýzy

Metody síťové analýzy Metody síťové analýzy Řeší problematiku složitých systémů, zejména pak vazby mezi jejich jednotlivými prvky. Vychází z teorie grafů. Základní metody síťové analýzy: CPM (Critical Path Method) deterministický

Více

Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma

Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění Jan Klíma Obsah Motivace & cíle práce Evoluční algoritmy Náhradní modelování Stromové regresní metody Implementace a výsledky

Více

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

Rozvrhování výroby. František Koblasa Technická univerzita v Liberci. TU v Liberci Tento materiál vznikl jako součást projektu EduCom, který je spolufinancován Evropským sociálním fondem a státním rozpočtem ČR. Rozvrhování výroby Technická univerzita v Liberci INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Více

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

Informační systémy plánování výroby - pokročilé rozvrhování Tento materiál vznikl jako součást projektu EduCom, který je spolufinancován Evropským sociálním fondem a státním rozpočtem ČR. Informační systémy plánování výroby - pokročilé rozvrhování Technická univerzita

Více

Příklady ke cvičením. Modelování produkčních a logistických systémů

Příklady ke cvičením. Modelování produkčních a logistických systémů Modelování produkčních a logistických systémů Katedra logistiky, kvality a automobilové techniky Garant, přednášející, cvičící: Jan Fábry 10.12.2018 Příklady ke cvičením Opakování lineárního programování

Více

Evoluční výpočetní techniky (EVT)

Evoluční výpočetní techniky (EVT) Evoluční výpočetní techniky (EVT) - Nacházejí svoji inspiraci v přírodních vývojových procesech - Stejně jako přírodní jevy mají silnou náhodnou složku, která nezanedbatelným způsobem ovlivňuje jejich

Více

Jak se matematika poučila v biologii

Jak se matematika poučila v biologii Jak se matematika poučila v biologii René Kalus IT4Innovations, VŠB TUO Role matematiky v (nejen) přírodních vědách Matematika inspirující a sloužící jazyk pro komunikaci s přírodou V 4 3 r 3 Matematika

Více

PŘEDNÁŠKA 03 OPTIMALIZAČNÍ METODY Optimization methods

PŘEDNÁŠKA 03 OPTIMALIZAČNÍ METODY Optimization methods CW057 Logistika (R) PŘEDNÁŠKA 03 Optimization methods Ing. Václav Venkrbec skupina obecných modelů slouží k nalezení nejlepšího řešení problémů a modelovaných reálií přináší řešení: prvky konečné / nekonečné

Více

OPTIMALIZAČNÍ ÚLOHY. Modelový příklad problém obchodního cestujícího:

OPTIMALIZAČNÍ ÚLOHY. Modelový příklad problém obchodního cestujícího: OPTIMALIZAČNÍ ÚLOHY Problém optimalizace v různých oblastech: - minimalizace času, materiálu, - maximalizace výkonu, zisku, - optimalizace umístění komponent, propojení,... Modelový příklad problém obchodního

Více

Modely teorie grafů, min.kostra, max.tok, CPM, MPM, PERT

Modely teorie grafů, min.kostra, max.tok, CPM, MPM, PERT PEF ČZU Modely teorie grafů, min.kostra, max.tok, CPM, MPM, PERT Okruhy SZB č. 5 Zdroje: Demel, J., Operační výzkum Jablonský J., Operační výzkum Šubrt, T., Langrová, P., Projektové řízení I. a různá internetová

Více

Základy umělé inteligence

Základy umělé inteligence Základy umělé inteligence Automatické řešení úloh Základy umělé inteligence - prohledávání. Vlasta Radová, ZČU, katedra kybernetiky 1 Formalizace úlohy UI chápe řešení úloh jako proces hledání řešení v

Více

Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D.

Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D. Algoritmizace diskrétních simulačních modelů Ing. Michal Dorda, Ph.D. 1 Úvodní poznámky Při programování simulačních modelů lze hlavní dílčí problémy shrnout do následujících bodů: 1) Zachycení statických

Více

MODELY ŘÍZENÍ ZÁSOB nákladově orientované modely poptávka pořizovací lhůta dodávky předstih objednávky deterministické stochastické

MODELY ŘÍZENÍ ZÁSOB nákladově orientované modely poptávka pořizovací lhůta dodávky předstih objednávky deterministické stochastické MODELY ŘÍZENÍ ZÁSOB Význam zásob spočívá především v tom, že - vyrovnávají časový nebo prostorový nesoulad mezi výrobou a spotřebou - zajišťují plynulou výrobu nebo plynulé dodávky zboží i při nepředvídaných

Více

Numerické metody a programování. Lekce 8

Numerické metody a programování. Lekce 8 Numerické metody a programování Lekce 8 Optimalizace hledáme bod x, ve kterém funkce jedné nebo více proměnných f x má minimum (maximum) maximalizace f x je totéž jako minimalizace f x Minimum funkce lokální:

Více

4EK213 Lineární modely. 10. Celočíselné programování

4EK213 Lineární modely. 10. Celočíselné programování 4EK213 Lineární modely 10. Celočíselné programování 10.1 Matematický model úlohy ILP Nalézt extrém účelové funkce z = c 1 x 1 + c 2 x 2 + + c n x n na soustavě vlastních omezení a 11 x 1 + a 12 x 2 + a

Více

SÍŤOVÁ ANALÝZA. Kristýna Slabá, kslaba@students.zcu.cz. 1. července 2010

SÍŤOVÁ ANALÝZA. Kristýna Slabá, kslaba@students.zcu.cz. 1. července 2010 SÍŤOVÁ ANALÝZA Kristýna Slabá, kslaba@students.zcu.cz 1. července 2010 Obsah 1 Úvod do síťové analýzy Hlavní metody síťové analýzy a jejich charakteristika Metoda CPM Metoda PERT Nákladová analýza Metoda

Více

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

Řízení projektů. Konstrukce síťového grafu pro řízení projektů Metoda CPM Metoda PERT Řízení projektů Konstrukce síťového grafu pro řízení projektů Metoda CPM Metoda PERT 1 Úvod základní pojmy Projekt souhrn činností, které musí být všechny realizovány, aby byl projekt dokončen Činnost

Více

Evoluční algoritmy. Podmínka zastavení počet iterací kvalita nejlepšího jedince v populaci změna kvality nejlepšího jedince mezi iteracemi

Evoluční algoritmy. Podmínka zastavení počet iterací kvalita nejlepšího jedince v populaci změna kvality nejlepšího jedince mezi iteracemi Evoluční algoritmy Použítí evoluční principů, založených na metodách optimalizace funkcí a umělé inteligenci, pro hledání řešení nějaké úlohy. Populace množina jedinců, potenciálních řešení Fitness function

Více

Seminář z umělé inteligence. Otakar Trunda

Seminář z umělé inteligence. Otakar Trunda Seminář z umělé inteligence Otakar Trunda Plánování Vstup: Satisficing task: počáteční stav, cílové stavy, přípustné akce Optimization task: počáteční stav, cílové stavy, přípustné akce, ceny akcí Výstup:

Více

= je prostý orientovaný graf., formálně c ( u, v) 0. dva speciální uzly: zdrojový uzel s a cílový uzel t. Dále budeme bez

= je prostý orientovaný graf., formálně c ( u, v) 0. dva speciální uzly: zdrojový uzel s a cílový uzel t. Dále budeme bez Síť Síť je čtveřice N = ( G, s, t, c) kde G ( V, A) = je prostý orientovaný graf a každé orientované hraně ( u, v) je přiřazeno nezáporné číslo, které se nazývá kapacita hrany ( u, v), formálně c ( u,

Více

U Úvod do modelování a simulace systémů

U Úvod do modelování a simulace systémů U Úvod do modelování a simulace systémů Vyšetřování rozsáhlých soustav mnohdy nelze provádět analytickým výpočtem.často je nutné zkoumat chování zařízení v mezních situacích, do kterých se skutečné zařízení

Více

Genetické algoritmy. Informační a komunikační technologie ve zdravotnictví

Genetické algoritmy. Informační a komunikační technologie ve zdravotnictví Genetické algoritmy Informační a komunikační technologie ve zdravotnictví Přehled přednášky Úvod Historie Základní pojmy Principy genetických algoritmů Možnosti použití Související metody AI Příklad problém

Více

MOŽNOSTI OPTIMALIZACE VE STAVEBNICTVÍ

MOŽNOSTI OPTIMALIZACE VE STAVEBNICTVÍ ESKÉ VYSOKÉ U ENÍ TECHNICKÉ V PRAZE Fakulta stavební MOŽNOSTI OPTIMALIZACE VE STAVEBNICTVÍ Studijní program: Stavební inženýrství Studijní obor: Fyzikální a materiálové inženýrství Vypracovala: Ing. Markéta

Více

4EK213 LINEÁRNÍ MODELY

4EK213 LINEÁRNÍ MODELY 4EK213 LINEÁRNÍ MODELY Úterý 11:00 12:30 hod. učebna SB 324 3. přednáška SIMPLEXOVÁ METODA I. OSNOVA PŘEDNÁŠKY Standardní tvar MM Základní věta LP Princip simplexové metody Výchozí řešení SM Zlepšení řešení

Více

5 Orientované grafy, Toky v sítích

5 Orientované grafy, Toky v sítích Petr Hliněný, FI MU Brno, 205 / 9 FI: IB000: Toky v sítích 5 Orientované grafy, Toky v sítích Nyní se budeme zabývat typem sít ových úloh, ve kterých není podstatná délka hran a spojení, nýbž jejich propustnost

Více

OPTIMALIZACE. (přehled metod)

OPTIMALIZACE. (přehled metod) OPTIMALIZACE (přehled metod) Typy optimalizačních úloh Optimalizace bez omezení Nederivační metody Derivační metody Optimalizace s omezeními Lineární programování Nelineární programování Globální optimalizace

Více

jednoduchá heuristika asymetrické okolí stavový prostor, kde nelze zabloudit připustit zhoršují cí tahy Pokročilé heuristiky

jednoduchá heuristika asymetrické okolí stavový prostor, kde nelze zabloudit připustit zhoršují cí tahy Pokročilé heuristiky Pokročilé heuristiky jednoduchá heuristika asymetrické stavový prostor, kde nelze zabloudit připustit zhoršují cí tahy pokročilá heuristika symetrické stavový prostor, který vyžaduje řízení 1 2 Paměť pouze

Více

Základy informatiky. Teorie grafů. Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová

Základy informatiky. Teorie grafů. Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová Základy informatiky Teorie grafů Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová Obsah přednášky Barvení mapy Teorie grafů Definice Uzly a hrany Typy grafů Cesty, cykly, souvislost grafů Barvení mapy

Více

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13. Grafy doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 13. března 2017 Jiří Dvorský (VŠB TUO) Grafy 104 / 309 Osnova přednášky Grafy

Více

Algoritmizace prostorových úloh

Algoritmizace prostorových úloh INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Grafové úlohy Daniela Szturcová Tento

Více

Úvod do modelování a simulace. Ing. Michal Dorda, Ph.D.

Úvod do modelování a simulace. Ing. Michal Dorda, Ph.D. Úvod do modelování a simulace systémů Ing. Michal Dorda, Ph.D. 1 Základní pojmy Systém systémem rozumíme množinu prvků (příznaků) a vazeb (relací) mezi nimi, která jako celek má určité vlastnosti. Množinu

Více

Vzdálenost uzlů v neorientovaném grafu

Vzdálenost uzlů v neorientovaném grafu Vzdálenosti a grafy Vzdálenost uzlů v neorientovaném grafu Je dán neorientovaný neohodnocený graf G = (V,E,I) vzdálenost uzlů u a v v neorientovaném souvislém grafu G je délka nejkratší cesty spojující

Více

24.11.2009 Václav Jirchář, ZTGB

24.11.2009 Václav Jirchář, ZTGB 24.11.2009 Václav Jirchář, ZTGB Síťová analýza 50.let V souvislosti s potřebou urychlit vývoj a výrobu raket POLARIS v USA při závodech ve zbrojení za studené války se SSSR V roce 1958 se díky aplikaci

Více

4EK311 Operační výzkum. 1. Úvod do operačního výzkumu

4EK311 Operační výzkum. 1. Úvod do operačního výzkumu 4EK311 Operační výzkum 1. Úvod do operačního výzkumu Mgr. Jana SEKNIČKOVÁ, Ph.D. Nová budova, místnost 433 Konzultační hodiny InSIS E-mail: jana.seknickova@vse.cz Web: jana.seknicka.eu/vyuka Garant kurzu:

Více

11. Tabu prohledávání

11. Tabu prohledávání Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI

Více

1 Úvod do celočíselné lineární optimalizace

1 Úvod do celočíselné lineární optimalizace Úvod do celočíselné lineární optimalizace Martin Branda, verze 7.. 7. Motivace Reálné (smíšeně-)celočíselné úlohy Optimalizace portfolia celočíselné počty akcií, modelování fixních transakčních nákladů,

Více

Plánování projektu. 3. dubna Úvod. 2 Reprezentace projektu. 3 Neomezené zdroje. 4 Variabilní doba trvání. 5 Přidání pracovní síly

Plánování projektu. 3. dubna Úvod. 2 Reprezentace projektu. 3 Neomezené zdroje. 4 Variabilní doba trvání. 5 Přidání pracovní síly Plánování proektu 3. dubna 2018 1 Úvod 2 Reprezentace proektu 3 Neomezené zdroe 4 Variabilní doba trvání 5 Přidání pracovní síly Problémy plánování proektu Zprostředkování, instalace a testování rozsáhlého

Více

5. Náhodná veličina. 2. Házíme hrací kostkou dokud nepadne šestka. Náhodná veličina nabývá hodnot z posloupnosti {1, 2, 3,...}.

5. Náhodná veličina. 2. Házíme hrací kostkou dokud nepadne šestka. Náhodná veličina nabývá hodnot z posloupnosti {1, 2, 3,...}. 5. Náhodná veličina Poznámka: Pro popis náhodného pokusu jsme zavedli pojem jevového pole S jako množiny všech možných výsledků a pravděpodobnost náhodných jevů P jako míru výskytů jednotlivých výsledků.

Více

Plánování úloh na jednom stroji

Plánování úloh na jednom stroji Plánování úloh na jednom stroji 15. dubna 2015 1 Úvod 2 Řídící pravidla 3 Metoda větví a mezí 4 Paprskové prohledávání Jeden stroj a paralelní stroj Dekompoziční problémy pro složité (flexible) job shop

Více

VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ

VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ Michal Kořenář 1 Abstrakt Rozvoj výpočetní techniky v poslední době umožnil také rozvoj výpočetních metod, které nejsou založeny na bázi

Více

Metody lineární optimalizace Simplexová metoda. Distribuční úlohy

Metody lineární optimalizace Simplexová metoda. Distribuční úlohy Metody lineární optimalizace Simplexová metoda Dvoufázová M-úloha Duální úloha jednofázová Post-optimalizační analýza Celočíselné řešení Metoda větví a mezí Distribuční úlohy 1 OÚLP = obecná úloha lineárního

Více

Algoritmus pro hledání nejkratší cesty orientovaným grafem

Algoritmus pro hledání nejkratší cesty orientovaným grafem 1.1 Úvod Algoritmus pro hledání nejkratší cesty orientovaným grafem Naprogramoval jsem v Matlabu funkci, která dokáže určit nejkratší cestu v orientovaném grafu mezi libovolnými dvěma vrcholy. Nastudoval

Více

Globální matice konstrukce

Globální matice konstrukce Globální matice konstrukce Z matic tuhosti a hmotnosti jednotlivých prvků lze sestavit globální matici tuhosti a globální matici hmotnosti konstrukce, které se využijí v řešení základní rovnice MKP: [m]{

Více

4EK201 Matematické modelování. 2. Lineární programování

4EK201 Matematické modelování. 2. Lineární programování 4EK201 Matematické modelování 2. Lineární programování 2.1 Podstata operačního výzkumu Operační výzkum (výzkum operací) Operational research, operations research, management science Soubor disciplín zaměřených

Více

Markov Chain Monte Carlo. Jan Kracík.

Markov Chain Monte Carlo. Jan Kracík. Markov Chain Monte Carlo Jan Kracík jan.kracik@vsb.cz Princip Monte Carlo integrace Cílem je (přibližný) výpočet integrálu I(g) = E f [g(x)] = g(x)f (x)dx. (1) Umíme-li generovat nezávislé vzorky x (1),

Více

8.3). S ohledem na jednoduchost a názornost je výhodné seznámit se s touto Základní pojmy a vztahy. Definice

8.3). S ohledem na jednoduchost a názornost je výhodné seznámit se s touto Základní pojmy a vztahy. Definice 9. Lineární diferenciální rovnice 2. řádu Cíle Diferenciální rovnice, v nichž hledaná funkce vystupuje ve druhé či vyšší derivaci, nazýváme diferenciálními rovnicemi druhého a vyššího řádu. Analogicky

Více

OPTIMALIZACE A MULTIKRITERIÁLNÍ HODNOCENÍ FUNKČNÍ ZPŮSOBILOSTI POZEMNÍCH STAVEB D24FZS

OPTIMALIZACE A MULTIKRITERIÁLNÍ HODNOCENÍ FUNKČNÍ ZPŮSOBILOSTI POZEMNÍCH STAVEB D24FZS OPTIMALIZACE A MULTIKRITERIÁLNÍ HODNOCENÍ FUNKČNÍ ZPŮSOBILOSTI POZEMNÍCH STAVEB Optimalizace a multikriteriální hodnocení funkční způsobilosti pozemních staveb Anotace: Optimalizace objektů pozemních staveb

Více

Dijkstrův algoritmus

Dijkstrův algoritmus Dijkstrův algoritmus Hledání nejkratší cesty v nezáporně hranově ohodnoceném grafu Necht je dán orientovaný graf G = (V, H) a funkce, která každé hraně h = (u, v) H přiřadí nezáporné reálné číslo označované

Více

Matematická morfologie

Matematická morfologie / 35 Matematická morfologie Karel Horák Rozvrh přednášky:. Úvod. 2. Dilatace. 3. Eroze. 4. Uzavření. 5. Otevření. 6. Skelet. 7. Tref či miň. 8. Ztenčování. 9. Zesilování..Golayova abeceda. 2 / 35 Matematická

Více

Informační systémy a plánování výroby 1.čast

Informační systémy a plánování výroby 1.čast Tento materiál vznikl jako součást projektu, který je spolufinancován Evropským sociálním fondem a státním rozpočtem ČR. Informační systémy a plánování výroby 1.čast Technická univerzita v Liberci INVESTICE

Více

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

Délka (dny) 150 - - 2 terénní úpravy (prvotní) 15-20 - příprava staveniště (výstavba přístřešku pro materiál) Skupinová práce. Zadání skupinové práce Síťová analýza metoda CPM Dáno: Výstavba skladu zásob obilí představuje následující činnosti: Tabulka Název činnosti Délka (dny) Optimální projekt. Optimální dělníků

Více

7. Rozdělení pravděpodobnosti ve statistice

7. Rozdělení pravděpodobnosti ve statistice 7. Rozdělení pravděpodobnosti ve statistice Statistika nuda je, má však cenné údaje, neklesejte na mysli, ona nám to vyčíslí Jednou z úloh statistiky je odhad (výpočet) hodnot statistického znaku x i,

Více

Modelování a simulace Lukáš Otte

Modelování a simulace Lukáš Otte Modelování a simulace 2013 Lukáš Otte Význam, účel a výhody MaS Simulační modely jsou nezbytné pro: oblast vědy a výzkumu (základní i aplikovaný výzkum) analýzy složitých dyn. systémů a tech. procesů oblast

Více

8. Simulované ochlazování Simulated Annealing, SA

8. Simulované ochlazování Simulated Annealing, SA Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI

Více

13. Lineární programování

13. Lineární programování Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI

Více

Grafové algoritmy. Programovací techniky

Grafové algoritmy. Programovací techniky Grafové algoritmy Programovací techniky Grafy Úvod - Terminologie Graf je datová struktura, skládá se z množiny vrcholů V a množiny hran mezi vrcholy E Počet vrcholů a hran musí být konečný a nesmí být

Více

Západočeská univerzita v Plzni Fakulta aplikovaných věd. SÍŤOVÁ ANALÝZA Semestrální práce z předmětu KMA/MAB

Západočeská univerzita v Plzni Fakulta aplikovaných věd. SÍŤOVÁ ANALÝZA Semestrální práce z předmětu KMA/MAB Západočeská univerzita v Plzni Fakulta aplikovaných věd SÍŤOVÁ ANALÝZA Semestrální práce z předmětu KMA/MAB Vypracovala: Kristýna Slabá kslaba@students.zcu.cz Obor: Matematické inženýrství Školní rok:

Více

Genetické programování

Genetické programování Genetické programování Vyvinuto v USA v 90. letech J. Kozou Typické problémy: Predikce, klasifikace, aproximace, tvorba programů Vlastnosti Soupeří s neuronovými sítěmi apod. Potřebuje značně velké populace

Více

Úloha ve stavovém prostoru SP je <s 0, C>, kde s 0 je počáteční stav C je množina požadovaných cílových stavů

Úloha ve stavovém prostoru SP je <s 0, C>, kde s 0 je počáteční stav C je množina požadovaných cílových stavů Stavový prostor a jeho prohledávání SP = formalismus k obecnějšímu uchopení a vymezení problému, který spočívá v nalezení posloupnosti akcí vedoucích od počátečního stavu úlohy (zadání) k požadovanému

Více

Binární vyhledávací stromy pokročilé partie

Binární vyhledávací stromy pokročilé partie Binární vyhledávací stromy pokročilé partie KMI/ALS lekce Jan Konečný 30.9.204 Literatura Cormen Thomas H., Introduction to Algorithms, 2nd edition MIT Press, 200. ISBN 0-262-5396-8 6, 3, A Knuth Donald

Více

Všeobecná rovnováha 1 Statistický pohled

Všeobecná rovnováha 1 Statistický pohled Makroekonomická analýza přednáška 4 1 Všeobecná rovnováha 1 Statistický pohled Předpoklady Úspory (resp.spotřeba) a investice (resp.kapitál), kterými jsme se zabývali v minulých lekcích, jsou spolu s technologickým

Více

Dynamické programování

Dynamické programování Dynamické programování prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy (BI-EFA)

Více

Časové rezervy. Celková rezerva činnosti

Časové rezervy. Celková rezerva činnosti Časové rezervy Celková rezerva činnosti CR Volná rezerva činnosti VR Nezávislá rezerva činnosti - NR Celková rezerva činnosti Maximální počet časových jednotek, které jsou k dispozici pro provedení činnosti,

Více

Datové struktury 2: Rozptylovací tabulky

Datové struktury 2: Rozptylovací tabulky Datové struktury 2: Rozptylovací tabulky prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy

Více

5. Lokální, vázané a globální extrémy

5. Lokální, vázané a globální extrémy 5 Lokální, vázané a globální extrémy Studijní text Lokální extrémy 5 Lokální, vázané a globální extrémy Definice 51 Řekneme, že f : R n R má v bodě a Df: 1 lokální maximum, když Ka, δ Df tak, že x Ka,

Více

CLARKEOVA-WRIGHTOVA METODA ŘEŠENÍ ÚLOHY VRP

CLARKEOVA-WRIGHTOVA METODA ŘEŠENÍ ÚLOHY VRP CLARKEOVA-WRIGHTOVA METODA ŘEŠENÍ ÚLOHY VRP 1. Definice úlohy Úloha VRP (Vehicle Routing Problem problém okružních jízd) je definována na obecné dopravní síti S = (V,H), kde V je množina uzlů sítě a H

Více

Kombinatorická minimalizace

Kombinatorická minimalizace Kombinatorická minimalizace Cílem je nalézt globální minimum ve velké diskrétní množině, kde může být mnoho lokálních minim. Úloha obchodního cestujícího Cílem je najít nejkratší cestu, která spojuje všechny

Více

Zada ní 1. Semina rní pra ce z pr edme tu Matematický software (KI/MSW)

Zada ní 1. Semina rní pra ce z pr edme tu Matematický software (KI/MSW) Zada ní. Semina rní pra ce z pr edme tu Matematický software (KI/MSW) Datum zadání: 5.. 06 Podmínky vypracování: - Seminární práce se skládá z programové části (kódy v Matlabu) a textové části (protokol

Více

12. Lineární programování

12. Lineární programování . Lineární programování. Lineární programování Úloha lineárního programování (lineární optimalizace) je jedním ze základních problémů teorie optimalizace. Našim cílem je nalézt maximum (resp. minimum)

Více

Generování pseudonáhodných. Ing. Michal Dorda, Ph.D.

Generování pseudonáhodných. Ing. Michal Dorda, Ph.D. Generování pseudonáhodných čísel při simulaci Ing. Michal Dorda, Ph.D. 1 Úvodní poznámky V simulačních modelech se velice často vyskytují náhodné proměnné. Proto se budeme zabývat otázkou, jak při simulaci

Více

Úvod do informatiky. Miroslav Kolařík

Úvod do informatiky. Miroslav Kolařík Úvod do informatiky přednáška devátá Miroslav Kolařík Zpracováno dle učebního textu prof. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008 Obsah 1 Kombinatorika: princip inkluze a exkluze 2 Počítání

Více

Evolučníalgoritmy. Dále rozšiřována, zde uvedeme notaci a algoritmy vznikléna katedře mechaniky, Fakulty stavební ČVUT. Moderní metody optimalizace 1

Evolučníalgoritmy. Dále rozšiřována, zde uvedeme notaci a algoritmy vznikléna katedře mechaniky, Fakulty stavební ČVUT. Moderní metody optimalizace 1 Evolučníalgoritmy Kategorie vytvořená v 90. letech, aby se sjednotily jednotlivémetody, kterévyužívaly evoluční principy, tzn. Genetickéalgoritmy, Evolučnístrategie a Evoluční programování (v těchto přednáškách

Více

Grafové algoritmy. Programovací techniky

Grafové algoritmy. Programovací techniky Grafové algoritmy Programovací techniky Grafy Úvod - Terminologie Graf je datová struktura, skládá se z množiny vrcholů V a množiny hran mezi vrcholy E Počet vrcholů a hran musí být konečný a nesmí být

Více

Úvod Modely zásob Shrnutí. Teorie zásob. Kristýna Slabá. 9. ledna 2009

Úvod Modely zásob Shrnutí. Teorie zásob. Kristýna Slabá. 9. ledna 2009 Teorie zásob Kristýna Slabá 9. ledna 2009 Obsah 1 Úvod Teorie Klasifikace zásob 2 Modely zásob Teorie Klasifikace modelů zásob Model zásob s okamžitou dodávkou Příklad Model zásob s postupnou dodávkou

Více

Úvod do optimalizace, metody hladké optimalizace

Úvod do optimalizace, metody hladké optimalizace Evropský sociální fond Investujeme do vaší budoucnosti Úvod do optimalizace, metody hladké optimalizace Matematika pro informatiky, FIT ČVUT Martin Holeňa, 13. týden LS 2010/2011 O čem to bude? Příklady

Více

Dynamické programování

Dynamické programování ALG 0 Dynamické programování zkratka: DP Zdroje, přehledy, ukázky viz https://cw.fel.cvut.cz/wiki/courses/a4balg/literatura_odkazy 0 Dynamické programování Charakteristika Neřeší jeden konkrétní typ úlohy,

Více

algoritmus»postup06«p e t r B y c z a n s k i Ú s t a v g e o n i k y A V

algoritmus»postup06«p e t r B y c z a n s k i Ú s t a v g e o n i k y A V Hledání lokálního maxima funkce algoritmus»postup06«p e t r B y c z a n s k i Ú s t a v g e o n i k y A V Č R Abstrakt : Lokální maximum diferencovatelné funkce je hledáno postupnou změnou argumentu. V

Více

Usuzování za neurčitosti

Usuzování za neurčitosti Usuzování za neurčitosti 25.11.2014 8-1 Usuzování za neurčitosti Hypotetické usuzování a zpětná indukce Míry postačitelnosti a nezbytnosti Kombinace důkazů Šíření pravděpodobnosti v inferenčních sítích

Více

Algoritmy I, složitost

Algoritmy I, složitost A0B36PRI - PROGRAMOVÁNÍ Algoritmy I, složitost České vysoké učení technické Fakulta elektrotechnická v 1.01 Rychlost... Jeden algoritmus (program, postup, metoda ) je rychlejší než druhý. Co ta věta znamená??

Více

Umělá inteligence I. Roman Barták, KTIML.

Umělá inteligence I. Roman Barták, KTIML. Umělá inteligence I Roman Barták, KTIML roman.bartak@mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak Na úvod Minule jsme si řekli, jak využívat heuristiky v prohledávání a jak konstruovat heuristiky BFS,

Více

Stromy, haldy, prioritní fronty

Stromy, haldy, prioritní fronty Stromy, haldy, prioritní fronty prof. Ing. Pavel Tvrdík CSc. Katedra počítačů FEL České vysoké učení technické DSA, ZS 2008/9, Přednáška 6 http://service.felk.cvut.cz/courses/x36dsa/ prof. Pavel Tvrdík

Více

Simulační modely. Kdy použít simulaci?

Simulační modely. Kdy použít simulaci? Simulační modely Simulace z lat. Simulare (napodobení). Princip simulace spočívá v sestavení modelu reálného systému a provádění opakovaných experimentů s tímto modelem. Simulaci je nutno považovat za

Více

CVIČENÍ 4 Doc.Ing.Kateřina Hyniová, CSc. Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze 4.

CVIČENÍ 4 Doc.Ing.Kateřina Hyniová, CSc. Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze 4. CVIČENÍ POZNÁMKY. CVIČENÍ. Vazby mezi systémy. Bloková schémata.vazby mezi systémy a) paralelní vazba b) sériová vazba c) zpětná (antiparalelní) vazba. Vnější popis složitých systémů a) metoda postupného

Více

State Space Search Step Run Editace úloh Task1 Task2 Init Clear Node Goal Add Shift Remove Add Node Goal Node Shift Remove, Add Node

State Space Search Step Run Editace úloh Task1 Task2 Init Clear Node Goal Add Shift Remove Add Node Goal Node Shift Remove, Add Node State Space Search Po spuštění appletu se na pracovní ploše zobrazí stavový prostor první předpřipravené úlohy: - Zeleným kroužkem je označen počáteční stav úlohy, který nemůže být změněn. - Červeným kroužkem

Více

4EK213 LINEÁRNÍ MODELY

4EK213 LINEÁRNÍ MODELY 4EK213 LINEÁRNÍ MODELY Úterý 11:00 12:30 hod. učebna SB 324 Mgr. Sekničková Jana, Ph.D. 2. PŘEDNÁŠKA MATEMATICKÝ MODEL ÚLOHY LP Mgr. Sekničková Jana, Ph.D. 2 OSNOVA PŘEDNÁŠKY Obecná formulace MM Množina

Více

Úvod do stochastických optimalizačních metod (metaheuristik) Moderní metody optimalizace 1

Úvod do stochastických optimalizačních metod (metaheuristik) Moderní metody optimalizace 1 Úvod do stochastických optimalizačních metod (metaheuristik) Moderní metody optimalizace 1 Efektivita optimalizačních metod Robustní metoda Efektivita Specializovaná metoda Enumerace nebo MC kombinatorický

Více

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague 1 / 40 regula Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague regula 1 2 3 4 5 regula 6 7 8 2 / 40 2 / 40 regula Iterační pro nelineární e Bud f reálná funkce

Více

Základy informatiky. 07 Teorie grafů. Kačmařík/Szturcová/Děrgel/Rapant

Základy informatiky. 07 Teorie grafů. Kačmařík/Szturcová/Děrgel/Rapant Základy informatiky 07 Teorie grafů Kačmařík/Szturcová/Děrgel/Rapant Obsah přednášky barvení mapy teorie grafů definice uzly a hrany typy grafů cesty, cykly, souvislost grafů Barvení mapy Kolik barev je

Více

VYUŽITÍ METOD PŘÍMÉHO HLEDÁNÍ OPTIMA PŘI PREDIKTIVNÍM ŘÍZENÍ

VYUŽITÍ METOD PŘÍMÉHO HLEDÁNÍ OPTIMA PŘI PREDIKTIVNÍM ŘÍZENÍ VYUŽITÍ METOD PŘÍMÉHO HLEDÁNÍ OPTIMA PŘI PREDIKTIVNÍM ŘÍZENÍ P. Chalupa, J. Novák Univerzita Tomáše Bati ve Zlíně Fakulta aplikované informatiky Centrum aplikované kybernetiky Abstrakt Příspěvek se zabývá

Více

Teorie síťových modelů a síťové plánování

Teorie síťových modelů a síťové plánování KSI PEF ČZU Teorie síťových modelů a síťové plánování Část přednášky doc. Jaroslava Švasty z předmětu systémové analýzy a modelování. Zápis obsahuje základní vymezení projektu, časového plánování a popis

Více

Grafy. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta.

Grafy. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta. 6 RNDr., Ph.D. Katedra didaktiky matematiky Univerzita Karlova v Praze Matematicko-fyzikální fakulta petra.surynkova@mff.cuni.cz http://surynkova.info množina vrcholů a množina hran hrana vždy spojuje

Více

Výroková a predikátová logika - III

Výroková a predikátová logika - III Výroková a predikátová logika - III Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - III ZS 2017/2018 1 / 16 2-SAT 2-SAT Výrok je v k-cnf, je-li v CNF a

Více

NEJKRATŠÍ CESTY I. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

NEJKRATŠÍ CESTY I. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze NEJKRATŠÍ CESTY I Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 2010/2011, Lekce 7 Evropský sociální fond Praha & EU: Investujeme do vaší

Více

Prohledávání do šířky = algoritmus vlny

Prohledávání do šířky = algoritmus vlny Prohledávání do šířky = algoritmus vlny - souběžně zkoušet všechny možné varianty pokračování výpočtu, dokud nenajdeme řešení úlohy průchod stromem všech možných cest výpočtu do šířky, po vrstvách (v každé

Více

Obsah. 16. dubna Přehled metodik. Terminologie. Vlastnosti stroje Omezení Optimalizace CVUT FEL, K Klasifikace rozvrhovacích problému

Obsah. 16. dubna Přehled metodik. Terminologie. Vlastnosti stroje Omezení Optimalizace CVUT FEL, K Klasifikace rozvrhovacích problému Rozvrhování Radek Mařík CVUT FEL, K13132 16. dubna 2014 Radek Mařík (marikr@fel.cvut.cz) Rozvrhování 16. dubna 2014 1 / 44 Obsah 1 Úvod do rozvrhování Přehled metodik Příklady reálných problémů Terminologie

Více

Zobrazte si svazy a uspořádané množiny! Jan Outrata

Zobrazte si svazy a uspořádané množiny! Jan Outrata LatVis Zobrazte si svazy a uspořádané množiny! Jan Outrata Motivace potřeba visualizovat matematické (algebraické) struktury rychle, přehledně a automaticky počítačovými prostředky ruční kreslení je zdlouhavé

Více

Přidělování CPU Mgr. Josef Horálek

Přidělování CPU Mgr. Josef Horálek Přidělování CPU Mgr. Josef Horálek Přidělování CPU = Přidělování CPU je základ multiprogramového OS = pomocí přidělování CPU různým procesům OS zvyšuje výkon výpočetního systému; = Základní myšlenka multiprogramování

Více

9.3. Úplná lineární rovnice s konstantními koeficienty

9.3. Úplná lineární rovnice s konstantními koeficienty Úplná lineární rovnice s konstantními koeficienty Cíle Nyní přejdeme k řešení úplné lineární rovnice druhého řádu. I v tomto případě si nejprve ujasníme, v jakém tvaru můžeme očekávat řešení, poté se zaměříme

Více

NÁHODNÁ ČÍSLA. F(x) = 1 pro x 1. Náhodná čísla lze generovat některým z následujících generátorů náhodných čísel:

NÁHODNÁ ČÍSLA. F(x) = 1 pro x 1. Náhodná čísla lze generovat některým z následujících generátorů náhodných čísel: NÁHODNÁ ČÍSLA TYPY GENERÁTORŮ, LINEÁRNÍ KONGRUENČNÍ GENERÁTORY, TESTY NÁHODNOSTI, VYUŽITÍ HODNOT NÁHODNÝCH VELIČIN V SIMULACI CO JE TO NÁHODNÉ ČÍSLO? Náhodné číslo definujeme jako nezávislé hodnoty z rovnoměrného

Více