Étant donné travaux , chaque travail nécessite temps pour se terminer.
Chaque travail doit être prétraité et post-traité par une seule machine M qui ne peut gérer qu'un seul travail à la fois et les deux phases nécessitent 1 unité de temps. Après avoir été prétraité, le travail est envoyé à une machine avec une puissance illimitée (qui peut gérer en parallèle un nombre illimité de travaux) et il sera prêt dans le temps , puis il doit être envoyé ( immédiatement ) à nouveau à la machine M pour post-traitement.
Le problème de décision associé est:
Saisie: les temps de traitement de jobs, un entier Question: pouvons-nous traiter tous les jobs dans le temps utilisant le modèle de "goulot d'étranglement" ci-dessus?
Ce problème a-t-il un nom?
Quelle est sa complexité? (est-il dans ou est-il -complet?)
MISE À JOUR 29 mars:
Comme l'a correctement noté M.Cafaro dans sa réponse, le problème est similaire au
problème de temps de fin minimal sans contrainte (UMFT) (voir le chapitre 17 du
Manuel des algorithmes de planification ) qui est -hard (prouvé dans W. Kern et W. Nawijn, "Scheduling multi-operation jobs with time lags on a single machine", Université de Twente, 1993). Comme je peux le voir, il y a quelques différences car dans mon modèle:
- le temps de pré / post-traitement est constant (1 unité de temps)
- dès que le travail est terminé, il doit être immédiatement post-traité (le modèle UMFT permet des retards)
Je n'ai pas trouvé la preuve Kern & Nawijn en ligne, donc je ne sais toujours pas si les restrictions ci-dessus changent la difficulté du problème.
Enfin, vous pouvez penser l'ensemble du processus comme un robot de cuisson unique avec un grand four; le robot peut préparer différents types d'aliments un par un (tous nécessitent le même temps de préparation), les mettre au four, et dès qu'ils sont cuits il doit les retirer du four et ajouter des ingrédients froids ... le " problème du robot cuisinier " :-)