Pesquisa Operacional - PEOP

AULA 5: PERT/CPM

Profa. Luciane Alcoforado / Profa. Renata

Academia da Força Aérea

Objetivos

Verifique ao final desta aula se você é capaz de:

1- elaborar a rede de um projeto (Ap); 2- realizar a programação do projeto (Ap); 3- elaborar o cronograma do projeto (Ap);

Roteiro da Aula

  • Gabarito dos exercícios
  • Elaboração da rede do projeto (continuação)
  • Programação/cronograma do projeto
  • Discussões
  • Exercícios Propostos

Gabarito para conferência

Exercício 1

flowchart LR
1 -->|"C ,2"| 4(("4
    "))
     4 -->|"H,3"| 5(("5
    "))
     1(("1
    ")) -->|A,3| 2(("2
    "))
    2 -->|"D ,4"| 3(("3
    "))
    2 -->|"E ,2"| 4(("4
    "))
    2 -->|"F ,7"| 5(("5
    "))  
    1 -->|"B ,6"| 3(("3
    "))
    3 -->|"G,4"| 5(("5
    "))
   

\(C_1=0 \rightarrow C_2=0+3=3\)

\(C_3=max\{0+6,3+4\}=7\)

\(C_4=max\{0+2,3+2\}=5\)

\(C_5=max\{5+3,3+7,7+4\}=11\)

\(T_{5}=11 \rightarrow T_{4}=11-3=8 \rightarrow T_{3}=11-4=7\)

\(T_{2}=min\{8-2,11-7,7-4\}=3\)

\(T_{1}=min\{8-2,3-3,7-6\}=0\)

\(FT_A=3-0-3=0\); \(FT_B=7-0-6=1\); \(FT_C=8-0-2=6\); \(FT_D=7-3-4=0\); \(FT_E=8-3-2=3\); \(FT_F=11-3-7=1\);\(FT_G=11-7-4=0\); \(FT_H=11-5-3=3\)

flowchart LR
1 -->|"C ,2"| 4(("4
    "))
     4 -->|"H,3"| 5(("5
    "))
     1(("1
    (0,0)")) -->|A,3| 2(("2
    (3,3)"))
    linkStyle 2 stroke:red
    2 -->|"D ,4"| 3(("3
    (7,7)"))
    linkStyle 3 stroke:red
    2 -->|"E ,2"| 4(("4
    (5,8)"))
    2 -->|"F ,7"| 5(("5
    (11,11)"))  
    1 -->|"B ,6"| 3(("3
    (7,7)"))
    3 -->|"G,4"| 5(("5
    (11,11)"))
    linkStyle 7 stroke:red
   

Duração do projeto: 11 semanas

Atividades Críticas: A,D,G

Caminho crítico: A-D-G

Exercício 2

flowchart LR
 1(("1
    (0,0)")) -->|A,3| 2(("2
    "))
    2 -->|"B ,2"| 3(("3
    "))
 2 -->|"C ,3"| 4(("4
    "))
    4 -.->|"0"| 3(("3
    "))
     4 -->|"E,3"| 5(("5
    "))
     4 -->|"H,2"| 6(("6
    "))
     3 -->|"F,5"| 6(("6
    "))
     3 -->|"D,7"| 5(("5
    "))
    
     5 -->|"G,6"| 6(("6
    "))

\(C_1=0 \rightarrow C_2=0+3=3 \rightarrow C_4=3+3=6\)

\(C_3=max\{6+0,3+2\}=6\)

\(C_5=max\{6+3,6+7\}=13\)

\(C_6=max\{6+5,13+6,6+2\}=19\)

\(T_{6}=19 \rightarrow T_{5}=19-6=13\)

\(T_{3}=min\{19-5,13-7\}=6\)

\(T_{4}=min\{19-2,13-5,6-0\}=6\)

\(T_{2}=min\{6-2,6-3\}=3 \rightarrow T_{1}=3-3=0\)

\(FT_A=3-0-3=0\); \(FT_B=6-3-2=1\); \(FT_C=6-3-3=0\); \(FT_D=13-6-7=0\); \(FT_E=13-6-4=3\); \(FT_F=19-6-5=8\);\(FT_G=19-13-6=0\); \(FT_H=19-6-2=11\)

flowchart LR
 1(("1
    (0,0)")) -->|A,3| 2(("2
    (3,3)"))
     linkStyle 0 stroke:red
    2 -->|"B ,2"| 3(("3
    (6,6)"))
 2 -->|"C ,3"| 4(("4
    (6,6)"))
     linkStyle 2 stroke:red
    4 -.->|"0"| 3(("3
    (6,6)"))
     linkStyle 3 stroke:red
     4 -->|"E,3"| 5(("5
    "))
     4 -->|"H,2"| 6(("6
    "))
     3 -->|"F,5"| 6(("6
    "))
     3 -->|"D,7"| 5(("5
    (13,13)"))
     linkStyle 7 stroke:red
     5 -->|"G,6"| 6(("6
    (19,19)"))
     linkStyle 8 stroke:red

Duração do projeto: 19 semanas

Atividades Críticas: A,C,D,G

Caminho crítico: A-c-D-G

Lembrete e Observações

1- Um projeto pode ter mais de um caminho crítico.

2- A duração de um projeto é dada pela soma das durações das atividades pertencentes a um dos caminhos críticos do projeto.

flowchart LR
 1(("1
    (0,0)")) -->|A,3| 2(("2
    (3,3)"))
     linkStyle 0 stroke:red
    2 -->|"B ,2"| 3(("3
    (6,6)"))
 2 -->|"C ,3"| 4(("4
    (6,6)"))
     linkStyle 2 stroke:red
    4 -.->|"0"| 3(("3
    (6,6)"))
     linkStyle 3 stroke:red
     4 -->|"E,3"| 5(("5
    "))
     4 -->|"H,13"| 6(("6
    "))
    linkStyle 5 stroke:red
     3 -->|"F,5"| 6(("6
    "))
     3 -->|"D,7"| 5(("5
    (13,13)"))
     linkStyle 7 stroke:red
     5 -->|"G,6"| 6(("6
    (19,19)"))
     linkStyle 8 stroke:red

No exemplo acima a duração do projeto é de 19 semanas, as atividades críticas são A, C, D, H e G. Há dois caminhos críticos A-C-D-G e A-C-H. Note que ao somarmos a duração das atividades de ambos os caminhos críticos o resultado é 19.

3- Para identificar as atividades críticas é necessário calcular a folga total de todas as atividades do projeto, destacando-se as que possuem folga nula.

4- Atrasos em uma das atividades críticas podem acarretar um atraso no projeto, em tempo, igual ao atraso da atividade.

5- As atividades não críticas, por possuírem FOLGAS, podem sofrer atrasos dentro de uma data limite, além da qual o projeto também será atrasado.

Análise das Folgas de um projeto

A análise das folgas em um projeto é crucial para entender a flexibilidade do cronograma e identificar atividades que têm margem para atrasos sem impactar o prazo final do projeto. As folgas permitem que os gerentes de projeto tomem decisões informadas sobre alocação de recursos, antecipação de possíveis atrasos e priorização de atividades críticas.

Podem ser de 4 tipos: folga total, folga dependente, folga independente e folga livre.

Folga Total

Já vimos seu conceito na aula anterior. Lembre-se que a Folga Total (FT) é a quantidade de tempo que uma atividade pode ser adiada sem atrasar o projeto como um todo.

\(FT_{ij}=T_j-C_i-d_{ij}\)

flowchart LR
    A(("i 
    (Ci=3,Ti=4)"))-->|"(Atividade (ij), duração=4)"| B(("j 
    (Cj=7,Tj=9)"))

\(FT_{ij}=9-3-4=2\)

Folga Dependente

A folga dependente (FD) é a quantidade de tempo que uma atividade pode ser adiada sem atrasar o início mais tarde da atividade sucessora.

\(FD_{ij}=T_j-T_i-d_{ij}\)

flowchart LR
    A(("i 
    (Ci=3,Ti=4)"))-->|"(Atividade (ij), duração=4)"| B(("j 
    (Cj=7,Tj=9)"))

\(FD_{ij}=9-4-4=1\)

Folga Independente

A folga independente (FI) é a quantidade de tempo que uma atividade pode ser adiada no seu início mais tarde sem atrasar o início mais cedo da atividade sucessora.

\(FI_{ij}=C_j-T_i-d_{ij}\)

flowchart LR
    A(("i 
    (Ci=3,Ti=4)"))-->|"(Atividade (ij), duração=4)"| B(("j 
    (Cj=7,Tj=9)"))

\(FI_{ij}=7-4-4=-1\)

Este resultado indica que se a atividade for atrasada para além do tarde do evento inicial, a tarefa sucessora ficará impossibilitada de ser iniciada no cedo do seu evento inicial.

Obs: Deve haver cuidado ao analisar a folga independente, pois pode acontecer que ela apresente valor negativo. A folga independente negativa indica que se a atividade iniciar na data de tarde do evento inicial, as tarefas sucessoras a ela não poderão iniciar na data mais cedo do evento inicial, ou seja, a duração da atividade ultrapassou a data estabelecida para o cedo do evento final e devemos indicar que a folga é nula.

Folga Livre

A folga livre (FL) é a quantidade de tempo que uma atividade pode ser adiada no seu início mais cedo sem atrasar o início mais cedo da atividade sucessora.

\(FL_{ij}=C_j-C_i-d_{ij}\)

flowchart LR
    A(("i 
    (Ci=3,Ti=4)"))-->|"(Atividade (ij), duração=4)"| B(("j 
    (Cj=7,Tj=9)"))

\(FL_{ij}=7-3-4=0\)

Este resultado indica que se a atividade for atrasada para além do cedo do evento inicial, a tarefa sucessora não poderá ser iniciada no cedo do seu evento inicial.

FI < 0

  1. Se, \(C_j-T_i<0\) , demonstra uma impropriedade ao determinar os tempos da rede de planejamento, dada a impossibilidade temporal de ocorrer o início de uma atividade após a data prevista de sua finalização.

Assim, deve ser constatado se há erro na determinação dos tempos.

  1. Se \(C_j-T_i<d_{ij}\) , há a indicação da necessidade de acelerar a atividade, pois a previsão de sua duração é maior que o esperado. Neste caso, a atividade deve ser acelerada.

Esquema das Folgas

Resumo

Folga Total (Total Slack ou Total Float): \(FT_{ij}=T_j-C_i-d_{ij}\)

Representa a quantidade de tempo que uma atividade pode ser adiada sem atrasar o projeto como um todo. O termo “total” é usado porque essa folga considera o impacto global no projeto. Ela reflete a flexibilidade total disponível no cronograma para a atividade em questão.

Folga Dependente (Free Slack ou Free Float): \(FD_{ij}=T_j-T_i-d_{ij}\)

Indica a quantidade de tempo que uma atividade pode ser adiada sem atrasar o início mais tarde da atividade sucessora.O termo “dependente” é usado porque essa folga está vinculada diretamente à dependência entre atividades. Reflete a flexibilidade da atividade atual sem afetar diretamente outras atividades além da sua sucessora direta.

Folga Independente (Independent Slack ou Independent Float): \(FI_{ij}=C_j-T_i-d_{ij}\)

Representa a quantidade de tempo que uma atividade pode ser adiada no seu início mais tarde sem atrasar o início mais cedo da atividade sucessora. O termo “independente” é utilizado porque essa folga considera a flexibilidade da atividade atual sem depender do início mais cedo da atividade sucessora. Ela destaca a independência em relação ao início mais cedo da atividade seguinte.

Folga Livre (Total Independent Slack): \(FL_{ij}=C_j-C_i-d_{ij}\)

Reflete a quantidade de tempo que uma atividade pode ser adiada no seu início mais cedo sem atrasar o início mais cedo da atividade sucessora. O termo “livre” é empregado porque essa folga está disponível sem restrições diretas em relação à atividade sucessora. Ela representa a folga máxima sem comprometer o início mais cedo da atividade seguinte.

Exercício 1

Obtenha as folgas da atividade G

flowchart LR
    A(("5 
    (22,26)"))-->|"(G, 7)"| B(("8 
    (29,33)"))

Fórmulas: \(td_{ij}=T_j-C_i\)

\(FT_{ij}=td_{ij}-d_{ij}\);

\(FD_{ij}=T_j-T_i-d_{ij}\);

\(FI_{ij}=C_j-T_i-d_{ij}\);

\(FL_{ij}=C_j-C_i-d_{ij}\)

Resposta

Tempo disponível: \(td_G=33-22=11\)

Folga Total: \(FT_G = 11-7=4\)

Folga Dependente: \(FD_G= 33-26-7=0\)

Folga Independente: \(FI_G= 29-26-7=-4\) => Como o valor é negativo isso indica que NÃO há folga independente para G.

Folga Livre: \(FL_G= 29-22-7=0\)

Apesar de G não ser atividade crítica, se o início da atividade começar em \(T_i=26\), ela deverá ser acelerada em pelo menos 4 dias para que as atividades sucessoras não sofram atrasos no seu início mais cedo (\(C_j=29\)).

Exercício 2

Complete os dados desta rede, classifique o tipo de atividade fantasma representada e calcule as folgas da atividade B.

flowchart LR
    A(("1 
    (0,0)"))-->|"(A, 7)"| B(("3 
    (  ,  )"))
    A-->|"(B, 5)"| C(("2
    
    (  ,  )"))
    C-.->B

Fórmulas: \(td_{ij}=T_j-C_i\)

\(FT_{ij}=td_{ij}-d_{ij}\);

\(FD_{ij}=T_j-T_i-d_{ij}\);

\(FI_{ij}=C_j-T_i-d_{ij}\);

\(FL_{ij}=C_j-C_i-d_{ij}\)

Resposta

A atividade fantasma é de codificação. Assim, os eventos 2 e 3 são os mesmo e servem para representar duas atividades paralelas. A rede completa com os \((C_i,T_i)\) de cada evento é:

flowchart LR
A(("1 
    (0,0)"))-->|"(A, 7)"| B(("3 
    (7  , 7)"))
    A-->|"(B, 5)"| C(("2 
    (7 ,7)"))
    C-.->B

Note que inicialmente obteríamos \((C_2=5,T_2=7)\), mas como os eventos 2 e 3 são os mesmos devido a atividade fantasma de codificação, devemos ajustar para \((C_2=7,T_2=7)\).

Tempo disponível: \(td_B=7-0=7\)

Folga Total: \(FT_B = 7-5=2\)

Folga Dependente: \(FD_B= 7-0-5=2\)

Folga Independente: \(FI_B= 7-0-5=2\)

Folga Livre: \(FL_B= 7-0-5=2\)

B é uma atividade não crítica em que todos os tipos de folga resultam em 2 u.t., isto significa que seu início pode ser adiado em 2 u.t. que não afetará os eventos das atividades subsequentes.

Priorização das atividades

Quanto menor a folga, maior a prioridade da atividade.

Recomenda-se priorizar as atividades utilizando a seguinte ordem no cálculo das folgas: folga total – folga dependente e se persistir o empate, folga independente ou folga livre.

Essa ordem das folgas é justificada, pois as duas primeiras estão relacionadas ao tarde de uma atividade. E, havendo ultrapassagem deste, a conclusão do projeto ocorrerá posterior a data prevista.

Discussões

Compartilhe suas dúvidas ou insights.

Prepare-se para a próxima aula: Revisar o conteúdo das aulas anteriores e realizar os exercícios propostos

Exercícios Propostos

1

Considere a rede de projeto abaixo. Obtenha as folgas FT, FD, FI e FL. Quais atividades não críticas devem ser priorizadas?

flowchart LR
    1(("1
    (0,0)")) -->|A,2| 2(("2
    (2,2)"))
    linkStyle 0 stroke:red
    2 -->|"B ,4"| 3(("3
    (6,6)"))
    linkStyle 1 stroke:red
    3 -->|"C ,10"| 4(("4
    (16,16)"))
    linkStyle 2 stroke:red
    4 -->|"D ,6"| 5(("5
    (22,26)"))
    4 -->|"E ,4"| 6(("6
    (20,20)"))
    linkStyle 4 stroke:red
    6 -->|"F ,5"| 7(("7
    (25,25)"))
    linkStyle 5 stroke:red
    5 -->|"G ,7"| 8(("8
    (29,33)"))
    6 -.->|"0"| 8(("8
    (29,33)"))
    8 -->|"H ,9"| 9(("9
    (38,42)"))
    4 -->|"I ,7"| 7
    7 -->|"J ,8"| 11(("10
    (33,33)"))
    linkStyle 10 stroke:red
    9 -->|"M ,2"| 14(("13
    "))
    11 -->|"K ,4"| 12(("11
    (38,38)"))
    11 -->|"L ,5"| 13(("12
    "))
    linkStyle 13 stroke:red
    12 -.->|"0"| 13(("12
    (38,38)"))
    13 -->|"N ,6"| 14(("13
    (44,44)"))
    linkStyle 15 stroke:red

Exercícios Propostos

2

O projeto apresentado na tabela a seguir, possui a seguinte rede (já construída em exercício anterior). Obtenha todos os tipos de folgas de todas as atividades, apresentando uma hierarquização de prioridades.

Atividades Precedente Duração (Semanas)
A - 3
B - 6
C - 2
D A 4
E A 2
F A 7
G B,D 4
H C,E 3

flowchart LR
1 -->|"C ,2"| 4(("4
    "))
     4 -->|"H,3"| 5(("5
    "))
     1(("1
    (0,0)")) -->|A,3| 2(("2
    (3,3)"))
    linkStyle 2 stroke:red
    2 -->|"D ,4"| 3(("3
    (7,7)"))
    linkStyle 3 stroke:red
    2 -->|"E ,2"| 4(("4
    (5,8)"))
    2 -->|"F ,7"| 5(("5
    (11,11)"))  
    1 -->|"B ,6"| 3(("3
    (7,7)"))
    3 -->|"G,4"| 5(("5
    (11,11)"))
    linkStyle 7 stroke:red

   

3

Idem ao exercício anterior

Atividades Precedente Duração (Semanas)
A - 3
B A 2
C A 3
D B,C 7
E C 3
F B,C 5
G D,E 6
H C 2

flowchart LR
 1(("1
    (0,0)")) -->|A,3| 2(("2
    (3,3)"))
     linkStyle 0 stroke:red
    2 -->|"B ,2"| 3(("3
    (6,6)"))
 2 -->|"C ,3"| 4(("4
    (6,6)"))
     linkStyle 2 stroke:red
    4 -.->|"0"| 3(("3
    (6,6)"))
     linkStyle 3 stroke:red
     4 -->|"E,3"| 5(("5
    "))
     4 -->|"H,2"| 6(("6
    "))
     3 -->|"F,5"| 6(("6
    "))
     3 -->|"D,7"| 5(("5
    (13,13)"))
     linkStyle 7 stroke:red
     5 -->|"G,6"| 6(("6
    (19,19)"))
     linkStyle 8 stroke:red