Você está na página 1de 7

Problemas de Optimizao em Redes

V 1.1, V.Lobo, EN / ISEGI, 2008

Problemas de Optimizao em redes

Problemas de optimizao em redes


Conceito de grafo
Muitos problemas Muitas aplicaes
A 7 5 1 E 3 4 D 4 7 2 F 1 C G 2 5 4 B

Caminho mais curto


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,,,)

Problemas de Optimizao em Redes


V 1.1, V.Lobo, EN / ISEGI, 2008

Nomenclatura de grafos (1)


Ns
Ou nodos, ou vrtices
N aresta N Arco orientado N

Arestas
Ou linhas no direccionadas

Arcos
Ou arcos orientados, ou linhas orientadas

Lacetes
Arcos que comeam e acabam no mesmo n

Nomenclatura de grafos (2)


Cadeia
Sequncia de arcos

Caminho
Cadeia onde os arcos tm a mesma orientao

Ciclo
Cadeia onde o n inicial e final so o mesmo

Circuito
Ciclo onde os arcos tm a mesma orientao

Problemas de Optimizao em Redes


V 1.1, V.Lobo, EN / ISEGI, 2008

Nomenclatura de grafos (3)


Circuito Hamiltoniano
Passa por todos os ns

Circuito Euleriano
Atravessa todos os arcos

Grafo conexo
Todos os ns esto ligados

Matriz de adjacncias
NxN, com uma linha/coluna para cada n, e valores 0 ou 1 consoante haja ou no ligao

Exemplo: Parque natural Seervada


Existem 7 acampamentos
Um o de entrada para o parque: O Um o topo da montanha T onde muitos turistas querem ir

S os jipes do parque que podem circular nas picadas. Cada picada:


Demora um determinado tempo a percorrer (custo) Tem uma quantidade mxima de trfego que pode acolher (seno afecta o equilbrio ecolgico).

Problemas de Optimizao em Redes


V 1.1, V.Lobo, EN / ISEGI, 2008

Exemplo: Parque natural Seervada


A 7 2 5 4 C B 1 4 4 3 E D 1

Modelo em rede
Custo dos arcos

2 O

5 7

Problemas
Caminho mais curto

Qual o caminho mais barato para chegar a T ? Quantas pessoas posso levar a T ? Como ?
Mximo fluxo

Para ligar todos os acampamentos internet, por onde devem passar os cabos
Minimum Spanning Tree

Minimum Spanning Tree


Algoritmo guloso
Vamos ligando os mais prximos, at estarem todos ligados Neste caso, possvel provar que a soluo ptima !

Passos:
1 - Escolher os dois ns mais prximos 2- Escolher o n que esteja mais prximo de algum dos ns escolhidos 3 Repetir 2 at no haver mais ns

Exemplo

Problemas de Optimizao em Redes


V 1.1, V.Lobo, EN / ISEGI, 2008

Exemplo de MST
Forma matricial
O
O O A B C D E T 0 A 2 0 B 5 2 0 C 4 1 0 D 7 4 0 E 3 4 1 0 T . 5 7 0

A 2 5 4 C 2 B 1

7 4 3

D 1 E 4

5 7

A O C B

D T

Caminho mais curto


Algoritmo de Dijkstra
Ir expandindo os ns conhecidos

Passos
Calcular os custos para os vizinhos imediatos
Calcular os custos para os vizinhos dos vizinhos
Ver se j esto na tabela Se tivermos um custo menor, substituir a entrada na tabela.

Exemplo

Problemas de Optimizao em Redes


V 1.1, V.Lobo, EN / ISEGI, 2008

Exemplo do algoritmo de Dijkstra


A 7 2 5 4 C
D 9 7 4 5 E 8 5 3 4 T O A B C D E T O 0 A 2 0 B 5 2 0

1 iterao
O O 0 A 2 B 5 C 4 D E T -

D 4 3 E 4
C 4 1 0 D 7 4 0

2 O

5 1 7

B 1

2 iterao
O O A B C 0 A 2 0 B 4 2 0 C 4 3 1 0

E 3 4 1 0

T . 5 7 0

3 iterao

Problema do caixeiro viajante


TSP Travelling Salesman Problem Problema paradigmtico para uma classe muito importe de problemas
NP-completo

Problema difcil
Se o nmero de variveis aumenta, o trabalho necessrio para o resolver aumenta mais que polinomialmente (tanto quanto sabemos) nica maneira de garantir o ptimo experimentar todas as solues possveis Nmero de solues possveis: (n-1)!
1! = 1 10! =3.628.800 100!=9,3e+157

Problemas de Optimizao em Redes


V 1.1, V.Lobo, EN / ISEGI, 2008

Problema do caixeiro viajante


Enumerao exaustiva
Leva demasiado tempo

Branch-and-bound (ou A*)


Enumerao implcita das solues Pode reduzir muito drasticamente o tempo necessrio Ideia base
Obter uma soluo incremental onde o custo monotonamente crescente Comear por uma soluo (o melhor possvel) Ir construindo solues at atingir o custo daquela que j temos Exemplo

Exemplo do caixeiro viajante


Usando Bruxelas como base, qual o circuito mais curto ?
N de solues possveis
3! = 6

Utilizao de B&B
Paris Paris Londres Bruxelas Andorra 0,0 3,5 3,0 6,4 Londres Bruxelas Andorra 3,5 3,0 6,4 0,0 4,6 9,1 4,6 0,0 8,8 9,1 8,8 0,0

Você também pode gostar