4. METODI DUALI DEL SIMPLESSO

Documenti analoghi
2. ALGORITMO DEL SIMPLESSO

1 Il metodo dei tagli di Gomory

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

RICERCA OPERATIVA. Tema d esame del 04/03/2008 (Simulazione)

Figura 1: 1) Si scriva la formulazione del problema come problema di PLI (con un numero minimo di vincoli) e la matrice dei vincoli.

Soluzione dei Problemi di Programmazione Lineare

Il metodo del simplesso

Il modello duale. Capitolo settimo. Introduzione

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

4.5 Metodo del simplesso

Programmazione Matematica: VI Estensioni dell algoritmo del Simplesso

Programmazione Lineare Intera. Programmazione Lineare Intera p. 1/4

3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI

Corso di Matematica Applicata A.A

Parte V: Rilassamento Lagrangiano

L ALGORITMO DEL SIMPLESSO REVISIONATO

Convergenza del Simplesso e regole anti-ciclaggio

Ricerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015

Metodo delle due fasi

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

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

2.6 Calcolo degli equilibri di Nash

Esercizi su ottimizzazione vincolata

IL METODO DEL SIMPLESSO

Possibile applicazione

5.3 Metodo dei piani di taglio

Risoluzione di problemi di programmazione lineare tramite generazione di colonne

Esercizi di ottimizzazione vincolata

3.4 Metodo di Branch and Bound

Problemi lineari equivalenti

A UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 13 giugno 2011

Il metodo dei Piani di Taglio (Cutting Planes Method)

Metodi e Modelli per l Ottimizzazione Combinatoria Metodi basati su generazione di colonne

Algoritmi generali per PLI

Esercizi per il corso di ricerca operativa 1

Ricerca Operativa Esercizi sul metodo del simplesso. Luigi De Giovanni, Laura Brentegani

( ) le colonne della matrice dei coefficienti, con. , risulta A 3 = A 1 + 4A 2 + 4A 5, A 4 = A 1 + A 2,

CONTROLLI AUTOMATICI Ingegneria della Gestione Industriale e della Integrazione di Impresa

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

i completi l'esecuzione dell'algoritmo di programmazione dinamica per questo problema restituendo il valore ottimo e una soluzione ottima del problema

Problemi di Flusso: Il modello del Trasporto

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

Ricerca Operativa A.A. 2007/ Dualità in Programmazione Lineare

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 20 giugno 2014

Branch-and-bound per KNAPSACK

3.6 Metodi basati sui piani di taglio

Rilassamento Lagrangiano

LEZIONE N. 6 - PARTE 1 - Introduzione

Appendice A: un esempio di scelta del mix ottimo di produzione in presenza di vincoli 19

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

Programmazione Lineare Intera

UNITÀ DIDATTICA 5 LA RETTA

Ricerca Operativa Esercizi risolti sulle condizioni di complementarietà primale-duale. L. De Giovanni, V. Dal Sasso

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

Ricerca Operativa A.A. 2007/ Esercitazione di laboratorio: analisi di sensitività

Macchine parallele M 1 M 2 M 3 J 1 J 2 LAVORI J 3 J 4

Massimi e minimi vincolati

COME CALCOLARE LA COMBINAZIONE DI MINIMO COSTO DEI FATTORI

Equazioni, funzioni e algoritmi: il metodo delle secanti

Esercizi di Ricerca Operativa I

Introduzione alla programmazione lineare

POTENZE DI MATRICI QUADRATE

Ricerca Operativa. G. Liuzzi. Lunedí 23 Marzo Il Metodo del Simplesso Java API Problema di Trasporto

Un esempio di applicazione della programmazione lineare intera: il Sudoku

Indice. Algoritmo del simplesso rivisto 2. Algoritmo del simplesso con variabili artificiali...9. Costruzione problema duale.18

Matrici. Matrici.h Definizione dei tipi. Un po di esercizi sulle matrici Semplici. Media difficoltà. Difficili

4.3 Esempio metodo del simplesso

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

Def. La lunghezza media L(C) di un codice C per una v.c. Obiettivo: Codice ottimo rispetto alla lunghezza media. Lunghezza media di un codice

= (cioè le due terne di numeri direttori ( devono essere ) proporzionali). Tale uguaglianza non è verificata, poiché risulta ρ

5.5 Metodi dei piani di taglio

Sistemi lineari - Parte Seconda - Esercizi

FONDAMENTI DI ALGEBRA LINEARE E GEOMETRIA

Applicazioni lineari tra spazi euclidei. Cambi di base.

Risoluzione di sistemi lineari sparsi e di grandi dimensioni

Macchine di Turing: somma di due numeri

Corso di Laurea in Ingegneria Gestionale. Anno Accademico Algoritmo K-means per problemi di Clustering. Stefano Lucidi

ESERCIZI SULLE MATRICI

Lunghezza media. Teorema Codice D-ario prefisso per v.c. X soddisfa. L H D (X). Uguaglianza vale sse D l i. = p i. . p.1/27

1 Riduzione per righe e matrici equivalenti per righe.

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

Ricerca Operativa. Ricerca Operativa p. 1/6

Rilassamento Lagrangiano

Sistemi d equazioni lineari

Esame di Ricerca Operativa del 15/01/2015

Prerequisiti didattici

Programmazione Lineare

CONSIGLI PER LA RISOLUZIONE DEI CIRCUITI ELETTRICI

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2013

SISTEMI LINEARI, METODO DI GAUSS

3. Problemi inversi sulle annualità. Poliannualità

min 4x 1 +x 2 +x 3 2x 1 +x 2 +2x 3 = 4 3x 1 +3x 2 +x 3 = 3 x 1 +x 2 3x 3 = 5 Innanzitutto scriviamo il problema in forma standard: x 1 x 2 +3x 3 = 5

A lezione sono stati presentati i seguenti passi per risolvere un problema:

Corso di Laurea Specialistica in Ingegneria Meccanica e Ingegneria Energetica Progetto numerico al calcolatore

Ricerca Operativa Dualità e programmazione lineare

Stabilità BIBO Risposta impulsiva (vedi Marro par. 2.3, vedi Vitelli-Petternella par. III.1, vedi es. in LabView) Poli sull asse immaginario

Matematica Finanziaria 29 novembre 2000

x 1 x x 1 2 x 2 6 x 2 5 Indici di base Vettore Ammissibile Degenere (si/no) (si/no)

Interpretazione economica della dualità

ESERCIZI SVOLTI SUL CALCOLO INTEGRALE

Transcript:

4. MEODI DUALI DEL SIMPLESSO R. adei 1

Una piccola introduzione R. adei 2

MEODI DUALI DEL SIMPLESSO L obiettivo del capitolo è illustrare e giustificare i metodi duali del simplesso. Entrambi i metodi (simplesso duale e simplesso primale-duale), partono da una soluzione non ammissibile primale e cercano iterativamente una soluzione ammissibile. Se questa esiste sarà anche ottima. I due metodi sono applicabili se la soluzione non ammissibile primale è ammissibile duale e sono soddisfatte le condizioni di complementarietà delle soluzioni ottime primali e duali cioè ( A λ - c ) x = 0 e ( A x - b ) λ = 0. Intuitivamente ciò significa che la soluzione di partenza è potenzialmente ottima ma non è ottima per il primale in quanto non ammissibile. Si tratta quindi di mantenere la potenziale ottimalità (cioè non perdere l ammissibilità duale e la validità delle condizioni di complementarietà) avvicinandosi all ammissibilità primale. R. adei 3

ipiche situazioni in cui si applicano i metodi duali sono la risoluzione di un problema di programmazione lineare con termini noti diversi e la risoluzione di un problema di programmazione lineare dopo aver reintrodotto dei vincoli precedentemente omessi. Il primo caso, tipico nell analisi di sensibilità delle soluzioni ottime e nell analisi parametrica, si incontra quando, dopo aver risolto un problema di programmazione lineare trovando la base ottima (B), si utilizza un altro vettore dei termini noti (b') che rende qualche elemento della soluzione ottima negativo. (Ricordiamo che x B = B -1 b' ) Il secondo caso, tipico quando si applica il rilassamento dei vincoli, si incontra quando, dopo aver risolto un problema di programmazione lineare trovando la soluzione ottima, si introducono dei vincoli in precedenza omessi, che portano alla violazione dell ammissibilità primale. R. adei 4

Esponendo i metodi vedremo : la giustificazione teorica dell algoritmo del simplesso duale l algoritmo del simplesso duale la giustificazione teorica dell algoritmo del simplesso primale duale l algoritmo del simplesso primale duale un esempio di applicazione dell algoritmo del simplesso primale duale R. adei 5

Applicabilità degli algoritmi : I metodi duali del simplesso partono da una soluzione non ammissibile primale. I due algoritmi sono applicabili se : la soluzione non ammissibile primale è ammissibile duale sono soddisfatte le condizioni di complementarietà delle soluzioni ottime primali e duali, cioè ( A λ - c ) x = 0 e ( A x - b ) λ = 0 Gli algoritmi cercano iterativamente una soluzione ammissibile primale che, se esiste, sarà ottima. R. adei 6

4.1 SIMPLESSO DUALE R. adei 7

Giustificazione dell algoritmo : Situazione di partenza: Nel tableau finale del simplesso alcuni termini noti variano il segno (può derivare da un cambiamento di b) cioè j tale che x j < 0, questo rende la soluzione ottima precentemente trovata non ammissibile. r j 0 è associata una soluzione ammissibile per il duale, e le condizioni di complementarietà sono rispettate grazie al valore degli r j (vedi passo 0 dell algoritmo esposto più avanti). R. adei 8 > 0 > 0 < 0 > 0 > 0

Idea dell algoritmo : Si lavora sul tableau finale primale, con operazioni di pivot, mantenendo l'ottimalità primale data dall'ultima riga cioè j r j 0 e muovendosi verso l'ammissibilità primale data dall ultima colonna, per avere b i 0 i. Vista nell ottica del problema duale significa mantenere l'ammissibilità duale muovendosi verso l'ottimalità duale. Criterio d uscita : Si sceglie x p che deve uscire dalla base tra quelle non ammissibili cioè tra quelle che assumono un valore negativo (Ricordiamo che x p =b p ) Es. p tale che b p = y p0 = min { y i0 tale che y p0 < 0 } i R. adei 9

est sull esistenza della s.a. primale : Essendo in ogni caso x p = y p0 Σ y pj x i (dove y p0 = b p < 0 per come si è scelto x p ) volendo far entrare in base una x j devo avere y pj < 0 perchè la soluzione divenga ammissibile (cioè con x j >0). In sintesi : Se j [m+1..n] y pj 0 = > non esiste soluz. ammissibile primale (cioè l insieme delle soluzioni ammissibili duali è illimitato) Se j [m+1..n] y pj <0 = > x j può entrare in base al posto di x p n j = m+1 R. adei 10

Criterio d entrata : Vogliamo mantenere l ottimalità primale (ammissibilità duale) = > Vogliamo dopo il pivot j [1..n] r j 0 Visto che dopo il pivot su p,q r j = r j y pj r q / y pq = > = > j [1..n] r j y pj r q / y pq 0 < = > j [1..n] r j y pj r q / y pq < = > j [1..n] r j / y pj r q / y pq ( < perché deve essere y pj < 0) = > Si sceglie x q che deve entrare in base tale che : r q / y pq = min { r j j / y pj tale che y pj < 0 } R. adei 11

I passi dell'algoritmo 0. è data una soluzione non ammissibile primale, ammissibile duale che soddisfa le condizioni di complementarietà cioè a j B r j = 0 a i B r i = c i λ a i 0 e inoltre a i B x i < 0 (non ammissibile primale) 1. se x j 0, j SOP ; la s.a.b. corrente è ottima 2. scegliere riga p tale che b p < 0 per determinare la variabile da far uscire dalla base (1 p m) 3. calcolare i rapporti r j / y pj, con y pj < 0, j = 1,..., n. Se y pj 0, j = 1,..., n, SOP; problema duale illimitato, non esiste s.a. primale. Altrimenti, scegliere q = indice j corrispondente al rapporto r j / y pj minimo ( q è la variabile che entra nella base ) 4. (p,q) è il pivot. Aggiornare il tableau con le operazioni di pivot. Ritornare al passo 1 R. adei 12

ESEMPIO min z = 5 x 1 + 2 x 2 s.t. x 1 + x 3 > 2 x 1 + x 2-4x 3 > 1 x 1, x 2, x 3 > 0 x 1 x 2 x 3 x 4 x 5 y 0 x 4-1 0-1 1 0-2 x 5-1 -1 4 0 1-1 5 2 0 0 0 0 R. adei 13

Applicando il simplesso duale viene scelto come elemento di pivot a 13 = -1, da cui si ottiene il nuovo tableau : x 1 x 2 x 3 x 4 x 5 y 0 x 3 1 0 1-1 0 2 x 5-5 -1 0 4 1-9 5 2 0 0 0 0 Confrontando la soluzione, dopo un passo di pivot del simplesso duale si nota come i valori delle variabili di base del duale (pur essendo variate queste ultime) non sono cambiati. Ciò è dovuto al fatto che la variabile x 3 che è entrata in base aveva già prima costo ridotto uguale a zero. R. adei 14

Dopo una nuova operazione di pivot sull elemento a 21 = -5, si ottiene il tableau seguente : x 1 x 2 x 3 x 4 x 5 y 0 x 3 0-1/5 1-1/5 1/5 1/5 x 1 1 1/5 0-4/5-1/5 9/5 0 1 0 4 1-9 Ora le soluzioni primali sono ammissibili, quindi termino il procedimento ottenendo : x 1 = 9/5 x 2 = 0 x 3 = 1/5 z = 9 R. adei 15

4.2 SIMPLESSO PRIMALE - DUALE R. adei 16

Giustificazione dell algoritmo : Situazione di partenza: Avendo da risolvere il problema A cui corrisponde di programmazione lineare in il problema duale : forma standard : min c x max b λ s.t. (PP) s.t. (PD) A x = b A λ c x 0 Si conosce una soluzione ammissibile di PD λ. R. adei 17

Problemi ristretti associati : Sia J l'insieme dei vincoli di PD soddisfatti all'uguaglianza, ossia J = { j tale che λ a j = c j } = { j tale che r j = c j - λ a j = 0 } Essendo λ ammissibile duale, ne consegue che i J λ a i < c i Consideriamo ora un nuovo problema che considera sia λ che J e che definiamo problema primale ristretto associato : min 1 y s.t. (PPR) A x + y = b i J x i = 0 x 0, y 0 dove 1 indica il vettore di m componenti [1, 1,..., 1]. R. adei 18

Il problema duale del problema primale ristretto associato lo definiamo problema duale ristretto associato, ed è: max b u s.t. (PDR) a j u 0 j J u 1 diseq. corrispondenti alle x i (*) c i = 0 diseq. corrispondenti alle y i c i = 1 (*) con i J eorema di ottimalità primale - duale : Hp. : Sia λ s.a. per (PD) e sia [ x, y = 0 ] s.a. per (PPR) h. : x è s.o. per (PP) λ è s.o. per (PD) (e ovviamente ottima) R. adei 19

Dim : A x + 0 = b e x 0 = > x soluzione ammissibile per (PP) i J x i = 0 e i J λ a i = c i = > = > c x = Σ λ a j x j + Σ c j 0 = λ Σ a j x j = λ A x = λ b < = > j J j J j J < = > c x = b λ = > x è s.o. per (PP) λ è s.o. per (PD) Per il teorema della dualità Idea dell algoritmo : Si parte da una s.a. del problema duale, poi si ottimizza il problema primale ristretto associato. Se la soluzione ottima del primale ristretto associato è ammissibile anche per il primale originale, si è trovato l'ottimo del primale originale, altrimenti la soluzione ammissibile per il problema duale viene migliorata e viene generato un nuovo problema primale ristretto associato. R. adei 20

Il metodo itera fino al raggiungimento dell'ottimo oppure alla verifica dell'inesistenza di una soluzione ammissibile per il primale originale. Giustificazione del calcolo del valore di ε : λ + ε u è soluzione ammissiibile per (PD) Se j a j ( λ + ε u ) c j < = > j a j λ + ε a j u c j = > 1) = > j tale che a j u < 0, la diseq. è sempre verifificata perchè λ è s. a. per (PD). 2) = > j tale che a j u > 0, la diseq. è verif. se e solo se ε a j u c j a j λ < = > ε ( c j a j λ ) / ( a j u ) < = > < = > ε = min { (c j a j λ) / (a j u) tale che a j u > 0 } J R. adei 21

est sull esistenza della s.a. primale : Se j a j u 0 = > = > ε > 0 λ + ε u è soluzione ammissiibile per (PD) a cui corrisponde una f.o. : b ( λ + ε u ) = b λ + ε b u = b λ + ε 1 y = > = > Visto che y 0 al f.o. migliora all aumentare di ε = > = > Non esiste soluzione ammissibile per (PP) (Cioè l insieme delle soluzioni ammissibili di (PD) è illimitato) R. adei 22

I passi dell'algoritmo 0. è data una soluzione non ammissibile primale, ammissibile duale λ che soddisfa all uguaglianza alcuni vincoli; 1. si costruisce il problema primale ristretto associato (PPR), come spiegato in precedenza, e lo si ottimizza : se f.o. = 0 ==> SOP ; la s.o. di (PPR) è ottima per (PP) grazie al teorema di ottimalità primale duale; se f.o. > 0 ==> vai al passo 2; 2. si costruisce il duale del primale ristretto associato (PDR) e dal tableau finale del primale ristretto si ricavano i valori dei moltiplicatori u ottimi del (PDR) (vedere slide 25 - CAP. 3). Se j (del primale) a j u 0 ==> SOP ; non esiste s.a. per (PP) Altrimenti ==> aggiornare il valore λ = λ + ε u dove ε = min { r j / (a j u) tale che a j u > 0 } J = min { (c j a j λ) / (a j u) tale che a j u > 0 } J 3. Ritornare al passo 1 (dove anche il (PPR) sarà aggiornato). R. adei 23

Primale: Duale: min2x + x + 4x s. t. max s. t. λ λ x 1 2 3 + x + 2x = 3 1 2 3 Esempio 2x + x + 3x = 5 x 1 1 2λ i 1 2 3 3λ 1 0 1 + 2λ + λ 2 2 + 3λ + 5λ 2 1 2 2 4 0 * 0 1 λ = 0 è sol. amm. per il duale e soddisfa alla uguaglianza il vincolo asteriscato R. adei 24

Passo 1) Considero il problema Primale Ristretto Associato (PPR) min s. t. x x x Calcolo l'ottimo del primale ristretto, che vale: x 2 = 3 y 1 = 0 y 2 = 2 z PR = 2 z PR > 0 proseguo col passo 2 2 2 2 y 1 1 + y 2 2 + y1 = 3 + y 2 = 5, y, y 0 R. adei 25

Passo 2) Considero il Duale del Primale Ristretto Associato (PDR) max3u + 5u s. t. u u u + u 0 1 2 1 2 1 1 1 2 Dal tableau finale del primale ristretto ricavo il valore dei moltiplicatori ottimi per il duale ristretto u = 1 1 calcolo ε = min { r j / (a j u) tale che a j u > 0 } J = min { (c j a j λ) / (a j u) tale che a j u > 0 } J R. adei 26

ε = 1 2 2 [ 1 0 ] 4 [ 1 0 ] 2 3 min, = min = 1 2 [ 1 1 ] [ 1 1 ] 2 3 ( 1, 2 ) 1 Passo 1) λ = λ + εu 1 1 + 1 0 1 Considero il nuovo primale ristretto associato min y s. t. x = + y 1 2 + x + y = 3 1 2 1 2x + x + y = 5 1 2 2 = 0 1 R. adei 27

Calcolo l'ottimo del nuovo primale ristretto associato che vale x 1 = 2 x 2 = 1 z PR = 0 Ho trovato l'ottimo del primale P che è dato da: x 1 = 2, x 2 = 1, x 3 = 0 z P = 5. R. adei 28

Riassumendo R. adei 29

MEODI DUALI DEL SIMPLESSO Prima di presentare i metodi duali del simplesso abbiamo presentato le situazioni in cui si possono applicare (slide 6). Abbiamo poi affrontato il metodo del simplesso duale (slide 7-11) presentando una tipica situazione di partenza e illustrando l idea di base dell algoritmo che ottimizza il problema duale per ottenere la soluzione del problema primale. Continuando abbiamo giustificato i criteri con cui le variabili devono entrare ed uscire dalla base per avvicinarsi all ottimalità duale e il test che rivela l esistenza, o meno, di una soluzione ammissibile primale. Abbiamo terminato con la presentazione dettagliata dei passi dell algoritmo ed un esercizio in merito (slide 12-15). Abbiamo, subito dopo, affrontato il metodo del simplesso primale duale (Slide 16-20) presentando la situazione di partenza, definendo i problemi ristretti associati e dimostrando il teorema di ottimalità primale duale che ci permette di avere un criterio per riconoscere di aver raggiunto l ottimo primale nelle iterazioni dell algoritmo. R. adei 30

Continuando (slide 20-22) abbiamo illustrando l idea di base dell algoritmo che alternativamente ottimizza il problema primale ristretto, e quindi migliora il problema primale, e sostituisce la soluzione duale corrente, e quindi migliora il problema duale. Abbiamo, quindi, giustificato il calcolo della nuova soluzione duale migliorante e il test che rivela l esistenza, o meno, di una soluzione ammissibile primale. Abbiamo terminato con la presentazione dettagliata dei passi dell algoritmo (slide 23). Infine abbiamo presentato un esempio di applicazione dell algoritmo del simplesso primale duale (slide 24-28). R. adei 31