Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Ricerca Operativa G. Liuzzi1 Luned´ı 5 Maggio 2014 logo.pdf 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Introduzione Dato un problema di PL min{c > x : x ∈ P}, di quali informazioni sul poliedro P abbiamo DAVVERO bisogno per risolvere il problema? logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Introduzione Dato un problema di PL min{c > x : x ∈ P}, di quali informazioni sul poliedro P abbiamo DAVVERO bisogno per risolvere il problema? Se disponessimo di una “rappresentazione esterna” di P, ovvero: P = {x ∈ Rn : Ax ≥ b}, `e ben noto che potremmo, in linea di principio, risolvere il problema usando il Metodo del Simplesso. logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Introduzione Dato un problema di PL min{c > x : x ∈ P}, di quali informazioni sul poliedro P abbiamo DAVVERO bisogno per risolvere il problema? Se disponessimo di una “rappresentazione esterna” di P, ovvero: P = {x ∈ Rn : Ax ≥ b}, `e ben noto che potremmo, in linea di principio, risolvere il problema usando il Metodo del Simplesso. In altri termini, la conoscenza di una rappresentazione esterna di P `e una condizione sufficiente per l’applicazione del metodo del simplesso. logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Introduzione Dato un problema di PL min{c > x : x ∈ P}, di quali informazioni sul poliedro P abbiamo DAVVERO bisogno per risolvere il problema? Se disponessimo di una “rappresentazione esterna” di P, ovvero: P = {x ∈ Rn : Ax ≥ b}, `e ben noto che potremmo, in linea di principio, risolvere il problema usando il Metodo del Simplesso. In altri termini, la conoscenza di una rappresentazione esterna di P `e una condizione sufficiente per l’applicazione del metodo del simplesso. ` anche una condizione necessaria? E Ricerca Operativa logo.pdf G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Introduzione Dato un problema di PL min{c > x : x ∈ P}, di quali informazioni sul poliedro P abbiamo DAVVERO bisogno per risolvere il problema? Se disponessimo di una “rappresentazione esterna” di P, ovvero: P = {x ∈ Rn : Ax ≥ b}, `e ben noto che potremmo, in linea di principio, risolvere il problema usando il Metodo del Simplesso. In altri termini, la conoscenza di una rappresentazione esterna di P `e una condizione sufficiente per l’applicazione del metodo del simplesso. ` anche una condizione necessaria? No E Ricerca Operativa logo.pdf G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Oracolo di Separazione Abbiamo visto mediante alcuni esempi che per risolvere il problema `e possibile acquisire informazioni sulla struttura di P non mediante la sua rappresentazione esterna, logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Oracolo di Separazione Abbiamo visto mediante alcuni esempi che per risolvere il problema `e possibile acquisire informazioni sulla struttura di P non mediante la sua rappresentazione esterna, bens´ı da una sua “rapprsentazione implicita” realizzata per mezzo di un cosiddetto Oracolo di Separazione o generazione di righe. logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Oracolo di Separazione Abbiamo visto mediante alcuni esempi che per risolvere il problema `e possibile acquisire informazioni sulla struttura di P non mediante la sua rappresentazione esterna, bens´ı da una sua “rapprsentazione implicita” realizzata per mezzo di un cosiddetto Oracolo di Separazione o generazione di righe. Un Oracolo di Separazione `e una procedura che, dato un vettore x¯ ∈ Rn , logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Oracolo di Separazione Abbiamo visto mediante alcuni esempi che per risolvere il problema `e possibile acquisire informazioni sulla struttura di P non mediante la sua rappresentazione esterna, bens´ı da una sua “rapprsentazione implicita” realizzata per mezzo di un cosiddetto Oracolo di Separazione o generazione di righe. Un Oracolo di Separazione `e una procedura che, dato un vettore x¯ ∈ Rn , fornisce una disequazione a> x ≥ a0 appertenente al sistema Ax ≥ b e tale che a> x¯ < a0 (vincolo violato) logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Oracolo di Separazione Abbiamo visto mediante alcuni esempi che per risolvere il problema `e possibile acquisire informazioni sulla struttura di P non mediante la sua rappresentazione esterna, bens´ı da una sua “rapprsentazione implicita” realizzata per mezzo di un cosiddetto Oracolo di Separazione o generazione di righe. Un Oracolo di Separazione `e una procedura che, dato un vettore x¯ ∈ Rn , fornisce una disequazione a> x ≥ a0 appertenente al sistema Ax ≥ b e tale che a> x¯ < a0 (vincolo violato) oppure conclude che tutte le disequazioni di Ax ≥ b sono soddisfatte da x¯ logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Algoritmo di Soluzione Dinamico (primale) Supponiamo che il poliedro P sia limitato logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Algoritmo di Soluzione Dinamico (primale) Supponiamo che il poliedro P sia limitato Algoritmo con generazione di righe (a) Definire un sottoproblema min{c > x : Dx ≥ d} (problema corrente) con D sottomatrice di A con q m righe ed n colonne. logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Algoritmo di Soluzione Dinamico (primale) Supponiamo che il poliedro P sia limitato Algoritmo con generazione di righe (a) Definire un sottoproblema min{c > x : Dx ≥ d} (problema corrente) con D sottomatrice di A con q m righe ed n colonne. (b) Risolvere il problema corrente (p.es. utilizzando il metodo del simplesso). Se il problema corrente `e inammissibile allora lo `e anche il problema completo. In caso contrario sia x¯ ∈ Rn la soluzione ottima del problema corrente. logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Algoritmo di Soluzione Dinamico (primale) Supponiamo che il poliedro P sia limitato Algoritmo con generazione di righe (a) Definire un sottoproblema min{c > x : Dx ≥ d} (problema corrente) con D sottomatrice di A con q m righe ed n colonne. (b) Risolvere il problema corrente (p.es. utilizzando il metodo del simplesso). Se il problema corrente `e inammissibile allora lo `e anche il problema completo. In caso contrario sia x¯ ∈ Rn la soluzione ottima del problema corrente. (c) Invocare l’oracolo di separazione sul punto x¯. Se viene generato un vincolo violato da x¯, aggiungerlo al problema corrente e tornare al passo (b). logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Algoritmo di Soluzione Dinamico (primale) Supponiamo che il poliedro P sia limitato Algoritmo con generazione di righe (a) Definire un sottoproblema min{c > x : Dx ≥ d} (problema corrente) con D sottomatrice di A con q m righe ed n colonne. (b) Risolvere il problema corrente (p.es. utilizzando il metodo del simplesso). Se il problema corrente `e inammissibile allora lo `e anche il problema completo. In caso contrario sia x¯ ∈ Rn la soluzione ottima del problema corrente. (c) Invocare l’oracolo di separazione sul punto x¯. Se viene generato un vincolo violato da x¯, aggiungerlo al problema corrente e tornare al passo (b). (d) Se, invece, l’oracolo di separazione conclude che tutti i vincoli del problema completo sono soddisfatti da x¯, allora x¯ `e la logo.pdf soluzione ottima del problema completo. Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Introduzione Cos`ı come esistono problemi lineari con un numero elevatissimo di vincoli, esistono altrettanti problemi lineari (p.es. quelli che si ottengono per dualit`a) con un numero elevatissimo di variabili. logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Introduzione Cos`ı come esistono problemi lineari con un numero elevatissimo di vincoli, esistono altrettanti problemi lineari (p.es. quelli che si ottengono per dualit`a) con un numero elevatissimo di variabili. Anche in questo caso `e possibile definire un algoritmo di soluzione dinamico che tratta in modo implicito le (numerosissime) variabili del problema min{c > x : Ax ≥ b, x ≥ 0n } logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Introduzione Cos`ı come esistono problemi lineari con un numero elevatissimo di vincoli, esistono altrettanti problemi lineari (p.es. quelli che si ottengono per dualit`a) con un numero elevatissimo di variabili. Anche in questo caso `e possibile definire un algoritmo di soluzione dinamico che tratta in modo implicito le (numerosissime) variabili del problema min{c > x : Ax ≥ b, x ≥ 0n } Tale metodo risolve (che chiameremo duale) una sequenza di problemi parziali min{cD> z : Dz ≥ b, z ≥ 0q } con D sottomatrice di A con m righe e q n colonne, e cD sottovettore di c associato logo.pdf alle colonne di D. Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Oracolo di Generazione di Colonne (o variabili) Supponiamo, per semplicit`a, che il problema parziale si ammissibile e limitato logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Oracolo di Generazione di Colonne (o variabili) Supponiamo, per semplicit`a, che il problema parziale si ammissibile e limitato ¯ ∈ Rm la coppia primale-duale di soluzioni ottime Siano z¯ ∈ Rq e λ del problema parziale. logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Oracolo di Generazione di Colonne (o variabili) Supponiamo, per semplicit`a, che il problema parziale si ammissibile e limitato ¯ ∈ Rm la coppia primale-duale di soluzioni ottime Siano z¯ ∈ Rq e λ del problema parziale. Notiamo che la soluzione x¯ = (¯ z , 0n−q ) `e una soluzione ammissibile per il problema primale completo. Inoltre abbiamo che ¯ cD> z¯ = c > x¯ = b > λ. logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Oracolo di Generazione di Colonne (o variabili) Supponiamo, per semplicit`a, che il problema parziale si ammissibile e limitato ¯ ∈ Rm la coppia primale-duale di soluzioni ottime Siano z¯ ∈ Rq e λ del problema parziale. Notiamo che la soluzione x¯ = (¯ z , 0n−q ) `e una soluzione ammissibile per il problema primale completo. Inoltre abbiamo che ¯ cD> z¯ = c > x¯ = b > λ. ¯ `e ammissibile per il problema duale completo (ovvero se Se λ > ¯ A λ ≤ c), allora per il teorema della dualit`a forte le soluzioni x¯ e ¯ sono una coppia di soluzioni ottime per i problemi primale e λ duale completi. logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Oracolo di Generazione di Colonne (o variabili) ¯ non sia ammissibile per il duale Supponiamo, al contrario, che λ completo. logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Oracolo di Generazione di Colonne (o variabili) ¯ non sia ammissibile per il duale Supponiamo, al contrario, che λ completo. ¯ Ci´o vuol dire che esiste un vincolo duale aj> λ ≤ cj violato da λ > ¯ > cj . ovvero tale che aj λ logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Oracolo di Generazione di Colonne (o variabili) ¯ non sia ammissibile per il duale Supponiamo, al contrario, che λ completo. ¯ Ci´o vuol dire che esiste un vincolo duale aj> λ ≤ cj violato da λ > ¯ > cj . ovvero tale che aj λ Notiamo che il vincolo duale aj> λ ≤ cj non appartiene al duale ¯ che `e ottima per il parziale in quanto violato dalla soluzione λ duale parziale. logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Oracolo di Generazione di Colonne (o variabili) ¯ non sia ammissibile per il duale Supponiamo, al contrario, che λ completo. ¯ Ci´o vuol dire che esiste un vincolo duale aj> λ ≤ cj violato da λ > ¯ > cj . ovvero tale che aj λ Notiamo che il vincolo duale aj> λ ≤ cj non appartiene al duale ¯ che `e ottima per il parziale in quanto violato dalla soluzione λ duale parziale. A questo punto, modifichiamo il problema duale parziale aggiungendo il vincolo aj> λ ≤ cj . Tale modifica del duale parziale corrisponde all’aggiunta della variabile xj al primale parziale e, di conseguenza, all’aggiornamento della matrice D mediante l’aggiunta della colonna j-esima Ricerca Operativa logo.pdf G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Algoritmo di Soluzione Dinamico (duale) Supponiamo che il poliedro P sia limitato e non vuoto logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Algoritmo di Soluzione Dinamico (duale) Supponiamo che il poliedro P sia limitato e non vuoto Algoritmo con generazione di colonne (a) Definire un sottoproblema parziale iniziale min{cD> z : Dz ≥ b, z ≥ 0q } (problema corrente) non vuoto con D = D0 sottomatrice di A con m righe e q n colonne. logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Algoritmo di Soluzione Dinamico (duale) Supponiamo che il poliedro P sia limitato e non vuoto Algoritmo con generazione di colonne (a) Definire un sottoproblema parziale iniziale min{cD> z : Dz ≥ b, z ≥ 0q } (problema corrente) non vuoto con D = D0 sottomatrice di A con m righe e q n colonne. (b) Risolvere il problema corrente (p.es. utilizzando il metodo del ¯ le soluzioni ottime della coppia simplesso). Siano z¯ e λ primale-duale corrente. logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Algoritmo di Soluzione Dinamico (duale) Supponiamo che il poliedro P sia limitato e non vuoto Algoritmo con generazione di colonne (a) Definire un sottoproblema parziale iniziale min{cD> z : Dz ≥ b, z ≥ 0q } (problema corrente) non vuoto con D = D0 sottomatrice di A con m righe e q n colonne. (b) Risolvere il problema corrente (p.es. utilizzando il metodo del ¯ le soluzioni ottime della coppia simplesso). Siano z¯ e λ primale-duale corrente. (c) Applicare l’Algoritmo di Generazione di Colonne per generare un vincolo violato duale e corrsipondente colonna primale. Se tale colonna viene generata, aggiungerla al problema corrente e tornare al passo (b). logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Algoritmo di Soluzione Dinamico (duale) Supponiamo che il poliedro P sia limitato e non vuoto Algoritmo con generazione di colonne (a) Definire un sottoproblema parziale iniziale min{cD> z : Dz ≥ b, z ≥ 0q } (problema corrente) non vuoto con D = D0 sottomatrice di A con m righe e q n colonne. (b) Risolvere il problema corrente (p.es. utilizzando il metodo del ¯ le soluzioni ottime della coppia simplesso). Siano z¯ e λ primale-duale corrente. (c) Applicare l’Algoritmo di Generazione di Colonne per generare un vincolo violato duale e corrsipondente colonna primale. Se tale colonna viene generata, aggiungerla al problema corrente e tornare al passo (b). (d) Se, invece, nessuna colonna viene generata, allora il vettore logo.pdf x¯ = (¯ z , 0n−q ) `e una soluzione ottima del problema originario. Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Algoritmo di Soluzione Dinamico (primale-duale) Supponiamo che il poliedro P sia limitato e non vuoto (a) Definire un sottoproblema parziale iniziale min{cD> z : Dz ≥ b, z ≥ 0q } (problema corrente) con D sottomatrice di A con p m righe e q n colonne. logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Algoritmo di Soluzione Dinamico (primale-duale) Supponiamo che il poliedro P sia limitato e non vuoto (a) Definire un sottoproblema parziale iniziale min{cD> z : Dz ≥ b, z ≥ 0q } (problema corrente) con D sottomatrice di A con p m righe e q n colonne. (b) Risolvere il problema parziale (p.es. utilizzando il metodo del simplesso). ¯ ∈ Rp le soluzioni ottime della coppia primale-duale Siano z¯ ∈ Rq e λ corrente. logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Algoritmo di Soluzione Dinamico (primale-duale) Supponiamo che il poliedro P sia limitato e non vuoto (a) Definire un sottoproblema parziale iniziale min{cD> z : Dz ≥ b, z ≥ 0q } (problema corrente) con D sottomatrice di A con p m righe e q n colonne. (b) Risolvere il problema parziale (p.es. utilizzando il metodo del simplesso). ¯ ∈ Rp le soluzioni ottime della coppia primale-duale Siano z¯ ∈ Rq e λ corrente. (c) Invocare l’oracolo di separazione sul punto x¯ = (¯ z , 0n−q ). Se viene generato un vincolo violato da x¯, aggiungerlo al problema corrente (agg. solo i coefficienti delle colonne attaulmente presenti nel problema corrente) e tornare al passo (b). logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Algoritmo di Soluzione Dinamico (primale-duale) Supponiamo che il poliedro P sia limitato e non vuoto (a) Definire un sottoproblema parziale iniziale min{cD> z : Dz ≥ b, z ≥ 0q } (problema corrente) con D sottomatrice di A con p m righe e q n colonne. (b) Risolvere il problema parziale (p.es. utilizzando il metodo del simplesso). ¯ ∈ Rp le soluzioni ottime della coppia primale-duale Siano z¯ ∈ Rq e λ corrente. (c) Invocare l’oracolo di separazione sul punto x¯ = (¯ z , 0n−q ). Se viene generato un vincolo violato da x¯, aggiungerlo al problema corrente (agg. solo i coefficienti delle colonne attaulmente presenti nel problema corrente) e tornare al passo (b). (d) Se nessun vincolo `e stato generato al passo (c), applicare l’Algoritmo di Generazione di Colonne per generare una colonna del problema originale. Se tale colonna viene generata, aggiungerla al problema corrente e tornare al passo (b). logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Algoritmo di Soluzione Dinamico (primale-duale) Supponiamo che il poliedro P sia limitato e non vuoto (a) Definire un sottoproblema parziale iniziale min{cD> z : Dz ≥ b, z ≥ 0q } (problema corrente) con D sottomatrice di A con p m righe e q n colonne. (b) Risolvere il problema parziale (p.es. utilizzando il metodo del simplesso). ¯ ∈ Rp le soluzioni ottime della coppia primale-duale Siano z¯ ∈ Rq e λ corrente. (c) Invocare l’oracolo di separazione sul punto x¯ = (¯ z , 0n−q ). Se viene generato un vincolo violato da x¯, aggiungerlo al problema corrente (agg. solo i coefficienti delle colonne attaulmente presenti nel problema corrente) e tornare al passo (b). (d) Se nessun vincolo `e stato generato al passo (c), applicare l’Algoritmo di Generazione di Colonne per generare una colonna del problema originale. Se tale colonna viene generata, aggiungerla al problema corrente e tornare al passo (b). (e) Se, invece, nessuna colonna viene generata, allora il vettore x¯ = (¯ z , 0n−q ) ¯ la soluzione ottima logo.pdf `e una soluzione ottima del problema originario e λ duale corrispondente. Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Introduzione Consideriamo il seguente problema: min{c > x : x ∈ S ⊂ {0, 1}2 } con S = {(0, 0), (1, 0), (1, 1)}. ` evidente che il problema `e completamente caratterizzato E specificando il vettore dei costi c e l’insieme S delle soluzioni ammissibili, ovvero la coppia (c, S). logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Introduzione Consideriamo il seguente problema: min{c > x : x ∈ S ⊂ {0, 1}2 } con S = {(0, 0), (1, 0), (1, 1)}. ` evidente che il problema `e completamente caratterizzato E specificando il vettore dei costi c e l’insieme S delle soluzioni ammissibili, ovvero la coppia (c, S). Definizione (Formulazione Lineare). Un poliedro P = {x ∈ Rn : Ax ≥ b} `e una formulazione lineare del problema (c, S) se e solo se S = P ∩ Zn Ricerca Operativa logo.pdf G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Rilassamento Lineare Se P `e una formulazione di (c, S), possiamo riscrivere il problema (c, S) nel seguente modo: min{c > x : x ∈ P, x ∈ Z n }. logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Rilassamento Lineare Se P `e una formulazione di (c, S), possiamo riscrivere il problema (c, S) nel seguente modo: min{c > x : x ∈ P, x ∈ Z n }. Il problema di PL min{c > x : x ∈ P} ottenuto eliminando i vincoli di interezza sulla componenti del vettore x, viene detto rilassamento lineare di (c, S). logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Rilassamento Lineare Se P `e una formulazione di (c, S), possiamo riscrivere il problema (c, S) nel seguente modo: min{c > x : x ∈ P, x ∈ Z n }. Il problema di PL min{c > x : x ∈ P} ottenuto eliminando i vincoli di interezza sulla componenti del vettore x, viene detto rilassamento lineare di (c, S). Sia xˆ la soluzione ottima del rilassamento lineare di (c, S), vale ovviamente la seguente relazione c > xˆ ≤ min{c > x : x ∈ S}. Ricerca Operativa logo.pdf G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Rilassamento Lineare Se xˆ ∈ S, allora xˆ `e ottima per (c, S). logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Rilassamento Lineare Se xˆ ∈ S, allora xˆ `e ottima per (c, S). Se, invece, xˆ 6∈ S ma esiste una soluzione x¯ ∈ S tale che c > xˆ = c > x¯, allora si pu`o concludere che la soluzione x¯ `e ottima per (c, S) logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Ordinamento delle Formulazioni Definizione. Date due formulazioni lineari P1 e P2 di un problema (c, S), diremo che P1 `e migliore di P2 se e solo se P1 ⊂ P2 . logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Ordinamento delle Formulazioni Definizione. Date due formulazioni lineari P1 e P2 di un problema (c, S), diremo che P1 `e migliore di P2 se e solo se P1 ⊂ P2 . Quindi possiamo introdurre anche il concetto di formulazione ottima di (c, S). Definizione (Formulazione ottima). La formulazione ottima di un problema (c, S) `e costituita dal poliedro contenuto in tutti i poliedri contenenti S. Indicheremo tale formulazione con PS . logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Introduzione Dato un problema (c, S) e definita una formulazione lineare P per esso, sotto quali condizioni `e possibile assicurare che la soluzione del problema rilassato min{c > x : x ∈ P} avr`a componenti intere? Allo scopo di definire queste condizioni, introduciamo le seguenti due fondamentali definizioni. logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Introduzione Dato un problema (c, S) e definita una formulazione lineare P per esso, sotto quali condizioni `e possibile assicurare che la soluzione del problema rilassato min{c > x : x ∈ P} avr`a componenti intere? Allo scopo di definire queste condizioni, introduciamo le seguenti due fondamentali definizioni. Definizione. Una matrice (m × n) A di rango m `e detta unimodulare se e solo se, per ogni sottomatrice quadrata non singolare B (m × m) di A, si ha det(B) = {1, −1}. logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Introduzione Dato un problema (c, S) e definita una formulazione lineare P per esso, sotto quali condizioni `e possibile assicurare che la soluzione del problema rilassato min{c > x : x ∈ P} avr`a componenti intere? Allo scopo di definire queste condizioni, introduciamo le seguenti due fondamentali definizioni. Definizione. Una matrice (m × n) A di rango m `e detta unimodulare se e solo se, per ogni sottomatrice quadrata non singolare B (m × m) di A, si ha det(B) = {1, −1}. Definizione. Una matrice (m × n) A `e detta totalmente unimodulare se e solo se, per ogni sottomatrice quadrata non singolare B di A, si ha det(B) = {1, −1}. logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Condizione Necessaria e Sufficiente Teorema Sia A una matrice (m × n) a componenti intere. logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Condizione Necessaria e Sufficiente Teorema Sia A una matrice (m × n) a componenti intere. Allora il poliedro P = {x ∈ Rn : Ax ≥ b, x ≥ 0n } `e intero (cio`e ha tutti i vertici a componenti intere) per ogni b ∈ Zm logo.pdf Ricerca Operativa G. Liuzzi Generazione di Vincoli Generazione di Variabili Algoritmo Dinamico di Soluzione Formulazioni di PLI Totale Unimodularit` a Condizione Necessaria e Sufficiente Teorema Sia A una matrice (m × n) a componenti intere. Allora il poliedro P = {x ∈ Rn : Ax ≥ b, x ≥ 0n } `e intero (cio`e ha tutti i vertici a componenti intere) per ogni b ∈ Zm se e solo se la matrice A `e totalmente unimodulare. logo.pdf Ricerca Operativa G. Liuzzi
© Copyright 2024 Paperzz