Você está na página 1de 27

ANDR SHIGUEO KIYOTA

LUCAS OZEKI HONDA


MAYANE TIEMI ABE
VICTOR SHINICHI TANAKA

SIMULAO MONTE CARLO PARA RISCO DE PRAZO EM PROJETOS

Trabalho apresentado Escola


Politcnica da Universidade de So
Paulo para o curso de Modelagem
e Simulao dos Sistemas de
Produo
Orientador: Prof. Dr. Miguel Cezar
Santoro

SO PAULO
2011

LISTA DE FIGURAS
Figura 1 - Exemplo de atividades de um projeto..................................................................................... 9
Figura 2 212 ............................................................................................................................................. 9
Figura 3 - Modelo do Simulador de Monte Carlo para Risco de Projeto .............................................. 10
Figura 4 - Ciclo completo de um projeto de simulao (KNEPELL, 1993) ......................................... 25

LISTA DE TABELAS
Tabela 2 - Matriz PrecedenciaProjeto ................................................................................................... 12
Tabela 3Exemplode um caso para a matriz Tempo............................................................................. 13
Tabela 4 - Exemplo de outro caso para a matriz Tempo ....................................................................... 13
Tabela 5 - Lista de atividades do projeto-exemploDesenvolvimento do equipamento X ...................... 14
Tabela 6 - Parmetros das distribuies de probabilidade .................................................................... 15
Tabela 7 - Relatrio do projeto de referncia ........................................................................................ 17
Tabela 8- Dcima Tarefa ....................................................................................................................... 17
Tabela 9 - Relatrio do projeto de referncia com adio da tarefa 10 ................................................. 18
Tabela 10 - Projeto referncia alterado (sem a tarefa 5)........................................................................ 18
Tabela 11 - Relatrio do projeto sem a tarefa 5 .................................................................................... 19
Tabela 12 - Relatrio do projeto de referncia com 10x mais cenrios ................................................ 24

LISTA DE GRFICOS
Grfico 2 - Grfico do risco do projeto de referncia ........................................................................... 17
Grfico 3 - Grfico de risco do projeto com adio da tarefa 10 .......................................................... 18
Grfico 4 - Risco do projeto sem a tarefa 5 ........................................................................................... 19
Grfico 5 - Grfico de risco para o projeto de referncia com 10x mais cenrios ................................ 24

SUMRIO
INTRODUO ...................................................................................................................................... 6
OBJETIVOS DO TRABALHO .............................................................................................................. 7
1.

SISTEMA FSICO SIMULADO .................................................................................................... 8

2.

DEFINIO DO PROBLEMA ...................................................................................................... 9

3.

FORMULAO DO MODELO .................................................................................................... 9

4.

DESENVOLVIMENTO DO MODELO ....................................................................................... 10

5.

PREPARAO DOS DADOS ..................................................................................................... 14

6.

PLANEJAMENTO DE EXPERIMENTOS .................................................................................. 16

7.

RESULTADOS ............................................................................................................................. 17
7.1 Adicionar uma dcima tarefa tendo 9 e 6 como predecessoras ................................................... 17
7.2 Retirar a tarefa 5 .......................................................................................................................... 18
7.3 Testar todas as oito distribuies possveis ................................................................................. 19
7.4 Variar o nmero de iteraes de 1 000 para 10 000 .................................................................... 24

8.

CONCLUSES ............................................................................................................................. 25

9.

BIBLIOGRAFIA ........................................................................................................................... 27

INTRODUO

A fim de conhecer o relacionamento entre variveis, a simulao uma forte


ferramenta para obteno dessas informaes. A linguagem de programao Visual Basic for
Applications (VBA) surge como ferramenta para a realizao de um tipo de simulao
denominada de Monte Carlo, atravs da aplicao em Excel. A simulao acima de tudo tem
com funo a visualizao de uma situao futura sem a necessidade de aplicao real, sendo
uma das principais ferramentas do planejamento.
O projeto baseado no tema risco de prazo em projetos em que a simulao de Monte
Carlo ser aplicada de suma importncia dada utilizao freqente em situaes reais de
projeto do presente tema. O risco de prazo em projetos baseia-se em uma avaliao
quantitativa do risco de custo ou de tempo de um projeto(no nosso caso, tempo do projeto), ou
seja, estima-se a distribuio de probabilidades de uma varivel aleatria tempo de projeto.
Para isso, estabelece-se uma distribuio de probabilidades para cada uma das etapas do
projeto. A seguir, monta-se o modelo que ir calcular a probabilidade do tempo total pela
soma dos tempos individuais.

OBJETIVOS DO TRABALHO

O objetivo do presente trabalho aplicarmos o conhecimento conceitual de simulao


adquirido durante o curso e aplic-la anlise de risco de prazo em projetos, usando o mtodo
de Monte Carlo. O Mtodo de Monte Carlo um modelo de simulao que utiliza a gerao
de nmeros aleatrios para atribuir valores s variveis que se deseja investigar.Estas
variveis so conhecidas como variveis aleatrias, e o seu comportamento descrito por uma
distribuio de probabilidade.Nosso sistema trata-se ento de um sistema estocstico e no
determinstico, sendo seus resultados tratados apenas como estimativas dos valores reais.
O desenvolvimento eaimplementaodo simulador foi feito em linguagem de
programao em Visual Basic for Applications (VBA).

1. SISTEMA FSICO SIMULADO

O foco do trabalho est na simulao Monte Carlos do risco de prazo em projetos. Um


projeto pode ser a construo de uma nova planta industrial, o desenvolvimento de um
software, o lanamento de um novo produto, a implantao de uma nova estratgia em uma
organizao, etc.De acordo com a definio do PMBOK(2008), um projeto definido como
um esforo temporrio empreendido para criar um produto, servio ou resultado exclusivo.
Seu gerenciamento dividido em nove reas de conhecimento, onde uma delas o risco.
A origem do risco reside nas incertezas presente em todos os projetos. Ela um evento
ou condio incerta que, se ocorrer, ter um efeito negativo sobre pelo menos uma das outras
oitos restantes reas de conhecimento, como escopo, qualidade ou tempo. No caso do tempo,
o risco que ela traz no atender ao cronograma, devido a atrasos que eventualmente ocorrem
durante a execuo do projeto.
Para ser possvel de simular o risco de prazo, so necessrias duas condies:

Todas as atividades seguem uma distribuio de probabilidade, com seus parmetros


conhecidos;

Saber as precedncias de todas as atividades, exceto pra primeira atividade;


A primeira condio est diretamente relacionada com a gerao de nmeros

aleatrios, utiliza-se o que se chama de Mtodo da Transformada Inversa. A segunda


condio est relacionada com o clculo da durao do projeto, pois sua durao calculada
pela soma dos tempos do caminho crtico (Ver item 2.1).

2. DEFINIO DO PROBLEMA

Para preparao do modelo de simulao, precisoinicialmente definir o problema.


Para o risco de prazo em projetos, o problema :
Descobrir qual o risco em no conseguir concluir o projeto em at x dias
Onde o risco medido em% e x o intervalo de tempo estipulado pelo usurio que ir
realizar a simulao, podendo este ser um gerente de projetos ou at mesmo o cliente final.

3. FORMULAO DO MODELO

Um modelo uma representao simplificada da realidade com uma ou mais


finalidades. No caso, nosso modelo ter como finalidades:

simularn cenrios e descobrir o caminho crtico do projeto para cada cenrio;

contar o nmero de vezes que cada caminho crtico foi ocorrido para os n
cenrios;

elaborar um histograma de frequncia acumulada.

O caminho crtico do projeto a sequncia de tarefas que resulta no prazo mximo do


projeto. Para entender melhor, veja a Figura 1 abaixo:
2

4
Figura 1 - Figura
Exemplo
2 -de
Exemplo
atividades
fluxograma
de um projeto

Analisando a atividade 5, pode-se observar que para que ela se inicie, ela depender do
encerramento das atividades 2, 3 e 4, diz-se ento que as atividades 2, 3 e 4 so precedentes
da atividade 5. Note que o tempo do projeto dada pela soma dos tempos T1 +
MX(T2,T3,T4) + T5. Se T3, por exemplo, resultar no tempo mximo entre T2, T3 e T4, ento
dizemos que o caminho 1-2-5 o caminho crtico do projeto.

4. DESENVOLVIMENTO DO MODELO

Nesta etapa, foi feito o desenvolvimento do modelo, onde o nosso sistema fsico se
reduz as relaes matemticas e lgicas do modelo conceitual. O modelo conceitual ser
mostrado atravs de um fluxograma do processo e pseudocdigo em VBA.

Figura 3 - Modelo do Simulador de Monte Carlo para Risco de Projeto

Para melhor entendimento do diagrama acima. Segue uma explicao:

Data-Type: varivel que o programador declara no Visual Basic Editor (VBE) que
consegue guardar dados na forma de um formulrio. Ele uma varivel semelhante ao Array,
porm no DataType voc consegue guardar os dados de forma organizada. No caso do
presente trabalho, o seguinte cdigo foi inserido:
'dimensiono minha DataType para guardar as informaes: ID, Precedncia,
Tipo de Distribuio e Parmetros
TypeDataType
ID As Long
PrecedenciaAs String
DistribuicaoAs String
Par1 As Double
Par2 As Double
Par3 As Double
Par4 As Double
EndType
SubSimulation()
DimTabelaDeTarefas() As DataType'varivel que guarda todas entradas
do usurio relevantes para a simulao
Dim n As Integervarivel que guarda o nmero de atividades do
projeto
Dim j As Integervarivel auxiliar
A lgica abaixo calcula o nmero de atividades
Do Until ActiveCell.Offset(i, 1) = ""
i = i + 1
Loop
ReDimTabelaDeTarefas(n)
Guardo os setes parmetros dentro de um DataType
For j = 1 To i
TabelaDeTarefas(j).ID =ActiveCell.Offset(j, 0).Value
TabelaDeTarefas(j).Precedencia = ActiveCell.Offset(j, 2).Value
TabelaDeTarefas(j).Distribuicao = ActiveCell.Offset(j, 3).Value
TabelaDeTarefas(j).Par1 = ActiveCell.Offset(j, 4).Value
TabelaDeTarefas(j).Par2 = ActiveCell.Offset(j, 5).Value
TabelaDeTarefas(j).Par3 =ActiveCell.Offset(j, 6).Value
TabelaDeTarefas(j).Par4 = ActiveCell.Offset(j, 7).Value
Next j
continuao da programao
End Sub

Analisando o cdigo acima, pode-se observar que o ID, a precedncia, a distribuio e


os parmetros foram armazenados em locais diferentes dentro da mesma varivel. Com os
dados guardados no formato de uma DataType, a programao se torna mais simples e
organizada, evitando o risco de erros.

Com os dados guardados na DataTypeTabelaDeTarefas(i), analisa-se qual a


distribuio probabilidade da atividade e aplica-se o Mtodo da Transformada Inversa para
determinar o tempo da atividade:
For j = 1 To i
Select Case TabelaDeTarefas(j).Distribuicao
Case "Uniforme": Probabilidades(j) = TabelaDeTarefas(j).Par1 +_
(TabelaDeTarefas(j).Par2 - TabelaDeTarefas(j).Par1) * Rnd()
Case "Exponencial": Probabilidades(j) = -Log(1 - Rnd())
/_TabelaDeTarefas(j).Par1
Case "Gama": Probabilidades(j) =
Gama(TabelaDeTarefas(j).Par1,_TabelaDeTarefas(j).Par2)
Case "Weibull"
Probabilidades(j) = -1 * TabelaDeTarefas(j).Par1 * (Log(1 _Rnd()))
Probabilidades(j) = Probabilidades(j) ^ (1 /
_TabelaDeTarefas(j).Par2)
Case "Normal": Probabilidades(j)
=_Normal(TabelaDeTarefas(j).Par1, _TabelaDeTarefas(j).Par2)
Case "Lognormal": Probabilidades(j) =
_Lognormal(TabelaDeTarefas(j).Par1, TabelaDeTarefas(j).Par2)
Case "Beta": Probabilidades(j) =
Beta(TabelaDeTarefas(j).Par1,_TabelaDeTarefas(j).Par2,
TabelaDeTarefas(j).Par3, TabelaDeTarefas(j).Par4)
Case "Triangular": Probabilidades(j) =
_Triangular(TabelaDeTarefas(j).Par1, TabelaDeTarefas(j).Par2,
_TabelaDeTarefas(j).Par3)
EndSelect
Next j

Note que os tempos das atividades foram guardados em um vetor denominado


Probabilidades(i), onde j representa o tempo da atividade j do projeto. Agora que
temos os tempos de cada atividade, podemos calcular o tempo do projeto, dado pelo seu
caminho crtico. Para isso, foi criado trs matrizes:

PrecedenciaProjeto: guarda em sua primeira coluna a ID da atividade e nas colunas


restantes a precedncia da atividade.

ID Atividade

Precedncia

...

...

...

i-1

...

Tabela 1 - Matriz PrecedenciaProjeto

Tempo: matriz que guarda na linha j o tempo da atividade j na primeira coluna e nas
colunas seguintes o tempo acumulado da atividade da precedncia. Por exemplo, T3
tem precedncia do T2, e T2 tem precedncia do T1. Assim, nossa matriz Tempo seria:
Tempo da Tarefa
Tempo da Precedncia
T1
T2
T2+T1
T3
T3+(T2+T1)
Tabela 2Exemplode um caso para a matriz Tempo

Agora vamos supor que a tarefa de tempo T3 tenha precedncia em 1 e em 2 e


tenhamos uma quarta atividade cuja precedncia seja a tarefa 3:
Tempo da Tarefa
T1
T2
T3
T4

Tempo da Precedncia
T2+T1
T3+(T2+T1)
T4+MX(T3+(T2+T1);T3+(T1))

T3+(T1)

Tabela 3 - Exemplo de outro caso para a matriz Tempo

Veja que para que seja possvel calcular o tempo da atividade 4, precisa-se saber qual
o tempo mximo da precedncia 3.
TempoAc: vetor queserve para guardar o maior tempo da atividade. Ela til, pois
quando temos mais de uma precedncia na atividade, ela guarda apenas o maior.
Segue abaixo o cdigo em VBA:
For j = 1 To i
For n = 1 To i
PrecedenciaProjeto(1, 1) = 1
IfPrecedenciaProjeto(j, n) <> "0" Then
Tempo(j,
n)
=
Probabilidades(j)
TempoAc(PrecedenciaProjeto(j, n))
End If
IfTempo(j, n) >TempoAc(j) ThenTempoAc(j) = Tempo(j, n)
Next n
Next j

Assim, tem-se o tempo do projeto.

5. PREPARAO DOS DADOS

Para verificao e validao do modelo, foi elaborado um projeto-exemplo nomeado


comoDesenvolvimento doequipamento X:

ID

Descrio

Precedncia Distribuio

Parmetros
1

Uniforme

14

Brainstorming com a equipe

Formalizar as ideias

Exponencial

Decidir a melhor ideia

Gama

Projetar o equipamento X

Weibull

Juntar os materiais

2, 4

Normal

Montar o equipamento X

3, 5

Lognormal

Testar o equipamento X

Beta

1,5

1,5

Corrigir o equipamento X

Triangular

Vender equipamento X

Uniforme

10

Tabela 4 - Lista de atividades do projeto-exemploDesenvolvimento do equipamento X

Assim, temos a seguinte rede de atividades:

2
5
4

E a Tabela 2 abaixo explica o significado de cada parmetro para cada distribuio:


Parmetros
Distribuio

Uniforme

xmn

xmx

Exponencial

Gama

Weibull

Normal

Lognormal

Beta

s1

s2

xmn

xmx

Triangular

xmn

m0

xmx

Tabela 5 - Parmetros das distribuies de probabilidade

6. PLANEJAMENTO DE EXPERIMENTOS

Inicialmente, ser feito um experimento onde os resultados obtidos sero usados como
referncia. Assim, para esse experimento, foi-se utilizado os dados preparados anteriormente
(Projeto-exemplo), com um total de 1000 iteraes.
Os experimentos elaborados para comparao foram:
1. Adicionar uma dcima tarefa tendo 9 e 6 como predecessoras;
2. Retirar a tarefa 5;
3. Testar todas as oito distribuies possveis;
4. Variar o nmero de iteraes de 1 000 para 10 000;
Cada experimento independente, sendo cada um baseado em relao ao projetoexemplo, sem nenhuma interferncia entre um experimento com o outro. Por exemplo, depois
de for realizado o experimento 1 e iniciar o experimento 2, este ltimo ser feito sem a
dcima tarefa adicionada.

7. RESULTADOS

Ao resultado do experimento de referncia, obteve-se o seguinte relatrio ao final da


simulao:

Grfico 1 - Grfico do risco do projeto de referncia

Escala de tempo

Dias

Cenrio Crtico

Durao
mdia

Nmero de
Cenrios

1-3-6-7-8-9

68,6

983

1-4-5-6-7-8-9

41,4

16

1-2-5-6-7-8-9

68,5

Mdia Geral

68,2

Dias

Tabela 6 - Relatrio do projeto de referncia

7.1 Adicionar uma dcima tarefa tendo 9 e 6 como predecessoras

ID

Descrio

10

Contabilizar

Precedncia
6, 9

Distribuio

Normal
Tabela 7- Dcima Tarefa

Parmetros
1

10

Grfico 2 - Grfico de risco do projeto com adio da tarefa 10


Escala de tempo

Dias

Cenrio Crtico

Durao
mdia

Nmero de
Cenrios

1-3-6-7-8-9-10

80,0

985

1-4-5-6-7-8-9-10

68,3

15

Mdia Geral

79,8

Dias

Tabela 8 - Relatrio do projeto de referncia com adio da tarefa 10

Como pudemos observar, a adio uma dcima tarefa tendo 9 e 6 como predecessoras
provocou uma aumento da durao mdia do projeto em um dos cenrios crticos de maior
nmero de cenrios, e uma certa constncia da durao mdia no outro cenrio crtico de
menor nmero de cenrios, de maneira que um aumento na mdia geral de durao do projeto
foi observado.
7.2 Retirar a tarefa 5
Retirando a quinta tarefa, temos nosso projeto ajustado da seguinte maneira:
ID

Descrio

Brainstorming com a equipe

Formalizar as ideias

Precedncia

Distribuio

Parmetros
1

Uniforme

Exponencial

Decidir a melhor ideia

Gama

Projetar o equipamento X

Weibull

Montar o equipamento X

Lognormal

Testar o equipamento X

Beta

Corrigir o equipamento X

Triangular

Vender equipamento X
7
Uniforme
2
Tabela 9 - Projeto referncia alterado (sem a tarefa 5)

10

1,5 1,5

14

Grfico 3 - Risco do projeto sem a tarefa 5


Escala de tempo

Dias

Cenrio Crtico

Durao
mdia

Nmero de
Cenrios

1-3-5-6-7-8

71,0

1000

Mdia Geral

71,0

Dias

Tabela 10 - Relatrio do projeto sem a tarefa 5

Com a retirada da tarefa 5 do projeto, muitos pensariam que a tendncia seria a


diminuio da durao mdia, e por conseguinte, da durao geral do projeto. Entretanto, o
que se observou foi um aumento, ainda que pequeno, da durao mdia e, por conseguinte, da
durao geral do projeto, dado a existncia de apenas um cenrio crtico.
7.3 Testar todas as oito distribuies possveis
A seguir os grficos resultantes do teste de cada uma das 8 distribuies de
probabilidade: (Obs.: Em todos os grficos o eixo das abscissas corresponde ao Tempo e o
eixo das ordenadas a Probabilidade acumulada)
- Uniforme
xMn = 0
xMx = 7

1,2
1
0,8
0,6

Srie1

0,4
0,2
0
0

- Exponencial
lambda = 5
1,2
1
0,8
0,6

Srie1

0,4
0,2
0
0

- Gama
lambda = 5
s=3

0,5

1,5

1,2
1
0,8
0,6

Srie1

0,4
0,2
0
0

10

20

30

40

50

60

- Weibull
lambda = 1
k = 0,5
1,2
1
0,8
0,6
Srie1
0,4
0,2
0
0

- Normal
mdia = 3
desvio = 1

10

20

30

40

50

60

1,2
1
0,8
0,6

Srie1

0,4
0,2
0
0

- Lognormal
mdia = 3
desvio = 1

1,2
1
0,8
0,6

Srie1

0,4
0,2
0
0

- Beta
s1 = 1,5
s2 = 1,5

50

100

150

200

250

300

xMn = 7
xMx = 14

1,2
1
0,8
0,6

Srie1

0,4
0,2
0
0

10

15

- Triangular
xMn = 1
moda = 3
xMx = 4
1,2
1
0,8
0,6

Srie1

0,4
0,2
0
0

Os grficos das distribuies testadas acima foram comparados com os grficos com os quais
efetivamente deveriam condizer, ou seja, da inversa das distribuies de probabilidade

acumulada de cada uma das distribuies. Todos estiveram de acordo, de maneira que as
frmulas das distribuies puderam ser ratificadas.

7.4 Variar o nmero de iteraes de 1 000 para 10 000

Grfico 4 - Grfico de risco para o projeto de referncia com 10x mais cenrios
Escala de tempo

Dias

Cenrio Crtico

Durao
mdia

Nmero de
Cenrios

1-3-6-7-8-9

71,5

9858

1-4-5-6-7-8-9

61,7

139

1-2-5-6-7-8-9

32,8

Mdia Geral

71,4

Dias

Tabela 11 - Relatrio do projeto de referncia com 10x mais cenrios

Com a variao do nmero de iteraes para 10 000, observou-se um leve aumento na


durao mdia geral do projeto. O cenrio crtico com o maior nmero de cenrios continua
sendo o mesmo que obtivemos com um nmero de iteraes igual a 1000. Nos demais
cenrios crticos observamos uma grande variao na durao mdia relativamente ao projeto
de referncia, mas um cenrio compensou o outro, no havendo discrepncia na mdia geral.

8. CONCLUSES

O trabalho permitiu uma ampliao do nosso conhecimento diante de ferramentais


utilizados em planejamentos e execuo de projetos. Isto ocorreu atravs de nossa
familiarizao com a simulao de Monte Carlo e com a linguagem de programao
Visual Basic for Applications (VBA) em Excel. Um modelo em ciclo que ilustra de
maneira interessante um projeto de simulao pode ser observado a seguir:

Figura 4 - Ciclo completo de um projeto de simulao (KNEPELL, 1993)

Ainda vale a pena tecermos alguns comentrios a respeito da simulao de Monte


Carlo e a utilizao de nmeros aleatrios. Nem sempre existe a necessidade de utilizao de
nmeros aleatrios para que a simulao seja til, ou seja, de certa forma anica qualidade
necessria para se fazer boas simulaes que as pseudo-seqncias aleatrias sejam
aleatrias em um nvel necessrio apenas. Segundo o professor de estatstica,Sawilowsky,
existe uma lista de caractersticas que permitem uma qualidade elevada na simulao de
Monte Carlo:
- o gerador de (pseudo) nmeros aleatrios deve ter certas caractersticas (por exemplo: um
longo perodo antes da seqncia se repete);

-o gerador de (pseudo) nmeros aleatrios produz valores que passam por testes de
aleatoriedade;
- existem amostras suficientes para garantir resultados precisos;
- tcnica de coleta amostral adequada;
- o algoritmo utilizado compatvel com o que est sendo modelado; e
- o algoritmo simula o fenmeno em questo.

9. BIBLIOGRAFIA

SU, C.T.; SANTORO, M.C.; Gerenciamento do risco de prazo em projetos. XXVI


ENEGEP. Fortaleza, CE. 2006.
ALENCAR, A.J.;SCHIMTZ, E.A.; Anlise de Risco em Gerncia de Projetos. 2Edio,
EditoraBrasport, 2011.
PROJECT MANAGEMENT INSTITUTE. (2008) PMBOK Guide: a guide to the
project management body of knowledge. 4Edio. Project Management Institute.
Newtown Square.

Você também pode gostar