Você está na página 1de 3

Problemas de Optimizao em Redes

V 1.0, V.Lobo, EN/ISEGI, 2005

Problemas de optimizao em redes


7 G
Problema de Conceito de grafo
Muitos problemas
A
5
1
D
4
2
F 5
2
B
Optimizao em Muitas aplicaes 7 3
E 1 4
Caminho mais curto 4 C

redes Qual o caminho mais curo de A para B


Mximo fluxo
De que modo posso fazer passar o mximo de pessoas (ou
gua, ou contentores)
Minimum spanning tree (rvore de cobertura mnima)
Qual o conjunto mnimo de arcos que liga todos os ns (ou
quais os trajectos a alcatroar para se poder ir a qualquer lugar).
(outrosTSP, PERT/CPM, Min Cost flow, etc,etc,,,)

Nomenclatura de grafos (1) Nomenclatura de grafos (2)


Ns N
aresta
N Cadeia
Ou nodos, ou vrtices Sequncia de arcos
Arco
Arestas orientado Caminho
N
Ou linhas no direccionadas Cadeia onde os arcos tm a mesma orientao
Arcos Ciclo
Ou arcos orientados, ou linhas orientadas Cadeia onde o n inicial e final so o mesmo
Lacetes Circuito
Arcos que comeam e acabam no mesmo n Ciclo onde os arcos tm a mesma orientao

Nomenclatura de grafos (3) Exemplo: Parque natural Seervada


Circuito Hamiltoniano Existem 7 acampamentos
Passa por todos os ns Um o de entrada para o parque: O
Circuito Euleriano Um o topo da montanha T onde muitos turistas
Atravessa todos os arcos querem ir

Grafo conexo S os jipes do parque que podem circular nas


Todos os ns esto ligados picadas. Cada picada:
Demora um determinado tempo a percorrer (custo)
Matriz de adjacncias
Tem uma quantidade mxima de trfego que pode
NxN, com uma linha/coluna para cada n, e valores 0
ou 1 consoante haja ou no ligao acolher (seno afecta o equilbrio ecolgico).

1
Problemas de Optimizao em Redes
V 1.0, V.Lobo, EN/ISEGI, 2005

Exemplo: Parque natural Seervada Minimum Spanning Tree


A 7
D 5
2 2 T Algoritmo guloso
Modelo em rede O 5 B
4
1 Vamos ligando os mais prximos, at estarem todos
3 7
Custo dos arcos 4 ligados
1 E
C 4 Neste caso, possvel provar que a soluo ptima !
Problemas
Qual o caminho mais barato para chegar a T ? Passos:
Caminho mais curto 1 - Escolher os dois ns mais prximos
Quantas pessoas posso levar a T ? Como ? 2- Escolher o n que esteja mais prximo de algum dos
Mximo fluxo ns escolhidos
3 Repetir 2 at no haver mais ns
Para
ligar todos os acampamentos internet, por onde
devem passar os cabos Exemplo
Minimum Spanning Tree

Exemplo de MST Caminho mais curto


A 7
Forma matricial
2 2
D 5
T
Algoritmo de Dijkstra
4
O 5 B 1 Ir expandindo os ns conhecidos
3 7
O A B C D E T 4 1 E
O 0 2 5 4 - - - C 4 Passos
A 0 2 - 7 - - Calcular os custos para os vizinhos imediatos
B 0 1 4 3 -
Calcular os custos para os vizinhos dos vizinhos
C 0 - 4 . A
D Ver se j esto na tabela
D 0 1 5 T Se tivermos um custo menor, substituir a entrada na
E 0 7 O B tabela.
T 0
E Exemplo
C

Exemplo do algoritmo de Dijkstra Problema do caixeiro viajante


A 7 TSP Travelling Salesman Problem
D 5
1 iterao 2 2
4
T Problema paradigmtico para uma classe muito
1
O A B C D E T O 5 B
3 7 importe de problemas
O 0 2 5 4 - - - 4 1 E NP-completo
C 4
2 iterao Problema difcil
O A B C D E T O A B C D E T Se o nmero de variveis aumenta, o trabalho
O 0 2 4 4 9 8 - O 0 2 5 4 - - - necessrio para o resolver aumenta mais que
A 0 2 3 7 5 - A 0 2 - 7 - - polinomialmente (tanto quanto sabemos)
B 0 1 4 3 -
B 0 1 4 3 - nica maneira de garantir o ptimo experimentar
C 0 - 4 . todas as solues possveis
C 0 5 4 -
D 0 1 5 Nmero de solues possveis: n!
E 0 7 1! = 1 10! =3628800 100!=9,3e+157
3 iterao
T 0

2
Problemas de Optimizao em Redes
V 1.0, V.Lobo, EN/ISEGI, 2005

Problema do caixeiro viajante Exemplo do caixeiro viajante


Enumerao exaustiva Usando Burxelas como
Leva demasiado tempo base, qual o cicruito mais
Branch-and-bound (ou A*) curto ?
Enumerao implcita das solues N de solues possveis
Pode reduzir muito drasticamente o tempo necessrio 4! = 24
Ideia base Utilizao de B&B
Obter uma soluo incremental onde o custo
monotonamente crescente
Paris Londres Bruxelas Andorra
Comear por uma soluo (o melhor possvel) Paris 0,0 3,5 3,0 6,4
Londres 3,5 0,0 4,6 9,1
Ir construindo solues at atingir o custo daquela que j temos Bruxelas 3,0 4,6 0,0 8,8
Exemplo Andorra 6,4 9,1 8,8 0,0