Soluzione dei Problemi di Programmazione Lineare

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

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

4.5 Metodo del simplesso

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

IL METODO DEL SIMPLESSO

Esercizi di Matematica di Base Scienze biologiche e Scienze e Tecnologie dell Ambiente

Esercizi sulla Programmazione Lineare. min. cx Ax b x 0

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

Esercizi di ottimizzazione vincolata

Argomento 13 Sistemi lineari

Il modello duale. Capitolo settimo. Introduzione

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

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

Ricerca Operativa Note su Programmazione Lineare e Metodo del Simplesso (parte I)

Prerequisiti didattici

1.1 Coordinate sulla retta e nel piano; rette nel piano

Metodi per la risoluzione di sistemi lineari

Corso di Matematica per la Chimica

Soluzione grafica di problemi PM in 2 variabili

Lezioni di Ricerca Operativa

Problemi di Flusso: Il modello del Trasporto

Metodo dei minimi quadrati e matrice pseudoinversa

LEZIONE 4. { x + y + z = 1 x y + 2z = 3

Ricerca Operativa 2. Introduzione al metodo del Simplesso

SOTTOSPAZI E OPERAZIONI IN SPAZI DIVERSI DA R n

Corso di Geometria Ing. Informatica e Automatica Test 1: soluzioni

Ricerca Operativa Note su Programmazione Lineare e Metodo del Simplesso (parte III)

Studio generale di una conica

Sistemi di equazioni lineari

Raccolta di esercizi svolti sulle condizioni di Kuhn Tucker

Problemi di flusso a costo minimo

3. Vettori, Spazi Vettoriali e Matrici

Geometria BIAR Esercizi 2

I. Foglio di esercizi su vettori linearmente dipendenti e linearmente indipendenti. , v 2 = α v 1 + β v 2 + γ v 3. α v 1 + β v 2 + γ v 3 = 0. + γ.

2x 5y +4z = 3 x 2y + z =5 x 4y +6z = A =

SISTEMI LINEARI, METODO DI GAUSS

Esercizi svolti. risolvere, se possibile, l equazione xa + B = O, essendo x un incognita reale

Parte V: Rilassamento Lagrangiano

Prodotti scalari e matrici

LEZIONE 3. Typeset by AMS-TEX

CLASSIFICAZIONE DELLE CONICHE AFFINI

Equazioni e disequazioni. M.Simonetta Bernabei, Horst Thaler

Vettori e matrici. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara

SISTEMI LINEARI MATRICI E SISTEMI 1

Sistemi di equazioni lineari

Corso di Calcolo Numerico

2.6 Calcolo degli equilibri di Nash

Assemblaggio degli Elementi: Soluzione del Problema Strutturale Discreto

Sistemi differenziali 2 2: esercizi svolti. 1 Sistemi lineari Stabilità nei sistemi lineari

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

Contenuto e scopo presentazione. Modelli Lineari Interi/Misti. Piani di taglio. Piani di taglio. Piani di taglio Versione 31/08/

Ricerca Operativa Note su Programmazione Lineare e Metodo del Simplesso (parte II)

Ricerca Operativa Note su Programmazione Lineare e Metodo del Simplesso

CONTROLLO DI SISTEMI ROBOTICI Laurea Specialistica in Ingegneria Meccatronica

Esercizi su ottimizzazione vincolata

SISTEMI LINEARI: APPROFONDIMENTI ED ESEMPI

5.5 Metodi generali per la soluzione di problemi

Sistemi di 1 grado in due incognite

In un triangolo un lato è maggiore della differenza degli altri due, pertanto dal triangolo si ha > dividendo per =1.

Esercizi sui vettori liberi (i, j, k è una base ortonormale positiva)

Riassumiamo le proprietà dei numeri reali da noi utilizzate nel corso di Geometria.

Per equazione lineare nelle incognite x, y intendo un equazione del tipo. ax = b,

LEZIONE Equazioni matriciali. Negli Esempi e si sono studiati più sistemi diversi AX 1 = B 1, AX 2 = R m,n, B = (b i,h ) 1 i m

Esercizi di Ricerca Operativa I

+2 3 = = =3 + =3 + =8 =15. Sistemi lineari. nelle stesse due incognite. + = + = = = Esempi + =5. Il sistema è determinato

LA PROGRAMMAZIONE LINEARE (p.l.)

FONDAMENTI DI ALGEBRA LINEARE E GEOMETRIA

LA PROGRAMMAZIONE MATEMATICA (p.m.)

Analisi Matematica e Geometria 1

Sapienza Università di Roma Corso di laurea in Ingegneria Energetica Geometria A.A ESERCIZI DA CONSEGNARE prof.

Esercizi di MATEMATICA PER RCHITETTURA prima parte: Algebra Lineare e Geometria

APPROSSIMAZIONE di FUNZIONI

STUDIO DELLE RADICI DI UNA EQUAZIONE ALGEBRICA DI TERZO GRADO A COEFFICIENTI REALI

= elemento che compare nella seconda riga e quinta colonna = -4 In generale una matrice A di m righe e n colonne si denota con

Corso di Calcolo Numerico

Somma diretta di sottospazi vettoriali

Richiami di algebra delle matrici

LEZIONE 15. (15.1.2) p(x) = a 0 x n + a 1 x n a n 1 x + a n = a h x n h.

Esercizi svolti di Programmazione Lineare. a cura di Laura Scrimali Dipartimento di Matematica e Informatica Università di Catania

Esercizi per Geometria II Geometria euclidea e proiettiva

MATRICI E VETTORI APPROFONDIMENTO PER IL CORSO DI LABORATORIO DI INFORMATICA SARA POLTRONIERI

Elementi di Teoria dei Sistemi. Definizione di sistema dinamico. Cosa significa Dinamico? Sistema dinamico a tempo continuo

Esercizi di Geometria - 2

Prodotto interno (prodotto scalare definito positivo)

8. Completamento di uno spazio di misura.

Complementi di Analisi Matematica Ia. Carlo Bardaro

Matematica II,

Secondo parziale di Matematica per l Economia (esempio)

(c) Stabilire per quali valori di h is sistema ammette un unica soluzione:

Quali condizionisi si possono richiedere sulla funzione interpolante?

Applicazioni lineari e diagonalizzazione. Esercizi svolti

1 - Matrice delle masse e delle rigidezze

Catene di Markov. 8 ottobre 2009

Esercitazione n o 3 per il corso di Ricerca Operativa

Transcript:

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 variabili decisionali c è il vettore n dei coefficienti della funzione obiettivo b è il vettore m dei termini noti dei vincoli A è la matrice mn dei coefficienti dei vincoli; A[a ij ], i,...,n, j,...,m n T Inoltre, si assumono soddisfatte le seguenti ipotesi: b 0 b j 0 j, K, m m<n mrango(a) Qualunque problema di PL può essere trasformato in un problema equivalente in forma standard. PL-25

I valori di che soddisfano i vincoli () sono detti soluzioni del problema di PL. Inoltre, i valori di che soddisfano anche i vincoli (2) sono detti soluzioni ammissibili del problema di PL. L ipotesi m<n (più variabili che vincoli) non rappresenta una perdita di generalità. E noto infatti che il sistema di equazioni lineari (): può ammettere una soluzione unica se mn può ammettere soluzione se m>n ed almeno m-n equazioni sono ridondanti (quindi possono essere eliminate) può ammettere n m soluzioni se m<n Solo l ultimo caso è significativo dal punto di vista dei problemi di ottimizzazione. Un problema di PL può essere: a) Ammissibile con soluzioni ottime finite b) Ammissibile senza soluzione ottime finite (detto anche illimitato, o con ottimo all infinito) c) Non Ammissibile (senza soluzioni ammissibili) PL-26

Da un punto di vista grafico i tre casi corrispondono a: a) una regione di ammissibilità associata ad un poliedro chiuso non vuoto (Politopo) { R n : } X A b X b) una regione di ammissibilità associata ad un poliedro aperto non vuoto (n.b., una soluzione ottima all infinito implica un poliedro X aperto, ma non è vero il viceversa) X (X aperto) X c) una regione di ammissibilità associata ad un poliedro vuoto X 2 X R n taleche X X X X X2 PL-27

Un poliedro è dato dall intersezione di semispazi. Un semispazio in n dimensioni è individuato da una disuguaglianza lineare a T n b R Un poliedro X è un insieme convesso Definizione Un insieme X è convesso se e solo se dati due punti a, b X ogni punto generato come λa + ( λ) b 0 λ (combinazione convessa di a, ) è tale che X b a X Vertici del Poliedro X b I vertici di un poliedro si dicono Punti Estremi Definizione Un punto di un poliedro X è un punto estremo se e solo se non può essere espresso come combinazione convessa di altri punti di X. PL-28

. Teorema (Proprietà dei punti estremi di un poliedro) Dato X poliedro chiuso non vuoto con punti estremi ogni punto X può essere espresso come combinazione e i, i,..., E convessa dei punti estremi di X: E E λi con i ei λ i λi 0 i i e Ad es., la combinazione convessa di e e2 e 3 permette di esprimere tutti i punti di X' X X X e 2 e3 Se X è un poliedro aperto non vuoto per esprimere tutti i suoi punti oltre ad i punti estremi si devono utilizzare anche le sue direzioni estreme. Definizione Dato un poliedro X, d è una direzione di X se e solo se X + µ d X µ 0. PL-29

Ad esempio: X d + µ d ( µ 0) Definizione Una direzione d di un poliedro X, è una direzione estrema di X se e solo se non è esprimibile come combinazione lineare di altre direzioni di X. Ad esempio: X d µ de + µ d 2 e2 d e µ, µ 2 0 2 d e PL-30

2. Teorema (Proprietà dei punti estremi e delle direzioni estreme di un poliedro) Dato X poliedro non vuoto con punti estremi e direzioni estreme Ogni punto X può essere espresso come combinazione convessa dei punti estremi di X e combinazione lineare delle sue direzioni estreme: de j D j,,..., E D λ i e i + µ jde j i j i E ei,,..., E con λ i λ i 0 i, µ j 0 j i Se d è una direzione del poliedro {, 0} X A b allora si ha che ( ) + λd X X, λ 0 A + λd b Ad 0 PL-3

Soluzione Algebrica dei problemi di PL Consideriamo il problema (PL) in Forma Standard (PL) ma c T 0 A b ( ) 0 ( 2) n R Poiché mrango(a) ed m<n, si può partizionare A come A [ B N] dove: B è matrice non singolare mm N è matrice m(n-m) (det( B) 0) La matrice B è composta da m colonne linearmente indipendenti di A. Tali colonne sono quindi una base nello spazio vettoriale ad m dimensioni delle colonne di A. La matrice B è detta Matrice di Base (Base). In corrispondenza di una scelta di B ed N si può partizionare anche il vettore delle : B N m componenti n m componenti è detto Vettore delle Variabili in Base (Vettore di Base) è detto Vettore delle Variabili fuori Base B N PL-32

Il sistema di equazioni lineari A b si può riscrivere come [ B N] B b BB NN b N + B B b B NN Una soluzione del sistema di equazioni () corrisponde a determinare il valore per m variabili ( B ) avendo fissato arbitrariamente il valore per le restanti n-m variabili ( N ) Una scelta particolarmente importante è porre N 0 da cui si ottiene B B b N 0 Soluzione di Base Se B B b 0 si ottiene una Soluzione di Base Ammissibile. PL-33

Le soluzioni di base sono importanti poichè vale il seguente teorema 3. Teorema Dato {, 0} X A b insieme convesso, dove A è una matrice mn di rango m con m<n, e è un punto estremo di X se e solo se e è una soluzione di base ammissibile. La ricerca delle soluzioni di un problema di PL si può effettuare esaminando solamente un numero finito di soluzioni corrispondenti alle soluzioni di base associate al poliedro dei vincoli. In generale, a ciascuna matrice di base B (ammissibile) corrisponde una sola soluzione di base (ammissibile). Viceversa, ad una soluzione di base (ammissibile) possono corrispondere più matrici di base. Questi casi sono associati a soluzioni dette degeneri, ovvero per cui qualche componente del vettore di base risulta nullo. B Un esempio. ma 0 2 + 2 + 2 5 ( ) + 2 0 ( 2) 6 + 22 2 ( 3) 0 2 0 Il problema non è in forma standard! (continua) PL-34

Trasformazione dei problemi in forma standard. Vincoli Si introducono variabili ausiliarie positive dette Variabili di Slack (scarto): n n aij j bi aij j + si bi si 0 j j Vincoli Si introducono variabili ausiliarie positive dette Variabili di Surplus (eccedenza): n n j ij j i j a b a s b s 0 ij j i i i Variabili non vincolate in segno (variabili libere) Si sostituisce la variabile libera con due variabili ausiliarie positive (il problema diventa ad n+ variabili): libera u v con u 0 v 0 j j j j j j Termini noti dei vincoli negativi Si moltiplicano entrambe i membri per - e si cambia il verso della disuguaglianza Problema di minimo Si trasforma il problema in massimo moltiplicando per - la funzione obiettivo. PL-35

Un esempio (seguito). Il problema trasformato in forma standard: ma 0 2 + 2 + 2 + 3 5 ( ) + 2 + 4 0 ( 2) 6 + 22 + 5 2 ( 3) 0 2 0 3 0 4 0 5 0 2 5 (3) 4 () (2) 3 2 P 2 P 3 0 7. 75 Ottimo 0 0 X P 4 P 2 3 4 5 A 0 0 0 0 6 2 0 0 b 5 0 2 PL-36

PL-37 Il massimo numero di possibili basi corrisponde al numero di possibili estrazioni di m colonne su n colonne di A: n m n m n m!!( )! Nell esempio 5 3 5 3 2 0!!! In generale, non tutte le possibili sottomatrici mm sono non-singolari (quindi invertibili). Inoltre, non tutte le matrici di base danno luogo a soluzioni ammissibili (ossia, positive). Per questo fatto il numero delle combinazioni corrisponde ad un limite superiore. Nell esempio solo 6 combinazioni danno luogo a basi ammissibili: B b P B 2 4 3 4 9 4 2 dove B 0 6 2 0 P B 2 2 5 2 5 2 5 2 P B 3 3 4 4 7 2 3 2 7 2 P B B B 4 3 5 5 2 3 5 6 4 3 5 0 5 2 (soluzioni degeneri)

Dalla corrispondenza delle soluzioni di base ammissibili con i punti estremi del poliedro X deriva il seguente teorema. 4. Teorema Fondamentale della PL Se un problema di PL ammette soluzione, allora esiste una soluzione ammissibile di base. Se un problema di PL ha soluzione ottima finita, allora ha anche una soluzione di base ottima. Poiché il massimo numero di possibili basi di un problema di PL è finito, tali problemi hanno una struttura discreta. I problemi di ottimizzazione corrispondenti alla selezione tra un numero finito di alternative si dicono problemi combinatorici. La PL è quindi un problema combinatorico. Un possibile algoritmo per determinare la soluzione ottima potrebbe consistere nella generazione esplicita di tutte le soluzioni ammissibili di base, quindi nella scelta di quella soluzione che rende massimo l obiettivo. Tale strategia non è conveniente poichè il numero massimo delle possibili basi cresce in maniera esponenziale col crescere delle dimensioni del problema (numero di variabili e vincoli). Algoritmi che richiedono in generale un numero di passi che cresce in maniera esponenziale con le dimensioni del problema non sono efficienti. PL-38

Calcolo della soluzione ottima di un problema di PL. Supponendo di aver individuato una base B ammissibile, riscriviamo la funzione obiettivo: [ ] c T 0 cb cn B c T B c T B N N N + () Sostituiamo in () l espressione delle variabili di base: B B b B NN (2) T ottenendo: ( T T ) 0 B B N c B b c B N c N (3) Il valore dell obiettivo corrispondente alla base B è c T 0 BB b Le relazioni (2) e (3) esprimono rispettivamente i vincoli e la funzione obiettivo in funzione delle variabili fuori base. Raccogliamo (2) e (3) in in forma matriciale: c T B b c T B N c T 0 B B N N B B b B N (4) Le (4) sono m+ equazioni. PL-39

Trasformiamo le (4) in una forma più compatta. In particolare, si pone: R l insieme degli indici delle variabili fuori base, ovvero delle colonne di N B e 0 0 B 00 c T B b B 0 0 B b vettore (m+)-dim M m0 B M B m 0j c T BB a j c j j j R j B a j n-m vettori (m+)-dim M mj a j dove e c j sono rispettivamente la colonna di N ed il coefficiente di che moltiplicano la j-esima variabile fuori base. c N PL-40

Le (4) si possono quindi riscrivere come segue i m Bi i0 ij j 0,, K, (5) j R Ponendo nelle (5) j 0 j R si ottengono il valore dell obiettivo (i0) e le soluzioni di base (i,...,m) corrispondenti alla base attuale. Verifichiamo se la soluzione corrente è ottima. Consideriamo l obiettivo: B 0 00 j j j R 0 Supponiamo che esista un coefficiente 0k <0, e consideriamo come varia l obiettivo facendo diventare positiva la variabile fuori base k, attualmente nulla. } >0 B kk 0 00 0 > 00 L obiettivo migliora! <0 >0 Allora si potrebbe pensare di aumentare indefinitivamente k migliorando sempre l obiettivo. Tuttavia, aumentando k anche le equazioni (5) corrispondenti ai vincoli variano, modificando i valori delle variabili di base. PL-4

Consideriamo la generica equazione i-esima in funzione della variabile fuori base k che stiamo incrementando: Bi i0 ik k Se ik >0, aumentando k la B i diminuisce. E quindi possibile aumentare k fino a che Bi 0 (ammissibile). Il valore limite di k perché la i-esima variabile di base resti ammissibile è quindi: k i B i 0 0 ik Facendo assumere ad k un valore positivo significa portare la variabile in base. Nello stesso tempo il valore delle altre variabili di base per cui ik >0 diminuisce. Il valore che k assume in base è quello corrispondente all annullamento della prima variabile di base, ad es.,cioè Br r0 i0 min rk i,..., M ik ik > 0 La variabile k entra in base con tale valore, ed in corrispondenza la variabile Br esce di base. PL-42

Il coefficiente rk è detto Pivot, (l aggiornamento della base si dice Pivoting) e viene usato per aggiornare i valori delle variabili in base dopo l ingresso in base di k : 0 0 i 0,..., m; i r Bi i ik r rk k r0 rk La nuova soluzione di base { } j 0 j R' R k 0 Br Le nuove variabili fuori base Con il cambio delle variabili in base, la nuova matrice di base risulta composta delle stesse colonne della vecchia base ad eccezione del fatto che la colonna associata a Br è stata sostituita dalla colonna associata a k. Aggiorniamo le equazioni (5) dopo il cambio di base: Bi i ik r 0 0 ij ik rk j R i 0,, K, m; i r { k} rj j + rk rj rk B r (5 ) k r rj 0 j rk j R rk { k} rk B r PL-43

I nuovi valori delle variabili in base si ottengono ponendo nelle (5 ) La nuova soluzione di base ha migliorato il valore della funzione obiettivo: } >0 B r 0 00 0 0k > { rk <0 { >0 E possibile iterare il procedimento fino a che esiste qualche variabile fuori base che può migliorare l obiettivo se portata in base. 5. Teorema (Condizione di ottimalità) Una soluzione di base non degenere di un problema di PL è ottima se e solo se: ) i0 0 i,..., m (ammissibile) 2) j R (non migliorabile) 0j 0 { } j 0 j R k 0 Br 00 Nel caso di soluzione degenere possono esistere soluzioni ottime in cui il punto (2) del terorema 5 non è soddisfatto. Tuttavia, se un problema ammette soluzione ottima finita allora ammette una soluzione di base ottima che soddisfa le condizioni () e (2) del teorema 5. PL-44

Scelta della variabile entrante. Quando la condizione di ottimalità non è verificata è sempre possibile scegliere una variabile fuori base k da portare in base per migliorare l obiettivo. Quando esistono più alternative la scelta non preclude il raggiungimento della soluzione ottima, ma può al peggio aumentare il tempo necessario per la sua ricerca. Esistono due criteri di scelta della variabile entrante: a) Il metodo del gradiente (il più utilizzato) Sceglie la variabile che localmente fa aumentare più rapidamente l obiettivo: k 0k arg ma j R 0 j< 0 min j R 0 j< 0 b) Il metodo del massimo incremento Sceglie la variabile che effettivamente provoca il maggior aumento dell obiettivo: dove r è l indice della variabile che lascia la base a causa dell ingresso in base di j. 0j 0j r0 rj PL-45

Scelta della variabile uscente. Determinata la variabile fuori base k da portare in base, si deve scegliere la variabile uscente. Esistono due situazioni alternative: a) rk >0 per almeno un r Allora si può aggiornare la base come visto. b) ik 0 i,..., m Allora la soluzione del problema è illimitata (non esiste ottimo finito). In questo caso facendo aumentare k il valore di nessuna variabile di base diminuisce: } >0 { Bi i0 ik k 0 { <0 >0 sempre! Nota. Se per una variabile di base i si ha che ik >0 e r0 0 (soluzione degenere), k entra in base con valore nullo. In questo caso la soluzione non cambia, ed in particolare rimane degenere. Per questa ragione la ricerca della soluzione potrebbe rimanere bloccata generando sempre la medesima soluzione (ccling). Il ccling è piuttosto raro e comunque esistono strategie per evitalo. PL-46

L algoritmo del Simplesso. Inizializzazione. Determinare una soluzione di base ammissibile. 2. Verifica dell ottimalità. Se 0j 0 j R allora la soluzione corrente è ottima e l algoritmo termina. Altrimenti andare al passo 3. 3. Scelta della variabile entrante in base. Scegliere una variabile fuori base k tale che 0k <0 (ad esempio, con il metodo del gradiente), ed andare al passo 4. 4. Scelta della variabile uscente dalla base. Scegliere la variabile tale che Br r0 i0 min rk i,..., M ik ik > 0 Se ik 0 i,..., m, allora la soluzione del problema è illimitata (non esiste ottimo finito), e l algoritmo termina. 5. Pivoting. Risolvere le equazioni (5) ricavando k e i r Bi, in funzione di j, j R { k} e di B r. La nuova soluzione si ottiene ponendo j 0, j R { k} e Br 0. Andare al passo 2. PL-47