Biorąc pod uwagę zadań każde zadanie wymaga czasu czasu.J 1 , J 2 , . . . , J n T i > 0 , T i ∈ N
Każde zadanie musi być wstępnie przetworzone i przetworzone przez pojedynczą maszynę M, która może obsłużyć tylko 1 zadanie na raz, a obie fazy wymagają 1 jednostki czasu. Po wstępnym przetworzeniu zadanie jest wysyłane do maszyny o nieograniczonej mocy (która może obsługiwać równolegle nieograniczoną liczbę zadań) i będzie gotowe w czasie , a następnie musi zostać przesłane ( natychmiast ) do maszyny M ponownie w celu przetwarzanie końcowe.T i
Związany z tym problem decyzyjny to:
Wejście: Czasy przetwarzania z pracy, liczba całkowita Pytanie: można przetwarzać wszystkie zadania w czasie za pomocą powyższego modelu "wąskiego gardła"? N K ≥ 2 N
Czy ten problem ma nazwę?
Jaka jest jego złożoność? (czy jest w czy jest -kompletny?) N P
UPDATE 29 marca:
Jak słusznie zauważył przez M.Cafaro w swojej odpowiedzi, problem jest podobny do
Unconstrained Minimalna zakończeniem czasu problem (UMFT) (patrz rozdział 17 z
Handbook of Scheduling algorytmów ), który jest -hard (potwierdzone w W. Kern i W. Nawijn, „Planowanie zadań wielozadaniowych z opóźnieniami czasowymi na jednej maszynie”, University of Twente, 1993). Jak widzę, istnieją pewne różnice, ponieważ w moim modelu:
- czas przetwarzania wstępnego / końcowego jest stały (1 jednostka czasu)
- jak tylko zadanie zostanie ukończone, musi być natychmiast przetworzone (model UMFT dopuszcza opóźnienia)
Nie znalazłem dowodu Kern & Nawijn w Internecie, więc nadal nie wiem, czy powyższe ograniczenia zmieniają trudność problemu.
Wreszcie możesz pomyśleć cały proces jak pojedynczy robot kuchenny z dużym piekarnikiem; robot może przygotowywać różne rodzaje żywności pojedynczo (wszystkie wymagają tego samego czasu przygotowania), wkładać je do piekarnika, a gdy tylko zostaną ugotowane, musi je wyjąć z piekarnika i dodać trochę zimnych składników ... „ problem robota kucharza ” :-)