Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 1 Opdracht 2: Clustering
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 2 Opdracht 2: vaak voorkomende problemen Werkt alleen met bepaalde tsv’s: –Vaste aantal attributen –Foutmeldingen tijdens gebruik Het aantal clusters wordt uitsluitend door de gebruiker bepaald.
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 3 Opdracht 3: Procesmining Deadline uitgesteld tot 18 juli 2007.
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 4 Roosters opstellen (scheduling)
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 5 Waar zijn we nu?
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 6 Opstellen van een rooster? Gegeven: –machines –opdrachten (jobs) Vind: een optimale rooster (schedule) –voor iedere opdracht: tijdsinterval(len) op een (of meerdere) machines
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 7 Voorbeeld
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 8 Voorbeeld: rooster zagensnijdenzagen impregnerenzagen snijdenzagenimpregneren
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 9 In de praktijk… opstellen van de vluchtendienstregeling inplannen van papierproductie voor de Tomakomai molen
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 10 Classificatie eigenschappen van machines eigenschappen van opdrachten optimaliteits criteria
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 11 Eigenschappen van machines ieder opdracht op een gewijde machine? parallelle machines –identiek, gelijkaardig (met verschillende snelheden), algemeen? vaste aantal machines – 1, 2, …, k?
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 12 Eigenschappen van opdrachten onderbreekbaar? voorkeursrelatie tussen de opdrachten? begintijd – niet vroeger dan? eindtijd – niet later dan? groepjes van opdrachten die samen uitgevoerd moeten worden? is er sprake van operaties?
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 13 Optimaliteitscriteria de laatste opdracht of (gewogen) som van de tijden? zo vroeg mogelijk stoppen? zo klein mogelijke vertraging tov deadline? zo klein mogelijke aantal vertragingen? kostfunctie? lineaire combinatie van de bovenstaande?
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 14 Voorbeelden 1-machine, onderbreekbare opdrachten met min. begintijden en voorkeuren, zo klein mogelijke vertraging identieke parallelle machines, niet onderbreekbare opdrachten met min. begintijden, zo klein mogelijke vertraging …
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 15 Meerdere soorten staal moeten ingepland worden in een gietvorm. Verschillende temperaturen en legeringen leiden tot verschillende staalsoorten. Gieten van een staalsoort kan niet onderbroken worden. Temperatuur verlagen duurt lang en moet vermeden worden. Wat zijn , en in dit voorbeeld?
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 16 Een machine Opdracht A: geplande eindtijd: 3 Opdracht B: geplande eindtijd: 2 Doel: zo klein mogelijke grootste vertraging: max(eindtijd(opdracht i ) – deadline(opdracht i )) In welke volgorde roosteren jullie de opdrachten? eerst A, dan B eest B, dan A
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 17 Roosteringregel van Jackson 1 machine || grootste vertraging Opdrachten met eerdere deadlines – eerst!
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 18 Waarom? Ad absurdum Rooster S, opdrachten i en k z.d. –k volgt onmiddellijk na i –deadline(i) > deadline(k) …ik… S S’…ki…
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 19 Jackson (1) …ik… S S’…ki… Vertraging van k in S’ = eindtijd(k,S’) – deadline (k) < eindtijd(k,S) – deadline(k) = vertraging van k in S
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 20 Jackson (2) …ik… S S’…ki… Vertraging van i in S’ = eindtijd(i,S’) – deadline (i) = eindtijd(k,S) – deadline(i) < eindtijd(k,S) – deadline(k) = vertraging van k in S
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 21 Jackson (2) …ik… S S’…ki… Voor j i, k Vertraging van j in S’ = vertraging van j in S
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 22 Jackson (3) maximale vertraging in S’ = max {vertraging van k in S’, vertraging van i in S’, vertraging van i,k in S’} max {vertraging van k in S, vertraging van i,k in S} maximale vertraging in S
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 23 Dus, maximale vertraging in S’ maximale vertraging in S Regel van Jackson geeft niet minder goede oplossing! …ik… S S’…ki…
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 24 Jackson: –Opdrachten met eerdere deadlines – eerst! De meest efficiënte implementatie van Jackson roostering voor n opdrachten is A. O(n)B. O(n log n)C. O(n 2 )D. O(n 2 log n)
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 25 Optimaliteitscriteria Tot nu toe: maximale vertragingscriterium. Nu: maximale eindtijd-criterium. –Special geval van maximale vertraging: –deadline(opdracht) = 0 voor alle opdrachten
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 26 m parallelle machines? Bewerkingstijd van een opdracht j: p j. Zo klein mogelijk: max j eindtijd(opdracht j ) Maar max j eindtijd(j) – max p i. Opdrachten moeten volledig uitgevoerd zijn! – ( p i )/m Dus, ondergrens = max{max p i, ( p i )/m}
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 27 Opdrachten zijn onderbreekbaar. Hoe bouw je een rooster zodanig dat max j eindtijd(j) = max{max p i, ( p i )/m} en de uitvoeringstijd is lineair in het aantal opdrachten?
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 28 Voorbeeld 3 machines opdracht12345 bewerkingstijd45354 ondergrens = max{max p i, ( p i )/m} = max{5,7} =
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 29 Wat als de opdrachten niet onderbreekbaar zijn? [Garey, Johnson] Het bestaan van een rooster voor ondergrens is NP-volledig. Bekend: PARTITION is NP-volledig PARTITION: Gegeven {a 1, …, a n } zodanig dat a i = 2b. Bestaat er {a’ 1, …, a’ m } {a 1, …, a n } zodanig dat a’ i = b?
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 30 Bewijs van NP-moeilijkheid Vind een voorbeeld van een roostering probleem die vertaald kan worden in PARTITION. Vertaling is polynomiaal Oplossing van een PARTITION oplossing voor roostering
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 31 PARTITION: Gegeven {a 1, …, a n } met a i = 2b. Is er {a’ 1, …, a’ m } {a 1, …, a n } z.d. a’ i = b? Vind een reductie van PARTITION tot roostering van niet onderbreekbare opdrachten op identieke parallelle machines? Hoeveel machines zullen jullie nemen? Opdrachten zijn niet onderbreekbaar. Hoe lang duren de opdrachten? Ondergrens: max{max a i, ( a i )/2} = …
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 32 Dus 2 machines n opdrachten a 1, …, a n Bestaat er rooster die voor b gedaan is? PARTITION
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 33 Wat moeten we doen om NP-volledigheid te bewijzen? Stel dat we een rooster konden raden. Dan kunnen we in de polynomiale tijd controleren of de rooster inderdaad de ondergrens bevestigt.
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 34 Wat kunnen we doen? Benadering? Een efficiënte algoritme zodanig dat de gevonden oplossing “niet te slecht” is “Niet te slecht” – gegarandeerd niet slechter dan bijv. 2 keer slechter dan het optimum Een andere oplossing: volgende week
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 35 Benaderingsalgoritmen vs. Heuristieken Heuristiek geeft een “redelijke” oplossing Benaderingsalgoritmen garanderen kwaliteit van een oplossing. 2P650: Benaderingsalgoritmen2P650 –blijkbaar verdwijnt in –vraag misschien aan Dr. René Sitters
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 36 Vandaag 2-benadering voor roostering met –parallelle identieke machines –ononderbreekbare opdrachten –zo klein mogelijk: max j eindtijd(j) Lineair –in het aantal opdrachten
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 37 Lijstroostering Maak een lijst van opdrachten –willekeurige volgorde Zodra een machine staat stil, –rooster een niet geroosterde opdracht uit de lijst Wat is de uitvoeringstijd van lijstroostering voor n opdrachten? A. O(n)B. O(n log n)C. O(n 2 )D. O(n 2 log n)
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 38 2-optimum (1) Te bewijzen: eindtijd LR 2*eindtijd OPT. k – het opdracht dat als laatst eindigt t – beginstip van k volgens LR Alle machines zijn bezet voor t –anders zou k eerder ingeroosterd zijn –dus,
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 39 2-optimum (2)
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 40 Tot nu toe Parallelle identieke machines Wel of niet onderbreekbare opdrachten Zo klein mogelijk: max j eindtijd(j) Gelijkaardige machines –dezelfde capaciteiten –verschillende snelheden
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 41 Gelijkaardige machines p i – geen bewerkingstijd, wel hoeveelheid werk s j – snelheid van machine j –identieke machines: j s j = 1 Aanname #opdrachten #machines –anders, neem #opdrachten snelste machines –Notatie: #S – aantal elementen in S
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 42 Wat is de optimale max eindtijd? (1) Alle opdrachten zijn klaar voor de tijdstip opt:
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 43 Wat is de optimale max eindtijd? (2) De eerste m opdrachten moeten ook binnen opt klaar zijn:
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 44 Na hoeveel uur stopt de optimale rooster? A.14/3B. 19/3C. 23/3 D. nog A, nog B, nog C Opdrachten –J1: p1 = 10 eenheden –J2: p2 = 8 eenheden –J3: p3 = 5 eenheden Machines –M1: s1 = 2 eenheden/uur –M2: s2 = 1 eenheid/uur Wat is de optimale max eindtijd? (3)
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 45 Hoe kunnen we het optimum bereiken? (1) Basis idee: k opdrachten te samen op l machines (k l): 12…l…k... k – l + 1 …k1…l+1
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 46 Hoe kunnen we het optimum bereiken (2)? niveau p i (t): deel van p i die op tijdstip t nog te doen is t pipi
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 47 Niveaualgoritme t := 0 WHILE i met p i (t) > 0 bereken de TOEKENNING(t) t stop = min eindtijd t gelijk = kleinste tijd u z.d. i,j p i (t) > p j (t) en p i (u) = p j (u) t = min{t stop, t gelijk }
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 48 Toekenning(t) J = {i | p i (t) > 0} M = alle machines WHILE J en M I = {i | i J, i heeft het hoogste niveau} r = min{#M, #I} Rooster I op de snelste r machines uit M J = J \ I M = M \ zonder de r snelste
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 49 Opdrachten –J1: p1 = 10 eenheden –J2: p2 = 8 eenheden –J3: p3 = 5 eenheden Machines –M1: s1 = 2 eenheden/uur –M2: s2 = 1 eenheid/uur Na hoeveel uur begint J3? A.0B. 8/3C. 5 D. nog A, nog B, nog C
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 50 Rooster t pipi /323/3 J1 J2 J1 J2 J1 J2 J3
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 51 Optimum? Lemma: Als p i (t) p j (t), u t dan p i (u) p j (u) Geval 1. Geen machine staat stil voor de eindtijd van de laatste opdracht t.
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 52 Optimum? Geval 2. Er is een machine die stilstaat voor de eindtijd van de laatste opdracht Dan, eindtijd(machine i ) eindtijd(machine j ) zodra s i s j. –Anders, eindtijd(machine i ) < eindtijd(machine j ) einde machine i einde machine j arctan s i arctan s j t tijd p Hier moest de toekenning wijzigen…
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 53 Geval 2. Er is een machine die stilstaat voor de eindtijd vd laatste opdracht eindtijd(machine i ) eindtijd(machine j ) als s i s j. m j – machine met de laagste snelheid t = eindtijd(m j ) Kan bewezen worden: –opdrachten die op t eindigen, zijn op 0 begonnen Dus,
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 54 Huiswerk 19 Het niveaualgoritme is O(n 2 m). Gonzalez en Sahni : O(n+m log n) en creëert minder onderbrekingen.Gonzalez en Sahni Bespreek het artikel. Kies een voorbeeld en toon aan dat er inderdaad minder onderbrekingen worden aangemaakt. In te dienen tot 26 juni 2007, 12 uur 's middags in Alexander z'n brievenbus (naast HG 5.91).
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 55 Parallelle machines, kleinste max. eindtijden machines \ opdrachten onderbreekbaarniet onderbreekbaar identiekO(n) NP gelijkaardigO(n+m log n) algemeenpolynomiaal Het algemene geval kan geanalyseerd worden mbv reductie naar een roosteringprobleem voor een open shop
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 56 Huiswerk 20 Wat zijn de general / open / flow / job shop problemen? Geef voorbeelden. Bespreek een van de bijbehorende algoritmen. Wat is de complexiteit ervan? In te dienen tot 26 juni 2007, 12 uur 's middags in Alexander z'n brievenbus (naast HG 5.91).
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 57 Parallelle machines, kleinste max. eindtijden machines \ opdrachten onderbreekbaarniet onderbreekbaar identiekO(n) NP gelijkaardigO(n+m log n) algemeenpolynomiaal Complexiteit is afhankelijk van en . Wat gebeurt er als we veranderen?
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 58 Dus Gelijkaardige machines Onderbreekbare opdrachten Zo klein mogelijk: totale doorlooptijd –som van de eindtijden van de opdrachten Aannames: –de opdrachten zijn gesorteerd: p 1 p 2 … –de machines zijn gesorteerd: s 1 s 2 …
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 59 nu = 0 WHILE p 1 > 0 Kies i z.d. p i > 0 en p i+1 = 0 = p i /s 1 // de snelste machine FOR j = i DOWNTO max{1, i – m + 1} Rooster j: machine 1+i-j tijdens [nu; nu+ ] p j = p j - *s 1+i-j. nu = nu+
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 60 3 machines: –s 1 = 3, s 2 = 2, s 3 = 1 4 opdrachten: –p 1 = 10, p 2 = 8, p 3 = 8, p 4 = 3 Wat is de totale doorlooptijd? A. 6.B. 29/3C. 13D. 14
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 61 Rooster machine 1Op4Op3Op2Op1 machine 2Op3Op2Op1 machine 3Op2Op Complexiteit van het algoritme is O(n log n + mn)
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 62 Huiswerk 21 Analyseer het bovenstaand algoritme Bewijs dat het algo altijd de optimale rooster vindt (denk aan Jackson) Als functie van n en m –Wat is het maximale aantal onderbrekingen? In te dienen tot 26 juni 2007, 12 uur 's middags in Alexander z'n brievenbus (naast HG 5.91).
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 63 Wat gebeurt er als de opdrachten niet onderbreekbaar zijn? Nog steeds polynomiaal!
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 64 Doorlooptijd Onderbreekbaar Max eindtijd Identieke machines Gelijkaardige machines Niet onderbreekbaar
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 65 Wat hebben we gedaan? Classificatie van roosteringproblemen 1-machine, kleinste vertraging (Jackson) parallelle machines –identiek, gelijkaardig, algemeen –opdrachten: onderbreekbaar of niet –optimalisatie: max eindtijd of totale doorlooptijd Benaderingsalgoritmen