MODELLI DECISIONALI FORMULAZIONE GENERALE DEL PROBLEMA DECISIONALE (OTTIMIZZAZIONE) z vettore di n elementi (variabili di decisione) o funzione J(z) obiettivo (vettoriale) da ottimizzare (max o min) Z insieme delle soluzioni ammissibili (che soddisfano i vincoli) CLASSIFICAZIONE DEI MODELLI DECISIONALI a1) sistema all equilibrio equazioni algebriche programmazione matematica x& = f ( x, u) x( t + 1) = f ( x( t), u( t)) min J(z) z z Z y = g( x) y = g( x) u=u= cost. all eq. x = ϕ(u) e quindi y = g(x)=φ(u) l uscita all equilibrio è solo funzione dell ingresso a1.1) obiettivo e vincoli lineari programmazione lineare (PL) a1.2) obiettivo e/o vincoli non lineare programmazione non lineare a2) sistema in evoluzione equazioni algebriche o differenziali controllo ottimo (regolazione) 151
b) variabili intere (al limite, binarie) programmazione a numeri interi (PNI) c) l obiettivo è un vettore di funzioni ottimizzazione a molti obiettivi d) obiettivo dipendente anche da variabili esterne ottimizzazione in ambiente incerto d1) sono possibili esperimenti sull ambiente teoria delle decisioni e) esiste più di un decisore ottimizzazione a molti decisori (teoria dei giochi) f) soluzione non univocamente legata ai coefficienti del modello ottimizzazione stocastica g) variabili di decisione intere + soluzioni ammissibili finite ottimizzazione combinatoria h) obiettivo separabile (somma di componenti) programmazione dinamica i) non ci sono vincoli (Z illimitato) ottimizzazione non vincolata. Non conosciamo un algoritmo che risolva il problema generale in tutti i casi, quindi ogni struttura ha uno o più metodi specifici (cercano di ridurre la complessità = numero di operazioni). 152
PROGRAMMAZIONE MATEMATICA z vettore delle variabili di decisione (z 1,z 2,,z n ) J(z) obiettivo da ottimizzare (es. min) g(z) = 0 vincoli di uguaglianza (equazioni) h(z) 0 vincoli di disuguaglianza (disequazioni). In generale, z i 0, i =1,2,,n z, J =J(z ) soluzione ottima minimo di frontiera J(z) minimo locale minimo assoluto Z In generale gli algoritmi sono evolutivi e trovano un minimo locale. Quindi è importante da dove si parte o che esista un solo minimo in Z. N.B. J(z)/ z = 0 non è applicabile perché la funzione non è nota analiticamente. Z 153
PROBLEMI DI PIANIFICAZIONE Pianificare prendere decisione riguardante il funzionamento di un dato sistema per un periodo di tempo molto lungo (al limite infinito). Scopo dell atto pianificatorio: migliorare una certa realtà. Pianificatore Decisore è spesso un gruppo o un ente; più raramente una persona o gruppo di responsabili. Progetto pianificazione limitata a problemi esclusivamente tecnici Pianificare progettare tenendo conto degli aspetti economici, sociali, ambientali, Pianificazione razionale: cercare la soluzione più conveniente tra tutte quelle ammissibili modelli di ottimizzazione 154
Esempio Costruzione di un serbatoio artificiale per potenziare l agricoltura in una regione. Domande: Una diga sola o più dighe? Dove costruirla? Quanto grande? A chi darla in gestione? Come reperire gli stanziamenti? Come ridistribuire gli utili?. Come si vede da questo esempio, in un unico problema pianificatorio sono coinvolte tematiche fisiche, economiche, sociali, : il problema è cioè complesso Problema di pianificazione Problema complesso La complessità non è solo concettuale, ma spesso anche computazionale (grande numero di variabili ed equazioni da risolvere). 155
Le variabili di decisione Le decisioni da prendere sono spesso rappresentate da variabili continue Altezza della diga Superficie da coltivare Quantità di materiale da produrre Quantità di inquinante da trattare Altezza della ciminiera Capitale da investire In questi casi si ha un infinità di soluzioni possibili, tra cui va scelta con un opportuno criterio quella ottima In altri casi le variabili di decisione sono discrete Fare o non fare un canale tra Milano e il Po Fare o non fare un autostrada che collega due punti Depurare, diluire o scaricare in mare Scegliere tra n tipi di impianto In questi casi il numero di soluzioni possibili tra cui si deve scegliere la migliore è comunque finito. 156
I vincoli Nel risolvere un problema di pianificazione si deve spesso tener conto di vincoli di natura fisica, tecnologica, economica, normativa, Tali vincoli sono di solito esprimibili con relazioni di uguaglianza o disuguaglianza tra variabili significative che descrivono il problema. Vincoli di tipo fisico i volumi d acqua da trasferire da un bacino A a un bacino B non devono superare la capacità della rete idrica che collega i due bacini. Vincoli di tipo economico il costo dell autostrada non deve superare lo stanziamento dei LLPP. Vincoli di tipo normativo gli impianti di depurazione devono essere progettati in modo tale che sia soddisfatta la normativa vigente sugli scarichi 157
Gli obiettivi Spesso esiste un ben preciso obiettivo da minimizzare o massimizzare: Minimizzazione del costo scarto ingombro rischio inquinamento.. Massimizzazione del ricavo guadagno (beneficio) rendimento affidabilità qualità.. Altre volte però gli obiettivi sono molti e tra loro conflittuali Min ( (costo impianti di trattamento), (grado di inquinamento delle acque) ) Min ( (rischio), (costo strutture) ) Max ( (utile compagnia aerea), (affidabilità dei voli) ) Max ( (sviluppo industriale), (conservazione paesaggio) ) Min (piene su lago regolato) + Max (beneficio utenti a valle) Min (tempo di trasporto) + Max (affidabilità del trasporto) 158
Aspetto modellistica del problema Vincoli e obiettivi si possono spesso esprimere analiticamente, una volta che siano state individuate tutte le variabili z 1, z 2,, z n significative. Il risultato è quasi immancabilmente un problema di programmazione matematica. [ ] max J ( z) z Z z Insieme delle soluzioni ammissibili (individuate da tutti i vincoli) Ad esempio, a questo problema si perviene quando si vuol determinare l equilibrio più produttivo di un sistema dinamico x& = f ( x, u). Infatti in questo caso si ha: max [J(u,y)] u 0 = f ( x, u) equilibrio z = x Z y = η( x) y x Χ u U y Y 159
Esempio (massimo prodotto sostenibile) x = biomassa delle trote in una vasca di allevamento x& = tasso di crescita totale x& = f ( x) u dove f(x) tasso di crescita naturale u tasso di rimozione [kg/giorno] Equilibrio: f(x)=u (si estraggono ogni giorno un numero di kg di pesce pari all aumento della biomassa) Max [u] massima quantità prodotta (plausibilmente max guadagno) MSY (maximum sustainable yield) Tipica funzione f(x) (a densità x troppo elevata l animale non riproduce (o Estensione [ u] obiettivo max u max [ f ( x) ] (max. non vincolata) x vincolo u = f ( x) x& = f ( x) bu x = vettore n-dim. (n specie) [ ] max u all'equilibrio T b = (0 0... 1) (si rimuove solo l'ultima specie) 160
PROBLEMI LINEARI Programmazione Lineare (PL) (Linear Programming (LP)) [ J z ] = [ r z + r z + + r z ] min ( ) min... obiettivo lineare 1 1 2 2 soggetto a p11z1 + p12 z2 +... + p1 nzn = q1 M m vincoli lineari di uguaglianza pm 1z1 + pm2z2 +... + pmnzn = q m n n z 0 z 0... z 0 vincoli di non negatività 1 2 n Vettorialmente [ J z ] T min ( ) = min r z z soggetto a Pz = q P = matrice (m x n) z 0 cioè T min r z z Z z { z Pz = q z } z Z= :, 0 insieme di ammissibilità 161
Esempio 1 (dieta ottima) n sostanze commestibili z i quantità sostanza i-esima c i p i λ contenuto calorico sostanza i-esima contenuto proteico sostanza i-esima prezzo sostanza i-esima Soggetto a T p z T c z z 0 c p * * n T min min i i min costo dieta z λ z = λ z z = z i= 1 [ ] La dieta deve avere un certo contenuto proteico pari a p * La dieta deve avere un contenuto calorico pari a c * z i 0 per ogni i Caso di dieta fatta da due sole sostanze z 1 e z 2. 162
Esempio 2 (modello di produzione) u u1 y1 = M y = M u m y m In conclusione abbiamo: max ι Questa operazione di trasformazione ha un costo cij xij i p { ι yι q u c x { { i i ij ij prezzo di i prezzo di j i costo di vendita acquisto trasformazione i y 0 x 0 x 0 vincoli di non negatività j a x j i ij x ij = u i conservazione della massa = y vincoli sulle risorse ( prezzi ombra) ij ij j 163
Come ottenere la forma standard [ ] [ ] a) max J ( z) min J ( z) b) p z +... + p nzn q 11 1 1 1 si può scrivere anche così: p11z1 +... + p1 nzn zn+ 1 = q1 zn+ 1 0 (variabile "slack") c) Se una variabile z i non è vincolata in segno si può sostituirla ovunque con la differenza di due nuove variabili vincolate. z i non vincolata (z n+1 z n+2 ) z n+1 0 z n+2 0 Con questi (od altri) artifici si può sempre ricondursi in LP alla forma standard (r, P, q) 164