Pianificazione dei lavori con un collo di bottiglia


11

Dato lavori J 1 , J 2 , . . . , J n , ogni lavoro richiede T i > 0 , T iN tempo per il completamento.nJ1,J2,...,JnTio>0,TioN

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.JioTio

inserisci qui la descrizione dell'immagine

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?Tio>0,TioNNK2N
K

Questo problema ha un nome?
Qual è la sua complessità? (è in o è N P -completo?) PNP

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:NP

  • 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 " :-)


Bello. Ho la sensazione che il collo di bottiglia dovrebbe semplificare le cose.
Raffaello

Il vincolo viene sempre verificato, poiché i costi di pre e post-elaborazione sono sia 1 unità di tempo che non ci sono n lavori. Sei sicuro che il vincolo sia corretto? K2nn
Massimo Cafaro,

Spiacente, non ero chiaro su cosa intendevo nel commento precedente. viene esplicitamente indicato nell'input come una "scadenza" o stai chiedendo un algoritmo per minimizzare k ? KK
Massimo Cafaro,

@MassimoCafaro: viene fornito come input (per rendere il problema di ottimizzazione un problema decisionale). Come hai notato, ho scritto k 2 n perché se k < 2 n la risposta è banalmente NO. Ma forse è confuso e dovrei eliminarlo. Kk2nk<2n
Vor

1
La tua domanda è stata dimostrata NP-completa in "Ridurre al minimo la durata in un negozio a flusso di due macchine con ritardi e operazioni a tempo unitario NP-difficile" di W. Yu, H. Hoogeveen e JK Lenstra (2004), che affermano anche che Kern e Nawijn non l'hanno risolto. Cito: "Lo stato di complessità del caso speciale con le attività del tempo di elaborazione dell'unità è stato aperto per ritardi sia minimi che esatti. Lo stato di complessità di quello con ritardi minimi è posto come una domanda aperta di Kern e Nawijn (1991)."
Peter Shor,

Risposte:


5

La domanda è provata NP-hard in "Ridurre al minimo la durata in un negozio a flusso di due macchine con ritardi e operazioni a tempo unitario NP-Hard" di W. Yu, H. Hoogeveen e JK Lenstra (2004). Ciò è dimostrato nella sezione 9 del documento:

Teorema 24. Il problema di ridurre al minimo il makepan su una singola macchina con due operazioni di tempo unitario per lavoro con ritardi intermedi arbitrari è fortemente NP-difficile.

Il modello esatto studiato qui è che il lavoro consiste in due operazioni che prendono il tempo unitario separato da un certo ritardo T i . Il problema è fortemente NP-completo sia quando viene specificato il valore esatto del ritardo T i per ciascun lavoro, sia quando viene specificato un tempo di ritardo minimo per ciascun lavoro.ioTioTio


5

Sembra il cosiddetto modello di programmazione master-slave introdotto da Sahni . In particolare, il tuo problema rientra nei sistemi Master-Slave Single-Master. Puoi distinguere diversi casi:

1) Se non si aggiunge alcun vincolo aggiuntivo all'ordine di esecuzione del lavoro (come nel proprio caso), il problema si chiama problema di tempo di finitura minimo non vincolato (UMFT) e si è dimostrato NP-difficile;

O(nlogn)

NPP

Ulteriori problemi correlati sono:

σσ

4) vincolo no-wait-in-process:

a) [MFTNW] Ridurre al minimo il tempo di fine soggetto al vincolo di non attesa; b) [OP-MFTNW] Questa è la versione per la conservazione degli ordini di MFTNW. Cioè, ridurre al minimo i tempi di finitura soggetti ai vincoli di non attesa nel processo e di conservazione dell'ordine; c) [RO-MFTNW] Ridurre al minimo i tempi di finitura soggetti ai vincoli di non attesa in corso e all'ordine inverso.

un'Bc

Ulteriori dettagli nel Manuale di programmazione , capitolo 17.


n

nnnn

2
Mi sembra che la prova di durezza NP di Sahni usi criticamente il fatto che i tempi di pre-elaborazione e post-elaborazione possono essere arbitrari. Il problema del PO ha tutti questi tempi pari a 1. La prova funziona in questo caso?
Peter Shor,

Vor, il documento a cui ti riferisci è solo un estratto con molte parti mancanti del capitolo 17 del libro. Tuttavia, la parte mancante ti impedirà di comprendere correttamente (notazione mancante ecc.).
Massimo Cafaro,

O(nlogn)
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.