A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Algoritmos em Grafos Celso C. Ribeiro Caroline T. Rocha.

Apresentações semelhantes


Apresentação em tema: "Algoritmos em Grafos Celso C. Ribeiro Caroline T. Rocha."— Transcrição da apresentação:

1 Algoritmos em Grafos Celso C. Ribeiro Caroline T. Rocha

2 2Algoritmos em Grafos PARTE 3: CAMINHOS MAIS LONGOS E SEQÜENCIAMENTO DE TAREFAS

3 3Algoritmos em Grafos Caminhos mais Longos Adaptação dos algoritmos para o problema de caminho mais curto f* = mínimo f(x) = - máximo {- f(x)} Condição: o grafo não pode ter circuitos de comprimento positivo. f* x* f - f* - f Multiplicar as distâncias por (-1) e aplicar o algoritmo para caminhos mais curtos Multiplicar as distâncias por (-1) e aplicar o algoritmo para caminhos mais curtos

4 4Algoritmos em Grafos Caminhos mais Longos Alternativa: adaptar os algoritmos de caminhos mais curtos para que calculem caminhos mais longos. Inicializar S  {2,3,...,n}, S  {1},  (1)  0,  (j)  c 1j se j  1 + -  caso contrário Enquanto S   faça Selecionar j  S tal que  (j)= max i  S {  (i)} e todos os predecessores de j já pertençam a S S  S – {j} S  S  {j} Para  i  S e i  j + faça  (i)  max{  (i,  (j)+c ji } fim-enquanto

5 5Algoritmos em Grafos Caminhos mais Longos Problema central de seqüenciamento de tarefas Os grandes projetos exigem acompanhamento constante e perfeita coordenação das tarefas, de modo a: evitar atrasos evitar custos adicionais Problema de seqüenciamento: Objetivo: determinar a ordem e o calendário de execução das tarefas. Tarefa Representação por um grafo duração restrições (precedências)

6 6Algoritmos em Grafos Caminhos mais Longos Exemplo: Preparação da construção de um prédio: 1.Executar o aterro (10 dias) 2.Instalar um guindaste (2 dias) 3.Fazer as fundações (6 dias) 4.Ligações elétricas (3 dias) 5.Instalação de esgotos (5 dias) Restrições: O guindaste só pode funcionar após as ligações elétricas estarem prontas. O guindaste é necessário para fazer as fundações. A instalação dos esgotos e as fundações só podem ser executadas após o final do trabalho de aterro.

7 7Algoritmos em Grafos Caminhos mais Longos PERT (Program Evaluation and Review Technique) Rede PERT: nós: representam etapas (instantes privilegiados do projeto) - etapa INÍCIO - etapa FIM arcos: representam tarefas - tarefas reais de duração positiva - tarefas virtuais (ou fictícias) de duração nula para exprimir as restrições de precedência. Grafo potenciais-etapas (nós são etapas)

8 8Algoritmos em Grafos Caminhos mais Longos Uma etapa x é atingida quando todas as tarefas (reais e fictícias) correspondendo a arcos dos quais x é extremidade final foram concluídas. Só é possível iniciar a execução da tarefa correspondente ao arco (x, y) depois que a etapa x tiver sido atingida. x t1t1 t2t2 t3t3 y

9 9Algoritmos em Grafos Caminhos mais Longos Exemplo: A tarefa 1 deve estar terminada para que a tarefa 5 possa ser iniciada. Supressão de arcos inúteis: 3 5 2 1 4 IF 3 2 10 6 5 2 1 4 3 5 I F 3 2 6 5 a b I b a F

10 Algoritmos em Grafos Caminhos mais Longos Resolver um problema de seqüenciamento de tarefas corresponde a: determinar um calendário de execução determinar as tarefas críticas (aquelas cujo atraso provoca um atraso na execução do projeto como um todo) controlar o desenvolvimento do projeto e saber, a cada instante, atualizar as previsões iniciais

11 11Algoritmos em Grafos Caminhos mais Longos Etapa x:  (x): data mais cedo (data mínima em que a etapa x pode ser atingida)  (x): data mais tarde (data máxima em que a etapa x pode ser atingida sem que resulte em atraso na execução do projeto como um todo) Uma tarefa é dita crítica se qualquer atraso em sua execução se repercute automaticamente na duração do projeto. Caminho crítico: formado por tarefas críticas

12 12Algoritmos em Grafos Caminhos mais Longos Para que a etapa x possa ser atingida, é necessário que todos os caminhos de I a x tenham sido percorridos.  (x) = comprimento do caminho mais longo de I a x considerando-se  (I) = 0. Tarefa u = (x,y):  (u) =  (y) -  (x) - d(u) é a folga da tarefa u. u  caminho crítico  (u) = 0 I(u) x T(u) y u O grafo PERT não tem circuitos.

13 13Algoritmos em Grafos Caminhos mais Longos Algoritmo PERT S  {I},  (I)  0 Enquanto  x  S tal que todos seus predecessores estão em S faça  (x)  max {u: T(u)= x} {  (I(u))+d(u)} S  S  {x} fim-enquanto S  {F},  (F)   (F) Enquanto  x  S tal que todos seus sucessores estão em S faça  (x)  min {u: I(u)= x} {  (T(u))-d(u)} S  S  {x} fim-enquanto Calcular  (u)   (T(u))-  (I(u))–d(u),  u  U

14 14Algoritmos em Grafos Caminhos mais Longos Exemplo:  (I) = 0S={I}  (b) = 10S={I, b}  (a) = 10S={I, a, b}  (F) = 16S={I, a, b, F} I F 3 2 10 6 5 0 a b  (F) = 16S={F}  (a) = 10S={F, a}  (b) = 10S={F, b, a}  (I) = 0S={F, b, a, I} ITERAÇÃO 1: ITERAÇÃO 2: ITERAÇÃO 3: ITERAÇÃO 1: ITERAÇÃO 2: ITERAÇÃO 3:

15 15Algoritmos em Grafos Caminhos mais Longos Grafo potenciais-tarefas: nó  tarefa arco(i,j)  se a tarefa i deve preceder a tarefa j 3 5 2 1 4 IF 3 2 10 6 5 I 3 2 6 5 0 0 0 4 2 1 3 5 F

16 16Algoritmos em Grafos Caminhos mais Longos A tarefa j só pode começar após a metade da execução da tarefa i: A tarefa j só pode começar um tempo t após o fim de i: A tarefa j só pode começar após a data b j : i j d i /2 i j d i + t I j bjbj

17 17Algoritmos em Grafos Caminhos mais Longos TAREFASDURAÇÃOANTERIORES A7- B3A C1B D8A E2D, C F1 G1 H3F J2H K1E, G,J GRAFO POTENCIAIS-ETAPAS: I 1 2 3 5 6 4F A BC DE F H J K G 7 3 1 8 1 3 2 2 1 1  (I)=0  (I)=0  (1)=7  (3)=15  (2)=10  (4)=21  (F)=22  (6)=19  (5)=16  (F)=22  (4)=21  (6)=19  (5)=16  (3)=15  (1)=7  (2)=14

18 18Algoritmos em Grafos Caminhos mais Longos Cálculo das folgas :  (u) =  (T(u)) –  (I(u)) – d(u)  (A) = 7 – 0 – 7 = 0  (B) = 14 – 7 – 3 = 4  (C) = 15 – 10 – 1 = 4  (D) = 15 – 7 – 8 = 0  (E) = 21 – 15 – 2 = 4  (F) = 16 – 15 – 1 = 0  (G) = 21 – 15 – 1 = 5  (H) = 19 – 16 – 3 = 0  (J) = 21 – 19 – 2 = 0  (K) = 22 – 21 – 1 = 0 Caminho crítico: A  D  F  H  J  K

19 19Algoritmos em Grafos Caminhos mais Longos GRAFO POTENCIAIS-TAREFAS: TAREFASDURAÇÃOANTERIORES A7- B3A C1B D8A E2D, C F1 G1 H3F J2H K1E, G,H I A B D F H E K C G J F 0 7 7 3 8 8 8 1 1 1 1 13 1 2


Carregar ppt "Algoritmos em Grafos Celso C. Ribeiro Caroline T. Rocha."

Apresentações semelhantes


Anúncios Google