Operačná analýza 2-02a
Klasická metóda CPM
Úvod Je daná úloha časového plánovania U s množinou elementárnych činností E a reálnou funkciou c: E R ktorá každej činnosti A E priradí jej dobu trvania c(a). V klasickej metóde CPM modelujeme tzv. sieťový digraf v ktorom Každej činnosti A priradíme hranu s ohodnotením c(a) =y ij kde i je vrchol predstavujúci časové začiatky a j časové konce činnosti A.
Sieťový digraf je neorientovane súvislý acyklický digraf s jedným prameňom (začiatok projektu) a s jedným ústím (koniec projektu) s monotónnym očíslovaním vrcholov.
Definujeme: t jz - najskôr možný začiatok činností vychádzajúcich z vrcholu j: z z t max z t j ti yij. 0 0 a pre j=1, 2,...n, i O t j k najneskôr možný koniec činnosti vchádzajúcich do vrcholu j: j k z t t a pre j=n-1, n-2,..1, t n n k j min i O j k t y. i ji CR i = t i k t i z - časová rezerva vo vrchole i. CR ij = t jk -(t iz +y ij ) - časová rezerva na hrane (i,j).
T k z t n tn doba trvania projektu. Ak CR ij = 0, činnosť (i, j) sa nazýva kritická Dráha zo zdroja do ústia ( z vrcholu 1 do n), v ktorej CR ij = 0 sa nazýva kritická dráha.
Grafické znázornenie (CR ij )
Príklad Riešte úlohu časového plánovania klasickou metódou CPM, ak je dané:
činnosti začiatok koniec doba trvania A - B,E,F 10 B A C,K 4 C B H 16 D E, K H 14 E A D, L 8 F A G,I 5 G F,L H 11 H C, D, G - 6 I F, L J 10 J I - 5 K B D, L 3 L E, K G, I 2
Hamiltonovské grafy
Definícia: Hamiltonovská cesta (kružnica) v grafe G je cesta (kružnica) ktorá obsahuje všetky vrcholy grafu G. Hamiltonovský graf je graf, ktorý obsahuje hamiltonovskú kružnicu
Sir Wiliam Rowan Hamilton (1805 1865) Úloha: Nájsť hamiltonovskú kružnicu v pravidelnom dvanásťstene (20 vrcholov)
Úloha obchodného cestujúceho TSP (Traveling Salesman Problem) 1934 Whitney 1980 problém 318 miest 10 655 možností Definícia: Je daný hranovo ohodnotený graf G=(V, E,o). Úloha obchodného cestujúceho je úloha nájsť v grafe G Hamiltonovskú kružnicu, alebo sled obsahujúci všetky vrcholy grafu G ktorej ohodnotenie je najmenšie (tzv. najkratšia HK).
Poznámka (Nehamiltonovské grafy)
1.
Postačujúce podmienky existencie Hamiltonovskej kružnice
Veta: (Ore 1960) Nech G= (V, E) je graf. Nech V n 3. Nech pre každú dvojicu vrcholov u, v platí: st u st v n potom G je Hamiltonovský.
Veta (Dirac 1952) Nech G= (V, E) je graf. Nech V n 3 a nech st v n 2 v V potom G je Hamiltonovský.
Veta: Nech G=(V,E) je hamiltonovský graf. Nech S je neprázdna podmnožina množiny V. Nech c(g-s) je počet komponentov grafu G-S, potom c G S S
Definícia: Nech > 1je reálne číslo. Potom hamiltonovská kružnica Z v garafe G sa nazve aproximáciou ak o o Z * Z kde Z * je najkratšia Hamiltonovská kružnica.
Heuristické algoritmy Metóda zdvojenia kostry (Kim 1975) Vstup Úplný ohodnotený graf, spĺňajúci trojuholníkovú nerovnosť Výstup Hamiltonovská kružnica
1. v grafe G nájdeme najlacnejšiu kostru T. 2. Zvolíme ľubovolný vrchol v * V a nájdeme uzavretý sled S z v * ktorý obsahuje každú hranu grafu T (napr. Tary..) 3. Hamiltonovskú kružnicu Z dostaneme zo sledu S nasledovne: Prechádzame sledom S a kedykoľvek by sme mali ísť prejdeným vrcholom, druhý krát, príslušný úsek sledu u-v nahradíme hranou [u,v].
Veta: Metóda zdvojenia kostry dáva Hamiltonovskú kružnicu Z, pre ktorú: o Z 2 * o Z kde o(z * ) je najkratšia Hamiltonovská kružnica..
Príklad 1: Riešte úlohu obchodného cestujúceho metódou zdvojenia kostry pre graf daný diagramom
1. nájdeme najlacnejšiu kostru T
2.- Nájdeme uzavretý sled S ktorý obsahuje každú hranu grafu T.
Christofidesov algoritmus (Nicos Christofides, 1976) Vstup Kompletný ohodnotený graf, spĺňajúci trojuholníkovú nerovnosť Výstup hamiltonovská kružnica
1. V grafe G=(V,E) nájdeme najlacnejšiu kostru T. 2. Nech W je množina vrcholov nepárneho stupňa v kostre T. Nech X je najlacnejšie úplné párenie v grafe generovanom vrcholmi množiny W. 3. Zostrojíme graf G E =(V,E E ), kde E E je zjednotenie (ak sa hrana vyskytne v T a X nahradíme ju multihranou) množiny hrán kostry T a párenia X (tento graf je Eulerovský). 4. V grafe G E zostrojíme Eulerovský ťah S. 5. Hamiltonovskú kružnicu Z dostaneme zo sledu S nasledovne: Prechádzame sledom S a kedykoľvek by sme mali ísť prejdeným vrcholom, druhý krát, príslušný úsek sledu u-v nahradíme hranou [u,v].
Veta: Christofidesov algoritmus určuje Hamiltonovskú kružnicu Z, pre ktorú: o Z 3 * o Z 2 kde o(z * ) je najkratšia Hamiltonovská kružnica.