Un approccio esatto per il job shop

Documenti analoghi
Esercitazione: Job shop scheduling con vincoli di processo. 22/12/2010 Ottimizzazione della Logistica

CASE STUDY 2. Fabbricazione dell acciaio. Un problema di pianificazione: Minimizzazione dei costi di carica del forno. Dati. Formulazione del problema

Problema del Job Shop

Problema del Job Shop

Approcci euristici per il job shop

Approcci esatti per il job shop

Grafo per n/m/g/c max r i =0

Makespan con set-up dipendenti dalla sequenza. 1/s jk /C max

1. Considerazioni generali

Ricerca per ispezione guidata (Branch and Bound) per min L max con r j 0

5.1 Metodo Branch and Bound

Modelli dei Sistemi di Produzione Modelli e Algoritmi della Logistica

BOLLETTINO UNIONE MATEMATICA ITALIANA

1) Disegnare la rete di progetto con le attività sugli archi, e la rete di progetto con le attività sui nodi.

Organizzazione della produzione

Ottimizzazione Combinatoria e Reti (a.a. 2007/08)

RICERCA OPERATIVA (a.a. 2018/19)

2.2 Alberi di supporto di costo ottimo

RICERCA OPERATIVA (a.a. 2015/16) Nome: Cognome: Matricola:

3.2 Rilassamenti lineari/combinatori e bounds

5.1 Metodo Branch and Bound

2.2 Alberi di supporto di costo ottimo

Metodi di Ottimizzazione mod. Modelli per la pianificazione delle attività

2JSP: Condivisione a tempo minimo di risorse per due lavori*. Griglia, Grafo degli stati

FACOLTA DI ECONOMIA ESAME SCRITTO DI RICERCA OPERATIVA. Verona, 6 Giugno 1996

Linea di 4 macchine con buffer

RICERCA OPERATIVA (a.a. 2008/09) Nome: Cognome: Matricola:

ALBERI ORIENTATI. Definizione: Albero orientato = rooted tree = grafo orientato con le seguenti proprietà: - ha un nodo fissato, detto radice (r);

Algoritmi di Ricerca

PLANNING LINEARE FORWARD. Esercizio in Prolog

RICERCA OPERATIVA (a.a. 2017/18) Nome: Cognome: Matricola:

ESERCIZIO 1: Punto 1

Richiami di matematica discreta: grafi e alberi. Paolo Camurati Dip. Automatica e Informatica Politecnico di Torino

«Sciente e Tecnologie dei Beni Culturali»

Certificati dei problemi in NP

Branch-and-bound per TSP

2.2 Alberi di supporto di costo ottimo

Organizzazione della produzione

RICERCA OPERATIVA (a.a. 2017/18) Nome: Cognome: Matricola:

COMPITO DI RICERCA OPERATIVA. max 8 5x 1 3x 2 x 3 = 1 + 4x 1 + x 2 x 4 = 1 x 1 + x 2 x 5 = 5 x 1 x 2

2.2 Alberi di supporto di costo ottimo

Modelli di Sistemi di Produzione I

heap concetti ed applicazioni

Alberi. Alberi: definizioni. Alberi Binari. Esercizi su alberi binari: metodi ricorsivi. Struttura dati per alberi generici. ASD-L - Luca Tesei

Prima prova Intermedia di Ricerca Operativa 2 COMPITO A Esercizio 1 (7 punti): LIFO

3.4 Metodo di Branch and Bound

Alberi binari: definizione e alcune proprietà

Introduzione al Project Scheduling

Macchine parallele M 1 M 2 M 3 J 1 J 2 LAVORI J 3 J 4

Macchine parallele M 1 M 2 M 3 J 1 J 2 LAVORI J 3 J 4

PSPACE completezza. Un linguaggio A è PSPACE completo se. 1. A è in PSPACE, cioè esiste una TM T che accetta A con complessità di spazio polinomiale.

Soluzione dei problemi di Programmazione Lineare Intera

Algoritmi e Strutture Dati. Capitolo 12 Minimo albero ricoprente: Algoritmo di Kruskal

Code a priorità Una coda a priorità è una struttura dati astratta che permette di rappresentare un insieme di elementi su cui è definita una

1) Codici convoluzionali. 2) Circuito codificatore. 3) Diagramma a stati e a traliccio. 4) Distanza libera. 5) Algoritmo di Viterbi

RICERCA OPERATIVA (a.a. 2014/15) Nome: Cognome: Matricola:

Il Problema dell Albero Ricoprente Minimo (Shortest Spanning Tree - SST)

Linea monoprodotto con assiemature (modello:pettine): lotto, flusso. Minimo tempo di completamento: pezzo singolo, lotto finito, linea satura

Algoritmi di Ricerca

METODI DELLA RICERCA OPERATIVA

Il problema del commesso viaggiatore e problemi di vehicle routing

Spesso sono definite anche le seguenti operazioni:

Soddisfacibilità e Semantic Tableau [1]

RICERCA OPERATIVA (a.a. 2011/12) Nome: Cognome: Matricola:

Introduzione ai grafi. Introduzione ai grafi p. 1/2

2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

RICERCA OPERATIVA (a.a. 2018/19) Nome: Cognome: Matricola:

Introduzione ai grafi. Introduzione ai grafi p. 1/2

2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Figura 1: 1) Si scriva la formulazione del problema come problema di PLI (con un numero minimo di vincoli) e la matrice dei vincoli.

Introduzione al Project Scheduling

Grafi: definizioni e visite

Schedulazione di attività in presenza di attività interrompibili

Grammatiche. Grammatiche libere da contesto Grammatiche regolari Potenza delle grammatiche libere e regolari Struttura di frase: Alberi di derivazione

RICERCA OPERATIVA (a.a. 2017/18) Nome: Cognome: Matricola:

1 TEORIA DELLE RETI 1. 1 Teoria delle reti. 1.1 Grafi

Grafi diretti. Un grafo diretto (o grafo orientato) G è una coppia (V,E) dove. V è u n i n s i e m e d i nodi (o vertici);

Strutture dati per insiemi disgiunti

Lezioni di Ricerca Operativa

RICERCA OPERATIVA (a.a. 2014/15) Nome: Cognome: Matricola:

Introduzione ai grafi

Informatica 3. LEZIONE 16: Heap - Codifica di Huffmann. Modulo 1: Heap e code di priorità Modulo 2: Esempio applicativo: codifica di Huffmann

Algoritmi e Strutture Dati

JOB SHOP SCHEDULING Algoritmo di tabu search

Il metodo dei Piani di Taglio (Cutting Planes Method)

Tipi di dato e Strutture dati elementari

MATEMATICA DISCRETA CLAUDIA MALVENUTO PRIMA PROVA IN ITINERE 24 APRILE 2014

Intelligenza Artificiale. Ricerca euristica Algoritmo A*

Automi e Linguaggi Formali

RICERCA OPERATIVA. Tema d esame del 04/12/2008 (Simulazione 1)

Il problema del commesso viaggiatore

Algoritmi Avanzati Soluzioni dello scritto del 2 febbraio 2004 (appello straordinario)

Soluzione dei problemi di Programmazione Lineare Intera

Domini di funzioni di due variabili. Determinare i domini delle seguenti funzioni di due variabili (le soluzioni sono alla fine del fascicolo):

Parte 3: Gestione dei progetti, Shop scheduling

Ordinamenti. Grafo : definizione. Un grafo G = (V,E)è composto da: V: insieme di vertici E V V: insieme di archi (edge) che connettono i vertici

COMPITO DI RICERCA OPERATIVA APPELLO DEL 07/04/04

Indici con gli alberi

Algoritmi e Strutture Dati

Transcript:

Un approccio esatto per il ob shop Riferimenti lezione: rucker, P., Jurisch,. & Sievers,. (994) branch and bound algorithm for the ob scheduling shop problem, Discrete pplied Mathematics, Vol. 49, No. -3, pp. 07-27

Problema ob shop scheduling (JSS) Nel problema di ob shop, n obs devono essere processati su m macchine Il processamento di un ob su una macchina è detto operazione i ssunzioni fatte per il problema: Una macchina può processare al più un ob alla volta; Un operazione non può essere interrotta (no preemption); Un ob consiste al più di n operazioni; L ordine di processamento del ob è dato; Il sequenziamento delle operazioni sulle macchine deve essere determinato in modo tale da minimizzare il makespan (i.e., il massimo tempo di competamento Cmax) 2

Es: rucker 94: Definizioni Soluzione = schedule ammissibile S Grafo disgiuntivo G(S) = (V, C U S) con V = set nodi; C = set archi congiuntivi; D = set archi disgiuntivi; S = selezione ammissibile archi disg. P = critical path in G(S) e L(S) = lunghezza del critical path P blocco = sequenza di nodi successivi in P detta u,, u k P che rispetta due condizioni: ) la sequenza contiene almeno due nodi 2) la sequenza rappresenta un numero massimo di op. P che devono essere processate sulla stessa macchina 0 o 2 3 3

94: Teorema sul branching scheme () Hp: Sia S una selezione completa ovvero una soluzione del ob shop scheduling problem. Se esiste un altra selezione S tale che L(S ) < L(S) allora almeno un operazione di un blocco in G(S) deve essere processata prima della prima op. oppure dopo dell ultima op. del corrispondente blocco. Dim: Sia P = (0, u, u 2,..., u m,..., u k, u 2k,..., u mkk, o) un critical path con k blocchi in G(S) = (V, C U S) ssumiamo, per contraddizione, che esiste una selezione completa S con L(S ) < L(S) e nessuna op. di S è processata prima della prima op. oppure dopo dell ultima op. del blocco G(S ) = (V, C U S ) contiene il percorso: (0, u, v 2,..., v m-, u m,..., u k, v 2k,..., v mk-k, u mkk, o) 4

94: Teorema sul branching scheme (2) Dim. (seguito): G(S ) = (V, C U S ) contiene il percorso: (0, u, v 2,..., v m-, u m,..., u k, v 2k,..., v mk-k, u mkk, o) dove la sequenza v 2,..., v m- è una permutazione della sequenza u 2,..., u m- con =,..., k Dato che, per ipotesi, v = u e v m = u m per =,..., k allora L(S ) =,..., k i=, =,..., m P v i = P = L(S) =,..., k i=, =,..., m da cui è contraddetta l ipotesi che poneva L(S ) < L(S) si conclude quindi che L(S ) L(S). u i 5

94: ranch and bound () Dal teorema si ha che date due selezioni complete S e S con L(S ) < L(S) allora vale una delle due condizioni:. lmeno una op. di un blocco in G(S) è processata prima delle altre op. del blocco in G(S ), oppure 2. lmeno una op. di un blocco in G(S) è processata dopo delle altre op. del blocco in G(S ) ranching scheme: Prendiamo un nodo r dell albero di ricerca ed una soluzione y Y(r) (sottoalbero di r contenente tutte le permutazioni degli archi non selezionati a partire dalla selezione parziale contenuta in r) Sia S la selezione completa corrispondente alla soluzione y 6

94: ranch and bound (2) Si ha G(S) con un critical path composto da,..., k blocchi Per il blocco -esimo : u, u 2,..., u m si ha: E = \{u } = set before candidates E = \{u m } = set after candidates Nell albero un nodo successore s del nodo r si ottiene così: un op. l E è mossa prima delle altre op. in {l i : i \{l}} oppure un op. l E è mossa dopo le altre op. in {i l : i \{l}} Il nodo s si chiama immediato successore del nodo r 7

94: ranch and bound (3) Se una coppia disgiuntiva viene selezionata nei due modi possibili si hanno due successori immediati s e s di r per cui Y(s) Y(s ) = (sono i due figli di uno stesso padre) Ogni nodo r corrisponde al grafo G(FD r ) = G(V, C U FD r ) con FD r = insieme degli archi disgiuntivi selezionati al nodo r ovvero il nodo r contiene tutte le soluzioni Y(r) a partire da FD r quindi da r un branching si ottiene generando tutte le permutazioni E,..., E 2k di E e E per i k blocchi 8

94: ranch and bound (4) Un successore s di r avrà fissati gli archi disgiuntivi in FD r F = {u i : i = u 2,..., u m } per ogni set predecess. E L = {i u m : i = u,..., u m- } per ogni set success. E da cui per ogni op. l E si genera un nodo dell albero di ricerca: archi disgiuntivi in s = FD s = FD r U S l con S l = U F i U U L i U {l i : i \{l}} E i < E e archi disgiuntivi in s = FD s = FD r U S l con S l = U F i U U L i U {i l : i \{l}} E i < E E i < E E i < E 9

94: ranch and bound (5) Esempio situazioni con/senza cicli: 2 3 4 0 o 2 E = {2, 3, 4} nalizziamo i possibili scambi assumendo 4 dopo tutte le op. S 2 2 3 4 Ok, no cicli S 3 3 2 4 Ok, no cicli S 4 4 2 3 Cicli! : Y(s) = 0

94: ranch and bound (6) Procedura branch and bound (r) calcola una soluzione S Y(r) usando un euristica se Cmax (S) < U allora U = Cmax (S) calcola un critical path P e i blocchi del critical path P calcola i sets E e E while (esiste un op. i E v con =,, k) elimina i da E v fissa gli archi disg. per il nodo successore s calcola L(s) se L(s) < U allora branch and bound (s) r = selezione parziale degli archi disgiuntivi Y(r) = tutte le possibili combinazioni degli archi disg. non selezionati S = selezione completa degli archi disgiuntivi

94: ranch and bound (7) La ricerca in un nodo dell albero può terminare per le ragioni:. (nodo iniziale) Il critical path della soluzione iniziale non ha blocchi 2. L(s) U (in caso di cicli nel grafo L(s) = ) 3. Tutti i sets E e E sono Il branch and bound 94 usa un euristica per ordinare le operazioni i E v (ovvero i successori del nodo r dell albero): Si ordinano i candidati secondo teste non-decrescenti dei before-candidates e code non-decrescenti degli after-candidates L, teste e code sono gestite usando le tecniche di implicazione (selezioni immediate) sviluppate da Carlier and Pinson 2