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)

6. Catene di Markov a tempo continuo (CMTC)

Intorduzione alla teoria delle Catene di Markov

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

6. Catene di Markov a tempo continuo (CMTC)

6 Prodotti scalari e prodotti Hermitiani

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.

RICERCA OPERATIVA GRUPPO B prova scritta del 12 febbraio x2

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

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

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

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

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

RICERCA OPERATIVA GRUPPO A prova scritta del 12 febbraio 2009

Lezione 20 Maggio 29

RICHIAMI SULLA RAPPRESENTAZIONE IN COMPLEMENTO A 2

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

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

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

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

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

Modelli decisionali su grafi - Problemi di Localizzazione

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

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

Analisi Class Successioni Lezione 6 2 ottobre 2014

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

3 Partizioni dell unità 6

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Ω

Algoritmi euristici: III Ricerca Locale

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

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

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

Esercitazione sulle Basi di di Definizione

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

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

IL GRUPPO SIMMETRICO S n

PICCOLE OSCILLAZIONI ATTORNO ALLA POSIZIONE DI EQUILIBRIO

Capitolo 3 Covarianza, correlazione, bestfit lineari e non lineari

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

Analisi Matenatica Lezione 5 1 ottobre 2013

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

Esercizi sulle reti elettriche in corrente continua (parte 2)

Teoremi dei circuiti

RICERCA OPERATIVA GRUPPO B prova scritta del 22 gennaio 2009

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

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

Grafi ed equazioni topologiche

Support Vector Machines. Macchine a vettori di supporto

Rappresentazione dei numeri PH. 3.1, 3.2, 3.3

Rappresentazione dei numeri

Il traffico è un gioco?

Teoremi dei circuiti

Sorgenti Numeriche - Soluzioni

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

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

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

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

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

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

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

Risposta in frequenza

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

CAPITOLO 3 CIRCUITI DI RESISTORI

Tangenti a una conica: il metodo del Doppio sdoppiamento 1

UNIVERSITA DEGLI STUDI DI CASSINO FACOLTA DI INGEGNERIA

ANALISI STATISTICA DELLE INCERTEZZE CASUALI

Scrivere programmi corretti

Sistemi Intelligenti Relazione tra ottimizzazione e statistica - IV Alberto Borghese

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

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

Predimensionamento reti chiuse

3) Entropie condizionate, entropie congiunte ed informazione mutua

Predimensionamento reti chiuse

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

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

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

Circuiti elettrici in regime stazionario

Le quote e q sono incognite. Il sistema è ridondante: 3 equazioni (osservazioni) e 2 incognite.

La soluzione delle equazioni differenziali con il metodo di Galerkin

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

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

Elasticità nei mezzi continui

Limitazioni di ampiezza negli amplificatori reali

LE FREQUENZE CUMULATE

Teoria dell informazione e Meccanica Statistica

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

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

ALGEBRA LINEARE I (A) PER SCIENZE STATISTICHE, A.A. 2003/04, GEMMA PARMEGGIANI

Strumenti della Teoria dei Giochi per l Informatica A.A. 2009/10. Lecture 10: 6-7 Maggio Meccanismi con Pagamenti: Applicazioni e Limiti

Grafi ed equazioni topologiche

OPERAZIONI E INSIEMI NUMERICI

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

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

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

Transcript:

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

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 26-7 2

Osservazon Osservazone 2 Supponamo che. b() = per ogn N; 2. c = per ogn arco (, j) V. Sceglamo 2 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 26-7 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. y z x : (, j) A + (, j) δ ( ) : x c x x u x j ( j, ) δ ( ) = b( ) N (, j) A Progetto e Ottmzzazone d Ret 26-7 4

Progetto e Ottmzzazone d Ret 26-7 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 26-7 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 = > Abbamo qund dmostrato l seguente teorema: Progetto e Ottmzzazone d Ret 26-7 7

Condzon d complementartà 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 soddsfa le seguent condzon: Se c = c y + y j < allora x = u (se u + ) Se < x < u allora c = Se c > allora x = Progetto e Ottmzzazone d Ret 26-7 8

Percors, cammn e ccl (rcham) Sa G = (N,A) un grafo orentato: Un percorso n G è una sequenza v, a, v, a 2,, 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 2,, 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 2,, 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 2,, a k, v k e dall arco (v k, v ) èdettocclo orentato Progetto e Ottmzzazone d Ret 26-7 9

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 26-7

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 v. 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 26-7

Ipotes 2 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 2 -P 4 P 2 ha lunghezza non maggore del percorso (mnmo) P -P 2 -P 3 -P 2 -P 4 Progetto e Ottmzzazone d Ret 26-7 2

Ipotes 2 (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 26-7 3

Struttura della soluzone ottma Propretà. (Eredtaretà della struttura ottma) Se un cammno r, a, v, a 2,,a k, v k è un cammno mnmo da r a v k, allora per ogn q =,2,,k- l cammno r, a, v, a 2,, 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 26-7 4

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

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 26-7 6

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 esattamente un cammno da r a v. Progetto e Ottmzzazone d Ret 26-7 7

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

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 potenzale ntero. Progetto e Ottmzzazone d Ret 26-7 9

Dmostrazone Necesstà Sa y un potenzale e C = v,a,v,a 2,,a k,v k = v un cclo orentato. Allora: Suffcenza l k ( C) l( a ) ( y ) y = = k = v v = Defnsco un algortmo che costrusce un potenzale nell potes che non c sano ccl d lunghezza negatva. Progetto e Ottmzzazone d Ret 26-7 2

Costruzone d un potenzale Per ogn nodo v, sa y v la lunghezza d un percorso d lunghezza mnma da un qualsas altro qualsas nodo u v a v. La funzone y v è 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 l percorso P -{(u,v)} sarebbe un percorso d lunghezza nferore a y v, ovvero una contraddzone. Osservazone Questo algortmo è valdo anche sceglendo, per ogn nodo v, lo stesso nodo r da cu calcolare l percorso mnmo. Ovvero: Progetto e Ottmzzazone d Ret 26-7 2

Costruzone d un potenzale 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 26-7 22

Costruzone d un potenzale (II) Esempo 2 r 6 2 2 3 2 3 4-3 2-5 y y r= 2 3 4 2 2 3 2 5 - y ed y sono due potenzal ammssbl, ma y' v y v, per ogn v V Domanda: è possble aumentare y v per qualche v? Progetto e Ottmzzazone d Ret 26-7 23

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 26-7 24

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 2,, a k,v 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 26-7 25 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 26-7 26

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 26-7 27

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 26-7 28

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 26-7 29

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

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

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

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

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

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

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

Esempo Iterazone 7 arco scelto: (2,3) r 2 2 3 2 4-3 r 2 y p 2 r 6 3 5 3 3 3 2 4 3 2 5 2 Stop: non esstono arch volat Progetto e Ottmzzazone d Ret 26-7 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: Se y u dmnusce, allora y v -y u > l uv (Es: arco (5,4) all ter. 3) Se, nvece, dmnusce y v s ha che (u,v) esce da G p Progetto e Ottmzzazone d Ret 26-7 38

Progetto e Ottmzzazone d Ret 26-7 39 Anals Proposzone 2. 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 2,, 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 2 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 è 2nL e, complessvamente, 2n 2 L. Dato che ogn terazone esegue un aggornamento, l algortmo converge n O(n 2 L) terazon Progetto e Ottmzzazone d Ret 26-7 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 26-7 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 2. Basato sulla struttura del grafo de predecessor Progetto e Ottmzzazone d Ret 26-7 42

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 26-7 43

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

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

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

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

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

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

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

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

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

Crtero 2 Qund, un secondo crtero d ndvduzone d ccl negatv n G consste nel verfcare (con frequenza fssata) se G p contene un cclo. 2 r Dopo l aggornamento d un arco (u,v) [(2,4)] s percorrono predecessor d u[4]. Se s ncoltra v[2] allora G p contene un cclo. - 4-3 Progetto e Ottmzzazone d Ret 26-7 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 26-7 54

Crcut ncrementant d costo negatvo Consderamo n G un cammno (non necessaramente orentato) ncrementante: v 3 2 6 ε ε ε w Se aumentamo l flusso d ε lungo l cammno (v, w) l costo vara del valore 3ε + 2ε 6ε. Il valore (3+2-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 26-7 55

Esempo,4,2, 3, 5 3, 2, 2 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 26-7 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 26-7 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 26-7 58

Esempo Trovare l flusso d costo mnmo sul grafo d fgura a partre dalla soluzone ammssble rportata (d valore 42) 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 26-7 59

Esempo Il grafo auslaro G (x) contene un cclo negatvo d valore -8: 5 - -5 - -6-5 - -5 Progetto e Ottmzzazone d Ret 26-7 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 26-7 6

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

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

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

Progetto e Ottmzzazone d Ret 26-7 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 26-7 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 2 y 3 y 4 Rsolvere l problema d PL equvale a determnare l flusso a costo mnmo sul grafo d fgura x 2 x 5 x 4 x x 3

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

Progetto e Ottmzzazone d Ret 26-7 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 ), ( ) ( ) ( ), ( ) ( ), ( δ δ

Esempo -4 + 4-6 -4 + 5 5-6 c = 2 3 3-2 + - + 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 26-7 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 26-7 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 26-7 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 26-7 72

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 26-7 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 2 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 26-7 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 26-7 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 26-7 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 26-7 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 = 2 ( 4) + ( ) = 4 In questa soluzone, d valore 5*5 + 4* + *3 + *3 = 7, l arco selezonato è l arco (b, a). c -3 c = 2 ( 3) + ( ) = 2 d - Progetto e Ottmzzazone d Ret 26-7 78

Esempo La nuova soluzone vale *4 + 5*2 + * 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 = 2 ( 9) + ( ) = Poché la nuova soluzone ha cost rdott postv per gl arch T, essa è ottma. Progetto e Ottmzzazone d Ret 26-7 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 26-7 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 26-7 8

Osservazon s Metodo 2 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 26-7 82

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

Progetto e Ottmzzazone d Ret 26-7 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 δ δ

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 26-7 85

Smplesso su ret Osservazon. La presenza d capactà sugl arch modfca la modaltà d aggornamento della soluzone albero 2. 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 26-7 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}; ε 2 = mn {u hk -x hk, t.c. (h, k) è un arco forward d C}; ε = mn {ε, ε 2 }; 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 26-7 87

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

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

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

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

Esempo -8-2 6 8 6 2 c = 3 2-4 c = 5 c = 2 3 2-8 Soluzone ottma d valore 66 Progetto e Ottmzzazone d Ret 26-7 92