Pesquisa Operacional - PEOP

AULA 4: PERT/CPM

Profa. Luciane Alcoforado

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/Folgas do projeto / Marcos do projeto
  • Discussões
  • Exercícios Propostos

Gabarito para conferência

Refere-se aos exercícios finais da aula anterior.

Exercício 1

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

\(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\)

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
    (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

\(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\)

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.

Lembrete e Observações

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 serve 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)"))
    --> |sucessoras|k(("k 
    (Ck,Tk)"))

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

Indica que há uma folga de 2 dias para o início mais cedo da atividade (dia 3), sem comprometer o início mais tarde das sucessoras (dia 9).

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)"))
    --> |sucessoras|k(("k 
    (Ck,Tk)"))

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

Indica que há uma folga de 1 dia para o início mais tarde da atividade (dia 4), sem comprometer o início mais tarde das sucessoras (dia 9).

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)"))
    --> |sucessoras|k(("k 
    (Ck,Tk)"))

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

Indica que não se pode atrasar o início mais cedo (dia 3) sem compromoter o início mais cedo (dia 7) das atividades sucessoras.

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)"))
    --> |sucessoras|k(("k 
    (Ck,Tk)"))

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

Este resultado indica que se a atividade iniciar no início mais tarde (dia 4), não seria possível garantir o início mais cedo da próxima atividade (dia 7), já haveria um atraso de 1 dia.

FI < 0

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

Impropriedade: \(C_4-T_2=7-10=-3\)

flowchart LR
   1(("1
    (0,0)")) -->|A,5| 2(("2
    (5,10)"))
    1 --> |B,10| 3(("3
    (10,10)"))
    2 -->|"C ,2"| 4(("4
    (7,18)"))
    4 -.->5
    2 -.-> 3
    3 -->|"D ,8"| 5(("5
    (18,18)"))  

Eliminar fantasma desnecessária!

flowchart LR
   1(("1
    (0,0)")) -->|A,5| 2(("2
    (5,10)"))
    1 --> |B,10| 3(("3
    (10,10)"))
    2 -->|"C ,2"| 4
    2 -.-> 3
    3 -->|"D ,8"| 4(("4
    (18,18)"))  

  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.

Resumo

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: \(FT_{ij}=T_j-C_i-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 
    (C3,T3)"))
    A-->|"(B, 5)"| C(("2
    (C2 ,T2)"))
    C-.->B

Fórmulas: \(FT_{ij}=T_j-C_i-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. Na prática A e B finalizam conjuntamente no evento 3. No cálculo das folgas de A e B considerar o evento 1 como inicial e o evento 3 como final.

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

  • Folga Total: \(FT_A = 7-7-0=0\); \(FT_B = 7-5-0=2\)

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

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

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

B é uma atividade, 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.

Marcos do Projeto

Compreendem as datas de início e término de cada atividade, são elementos essenciais para a elaboração e monitoramento do cronograma do projeto. São eles:

\(PDI_{ij}=C_i\) é a Primeira Data de Início da atividade \((ij)\), definida como a primeira oportunidade de iniciar uma atividade \((ij)\).

\(PDT_{ij}=C_i+d_{ij}\) é a Primeira Data de Término da atividade \((ij)\), é a primeira oportunidade de concluir uma atividade.

\(UDI_{ij}=T_j - d_{ij}\) é a Última Data de Início da atividade \((ij)\), definida como a última oportunidade de iniciar uma atividade a fim de que não ocorram atrasos nas atividades subsequentes.

\(UDT_{ij}=T_j\) é a Última Data de Término da atividade \((ij)\), definida como a última oportunidade de terminar uma atividade a fim de que não haja atrasos nas atividades subsequentes.

Exercício 3

Com base na rede de projeto, calcule seus marcos, ou seja, PDI, PDT, UDI, UDT de cada atividade.

  • \(PDI_{ij}=C_i\);
  • \(PDT_{ij}=C_i+d_{ij}\);
  • \(UDI_{ij}=T_j - d_{ij}\);
  • \(UDT_{ij}=T_j\)

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

Resposta

Atividade Tipo Duracao PDI PDT UDI UDT
A Critica 2 0 2 0 2
B Critica 4 2 6 2 6
C Critica 10 6 16 6 16
D NaoCritica 6 16 22 20 26
E Critica 4 16 20 16 20
F Critica 5 20 25 20 25
G NaoCritica 7 22 29 26 33

continua…

Resposta cont.

Atividade Tipo Duracao PDI PDT UDI UDT
8 H NaoCritica 9 29 38 33 42
9 I NaoCritica 7 16 23 18 25
10 J Critica 8 25 33 25 33
11 K NaoCritica 4 33 37 34 38
12 L Critica 5 33 38 33 38
13 M NaoCritica 6 38 40 42 44
14 N Critica 2 38 44 38 44

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

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. Obtenha os marcos do projeto.

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

Rede do ex 2

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

Rede do ex 3

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