Il simplesso in forma tabellare

Slides:



Advertisements
Presentazioni simili
Elaborato di Teoria dello Sviluppo dei Processi Chimici
Advertisements

Prof. Cerulli – Dott.ssa Gentili
Il simplesso in forma tabellare
Lezione n° 8 - Matrice di base. - Soluzioni di base ammissibili. - Relazione tra vertici di un poliedro e soluzioni basiche. - Teorema fondamentale della.
Dualità in Programmazione Lineare Cap 4 Fischetti pg
Statistica descrittiva: le variabili Frequenze: tabelle e grafici Indici di posizione, di dispersione e di forma Media e varianza di dati raggruppati Correlazione.
La seguente matrice è una matrice delle distanze di un’istanza del problema del Commesso Viaggiatore. Calcolare un lower bound per il valore del ciclo.
Indici di Posizione Giulio Vidotto Raffaele Cioffi.
Con il termine reporting indichiamo sia il semplice “rapporto di gestione” che il più ampio “sistema dei rapporti di gestione” Cosa è il reporting? Il.
Il metodo STATIS (L’Hermier des Plantes, 1976; Escoufier, 1983; Lavit et al., 1994) STATIS = Structuration des Tableaux A Trois IndiceS Tecnica esplorativa.
Lezione n° 14 Teoria della dualità: - Teorema forte della dualità - Teorema degli scarti complementari Lezioni di Ricerca Operativa Corso di Laurea in.
LE VALUTAZIONI DI CONVENIENZA ECONOMICA
Precorso di Statistica per le Lauree Magistrali
La funzione seno è una corrispondenza biunivoca nell’intervallo
Formulazione generale di un problema IP
Endogenous restricted participation
SUMMERMATHCAMP TARVISIO, AGOSTO 2017
Distribuzioni limite La distribuzione normale
Analisi dei Dati – Tabelle e Grafici
Capitolo 5 Consumatori e incentivi
(se a = 0 l’equazione bx + c = 0 è di primo grado)
Definizione di logaritmo
La circonferenza nel piano cartesiano
Le equazioni di II°Grado
Branch and Bound Lezione n°14 Prof.ssa Rossella Petreschi
per l’economia e la finanza Prof.ssa Cristiana Mammana
Algoritmo Simplesso duale e Algoritmo primale-duale
DISTRIBUZIONI TEORICHE DI PROBABILITA’
Le disequazioni DEFINIZIONE DISEQUAZIONI EQUIVALENTI
La circonferenza nel piano cartesiano
4 < 12 5 > −3 a < b a > b a ≤ b a ≥ b
Algoritmi Avanzati Prof.ssa Rossella Petreschi
Il concetto di derivata
Richiami di Algebra Matriciale
Lezione n°17 Prof.ssa Rossella Petreschi
Equazioni differenziali
Insiemi di punti: altre caratteristiche
programmazione lineare
FUNZIONI MATEMATICHE DANIELA MAIOLINO.
Intervalli di Fiducia Introduzione Intervalli di fiducia per la media – Caso varianza nota Intervalli di fiducia per la media – Caso varianza non nota.
Programmazione strutturata
Precorso di Statistica per le Lauree Magistrali
Le tecniche per la valutazione dei progetti di investimento
Il modello duale.
Introduzione.
LE VALUTAZIONI DI CONVENIENZA ECONOMICA
Appunti di analisi matematica: Integrale Definito
ANALISI DELLE DISTRIBUZIONI STATISTICHE
Richiami di Algebra Matriciale
Ricerca Operativa 3a parte
Impariamo a conoscere le Matrici
Programmazione Dinamica: tecnica risolutiva che conduce all’ottimo, non fornisce algoritmi risolutivi generali. Stadi: fasi in cui il problema è scomposto.
PROCEDURA per la misura e la relativa stima
Equazioni di 2°grado Introduzione.
Esempi e definizioni per modelli di Programmazione Lineare 1a parte marzo /01/2019.
Dualità a.a /01/2019.
CAMBIAMENTI DI PRINCIPI CONTABILI OIC 26
Modelli politropici.
Ricerca Operativa 2a parte
Metodi Quantitativi per Economia, Finanza e Management Lezione n°9 Regressione lineare multipla: le ipotesi del modello, la stima del modello.
ANALISI DI REGRESSIONE
Metodi Quantitativi per Economia, Finanza e Management Lezione n°9 Regressione lineare multipla: le ipotesi del modello, la stima del modello.
Sistemi e Tecnologie della Comunicazione
Metodi Quantitativi per Economia, Finanza e Management Lezione n° 9
Associazione tra due variabili
Matrici e determinanti
Richiami di Algebra Matriciale
Gli Indici di Produttività di Divisia
ANALISI DEL FORBUSH Extreme Energy Events.
La retta Esercitazioni Dott.ssa Badiglio S..
Transcript della presentazione:

Il simplesso in forma tabellare Cap 3.2.4 Fischetti pg 33-36

Il metodo del tableau E’ d’uso presentare l’algoritmo del simplesso come una sequenza di operazioni algebriche su una tabella che riporta la matrice dei vincoli, il vettore b e, come riga aggiuntiva, il vettore dei costi ridotti e il valore della funzione obiettivo nella soluzione corrente Formato di riferimento forma standard Min cx: Ax=b, x0

Formato iniziale del tableau x1 x2 .. xm xm+1 … xn z b Riga 0 Riga 1 .. Riga m Vettore dei costi -1 Matrice A b

Formato del tableau al passo k x1 x2 .. xm xm+1 … xn z AB-1b Riga 0 0 … 0 cN-cBAB-1AN Riga 1 .. Riga m -1 -cBAB-1b Riga 0 = Vettore dei costi ridotti AB-1 AB= I AB-1 AN B xB Le colonne sono opportunamente riordinate per affiancare a sx le colonne della base In rosso sono evidenziate le colonne in base ( B), in blu quelle fuori base ( N) Si aggiunge una colonna ausiliaria che evidenzia le variabili in base, mentre alla riga 0 nella colonna del termine noto compare il valore corrente della funzione obiettivo cambiato di segno, inteso come il vincolo cx –z = 0

esempio Min -13 x1 – 10 x2: 3 x1 + 4 x2 + x3 = 24 x1 + 4 x2 + x4 = 20 xi  0

Esempio: usiamo i colori per denotare le variabili in B e in N x1 x2 x3 x4 x5 z AB-1b c. red. -13 -10 0 0 0 -1 0 Riga 1 3 4 1 0 0 Riga 2 1 4 0 1 0 Riga 3 3 2 0 0 1 x3 x4 x5 24 20 18 La base corrente e’ data dagli indici {3,4,5} mentre sono fuori base x1 e x2. La soluzione di base associata ha valore x =[0,0,24,20,18] con costo pari a 0. La tabella e’ gia in forma canonica rispetto alla base corrente (premoltiplicata per l’inversa della matrice di base, e il vettore dei costi azzerato nelle componenti in B) Le operazioni utilizzabili sono quelle invarianti rispetto alle soluzioni.

x1 x2 x3 x4 x5 z AB-1b c. red. -13 -10 0 0 0 -1 0 Riga 1 3 4 1 0 0 Entrambe le variabili fuori base hanno costo ridotto <0, scelgo la variabile con indice minore x1 (ininfluente) ☹ x1 x2 x3 x4 x5 z AB-1b c. red. -13 -10 0 0 0 -1 0 Riga 1 3 4 1 0 0 Riga 2 1 4 0 1 0 Riga 3 3 2 0 0 1 x3 x4 x5 24 20 18 Per determinare l’indice della variabile uscente devo calcolare il minimo rapporto tra il valore corrente della variabile i-esima della base e la componente i-esima della colonna della variabile entrante, per le sole componenti >0. Minimo {24/3, 20/1, 18/3} = 6  esce x5. Devo fare pivot su a31 in modo tale che la colonna entrante A1 prenda la forma della colonna uscente A5 (dividere la III riga per 3, poi sommarla alla II moltiplicata per -1, e sommarla alla riga I moltiplicata per -3) e azzerare il costo ridotto (sommarla alla riga 0 moltiplicata per 13)

x1 x2 x3 x4 x5 z AB-1b c. red. 0 -4/3 0 0 13/3 -1 78 Riga 1 0 2 1 0 -1 Base corrente B={1,3,4} ☹ x1 x2 x3 x4 x5 z AB-1b c. red. 0 -4/3 0 0 13/3 -1 78 Riga 1 0 2 1 0 -1 Riga 2 0 10/3 0 1 -1/3 Riga 3 1 2/3 0 0 1/3 x3 x4 x1 6 14 Facendo pivot su a31 ho trasformato A1 nella colonna 3 della matrice identita’ e azzerato il suo costo ridotto Ora solo x2 ha costo ridotto <0: entra x2 e devo calcolare il minimo rapporto per determinare la variabile uscente. Min {6/2, 14.3/10, 6.3/2}=3, esce x3 e faro’ pivot sull’elemento a12.

Base corrente B={1,2,4} x1 x2 x3 x4 x5 z AB-1b c. red. 0 0 4/6 0 11/3 -1 82 Riga 1 0 1 1/2 0 -1/2 Riga 2 0 0 -10/6 1 8/6 Riga 3 1 0 -1/3 0 0 x2 x4 x1 3 4 Facendo pivot su a12 ho trasformato A2 nella colonna 1 della matrice identita’ e azzerato il suo costo ridotto Tutti i costi ridotti sono 0 la soluzione corrente x = [4,3,0, 4,0] e’ ottima, di costo -82.

Esercizi: Risolvere con il metodo del tableau i seguenti problemi di PL: Min - 5x1 - 7x2: 2x1 + x2  8 x1 + 2x2  9 x1 + x2  5 x1,x2  0 Max 2x1 + 5x2: x1 - 4x2  8 -x1 + x2  6 -3x1 + 2x2  5 x1,x2  0

Analisi post ottimale Compito Obiettivo Tecnica Debugging del modello Validazione del modello Allocazione ottima delle risorse (vettore b) Valutare le stime dei parametri del modello Definire i trade-off tra i parametri del modello Obiettivo Trovare errori, mancanze e punti deboli del modello Dimostrarne la validita’ Destinare il giusto quantitativo di risorse a ciascuna attivita’ Individuare i parametri critici da stimare con maggiore precisione Trovare il miglior trade-off Tecnica Riottimizzazione Soluzione di successive varianti Prezzi ombra Analisi di sensisitivita’ Programmazione lineare parametrica

riottimizzazione I problemi reali hanno dimensioni consistenti (O(104) variabili e vincoli) di cui puo’ essere necessario esaminare e risolvere diverse varianti, in fase di messa a punto (debugging) del modello. Durante la fase di validazione si eseguiranno anche numerosi test su dati passati per confrontare le soluzioni del modello con quelle effettive, prese nella realta’

riottimizzazione Quando si devono risolvere numerose varianti di un modello tra loro leggermente diverse, anziche’ ripartire ogni volta da capo (from scratch), quando e’ possibile, risulta + conveniente effettuare una ripartenza a caldo (warm start), a partire dalla soluzione ottima del modello precedente x*. se x* e’ ancora una soluzione di base ammissibile del nuovo modello ma non piu’ ottima (ad esempio, per l’introduzione di una nuova variabile) si applica il simplesso primale, altrimenti, se e’ ancora di base ma non ammissibile (ad esempio per l’introduzione di un nuovo vincolo) si applica il simplesso duale

Introduzione di una nuova variabile xn+1: cosa cambia? Aggiungo una colonna al tableau, la soluzione corrente e’ ancora ammissibile nel nuovo spazio Rn+1, intendendo la nuova variabile fuori base a valore 0. Da x*  Rn passo a x’=[x*,0]  Rn+1 Devo calcolare il costo ridotto di xn+1 per verificare se x’ e’ ottima. Se no, applico il simplesso primale

x1 x2 x3 x4 x5 z c. red. 0 0 4/6 0 11/3 -1 82 Riga 1 0 1 1/2 0 -1/2 Base corrente B={1,2,4} x1 x2 x3 x4 x5 z c. red. 0 0 4/6 0 11/3 -1 82 Riga 1 0 1 1/2 0 -1/2 Riga 2 0 0 -10/6 1 8/6 Riga 3 1 0 -1/3 0 0 -cB AB-1b x2 x4 x1 3 4 AB-1b la soluzione corrente x = [4,3,0, 4,0] in R5 e’ ottima, di costo -82.

Inserisco una nuova variabile x6, di cui e’ nota la colonna A6 nella matrice originaria e il costo c6 x1 x2 x3 x4 x5 x6 z c. red. 0 0 4/6 0 11/3 c6 -1 82 Riga 1 0 1 1/2 0 -1/2 a16 Riga 2 0 0 -10/6 1 8/6 a26 Riga 3 1 0 -1/3 0 0 a36 -cB AB-1b _ x2 x4 x1 3 4 AB-1b la colonna A6 puo’ essere aggiunta al tableau e portata nella forma AB-1A6 tramite le consuete operazioni elementari. il costo ridotto c6- cB AB-1A6 deve venire calcolato from scratch, e poi inserito in tabella. Se risolta <0 allora x6 entra in base altrimenti la soluzione ottima non cambia (x6=0)

Aggiungo un nuovo vincolo am+1x=bm+1: cosa cambia?

x2 x1 Consideriamo nuovamente la rappresentazione della regione ammissibile del problema della WinDoorGlass, con ottimo in x*. Introduco il vincolo a4 : e’ rispettato da x* che resta ottimo Se introduco il vincolo a5 poiche’ questo e’ violato da x*, allora x* diventa NON AMMISSIBILE ☹  devo applicare un passo del simplesso duale per determinare il nuovo vertice ottimo x’ x2 10 8 a5: x1 + 5/6x2  6 (x7=0) a2: x2  6 (x4=0) X* 6 x’ a1: x1  4 (x3=0) a4: x1 - x2  3 (x6=0) 4 x1=0 2 a3: 3x1+2 x2  18 (x5=0) x2=0 x1 1 2 4 5 6 8

Prezzi ombra Interpretazione del problema come allocazione ottima di risorse limitate (1 vincolo   risorsa) in quantita’ b (rhs) Il livello disponibile bi puo’ essere una decisione reversibile alla luce dell’impatto sulla soluzione ottima ? Quanto sarei disponibile a pagare per ottenere 1 unita’ supplementare per la risorsa i? In un sistema di equilibrio, il prezzo unitario e’ tanto quanto permette di migliorare il valore ottimo della funzione obiettivo  prezzo ombra della risorsa = suo valore marginale

Primo caso: Risorsa eccedente nel punto di ottimo: valore marginale della risorsa NULLO (il vincolo relativo alla specifica risorsa non e’ aderente al punto di ottimo corrente): xB 10 8 a2: xB  6 6 traslare l’iperpiano associato al vincolo xA  4 (diventa xA5) non modifica le coordinate di x* a1: xA  4 4 2 C = [ 3, 5 ] a3: 3xA+2 xB  18 1 2 4 5 6 8 xA

Secondo caso: Risorsa esaurita nel punto di ottimo Se la slack della risorsa si annulla nell’ottimo x*, il vincolo e’ aderente al punto di ottimo. Sia x’ l’ottimo disponendo di 1 unita’ supplemetare della risorsa i (spostando il vincolo i parallelo a se stesso, le coordinate del punto di ottimo cambiano da x* a x’).

xB xA 10 8 x’ a2: xB  6 6 x* a1: xA  4 4 2 C = [ 3, 5 ] Risorsa esaurita nel punto di ottimo: (il vincolo della risorsa è aderente al punto di ottimo corrente): valore marginale della risorsa >0 xB 10 traslare l’iperpiano associato al vincolo xB  6 (diventa xB7) modifica il punto di ottimo da x* a x’ (ma non la base, in questo caso, poiche’ restano attivi sia a2 che a3) 8 x’ a2: xB  6 6 x* a1: xA  4 4 2 C = [ 3, 5 ] a3: 3xA+2 xB  18 xA 1 2 4 5 6 8

Hp: la base ottima B non cambia quidi xN resta a 0 Valutazione dell’incremento  della funzione obiettivo in seguito all’incremento unitario di una componente dei rhs Hp: la base ottima B non cambia quidi xN resta a 0 (i vincoli attivi in x* e in x’ sono i medesimi) il vettore dei rhs e’ cambiato da b a b’=(b+ei) quindi xB= AB-1 b’ La variazione della funzione obiettivo e’ data da d = cx’-cx* = c (x’-x*) = c ([AB-1 b’,0]T - [AB-1b,0]T) = cBAB-1(b’-b) = cBAB-1(b+ei-b) = cBAB-1ei = yi  0 Il prezzo ombra della risorsa è la componente i-esima del prodotto cBAB-1 (comando getdual(vincolo) in Mosel) Vedremo nel seguito come a questa quantita’ corrisponda una precisa variabile nello spazio duale

Esercizio Calcolare i prezzi ombra y delle 3 risorse del problema della WindorGlass, verificando che sono nulli per le risorse che non si esauriscono nella soluzione ottima Oss: dato il sistema Ax=b, x0 portato in forma canonica Axb premoltiplicando per AB-1, dove B e’ la base ottima e x* la soluzione ottima associata, dato y il vettore dei prezzi ombra delle risorse rispetto a B, ALLORA vale che (b-Ax*)y=0 Questo risultato nella teoria della dualità va sotto il nome di teorema degli SCARTI COMPLEMENTARI

Analisi di sensitività I parametri del modello sono frutto di una stima Vogliamo testare quanto la soluzione ottima sia robusta rispetto a tali stime I parametri per cui si registra una maggiore variazione della soluzione ottima sono da stimare con maggiore accuratezza in fase di messa a punto del modello, e da monitorare attentamente durante il periodo di applicazione dei risultati, per verificare se i valori stimati si mantengono stabili. I sw commerciali offrono strumenti per l’analisi di sensitivita’ per i singoli parametri (bi, cj principalmente) che rispondono alla domanda “entro quale range bi, cj puo’ variare mantenendo x* (o la base associata) come ottimo corrente?” Comandi MOSEL: XPRSrhssa fornisce lower e upper bound dell’intervallo in cui puo’ variare il singolo elemento del vettore dei termini noti mantenendo la stessa base nel punto di ottimo XPRSobjsa fornisce lower e upper bound dell’intervallo in cui puo’ variare il singolo elemento del vettore dei costi mantenendo la stessa base nel punto di ottimo

Programmazione lineare parametrica Estende il concetto di analisi di sensitivita’ Permette di stimare come varia la soluzione ottima quando + parametri variano simultaneamente all’interno di un intervallo, data una correlazione fra i parametri, per effetto di un unico fattore che ne governa il cambiamento (es. il tasso di crescita, l’euribor, etc. puo’ far cambiare insieme un costo di produzione e beneficio atteso)

Oltre la PL  la PLI Quando le suddette condizioni non sono verificate spesso è possibile dare un modello matematico del problema in esame che mantenga sia vincoli che funzione obiettivo lineari, utilizzando variabili intere. Questo ci porta a una nuova classe di problemi, dalla Programazione Lineare alla Programmazione Lineare Intera (o mista) (ILP o MILP). Passare da LP a ILP fa passare da un problema nella classe P a un problema di tipo NP-Hard, a meno di particolari proprietà del problema in esame. Algoritmo per la PLI: Branch and Bound, con worst case complexity esponenziale  importanza di una buona modellazione per la performance media