Pianificazione dei lavori con un collo di bottiglia


11

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

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,Tio∈NNK≥2N
≤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? K≥2nn
— 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. Kk≥2nk<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(nlog⁡n)

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(nlog⁡n)
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.