• Nenhum resultado encontrado

PO-3-Fluxo de custo mínimo

N/A
N/A
Protected

Academic year: 2021

Share "PO-3-Fluxo de custo mínimo"

Copied!
57
0
0

Texto

(1)

Problema de Fluxo de Custo

Mínimo

(2)

Definição

Dado um grafo G(V,E) com arestas capacitadas

e com custo não nulo. Encontrar o modo de

transferir f unidades de fluxo por G de modo

que o custo total seja mínimo, sem violar a

capacidade das arestas.

(3)

Modelagem matemática

Seja c

ij

o custo de transmitir uma unidade de fluxo

pela arco (i,j)

Seja u

ij

a capacidade do arco (i,j)

Seja x

ij

a quantidade de fluxo que passa pelo arco (i,j)

Seja r

ij

a capacidade residual do arco (i,j) (u

ij

-x

ij

ou x

ij

)

Seja b

i

a oferta (+) ou demanda (-) de fluxo dos

vértices

Condição:

i∈V

(4)

Modelagem matemática

Minimizar

(i , j)∈E

c

ij

x

ij

Sujeito a

j :(i , j)∈ E

x

ij

j :( j , i)∈E

x

ji

=

b

i

, ∀ i∈V

0≤ x

ij

u

ij

∀ (

i , j)∈E

(5)

Algoritmo de Caminhos mínimos

sucessivos

Sucessive Shortest Path ou ssp

Utiliza várias vezes o algoritmo de caminhos

mínimos

Permite inviabilidade no equilíbrio de fluxo dos

nós, e vai removendo estas inviabilidades a

cada iteração

(6)

Definições adicionais

e(i) – desbalanceamento do nó i

cp

ij

– custo reduzido do arco (i,j)

p(i) – potencial do vértice i (neste caso o potencial está

ligado à distância do vértice a partir da fonte do fluxo)

d(i) distância da origem do fluxo até o vértice i

Seja Gr(G,X) a rede residual definida por um grafo G e um

fluxo X

e(i)=b

i

+

j :( j ,i)∈E

x

ji

j :( j ,i)∈ E

x

ij

cp

ij

=

c

ij

p(i)+ p( j)

(7)

Definições adicionais

S – Conjunto de vértices com desbalanceamento

positivo

S = {i: e(i)>0}

T – Conjunto de vértices com desbalanceamento

negativo

T={i:e(i)<0}

Condição: não pode haver desequilíbrio de

demanda/oferta na rede. A soma das demandas e

ofertas deve ser igual a zero

(8)

Algoritmo SSP

Algoritmo SSP(Grafo G, Fluxo X, Conjunto S, Conjunto T)

Início

X[i][j] = 0 para todo i, j em G.V

p(i) = 0 para todo i em G.V

e(i) = b

i

para todo i em G.V

Inicialize os conjuntos S = {i: e(i)>0} e T={i:e(i)<0}

enquanto ( !vazio(S) ) faça

(9)

Algoritmo SSP

Selecione um vértice l de T

Determine as distâncias mínimas d(j) em Gr(G,X)

de k para todos os outros j usando cp

ij

Determine o caminho mínimo SP entre k e l

Atualize p(i)=p(i)-d(i) para todo i

alpha = min(e(k), -e(l), min(r

ij

: (i,j) pertence a SP))

aumente alpha unidades de fluxo em SP

atualize X, Gr(G,X), os custos cp

ij,

e(k), e(l), S e T

(10)

Exemplo

3 1 2 4 2,4 2,2 3,3 1,5 1,2 Custo,capacidade

(11)

Exemplo

3 1 2 4 2,4 2,2 3,3 1,5 1,2 cp ,capacidade residual E(1)=4 p(1)=0 E(4)=-4 p(4)=0 E(2)=0 p(2)=0 E(3)=0 p(3)=0

(12)

Exemplo

3 1 2 4 2,4 2,2 3,3 1,5 1,2 cp ,capacidade residual E(1)=4 p(1)=0 E(4)=-4 p(4)=0 E(2)=0 p(2)=0 E(3)=0 p(3)=0 S={1} T={4}

(13)

Exemplo

3 1 2 4 2,4 2,2 3,3 1,5 1,2 cp ,capacidade residual E(1)=4 p(1)=0 E(4)=-4 p(4)=0 E(2)=0 p(2)=0 E(3)=0 p(3)=0 S={1} T={4} d={0,2,2,3}

(14)

Exemplo

3 1 2 4 2,4 2,2 3,3 1,5 1,2 cp ,capacidade residual E(1)=4 p(1)=0 E(4)=-4 P(4)=-3 E(2)=0 P(2)=-2 E(3)=0 P(3)=-2 S={1} T={4} d={0,2,2,3}

(15)

Exemplo

3 1 2 4 2,4 2,2 3,3 1,5 1,2 cp ,capacidade residual E(1)=4 p(1)=0 E(4)=-4 P(4)=-3 E(2)=0 P(2)=-2 E(3)=0 P(3)=-2 S={1} T={4} d={0,2,2,3} SP = 1->3->4 alpha =2

(16)

Exemplo

3 1 2 4 2,4 2,0 3,3 1,3 1,2 cp ,capacidade residual E(1)=4 p(1)=0 E(4)=-4 P(4)=-3 E(2)=0 P(2)=-2 E(3)=0 P(3)=-2 S={1} T={4} d={0,2,2,3} SP = 1->3->4 alpha =2 -2,2 -1,2

(17)

Exemplo

3 1 2 4 0,4 2,3 0,3 1,2 cp ,capacidade residual E(1)=2 p(1)=0 E(4)=-2 P(4)=-3 E(2)=0 P(2)=-2 E(3)=0 P(3)=-2 S={1} T={4} 0,2 0,2 X={(1->3,2), (3->4,2)}

(18)

Exemplo

3 1 2 4 0,4 2,3 0,3 1,2 cp ,capacidade residual E(1)=2 p(1)=0 E(4)=-2 P(4)=-3 E(2)=0 P(2)=-2 E(3)=0 P(3)=-2 S={1} T={4} 0,2 0,2 d={0,0,1,1} X={(1->3,2), (3->4,2)}

(19)

Exemplo

3 1 2 4 0,4 2,3 0,3 1,2 cp ,capacidade residual E(1)=2 p(1)=0 E(4)=-2 P(4)=-4 E(2)=0 P(2)=-2 E(3)=0 P(3)=-3 S={1} T={4} 0,2 0,2 d={0,0,1,1} SP = 1->2->3->4 alpha =2 X={(1->3,2), (3->4,2)}

(20)

Exemplo

3 1 2 4 0,2 2,3 0,1 -1,2 cp ,capacidade residual E(1)=2 p(1)=0 E(4)=-2 P(4)=-4 E(2)=0 P(2)=-2 E(3)=0 P(3)=-3 S={1} T={4} X={(1->3,2), (3->4,2)} 0,2 0,4 d={0,0,1,1} 0,2 SP = 1->2->3->4 alpha =2

(21)

Exemplo

3 1 2 4 0,2 1,3 0,1 0,2 cp ,capacidade residual E(1)=0 p(1)=0 E(4)=0 P(4)=-4 E(2)=0 P(2)=-2 E(3)=0 P(3)=-3 S={} T={} X={(1->3,2), (1->2,2), (2->3,2), (3->4,4)} 0,2 0,4 0,2

(22)

Algoritmo Escala de Capacidades

Seja Gr(G,x,delta) uma rede residual de um

grafo G com fluxo x, em que os arcos possuem

capacidade no mínimo delta. Neste caso a rede

Gr(G,x,1) é a rede residual tradicional

(23)

Algoritmo Escala de Capacidades

Algoritmo escalaCapacidades(Fluxo x, Grafo G,

Vértice s, Vértice t)

Início

x[i][j]=0 para todo i,j em G.V

p(i)=0 para todo i em G.V

delta= 2^piso(ln(max(u

ij

:(i,j) pertence a G.E))

defina Gr(G,x,delta)

(24)

Algoritmo Escala de Capacidades

Para cada (i,j) em Gr(G,X) Faça

Se(r

ij

>=delta & cp

ij

<0) Então

Passe r

ij

unidades de fluxo em (i,j)

Atualize X e e(i) para todo i

fim se

fim para

S(delta) = {i: e(i)>=delta}

T(delta) = {i: e(i)<=-delta}

(25)

Algoritmo Escala de Capacidades

Enquanto(!vazio(S(delta)) &

!vazio(T(delta))) Faça

Selecione um vértice k de S(delta)

Selecione um vértice l de T(delta)

Determine d(j) para todo j partindo de k

em Gr(G,X,delta) observando cp

ij

Seja P o caminho mínimo de k para l

em Gr(G,X,delta)

(26)

Algoritmo Escala de Capacidades

Atualize p(i)=p(i)-d(i) para todo i em G.V

Aumente delta unidades no fluxo de P

Atualize X, S(delta), T(Delta), Gr(X,delta)

Fim Enquanto

delta=delta/2

Fim Enquanto

Fim

(27)

Exemplo

3 1 2 4 2,35 4,15 5,50 2,64 7,5 Custo,capacidade 5 10,40 2,20

(28)

Exemplo

3 1 2 4 2,35 4,15 5,50 2,64 7,5 Cp,capacidade e(1)=40 p(1)=0 e(4)=-40 p(4)=0 e(2)=0 p(2)=0 e(3)=0 p(3)=0 5 e(5)=0 p(5)=0 10,40 2,20

(29)

Exemplo

3 1 2 4 2,35 5,50 2,64 Cp,capacidade e(1)=40 p(1)=0 e(4)=-40 p(4)=0 e(2)=0 p(2)=0 e(3)=0 p(3)=0 5 e(5)=0 p(5)=0 10,40 2,20 Delta = 16 S={1} T={4}

(30)

Exemplo

3 1 2 4 2,35 5,50 2,64 Cp,capacidade e(1)=40 p(1)=0 e(4)=-40 p(4)=0 e(2)=0 p(2)=0 e(3)=0 p(3)=0 5 e(5)=0 p(5)=0 10,40 2,20 Delta = 16 S={1} T={4}

(31)

Exemplo

3 1 2 4 2,35 5,50 2,64 Cp,capacidade e(1)=40 p(1)=0 e(4)=-40 p(4)=0 e(2)=0 p(2)=0 e(3)=0 p(3)=0 5 e(5)=0 p(5)=0 10,40 2,20 Delta = 16 S={1} T={4} l=4

(32)

Exemplo

3 1 2 4 2,35 5,50 2,64 Cp,capacidade e(1)=40 p(1)=0 e(4)=-40 P(4)=-7 e(2)=0 P(2)=-2 e(3)=0 P(3)=-19 5 e(5)=0 P(5)=-17 10,40 2,20 Delta = 16 S={1} T={4} l=4

(33)

Exemplo

3 1 2 4 0,35 0,50 14,64 Cp,capacidade e(1)=40 p(1)=0 e(4)=-40 P(4)=-7 e(2)=0 P(2)=-2 e(3)=0 P(3)=-19 5 e(5)=0 P(5)=-17 0,40 0,20 Delta = 16 S={1} T={4} l=4

(34)

Exemplo

3 1 2 4 0,19 0,34 14,64 Cp,capacidade e(1)=24 p(1)=0 e(4)=-24 P(4)=-7 e(2)=0 P(2)=-2 e(3)=0 P(3)=-19 5 e(5)=0 P(5)=-17 0,40 0,20 Delta = 16 S={1} T={4} l=4 0,16 0,16 X={(1-2,16), (2-4,16)}

(35)

Exemplo

3 1 2 4 0,19 0,34 14,64 Cp,capacidade e(1)=24 p(1)=0 e(4)=-24 P(4)=-7 e(2)=0 P(2)=-2 e(3)=0 P(3)=-19 5 e(5)=0 P(5)=-17 0,40 0,20 Delta = 16 S={1} T={4} l=4 0,16 0,16 X={(1-2,16), (2-4,16)}

(36)

Exemplo

3 1 2 4 0,3 0,18 14,64 Cp,capacidade e(1)=24 p(1)=0 e(4)=-24 P(4)=-7 e(2)=0 P(2)=-2 e(3)=0 P(3)=-19 5 e(5)=0 P(5)=-17 0,40 0,20 Delta = 16 S={1} T={4} l=4 0,32 0,32 X={(1-2,32), (2-4,32)}

(37)

Exemplo

3 1 2 4 0,18 14,64 Cp,capacidade e(1)=8 p(1)=0 e(4)=-8 P(4)=-7 e(2)=0 P(2)=-2 e(3)=0 P(3)=-19 5 e(5)=0 P(5)=-17 0,40 0,20 Delta = 16 S={} T={} 0,32 0,32 X={(1-2,32), (2-4,32)}

(38)

Exemplo

3 1 2 4 0,18 14,64 Cp,capacidade e(1)=8 p(1)=0 e(4)=-8 P(4)=-7 e(2)=0 P(2)=-2 e(3)=0 P(3)=-19 5 e(5)=0 P(5)=-17 0,40 0,20 Delta = 16/2=8 0,32 0,32 X={(1-2,32), (2-4,32)} -15,15

(39)

Exemplo

3 1 2 4 0,18 14,64 Cp,capacidade e(1)=8 p(1)=0 e(4)=-8 P(4)=-7 e(2)=0 P(2)=-2 e(3)=0 P(3)=-19 5 e(5)=0 P(5)=-17 0,40 0,20 Delta = 8 0,32 0,32 X={(1-2,32), (2-4,32)} -15,0 15,15

(40)

Exemplo

3 1 2 4 0,18 14,64 Cp,capacidade E(1)=-7 p(1)=0 e(4)=-8 P(4)=-7 e(2)=0 P(2)=-2 e(3)=15 P(3)=-19 5 e(5)=0 P(5)=-17 0,40 0,20 Delta = 8 0,32 0,32 X={(1-2,32), (1-3,15), (2-4,32)} 15,15 T={4} S={3}

(41)

Exemplo

3 1 2 4 0,18 14,64 Cp,capacidade E(1)=-7 p(1)=0 e(4)=-8 P(4)=-7 e(2)=0 P(2)=-2 e(3)=15 P(3)=-19 5 e(5)=0 P(5)=-17 0,40 0,20 Delta = 8 0,32 0,32 X={(1-2,32), (1-3,15), (2-4,32)} 15,15 S={3} T={4}

(42)

Exemplo

3 1 2 4 0,18 0,64 Cp,capacidade E(1)=-7 P(1)=-14 e(4)=-8 P(4)=-21 e(2)=0 P(2)=-16 e(3)=15 P(3)=-19 5 e(5)=0 P(5)=-41 0,40 24,20 Delta = 8 0,32 0,32 X={(1-2,32), (1-3,15), (2-4,32)} 1,15 S={3} T={4} l=4

(43)

Exemplo

3 1 2 4 0,18 0,64 Cp,capacidade E(1)=-7 P(1)=-14 e(4)=-8 P(4)=-21 e(2)=0 P(2)=-16 e(3)=15 P(3)=-19 5 e(5)=0 P(5)=-41 0,40 24,20 Delta = 8 0,32 0,32 X={(1-2,32), (1-3,15), (2-4,32)} 1,15 S={3} T={4} l=4

(44)

Exemplo

3 1 2 4 0,18 0,56 Cp,capacidade E(1)=-7 P(1)=-14 e(4)=-8 P(4)=-21 e(2)=0 P(2)=-16 e(3)=15 P(3)=-19 5 e(5)=0 P(5)=-41 0,40 24,20 Delta = 8 0,32 0,32 X={(1-2,32), (1-3,15), (2-4,32)} 1,15 S={3} T={4} l=4 0,8

(45)

Exemplo

3 1 2 4 0,18 0,56 Cp,capacidade E(1)=-7 P(1)=-14 e(4)=0 P(4)=-21 e(2)=0 P(2)=-16 e(3)=7 P(3)=-19 5 e(5)=0 P(5)=-41 0,40 24,20 Delta = 8 0,32 0,32 X={(1-2,32), (1-3,15), (2-4,32), (3-4,8)} 1,15 S={} T={} 0,8

(46)

Exemplo

3 1 2 4 0,18 0,56 Cp,capacidade E(1)=-7 P(1)=-14 e(4)=0 P(4)=-21 e(2)=0 P(2)=-16 e(3)=7 P(3)=-19 5 e(5)=0 P(5)=-41 0,40 24,20 Delta = 8/2=4 0,32 0,32 X={(1-2,32), (1-3,15), (2-4,32), (3-4,8)} 1,15 0,8 4,5

(47)

Exemplo

3 1 2 4 0,18 0,56 Cp,capacidade E(1)=-7 P(1)=-14 e(4)=0 P(4)=-21 e(2)=0 P(2)=-16 e(3)=7 P(3)=-19 5 e(5)=0 P(5)=-41 0,40 24,20 Delta =4 0,32 0,32 X={(1-2,32), (1-3,15), (2-4,32), (3-4,8)} 1,15 0,8 4,5

(48)

Exemplo

3 1 2 4 0,18 0,56 Cp,capacidade E(1)=-7 P(1)=-14 e(4)=0 P(4)=-21 e(2)=0 P(2)=-16 e(3)=7 P(3)=-19 5 e(5)=0 P(5)=-41 0,40 24,20 Delta =4 0,32 0,32 X={(1-2,32), (1-3,15), (2-4,32), (3-4,8)} 1,15 S={3} T={1} 0,8 4,5

(49)

Exemplo

3 1 2 4 0,22 0,52 Cp,capacidade E(1)=-7 P(1)=-14 e(4)=0 P(4)=-21 e(2)=0 P(2)=-16 e(3)=7 P(3)=-19 5 e(5)=0 P(5)=-41 0,40 24,20 Delta =4 0,28 0,28 X={(1-2,32), (1-3,15), (2-4,32), (3-4,8)} 1,15 S={3} T={1} 0,12 4,5 0,7 l=1

(50)

Exemplo

3 1 2 4 0,22 0,52 Cp,capacidade E(1)=-3 P(1)=-14 e(4)=0 P(4)=-21 e(2)=0 P(2)=-16 e(3)=3 P(3)=-19 5 e(5)=0 P(5)=-41 0,40 24,20 Delta =4 0,28 0,28 X={(1-2,28), (1-3,15), (2-4,28), (3-4,12)} 1,15 S={} T={} 0,12 4,5 0,7

(51)

Exemplo

3 1 2 4 0,24 0,50 Cp,capacidade E(1)=-3 P(1)=-14 e(4)=0 P(4)=-21 e(2)=0 P(2)=-16 e(3)=3 P(3)=-19 5 e(5)=0 P(5)=-41 0,40 24,20 Delta =4/2=2 0,26 0,26 X={(1-2,28), (1-3,15), (2-4,28), (3-4,12)} 1,15 S={3} T={1} 0,14 4,5 0,9 l=1

(52)

Exemplo

3 1 2 4 0,24 0,50 Cp,capacidade E(1)=-1 P(1)=-14 e(4)=0 P(4)=-21 e(2)=0 P(2)=-16 e(3)=1 P(3)=-19 5 e(5)=0 P(5)=-41 0,40 24,20 Delta =2 0,26 0,26 X={(1-2,26), (1-3,15), (2-4,26), (3-4,14)} 1,15 S={} T={} 0,14 4,5 0,9

(53)

Exemplo

3 1 2 4 0,24 0,50 Cp,capacidade E(1)=-1 P(1)=-14 e(4)=0 P(4)=-21 e(2)=0 P(2)=-16 e(3)=1 P(3)=-19 5 e(5)=0 P(5)=-41 0,40 24,20 Delta =2/1=1 0,26 0,26 X={(1-2,26), (1-3,15), (2-4,26), (3-4,14)} 1,15 S={3} T={1} 0,14 4,5 0,9

(54)

Exemplo

3 1 2 4 0,25 0,50 Cp,capacidade E(1)=-1 P(1)=-14 e(4)=0 P(4)=-21 e(2)=0 P(2)=-16 e(3)=1 P(3)=-19 5 e(5)=0 P(5)=-41 0,40 24,20 Delta =1 0,25 0,25 X={(1-2,26), (1-3,15), (2-4,26), (3-4,14)} 1,15 S={3} T={1} 0,15 4,5 0,10 l=1

(55)

Exemplo

3 1 2 4 0,25 0,50 Cp,capacidade E(1)=0 P(1)=-14 e(4)=0 P(4)=-21 e(2)=0 P(2)=-16 e(3)=0 P(3)=-19 5 e(5)=0 P(5)=-41 0,40 24,20 Delta =1 0,25 0,25 X={(1-2,25), (1-3,15), (2-4,25), (3-4,15)} 1,15 S={} T={} 0,15 4,5 0,10

(56)

Exemplo

3 1 2 4 0,25 0,50 Cp,capacidade E(1)=0 P(1)=-14 e(4)=0 P(4)=-21 e(2)=0 P(2)=-16 e(3)=0 P(3)=-19 5 e(5)=0 P(5)=-41 0,40 24,20 Delta =1/2=0,5 0,25 0,25 X={(1-2,25), (1-3,15), (2-4,25), (3-4,15)} 1,15 S={} T={} 0,15 4,5 0,10

(57)

Exemplo

3 1 2 4 0,25 0,50 Cp,capacidade E(1)=0 P(1)=-14 e(4)=0 P(4)=-21 e(2)=0 P(2)=-16 e(3)=0 P(3)=-19 5 e(5)=0 P(5)=-41 0,40 24,20 Delta =1/2=0,5 0,25 0,25 X={(1-2,25), (1-3,15), (2-4,25), (3-4,15)} 1,15 S={} T={} 0,15 4,5 0,10 Critério de parada

Referências

Documentos relacionados

CSPCCO – COMISSÃO DE SEGURANÇA PÚBLICA E COMBATE AO CRIME ORGANIZADO Reunião destinada a discutir e votar as sugestões de emendas da Comissão ao PLN nº 20/17 (Lei

A mitomicina apenas pode ser diluída em água para preparações injectáveis, soro fisiológico ou solução de dextrose a 20%.. Não deve ser associada a nenhum

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

a) na estrutura do ARN ribossomal b) na reduplicação do ADN c) na transcrição do código genético d) na tradução do código genético e) tanto de transcrição como de

2. Identifica as personagens do texto.. Indica o tempo da história. Indica o espaço da história. Classifica as palavras quanto ao número de sílabas. Copia do texto três

Fugiu – forma verbal do verbo “fugir”, no Pretérito Perfeito do Indicativo, na 3.ª pessoa do singular. Forma afirmativa: Eu

Dada uma rede direcionada, com capacidade superior em cada um dos seus arcos, o problema consiste em encontrar o fluxo de custo mínimo para o conjunto de produtos.. Os problemas

Ganhos e perdas realizados e não realizados são reconhecidos em receitas quando tais títulos são mantidos para negociação como parte do negócio de private equity da Companhia e