Você está na página 1de 9

Capítulo IV: Optimização em Redes Investigação Operacional

4 A Análise de redes tem-se revelado muito útel na formulção e resolução de vários problemas
de Investigação Operacional, tais como, redes de comunicação (estradas, caminhos de ferro,
energia eléctrica, telefones, relações de parentesco entre grupos de indivíduos, etc.), planeamento
de tarefas, problemas de distribuição ou produção, etc.

Para resolvermos os problemas com recurso à análise de redes vamos abordar três tipos de
problemas:
 O problema da árvore geradora mínima
 O problema caminho mais curto (algorítmo de Dijkstra )
 O problema do fluxo máximo

Definição de um Grafo: Grafo G é um conjunto finito V de pontos (vértices ou nós) e um


conjunto A de linhas (arcos ou arestas) que ligam todos ou alguns desses pontos.

Figura.1: Grafo não orientado Figura.2: Grafo orientado

Os círculos são denominados nós e as linhas são denominadas de arcos.

Definição de Rede: Uma rede é um grafo onde existem valores associados a todos os arcos. A
esses valores chamamos capacidades (que podem representarem custos, distancias, tempos,
volumes, etc).
O desenho abaixo ilustra uma rede de estradas (arcos) unindo várias cidades (nós).

Figura.3

Lucas Jamisse 60
Capítulo IV: Optimização em Redes Investigação Operacional

Este tipo de problema pode ser formulado como um modelo de Programação Linear.
Min..Z  6 X 12  8 X 13  3 X 14  9 X 23  3 X 25  2 X 34  7 X 45
 X12+X13+X14=1 Nó origem
 X25+X35+X45=1 Nó destino

Sujeito a  X12 =X23+X25 Nó 2
 X13+X23=X34 +X35 Nó 3
 X14=X34+X45 Nó 4
 X = 0 ou 1
ij

Como variáveis de decisão teríamos:


Xij ⇒arco (i – j) presente no caminho mais curto.
Se Xij = 0, ele não pertence ao caminho. Se igual a 1, pertence.

Este problema pode ser resolvido usando o método Simplex, mas existem muitos algorítimos
para resolver este tipo de problema de uma forma mais rápida do que o Simplex.

4.1 Árvore geradora mínima


Chama-se árvore (T) a um grafo com N vértices que seja conexo e sem ciclos. Portanto, a árvore
tem as seguintes características:
-A soma das capacidades deve ser a mínima;
-Nao existem vértices que não estejam ligados;
-O número de arestas a ser colocado deve ser N-1;
-Não devem existirem ciclos.

4.1.1 Etapas do algoritmo (Kruskal / Prim) para encontrar a árvore do tamanho mínimo
i. Parte de um vértice (qualquer) cuja ligação ao vértice inicial apresenta a menor capacidade;
isto é, o vértice cujo a ligação ao vértice inicial apresenta a menor capacidade.
ii. Identifique o nó não ligado que esteja mais perto de um dos ligados. (Em caso de empate a
escolha é arbitrária). Faça a ligação entre os dois.
iii. Repita a etapa 2 até todos os nós estarem ligados, i. é, o algoritmo termina quando se tem N-1
arestas.

4.2 Caminho mais curto: um caminho mínimo é constituído de sub-caminhos mínimos.

4.2.1 Etapas do algoritmo de Dijkstra


i. Atribuir um rótulo igual a zero para o nó origem. Os rótulos dos outros nós, são iguais a
distância do nó origem ao nó em questão. Quando não há ligação, o rótulo é igual a ∞. Rotule o
nó origem como permanente (colocando um *).

Lucas Jamisse 61
Capítulo IV: Optimização em Redes Investigação Operacional

ii. Suponha que o nó k foi o último a receber rótulo permanente. Calcule para cada nó, não
rotulado permanentemente, a soma do rótulo do nó k mais a distância de k ao nó em questão. O
novo rótulo do nó em questão, será o mínimo entre o seu rótulo anterior e a soma acima.
iii. Selecione o nó com o menor rótulo não permanente. Rotule-o como permanente (colocando
um *). Em caso de empate a escolha é arbritária. Se o nó que acabou de ser rotulado é o nó
destino, o algorítimo chegou ao fim, em caso contrário voltar à etapa 2.
iv. Caminho com menor comprimento da rede

Propriedade-1: O nó i precede o nó j se a diferença entre os rótulos permanentes dos nós j e i for


igual a distância i – j.
O comprimento do menor caminho entre os nós origem e destino da rede é exactamente o rótulo
do nó destino.

Exemplo 1. Vamos aplicar o algorítimo para encontrar o caminho mais curto entre os nós 1 e 5
na rede acima (figura.3).
Resolução
Começamos (iteração 0) atribuindo um rótulo igual a 0 para o nó origem (nó 1). O rótulo do nó 2
vai ser igual a distância do nó 1 a ele, ou seja 6. Da mesma forma para outros nós. O rótulo do nó
5 será igual a ∞ pois não há arco ligando a origem (nó 1) a ele. Como todos os nós já tem rótulo,
escolhemos o que tem menor rótulo, nesta iteração vai ser o nó 1 e o rotulamos de forma
permanente, ou seja imutável colocando-se um “*” no rótulo.
Iteração 1 2 3 4 5 Nó Rotulado
0 0* 6 8 3  1

Começamos a iteração 1. Como nesta iteração o último nó rotulado foi o nó 1 que tem rótulo
igual a 0, a soma do rótulo do nó 1 com a distância do nó 1 ao nó em questão dará sempre a
própria distância do nó 1 a cada um dos nós da rede. Como o rótulo anterior já era a própria
distância ao nó 1, teremos o mínimo entre 2 quantidades iguais, ou seja a distância do nó origem
(1) a cada um dos nós. Assim sendo a linha da iteração 1 é exactamente igual a linha da iteração
0. Como o menor valor não rotulado de forma permanente é 3, o nó 4 recebe rótulo permanente.
Iteração 1 2 3 4 5 Nó Rotulado
0 0* 6 8 3  1
1 0* 6 8 3*  4

Lucas Jamisse 62
Capítulo IV: Optimização em Redes Investigação Operacional

Vamos começar a iteração 2 lembrando que o último nó rotulado de forma permanente foi o nó 4
com rótulo igual a 3. Vamos calcular o novo rótulo dos nós 2, 3 e 5. Para o nó 2, inicialmente
devemos calcular a soma do rótulo do nó 4 (= 3) mais a distância do nó 2 ao nó 4 que que é igual
a ∞ pois não existe ligação entre eles (3+∞ = ∞). O novo rótulo do nó 2 será o mínimo entre ∞
e o rótulo anterior de 2 (= 6). Logo o novo rótulo do nó 2 é 6.
Para o nó 3 temos a soma de 3 (rótulo do nó 4) mais a distância do nó 3 ao nó 4 que é igual a 2,
ou seja 3 + 2 = 5. O novo rótulo do nó 3 será o mínimo entre 5 e o rótulo anterior de 3 (= 8).
Logo o novo rótulo do nó 3 é 5.
Para o nó 5 temos: Minimo(3+7=10, ∞ )=10
Iteração 1 2 3 4 5 Nó Rotulado
0 0* 6 8 3  1
1 0* 6 8 3*  4
2 0* 6 5 3* 10 3

Procedemos da mesma forma para iteração 3 e 4. Uma observação importante no algorítimo é


que ele pára quando o nó destino for rotulado permanentemente mesmo que algum outro nó não
tenha recebido rótulo permanente.
Iteração 1 2 3 4 5 Nó Rotulado
0 0* 6 8 3  1
1 0* 6 8 3*  4
2 0* 6 5 3* 10 3
3 0* 6* 5* 3* 6 2
4 0* 6* 5* 3* 6* 5

Como o nó destino (5) foi rotulado, chegamos ao final do algorítimo.


Qual o comprimento do menor caminho entre os nós 1 e 5 da rede ? É exactamente o rótulo do
nó destino, ou seja 6.

Qual o caminho que tem comprimento 6?


Esta pergunta pode ser respondida através da propriedade-1 estabelecida acima.

Começando do nó destino e voltando podemos, aplicando aquela propriedade, achar o caminho


de comprimento igual a 6.
Deste modo temos:

Lucas Jamisse 63
Capítulo IV: Optimização em Redes Investigação Operacional

Nó 5
Arco Diferença Distância
3– 5 6-5= 1 1
2– 5 6-6= 0 3
4– 5 6-3=3 7
(3 – 5) é um arco do caminho.
Nó 3
Arco Diferença Distância
2– 3 5-6= -1 9
1– 3 5-0= 5 8
4– 3 5-3= 2 2
(4 – 3) é um arco do caminho.
Nó 4
Arco Diferença Distância
1– 4 3-0= 3 3
(1 – 4) é um arco do caminho.
O caminho com comprimento igual a 6 (menor caminho da rede) é: (1 – 4), (4 – 3), (3 – 5).

4.3 Problema do Fluxo Máximo

Considere uma rede direccionada e ligada, onde existe um nó de origem-O, um nó de destino-T e


em que todos outros nós são nós de transbordo. São dados do problema as capacidades de
ligação e o objectivo final será determinar uma distribuição de fluxos admissível que maximiza o
fluxo total na rede do nó de Origem ao nó de Destino.

Depois de iniciar o processo de distribuição de fluxos iremos obter uma Rede Residual, onde se
evidenciam os fluxos residuais que ainda podem ser transportados em cada ligação e que se
representa de seguinte forma: A B
O número a esquerda do arco arefere-se à capacidade residual (que ainda pode ser transportada)
do nó anterior para o seguinte. a
a
Antes de se iniciar a resolução deste tipo de problemas, propriamente dita, temos de transformar
a
a rede inicial direccionada e ligada numa rede residual no qual à esquerda de cada arco temos a
a
capacidade máxima do arco e à direita (lado da seta) o valor zero.
A
Seguidamente de cada vez que algum fluxo passa por esse arco é deduzido ao lado esquerdo e
aumentado ao direito.

Um percurso positivo é um percurso directo da Origem ao Destino, na Rede Residual, em que


todos os arcos têm capacidade residual estritamente positiva. O mínimo destas capacidades
denomina-se capacidade residual do percurso positivo e correspondente ao fluxo que
efectivamente pode ser transportado ao longo de todo esse percurso.

Lucas Jamisse 64
Capítulo IV: Optimização em Redes Investigação Operacional

4.3.1 As etapas do algoritmo para resolver problemas de Fluxo Máximo.


i. Identificar um percurso positivo procurando uma sequência de arcos, da Origem ao Destino,
cuja capacidade residual seja estritamente positiva.
ii. Identificar a capacidade Residual C* desse percurso positivo procurando o mínimo das
capacidades residuais dos arcos que o constituem. Aumentar o fluxo na rede desse valor C*.
iii. Deduzir a capacidade residual de cada arco de C*, à esquerda, nesse percurso Positivo e
adicionar a mesma quantidade ao lado direito.
iv. Voltar ao primeiro passo até distribuir o fluxo máximo pela rede.

Exemplo: A figura representa uma rede com origem 1 e destino 6:

Figura-4
Este tipo de problema pode ser formulado como um modelo de Programação Linear.

Sujeito a:

Ressolva o problema da figura-4, aplincdo o algorítmo de fluxo máximo, inicialmente


estabelecendo a rede residual.

Lucas Jamisse 65
Capítulo IV: Optimização em Redes Investigação Operacional

Exercícios

Exercício Nr.4.1-Uma empresa pretende ligar por estrada as cidades conforme a figura abaixo,
as arestas representando as estradas possíveis que podem ser construídas e seus pesos distâncias
destes, recolhidas na matriz de distâncias em anexo. Se o custo de unir duas cidades é
proporcional à distância entre eles, quais estradas devem ser construídas para que sejam unidas
todas as cidades com um custo mínimo?

= não há ligação entre os arcos i e j

Exercício Nr.4.2- Deseja-se remeter energia elétrica da planta (1) à cidade (6). A rede abaixo
apresenta as distâncias entre pares de pontos conectados (incluindo subestações).

3 2 9
6
1 7 3 6

4 1 3 3
5
3
4

a) Formular o problema como um modelo de programação linear.


b) Determinar o caminho mais curta entre a planta e a cidade.

Exercício Nr.4.3- A empresa Construções LD pretende agora encontrar o caminho mais curto
entre a sede da empresa (vértice 1) e o centro de distribuição (vértice 8) através do sistema de
ruas assinalado na figura seguinte. Os valores nos arcos representam as distâncias.

Lucas Jamisse 66
Capítulo IV: Optimização em Redes Investigação Operacional

a) Formule o problema como um modelo de programação linear.


b) Determinar o caminho mais curta entre a sede e o centro de distribuição.

Exercício Nr.4.4-A rede de estradas entre um conjunto de 6 localidades encontra-se danificada.


O custo de reparação de cada estrada é proporcional à sua extensão.
Na rede seguinte encontram-se as ligações existentes assim como as suas extensões (em
quilómetro):

a) Sabendo que é necessário manter a ligação entre as localidades 1 e 6 da forma mais curta
possível, que ligações devem ser reparadas de forma a que seja possível aceder a todas as
localidades minimizando o custo total de reparação?

b) Exercício Nr.4.5- Pretende-se deslocar de R `a W um conjunto de material, de modo que se


minimize o tempo, a duração da viagem em minutos ao longo dos principais pontos intermédios
estão dados no quadro seguinte. Onde existe traço significa que não existe percurso ligando esses
dois pontos.
R C O T P W
R ------ 18.1 ----- 25.7 ---- ----
C 18.1 ------ 13.2 19.5 ---- ----
O ----- 13.2 ------ 17.2 ---- 25.7
T 25.7 19.5 17.2 ------ 5.2 17.2
P ----- ----- ----- 5.2 ---- 11.3
W ----- ----- 25.7 17.2 11.3 ----

Lucas Jamisse 67
Capítulo IV: Optimização em Redes Investigação Operacional

a) Mostre que o problema acima é equivalente a achar o caminho mais curto de uma origem para
um destino.
b) Qual a resposta para o problema ?

Exercício Nr.4.6- O desenho abaixo ilustra uma rede de estradas (arcos) unindo várias cidades
(nós). O conjunto de veículos andando nas estradas é o fluxo que flui na rede.

a) Formule o problema como um modelo de programação linear.


b) Encontre a solução para o problema da portagem B à portagem E, isto é o fluxo máximo.

Exercício Nr.4.7- Para a seguinte rede, encontre a rota mais curta partindo do nó N até nó G.

Exercício Nr.4.8- Determine o fluxo máximo que pode ser levado do nó 1 ao nó 8 na rede
abaixo:

Lucas Jamisse 68

Você também pode gostar