Programmazione Lineare

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Programmazione Lineare"

Transcript

1 Capitolo 1 Programmazione Lineare 1.1 Modelli di Programmazione Lineare La prima domanda da porsi riguarda gli scopi che si prefigge la Ricerca Operativa. Possiamo definirla come uno strumento per prendere delle decisioni che siano le migliori possibili secondo un criterio dato. Ogni volta che dobbiamo prendere una decisione entrano in gioco le seguenti componenti: DATI, che rappresentano tutti i valori noti a priori. VARIABILI, che sono le entità controllate dal decisore; al variare di esse varia anche il valore del criterio e tra tutti i possibili valori che possono assumere si devono scegliere quelli che forniscono il miglior valore possibile del criterio. VINCOLI, che limitano le possibili scelte del decisore (i possibili valori delle variabili). OBIETTIVO, che coincide con il criterio fissato per confrontare le diverse possibili scelte del decisore. Facciamo un esempio molto semplice di decisione. Dovete uscire di casa e potete prendere con voi uno solo dei seguenti tre oggetti: un libro che vale lire, una macchina fotografica che vale lire ed una borsa da lire. Dovete decidere quale oggetto portare con voi, tenuto conto che vi interessa prendere un oggetto di valore massimo. L esempio è molto banale e non c è bisogno di scomodare la Ricerca Operativa per capire che occorre prendere la macchina fotografica. Tuttavia in esso sono già presenti tutte le componenti tipiche di una decisione: 1

2 2 CAPITOLO 1. PROGRAMMAZIONE LINEARE DATI : sono i valori dei tre oggetti. VARIABILI : per ogni oggetto il decisore (cioé voi) deve decidere se prenderlo oppure no. VINCOLI : in questo caso è presente il vincolo che può essere preso un solo oggetto. OBIETTIVO : il criterio di scelta è rappresentato dal valore e quindi l obiettivo è quello di prendere l oggetto di valore massimo. Nel nostro esempio è molto semplice prendere la decisione migliore. Vedremo però che in molte situazioni non è per nulla chiaro, a prima vista, capire qual è la decisione migliore. In generale, l individuazione delle quattro componenti descritte sopra è solo il primo, importante, passo per trovare la decisione giusta. Un modo per arrivare ad essa è quello rappresentato in Figura 1.1. In essa si ha che, dopo l individuazione delle quattro compo- Individuazione di: - dati - variabili - vincoli - obiettivi Formulazione del modello matematico Procedura di risoluzione Validazione del modello Figura 1.1: Passaggi per la risoluzione di un problema

3 1.1. MODELLI DI PROGRAMMAZIONE LINEARE 3 Tabella 1.1: Farina Acqua Medicinali TIPO I TIPO II TIPO III Tabella 1.2: TIPO I 14 TIPO II 5 TIPO III 4 nenti, si passa alla formulazione di un modello matematico del problema. Il modello viene quindi passato ad una procedura di risoluzione od algoritmo che fornisce la soluzione. Infine la soluzione ottenuta viene utilizzata per la validazione del modello, ovvero per verificare se il modello è aderente al problema reale che rappresenta oppure va modificato per renderlo tale. Noi ci concentreremo in particolare sulla procedura di risoluzione ma prima vedremo un paio di esempi di modelli con anche un piccolo esempio di validazione del modello Problemi con vincoli di risorse: un caso particolare e la formulazione generale Supponiamo di dover preparare dei pacchi per inviare degli aiuti. É possibile realizzare tre diversi tipi di pacchi con diversi contenuti di sacchetti di farina, bottiglie d acqua e medicinali. Più precisamente la Tabella 1.1 specifica i contenuti di ogni tipo di pacco. É stato inoltre assegnato un indice di utilità per un unità di ogni tipo di pacco. Gli indici sono riportati nella Tabella 1.2. Infine è noto che la disponibilità di sacchetti di farina, bottiglie d acqua e medicinali è limitata. Più precisamente il numero massimo disponibile di farina, acqua e medicinali è riportata nella Tabella 1.3. La domanda che ci si pone è la seguente: quanti pacchi di ciascun tipo oc- Tabella 1.3: farina 5100 acqua 8000 medicinali 1805

4 4 CAPITOLO 1. PROGRAMMAZIONE LINEARE corre preparare se si vuole rendere massimo l indice di utilità complessivo? Cominciamo con l individuare le quattro componenti della decisione. DATI : sono i valori riportati nelle tre tabelle. VARIABILI : per ogni tipo di pacco il decisore deve decidere quanti pacchi di quel tipo realizzare. VINCOLI : in questo caso sono presenti i vincoli sulla disponibilità di farina, acqua e medicinali. OBIETTIVO : il criterio di scelta è rappresentato dall utilità complessiva dei pacchi, che si vuole massimizzare. Un problema di questo tipo viene chiamato problema con vincoli di risorse. In tali problemi vi sono sempre delle risorse (in questo caso farina, acqua e medicinali) che vengono in qualche modo utilizzate (qui per fare i pacchi) e delle quali si ha una disponibilità limitata. Rispetto all esempio iniziale è ora più difficile stabilire qual è la cosa giusta da fare. Potrei realizzare solo pacchi del tipo I. In tal caso ne potrei realizzare al massimo 60 per il limite di disponibilità sui medicinali. L utilità complessiva risulterebbe pari a 60*14=840. Potrei realizzare solo pacchi del tipo II. In tal caso ne potrei realizzare al massimo 170 per il limite di disponibilità sui sacchetti di farina. L utilità complessiva risulterebbe pari a 170*5=850. Infine, potrei realizzare solo pacchi del tipo III. In tal caso ne potrei realizzare al massimo 200 per il limite di disponibilità sulle bottiglie d acqua. L utilità complessiva risulterebbe pari a 200*4=800. Delle tre possibili soluzioni la migliore è la seconda. Ma queste tre decisioni non coprono tutti i casi possibili. Infatti, potrei scegliere di fare un po di pacchi di ciascun tipo. Quindi, a differenza dell esempio iniziale non è per nulla immediato scegliere la decisione migliore. Vediamo allora di procedere al secondo passo, la formulazione di un modello matematico per questo problema. Modello matematico del problema Indichiamo con: x 1 x 2 il numero di pacchi di tipo I da realizzare. il numero di pacchi di tipo II da realizzare. x 3 il numero di pacchi di tipo III da realizzare.

5 1.1. MODELLI DI PROGRAMMAZIONE LINEARE 5 Queste sono le tre variabili del problema. Ora dobbiamo tradurre i vincoli e l obiettivo in formule matematiche. Abbiamo un vincolo sulla disponibilità di sacchetti di farina. Come si può tradurre in linguaggio matematico? Un pacco di tipo I contiene 10 sacchetti di farina. Quindi x 1 pacchi di tipo I richiedono 10x 1 sacchetti di farina. Analogamente, un pacco di tipo II contiene 30 sacchetti di farina e quindi x 2 pacchi richiedono 30x 2 sacchetti di farina. Infine, un pacco di tipo III contiene 20 sacchetti di farina e quindi x 3 pacchi richiedono 20x 3 sacchetti di farina. La somma di questi tre valori restituisce il numero complessivo di sacchetti utilizzati. Più precisamente, il valore 10x x x 3 rappresenta il numero complessivo di sacchetti di farina utilizzati in corrispondenza dei valori x 1, x 2 e x 3 delle variabili. Noi sappiamo di non poter utilizzare più di 5100 sacchetti di farina e tale vincolo si traduce quindi nella seguente disequazione 10x x x , che è proprio la traduzione in linguaggio matematico del vincolo sulla disponibilità di sacchetti di farina. In modo completamente analogo si procede per tradurre i vincoli sulla disponibilità di bottiglie d acqua e sulla disponibilità di medicinali 10x x x , 30x x 2 + 5x Per essere precisi a questi tre vincoli ne dobbiamo aggiungere altri tre che non abbiamo specificato in precedenza perché banali: le quantità di pacchi di ciascun tipo non possono essere negative (per esempio, non ha senso parlare di -5 pacchi di tipo I). Mentre in una descrizione a voce del problema questo tipo di vincoli è del tutto scontato, da un punto di vista matematico

6 6 CAPITOLO 1. PROGRAMMAZIONE LINEARE non lo é e tali vincoli sono essenziali nella definizione del modello. In linguaggio matematico essi si esprimono semplicemente in questo modo: x 1 0 x 2 0 x 3 0. L insieme dei valori che si possono assegnare a x 1, x 2, x 3 senza violare i vincoli introdotti sopra viene detto insieme ammissibile. Ad esempio, x 1 = 20, x 2 = 20, x 3 = 30 è una soluzione ammissibile, mentre x 1 = 50, x 2 = 60, x 3 = 40 non lo è (viola il vincolo sulla disponibilità di medicinali) e non lo è neppure x 1 = 2, x 2 = 20, x 3 = 40 (viola il vincolo di non negatività del numero di pacchi di tipo I). Resta da definire l obiettivo del problema. Un pacco di tipo I ha utilità pari a 14, quindi x 1 pacchi hanno utilità pari a 14x 1. In modo del tutto analogo si vede che x 2 pacchi di tipo II hanno utilità pari a 5x 2 e x 3 pacchi di tipo III hanno utilità pari a 4x 3. Quindi, sommando le utilità di ciascun tipo di pacco si ottiene l utilità complessiva pari a 14x 1 + 5x 2 + 4x 3. Il nostro obiettivo è massimizzare tale valore. Riassumendo, il modello matematico del nostro problema è il seguente: massimizzare 14x 1 + 5x 2 + 4x 3 tenuto conto che 10x x x x x x x x 2 + 5x x 1 0 x 2 0 x 3 0 In questo caso il modello risultante si definisce un programma lineare. Un programma lineare è un modello in cui sia i vincoli che l obiettivo sono lineari, ovvero

7 1.1. MODELLI DI PROGRAMMAZIONE LINEARE 7 1. i contributi delle diverse variabili si sommano tra loro; 2. i contributi delle variabili sono direttamente proporzionali al valore delle stesse. Ad esempio, una formula del tipo (14x 1 ) (5x 2 ) + 4x 3 non è lineare in quanto i contributi della variabile x 1 e della variabile x 2 si moltiplicano tra loro. Una formula del tipo 14x x 2 + 4x 3 è anch essa non lineare. Infatti, se è vero che i contributi delle diverse variabili si sommano tra loro, possiamo però anche notare che il contributo della variabile x 1 non è direttamente proporzionale a x 1 ma è direttamente proporzionale al quadrato di x 1. I programmi lineari sono molto importanti per almeno due ragioni: 1. molti problemi reali (come, ad esempio, il nostro) hanno come modello matematico proprio un programma lineare; 2. sono più semplici da risolvere rispetto ad altri modelli dove compaiono termini non lineari. Per i programmi lineari esistono delle procedure molto efficienti di risoluzione (come il cosidetto algoritmo del simplesso). L operazione che abbiamo appena compiuto, ovvero quella di essere passati dal nostro problema inizialmente descritto a parole alla sua traduzione in un modello matematico ed aver riconosciuto che si tratta di un programma lineare, è un passo molto importante: ora sappiamo con che tipo di problema abbiamo a che fare e che esistono apposite procedure efficienti per risolvere tale problema restituendoci le risposte che cerchiamo. Al momento non siamo ancora in grado di risolvere il problema. Quando lo saremo potremo verificare che la soluzione ottima è data dai seguenti valori delle variabili: x 1 = 28 x 2 = 0 x 3 = 193, con utilità pari a Come si vede si ottiene una soluzione ben diversa da una delle tre analizzate inizialmente (quelle in cui si utilizza un solo tipo di pacco). Una volta ottenuta la soluzione mi devo chiedere se questa è sensata. Questa fase si chiama validazione del modello. Nel formulare il problema potrei

8 8 CAPITOLO 1. PROGRAMMAZIONE LINEARE essermi dimenticato di introdurre dei vincoli, ottenendo in questo modo una soluzione poco realistica. Nel nostro esempio possiamo notare che restano inutilizzati ben 960 sacchi di farina (se ne usano solo 4140 dei 5100 disponibili). Possiamo considerare questo spreco eccessivo. In realtà noi non vorremmo sprecare più del 10% di ogni risorsa. Ma questo introduce dei nuovi vincoli che modificano il modello. Oltre ai vincoli di disponibilità avremo ora anche dei vincoli di uso minimo di ciascuna risorsa. Per esempio la formula, precedentemente derivata, sulla quantità di sacchetti di farina utilizzati è la seguente: 10x x x 3. Ciò che si richiede è che il numero di sacchetti utilizzati sia non inferiore al 90% della disponibilità totale e quindi: 10x x x In modo del tutto analogo si derivano i vincoli per l acqua e i medicinali: 10x x x x x 2 + 5x Con l aggiunta di questi vincoli la nuova soluzione diventa: x 1 = x 2 = x 3 = , con utilità pari a Si può notare come queste soluzioni siano dei valori decimali. Non ha molto senso parlare di una quantità decimale di un pacco (il numero di pacchi deve essere un valore intero). In questo caso si può ottenere una soluzione semplicemente arrotondando i valori decimali. Più avanti vedremo che questo metodo vale solo per questo tipo di problemi in cui i valori delle variabili sono relativamente grandi. Vedremo in seguito esempi con obiettivo e vincoli che sono funzioni affini ma dove è necessario imporre esplicitamente tra i vincoli che i valori delle variabili devono essere delle quantità intere (si parlerà in tal caso di programmi lineari interi). Come vedremo, questo renderà più complessa la risoluzione del problema. Il problema appena visto è un caso particolare di problema con vincoli di risorse. Nei problemi con vincoli di risorse abbiamo un insieme RISOR- SE di risorse (farina, acqua e medicinali nell esempio). Di ogni risorsa j si ha a disposizione una quantità limitata b j (i valori in Tabella 1.3 nell esempio). Inoltre si ha un insieme PRODOTTI di prodotti (i tre tipi di pacco nell esempio) realizzabili con le risorse. A ogni prodotto i è associato

9 1.1. MODELLI DI PROGRAMMAZIONE LINEARE 9 un profitto p i per unità di prodotto (i valori in Tabella 1.2 nell esempio). Infine, un unità di prodotto i consuma una quantità a ij di risorsa j (i valori in Tabella 1.1 nell esempio). Le quantità da decidere sono le quantità di ciascun prodotto i da realizzare, che indicheremo con le variabili x i. Per ogni risorsa j avremo un vincolo che impone di non superare la disponibilità massima b j di tale risorsa. Il vincolo è espresso dalla disequazione: a ij x i b j. i P RODOT T I Il profitto totale, che si vuole massimizzare, è rappresentato dall espressione p i x i. i P RODOT T I Quindi, il modello per il generico problema con vincoli di risorse è il seguente: max i P RODOT T I p ix i i P RODOT T I a ijx i b j j RISORSE x i 0 i P RODOT T I Si noti che sia l obiettivo che i vincoli sono funzioni affini e quindi il modello è un programma lineare Problemi della dieta Nel generico problema della dieta abbiamo un insieme CIBI di cibi (ad esempio, carne, pesce, ecc.) (farina, acqua e medicinali nell esempio) e un insieme ELEMENTI di elementi nutritivi (ad esempio, vitamine, proteine, ecc.). Di ogni elemento nutritivo j si ha una richiesta minima b j che deve essere assunta in una giornata. A ogni cibo i è associato un costo c i per unità di cibo. Infine, un unità di cibo i apporta una quantità a ij di elemento nutritivo j. Le quantità da decidere sono le quantità di ciascun cibo i da inserire nella dieta girornaliera, che indicheremo con le variabili x i. Per ogni elemento nutritivo j avremo un vincolo che impone che la dieta contenga almeno la quantità b j di tale elemento. Il vincolo è espresso dalla disequazione: a ij x i b j. i CIBI Il costo totale della dieta, che si vuole minimizzare, è rappresentato dall espressione c i x i. i CIBI

10 10 CAPITOLO 1. PROGRAMMAZIONE LINEARE Quindi, il modello per il generico problema con vincoli di risorse è il seguente: max i CIBI c ix i i CIBI a ijx i b j x i 0 j ELEMENT I i CIBI Si noti che sia l obiettivo che i vincoli sono funzioni affini e quindi il modello è un programma lineare. 1.2 Teoria della Programmazione lineare Un generico problema di programmazione lineare ha la seguente forma min( oppure max) c T x a T i x b i i = 1,..., m 1 a T i x b i i = m 1 + 1,..., m 2 a T i x = b i i = m 2 + 1,..., m 3 x j 0 j = 1,..., n 1 x j 0 j = n 1 + 1,..., n 2 x j libera in segno j = n 2 + 1,..., n 3 Ciò che caratterizza i problemi di Programmazione Lineare (PL nel seguito) é il fatto che sia la funzione obiettivo che quelle che definiscono i vincoli sono funzioni affini (ovvero funzioni lineari più un termine noto); il fatto che le variabili possono assumere valori reali. Mentre queste sono caratteristiche fisse dei problemi di PL, altre caratteristiche potranno variare di problema in problema: l obiettivo potrà essere minimizzato o massimizzato; i vincoli potranno essere di, oppure = (ma non di > e <); le variabili potranno essere vincolate ad assumere solo valori non negativi oppure non positivi oppure potranno indifferentemente assumere valori sia negativi che positivi. Un tipo particoalre di problemi di PL è rappresentato dai problemi di PL in forma canonica, in cui l obiettivo è sempre da massimizzare, i vincoli

11 1.2. TEORIA DELLA PROGRAMMAZIONE LINEARE 11 sono tutti di e le variabili sono tutte vincolate ad assumere valori non negativi, cioè max c T x a T i x b i x j 0 i = 1,..., m j = 1,..., n o, in forma matriciale, max c T x A T x b x 0 dove A = [a 1 a n ] R n m é una matrice le cui colonne sono i vettori a i che definiscono i vincoli, b R m è il vettore con i-esima componente b i e x R n. Se apparentemente i problemi di PL in forma canonica rappresentano un sottinsieme dei problemi di PL, è in realtà possibile dimostrare che ogni problema di PL ha un problema di PL in forma canonica ad esso equivalente, come dimostra la seguente osservazione. Osservazione 1 Dato un problema di PL, esiste un problema di PL in forma canonica ad esso equivalente. Dimostrazione Si può notare che 1. ogni problema di minimo può essre trasformato in un problema di massimo sfruttando la seguente relazione min c T x = max c T x 2. ogni vincolo di può essere trasformato in un vincolo di nel modo seguente a T i x b i a T i x b i 3. ogni vincolo di = può essere trasformato in due vincoli di nel modo seguente a T i x = b i a T i x b i, a T i x b i 4. se abbiamo una variabile x j 0 possiamo sostituirla nei vincoli e nell obiettivo con la variabile x j = x j 0

12 12 CAPITOLO 1. PROGRAMMAZIONE LINEARE 5. se abbiamo una variabile x j libera in segno, possiamo sostituirla nei vincoli e nell obiettivo con una differenza di variabili non negative x j = x j x j x j, x j 0 Come esercizio, si trasformi il seguente problema di PL in un problema di PL in forma canonica min x 1 + x 2 + x 3 x 1 + 2x 2 x 3 3 x 1 + 4x 2 + 5x 3 = 5 x 1 2x 2 + x 3 3 x 1 0 x 2 0 x 3 libera in segno Il risultato appena citato ci consente di concentrare la nostra attenzione sui soli problemi di PL in forma canonica. Introduciamo ora la seguente definizione. Definizione 1 Dato un problema di PL in forma canonica, l insieme S a di punti che soddisfano i suoi vincoli, ovvero l insieme S a = {x R n : A T x b, x 0} viene detto regione ammissibile del problema di PL. L insieme S ott dei punti in S a con valore della funzione obiettivo non inferiore rispetto a tutti gli altri punti in S a, ovvero l insieme S ott = {x S a : c T x c T x x S a } S a viene detto insieme delle soluzioni ottime del problema di PL. Nel seguito ci occuperemo di carratterizzare prima la regione ammissibile S a e poi l insieme delle soluzioni ottime S ott La regione ammissibile S a Definizione 2 Un insieme C si dice convesso se x 1, x 2 C λ [0, 1] : λx 1 + (1 λx 2 ) C, ovvero se dati due punti qualsiasi in C, il segmento che li congiunge è anch esso completamente contenuto in C.

13 1.2. TEORIA DELLA PROGRAMMAZIONE LINEARE 13 Definizione 3 Un insieme C si dice limitato se esiste un R > 0 tale che x C : x R, ovvero l insieme C è contenuto in una sfera di raggio R. Definizione 4 Un insieme C si dice chiuso se contiene la sua frontiera. La regione ammissibile S a del problema di PL è ottenuta come intersezione di m + n semispazi a T i x b i i = 1,..., m x j 0 j = 1,..., n. L intersezione di un numero finito di semispazi è sempre un insieme chiuso e convesso e quindi S a stesso è sempre un insieme chiuso e convesso. Possiamo classificare le possibili forme di S a nei seguenti tre modi. S a = In tal caso si parla di regione ammissibile vuota. S a e limitato In tal caso S a viene detto poliedro convesso. S a e illimitato In tal caso S a viene detto troncone. Esempio 1 Rappresentare graficamente le regioni ammissibili S a per i seguenti tre problemi e constatare che sono altrettanti esempi di regione ammissibile vuota, di poliedro convesso e di troncone. max x 1 + x 2 x 1 1 x 1 + x 2 1 x 1, x 2 0 max x 1 + x 2 x 1 + x 2 1 x 1, x 2 0 max x 1 + x 2 x 1 x 2 0 x 1, x 2 0 Diamo ora la definizione di iperpiano generatore.

14 14 CAPITOLO 1. PROGRAMMAZIONE LINEARE Definizione 5 Gli m + n iperpiani a T i x = b i i = 1,..., m x j = 0 j = 1,..., n corrispondenti alle disequazioni che definiscono S a vengono detti iperpiani generatori di S a. Particolare importanza all interno di S a rivestono alcuni punti che chiameremo vertici, definiti nel modo seguente. Definizione 6 Un punto x R n viene detto vertice di S a se soddisfa le seguenti condizioni: 1. x S a 2. È intersezione unica di almeno n iperpiani generatori, di cui n lineramente indipendenti. Si verifichi che, dato il problema max x 1 + x 2 x 1 + x 2 1 2x 1 2x 2 2 x 1, x 2 0 il punto (1/2, 1/2) non è un vertice di S a mentre lo è il punto (1, 0). Una definizione equivalente di vertice ci è data dalla seguente osservazione. Osservazione 2 Un punto x S a è un vertice di S a se e solo se tali che x 1, x 2 S a, x 1 x 2 x = 1 2 x x 2 Un primo teorema ci dice che in un problema di PL in forma canonica, se esiste almeno una soluzione ammissibile, allora la regione ammissibile ha almeno un vertice. Teorema 1 Dato un problema di PL in forma canonica, se S a, allora S a ha almeno un vertice. Vale inoltre la seguente osseravzione. Osservazione 3 Il numero di vertici di S a è finito.

15 1.2. TEORIA DELLA PROGRAMMAZIONE LINEARE 15 Introduciamo ora la definizione di spigolo. Definizione 7 L intersezione di almeno n 1 iperpiani generatori, di cui esattamente n 1 linearmente indipendenti è una retta. Se l intersezione di tale retta con S a è non vuota e non si riduce a un solo punto, allora tale intersezione verrà detta spigolo. Uno spigolo può essere limitato o illimitato. Come esercizio, si verifichi graficamente che, dato il problema max x 1 + x 2 x 1 + x 2 1 2x 1 2x 2 2 x 1, x 2 0 l intersezione degli iperpiani generatori x 1 + x 2 = 1 e 2x 1 2x 2 = 2 definisce uno spigolo limitato, mentre dato il problema max x 1 + x 2 x 1 x 2 0 x 1, x 2 0 l iperpiano generatore x 1 x 2 = 0 definisce uno spigolo illimitato. Come i vertici, anche gli spigoli sono in numero finito, come stabilito nella seguente osservazione. Osservazione 4 Il numero di spigoli di S a è finito. Introduciamo ora la definizione di raggio di S a. Definizione 8 Un vettore r R n, r 0, si definisce raggio di S a se x 0 S a λ 0 : x 0 + λr S a, ovvero se dato qualsiasi punto x 0 in S a, la semiretta con origine in x 0 e direzione r è contenuta in S a. Si noti che l esistenza di un raggio di S a è possibile solo se S a è illimitato, ovvero è un troncone. Questo è una conseguenza del fatto che dato un raggio r e un punto x 0 S a, la semiretta con origine in x 0 e direzione r (che è un insieme ilimitato) è contenuta in S a, che a sua volta deve quindi essere un insieme illimitato. Tra i raggi ve ne sono alcuni particolari che vengono detti raggi estremi.

16 16 CAPITOLO 1. PROGRAMMAZIONE LINEARE Definizione 9 Un vettore r R n si dice raggio estremo di S a se è un raggio di S a e inoltre tali che r 1, r 2 raggi di S a, r 1 µr 2 µ R, r = 1 2 r r 2 In pratica i raggi estremi coincidono con i vettori che definiscono la direzione delle semirette corrispondenti a spigoli illimitati. Come esercizio, si verifichi che dato il problema max x 1 + x 2 x 1 x 2 0 x 1, x 2 0 i vettori (1/2, 1) (0, 1) (1, 1) sono tutti raggi di S a ma solo gli ultimi due sono raggi estremi. Un importante risultato mostra che la regione ammissibile S a di un problema di PL in forma canonica è completamente caratterizzata dai suoi vertici e raggi estremi. Teorema 2 Sia dato un problema di PL in froma canonica con S a. Siano v 1,..., v k i vertici di S a e, nel caso in cui S a sia un troncone, siano r 1,..., r h i raggi estremi di S a. Allora se e solo se x S a λ 1,..., λ k 0, k λ i = 1, µ 1,..., µ h 0 i=1 tali che k h x = λ i v i + µ j r j. i=1 j=1 Il teorema ci dice che tutti e soli i punti di S a sono ottenibili come somma di una combinazione convessa (combinazione lineare con coefficienti non negativi e la cui somma è pari a 1) dei vertici di S a e di una combinazione lineare con coefficienti non negativi dei raggi estremi di S a.

17 1.2. TEORIA DELLA PROGRAMMAZIONE LINEARE L insieme delle soluzioni ottime S ott In precedenza abbiamo ristretto l atenzione alla sola regione ammissibile S a. Ora prenderemo in esame l insieme S ott e quindi entrerá in gioco anche la funzione obiettivo. Prima di elencare tutti le possibili forme di S ott, dimostriamo la seguente osservazione, Osservazione 5 Se x 1, x 2 S ott, x 1 x 2, allora l intero segmento tra x 1 e x 2 é contenuto in S ott, cioé λ [0, 1] λx 1 + (1 λ)x 2 S ott. Dimostrazione Per prima cosa notiamo che x 1, x 2 S ott implica x 1, x 2 S a e quindi, essendo S a un insieme convesso si ha λ [0, 1] λx 1 + (1 λ)x 2 S a, cioé l intero segmento tra x 1 e x 2 appartiene a S a. Inoltre x 1, x 2 S ott implica c T x 1 = c T x 2 (il valore della funzione obiettivo é lo stesso nei due punti) e quindi, sfruttando la linearitá della funzione obiettivo si ha λ [0, 1] c T (λx 1 + (1 λ)x 2 ) = λc T x 1 + (1 λ)c T x 2 = = λc T x 1 + (1 λ)c T x 1 = c T x 1, ovvero lungo tutti i punti del segmento il valore della funzione obiettivo é lo stesso di x 1 e x 2 e quindi anche tali punti appartengono a S ott come si voleva dimostrare. Siamo ora pronti a individuare tutte le forme possibili di S ott al variare di S a. Caso 1 S a =. In tal caso, essendo S ott un sottinsieme di S a, puó solo essere S ott =. Caso 2 S a e poliedro convesso. Un poliedro convesso é un insieme chiuso e limitato, mentre la funzione obiettivo é lineare e quindi certamente continua. Di conseguenza, il Teorema di Weierstrass garantisce l esistenza di almeno una soluzione ottima, ovvero S ott. Sono possibili due sottocasi. Caso 2.1 S ott é costituito da un solo punto. Caso 2.2 S ott é costituito da un insieme infinito e limitato di punti.

18 18 CAPITOLO 1. PROGRAMMAZIONE LINEARE Si noti che l Osservazione 5 esclude la possibilitá di un numero finito di punti in S ott, mentre la limitatezza di S ott é garantita dal fatto che é un sottinsieme di S a che a sua volta é un poliedro convesso e quindi é limitato. Caso 3 S a e troncone. Sono possibili quattro sottocasi. Caso 3.1 S ott = in quanto l obiettivo é illimitato, ovvero esiste una sequenza infinita di punti {x k } di S a lungo cui la funzione obiettivo cresce a +. Formalmente: {x k } : x k S a k e c T x k + k +. Caso 3.2 S ott é costituito da un solo punto. Caso 3.3 S ott é costituito da un insieme infinito e limitato di punti. Caso 3.4 S ott é costituito da un insieme infinito e illimitato di punti. Per illustrare tramite esempi tutti i vari casi e sottocasi, introduciamo la risoluzione grafica dei problemi di Programmazione Lineare, utilizzabile per problemi con due sole variabili. Per quanto i problemi reali abbiano molto piú di due variabili e non si possono risolvere graficamente, la risoluzione grafica aiuta a visualizzare e a meglio comprendere tutti i casi possibili. Per descrivere la risoluzione grafica consideriamo il seguente esempio: max x 1 + 2x 2 x 1 + x 2 1 x 1, x 2 0 Per prima cosa disegniamo la regione ammissibile S a. Poi prendiamo la funzione obiettivo e poniamola uguale a 0 e quindi c T x = 0 nel caso generale e x 1 + 2x 2 = 0 nell esempio. Questa é una retta che passa per l origine che contiene tutti i punti in R 2 con valore della funzione obiettivo pari a 0. Ora voglio individuare qual é la direzione di crescita del fascio di rette c T x = k, k R parallele alla retta c T x = 0 passante per l origine. Nell esempio avremo x 1 + 2x 2 = k, k R fascio di rette parallele a x 1 + 2x 2 = 0. Possiamo individuare la direzione di crescita per esempio tracciando la retta c T x = 1 e la direzione di crescita sará quella che va dalla retta c T x = 0 verso la retta c T x = 1. In Figura 1.2 la direzione di crescita per il nostro esempio é indicata con una freccia sulla retta x 1 + 2x 2 = 0. A questo punto sono possibili due casi:

19 1.2. TEORIA DELLA PROGRAMMAZIONE LINEARE 19 B (0,1) Sa A (1,0) O x1+2x2=0 Figura 1.2: Caso 1 Muovendomi dalla retta c T x = 0 verso la direzione di crescita ho almeno una retta del fascio con intersezione non vuota con S a. In tal caso abbiamo due sottocasi possibili. Caso 1.1 Esiste un valore k tale che la retta c T x = k ha intersezione non vuota con S a mentre tutte le retta c T x = k per k > k hanno intersezione vuota con S a. In tal caso k é il valore ottimo del problema e l intersezione della retta c T x = k con S a costituisce l insieme S ott. Caso 1.2 Esiste un K 0 tale che per ogni k K la retta c T x = k ha intersezione non vuota con S a. In tal caso ci troviamo nella situazione in cui S ott = in quanto il problema ha obiettivo illimitato. Caso 2 Muovendomi dalla retta c T x = 0 verso la direzione di crescita non ho alcuna retta del fascio con intersezione non vuota con S a. In tal caso mi muovo nella direzione di decrescita e mi arresto con la prima

20 20 CAPITOLO 1. PROGRAMMAZIONE LINEARE retta c T x = k che ha intersezione non vuota con S a (quindi per ogni k > k si ha che la retta c T x = k ha intersezione vuota con S a ). Il valore k é il valore ottimo del problema e l intersezione della retta c T x = k con S a rappresenta l insieme S ott. Nel nostro esempio si puó vedere che ci si trova nel Sottocaso 1.1 con k = 2 e S ott ristretto al solo punto B di coordinate (0, 1). Come esercizio si applichi ora la risoluzione grafica ai seguenti esempi riconoscendo in essi tutti i casi possibili per S ott precedentemente elencati. max x 1 + x 2 x 1 + x 2 1 x 1, x 2 0 max x 1 + x 2 x 1 + x 2 0 x 1 x 2 1 x 2 1 x 1, x 2 0 max x 1 x 1 + x 2 0 x 1 x 2 1 x 2 1 x 1, x 2 0 max x 2 x 1 + x 2 0 x 1 x 2 1 x 2 1 x 1, x 2 0 max x 1 x 2 x 1 + x 2 0 x 1 x 2 1 x 2 1 x 1, x 2 0

21 1.2. TEORIA DELLA PROGRAMMAZIONE LINEARE 21 La risoluzione grafica di questi esempi mostra anche che, quando S ott, tale insieme contiene sempre almeno un vertice. Non é un caso. Vale infatti il seguente teorema molto importante e noto come Teorema Fondamentale della Programmazione Lineare. Teorema 3 Sia dato un problema di PL in forma canonica. Se S ott allora almeno un punto di S ott è un vertice di S a. Dimostrazione Indichiamo con v 1,..., v k i vertici di S a e, nel caso in cui S a sia un troncone, indichiamo con r 1,..., r h i raggi estremi di S a. Se S ott, sia x S ott. Utilizzeremo una dimostrazione per assurdo. Per assurdo supponiamo che v 1,..., v k S ott cioè supponiamo che nessun vertice di S a appartenga a S ott. In particolare avremo c T v i < c T x i = 1,..., k (1.1) In base al Teorema 2, poiché x S a avremo che λ 1,..., λ k 0, k λ i = 1, µ 1,..., µ h 0 (1.2) i=1 tali che Quindi avremo k h x = λ i v i + µ j r j. i=1 j=1 k h c T x = c T λ i v i + µ j r j i=1 j=1 e per la linearità della funzione obiettivo k h c T x = λ i (c T v i ) + µ j (c T r j ). i=1 j=1 Per prima cosa dimostriamo che c T r j 0 j = 1,..., h. (1.3)

22 22 CAPITOLO 1. PROGRAMMAZIONE LINEARE La dimostrazione é per assurdo. raggio estremo r j tale che Supponiamo infatti che esista un c T r j > 0 (1.4) Poiché r j è un raggio, in base alla Definizione 8 di raggio avremo che λ 0 : x + λr j S a. In particolare, se fisso λ = 1, ottengo un punto x = x + r j S a. Calcoliamo ora il valore della funzione obiettivo in x: c T x = c T (x + r j ) = c T x + c T r j Ma, in base a (1.4) possiamo concludere che c T x > c T x, il che contraddice l ottimalità di x. Ora, in base a (1.2) e (1.3) avremo da cui c T x = k λ i (c T v i ) + i=1 c T x Ma ora possiamo sfruttare (1.1): c T x k i=1 h j=1 k λ i (c T v i ). i=1 λ i (c T v i ) < }{{} <c T x µ j (c T r j ). }{{}}{{} 0 0 k λ i (c T x ). (si noti che lo strettamente minore vale perché almeno uno dei λ i è strettamente positivo in quanto, in base a (1.2), la loro somma deve essere pari a 1). Poiché c T x non dipende dall indice i della sommatoria, lo possiamo portare fuori dalla stessa e quindi c T x < (c T x ) i=1 k λ i. i=1

23 1.3. L ALGORITMO DEL SIMPLESSO 23 Ma ora in base a (1.2) abbiamo che k i=1 λ i il che è assurdo. c T x < c T x = 1, da cui Questo risultato é alla base della procedura di risoluzione che descriveremo, l algoritmo del simplesso. Infatti, tale algoritmo ricerca la soluzione ottima cercando di spostarsi ad ogni iterazione in modo intelligente da un vertice all altro di S a. Per modo intelligente si intende che l algoritmo tenta di spostarsi ad una data iterazione da un vertice a uno con valore della funzione obiettivo maggiore. 1.3 L algoritmo del simplesso Prima di poter descrivere l algoritmo del simplesso avremo bisogno di introdurre alcune definizioni. Supponiamo di avere un generico problema di PL in forma canonica: max c T x a T i x b i x j 0 i = 1,..., m j = 1,..., n A tale formulazione possiamo aggiungere una variabile u i per ogni vincolo definita nel modo seguente u i = b i a T i x e vincolata ad assumere valori 0. Si noti che u i = b i a T i x e u i 0 é del tutto equivalente a scrivere a T i x b i. Inoltre u i = 0 equivale all iperpiano a T i x = b i. Aggiungiamo inoltre una variabile z per l obiettivo definita nel modo seguente z = c T x. Quindi possiamo riformulare il nostro problema nel modo che segue: max z = c T x u i = b i a T i x x j 0 u i 0 i = 1,..., m j = 1,..., n i = 1,..., m Diamo ora la seguente definizione.

24 24 CAPITOLO 1. PROGRAMMAZIONE LINEARE Definizione 10 Un sottinsieme {y 1,..., y n } delle n+m variabili {x 1,..., x n, u 1,..., u m } tale che gli iperpiani y 1 = 0,, y n = 0 sono tra loro linearmente indipendenti, viene detto base del problema di PL. Le variabili y 1,..., y n vengono dette variabili in base, mentre le rimanenti variabili, indicate con y n+1,..., y n+m, vengono dette variabili fuori base. Si consideri il seguente esempio: max x 2 x 1 + x 2 1 x 1 + x 2 3 x 1 3 x 1, x 2 0 Con l introduzione delle variabili u 1, u 2, u 3 relative ai vincoli e della variabile z relativa all obiettivo, il problema viene riscritto nel modo seguente: max z = x 2 u 1 = x 1 x u 2 = x 1 x u 3 = x x 1, x 2 0 u 1, u 2, u 3 0 Si verifichi che {x 1, x 2 }, {x 2, u 1 }, {x 2, u 2 } e {x 2, u 3 } sono basi, mentre {x 1, u 3 } non é una base. Data una base {y 1,..., y n } é sempre possibile esprimere tutte le variabili fuori base y n+1,..., y n+m e la variabile z dell obiettivo come combinazione lineare delle variabili in base piú un termine noto, ovvero y n+1 = α 11 y α 1n y n + β 1. =. (1.5) y n+m = α m1 y α mn y n + β m z = γ 1 y γ n y n + γ 0 Queste m + 1 equazioni vengono rappresentate tramite la Tabella 1.4. Per

25 1.3. L ALGORITMO DEL SIMPLESSO 25 Tabella 1.4: y 1 y h y n y n+1 α 11 α 1h α 1n β y n+k α k1 α kh α kn β k y n+m α m1 α mh α mn β m z γ 1 γ h γ n γ 0 x 1 x 2 u u u z Tabella 1.5: le base {x 1, x 2 } dell esempio abbiamo u 1 = x 1 x u 2 = x 1 x u 3 = x z = x 2 con la relativa Tabella 1.5. Per la base {x 2, u 1 } avremo x 1 = x 2 + u 1 1 u 2 = 2x 2 u u 3 = x 2 u z = x 2 con la relativa Tabella 1.6. Per la base {x 2, u 2 } avremo x 1 = x 2 u u 1 = 2x 2 u u 3 = x 2 + u z = x 2

26 26 CAPITOLO 1. PROGRAMMAZIONE LINEARE x 2 u 1 x u u z Tabella 1.6: Ricavare la tabella relativa. Per la base {x 2, u 3 } avremo x 1 = u u 1 = x 2 u u 2 = x 2 + u z = x 2 Ricavare la tabella relativa. Diamo ora la definizione di basi adiacenti. Definizione 11 Due basi si definiscono adiacenti se differiscono per una sola variabile in base. Nell esempio le basi {x 1, x 2 } e {x 2, u 1 } sono adiacenti. Diamo ora l importante definizione di soluzione di base. Definizione 12 Ad una base {y 1,..., y n } é associato un punto detto soluzione di base, ottenuto ponendo a 0 tutte le variabili in base, ovvero Dalle equazioni (1.5) si ha che y j = 0 j = 1,..., n. y n+i = β i i = 1,..., m mentre il valore dell obiettivo in corrispondenza di tale soluzione di base é z = γ 0. La soluzione di base viene detta ammissibile (ovvero é un punto in S a ) se Se β i 0 i = 1,..., m. β i 0 i = 1,..., m si parla di soluzione di base non degenere, altrimenti si parla di soluzione di base degenere.

27 1.3. L ALGORITMO DEL SIMPLESSO 27 Vale la seguente osservazione. Osservazione 6 Non c é corrispondenza biunivoca tra basi e soluzioni di base. Infatti, nel caso degenere (e solo in quello), a basi distinte può corrispondere la stessa soluzione di base. Nell esempio, alla base {x 1, x 2 } corrisponde la soluzione di base ammissibile e non degenere x 1 = x 2 = 0 u 1 = 1, u 2 = 3, u 3 = 3 con z = 0; alla base {x 2, u 1 } è associata la soluzione di base non ammissibile u 1 = x 2 = 0 x 1 = 1, u 2 = 4, u 3 = 4 con z = 0; alla base {x 2, u 2 } é associata la soluzione di base ammissibile e degenere u 2 = x 2 = 0 x 1 = 3, u 1 = 4, u 3 = 0 con z = 0; alla base {x 2, u 3 } é associata la soluzione di base ammissibile e degenere u 3 = x 2 = 0 x 1 = 3, u 1 = 4, u 2 = 0 con z = 0. Si noti che le due basi degeneri rappresentano la stessa soluzione di base. Le soluzioni di base ammissibili sono importanti per il seguente risultato. Osservazione 7 Le soluzioni di base ammissibili coincidono con i vertici di S a. Dimostrazione Le soluzioni di base sono ottenute ponendo a 0 le n variabili in base y 1,..., y n e quindi una soluzione di base appartiene a n iperpiani generatori y 1 = 0,..., y n = 0 che, per definizione di base, sono tra loro linearmente indipendenti. Inoltre l ammissibilitá garantisce che la soluzione di base appartenga a S a e quindi è un vertice di S a. In Figura 1.3 si vede come la soluzione di base O ammissibile relativa alla base {x 1, x 2 } è un vertice di S a e lo stesso per la soluzione di base A corrispondente alle basi {x 2, u 2 } e {x 2, u 3 }. Notiamo anche che dal punto di vista geometrico le soluzioni di base degeneri coincidono con i vertici che appartengono a più di n iperpiani generatori. Nell esempio, dove n = 2, il vertice degenere A appartiene a 3 iperpiani generatori. Vogliamo ora vedere come ci si può spostare da una base verso una ad essa adiacente. Ciò corrisponde all operazione di cardine.

28 28 CAPITOLO 1. PROGRAMMAZIONE LINEARE U2=0 U1=0 U3=0 B C Sa A O Figura 1.3: L operazione di cardine Suppponiamo di avere una base {y 1,..., y h 1, y h, y h+1,..., y n } cui è associata la Tabella 1.7. Supponiamo ora di voler creare una base adiacente a questa togliendo y h dalla base e sostituendolo con y n+k. Per prima cosa ci si deve chiedere se l insieme di variabili {y 1,..., y h 1, y n+k, y h+1,..., y n } è una base (si ricordi che non è sufficiente che sia formata da n variabili, ma occorre anche che sia soddisfatta una condizione di indipendenza lineare tra

29 1.3. L ALGORITMO DEL SIMPLESSO 29 Tabella 1.7: y 1 y h y n y n+1 α 11 α 1h α 1n β y n+k α k1 α kh α kn β k y n+m α m1 α mh α mn β m z γ 1 γ h γ n γ 0 gli iperpiani corrispondenti). Si può dimostrare che è una base se e solo se α kh 0. Vogliamo ora determinare la nuova tabella relativa a questa base. Dall equazione y n+k = α k1 y α kh y h + + α kn y n + β k possiamo ricavare y h come combinazione lineare delle variabili più un termine noto: y 1,..., y h 1, y n+k, y h+1,..., y n y h = α k1 α kh y α kh y n+k α kn α kh y n β k α kh. (1.6) A questo punto possiamo prendere le altre equazioni per i k n y n+i = α ij y j + α ih y h + β i, e quella per la variabile z z = j=1,j h n j=1,j h γ j y j + γ h y h + γ 0 e sostituire le occorrenze di y h con la formula (1.6). Fatti un po di calcoli si ottiene per i k [ ] α k1 y n+i = α i1 α ih y α [ ] [ ] ih α kn β k y n+k + + α in α ih y n + β i α ih, α kh α kh α kh α kh e, per la variabile z, [ ] α k1 z = γ 1 γ h y γ [ h y n+k + + α kh α kh La nuova tabella sarà quindi la Tabella 1.8. γ n γ h α kn α kh ] [ ] β k y n + γ 0 γ h. α kh

30 30 CAPITOLO 1. PROGRAMMAZIONE LINEARE ] α y n+1 [α 11 α k1 1h α kh. y h. α y n+m [α m1 α k1 mh [ ] α z γ 1 γ k1 h α kh Tabella 1.8: y 1 y n+k y n α 1h α kh..... α k1 α kh 1 α kh α kn α kh. α kh ]... α mh α kh γ h α kh [ ] [ ] α α 1n α kn β 1h α kh β 1 α k 1h α kh. β k α kh [. ] [. α α mn α kn β mh α kh β m α k mh [ ] [ ] α γ n γ kn β h α kh γ 0 γ k h α kh α kh ] I passi dell algoritmo del simplesso Siamo ora pronti a descrivere una generica iterazione dell algoritmo del simplesso. Si suppone di avere a disposizione la base ammissibile {y 1,..., y n } (β i 0, i = 1,..., m) con la relativa Tabella 1.7. Non sempre si avrà subito a disposizione una base ammissibile. Ci porremo però solo in seguito il problema di trovarne una. Per ora supporemo che la nostra base sia già ammissibile. Passo 1 - Verifica di ottimalità Si verifichi se la soluzione di base corrente sia ottima o meno. La verifica si effettua controllando i valori γ j, j = 1,..., n, dell ultima riga, detti anche coefficienti di costo ridotto delle variabili in base. Condizione sufficiente perché la soluzione sia ottima è che essi siano tutti 0. Se la condizione γ j 0 j = 1,..., n è soddisfatta restituisco la soluzione di base corrente y j = 0 j = 1,..., n y n+i = β i i = 1,..., m come soluzione ottima. Se la condizione non è soddisfatta, si vada al Passo 2. Motivazione Dalla tabella sappiamo che z = γ 1 y γ n y n + γ 0 (1.7) Nella soluzione di base corrente il valore dell obiettivo z è pari a γ 0, ottenuto sostituendo y j = 0, j = 1,..., n, in (1.7). Inoltre, in S a, dove y j 0, j = 1,..., n, si ha z = γ 1 }{{} 0 y 1 }{{} γ }{{} n 0 y n }{{} 0 +γ 0 γ 0

31 1.3. L ALGORITMO DEL SIMPLESSO 31 e quindi γ 0 è il valore massimo dell obiettivo raggiungibile in S a. Passo 2 - Scelta della colonna del cardine Se non possiamo concludere che la soluzione è ottima, esiste almeno un γ i > 0. In particolare consideriamo γ h = max{γ j } > 0. (se più γ i assumono il valore massimo si seleziona, per convenzione, il primo da sinistra). La variabile y h sarà la variabile da far uscire di base e quindi la colonna h è la colonna del cardine. Motivazione Se voglio far crescere z devo selezionare una variabile y h con γ h > 0. Passo 3 - Verifica di illimitatezza Verifico se il problema non ha soluzioni ottime in quanto l obiettivo è illimitato. Una condizione sufficiente per l illimitatezza dell obiettivo è che α ih 0 i = 1,..., m, cioè tutti gli elementi lungo la colonna del cardine sono non negativi. Se la condizione è soddisfatta, posso concludere che S ott = in quanto l obiettivo è illimitato. Se la condizione non è soddisfatta, si vada al Passo 4. Motivazione Se faccio crescere y h e tengo fisso le altre variabili in base, cioè y j = 0, j = 1,..., n, j h, avrò: y n+i = α }{{} ih y h +β }{{} i β i 0 y h z = γ }{{} h y h + γ 0 }{{} +. >0 y h + Passo 4 - Scelta della riga del cardine Sia y n+k una variabile fuori base con α kh < 0 e tale che { } β k βi = min : α ih < 0 α kh α ih (se il minimo è ottenuto in corrispondenza di più di una variabile si sceglie, per convenzione, la prima dall alto). La variabile y n+k sarà la variabile da far entrare in base e quindi la riga relativa sarà la riga del cardine. Motivazione Facendo crescere y h avrò per α ih 0 y n+i = α }{{} ih y h +β }{{} i β i 0 y h 0 0 0

32 32 CAPITOLO 1. PROGRAMMAZIONE LINEARE ma per le variabili y n+i con α ih < 0, si ha che y n+i = α }{{} ih <0 y h }{{} 0 +β i 0 solo per 0 y h β i α ih. Se voglio rimanere in S a posso far crescere y h solo fino al minimo dei valori βi α ih per α ih < 0. Passo 5 - operazione di cardine Eseguo l operazione di cardine con cardine α kh (che è < 0 e quindi, come richiesto, anche 0). Ottengo la Tabella 1.8 e con la nuova tabella e la nuova base ritorno al Passo 1. La seguente osservazione mostra la situazione al termine di un iterazione dell algoritmo del simplesso. Osservazione 8 Si noti che al termine di un iterazione dell algoritmo del simplesso si ha che: 1. la nuova base è adiacente alla precedente; 2. la nuova base è anch essa ammissibile (si veda la motivazione del Passo 4); 3. se β k > 0, la soluzione di base (il vertice) relativo alla nuova base (quella ottenuta sostituendo y h con y n+k ) è diversa dalla soluzione di base relativa alla vecchia base. Se β k = 0, allora la nuova e la vecchia base rappresentano la stessa soluzione di base. 4. Se β k > 0, il valore dell obiettivo per la nuova soluzione di base è superiore rispetto al valore dell obiettivo γ 0 della vecchia base. Infatti, il nuovo valore dell obiettivo, che si legge in basso a destra nella Tabella 1.8, è: γ 0 γ h }{{} >0 {}}{ β k >0 > γ 0. α }{{} kh <0 Una conseguenza di questa osservazione è la seguente. Osservazione 9 Se non ci sono vertici degeneri, allora l algoritmo del simplesso termina in un numero finito di iterazioni. Dimostrazione Se non ci sono vertici degeneri, allora ad ogni iterazione β k > 0 e quindi in base ai punti 3. e 4. dell Osservazione 8 si ha che il nuovo vertice è distinto e con valore dell obiettivo strettamente maggiore rispetto

33 1.3. L ALGORITMO DEL SIMPLESSO 33 al precedente. Essendo finito il numero di vertici (si veda l Osseravzione 3), anche l algoritmo del simplesso deve terminare in un numero finito di iterazioni. Nel caso ci siano vertici degeneri si può verificare la situazione di ciclaggio. Nell esempio in Figura 1.4 trovandoci nel vertice degenere A rappresentato dalla base {u 1, u 2 }, l algoritmo del simplesso può generare la seguente sequenza di basi che rappresentano tutte lo stesso vertice A: {u 1, u 2 } {u 1, u 4 } {u 2, u 4 } {u 2, u 3 } {u 1, u 2 }. Una volta tornato nella base {u 1, u 2 } questa sequenza di basi verrà di nuovo ripetuta all infinito senza che l algoritmo termini. Anche se non le vedremo, esistono comunque delle regole particolari per la scelta del cardine, dette regole anticiclaggio, che consentono all algoritmo di terminare in un numero finito di iterazioni. U3=0 U4=0 U2=0 z Sa A U1=0 Figura 1.4:

34 34 CAPITOLO 1. PROGRAMMAZIONE LINEARE Interpretazione geometrica del cambio di base nel simplesso Da un punto di vista geometrico il passaggio dalla base {y 1,..., y h,..., y n } alla base {y 1,..., y n+k,..., y n } ha la seguente interpretazione. Facciamo crescere la sola variabile y h mentre teniamo tutte le altre variabili y j, j = 1,..., n, j h, fisse a 0. Quindi ci spostiamo sullo spigolo di S a individuato dagli n 1 iperpiani generatori y j = 0, j = 1,..., n, j h. Muovendoci lungo questo spigolo ci arrestiamo solo quando una variabile furoi base y n+k diventa uguale a 0, ovvero quando incontriamo l iperpiano y n+k = 0. Quindi ci arrestiamo in corrispondenza del vertice intersezione dei seguenti iperpiani generatori y n+k = 0, y j = 0, j = 1,..., n, j h Sufficienza della condizione di ottimalità Descrivendo la condizione di ottimalità γ j 0, j = 1,..., n, al Passo 1. dell algoritmo del simplesso, si è detto che è solo una condizione sufficiente. Infatti, (nel solo caso degenere) può succedere che una base abbia come soluzione di base una soluzione ottima ma non soddisfi tale condizione. Nel seguente esempio max x 1 x 1 0 x 2 1 x 1, x 2 0 si può verificare che la base {x 1, x 2 } corrsiponde a una soluzione di base che è anche soluzione ottima, ma non soddisfa le condizioni di ottimalità. D altra parte la base {u 1, x 2 } che rappresenta la stessa soluzione di base, soddisfa tali condizioni. Vale la seguente osservazione. Osservazione 10 Dato un vertice ottimo, esiste sempre almeno una base che lo rappresenta che soddisfa le condizioni di ottimalità Unicità della soluzione ottima Quando l algoritmo del simplesso termina, ci restituisce una soluzione di base (un vertice) ottimo. Ci si può chiedere se tale soluzione ottima sia

35 1.3. L ALGORITMO DEL SIMPLESSO 35 unica oppure no. Nella tabella ottima si ha che la condizione di ottimalità γ j 0 j = 1,..., n, è soddisfatta, ma sono possibili i seguenti casi. Caso 1 γ j < 0, j = 1,..., n : in tal caso si ha per l obiettivo z z = γ 1 }{{} <0 y 1 }{{} γ }{{} n <0 y n }{{} 0 +γ 0 γ 0 e il valore γ 0 è raggiungibile solo se tutte le variabili y j sono pari a 0 e quindi solo in corrispondenza del vertice ottimo. Di conseguenza, tale vertice è anche l unica soluzione ottima. Caso 2 Esiste h tale che γ h = 0. In tal caso si possono avere i seguenti sottocasi: Caso 2.1 α ih 0 per ogni i = 1,..., m. In tal caso y n+i = α }{{} ih y h +β }{{} i β i 0 y h z = γ }{{} h y h + γ 0 = γ 0 y h 0 =0 quindi posso far crescere y h all infinito senza mai uscire da S a e con l obiettivo sempre pari al valore ottimo γ 0. Quindi abbiamo uno spigolo illimitato di soluzioni ottime. Caso 2.2 Esistono α ih < 0 ma per ogni α ih < 0 si ha β i > 0. In tal caso non posso far crescere y h all infinito ma fino ad un certo valore positivo (il valore dato dal criterio dei minimi rapporti visto nel Passo 4. dell algoritmo del simplesso). Quindi esiste certamente uno spigolo limitato di soluzioni ottime. Caso 2.3 esiste k tale che α kh < 0 e β k = 0. In tal caso non possiamo dire nulla sull esistenza di altre soluzioni ottime senza altre informazioni. Come esercizio si riconoscano nelle Tabelle , tutte ottime, i casi descritti sopra.

36 36 CAPITOLO 1. PROGRAMMAZIONE LINEARE Tabella 1.9: x 1 x 2 u u z Tabella 1.10: x 1 x 2 u u z Tabella 1.11: x 1 x 2 u u z Tabella 1.12: x 1 x 2 x 3 u u u z Tabella 1.13: x 1 x 2 x 3 u u u z

37 1.3. L ALGORITMO DEL SIMPLESSO Come ottenere una soluzione di base ammissibile L algoritmo del simplesso richiede di avere all inizio una soluzione di base ammissibile. Non sempre però questa è a disposizione (e a volte non esiste neppure). Vedremo ora due procedure, la fase di avvicianmento a S a e il metodo due fasi, che consentono di determinere (se esiste) una base ammisibile con cui cominciare ad utilizzare l algoritmo del simplesso. Per prima vedremo la fase di avvicinamento a S a. Fase di avvicinamento a S a Supponiamo di avere una base {y 1,..., y n } non ammissibile (cioé con almeno un valore β i negativo). Vogliamo ora descrivere una procedura che ci consenta di stabilire se S a = oppure che ci restituisca una base ammissibile, la fase di avvicinamento a S a (in seguito vedremo anche il metodo due fasi). Un iterazione della fase di avvicinamento a S a segue i seguenti passi. Passo 1 Si scelga la riga r con β r < 0 il piú piccolo possibile (se vi é piú di una riga con β i minimo si seleziona, per convenzione, la prima tra queste dall alto). Passo 2 Se α rj 0 j = 1,..., n (1.8) allora possiamo concludere che S a =. Infatti si avrebbe in S a che y n+r = α }{{} r1 y }{{} α }{{} rn 0 y n }{{} 0 +β r β r < 0, da cui y n+r non puó mai essere 0 come invece é richiesto per l appartenenza a S a. Se invece la condizione (1.8) non é soddisfatta si vada al Passo 3. Passo 3 Si scelga come colonna del cardine la prima colonna h da sinistra tale che α rh > 0. Passo 4 Come riga del cardine si scelga la seguente: Se esiste almeno una riga i tale che α ih < 0 e β i 0, allora si selezioni come riga del cardine la riga k tale che α kh < 0 e β k 0 e β { k = min β } i, α ih < 0, β i 0. α kh α ih (se il minimo si trova in corrispondenza di piú righe si sceglie, per convenzione, la prima dall alto).

1 Modelli di Programmazione Lineare

1 Modelli di Programmazione Lineare 1 Modelli di Programmazione Lineare La prima domanda da porsi riguarda gli scopi che si prefigge la Ricerca Operativa. Possiamo definirla come uno strumento per prendere delle decisioni che siano le migliori

Dettagli

Ricerca Operativa. Ricerca Operativa p. 1/6

Ricerca Operativa. Ricerca Operativa p. 1/6 Ricerca Operativa Ricerca Operativa p. 1/6 Ricerca Operativa Disciplina basata sulla modellizzazione e la risoluzione tramite strumenti automatici di problemi di decisione complessi. In tali problemi la

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

Teoria della Programmazione Lineare. Teoria della Programmazione Lineare p. 1/8

Teoria della Programmazione Lineare. Teoria della Programmazione Lineare p. 1/8 Teoria della Programmazione Lineare Teoria della Programmazione Lineare p. 1/8 I problemi di PL in forma canonica In forma scalare: max n j=1 c jx j n j=1 a ijx j b i x j 0 i = 1,...,m j = 1,...,n Teoria

Dettagli

Appunti per il corso di Ricerca Operativa 1

Appunti per il corso di Ricerca Operativa 1 Appunti per il corso di Ricerca Operativa 1 Capitolo 1 Introduzione La prima domanda da porsi riguarda gli scopi che si prefigge la Ricerca Operativa. Possiamo definirla come uno strumento per prendere

Dettagli

Il metodo del simplesso. Il metodo del simplesso p. 1/8

Il metodo del simplesso. Il metodo del simplesso p. 1/8 Il metodo del simplesso Il metodo del simplesso p. 1/8 Ipotesi iniziale Data la base B e la riformulazione rispetto a essa: max γ 0 + n m j=1 γ jx im+j x i1 = β 1 + n m j=1 α 1jx im+j x ik = β k + n m

Dettagli

PROGRAMMAZIONE LINEARE E DUALITA'

PROGRAMMAZIONE LINEARE E DUALITA' PROGRAMMAZIONE LINEARE E DUALITA' 1) Dati i punti di R 2 (1, 2), (1, 4), (2, 3), (3, 5), (4, 1), (4, 2), (5, 5), (6, 2), (6, 5). Determinare graficamente: A - L'involucro convesso di tali punti. B - Quali

Dettagli

Geometria della programmazione lineare

Geometria della programmazione lineare Geometria della programmazione lineare p. 1/39 Geometria della programmazione lineare Mariantonia Cotronei Facoltà di Ingegneria Università degli Studi Mediterranea di Reggio Calabria Geometria della programmazione

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

Dualitá. Dualitá p. 1/4

Dualitá. Dualitá p. 1/4 Dualitá Dualitá p. 1/4 Dualitá p. 2/4 Dualitá Problema di PL in forma standard max cx Ax = b x 0 Chiamato problema primale. A questo associato un altro problema di PL, detto problema duale: min ub ua c

Dettagli

Programmazione Lineare

Programmazione Lineare Programmazione Lineare Andrea Scozzari a.a. 2012-2013 March 14, 2013 Andrea Scozzari (a.a. 2012-2013) Programmazione Lineare March 14, 2013 1 / 18 Metodo del Simplesso Dato un problema di PL in forma standard

Dettagli

Ricerca Operativa. Ricerca Operativa p. 1/2

Ricerca Operativa. Ricerca Operativa p. 1/2 Ricerca Operativa Ricerca Operativa p. 1/2 Ricerca Operativa Disciplina basata sulla modellizzazione e la risoluzione tramite strumenti automatici di problemi di decisione complessi. In tali problemi la

Dettagli

Il metodo del simplesso. Il metodo del simplesso p. 1/127

Il metodo del simplesso. Il metodo del simplesso p. 1/127 Il metodo del simplesso Il metodo del simplesso p. 1/127 I problemi di PL in forma standard I problemi di PL in forma standard hanno la seguente formulazione: max cx a i x = b i x 0 i = 1,...,m o, equivalentemente,

Dettagli

1 Programmazione Lineare Intera

1 Programmazione Lineare Intera 1 Programmazione Lineare Intera Fino ad ora abbiamo affrontato problemi in cui le variabili potevano assumere valori reali. Ora invece ci concentreremo su problemi in cui le variabili possono assumere

Dettagli

Il metodo del simplesso. Il metodo del simplesso p. 1/12

Il metodo del simplesso. Il metodo del simplesso p. 1/12 Il metodo del simplesso Il metodo del simplesso p. 1/12 I problemi di PL in forma standard I problemi di PL in forma standard hanno la seguente formulazione: max cx a i x = b i x 0 i = 1,...,m o, equivalentemente,

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 Lineare Intera. Programmazione Lineare Intera p. 1/4

Programmazione Lineare Intera. Programmazione Lineare Intera p. 1/4 Programmazione Lineare Intera Programmazione Lineare Intera p. 1/4 Programmazione Lineare Intera Problema di PLI in forma standard: max cx Ax = b x 0, x I n I insieme degli interi. Regione ammissibile:

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

Geometria della programmazione lineare

Geometria della programmazione lineare Geometria della programmazione lineare poliedri punti estremi, vertici, soluzioni di base esistenza di punti estremi rif. Fi 3.1; BT 2.1, 2.2, 2.5 Iperpiani, semispazi Definizione Sia a un vettore non

Dettagli

5.4.5 Struttura dell algoritmo ed esempi

5.4.5 Struttura dell algoritmo ed esempi CAPITOLO 5. IL METODO DEL SIMPLESSO 6 5.4.5 Struttura dell algoritmo ed esempi Come abbiamo già ampiamente osservato, la fase II del metodo del simplesso, a partire da una soluzione di base ammissibile,

Dettagli

TEORIA della DUALITÀ. Una piccola introduzione. Ricerca Operativa. Prof. R. Tadei. Politecnico di Torino. Teoria della Dualità / 1.

TEORIA della DUALITÀ. Una piccola introduzione. Ricerca Operativa. Prof. R. Tadei. Politecnico di Torino. Teoria della Dualità / 1. Prof. R. adei EORIA della DUALIÀ Una piccola introduzione R. adei 1 R. adei 2 EORIA DELLA DUALIA' Il concetto di dualità fu introdotto nel 1947 da Von Neumann, anche se il teorema della dualità fu formulato

Dettagli

Geometria della programmazione lineare

Geometria della programmazione lineare Geometria della programmazione lineare poliedri punti estremi, vertici, soluzioni di base esistenza di punti estremi rif. Fi 3.1; BT 2.1, 2.2, 2.5 Iperpiani, semispazi Definizione Sia a un vettore non

Dettagli

4 PROGRAMMAZIONE LINEARE (PL) E. Amaldi -- Fondamenti di R.O. -- Politecnico di Milano 1

4 PROGRAMMAZIONE LINEARE (PL) E. Amaldi -- Fondamenti di R.O. -- Politecnico di Milano 1 4 PROGRAMMAZIONE LINEARE (PL) E. Amaldi -- Fondamenti di R.O. -- Politecnico di Milano 1 Problemi di programmazione matematica: min f () s.v. X n insieme delle soluzioni ammissibili con funzione obiettivo

Dettagli

Soluzione dei Problemi di Programmazione Lineare

Soluzione dei Problemi di Programmazione Lineare Soluzione dei Problemi di Programmazione Lineare Consideriamo un problema di Programmazione Lineare (PL) con m vincoli ed n variabili in Forma Standard dove: ma 0 c A b ( ) 0 ( 2) R è il vettore n delle

Dettagli

VETTORIALE E PRODOTTO MISTO. PIANI E RETTE DI

VETTORIALE E PRODOTTO MISTO. PIANI E RETTE DI Universita degli Studi di Roma - "Tor Vergata" - Facolta Ingegneria Esercizi GEOMETRIA (Edile-Architettura e dell Edilizia) PRODOTTO VETTORIALE E PRODOTTO MISTO. PIANI E RETTE DI R 3. FASCI E STELLE. FORMULE

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

1. Dare la definizione di funzione lineare. R: Una funzione lineare di n variabili è una funzione del tipo. c 1 x 1 + c 2 x c n x n,

1. Dare la definizione di funzione lineare. R: Una funzione lineare di n variabili è una funzione del tipo. c 1 x 1 + c 2 x c n x n, VERTICIDIUNPOLIEDRO 31 Esercizi di riepilogo sui Capitoli 1 5 1. Dare la definizione di funzione lineare. R: Una funzione lineare di n variabili è una funzione del tipo dove c 1,c 2,...,c n sono numeri

Dettagli

Geometria della programmazione lineare

Geometria della programmazione lineare Geometria della programmazione lineare poliedri punti estremi, vertici, soluzioni di base esistenza di punti estremi rif. Fi 3.1; BT 2.1, 2.2, 2.5 Iperpiani, semispazi, poliedri Sia a un vettore non nullo

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

Algoritmo del Simplesso

Algoritmo del Simplesso Algoritmo del Simplesso Renato Bruni bruni@dis.uniroma.it Univertà di Roma Sapienza Corso di Ricerca Operativa, Corso di Laurea Ingegneria dell Informazione Vertici e Punti Estremi di un Poliedro Un poliedro

Dettagli

14 febbraio Soluzione esame di geometria - 12 crediti Ingegneria gestionale - a.a COGNOME... NOME... N. MATRICOLA...

14 febbraio Soluzione esame di geometria - 12 crediti Ingegneria gestionale - a.a COGNOME... NOME... N. MATRICOLA... COGNOME.......................... NOME.......................... N. MATRICOLA............. La prova dura ore. ISTRUZIONI Ti sono stati consegnati tre fogli, stampati fronte e retro. Come prima cosa scrivi

Dettagli

Programmazione Lineare: problema del trasporto Ing. Valerio Lacagnina

Programmazione Lineare: problema del trasporto Ing. Valerio Lacagnina Problemi di trasporto Consideriamo un problema di programmazione lineare con una struttura matematica particolare. Si può utilizzare, per risolverlo, il metodo del simplesso ma è possibile realizzare una

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

Geometria e Topologia I (U1-4) 2006-mag-10 61

Geometria e Topologia I (U1-4) 2006-mag-10 61 Geometria e Topologia I (U1-4) 2006-mag-10 61 (15.9) Teorema. Consideriamo il piano affine. Se A A 2 (K) è un punto e r una retta che non passa per A, allora esiste unica la retta per A che non interseca

Dettagli

Esercizi di Programmazione Lineare

Esercizi di Programmazione Lineare Esercizi di Programmazione Lineare 1 grafica Si consideri il seguente problema di programmazione lineare: max 3x 1 + 2x 2 s.t. + 2x 1 + x 2 4 2x 1 + x 2 2 + x 1 x 2 1 x 1, x 2 0 a) Risolvere il problema

Dettagli

Il metodo del simplesso

Il metodo del simplesso Capitolo 5 Il metodo del simplesso 5. La forma standard Esercizio 5.. Porre il problema di Programmazione Lineare: in forma standard. min x +x + x + x x +x 5 x 4 x, x Si trasformano i vincoli di disuguaglianza

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

Rango di una matrice e teorema di Rouché-Capelli

Rango di una matrice e teorema di Rouché-Capelli Rango di una matrice e teorema di Rouché-Capelli Sappiamo che a una matrice m n, A, è associata l applicazione lineare L A : R n R m, L A (X) = AX, X R n. Definizione 1. Lo spazio nullo di A, N (A), è

Dettagli

Algoritmi per la programmazione lineare: il metodo del simplesso

Algoritmi per la programmazione lineare: il metodo del simplesso Algoritmi per la programmazione lineare: il metodo del simplesso Dipartimento di Informatica, Universita' di Pisa A.A. 2018/2019 Contenuti della lezione Problemi di programmazione lineare, forma standard

Dettagli

Spazi vettoriali. Indipendenza lineare.

Spazi vettoriali. Indipendenza lineare. Spazi vettoriali Indipendenza lineare Nel piano vettoriale G 2, fissato un punto O ed identificati i vettori con i segmenti orientati con origine in O, informalmente si puo dire che che due vettori sono

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

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

P z. OP x, OP y, OP z sono le proiezioni ortogonali di v sugli assi x, y, z, per cui: OP x = ( v i) i. k j. P x. OP z = ( v k) k

P z. OP x, OP y, OP z sono le proiezioni ortogonali di v sugli assi x, y, z, per cui: OP x = ( v i) i. k j. P x. OP z = ( v k) k Richiami di calcolo vettoriale Consideriamo il vettore libero v = OP. Siano P x, P y, P z le proiezioni ortogonali di P sui tre assi cartesiani. v è la diagonale del parallelepipedo costruito su OP x,

Dettagli

21 settembre Soluzione esame di geometria - 12 crediti Ingegneria gestionale - a.a COGNOME... NOME... N. MATRICOLA...

21 settembre Soluzione esame di geometria - 12 crediti Ingegneria gestionale - a.a COGNOME... NOME... N. MATRICOLA... COGNOME.......................... NOME.......................... N. MATRICOLA............. La prova dura ore. ISTRUZIONI Ti sono stati consegnati tre fogli, stampati fronte e retro. Come prima cosa scrivi

Dettagli

F x 1 = x 1 + x 2. 2x 1 x 2 Determinare la matrice C associata a F rispetto alla base canonica (equivalentemente,

F x 1 = x 1 + x 2. 2x 1 x 2 Determinare la matrice C associata a F rispetto alla base canonica (equivalentemente, Corso di Laurea in Fisica. Geometria 1. a.a. 2006-07. Gruppo B. Prof. P. Piazza Esonero del 1/12/06 con soluzione Esercizio. Spazio vettoriale R 2 con base canonica fissata e coordinate associate (x 1,

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

Capitolo 2 Spazi vettoriali Esercizi svolti Tutorato di geometria e algebra lineare. Marco Robutti

Capitolo 2 Spazi vettoriali Esercizi svolti Tutorato di geometria e algebra lineare. Marco Robutti Capitolo 2 Spazi vettoriali Esercizi svolti Tutorato di geometria e algebra lineare Marco Robutti 5 Ottobre 27 Introduzione Gli esercizi di questo capitolo riguardano i seguenti argomenti: Dato un insieme,

Dettagli

x 1 x 2 x 3 x 5 La base iniziale è B 0 = I e risulta x B 0 = , x N 0 = Iterazione 0. Calcolo dei costi ridotti. γ 0 = c N 0 (N 0 ) T c B 0 =

x 1 x 2 x 3 x 5 La base iniziale è B 0 = I e risulta x B 0 = , x N 0 = Iterazione 0. Calcolo dei costi ridotti. γ 0 = c N 0 (N 0 ) T c B 0 = 56 IL METODO DEL SIMPLESSO 7.4 IL METODO DEL SIMPLESSO In questo paragrafo sono riportati alcuni esercizi risolti sul metodo del simplesso. Alcuni sono risolti utilizzando la procedura di pivot per determinare,

Dettagli

Il teorema di dualità forte

Il teorema di dualità forte Complementi di Algoritmi e Strutture Dati Il teorema di dualità forte Docente: Nicolò Cesa-Bianchi versione 13 maggio 2018 Ricordiamo la formulazione del problema di programmazione lineare nella sua forma

Dettagli

LA GRAN PARTE DI QUESTI ELEMENTI DOVREBBE ESSERE GIÀ NOTA

LA GRAN PARTE DI QUESTI ELEMENTI DOVREBBE ESSERE GIÀ NOTA I PRESUPPOSTI DELL ALGORITMO DEL SIMPLESSO CONSISTONO IN UN INSIEME DI ELEMENTI TEORICI LEGATI ALLO STUDIO DEGLI INSIEMI CONVESSI ED UN ALTRO INSIEME DI ELEMENTI TEORICI LEGATI ALLO STUDIO DEI SISTEMI

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

Teoria della Programmazione Lineare

Teoria della Programmazione Lineare 6 Teoria della Programmazione Lineare In questo capitolo iniziamo lo studio formale dei problemi di Programmazione Lineare e, in particolare, dimostriamo il Teorema fondamentale della Programmazione Lineare.

Dettagli

LEZIONE N.7 INTRODUZIONE AI METODI DI PROGRAMMAZIONE LINEARE, IL METODO DEL SIMPLESSO. 1di 18

LEZIONE N.7 INTRODUZIONE AI METODI DI PROGRAMMAZIONE LINEARE, IL METODO DEL SIMPLESSO. 1di 18 LEZIONE N.7 INTRODUZIONE AI METODI DI PROGRAMMAZIONE LINEARE, IL METODO DEL SIMPLESSO 1di 18 Metodo del Simplesso Il metodo del simplesso dovuto a Dantzing ed a Kantorovich è un algoritmo il cui nome deriva

Dettagli

4.5 Metodo del simplesso

4.5 Metodo del simplesso 4.5 Metodo del simplesso min z = c T x s.v. Ax = b x PL in forma standard Esamina una sequenza di soluzioni di base ammissibili con valori non crescenti della funzione obiettivo fino a raggiungerne una

Dettagli

7.9 Il caso vincolato: vincoli di disuguaglianza

7.9 Il caso vincolato: vincoli di disuguaglianza 7.9 Il caso vincolato: vincoli di disuguaglianza Il problema con vincoli di disuguaglianza: g i (x) 0, i = 1,..., p, (51) o, in forma vettoriale: g(x) 0, può essere trattato basandosi largamente su quanto

Dettagli

ax 1 + bx 2 + c = 0, r : 2x 1 3x = 0.

ax 1 + bx 2 + c = 0, r : 2x 1 3x = 0. . Rette in R ; circonferenze. In questo paragrafo studiamo le rette e le circonferenze in R. Ci sono due modi per descrivere una retta in R : mediante una equazione cartesiana oppure mediante una equazione

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

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

Sviluppando ancora per colonna sulla prima colonna della prima matrice e sulla seconda della seconda matrice si ottiene:

Sviluppando ancora per colonna sulla prima colonna della prima matrice e sulla seconda della seconda matrice si ottiene: M. CARAMIA, S. GIORDANI, F. GUERRIERO, R. MUSMANNO, D. PACCIARELLI RICERCA OPERATIVA Isedi Esercizi proposti nel Cap. 5 - Soluzioni Esercizio 5. - La norma Euclidea di è 9 6 5 - Il versore corrispondente

Dettagli

Risoluzione di sistemi lineari

Risoluzione di sistemi lineari Risoluzione di sistemi lineari Teorema (Rouché-Capelli) Dato il sistema di m equazioni in n incognite Ax = b, con A M at(m, n) b R n x R n [A b] si ha che: matrice dei coefficienti, vettore dei termini

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

11 luglio Soluzione esame di geometria - Ing. gestionale - a.a COGNOME... NOME... N. MATRICOLA... ISTRUZIONI

11 luglio Soluzione esame di geometria - Ing. gestionale - a.a COGNOME... NOME... N. MATRICOLA... ISTRUZIONI COGNOME.......................... NOME.......................... N. MATRICOLA............. La prova dura ore. ISTRUZIONI Ti sono stati consegnati tre fogli, stampati fronte e retro. Come prima cosa scrivi

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

Esercizi di ottimizzazione vincolata

Esercizi di ottimizzazione vincolata Esercizi di ottimizzazione vincolata A. Agnetis, P. Detti Esercizi svolti 1 Dato il seguente problema di ottimizzazione vincolata max x 1 + x 2 x 1 4x 2 3 x 1 + x 2 2 0 x 1 0 studiare l esistenza di punti

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

Programmazione Matematica: III.1 - Programmazione Lineare

Programmazione Matematica: III.1 - Programmazione Lineare Programmazione Matematica: III.1 - Programmazione Lineare Daniele Vigo D.E.I.S. Università di Bologna dvigo@deis.unibo.it rev. 1.0 ottobre 2003 Programmazione Lineare Def.: (F, ϕ ) è un problema di Programmazione

Dettagli

min 2x 1 +4x 2 2x 3 +2x 4 x 1 +4x 2 +2x 3 + x 4 =6 2x 1 + x 2 +2x 3 + x 5 =3 x 0.

min 2x 1 +4x 2 2x 3 +2x 4 x 1 +4x 2 +2x 3 + x 4 =6 2x 1 + x 2 +2x 3 + x 5 =3 x 0. 5 IL METODO DEL SIMPLESSO 6.4 IL METODO DEL SIMPLESSO In questo paragrafo sono riportati alcuni esercizi risolti sul metodo del simplesso. Alcuni sono risolti utilizzando la procedura di pivot per determinare,

Dettagli

Appunti su Indipendenza Lineare di Vettori

Appunti su Indipendenza Lineare di Vettori Appunti su Indipendenza Lineare di Vettori Claudia Fassino a.a. Queste dispense, relative a una parte del corso di Matematica Computazionale (Laurea in Informatica), rappresentano solo un aiuto per lo

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

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

Il modello duale. Capitolo settimo. Introduzione

Il modello duale. Capitolo settimo. Introduzione Capitolo settimo Il modello duale Introduzione Il modello duale e la teoria della dualità assumono una grande importanza nella teoria della programmazione matematica. In questo testo i modelli primale

Dettagli

Università degli Studi di Palermo Facoltà di Economia. CdS Sviluppo Economico e Cooperazione Internazionale. Appunti del corso di Matematica

Università degli Studi di Palermo Facoltà di Economia. CdS Sviluppo Economico e Cooperazione Internazionale. Appunti del corso di Matematica Università degli Studi di Palermo Facoltà di Economia CdS Sviluppo Economico e Cooperazione Internazionale Appunti del corso di Matematica 02 - I Numeri Reali Anno Accademico 2013/2014 D. Provenzano, M.

Dettagli

NOTE DI ALGEBRA LINEARE v = a 1 v a n v n, w = b 1 v b n v n

NOTE DI ALGEBRA LINEARE v = a 1 v a n v n, w = b 1 v b n v n NOTE DI ALGEBRA LINEARE 2- MM 9 NOVEMBRE 2 Combinazioni lineari e generatori Sia K un campo e V uno spazio vettoriale su K Siano v,, v n vettori in V Definizione Un vettore v V si dice combinazione lineare

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

SI RICORDA CHE LE LEZIONI DI MERCOLEDÌ 5 E 12 APRILE SI TERRANNO IN AULA D3 DALLE 9 ALLE 11

SI RICORDA CHE LE LEZIONI DI MERCOLEDÌ 5 E 12 APRILE SI TERRANNO IN AULA D3 DALLE 9 ALLE 11 SI RICORDA CHE LE LEZIONI DI MERCOLEDÌ 5 E 12 APRILE SI TERRANNO IN AULA D3 DALLE 9 ALLE 11 MARTEDÌ 11 APRILE LA LEZIONE SI TERRÀ IN AULA SEMINARI PIANO C 1di 26 LEZIONE N.7 INTRODUZIONE AI METODI DI PROGRAMMAZIONE

Dettagli

Facsimile di prova d esame Esempio di svolgimento

Facsimile di prova d esame Esempio di svolgimento Geometria analitica 18 marzo 009 Facsimile di prova d esame Esempio di svolgimento 1 Nello spazio, riferito a coordinate cartesiane ortogonali e monometriche x,y,z, è assegnata la retta r di equazioni

Dettagli

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

COMPITO DI RICERCA OPERATIVA. max 3x 1 + 2x 2 x x 2 + x 3 = 4 2x 1 + x 2 + x 4 = 3 COMPITO DI RICERCA OPERATIVA ESERCIZIO 1. (7 punti) Sia dato il seguente problema di PL: max 3x 1 + 2x 2 x 1 + 1 2 x 2 + x 3 = 4 2x 1 + x 2 + x 4 = 3 Lo si risolva con l algoritmo che si ritiene più opportuno

Dettagli

Complementi di Analisi Matematica Ia. Carlo Bardaro

Complementi di Analisi Matematica Ia. Carlo Bardaro Complementi di Analisi Matematica Ia Carlo Bardaro Capitolo 1 Elementi di topologia della retta reale 1.1 Intorni, punti di accumulazione e insiemi chiusi Sia x 0 IR un fissato punto di IR. Chiameremo

Dettagli

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

COMPITO DI RICERCA OPERATIVA. max 8 5x 1 3x 2 x 3 = 1 + 4x 1 + x 2 x 4 = 1 x 1 + x 2 x 5 = 5 x 1 x 2 COMPITO DI RICERCA OPERATIVA ESERCIZIO. (5 punti) Dato un problema di PL, la sua riformulazione rispetto alla base B = {x 3, x, x 5 } é la seguente: max 8 5x 3x x 3 = + x + x x = x + x x 5 = 5 x x Solo

Dettagli

Stabilire se il punto di coordinate (1,1) appartiene alla circonferenza centrata nell origine e di raggio 1.

Stabilire se il punto di coordinate (1,1) appartiene alla circonferenza centrata nell origine e di raggio 1. Definizione di circonferenza e cerchio. Equazione della circonferenza centrata in O e di raggio R. Esercizi. La circonferenza e il cerchio Definizioni: dato un punto C nel piano cartesiano e dato un numero

Dettagli

LEZIONE 11. s V : V V V (v 1, v 2 ) v 1 + v 2 = s V (v 1, v 2 ), p V : k V V. per cui valgono:

LEZIONE 11. s V : V V V (v 1, v 2 ) v 1 + v 2 = s V (v 1, v 2 ), p V : k V V. per cui valgono: LEZIONE 11 11.1. Spazi vettoriali ed esempi. La nozione di spazio vettoriale generalizza quanto visto nelle lezioni precedenti: l insieme k m,n delle matrici m n a coefficienti in k = R, C, l insieme V

Dettagli

2. ALGORITMO DEL SIMPLESSO

2. ALGORITMO DEL SIMPLESSO . ALGORITMO DEL SIMPLESSO R. Tadei Una piccola introduzione R. Tadei SIMPLESSO L obiettivo del capitolo è quello di fornire un algoritmo, l algoritmo del simplesso, che risolve qualsiasi problema di programmazione

Dettagli

8 novembre Soluzione esame di geometria - 12 crediti Ingegneria gestionale - a.a COGNOME... NOME... N. MATRICOLA...

8 novembre Soluzione esame di geometria - 12 crediti Ingegneria gestionale - a.a COGNOME... NOME... N. MATRICOLA... COGNOME.......................... NOME.......................... N. MATRICOLA............. La prova dura ore. ISTRUZIONI Ti sono stati consegnati tre fogli, stampati fronte e retro. Come prima cosa scrivi

Dettagli

Sistemi compatibili (Il metodo di Fourier-Motzkin) Claudio Arbib Università degli Studi di L Aquila

Sistemi compatibili (Il metodo di Fourier-Motzkin) Claudio Arbib Università degli Studi di L Aquila Sistemi compatibili (Il metodo di Fourier-Motzkin) Claudio Arbib Università degli Studi di L Aquila Sommario 1. Sistemi di disequazioni lineari e poliedri 2. Poliedri e insiemi convessi 3. Disequazioni

Dettagli

24 giugno Soluzione esame di geometria - 12 crediti Ingegneria gestionale - a.a COGNOME... NOME... N. MATRICOLA...

24 giugno Soluzione esame di geometria - 12 crediti Ingegneria gestionale - a.a COGNOME... NOME... N. MATRICOLA... 4 giugno 010 - Soluzione esame di geometria - 1 crediti Ingegneria gestionale - a.a. 009-010 COGNOME.......................... NOME.......................... N. MATRICOLA............. La prova dura ore.

Dettagli

Geometria della Programmazione Lineare

Geometria della Programmazione Lineare Capitolo 2 Geometria della Programmazione Lineare In questo capitolo verranno introdotte alcune nozioni della teoria dei poliedri che permetteranno di cogliere gli aspetti geometrici della Programmazione

Dettagli

Problemi di flusso a costo minimo

Problemi di flusso a costo minimo p. 1/7 Problemi di flusso a costo minimo È data una rete (grafo orientato e connesso) G = (V,A). (i,j) A c ij, costo di trasporto unitario lungo l arco (i, j). i V b i interi e tali che i V b i = 0. p.

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

Lezione 6 Richiami di Geometria Analitica

Lezione 6 Richiami di Geometria Analitica 1 Piano cartesiano Lezione 6 Richiami di Geometria Analitica Consideriamo nel piano due rette perpendicolari che si intersecano in un punto O Consideriamo ciascuna di queste rette come retta orientata

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

5. ANALISI DI SENSIBILITÀ

5. ANALISI DI SENSIBILITÀ 5. ANALISI DI SENSIBILITÀ R. Tadei 1 Una piccola introduzione R. Tadei 2 ANALISI DI SENSIBILITÀ Nei precedenti capitoli abbiamo visto come, partendo da un problema reale, si possa giungere alla costruzione

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

LEZIONE 9. Figura 9.1.1

LEZIONE 9. Figura 9.1.1 LEZIONE 9 9.1. Equazioni cartesiane di piani. Abbiamo visto come rappresentare parametricamente un piano. Un altro interessante metodo di rappresentazione di un piano nello spazio è tramite la sua equazione

Dettagli

Si considera, come al solito, un problema di programmazione lineare in forma standard:

Si considera, come al solito, un problema di programmazione lineare in forma standard: LA FASE I DEL METODO DEL SIMPLESSO 149 6.5 LA FASE I DEL METODO DEL SIMPLESSO Comegiàdetto, il primoobiettivo dellafase Idel metododelsimplessoèquellodi verificare l ammissibilità del problema da risolvere.

Dettagli

Coordinate cartesiane e coordinate omogenee

Coordinate cartesiane e coordinate omogenee Coordinate cartesiane e coordinate omogenee Fissiamo nel piano un sistema di riferimento cartesiano ortogonale O, x, y, u. Ad ogni punto P del piano possiamo associare le coordinate cartesiane (x, y),

Dettagli