APPLICAZIONI DELLA RICERCA OPERATIVA

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "APPLICAZIONI DELLA RICERCA OPERATIVA"

Transcript

1 Università degli Studi della Calabria Laurea in Informatica A.A. 2004/2005 Appunti di supporto didattico al corso di APPLICAZIONI DELLA RICERCA OPERATIVA

2 Indice 1 Introduzione alla teoria dello Scheduling Introduzione Scheduling su singola macchina Minimizzazione della massima lateness Generalizzazione della regola di Jackson Minimizzazione della somma pesata dei tempi di completamento Minimizzazione del ritardo Tempi di set-up dipendenti dalla sequenza Macchine parallele identiche e uniformi Flow Shop su due macchine i

3 Capitolo 1 Introduzione alla teoria dello Scheduling 1.1 Introduzione I problemi dello scheduling (più precisamente, quelli di cui si parlerà sono detti di machine scheduling = sequenziamento su macchine) costituiscono una vasta classe di problemi di ottimizzazione, spesso molto complessi (NP-hard), e di utilità in svariati campi applicativi. La teoria dello scheduling è, quindi, un grosso capitolo della ricerca operativa, estremamente ampio ed articolato, con risultati consolidati relativamente a modelli, algoritmi e complessità, e al tempo stesso in continua evoluzione a causa dei numerosi problemi aperti che stimolano tuttora la ricerca. Si considererà solo una piccola parte dei problemi di scheduling su macchine, i più semplici, per i quali esistono algoritmi polinomiali di soluzione. Si supponga di avere un insieme di macchine che effettuano un certo numero di operazioni la cui esecuzione è necessaria per completare dei job (ciascuno costituito da una sequenza di operazioni che possono essere eseguite sulle macchine). Il processamento di una operazione richiede l uso di una particolare macchina per un certo tempo, detto tempo di processamento (processing time) dell operazione. Ogni macchina può processare una sola operazione alla volta. Il problema che ci si pone è quello di determinare l ordine di processamento delle operazioni su ogni macchina in modo da ottimizzare una qualche misura di prestazione. La terminologia usata evidenzia che il problema è noto originariamente in un contesto di produzione industriale. Tuttavia varie altre interpretazioni sono possibili: job e macchine potrebbero di volta in volta rappresentare pazienti ed equipaggiamenti ospedalieri, lezioni (classi) e docenti, programmi e computers, navi e arsenali ecc. Quattro diversi fattori servono a descrivere e a classificare i problemi di scheduling: 1. La configurazione degli arrivi dei job. Se n job arrivano simultaneamente in uno shop che è vuoto e immediatamente disponibile per iniziare la lavorazione, allora il problema è detto statico. Se i job arrivano in momenti diversi, possibilmente seguendo un processo stocastico, il problema è detto dinamico. Si considererà solo il caso statico. 2. Il numero di macchine, m, disponibili. 1

4 2 CAPITOLO 1. INTRODUZIONE ALLA TEORIA DELLO SCHEDULING 3. Il modo in cui i job passano sulle macchine (flusso dei job sulle macchine). Se tutti i job seguono lo stesso ordine di processamento sulle macchine si parla di problema flow shop. L estremo opposto, in cui i job non seguono una sequenza comune di operazioni, è detto randomly routed job shop oppure open shop. 4. Il criterio di valutazione di prestazione dello shop (la funzione obiettivo). Esistono numerosi modi per misurare la bontà della schedula proposta: si considereranno solo alcuni criteri, detti misure regolari, ovvero funzioni il cui valore, rispetto ad una data schedula, è completamente determinato dai tempi di completamento dei job (tempo in cui l ultima operazione del job è completata). Questa scelta non è in realtà restrittiva, perchè la classe delle misure regolari è sufficientemente ricca per comprendere una grande varietà di criteri che sono i più significativi in pratica. Oltre ai quattro fattori considerati, potrebbero di volta in volta aggiungersi vincoli diversi che limitano il numero di soluzioni ammissibili, sostanzialmente legati al modo di operare delle macchine o a fattori esterni dello shop, come date di consegna (scadenze) per i job che vanno rispettate. Ne deriva una grande varietà di problemi di scheduling diversi (ne sono stati formulati oltre 400), che solitamente vengono classificati adottando la notazione a tre campi α β γ dove: α indica l ambiente macchina (singola macchina, macchine parallele, job shop, open shop, flow shop) β indica le caratteristiche dei job (indipendenti, con relazioni di precedenza, tempi di rilascio) γ indica il criterio di ottimalità (makespan, max lateness,...) Per quanto riguarda la configurazione degli arrivi dei job occorre precisare che, pur restando sempre nel caso statico, si rilasserà qualche volta l ipotesi che i job siano tutti disponibili per il processamento nello stesso istante. Le due situazioni che può essere utile considerare sono: (i) I job diventano disponibili in istanti diversi e interi, detti ready-times o releasedates r j, j = 1,..., n (comunque noti deterministicamente a priori). Si indicherà questa situazione inserendo r j nel secondo campo. In tutti gli altri casi si assumerà r 1 =... = r j =... = r n = r e, senza perdita di generalità, r = 0. (ii) I job non sono indipendenti tra loro, ma esistono delle relazioni di precedenza che impediscono il processamento del generico job k se non sono completati tutti i job suoi predecessori (e quindi definiscono implicitamente dei ready times ). Questi

5 1.2. SCHEDULING SU SINGOLA MACCHINA 3 vincoli di precedenza (relaz. d ordine parziale) possono essere rappresentati mediante un grafo orientato aciclico H =< V, A > dove e V = {1,..., n} (insieme dei job ) (i, j) A i < j (il job j non può essere processato prima del completamento del job i). Si indicherà questo tipo di problemi con la notazione prec nel secondo campo. Va ancora precisato che solitamente i tempi di processamento dei job, p j, si assumono fissati e indipendenti dalla sequenza, ma tale ipotesi è, in alcuni casi, irrealistica. Si accenerà in seguito a problemi in cui non si possono ignorare dei tempi di change-over o di set-up della macchina dipendenti dalla sequenza (nel caso singola macchina), che rendono di fatto i tempi p j complessivi (includendo in essi anche quelli di allestimento della macchina) dipendenti dall ordinamento. Per questo caso si porrà seq dep nel secondo campo. In alcuni problemi è ragionevole ed utile consentire che l esecuzione del job sulla macchina possa essere interrotta per essere ripresa in un istante successivo. La preemption può in realtà semplificare il problema (è una sorta di rilassamento lineare di un problema intero); essa viene indicata con prmtn nel secondo campo. 1.2 Scheduling su singola macchina I problemi di scheduling più semplici sono quelli in cui si dispone di una singola macchina, e si debba determinare l ordine di processamento degli n job sulla macchina (la quale può eseguire al più un job alla volta), noti i tempi di processamento p j, j = 1,..., n, dei job, in modo da ottimizzare una assegnata misura di prestazione regolare. Si assume che: tutti i job sono disponibili all istante t = 0; i tempi di processamento p 1,..., p n sono noti con certezza; i job sono eseguiti senza interruzioni e senza intervalli vuoti tra di essi. Una schedula, allora, sarà niente altro che un ordinamento dei job, ovvero una permutazione degli interi 1, 2,..., n che indicheremo con π (ci sono, quindi, n! soluzioni ammissibili). Ciascuna sequenza definisce univocamente il tempo di completamento di ogni job: c j = t j + p j j = 1,..., n, dove t j è l istante in cui ha inizio il processamento del job j e, quindi, il valore di ogni misura regolare, che è una funzione non decrescente dei tempi di completamento: f(c 1,..., c n ) Denotando con [i] il job che è in posizione i-esima in una data sequenza, e con p [i] il tempo di processamento di quel job (analogamente per c [i] ) è evidente che, nelle ipotesi fatte c [n] = per ogni sequenza p j

6 4 CAPITOLO 1. INTRODUZIONE ALLA TEORIA DELLO SCHEDULING (il tempo di completamento dell ultimo job è sempre pari alla somma dei tempi di processamento, indipendentemente dall ordine in cui i job vengono processati). Pertanto la funzione makespan definita come segue: c max (π) = max 1 j n {c j(π)} che è una delle misure di prestazione più significative per i problemi di scheduling su più macchine, perde di significato nel caso di una sola macchina, essendo c max (π) = c [n] = p j per ogni permutazione π Si considereranno, quindi, altre misure di prestazione Minimizzazione della massima lateness Per ciascun job j {1,..., n} si suppone assegnata una data di consegna, o due-date, d j. Si definisce allora, j L j = c j d j Lateness del job j Si noti che potrebbe essere L j = c j d j > 0 ritardo rispetto a d j = 0 puntualità < 0 anticipo Il problema che si pone è quello di determinare la sequenza che minimizza la massima lateness: { } min L max (π) = min max L π π j(π) 1 j n Nel seguito, per semplicità di notazione, si ometterà di evidenziare la dipendenza delle funzioni considerate dalla sequenza π, e si porrà, ad esempio L max = max j {L j }. Nella notazione a tre campi precedentemente introdotta, il problema in esame è: 1 L max Tale problema è risolubile mediante la seguente regola di Jackson (1955) Regola EDD ( Earliest Due-Date ) La soluzione ottima del problema 1 L max si ottiene sequenziando i job in ordine di due-date non decrescenti: d [1] d [2]... d [n] Dim. Sia π una sequenza che rispetta la regola EDD e π una sequenza arbitraria, π π. Allora esistono due job j e k tali che j precede immediatamente k in π, ma k precede j in π, essendo d k d j. Scambiando le posizioni reciproche dei job j e k in π si ottiene una nuova sequenza π, rispetto alla quale

7 1.2. SCHEDULING SU SINGOLA MACCHINA 5 Figura 1.1 L k := c k d k < c k d k := L k perchè c k < c k Quindi L j := c j d j = c k d j c k d k := L k max{l k, L j} L k = max{l j, L k } perchè d k d j ovvero, scambiando le posizioni di j e k in π la funzione obiettivo L max non può crescere. Ripetendo un numero finito di volte l operazione di scambio si può trasformare π in π. Pertanto π è ottimale. Nota: La regola di Jackson consente di risolvere il problema 1 L max in tempo O(n log n), essendo il costo dell ordinamento delle n due-date il fattore dominante nella complessità dell algoritmo. Il problema 1 L max può essere (come tutti i problemi di scheduling) formulato come problema di ottimizzazione lineare mista. Si ponga t j = istante di inizio di processamento del job j, j = 1,..., n y ij = { 1 se il job i precede j nella sequenza 0 altrimenti ( 1 i < j n) (Si noti che le variabili t j possono essere assunte intere se p j è intero j = 1,..., n; altrimenti t j IR j) Se il job i precede j nella sequenza, le relative variabili t i e t j devono soddisfare Se, invece, j precede i si deve avere t j t i + p i t i t j + p j Per imporre il soddisfacimento di questi vincoli disgiuntivi, sia α > 0 sufficientemente grande ( α > n p j ) e si considerino i seguenti due vincoli che dovranno essere invece soddisfatti simultaneamente { αyij + t i t j p j α(1 y ij ) + t j t i p i

8 6 CAPITOLO 1. INTRODUZIONE ALLA TEORIA DELLO SCHEDULING Si noti che y ij = 1 (i precede j) { α tj + p j t i (sempre soddisfatto) t j t i + p i mentre y ij = 0 (j precede i) { ti t j + p j α t j + p i t j (sempre soddisfatto) Inoltre, j si ha Quindi l obiettivo è L j = c j d j = t j + p j d j. min L max = min{max{t j + p j d j }} j Tale problema di min / max può essere ricondotto sotto forma di problema di programmazione lineare, introducendo una ulteriore variabile L, come segue: min s.v. L t j + p j d j L j = 1,..., n La formulazione completa del problema è dunque: min L s.v. t j + p j d j L j = 1,..., n αy ij + t i t j p j 1 i < j n α(1 y ij ) + t j t i p i 1 i < j n y ij {0, 1} 1 i < j n t j 0 j = 1,..., n Generalizzazione della regola di Jackson Una generalizzazione del problema 1 L max consiste nel considerare delle funzioni di costo non decrescenti dei tempi di completamento dei job, f j (c j ), e cercare la sequenza che minimizza la funzione f max = max{f j (c j )} j Se, inoltre, si suppongono assegnate delle relazioni di precedenza tra i job, che inducono una relazione d ordine parziale tra i job (j < k il job k non può essere processato se non è stata completata l esecuzione del job j), si ottiene il problema 1 prec f max di cui 1 L max è un caso particolare (relazione di precedenza vuota, f j (c j ) = L j j) Il problema 1 prec f max è risolto dalla seguente semplice regola (Lawler 1973). Regola di Lawler La soluzione ottima del problema 1 prec f max si ottiene sequenziando i job come segue: Fra tutti i job che possono essere sequenziati per ultimi (senza successori in prec ) poni in ultima posizione quel job cui corrisponde il costo minimo, se processato in coda;

9 1.2. SCHEDULING SU SINGOLA MACCHINA 7 ripeti sui rimanenti n 1 job. Dim. Sia N = {1, 2,..., n} l insieme di tutti i job e sia Q N l insieme dei job senza successori. Per ogni S N sia F (S) il massimo costo di completamento nella schedula ottimale per S ossia f (S) = f max (π (S)) = max j S {f j(c j (π (S))} dove π (S) è la sequenza ottimale per i job in S. L ultimo job, in qualunque sequenza, sarà completato all istante P = p 1 + p p n. Se il job l Q è scelto in modo tale che f l (P ) = min j Q f j(p ) allora il valore ottimale di una sequenza soggetta alla condizione che il job l sia fissato in ultima posizione è dato da: max{f (N\{l}), f l (P )} Si vuole provare che tale valore è non peggiore (e cioè, visto che si deve minimizzare f max ) di f (N). Basterà dimostrare che: (1) f (N\{l}) f (N) (2) f l (P ) f (N) (1) Sia π la sequenza ottima sui job N, con tempi di completamento c j = c j(π ), e sia l = [k] in π (il job l è in posizione k-sima). Si rimuova il job l e si compatti, ottenendo la sequenza ˆπ : [1], [2],..., [k 1], [k + 1],..., [n] (la sequenza ˆπ è identica a π nelle prime k 1 posizioni e poi continua con i job che seguivano il job l in π ). Questa è una soluzione ammissibile per il problema sui job N\{l}, con tempi di completamento ĉ j = c j j predecessore di l in π Poichè f j (c j ) è monotona non decrescente j, (j = [i], i k 1) f j (ĉ j ) f j (c j) j N\{l} e quindi anche Se ne deduce che max {f j(ĉ j )} max f j(c j) = f (N) j N\{l} j N f (N\{l}) = min π [ max f j(c j (π)) j N\{l} ] f (N) (2) Per costruzione f l (P ) f k (P ) k Q, e quindi anche f l (P ) f k (P ) se k = [n] in π. Ma f k (P ) f (N) per definizione f l (P ) f (N). Nota: La regola di Lawler, applicata al problema 1 L max, coincide con la regola EDD.

10 8 CAPITOLO 1. INTRODUZIONE ALLA TEORIA DELLO SCHEDULING Esempio Si consideri il semplice caso 1 prec L max con n = 4 dove la relazione di precedenza è: 1 < 3, 1 < 4, 2 < 4 e tempi di processamento e due-date dei quattro job sono i seguenti: p 1 = 8 d 1 = 10 p 2 = 6 d 2 = 12 p 3 = 5 d 3 = 9 p 4 = 3 d 4 = 15 Figura Q = {3, 4} P = p j = 22 L 3 (22) = 22 d 3 = 13 L 4 (22) = 22 d 4 = 7 min{l 3 (P ), L 4 (P )} = min{13, 7} = 7 l = 4 L 4 = 7 Q = {2, 3} P = 22 p 4 = 22 3 = 19 min{l 2 (19) = 19 12, L 3 (19) = 19 9} = min{7, 10} = 7 l = 2 L 2 = 7 Q = {3} P = 19 p 2 = 13 L 3 = 4 π = (1, 3, 2, 4) L = max{l j } = 7 j Nota: ulteriori generalizzazioni del problema 1 f max sono le seguenti: 1 r j f max che è NP-hard (anche senza relazioni di precedenza); 1 premtn, prec, r j f max che può essere risolto, mediante una generalizzazione della regola di Lawler, in tempo polinominale (O(n 2 )).

11 1.2. SCHEDULING SU SINGOLA MACCHINA 9 Si osservi come il consentire l interruzione del processamento dei job in qualunque istante e la ripresa dell esecuzione più tardi, senza alcuna penalità, semplifichi il problema. Nota: la regola di Lawler può essere implementata in modo da ottenere una complessità O(n 2 ), nell ipotesi che il costo della valutazione di f j (c j ) sia unitario j. In tal caso, infatti, il costo dell algoritmo si riduce a determinare il min j Q {f j (P )} per ciascuna iterazione, dove, nel caso peggiore, Q = n alla prima iterazione, poi Q = n 1, Q = n 2 e così via Minimizzazione della somma pesata dei tempi di completamento Si supponga di avere un problema di scheduling su singola macchina in cui, per ogni job, è specificato il tempo di processamento p j ed un peso w j associato al suo tempo di completamento c j. L obiettivo è determinare una sequenza che minimizzi la somma pesata dei tempi di completamento: min w j c j Il problema 1 n w j c j è risolto da un altro risultato classico della teoria dello scheduling, noto come ratio-rule o regola del rapporto, dovuta a Smith (1956). Regola di Smith La soluzione ottima del problema 1 n w j c j si ottiene sequenziando i job in ordine di rapporti p j /w j non decrescenti: p [1] w [1]... p [n] w [n] Dim. Sia π una sequenza che rispetta la regola del rapporto e π una sequenza arbitraria, π π. Allora esistono j e k tali che j precede immediatamente k in π ma p j /w j > p k /w k. Sia π ottenuta da π per scambio di j e k Figura 1.3

12 10 CAPITOLO 1. INTRODUZIONE ALLA TEORIA DELLO SCHEDULING Si ha: c j = c k c k = c j p j = c k p j c k c j = p k (w k c k + w j c j) (w k c k + w j c j ) = w k (c k p j ) + w j c k w k c k w j c j = = w k c k w k p j + w j c k w k c k w j c j = w j (c k c j ) w k p j = = w j p k w k p j < 0 Quindi w j c j < j j w j c j. Poichè π è ottenibile da π con un numero finito di scambi di questo tipo, π è ottimale. Nota: Se w = 1 j = 1, 2,..., n, il problema diventa 1 si riduce a : j c j e la regola di Smith p [1] p [2]... p [n] nota come: SPT o regola Shortest Processing Time. Dimostrazione alternativa della regola SPT Sia c [i] il tempo di completamento del job che è i-esimo nella sequenza. Allora, per ogni sequenza ammissibile si ha: c [1] = p [1] c [2] = c [1] + p [2] = p [1] + p [2]. c [n] = p [1] + p [2] p [n] Quindi c [j] = np [1] + (n 1)p [2] p [n] La funzione obiettivo è una funzione lineare delle incognite p [j] ( 0) con coefficienti positivi strettamente decrescenti: il valore minimo si ottiene facendo corrispondere al coefficente massimo l incognita di valore minimo e ripetendo sui rimanenti addendi. In altri termini la soluzione ottima si ottiene ordinando i job in modo tale che p [1] p [2]... p [n] Nota: Il problema 1 n w j c j è risolubile in tempo O(n log n) Generalizzazioni: 1 r j j c j (e quindi anche 1 r j n w j c j ) è NP-hard;

13 1.2. SCHEDULING SU SINGOLA MACCHINA 11 1 pmtn, r j j c j è risolubile in tempo polinominale con una semplice estensione della regola SPT (sebbene 1 pmtn, r j j w jc j sia NP-hard) Regola di Baker (1974): Poni in prima posizione nella sequenza il job con release-date r j minima (il primo disponibile). In ogni punto di decisione (ogni qualvolta un nuovo job diventa disponibile per il processamento o un job è completato) scegli come successivo, tra quelli disponibili (rispetto a r j ), un job il cui tempo di processamento rimanente è minimo. Esercizio: Dimostrare l ottimalità della soluzione fornita dalla regola di Baker (SRPT,o Shortest Remaining Processing Time ). Una ulteriore generalizzazione del problema 1 j w jc j si ottiene considerando, per ciascun job j = 1,..., n, una data di scadenza, d j ( deadline ). Al contrario delle due-date, le deadlines definiscono vincoli sui tempi di completamento: c j d j j = 1,..., n Il problema che si pone è quello di minimizzare j c j soggetto ai vincoli di deadline: 1 d j j c j (si noti che il problema potrebbe essere inammissibile!) Regola di Smith (1956) La soluzione ottima (se esiste) del problema 1 d j j c j si ottiene applicando la seguente regola: fra tutti i job che potrebbero essere sequenziati per ultimi ( d j n i=1 p i ) metti in ultima posizione quello che ha tempo di processamento massimo; ripeti sui rimanenti n 1 job, e così via. Nota: 1 d j j w jc j è NP-hard Minimizzazione del ritardo Sia d j la due-date del job j. Si definisce tardiness o ritardo del job j rispetto a d j T j = max{0, c j d j } Il problema della minimizzazione del ritardo totale dei job (min j T j) è molto più complicato di quello della minimizzazione di altre funzione dei tempi di completamento c j. 1 j w jt j è noto essere NP-hard; per 1 j T j è noto un algoritmo pseudopolinomiale (con complessità O(n 4 j p j)) e nel 1990 è stato dimostrato che 1 j T j P è NP-hard. Un altro possibile obiettivo legato alla tardiness dei job è: minimizzare il numero di job in ritardo rispetto alle due-date. Sia: { 0 se cj d j = 1,..., n u j (c j ) := j 1 se c j > d j

14 12 CAPITOLO 1. INTRODUZIONE ALLA TEORIA DELLO SCHEDULING Il problema si scrive dunque 1 j u j, ed è ovviamente equivalente a determinare un sottoinsieme S N tale che tutti i job di S possano essere completati in tempo e S è massimale. Una sequenza ottimale allora consiste dei job in S, in ordine EDD, seguiti dai job in N\S in ordine arbitrario (una volta che il job è in ritardo non importa di quanto lo sia!). L algoritmo che segue consente di trovare l insieme S di massima cardinalità: begin ordina i job in modo che d 1 d 2... d n s := 0 P := 0 for j := 1 to n do end begin s := s {j} P := P + p j if P > d j then end begin sia p l = max{p i i S} s := s\{l} P := P p l end Tale algoritmo può essere implementato in modo da avere una complessità O(n log n) Tempi di set-up dipendenti dalla sequenza In molti problemi reali i tempi di processamento non sono indipendenti dalla sequenza, in quanto non possono essere ignorati i tempi di allestimento della macchina stessa ( set-up o change-over ). Più precisamente, sia s jk il tempo necessario per preparare la macchina alla lavorazione del job k, supposto sia stato appena ultimato il processamento del job j. Se si considera p k (j) = p k + s jk, allora chiaramente p k è funzione del job predecessore j. Nel seguito si considereranno separatamente i tempi (costanti) p k e quelli di set-up s jk. I tempi di set-up, supposti dati per ogni coppia j, k, j k (s jj = 0 j) definiscono una matrice S IR n n non simmetrica (s jk s kj ). Si definiscono inoltre, j = 1,..., n s 0j = tempo necessario per preparare la macchina alla lavorazione del job j, se j è il primo della sequenza. s j,n+1 = tempo necessario per riportare la macchina nello stato iniziale dopo il processamento del job j, se j è l ultimo della sequenza. Orlando S con la riga 0 e la colonna n + 1 la matrice avrà dimensione (n + 1) (n + 1). Per problemi di scheduling con tempi di set-up anche la funzione makespan c max diventa significativa perchè dipendente dalla sequenza. Infatti: c max = max 1 j n {c j} = p j + s [i],[i+1] i=0

15 1.3. MACCHINE PARALLELE IDENTICHE E UNIFORMI 13 e min c max min s [i],[i+1] i=0 è facile verificare che il problema 1 seq.dep. c max è NP-hard perchè equivalente ad un problema di commesso viaggiatore. Sia V = {0, 1,..., n} l insieme dei nodi (uno per ogni job + il nodo fittizio 0) e si costruisca il digrafo completo su V con costi sugli archi c jk = s jk j = 0, 1,..., n, k = 1,..., n e c j0 = s j,n+1 j = 1,..., n (nodo n + 1 coincide con il nodo 0). La funzione obiettivo può, quindi, essere espressa come dove, come di consueto x ij = min i c ij x ij j { 1 se il nodo (job) i precede j 0 altrimenti ed il problema diventa quello di determinare il ciclo Hamiltoniano (orientato) di costo minimo. 1.3 Macchine parallele identiche e uniformi Si supponga di dover schedulare n job e che il job j abbia una richiesta di processamento p j (ad es.: p j = numero di operazione del job j); si supponga, inoltre, che ci siano m macchine parallele disponibili. Ogni job può essere lavorato su al più una macchina per volta ed ogni macchina può processare al più un job alla volta. La macchina i processa il job j con velocità v ij (ad es.: v ij = numero di operazione di j nell unità di tempo). Perciò, se il job j è lavorato interamente sulla macchina i, il tempo necessario per il suo processamento è p j /v ij. Si distinguono tre tipi di macchine parallele: (P) Macchine Identiche: tutte le v ij sono uguali. Senza perdita di generalità si può assumere v ij = 1 i, j. (Q) Macchine uniformi: v ij = v ik i, j, k. In altre parole ogni macchina ha una sua velocità v i indipendente dal job. Si assumerà v 1 v 2... v m ; (R) Macchine non correlate: non c è nessuna relazione tra le v ij. Si accennerà brevemente ad alcuni dei problemi più semplici su macchine parallele identiche e uniformi, denotati utilizzando rispettivamennte P e Q nel primo campo della usuale notazione. Si tratta in generale di problemi complessi (P 2 c max, cioè un problema (P) con m = 2 e funzione obiettivo c max, è NP-hard) in cui la possibilità di interruzione semplifica spesso, sensibilmente, problemi e algoritmi risolutivi. Il problema P j c j è molto semplice e risolubile mediante la seguente regola (Conway e altri, 1967) in tempo polinomiale: Ordina i job in modo tale che p 1 p 2... p n ;

16 14 CAPITOLO 1. INTRODUZIONE ALLA TEORIA DELLO SCHEDULING Una volta schedulati i job 1, 2,..., j trova la macchina per prima disponibile ed assegna il job j + 1 a quella macchina (completando j + 1 il più presto possibile). Questo approccio greedy è una variante della regola SPT e fornisce una schedula come quella rappresentata mediante il seguente diagramma di Gant: Figura 1.4 La regola può essere giustificata considerando i job da processare su una singola macchina. Per tali job c j = kp [1] + (k 1)p [2] p [k 1] + p [k] j Considerando tutte le m macchine è evidente che sono disponibili mn coefficienti (m uni, m volte 2,... ecc) e che gli n più piccoli di tali coefficenti devono essere assegnati agli n job con coefficenti minimi corrispondenti a p j massimi (esattamente come nella dimostrazione di ottimalità della SPT). Un discorso analogo vale per il problema Q j c j; questa volta, però, se i job 1, 2,..., k sono processati sulla macchina i, si ottiene: c j = k p v [1] + j i (k 1) p v [2] p i v [k 1] + 1 p i v [k] i Quindi è necessario assegnare i job con tempo di processamento più grande ai coefficenti k v i più piccoli: ciò può essere fatto in tempo polinomiale (O(nlogn))) da un algoritmo di Horowitz e Sahni (1976). Un problema interessante è quello di schedulare i job su m macchine parallele e identiche, consentendo la preemption, in modo da minimizzare il makespan: P pmtn c max, dove c max = max 1 j n {c j }; in questo caso può anche essere intepretato come l istante in cui tutte le macchine hanno completato il proprio lavoro. Grazie al meccanismo dell interruzione, ogni job può essere processato su più macchine, purchè non simultaneamente: in altri termini il job j potrebbe iniziare il suo processamento sulla macchina i per continuare, più tardi, sulla stessa o su qualunque altra macchina, eventualmente con ulteriori interruzioni. Sia allora x ij = la frazione di job j processata sulla macchina i, j = 1,..., n

17 1.3. MACCHINE PARALLELE IDENTICHE E UNIFORMI 15 Le variabili x ij devono soddisfare il vincolo m x ij = 1 i=1 j = 1,..., n (ogni job deve essere interamente processato). Con questa definizione delle variabili, il tempo totale di lavoro della i-sima macchina si esprime come K i = p j x ij ed il problema diventa s.v. min c max p j x ij c max i = 1,..., m m x ij = 1 j = 1,..., n i=1 x ij 0 Si noti che, se la preemption non fosse consentita, il problema potrebbe essere formulato in maniera analoga, ma con { 1 se il job j è assegnato alla macchina i x ij = 0 altrimenti quindi con variabili binarie, ed il vincolo m i=1 x ij = 1 esprimerebbe il fatto che ogni job può essere processato da una sola macchina. I vincoli, in questo caso, sarebbero analoghi a quelli di un problema di assegnamento generalizzato, così detto perchè più job possono essere assegnati ad una stessa macchina, come risulta dal primo gruppo di vincoli, e non c è più corrispondenza 1:1 come nel problema di assegnamento classico. Il problema di assegnamento generalizzato è NP-hard, ed è possibile dimostrare che anche P c max è NP-hard, mentre, grazie alla preemption, P pmtn c max è polinomiale e coincide con il rilassato del problema P c max, ottenuto eliminando il vincolo di interezza (binarietà) sulle variabili. Con riferimento al problema di Programmazione Lineare (quindi senza i vincoli di binarietà) sopra formulato, si dimostra facilmente che( la soluzione ammissibile (x, c max), con x ij = 1/m, per ogni i e per ogni j, e c max = 1 n ) m p j è anche ottima. Infatti, se così non fosse, esisterebbe una soluzione ( x, c max ) ammissibile tale che c max < c max. Poichè c max soddisfa il primo gruppo di vincoli, si ha: e quindi c max p j x ij i = 1,..., m. c max > p j x ij i = 1,..., m. Sommando sull indice i e tenendo conto del secondo gruppo di vincoli, si ottiene:

18 16 CAPITOLO 1. INTRODUZIONE ALLA TEORIA DELLO SCHEDULING mc max > p j, cioè c max > 1 p j, m ( che contraddice il fatto che c max = 1 n ) m p j. Sebbene la soluzione (x, c max) sia una soluzione ottima per il problema di Programmazione Lineare sopra formulato, essa potrebbe non essere ammissibile per il problema reale; ciò avviene se esiste qualche job il cui tempo di processamento è molto più grande degli altri, e precisamente se max 1 j m {p j} > 1 m p j (si consideri, ad esempio, il caso n = 2, p 1 = 100, p 2 = 10 ed m = 2: il makespan non può essere inferiore a p 1 = 100). Pertanto, ponendo p := 1 p j, vale sempre m c max max{max{p j }, p} = c max. j Quindi, dopo aver calcolato c max = max{max{p j }, p}, il problema può essere risolto applicando la seguente regola (Mc Naughton, j 1959): Immagina di processare, senza interruzione, tutti i job su una singola macchina in qualsiasi ordine; taglia lo scheduling della singola macchina in piú parti. La prima parte costituisce l intervallo [0, c max], la seconda parte l intervallo [c max, 2c max], la terza parte [2c max, 3c max], e cosí via; assegna il primo intervallo alla prima macchina, il secondo intervallo alla seconda macchina, il terzo intervallo alla terza macchina, e cosí via. Figura 1.5 La procedura richiede tempo O(n) e genera al più m 1 interruzioni.

19 1.4. FLOW SHOP SU DUE MACCHINE Flow Shop su due macchine Eccetuato il caso delle macchine parallele che, a parte l eventuale diversa velocità, sono da condiderarsi equivalenti (ogni job può essere indifferentemente processato su ciascuna di esse), in tutti gli altri problemi di scheduling su m macchine, le macchine sono diverse fra di loro, e cioè in grado di effettuare un determinato tipo di lavorazione e non altri. Pertanto ogni job sarà costituito da più operazioni (al massimo m), ciascuna richiedente il processamento su una ben precisa macchina dello shop. Dovranno perciò essere assegnate j = 1,..., n, i = 1,..., m p ij = tempo di processamento del job j sulla macchina i (p ij 0). Il processo di flusso dei job attraverso le macchine consente di distinguere tre classi di problemi (in ordine di difficoltà crescente) Flow shop : tutti i job seguono la stessa sequenza di lavorazione sulle macchine Job shop : ogni job ha una propria sequenza di lavorazione (o relazione di precedenza sulle proprie operazioni). Open shop : per ogni job le operazioni possono essere processate in qualunque ordine. Il problema più semplice in questo contesto è un flow-shop su m = 2 macchine. Si assuma, senza perdita di generalità, che gli n job debbano essere processati prima sulla macchina 1 e poi sulla macchina 2 e di voler determinare la schedula che minimizza il makespan. Il problema F 2 c max può essere risolto con la seguente procedura di Johnson: calcola min{p ij j = 1,..., n, i = 1, 2 } = p i j se i = 1 assegna il job j al primo posto disponibile nella sequenza; se i = 2 assegna il job j all ultimo posto disponibile nella sequenza; rimuovi il job j dalla lista dei job da sequenziare e ripeti sui rimanenti n 1 job. Una giustificazione intuitiva della validità della regola di Johnson è la seguente: sia p [k]i il tempo di processamento sulla macchina i del job che è k-simo nella sequenza, per i = 1, 2. Figura 1.6

20 18 CAPITOLO 1. INTRODUZIONE ALLA TEORIA DELLO SCHEDULING L ultimo job non può essere completato prima del tempo necessario per processare tutti i job sulla macchina 1 più il tempo di processamento dell ultimo job sulla macchina 2: c max p [j]1 + p [n]2 D altro canto l ultimo job non può essere ultimato prima del tempo richiesto per processare tutti i job sulla macchina 2 più il tempo di attesa prima che la macchina 2 possa iniziare: c max p [j]2 + p [1]1 Le due sommatorie nei lower-bounds su c max sono indipendenti dalla sequenza; se il minimo dei tempi di processamento si realizza sulla macchina 1, porre il job j in prima posizione nella sequenza (j = [1]) consente di minimizzare p [1]1, mentre se si realizza sulla macchina 2 porre j = [n] minimizzerà p [n]2.

1. Considerazioni generali

1. Considerazioni generali 1. Considerazioni generali Modelli di shop scheduling In molti ambienti produttivi l esecuzione di un job richiede l esecuzione non simultanea di un certo numero di operazioni su macchine dedicate. Ogni

Dettagli

Modelli di scheduling su macchina singola. relazione alle macchine che devono eseguire le varie operazioni, allora ogni singola macchina nello shop è

Modelli di scheduling su macchina singola. relazione alle macchine che devono eseguire le varie operazioni, allora ogni singola macchina nello shop è . Modello base Consideriamo il caso in cui ogni job consiste di una sola operazione. Poiché un insieme di job è partizionato in relazione alle macchine che devono eseguire le varie operazioni, allora ogni

Dettagli

Bibliografia. Gestione operativa della produzione. Terminologia. Schedulazione. Schedulazione operativa della produzione

Bibliografia. Gestione operativa della produzione. Terminologia. Schedulazione. Schedulazione operativa della produzione Bibliografia Gestione operativa della produzione Schedulazione operativa della produzione 14/12/2001 11.54 E.L. Lawler, J.K. Lenstra, A.G.H. Rinnoy Kan, D.B. Shmoys, Sequencing and Scheduling: Algorithms

Dettagli

1. Classificazione delle risorse

1. Classificazione delle risorse 1. Classificazione delle risorse Classificazione delle risorse in base alla disponibilità. - Risorse rinnovabili Sono risorse utilizzate per l esecuzione di una attività per tutta la sua durata, ma sono

Dettagli

SCHEDULING SCHEDULING

SCHEDULING SCHEDULING Corso di Laurea Triennale in INGEGNERIA GESTIONALE Anno Accademico 2012/13 Prof. Davide GIGLIO 1 INDICE Esempio Introduttivo Generalità sui problemi di scheduling SINGLE MACHINE SPT (shortest processing

Dettagli

Introduzione alla teoria dello scheduling

Introduzione alla teoria dello scheduling 1. Generalità I problemi di scheduling riguardano l allocazione di risorse limitate ad attività nel tempo. In generale il processo di decisione associato richiede la determinazione dell ordine in cui l

Dettagli

Parte 3: Gestione dei progetti, Shop scheduling

Parte 3: Gestione dei progetti, Shop scheduling Parte : Gestione dei progetti, Shop scheduling Rappresentazione reticolare di un progetto Insieme di attività {,...,n} p i durata (nota e deterministica dell attività i) relazione di precedenza fra attività:

Dettagli

Dimensionamento dei lotti di produzione: il caso con variabilità nota

Dimensionamento dei lotti di produzione: il caso con variabilità nota Dimensionamento dei lotti di produzione: il caso con variabilità nota A. Agnetis In questi appunti studieremo alcuni modelli per il problema del lot sizing, vale a dire il problema di programmare la dimensione

Dettagli

Esercizi di Ricerca Operativa I

Esercizi di Ricerca Operativa I Esercizi di Ricerca Operativa I Dario Bauso, Raffaele Pesenti May 10, 2006 Domande Programmazione lineare intera 1. Gli algoritmi per la programmazione lineare continua possono essere usati per la soluzione

Dettagli

Esercizi di Gestione della Produzione Industriale. Tabella 1: tempi di lavorazione di un set di job.

Esercizi di Gestione della Produzione Industriale. Tabella 1: tempi di lavorazione di un set di job. Esercizio 1: schedulazione con il modello di Johnson...2 Soluzione dell esercizio 1 (schedulazione con il modello di Johnson)...2 Esercizio 2: schedulazione con il modello di Hodgson...3 Soluzione dell

Dettagli

Sistemi Organizzativi

Sistemi Organizzativi Sistemi Organizzativi Lezione 12/12/2004 Introduzione al corso e definizioni di base Informazioni generali Pre-requisiti: lassi di complessità Metodi enumerativi: - programmazione dinamica - branch-and-bound

Dettagli

Principi di Schedulazione in tempo reale

Principi di Schedulazione in tempo reale Principi di Schedulazione in tempo reale 1 Task in tempo reale Un task t i è una sequenza di processi in tempo reale τ ik ciascuno caratterizzato da q un tempo d arrivo r ik (r=release time, oppure a=arrival

Dettagli

CAPITOLO 6 La programmazione operativa (operations scheduling)

CAPITOLO 6 La programmazione operativa (operations scheduling) CAPITOLO 6 La programmazione operativa (operations scheduling) Contenuti Le funzioni della PO Gli obiettivi della PO Il job loading Il metodo dell assegnazione Il job sequencing Regole e tecniche di priorità

Dettagli

Organizzazione della produzione

Organizzazione della produzione Scheduling Organizzazione della produzione PROOTTO che cosa chi ORGNIZZZIONE PROCESSO come FLUSSO I PROUZIONE COORINMENTO PINIFICZIONE SCHEULING quando Pianificazione della produzione: schedulazione di

Dettagli

Problemi di Programmazione Lineare Intera

Problemi di Programmazione Lineare Intera Capitolo 4 Problemi di Programmazione Lineare Intera La Programmazione Lineare Intera (PLI) tratta il problema della massimizzazione (minimizzazione) di una funzione di più variabili, soggetta a vincoli

Dettagli

Capitolo 3: Ottimizzazione Discreta. E. Amaldi DEIB, Politecnico di Milano

Capitolo 3: Ottimizzazione Discreta. E. Amaldi DEIB, Politecnico di Milano Capitolo 3: Ottimizzazione Discreta E. Amaldi DEIB, Politecnico di Milano 3.1 Modelli di PLI e PLMI Moltissimi problemi decisionali complessi possono essere formulati o approssimati come problemi di Programmazione

Dettagli

Parte 2. Determinante e matrice inversa

Parte 2. Determinante e matrice inversa Parte. Determinante e matrice inversa A. Savo Appunti del Corso di Geometria 013-14 Indice delle sezioni 1 Determinante di una matrice, 1 Teorema di Cramer (caso particolare), 3 3 Determinante di una matrice

Dettagli

,""m,""nj F... n dove nj è il numero di job assegnato alla macchina j e L:::i=1 nj = n. Ed

,m,nj F... n dove nj è il numero di job assegnato alla macchina j e L:::i=1 nj = n. Ed ~~~~, - 1.6 Macchine in parallelo Consideriamo il problema P/ /F. Abbiamo cioè n job, disponibili per la lavorazione contemporaneamente ed abbiamo a disposizione, invece di una singola macchina, m macchine

Dettagli

Automazione Industriale (scheduling+mms) scheduling+mms

Automazione Industriale (scheduling+mms) scheduling+mms Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o

Dettagli

Sono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza

Sono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza Il problema di flusso di costo minimo (MCF) Dati : grafo orientato G = ( N, A ) i N, deficit del nodo i : b i (i, j) A u ij, capacità superiore (max quantità di flusso che può transitare) c ij, costo di

Dettagli

CPM - PERT CPM - PERT. Rappresentazione di un progetto. Gestione di un progetto. Critical Path Method Project Evaluation and Review Technique

CPM - PERT CPM - PERT. Rappresentazione di un progetto. Gestione di un progetto. Critical Path Method Project Evaluation and Review Technique CPM - PERT CPM - PERT CPM e PERT sono metodologie per la gestione di progetti composti da più attività in cui esistano relazioni di precedenza. Critical Path Method Project Evaluation and Review Technique

Dettagli

Approcci esatti per il job shop

Approcci esatti per il job shop Approcci esatti per il job shop Riferimenti lezione: Carlier, J. (1982) The one-machine sequencing problem, European Journal of Operational Research, Vol. 11, No. 1, pp. 42-47 Carlier, J. & Pinson, E.

Dettagli

Sequenziamento a minimo costo di commutazione in macchine o celle con costo lineare e posizione home (In generale il metodo di ottimizzazione

Sequenziamento a minimo costo di commutazione in macchine o celle con costo lineare e posizione home (In generale il metodo di ottimizzazione Sequenziamento a minimo costo di commutazione in macchine o celle con costo lineare e posizione home (In generale il metodo di ottimizzazione presentato in questo file trova la seq. a costo minimo per

Dettagli

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Scopo: Stimare l onere computazionale per risolvere problemi di ottimizzazione e di altra natura

Dettagli

Metodi diretti per la soluzione di sistemi lineari

Metodi diretti per la soluzione di sistemi lineari Metodi diretti per la soluzione di sistemi lineari N Del Buono 1 Introduzione Consideriamo un sistema di n equazioni in n incognite a 11 x 1 + a 12 x 2 + a 13 x 3 + + a 1n x n = b 1, a 21 x 1 + a 22 x

Dettagli

Schedulazione: più macchine. Schedulazione: più macchine. Modello. Modello. job composti di un unico task da schedulare su una tra più macchine;

Schedulazione: più macchine. Schedulazione: più macchine. Modello. Modello. job composti di un unico task da schedulare su una tra più macchine; Schedulazione: più macchine Schedulazione: più macchine casi: job composti di un unico task da schedulare su una tra più macchine; open shop (tutti i job hanno task su tutte le macchine, ma non le stesse

Dettagli

SPERIMENTAZIONE CON LINDO SU UN PROBLEMA DI SCHEDULING

SPERIMENTAZIONE CON LINDO SU UN PROBLEMA DI SCHEDULING UNIVERSITA DEGLI STUDI DI PADOVA FACOLTA DI SCIENZE STATISTICHE CORSO DI LAUREA IN SCIENZE STATISTICHE ED ECONOMICHE TESI DI LAUREA SPERIMENTAZIONE CON LINDO SU UN PROBLEMA DI SCHEDULING Relatore: Ch.mo

Dettagli

ESEMPIO P.L. : PIANIFICAZIONE DI INVESTIMENTI

ESEMPIO P.L. : PIANIFICAZIONE DI INVESTIMENTI ESEMPIO P.L. : PIANIFICAZIONE DI INVESTIMENTI PROBLEMA: un azienda deve scegliere fra due possibili investimenti al fine di massimizzare il profitto netto nel rispetto delle condizioni interne e di mercato

Dettagli

Ottimizzazione nella gestione dei progetti Capitolo 4: la gestione dei costi (Programmazione multimodale): formulazioni

Ottimizzazione nella gestione dei progetti Capitolo 4: la gestione dei costi (Programmazione multimodale): formulazioni Ottimizzazione nella gestione dei progetti Capitolo 4: la gestione dei costi (Programmazione multimodale): formulazioni CARLO MANNINO Università di Roma La Sapienza Dipartimento di Informatica e Sistemistica

Dettagli

Ottimizzazione Multi Obiettivo

Ottimizzazione Multi Obiettivo Ottimizzazione Multi Obiettivo 1 Ottimizzazione Multi Obiettivo I problemi affrontati fino ad ora erano caratterizzati da una unica (e ben definita) funzione obiettivo. I problemi di ottimizzazione reali

Dettagli

Problema del trasporto

Problema del trasporto p. 1/1 Problema del trasporto Supponiamo di avere m depositi in cui è immagazzinato un prodotto e n negozi che richiedono tale prodotto. Nel deposito i è immagazzinata la quantità a i di prodotto. Nel

Dettagli

Corso di Geometria e Algebra Lineare - Sezione di Metodi Numerici

Corso di Geometria e Algebra Lineare - Sezione di Metodi Numerici Corso di Geometria e Algebra Lineare - Sezione di Metodi Numerici C. Vergara 3. Metodo della fattorizzazione LU per la risoluzione di un sistema lineare Errori di arrotondamento. Prima di affrontare la

Dettagli

Ottimizzazione della produzione tramite software di scheduling

Ottimizzazione della produzione tramite software di scheduling Ottimizzazione della produzione tramite software di scheduling Alessio Puppato, Barbara Fuoco, Andrea Rossi, Michele Lanzetta A partire da una classificazione dell architettura delle linee produttive,

Dettagli

Schedulazione di attività in presenza di attività interrompibili

Schedulazione di attività in presenza di attività interrompibili Schedulazione di attività in presenza di attività interrompibili Maria Silvia Pini Resp. accademico: Prof.ssa Francesca Rossi Università di Padova Attività FSE DGR 1102/2010 La gestione dell informazione

Dettagli

Algoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005. Lezione 11

Algoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005. Lezione 11 Algoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005 Docente: Ugo Vaccaro Lezione 11 In questa lezione vedremo alcune applicazioni della tecnica greedy al progetto di algoritmi on-line. Vediamo

Dettagli

Prof. Ing. Michele Marra - Appunti delle Lezioni di Ricerca Operativa Sequenze CAPITOLO II

Prof. Ing. Michele Marra - Appunti delle Lezioni di Ricerca Operativa Sequenze CAPITOLO II CAPITOLO II 2. - PROBLEMI DI SEQUENZA I problemi di sequenza si presentano ogni qualvolta vi sono delle attività che richiedono delle risorse limitate ed indivisibili e bisogna definire l'ordine secondo

Dettagli

I Modelli della Ricerca Operativa

I Modelli della Ricerca Operativa Capitolo 1 I Modelli della Ricerca Operativa 1.1 L approccio modellistico Il termine modello è di solito usato per indicare una costruzione artificiale realizzata per evidenziare proprietà specifiche di

Dettagli

Sistemi Organizzativi docente: Stefano Smriglio stefano.smriglio@univaq.it

Sistemi Organizzativi docente: Stefano Smriglio stefano.smriglio@univaq.it Sistemi Organizzativi docente: Stefano Smriglio stefano.smriglio@univaq.it Pre-requisiti: Classi di complessità Programmazione Lineare (Intera) Metodo branch-and-bound Cammini minimi su grafi Materiale

Dettagli

Strumenti della Teoria dei Giochi per l Informatica A.A. 2009/10. Lecture 22: 1 Giugno 2010. Meccanismi Randomizzati

Strumenti della Teoria dei Giochi per l Informatica A.A. 2009/10. Lecture 22: 1 Giugno 2010. Meccanismi Randomizzati Strumenti della Teoria dei Giochi per l Informatica AA 2009/10 Lecture 22: 1 Giugno 2010 Meccanismi Randomizzati Docente Vincenzo Auletta Note redatte da: Davide Armidoro Abstract In questa lezione descriveremo

Dettagli

- Trovare soluzione ottima primale ( con il simplesso o algoritmo analogo)

- Trovare soluzione ottima primale ( con il simplesso o algoritmo analogo) Se si ha un problema lineare e' possibile risolverlo in piu' modi (equivalenti ) - Trovare soluzione ottima primale ( con il simplesso o algoritmo analogo) - Trovare soluzione ottima duale (con il simplesso

Dettagli

La dualità nella Programmazione Lineare

La dualità nella Programmazione Lineare Capitolo 5 La dualità nella Programmazione Lineare In questo capitolo verrà introdotto un concetto di fondamentale importanza sia per l analisi dei problemi di Programmazione Lineare, sia per lo sviluppo

Dettagli

TSP con eliminazione di sottocicli

TSP con eliminazione di sottocicli TSP con eliminazione di sottocicli Un commesso viaggiatore deve visitare 7 clienti in modo da minimizzare la distanza percorsa. Le distanze (in Km) tra ognuno dei clienti sono come segue: 3 5 7-8 9 57

Dettagli

Esercizi e complementi di Ottimizzazione nella Gestione dei Progetti

Esercizi e complementi di Ottimizzazione nella Gestione dei Progetti Esercizi e complementi di Ottimizzazione nella Gestione dei Progetti Marco Pranzo 16 Aprile 009 1 Organizzazione concerto rock I promotori di un evento rock devono svolgere le attività (Tabella 1) per

Dettagli

Ricerca Operativa 2. Introduzione al metodo del Simplesso

Ricerca Operativa 2. Introduzione al metodo del Simplesso Ricerca Operativa 2. Introduzione al metodo del Simplesso Luigi De Giovanni Giacomo Zambelli 1 Problemi di programmazione lineare Un problema di ottimizzazione vincolata è definito dalla massimizzazione

Dettagli

Logistica - Il problema del trasporto

Logistica - Il problema del trasporto Logistica - Il problema del trasporto Federico Di Palma December 17, 2009 Il problema del trasporto sorge ogniqualvolta si debba movimentare della merce da una o più sorgenti verso una o più destinazioni

Dettagli

Modelli di Programmazione Lineare Intera

Modelli di Programmazione Lineare Intera 8 Modelli di Programmazione Lineare Intera Come è stato già osservato in precedenza, quando tutte le variabili di un problema di Programmazione Lineare sono vincolate ad assumere valori interi, si parla

Dettagli

ESERCIZI SULLO SCHEDULING DEL CORSO DI AUTOMAZIONE INDUSTRIALE

ESERCIZI SULLO SCHEDULING DEL CORSO DI AUTOMAZIONE INDUSTRIALE ESERCIZI SULLO SCHEDULING DEL CORSO DI AUTOMAZIONE INDUSTRIALE Spt-Edd (La parte teorica necessaria a svolgere questi esercizi fa riferimento alla lezione n 10 del corso di Automazione Industriale tenute

Dettagli

Analisi matriciale delle reti di Petri (P/T) - sifoni e trappole -

Analisi matriciale delle reti di Petri (P/T) - sifoni e trappole - Analisi matriciale delle reti di Petri (P/T) - sifoni e trappole - - richiami preliminari sulle proprietà strutturali - Abbiamo visto che alcune caratteristiche dei sistemi dinamici (DES compresi) non

Dettagli

Tecniche Reticolari. Problema: determinare l istante di inizio di ogni attività in modo che la durata complessiva del progetto sia minima

Tecniche Reticolari. Problema: determinare l istante di inizio di ogni attività in modo che la durata complessiva del progetto sia minima Project Management Tecniche Reticolari Metodologie per risolvere problemi di pianificazione di progetti Progetto insieme di attività A i di durata d i, (=,...,n) insieme di relazioni di precedenza tra

Dettagli

1. PRIME PROPRIETÀ 2

1. PRIME PROPRIETÀ 2 RELAZIONI 1. Prime proprietà Il significato comune del concetto di relazione è facilmente intuibile: due elementi sono in relazione se c è un legame tra loro descritto da una certa proprietà; ad esempio,

Dettagli

Contenuto e scopo presentazione. Vehicle Scheduling. Motivazioni VSP

Contenuto e scopo presentazione. Vehicle Scheduling. Motivazioni VSP Contenuto e scopo presentazione Vehicle Scheduling 08/03/2005 18.00 Contenuto vengono introdotti modelli e metodi per problemi di Vehicle Scheduling Problem (VSP) Scopo fornire strumenti di supporto alle

Dettagli

Capitolo 5: Ottimizzazione Discreta. E. Amaldi DEI, Politecnico di Milano

Capitolo 5: Ottimizzazione Discreta. E. Amaldi DEI, Politecnico di Milano Capitolo 5: Ottimizzazione Discreta E. Amaldi DEI, Politecnico di Milano 5.1 Modelli di PLI, formulazioni equivalenti ed ideali Il modello matematico di un problema di Ottimizzazione Discreta è molto spesso

Dettagli

Funzioni in due variabili Raccolta di FAQ by Andrea Prevete

Funzioni in due variabili Raccolta di FAQ by Andrea Prevete Funzioni in due variabili Raccolta di FAQ by Andrea Prevete 1) Cosa intendiamo, esattamente, quando parliamo di funzione reale di due variabili reali? Quando esiste una relazione fra tre variabili reali

Dettagli

Il problema del commesso viaggiatore

Il problema del commesso viaggiatore ITTS Vito Volterra Progetto ABACUS Ottimizzazione combinatoria Il problema del commesso viaggiatore Studente: Davide Talon Esame di stato 2013 Anno scolastico 2012-2013 Indice 1. Introduzione........................................

Dettagli

Flusso a costo minimo e simplesso su reti

Flusso a costo minimo e simplesso su reti Flusso a costo minimo e simplesso su reti La particolare struttura di alcuni problemi di PL può essere talvolta utilizzata per la progettazione di tecniche risolutive molto più efficienti dell algoritmo

Dettagli

Bilanciamento dei carichi di lavoro

Bilanciamento dei carichi di lavoro Bilanciamento dei carichi di lavoro Dispensa per il modulo di Analisi e Ottimizzazione dei Processi di Produzione Università di Roma Tor Vergata a cura di Andrea Pacifici A.A. 2003-04 Sommario Il problema

Dettagli

La pianificazione della produzione

La pianificazione della produzione Manufacturing Planning and Control 1 La pianificazione della produzione La pianificazione della produzione è un processo complesso che coinvolge larga parte dell azienda (funzioni e risorse) e deve ragionare

Dettagli

5.4 Solo titoli rischiosi

5.4 Solo titoli rischiosi 56 Capitolo 5. Teoria matematica del portafoglio finanziario II: analisi media-varianza 5.4 Solo titoli rischiosi Suppongo che sul mercato siano presenti n titoli rischiosi i cui rendimenti aleatori sono

Dettagli

Algoritmi di scheduling - Parte 2

Algoritmi di scheduling - Parte 2 Algoritmi di scheduling - Parte 2 Automazione I 12/11/2013 Vincenzo Suraci STRUTTURA DEL NUCLEO TEMATICO ALGORITMO DEADLINE MONOTONIC PRIORITY ORDERING (DMPO) ALGORITMO TIMELINE SCHEDULING (TS) SCHEDULING

Dettagli

Formulazioni PLI di problemi di decisione. 1 Introduzione: La formulazione dei problemi di ottimizzazione combinatoria

Formulazioni PLI di problemi di decisione. 1 Introduzione: La formulazione dei problemi di ottimizzazione combinatoria Formulazioni PLI di problemi di decisione Dispensa per il modulo di Analisi e Ottimizzazione dei Processi di Produzione Università di Roma Tor Vergata a cura di Andrea Pacifici, Claudio Cavalletti, Daniela

Dettagli

Corso Sistemi Informativi Aziendali, Tecnologie dell Informazione applicate ai processi aziendali. Sistemi informativi aziendali

Corso Sistemi Informativi Aziendali, Tecnologie dell Informazione applicate ai processi aziendali. Sistemi informativi aziendali Corso Sistemi Informativi Aziendali,. Sistemi informativi aziendali di Simone Cavalli (simone.cavalli@unibg.it) Bergamo, Febbraio - Marzo 2009 Produzione (cenni) Pagina 2 Produzione La produzione, in termini

Dettagli

APPUNTI SUI METODI PERT-C.P.M.

APPUNTI SUI METODI PERT-C.P.M. APPUNTI SUI METODI PERT-C.P.M. (corso di ricerca operativa) A cura di: Antonio Scalera 1 PERT/C.P.M. I metodi Pert e C.P.M. studiano lo sviluppo di un progetto attraverso la programmazione delle attività

Dettagli

PROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO

PROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO PROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO 1. Load Balancing Un istanza del problema del load balancing consiste di una sequenza p 1,..., p n di interi positivi (pesi dei job) e un

Dettagli

ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE

ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE 1 DIPENDENZA E INDIPENDENZA LINEARE Se ho alcuni vettori v 1, v 2,, v n in uno spazio vettoriale V, il sottospazio 1 W = v 1,, v n di V da loro generato è

Dettagli

TSP con eliminazione di sottocicli

TSP con eliminazione di sottocicli TSP con eliminazione di sottocicli Un commesso viaggiatore deve visitare 7 clienti in modo da minimizzare la distanza percorsa. Le distanze (in Km) tra ognuno dei clienti sono come segue: 7-8 9 7 9-8 79

Dettagli

Metodi e Modelli per la Simulazione

Metodi e Modelli per la Simulazione UNIVERSITA DEGLI STUDI ROMA TRE Facoltà di Ingegneria Corso di Laurea in Ingegneria Gestionale e dell Automazione Metodi e Modelli per la Simulazione Simulazioni e Analisi di euristiche di scheduling su

Dettagli

Contenuto e scopo presentazione. Crew Scheduling e Crew Rostering. Gestione del personale. Motivazioni

Contenuto e scopo presentazione. Crew Scheduling e Crew Rostering. Gestione del personale. Motivazioni Contenuto e scopo presentazione Crew Scheduling e Crew Rostering Contenuto vengono introdotti modelli e metodi per problemi di turnazione del personale Raffaele Pesenti 07/02/2002 14.41 Scopo fornire strumenti

Dettagli

Alcuni Preliminari. Prodotto Cartesiano

Alcuni Preliminari. Prodotto Cartesiano Alcuni Preliminari Prodotto Cartesiano Dati due insiemi A e B, si definisce il loro prodotto cartesiano A x B come l insieme di tutte le coppie ordinate (a,b) con a! A e b! B. Es: dati A= {a,b,c} e B={,2,3}

Dettagli

Corso di Analisi Numerica - AN1. Parte 2: metodi diretti per sistemi lineari. Roberto Ferretti

Corso di Analisi Numerica - AN1. Parte 2: metodi diretti per sistemi lineari. Roberto Ferretti Corso di Analisi Numerica - AN1 Parte 2: metodi diretti per sistemi lineari Roberto Ferretti Richiami sulle norme e sui sistemi lineari Il Metodo di Eliminazione di Gauss Il Metodo di Eliminazione con

Dettagli

9 Metodi diretti per la risoluzione di sistemi lineari: fattorizzazione P A = LU

9 Metodi diretti per la risoluzione di sistemi lineari: fattorizzazione P A = LU 9 Metodi diretti per la risoluzione di sistemi lineari: fattorizzazione P A LU 9.1 Il metodo di Gauss Come si è visto nella sezione 3.3, per la risoluzione di un sistema lineare si può considerare al posto

Dettagli

MRP. Pianificazione della produzione. Distinta base Bill Of Materials (BOM) MPS vs. MRP. Materials Requirements Planning (MRP)

MRP. Pianificazione della produzione. Distinta base Bill Of Materials (BOM) MPS vs. MRP. Materials Requirements Planning (MRP) MRP Pianificazione della produzione Materials Requirements Planning (MRP) 15/11/2002 16.58 Con l MRP si decide la tempificazione delle disponibilità dei materiali, delle risorse e delle lavorazioni. MRP

Dettagli

Modellazione delle preferenze

Modellazione delle preferenze Modellazione delle preferenze Roberto Cordone 1 1 Sono debitore delle dispense di B. Simeone e F. Patrone Sistemazione assiomatica Dato un insieme non vuoto di impatti F, esprimere una preferenza fra due

Dettagli

SOMMARIO. 13.1 I radicali pag. 3. 13.2 I radicali aritmetici pag. 5. 13.3 Moltiplicazione e divisione fra radicali aritmetici pag.

SOMMARIO. 13.1 I radicali pag. 3. 13.2 I radicali aritmetici pag. 5. 13.3 Moltiplicazione e divisione fra radicali aritmetici pag. SOMMARIO CAPITOLO : I RADICALI. I radicali pag.. I radicali aritmetici pag.. Moltiplicazione e divisione fra radicali aritmetici pag.. Potenza di un radicale aritmetico pag.. Trasporto di un fattore esterno

Dettagli

I Sistemi di produzione PULL

I Sistemi di produzione PULL I Sistemi di produzione PULL Sistema Push Il sistema push pianifica e schedula la produzione basandosi sulla previsione di domanda o sull acquisizione di ordini dei clienti. Quindi si controlla il rilascio

Dettagli

Note del Corso di Modelli Biologici Discreti: Un paio di algoritmi DNA per risolvere SAT

Note del Corso di Modelli Biologici Discreti: Un paio di algoritmi DNA per risolvere SAT Note del Corso di Modelli Biologici Discreti: Un paio di algoritmi DNA per risolvere SAT Giuditta Franco Corso di Laurea in Bioinformatica - AA 2012/2013 Uno dei più grossi risultati nell informatica degli

Dettagli

PROPRIETÀ DEI CIRCUITI DI RESISTORI

PROPRIETÀ DEI CIRCUITI DI RESISTORI CAPITOLO 5 PROPRIETÀ DEI CIRCUITI DI RESISTORI Nel presente Capitolo, verrà introdotto il concetto di equivalenza tra bipoli statici e verranno enunciati e dimostrati alcuni teoremi (proprietà) generali

Dettagli

Esempi di modelli di programmazione lineare (intera) 2014

Esempi di modelli di programmazione lineare (intera) 2014 Esempi di modelli di programmazione lineare (intera) 2014 1) Combinando risorse Una ditta produce due tipi di prodotto, A e B, combinando e lavorando opportunamente tre risorse, R, S e T. In dettaglio:

Dettagli

Corso di Automazione Industriale 1. Capitolo 3

Corso di Automazione Industriale 1. Capitolo 3 Simona Sacone - DIST Corso di Automazione Industriale 1 Capitolo 3 Modelli di processi produttivi a livello decisionale operativo e di controllo Simona Sacone - DIST 2 Modelli di sistemi di produzione

Dettagli

Lezioni di Algebra Lineare III. Applicazioni lineari e matrici Struttura algebrica delle soluzioni dei sistemi lineari

Lezioni di Algebra Lineare III. Applicazioni lineari e matrici Struttura algebrica delle soluzioni dei sistemi lineari Versione ottobre novembre 2008 Lezioni di Algebra Lineare III. Applicazioni lineari e matrici Struttura algebrica delle soluzioni dei sistemi lineari Contenuto 1. Applicazioni lineari 2. L insieme delle

Dettagli

Modelli di Ottimizzazione

Modelli di Ottimizzazione Capitolo 2 Modelli di Ottimizzazione 2.1 Introduzione In questo capitolo ci occuperemo più nel dettaglio di quei particolari modelli matematici noti come Modelli di Ottimizzazione che rivestono un ruolo

Dettagli

Algoritmi di scheduling

Algoritmi di scheduling Capitolo 2 Algoritmi di scheduling 2.1 Sistemi Real Time In un sistema in tempo reale (real time) il tempo gioca un ruolo essenziale. Le applicazioni di tali sistemi sono molteplici e di larga diffusione.

Dettagli

Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera

Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera L. De Giovanni AVVERTENZA: le note presentate di seguito non hanno alcuna pretesa di completezza, né hanno lo scopo di sostituirsi

Dettagli

Modelli di Sistemi di Produzione:

Modelli di Sistemi di Produzione: Modelli di Sistemi di Produzione: programma dettagliato - giugno 2007 1. Algoritmi Metaeuristici 1.1 Algoritmi costruttivi ed algoritmi di ricerca locale/metaeuristici 1.2 Algoritmo di ricerca locale 1.3

Dettagli

Modelli dei Sistemi di Produzione Modelli e Algoritmi della Logistica 2010-11

Modelli dei Sistemi di Produzione Modelli e Algoritmi della Logistica 2010-11 Modelli dei Sistemi di Produzione Modelli e lgoritmi della Logistica 00- Scheduling: Macchina Singola CRLO MNNINO Saienza Università di Roma Diartimento di Informatica e Sistemistica Il roblema /-/ w C

Dettagli

Lezioni di Ricerca Operativa. Corso di Laurea in Informatica Università di Salerno. Lezione n 4

Lezioni di Ricerca Operativa. Corso di Laurea in Informatica Università di Salerno. Lezione n 4 Lezioni di Ricerca Operativa Lezione n 4 - Problemi di Programmazione Matematica - Problemi Lineari e Problemi Lineari Interi - Forma Canonica. Forma Standard Corso di Laurea in Informatica Università

Dettagli

Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Modellazione in Programmazione Lineare

Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Modellazione in Programmazione Lineare Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Modellazione in Programmazione Lineare Luigi De Giovanni 1 Modelli di programmazione lineare I modelli di programmazione lineare sono una

Dettagli

Entropia. Motivazione. ? Quant è l informazione portata dalla sequenza? Abbiamo una sequenza S di N simboli (campioni audio, pixel, caratteri,...

Entropia. Motivazione. ? Quant è l informazione portata dalla sequenza? Abbiamo una sequenza S di N simboli (campioni audio, pixel, caratteri,... Entropia Motivazione Abbiamo una sequenza S di N simboli (campioni audio, pixel, caratteri,... ) s,s 2,s 3,... ognuno dei quali appartiene ad un alfabeto A di M elementi.? Quant è l informazione portata

Dettagli

Algoritmo euclideo, massimo comun divisore ed equazioni diofantee

Algoritmo euclideo, massimo comun divisore ed equazioni diofantee Algoritmo euclideo, massimo comun divisore ed equazioni diofantee Se a e b sono numeri interi, si dice che a divide b, in simboli: a b, se e solo se esiste c Z tale che b = ac. Si può subito notare che:

Dettagli

Algoritmi Euristici introduzione. Vittorio Maniezzo Università di Bologna

Algoritmi Euristici introduzione. Vittorio Maniezzo Università di Bologna 9 Algoritmi Euristici introduzione Vittorio Maniezzo Università di Bologna 1 Molti problemi reali richiedono soluzioni algoritmiche I camion devono essere instradati VRP, NP-hard I depositi o i punti di

Dettagli

Lezioni di Matematica 1 - I modulo

Lezioni di Matematica 1 - I modulo Lezioni di Matematica 1 - I modulo Luciano Battaia 16 ottobre 2008 Luciano Battaia - http://www.batmath.it Matematica 1 - I modulo. Lezione del 16/10/2008 1 / 13 L introduzione dei numeri reali si può

Dettagli

Laboratory for innovation MUSP. Macchine utensili e sistemi di produzione. Laboratorio MUSP www.musp.it

Laboratory for innovation MUSP. Macchine utensili e sistemi di produzione. Laboratorio MUSP www.musp.it Laboratory for innovation MUSP Macchine utensili e sistemi di produzione www.musp.it Sommario La schedulazione della produzione Gli obiettivi nella schedulazione Le problematiche legate alla schedulazione

Dettagli

Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona

Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona e e Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Sommario e ed implementazione in Java Visita di un grafo e e Concetti di base Struttura

Dettagli

2 Formulazione dello shortest path come problema di flusso

2 Formulazione dello shortest path come problema di flusso Strumenti della Teoria dei Giochi per l Informatica A.A. 2009/10 Lecture 20: 28 Maggio 2010 Cycle Monotonicity Docente: Vincenzo Auletta Note redatte da: Annibale Panichella Abstract In questa lezione

Dettagli

Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova. Metodi per supportare le decisioni relative alla gestione di progetti

Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova. Metodi per supportare le decisioni relative alla gestione di progetti Project Management Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova Project Management 2 Metodi per supportare le decisioni relative alla gestione di progetti esempi sono progetti nell

Dettagli

Problemi di soddisfacimento di vincoli. Formulazione di problemi CSP. Colorazione di una mappa. Altri problemi

Problemi di soddisfacimento di vincoli. Formulazione di problemi CSP. Colorazione di una mappa. Altri problemi Problemi di soddisfacimento di vincoli Maria Simi a.a. 2014/2015 Problemi di soddisfacimento di vincoli (CSP) Sono problemi con una struttura particolare, per cui conviene pensare ad algoritmi specializzati

Dettagli

2) Codici univocamente decifrabili e codici a prefisso.

2) Codici univocamente decifrabili e codici a prefisso. Argomenti della Lezione ) Codici di sorgente 2) Codici univocamente decifrabili e codici a prefisso. 3) Disuguaglianza di Kraft 4) Primo Teorema di Shannon 5) Codifica di Huffman Codifica di sorgente Il

Dettagli

Introduzione ai problemi NP-completi

Introduzione ai problemi NP-completi Corso di Algoritmi e Strutture Dati Introduzione ai problemi NP-completi Nuova versione del capitolo 13 delle dispense (basata sui modelli non deterministici) Anno accademico 2007/2008 Corso di laurea

Dettagli

Corso PAS Anno 2014. ESEMPIO. Per n = 3, Z 3 contiene 3 elementi:

Corso PAS Anno 2014. ESEMPIO. Per n = 3, Z 3 contiene 3 elementi: Corso PAS Anno 2014 Matematica e didattica 3 Correzione esercizi 1. Definizione. Sia n un fissato intero maggiore di 1. Dati due interi a, b si dice che a è congruo a b modulo n, e si scrive a b (mod n),

Dettagli

Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo

Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo L. De Giovanni G. Zambelli 1 Problema del flusso a costo minimo Il problema del flusso a costo minimo é definito

Dettagli

Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Modellazione in Programmazione Lineare

Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Modellazione in Programmazione Lineare Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Modellazione in Programmazione Lineare Luigi De Giovanni 1 Modelli di programmazione lineare I modelli di programmazione lineare sono una

Dettagli