Flusso a costo minimo

Documenti analoghi
Flusso a costo minimo

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

4.6 Dualità in Programmazione Lineare

Matematica Computazionale(6cfu) Ottimizzazione(8cfu)

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

Intorduzione alla teoria delle Catene di Markov

6. Catene di Markov a tempo continuo (CMTC)

6. Catene di Markov a tempo continuo (CMTC)

RICERCA OPERATIVA GRUPPO B prova scritta del 12 febbraio x2

Algebra Sia A un anello commutativo. Si ricorda che in un anello commutativo vale il teorema binomiale, cioè. (a + b) n = a i b n i i.

Matematica Computazionale(6cfu) Ottimizzazione(8cfu) (a.a , lez.9)

Il procedimento può essere pensato come una ricerca in un insieme ordinato, il peso incognito può essere cercato con il metodo della ricerca binaria.

Lezione n 18. Lezioni di Ricerca Operativa. Corso di Laurea in Informatica Università di Salerno. Prof. Cerulli Dott.ssa Gentili Dott.

RICERCA OPERATIVA GRUPPO A prova scritta del 12 febbraio 2009

6 Prodotti scalari e prodotti Hermitiani

POLINOMIO MINIMO E FORMA CANONICA DI JORDAN NOTA AGGIUNTIVA PER IL CORSO DI GEOMETRIA ANALITICA E ALGEBRA LINEARE A.A DOCENTE: PAOLO LISCA

4. ALGORITMI GREEDY. cambia-monete scheduling a minimo il ritardo. Il problema del cambia-monete. Proprietà di una soluzione ottima

Lezione 20 Maggio 29

RICHIAMI SULLA RAPPRESENTAZIONE IN COMPLEMENTO A 2

Algoritmo di Carlier- Pinson per problemi di Job Shop Scheduling: un esempio

* PROBABILITÀ - SCHEDA N. 2 LE VARIABILI ALEATORIE *

Il logaritmo discreto in Z p Il gruppo moltiplicativo Z p delle classi resto modulo un primo p è un gruppo ciclico.

Algoritmi basati sulla tecnica Divide et Impera

Algoritmi e Strutture di Dati (3 a Ed.) Ricerca tabù. Alan Bertossi, Alberto Montresor

Analisi Class Successioni Lezione 6 2 ottobre 2014

Dipartimento di Statistica Università di Bologna. Matematica finanziaria aa lezione 17: 16 maggio 2013

Modelli decisionali su grafi - Problemi di Localizzazione

Geometria 1 a.a. 2011/12 Esonero del 23/01/12 Soluzioni (Compito A) sì determinarla, altrimenti dimostrare che ciò è impossibile.

Stabilità dei Sistemi Dinamici. Stabilità Semplice. Stabilità Asintotica. Stabilità: concetto intuitivo che può essere formalizzato in molti modi

ANELLI E SOTTOANELLI. contrassegna gli esercizi (relativamente) più complessi.

Esercizio. Alcuni esercizi su algoritmi e programmazione. Schema a blocchi. Calcolo massimo, minimo e media

Metodi di analisi R 1 =15Ω R 2 =40Ω R 3 =16Ω

Metodi e Modelli per l Ottimizzazione Combinatoria Progetto: Metodo di soluzione basato su generazione di colonne

Equilibrio e stabilità di sistemi dinamici. Stabilità dell equilibrio di sistemi dinamici non lineari per linearizzazione

urto v 2f v 2i e forza impulsiva F r F dt = i t

Matematica Generale a.a. 2018/19 Teoremi dimostrati nel corso. 1 Funzioni ad una variabile

Lezione 7. Numeri primi. Teorema Fondamentale dell'aritmetica.

Algoritmi euristici: III Ricerca Locale

3 Partizioni dell unità 6

Esercitazione sulle Basi di di Definizione

Dipartimento di Matematica per le scienze economiche e sociali Università di Bologna. Matematica aa lezione marzo 2009

Corso di Logica I. Modulo sul Calcolo dei Sequenti. Dispensa Lezione II.

PICCOLE OSCILLAZIONI ATTORNO ALLA POSIZIONE DI EQUILIBRIO

Teoremi dei circuiti

Capitolo 3 Covarianza, correlazione, bestfit lineari e non lineari

Esercizio. Alcuni esercizi su algoritmi e programmazione. Schema a blocchi. Calcolo massimo, minimo e media

Grafi ed equazioni topologiche

IL GRUPPO SIMMETRICO S n

V n. =, e se esiste, il lim An

Analisi ammortizzata. Illustriamo il metodo con due esempi. operazioni su di una pila Sia P una pila di interi con le solite operazioni:

Esercizi sulle reti elettriche in corrente continua (parte 2)

Predimensionamento reti chiuse

Predimensionamento reti chiuse

Analisi Matenatica Lezione 5 1 ottobre 2013

RICERCA OPERATIVA GRUPPO B prova scritta del 22 gennaio 2009

Teoremi dei circuiti

Sorgenti Numeriche - Soluzioni

Rappresentazione dei numeri PH. 3.1, 3.2, 3.3

Determinarelatranscaratteristicav out (v in ) del seguente circuito R. V out. V in V ٧ = 0.7V D Z D V R = 5V. R o V R V Z = -8V

Rappresentazione dei numeri

Il traffico è un gioco?

Funzione di matrice. c i λ i. i=0. i=0. m 1. γ i A i. i=0. Moltiplicando entrambi i membri di questa equazione per A si ottiene. α i 1 A i α m 1 A m

ANALISI STATISTICA DELLE INCERTEZZE CASUALI

Ad esempio, potremmo voler verificare la legge di caduta dei gravi che dice che un corpo cade con velocità uniformemente accellerata: v = v 0 + g t

Support Vector Machines. Macchine a vettori di supporto

La soluzione delle equazioni differenziali con il metodo di Galerkin

Verifica reti con più serbatoi (II)

3) Entropie condizionate, entropie congiunte ed informazione mutua

x 0 x 50 x 20 x 100 CASO 1 CASO 2 CASO 3 CASO 4 X n X n X n X n

Risposta in frequenza

UNIVERSITA DEGLI STUDI DI CASSINO FACOLTA DI INGEGNERIA

Dipartimento di Statistica Università di Bologna. Matematica Finanziaria aa lezione 16: 2 maggio 2012

Allenamenti di matematica: Teoria dei numeri e algebra modulare Soluzioni esercizi

Circuiti elettrici in regime stazionario

Tangenti a una conica: il metodo del Doppio sdoppiamento 1

Dipartimento di Matematica per le scienze economiche e sociali Università di Bologna

Sulla teoria di Z in L = {+,<}

Laboratorio 2B A.A. 2012/2013. Elaborazione Dati. Lab 2B CdL Fisica

Dipartimento di Statistica Università di Bologna. Matematica finanziaria aa lezione 2: 21 febbraio 2013

Analisi Modale. Le evoluzioni libere dei due sistemi a partire dalla condizione iniziale x(0) = x 0 sono

5: Strato fisico: limitazione di banda, formula di Nyquist; caratterizzazione del canale in frequenza

Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili. Modelli per la Logistica: Single Flow One Level Model Multi Flow Two Level Model

CAPITOLO 3 CIRCUITI DI RESISTORI

Elementi di teoria bayesiana della decisione Teoria bayesiana della decisione: caratteristiche

PROBLEMI DI ALLOCAZIONE. Una piccola introduzione. Ricerca Operativa. Prof. R. Tadei. Politecnico di Torino. Trasporti / 1.

{ 1, 2,..., n} Elementi di teoria dei giochi. Giovanni Di Bartolomeo Università degli Studi di Teramo

Grafi ed equazioni topologiche

Corso di. Dott.ssa Donatella Cocca

Integrazione numerica dell equazione del moto per un sistema lineare viscoso a un grado di libertà. Prof. Adolfo Santini - Dinamica delle Strutture 1

S O L U Z I O N I. 1. Effettua uno studio qualitativo della funzione. con particolare riferimento ai seguenti aspetti:

PROGRAMMAZIONE LINEARE. Una piccola introduzione. Ricerca Operativa. Prof. R. Tadei. Politecnico di Torino P. L. / 1.

Scrivere programmi corretti

Dipartimento di Statistica Università di Bologna. Matematica Finanziaria aa lezione 3:

Elasticità nei mezzi continui

Misure indipendenti della stessa grandezza, ciascuna con una diversa precisione.

Dipartimento di Statistica Università di Bologna. Matematica Finanziaria aa lezione 21: 29 maggio 2013

CAPITOLO IV CENNI SULLE MACCHINE SEQUENZIALI

Limitazioni di ampiezza negli amplificatori reali

Matematica Generale a.a. 2016/17 Teoremi dimostrati nel corso. 1 Funzioni ad una variabile

Transcript:

Flusso a costo mnmo Consderamo un grafo G=(N, A), con capactà u sugl arch. Il problema: mn c (, j) A x s.t. (, j) δ + x ( ) ( j, ) δ x j ( j) = b( ) N x u (, j) A s dce problema d flusso a costo mnmo. Assumamo c e b(n) =. Progetto e Ottmzzazone d Ret 5-6

Osservazon Osservazone Supponamo che le capactà sugl arch abbano valore nfnto e che esstano un nodo s e un nodo t tal che: b(s) = b(t) = - Se b() = per ogn V, s, t, l problema d flusso a costo mnmo dventa l problema del cammno mnmo da s a t Progetto e Ottmzzazone d Ret 5-6

Osservazon Osservazone Supponamo che. b() = per ogn N;. c = per ogn arco (, j) V. Sceglamo nod d G, s e t e aggungamo l arco (t, s) d capactà nfnta e costo c ts = - l problema d flusso a costo mnmo dventa l problema d determnare l massmo flusso da s a t. Progetto e Ottmzzazone d Ret 5-6 3

Condzon d ottmaltà Assocamo ad ogn vncolo d conservazone una varable y e ad ogn vncolo d capactà una varable z mn s.t. c (, j) A x y z x : + (, j) δ ( ) : x x u x j ( j, ) δ ( j) = b( ) N (, j) A Progetto e Ottmzzazone d Ret 5-6 4

Progetto e Ottmzzazone d Ret 5-6 5 Problema duale ), ( ), ( s.t. - ) ( max ), ( A j z A j c z y y z u y b j A j N (D) S defnsce costo rdotto la quanttà: j y y c c + =

Condzon d ottmaltà Supponamo che tutte le capactà sano nfnte. Cò sgnfca che nel problema D non compaono le varabl z. Pertanto, una soluzone ammssble y per D ha la propretà d avere che mplca c y y j Se u +, una soluzone ammssble (y, z) d D ha la propretà ma s ha anche In conclusone, z c z z = max, { } c c Progetto e Ottmzzazone d Ret 5-6 6

Condzon d complementartà x > y y j z = c c = z = max {, c } c z > x = u Pertanto, se c < x = u Inoltre, c x = > Teorema (condzon d ottmaltà per l mn cost flow) Una soluzone x ammssble per P è ottma se e solo se esste un vettore y R N tale che, per ogn (, j) A s ha: c = c y + y < x = u (se u + ) c > x = j Progetto e Ottmzzazone d Ret 5-6 7

Percors, cammn e ccl (rcham) Sa G = (N,A) un grafo orentato: Un percorso n G è una sequenza v, a, v, a,, a k, v k n cu ogn v è un nodo, ogn a è un arco e, per ogn k, a = (v -, v ) oppure a = (v,v - ) Un percorso v, a, v, a,, a k, v k, n G è detto orentato se, per ogn k, a = (v -,v ) Un percorso (orentato) senza rpetzone d nod è detto cammno (orentato) Il sottografo composto dal cammno v, a, v, a,, a k, v k dall arco (v k, v ) oppure (v, v k ) è detto cclo e Il sottografo composto dal cammno orentato v, a, v, a,, a k, v k e dall arco (v k, v ) èdettocclo orentato Progetto e Ottmzzazone d Ret 5-6 8

Problema d cammno mnmo Dato un cammno orentato P n un grafo G con pes sugl arch l uv, (u, v) A, defnamo lunghezza del cammno P la somma delle lunghezze de suo arch: l( P) = ( u, v) P luv Sa L =max (l uv : (u,v) A) Istanza: un grafo orentato G = (N, A) con pes (lunghezze) l uv, (u,v) A, assocat agl arch; un nodo r V. Problema: trovare, per ogn v N, un cammno orentato da r a v d lunghezza mnma. Progetto e Ottmzzazone d Ret 5-6 9

Ipotes G contene un cammno orentato da r a cascuno degl altr suo nod In caso contraro, s aggungono al grafo arch del tpo (r,v) per cascun nodo v per cu non esste n G un cammno da r a. Assocando a tal arch (r,v) un peso suffcentemente grande (quanto?), quest saranno contenut n un cammno mnmo se e solo se non esste un cammno da r a v nel grafo orgnaro. Progetto e Ottmzzazone d Ret 5-6

Ipotes G non contene ccl d lunghezza negatva raggungbl da r In questo caso, esste almeno un percorso d lunghezza mnma fra r e v, v V, che è un cammno (coè non rpete nod): P 3 r P u w P 4 v Il cammno P -P -P 4 P ha lunghezza non maggore del percorso (mnmo) P -P -P 3 -P -P 4 Progetto e Ottmzzazone d Ret 5-6

Ipotes (conseguenze) D fatto, gl algortm per l calcolo d cammn mnm determnano percors mnm da r agl altr nod Nel caso n cu G possa contenere ccl negatv raggungbl da r, l percorso mnmo può attraversare un cclo nfnte volte. Per calcolare l cammno mnmo è qund necessaro mporre un vncolo che evt la rpetzone de nod Tale vncolo rende l problema NP-hard. Progetto e Ottmzzazone d Ret 5-6

Struttura della soluzone ottma Propretà. (Eredtaretà della struttura ottma) Se un cammno r, a, v, a,,a k, v k è un cammno mnmo da r a v k, allora per ogn q =,,,k- l cammno r, a, v, a,, a q, v q è un cammno mnmo da r a v q r P P u 3 v P -P 3 cammno mnmo da r a v P cammno mnmo da r a u Progetto e Ottmzzazone d Ret 5-6 3

Struttura della soluzone ottma r P u Hp: P - P 3 P cammno mnmo 3 v P Supponamo che P non sa un cammno mnmo da r a u e rsult l(p ) > l(p ). Allora l percorso (notare che P e P 3 possono essere non dsgunt) P -P 3 ha lunghezza nferore a l(p -P 3 ). Dato che G non contene ccl negatv, P -P 3 almeno un cammno P da r a v con l(p) < l(p -P 3 ) contene Progetto e Ottmzzazone d Ret 5-6 4

Albero de cammn mnm Defnzone. Un albero T = (N, A ) d radce r è detto albero de cammn mnm rspetto alla funzone lunghezza l: A R se A A è tale che, per ogn v V, l cammno da r a v n T è un cammno mnmo da r a v n G. Teorema. Sa G = (N, A) un grafo orentato, r V, e l: A R. Allora esste un albero de cammn mnm (d radce r) rspetto ad l Progetto e Ottmzzazone d Ret 5-6 5

Albero de cammn mnm Dmostrazone Sa A A un nseme mnmale contente per ogn v N, un cammno mnmo da r a v n G, La Propretà mplca che, per cascun nodo v N, A contene, un unco arco entrante. Qund, A =n ed l corrspondente sottografo contene esattamante un cammno da r a v. Progetto e Ottmzzazone d Ret 5-6 6

Esempo 4 r - 3 6 3 5 Albero de cammn mnm Progetto e Ottmzzazone d Ret 5-6 7

Potenzal Una funzone y:v R è detta potenzale se y v -y u l uv, per ogn (u,v) A () Osservazone: y non dpende dal nodo r. Teorema Sa G = (N, A) un grafo orentato, r V, ed l: A R. Allora esste un potenzale se e solo se ogn cclo orentato ha lunghezza non negatva. Inoltre, se l è ntera, esste un potezale ntero. Progetto e Ottmzzazone d Ret 5-6 8

Dmostrazone Necesstà Sa y un potenzale e C = v,a,v,a,,a k,v k = v un cclo orentato. Allora: l k ( C) l( a ) ( y ) y = = k = v v = Suffcenza Ogn cclo orentato ha lunghezza non negatva. Per ogn v V, sa y v la lunghezza mnma d un percorso (data l potes è un cammno) che termna n v (ed nza n un nodo d V qualsas). La relatva funzone y è un potenzale. Infatt, se non lo fosse, essterebbe un arco (u,v) per cu y v - y u > l uv. Indcando con P l percorso mnmo entrante n u, s ha che P -{(u,v)} sarebbe un percorso d lunghezza nferore a y v, contraddzone. Progetto e Ottmzzazone d Ret 5-6 9

Costruzone d un potenzale La dmostrazone fornsce una regola d costruzone d un potenzale n assenza d ccl negatv. Esempo: - 4 3 3 y 6 3 5-4 5 - Progetto e Ottmzzazone d Ret 5-6

Osservazone In presenza d ccl negatv, la regola (ovvamente) fallsce. Esempo: - - r - - y r - - - - < - (-) = l arco (r,) vola la condzone Progetto e Ottmzzazone d Ret 5-6

Costruzone d un potenzale (II) Sa r un nodo d G. Per ogn v N, sa y v la lunghezza mnma d un percorso da r a v. La funzone y è un potenzale. Se non lo fosse, essterebbe un arco (u,v) per cu y v > y u +l uv. Allora, concatenando l arco (u,v) con l cammno P ru s ottene un nuovo cammno da r a v d lunghezza nferore a y v P ru u r v P rv Progetto e Ottmzzazone d Ret 5-6

Costruzone d un potenzale (II) Esempo 3 4 y r= y r - 3 3 6 3 5 4 3 5 - Osservare che y' v y v, per ogn v V Domanda: è possble aumentare y' v per qualche v? Progetto e Ottmzzazone d Ret 5-6 3

Costruzone d un potenzale (II) Istanza: un grafo orentato G=(V,A) con pes (lunghezze) l uv, (u,v) A, assocat agl arch; un nodo r V. Problema: determnare un potenzale y tale che y v y r sa massmo, per cascun v V. Progetto e Ottmzzazone d Ret 5-6 4

Propretà de potenzal Dato un potenzale y, sottraendo y r a cascun y v, v N, s ottene un nuovo potenzale per cu y r =. Un qualsas potenzale (con y r = ) fornsce lmtazon nferor delle lunghezze de cammn mnm: Lemma. Sa y potenzale e P =r=v,a,v,a,, a k,v un cammno da r a v. Allora l(p) y v Dmostrazone. Vale la seguente dsuguaglanza: k k l P = ( ) ( ) a v v v v v = l = y y = y Progetto e Ottmzzazone d Ret 5-6 5 k y = y

Relazone mn-max Teorema (max potenzale mn lavoro). Dato un grafo orentato G = (N, A), una coppa d suo nod r e v ed una qualunque funzone lunghezza l: A R, la massma dfferenza d potenzale y v y r è par alla mnma lunghezza d un cammno da r a v. Inoltre, se le lunghezze sono ntere, tale potenzale è ntero. Progetto e Ottmzzazone d Ret 5-6 6

Relazone mn-max Dmostrazone Dal lemma precedente, sappamo che l potenzale fornsce una lmtazone nferore della lunghezza del cammno mnmo da r a v, v N. Inoltre, ponendo y v par alla lunghezza d un cammno mnmo da r a v, s ottene un potenzale. Tale potenzale è qund tale da massmzzare y v y r per ogn v N. Progetto e Ottmzzazone d Ret 5-6 7

Algortmo d Ford Idea chave Calcolare un potenzale e contemporaneamente un cammno P da r a v d lunghezza par a y v, v N (dal teorema precedente derva che P è un cammno da r a v d lunghezza mnma). Algortmo d dscesa duale In una generca terazone s mantene un vettore d dstanze y che non è un potenzale. In partcolare, y v è la lunghezza d un qualche cammno da r a v. S usa un vettore de predecessor p, n cu p v contene l predecessore d v nel cammno d lunghezza y v ndvduato. Progetto e Ottmzzazone d Ret 5-6 8

Algortmo d Ford Inzalzzazone y r =, y v = per ogn v V, v r. whle (esste un arco per cu y v - y u > l uv ){ y v := y u + l uv ; p v := u; } Progetto e Ottmzzazone d Ret 5-6 9

Esempo Inzalzzazone r 6 3 4-3 5 y p r - 3-4 - 5 - Progetto e Ottmzzazone d Ret 5-6 3

Esempo Iterazone arco scelto: (r,3) 4 r y p r - 3 3-6 r 6 3 6 5 4-5 - Progetto e Ottmzzazone d Ret 5-6 3

Esempo Iterazone arco scelto: (3,5) y p 4 r r - 3 3-6 r 6 3 5 6 7 4-5 7 3 Progetto e Ottmzzazone d Ret 5-6 3

Esempo Iterazone 3 arco scelto: (5,4) y p 4 r r - 3 3-6 r 6 3 5 6 7 4 5 5 7 3 Progetto e Ottmzzazone d Ret 5-6 33

Esempo Iterazone 4 arco scelto: (r,) y p 4 r r - 3 3 r 6 r 6 3 5 6 7 4 5 5 7 3 Progetto e Ottmzzazone d Ret 5-6 34

Esempo Iterazone 5 arco scelto: (,5) r 6 3-4 5 6 3 r 3 y p 4 5 5 r 6 r Osservazone l arco (3,5) esce dall albero ed è sosttuto da (,5), mentre l arco (5,4) dventa volato (!!) Progetto e Ottmzzazone d Ret 5-6 35

Esempo Iterazone 6 arco scelto: (,4) r 3 4-3 r 3 y p r 6 r 6 3 5 6 4 3 5 Progetto e Ottmzzazone d Ret 5-6 36

Esempo Iterazone 7 arco scelto: (,3) r 3 4-3 r y p r 6 3 5 3 3 3 4 3 5 Stop: non esstono arch volat Progetto e Ottmzzazone d Ret 5-6 37

Anals Proposzone. Per ogn arco del grafo de predecessor G p, rsulta y v - y u l uv Dm: Quando un arco (u,v) vene nserto, s esegue y v =y u +l uv. Nelle terazon successve: y u può dmnure, e causare y v -y u > l uv (arco (5,4) all ter. 3) y v può dmnure, ma n questo caso (u,v) esce da G p Progetto e Ottmzzazone d Ret 5-6 38

Progetto e Ottmzzazone d Ret 5-6 39 Anals Proposzone. Ad una generca terazone l grafo G p, contene un cammno P v da r a cascun v per cu y v d lunghezza l(p v ) y v Infatt, sa P v l cammno r=v,a,v,a,, a k,v. Dalla Proposzone s ha che: ( ) ( ) v v v k v v k a v y y y y y l P l k = = = = =

Complesstà Se la funzone lunghezza l:a Z è ntera, l algortmo d Ford converge n O(n L). Infatt: la dstanza d un nodo da r è lmtata superormente da nl, n quanto un cammno contene al pù n- arch cascuno d lunghezza non superore a L. Analogamente, la mnma dstanza d un nodo da r è nl. Data l potes d nterezza, la dstanza s rduce almeno d una untà ad ogn aggornamento. Qund l massmo numero d aggornament per un nodo è nl e, complessvamente, n L. Dato che ogn terazone esegue un aggornamento, l algortmo converge n O(n L) terazon Progetto e Ottmzzazone d Ret 5-6 4

Valdtà Teorema L algortmo d Ford termna resttuendo l albero de cammn mnm da r a v, v N. La termnazone dell algortmo è dmostrata. La condzone d arresto e la Proposzone mplcano che l algortmo resttusce un grafo de predecessor G p n cu cascun arco soddsfa y v - y u = l uv. Qund, G p, contene un cammno P v da r a v per cu d lunghezza l(p v ) = y v Il teorema del max potenzale-mn lavoro mplca l ottmaltà d tal cammn Progetto e Ottmzzazone d Ret 5-6 4

Indvduazone d ccl negatv Cosa succede se G può contenere ccl orentat d lunghezza negatva? L algortmo d Ford può essere modfcato n modo da arrestars resttuendo un cclo negatvo se l grafo ne contene almeno uno. Esstono due crter per l ndvduazone:. Basato sulle dstanze y. Basato sulla struttura del grafo de predecessor Progetto e Ottmzzazone d Ret 5-6 4

Crtero Se G contene un cclo orentato d lunghezza negatva, allora non esste un potenzale. Qund, l algortmo d Ford contnua a dmnure le dstanze ndefntamente. Ma nl è una lmtazone nferore della lunghezza d un qualunque cammno quando G non contene ccl negatv. Qund, se una dstanza y v dventa mnore d nl esste un cclo negatvo. Esso è contenuto nel grafo de predecessor G p. Progetto e Ottmzzazone d Ret 5-6 43

Esempo Applchamo l algortmo al grafo ed alla funzone lunghezza d fgura r - 4-3 y p r= - 3-4 - Progetto e Ottmzzazone d Ret 5-6 44

Esempo Iter. arco scelto (r,) r - 4-3 y p r= r 3-4 - Progetto e Ottmzzazone d Ret 5-6 45

Esempo Iter. arco scelto (,3) r - 4-3 y p r= r 3 4 - Progetto e Ottmzzazone d Ret 5-6 46

Esempo Iter 3. arco scelto (3,4) r - 4-3 y p r= r 3 4 3 Progetto e Ottmzzazone d Ret 5-6 47

Esempo Iter 4. arco scelto (4,) r - 4-3 y p r= - 4 3 4 3 Iter 5. arco scelto (,3) r - 4-3 y p r= - 4 3-4 3 Progetto e Ottmzzazone d Ret 5-6 48

Esempo Iter 6. arco scelto (3,4) r - 4 Iter 7. arco scelto (4,) r - 4 - - 3 3 y p r= - 4 3-4 - 3 y p r= -3 4 3-4 - 3 Progetto e Ottmzzazone d Ret 5-6 49

Esempo Iter 8. arco scelto (,3) r - 4-3 y p r= -3 4 3-3 4-3 Iter 9. arco scelto (3,4) r - 4-3 y p r= -3 4 3-3 4-4 3 Progetto e Ottmzzazone d Ret 5-6 5

Esempo Iter. arco scelto (4,) r -5-4 - 3 y p r= -5 4 3-3 4-3 y = -5 < -nl e G p resttusce l cclo negatvo. Progetto e Ottmzzazone d Ret 5-6 5

Crtero Il numero d terazon dpende da L, qund la convergenza del crtero è n genere molto lenta. All terazone 4, l arco (r,) vene sosttuto dall arco (4,) generando un cclo n G p. Iter 4. arco scelto (4,) r In generale, questo può accadere se e solo se G contene un cclo orentato d lunghezza negatva. - 4-3 Progetto e Ottmzzazone d Ret 5-6 5

Crtero Qund, un secondo crtero d ndvduzone d ccl negatv n G consste nel verfcare (con frequenza fssata) se G p contene un cclo. r Dopo l aggornamento d un arco (u,v) [(,4)] s percorrono predecessor d u[4]. Se s ncoltra v[] allora G p contene un cclo. - 4-3 Progetto e Ottmzzazone d Ret 5-6 53

Anals Il secondo crtero è, n generale, molto pù effcente del prmo. Nell esempo, un cclo n G p appare alla terazone 4, mentre l crtero non ndvdua l cclo negatvo prma d terazon. Percorrere a rtroso predecessor d u ha complesstà lneare. La complesstà asntotca dell algortmo d Ford non camba se ad ogn passo, s aggunge la vsta a rtroso de predecessor del nodo u. Progetto e Ottmzzazone d Ret 5-6 54

Crcut ncrementant d costo negatvo Consderamo n G un cammno (non necessaramente orentato) ncrementante: v 3 6 ε ε ε w Se aumentamo l flusso d ε lungo l cammno (v, w) l costo vara del valore 3ε + ε 6ε. Il valore (3+-6) = - s dce costo del cammno. Se esste n G un crcuto x-ncrementante d costo negatvo posso, ncrementando d ε l flusso lungo l crcuto, dmnure l valore della soluzone corrente. Progetto e Ottmzzazone d Ret 5-6 55

Esempo,4,, 3, 5 3,, 4, 3, 3, 6, -4 - -3 - Notazone: (c, u, x ) 6 Grafo auslaro G(x) Un crcuto x-ncrementante d costo negatvo corrsponde ad un crcuto orentato d peso negatvo sul grafo auslaro Progetto e Ottmzzazone d Ret 5-6 56

Teorema (ottmaltà per assenza d crcut d costo negatvo) Una soluzone ammssble x è ottma se e solo se non esstono crcut x-ncrementant d costo negatvo. Dmostrazone Se G(x) ammette un cclo negatvo, ovvamente x non è ottma. Dmostramo l vceversa. Sa G (x) l grafo ottenuto aggungendo a G(x) un nodo r e collegando r a tutt nod n N, con costo c r =. Cerchamo un cammno mnmo da r a tutt gl altr nod. Se non esste un cclo negatvo n G (x), l algortmo d Ford rtorna un potenzale che soddsfa l seguente sstema Progetto e Ottmzzazone d Ret 5-6 57

Dmostrazone d dsequazon y' j y ' c' (, j) A( G'( x)) Ora, ponendo y =-y e rcordando che se x =u s ha c j =-c s ottene: c c y y + y + y j j se se x x = u Dalle condzon d ottmaltà segue la tes. Progetto e Ottmzzazone d Ret 5-6 58

Esempo Trovare l flusso d costo mnmo sul grafo d fgura a partre dalla soluzone ammssble rportata (d valore 4) 5,4,3,3,3,5,,6,3 +6-6,3,3,5,,6,3 Notazone: (c, u, x ) 5,4,3 Progetto e Ottmzzazone d Ret 5-6 59

Esempo Il grafo auslaro G (x) contene un cclo negatvo d valore -8: 5 - -5 - -6-5 - -5 Progetto e Ottmzzazone d Ret 5-6 6

Esempo Posso varare d 3 untà l flusso lungo questo cclo, ottenendo la soluzone seguente, d valore 8 5,4,,3,3,5,3,6,3 +6-6,3,3,5,3,6,3 5,4, Progetto e Ottmzzazone d Ret 5-6 6

Esempo Il grafo auslaro dventa: 5 - - - - - - -6 Questo grafo ammette l seguente potenzale: 5 Progetto e Ottmzzazone d Ret 5-6 6

Esempo - - r -3 - Pertanto, per l teorema precedente la soluzone d valore 8 è ottma - Progetto e Ottmzzazone d Ret 5-6 63

Progetto e Ottmzzazone d Ret 5-6 64 Un applcazone del mn cost flow Consderamo l seguente problema d PL: La matrce de A de coeffcent ha le seguent propretà:. I coeffcent sono o. Gl appaono sulle colonne n modo consecutvo (consecutve s property) 7 4 4 mn x x cx

Progetto e Ottmzzazone d Ret 5-6 65 Consecutve s property [ ] [ ] 7 4 4 mn = x y x cx Portamo l problema n forma standard e ntroducamo una rga rdondante x+y= A questo punto, sottraamo la rga dalla rga +, per = m, m-,,, ottenendo l nuovo problema

Progetto e Ottmzzazone d Ret 5-6 66 Consecutve s property 7 7 4 6 4 mn = x y x cx a b c d e e d c b a y y y 3 y 4 Rsolvere l problema d PL equvale a determnare l flusso a costo mnmo sul grafo d fgura x x 5 x 4 x x 3

Progetto e Ottmzzazone d Ret 5-6 67 Smplesso su ret Consderamo l problema d flusso a costo mnmo ), ( (P) ) ( s.t. mn ) ( ), ( ) ( ), ( ), ( A j x N b x x x c j j j j A j = + δ δ su G = (N, A), connesso.

Progetto e Ottmzzazone d Ret 5-6 68 Soluzon albero Poché G è connesso, ammette un albero rcoprente T Defnzone Una soluzone ammssble x per P s dce soluzone albero se, dato un albero rcoprente T d G s ha: ), ( ) ( ) ( ), ( ) ( ), ( = = + T j x N b x x j j j j δ δ

Esempo -4 + 4-6 -4 + 5 5-6 c = 3 3 - + - + Il grafo d snstra ha cost sugl arch. Invece, gl arch blu sul grafo d destra rappresentano una soluzone albero ( valor sugl arch sono fluss). Progetto e Ottmzzazone d Ret 5-6 69

Corrspondenza alber/soluzon Dato un albero T, possamo sceglere un suo nodo r come radce e rferre T come albero con radce n r. Data una soluzone albero, se T ha radce r e sceglamo un arco (, j) d T, s determna una partzone de nod d G n due nsem R e R\N, tal che l flusso tra R e R\N è supportato totalmente dall arco (, j) (nel verso concorde con l verso dell arco). In altre parole, ogn arco dell albero T ha un valore d flusso unvocamente determnato. Pertanto: Lemma Ad un albero T è assocata un unca soluzone albero. Progetto e Ottmzzazone d Ret 5-6 7

Esempo + R\N 5 5-4 -6 R - r + L arco rosso supporta tutto l flusso da R\N verso R. Progetto e Ottmzzazone d Ret 5-6 7

Corrspondenza alber/soluzon Osservazone Ad una soluzone ammssble, n generale, possono corrspondere dverse soluzon albero. Esempo Sa b() =, per ogn N. La soluzone x = è ammssble e ogn albero rcoprente T d G è una soluzone albero assocata alla soluzone x =. Progetto e Ottmzzazone d Ret 5-6 7

Corrspondenza alber/soluzon Teorema Se P ammette una soluzone ammssble, allora ha una soluzone albero ammssble. Se P ha soluzone ottma, allora ha una soluzone albero ottma Dmostrazone Parte Sa x una soluzone ammssble per P. Se x non è una soluzone albero, sgnfca che esste almeno un cclo C con la propretà che x > per ogn (, j) C. C può essere sempre orentato n modo che contenga almeno un arco reverse. Progetto e Ottmzzazone d Ret 5-6 73

Corrspondenza alber/soluzon Sa ε = mn x tale che (,j) è un arco reverse d C. La soluzone x ottenuta da x con la seguente tecnca: x = x + ε se (,j) è un arco forward d C x = x ε se (,j) è un arco reverse d C è ammssble e non contene pù C. Pongo x = x e retero fnché x è prva d ccl. Parte Sa x* una soluzone ottma. Se x* contene un crcuto, questo ha costo zero. Dfatt, x* non può contenere crcut C d costo negatvo (altrment x* non sarebbe ottma). Potendo sceglere l orentazone d C, sgnfca che se x* contene ccl, quest hanno costo zero. È suffcente, qund, applcare la tecnca precedente per ottenere una soluzone ottma albero. Progetto e Ottmzzazone d Ret 5-6 74

Conseguenza Il teorema precedente c consente d poter lmtare la rcerca della soluzone ottma alle sole soluzon albero. Una opportuna tecnca consente d passare da una soluzone albero ad una nuova soluzone albero. Consderamo la soluzone d fgura: -4 - a c + r 5 5 b d -6 + se aggungamo all albero n blu l arco (c, d), ottenamo un cclo C. Ora, sceglendo come orentazone del cclo quella dell arco (c, d), posso nvare 5 untà d flusso lungo l arco (c, d), svuotando l arco (r, b) e ottenendo una nuova soluzone albero. Progetto e Ottmzzazone d Ret 5-6 75

Conseguenza Il valore del flusso nvato lungo l nuovo arco è par al mnmo del flusso sugl arch reverse del cclo C. La nuova soluzone albero è, per costruzone, ammssble. -4 a + r b -6 6 6 - c 5 d + Progetto e Ottmzzazone d Ret 5-6 76

Potenzal d un nodo Data una soluzone albero T con radce n r, defnsco potenzale d un nodo la seguente quanttà: y = ove P è l cammno (unco) n T da r ad h. Osservazone h (, j) arco forward d P Il costo rdotto è stato defnto come c y r + = j ( j, ) arco reverse d P Dalla defnzone segue che l costo rdotto d un arco d T è par a zero. c h r c = c y + y j Progetto e Ottmzzazone d Ret 5-6 77

Esempo Dalle condzon d ottmaltà per l mn cost flow, sappamo che se l costo rdotto è maggore o uguale a zero per ogn arco del grafo T, samo n presenza d una soluzone ottma. Se la soluzone non è ottma, devo selezonare come arco da far entrare nella soluzone albero un arco con costo rdotto negatvo. r - -4 a b c = ( 4) + ( ) = 4 In questa soluzone, d valore 5*5 + 4* + *3 + *3 = 7, l arco selezonato è l arco (b, a). c -3 c = ( 3) + ( ) = d - Progetto e Ottmzzazone d Ret 5-6 78

Esempo La nuova soluzone vale *4 + 5* + * 3 + *3 = 56. I potenzal a nod valgono: + -4 a r b 5-6 c r = + ( 6) = 4-6 a b -4 c d -9 c d - - + c = ( 9) + ( ) = Poché la nuova soluzone ha cost rdott postv per gl arch T, essa è ottma. Progetto e Ottmzzazone d Ret 5-6 79

Algortmo del smplesso su ret Trova una soluzone albero ammssble, T ; Calcola potenzal de nod y ; whle esste un arco (, j) T tale che c y + y j < { sa C l cclo (orentato secondo (, j)) che s ottene aggungendo (, j) a T; f (C non contene arch reverse) then stop; else { ε = mn {x hk, t.c. (h, k) è un arco reverse d C}; scegl un arco reverse (l, m) d C t.c. x lm = ε; aumenta x d ε lungo l cclo C ; T =T (, j)\(l, m); aggorna y ; } } Progetto e Ottmzzazone d Ret 5-6 8

Osservazon Come s determna una soluzone albero nzale? + Metodo (o degl arch artfcal) Scelgo un nodo r. Per ogn nodo r, se b() >, nsersco n T l arco (, r), se b() < nsersco n T l arco (r, ). Se qualcuno d quest arch non esste n G, l aggungo al grafo con un costo M. -4 4 6 M M -6 Se la soluzone ottma non contene arch d costo M, allora l problema orgnaro era ammssble. - + Progetto e Ottmzzazone d Ret 5-6 8

Osservazon s Metodo u = Aggungo due nod s e t e l collego, rspettvamente a nod con b()> e a nod con b(k)<. La capactà u = d un arco (s, ) èpar ab(), la capactà d un arco (k, t) è par a b(k). Qund, calcolo l s-t flusso massmo. u=4 Se l flusso satura tutt gl arch aggunt, l problema orgnaro è ammssble. u= u=6 Termnazone dell algortmo t Per quanto rguarda la convergenza n un numero fnto d terazon del metodo, s rmanda al paragrafo del lbro d testo (pagg. 8/9) Progetto e Ottmzzazone d Ret 5-6 8

Progetto e Ottmzzazone d Ret 5-6 83 Smplesso su ret Come s adatta l algortmo precedente quando rentroducamo le capactà sugl arch? ), ( (P) ) ( s.t. mn ) ( ), ( ) ( ), ( ), ( A j u x N b x x x c j j j j A j = + δ δ

Progetto e Ottmzzazone d Ret 5-6 84 Soluzone albero Defnzone Una soluzone ammssble x per P s dce soluzone albero se, dato un albero rcoprente T d G e una partzone L, U degl arch d G non appartenent a T, s ha: Una soluzone albero s ndca con (T, L, U). U ), ( L ), ( ) ( ) ( ), ( ) ( ), ( = = = + j u x j x N b x x j j j j δ δ

Smplesso su ret Anche n questo caso s può dmostrare l seguente Teorema Se P ammette una soluzone ammssble, allora ha una soluzone albero ammssble. Se P ha soluzone ottma, allora ha una soluzone albero ottma Pertanto, c s può lmtare a esplorare soluzon albero (T, L, U). Progetto e Ottmzzazone d Ret 5-6 85

Smplesso su ret Osservazon. La presenza d capactà sugl arch modfca la modaltà d aggornamento della soluzone albero. Per verfcare l ottmaltà della soluzone bsogna consderare le condzon d ottmaltà anche per gl arch n U L algortmo modfcato è l seguente: Progetto e Ottmzzazone d Ret 5-6 86

Smplesso su ret Trova una soluzone albero ammssble, (T, L, U ); Calcola potenzal de nod y ; whle esste un arco (, j) L tale che c y + y j < or esste un arco (, j) U tale che c y + y j > { } sa C l cclo orentato n cu (, j) è forward se (, j) L oppure è reverse se (, j) U; f (C non contene arch reverse or C non contene arch forward d capactà fnta) then stop; else {ε = mn {x hk, t.c. (h, k) è un arco reverse d C}; ε = mn {u hk -x hk, t.c. (h, k) è un arco forward d C}; ε = mn {ε, ε }; scegl un arco reverse (l, m) d C t.c. x lm = ε oppure un arco forward (l, m) d C t.c. u lm -x lm = ε; aumenta x d ε lungo l cclo C ; T =T (, j)\(l, m); aggorna y ; } Progetto e Ottmzzazone d Ret 5-6 87

Esempo -4 + 4,6 8,,8 +8, 6 3, -6 7, 6,3,4 +5-5 c, u Progetto e Ottmzzazone d Ret 5-6 88

Esempo, 8,8 8, 5,6 6,8,6,,,3 6,6 5,5 x, u 4,4 4,4 5,5 Progetto e Ottmzzazone d Ret 5-6 89

Esempo Struttura (T, L, U) e potenzal a nod -8-5 8 6 c = 5 4 c = 3-5 c = 5-4 Valore della soluzone: 89 Progetto e Ottmzzazone d Ret 5-6 9

Esempo ε = -8 - verso del cclo ε = 5 ε = -4 ε = 4 arco entrante -5 Progetto e Ottmzzazone d Ret 5-6 9

Esempo -8-6 8 6 c = 3-4 c = 5 c = 3-8 Soluzone ottma d valore 66 Progetto e Ottmzzazone d Ret 5-6 9