Docente: Marco Gaviano (e-mail:gaviano@unica.it) Corso di Laurea in Infomatica Corso di Laurea in Matematica Matematica Computazionale(6cfu) Ottimizzazione(8cfu) (a.a. 5-6 lez.)
Matematica Computazionale Ottimizzazione a.a. 5-6 Lezione n. Problema generale della programmazione lineare (PL) Il problema più generale della programmazione lineare consiste nella ricerca dell'ottimo (minimo o massimo) di una funzione lineare di variabili soggette a vincoli lineari (equazioni o disequazioni) chiamate vincoli. La funzione da ottimizzare si chiama funzione obbiettivo.
Matematica Computazionale Ottimizzazione a.a. 5-6 Lezione n. Un problema di LP ha dunque la seguente formulazione Problema PL (forma canonica) N j M M i d a M i d a a soggetta c z (massimizza) minimizza j n j i j ij n j i j ij n j j j
Matematica Computazionale Ottimizzazione a.a. 5-6 Lezione n. In cui si è usata la notazione M={...m}: insieme degli indici dei vincoli; N={...n}: insieme degli indici delle variabili; M sottoinsieme di M; N sottoinsieme di N; A= (a ij ) im j N: matrice m n di numeri reali; a j : la j-ma colonna di A; a i : l'i-ma riga di A [ n ] T vettore colonna con n componenti; c[ n ] vettore riga con n componenti; d[ m ] T vettore colonna con m componenti; 4
Matematica Computazionale Ottimizzazione a.a. 5-6 Lezione n. In forma compatta il problema si scrive Problema PL (forma canonica) minimizza (massimizza) z c soggetta a i a d i i M i a d i i M M 5
Matematica Computazionale Ottimizzazione a.a. 5-6 Lezione n. Nel risolvere un problema di PL si considera in generale la formulazione standard. Questa la si ottiene sfruttando le seguenti proprietà minimo di f() = - massimo di -f() Ciò permette di considerare solo problemi di minimo. Inoltre le disequazioni possono supporsi tutte dello stesso tipo (). Infatti se ciò non si verificasse è sufficiente moltiplicare per - le disequazioni col segno (). 6
Matematica Computazionale Ottimizzazione a.a. 5-6 Lezione n. Le diseguaglianze a i d i e a i d i possono essere sostituite dalle relazioni a a i i s i s i d d i i s i s i s Le variabili i sono chiamate variabili di scarto (slack variable). Ovviamente esse non devono influenzare la funzione da ottimizzare. Pertanto ad esse si assegna nella z=c un coefficiente nullo. 7
Matematica Computazionale Ottimizzazione a.a. 5-6 Lezione n. Problema PL(forma standard) minimizza z c A d (Si farà riferimento a questa formulazione) 8
Matematica Computazionale Ottimizzazione a.a. 5-6 Lezione n. Definizioni programma (o soluzione ammissibile feasible solution): una n-pla di valori che soddisfa tutti i vincoli compresi quelli di non-negatività. soluzione non ammissibile: una n-pla di valori che soddisfa tutti i vincoli eccetto quelli di non negatività. programma ottimale: un programma finito (tutte le variabili sono finite) che minimizza la funzione obiettivo z. 9
Matematica Computazionale Ottimizzazione a.a. 5-6 Lezione n. base B: ogni insieme di m vettori colonna a j linearmente indipendenti. variabili di base: m variabili associate con le colonne di una base B costituiscono un sottovettore B di. variabili secondarie: sottovettore R complementare a B su ([ B R ] riordinando le variabili). Il sistema di equazioni A = d è supposto composto di equazioni linearmente indipendenti (m<n rango di A uguale ad m) ed avente più di una soluzione.
Matematica Computazionale Ottimizzazione a.a. 5-6 Lezione n. La matrice A può considerarsi formata da matrici B ed R con R le colonne di A non contenute in B (A [ BR] riordinando le variabili). Il sistema dei vincoli A=d può scriversi come [ B R] [ B R ] T =d. Se B è una base e le n-m variabili secondarie (relative a R) sono poste uguali a zero si ottiene un sistema di m equazioni in m incognite B B = d
Matematica Computazionale Ottimizzazione a.a. 5-6 Lezione n. che possiede una unica soluzione B = B - d. Il vettore [ B R ] con B = B - d e R = è chiamato soluzione di base associata a B. Una soluzione di è chiamata soluzione degenere se qualche sua componente è nulla.
Matematica Computazionale Ottimizzazione a.a. 5-6 Lezione n. Esempio: considera il problema PL ma z 5 5 5 equivalente a min z' 5 5 5 S 4 S 4
Matematica Computazionale Ottimizzazione a.a. 5-6 Lezione n. Le soluzioni di base sono riportate nella seguente tabella 4 z() 7.7 9.9 7 feasible 5.5 75 feasible -5 infeasible 4-4 infeasible 5 8 feasible 6 5 5 8 optimal 4
Matematica Computazionale Ottimizzazione a.a. 5-6 Lezione n. Il teorema fondamentale della PL Dato un problema PL in forma standard (i) se esiste almeno un programma finito esso ha almeno un programma di base; (ii) se esso ha almeno un programma ottimale finito esso ha almeno un programma ottimale di base. Dim.(vedi appendice) 5
Matematica Computazionale Ottimizzazione a.a. 5-6 Lezione n. Grazie a questo teorema il problema PL è risolto da un punto di vista teorico il numero di basi e corrispondentemente il numero di programmi di base è finito ed è dato da n! m!( n m)! Le valutazioni di z nei programmi di base sono sufficienti ad individuare il programma di base ottimale 6
Matematica Computazionale Ottimizzazione a.a. 5-6 Lezione n. Ciò comunque porta ad una notevole mole di calcoli anche per problemi di dimensione modesta. Per un problema di dieci equazioni in venti incognite il calcolo di tutte le soluzioni di base richiede la soluzione di circa. sistemi di dieci equazioni in dieci incognite. Tale numero cresce molto rapidamente con la dimensione del problema di PL. Per evitare tale mole di calcoli si sono create nuove tecniche. 7
Matematica Computazionale Ottimizzazione a.a. 5-6 Lezione n. Esempio Interpretazione geometrica ma z La figura illustra l'insieme dei punti che soddisfano i vincoli. 8
Matematica Computazionale Ottimizzazione a.a. 5-6 Lezione n. Esempio 9
Matematica Computazionale Ottimizzazione a.a. 5-6 Lezione n. Il problema può scriversi in forma standard come segue La soluzione ottimale di base finita e nondegenere è ma z = 8 con = = = 4 4 = 5 = z min 5 4 5 4 z ma
Matematica Computazionale Ottimizzazione a.a. 5-6 Lezione n. Esempio Interpretazione geometrica ma z In questo caso si ha ridondanza La figura illustra l'insieme dei punti che soddisfano i vincoli
Matematica Computazionale Ottimizzazione a.a. 5-6 Lezione n. Esempio
Matematica Computazionale Ottimizzazione a.a. 5-6 Lezione n. Il problema può scriversi in forma standard come segue La soluzione ottimale di base finita e degenere (rispetto al problema standard) è ma z = 8 con = = = 4 = 5 = z min 5 4 5 4 z ma
4 Matematica Computazionale Ottimizzazione a.a. 5-6 Lezione n. Interpretazione geometrica Esempio La figura illustra l'insieme dei punti che soddisfano i vincoli z ma
Matematica Computazionale Ottimizzazione a.a. 5-6 Lezione n. Esempio 5
6 Matematica Computazionale Ottimizzazione a.a. 5-6 Lezione n. Il problema può scriversi in forma standard come segue Qui si hanno due soluzioni ottimali di base ) ma z = = = = 4 4 = 5 =. ) ma z = =/ =7/ 4 = 4/ = 5 =. Entrambe le soluzioni sono nondegeneri. min 5 4 5 4 z ma z
7 Matematica Computazionale Ottimizzazione a.a. 5-6 Lezione n. Interpretazione geometrica Esempio 4 La figura illustra l'insieme dei punti che soddisfano i vincoli ma z
Matematica Computazionale Ottimizzazione a.a. 5-6 Lezione n. Esempio 4 8
9 Matematica Computazionale Ottimizzazione a.a. 5-6 Lezione n. Il problema può scriversi in forma standard come segue Il problema non ammette soluzioni ottimali finite. z min 4 4 z ma
Matematica Computazionale Ottimizzazione a.a. 5-6 Lezione n. Interpretazione geometrica Esempio 5 La figura illustra l'insieme dei punti che soddisfano i vincoli ma z
Esempio 5 Matematica Computazionale Ottimizzazione a.a. 5-6 Lezione n. - + >= X + <= >= X Il problema non ha alcuna soluzione ammissibile.
Matematica Computazionale Ottimizzazione a.a. 5-6 Lezione n. Il problema può scriversi in forma standard come segue Il problema non ha alcuna soluzioni z min 5 4 5 4 ma z