Dato lavori J 1 , J 2 , . . . , J n , ogni lavoro richiede T i > 0 , T i ∈ N tempo per il completamento.
Ogni lavoro deve essere pre-elaborato e post-elaborato da una singola macchina M in grado di gestire solo 1 lavoro alla volta ed entrambe le fasi richiedono 1 unità di tempo. Dopo essere stato preelaborato, il lavoro viene inviato a una macchina con potenza illimitata (che può gestire in parallelo un numero illimitato di lavori) e sarà pronto in tempo T i , quindi dovrà essere inviato ( immediatamente ) alla macchina M di nuovo per la post-elaborazione.
Il problema decisionale associato è:
Input: i tempi di elaborazione di N lavori, un numero intero K ≥ 2 N Domanda: possiamo elaborare tutti i lavori in tempo ≤ K usando il modello "collo di bottiglia" sopra?
Questo problema ha un nome?
Qual è la sua complessità? (è in o è N P -completo?)
AGGIORNAMENTO 29 marzo:
Come correttamente notato da M. Cafaro nella sua risposta, il problema è simile al
Problema del tempo minimo di arrivo non vincolato (UMFT) (vedere il capitolo 17 del
Manuale degli algoritmi di schedulazione ) che è -hard (dimostrato in W. Kern e W. Nawijn, "Pianificazione di lavori multi-operazione con ritardi temporali su una sola macchina", Università di Twente, 1993). Come posso vedere, ci sono alcune differenze perché nel mio modello:
- il tempo di pre / post elaborazione è costante (1 unità di tempo)
- non appena il lavoro è completato, deve essere immediatamente postelaborato (il modello UMFT consente ritardi)
Non ho trovato la prova di Kern & Nawijn online, quindi non so ancora se le restrizioni di cui sopra cambiano la difficoltà del problema.
Finalmente puoi pensare l'intero processo come un robot a cottura singola con un grande forno; il robot può preparare diversi tipi di alimenti uno alla volta (tutti richiedono lo stesso tempo di preparazione), metterli in forno e non appena sono cotti deve rimuoverli dal forno e aggiungere alcuni ingredienti freddi ... il " problema del robot cuoco " :-)