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. 2. 3. 4. 5. 6. 7. SISTEMA FSICO SIMULADO .................................................................................................... 8 DEFINIO DO PROBLEMA ...................................................................................................... 9 FORMULAO DO MODELO .................................................................................................... 9 DESENVOLVIMENTO DO MODELO ....................................................................................... 10 PREPARAO DOS DADOS ..................................................................................................... 14 PLANEJAMENTO DE EXPERIMENTOS .................................................................................. 16 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. 9. CONCLUSES ............................................................................................................................. 25 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

3 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 1 ... i 0 1 i-1 Precedncia ... ... ... 0 0 0

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: Parmetros 1 0 5 5 1 3 3 1,5 1 2 3 2 1 1 1,5 3 10 7 4 14 2 7 3 4

ID 1 2 3 4 5 6 7 8 9

Descrio Brainstorming com a equipe Formalizar as ideias Decidir a melhor ideia Projetar o equipamento X Juntar os materiais Montar o equipamento X Testar o equipamento X Corrigir o equipamento X Vender equipamento X

Precedncia Distribuio Uniforme 1 1 1 2, 4 3, 5 6 7 8 Exponencial Gama Weibull Normal Lognormal Beta Triangular Uniforme

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

Assim, temos a seguinte rede de atividades:

2 5 4 6 7 8 9

E a Tabela 2 abaixo explica o significado de cada parmetro para cada distribuio: Parmetros Distribuio Uniforme Exponencial Gama Weibull Normal Lognormal Beta Triangular 1 xmn s1 xmn s2 m0 xmn xmx xmx 2 xmx 3 4

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 1-3-6-7-8-9 1-4-5-6-7-8-9 1-2-5-6-7-8-9 Mdia Geral

Durao mdia 68,6 41,4 68,5 68,2 Dias

Nmero de Cenrios 983 16 1

Tabela 6 - Relatrio do projeto de referncia

7.1 Adicionar uma dcima tarefa tendo 9 e 6 como predecessoras

ID 10

Descrio Contabilizar

Precedncia 6, 9

Distribuio

Parmetros 1 10 2 3 3 4

Normal Tabela 7- Dcima Tarefa

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


Escala de tempo

Dias

Cenrio Crtico 1-3-6-7-8-9-10 1-4-5-6-7-8-9-10 Mdia Geral

Durao mdia 80,0 68,3 79,8 Dias

Nmero de Cenrios 985 15

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 1 2 3 4 5 6 7 8 Descrio Brainstorming com a equipe Formalizar as ideias Decidir a melhor ideia Projetar o equipamento X Montar o equipamento X Testar o equipamento X Corrigir o equipamento X 1 1 1 3 5 6 Precedncia Distribuio Uniforme Exponencial Gama Weibull Lognormal Beta Triangular Parmetros 1 0 5 5 1 3 1 3 2 1 7 4 14 3 10 2 7 3 4

1,5 1,5

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

Grfico 3 - Risco do projeto sem a tarefa 5


Escala de tempo

Dias

Cenrio Crtico 1-3-5-6-7-8 Mdia Geral

Durao mdia 71,0 71,0 Dias

Nmero de Cenrios 1000

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 0.4 0.2 0 0 2 4 6 8

Series1

- Exponencial lambda = 5
1.2 1 0.8 0.6 0.4 0.2 0 0 0.5 1 1.5 2

Series1

- Gama lambda = 5 s=3

1.2 1 0.8 0.6 0.4 0.2 0 0 10 20 30 40 50 60

Series1

- Weibull lambda = 1 k = 0,5


1.2 1 0.8 0.6 Series1 0.4 0.2 0 0 10 20 30 40 50 60

- Normal mdia = 3 desvio = 1

1.2 1 0.8 0.6 0.4 0.2 0 0 1 2 3 4 5 6

Series1

- Lognormal mdia = 3 desvio = 1

1.2 1 0.8 0.6 0.4 0.2 0 0 50 100 150 200 250 300

Series1

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

xMn = 7 xMx = 14

1.2 1 0.8 0.6 0.4 0.2 0 0 5 10 15

Series1

- Triangular xMn = 1 moda = 3 xMx = 4


1.2 1 0.8 0.6 0.4 0.2 0 0 1 2 3 4 5

Series1

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 1-3-6-7-8-9 1-4-5-6-7-8-9 1-2-5-6-7-8-9 Mdia Geral

Durao mdia 71,5 61,7 32,8 71,4 Dias

Nmero de Cenrios 9858 139 3

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