Dado trabalhos , cada trabalho exige tempo para completar.
Cada trabalho deve ser pré-processado e pós-processado por uma única máquina M que pode lidar com apenas 1 trabalho por vez e as duas fases requerem 1 unidade de tempo. Depois de ser pré-processados, trabalho é enviado para uma máquina com poder ilimitado (que pode lidar em paralelo um número ilimitado de postos de trabalho) e ele vai estar pronto a tempo , então ele deve ser enviado ( imediatamente ) a máquina M novamente para pós-processamento.
O problema de decisão associado é:
Entrada: O processamento tempos de N postos de trabalho, um inteiro K ≥ 2 N Pergunta: podemos processar todos os postos de trabalho em tempo ≤ K
usando o modelo acima "gargalo"?
Esse problema tem um nome?
Qual é a sua complexidade? (está em ou está em N P cheio de ?)
ATUALIZAÇÃO 29 de março:
Como percebido corretamente por M.Cafaro em sua resposta, o problema é semelhante ao
Problema de tempo mínimo sem restrição (UMFT) (consulte o Capítulo 17 do
Manual de programação de algoritmos ), que é duro (comprovado em W. Kern e W. Nawijn, "Planejando trabalhos de multi-operação com tempo atrasado em uma única máquina", University of Twente, 1993). Como posso ver, existem algumas diferenças, porque no meu modelo:
- o tempo de pré / pós-processamento é constante (1 unidade de tempo)
- assim que o trabalho for concluído, ele deverá ser imediatamente pós-processado (o modelo UMFT permite atrasos)
Não encontrei a prova de Kern & Nawijn on-line, então ainda não sei se as restrições acima alteram a dificuldade do problema.
Finalmente, você pode pensar em todo o processo como um único robô de cozinha com um grande forno; o robô pode preparar diferentes tipos de alimentos, um de cada vez (todos exigem o mesmo tempo de preparação), colocá-los no forno e, assim que estiverem cozidos, deve removê-los do forno e adicionar alguns ingredientes frios ... o " problema do robô de cozinha " :-)