programa˘c~ao em redes - sweetsweet.ua.pt/crequejo/teach/mio.or.pdf · a matriz a tem caracter...
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/1.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/2.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/3.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/4.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/5.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/6.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/7.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/8.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/9.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/10.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/11.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/12.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/13.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/14.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/15.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/16.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/17.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/18.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/19.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/20.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/21.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/22.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/23.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/24.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/25.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/26.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/27.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/28.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/29.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/30.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/31.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/32.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/33.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/34.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/35.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/36.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/37.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/38.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/39.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/40.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/41.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/42.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/43.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/44.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/45.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/46.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/47.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/48.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/49.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/50.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/51.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/52.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/53.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/54.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/55.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/56.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/57.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/58.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/59.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/60.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/61.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/62.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/63.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/64.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/65.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/66.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/67.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/68.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/69.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/70.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/71.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/72.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/73.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/74.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/75.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/76.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/77.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/78.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/79.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/80.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/81.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/82.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/83.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/84.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/85.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/86.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/87.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/88.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/89.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/90.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/91.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/92.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/93.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/94.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/95.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/96.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/97.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/98.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/99.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/100.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/101.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/102.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/103.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/104.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/105.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/106.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/107.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/108.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/109.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/110.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/111.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/112.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/113.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/114.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/115.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/116.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/117.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/118.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/119.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/120.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/121.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/122.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/123.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/124.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/125.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/126.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/127.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/128.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/129.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/130.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/131.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022719/5c64707d09d3f208138cc080/html5/thumbnails/132.jpg)
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