3.3 Problemi di PLI facili

Documenti analoghi
Metodi e Modelli per l Ottimizzazione Combinatoria Problema dell assegnamento e matrici totalmente unimodulari

5 PROGRAMMAZIONE LINEARE INTERA (PLI) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Matrici unimodulari e totalmente unimodulari

Formulazioni. Consideriamo il seguente problema di Knapsack 0-1. max (5x x 2. ) st 3x x 2. < 6 x {0,1} 2

Parte IV: Matrici totalmente unimodulari

Teoria della Programmazione Lineare Intera

min det det Allora è unimodulare se e solo se det 1, 1, 0 per ogni sottomatrice quadrata di di qualsiasi dimensione.

Ricerca Operativa A.A. 2007/ Esercitazione di laboratorio: Branch and Bound.

Ricerca Operativa A.A. 2007/ Esercitazione di laboratorio: Branch and Bound.

3.6 Metodi basati sui piani di taglio

Capitolo 3: Ottimizzazione Discreta. E. Amaldi DEI, Politecnico di Milano

Teoria della Programmazione Lineare Intera

Flusso a Costo Minimo

Problemi di Flusso: Il modello del Trasporto

Soluzione. V : insieme dei nodi del grafo A: insieme degli archi del grafo K: insieme degli indici delle coppie di origine-destinazione (s k,t k )

I Appello Ricerca Operativa 2 bis Compito A

Ricerca Operativa. G. Liuzzi. Giovedí 19 Marzo Tableau del Simplesso Esempio Fase I del Simplesso Esempio

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

min 2x 1 +4x 2 2x 3 +2x 4 x 1 +4x 2 +2x 3 + x 4 =6 2x 1 + x 2 +2x 3 + x 5 =3 x 0.

Programmazione Lineare Intera

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

Richiami di Teoria dei Grafi. Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena

5.5 Metodi dei piani di taglio

A-2 a PI. Esercizio 2. Domanda 3

4.3 Esempio metodo del simplesso

Introduzione ai grafi

Programmazione Lineare Intera: Piani di Taglio

5.5 Metodi generali per la soluzione di problemi

Geometria della programmazione lineare

Ottimizzazione su grafi: massimo flusso (parte 1) Ottimizzazione su grafi:massimo flusso (parte 1) p. 1/33

4.3 Esempio metodo del simplesso

5.1 Metodo Branch and Bound

3.1 Progetto di rete con capacità

Problemi di Flusso e Applicazioni

Programmazione Matematica / A.A Soluzioni di alcuni esercizi

Domini di funzioni di due variabili. Determinare i domini delle seguenti funzioni di due variabili (le soluzioni sono alla fine del fascicolo):

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

COMPITO DI RICERCA OPERATIVA APPELLO DEL 07/04/04

4 PROGRAMMAZIONE LINEARE (PL) E. Amaldi -- Fondamenti di R.O. -- Politecnico di Milano 1

5.5 Programmazione quadratica (PQ)

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

Possibile applicazione

Totale Unimodularità. Sapienza Universitàdi Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale.

Modelli di Programmazione Lineare. PRTLC - Modelli

4.5 Metodo del simplesso

5.3 Metodo dei piani di taglio

Il metodo del simplesso

Esame di Ricerca Operativa del 19/02/2019. Esercizio 1. Risolvere il seguente problema di programmazione lineare applicando l algoritmo del simplesso:

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

4.5 Metodo del simplesso

Corso di Geometria BIAR, BSIR Esercizi 4: soluzioni

Programmazione Matematica / A.A Soluzioni di alcuni esercizi

5.1 Metodo Branch and Bound

4 PROGRAMMAZIONE LINEARE (PL) E. Amaldi -- Fondamenti di R.O. -- Politecnico di Milano 1

5.2 IL TEOREMA FONDAMENTALE DELLA PROGRAMMAZIONE LINEARE

Si considera, come al solito, un problema di programmazione lineare in forma standard:

PROGRAMMAZIONE LINEARE E DUALITA'

Matrici delle differenze finite

Soluzione dei Problemi di Programmazione Lineare

PreCorso di Matematica - PCM Corso M-Z

1) Data la seguente istanza di TSP (grafo completo con 5 nodi): c 12 = 52; c 13 = 51; c 14 = 40; c 15 = 53; c 23 = 44;

Parte IV: Rafforzamento di formulazioni e algoritmo dei piani di taglio

Gestione della produzione e della supply chain Logistica distributiva

Parte V: Rilassamento Lagrangiano

Massimo flusso e matching

4.4 Programmazione quadratica

COMPITO DI RICERCA OPERATIVA. max 8 5x 1 3x 2 x 3 = 1 + 4x 1 + x 2 x 4 = 1 x 1 + x 2 x 5 = 5 x 1 x 2

Problema di flusso massimo

RICERCA OPERATIVA (a.a. 2018/19)

a 11 a 12 a 1n a 21 a 22 a 2n a m1 a m2 a mn mentre le variabili decisionali sono rappresentate dal vettore colonna n-dimensionale x,

Introduzione ai Problemi di Flusso su Reti

Programmazione lineare: basi e soluzioni di base

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

Gestione della produzione e della supply chain Logistica distributiva. Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena

Fattorizzazione QR e matrici di Householder

Corso di Matematica Generale M-Z Dipartimento di Economia Universitá degli Studi di Foggia ALGEBRA LINEARE. Giovanni Villani

Problema del trasporto

Sistemi II. Sistemi II. Elisabetta Colombo

Esempi di Problemi di Programmazione Lineare

Definizione 1.3 (Arco accoppiato) Un arco è accoppiato se è appartenente al matching M.

Capitolo 3 Matrici. Marco Robutti. Facoltà di ingegneria Università degli studi di Pavia. Anno accademico

Rango di una matrice e teorema di Rouché-Capelli

NOTE DI ALGEBRA LINEARE v = a 1 v a n v n, w = b 1 v b n v n

Il problema lineare dei minimi quadrati

Registro dell'insegnamento

ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I

UNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa 2. Esercizi sul problema dell assegnamento

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

Scuola di Dottorato in Ingegneria L. da Vinci. Problemi di estremo vincolato ed applicazioni. Introduzione ai problemi di estremo

(V) (FX) L unione di due basi di uno spazio vettoriale è ancora una base dello spazio vettoriale.

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

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

Geometria della Programmazione Lineare

Prova d Esame di Ricerca Operativa

Tecniche di Decomposizione per Programmazione Lineare Intera (Mista)

RICERCA OPERATIVA (a.a. 2017/18) Nome: Cognome: Matricola:

Assemblaggio degli Elementi: Soluzione del Problema Strutturale Discreto

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

Transcript:

3.3 Problemi di PLI facili Consideriamo un generico problema di PLI espresso in forma standard min{c t x : Ax = b, x Z n +} (1) dove A Z m n con n m, e b Z m. Supponiamo che A sia di rango pieno. Sia P (b) = {x R n : Ax = b, x 0 } il poliedro delle soluzioni ammissibili del rilassamento continuo di (1). Secondo la teoria della PL, ad ogni punto estremo di P (b) corrisponde (almeno) una soluzione di base ammissibile x = (x B, x N ) = (B 1 b, 0), dove B è una sottomatrice m m non singolare di A, ovvero una base di A. Osservazione: Se la base ottima B ha det(b) = ±1, la soluzione ottima del rilassamento continuo di (1) è intera e quindi è anche ottima per il PLI. Dim: Sappiamo che x B = B 1 b e B 1 = 1 det(b) Ct, dove C è la matrice dei cofattori α ij = ( 1) i+j det(b ij ) con B ij la sottomatrice quadrata ottenuta da B eliminando la i-esima riga e la j-esima colonna. Se tutte le componenti di B sono intere, tutti i cofattori α ij sono interi. Se det(b) = ±1, B 1 è intera e quindi, visto che b è intero, anche la soluzione di base ammissibile x = (x B, x N ) è intera. 1

Chiaramente det(b) = ±1 è solo una condizione sufficiente per l interezza di B 1 b (si consideri det(b) = 2 e b con componenti pari) Quando tutte le soluzioni di base ammissibili del rilassamento continuo sono intere? In tal caso, la formulazione originale del PLI coincide con quella ideale e, per risolvere il PLI, basta risolvere il suo rilassamento continuo. Definizione: Una matrice A intera m n è totalmente unimodulare (TUM) se ogni sua sottomatrice quadrata ha un determinante 1, 0 o 1. Chiaramente, se A è TUM, a ij { 1, 0, 1} per tutti gli i e j. Esempi di matrici TUM e non TUM Proposizione: A è TUM se e solo se A t è TUM se solo se (A I m ) è TUM. La matrice A ottenuta da A permutando e/o cambiando segno ad alcune colonne e/o righe è TUM. Teorema 1: Sia matrice A TUM e b intero tali che P (b) = {x R n tutti i punti estremi (vertici) del poliedro P (b) sono interi. : Ax = b, x 0} =, allora Dim: Come per la precedente osservazione. 2

Il risultato si estende anche ai problemi in forma canonica: Corollario: Sia una matrice A TUM m n e b intero tali che P = {x R n : Ax b, x 0}, allora tutti i punti estremi (vertici) del poliedro P sono interi. Dim: Sia x un qualsiasi vertice di P. Innanzitutto mostriamo che ( x, s) con s := A x b è un vertice di P := {(x, s) R n+m : Ax s = b, (x, s) 0}. Se non fosse vero, esisterebbero due punti distinti (x 1, s 1 ) e (x 2, s 2 ) di P tali che ( x, s) = α(x 1, s 1 ) + (1 α)(x 2, s 2 ) per un qualche α con 0 < α < 1. Poiché s 1 = Ax 1 b 0 e s 2 = Ax 2 b 0, x 1 e x 2 appartengono a P. Inoltre (x 1, s 1 ) (x 2, s 2 ) implicherebbe x 1 x 2 e quindi x = αx 1 + (1 α)x 2 non potrebbe essere un vertice di P. Poiché A è TUM, anche (A I m ) è TUM. Secondo il Teorema 1 per P, ( x, s) è intero, e quindi lo è anche x. 3

Le seguenti condizioni sufficienti permettono di verificare se una matrice è TUM: Proposizione: Una matrice A intera è TUM se i) a ij { 1, 0, +1} per tutti gli i e j, ii) ogni colonna di A contiene al più due coefficienti non nulli, iii) l insieme I degli indici delle righe di A può essere suddiviso in due parti I 1 e I 2 tali che in ogni colonna j con due coefficienti non nulli vale i I 1 a ij i I 2 a ij = 0. NB: Se una colonna ha due coefficienti non nulli dello stesso segno, le loro righe sono in insiemi diversi (I 1 e I 2 ). Se ne ha due di segno diverso, le loro righe sono nello stesso insieme I j, con j = 1 o j = 2. Dim: Supponiamo che A non sia TUM, e sia Q una sottomatrice quadrata di A di dimensione minima tra quelle con det(q) / { 1, 0, 1}. Q non può contenere una colonna con un singolo coefficiente non nullo, altrimenti Q non sarebbe minimale. Quindi ogni colonna di Q contiene esattamente due coefficienti non nulli. In base a (iii), i I 1 a ij i I 2 a ij = 0 e quindi det(q) = 0, che è una contraddizione. Esempio di matrice TUM che (non) soddisfa queste condizioni 4

Caratterizzazione delle matrici TUM: Teorema 2: Una matrice A intera (m n) è TUM se e solo se ogni sottoinsieme J I = {1,..., m} di indici di righe di A può essere suddiviso in due parti J 1 e J 2 tali che la somma delle righe in J 1 meno la somma delle righe in J 2 sia un vettore con tutte le componenti in { 1, 0, 1}. Dal punto di vista del PLI, quando la matrice A è TUM basta risolvere il rilassamento continuo. In qualche modo anche il contrario è vero: Proposizione: Il programma lineare min{c t x : Ax = b, x R n +} ha una soluzione ottima intera per qualsiasi vettore b intero per il quale ammette una soluzione ottima finita se e solo se A è TUM. Si può dimostrare che data A con base B t.c. det(b) 1 esiste sempre un PL min{c t x : Ax = b, x R n +}, per opportuni c e b, con una soluzione ottima frazionaria. 5

1) Problema di Assegnamento Assignment Dati n progetti (jobs) e n ingegneri (macchine), supponiamo che ogni progetto possa essere eseguito da qualsiasi ingegnere. Sia c ij il costo se i-esimo progetto è eseguito dal j-esimo ingegnere, con 1 i, j n. Ogni progetto deve essere assegnato esattamente ad un ingegnere e ogni ingegnere deve vedersi assegnare esattamente un progetto. Decidere quale progetto assegnare ad ogni ingegnere in modo da minimizzare il costo totale necessario per completare tutti i progetti. Modello: min n n i=1 j=1 c ijx ij n i=1 x ij = 1 j (2) n j=1 x ij = 1 i (3) x ij {0, 1} i, j dove x ij = 1 se e solo se i-esimo progetto viene assegnato al j-esimo ingegnere, con 1 i, j n. NB: Nel rilassamento continuo basta imporre x ij 0 i, j visto che (2)-(3) implicano x ij 1 i, j. Proprietà: La matrice dei vincoli (2)-(3) è TUM (considerare I 1 = {1,..., n} e I 2 = {n+1,..., 2n}). Conseguenza: Ogni punto estremo della regione ammissibile del rilassamento continuo è intero e la formulazione è ideale. 6

2) Problema del trasporto Transportation Consideriamo il caso di un unico tipo di prodotto. Dati m impianti produttivi (1 i m) n clienti (1 j n) c ij = costo di trasporto di una unità di prodotto dall impianto i al cliente j p i = disponibilità massima di prodotto presso l impianto i d j = domanda del cliente j q ij = massima quantità trasportabile dall impianto i al cliente j determinare un piano di trasporto che minimizzi i costi di trasporto rispettando le domande e i limiti di disponibilità. Ipotesi: m i=1 p i n j=1 d j (per garantire ammissibilità) Senza perdita di generalità, si può in realtà supporre che m i=1 p i = n j=1 d j. 7

Modello Variabili di decisione: x ij = quantità di prodotto trasportata da impianto i a cliente j, con 1 i m e 1 j n min m i=1 n j=1 c ijx ij n j=1 x ij p i i (4) m i=1 x ij d j j (5) x ij q ij i, j (6) x ij 0 intere i, j Proprietà: La matrice dei vincoli (4)-(6) è TUM Dim: Moltiplicando per 1 i vincoli (4) e (6) si mette il problema in forma canonica. Si può quindi applicare il Corollario. Conseguenza: Se tutte le domande d j, disponibilità p i e capacità q ij sono intere, ogni punto estremo della regione ammissibile del rilassamento continuo è intero. La formulazione è ideale, descrive il guscio convesso delle soluzioni ammissibili intere. 8

3) Problema del flusso di costo minimo Minimum cost flow Dato un grafo orientato G = (V, A) con una capacità k ij e un costo unitario c ij per ogni (i, j) A e una domanda/disponibilità b i per ogni nodo i V (b i positiva per sorgenti, negativa per destinazioni, nulla per nodi intermedi), determinare un flusso ammissibile che soddisfa tutte le domande a costo minimo. Ipotesi: i V b i = 0 (per garantire ammissibilità) Modello: min (i,j) A c ijx ij j δ + (i) x ij h δ (i) x hi = b i i V (7) 0 x ij k ij (i, j) A (8) dove δ + (i) = {j V : (i, j) A} e δ (i) = {h V : (h, i) A} Proprietà: La matrice dei vincoli (7)-(8) è TUM. Dim: La matrice di incidenza nodi-archi di un grafo orientato (a ij = 1 se j-esimo arco esce dal nodo i, a ij = 1 se j-esimo arco entra nel nodo i, a ij = 0 altrimenti) è TUM perché ogni colonna contiene esattamente un 1 ed un 1 (basta scegliere I 1 = I e I 2 = ). La matrice dei vincoli di capacità (8) è la matrice identità di dimensione A A. La matrice composta (prima su seconda) è anch essa TUM. Conseguenza: Se le domande/disponibilità b i e le capacità k ij sono intere, ogni punto estremo è intero. Un eventuale vincolo di interezza sulle variabili risulterebbe ridondante. 9

Mostrare che i seguenti problemi sono casi particolari del problema di flusso di costo minimo: - Dato un grafo orientato G = (V, A) con un costo c ij associato ad ogni arco (i, j) A, e due nodi s e t, determinare un cammino di costo minimo da s a t. - Dato un grafo orientato G = (V, A) con una capacità k ij associata ad ogni arco (i, j) A, una sorgente s e una destinazione t, determinare un flusso ammissibile di valore massimo da s a t. Quando la matrice dei vincoli di un PLI non è totalmente unimodulare, la soluzione ottima x P L del rilassamento continuo è in genere frazionaria. Per cercare di ottenere una soluzione ammissibile del PLI, si può pensare di arrotondare ogni componente frazionaria di x P L all intero più vicino. Purtroppo molto spesso la soluzione arrotondata può essere non ammissibile per il PLI, anche se la soluzione arrotondata è ammissibile l errore rispetto a quella ottima del PLI può essere molto elevato. In genere, arrotondando x P L si ottiene una buona approssimazione della soluzione ottima del PLI solo quando le componenti x P L hanno valori elevati. Esempi 10