Voor een parallel machine probleem kun je het List-Scheduling algoritme gebruiken.
Het List-scheduling algoritme loopt alle taken in willekeurige volgorde af en wijst de desbetreffende taak toe aan de machine die hem het eerste kan verwerken.
Nu is de wordt case ratio voor dit algoritme gelijk aan:
2-1/m
Waarbij m voor het aantal machines staat.
Nu heb ik nooit begrepen waarom er bij List-Scheduling de taken in willekeurige volgorde worden afgwerkt. Want het lijkt mij veel handiger om de taken af te werken van groot naar klein.
Nu heb ik dit toegepast in een programma, voor een vergelijkbaar probleem, en de oplossingen die gevonden worden zijn eigenlijk altijd een globaal optimu, en als er een afwijking is dan is dat 0,01% ofzo.
Nu vroeg ik mij af wat de theorethische worst case ratio is, als je List-Scheduling toepast op "mijn" manier (die volgens mij voor iedereen logischer is).
Kan iemand mij die geven?
Ikzelf dacht dat dat ongeveer gelijk moest zijn aan:
(grootste taak+kleinste taak) / ((som alle taken)/m)
Er is dan ook een bovengrens die begint bij 2, maar deze bovengrens valt volgens mij wel in 99,9% van de gevallen lager uit dan 2-1/m.
Misschien is hetnog ff makkelijk om te vermelden, dat de due-date geen rol speelt in het machine probleem. Verder hebben de taken ook geen gewicht.
Het List-scheduling algoritme loopt alle taken in willekeurige volgorde af en wijst de desbetreffende taak toe aan de machine die hem het eerste kan verwerken.
Nu is de wordt case ratio voor dit algoritme gelijk aan:
2-1/m
Waarbij m voor het aantal machines staat.
Nu heb ik nooit begrepen waarom er bij List-Scheduling de taken in willekeurige volgorde worden afgwerkt. Want het lijkt mij veel handiger om de taken af te werken van groot naar klein.
Nu heb ik dit toegepast in een programma, voor een vergelijkbaar probleem, en de oplossingen die gevonden worden zijn eigenlijk altijd een globaal optimu, en als er een afwijking is dan is dat 0,01% ofzo.
Nu vroeg ik mij af wat de theorethische worst case ratio is, als je List-Scheduling toepast op "mijn" manier (die volgens mij voor iedereen logischer is).
Kan iemand mij die geven?
Ikzelf dacht dat dat ongeveer gelijk moest zijn aan:
(grootste taak+kleinste taak) / ((som alle taken)/m)
Er is dan ook een bovengrens die begint bij 2, maar deze bovengrens valt volgens mij wel in 99,9% van de gevallen lager uit dan 2-1/m.
Misschien is hetnog ff makkelijk om te vermelden, dat de due-date geen rol speelt in het machine probleem. Verder hebben de taken ook geen gewicht.
[ Voor 10% gewijzigd door Oscar Mopperkont op 24-06-2003 15:29 . Reden: tiepvautjes ]