Bei Jobs J 1 , J 2 , . . . , J n , jeder Job benötigt T i > 0 , T i ∈ N Zeit, um abgeschlossen zu werden.
Jeder Auftrag muss von einer einzelnen Maschine M vor- und nachbearbeitet werden, die jeweils nur einen Auftrag verarbeiten kann, und beide Phasen erfordern 1 Zeiteinheit. Nach der Vorverarbeitung wird der Job an eine Maschine mit unbegrenzter Leistung gesendet (die eine unbegrenzte Anzahl von Jobs parallel verarbeiten kann) und er wird zum Zeitpunkt T i bereit sein , dann muss er ( sofort ) an die Maschine M gesendet werden wieder zur Nachbearbeitung.
Das damit verbundene Entscheidungsproblem ist:
Eingabe: die Verarbeitungszeiten von N Jobs, eine ganze Zahl K ≥ 2 N Frage: Können wir alle Jobs in der Zeit ≤ K unter Verwendung des obigen "Engpass" -Modells verarbeiten?
Hat dieses Problem einen Namen?
Was ist ihre Komplexität? ( Ist es in oder ist es N P- vollständig?)
UPDATE 29. März:
Wie von M.Cafaro in seiner Antwort richtig bemerkt, ähnelt das
Problem dem UMFT-Problem (Unconstrained Minimum Finish Time Problem) (siehe Kapitel 17 des
Handbuchs für Planungsalgorithmen ), das -hard ist (bewiesen in W. Kern und W. Nawijn, "Planen von Jobs mit mehreren Operationen mit Zeitverzögerungen auf einer einzelnen Maschine", University of Twente, 1993). Wie ich sehen kann, gibt es einige Unterschiede in meinem Modell:
- Die Vor- / Nachbearbeitungszeit ist konstant (1 Zeiteinheit).
- Sobald der Auftrag abgeschlossen ist, muss er sofort nachbearbeitet werden (das UMFT-Modell ermöglicht Verzögerungen).
Ich habe den Kern & Nawijn-Beweis nicht online gefunden, daher weiß ich immer noch nicht, ob die oben genannten Einschränkungen die Schwierigkeit des Problems ändern.
Schließlich können Sie sich den gesamten Prozess wie einen einzelnen Kochroboter mit einem großen Ofen vorstellen. Der Roboter kann nacheinander verschiedene Arten von Lebensmitteln zubereiten (alle erfordern die gleiche Zubereitungszeit), sie in den Ofen stellen. Sobald sie gekocht sind, muss er sie aus dem Ofen nehmen und einige kalte Zutaten hinzufügen ... das " Kochroboterproblem " :-)