Szeregowanie zadań




msz06.04.2006 22:16:30
#
Dołączył: 26.03.2005

Problem jest nastepujący:

mamy n zadań ktorych czas trwania wynosi t1...tn. Mamy c procesorów.

Nalezy przypisać i uszeregowac zadania do procesorów tak zeby zminimalizować wartość

$$ \\sum_{i=1}^n \\textrm{(czas przebywania i-tego zadania w systemie)} $$

Dla zadania w wersji z jednym procesorem optymalny rezultat daje posortowanie zadań według czasów trwania (łatwo optymalność tego zachłannego algorytmu udowodnić). Niestety nie wiem jak rozwiazać problem dla wiekszej liczby procesorów. Tzn. pomysł jakis mam, ale nie wiem jak uzasadnić jego poprawnosc (nawet nie wiem czy jest poprawny).

Bede wdzieczny za wszelką pomoc.

Kajoj07.04.2006 08:27:15
#
Dołączył: 05.01.2005

Następnym razem użyj Szmocy

http://binboy.sphere.pl/index.php?show=116

msz31.05.2006 00:48:35
#
Dołączył: 26.03.2005

pozwole sobie odświeżyć temat ponieważ znów mnie prześladuje. Algorytm rozwiązujący to zadanie wygląda tak (mamy n zadan i c procesorów):

  • posortuj zadania według czasów trwania
  • z tak posortowanej listy zadan przydziel pierwsze do procesora pierwszego, drugie do drugiego, c-te do c-tego, (c+1)-sze do pierwszego, (c+2)-gie do drugiego.

Algorytm jest na pewno optymalny, ale nie mam pojęcia jak udowodnić jego optymalność.




Kontakt

Jeśli chcesz się z nami skontaktować napisz na adres: info(at)binboy.org lub odwiedź nasz profil na Facebooku!

O Nas

Serwis binboy.org to kopalnia wiedzy dla wszystkich z branży IT, w szczególności dla programistów i webmasterów. To duży zbiór kursów programowania, tutoriali, darmowych ebooków, setki kodów źródłowych itp.

Bądź w kontakcie

Panel użytkownika

Zaloguj się do panelu użytkownika.
Nie masz konta? Zarejestruj się!
Zapomniałeś hasła?