08.08.2015 Views

Reprezentace problému rozvrhování zakázkové výroby disjunktivním grafem

Reprezentace problému rozvrhování zakázkové výroby ...

Reprezentace problému rozvrhování zakázkové výroby ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

loků na kritické cestě u (π ). Definice kritických bloků je důležitá, protože pomocí ní se lzedefinovat operátory heuristických metod.Při nasazení heuristických metod v problémech <strong>rozvrhování</strong> musíme řešit následující otázky:1. jak nalézt počáteční proveditelný rozvrh, 2. jak definovat vztah sousedství, 3. jak naléztproveditelný rozvrh s co nejlepším ohodnocením. První a druhý úkol je společný pro mnohoheuristických metod. Třetí úkol závisí na algoritmu konkrétní heuristické metody.Pro počáteční rozvržení disjunktivních hran v grafu lze použít tento algoritmus:Deklarace :Nechť Q0je množina všech již rozvržených operací.Nechť Q1je množina všech rozvrhovaných operací.Nechť Q2je množina všech nerozvržených operací.Množiny Q0, Q1a Q2jsou disjunktní a jejich sjednocením získáme množinu všechoperací O.Účelem algoritmu je nalezení počátečních rozvržení posloupností operacíπ = { π 1,..., π m}.Inicializace :Posloupnosti π1,...,πmjsou na počátku algoritmu prázdné.Množina Q0je prázdná.Množina Q1obsahuje první operace všech jobů.Množina Q2obsahuje všechny ostatní operace.Nejdříve možný termín zahájení je pro všechny operace rk= 0 , pro 1 ≤ k ≤ o .Dokud Q ∪ ) není prázdné, opakuj(1Q2{1. V množině Q1najdeme operacic = min{ c | O ∈Q| c = r + p }. Nechť 'O ', jejíž termín dokončení- 5 -c ' je nejmenšíO''k k 1 k k kM je stroj, na kterém je operaceprováděna. Posloupnost z množiny π přiřazenou stroji M ' označme π ' .2. Zavedeme množinu K (konfliktní množina). Nechť množina K obsahuje všechny operacez Q1, které se provádějí na stroji M ' a jejichž nejdříve možný termín zahájení je menšínež nejdříve možný termín dokončení operace O '. Konfliktní množinaK = { Ok | stroj(Ok) = M ' | rk< c'}.3. Náhodně vybereme operaci O ''z množiny K a rozvrhneme ji. Rozvržení operace O' 'v tomto případě znamená přiřazení jejího indexu na konec posloupnosti operací π ' .4. Operaci O ''vypustíme z množiny Q1a zařadíme ji do množiny Q0.5. Pro všechny operace z množin Q1 ∪ Q2, které jsou prováděny na stroji M ' přepočítámenejdříve možné termíny zahájení r k= c' ' .6. Do množiny Q 1přemístíme z Q 2následující operaci v rámci jobu právě rozvrženéoperace O ''.}Sousedství lze definovat jako množinu rozvrhů, které lze získat aplikováním operátorupřechodu do jiného rozvrhu. Bylo popsáno mnoho způsobů [Blazewicz 1996], jak měnitorientace disjunktivních hran v grafu, aby se co nejefektivněji prohledal prostor řešení.Pro metody, kde se v každém kroku prohledává celé sousedství (metoda lokálního hledání,tabu search), je výhodné použití sousedství S 1: vzájemná výměna blízko hranice bloků najediné kritické cestě [Nowicki 1996]. Uvažujeme jedinou libovolně zvolenou kritickou cestu

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!