a 11 a 12 a 1n a 21 a 22 a 2n a m1 a m2 a mn mentre le variabili decisionali sono rappresentate dal vettore colonna n-dimensionale x,

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "a 11 a 12 a 1n a 21 a 22 a 2n a m1 a m2 a mn mentre le variabili decisionali sono rappresentate dal vettore colonna n-dimensionale x,"

Transcript

1 Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Appunti dal corso di Metodi e Modelli di Ottimizzazione Discreta A.A Prof. Sara Nicoloso A seconda del tipo di variabili che compaiono nella formulazione del problema, si distinguono diversi modelli di programmazione lineare. In questo corso ci occuperemo principalmente della programmazione lineare a numeri interi, della programmazione binaria, della programmazione lineare mista. L aggettivo lineare sta a indicare che la funzione obiettivo e i vincoli devono essere espresse come funzioni lineari delle variabili, che possono essere reali o intere, o, in particolare, binarie. Nel seguito faremo riferimento a una formulazione che spesso ha questa forma cx Ax b x 0 e... dove s.t sono le iniziali dell espressione inglese subject to che significa soggetto a (i seguenti vincoli). I dati del problema sono: il vettore riga n-dimensionale c dei coefficienti della funzione obiettivo, la matrice dei coefficienti A, che ha m righe e n colonne, e il vettore colonna m- dimensionale b dei termini noti: c = (c, c 2,..., c n ) A = a a 2 a n a 2 a 22 a 2n a m a m2 a mn b T = (b, b 2,..., b m ) mentre le variabili decisionali sono rappresentate dal vettore colonna n-dimensionale x, x T = (x, x 2,..., x n ). A seconda che le variabili siano vincolate a essere intere, oppure intere e di valore, ovvero che solo alcune siano intere, permetterà di classificare la formulazione, rispettivamente, come intera, binaria o mista. Ricordiamo inoltre che per soluzione della fomulazione si intende un vettore (riga) a n componenti. Una soluzione x = ( x, x 2,..., x n ) è ammissibile se verifica i vincoli imposti, ossia se i valori di tutte le sue componenti sono non-negativi, per i =, 2,..., n, se tali valori sono tutti interi, se la quantità a, x + a,2 x a,n x n non eccede il valore b, se la quantità a 2, x +a 2,2 x 2 + +a 2,n x n non eccede il valore b 2,..., se la quantità a m, x +a,2 x 2 + +a,n x n non eccede il valore b m. La soluzione è ottima se è ammissibile e se il valore assunto dalla funzione obiettivo in corrispondenza alla soluzione è il più grande possibile tra i valori che tale funzione assume in corrispondenza di ogni altra soluzione ammissibile. Convenzionalmente, in corrispondenza a funzioni obiettivo di min si definiscono vincoli di tipo, mentre in corrispondenza a problemi di, si definiscono vincoli di tipo. Queste assunzioni non fanno perdere in generalità dato che ogni vincolo di tipo può essere trasformato in uno equivalente di tipo semplicemente modificando i segni dei termini che lo compongono, e viceversa (i vincoli a, x + a,2 x a,n x n b e a, x a,2 x 2 a,n x n b, ad esempio, sono equivalenti). Ogni vincolo di =, inoltre, può essere sostituito da una coppia di vincoli equivalenti: si consideri, per esempio, il vincolo

2 a, x + a,2 x a,n x n = b ; esso è equivalente alla coppia di vincoli { a, x +a,2 x a,n x n b a, x +a,2 x a,n x n b. È importante sottolineare, come approfondiremo più avanti, che per formulazione si intende un insieme di vincoli verificato da tutte e sole le soluzioni ammissibili del problema. Le soluzioni ammissibili devono tutte verificare i vincoli, altrimenti potrebbe succedere che la soluzione esclusa sia proprio quella ottima, e il solutore non è in grado di trovarla (dovendosi esso limitare a cercare tra i vettori che soddisfano i vincoli). È importante, poi, che solo le soluzioni ammissibili verifichino i vincoli, e cioè che nessuna soluzione non ammissibile li verifichi, altrimenti potrebbe succedere che il solutore (che si deve limitare a cercare tra i vettori che soddisfano i vincoli) proponga come soluzione una soluzione non ammissibile. Programmazione binaria Un problema di programmazione binaria, o programmazione 0 è un problema in cui le variabili sono binarie, ossia sono variabili non negative vincolate a essere intere e di valore non superiore a. Quindi sono varibili che possono assumere solamente il valore 0 o il valore. Sono convenienti tutte le volte che si devono modellare decisioni a due vie, ossia quelle di tipo si/no, on/off, acquistare/non acquistare, noleggiare/acquistare,... decidendo arbitrariamente che una delle due situazioni venga associata al fatto che la corrispondente variabile assuma valore 0, mentre l altra situazione associata al valore assunto dalla variabile. Una formulazione tipica di programmazione binaria è la seguente: cx Ax b x 0 x e intero Modi equivalenti per dire che un vettore n-dimensionale x è binario, ossia che ogni sua componente è una variabile binaria, sono i seguenti: x {0, } n ; x B n (dove B = {0, } e quindi B n = {0, } n indica l insieme dei numeri binari in n dimensioni); oppure x 0, x e intero. Le prime notazioni sono di tipo insiemistico, l ultima è di tipo geometrico. Le stesse notazioni si possono usare, in alternativa, a indicare le singole componenti del vettore, cioè: x i {0, } per i =, 2,..., n; oppure x i B per i =, 2,..., n; oppure x i 0, x i e intera per i =, 2,..., n. Esempi di formulazioni binarie sono le formulazioni dello knapsack binario, dell assegnamento, del Matching, e dell Independent Set, che seguono. Knapsack binario Supponiamo di avere n oggetti, di ciascuno dei quali siano note l utilità u j e il peso w j con j =, 2,..., n. Si supponga di voler riempire uno zaino (knapsack significa proprio zaino) con alcuni tra questi oggetti, senza eccedere il peso massimo b sopportabile dallo zaino, e in modo da massimizzare l utilità complessiva degli oggetti scelti. Il problema descritto, nella forma Dato, Trovare, In Modo Tale Che si presenta così: Dati: n oggetti, il j-esimo dei quali è caratterizzato dall utilità u j 0, e dal peso w j 0, j =, 2,..., n; e il valore b della capacità dello zaino 2

3 Trovare: quali oggetti mettere nello zaino In modo tale che: sia massimizzata l utilità complessiva, e non si ecceda la capacità b dello zaino. Possiamo quindi utilizzare delle variabili binarie, ognuna in corrispondenza biunivoca con un oggetto. Successivamente, ai due valori che può assumere una variabile binaria possiamo associare i seguenti significati (da questa decisione dipenderà l utilizzo che faremo delle variabili nella formulazione): x i = In questo modo la formulazione risulta { se l oggetto i viene scelto 0 se l oggetto i non viene scelto per i =, 2,..., n. n i= u ix i n i= w ix i b x 0 x e intero Nella formulazione appena scritta, abbiamo ipotizzato che l associazione tra i due valori (0 e ) della generica variabile binaria x i e le due situazioni da descrivere (scelgo l oggetto i oppure non scelgo l oggetto i) fosse quella descritta sopra. Tuttavia, nulla vieta che si possa invece fare l associazione opposta e cioè: y i = 0 se scelgo l oggetto i e y i = se non scelgo l oggetto i, per i =, 2,..., n. In questo caso, scrivendo la formulazione si deve solo fare attenzione a far sì che quando il generico oggetto i viene scelto (ossia quando y i = 0), esso contribuisca per quanto gli compete alla funzione obiettivo e al vincolo, e viceversa, se esso non viene scelto (ossia se y i = ), esso contribuisca con valore nullo tanto all utilità complessiva dello zaino che al vincolo di capacità. Quindi, nell ipotesi che si sia deciso che { 0 se l oggetto i viene scelto y i = se l oggetto i non viene scelto, la formulazione finale che rispetta quanto appena osservato è la seguente. Siccome n i= u i( y i ) n i= w i( y i ) b y 0 y e intero e n n n u i ( y i ) = u i u i y i i= i= i= n n n w i ( y i ) = w i w i y i i= i= i= la formulazione appena scritta è equivalente alla seguente Si noti che la quantità min n i= u iy i n i= u i n i= w iy i n i= w i b y 0 y e intero n i= u i è una costante e come tale non può essere ottimizzata. 3

4 Massimo Matching Parliamo qui del problema del Massimo Matching su un grafo (il problema è talvolta chiamato Massimo Matching Cardinalità). Dato: un grafo G = (V, E); Trovare: un sottoinsieme M E di archi In modo tale che: su ogni nodo del grafo incida al più un arco di M e M sia massima. Dovendo determinare un sottoinsieme di un insieme dato, è conveniente utilizzare delle variabili binarie, che siano in corrispondenza biunivoca con gli elementi dell insieme dato. In questo modo esse rappresentano, attraverso il loro valore, il vettore di incidenza del sottoinsieme di interesse. Dunque, scegliamo delle variabili binarie x j per ogni e j E, assegnando loro il seguente significato: { se ej M x j = 0 se e j M La funzione obiettivo della formulazione è la cardinalità di M E: per conoscere il numero degli elementi in un insieme a partire dal vettore di incidenza è sufficiente fare la somma, estesa agli elementi dell insieme di interesse, delle componenti del vettore. Dunque in questo caso possiamo scrivere che M = e x j E j. La richiesta su ogni nodo del grafo incida al più un arco di M deve chiaramente trasformarsi in (uno o più) vincoli della formulazione. Si tratta di determinare il numero degli archi di M che incidono sul generico nodo v. Per conoscere tale numero è sufficiente conoscere quali archi di M incidono sul generico nodo v, e contarli. Quindi definiamo la stella S(v) degli archi incidenti su v, cioè l insieme degli archi che incidono sul generico nodo v. Per contare quanti elementi di M incidono sul generico nodo v è sufficiente ora fare la somma, estesa agli archi in S(v), delle componenti del vettore x. Tale numero è e x j S(v) j, e siccome esso non deve eccedere, otteniamo i V vincoli e x j S(v) j per v V. La formulazione si presenta così: e x j E j e x j S(v) j per ogni v V x {0, } E Ogni vincolo afferma che una soluzione è ammissibile se e solo se il sottoinsieme M comprende non più di un arco da ogni stella. Si noti che ogni vincolo del primo gruppo di vincoli dà luogo a una riga della matrice dei coefficienti della formulazione, e precisamente, tali coefficienti sono esattamente il vettore di incidenza della stella del nodo corrispondente. Tutte queste righe insieme formano esattamente la matrice di incidenza nodi/archi del grafo dato. La formulazione appena scritta ha le seguenti proprietà: il vettore dei costi ha tutti elementi 0 (e infatti i costi valgono tutti ), la matrice dei coefficienti è binaria, le variabili sono binarie, il vettore dei termini noti ha tutti elementi, e i vincoli sono tutti di. Variazioni Chiaramente è banale chiedersi quale è il Minimo Matching di un grafo: la soluzione ottima è un sottoinsieme di archi vuoto. Tale soluzione è ammissibile perché soddisfa tutti i vincoli, ed è anche ottima perchè la funzione obiettivo vale 0 che è il valore minimo che una somma di variabili non negativo può assumere. 4

5 Se il grafo ha un peso associato a ogni arco si ottiene il problema del Massimo Matching Pesato: tra tutti i sottoinsiemi di archi che sono dei Matching occorre determinare quello per cui è massima la somma dei pesi degli archi. Il problema viene enunciato così: Dato: un grafo G = (V, E), pesato sugli archi con valori p = (p, p 2,..., p E ) 0; Trovare: un sottoinsieme M E di archi In modo tale che: su ogni nodo del grafo incida al più un arco di M e sia massimizzata la funzione e j M p j. A tale enunciato corrisponde la seguente formulazione: e p j E jx j e x j S(v) j per ogni v V x {0, } E L ipotesi p j 0, j =,..., E non è affatto stringente. Un arco con peso negativo, infatti, non verrebbe mai scelto all interno di un Matching di Peso Massimo: consideriamo un arco e j E con peso p j 0, e consideriamo un Matching (ammissibile) M di cui e j fa parte; il Matching M = M \ {e j } ha un peso maggiore di M, e siccome M è ammissibile, a maggior ragione è ammissibile anche M. Se si fissa p j = per j =,..., n, il Massimo Matching Pesato si riduce al Massimo Matching Cardinalità. Un altro problema simile al Massimo Matching è il problema del Matching Perfetto: Dato: un grafo G = (V, E), pesato sugli archi con valori p = (p, p 2,..., p E ) 0; Trovare: un sottoinsieme M E di archi In modo tale che: su ogni nodo del grafo incida esattamente un arco di M e sia ottimizzata la funzione e j M p j. Il vincolo che chiede che su ogni nodo del grafo incida esattamente un arco di M si traduce nei seguenti V vincoli di uguaglianza e j S(v) x j = per ogni v V. La presenza di questi vincoli di uguaglianza fa sì che abbia senso sia massimizzare che minimizzare la funzione obiettivo, dato che non esiste una soluzione banale al problema. Independent Set Parliamo qui del problema del Massimo Independent Set su un grafo. Dato: un grafo G = (V, E); Trovare: un sottoinsieme N V di nodi In modo tale che: non vi siano nodi di N connessi da un arco N sia massima. Dovendo determinare un sottoinsieme di un insieme dato, come al solito è conveniente utilizzare delle variabili binarie, che siano in corrispondenza biunivoca con gli elementi dell insieme dato. In questo modo esse rappresentano, attraverso il loro valore, il vettore di incidenza del sottoinsieme di 5

6 interesse. Dunque, scegliamo delle variabili binarie y j per ogni v j V, assegnando loro il seguente significato: { se vj N y j = 0 se v j N La funzione obiettivo della formulazione è la cardinalità di N, quindi v y j V j. La richiesta non vi siano nodi di N connessi da un arco deve chiaramente trasformarsi in (uno o più) vincoli della formulazione. E facile capire che tale richiesta equivale a imporre che in N si deve trovare non più di uno dei due nodi estremi di un (qualsiasi) arco. Quindi possiamo scrivere y h + y k per ogni arco (v h, v k ) E. La formulazione si presenta così: v y j V j y h + y k per ogni (v h, v k ) V y y 0 e intero La matrice dei coefficienti della formulazione è la giustapposizione di 2 matrici: la parte inferiore è una matrice identità originata dai V vincoli y ; la parte superiore è la trasposta della matrice di incidenza nodi/archi del grafo dato. La formulazione appena scritta ha le seguenti proprietà: il vettore dei costi ha tutti elementi 0 (e infatti i costi valgono tutti ), la matrice dei coefficienti è binaria, le variabili sono binarie, il vettore dei termini noti ha tutti elementi, e i vincoli sono tutti di. Variazioni Il problema del Minimo Independent Set è banale: la (unica) soluzione ottima è il sottoinsieme vuoto: tale soluzione è ammissibile perché soddisfa tutti i vincoli, ed è anche ottima perchè la funzione obiettivo vale 0 che è il valore minimo che una somma di variabili non negativo può assumere. Se il grafo ha un peso associato a ogni nodo si ottiene il problema del Massimo Independent Set Pesato: tra tutti i sottoinsiemi di nodi che sono Independent Set per il grafo, occorre determinare quello per cui è massima la somma dei pesi dei nodi. Il problema viene enunciato così: Dato: un grafo G = (V, E), pesato sui nodi con valori p = (p, p 2,..., p V ) 0; Trovare: un sottoinsieme N V di nodi In modo tale che: non vi siano nodi di N connessi da un arco v j N p j sia massima. A tale enunciato corrisponde la seguente formulazione: v p j V jy j y h + y k per ogni (v h, v k ) V y y 0 e intero Per gli stessi motivi discussi nel Massimo Matching Pesato, l ipotesi p j 0, j =,..., V non è affatto stringente. 6

7 Assegnamento Il problema può essere così descritto: Dati: f persone, f lavori, il costo c i,j richiesto dalla persona i per svolgere il lavoro j, per i =, 2,..., f e j =, 2,..., f Trovare: un assegnamento di persone a lavori e viceversa In modo tale che: ogni lavoro sia eseguito da una sola persona, ogni persona esegua un solo lavoro e sia minimizzato il costo complessivo. Potremmo pensare di formulare il problema utilizzando delle variabili intere oppure delle variabili binarie. Vediamo la conseguenza di entrambe le scelte. Supponiamo erroneamente di voler utilizzare delle variabili intere e associamo ad esse il seguente significato x i = k se la persona i fa il lavoro k per i =, 2,..., f. Le variabili definite sono dunque in numero di f. I vincoli che ogni lavoro sia eseguito da una sola persona e che ogni persona esegua un solo lavoro si tradurrebbero negli f(f ) 2 vincoli x i x j, per ogni i =,..., f, e per ogni j = i +,..., f e negli f vincoli x i per ogni i =,..., f. I primi f(f )/2 vincoli non possono essere inseriti nella formulazione così come sono, perché nelle formulazioni si ammettono solo vincoli con o. Tuttavia dire x i x j corrisponde a dire che devono valere o l uno o l altro dei seguenti due vincoli: x i > x j e x i < x j (si dice che i due vincoli sono in exor tra di loro, ovvero si escludono mutuamente) Questa espressione dei vincoli non è ancora ammissibile perché sono vincoli privi dell uguaglianza, ma, poiché le variabili sono intere, possiamo scriverli in modo equivalente come x i x j + exor x i x j. Come vedremo più avanti utilizzando opportunamente nella formulazione una ulteriore variabile binaria possiamo esprimere correttamente due vincoli in mutua esclusione, quindi possiamo considerare di essere riusciti a scrivere correttamente i vincoli del problema di assegnamento. Come scrivere ora la funzione obiettivo? Il valore c i,k x i non corrisponde al costo derivante dal fatto che la persona i fa il lavoro k, infatti, esso risulta moltiplicato per tante volte quanto è l indice del lavoro assegnato! (infatti se fosse x i = k si avrebbe c i,k x i = kc i,k ). Questo difficoltà non può essere superata in quanto non possiamo dividere ogni c i,j per il corrispondente j, per j =, 2,..., f dato che il valore assunto dalla variabile x i nella soluzione finale lo conosceremo solo a posteriori, una volta ottenuta la soluzione. Quindi possiamo concludere che non c è modo di utilizzare le variabili intere che abbiamo definito, e occorre pensare a un altro tipo di variabili. Proviamo quindi a definire f 2 variabili binarie con il seguente significato: x i,j = { se la persona i fa il lavoro j 0 se la persona i non fa il lavoro j per i =, 2,..., f e j =, 2,..., f. Ad esempio, se nella soluzione finale il lavoro sarà svolto dalla persona 3, avremo x 3, =. Per effetto del maggior numero di variabili, del loro tipo, e del significato ad esse associato, la formulazione del problema risulta in questo caso notevolmente semplificata. Scriviamo i vincoli. Gli f vincoli che impongono che ogni lavoro venga eseguito da una sola persona sono: x, + x 2, + + x f, = x,2 + x 2,2 + + x f,2 =... x,f + x 2,f + + x f,f = In forma compatta, gli f vincoli si presentano così: ossia ossia ossia i= x i, = i= x i,2 = i= x i,f = f x i,j = per j =, 2,..., f i= 7

8 Gli f vincoli che riflettono la richiesta che ogni persona esegua un solo lavoro si presentano simmetricamente ai precedenti: f x i,j = per i =, 2,..., f j= L espressione della funzione obiettivo che si ricava dalla scelta delle variabili è: f i= j= f c i,j x i,j In questo modo, se la persona r non svolge il lavoro s, si ha x r,s = 0 ed il contributo alla funzione obiettivo è nullo. Diversamente, se il lavoro s viene svolto dalla persona r, si ha x r,s = ed il contributo alla funzione obiettivo è pari al costo c r,s associato al fatto che la persona r deve essere retribuita per il lavoro s che svolge. La formulazione completa del problema dell assegnamento è dunque la seguente: min i= j= c i,jx i,j j= x i,j = per i =, 2,..., f i= x i,j = per j =, 2,..., f x 0 x e intero Si noti che le variabili sono sempre un vettore colonna. Il fatto che le variabili decisionali abbiano due indici è solo per nostra convenienza (in modo da poter immediatamente identificare la coppia (lavoro,persona) e non perché abbiamo a che fare con una matrice di variabili! Il vettore dei coefficienti della funzione obiettivo è un vettore riga di f 2 elementi; le variabili sono un vettore colonna di f 2 elementi; il vettore dei termini noti è un vettore colonna di 2f + f 2 elementi tutti uguali a (i primi 2f sono i termini noti degli f + f vincoli di assegnamento, i successivi f 2 sono i termini noti degli f 2 vincoli x (avendo trascurato i vincoli di nonnegatività delle variabili); la matrice dei coefficienti dell intera formulazione è una matrice con 2f + f 2 righe e f 2 colonne). Se f = 3, c ha 9 elementi, A è una matrice 5 9, b ha 5 elementi tutti uguali a, e x lo possiamo scrivere come x T = (x,, x,2, x,3, x 2,, x 2,2, x 2,3, x 3,, x 3,2, x 3,3 ), e i vincoli della formulazione, in forma estesa, appaiono così: x, x,2 x,3 x 2, x 2,2 x 2,3 x 3, x 3,2 x 3,3 = = = = = = Quanto costa scrivere tutto questo? Si devono scrivere f 2 coefficienti di costo, (2f+f 2 ) f 2 elementi per la matrice dei coefficinenti e 2f + f 2 elementi di b. Complessivamente, f 2 + 2f 3 + f 4 + 2f + f 2. Il termine predominante di questo polinomio è f 4, quindi si dice che la complessità computazionale della sola scrittura di un problema di assegnamento è O(f 4 ). Si noti che tale complessità è relativa soltanto all impostazione del problema e non alla sua risoluzione! 8

9 Assegnamento e matching perfetto, ovvero rappresentazione dei dati. Se associamo un nodo a ogni persona, e un nodo a ogni lavoro, e mettiamo un arco tra ogni nodo-persona e ogni nodo-lavoro, otteniamo un grafo bipartito completo. Un assegnamento è una selezione di coppie (persona,lavoro) che soddisfa i vincoli. Ogni coppia (persona, lavoro) corrisponde a un arco del grafo bipartito. I vincoli di uguaglianza della formulazione, attraverso le uguaglianze a, impongono che di archi scelti ve ne sia esattamente per ogni nodo (di qualunque tipo esso sia), ossia impongono che la selezione di archi sia un matching perfetto sul grafo. Il problema dell assegnamento, dunque corrisponde a determinare un matching perfetto e di costo minimo su un grafo bipartito completo K f,f. Se la definizione del problema prevedesse di poter associare ad ogni lavoro almeno una persona (ma eventualmente anche più di una) e, rispettivamente, ad ogni persona almeno un lavoro (ma eventualmente anche più di uno), i vincoli di uguaglianza della formulazione si tramuterebbero nei seguenti vincoli di disuguaglianza: i= x i,j per j =, 2,..., f j= x i,j per i =, 2,..., f Supponiamo infine che non tutte le persone desiderino (o siano in grado di) svolgere tutti i lavori. Questa situazione può essere impostata in diversi modi equivalenti. Il primo consiste nel definire comunque una variabile per ogni coppia (persona, lavoro) e successivamente aggiungere alla formulazione il vincolo x i,j = 0 per ogni persona i che non desidera fare il lavoro j: questi vincoli possono essere applicati all interno della formulazione, ossia si può sostituire il valore 0 a ogni occorrenza di x i,j, e successivamente eliminati, come anche le variabili corrispondenti, dalla formulazione. Il secondo modo, porta a questa stessa formulazione finale: si tratta semplicemente di non definire le variabili x i,j corrispondenti a una persona i che non intende fare il lavoro j. Occorre fare attenzione che questa scelta fa sì che si debba modificare il modo di scrivere i vincoli. Per esempio se la persona P 3 non vuole o non è in grado di fare il lavoro L, e noi abbiamo deciso di non definire la variabile x 3,, non possiamo più scrivere i= x i, (in cui l indice j ha assunto il valore ) perché i= x i, = x, +x 2, +x 3, + +x f, ma la variabile x 3, non è stata definita! Quindi occorre prima definire l insieme S(L ) delle persone che sono in grado di fare il lavoro L e poi scrivere i:(i,) S(L x ) i,, infatti i:(i,) S(L x ) i, è la sommatoria della variabili estese alle sole persone in grado di fare il lavoro. Allo stesso modo non possiamo scrivere j= x 3,j (in cui l indice i ha assunto il valore 3) perché j= x 3,j = x 3, + x 3,2 + + x 3,f, ma la variabile x 3, non è stata definita! Anche qui, occorre preliminarmente definire l insieme S(P 3 ) dei lavori che la persona P 3 è in grado di fare, e poi scrivere j:(3,j) S(P x 3) 3,j. Il terzo modo consiste nell imporre un opportuno valore al costo c i,j riferito alla persona i che non intende fare il lavoro j: il valore più opportuno è quel valore tale che in nessuna soluzione ottima risulti x i,j =. Per ottenere questo risultato si sceglie opportunamente tra i valori 0, +, e. Il valore nullo non è una scelta corretta, perchè invoglia il solutore a fissare x i,j =, cosa che permette di verificare alcuni vincoli senza alcun incremento della funzione obiettivo. Ancora più grave è la scelta c ij = che invita inesorabilmente il solutore a scegliere x i,j = in una soluzione ottima perché nella funzione obiettivo anziché un costo ci troviamo di fronte a un guadagno! In definitiva la scelta corretta è che il costo c i,j riferito alla persona i che non intende fare il lavoro j sia posto pari a + : in questo modo in nessuna soluzione ottima si avrebbe x i,j =, dato che questa scelta comporterebbe una costo enorme, ottenendo in definitiva ciò che desideravamo, e cioè di non affidare il lavoro j alla persona i. Riprendendo infine il parallelo tra l assegnamento e il matching, nel caso in questione in cui alcune persone non desiderano fare alcuni lavori, ci troviamo a dover risolvere un matching perfetto su un grafo bipartito non completo (infatti il grafo sarà privo degli archi che connettono una persona con un lavoro che non desidera fare), ovvero come un matching perfetto su un grafo bipartito completo in cui alcuni degli archi hanno pesi di valore +. 9

10 Funzioni di variabili binarie n variabili binarie x, x 2,..., x n possono assumere 2 n diverse configurazioni. Ad esempio per n = 2 e per n = 3, rispettivamente, abbiamo x x x x 2 x Ogni configuraizone può essere ammissibille o no per il problema che dobbiamo risolvere. A seconda che una configurazione sia ammissibile o no scriveremo si o no al suo fianco. Siccome il numero delle diverse configurazioni è m = 2 n e ognuna delle m configurazioni può essere ammissibile o no, otteniamo 2 m = 2 2n diverse funzioni di due variabili. Per n = 2 esse sono 2 4 = 2 22 = 6, precisamente: x x 2 f f 2 f 3 f 4 f 5 f 6 f 7 f 8 f 9 f 0 f f 2 f 3 f 4 f 5 f no no no no no no no no si si si si si si si si 0 no no no no si si si si no no no no si si si si 0 no no si si no no si si no no si si no no si si no si no si no si no si no si no si no si no si Ognuna di queste funzioni ammette un insiemi di uno o più vincoli lineari che sono verificati da tutte e sole le configurazioni ammissibili e che non sono verificati da tutte e sole le configurazioni non ammissibili. Può essere di aiuto considerare ai 4 punti (interi) del piano x, x 2 rappresentati dalle 4 configurazioni: Si tratterà di scrivere delle disequazioni lineari (di semipiani, quindi) tali che tutte e sole le configurazioni ammissibili si trovino nel semipiano buono e tutte e sole quelle non ammissibile si trovino fuori da esso. Ad esempio: la funzione f 2 può essere descritta dal vincolo lineare x + x 2 la funzione f 4 dal vincolo x la funzione f 0 dal vincolo x x 2 = 0 la funzione f 2 dal vincolo x x 2 0. La formulazione tipica è la seguente: Programmazione a numeri interi cx Ax b x 0 e intere Richiedere che le variabili x siano intere serve per modellare tutti quei casi in cui si ha a che fare con oggetti indivisibili. Vediamo un esempio di formulazione a numeri interi. Knapsack intero 0

11 Supponiamo di avere n diversi tipi di oggetti, e supponiamo che il generico tipo di oggetto j sia disponibile in un numero limitato m j di copie, con j =, 2,..., n e che siano note l utilità u j ad esso associata e il suo peso w j con j =, 2,..., n. Si supponga di voler riempire uno zaino con alcuni tra questi oggetti, senza eccedere il peso massimo b sopportabile dallo zaino, e in modo da massimizzare l utilità complessiva degli oggetti scelti. Il problema descritto, nella forma Dato, Trovare, In Modo Tale Che si presenta così: Dati: n tipi di oggetti, ciascuno caratterizzato dal numero m j 0 di copie, dall utilità u j 0, e dal peso w j 0, per j =, 2,..., n; e il valore b della capacità dello zaino Trovare: quali oggetti portare, e in che quantità In modo tale che: sia massimizzata l utilità complessiva, non si ecceda la capacità b dello zaino, e di ogni tipo di oggetto non si prendano più copie di quelle disponibili. L unica differenza dello knapsack intero dallo knapsack binario è che nello knapsack intero il tipo di oggetto j è a disposizione in m j copie. Quindi nello knapsack intero si tratta di decidere non solo quali oggetti portare, ma anche in che quantità. Per poter associare al problema una formulazione a numeri interi, occorre decidere che tipo di variabili scegliere, e che significato attribuire ai valori che esse assumeranno. In questo caso, trattandosi di determinare quali oggetti portare, e in che quantità, le variabili più convenienti sono delle variabili intere non negative, una per ogni tipo di oggetto, limitate superiormente dal massimo numero di copie disponibili per tale oggetto. In particolare il valore di una variabile x j indicherà il numero di copie del tipo di oggetto j che vengono prese (in particolare, se x j = 0 vuol dire che l oggetto j non viene preso). A seguito di questa scelta, la formulazione risulta n i= u ix i n i= w ix i b x 0 x i m i e intera, per i =, 2,..., n Tutte le formulazioni con un solo vincolo (tolti quelli che impongono limiti superiori o inferiori alle variabili) e in cui i coefficienti della funzione obiettivo, i coefficienti del vincolo, e il termine noto hanno tutti valore non negativo, corrispondono a problemi di knapsack. A proposito del numero massimo di copie di un oggetto j che saranno effettivamente prese, osserviamo quanto segue. Per effetto del vincolo x i m i, ogni soluzione ammissible del problema farà scegliere un numero di copie del tipo di oggetto i che non sarà superiore al numero m i di copie effettivamente disponibili (si noti che se m i = per ogni oggetto i, il problema diventa di Knapsack binario). Tuttavia, pensiamo per assurdo di voler riempire lo zaino di soli oggetti i. Il numero massimo di copie che la capacità massima dello zaino ci impone è pari a b w i. Quindi possiamo senz altro dire che in ogni soluzione il numero x i di copie del tipo di oggetto i risulterà non superiore al più piccolo tra il numero m i di copie disponibili di quell oggetto e il numero massimo di copie che la capacità massima dello zaino ci impone, cioè risulterà x i min{m i ; b w i }. Tale vincolo, anche se sempre verificato, non può essere inserito nella formulazione perché non ha una espressione lineare. Rendere lineare tale vincolo è possibile, infatti x i min{m i ; b w i } è equivalente alla coppia di vincoli lineari x i m i e x i b w i. Questi ultimi due vincoli, proprio perché lineari, possono essere inseriti nella formulazione. Tuttavia, il primo vincolo è già presente, quindi non lo inseriamo nella formulazione, per evitare inutili ridondanze. Il secondo vincolo della coppia, per come è stato calcolato, non può evidentemente essere più stringente del vincolo da cui è stato derivato. Quindi possiamo evitare di inserirlo nella formulazione, per evitare anche in questo caso inutili ridondanze. Supponiamo che un analisi preliminare dei dati del problema ci permetta di verificare che b w i m i. Allora il vincolo m i x i potrà essere omesso dalla formulazione.

12 Supponiamo, infine, che, oltre a non voler portare con noi uno zaino troppo pesante (e cioè, il cui peso ecceda il valore prestabilito b), il nostro zaino ponga dei limiti anche sul volume massimo trasportabile V. In tal caso parleremo di knapsack multidimensionale, dove il termine multidimensionale indica un problema che ha più di un vincolo, infatti sarà presente, oltre al vincolo sul peso massimo sopportabile, anche il vincolo sul volume massimo disponibile: n v i x i V dove v i rappresenta il volume dell oggetto i, per i =, 2,..., n. Analogamente a prima, avremo che in ogni soluzione ammissibile si avrá i= x i min{m i ; b w i ; V v i } vincolo che può essere linearizzato in x i m i x i b w i x i V v i Inoltre, se un analisi preliminare dei dati del problema ci permette di verificare che m i min{ b w i ; V v i } allora il vincolo x i m i potrà essere omesso dalla formulazione. Un qualsiasi problema di Knapsack intero può essere trasformato in un problema di Knapsack binario se si associa una variabile binaria a ogni singola copia di ogni tipo di oggetto, anziché associare una variabile intera a ogni tipo di oggetto. Esempio: si consideri un problema di knapsack intero con 3 oggetti con molteplicità (3,2,), peso (2,4,3), e utilità (5,3,6), capacità dello zaino pari a b = 5. La formulazione intera è la seguente: 5x + 3x 2 + 6x 3 2x + 4x 2 + 3x 3 5 x 0 x 3 e intera x 2 2 e intera x 3 e intera La formulazione binaria dello stesso problema si ottiene associando una variabile binaria a ciascuna delle m = 3 copie del primo tipo di oggetto, siano y, y 2, y 3, una variabile binaria a ciascuna delle m 2 = 2 copie del secondo tipo di oggetto, siano y 4 e y 5, e una variabile all unica copia disponibile del terzo tipo di oggetto, sia y 6. La formulazione binaria del problema è 5y + 5y 2 + 5y 3 + 3y 4 + 3y 5 + 6y 6 2y + 2y 2 + 2y 3 + 4y 4 + 4y 5 + 3y 6 5 y 0 y e intero Si osservi che il numero di variabili della formulazione binaria è dato dalla somma delle molteplicità dei vari tipi di oggetti, ossia al numero complessivo di oggetti. Nel nostro caso, vale m +m 2 +m 3 = = 6. 2

a 11 a 12 a 1n a 21 a 22 a 2n a m1 a m2 a mn mentre le variabili decisionali sono rappresentate dal vettore colonna n-dimensionale x,

a 11 a 12 a 1n a 21 a 22 a 2n a m1 a m2 a mn mentre le variabili decisionali sono rappresentate dal vettore colonna n-dimensionale x, Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Appunti dal corso di Metodi e Modelli di Ottimizzazione Discreta 1 A.A. 2018-2019 Prof. Sara Nicoloso A seconda del tipo di variabili che

Dettagli

Università degli Studi di Roma "Tor Vergata" Facoltà di Ingegneria. Appunti dal corso di 5LFHUFD2SHUDWLYD

Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria. Appunti dal corso di 5LFHUFD2SHUDWLYD Università degli Studi di Roma "Tor Vergata" Facoltà di Ingegneria Appunti dal corso di 5LFHUFD2SHUDWLYD Dalle lezioni dell A.A. 2-2 Revisione A.A. 22-23 Prof. Sara Nicoloso Si possono distinguere diverse

Dettagli

Possibile applicazione

Possibile applicazione p. 1/4 Assegnamento Siano dati due insiemi A e B entrambi di cardinalità n. Ad ogni coppia (a i,b j ) A B è associato un valore d ij 0 che misura la "incompatibilità" tra a i e b j, anche interpretabile

Dettagli

3.3 Problemi di PLI facili

3.3 Problemi di PLI facili 3.3 Problemi di PLI facili Consideriamo un generico problema di PLI espresso in forma standard min{c t x : Ax = b, x Z n +} (1) dove A Z m n con n m, e b Z m. Supponiamo che A sia di rango pieno. Sia P

Dettagli

I Appello Ricerca Operativa 2 bis Compito A

I Appello Ricerca Operativa 2 bis Compito A I Appello Ricerca Operativa 2 bis Compito A Cognome e nome:. Esercizio 1. Si consideri il problema del matching di cardinalità massima in un grafo G ed il suo problema di decisione associato: esiste un

Dettagli

UNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa 2. Esercizi sul problema dell assegnamento

UNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa 2. Esercizi sul problema dell assegnamento UNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa Esercizi sul problema dell assegnamento Richiami di Teoria Ricordiamo che, dato un grafo G=(N,A),

Dettagli

Metodi e Modelli per l Ottimizzazione Combinatoria Problema dell assegnamento e matrici totalmente unimodulari

Metodi e Modelli per l Ottimizzazione Combinatoria Problema dell assegnamento e matrici totalmente unimodulari Metodi e Modelli per l Ottimizzazione Combinatoria Problema dell assegnamento e matrici totalmente unimodulari L. De Giovanni G. Zambelli 1 Problema dell assegnamento Sia dato un grafo non orientato bipartito

Dettagli

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

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

Dettagli

Dualitá in Programmazione Lineare e alcune conseguenze

Dualitá in Programmazione Lineare e alcune conseguenze Dualitá in Programmazione Lineare e alcune conseguenze Giacomo Zambelli 1 Dualitá per problemi in forma standard Si consideri il seguente problema di PL in forma standard: z = max c x Ax = b (1) ove A

Dettagli

Metodi e Modelli per l Ottimizzazione Combinatoria Cover inequalities

Metodi e Modelli per l Ottimizzazione Combinatoria Cover inequalities Metodi e Modelli per l Ottimizzazione Combinatoria Cover inequalities L. De Giovanni M. Di Summa In questa lezione introdurremo una classe di disuguaglianze, dette cover inequalities, che permettono di

Dettagli

Definizione 1.3 (Arco accoppiato) Un arco è accoppiato se è appartenente al matching M.

Definizione 1.3 (Arco accoppiato) Un arco è accoppiato se è appartenente al matching M. Matching. Definizioni Definizione. (Matching di un grafo G = (N, A)) Il matching di un grafo è un sottoinsieme M di archi tali per cui nessuna coppia di essi condivida lo stesso nodo. Definizione.2 (Matching

Dettagli

Le condizioni di Karush-Kuhn-Tucker

Le condizioni di Karush-Kuhn-Tucker Capitolo 9 Le condizioni di Karush-Kuhn-Tucker 9. Introduzione In questo capitolo deriveremo le condizioni necessarie di Karush-Kuhn-Tucker (KKT) per problemi vincolati in cui S è descritto da vincoli

Dettagli

4 Autovettori e autovalori

4 Autovettori e autovalori 4 Autovettori e autovalori 41 Cambiamenti di base Sia V uno spazio vettoriale tale che dim V n Si è visto in sezione 12 che uno spazio vettoriale ammette basi distinte, ma tutte con la medesima cardinalità

Dettagli

min det det Allora è unimodulare se e solo se det 1, 1, 0 per ogni sottomatrice quadrata di di qualsiasi dimensione.

min det det Allora è unimodulare se e solo se det 1, 1, 0 per ogni sottomatrice quadrata di di qualsiasi dimensione. Se è unimodulare e è intero allora il poliedro 0 ha vertici interi. Sia un vertice di Per definizione esiste allora una base di tale che, 0 Poiché è non singolare ( invertibile det 0) si ha che det 1 è

Dettagli

1 Ampliamento del piano e coordinate omogenee

1 Ampliamento del piano e coordinate omogenee 1 Ampliamento del piano e coordinate omogenee Vogliamo dare una idea, senza molte pretese, dei concetti che stanno alla base di alcuni calcoli svolti nella classificazione delle coniche. Supponiamo di

Dettagli

Matrici unimodulari e totalmente unimodulari

Matrici unimodulari e totalmente unimodulari Matrici unimodulari e totalmente unimodulari Sia una matrice intera di dimensione con, si dice unimodulare se presa una qualsiasi sottomatrice di ordine massimo (di dimensione ) vale det = 1, +1, 0. Una

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. p. 1/1 Problema del trasporto Supponiamo di avere m depositi in

Dettagli

Introduzione al Metodo del Simplesso. 1 Soluzioni di base e problemi in forma standard

Introduzione al Metodo del Simplesso. 1 Soluzioni di base e problemi in forma standard Introduzione al Metodo del Simplesso Giacomo Zambelli 1 Soluzioni di base e problemi in forma standard Consideriamo il seguente problema di programmazione lineare (PL), relativo all esempio di produzione

Dettagli

LEZIONE 2. ( ) a 1 x 1 + a 2 x a n x n = b, ove a j, b R sono fissati.

LEZIONE 2. ( ) a 1 x 1 + a 2 x a n x n = b, ove a j, b R sono fissati. LEZIONE 2 2 Sistemi di equazioni lineari Definizione 2 Un equazione lineare nelle n incognite x, x 2,, x n a coefficienti reali, è un equazione della forma (2 a x + a 2 x 2 + + a n x n = b, ove a j, b

Dettagli

Ricerca Operativa A.A. 2017/2018

Ricerca Operativa A.A. 2017/2018 Ricerca Operativa A.A. 2017/2018 Esercizi su modelli di programmazione lineare intera - Soluzioni Nota Vengono fornite delle possibili soluzioni. Potrebbero esserci soluzioni alternative altrettanto valide.

Dettagli

2.6 Calcolo degli equilibri di Nash

2.6 Calcolo degli equilibri di Nash 92 2 Giochi non Cooperativi Per queste estensioni di giochi non finiti si possono provare risultati analoghi a quelli visti per i giochi finiti. Rimandiamo alla bibliografia per uno studio più approfondito

Dettagli

1) Data la seguente istanza di TSP (grafo completo con 5 nodi): c 12 = 52; c 13 = 51; c 14 = 40; c 15 = 53; c 23 = 44;

1) Data la seguente istanza di TSP (grafo completo con 5 nodi): c 12 = 52; c 13 = 51; c 14 = 40; c 15 = 53; c 23 = 44; 1) Data la seguente istanza di TSP (grafo completo con 5 nodi): c 12 = 52; c 13 = 51; c 14 = 40; c 15 = 53; c 23 = 44; c 24 = 15; c 25 = 12; c 34 = 32; c 35 = 55; c 45 = 24 Si calcoli l ottimo duale (formulazione

Dettagli

Parte V: Rilassamento Lagrangiano

Parte V: Rilassamento Lagrangiano Parte V: Rilassamento Lagrangiano Tecnica Lagrangiana Consideriamo il seguente problema di Programmazione Lineare Intera: P 1 min c T x L I Ax > b Cx > d x > 0, intera in cui A = matrice m x n C = matrice

Dettagli

Si consideri il sistema a coefficienti reali di m equazioni lineari in n incognite

Si consideri il sistema a coefficienti reali di m equazioni lineari in n incognite 3 Sistemi lineari 3 Generalità Si consideri il sistema a coefficienti reali di m equazioni lineari in n incognite ovvero, in forma matriciale, a x + a 2 x 2 + + a n x n = b a 2 x + a 22 x 2 + + a 2n x

Dettagli

Corso di GEOMETRIA Dipartimento di Ingegneria ed Architettura Università degli Studi di Trieste Prof. Fabio Perroni. 3. Sistemi di equazioni lineari

Corso di GEOMETRIA Dipartimento di Ingegneria ed Architettura Università degli Studi di Trieste Prof. Fabio Perroni. 3. Sistemi di equazioni lineari Corso di GEOMETRIA Dipartimento di Ingegneria ed Architettura Università degli Studi di Trieste Prof Fabio Perroni 3 Sistemi di equazioni lineari Siano m, n N \ {}, sia K un campo Definizione a) Un sistema

Dettagli

ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I

ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I Esercizio 1 Dati n oggetti ed un contenitore, ad ogni oggetto j (j = 1,, n) sono associati un peso p j ed un costo c j (con p j e c j interi positivi). Si

Dettagli

Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte I)

Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte I) Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte I) Luigi De Giovanni Giacomo Zambelli 1 Problemi di programmazione lineare Un problema

Dettagli

Note per il corso di Geometria Corso di laurea in Ing. Edile/Architettura. 4 Sistemi lineari. Metodo di eliminazione di Gauss Jordan

Note per il corso di Geometria Corso di laurea in Ing. Edile/Architettura. 4 Sistemi lineari. Metodo di eliminazione di Gauss Jordan Note per il corso di Geometria 2006-07 Corso di laurea in Ing. Edile/Architettura Sistemi lineari. Metodo di eliminazione di Gauss Jordan.1 Operazioni elementari Abbiamo visto che un sistema di m equazioni

Dettagli

Università degli Studi di Roma La Sapienza

Università degli Studi di Roma La Sapienza Università degli Studi di Roma La Sapienza Dipartimento di Informatica e Sistemistica A. Ruberti Proff. Gianni Di Pillo and Laura Palagi Note per il corso di OTTIMIZZAZIONE (a.a. 2007-08) Dipartimento

Dettagli

Rette e piani in R 3

Rette e piani in R 3 Rette e piani in R 3 In questa dispensa vogliamo introdurre in modo elementare rette e piani nello spazio R 3 (si faccia riferimento anche al testo Algebra Lineare di S. Lang). 1 Rette in R 3 Vogliamo

Dettagli

RICERCA OPERATIVA GRUPPO A prova scritta del 21 luglio 2010

RICERCA OPERATIVA GRUPPO A prova scritta del 21 luglio 2010 RICERCA OPERATIVA GRUPPO A prova scritta del luglio 00. Dato il problema di programmazione lineare P) min z = x + x + x max y + y x + x + x = y + y < x + x x y + y < x, x, x 0 y y < y > 0 a) costruirne

Dettagli

3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI

3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI 3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI ESISTENZA DI UN PUNTO DI OTTIMO VINCOLATO Il problema di ottimizzazione vincolata introdotto nel paragrafo precedente può essere formulato nel modo seguente:

Dettagli

Programmazione Matematica / A.A Soluzioni di alcuni esercizi

Programmazione Matematica / A.A Soluzioni di alcuni esercizi Programmazione Matematica / A.A. 7-8 Soluzioni di alcuni esercizi Esercizi - I. Aggiungiamo al problema una variabile v, e richiediamo che v soddisfi v n a ij x j b i. j= Fissato x, il minimo v che soddisfa

Dettagli

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara Sistemi lineari Lorenzo Pareschi Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara http://utenti.unife.it/lorenzo.pareschi/ lorenzo.pareschi@unife.it Lorenzo Pareschi (Univ. Ferrara)

Dettagli

Esempio Date a = (1, 2, 3) e b = (4, 5, 6), calcolare. 2(a + b) 3(2a b).

Esempio Date a = (1, 2, 3) e b = (4, 5, 6), calcolare. 2(a + b) 3(2a b). Matematica II, 26.02.04 Passiamo ora a considerare l insieme R 3 = {(x, x 2, x 3 ); x, x 2, x 3 R}, costituito dalle terne ordinate di numeri reali. Ciascuna terna puo essere pensata come un unica entita,

Dettagli

Lezione Sistemi di equazioni lineari

Lezione Sistemi di equazioni lineari Lezione. Sistemi di equazioni lineari Definizione. (Sistemi di equazioni lineari e loro soluzioni). Un equazione lineare nelle n incognite x,,...,x n acoefficientiink = R, èun equazionedellaforma a x +

Dettagli

Programmazione mista

Programmazione mista Programmazione mista E il caso più generale, perché accanto a variabili reali compaiono anche delle variabili vincolate ad essere intere; la formulazione tipica è la seguente: max s.t. cx + dy Ax + Gy

Dettagli

Se il grafo è bipartito, un accoppiamento viene anche detto assegnamento.

Se il grafo è bipartito, un accoppiamento viene anche detto assegnamento. 1. Accoppiamento Definizione. Dato un grafo (non orientato) G =(N,E), un sottoinsieme M di archi, tale che ogni nodo del grafo è incidente in al più unarcodim, viene detto accoppiamento, (matching). I

Dettagli

Esercizi di Programmazione Lineare

Esercizi di Programmazione Lineare Esercizi di Programmazione Lineare 1 di Base: Forma Matriciale Si consideri il poliedro P = {x R 3 : Ax b} in cui: 1 0 1 2 A = 1 1 0 0 1 1, b = 1 4 1 1 1 3, x 1 = 1 2 + 3 2 + 5 2 x 2 = I vettori x 1 e

Dettagli

A T x b x 0. che chiameremo problema primale, possiamo associare ad esso un altro problema di PL, detto problema duale, definito come segue.

A T x b x 0. che chiameremo problema primale, possiamo associare ad esso un altro problema di PL, detto problema duale, definito come segue. 1 Dualitá Dato un problema di PL in forma canonica max c T x A T x b x 0 che chiameremo problema primale, possiamo associare ad esso un altro problema di PL, detto problema duale, definito come segue min

Dettagli

Programmazione dinamica

Programmazione dinamica 5 Programmazione dinamica 5.1 Stringhe Palindrome Una stringa si dice palindroma se è uguale alla sua trasposta, ossia se è la stessa letta da sinistra a destra, o da destra a sinistra (es: anna, osso,

Dettagli

Corso di Laurea in Fisica. Geometria. a.a Prof. P. Piazza Soluzione compito a casa del 24/10/09

Corso di Laurea in Fisica. Geometria. a.a Prof. P. Piazza Soluzione compito a casa del 24/10/09 Corso di Laurea in Fisica. Geometria. a.a. 29-. Prof. P. Piazza Soluzione compito a casa del 24//9 Soluzione esercizio. Siano A e B due matrici simmetriche e λ un numero reale. Dobbiamo mostrare che anche

Dettagli

Un esempio di applicazione della programmazione lineare intera al progetto di una rete stradale con vincoli di network survivability

Un esempio di applicazione della programmazione lineare intera al progetto di una rete stradale con vincoli di network survivability Un esempio di applicazione della programmazione lineare intera al progetto di una rete stradale con vincoli di network survivability Corso di Ricerca Operativa per il Corso di Laurea Magistrale in Ingegneria

Dettagli

Introduzione alla Matematica per le Scienze Sociali - parte II

Introduzione alla Matematica per le Scienze Sociali - parte II Introduzione alla Matematica per le Scienze Sociali - parte II Lucrezia Fanti Istituto Nazionale per l Analisi delle Politiche Pubbliche (INAPP) lucrezia.fanti@uniroma1.it Lucrezia Fanti Intro Matematica

Dettagli

Corso di GEOMETRIA Dipartimento di Ingegneria ed Architettura Università degli Studi di Trieste Prof. Fabio Perroni 2. MATRICI

Corso di GEOMETRIA Dipartimento di Ingegneria ed Architettura Università degli Studi di Trieste Prof. Fabio Perroni 2. MATRICI Corso di GEOMETRIA Dipartimento di Ingegneria ed Architettura Università degli Studi di Trieste Prof Fabio Perroni 2 MATRICI Siano m, n N \ {0}, sia K un campo Una matrice m n a coefficienti in K è una

Dettagli

Sistemi lineari 1 / 41

Sistemi lineari 1 / 41 Sistemi lineari 1 / 41 Equazioni lineari Una equazione lineare a n incognite, è una equazione del tipo: a 1 x 1 + a 2 x 2 + + a n x n = b, dove a 1,,a n,b sono delle costanti (numeri) reali. I simboli

Dettagli

APPUNTI SULLA DIAGONALIZZAZIONE Corso Prof. F.Podestà, a.a

APPUNTI SULLA DIAGONALIZZAZIONE Corso Prof. F.Podestà, a.a APPUNTI SULLA DIAGONALIZZAZIONE Corso Prof FPodestà, aa 003-004 Sia V uno spazio vettoriale e sia f : V V una applicazione lineare una tale applicazione da uno spazio vettoriale in se stesso è chiamata

Dettagli

ALGEBRA LINEARE PARTE III

ALGEBRA LINEARE PARTE III DIEM sez Matematica Finanziaria Università degli studi di Genova Dicembre 200 Indice PREMESSA 2 GENERALITA 2 RAPPRESENTAZIONE DI UN SISTEMA LINEARE IN FORMA MATRI- CIALE 2 3 SOLUZIONE DI SISTEMI LINEARI

Dettagli

Disequazioni di secondo grado

Disequazioni di secondo grado Disequazioni di secondo grado. Disequazioni Definizione: una disequazione è una relazione di disuguaglianza tra due espressioni. Detti p() e g() due polinomi definiti in un insieme A, una disequazione

Dettagli

Flusso a Costo Minimo

Flusso a Costo Minimo Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Flusso a Costo Minimo Docente: Renato Bruni bruni@dis.uniroma.it Corso di: Ottimizzazione Combinatoria Dal

Dettagli

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

Prima prova Intermedia di Ricerca Operativa 2 COMPITO A Esercizio 1 (7 punti): LIFO Prima prova Intermedia di Ricerca Operativa 2 COMPITO A 13 novembre 2015 Nome e Cognome Matricola: Esercizio 1 (7 punti): Si consideri il seguente problema di programmazione lineare intera. max 32x 1 +

Dettagli

Le equazioni lineari

Le equazioni lineari Perchè bisogna saper risolvere delle equazioni? Perché le equazioni servono a risolvere dei problemi! Le equazioni lineari Un problema è una proposizione che richiede di determinare i valori di alcune

Dettagli

LEZIONE 12. v = α 1 v α n v n =

LEZIONE 12. v = α 1 v α n v n = LEZIONE 12 12.1. Combinazioni lineari. Definizione 12.1.1. Sia V uno spazio vettoriale su k = R, C e v 1,..., v n V vettori fissati. Un vettore v V si dice combinazione lineare di v 1,..., v n se esistono

Dettagli

Sistemi Lineari. Elisabetta Colombo. Corso di Approfondimenti di Matematica per Biotecnologie, Anno Accademico

Sistemi Lineari. Elisabetta Colombo. Corso di Approfondimenti di Matematica per Biotecnologie, Anno Accademico Corso di Approfondimenti di Matematica per Biotecnologie, Anno Accademico 200-20 2 a di o.0 4 Capelli Rango o Caratterisca : definizioni a di o.0 Un equazione nelle n incognite x,..., x n della forma dove

Dettagli

CORSO DI GEOMETRIA DETERMINANTE A.A. 2018/2019 PROF. VALENTINA BEORCHIA

CORSO DI GEOMETRIA DETERMINANTE A.A. 2018/2019 PROF. VALENTINA BEORCHIA CORSO DI GEOMETRIA DETERMINANTE AA 2018/2019 PROF VALENTINA BEORCHIA INDICE 1 Definizione induttiva di determinante 1 2 Caratterizzazione delle matrici quadrate di rango massimo 5 3 Regole di Laplace 6

Dettagli

CORSO DI ALGEBRA LINEARE Anno Accademico 2004/2005 Appunti su SISTEMI di EQUAZIONI LINEARI

CORSO DI ALGEBRA LINEARE Anno Accademico 2004/2005 Appunti su SISTEMI di EQUAZIONI LINEARI CORSO DI ALGEBRA LINEARE Anno Accademico 2004/2005 Appunti su SISTEMI di EQUAZIONI LINEARI Lo studente ha forse già incontrato i sistemi di equazioni lineari alla scuola secondaria Con il termine equazione

Dettagli

Lezione del dove a 1, a n e b sono numeri reali assegnati, detti coefficienti e termine noto dell equazione;

Lezione del dove a 1, a n e b sono numeri reali assegnati, detti coefficienti e termine noto dell equazione; Le lezioni del 60 e 010 si riferiscono al Capitolo 1 Introduzione ai sistemi lineari Di seguito si elencano gli argomenti svolti, descrivendoli sinteticamente dando i riferimenti a tale capitolo, oppure

Dettagli

Introduzione ai grafi

Introduzione ai grafi TFA A048 Anno Accademico 2012-13 Outline Cenni storici sui grafi Nozioni introduttive: cammini, connessione, alberi, cicli Cammini di costo minimo Origini storiche La nascita della teoria dei grafi risale

Dettagli

3.6 Metodi basati sui piani di taglio

3.6 Metodi basati sui piani di taglio 3.6 Metodi basati sui piani di taglio Problema generale di Programmazione Lineare Intera (PLI) con A matrice m n e b vettore n 1 razionali min{ c t x : x X = {x Z n + : Ax b} } Sappiamo che esiste una

Dettagli

Esercitazione n o 3 per il corso di Ricerca Operativa

Esercitazione n o 3 per il corso di Ricerca Operativa Esercitazione n o 3 per il corso di Ricerca Operativa Ultimo aggiornamento November 1, 2011 Fornitura acqua Una città deve essere rifornita, ogni giorno, con 500 000 litri di acqua. Si richiede che l acqua

Dettagli

Algoritmi e Strutture Dati II: Parte B Anno Accademico Lezione 8

Algoritmi e Strutture Dati II: Parte B Anno Accademico Lezione 8 Algoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005 Docente: Ugo Vaccaro Lezione 8 Ricordiamo ancora una volta il nostro meta-algoritmo per il progetto di algoritmi di approssimazione: 1.

Dettagli

Programmazione Lineare Intera: Piani di Taglio

Programmazione Lineare Intera: Piani di Taglio Programmazione Lineare Intera: Piani di Taglio Andrea Scozzari a.a. 2014-2015 April 22, 2015 Andrea Scozzari (a.a. 2014-2015) Programmazione Lineare Intera: Piani di Taglio April 22, 2015 1 / 23 Programmazione

Dettagli

1. Consideriamo un sistema lineare. E piuttosto naturale aspettarsi che

1. Consideriamo un sistema lineare. E piuttosto naturale aspettarsi che Algebra Lineare (Matematica CI) 151113 1 Consideriamo un sistema lineare E piuttosto naturale aspettarsi che (a) se il numero delle equazioni e minore del numero delle incognite allora il sistema e indeterminato;

Dettagli

Sistemi lineari 1 / 12

Sistemi lineari 1 / 12 Sistemi lineari 1 / 12 Sistemi lineari 2 / 12 Ricordiamo che cosa è un sistema lineare con m equazioni in n incognite (m,n N, m,n 1): a 11 x 1 + +a 1n x n = b 1 a 21 x 1 + +a 2n x n = b 2, (1).. a m1 x

Dettagli

Introduzione soft alla matematica per l economia e la finanza. Marta Cardin, Paola Ferretti, Stefania Funari

Introduzione soft alla matematica per l economia e la finanza. Marta Cardin, Paola Ferretti, Stefania Funari Introduzione soft alla matematica per l economia e la finanza Marta Cardin, Paola Ferretti, Stefania Funari Capitolo Sistemi di equazioni lineari.8 Il Teorema di Cramer Si consideri un generico sistema

Dettagli

Note sull algoritmo di Gauss

Note sull algoritmo di Gauss Note sull algoritmo di Gauss 29 settembre 2009 Generalità Un sistema lineare di m equazioni in n incognite x,..., x n è un espressione del tipo: a x + a 2 x 2 + + a n x n = b a 2 x + a 22 x 2 + + a 2n

Dettagli

Soluzioni degli esercizi di formulazione di PL{0, 1}

Soluzioni degli esercizi di formulazione di PL{0, 1} Soluzioni degli esercizi di formulazione di PL{0, 1} Salvatore Nocella 12 febbraio 2007 1 Al lavoro Due operai devono eseguire un certo numero di lavori J = {1,..., n}, ciascuno della durata di un ora.

Dettagli

Esempi. In R 2, le coppia (2, 5) è combinazione lineare dei vettori (0, 1) e (1, 1). Infatti:

Esempi. In R 2, le coppia (2, 5) è combinazione lineare dei vettori (0, 1) e (1, 1). Infatti: Combinazioni lineari [Abate, 4.2] Sia V uno spazio vettoriale e v 1, v 2,..., v n dei vettori di V. Diremo che un vettore w V è combinazione lineare dei vettori v 1,..., v n se esistono a 1, a 2,..., a

Dettagli

La dualità nella Programmazione Lineare

La dualità nella Programmazione Lineare Capitolo 3 La dualità nella Programmazione Lineare 3.1 Teoria della dualità Esercizio 3.1.1 Scrivere il problema duale del seguente problema di Programmazione Lineare: min x 1 x 2 + x 3 2x 1 +3x 2 3 x

Dettagli

UNITÀ DIDATTICA 5 LA RETTA

UNITÀ DIDATTICA 5 LA RETTA UNITÀ DIDATTICA 5 LA RETTA 5.1 - La retta Equazione generica della retta Dalle considerazioni emerse nel precedente capitolo abbiamo compreso come una funzione possa essere rappresentata da un insieme

Dettagli

Registro Lezioni di Algebra lineare del 15 e 16 novembre 2016.

Registro Lezioni di Algebra lineare del 15 e 16 novembre 2016. Registro Lezioni di Algebra lineare del 15 e 16 novembre 2016 Di seguito si riporta il riassunto degli argomenti svolti; i riferimenti sono a parti del Cap8 Elementi di geometria e algebra lineare Par5

Dettagli

Sistemi lineari e spazi vettoriali 1 / 14

Sistemi lineari e spazi vettoriali 1 / 14 Sistemi lineari e spazi vettoriali 1 / 14 Sistemi lineari 2 / 14 Studieremo sistemi lineari costituiti da m equazioni in n incognite (m,n N, m,n 1): cioè a 11 x 1 + +a 1n x n = b 1 a 21 x 1 + +a 2n x n

Dettagli

Lista di esercizi 11 maggio 2016

Lista di esercizi 11 maggio 2016 Lista di esercizi 11 maggio 2016 1. Determinare il numero di sequenze binarie di lunghezza n che contengano almeno una coppia di 0 consecutivi. Soluzione. Potrebbe essere utile un programma di calcolo

Dettagli

Primi elementi di combinatoria Federico Lastaria, Analisi e Geometria 1

Primi elementi di combinatoria Federico Lastaria, Analisi e Geometria 1 Politecnico di Milano. Scuola di Ingegneria Industriale e dell Informazione Analisi e Geometria 1 Federico Lastaria Primi elementi di combinatoria 11 Ottobre 2016 Indice 1 Elementi di combinatoria 2 1.1

Dettagli

Sull algoritmo di ascesa duale per il problema della localizzazione di impianti

Sull algoritmo di ascesa duale per il problema della localizzazione di impianti Sull algoritmo di ascesa duale per il problema della localizzazione di impianti A. Agnetis In queste note presentiamo l algoritmo di ascesa duale per la generazione di lower bound di buona qualità per

Dettagli

Constraint Satisfaction Problems

Constraint Satisfaction Problems Constraint Satisfaction Problems Corso di Intelligenza Artificiale, a.a. 2017-2018 Prof. Francesco Trovò 19/03/2018 Constraint Satisfaction problem Fino ad ora ogni stato è stato modellizzato come una

Dettagli

Esercizi svolti. delle matrici

Esercizi svolti. delle matrici Esercizi svolti. astratti. Si dica se l insieme delle coppie reali (x, y) soddisfacenti alla relazione x + y è un sottospazio vettoriale di R La risposta è sì, perchè l unica coppia reale che soddisfa

Dettagli

Equazioni lineari con due o più incognite

Equazioni lineari con due o più incognite Equazioni lineari con due o più incognite Siano date le uguaglianze: k 0; x + y = 6; 3a + b c = 8. La prima ha un termine incognito rappresentato dal simbolo letterale k; la seconda ha due termini incogniti

Dettagli

Matroidi, algoritmi greedy e teorema di Rado

Matroidi, algoritmi greedy e teorema di Rado Matroidi, algoritmi greedy e teorema di Rado per il corso di Laboratorio di Algoritmi e Ricerca Operativa Dott. Alberto Leporati / Prof.ssa Enza Messina Dipartimento di Informatica, Sistemistica e Comunicazione

Dettagli

LE EQUAZIONI LINEARI LE IDENTITA ( )( ) 5. a Cosa hanno in comune le seguenti uguaglianze? Uguaglianza (1) a

LE EQUAZIONI LINEARI LE IDENTITA ( )( ) 5. a Cosa hanno in comune le seguenti uguaglianze? Uguaglianza (1) a LE EQUAZIONI LINEARI 1 LE IDENTITA a b = ( a + b)( a b) () 1 a = a + a ( ) ( a + b) = a + ab + b () 3 Cosa hanno in comune le seguenti uguaglianze? Uguaglianza (1) a b = ( a+ b)( a b) È sempre vera qualunque

Dettagli

LEZIONE 3. a + b + 2c + e = 1 b + d + g = 0 3b + f + 3g = 2. a b c d e f g

LEZIONE 3. a + b + 2c + e = 1 b + d + g = 0 3b + f + 3g = 2. a b c d e f g LEZIONE 3 3.. Matrici fortemente ridotte per righe. Nella precedente lezione abbiamo introdotto la nozione di soluzione di un sistema di equazioni lineari. In questa lezione ci poniamo il problema di descrivere

Dettagli

Programmazione Non Lineare

Programmazione Non Lineare Capitolo 1 Programmazione Non Lineare 1.1 Introduzione Un problema di ottimizzazione viene definito come la minimizzazione o la massimizzazione di una funzione a valori reali su un insieme specificato.

Dettagli

Ricerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015

Ricerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015 1 Lunedí 20 Aprile 2015 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR Rilassamento di un problema Rilassare un problema di Programmazione Matematica vuol dire trascurare alcuni (tutti i)

Dettagli

Programmazione lineare

Programmazione lineare Capitolo 1 Programmazione lineare ESERCIZIO 1.1. Porre in forma canonica i seguenti programmi lineari. min 3x 1 + 4x 2 2x 3 x 1 + 2x 2 x 3 5 2x 1 + 4x 3 = 12 x 1 + x 2 + x 3 15 x 1, x 2 0, x 3 libera.

Dettagli

Ricerca Operativa. Programmazione Lineare. Università Mediterranea di Reggio Calabria Decisions Lab

Ricerca Operativa. Programmazione Lineare. Università Mediterranea di Reggio Calabria Decisions Lab Ricerca Operativa Programmazione Lineare Università Mediterranea di Reggio Calabria Decisions Lab Ottimizzazione In un problema di ottimizzazione si cerca di massimizzare o minimizzare una quantità specifica,

Dettagli

4.1 Localizzazione e pianificazione delle base station per le reti UMTS

4.1 Localizzazione e pianificazione delle base station per le reti UMTS esercitazione Ottimizzazione Prof E Amaldi Localizzazione e pianificazione delle base station per le reti UMTS Consideriamo il problema di localizzare un insieme di stazioni radio base, base station (BS),

Dettagli

Compito di MD 1 0 aprile 2014

Compito di MD 1 0 aprile 2014 Compito di MD aprile 24 IMPORTANTE: Non si possono consultare libri e appunti. Non si possono usare calcolatrici, computer o altri dispositivi elettronici. Non si può scrivere con il lapis. Motivare in

Dettagli

ESAME DI GEOMETRIA E ALGEBRA INGEGNERIA INFORMATICA (PROF. ACCASCINA) PROVA SCRITTA DEL 4 LUGLIO 2000 Tempo assegnato: 2 ore e 30 minuti

ESAME DI GEOMETRIA E ALGEBRA INGEGNERIA INFORMATICA (PROF. ACCASCINA) PROVA SCRITTA DEL 4 LUGLIO 2000 Tempo assegnato: 2 ore e 30 minuti ESAME DI GEOMETRIA E ALGEBRA INGEGNERIA INFORMATICA (PROF ACCASCINA) PROVA SCRITTA DEL 4 LUGLIO 000 Tempo assegnato: ore e 30 minuti PRIMO ESERCIZIO [7 punti] 1 Dimostrare che, per ogni naturale n, ciascuna

Dettagli

MATEMATICA DISCRETA CLAUDIA MALVENUTO PRIMA PROVA IN ITINERE 24 APRILE 2014

MATEMATICA DISCRETA CLAUDIA MALVENUTO PRIMA PROVA IN ITINERE 24 APRILE 2014 MATEMATICA DISCRETA CLAUDIA MALVENUTO PRIMA PROVA IN ITINERE 4 APRILE 014 1. Trovare il numero di stringhe di lunghezza n che si possono formare usando le lettere A, B, C, D, E in modo che ogni stringa

Dettagli

a + 2b + c 3d = 0, a + c d = 0 c d

a + 2b + c 3d = 0, a + c d = 0 c d SPAZI VETTORIALI 1. Esercizi Esercizio 1. Stabilire quali dei seguenti sottoinsiemi sono sottospazi: V 1 = {(x, y, z) R 3 /x = y = z} V = {(x, y, z) R 3 /x = 4} V 3 = {(x, y, z) R 3 /z = x } V 4 = {(x,

Dettagli

Programmazione Matematica / A.A Soluzioni di alcuni esercizi

Programmazione Matematica / A.A Soluzioni di alcuni esercizi Programmazione Matematica / A.A. 8-9 Soluzioni di alcuni esercizi Esercizi - I 3. Aggiungiamo al problema una variabile v, e richiediamo che v soddisfi v n a ij x j b i. j= Fissato x, il minimo v che soddisfa

Dettagli

Argomento 13 Sistemi lineari

Argomento 13 Sistemi lineari Sistemi lineari: definizioni Argomento Sistemi lineari Un equazione nelle n incognite x,, x n della forma c x + + c n x n = b ove c,, c n sono numeri reali (detti coefficienti) e b è un numero reale (detto

Dettagli

1 Il metodo dei tagli di Gomory

1 Il metodo dei tagli di Gomory Il metodo dei tagli di Gomory Esercizio Sia dato il problema min(x x ) x + x (P 0 ) x + x x, x 0, interi. Calcolare la soluzione ottima applicando il metodo dei tagli di Gomory. Risoluzione Per applicare

Dettagli

Programmazione lineare: basi e soluzioni di base

Programmazione lineare: basi e soluzioni di base Programmazione lineare:basi e soluzioni di base p. 1/33 Programmazione lineare: basi e soluzioni di base Mariantonia Cotronei Facoltà di Ingegneria Università degli Studi Mediterranea di Reggio Calabria

Dettagli

25 - Funzioni di più Variabili Introduzione

25 - Funzioni di più Variabili Introduzione Università degli Studi di Palermo Facoltà di Economia CdS Statistica per l Analisi dei Dati Appunti del corso di Matematica 25 - Funzioni di più Variabili Introduzione Anno Accademico 2013/2014 M. Tumminello

Dettagli