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.

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

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

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

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

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

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

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

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

2. Leggi finanziarie di capitalizzazione

2. Leggi finanziarie di capitalizzazione 2. Leggi finanziarie di capitalizzazione Si chiama legge finanziaria di capitalizzazione una funzione atta a definire il montante M(t accumulato al tempo generico t da un capitale C: M(t = F(C, t C t M

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

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

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

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

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

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

Il Metodo Branch and Bound

Il Metodo Branch and Bound Il Laura Galli Dipartimento di Informatica Largo B. Pontecorvo 3, 56127 Pisa laura.galli@unipi.it http://www.di.unipi.it/~galli 4 Novembre 2014 Ricerca Operativa 2 Laurea Magistrale in Ingegneria Gestionale

Dettagli

Politecnico di Milano. Facoltà di Ingegneria Industriale. Corso di Analisi e Geometria 2. Sezione D-G. (Docente: Federico Lastaria).

Politecnico di Milano. Facoltà di Ingegneria Industriale. Corso di Analisi e Geometria 2. Sezione D-G. (Docente: Federico Lastaria). Politecnico di Milano. Facoltà di Ingegneria Industriale. Corso di Analisi e Geometria 2. Sezione D-G. (Docente: Federico Lastaria). Aprile 20 Indice Serie numeriche. Serie convergenti, divergenti, indeterminate.....................

Dettagli

LE FUNZIONI A DUE VARIABILI

LE FUNZIONI A DUE VARIABILI Capitolo I LE FUNZIONI A DUE VARIABILI In questo primo capitolo introduciamo alcune definizioni di base delle funzioni reali a due variabili reali. Nel seguito R denoterà l insieme dei numeri reali mentre

Dettagli

Funzioni. Parte prima. Daniele Serra

Funzioni. Parte prima. Daniele Serra Funzioni Parte prima Daniele Serra Nota: questi appunti non sostituiscono in alcun modo le lezioni del prof. Favilli, né alcun libro di testo. Sono piuttosto da intendersi a integrazione di entrambi. 1

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

Programmazione dinamica

Programmazione dinamica Capitolo 6 Programmazione dinamica 6.4 Il problema della distanza di edit tra due stringhe x e y chiede di calcolare il minimo numero di operazioni su singoli caratteri (inserimento, cancellazione e sostituzione)

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

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

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

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

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

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

( x) ( x) 0. Equazioni irrazionali

( x) ( x) 0. Equazioni irrazionali Equazioni irrazionali Definizione: si definisce equazione irrazionale un equazione in cui compaiono uno o più radicali contenenti l incognita. Esempio 7 Ricordiamo quanto visto sulle condizioni di esistenza

Dettagli

CALCOLO COMBINATORIO

CALCOLO COMBINATORIO CALCOLO COMBINATORIO 1 Modi di formare gruppi di k oggetti presi da n dati 11 disposizioni semplici, permutazioni Dati n oggetti distinti a 1,, a n si chiamano disposizioni semplici di questi oggetti,

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

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da Data una funzione reale f di variabile reale x, definita su un sottoinsieme proprio D f di R (con questo voglio dire che il dominio di f è un sottoinsieme di R che non coincide con tutto R), ci si chiede

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

Soluzione dell esercizio del 2 Febbraio 2004

Soluzione dell esercizio del 2 Febbraio 2004 Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo

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

Capitolo 2. Operazione di limite

Capitolo 2. Operazione di limite Capitolo 2 Operazione di ite In questo capitolo vogliamo occuparci dell operazione di ite, strumento indispensabile per scoprire molte proprietà delle funzioni. D ora in avanti riguarderemo i domini A

Dettagli

e-dva - eni-depth Velocity Analysis

e-dva - eni-depth Velocity Analysis Lo scopo dell Analisi di Velocità di Migrazione (MVA) è quello di ottenere un modello della velocità nel sottosuolo che abbia dei tempi di riflessione compatibili con quelli osservati nei dati. Ciò significa

Dettagli

MATEMATICA DEL DISCRETO elementi di teoria dei grafi. anno acc. 2009/2010

MATEMATICA DEL DISCRETO elementi di teoria dei grafi. anno acc. 2009/2010 elementi di teoria dei grafi anno acc. 2009/2010 Grafi semplici Un grafo semplice G è una coppia ordinata (V(G), L(G)), ove V(G) è un insieme finito e non vuoto di elementi detti vertici o nodi di G, mentre

Dettagli

Corso di Matematica per la Chimica

Corso di Matematica per la Chimica Dott.ssa Maria Carmela De Bonis a.a. 203-4 I sistemi lineari Generalità sui sistemi lineari Molti problemi dell ingegneria, della fisica, della chimica, dell informatica e dell economia, si modellizzano

Dettagli

Il concetto di valore medio in generale

Il concetto di valore medio in generale Il concetto di valore medio in generale Nella statistica descrittiva si distinguono solitamente due tipi di medie: - le medie analitiche, che soddisfano ad una condizione di invarianza e si calcolano tenendo

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

LEZIONE 23. Esempio 23.1.3. Si consideri la matrice (si veda l Esempio 22.2.5) A = 1 2 2 3 3 0

LEZIONE 23. Esempio 23.1.3. Si consideri la matrice (si veda l Esempio 22.2.5) A = 1 2 2 3 3 0 LEZIONE 23 231 Diagonalizzazione di matrici Abbiamo visto nella precedente lezione che, in generale, non è immediato che, data una matrice A k n,n con k = R, C, esista sempre una base costituita da suoi

Dettagli

1. Distribuzioni campionarie

1. Distribuzioni campionarie Università degli Studi di Basilicata Facoltà di Economia Corso di Laurea in Economia Aziendale - a.a. 2012/2013 lezioni di statistica del 3 e 6 giugno 2013 - di Massimo Cristallo - 1. Distribuzioni campionarie

Dettagli

Lezione 9: Cambio di base

Lezione 9: Cambio di base Lezione 9: Cambio di base In questa lezione vogliamo affrontare uno degli argomenti piu ostici per lo studente e cioè il cambio di base all interno di uno spazio vettoriale, inoltre cercheremo di capire

Dettagli

1) Descrivere dettagliatamente a quale problema di scheduling corrisponde il problema.

1) Descrivere dettagliatamente a quale problema di scheduling corrisponde il problema. Un veicolo viene utilizzato da una società di trasporti per trasportare beni a partire da un unico deposito verso prefissate località di destinazione. Si supponga che occorre trasportare singolarmente

Dettagli

RETI DI TELECOMUNICAZIONE

RETI DI TELECOMUNICAZIONE RETI DI TELECOMUNICAZIONE SISTEMI M/G/1 e M/D/1 Sistemi M/G/1 Nei sistemi M/G/1: i clienti arrivano secondo un processo di Poisson con parametro λ i tempi di servizio hanno una distribuzione generale della

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

Basi di matematica per il corso di micro

Basi di matematica per il corso di micro Basi di matematica per il corso di micro Microeconomia (anno accademico 2006-2007) Lezione del 21 Marzo 2007 Marianna Belloc 1 Le funzioni 1.1 Definizione Una funzione è una regola che descrive una relazione

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

Per lo svolgimento del corso risulta particolarmente utile considerare l insieme

Per lo svolgimento del corso risulta particolarmente utile considerare l insieme 1. L insieme R. Per lo svolgimento del corso risulta particolarmente utile considerare l insieme R = R {, + }, detto anche retta reale estesa, che si ottiene aggiungendo all insieme dei numeri reali R

Dettagli

Luigi Piroddi piroddi@elet.polimi.it

Luigi Piroddi piroddi@elet.polimi.it Automazione industriale dispense del corso 10. Reti di Petri: analisi strutturale Luigi Piroddi piroddi@elet.polimi.it Analisi strutturale Un alternativa all analisi esaustiva basata sul grafo di raggiungibilità,

Dettagli

Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora:

Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora: Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora: G.C.D.( a d, b d ) = 1 Sono state introdotte a lezione due definizioni importanti che ricordiamo: Definizione

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

Transitori del primo ordine

Transitori del primo ordine Università di Ferrara Corso di Elettrotecnica Transitori del primo ordine Si consideri il circuito in figura, composto da un generatore ideale di tensione, una resistenza ed una capacità. I tre bipoli

Dettagli

FUNZIONI ELEMENTARI - ESERCIZI SVOLTI

FUNZIONI ELEMENTARI - ESERCIZI SVOLTI FUNZIONI ELEMENTARI - ESERCIZI SVOLTI 1) Determinare il dominio delle seguenti funzioni di variabile reale: (a) f(x) = x 4 (c) f(x) = 4 x x + (b) f(x) = log( x + x) (d) f(x) = 1 4 x 5 x + 6 ) Data la funzione

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

ESERCIZI DI ALGEBRA LINEARE E GEOMETRIA

ESERCIZI DI ALGEBRA LINEARE E GEOMETRIA ESERCIZI DI ALGEBRA LINEARE E GEOMETRIA Francesco Bottacin Padova, 24 febbraio 2012 Capitolo 1 Algebra Lineare 1.1 Spazi e sottospazi vettoriali Esercizio 1.1. Sia U il sottospazio di R 4 generato dai

Dettagli

Esercizi su lineare indipendenza e generatori

Esercizi su lineare indipendenza e generatori Esercizi su lineare indipendenza e generatori Per tutto il seguito, se non specificato esplicitamente K indicherà un campo e V uno spazio vettoriale su K Cose da ricordare Definizione Dei vettori v,,v

Dettagli

PROBABILITÀ - SCHEDA N. 2 LE VARIABILI ALEATORIE

PROBABILITÀ - SCHEDA N. 2 LE VARIABILI ALEATORIE Matematica e statistica: dai dati ai modelli alle scelte www.dima.unige/pls_statistica Responsabili scientifici M.P. Rogantin e E. Sasso (Dipartimento di Matematica Università di Genova) PROBABILITÀ -

Dettagli

Modelli di Programmazione Lineare e Programmazione Lineare Intera

Modelli di Programmazione Lineare e Programmazione Lineare Intera Modelli di Programmazione Lineare e Programmazione Lineare Intera 1 Azienda Dolciaria Un azienda di cioccolatini deve pianificare la produzione per i prossimi m mesi. In ogni mese l azienda ha a disposizione

Dettagli

Relazioni statistiche: regressione e correlazione

Relazioni statistiche: regressione e correlazione Relazioni statistiche: regressione e correlazione È detto studio della connessione lo studio si occupa della ricerca di relazioni fra due variabili statistiche o fra una mutabile e una variabile statistica

Dettagli

Algoritmi e strutture dati. Codici di Huffman

Algoritmi e strutture dati. Codici di Huffman Algoritmi e strutture dati Codici di Huffman Memorizzazione dei dati Quando un file viene memorizzato, esso va memorizzato in qualche formato binario Modo più semplice: memorizzare il codice ASCII per

Dettagli

Ricerca Operativa e Logistica

Ricerca Operativa e Logistica Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili A.A. 2011/2012 Lezione 10: Variabili e vincoli logici Variabili logiche Spesso nei problemi reali che dobbiamo affrontare ci sono dei

Dettagli

Schedulazione delle attività di un progetto in presenza di multi-calendari

Schedulazione delle attività di un progetto in presenza di multi-calendari Schedulazione delle attività di un progetto in presenza di multi-calendari Maria Silvia Pini Resp. accademico: Prof.ssa Francesca Rossi Università di Padova Attività FSE DGR 1102/2010 La gestione dell

Dettagli

Funzioni funzione dominio codominio legge argomento variabile indipendente variabile dipendente

Funzioni funzione dominio codominio legge argomento variabile indipendente variabile dipendente Funzioni In matematica, una funzione f da X in Y consiste in: 1. un insieme X detto dominio di f 2. un insieme Y detto codominio di f 3. una legge che ad ogni elemento x in X associa uno ed un solo elemento

Dettagli

Esercizio 1 Dato il gioco ({1, 2, 3}, v) con v funzione caratteristica tale che:

Esercizio 1 Dato il gioco ({1, 2, 3}, v) con v funzione caratteristica tale che: Teoria dei Giochi, Trento, 2004/05 c Fioravante Patrone 1 Teoria dei Giochi Corso di laurea specialistica: Decisioni economiche, impresa e responsabilità sociale, A.A. 2004/05 Soluzioni degli esercizi

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

Ricerca Operativa Esercizi sul metodo del simplesso. Luigi De Giovanni, Laura Brentegani

Ricerca Operativa Esercizi sul metodo del simplesso. Luigi De Giovanni, Laura Brentegani Ricerca Operativa Esercizi sul metodo del simplesso Luigi De Giovanni, Laura Brentegani 1 1) Risolvere il seguente problema di programmazione lineare. ma + + 3 s.t. 2 + + 2 + 2 + 3 5 2 + 2 + 6,, 0 Soluzione.

Dettagli

Matematica in laboratorio

Matematica in laboratorio Unità 1 Attività guidate Attività 1 Foglio elettronico Divisibilità tra numeri naturali Costruisci un foglio di lavoro per determinare se a è divisibile per b, essendo a e b due numeri naturali, con a

Dettagli

Capitolo 13: L offerta dell impresa e il surplus del produttore

Capitolo 13: L offerta dell impresa e il surplus del produttore Capitolo 13: L offerta dell impresa e il surplus del produttore 13.1: Introduzione L analisi dei due capitoli precedenti ha fornito tutti i concetti necessari per affrontare l argomento di questo capitolo:

Dettagli

2.1 Definizione di applicazione lineare. Siano V e W due spazi vettoriali su R. Un applicazione

2.1 Definizione di applicazione lineare. Siano V e W due spazi vettoriali su R. Un applicazione Capitolo 2 MATRICI Fra tutte le applicazioni su uno spazio vettoriale interessa esaminare quelle che mantengono la struttura di spazio vettoriale e che, per questo, vengono dette lineari La loro importanza

Dettagli

Rappresentazione dei numeri in un calcolatore

Rappresentazione dei numeri in un calcolatore Corso di Calcolatori Elettronici I A.A. 2010-2011 Rappresentazione dei numeri in un calcolatore Lezione 2 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rappresentazione dei numeri

Dettagli

Raccolta degli Scritti d Esame di ANALISI MATEMATICA U.D. 1 assegnati nei Corsi di Laurea di Fisica, Fisica Applicata, Matematica

Raccolta degli Scritti d Esame di ANALISI MATEMATICA U.D. 1 assegnati nei Corsi di Laurea di Fisica, Fisica Applicata, Matematica DIPARTIMENTO DI MATEMATICA Università degli Studi di Trento Via Sommarive - Povo (TRENTO) Raccolta degli Scritti d Esame di ANALISI MATEMATICA U.D. 1 assegnati nei Corsi di Laurea di Fisica, Fisica Applicata,

Dettagli

mese 1 2 3 4 5 richiesta 6000 7000 8000 9500 11000

mese 1 2 3 4 5 richiesta 6000 7000 8000 9500 11000 1.7 Servizi informatici. Un negozio di servizi informatici stima la richiesta di ore di manutenzione/consulenza per i prossimi cinque mesi: mese 1 2 3 4 5 richiesta 6000 7000 8000 9500 11000 All inizio

Dettagli

Equilibrio bayesiano perfetto. Giochi di segnalazione

Equilibrio bayesiano perfetto. Giochi di segnalazione Equilibrio bayesiano perfetto. Giochi di segnalazione Appunti a cura di Stefano Moretti, Silvia VILLA e Fioravante PATRONE versione del 26 maggio 2006 Indice 1 Equilibrio bayesiano perfetto 2 2 Giochi

Dettagli

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE LE SUCCESSIONI 1. COS E UNA SUCCESSIONE La sequenza costituisce un esempio di SUCCESSIONE. Ecco un altro esempio di successione: Una successione è dunque una sequenza infinita di numeri reali (ma potrebbe

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

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

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

ESEMPIO 1: eseguire il complemento a 10 di 765

ESEMPIO 1: eseguire il complemento a 10 di 765 COMPLEMENTO A 10 DI UN NUMERO DECIMALE Sia dato un numero N 10 in base 10 di n cifre. Il complemento a 10 di tale numero (N ) si ottiene sottraendo il numero stesso a 10 n. ESEMPIO 1: eseguire il complemento

Dettagli

Corrispondenze e funzioni

Corrispondenze e funzioni Corrispondenze e funzioni L attività fondamentale della mente umana consiste nello stabilire corrispondenze e relazioni tra oggetti; è anche per questo motivo che il concetto di corrispondenza è uno dei

Dettagli

(a cura di Francesca Godioli)

(a cura di Francesca Godioli) lezione n. 12 (a cura di Francesca Godioli) Ad ogni categoria della variabile qualitativa si può assegnare un valore numerico che viene chiamato SCORE. Passare dalla variabile qualitativa X2 a dei valori

Dettagli

Fondamenti e didattica di Matematica Finanziaria

Fondamenti e didattica di Matematica Finanziaria Fondamenti e didattica di Matematica Finanziaria Silvana Stefani Piazza dell Ateneo Nuovo 1-20126 MILANO U6-368 silvana.stefani@unimib.it 1 Unità 9 Contenuti della lezione Operazioni finanziarie, criterio

Dettagli

Parte 3. Rango e teorema di Rouché-Capelli

Parte 3. Rango e teorema di Rouché-Capelli Parte 3. Rango e teorema di Rouché-Capelli A. Savo Appunti del Corso di Geometria 203-4 Indice delle sezioni Rango di una matrice, 2 Teorema degli orlati, 3 3 Calcolo con l algoritmo di Gauss, 6 4 Matrici

Dettagli

1 Applicazioni Lineari tra Spazi Vettoriali

1 Applicazioni Lineari tra Spazi Vettoriali 1 Applicazioni Lineari tra Spazi Vettoriali Definizione 1 (Applicazioni lineari) Si chiama applicazione lineare una applicazione tra uno spazio vettoriale ed uno spazio vettoriale sul campo tale che "!$%!

Dettagli

Ottimizazione vincolata

Ottimizazione vincolata Ottimizazione vincolata Ricordiamo alcuni risultati provati nella scheda sulla Teoria di Dini per una funzione F : R N+M R M di classe C 1 con (x 0, y 0 ) F 1 (a), a = (a 1,, a M ), punto in cui vale l

Dettagli

Codifica binaria dei numeri relativi

Codifica binaria dei numeri relativi Codifica binaria dei numeri relativi Introduzione All interno di un calcolatore, è possibile utilizzare solo 0 e 1 per codificare qualsiasi informazione. Nel caso dei numeri, non solo il modulo ma anche

Dettagli

Probabilità discreta

Probabilità discreta Probabilità discreta Daniele A. Gewurz 1 Che probabilità c è che succeda...? Una delle applicazioni della combinatoria è nel calcolo di probabilità discrete. Quando abbiamo a che fare con un fenomeno che

Dettagli

della funzione obiettivo. Questo punto dovrebbe risultare chiaro se consideriamo una generica funzione:

della funzione obiettivo. Questo punto dovrebbe risultare chiaro se consideriamo una generica funzione: Corso di laurea in Economia e finanza CLEF) Economia pubblica ************************************************************************************ Una nota elementare sulla ottimizzazione in presenza di

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

SISTEMI DI NUMERAZIONE E CODICI

SISTEMI DI NUMERAZIONE E CODICI SISTEMI DI NUMERAZIONE E CODICI Il Sistema di Numerazione Decimale Il sistema decimale o sistema di numerazione a base dieci usa dieci cifre, dette cifre decimali, da O a 9. Il sistema decimale è un sistema

Dettagli

Metodi Stocastici per la Finanza

Metodi Stocastici per la Finanza Metodi Stocastici per la Finanza Tiziano Vargiolu vargiolu@math.unipd.it 1 1 Università degli Studi di Padova Anno Accademico 2011-2012 Lezione 6 Indice 1 Il metodo bootstrap 2 Esercitazione 3 Interpolazione

Dettagli

CONTINUITÀ E DERIVABILITÀ Esercizi proposti. 1. Determinare lim M(sinx) (M(t) denota la mantissa di t)

CONTINUITÀ E DERIVABILITÀ Esercizi proposti. 1. Determinare lim M(sinx) (M(t) denota la mantissa di t) CONTINUITÀ E DERIVABILITÀ Esercizi proposti 1. Determinare lim M(sin) (M(t) denota la mantissa di t) kπ/ al variare di k in Z. Ove tale limite non esista, discutere l esistenza dei limiti laterali. Identificare

Dettagli

FUNZIONI / ESERCIZI SVOLTI

FUNZIONI / ESERCIZI SVOLTI ANALISI MATEMATICA I - A.A. 0/0 FUNZIONI / ESERCIZI SVOLTI ESERCIZIO. Data la funzione f () = determinare l insieme f (( +)). Svolgimento. Poiché f (( +)) = { dom f : f () ( +)} = { dom f : f () > } si

Dettagli

Teoria dei Giochi. Anna Torre

Teoria dei Giochi. Anna Torre Teoria dei Giochi Anna Torre Almo Collegio Borromeo 14 marzo 2013 email: anna.torre@unipv.it sito web del corso:www-dimat.unipv.it/atorre/borromeo2013.html IL PARI O DISPARI I II S T S (-1, 1) (1, -1)

Dettagli

Particelle identiche : schema (per uno studio più dettagliato vedi lezione 2) φ 1

Particelle identiche : schema (per uno studio più dettagliato vedi lezione 2) φ 1 Particelle identiche : schema (per uno studio più dettagliato vedi lezione ) Funzioni d onda di un sistema composto Sistema costituito da due particelle (eventualmente identiche) H φ q H φ H ψ φ φ stato

Dettagli

Esponenziali elogaritmi

Esponenziali elogaritmi Esponenziali elogaritmi Potenze ad esponente reale Ricordiamo che per un qualsiasi numero razionale m n prendere n>0) si pone a m n = n a m (in cui si può sempre a patto che a sia un numero reale positivo.

Dettagli

Reti sequenziali sincrone

Reti sequenziali sincrone Reti sequenziali sincrone Un approccio strutturato (7.1-7.3, 7.5-7.6) Modelli di reti sincrone Analisi di reti sincrone Descrizioni e sintesi di reti sequenziali sincrone Sintesi con flip-flop D, DE, T

Dettagli

Politecnico di Milano Facoltà di Ingegneria dell Informazione AGENTI AUTONOMI E SISTEMI MULTIAGENTE Appello COGNOME E NOME

Politecnico di Milano Facoltà di Ingegneria dell Informazione AGENTI AUTONOMI E SISTEMI MULTIAGENTE Appello COGNOME E NOME Politecnico di Milano Facoltà di Ingegneria dell Informazione AGENTI AUTONOMI E SISTEMI MULTIAGENTE Appello COGNOME E NOME 5 luglio 2006 RIGA COLONNA MATRICOLA Il presente plico pinzato, composto di quattro

Dettagli