Planowanie niepowiązanych maszyn

Planowanie niepowiązanych maszyn jest problemem optymalizacji w informatyce i badaniach operacyjnych . Jest to wariant optymalnego planowania pracy . Musimy zaplanować n zadań J 1 , J 2 , ..., J n na m różnych maszynach, tak aby pewna funkcja celu była zoptymalizowana (zwykle należy zminimalizować rozpiętość ). Czas, w którym maszyna I potrzeb do wykonania zadania j oznaczamy pi ,j . Termin niezwiązany podkreśla, że ​​nie ma związku między wartościami p i,j dla różnych i oraz j . Kontrastuje to z dwoma szczególnymi przypadkami tego problemu: szeregowaniem jednostajnych maszyn — w którym p i,j = p i / s j (gdzie s j jest prędkością maszyny j ) oraz szeregowaniem maszyn identycznych - w którym p i,j = p i (ten sam czas pracy na wszystkich maszynach).

W standardowej trójpolowej notacji dla problemów z optymalnym planowaniem zadań wariant niepowiązanych maszyn jest oznaczony przez R w pierwszym polu. Na przykład problem oznaczony przez „ to problem z planowaniem niepowiązanych maszyn bez ograniczeń, w którym celem jest zminimalizowanie czasu

W niektórych wariantach problemu, zamiast minimalizowania maksymalnego czasu realizacji, pożądana jest minimalizacja średniego czasu realizacji (uśrednionego dla wszystkich n zadań); jest oznaczony przez R|| . Bardziej ogólnie, gdy niektóre prace są ważniejsze od innych, może być pożądane zminimalizowanie średniej ważonej czasu ukończenia, gdzie każda praca ma inną wagę. Jest to oznaczone przez R|| .

trzecim celem jest maksymalizacja minimalnego czasu ukończenia Wariant ten odpowiada problemowi egalitarnej alokacji przedmiotów .

Algorytmy

Minimalizacja maksymalnego czasu realizacji (makespan)

Minimalizacja maksymalnego czasu ukończenia jest NP-trudna nawet dla identycznych maszyn, poprzez redukcję problemu partycji .

Horowitz i Sahni przedstawili:

  • Dokładne algorytmy programowania dynamicznego w celu zminimalizowania maksymalnego czasu realizacji zarówno na jednolitych, jak i niezwiązanych ze sobą maszynach. Algorytmy te działają w czasie wykładniczym (przypomnijmy, że wszystkie te problemy są NP-trudne).
  • Schematy aproksymacji w czasie wielomianowym , które dla dowolnego ε > 0 osiągają co najwyżej (1+ε)OPT. Aby zminimalizować maksymalny czas ukończenia na dwóch jednorodnych maszynach, ich algorytm działa w czasie , gdzie jest najmniejszą liczbą całkowitą, dla której jest . . czas wykonywania to FPTAS Aby zminimalizować maksymalny czas ukończenia na dwóch niepowiązanych ze sobą komputerach, czas wykonania wynosi = . Twierdzą, że ich algorytmy można łatwo rozszerzyć na dowolną liczbę jednorodnych maszyn, ale nie analizują w tym przypadku czasu wykonania.

Lenstra, Shmoys i Tardos przedstawili dwuczynnikowy algorytm aproksymacji wieloczasowej i udowodnili, że żaden algorytm policzasowy ze współczynnikiem aproksymacji mniejszym niż 3/2 nie jest możliwy, chyba że P=NP. Zamknięcie luki między 2 a 3/2 jest od dawna otwartym problemem.

Versache i Wiese przedstawili inny algorytm aproksymacji dwuczynnikowej.

Glass, Potts i Shade porównują różne lokalne techniki wyszukiwania w celu zminimalizowania czasu oczekiwania na niepowiązanych komputerach. Wykorzystując komputerowe symulacje odkryli, że wyszukiwanie tabu i symulowane wyżarzanie działają znacznie lepiej niż algorytmy genetyczne .

Minimalizacja średniego czasu realizacji

Bruno, Coffman i Sethi przedstawiają algorytm działający w czasie mn średni czas wykonania zadania na niepowiązanych maszynach, R|| (średnia czasu potrzebnego na wykonanie zadań dla wszystkich zadań ).

Minimalizowanie średniego ważonego czasu ukończenia, R|| (gdzie w j wagą zadania j ), jest NP-trudne nawet na identycznych maszynach, poprzez redukcję problemu plecakowego . Jest NP-trudny, nawet jeśli liczba maszyn jest ustalona i wynosi co najmniej 2, poprzez redukcję problemu partycji .

Schulz i Skutella przedstawiają algorytm aproksymacji (3/2+ε) wykorzystujący zaokrąglanie losowe . Ich algorytm jest przybliżeniem (2+ε) problemu z czasami zwalniania zadań, R| | .

Maksymalizacja zysku

Bar-Noy, Bar-Yehuda, Freund, Naor i Schieber rozważają ustawienie, w którym dla każdej pracy i maszyny istnieje zysk z wykonywania tej pracy na tej maszynie. Przedstawiają przybliżenie 1/2 dla wejścia dyskretnego i przybliżenie (1- ε )/2 dla wejścia ciągłego.

Maksymalizacja minimalnego czasu realizacji

Załóżmy, że zamiast „prac” mamy wartościowe przedmioty, a zamiast „maszyn” mamy ludzi. Osoba i ocenia przedmiot j na p i,j . Chcielibyśmy przydzielać przedmioty ludziom tak, aby najmniej zadowolona osoba była jak najbardziej zadowolona. Ten problem jest odpowiednikiem planowania niepowiązanych maszyn, w którym celem jest maksymalizacja minimalnego czasu realizacji. Jest lepiej znany pod nazwą egalitarny lub alokacja przedmiotów max-min .

Formuła programowania liniowego

Naturalny sposób sformułowania problemu jako programu liniowego nazywa się programem liniowym Lenstra – Shmoys – Tardos (LST LP) . Dla każdej maszyny i i zadania j , zdefiniuj zmienną , która jest równa 1 jeśli maszyna przetwarza zadanie 0 w przeciwnym . Zatem ograniczenia LP to:

  • dla każdej pracy j w 1, ..., n;
  • cdot każda maszyna i w 1,..., m;
  • dla każdego ja , jot .

Złagodzenie ograniczeń całkowitoliczbowych daje program liniowy z wielomianem wielkości na wejściu. Rozwiązanie problemu zrelaksowanego można zaokrąglić, aby uzyskać przybliżenie problemu do 2.

Innym sformułowaniem LP jest konfiguracja programu liniowego . Dla każdej maszyny i istnieje skończenie wiele podzbiorów zadań, które maszyna i może wykonać w czasie co najwyżej T. Każdy taki podzbiór nazywany jest konfiguracją dla maszyny i . Oznaczmy przez C i ( T ) zbiór wszystkich konfiguracji dla maszyny i . Dla każdej maszyny i i konfiguracji c w C i ( T , zdefiniuj zmienną jeśli rzeczywista konfiguracja używana w maszynie to c , 0 w przeciwnym razie Zatem ograniczenia LP to:

  • dla każdej maszyny ja w 1, .. ., m;
  • dla każdego zadania j w 1,..., n;
  • dla każdego ja , jot .

Należy zauważyć, że liczba konfiguracji jest zwykle wykładnicza w stosunku do rozmiaru problemu, więc rozmiar konfiguracji LP jest wykładniczy. Jednak w niektórych przypadkach możliwe jest ograniczenie liczby możliwych konfiguracji, a tym samym znalezienie przybliżonego rozwiązania w czasie wielomianowym.

Przypadki specjalne

Istnieje szczególny przypadek, w którym p i,j wynosi albo 1, albo nieskończoność. Innymi słowy, każde zadanie może być przetwarzane na podzbiorze dozwolonych maszyn , a jego czas wykonania na każdej z tych maszyn wynosi 1. Wariant ten jest czasami oznaczany przez „ P|p j =1,M j | ". Można go rozwiązać w czasie wielomianowym.

Rozszerzenia

Kim, Kim, Jang i Chen rozszerzają ten problem, umożliwiając każdemu zadaniu ustawienie czasu, który zależy od zadania, ale nie od maszyny. Przedstawiają rozwiązanie wykorzystujące symulowane wyżarzanie . Vallada i Ruiz przedstawiają rozwiązanie wykorzystujące algorytm genetyczny .

Caragiannis rozszerza problem w inny sposób, zakładając, że prace są własnością samolubnych agentów (patrz Prawdziwe planowanie pracy ).

Linki zewnętrzne

  1. ^ ab Horowitz    , Ellis; Sahni, Sartadź (1976-04-01). „Dokładne i przybliżone algorytmy planowania procesorów nieidentycznych” . Dziennik ACM . 23 (2): 317–327. doi : 10.1145/321941.321951 . ISSN 0004-5411 . S2CID 18693114 .
  2. ^    Lenstra, Jan Karel; Shmoys, David B.; Tardos, Éva (1990-01-01). „Algorytmy aproksymacji do planowania niepowiązanych maszyn równoległych” . Programowanie matematyczne . 46 (1): 259–271. doi : 10.1007/BF01585745 . ISSN 1436-4646 . S2CID 52867171 .
  3. ^    Verschae, José; Wiese, Andreas (2013-11-10). „Na konfiguracji-LP do planowania na niepowiązanych maszynach” . Dziennik planowania . 17 (4): 371–383. doi : 10.1007/s10951-013-0359-4 . ISSN 1094-6136 . S2CID 254694965 .
  4. ^   Szkło, Kalifornia; Potts, CN; Cień, P. (1994-07-01). „Planowanie niepowiązanych maszyn równoległych przy użyciu wyszukiwania lokalnego” . Modelowanie matematyczne i komputerowe . 20 (2): 41–52. doi : 10.1016/0895-7177(94)90205-4 . ISSN 0895-7177 .
  5. Bibliografia    _ Coffman, EG; Sethi, R. (1974-07-01). „Planowanie niezależnych zadań w celu skrócenia średniego czasu ukończenia” . Komunikaty ACM . 17 (7): 382–387. doi : 10.1145/361011.361064 . ISSN 0001-0782 . S2CID 2507557 .
  6. ^    Sahni, Sartadź K. (1976-01-01). „Algorytmy planowania zadań niezależnych” . Dziennik ACM . 23 (1): 116–127. doi : 10.1145/321921.321934 . ISSN 0004-5411 . S2CID 10956951 .
  7. ^   Schulz, Andreas S.; Skutella, Martin (2002-01-01). „Planowanie niepowiązanych maszyn przez losowe zaokrąglanie” . SIAM Journal o matematyce dyskretnej . 15 (4): 450–469. doi : 10.1137/S0895480199357078 . ISSN 0895-4801 .
  8. ^    Bar-Noy, Amotz; Bar-Jehuda, Reuwen; Freund, Ari; (Seffi) Naor, Józef; Schieber, Baruch (2001-09-01). „Ujednolicone podejście do przybliżania alokacji zasobów i planowania” . Dziennik ACM . 48 (5): 1069–1090. doi : 10.1145/502102.502107 . ISSN 0004-5411 . S2CID 12329294 .
  9. ^ ab Lenstra    , Jan Karel; Shmoys, David B.; Tardos, Éva (1990-01-01). „Algorytmy aproksymacji do planowania niepowiązanych maszyn równoległych” . Programowanie matematyczne . 46 (1): 259–271. doi : 10.1007/BF01585745 . ISSN 1436-4646 . S2CID 206799898 .
  10. ^   Lin, Yixun; Li, Wenhua (2004-07-01). „Równoległe planowanie maszynowe zadań zależnych od maszyny o długości jednostkowej” . Europejski Dziennik Badań Operacyjnych . EURO Excellence in Practice Award 2001. 156 (1): 261–266. doi : 10.1016/S0377-2217(02)00914-1 . ISSN 0377-2217 .
  11. ^   Kim, Dong-Won; Kim, Kyong-Hee; Jang, Wooseung; Frank Chen, F. (2002-06-01). „Niepowiązane równoległe planowanie maszyn z czasami ustawiania przy użyciu symulowanego wyżarzania” . Robotyka i produkcja zintegrowana z komputerem . 18 (3–4): 223–231. doi : 10.1016/S0736-5845(02)00013-3 . ISSN 0736-5845 .
  12. ^   Vallada, Ewa; Ruiz, Rubén (2011-06-16). „Algorytm genetyczny dla niepowiązanego problemu szeregowania maszyn równoległych z czasami konfiguracji zależnymi od sekwencji” . Europejski Dziennik Badań Operacyjnych . 211 (3): 612–622. doi : 10.1016/j.ejor.2011.01.011 . hdl : 10251/35412 . ISSN 0377-2217 .
  13. ^   Vallada, Ewa; Ruiz, Rubén (2011-06-16). „Algorytm genetyczny dla niepowiązanego problemu szeregowania maszyn równoległych z czasami konfiguracji zależnymi od sekwencji” . Europejski Dziennik Badań Operacyjnych . 211 (3): 612–622. doi : 10.1016/j.ejor.2011.01.011 . hdl : 10251/35412 . ISSN 0377-2217 .