Ottimizzare la programmazione del lavoro con due macchine
Uno studio su come pianificare i lavori in modo efficiente usando due macchine e un server.
― 5 leggere min
In questo articolo, parleremo di un problema di programmazione dei lavori dove abbiamo due macchine e un server. Il server si occupa di caricare e scaricare i lavori prima e dopo che siano stati elaborati sulle macchine. Il nostro obiettivo principale è minimizzare il tempo totale necessario per completare tutti i lavori, noto come Makespan.
Panoramica del Problema
Il problema di programmazione che stiamo affrontando coinvolge due macchine parallele identiche. Ogni lavoro deve essere caricato su una macchina dal server prima di poter essere elaborato. Una volta completata l'Elaborazione, il lavoro deve essere scaricato dallo stesso server. I vincoli importanti includono:
- Non ci possono essere ritardi tra il Caricamento e l'elaborazione.
- Non ci possono essere ritardi tra l'elaborazione e lo scarico.
Questa impostazione significa che una volta che un lavoro è caricato su una macchina, deve essere elaborato subito senza alcuna attesa, e deve anche essere scaricato immediatamente dopo l'elaborazione.
Tipi di Operazioni
Le operazioni in questo problema di programmazione possono essere suddivise in:
- Caricamento: È quando il server prepara il lavoro su una macchina.
- Elaborazione: È quando il lavoro viene effettivamente lavorato dalla macchina.
- Scarico: È quando il server prende il lavoro dalla macchina dopo l'elaborazione.
Obiettivi dello Studio
L'obiettivo principale del nostro studio è trovare il modo più efficiente per programmare i lavori in modo che il tempo totale impiegato (makespan) sia minimizzato. Questo problema è particolarmente complesso perché abbiamo più compiti che avvengono simultaneamente su due macchine.
Ricerca Precedente e Lacune
Sebbene i ricercatori abbiano studiato vari aspetti della programmazione dei lavori, c'è stata poca attenzione specificamente sullo scenario in cui un singolo server gestisce sia il caricamento che lo scarico per due macchine. La maggior parte degli studi considera solo server che gestiscono separatamente le operazioni di caricamento o scarico.
Per contribuire a quest'area, proponiamo nuovi metodi e forniamo nuove formulazioni per comprendere e risolvere meglio questa sfida della programmazione.
Metodologia
Per affrontare questo problema di programmazione, abbiamo sviluppato due formulazioni di programmazione lineare intera mista (MILP):
- Variabili di Tempo di Completamento: Questo metodo tiene traccia di quando ciascun lavoro è completato in base ai tempi di caricamento, elaborazione e scarico.
- Variabili Indicizzate dal Tempo: In questo approccio, il tempo è suddiviso in periodi discreti e teniamo traccia di quando ciascun lavoro inizia e finisce all'interno di questi intervalli di tempo.
Inoltre, abbiamo sviluppato alcune disuguaglianze per migliorare le nostre formulazioni e proposto casi che potrebbero essere risolti in tempo polinomiale, fornendo un limite teorico inferiore per il makespan.
Algoritmi
Progettazione degliData la complessità della programmazione di grandi insiemi di lavori, abbiamo progettato un algoritmo di Ricerca Generale nel Vicinato Variabile (GVNS). Questo algoritmo utilizza due metodi per iniziare: può usare un metodo di miglioramento iterativo per trovare una soluzione iniziale o generare soluzioni casualmente.
Un altro approccio che abbiamo studiato è il Procedura di Ricerca Greedy Randomized Adaptive (GRASP), che cerca di perfezionare le soluzioni attraverso un processo in due fasi: costruire una soluzione e poi ottimizzarla.
Esperimenti e Risultati
Abbiamo eseguito test approfonditi su 240 diverse istanze del problema per valutare come si comportano i nostri algoritmi e metodi. Ecco cosa abbiamo trovato:
Istanze di Dimensioni Piccole
Per insiemi più piccoli di lavori, sia GVNS che GRASP hanno mostrato prestazioni notevoli. Hanno trovato soluzioni ottimali molto più rapidamente rispetto alle nostre formulazioni MILP iniziali.
- GVNS I (con miglioramenti iterativi) ha fornito i migliori risultati, dimostrando tempi di calcolo medi molto bassi per trovare programmi ottimali.
Istanze di Dimensioni Medie
In scenari di dimensioni medie, GVNS e GRASP hanno comunque superato gli approcci MILP. La differenza nelle prestazioni è diventata più evidente man mano che aumentava il numero di lavori.
- GVNS I ha costantemente trovato le migliori soluzioni e mantenuto tempi di calcolo medi più bassi.
Istanze di Dimensioni Grandi
Per insiemi più grandi di lavori, le sfide sono aumentate significativamente. Le formulazioni MILP hanno faticato a fornire soluzioni entro un intervallo di tempo ragionevole, mentre i nostri approcci metaeuristici hanno continuato a trovare soluzioni di alta qualità.
- GVNS I ha di nuovo guidato il modo, scoprendo le migliori soluzioni in più run, dimostrando ulteriormente la sua efficacia.
Conclusione
In sintesi, abbiamo affrontato un complesso problema di programmazione dei lavori dove un singolo server gestisce i compiti di caricamento e scarico per due macchine identiche. Sviluppando due nuove formulazioni e applicando algoritmi avanzati, abbiamo fornito un approccio robusto per minimizzare il makespan.
I nostri esperimenti hanno dimostrato che metodi metaeuristici come GVNS hanno superato significativamente gli approcci matematici tradizionali, specialmente man mano che le dimensioni del problema crescevano. Questo lavoro apre la porta per future ricerche in ambienti di programmazione ancora più complessi, potenzialmente incorporando vari tipi di macchine e requisiti di lavoro più intricati.
Implicazioni Pratiche
Capire come programmare efficacemente i lavori può beneficiare vari settori, dalla produzione alla logistica. Ottimizzando il processo, le aziende possono ridurre ritardi, migliorare l'utilizzo delle risorse e ottenere una maggiore efficienza complessiva.
Direzioni per Future Ricerche
Studi futuri potrebbero espandere questo lavoro sperimentando con più macchine, scenari di programmazione dinamica in cui i requisiti di lavoro potrebbero cambiare, e integrando dati in tempo reale per adattare i programmi al volo. C'è anche potenziale per valutare gli impatti dei server di scarico sull'efficienza complessiva, confrontando scenari con e senza di essi.
Pensieri Finali
Questa ricerca evidenzia l'importanza di una programmazione intelligente e della gestione delle risorse nelle operazioni moderne. Con i giusti approcci e metodologie, possiamo migliorare significativamente la produttività e snellire i processi in molti settori.
Titolo: Scheduling on parallel machines with a common server in charge of loading and unloading operations
Estratto: This paper addresses the scheduling problem on two identical parallel machines with a single server in charge of loading and unloading operations of jobs. Each job has to be loaded by the server before being processed on one of the two machines and unloaded by the same server after its processing. No delay is allowed between loading and processing, and between processing and unloading. The objective function involves the minimization of the makespan. This problem referred to as P2, S1|sj , tj |Cmax generalizes the classical parallel machine scheduling problem with a single server which performs only the loading (i.e., setup) operation of each job. For this NP-hard problem, no solution algorithm was proposed in the literature. Therefore, we present two mixedinteger linear programming (MILP) formulations, one with completion-time variables along with two valid inequalities and one with time-indexed variables. In addition, we propose some polynomial-time solvable cases and a tight theoretical lower bound. In addition, we show that the minimization of the makespan is equivalent to the minimization of the total idle times on the machines. To solve large-sized instances of the problem, an efficient General Variable Neighborhood Search (GVNS) metaheuristic with two mechanisms for finding an initial solution is designed. The GVNS is evaluated by comparing its performance with the results provided by the MILPs and another metaheuristic. The results show that the average percentage deviation from the theoretical lower-bound of GVNS is within 0.642%. Some managerial insights are presented and our results are compared with the related literature.
Autori: Abdelhak Elidrissi, Rachid Banmansour, Keramat Hasani, Frank Werner
Ultimo aggiornamento: 2023-06-28 00:00:00
Lingua: English
URL di origine: https://arxiv.org/abs/2306.16669
Fonte PDF: https://arxiv.org/pdf/2306.16669
Licenza: https://creativecommons.org/licenses/by/4.0/
Modifiche: Questa sintesi è stata creata con l'assistenza di AI e potrebbe presentare delle imprecisioni. Per informazioni accurate, consultare i documenti originali collegati qui.
Si ringrazia arxiv per l'utilizzo della sua interoperabilità ad accesso aperto.