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

Documenti analoghi
Grafi e reti di flusso

Flusso a Costo Minimo

Processi di cost management - Programmazione multiperiodale

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

Introduzione ai grafi

Claudio Arbib Università di L Aquila. Ricerca Operativa. Reti di flusso

Problemi di Flusso: Il modello del Trasporto

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

AMPL Problemi su Reti

Appunti lezione Capitolo 15 Ricerca locale

Esercizio 1. min. Esercizio 2. Esercizio 3

Gestione della produzione e della supply chain Logistica distributiva

Esercitazione 6 Ancora sul Network Flow

IL PROBLEMA DEL FLUSSO DI COSTO MINIMO. DANIEL BUCCARELLA

Introduzione ai Problemi di Flusso su Reti

Algoritmo basato su cancellazione di cicli

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

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

Ottimizzazione Discreta Esercizi V: Soluzioni

Gestione della produzione e della supply chain Logistica distributiva

2.2 Alberi di supporto di costo ottimo

Esame di Ricerca Operativa del 03/09/2015

Algoritmi esatti. La teoria ci dice che per problemi difficili (come il

Esame di Ricerca Operativa del 07/09/2016

Ottimizzazione nella Gestione dei Progetti - Esercitazione 1: calcolo degli schedule ottimi

La dualità nella Programmazione Lineare

Teoria della Dualità: I Introduzione

Parte V: Rilassamento Lagrangiano

età (anni) manutenzione (keuro) ricavato (keuro)

ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I

2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Prova Scritta di Ricerca Operativa

Esame di Ricerca Operativa del 11/07/2016

RICERCA OPERATIVA (a.a. 2015/16) Nome: Cognome: Matricola:

GRAFI. Cosa sono Grafi non orientati Grafi orientati Grafi pesati Alberi Automi!

Il valore di flusso che si ottiene è

Esame di Ricerca Operativa del 15/01/2015

Esame di Ricerca Operativa del 15/01/2015

2.2 Alberi di supporto di costo ottimo

2.3.3 Cammini ottimi nei grafi senza circuiti

Esame di Ricerca Operativa del 09/02/2016

Esame di Ricerca Operativa del 16/06/2015

TEORIA della DUALITÀ. Una piccola introduzione. Ricerca Operativa. Prof. R. Tadei. Politecnico di Torino. Teoria della Dualità / 1.

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

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

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

Metodi e Modelli per l Ottimizzazione Combinatoria Cover inequalities

Possibile applicazione

Sono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza

4.1 Localizzazione e pianificazione delle base station per le reti UMTS

Ad ogni arco (i,j) del grafo e' associato un valore intero c(i,j) detto capacita' dell'arco

Appunti del corso di Informatica 1 (IN110 Fondamenti) 7 Grafi e alberi: introduzione

3.6 Metodi basati sui piani di taglio

2.1 Pianificazione multiperiodo della produzione energetica. 2.2 Confronto tra formulazioni per il problema dell albero di supporto di costo minimo

Esame di Ricerca Operativa del 08/01/13. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:

Compressione Dati. Teorema codifica sorgente: Entropia fornisce un limite sia inferiore che superiore al numero di bit per simbolo sorgente.. p.

Problemi, istanze, soluzioni

OTTIMIZZAZIONE LINEARE MULTICRITERIO

4 - Topologia. Topologia delle reti elettriche. Topologia delle reti elettriche. Elettrotecnica. Serie di due bipoli

Appunti sui problemi di matching

Progettazione di Algoritmi

Introduzione al Metodo agli Elementi Finiti (FEM) (x, y) Γ Tale formulazione viene detta Formulazione forte del problema.

Il metodo dei Piani di Taglio (Cutting Planes Method)

Introduzione ai grafi. Introduzione ai grafi p. 1/2

Programmazione Lineare Intera: Piani di Taglio

Makespan con set-up dipendenti dalla sequenza. 1/s jk /C max

Algoritmi Euristici. Corso di Laurea in Informatica e Corso di Laurea in Matematica. Roberto Cordone DI - Università degli Studi di Milano

INFORMATICA AA Università degli Studi di Ferrara Facoltà di Scienze MM FF NN Corso di Laurea in «Scienze e Tecnologie per i Beni Culturali»

La Gestione dei Progetti. Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena

RETI DI TELECOMUNICAZIONE

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

Elettronica I Leggi di Kirchhoff; risoluzione dei circuiti elettrici in continua; serie e parallelo

Elezione di un leader in una rete ad anello

Esercizio 1. Esercizio 2

Riduzione degli schemi a blocchi

Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili

c(s) := c e (1) e δ(s)

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

Corso di elettrotecnica Materiale didattico: i grafi

Algoritmi e Strutture di Dati (3 a Ed.) Algoritmo dei tre indiani. Alan Bertossi, Alberto Montresor

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

5.3 Metodo dei piani di taglio

2 Formulazione dello shortest path come problema di flusso

+1 i j i = j i = j 1 1 i j 2 Il problema di PL associato alla scelta della migliore strategia per te è quindi il seguente: min z

Progettazione di Algoritmi

Problemi di flusso a costo minimo

1 Programmazione Lineare Intera

Il problema del commesso viaggiatore

COMPITO DI RICERCA OPERATIVA APPELLO DEL 08/01/04

Grafi diretti. Un grafo diretto (o grafo orientato) G è una coppia (V,E) dove. V è u n i n s i e m e d i nodi (o vertici);

Applicazioni del Massimo flusso. Progettazione di Algoritmi a.a Matricole congrue a 1 Docente: Annalisa De Bonis

Metodo delle due fasi

Automa a Stati Finiti (ASF)

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

Problemi di localizzazione

TEORIA DEI GIOCHI SU RETI

Grafi (orientati): cammini minimi

La Gestione dei Progetti. Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena

Teoria degli Insiemi

Transcript:

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

Ottimizzazione su grafi:massimo flusso (parte 1) p. 2/33 Reti di flusso Una rete di flusso è una struttura basata su un grafo orientato che permette la modellazione di flussi a regime stazionario. Esempi di applicazione: flusso di veicoli in un area urbana flusso dell acqua potabile nella rete idrica di una città flusso di informazione lungo una rete di telecomunicazione flusso di materiali in un impianto di produzione

Ottimizzazione su grafi:massimo flusso (parte 1) p. 3/33 Network flow Sia dato un grafo orientato G = (V,E) con V = {s,t, 1, 2,...,n 2} e E = m e sia data una capacità c ij associata a ciascun arco (i,j) E. Supponiamo che esistano un nodo s detto sorgente con solo archi uscenti, cioè δ (s) = ; un nodo t detto pozzo con solo archi entranti, cioè δ + (t) = ; I nodi distinti da s e da t sono detti nodi intermedi. Il grafo G con le caratteristiche suddette viene detto rete di flusso.

Ottimizzazione su grafi:massimo flusso (parte 1) p. /33 Flusso ammissibile DEFINIZIONE. Data una rete di flusso, si dice flusso ammissibile da s a t una funzione x : E R che soddisfa i seguenti vincoli: 0 x ij c i,j, (i,j) E (1) (h,j) δ + (h) x hj }{{} flusso uscente da h (i,h) δ (h) x ih }{{} flusso entrante in h = 0, h V \ {s,t} (2) Il valore del flusso è il flusso uscente dalla sorgente, dato da: f = (s,j) δ + (s) x sj

Ottimizzazione su grafi:massimo flusso (parte 1) p. 5/33 I vincoli (1) indicano che il flusso su ogni arco deve essere sempre non-negativo e non eccedere la capacità dell arco stesso. I vincoli (2) indicano che per ogni nodo intermedio il flusso totale entrante nel nodo deve essere uguale al flusso totale uscente dal nodo stesso. Per questo motivo, le n 2 equazioni (2) sono dette equazioni di conservazione (del flusso).

Ottimizzazione su grafi:massimo flusso (parte 1) p. 6/33 Esempio di flusso ammissibile 0 9 2 5 0 15 0 15 0 0 5 8 s 3 6 t 0 15 0 0 6 0 15 0 0 30 7 Valore del flusso:

Ottimizzazione su grafi:massimo flusso (parte 1) p. 7/33 Esempio di flusso ammissibile 6 9 2 5 0 15 6 15 0 3 5 8 8 s 3 6 t 8 11 15 0 1 6 15 0 11 30 7 Valore del flusso: 2

Ottimizzazione su grafi:massimo flusso (parte 1) p. 8/33 Esempio di flusso ammissibile 9 9 2 5 0 1 15 9 15 0 5 8 8 s 3 6 t 9 1 15 0 6 15 0 1 30 7 Valore del flusso: 28

Ottimizzazione su grafi:massimo flusso (parte 1) p. 9/33 Il problema del massimo flusso Problema del massimo flusso (Max Flow): determinare il flusso massimo che può fluire tra s e t senza contributi dei nodi intermedi.

Ottimizzazione su grafi:massimo flusso (parte 1) p. /33 Esempio di problema di flusso mass Immaginiamo che il grafo sia una rete idrica con il quale si tenta di portare dell acqua da un nodo sorgente s ad un utilizzatore rappresentato da un nodo t. Per far questo si usa una rete di tubature rappresentata dagli archi. Le tubature hanno una certa capacità c ij (cioè possono trasportare al più c ij litri di acqua al secondo). Le tubature si intersecano nei nodi, dove può essere deciso come l acqua che arriva nel nodo debba essere distribuita ai tubi in uscita. Si tratta di determinare come incanalare l acqua in modo da massimizzare il flusso da s a t.

Ottimizzazione su grafi:massimo flusso (parte 1) p. 11/33 Max flow: problema di PL Il problema del massimo flusso corrisponde dunque al seguente problema di PL: max f = (i,j) δ + (s) x sj 0 x ij c i,j, (i,j) E x hj x ih = 0, h V \ {s,t} (h,j) δ + (h) (i,h) δ (h)

Ottimizzazione su grafi:massimo flusso (parte 1) p. 12/33 Tagli DEFINIZIONE. Si chiama taglio s-t o sezione s-t (s-t cut) una partizione (S, S) (con S = V \ S) dell insieme dei nodi tale che s S, t S. DEFINIZIONE. Si chiama capacità di un taglio s-t la quantità: C(S, S) = i S, j S cioè la somma delle capacità degli archi che hanno il primo estremo in S e il secondo estremo in S. c ij

Ottimizzazione su grafi:massimo flusso (parte 1) p. 13/33 Esempio di taglio 2 9 5 15 15 s 5 3 8 6 t 15 6 15 30 7 Capacità=30

Ottimizzazione su grafi:massimo flusso (parte 1) p. 1/33 Esempio di taglio 2 9 5 15 15 s 5 3 8 6 t 15 6 15 30 7 Capacità=62

Ottimizzazione su grafi:massimo flusso (parte 1) p. 15/33 Esempio di taglio 2 9 5 15 15 s 5 3 8 6 t 15 6 15 30 7 Capacità=28

Ottimizzazione su grafi:massimo flusso (parte 1) p. 16/33 Il problema del min cut Problema del minimo taglio (Min Cut): determinare un taglio s-t di capacità minima. Come vedremo, rappresenta il duale del problema di Max Flow.

Ottimizzazione su grafi:massimo flusso (parte 1) p. 17/33 Flusso netto attraverso un taglio DEFINIZIONE. Dato un flusso ammissibile x, si chiama flusso netto attraverso il taglio s-t (S, S) la quantità: F(S, S) = x ij x ji i S, j S i S, j S cioè la differenza tra: somma dei flussi sugli archi uscenti da S ed entranti in S somma dei flussi sugli archi uscenti da S ed entranti in S

Ottimizzazione su grafi:massimo flusso (parte 1) p. 18/33 6 9 2 5 0 15 6 15 0 3 5 8 8 s 3 6 t 8 11 15 0 1 6 15 0 11 30 7 Valore del flusso=2

Ottimizzazione su grafi:massimo flusso (parte 1) p. 19/33 Relazione tra flusso netto di un taglio e valore del flusso TEOREMA. Dato un flusso ammissibile x, il flusso netto attraverso ogni taglio s-t è pari al valore del flusso, cioè F(S, S) = f, per ogni taglio (S, S). In particolare: f = F(V \ {t}, {t}, ) = (i,t) δ (t) x it cioè il flusso uscente dalla sorgente è uguale al flusso entrante nel pozzo.

Ottimizzazione su grafi:massimo flusso (parte 1) p. 20/33 Dimostrazione del teorema. Consideriamo un generico taglio (S, S). Sommiamo le equazioni di conservazione del flusso (2) relative ai soli nodi h S \ {s}: x hj = 0 h S\{s} (h,j) δ + (h) (i,h) δ (h) x ih Sommiamo all equazione ottenuta il valore del flusso: f = (s,j) δ + (s) x sj

Ottimizzazione su grafi:massimo flusso (parte 1) p. 21/33 Si ottiene: x hj x ih + x sj = f h S\{s} (h,j) δ + (h) (i,h) δ (h) (i,j) δ + (s) (inserendo nella sommatoria il termine relativo a s) x hj h S (h,j) δ + (h) (i,h) δ (h) x ih = f x ih = f h S (h,j) δ + (h)x hj h S (i,h) δ (h)

Ottimizzazione su grafi:massimo flusso (parte 1) p. 22/33 h S,j S x hj } {{ } = + h S,j S h S,j S x hj x hj i S,h S x ih } {{ } = i S,h S x ih = f i S,h S x ih = f F(S, S) = f.

Ottimizzazione su grafi:massimo flusso (parte 1) p. 23/33 Relazione tra capacità di un taglio e valore del flusso TEOREMA. Dato un flusso ammissibile x, il valore del flusso f è minore o uguale alla capacità di un qualunque taglio s-t, cioè f C(S, S), per ogni taglio (S, S). Dim. Considerato un generico taglio s-t (S, S), si ha: f = F(S, S) }{{} per teor. precedente = i S,j S i S,j S x ij }{{} c ij i S,j S c ij = C(S, S). x ij }{{} 0

Ottimizzazione su grafi:massimo flusso (parte 1) p. 2/33 I teoremi precedenti implicano la relazione di dualità debole: dove f max C min f max = valore del massimo flusso C min = capacità del minimo taglio In realtà è possibile dimostrare una relazione di dualità forte, cioè che in ogni rete di flusso, il valore del massimo flusso è uguale alla capacità del minimo taglio.

Ottimizzazione su grafi:massimo flusso (parte 1) p. 25/33 Massimo Flusso - Minimo Taglio (Max Flow - Min Cut) TEOREMA. Un flusso ammissibile x è ottimo per il problema Max Flow se e solo se esiste un taglio s-t (S, S) tale che: In tal caso f = C(S, S). f = f max è il valore del massimo flusso S è ottimo per il problema Min Cut C(S, S) = C min è la capacità del minimo taglio. Per la dimostrazione del teorema dobbiamo introdurre il concetto di cammino aumentante.

Ottimizzazione su grafi:massimo flusso (parte 1) p. 26/33 Archi saturi DEFINIZIONE. Dato un flusso ammissibile x, si dice che l arco (i,j) è saturo se x ij = c ij cioè il flusso sull arco è uguale alla capacità dell arco stesso

Ottimizzazione su grafi:massimo flusso (parte 1) p. 27/33 Archi diretti/archi inversi DEFINIZIONE. Dato un cammino semplice P = {(v 0,v 1 ), (v 1,v 2 ),...,(v p 1,v p )} chiamiamo: arco diretto un arco del tipo (v i 1,v i ) arco inverso un arco del tipo (v i,v i 1 ) Quindi gli archi diretti hanno verso concorde con quello di percorrenza del cammino P, mentre gli archi inversi hanno verso opposto.

Ottimizzazione su grafi:massimo flusso (parte 1) p. 28/33 Rete incrementale DEFINIZIONE. Sia dato un flusso ammissibile x. La rete incrementale (o grafo residuo) Ḡ = (V,Ē) associata a x è ottenuta dalla rete originale G(V,E) sostituendo ogni arco (i,j) E con due archi: un arco diretto (i,j) di capacità residua c ij = c ij x ij un arco inverso (j,i)di capacità residua c ij = x ij ed eliminando alla fine gli archi con capacità residua nulla.

Ottimizzazione su grafi:massimo flusso (parte 1) p. 29/33 0 0 13 s 2 3 t 0 0 Valore del flusso: 5

Ottimizzazione su grafi:massimo flusso (parte 1) p. 30/33 Rete incrementale s 2 3 t 3 5

Ottimizzazione su grafi:massimo flusso (parte 1) p. 31/33 Cammino aumentante DEFINIZIONE. Un cammino aumentante (augmenting path) è un cammino da s a t nella rete incrementale s 2 3 t 3 5

Ottimizzazione su grafi:massimo flusso (parte 1) p. 32/33 Aumentiamo di il valore del flusso 6 13 s 2 3 t Valore del flusso: 1 5

Ottimizzazione su grafi:massimo flusso (parte 1) p. 33/33 Rete incrementale s 2 6 3 t 7 Non ci sono cammini aumentanti! 5