programa˘c~ao em redes - sweetsweet.ua.pt/crequejo/teach/mio.or.pdf · a matriz a tem caracter...

132
Programa¸c˜ ao em Redes Programa¸ ao em Redes C. Requejo (UA) etodos de Investiga¸ ao Operacional MIO 2015-2016 1 / 132

Upload: truongtuyen

Post on 14-Feb-2019

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Programacao em Redes

Programacao em Redes

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 1 / 132

Page 2: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transportes

Problema de Transportes

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 2 / 132

Page 3: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transportes

Dados

m pontos origem, cada um com ai (i = 1, . . . ,m) unidades dum certoproduto;

n pontos destino, cada um requerendo bj (j = 1, . . . , n) unidades domesmo produto;

cij custo unitario de transporte entre cada origem i e cada destino j .

Pretende-se determinar a forma admissıvel de transportar o produto entreas origens e os destinos com custo mınimo.

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 3 / 132

Page 4: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transportes

Sendoxij no de unidades transportadas entre a origem i e o destino j .

e assumindo que (com ai e bj nao negativos)

m∑i=1

ai =n∑

j=1

bj

se∑m

i=1 ai >∑n

j=1 bj cria-se um destino fictıcio;se∑m

i=1 ai <∑n

j=1 bj cria-se uma origem fictıcia;

em ambos os casos os custos de transporte associados serao nulos.

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 4 / 132

Page 5: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transportes

A formulacao em P.L. do problema de transportes (P.T.) e:

min

m∑i=1

n∑j=1

cijxij

s. a:n∑

j=1

xij = ai , i = 1, . . . ,m

m∑i=1

xij = bj , j = 1, . . . , n

xij ≥ 0, i = 1, . . . ,m, j = 1, . . . , n

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 5 / 132

Page 6: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transportes

em notacao matricial e:

min cxs. a:

Ax = bx ≥ 0

em quex = (x11, . . . , x1n, x21, . . . , x2n, . . . , xmn)t

c = (c11, . . . , c1n, c21, . . . , c2n, . . . , cmn)

b = (a1, . . . , am, b1, . . . , bn)t

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 6 / 132

Page 7: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transportes

A e uma matriz (m + n)× (mn) em que cada coluna (i , j) eAij = ei + em+j , i.e. tem a forma especial

A =

1 0 · · · 00 1 · · · 0...

.... . .

...0 0 · · · 1I I · · · I

em que1 e um vector linha de 1′s com dimensao n0 e um vector linha de 0′s com dimensao nI e a matriz identidade n × nQualquer submatriz basica de A e triangular

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 7 / 132

Page 8: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transportes

Exemplo

Consideremos um P.T. com 3 origens e 4 destinos, com

a = [ai ] = [6 8 10],

b = [bj ] = [4 6 8 6]

e os custos unitarios de transporte dados por C = [cij ] =

1 2 3 44 3 2 00 2 2 1

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 8 / 132

Page 9: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transportes

omitindo os zeros a matriz A tem a forma

1 1 1 11 1 1 1

1 1 1 1

1 1 11 1 1

1 1 11 1 1

e b =

68

104686

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 9 / 132

Page 10: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transportes

minx11 + 2x12 + 3x13 + 4x14 + 4x21 + 3x22 + 2x23 + 2x32 + 2x33 + x34

s. a: x11 + x12 + x13 + x14 = 6x21 + x22 + x23 + x24 = 8x31 + x32 + x33 + x34 = 10

x11 + x21 + x31 = 4x12 + x22 + x32 = 6x13 + x23 + x33 = 8x14 + x24 + x34 = 6

xij ≥ 0, i = 1, . . . ,m, j = 1, . . . , n

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 10 / 132

Page 11: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transportes

Propriedades do Problema de Transportes

O problema de transportes tem sempre uma solucao admissıvel

(xij =aibj∑

ai=

aibj∑bj

)

Tem-se 0 ≤ xij ≤ min{ai , bj}, ∀i , jDos dois items anteriores resulta que o P.T. tem sempre solucaooptima limitada

A matriz A tem caracterıstica igual a m + n − 1

A matriz A e totalmente unimodular (o det. de qq submat. quadradatem valor 0, 1 ou −1)

Se os ai (∀i) e os bj (∀j) sao inteiros, entao qualquer solucao basicaadmissıvel tem valores inteiros

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 11 / 132

Page 12: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transportes

o prob. de transportes e facilmente representado pelo quadro seguinte comm linhas e n colunas para alem da coluna dos ai e da linha dos bj

x11 x12 · · · x1j · · · x1n a1

x21 x22 · · · x2j · · · x2n a2...

......

...xi1 xi2 · · · xij · · · xin ai...

......

......

xm1 xm2 · · · xmj · · · xmn amb1 b2 · · · bj · · · bn

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 12 / 132

Page 13: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transportes

Representacao e caracterizacao de uma base

Sendo B uma submatriz basica de A, como A e totalmente unimodulardet(B) = ±1, det(B−1) = ±1 e os elementos de B−1 sao todos 0, 1 ou−1.

Deste modo, qualquer coluna actualizada do quadro do simplex B−1Aj temapenas os elementos 0, 1 ou −1 e, portanto, qualquer uma destas colunaspode ser obtida pela simples adicao e subtraccao de colunas basicas.

Esse facto pode ser visto no quadro do P.T. atraves de um ciclo.

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 13 / 132

Page 14: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transportes

No quadro do P.T. um ciclo e uma sequencia de variaveis tais que

cada par de variaveis adjacentes esta na mesma linha ou na mesmacoluna;

nenhum conjunto de 3 ou mais variaveis consecutivas esta na mesmalinha ou na mesma coluna;

a primeira e a ultima variavel da sequencia estao na mesma linha ouna mesma coluna.

• • • •• •

• •• •

(1,2),(1,4),(3,4),(3,2) (1,1),(1,4),(2,4)(2,6),(4,6),(4,1)

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 14 / 132

Page 15: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transportes

Qualquer ciclo tem um numero par de variaveis.

Se T for um subconjunto das colunas da matriz A, as colunas de Tsao linearmente dependentes se e so se as var. corresp., ou umsubconj. delas, formam um ciclo.

Uma base pode ser representada por uma arvore de suporte (grafoconexo e sem ciclos) com pelo menos uma celula em cd linha e cdcoluna.

B B B B B B B BB B B BB BB B B B

base 1 base 2

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 15 / 132

Page 16: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transportes

a cada celula basica no quadro corresponde um arco no grafo do P.T.

Uma base possui m + n − 1 arcos basicos ou cel. e nao possui ciclos

cada celula nao basica forma um ciclo com um subconjunto de cel.basicas

as celulas basicas desse ciclo podem ser usadas para representar a naobasica (nem sp sao necess. todas as cel. bas. desse ciclo, apenas os’cantos’)Ex: base 1: a32 = a36 − a16 + a12

base 2: a32 = a22 − a24 + a34

as cel. basicas podem ser representadas por uma arvore de suporte

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 16 / 132

Page 17: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transportes

O problema dual

max∑

i aiui +∑

j bjvjs. a:

ui + vj ≤ cij , i = 1, . . . ,m, j = 1, . . . , n

ui , vj livres, i = 1, . . . ,m, j = 1, . . . , n

As condicoes de complementaridade de slacks sao

(cij − ui − vj)xij = 0, i = 1, . . . ,m, j = 1, . . . , n

Se determinarmos um par de sol. admissıveis para o primal e dual, queverifiquem as cond. de complementaridade, elas serao optimas.

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 17 / 132

Page 18: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transportes

O metodo simplex para o P.T.

1 Determinar uma sol. bas. admiss. inicial.

2 Testar a optimalidade da sol. actual.Para isso calcular os custos reduzidos zij − cij para cada var. naobasica. Se todos zij − cij ≤ 0, entao STOP a sol. e optima, casocontrario continuar no Passo 3.

3 Seleccionar as variaveis de entrada e de saıda da base.

4 Obter a nova sol. bas. admiss. e repetir o Passo 2.

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 18 / 132

Page 19: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transportes

Passo 1. Obtencao de uma sol. bas. admiss. inicial

Como escolher o valor para exactamente m + n − 1 var. bas. ?

1. Metodo do canto superior esquerdo ou do canto noroeste (NW)

tornar bas. a var. x11 atribuindo-lhe o maior valor possıvelx11 = min{a1, b1} esgotando ou a origem 1 ou o destino 1

no caso 1, a linha 1 deixa de ser considerada e tornamos bas. a var.x21 atribuindo-lhe o maior valor possıvel x21 = min{a2, (b1 − x11)}esgotando ou a origem 2 ou o destino 1

no caso 2, a coluna 1 deixa de ser considerada e tornamos bas. a var.x12 atribuindo-lhe o maior valor possıvel x12 = min{(a2 − x11), b2}esgotando ou a origem 1 ou o destino 2

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 19 / 132

Page 20: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transportes

em cd passo do met. esgotamos ou uma origem ou um destino econtinuamos no caso 1 na mesma coluna e linha seguinte, no caso 2na mesma linha e coluna seguinte

no max. obtemos n + m − 1 var. positivas que nao formam ciclo

se esgotarmos simultaneamente uma origem e um destino, podemosatribuir um zero a proxima var. da mesma linha ou da mesma colunae continuar como anteriormente

Desvantagem: nao tem em conta a matriz dos custos.

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 20 / 132

Page 21: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transportes

Exemplo

5 3 2 100

4 2 1 50

80 30 40

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 21 / 132

Page 22: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transportes

2. Metodo do mınimo da matriz de custosem cd passo do met. torna-se bas. a var. a que corresponde omenor custo da matrizconsidere o exemplo anterior

3. Metodo de VogelEm cada passo do met. torna-se bas. a var. a quecorresponde o menor custo da linha ou coluna associada amaior das diferencas entre os dois menores custos de cadalinha e cada coluna.

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 22 / 132

Page 23: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transportes

Exemplo

8 3 5 9 200

1 7 4 6 700

3 8 2 4 100

250 350 200 200

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 23 / 132

Page 24: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transportes

Passo 2. Testar a optimalidade da sol. bas. admiss. actual

calculo dos custos reduzidos zij − cij para cd var. nao basica

se zij − cij ≤ 0 para todas as var., STOP a sol. actual e optima, senaocontinuar no Passo 3.

ha dois modos de calculo dos custos reduzidos

(use o exemplo usado no met. de Vogel, mas det. a sol. bas. admiss. inicialatraves do met. canto noroeste)

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 24 / 132

Page 25: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transportes

1. Metodo de Stepping-Stonebaseia-se no met. simplex

construcao do ciclo associado a cd var. nao bas.calculo dos custos reduzidos zij − cij para cd var. naobasica em que

zij − cij =∑

xk1k2v .b.ciclo

−(⊕/ ck1k2)− cij

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 25 / 132

Page 26: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transportes

2. Metodo de Dantzigbaseia-se nos resultados da dualidade

construir um vector (u, v) que verifique as cond. decomplement. de slacks para isso

const. um sist. com m + n − 1 equacoes: se xij e var.bas. entao ui + vj = cijcomo uma das m + n rest. do prob. primal eredundante, este sistema e indeterminado, pelo que sefixa o valor de uma das var. duais a zeroresolucao do sist.

calculo dos custos reduzidos zij − cij para cd var. naobasica em que

zij − cij = ui + vj − cij

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 26 / 132

Page 27: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transportes

Passo 3. Seleccionar as var. de entrada e saıda na base

escolher a var. a entrar na base: determinar xkl tal que

zkl − ckl = max{zij − cij , zij − cij > 0}

construir o ciclo correspondente a var. de entrada na base xkl

escolher a var. a sair da base: determinar

θ = min{xij , xij tem sinal no ciclo de xkl}

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 27 / 132

Page 28: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transportes

Passo 4. Obter a nova sol. bas. admissıvel

alterar apenas o valor das var. no ciclo da var. xkl que entra na base

x ij =

{xij + θ se xij tem sinal ⊕ no cicloxij − θ se xij tem sinal no ciclo

novo valor da f.o. ez = z − θ(zkl − ckl)

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 28 / 132

Page 29: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transportes

Degenerescencia - Metodo da Perturbacao

a degenerescencia no P.T. e frequente e manifesta-se sp que surjamempates no processo de obtencao de uma sol. bas. admiss. inicial ouquando da escolha da var. a ser substituıda na base

em caso de empate a escolha pode ser arbitraria, contudo existe a tecnicada perturbacao que permite identificar as var. a tomar como basicas deforma a evitar a possıvel entrada em ciclo

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 29 / 132

Page 30: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transportes

o met. da perturbacao consiste em formular um novo P.T. semdegenerescencia, modificando ligeiramente os valores de ai e bj daseguinte forma

ai = ai + ε i = 1, . . . ,m

bj = bj j = 1, . . . , n − 1

bn = bn + mε

para ε > 0 e arbitrariamente pequeno, para que a sol. obtida seja muitoproxima da sol. correcta.

Nota: tb podemos usar

ai = ai i = 1, . . . ,m − 1am = am + nεbj = bj + ε j = 1, . . . , n

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 30 / 132

Page 31: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transportes

considere o seguinte exemplo de um P.T.

4 3 1 6 1 700

1 3 2 1 5 400

2 3 1 2 4 300

500 200 300 300 100

e aplique o met. canto noroeste para obtencao de uma sol. bas. admiss.inicial.

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 31 / 132

Page 32: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transhipment

Problema de Transhipment

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 32 / 132

Page 33: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transhipment

Problema de Transhipment

o P.T. pode ser visto como um caso particular do prob. geral que e oprob. de Transhipment (transfega, trans-expedicao)

considerando uma rede com n nodos que podem ser

origens (1 ≤ i ≤ r)destinos (r + 1 ≤ i ≤ s)entrepostos (s + 1 ≤ i ≤ n)

a soma total das disponibilidades nas origens e igual a soma total dasnecessidades nos destinos

qualquer que seja o nodo e possıvel transportar o produto de e paraele

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 33 / 132

Page 34: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transhipment

Problema de Transhipment

se o nodo e

origemquant. disponıvel = quant. sai - quant. entra

destinoquant. necessaria = quant. entra - quant. sai

entrepostoquant. sai = quant. entra

resolucao atraves da sua transformacao num prob. transportes

como transformar?

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 34 / 132

Page 35: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transhipment

Problema de Transhipment

seja

ai = disponibilidade na origem i (1 ≤ i ≤ r)bi = necessidade no destino i (r + 1 ≤ i ≤ s)xij quant. a transportar de i para j , i 6= j

entao∑j 6=i

xij −∑j 6=i

xji = ai origem i (1 ≤ i ≤ r):∑j 6=i

xji −∑j 6=i

xij = bi destino i (r + 1 ≤ i ≤ s):∑j 6=i

xij −∑j 6=i

xji = 0 entreposto i (s + 1 ≤ i ≤ n):

xij ≥ 0

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 35 / 132

Page 36: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transhipment

Problema de Transhipment

considerando

cij = custo unitario de transporte de i para jci = custo unitario de transhipment em iti = quant. sujeita a transhipment em i

a f.o. ficamin

∑i

∑j ,j 6=i

cijxij +∑i

ci ti

(o ultimo termo e um modo de penalizar o que nao e necessario:se e origem: porque entra?

se e destino: porque sai?)

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 36 / 132

Page 37: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transhipment

Problema de Transhipment

temos

origem i (1 ≤ i ≤ r):

ti =∑j 6=i

xji

destino i (r + 1 ≤ i ≤ s):

ti =∑j 6=i

xij

entreposto i (s + 1 ≤ i ≤ n):

ti =∑j 6=i

xij =∑j 6=i

xji

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 37 / 132

Page 38: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transhipment

Problema de Transhipment

definindo {xii = C − ticii = −ci

para i = 1, . . . , n e onde C e uma constante arbitrariamente grande quegaranta xii ≥ 0

podemos usar esta def. para eliminar ti nas expressoes anteriores

a nova f.o. ficamin

∑i

∑j

cijxij −∑i

ciiC

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 38 / 132

Page 39: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Transhipment

Problema de Transhipmentorigem i (1 ≤ i ≤ r):

∑j 6=i

xij −∑j 6=i

xji = ai ⇔{ ∑

j 6=i xij + xii = ai + C∑j 6=i xji + xii = C

destino i (r + 1 ≤ i ≤ s):

∑j 6=i

xji −∑j 6=i

xij = bi ⇔{ ∑

j 6=i xji + xii = bi + C∑j 6=i xij + xii = C

entreposto i (s + 1 ≤ i ≤ n):

∑j 6=i

xij −∑j 6=i

xji = 0 ⇔{ ∑

j 6=i xij + xii = C∑j 6=i xji + xii = C

xij ≥ 0

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 39 / 132

Page 40: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Afectacao (Assignment)

Problema de Afectacao(Assignment)

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 40 / 132

Page 41: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Afectacao (Assignment)

Problema de Afectacao (Assignment)

Dados

n indivıduos

n tarefas

e sendo cij o custo de afectar o indivıduo i a tarefa j

pretendemos afectar cada indivıduo a uma e uma so tarefa de forma a queo custo total de execucao das tarefas seja mınimo.

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 41 / 132

Page 42: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Afectacao (Assignment)

A formulacao em P.L. do problema de afectacao (P.A.) e:

min

n∑i=1

n∑j=1

cijxij

s. a:n∑

j=1

xij = 1, i = 1, . . . , n

n∑i=1

xij = 1, j = 1, . . . , n

xij ∈ {0, 1}, i = 1, . . . , n, j = 1, . . . , n

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 42 / 132

Page 43: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Afectacao (Assignment)

em notacao matricial e:

min cxs. a: Ax = 1

xij ∈ {0, 1}

em quex = (x11, . . . , x1n, x21, . . . , x2n, . . . , xnn)t

c = (c11, . . . , c1n, c21, . . . , c2n, . . . , cnn)

1 e um vector de 1s com 2n componentes

A e uma matriz (2n)× (n2) em que cada coluna (i , j) e aij = ei + en+j

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 43 / 132

Page 44: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Afectacao (Assignment)

Exemplo

Consideremos uma Fabrica com 3 seccoes (montagem (M), pintura (P) eembalagem (E))e 3 candidatos (C1, C2, C3)

e os custos de afectacao dados por

M P E

C1 4 5 3C2 1 4 2C3 3 1 5

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 44 / 132

Page 45: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Afectacao (Assignment)

min4x11 + 5x12 + 3x13 + x21 + 4x22 + 2x23 + 3x31 + x32 + 5x33

s. a: x11 + x12 + x13 = 1x21 + x22 + x23 = 1x31 + x32 + x33 = 1

x11 + x21 + x31 = 1x12 + x22 + x32 = 1x13 + x23 + x33 = 1

xij ∈ {0, 1}, i = 1, . . . , 3, j = 1, . . . , 3

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 45 / 132

Page 46: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Afectacao (Assignment)

Propriedades do Problema de Afectacao

o politopo do P.A. possui n! pontos extremos; cd sol. inteira admiss. euma afectacao e cd afectacao e um ponto extremo

trata-se de um problema de P.L. com variaveis 0− 1

para cd afectacao escolhemos as correspond. var. xij com valor 1 comovar. bas., obtemos n var. bas. com valor unitario; para completar abase precisamos de escolher mais n − 1 var. (degeneradas)

e um caso particular do P.T. em que m = n e ai = bj = 1, como talqq sol. bas. admiss. tem valores inteiros e podemos substituir as cond.de integralidade por simples cond. de nao negatividade

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 46 / 132

Page 47: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Afectacao (Assignment)

O problema dual (com xij ≥ 0)

max∑

i ui +∑

j vjs. a:

ui + vj ≤ cij , i = 1, . . . , n, j = 1, . . . , n

ui , vj livres, i = 1, . . . , n, j = 1, . . . , n

As condicoes de complementaridade de slacks sao

(cij − ui − vj)xij = 0, i = 1, . . . , n, j = 1, . . . , n

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 47 / 132

Page 48: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Afectacao (Assignment)

Se determinarmos um par de sol. admissıveis para o primal e dual, queverifiquem as cond. de complementaridade, elas serao optimas.

uma sol. admiss. para o dual e

{ui = minj cij i = 1, . . . , nvj = mini{cij − ui} j = 1, . . . , n

e seja x definido por xij =

{1 se ui + vj − cij = 00 se ui + vj − cij 6= 0

se x for admissıvel para o primal, entao e uma sol. optima e (u, v) eoptima do dual

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 48 / 132

Page 49: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Afectacao (Assignment)

Algumas consideracoes

o problema de afectacao fica completamente determinado pela suamatriz de custos

num prob. afectacao em que todos os custos sao nao negativos, seexistir uma afectacao admissıvel com custos nulos, trata-se daafectacao optima

TeoremaSe adicionarmos uma constante a cada linha e/ou coluna da matriz decustos de um prob. de afectacao, o problema obtido tem a mesma solucaooptima que o problema original.

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 49 / 132

Page 50: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Afectacao (Assignment)

vamos usar este resultado de duas formas

1 se a matriz tiver elementos negativos, somamos um valorsuficientemente grande de modo a obtermos apenas custos naonegativos

2 escolhendo adequadamente os valores a somar as linhas/colunas,podemos introduzir zeros na matriz de custos e procurar umaafectacao de custo nulo que sera optima

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 50 / 132

Page 51: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Afectacao (Assignment)

os valores subtraıdos as linhas/colunas podem ser interpretados comouma sol. dual

o elemento (i , j) da matriz do P.A. diz-se afecto se o correspondentevalor de xij for 1

uma sol. admissıvel para o P.A. diz-se uma afectacao completa

uma afectacao completa consiste num e um so zero afecto em cdlinha e cd coluna

uma afectacao diz-se maximal se nao e possıvel afectar mais zeros namatriz

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 51 / 132

Page 52: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Afectacao (Assignment)

TeoremaSe k e o numero max. de zeros afectaveis, entao existe um conjunto de kriscos que cobrem todos os zeros da matriz, de forma que nenhum zeroafecto esta na interseccao de dois riscos.

se k = n temos a sol. do problema

se k < n vamos introduzir mais zeros na matriz

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 52 / 132

Page 53: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Afectacao (Assignment)

TeoremaSupondo que os zeros da matriz de custo sao cobertos por k < n riscos,seja θ o mınimo dos elementos nao cobertos. Se subtrairmos θ a todas aslinhas nao cobertas e somarmos θ a todas as colunas cobertas, obtem-seuma nova matriz de custos cuja soma de todos elementos e inferior emθn(n − k) a soma de todos os elementos da matriz anterior.

a convergencia finita do algoritmo hungaro (Kuhn, 1955/56) que vamosdescrever resulta do teorema anterior

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 53 / 132

Page 54: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Afectacao (Assignment)

Metodo hungaro, Kuhn (1955)

Passo 1 Reducao da matriz de custos: reduzir a matriz de custos demodo a que todos os elementos sejam nao negativos e cdlinha e cd coluna contenha pelo menos um zero

1 subtrair aos elementos de cada linha da matriz decustos o mınimo dessa linha

2 na matriz resultante, subtrair a cada coluna o respectivomınimo

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 54 / 132

Page 55: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Afectacao (Assignment)

Passo 2 Determinar uma afectacao maximal associada apenas a zerosna matriz de custos

1 desenhar o numero mınimo de tracos que cobrem todosos zeros da matriz, seja k o numero mınimo de tracosque cobrem todos os zeros (ou o numero de zerosafectos)

2 se k = n, STOP a afectacao optima foi encontrada,enquadrar n zeros, um por linha e um por coluna

3 se k < n, entao efectuar a reducao da matriz de custos

1 seja θ o mınimo dos elementos nao riscados2 subtrair θ a todos os elementos nao riscados3 somar θ a todos os elementos duplamente riscados4 considerar de novo todos os zeros livres e voltar ao

Passo 2.

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 55 / 132

Page 56: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Afectacao (Assignment)

Interpretacao do algoritmo

No final do Passo 1 uma sol. admiss. inicial para o dual e obtida daseguinte forma{

ui = minj cij i = 1, . . . , nvj = mini{cij − ui} j = 1, . . . , n

a correspondente solucao primal pode tambem ser determinada

Os Passos 2.1 e 2.2 correspondem a verificacao da optimalidade da solucao

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 56 / 132

Page 57: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Afectacao (Assignment)

O Passo 2.3 corresponde a actualizacao da solucao, a solucao dual podeser actualizada da seguinte forma{

ui = ui + θ, ∀i linha nao cobertavj = vj − θ, ∀j coluna coberta

exemplo

5 4 2 6

3 5 4 1

7 8 6 2

2 1 1 3

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 57 / 132

Page 58: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Afectacao (Assignment)

Passo 11.

3 2 0 4

2 4 3 0

5 6 4 0

1 0 0 2

u1 = 2u2 = 1u3 = 2u4 = 1

2.2 2 0 4

1 4 3 0

4 6 4 0

0 0 0 2

v1 = 1v2 = 0v3 = 0v4 = 0

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 58 / 132

Page 59: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Afectacao (Assignment)

a solucao primal pode tambem ser obtida tentando ”enquadrar” um zeroem cada linha e em cada coluna

por exemplo, ”enquadrar” os zeros nas posicoes

(1, 3), (2, 4), (4, 2)

ainda nao foi possıvel ”enquadrar” n = 4 zeros, por isso a solucao aindanao e optima

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 59 / 132

Page 60: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Afectacao (Assignment)

Passo 21. desenhar tracos sobre a linha 4, a coluna 4 e a coluna 32 2 0 4

1 4 3 0

4 6 4 0

0 0 0 2

2. foram apenas usados 3 tracos (notar que foram tambem apenas”enquadrados” 3 zeros)portanto, ainda nao obtivemos uma afectacao completa

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 60 / 132

Page 61: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Afectacao (Assignment)

3. determinar θ o menor dos elementos nao riscados, i. e.

θ = min{2, 2, 1, 4, 4, 6} = 1

e actualizar

a solucao dual passa a seru1 = 2 + 1 v1 = 1u2 = 1 + 1 v2 = 0u3 = 2 + 1 v3 = 0− 1u4 = 1 v4 = 0− 1

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 61 / 132

Page 62: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema de Afectacao (Assignment)

a matriz e actualizada para1 1 0 4

0 3 3 0

3 5 4 0

0 0 1 3

podemos ”enquadrar os zeros nas posicoes (1, 3), (3, 4), (4, 2), (2, 1)ja obtivemos uma afectacao completa, portanto a solucao ja e optima ouentao (no Passo 2.1) desenhar tracos sobre a linha 4, a coluna 4, a coluna3 e a linha 2,foram desenhados 4 tracos, portanto a solucao ja e optima

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 62 / 132

Page 63: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema da Arvore de suporte de custo mınimo

Problema da Arvore desuporte de custo mınimo

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 63 / 132

Page 64: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema da Arvore de suporte de custo mınimo

Topologias de ligacao para diversos tipos de redes

Diversos tipos de redes:de telecomunicacoes, de transportes, de electricidade, de gas

Diversas topologias de ligacao:

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 64 / 132

Page 65: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema da Arvore de suporte de custo mınimo

Dados

um grafo G = (V ,E ) sendo

V = {1, 2, . . . , n} o conjunto de vertices;

E = {{i , j}, i , j ∈ V } o conjunto de arestas;

cij o custo unitario associado a cada aresta {i , j} ∈ E .

0

1

2

6 3

4

5

3

10

2

1

5

4

5

7

8

9 8

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 65 / 132

Page 66: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema da Arvore de suporte de custo mınimo

Arvore de suporte

Uma arvore de suporte T de G e o menor subgrafo conexo e acıclico (semciclos) com todos os vertices de G .

0

1

2

6 3

4

5

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 66 / 132

Page 67: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema da Arvore de suporte de custo mınimo

Arvore de suporte de custo mınimo (ASCM)

arvore - o menor subgrafo conexo sem ciclos - cujo custo total das arestase o menor possıvel

0

1

2

6 3

4

53

2

1

5

45

custo = 20

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 67 / 132

Page 68: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema da Arvore de suporte de custo mınimo

problema de optimizacao combinatoria

algoritmos de resolucao polinomiais

1 Algoritmo de Kruskal

2 Algoritmo de Prim

→ algoritmos ’greedy’ (gulosos)

estes algoritmos satisfazem as condicoes de optimalidade do corte edo caminho

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 68 / 132

Page 69: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema da Arvore de suporte de custo mınimo

Algoritmo de Kruskal

1 Ordenar as arestas por ordem nao decrescente do seu custo

2 Inicializar T := {}3 Enquanto E 6= {}, fazer

1 seleccionar uma aresta a = {i , j} ∈ E2 se T ∪ {a} nao formar um ciclo, entao T := T + {a}3 E := E − {a}

Nota: tambem poderıamos continuar o ciclo ”Enquanto |T | < n − 1”

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 69 / 132

Page 70: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema da Arvore de suporte de custo mınimo

Determine a arvore de custo mınimo para o seguinte exemplo.

0

1

2

6 3

4

5

3

10

2

1

5

4

5

7

8

9 8

1

2

3

4

5

5

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 70 / 132

Page 71: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema da Arvore de suporte de custo mınimo

Algoritmo de Prim

1 Inicializar T := {} e S = {1}2 Enquanto S 6= N, fazer

1 determinar a aresta a = {i , j} de menor custo cij de S para N\S(i ∈ S , j ∈ N\S)

2 T := T + {a}3 S := S + {j}

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 71 / 132

Page 72: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema da Arvore de suporte de custo mınimo

Representacao poliedrica em PLI

caracterizar um conjunto de arestas satisfazendo uma determinadapropriedade

Como?

formulacoes naturais e estendidas

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 72 / 132

Page 73: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema da Arvore de suporte de custo mınimo

Formulacao natural

conjunto de variaveis uij , para toda a aresta {i , j} ∈ E , ou xij , para todo oarco (i , j) ∈ A, que caracterizam o objeto combinatorio

uij =

{1, se aresta {i , j} esta na solucao0, c.c.

ou

xij =

{1, se arco (i , j) esta na solucao0, c.c.

+conjunto de restricoes nas variaveis uij ou xij

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 73 / 132

Page 74: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema da Arvore de suporte de custo mınimo

Formulacao estendida

conjunto de variaveis que caracterizam o objeto combinatorio+

conjunto de variaveis ”adicionais”+

conjunto de restricoes nas variaveis ”naturais”+

conjunto de restricoes nas variaveis ”adicionais”+

conjunto de restricoes de ligacao das variaveis

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 74 / 132

Page 75: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema da Arvore de suporte de custo mınimo

Formulacao nao orientada - Modelo de SUBCIRCUITOS

Uma arvore de suporte

tem n-1 arestas/arcos nao tem ciclos

(USUB)

∑{i ,j}∈E uij = n − 1

∑{i ,j}∈E(S) uij ≤ |S | − 1

∀S ⊆ V , |S | ≥ 2

uij ∈ {0, 1}

(USUBL) ⇒ uij ∈ [0, 1]

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 75 / 132

Page 76: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema da Arvore de suporte de custo mınimo

Formulacoes orientadas

Orientar o grafo:

cada aresta e = {0, j} de E e substituıda pelo arco (0, j)

cada aresta e = {i , j} de E (i 6= 0) e substituıda por dois arcos, arco(i , j) e arco (j , i)

cada arco herda os valores (custo, peso, . . .) associados a cada aresta

grafo orientado completo G = (V ,A), |V | = n, eA = {(i , j), i ∈ V , j ∈ V \ {0}, i 6= j}

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 76 / 132

Page 77: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema da Arvore de suporte de custo mınimo

Modelo de SUBCIRCUITOS

Uma arvore de suporte

tem n-1 arestas/arcos nao tem ciclos

(SUB)

∑(i ,j)∈A xij = n − 1

∑(i ,j)∈A(S) xij ≤ |S | − 1

∀S ⊆ V , |S | ≥ 2

xij ∈ {0, 1}

(SUBL) ⇒ xij ∈ [0, 1]

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 77 / 132

Page 78: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema da Arvore de suporte de custo mınimo

Modelo de CORTES

Uma arvore de suporte

tem n-1 arestas/arcos e um grafo conexo

(CORTE)

∑(i ,j)∈A xij = n − 1

∑(i ,j)∈A(S ,S) xij ≥ 1

∀S ⊂ V , V 6= ∅, 0 ∈ S

xij ∈ {0, 1}

(CORTEL) V xij ∈ [0, 1]

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 78 / 132

Page 79: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema da Arvore de suporte de custo mınimo

Proposicao

o conjunto de solucoes admissıveis de (SUBL) e o conjunto de solucoesadmissıveis de (CORTEL) caracterizam o envolvente convexo associado aASCM

Teorema

Os pontos extremos do poliedro definido quer pela relaxacao linear domodelo (SUB) quer pela relaxacao linear do modelo (CORTE) sao osvectores de incidencia da arvore de suporte.

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 79 / 132

Page 80: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema da Arvore de suporte de custo mınimo

Modelo de fluxos

o facto de uma arvore ser um grafo conexo e tratado de uma formadiferente

consideramos o fluxo de uma comodidade do nodo 0 para cada umdos restantes nodos do grafo

usamos variaveis orientadas de fluxo ykij representam a quantidade defluxo enviada pela raiz que passa no arco (i , j) e tem como destino onodo k

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 80 / 132

Page 81: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema da Arvore de suporte de custo mınimo

Modelo de fluxos

(MFLUXOS)∑(i ,j)∈A xij = 1,∀j ∈ V \ {0}

∑i∈V ykij −

∑i∈V ykji =

−1, j = 00, j ∈ V \ {0, k}1, j = k

, k ∈ V \ {0}

ykij ≤ xij , ∀i , j , k ∈ V , j , k 6= 0, i 6= k

xij ∈ {0, 1}ykij ≥ 0

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 81 / 132

Page 82: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema da Arvore de suporte de custo mınimo

Arvore com restricoes adicionais

melhorar o desempenho da rede e que cumpram os requisitos de algunsdispositivos instalados

restricoes de atraso maximo e restricoes de fiabilidade da rede demodo a evitar a degradacao da qualidade do sinal da rede

−→ restricoes de salto limitam o comprimento do caminho do nodo 0para todos os restantes nodos

−→ restricoes de diametro limitam o comprimento do maior caminhoda arvore

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 82 / 132

Page 83: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema da Arvore de suporte de custo mınimo

Arvore com restricoes adicionais

melhorar o desempenho da rede e que cumpram os requisitos de algunsdispositivos instalados

restricoes de capacidade de certos dispositivos instalados em algunsnos−→ restricoes de capacidade limitam o numero de nodos de qualquersubarvore da raiz−→ restricoes de grau limitam o numero de ligacoes dos nodos daarvore

restricoes nos custos de instalacao−→ restricoes de peso (ou saco-mochila como tambem saoconhecidas) limitam o peso da arvore

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 83 / 132

Page 84: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do caminho mais curto

Problema do caminhomais curto

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 84 / 132

Page 85: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do caminho mais curto

Dados

um grafo orientado G = (V ,A) sendo

V = {1, 2, . . . , n} o conjunto de vertices;

A = {(i , j), i , j ∈ V } o conjunto de arcos;

cij o custo unitario associado a cada arco (i , j) ∈ A.

0

1

2

6 3

4

5

3

10

2

1

5

4

5

7

8

9 8

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 85 / 132

Page 86: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do caminho mais curto

Caminho

Um caminho e uma sequencia de vertices [v1, v2, . . . , vk ],v1, v2, . . . , vk ∈ V de tal forma que (vi , vi+1) ∈ A, i = 1, . . . , k − 1,, i.e.um vertice e o seu sucessor na sequencia sao adjacentes, sem qualquerrepeticao de vertices.

0

1

2

6 3

4

5

exemplos de passeios: [0,1,5,3][0,2,6,4]

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 86 / 132

Page 87: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do caminho mais curto

Caminho mais curto (CMC)

caminho cujo custo total das arestas e o menor possıvel

caminho mais curto ≡ caminho de menor custo

0

1

2

6 3

4

5

10

5

39

3

1

8

[0,2,3] custo 15 [0,1,3] custo 12 [0,1,5,3] custo 12

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 87 / 132

Page 88: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do caminho mais curto

Grande variedade de caminhos mais curtos

de um vertice especıfico para outro especıfico

de um vertice especıfico para todos os outros

de cada um dos vertices para todos os outros

de um vertice especıfico para outro especıfico, mas passando por umdeterminado conjunto de vertices

...

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 88 / 132

Page 89: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do caminho mais curto

Requisitos para o problema

Topologia da rede: consideramos apenas grafos/redes orientadose se nao for?

Origem: consideramos que existe um caminho (orientado) da origempara cada um dos restantes verticese se nao tiver?

Custos/Comprimentos: consideramos apenas custos/comprimentosinteirose se nao tiver?

Ciclos: consideramos que a rede nao possui ciclos negativos

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 89 / 132

Page 90: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do caminho mais curto

Representacao poliedrica em PLI

caracterizar um conjunto de arcos satisfazendo uma determinadapropriedade

Propriedade:

caminho mais curto entre os vertices s e t

usamos variaveis binarias orientadas de fluxo yij que representam aquantidade de fluxo enviada pela raiz que passa no arco (i , j) e tem comodestino o vertice t

yij =

{1, se no arco (i , j) passa fluxo de s para t0, c.c.

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 90 / 132

Page 91: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do caminho mais curto

Modelo para o problema do CMC

CMC entre o vertice s e o vertice t

min∑

(i ,j)∈A

cijyij

∑i∈V

yij −∑i∈V

yji =

−1, j = s0, j ∈ V \ {s, t}1, j = t

yij ∈ {0, 1}

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 91 / 132

Page 92: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do caminho mais curto

Representacao poliedrica em PLI

Propriedade:

caminho mais curto entre o vertice s e todos os restantes vertices

usamos variaveis inteiras orientadas de fluxo fij que representam aquantidade de fluxo enviada pela raiz que passa no arco (i , j)

fij =

{quantidade de fluxo que passa no arco (i , j)0, se nao passa fluxo

usamos tambem variaveis binarias orientadas xij que indicam se o arco(i , j) esta ou nao na solucao

xij =

{1, se o arco (i , j) esta na solucao0, c.c.

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 92 / 132

Page 93: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do caminho mais curto

Modelo para o problema do CMC

CMC entre o vertice s e todos os restantes vertices

min∑

(i ,j)∈A

cijxij

∑i∈V

fij −∑i∈V

fji =

{−(|V | − 1), j = s1, j ∈ V \ {s}

fij ≤ (|V | − 1)xij , (i , j) ∈ A

fij ≥ 0

xij ∈ {0, 1}

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 93 / 132

Page 94: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do caminho mais curto

Modelo para o problema do CMC

CMC entre o vertice s e todos os restantes vertices

min∑

(i ,j)∈A

cij fij

∑i∈V

fij −∑i∈V

fji =

{−(|V | − 1), j = s1, j ∈ V \ {s}

fij ≥ 0

neste modelo o valor da f.o. e a soma dos custos (comprimentos) de todosos caminhosno modelo anterior o valor da f.o. da-nos o valor da soma do custo dosarcos na solucao (o custo de cada arco e contabilizado apenas uma vez)

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 94 / 132

Page 95: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do caminho mais curto

Algoritmo de Dijkstra

Requisitos:

Custos inteiros e nao negativos

Existe um vertice origem s

Existe um caminho orientado do vertice origem para todos os outrosvertices

Objectivo

Encontrar o caminho mais curto do vertice origem para cada um dosoutros vertices

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 95 / 132

Page 96: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do caminho mais curto

Algoritmo de Dijkstra

Etiquetas:

Vamos considerar que etiquetamos os vertices

Designamos por d() o vetor das etiquetas

d(i) e a etiqueta do vertice i

d(i) e a distancia/comprimento/custo de algum caminho do verticeorigem para o vertice i

pred() e o vetor dos predecessores, no caminho, de cada vertice

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 96 / 132

Page 97: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do caminho mais curto

Algoritmo de Dijkstra

Passo chave

Passo chave nos algoritmos para o CMC e a actualizacao das etiquetas

O procedimento Etiquetar(i) actualiza a etiqueta dos vertices jadjacentes a i :

Etiquetar(i)

1 para cada (i , j) ∈ A(i) fazer

2 se d(j) > d(i) + cij , entao d(j) := d(i) + cij e pred(j) := i

As etiquetas nao podem aumentar de valor quando se executa umEtiquetar. So podem diminuir.

Apenas executamos novamente Etiquetar(i) se d(i) diminuir de valor.

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 97 / 132

Page 98: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do caminho mais curto

Algoritmo de Dijkstra

O algoritmo de Dijkstra determina o caminho mais curto entre umvertice s e todos os outros vertices num grafo com custos naonegativos.

A ideia base consiste em comecar no vertice origem s e ir etiquetandoos vertices, a partir de s, com os respectivos custos/distancias.

Sempre que se tem a certeza de que a etiqueta marca o caminho maiscurto, a etiqueta deixa de ser temporaria e passa a ser permanente.

a etiqueta permanente d∗(j) e o valor da distancia/custo do caminhomais curto do vertice s para o vertice j

o algoritmo de Dijkstra determina d∗(j) para cada j , aumentando asdistancias desde o vertice origem s.

S designa o conjunto de vertices permanentemente etiquetados:d(j) = d∗(j) para j ∈ S .

T designa o conjunto de vertices temporariamente etiquetados:d(j) ≥ d∗(j) para j ∈ T .

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 98 / 132

Page 99: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do caminho mais curto

Algoritmo de Dijkstra

1 S := {s}, d(s) := 0, pred(s) := −1

2 T := V − {s}, d(j) =∞, pred(j) :=∞ para j ∈ T

3 Etiquetar(s)4 Enquanto S 6= V , fazer

1 seleccionar um vertice i ∈ T tal que d(i) = min{d(j), j ∈ T}2 S := S ∪ {i}, T := T − {i}3 Etiquetar(i)

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 99 / 132

Page 100: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do caminho mais curto

0

1

2

6 3

4

5

3

10

2

1

5

4

5

7

8

9 8

d = [ 0 ∞ ∞ ∞ ∞ ∞ ∞ ]Etiquetar(0) d = [ × 3 10 ∞ ∞ ∞ 2 ]Etiquetar(6) d = [ 3 7 ∞ 10 ∞ × ]Etiquetar(1) d = [ × 7 12 10 4 ]Etiquetar(5) d = [ 7 12 10 × ]Etiquetar(2) d = [ × 12 10 ]Etiquetar(4) d = [ 12 × ]Etiquetar(3) d = [ × ]

pred = [ −1 ∞ ∞ ∞ ∞ ∞ ∞ ]Etiquetar(0) pred = [ × 0 0 ∞ ∞ ∞ 0 ]Etiquetar(6) pred = [ 0 6 ∞ 6 ∞ × ]Etiquetar(1) pred = [ × 6 1 6 1 ]Etiquetar(5) pred = [ 6 1 6 × ]Etiquetar(2) pred = [ × 1 6 ]Etiquetar(4) pred = [ 1 × ]Etiquetar(3) pred = [ × ]

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 100 / 132

Page 101: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do caminho mais curto

Algoritmo de Dijkstra

Porque e que o algoritmo de Dijkstra funciona?

1 Se j ∈ S , entao d(j) e a distancia/custo mais curta do vertice s parao vertice j .

2 Se i ∈ S e j ∈ T , entao d(i) ≤ d(j).

3 Se j ∈ T , entao d(j) e o custo do caminho mais curto do vertice spara o vertice j ∈ S ∪ {j}.

Complexidade do algoritmo: O(|V |2)

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 101 / 132

Page 102: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do caminho mais curto

Algoritmo de Bellman, Moore & FordPermite a existencia de custos negativos nos arcos

Mas nao pode ter ciclos com custo negativo

As etiquetas apenas se tornam permanentes no final do algoritmo.

No alg. Dijkstra quando uma etiqueta e tornada permanente, ja nao pode ser modificada(caso do nodo 2), no entanto a etiqueta pode nao representar o custo do caminho maiscurto

1

2

3

4

2 1

5 3

6−4

Notacao: d(j) = ”etiqueta de custo temporaria”

a cada iteracao, e o custo de um caminho (ou passeio) do vertice spara o vertice jno final do algoritmo, d(j) e o custo mınimo de um caminho do vertices para o vertice j

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 102 / 132

Page 103: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do caminho mais curto

Algoritmo de Bellman, Moore & Ford

1 d(s) := 0, pred(s) := −1

2 d(j) =∞ para j ∈ N − {s}3 Enquanto algum arco (i , j) satisfizer d(j) > d(i) + cij , fazer

1 d(j) := d(i) + cij2 pred(j) := i

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 103 / 132

Page 104: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do caminho mais curto

0

1

2

6 3

4

5

3

10

2

1

5

4

5

7

8

9 8

d = [ 0 ∞ ∞ ∞ ∞ ∞ ∞ ](0, i) d = [ 3 10 2 ](1, i) d = [ 12 4 ](2, i) d = [ 14 ](5, 3) d = [ ](6, 4) d = [ 10 ]

pred = [ −1 ∞ ∞ ∞ ∞ ∞ ∞ ](0, i) pred = [ 0 0 0 ](1, i) pred = [ 1 ](2, i) pred = [ 2 2 ](5, 3) pred = [ ](6, 4) pred = [ 10 ]

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 104 / 132

Page 105: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do caminho mais curto

Algoritmo de Bellman, Moore & Ford

O que acontece se existirem ciclos com custo negativo?O algoritmo pode deixar de ser finito, podemos ter d(j) a decrescerpara −∞contudo podemos parar de d(j) < −nC uma vez que desta formagarantimos a existencia de um ciclo com custo negativo

algoritmo tipo ”label correcting”, enquanto que o alg. Dijkstra e tipo”label setting”

Complexidade do algoritmo: O(|V ||A|) no melhor dos casos, mas pode serpior pois pode examinar um arco varias vezes

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 105 / 132

Page 106: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do caminho mais curto

Algoritmo Floyd-Warshall

Podemos considerar arcos com custos negativos

Obtemos uma matriz de caminhos mais curtos.

Denotamos por d(i , j) o custo do caminhos mais curto do vertice i aovertice j .

Mais precisamente dk(i , j) e o custo do caminho mais curto dovertice i ao vertice j , podendo apenas usar os vertices 1, 2, . . . , k − 1.

Propriedade: dk+1(i , j) = min{dk(i , j), dk(i , k) + dk(k, j)}

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 106 / 132

Page 107: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do caminho mais curto

Algoritmo de Floyd-Warshall

1 Para todos os pares de vertice [i , j ] ∈ V × V fazerd(i , j) :=∞ e pred(i , j) := 0

2 Para todos os vertices i ∈ V fazerd(i , i) := 0

3 Para cada arco (i , j) ∈ A fazerd(i , j) := cij e pred(i , j) := i

4 Para k := 1 a n fazer1 para cada par de vertices [i , j ] ∈ V × V , se d(i , j) > d(i , k) + d(k, j)

fazer2 d(i , j) := d(i , k) + d(k , j)3 pred(i , j) := pred(k , j)

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 107 / 132

Page 108: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do caminho mais curto

exemplo: inicializacao e iteracao 1, k = 1

d =

∞ 9 ∞ 15 ∞ ∞∞ ∞ 2 4 ∞ ∞∞ 2 ∞ ∞ ∞ 7∞ ∞ 3 ∞ 35 ∞∞ ∞ 6 16 ∞ 21∞ ∞ ∞ ∞ 5 ∞

pred =

0 1 0 1 0 00 0 2 2 0 00 3 0 0 0 30 0 4 0 4 00 0 5 5 0 50 0 0 0 6 0

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 108 / 132

Page 109: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do caminho mais curto

exemplo: iteracao 2, k = 2

d =

∞ 9 11 13 ∞ ∞∞ ∞ 2 4 ∞ ∞∞ 2 4 6 ∞ 7∞ ∞ 3 ∞ 35 ∞∞ ∞ 6 16 ∞ 21∞ ∞ ∞ ∞ 5 ∞

pred =

0 1 2 2 0 00 0 2 2 0 00 3 2 2 0 30 0 4 0 4 00 0 5 5 0 50 0 0 0 6 0

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 109 / 132

Page 110: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do caminho mais curto

exemplo: iteracao 3, k = 3

d =

∞ 9 11 13 ∞ 18∞ 4 2 4 ∞ 9∞ 2 4 6 ∞ 7∞ 5 3 9 35 10∞ 8 6 12 ∞ 13∞ ∞ ∞ ∞ 5 ∞

pred =

0 1 2 2 0 30 3 2 2 0 30 3 2 2 0 30 3 4 2 4 30 3 5 2 0 30 0 0 0 6 0

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 110 / 132

Page 111: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do caminho mais curto

exemplo: iteracao 4, k = 4

d =

∞ 9 11 13 48 18∞ 4 2 4 39 9∞ 2 4 6 41 7∞ 5 3 9 35 10∞ 8 6 12 47 13∞ ∞ ∞ ∞ 5 ∞

pred =

0 1 2 2 4 30 3 2 2 4 30 3 2 2 4 30 3 4 2 4 30 3 5 2 4 30 0 0 0 6 0

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 111 / 132

Page 112: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do caminho mais curto

exemplo: iteracao 5, k = 5

d =

∞ 9 11 13 48 18∞ 4 2 4 39 9∞ 2 4 6 41 7∞ 5 3 9 35 10∞ 8 6 12 47 13∞ 13 11 17 5 18

pred =

0 1 2 2 4 30 3 2 2 4 30 3 2 2 4 30 3 4 2 4 30 3 5 2 4 30 3 5 2 6 3

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 112 / 132

Page 113: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do caminho mais curto

exemplo: iteracao 6, k = 6

d =

∞ 9 11 13 23 18∞ 4 2 4 14 9∞ 2 4 6 12 7∞ 5 3 9 15 10∞ 8 6 12 18 13∞ 13 11 17 5 18

pred =

0 1 2 2 6 30 3 2 2 6 30 3 2 2 6 30 3 4 2 6 30 3 5 2 6 30 3 5 2 6 3

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 113 / 132

Page 114: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do caminho mais curto

Como detectar ciclos de custo negativo?Se d(i , j) < 0 entao existe um ciclo de custo negativo passando pelovertice i

Se fizer a inicializacao d(i , i) =∞ e possıvel a identificacao de ciclos,com a inicializacao d(i , i) = 0 apenas identifico ciclos de custonegativo.

Complexidade do algoritmo: O(|V |3)

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 114 / 132

Page 115: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do fluxo maximo

Problema do fluxo maximo

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 115 / 132

Page 116: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do fluxo maximo

Dados

um grafo orientado G = (V ,A) sendo

V = {1, 2, . . . , n} o conjunto de vertices;

A = {(i , j), i , j ∈ V } o conjunto de arcos;

uij capacidade associado a cada arco (i , j) ∈ A;

nodo s origem do fluxo e nodo t destino do fluxo

s

1

2

6 t

4

5

3

10

2

1

5

4

5

7

8

9 8

s t

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 116 / 132

Page 117: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do fluxo maximo

Objectivo

Numa rede com capacidades nos arcos pretendemos

maximizar o fluxo que sai de s e tem o nodo t como destino

exemplo: s = 0 e t = 3

0

1

2

6 3

4

5

3

10

2

1

5

4

5

7

8

9 83, 1

1, 1

8, 13, 3 9, 3

10, 5

5, 5

exemplos de caminhos e seus fluxos: [0,1,5,3] fluxo = 1 ×[0,1,3] fluxo = 3[0,2,3] fluxo = 5fluxo total de s = 0 para t = 3 e de 8

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 117 / 132

Page 118: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do fluxo maximo

Representacao poliedrica em PLI

caracterizar um conjunto de arcos satisfazendo uma determinadapropriedade

Propriedade:

fluxo que sai de s = fluxo que entra em te

para i ∈ V \{s, t}, fluxo que entra em i = fluxo que sai de i

usamos variaveis orientadas de fluxo yij que representam a quantidade defluxo que passa no arco (i , j)

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 118 / 132

Page 119: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do fluxo maximo

Modelo para o problema do fluxo maximo

Modelo para o fluxo maximo entre o vertice s e o vertice tmax v∑i∈V

yij −∑i∈V

yji =

−v , j = s0, j ∈ V \ {s, t}v , j = t

0 ≤ yij ≤ uij para todo (i , j) ∈ A

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 119 / 132

Page 120: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do fluxo maximo

Fluxos

Fluxo admissıvel

Referimo-nos a um fluxo y admissıvel como sendo a quantidade de fluxoque atravessa um arco e nao ultrapassa o valor da capacidade do arco.

um arco diz-se saturado se yij = uij

um caminho diz-se saturado se pelo menos um dos seus arcos estasaturado

um fluxo diz-se saturante se todo o caminho entre s e t esta saturado

Fluxo maximo

Referimo-nos a um fluxo y como sendo maximo se for admissıvel emaximizar a quantidade v que e enviada de s para t.

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 120 / 132

Page 121: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do fluxo maximo

Fluxos

Objectivo

No problema do fluxo maximo, o objectivo e o de determinar o maior fluxopossıvel, o fluxo maximo, de s para t.

s

1

2

t

10, 8

6, 5

1, 1

8, 7

10, 6

exemplo de um fluxo nao optimo, num problema de fluxo maximo

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 121 / 132

Page 122: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do fluxo maximo

Rede Residual

s

1

2

t i juij , yij

10, 8

6, 5

1, 1

8, 7

10, 6

s

1

2

t i j

uij − yij

yij

2 1

1 4

8

56

7

1

Rede residual G (y) rij e a capacidade residual de (i , j)rij := uij − yij e rji := yij para (i , j) ∈ A

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 122 / 132

Page 123: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do fluxo maximo

Caminho de aumento

um caminho de aumento e um caminho, na rede residual, de s para t(permite um aumento de fluxo)

a capacidade residual do caminho de aumento P eC (P) = min{rij , (i , j) ∈ P}aumentar ao longo de P e enviar C (P) unidades de fluxo ao longo decada arco do caminho Pdepois e necessario modificar o fluxo y e as capacidades residuais rapropriadamente, i.e. para (i , j) ∈ Prij := rij − C (P) e rji := rji + C (P)

s

1

2

t

2 1

1 4

8

56

7

1 s

1

2

t

2

4

1

8

66

8

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 123 / 132

Page 124: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do fluxo maximo

Algoritmo de Ford e Fulkerson

inicializar o fluxo: y := 0

construir a rede residual

enquanto ”existir algum caminho orientado de s para t em G (y)

seja P um caminho de aumento de s para t em G (y)enviar C (P) unidades de fluxo ao longo de Patualizar as capacidades residuais r

o fluxo y obtido desta forma e maximo

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 124 / 132

Page 125: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do fluxo maximo

Se os dados sao inteiros, em cada iteracao todas as capacidadesresiduais sao inteiras.

Como identificar um caminho de aumento ou constatar que nao existenenhum?

O algoritmo termina num numero finito de iteracoes? O algoritmo efinito, pois o numero de aumentos de fluxo e O(nU) sendo U o valorda maior capacidade da rede.

Quando e que o algoritmo obtem o fluxo maximo?

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 125 / 132

Page 126: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do fluxo maximo

Como sabemos que um fluxo e optimo?

1 Nao existe qualquer caminho de aumento: nao e possıvel atingir t apartir de s.

2 Cortes - Teoria da dualidade

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 126 / 132

Page 127: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do fluxo maximo

Cortes - Teoria da dualidade

Um corte-(s, t) numa rede G = (V ,A) e uma particao de V em doissubconjuntos disjuntos S e T tais que s ∈ S e t ∈ T .

A capacidade de um corte (S ,T ) eCAP(S ,T ) =

∑i∈S, j∈T uij

O fluxo atraves de um corte (S ,T ) eF (S ,T ) =

∑i∈S, j∈T (yij − yji )

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 127 / 132

Page 128: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do fluxo maximo

Fluxos atraves de cortes

s

1

2

t

10, 9

6, 6

1, 1

8, 8

10, 7

Se S = {s} o fluxo atraves de (S ,T ) e 9 + 6 = 15

Se S = {s, 1} o fluxo atraves de (S ,T ) e 8 + 1 + 6 = 15

Se S = {s, 2} o fluxo atraves de (S ,T ) e 9 + 7− 1 = 15

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 128 / 132

Page 129: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do fluxo maximo

Teorema fraco da dualidade, para o problema de fluxo maximo

Se y e um qualquer fluxo admissıvel e se (S ,T ) e um (s, t)-corte, entao ofluxo v(y) da origem s para o destino t e, no maximo, de CAP(S ,T ).

Condicoes de optimalidade para fluxos maximos

As seguintes condicoes sao equivalentes

o fluxo y e optimo

nao ha caminho de aumento em G (y)

existe um (s, t)-corte (S ,T ) cuja capacidade e o fluxo de valor y

Teorema do fluxo maximo corte mınimo

O valor do fluxo maximo e o valor mınimo de um corte.

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 129 / 132

Page 130: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do fluxo maximo

Detalhando um pouco mais o algoritmo de Ford-Fulkerson

usar tecnica de procura para encontrar um caminho orientado emG (y):

colocar etiquetas nos vertices alcancaveis atraves de um caminhoorientado em G (y) com origem em s

em cada passo do algoritmo os vertice estao particionados em doissubconjuntos: etiquetados e nao etiquetados

seleccionar iterativamente um vertice etiquetado e pesquisar osvertices adjacentes

quando o nodo destino t e etiquetado e enviada a maior quantidadepossıvel de fluxo de s para t

apagar as etiquetas e repetir o processo

terminar quando todos os nodos etiquetados foram pesquisados e onodo destino t permanece sem ser etiquetado

isto significa que na rede residual G (y) nao existe um caminhoorientado de s para t

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 130 / 132

Page 131: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do fluxo maximo

Algoritmo de Ford e Fulkersonetiquetar tenquanto t esta etiquetado

retirar as etiquetas a todos os nodospred(j) = 0 para todo j ∈ Vetiquetar s e fazer LISTA(s) := {s}enquanto ”LISTA(s) 6= ∅ ou t nao esta etiquetado”

retirar um nodo i da listapara cada arco (i , j) da rede residualse rij > 0 e j nao esta etiquetadoentao

pred(j) := ietiquetar jLISTA := LISTA ∪ {j}

se t esta etiquetado entao aumentaFluxousar vetor pred para encontrar o caminho de aumento P de s para tC (P) := min{rij , (i , j) ∈ P}aumentar o fluxo ao longo de P em C (P) unidades e actualizar ascapacidades residuais

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 131 / 132

Page 132: Programa˘c~ao em Redes - SWEETsweet.ua.pt/crequejo/teach/mio.or.pdf · A matriz A tem caracter stica igual a m + n 1 A matriz A e totalmente unimodular (o det. de qq submat. quadrada

Problema do fluxo maximo

Notas sobre o algoritmo

quando o algoritmo termina alem de obter o fluxo maximo obtemtambem o corte mınimo

um fluxo y e maximo se e so se a rede residual G (y) nao possuinenhum caminho de aumento

se as capacidades sao inteiras, o problema do fluxo maximo, tem umfluxo maximo inteiro

o algoritmo pode efetuar demasiadas iteracoes, se U for um valorexponencial U = 2n . . ., como no seguinte exemplo, um exemplosimples, mas muito mau

s

1

2

t

1000

1000

1

1000

1000

C. Requejo (UA) Metodos de Investigacao Operacional MIO 2015-2016 132 / 132