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

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

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

Transcript

1 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 Guerrucci A.A Introduzione: La formulazione dei problemi di ottimizzazione combinatoria Scopo di questa sezione 1 è quello di introdurre il concetto di formulazione di un problema di Ottimizzazione Combinatoria. Formalmente, un problema di Ottimizzazione Combinatoria (OC) è caratterizzato da un insieme di vettori S {0, 1} n (regione ammissibile) e da un vettore di costo c R n. Ciascun vettore x S è detto soluzione ammissibile. Il problema di (OC) consiste nell individuare una soluzione ammissibile x S in corrispondenza della quale la funzione lineare c T x assume un valore minimo, ovvero: min c T x (1) x S Il vettore x S è detto soluzione ottima. Osserviamo che, avendo l insieme {0, 1} n cardinalità finita, anche l insieme S è composto da un insieme finito di elementi. Il formato dei problemi di Ottimizzazione Combinatoria rende agevole associare un modello matematico a molti problemi reali in cui si voglia risolvere un problema di decisione, e in particolare a problema nei quali si voglia scegliere in un insieme finito di alternative quella che consenta di massimizzare (minimizzare) una funzione obiettivo lineare di guadagno (costo). Il testo di queste dispense è tratto eccezion fatta per la Sezione 1 dagli appunti di Claudio Cavalletti e Daniela Guerrucci per il corso di AOPP da me tenuto nell A.A Ringrazio, per il prezioso aiuto, Daniela e Claudio e tutti coloro vorranno segnalarmi omissioni o errori: resta inteso che questi ultimi sono da imputare soltanto al sottoscritto. A.P. 1 Questo paragrafo è tratto integralmente dalla Dispensa Integrativa del corso di Ricerca Operativa A.A a cura di Gianpaolo Oriolo. 1

2 Variabili 0-1 consentono, infatti, di rappresentare l appartenenza o meno di un elemento a un insieme finito, vincoli di tipo logico, strutture combinatorie quali i grafi e, più in generale, l espressione di alternative (e/o scelte) tra due o più decisioni. Il primo passo della associazione di un modello di (OC) a un problema di decisione consiste nel definire le variabili di decisione del problema in esame. Questo consente di associare, in modo biunivoco, alle soluzioni di un problema di decisione i vettori di un insieme S {0, 1} n. Alcuni esempi saranno utili a chiarire questo processo. Nel caso del problema del knapsack (zaino), se n è il numero di oggetti disponibili, è possibile associare ad ogni possibile scelta di oggetti un vettore x a valori 0-1 di dimensione n: il valore 1 (0) della componente x i rappresenta il fatto che l elemento i-esimo è presente (assente) nello zaino. Nel caso del problema del TSP, se n è il numero delle città - e assunto senza perdita di generalità che esista un collegamento tra ogni coppia di città (l assenza di un collegamento può essere rappresentata con un collegamento di lunghezza molto grande) - è possibile associare ad ogni tour un vettore x a valori 0-1 di dimensione n(n 1) 2 (pari cioè al numero totale di collegamenti): il valore 1(0) della componente x i rappresenta il fatto che un tour utilizza (non utilizza) il collegamento i. Nel caso del problema dell assegnamento, se n è il numero di origini (destinazioni), è possibile associare ad ogni assegnamento un vettore x a valori 0-1 di dimensione n 2 : il valore 1 (0) della componente x i, associata alla coppia origine-destinazione (k, h), rappresenta il fatto che l origine k è (non è) assegnata alla destinazione h. Nel caso del problema del massimo matching, se E è l insieme degli archi, è possibile associare ad ogni matching un vettore x a valori 0-1 di dimensione E : il valore 1 (0) della componente x e rappresenta il fatto che l arco e appartiene (non appartiene) al matching. In generale, una volta definito il vettore x delle variabili di decisione, è immediato scrivere la funzione obiettivo del problema in esame come prodotto scalare di x per il vettore dei costi elementari c (normalmente un dato del problema). Nei casi esaminati, rispettivamente, gli elementi di c sono le utilità dei singoli elementi, le lunghezze dei collegamenti, i costi delle coppie e infine, nel caso del massimo matching, tutti 1. Una volta associato un problema di (OC), ovvero una coppia (S, c), con S {0, 1} n e c R n, a un problema di decisione, il successivo passo è quello di definire una formulazione lineare del problema (S, c). Definizione Diciamo che un poliedro P R n è una formulazione lineare del problema (S, c) se e solo se: S = P {0, 1} n. 2

3 L insieme Q n = {x R n : 0 x 1} è detto n-cubo Unitario. Allora, un poliedro è una formulazione lineare del problema (S, c) se e solo se la sua intersezione con Q n coincide con S. Una formulazione lineare ci consente quindi di separare i vettori a componenti {0,1} che corrispondono alle soluzioni del nostro problema (i vettori che appartengono a S), dai vettori a componenti {0,1} che non corrispondono a soluzioni del nostro problema (i vettori che non appartengono a S). Naturalmente, la definizione di una formulazione lineare per un problema di (OC) conduce direttamente alla formulazione di un programma di Programmazione Lineare Intera per il medesimo problema: è sufficiente aggiungere i vincoli di interezza sulle variabili. Viceversa, è facile verificare che tutti i programmi di Programmazione Lineare Intera (PLI) descritti sono delle formulazioni per i corrispondenti problemi di (OC) una volta eliminati (o, come si suol dire, rilassati ) i vincoli di interezza sulle variabili. In modo formale, se P è una formulazione lineare di un problema di (OC) (S, c), possiamo riscrivere il problema (S, c) nel modo seguente: min c T x (2) x P x {0, 1} n Definizione Il problema di programmazione lineare: min c T x (3) x P ottenuto eliminando i vincoli di interezza sulle componenti del vettore x viene detto rilassamento lineare del problema (2). Poiché la regione ammissibile del problema (1) contiene S, abbiamo che la soluzione ottima del problema x del rilassamento soddisfa la seguente relazione: c T x min {c T x : x S} ovvero, c T x fornisce una limitazione inferiore per il valore della soluzione ottima di OC. In particolare, se x appartiene all insieme S (cioè se le componenti di x sono intere), allora è anche una soluzione ottima di (2); mentre, se x non appartiene a S ma esiste x S tale che c T x = c T x, possiamo concludere che la soluzione x è ottima per (2). Vogliamo qui sottolineare che per risolvere problemi di Programmazione Lineare (del tipo (1), cioè) esistono algoritmi efficienti sia dal punto di vista teorico (l algoritmo dell ellissoide, per esempio) che dal punto di vista pratico (l algoritmo del simplesso, per esempio). Quindi, la formulazione lineare di un problema di Ottimizzazione Combinatoria consente di disporre rapidamente sia di condizioni (sufficienti) di ottimalità che di un bound per il valore della soluzione ottima (e quindi, nei casi fortunati in cui la soluzione ottima del rilassamento della formulazione sia intera, addirittura della soluzione ottima 3

4 del problema di partenza). Questo è particolarmente utile dal momento che l Ottimizzazione Combinatoria rientra nella classe dei problemi NP-hard. Evidentemente, ad un certo problema di OC possono essere associate diverse formulazioni lineari. Di conseguenza, ad ogni problema di tipo (1) possono essere associati diversi problemi equivalenti di tipo (2) e quindi diversi rilassamenti lineari. La scelta della formulazione di un problema (S, c) appare quindi di importanza decisiva nel determinare la qualità del lower bound e delle conseguenti condizioni di ottimalità appena descritte. In particolare, date due diverse formulazioni P 1 e P 2 di un medesimo problema (S, c), diciamo che P 1 è migliore di P 2 se P 1 P 2 : ciò garantisce che, qualunque sia il vettore dei costi c, valga min{c T x : x P 2 } min{c T x : x P 1 } 2. È possibile affermare che esiste una formulazione ottima di un generico problema di Ottimizzazione Combinatoria (S, c), ovvero una formulazione migliore, nel senso prima specificato, di tutte le possibili formulazioni lineari di (S, c). Tale formulazione è costituita, per definizione, dal poliedro contenuto in tutti i poliedri contenenti S, ovvero dall involucro convesso dell insieme S. È utile richiamare la definizione di insieme convesso e un importante teorema che caratterizza l involucro convesso di un insieme finito di vettori. Definizione Dato un insieme Y = {y 1,..., y m } di m vettori di R n, l insieme involucro convesso dell insieme Y è definito nel seguente modo: conv(y ) = {x R n : x = λ i y i, i=1...m i=1...m λ i = 1, 0 λ i 1, i = 1... m} In altre parole, l involucro convesso di Y, è l insieme i cui elementi sono tutti e soli i punti che possono essere espressi come combinazione convessa dei punti di Y. Se Y è finito, vale il seguente teorema. Teorema (Weyl). Sia Y = {y 1,..., y m } un insieme finito di m vettori di R n. Allora conv(y ) è un poliedro, ovvero esiste un insieme finito di disequazioni Ax b tale che conv(y ) = {x R n : Ax b} con (A, b) a componenti razionali. Il teorema precedente consente di enunciare il prossimo teorema, di cui si omette la (semplice) dimostrazione. Teorema Un problema di Ottimizzazione combinatoria (S, c) ammette sempre la formulazione lineare conv(s). Tale formulazione ha la proprietà che x S se e solo se x è un vertice di conv(s). 2 Date due diverse formulazioni P 1 e P 2 può capitare che P 1 P 2 e P 2 P 1 ; in tal caso pero è possibile considerare P 3 = P 1 P 2. Per definizione, P 3 è una formulazione di (S, c), P 3 P 1 e P 3 P 2. 4

5 In altre parole, per ogni problema di (OC) esiste una formulazione (poliedro) che ha la proprietà che tutti i vertici sono interi. Questo risultato, tuttavia, è un risultato puramente esistenziale, non dà cioè alcuna informazione su come individuare questo poliedro la cui conoscenza sarebbe, viceversa, fondamentale. Esso infatti consentirebbe di risolvere un problema di (OC), per sua natura discreto, per mezzo della Programmazione Lineare. Per fare ciò, sarebbe sufficiente considerare il rilassamento lineare della formulazione ottima e risolvere il problema di tipo (1) utilizzando un algoritmo per la (PL) che, come l algoritmo del simplesso, restituisca come soluzione ottima un vertice. Purtroppo, in generale, il problema di determinare la formulazione ottima di un problema di (OC) non è un problema di facile risoluzione. Esistono tuttavia problemi per i quali questa formulazione è nota; uno di questi è il problema dell assegnamento. Infatti, per tale problema è disponibile una formulazione con la proprietà che tutti i suoi vertici sono interi (per la totale unimodularità della matrice) essa è quindi la formulazione ottima. 2 Formulazione di funzioni booleane Presentiamo ora una interessante applicazione del concetto di formulazione lineare di un problema di Ottimizzazione Combinatoria: la formulazione di funzioni booleane. Una funzione booleana f(x), con x {0, 1} p, x T = (x 1... x p ), è una qualunque applicazione f : {0, 1} n {0, 1}. Essa può essere espressa attraverso la sua tabella di verità, la quale indica il valore assunto da f in corrispondenza ad ogni possibile valore delle variabili x 1,..., x p. Una tabella di verità è costruita come segue. Ciascun x {0, 1} p può essere fatto corrispondere ad un numero binario compreso tra 0 e 2 p 1: denotiamo con x (i) il vettore di {0, 1} p corrispondente al numero binario i, i = 1,..., 2 p 1. Una funzione booleana f(x) può essere specificata fornendo il valore binario che essa assume in corrispondenza a ciascuno degli x (i). Per esempio nella tabella seguente è rappresentata una funzione di tre variabili (OR esclusivo): x (i) x 1 x 2 x 3 f(x (i) ) Definizione Si definisce mintermine delle p variabili x 1,..., x p una funzione che vale 1 in corrispondenza di un solo valore dell argomento x o, per dirla diversamente, di un solo x (i). In particolare, il mintermine che assume valore 1 in corrispondenza di x (i) è chiamato m i. 5

6 È facile vedere che un mintermine m i è dato dalla congiunzione (AND) di variabili dirette x j (o negate x j ) a seconda che la variabile x j compaia con il valore 1 (oppure 0) nel vettore corrispondente x (i). Per esempio, il mintermine m 4 (x (4) = (1 0 0) T )) è dato da: m 4 = x 1 x 2 x 3 dove x j = 1 x j è il negato di una variabile booleana x j {0, 1}. Una generica funzione può essere scritta in forma analitica come OR dei mintermini corrispondenti a quei valori di x (i) per cui essa vale 1. Pertanto la funzione booleana rappresentata nella precedente tabella può scriversi come: y = m 1 m 2 m 4 = ( x 1 x 2 x 3 ) ( x 1 x 2 x 3 ) (x 1 x 2 x 3 ). Questo significa che, data una qualunque funzione booleana, siamo in grado di darne una descrizione utilizzando le sole funzioni AND e OR: questa osservazione ci tornerà particolarmente utile per formulare una qualunque funzione booleana. 2.1 Formulazione di funzioni AND e OR Tutto ciò premesso, vediamo come associare ad una funzione booleana f(x) {0, 1}, x {0, 1} p un opportuno sottoinsieme S f dell insieme {0, 1} p+1 : un vettore (x 1,..., x n, x p+1 ) (a valori 0-1) appartiene a S f se e solo se x p+1 = f(x 1,..., x p ). È immediato verificare che S f = 2 p. D altro canto, abbiamo visto che ogni formulazione lineare di un problema di OC consente di separare i punti a componenti 0-1 che rappresentano soluzioni ammissibili del problema da quelli che non lo sono; in modo analogo è possibile definire una formulazione di una funzione booleana per separare i punti di S f dai punti di {0, 1} p+1 \ S f. Naturalmente, in questo caso non ha senso definire una funzione obiettivo, cosí come, evidentemente, il concetto stesso di formulazione lineare è indipendente dalla definizione di una funzione obiettivo. Nel seguito illustriamo delle formulazioni lineari per le funzioni booleane AND e OR di p variabili. Attenzione: nelle formulazioni PLI, illustrate di seguito, sono sottintesi i box constraints del tipo 0 x 1 per tutte le variabili x {0, 1} considerate nella formulazione. necessariamente parte delle formulazioni proposte AND Si consideri la funzione booleana (AND di p variabili) del tipo: y = x 1 x 2... x p. È necessario modellare le seguenti implicazioni: Questi vincoli fanno 6

7 (i) se esiste una variabile nulla tra le x i, i = 1,..., p, allora y = 0 (nella soluzione intera); (ii) se tutte le variabili x i sono pari a 1, i = 1,..., p, allora y = 1 (nella soluzione intera). Per quanto riguarda l implicazione (i) è sufficiente scrivere: y 1 p p x i (4) Evidentemente, non appena una delle p variabili è pari a 0, allora p i=1 x i p e quindi y < 1 cioè y = 0 nella soluzione intera. Viceversa, se per tutti gli i = 1,..., p, x i = 1, si ha che y 1, vale a dire y è libera di assumere i valori 0 e 1 nella soluzione intera. L implicazione (ii) si può scrivere come segue: i=1 y p x i (p 1) (5) i=1 In questo caso, se tutte le variabili x i, i = 1,..., p, sono pari a 1, allora il membro destro della diseguaglianza è pari a 1 e si ha y 1 e quindi (nella soluzione intera) y = 1. Viceversa, se esiste una x i = 0, si ha immediatamente y ε con ε 0, quindi y di fatto è libera. La formulazione completa è costituita dalle diseguaglianze (4) e (5), oltre che dai box constraints. Questo non è l unico approccio possibile. A titolo di esempio si dà una formulazione alternativa per la implicazione (i), per un AND di 4 variabili, che prevede tuttavia di utilizzare 4 diseguaglianze in luogo di 1. y x 1 y x 2 y x 3 y x 4 (6) La formulazione completa è in questo caso data dalle diseguaglianze (6) e (5), oltre che dai box constraints OR Analogamente si può dare una formulazione della funzione booleana (OR di p variabili) del tipo: y = x 1 x 2... x p. È necessario modellare le seguenti implicazioni: (i) se esiste una variabile pari a 1 tra le x i, i = 1,..., 3, allora (nella soluzione intera) y = 1; 7

8 (ii) se tutte le variabili x i sono pari a 0, i = 1,..., p, allora (nella soluzione intera) y = 0. Per quanto riguarda l implicazione (i) è sufficiente scrivere: y 1 p p x i (7) Evidentemente, non appena una delle p variabili è pari a 1, allora p i=1 x i > 0 e quindi y > 0 cioè y = 1. Viceversa, se per tutti gli i = 1,..., p, x i = 0, si ha che y 1, vale a dire y è libera (nella soluzione intera) di assumere i valori 0 e 1. L implicazione (ii) si può scrivere come segue: y i=1 p x i (8) i=1 In questo caso, se tutte le variabili x i, i = 1,..., p, sono pari a 0, allora il membro destro della diseguaglianza è pari a 0 e si ha y 0 e quindi (nella soluzione intera) y = 0. Viceversa, se esiste una x i = 1, si ha immediatamente y ε con ε 1, quindi y di fatto è libera. La formulazione completa è costituita dalle diseguaglianze (7) e (8), oltre che dai box constraints. Anche per l OR, quello presentato non è l unico approccio possibile. A titolo di esempio si dà una formulazione alternativa per l implicazione (i), per un OR di 4 variabili, che prevede tuttavia di utilizzare 4 diseguaglianze in luogo di 1. y x 1 y x 2 y x 3 y x 4 (9) La formulazione completa è in questo caso data dalle diseguaglianze 9 e 5 (oltre che dai box constraints.) Formulazione di funzioni booleane generiche Vediamo ora come formulare una generica funzione booleana espressa in forma analitica come OR di mintermini. Faremo riferimento alla funzione che abbiamo utilizzato come esempio per illustrare il procedimento. y = m 1 m 2 m 4 = ( x 1 x 2 x 3 ) ( x 1 x 2 x 3 ) (x 1 x 2 x 3 ). Innanzitutto vediamo come formulare la negazione di una variabile booleana x {0, 1}. Sia dunque {0, 1} y = x. È sufficiente scrivere banalmente y = (1 x) (10) 8

9 per esprimere la relazione logica. L idea consiste nell utilizzare una variabile booleana di appoggio α i {0, 1} per ogni mintermine che compare nell espressione della funzione. Nel caso in esame, si introducono tre variabili binarie α 1, α 2 e α 4 relative ai tre mintermini m 1, m 2 e m 4. Si vuole che ciascuna variabile α i sia pari a 0 [1] quando il corrispondente mintermine m i assume valore 0 [1]. Pertanto porremo: α 1 = x 1 x 2 x 3 α 2 = x 1 x 2 x 3 α 4 = x 1 x 2 x 3 (11) Le tre relazioni logiche 11 possono essere facilmente formulate utilizzando la formulazione (si vedano le diseguaglianze (4) e (5)) per l AND delle variabili x 3 e per i negati (si veda la relazione (10)) delle variabili x 1 e x 2. Si ottengono in tal modo 6 diseguaglianze che legano le variabili α i, i = 1, 2, 4 e x j (eventualmente negate (1 x j ), j = 1, 2, 3.) A questo punto non si deve fare altro che esprimere la variabile y come OR delle variabili α i per ottenere la formulazione desiderata: y = α 1 α 2 α 4. Utilizzando le 2 diseguaglianze (7) e (8) siamo in grado facilmente di formulare tale relazione e, in conclusione, di dare una formulazione lineare per la funzione booleana y = f(x 1, x 2, x 3 ). È ovvio estendere la procedura appena illustrata ad una qualunque funzione booleana. Si noti tuttavia che il numero di variabili ausiliarie e il numero di diseguaglianze che dobbiamo utilizzare è direttamente proporzionale al numero di mintermini che compaiono nell espressione analitica e quindi, nel caso peggiore, dell ordine di O(2 p ). 3 Formulazione PLI di relazioni diverse In questa sezione affrontiamo il problema di formulare come PLI diversi problemi di decisione che, per le loro caratteristiche, costituiscono degli esempi notevoli per classi più generali di problemi. Essere in grado di formulare come PLI tali problemi di decisione costituisce uno strumento di notevole utilità per affrontare problemi di decisione più generali. Osserviamo, innanzitutto, che, per un generico problema di programmazione matematica, si ha che: min{f(x) t.c. x Ω} = max{ f(x) t.c. x Ω}, con Ω R n. Senza perdita di generalità ci riferiremo dunque ai problemi di minimo: min{f(x) t.c. x Ω}. (12) 9

10 In particolare siamo interessati a problemi in cui le variabili decisionali possono assumere solo valori interi: min{f(x) t.c. x P, x Z n }, (13) e P è un poliedro di R n. 3.1 Funzioni obiettivo di tipo min max, (max min) In molti casi, ci può porre il problema di dover linearizzare una funzione obiettivo della forma: f(x) = max{g 1 (x), g 2 (x),..., g q (x)} (14) con g i : R n R, per 1 i q, funzioni lineari di n variabili. Questo, per esempio, consentirebbe di formulare il Problema (13) come problema di PLI. Un modo di procedere è il seguente: si consideri il problema min{z t.c. z g i (x), i = {1,..., q}, x Ω}. (15) Il Problema (15) è evidentemente equivalente al Problema (12), con f(x) del tipo (14), e quindi, se valgono in particolare le restrizioni su Ω = P Z n, allora può essere formulato come problema di PL o PLI. È immediato osservare che, se il problema è quello di massimizzare una funzione f (x) = min{g 1 (x), g 2 (x),..., g q (x)}, possiamo procedere esattamente in modo analogo ponendo però, questa volta, z g i (x), i = {1,..., q}. Una applicazione di questa procedura è data dalla seguente: Formulazione PLI di funzioni obiettivo modulo Si consideri dunque il Problema (13), in cui la funzione da minimizzare è f(x) = g(x), dove g : R n R. Tale funzione è, evidentemente, non lineare. Osservando che: g(x) = max{g(x), g(x)} e applicando la procedura descritta sopra, otteniamo la formulazione equivalente: min{z t.c. z g(x), z g(x), x P, x Z n } (eventualmente, se g(x) è lineare, tale problema è un PLI.) Si badi al fatto che non è affatto ovvio formulare il problema di massimizzare una funzione modulo: in tal caso, non si può utilizzare l equivalenza max{ f(x) } = min{ f(x) }, che è vera ma che non consente di sfruttare le considerazioni fatte sopra. Infatti, minimizzare max{f(x), f(x)} non è lo stesso problema della minimizzazione di max{f(x), f(x)}. Tuttavia è possibile formulare max{ f(x) } utilizzando opportunamente una variabile binaria, come vedremo nel seguito. 10

11 3.2 Costi fissi Caso 1 Si consideri il Problema (13), con una funzione obiettivo (di costo) del tipo: f(x) = n g j (x j ), g j (x) = j=1 { 0 se xj = 0, b j + a j x j se x j > 0 con a j, b j 0 dati. Utilizzando delle variabili intere α j {0, 1}, j {1,..., n}, siamo in grado di formulare tale problema, altrimenti non lineare, come PLI. Dobbiamo esprimere la seguente doppia implicazione: - se x j = 0, desideriamo che α j = 0, - se x j > 0, si vuole che α j = 1. In questo modo, ponendo f(x) = n j=1 a jx j +b j α j siamo in grado di esprimere la funzione obiettivo come funzione lineare delle x j e α j. A tale scopo è sufficiente scrivere le seguenti diseguaglianze: Mα j x j j {1,..., n} dove M è un numero sufficientemente grande 3. Come si vede, α j è forzato ad assumere valori positivi (α = 1) non appena x j > 0. Viceversa, se x j = 0 si ha che α è libera (in altre parole abbiamo formulato solo la seconda delle due implicazioni su indicate): tuttavia, poiché la funzione obiettivo deve essere minimizzata e b j > 0, in assenza di altri vincoli, α j assumerà valore pari a 0. Caso 2 Una situazione più complessa si ha quando si debba minimizzare una funzione obiettivo dove, in luogo delle relazioni (16), si ha: n 0 se x j = 0 f(x) = g j (x j ), g j (x j ) = d j + a j x j se 0 < x j x j (17) j=1 f j + a j x j se x j > x j con f j > d j. Una funzione obiettivo di questo tipo può descrivere, ad esempio, la struttura dei costi di un sistema produttivo a capacità limitata. Il valore x potrebbe corrispondere alla capacità massima dell impianto: per produrre una quantità x > x è necessario ampliare l impianto (o costruirne un altro), con conseguente aumento dei costi fissi. Per formulare il problema (17) si può procedere nel modo seguente. La nostra funzione obiettivo sarà: (16) f(x) = n a j x j + d j α j + (f j d j )β j, α j, β j {0, 1} j=1 3 vale a dire, per cui ogni valore ammissibile di x j è non superiore ad M. In generale, tale valore non esiste. Viceversa, esiste sempre se il Problema (13) è limitato. 11

12 dove per α j e β j devono valere le seguenti implicazioni: (i) x j > 0 α j = 1 (ii) x j > x j β j = 1 In questo modo, il termine di costo d j sarà considerato solo per 0 < x j, e il termine (f j d j ) solo per x j > x j. Si noti che, per x j > x j, si avrà α j = β j = 1, cioè entrambe i termini vengono sommati nella funzione obiettivo, e i costi fissi risultano pari a: d j + (f j d j ) = f j. Caso 3 Un terzo caso di struttura dei costi può essere il seguente: n 0 se x j = 0 f(x) = g j (x j ), g j (x j ) = d j + a j x j se 0 < x x j=1 f j + c j x j se x > x Supponiamo inoltre che valgano le seguenti relazioni: 0 < a j < c j, a j x j + d j = c j x j + f j j {1,.., n} (18) Si vede facilmente che le funzioni g j (x) sono continue e che vale anche: f j < d j. Se consideriamo per semplicità il caso d j = 0 4, possiamo riscrivere le funzioni di costo g j (x) nel seguente modo: g j (x j ) = max {(a j x j + d j ), (c j x j + f j )}. (19) Il problema è dunque riconducibile alla minimizzazione di una funzione di massimo. La formulazione sarà quindi analoga alla (15): min f(x) = n j=1 g j(x j ) : g j (x j ) a j x j + d j, g j (x j ) c j x j + f j, j {1,.., n}, x Ω. (20) Si consideri adesso il caso d j > 0. La formulazione precedente non è corretta poiché nel punto x j = 0 si ottiene un valore di costo non nullo. Per ovviare a ciò occorre modificare leggermente la formulazione (20), rendendola generale: min f(x) = n j=1 g j(x j ) : g j (x j ) a j x j + d j d j α j, g j (x j ) c j x j + f j f j α j, M(1 α j ) x j, M(x j ) (1 α j ), j {1,.., n}, x Ω, (21) nullo. 4 Nel caso d j > 0, l espressione riportata non è valida nel punto x j = 0, in cui si dovrebbe avere costo 12

13 dove M è una costante definita come in precedenza (Big M ). Rispetto al caso precedente, sono stati aggiunti il terzo e il quarto vincolo, in modo che, quando x j = 0, risulti: x = 0 α = 1, dal quarto vincolo. In questo modo, quando x j = 0, i primi due vincoli diventano: g j (0) d j d j = 0, g j (0) f j f j = 0, e, minimizzando, si avrà proprio g j = 0, come si voleva. Inoltre, dal terzo vincolo segue che, quando x > 0 : x > 0 α = 0, e i primi due vincoli assumeranno la forma (20) vista nel caso precedente. 3.3 Implicazioni Nella formulazione PLI di molti problemi decisionali può rendersi necessario l utilizzo di una doppia implicazione del tipo seguente: α = 1 a T x b, α {0, 1}, x R n. (22) Utilizzando le tecniche viste fin qui per implicazioni più semplici, siamo in grado di formulare la relazione (22). Si consideri innanzitutto la prima implicazione: α = 1 a T x b, (23) che può essere definita per mezzo di una costante M sufficientemente grande 5 (Big M), in modo analogo a quanto si è visto nel paragrafo 3.2: a T x b + M(1 α). (24) In questo modo, quando α = 1, deve valere a T x b, mentre se α = 0, il vincolo è banalmente soddisfatto. Passiamo quindi alla seconda implicazione: α = 1 a T x b. (25) Ricordando che la relazione (A B) è equivalente alla relazione ( B Ā), possiamo riscrivere nel modo seguente la (25): α = 0 a T x > b. (26) 5 cioè deve esistere M tale che, per ogni x ammissibile, valga: a T x M 13

14 La forma ottenuta è più familiare, in quanto utilizza una variabile binaria per forzare una disuguaglianza, tuttavia è non lineare a causa del vincolo che deve valere strettamente. La relazione che si vuole utilizzare è analoga alle precedenti: Mα + a T x > b, (27) in modo che, quando α = 0, deve valere la disuguaglianza a T x > b, mentre se α = 1 il vincolo è soddisfatto banalmente. Rimane però da aggirare l ostacolo della non linearità del vincolo. Supponiamo che (b + ε) sia il più piccolo valore che l espressione (M + a T x) può assumere quando (M + a T x > b). Possiamo quindi riscrivere la disuguaglianza stretta in questo modo: Mα + a T x b + ε, (28) e, di conseguenza, sarà rispettato anche il vincolo non lineare: M + a T x b + ε > b. In definitiva, la doppia implicazione iniziale: α = 1 a T x b, con α {0, 1}, può essere formulata utilizzando due disuguaglianze lineari del tipo: a T x b + M(1 α), Mα + a T x b + ε, (29) Un secondo tipo di implicazione, più complesso da formulare, è il seguente: α = 1 a T x = b. (30) Utilizzando due variabili binarie di appoggio, il problema può essere scomposto in due implicazioni più semplici, la cui formulazione è già nota: β = 1 a T x b, (31) γ = 1 a T x b, con α = β γ. 14

15 Le due implicazioni sono del tipo (22) e ciascuna può essere formulata con due disequazioni lineari, come visto in precedenza. La variabile α è ottenuta come funzione booleana AND delle variabili β e γ, e può essere formulata nel modo seguente 6 : α 1 (β + γ), 2 (32) α (β + γ) 1. In questo modo si avrà: (i) Se α = 1, per la relazione di AND anche β e γ saranno pari a 1, e, di conseguenza, valgono entrambe le implicazioni (31): β = 1 a T x b a T x = b. γ = 1 a T x b Quindi: (α = 1) (a T x = b). (ii) Se (a T x = b), le implicazioni (31) danno: a T x b β = 1 a T x b γ = 1 α = β γ = 1. E quindi vale anche l implicazione inversa: (a T x = b) (α = 1) Massimizzazione di funzioni obiettivo modulo Nel paragrafo si è ottenuta la formulazione per il problema di minimizzazione di funzioni obiettivo modulo: f(x) = g(x), con g : R n R Il problema che adesso ci proponiamo di formulare è la massimizzazione di funzioni obiettivo dello stesso tipo: max f(x) con x = (x 1,..., x n ). (33) Per semplicità utilizzeremo in seguito la notazione f in luogo di f(x). definizione di funzione modulo si ha: 6 si veda il paragrafo Poiché per 15

16 z = f(x) = { f se f > 0, f se f < 0, possiamo riscrivere il problema (33) nel modo seguente: max z t.c. z f se f > 0, z f se f < 0, (34) Dalla massimizzazione della funzione obiettivo z segue che, se f > 0, si massimizzerà proprio f, mentre se f < 0, si massimizzerà f. Un modo per formulare il problema (34) è il seguente: max z t.c. (i) z f + Mα, (ii) z f + M(1 α), (iii) M(1 α) f, (iv) Mα f, α {0, 1}, nel quale α è una variabile booleana di appoggio tale che (terzo e quarto vincolo): (iii) f > 0 α = 0, (iv) f < 0 α = 1. Di conseguenza, per i primi due vincoli avremo: (i) f > 0 α = 0 z f, (ii) f < 0 α = 1 z f, cioè si è ottenuta una formulazione per il problema (34). Si noti che, nel caso particolare f = 0, α può assumere entrambe i valori 0, 1. In entrambe i casi tuttavia, il risultato è corretto. Infatti, se α = 0: e il secondo vincolo è banale; se α = 1: e il primo vincolo è banalmente soddisfatto. (i) α = 0 z f = 0, (ii) α = 1 z f = 0. 16

17 3.4 Vincoli disgiuntivi Si consideri il seguente problema di scheduling (sequenziamento di operazioni): - n lavorazioni (job) da effettuare, con tempo di processamento: p j, j {1,..., n} - 1 macchina per effettuare le lavorazioni (problema single-machine) - lavorazioni non interrompibili (non-preemptive). Se definiamo tempo di completamento C j l istante in cui termina la lavorazione del job j, l obiettivo del problema sarà la minimizzazione di una certa funzione lineare dei tempi di completamento: min f(c 1, C 2,..., C n ). Per il tempo di completamento del job j, essendo il problema non-preemptivo, vale la relazione: C j = S j + P j, dove S j è l istante di inizio (starting-time) della lavorazione e P j il tempo di processamento del job. Naturalmente deve valere anche: S j, P j, C j 0. Il problema considera una sola macchina per le n lavorazioni, di conseguenza dovremo includere nella formulazione un vincolo che permetta la lavorazione di un solo job alla volta. Le implicazioni di cui abbiamo bisogno sono le seguenti: se i precede j S j C i = S i + P i, se j precede i S i C j = S j + P j, cioè, se il job i precede il job j, allora quest ultimo non potrà iniziare prima dell istante di completamento del job i, e viceversa se j precede i. Per ottenere le implicazioni possiamo definire le variabili binarie y ij : y ij = { 1 se i precede j, 0 se j precede i, 1 i < j n, e imporre che: y = 1 S j C i, y = 0 S i C j. (35) Le precedenti due implicazioni si traducono facilmente in vincoli lineari utilizzando le costanti Big M, come già visto nei paragrafi precedenti: M y ij + S i S j + P j, M (1 y ij ) + S j S i + P i, 1 i < j n. (36) 17

18 I vincoli di sequenziamento (36) sono detti vincoli disgiuntivi. Si noti che sia per le variabili y ij, sia per tali vincoli è sufficiente considerare le coppie non ordinate di job i, j (quindi, per esempio imponendo che i < j.) In altre parole, se i < j, si utilizza solo la variabile y ij (e non y ji ) 7. La formulazione del problema è quindi la seguente: min f(c 1, C 2,..., C n ) t.c. M y ij + S i S j + P j, 1 i < j n, M (1 y ij ) + S j S i + P i, 1 i < j n, y ij {0,..., 1}, 1 i < j n. S j, C j R +, j {0,..., n}, (37) 7 Alternativamente, si possono utilizzare tante variabili booleane quante sono tutte le coppie ordinate (i, j), e il numero totale di variabili booleane utilizzate diviene pari a n 2, (scelte non ordinate di due elementi in un insieme di n) potendo così utilizzare, nei vincoli 36, M y ji in luogo di M (1 y ij ). Avremo quindi sia y ij che y ji e dovrà valere l ovvia relazione: y ij + y ji = 1, i, j {1,..., n}. 18

19 Esercizi svolti Esercizio 1 - Assegnamento con costi part transfer. Un insieme N di n operazioni, deve essere eseguito su un insieme di m macchine M. In particolare, ogni operazione i N può essere eseguita su una sola macchina del sottoinsieme dato = N i M. Tra le operazioni sussistono delle relazioni di precedenza {(i, j) A, con i, j N}, ad esempio, in corrispondenza di una i N con δ (i) > 1 si ha un operazione di assemblaggio e in corrispondenza di una i N con δ + (i) > 1 si ha un operazione di suddivisione di un lotto o di smontaggio di parti. Ogniqualvolta si assegnano due operazioni i e j, per cui (i, j) A, a due macchine distinte si paga un costo di setup s ij > 0 (nullo nel caso in cui i e j siano assegnate alla stessa macchina). Formulare come PLI il problema di determinare l assegnamento di costo minimo delle operazioni alle macchine. N.B. Si possono assegnare più operazioni alla stessa macchina. Le operazioni non sono interrompibili. Soluzione I dati del problema sono i seguenti: - Insieme delle operazioni da svolgere: N = {1, 2,..., n} - Insieme delle relazioni di precedenza: A = {(i, j) i, j N}. - Insieme delle macchine: M = {M 1, M 2,..., M m }. Per ogni macchina è definito inoltre l insieme delle operazioni che la macchina è in grado di svolgere: N i N. Inoltre, la funzione obiettivo deve tener conto dei costi di part transfer, in cui si incorre ogniqualvolta si assegna una coppia di operazioni dell insieme A (cioè operazioni come assemblaggi e suddivisioni, tra cui sussistono relazioni di precedenza) a due macchine differenti. Per formulare i vincoli di assegnamento si possono utilizzare le variabili booleane x ij : x ij = { 1 se l operazione j è assegnata alla macchina i, 0 altrimenti, i M, j N. Ogni operazione j deve essere assegnata ad una sola macchina i. Se definiamo l insieme F j = {i : j N i } delle macchine che possono svolgere l operazione j, il vincolo può essere scritto nel modo seguente: M i F j x ij = 1, (38) sommando le variabili di assegnamento x ij per tutte le macchine dell insieme F j. 19

20 Per considerare il problema dei part transfers tra le operazioni dell insieme A, si possono definire le variabili booleane y jk : y jk = { 1 se le operazioni j e k sono assegnate a macchine diverse, 0 se le operazioni j e k sono assegnate alla stessa macchina, (j, k) A. In questo modo, la funzione obiettivo sarà semplicemente la somma pesata di tali variabili, che contano il numero di volte in cui si sono assegnate coppie di operazioni dell insieme A a macchine diverse: F.O. min (j, k) A s jk y jk (39) Per forzare le y jk ad assumere i valori desiderati, si può procedere nel modo seguente. Si consideri la variabile y (i) jk, relativa alla macchina M i : y (i) jk = x ji XOR 8 x ki (jk) A, i M. (40) x ji x ki y (i) jk Come si vede dalla tabella di verità, tale variabile assume valore 1 solo in due casi: (i) x ji = 0 e x ki = 1, (i) x ji = 1 e x ki = 0, cioè se solo una delle operazioni j, i è assegnata alla macchina M i. Se su almeno una delle macchine M i ciò avviene, allora le operazioni j, k sono state assegnate a due macchine differenti, e si dovrà forzare la variabile y jk ad assumere il valore 1: Se i M : y (i) jk = 1 y jk = 1. Per formulare l implicazione precedente si possono utilizzare i semplici vincoli: y jk y (i) jk i M. (41) 8 la funzione booleana XOR di n variabili booleane può essere formulata in vari modi. Una formulazione standard può essere ottenuta utilizzando i mintermini (vedi paragrafo 2). Ricordiamo che un mintermine è dato dalla congiunzione (AND) di variabili x i dirette o negate. Se definiamo il mintermine m i in modo che esso assuma il valore 1 quando x i è pari a 1 e tutte le altre variabili sono pari a 0, allora la funzione booleana XOR (x 1, x 2,..., x n ) si ottiene come semplice funzione OR dei mintermini m 1, m 2,..., m n. Il numero di vincoli lineari necessari in questo caso è pari: 2 per ciascun mintermine (è un AND di variabili booleane), più 2 per l OR dei mintermini, in totale: 2n

21 Esercizio 2 - Sequenziamento. Un insieme J = {1,..., n} di n operazioni con tempi di processamento {p 1,..., p n } deve essere eseguito da un unica macchina, che può svolgere un operazione alla volta, in modo non preemptivo. Per ciascuna operazione è noto un istante di rilascio r j (release date), prima del quale non si può iniziare a lavorare il job j. I costi di lavorazione sono funzione del tempo di completamento, in particolare, per la generica operazione j: AC j + f se C j a j, E j (C j ) = AC j + g se a j < c j b j, AC j + h se c j x > b j, con 0 < f < g < h. Formulare come PLI il problema di determinare il sequenziamento di costo minimo delle operazioni. Soluzione Scriviamo innanzitutto il vincolo sugli istanti di rilascio: S j r j j J, (42) dove S j è l istante di inizio della lavorazione del job j. In questo modo tutte le release date saranno rispettate. Per formulare la funzione obiettivo si procede in modo analogo a quanto visto nel paragrafo 3.2 sui costi fissi. Se definiamo due variabili binarie α j, β j che si comportano nel modo seguente: { Cj > a j α j = 1, (43) C j > b j β j = 1, allora le funzioni di costo possono essere riscritte così: E j (C j ) = AC j + f + (g f) α j + (h g)β j, (44) e la funzione obiettivo sarà semplicemente la somma di queste funzioni: F.O. min E j (C j ) (45) j J I vincoli (43) possono essere scritti in forma lineare utilizzando una costante Big M : { Cj a j Mα j, j J. (46) C j b j Mβ j, Si noti che non ci siamo occupati del comportamento di α j per C j < a j (e di β j per C j < b j ). In questo modo le variabili rimangono libere di assumere entrambe i 21

22 valori 0, 1. Tuttavia è sufficiente formulare un solo verso dell implicazione, in quanto vale: 0 < f < g < h (cioè i costi fissi sono crescenti) e, per minimizzare la funzione di costo, α j e β j saranno comunque poste pari a 0. Se così non fosse, sarebbe necessario formulare entrambe i versi dell implicazione: { Cj > a j α j = 1, (47) C j > b j β j = 1, Si consideri infatti il caso f > g : se α j non fosse vincolata, assumerebbe il valore 1 anche per C j < a j, poiché risulterebbe conveniente pagare g piuttosto che f. Con il vincolo (47), invece, α dovrebbe assumere il valore 0, poichè C j < a j, e si avrebbe il valore corretto per i costi fissi: f. I vincoli di sequenziamento che dobbiamo formulare sono i seguenti: se i precede j S j C i = S i + P i, se j precede i S i C j = S j + P j, Come in precedenza, possiamo utilizzare le variabili binarie y ij : y ij = { 1 se i precede j, 0 se j precede i, 1 i < j n, (48) M y ij + S i S j + P j, M (1 y ij ) + S j S i + P i, I vincoli precedenti completano la formulazione. variabili utilizzate: 1 i < j n. (49) Per concludere, riassumiamo le S j, C j R +, j J, α j, β j {0, 1}, i, j J. 22

23 Esercizio 3 - Sequenziamento con 2 utenti. Due utenti (A e B) di una cella di lavorazione devono accordarsi su come utilizzare tale risorsa (la cella). L utente A deve processare un insieme di job J1 A,..., Jm A i cui tempi di processamento sono rispettivamente p A 1,..., p A m. Analogamente, l utente B deve processare un insieme di job J1 B,..., Jn B i cui tempi di processamento e due date sono rispettivamente p B 1,..., p B m e d B 1,..., d B m. A desidera minimizzare la somma pesata (con pesi w 1,..., w m ) dei tempi di completamento dei suoi job. B si contenta di qualunque soluzione purché non abbia piú di l job in ritardo (un job Ji B è in ritardo se il suo tempo di completamento eccede la due date d B i ). Si richiede di formulare come PLI il problema di decidere gli istanti di partenza dei job di A e B in modo da soddisfare le specifiche dei due utenti. Soluzione Definiamo innanzitutto gli obiettivi dei due utenti: - l utente A desidera minimizzare la somma pesata dei tempi di completamento dei propri job; la sua funzione obiettivo risulterà dunque: min Cj A w j, j J A - l utente B desidera avere, al più, l job in ritardo, ovvero per cui risulti: C B j > d B j. In questo caso possiamo considerare l obiettivo di A come funzione obiettivo del nostro problema e l obiettivo di B come uno dei vincoli che la soluzione ottenuta dovrà soddisfare. Per formulare il problema utilizziamo n + m variabili S j R + : S 1, S 2,..., S n, S } {{ } n+1, S n+2,..., S n+m, } {{ } Starting T ime j J A Starting T ime j J B delle quali le prime n sono relative ai tempi di inizio delle lavorazioni dei job J A, e le restanti m ai job J B. La funzione obiettivo sarà quindi data dalla somma pesata dei tempi di completamento dei job di A (sono i primi n job), che possiamo scrivere come: F.O. n min w j (S j + p j ) (50) j=1 I vincoli che la soluzione del problema dovrà soddisfare sono: 23

24 - Vincoli di sequenziamento: M y ij + S i S j + p j, M (1 y ij ) + S j S i + p i, 1 i < j n + m, (51) ottenuti introducendo le variabili booleane y ij : y ij = { 1 se i precede j, 0 se j precede i, 1 i < j n + m. - Vincolo sul numero di job J B in ritardo. Per formulare tale vincolo possiamo introdurre delle variabili booleane α j che funzionino da contatore per il numero di job J B in ritardo: α j = { 1 se il job j è in ritardo, 0 altrimenti, n + 1 j n + m. Affinché le variabili α j si comportino in questo modo, dovrà valere: C j > d j α j = 1 n + 1 j n + m, che tradotto in vincoli lineari diventa: C j d j Mα j n + 1 j n + m. (52) Il numero di job J B in ritardo è ovviamente dato da: n+m j=n+1 α j, per cui il vincolo che conclude la formulazione risulterà: n+m j=n+1 α j l. (53) 24

25 Esercizio 4 - Produzione di 2 prodotti con vincolo best before date. Si consideri un problema di pianificazione della produzione con T periodi; due tipi di prodotto A e B; domande date D A t (per il prodotto A) e D B t (per il prodotto B) per tutti gli t = 1,..., T ; funzioni lineari di costo di produzione e di stoccaggio del periodo t, C t ( ) e H t ( ) date per ogni t = 1,..., T. Si può produrre un solo tipo di prodotto per periodo ed esiste un vincolo di tipo bestbefore-date per cui la domanda al periodo t (quale che sia il tipo di prodotto) deve essere soddisfatta con la produzione dello stesso periodo t o del precedente periodo t 1. Formulare come programmazione lineare intera il problema di determinare il piano di produzione di costo minimo. Soluzione Le variabili del problema sono le seguenti: - x i t R +, i = A, B : livello di produzione nel periodo t per il prodotto i - s i t R +, i = A, B : livello di scorte nel periodo t per il prodotto i Con queste variabili possiamo già scrivere la funzione obiettivo del problema: F.O. min T t=1 i=a, B [ ] C t (xt i ) + H t (st i ), (54) in cui abbiamo sommato, per ogni periodo t, i costi di produzione e di stoccaggio da inputare ai prodotti A e B. Il primo vincolo che aggiungiamo è quello di continuità: x i t + st 1 i st i = dt i t = 1,..., T, i = A, B (55) Inoltre, dobbiamo rispettare la restrizione che impone la produzione di un solo tipo di prodotto per periodo (al più). Si introducono quindi le seguenti variabili: α t = β t = { 1 se produco A nel periodo t (x A t > 0), 0 altrimenti, { 1 se produco B nel periodo t (x B t > 0), 0 altrimenti, t = 1,..., T, t = 1,..., T. Il vincolo risultante sarà quindi: α t + β t 1 t = 1,..., T, (56) in modo che α t e β t non possano assumere contemporaneamente il valore 1, cioè i beni A e B non possano essere prodotti nello stesso periodo. Si noti che l espressione può anche assumere il valore 0, nel caso in cui nessun bene venga prodotto nel periodo t. 25

26 L ultimo vincolo (best-before) ci obbliga a soddisfare la domanda del periodo t con la produzione del periodo stesso oppure con scorte prodotte nel periodo t 1. Una formulazione per tale vincolo può essere la seguente: s i t 1 d i t t = 1,..., T, (57) che, ricordando il vincolo di continuità: xt i + st 1 i st i = dt i, può essere riscritto in questo modo: st 1 i dt i = xt i + st 1 i st i = xt i st i. In sostanza, il vincolo (57) dice che il livello di scorte accumulate in ciascun periodo deve essere non superiore alla domanda del periodo successivo, o, se vogliamo, che tale livello di scorte non può essere maggiore della quantità prodotta nel periodo stesso. In questo modo si assicura che tutte le scorte accumulate in un certo periodo saranno sicuramente consumate, al più tardi, nel periodo successivo. 26

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

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

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

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

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

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

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

5. La teoria astratta della misura.

5. La teoria astratta della misura. 5. La teoria astratta della misura. 5.1. σ-algebre. 5.1.1. σ-algebre e loro proprietà. Sia Ω un insieme non vuoto. Indichiamo con P(Ω la famiglia di tutti i sottoinsiemi di Ω. Inoltre, per ogni insieme

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

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

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

1. Sia dato un poliedro. Dire quali delle seguenti affermazioni sono corrette.

1. Sia dato un poliedro. Dire quali delle seguenti affermazioni sono corrette. . Sia dato un poliedro. (a) Un vettore x R n è un vertice di P se soddisfa alla seguenti condizioni: x P e comunque presi due punti distinti x, x 2 P tali che x x e x x 2 si ha x = ( β)x + βx 2 con β [0,

Dettagli

La Programmazione Lineare

La Programmazione Lineare 4 La Programmazione Lineare 4.1 INTERPRETAZIONE GEOMETRICA DI UN PROBLEMA DI PROGRAMMAZIONE LINEARE Esercizio 4.1.1 Fornire una rappresentazione geometrica e risolvere graficamente i seguenti problemi

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

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

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

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

Serie numeriche. 1 Definizioni e proprietà elementari

Serie numeriche. 1 Definizioni e proprietà elementari Serie numeriche Definizioni e proprietà elementari Sia { } una successione, definita per ogni numero naturale n n. Per ogni n n, consideriamo la somma s n degli elementi della successione di posto d s

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

PROGRAMMAZIONE LINEARE:

PROGRAMMAZIONE LINEARE: PROGRAMMAZIONE LINEARE: Definizione:la programmazione lineare serve per determinare l'allocazione ottimale di risorse disponibili in quantità limitata, per ottimizzare il raggiungimento di un obiettivo

Dettagli

Massimi e minimi vincolati di funzioni in due variabili

Massimi e minimi vincolati di funzioni in due variabili Massimi e minimi vincolati di funzioni in due variabili I risultati principali della teoria dell ottimizzazione, il Teorema di Fermat in due variabili e il Test dell hessiana, si applicano esclusivamente

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

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

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

Corso di Analisi Numerica

Corso di Analisi Numerica Corso di Laurea in Ingegneria Informatica Corso di Analisi Numerica 8 - METODI ITERATIVI PER I SISTEMI LINEARI Lucio Demeio Dipartimento di Scienze Matematiche 1 Norme e distanze 2 3 4 Norme e distanze

Dettagli

b i 1,1,1 1,1,1 0,1,2 0,3,4

b i 1,1,1 1,1,1 0,1,2 0,3,4 V o Appello // RICERCA OPERATIVA - Corso A (a.a. 9/) Nome Cognome: Corso di Laurea: L C6 LS LM Matricola: ) Si consideri il problema di flusso di costo minimo in figura. Si verifichi se il flusso ammissibile

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

Ottimizzazione non Vincolata

Ottimizzazione non Vincolata Dipartimento di Informatica e Sitemistica Università di Roma Corso Dottorato Ingegneria dei Sistemi 15/02/2010, Roma Outline Ottimizzazione Non Vincolata Introduzione Ottimizzazione Non Vincolata Algoritmi

Dettagli

EQUAZIONI DIFFERENZIALI. 1. Trovare tutte le soluzioni delle equazioni differenziali: (a) x = x 2 log t (d) x = e t x log x (e) y = y2 5y+6

EQUAZIONI DIFFERENZIALI. 1. Trovare tutte le soluzioni delle equazioni differenziali: (a) x = x 2 log t (d) x = e t x log x (e) y = y2 5y+6 EQUAZIONI DIFFERENZIALI.. Trovare tutte le soluzioni delle equazioni differenziali: (a) x = x log t (d) x = e t x log x (e) y = y 5y+6 (f) y = ty +t t +y (g) y = y (h) xy = y (i) y y y = 0 (j) x = x (k)

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

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

Ricerca Operativa A.A. 2007/2008. 10. Dualità in Programmazione Lineare

Ricerca Operativa A.A. 2007/2008. 10. Dualità in Programmazione Lineare Ricerca Operativa A.A. 2007/2008 10. Dualità in Programmazione Lineare Luigi De Giovanni - Ricerca Operativa - 10. Dualità in Programmazione Lineare 10.1 Soluzione di un problema di PL: punti di vista

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

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

Laboratorio di Ricerca Operativa Cad Ingegneria Gestionale (BGER3 - I semestre) a.a. 2012-13 Homework n 33. Docente: Laura Palagi

Laboratorio di Ricerca Operativa Cad Ingegneria Gestionale (BGER3 - I semestre) a.a. 2012-13 Homework n 33. Docente: Laura Palagi Laboratorio di Ricerca Operativa Cad Ingegneria Gestionale (BGER3 - I semestre) a.a. 2012-13 Homework n 33 Docente: Laura Palagi Homework in Ricerca Operativa gruppo n 33 Turni del Personale Martina Conti

Dettagli

Ricerca Operativa Dualità e programmazione lineare

Ricerca Operativa Dualità e programmazione lineare Ricerca Operativa Dualità e programmazione lineare L. De Giovanni AVVERTENZA: le note presentate di seguito non hanno alcuna pretesa di completezza, né hanno lo scopo di sostituirsi alle spiegazioni del

Dettagli

1 Breve introduzione ad AMPL

1 Breve introduzione ad AMPL 1 Breve introduzione ad AMPL Il primo passo per risolvere un problema reale attraverso strumenti matematici consiste nel passare dalla descrizione a parole del problema al modello matematico dello stesso.

Dettagli

10. Insiemi non misurabili secondo Lebesgue.

10. Insiemi non misurabili secondo Lebesgue. 10. Insiemi non misurabili secondo Lebesgue. Lo scopo principale di questo capitolo è quello di far vedere che esistono sottoinsiemi di R h che non sono misurabili secondo Lebesgue. La costruzione di insiemi

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

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

1 Massimi e minimi liberi 1. 2 Massimi e minimi vincolati 7. 3 Soluzioni degli esercizi 12

1 Massimi e minimi liberi 1. 2 Massimi e minimi vincolati 7. 3 Soluzioni degli esercizi 12 UNIVR Facoltà di Economia Sede di Vicenza Corso di Matematica 1 Massimi e minimi delle funzioni di più variabili Indice 1 Massimi e minimi liberi 1 Massimi e minimi vincolati 7 3 Soluzioni degli esercizi

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

11) convenzioni sulla rappresentazione grafica delle soluzioni

11) convenzioni sulla rappresentazione grafica delle soluzioni 2 PARAGRAFI TRATTATI 1)La funzione esponenziale 2) grafici della funzione esponenziale 3) proprietá delle potenze 4) i logaritmi 5) grafici della funzione logaritmica 6) principali proprietá dei logaritmi

Dettagli

SIMULAZIONE ESAME di OTTIMIZZAZIONE Corso di Laurea in Ingegneria Gestionale 2 o anno

SIMULAZIONE ESAME di OTTIMIZZAZIONE Corso di Laurea in Ingegneria Gestionale 2 o anno SIMULAZIONE ESAME di OTTIMIZZAZIONE 28 novembre 2005 SIMULAZIONE ESAME di OTTIMIZZAZIONE Corso di Laurea in Ingegneria Gestionale 2 o anno Cognome : XXXXXXXXXXXXXXXXX Nome : XXXXXXXXXXXXXX VALUTAZIONE

Dettagli

Parte 6. Applicazioni lineari

Parte 6. Applicazioni lineari Parte 6 Applicazioni lineari A Savo Appunti del Corso di Geometria 203-4 Indice delle sezioni Applicazioni fra insiemi, 2 Applicazioni lineari tra spazi vettoriali, 2 3 Applicazioni lineari da R n a R

Dettagli

2 Progetto e realizzazione di funzioni ricorsive

2 Progetto e realizzazione di funzioni ricorsive 2 Progetto e realizzazione di funzioni ricorsive Il procedimento costruttivo dato dal teorema di ricorsione suggerisce due fatti importanti. Una buona definizione ricorsiva deve essere tale da garantire

Dettagli

I appello - 26 Gennaio 2007

I appello - 26 Gennaio 2007 Facoltà di Ingegneria - Corso di Laurea in Ing. Informatica e delle Telecom. A.A.006/007 I appello - 6 Gennaio 007 Risolvere gli esercizi motivando tutte le risposte. (N.B. il quesito teorico è obbligatorio)

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

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

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

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

Capitolo 4: Ottimizzazione non lineare non vincolata parte II. E. Amaldi DEIB, Politecnico di Milano

Capitolo 4: Ottimizzazione non lineare non vincolata parte II. E. Amaldi DEIB, Politecnico di Milano Capitolo 4: Ottimizzazione non lineare non vincolata parte II E. Amaldi DEIB, Politecnico di Milano 4.3 Algoritmi iterativi e convergenza Programma non lineare (PNL): min f(x) s.v. g i (x) 0 1 i m x S

Dettagli

ALCUNE APPLICAZIONI DEL CALCOLO DIFFERENZIALE

ALCUNE APPLICAZIONI DEL CALCOLO DIFFERENZIALE ALCUNE APPLICAZIONI DEL CALCOLO DIFFERENZIALE Sia I un intervallo di R e siano a = inf(i) R { } e b = sup(i) R {+ }; i punti di I diversi dagli estremi a e b, ( e quindi appartenenti all intervallo aperto

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

Università del Salento

Università del Salento Università del Salento Dipartimento di Matematica DAI SISTEMI DI DISEQUAZIONI LINEARI.. ALLA PROGRAMMAZIONE LINEARE Chefi Triki La Ricerca Operativa Fornisce strumenti matematici di supporto alle attività

Dettagli

09 - Funzioni reali di due variabili reali

09 - Funzioni reali di due variabili reali Università degli Studi di Palermo Facoltà di Economia CdS Sviluppo Economico e Cooperazione Internazionale Appunti del corso di Matematica 09 - Funzioni reali di due variabili reali Anno Accademico 2013/2014

Dettagli

Esercitazione in Laboratorio: risoluzione di problemi di programmazione lineare tramite Excel il mix di produzione

Esercitazione in Laboratorio: risoluzione di problemi di programmazione lineare tramite Excel il mix di produzione Esercitazione in Laboratorio: risoluzione di problemi di programmazione lineare tramite Excel il mix di produzione Versione 11/03/2004 Contenuto e scopo esercitazione Contenuto esempi di problema di programmazione

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

Utilizzo I mintermini si usano quando si considererà la funzione di uscita Q come Somma di Prodotti (S. P.) ossia OR di AND.

Utilizzo I mintermini si usano quando si considererà la funzione di uscita Q come Somma di Prodotti (S. P.) ossia OR di AND. IPSI G. Plana Via Parenzo 46, Torino efinizione di Mintermine onsiderata una qualunque riga della tabella di verità in cui la funzione booleana di uscita Q vale, si definisce mintermine il prodotto logico

Dettagli

Sommario. 1 Realizzazione del STG. Introduzione. 1 traduzione delle specifiche informali in specifiche formali (STG o

Sommario. 1 Realizzazione del STG. Introduzione. 1 traduzione delle specifiche informali in specifiche formali (STG o Sommario Sintesi di macchine a stati finiti 1 Realizzazione del ST M. avalli 2 utoma minimo di SM completamente specificate 6th June 2007 3 Ottimizzazione di SM non completamente specificate Sommario ()

Dettagli

Funzioni in più variabili

Funzioni in più variabili Funzioni in più variabili Corso di Analisi 1 di Andrea Centomo 27 gennaio 2011 Indichiamo con R n, n 1, l insieme delle n-uple ordinate di numeri reali R n4{(x 1, x 2,,x n ), x i R, i =1,,n}. Dato X R

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

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

Note di matematica per microeconomia

Note di matematica per microeconomia Note di matematica per microeconomia Luigi Balletta Funzioni di una variabile (richiami) Una funzione di variabile reale ha come insieme di partenza un sottoinsieme di R e come insieme di arrivo un sottoinsieme

Dettagli

SUCCESSIONI NUMERICHE

SUCCESSIONI NUMERICHE SUCCESSIONI NUMERICHE Una funzione reale di una variabile reale f di dominio A è una legge che ad ogni x A associa un numero reale che denotiamo con f(x). Se A = N, la f è detta successione di numeri reali.

Dettagli

Giochi ed equilibri di Nash. Marco Sciandrone Dipartimento di Ingegneria dell Informazione Università di Firenze E-mail: marco.sciandrone@unifi.

Giochi ed equilibri di Nash. Marco Sciandrone Dipartimento di Ingegneria dell Informazione Università di Firenze E-mail: marco.sciandrone@unifi. Giochi ed equilibri di Nash Marco Sciandrone Dipartimento di Ingegneria dell Informazione Università di Firenze E-mail: marco.sciandrone@unifi.it 1 1 Notazione e definizione di equilibrio di Nash Si supponga

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

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

Scelte in condizione di incertezza

Scelte in condizione di incertezza Scelte in condizione di incertezza Tutti i problemi di decisione che abbiamo considerato finora erano caratterizzati dal fatto che ogni possibile scelta dei decisori portava a un esito certo. In questo

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

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

190 LA DUALITÀ NELLA PROGRAMMAZIONE LINEARE 7.2 INTERPRETAZIONE DELLA DUALITÀ

190 LA DUALITÀ NELLA PROGRAMMAZIONE LINEARE 7.2 INTERPRETAZIONE DELLA DUALITÀ 190 LA DUALITÀ NELLA PROGRAMMAZIONE LINEARE 7.2 INTERPRETAZIONE DELLA DUALITÀ [Questo paragrafo non fa parte del programma di esame] Nei modelli reali le variabili (primali) possono rappresentare, ad esempio,

Dettagli

Ricerca Operativa e Logistica

Ricerca Operativa e Logistica Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili A.A. 20/202 Lezione 6-8 Rappresentazione di funzioni non lineari: - Costi fissi - Funzioni lineari a tratti Funzioni obiettivo non lineari:

Dettagli

ALGEBRA I: CARDINALITÀ DI INSIEMI

ALGEBRA I: CARDINALITÀ DI INSIEMI ALGEBRA I: CARDINALITÀ DI INSIEMI 1. CONFRONTO DI CARDINALITÀ E chiaro a tutti che esistono insiemi finiti cioè con un numero finito di elementi) ed insiemi infiniti. E anche chiaro che ogni insieme infinito

Dettagli

Moto uniforme sul toro bidimensionale

Moto uniforme sul toro bidimensionale 4/3/06 Luigi Chierchia Moto uniforme sul toro bidimensionale 1. Il toro bidimensionale Denotiamo con R l insieme dei numeri reali e con Z l insieme dei numeri interi (con segno) {..., 2, 1, 0, 1, 2,...};

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

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

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

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

1 Serie di Taylor di una funzione

1 Serie di Taylor di una funzione Analisi Matematica 2 CORSO DI STUDI IN SMID CORSO DI ANALISI MATEMATICA 2 CAPITOLO 7 SERIE E POLINOMI DI TAYLOR Serie di Taylor di una funzione. Definizione di serie di Taylor Sia f(x) una funzione definita

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

Esame di Ricerca Operativa - 20 settembre 2007 Facoltà di Architettura - Udine - CORREZIONE -

Esame di Ricerca Operativa - 20 settembre 2007 Facoltà di Architettura - Udine - CORREZIONE - Esame di Ricerca Operativa - settembre 7 Facoltà di rchitettura - Udine - CORREZIONE - Problema ( punti): Un azienda pubblicitaria deve svolgere un indagine di mercato per lanciare un nuovo prodotto. L

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

Metodi iterativi per sistemi lineari

Metodi iterativi per sistemi lineari Metodi iterativi per sistemi lineari Dario A. Bini, Università di Pisa 30 ottobre 2013 Sommario Questo modulo didattico contiene risultati relativi ai metodi iterativi per risolvere sistemi di equazioni

Dettagli

5. Problemi di Ottimizzazione e Programmazione Matematica

5. Problemi di Ottimizzazione e Programmazione Matematica Dispense del corso di Ottimizzazione Combinatoria (IN440) 5. Problemi di Ottimizzazione e Programmazione Matematica Marco Liverani Università degli Studi Roma Tre Dipartimento di Matematica e Fisica Corso

Dettagli

Da una a più variabili: derivate

Da una a più variabili: derivate Da una a più variabili: derivate ( ) 5 gennaio 2011 Scopo di questo articolo è di evidenziare le analogie e le differenze, relativamente al calcolo differenziale, fra le funzioni di una variabile reale

Dettagli

Chiusura lineare. N.B. A può essere indifferentemente un insieme, finito o no, o un sistema. Es.1. Es.2

Chiusura lineare. N.B. A può essere indifferentemente un insieme, finito o no, o un sistema. Es.1. Es.2 Chiusura lineare Def. Sia A V (K) con A. Si dice copertura lineare (o chiusura lineare) di A, e si indica con L(A), l insieme dei vettori di V che risultano combinazioni lineari di un numero finito di

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

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

Metodi Numerici per Equazioni Ellittiche

Metodi Numerici per Equazioni Ellittiche Metodi Numerici per Equazioni Ellittiche Vediamo ora di descrivere una tecnica per la risoluzione numerica della più semplice equazione ellittica lineare, l Equazione di Laplace: u xx + u yy = 0, (x, y)

Dettagli

VC-dimension: Esempio

VC-dimension: Esempio VC-dimension: Esempio Quale è la VC-dimension di. y b = 0 f() = 1 f() = 1 iperpiano 20? VC-dimension: Esempio Quale è la VC-dimension di? banale. Vediamo cosa succede con 2 punti: 21 VC-dimension: Esempio

Dettagli

x u v(p(x, fx) q(u, v)), e poi

x u v(p(x, fx) q(u, v)), e poi 0.1. Skolemizzazione. Ogni enunciato F (o insieme di enunciati Γ) è equisoddisfacibile ad un enunciato universale (o insieme di enunciati universali) in un linguaggio estensione del linguaggio di F (di

Dettagli

Rette e curve, piani e superfici

Rette e curve, piani e superfici Rette e curve piani e superfici ) dicembre 2 Scopo di questo articolo è solo quello di proporre uno schema riepilogativo che metta in luce le caratteristiche essenziali delle equazioni di rette e curve

Dettagli

L espressione torna invece sempre vera (quindi la soluzione originale) se cambiamo contemporaneamente il verso: 1 < 0.

L espressione torna invece sempre vera (quindi la soluzione originale) se cambiamo contemporaneamente il verso: 1 < 0. EQUAZIONI E DISEQUAZIONI Le uguaglianze fra espressioni numeriche si chiamano equazioni. Cercare le soluzioni dell equazione vuol dire cercare quelle combinazioni delle lettere che vi compaiono che la

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

Appunti delle esercitazioni di Ricerca Operativa

Appunti delle esercitazioni di Ricerca Operativa Appunti delle esercitazioni di Ricerca Operativa a cura di P. Detti e G. Ciaschetti 1 Esercizi sulle condizioni di ottimalità per problemi di ottimizzazione non vincolata Esempio 1 Sia data la funzione

Dettagli

Ricerca Operativa. Claudio Arbib Universitàdi L Aquila. Problemi combinatorici (Gennaio 2006)

Ricerca Operativa. Claudio Arbib Universitàdi L Aquila. Problemi combinatorici (Gennaio 2006) Claudio Arbib Universitàdi L Aquila Ricerca Operativa Problemi combinatorici (Gennaio 2006) Sommario Problemi combinatorici Ottimizzazione combinatoria L algoritmo universale Il metodo greedy Problemi

Dettagli

A i è un aperto in E. i=1

A i è un aperto in E. i=1 Proposizione 1. A è aperto se e solo se A c è chiuso. Dimostrazione. = : se x o A c, allora x o A = A o e quindi esiste r > 0 tale che B(x o, r) A; allora x o non può essere di accumulazione per A c. Dunque

Dettagli

Premesse alla statistica

Premesse alla statistica Premesse alla statistica Versione 22.10.08 Premesse alla statistica 1 Insiemi e successioni I dati di origine sperimentale si presentano spesso non come singoli valori, ma come insiemi di valori. Richiamiamo

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