Escolar Documentos
Profissional Documentos
Cultura Documentos
Aplica-se ao: Microsoft Office Excel 2003 Aplica-se a Microsoft Office Excel 2003
Este artigo foi adaptado do Microsoft Excel Data Analysis and Business Modeling de Wayne L. Winston. Visite Microsoft Learning para aprender mais sobre este livro. Este livro estilo sala de aula foi desenvolvido de uma srie de apresentaes por Wayne Winston, um estatstico e professor de negcios bem conhecido que se especializou em aplicaes prticas e criativas do Excel. Para ficar preparado voc deve precisar colocar a sua imaginao a funcionar.
Neste Artigo
Quem usa a simulao de Monte Carlo?
Como deveria uma empresa de cartes comemorativos determinar quantos cartes produzir?
Problemas
Sample files: Voc pode download os samples files que esto relacionados aos fragmentos do Microsoft Excel Data Analysis and Business Modeling no Microsoft Office Online: http://www.microsoft.com/downloads/details.aspx?FamilyId=B01F647E-2DF5414C-8513-F3AD06B63ACB&displaylang=en Este artigo usa os arquivos RandDemo.xls, Discretesim.xls, NormalSim.xls, e
Este artigo encontra-se no site da Microsoft: http://office.microsoft.com/en-us/excel/HA011118931033.aspx O que fizemos foi traduzi-lo para que nossos alunos que ainda no conseguem ler em ingls possam desfrutar dos ensinamentos brilhantes que aqui se encontram quanto a Simulao de Monte Carlo no Excel.
1
Valentine.xls.
Gostaramos de ser capaz de acuradamente estimar as probabilidades dos eventos incertos. Por exemplo, qual a probabilidade que os fluxos de caixa de um novo produto fluxos de caixa tero um valor presente lquido (VPL) positivo? Qual o risco do nosso portflio de investimentos? Simulao de Monte Carlo habilita-nos a modelar situaes com incerteza presente e rod-las milhares de vezes num computador.
NOTA
O nome simulao de Monte Carlo vem do fato que durante os anos 1930s e 1940s, muitas simulaes em
computadores eram realizadas para estimar a probabilidade de que uma reao em cadeia necessria para uma bomba atmica funcionasse com sucesso. Os fsicos envolvidos neste trabalho eram grandes apreciadores de jogos de azar, ento eles deram s simulaes o nome cdigo de Monte Carlo.
General Motors, Procter and Gamble, e Eli Lilly usam simulao para estimar ambos os retornos mdios e o risco de novos produtos. Na GM, esta informao usada pelo CEO Rick Waggoner para determinar os produtos que viro a mercado. GM usa simulao para atividades tais como projees de lucro lquido para a corporao, previso de custos estruturais e custos de compra, determinando sua susceptibilidade a diferentes espcies de risco (tais como taxas de juros e mudanas e flutuaes nas taxas de cmbio). Lilly usa simulao para determinar a capacidade tima da planta que dever ser construda para cada droga. As empresas de Wall Street usam simulao para precificar derivativos financeiros complexos e determinar o Value at RISK (VAR) dos seus portflios de investimentos. Procter and Gamble usa simulao para modelar e otimizar a proteo ao risco do cmbio estrangeiro. Sears uses simulao para determinar quantas unidades de cada linha de produto devero ser pedidas aos fornecedores por exemplo, quantos pares de Dockers devero ser pedidos este ano. Simulao pode ser usada para avaliar "real options," tal como o valor de uma opo expandir, contrair, ou adiar um projeto. Planejadores financeiros usam simulao de Monte Carlo para determinar estratgias de investimentos timas para seus clientes.
NOTA
Quando voc abrir o arquivo RandDemo.xls, voc no ver os mesmos nmeros aleatrios mostrados na figura anterior.
A funo ALEATRIO sempre recalcula os nmeros que ela gera quando uma planilha aberta ou nova informao entrada na planilha.
Eu copiei a frmula =ALEATRIO() da clula C3 para C4:C402. Eu nomeei o intervalo C3:C402 como dados. Da ento, na coluna F, Eu rastreei a mdia dos 400 nmeros aleatrios (clula F2) e usei a funo CONT.SE para determinar as fraes que esto entre 0 e ,25, ,25 e ,50, ,50 e ,75 e ,75 e 1. Quando voc pressionar a tecla F9, os nmeros aleatrios so recalculados. Note que a mdia dos 400 nmeros est sempre prxima de 0,5 e que cerca de 25 % dos resultados esto em cada intervalo de 0,25. Estes resultados so consistentes com a definio de um nmero aleatrio. Note tambm que os valores gerados pela ALEATRIO em diferentes clulas so independentes. Por exemplo, se o nmero aleatrio gerado na clula C3 um nmero grande (digamos, 0,99), isto nos diz nada sobre os valores dos outros nmeros aleatrios gerados.
Como podemos ter o Excel jogando, ou simulando, esta demanda por calendrios muitas vezes? O truque associar cada valor possvel da funo ALEATRIO com uma demanda possvel por calendrios. A tarefa seguinte assegura que uma demanda de 10.000 ocorrer 10 % das vezes, e, assim por diante.
Nmeros Aleatrios Atribudos Menor que ,10 Maior que ou igual a ,10, e menor que ,45 Maior que ou igual a ,45, e menor que ,75. Maior que ou igual a ,75.
Para ver uma simulao da demanda, observe o arquivo Discretesim.xls, mostrado na seguinte figura.
A chave da nossa simulao usar um nmero aleatrio para ajustar uma procura no intervalo tabela F2:G5 (chamado de procura). Nmeros aleatrios maiores que ou iguais a 0 e menores que ,10 conduziro a uma demanda de 10.000; nmeros aleatrios maiores que ou iguais a ,10 e menores que ,45 conduziro a uma demanda de 20.000; nmeros aleatrios maiores que ou iguais a ,45 e menores que ,75 conduziro a uma demanda de 40.000; e nmeros aleatrios maior que ou igual a ,75 conduziro a uma demanda de 60.000. Eu gerei 400 nmeros aleatrios copiando de C3 para C4:C402 a frmula ALEATRIO(). Da ento eu gerei 400 tentativas ou iteraes de demandas de calendrios copiando a frmula PROCV(C3,procura,2) de B3 para B4:B402. Esta frmula assegura que qualquer nmero aleatrio menor que ,10 gera uma demanda de 10.000; qualquer nmero aleatrio entre ,10 e ,45 gera uma demanda de 20.000, e, assim por diante. No intervalo de clulas F8:F11, usei a funo CONT.SE para determinar a frao das nossas 400 iteraes conduzindo cada demanda. Note que sempre que voc pressionar F9 para recalcular os nmeros aleatrios, as probabilidades simuladas ficam prximas s nossas probabilidades de demanda assumidas.
Vamos supor que queiramos simular 400 tentativas ou iteraes para uma varivel aleatria normal com uma mdia de 40.000 e um desvio padro de 10.000. (Entrei com estes valores nas clulas E1 e E2 e chamei estas clulas de media e sigma, respectivamente). Copiando a frmula =ALEATRIO() de C4 para C5:C403 gera 400 nmeros aleatrios diferentes. Copiando de B4 para B5:B403 a frmula INV.NORM(C4,media,sigma) gera 400 valores tentativas (trial) diferentes de uma varivel aleatria normal com uma media de 40.000 e um desvio padro de 10.000. Quando pressionamos a tecla F9 para recalcular os nmeros aleatrios, a mdia permanece perto de 40.000 e o desvio padro perto de 10.000.
Essencialmente, para um nmero aleatrio x, a frmula INV.NORM(p, mu , sigma) gera o psimo percentil de uma varivel aleatria normal com uma mdia mu e um desvio padro sigma. Por exemplo, o nmero aleatrio ,8466 na clula C13 gera na clula B13 aproximadamente o 85-simo percentil de uma varivel aleatria normal com uma mdia de 40.000 e um desvio padro de 10.000.
cartes cartes
Nesta seo, Eu mostrarei como a simulao de Monte Carlo pode ser usada como uma ferramenta para ajudar os homens de negcios a tomarem melhores decises. Suponha que a demanda por um carto Valentines Day seja governado pela seguinte varivel aleatria discreta:
O carto de comemorao vendido por $4,00, e o custo varivel para produzir cada carto $1,50. As sobras de cartes devem ser desfeitas a um custo de $0,20 por carto. Quantos cartes devero ser impressos?
Basicamente, simulamos cada possvel quantidade de produo (10.000, 20.000, 40.000 ou 60.000) muitas vezes (digamos, 1.000 iteraes). Da ento determinamos que quantidade pedida conduz ao mximo lucro mdio durante as 1.000 iteraes. Voc pode encontrar o trabalho para esta seo no arquivo Valentine.xls, mostrado na figura seguinte. Eu atribui o nome de intervalo para as clulas B1:B11 at clulas C1:C11. Eu atribui para o intervalo de clulas G3:H6 o nome procura. Nossos parmetro preo de vendas e custo so entrados nas clulas C4:C6.
Da ento eu entrei com a quantidade de produo trial (40.000 neste exemplo) na clula C1. A seguir Eu criei um nmero aleatrio na clula C2 com a frmula =ALEATRIO(). Como descrito anteriormente, Eu simulei a demanda por carto na clula C3 com a frmula PROCV(aleatrio,procura,2). (Na frmula PROCV, aleatrio o nome de clula atribudo clula C3, no a funo ALEATRIO).
O nmero de unidades vendidas o menor entre a nossa quantidade de produo e a demanda. Na clula C8, Eu calculei nossa receita com a frmula MIN(demanda produzida)*preo_unitrio. Na clula C9, Eu calculei o custo total de produo com a frmula produzido*custo_de_producao_unitario.
Se produzirmos mais que o demandado, o nmero de unidades de sobras igual produo menos demanda; caso contrrio nenhuma unidade est sobrando. Calculamos nosso custo de disposio na clula C10 com a frmula custo_unitario_do_pedido*SE(produzido>demanda produzida-demanda,0). Finalmente, na clula C11, calculamos nosso lucro como receita-custo_variavel_total custo_total_do_pedido.
Gostaramos de uma maneira eficiente de pressionar F9 muito (digamos 1.000 vezes) para cada quantidade de produo e calcularmos nosso lucro esperado para cada quantidade de produo. Esta situao uma em que uma tabela de dados bidimensional atinge o nosso objetivo. A tabela de dados que usei neste exemplo est mostrada na figura seguinte.
No intervalo de clulas A16:A1015, Eu entrei com os nmeros 1-1000 (correspondendo as nossas 1.000 tentativas). Um modo fcil de criar estes valores entrar com 1 na clula A16, selecionar a clula, e da ento, na guia Incio, no grupo de ferramentas Edio, clicar Preencher e no menu suspenso selecionar Srie...
Na caixa de dilogo Srie, mostrada na figura seguinte, entre com um Incremento de valor 1 e Limite 1000. Sob Srie em, clique Colunas, e depois ento clique OK. Os nmeros de 1 at 1000 sero entrados automaticamente na coluna A, comeando na clula A16.
A seguir entremos com nossas possveis quantidades de produo (10.000, 20.000, 40.000, 60.000) nas clulas B15:E15. Ns queremos calcular o lucro para cada nmero tentativa (1 at 1.000) e cada quantidade de produo. Ns referimos a formula para lucro (calculado na clula C11) na clula superior esquerda da nossa tabela de dados (A15) entrando com =C11.
Agora estamos prontos para forjar no Excel uma simulao de 1.000 iteraes de demanda para cada quantidade de produo. Selecione o intervalo tabela (A15:E1014), e depois ento na guia Dados, no grupo Ferramentas de Dados, clique em Testes de Hipteses e no menu suspenso selecione Tabela de Dados....
Para montar uma tabela de dados bidimensional, selecionamos qualquer clula vazia (escolhemos a clula I14) como nossa Clula de entrada de coluna e escolhemos nossa quantidade de produo (clula C1) como a clula de entrada de linha. Quando voc clicar OK, Excel simula 1.000 valores de demanda para cada quantidade pedida.
Para ilustrar como isto funciona, consideremos os valores colocados na tabela de dados no intervalo de clulas C16:C1015. Para cada uma destas clulas, Excel usar um valor de 20.000 na clula C1. Na C16, a coluna de clulas de entrada de valor 1 colocada numa clula vazia e o nmero aleatrio na clula C2 recalculado. O lucro correspondente ento gravado na clula C16. Da ento o valor da coluna de clulas de entrada 2 colocado numa clula vazia, e o nmero aleatrio em C2 novamente recalcula. O lucro correspondente entrado na clula C17.
Copiando da clula B13 at C13:E13 a frmula MDIA(B16:B1015), calculamos o lucro simulado mdio para cada quantidade de produo. Copiando a frmula DESVPAD (B16:B1015) da clula B14 at C14:E14, calculamos o desvio padro dos nossos lucros simulados para cada quantidade pedida. Cada vez que pressionarmos F9, 1.000 iteraes de demanda so simuladas para cada quantidade pedida. Produzir 40.000 cartes sempre conduz ao maior lucro esperado. Portanto, ele parece como se produzir 40.000 cartes a deciso apropriada.
NOTA
Nesta planilha, Eu configurei a opo Clculo para Automtico, exceto para tabela de dados. Esta configurao assegura que nossa tabela de dados no recalcular a menos que pressionemos F9, isto uma boa idia porque uma grande tabela de dados desacelerar seu trabalho se ela recalcular cada vez que voc digitar alguma coisa na sua planilha. Note que neste exemplo, sempre que voc pressionar F9, o lucro mdio mudar. Isto acontece porque cada vez que voc pressionar F9 uma sequncia diferente de 1.000 nmeros aleatrios usada para gerar demandas para cada quantidade pedida.
1,96
Na clula J11, Eu calculei o limite inferior para o intervalo de confiana de 95 % sobre o lucro mdio quando 40.000 calendrios forem produzidos com a frmula D13-1.96*D14/RAIZ(1000). Na clula J12, Eu calculei o limite superior para o nosso intervalo de confiana de 95% com a frmula D13+1.96*D14/RAIZ(1000). Estes clculos so mostrados na seguinte figura:
Estamos 95 % certos de que nosso lucro mdio quando 40.000 calendrios forem pedidos est entre $53.860 e $59.934.
Problemas
1. Uma distribuidora da GMC acredita que a demanda por Envoys 2005 ser normalmente distribuda com uma mdia de 200 e um desvio padro de 30. Seu custo em receber um Envoy $25.000, e ele vende um Envoy por $40.000. Metade de todos os Envoys que sobram podem ser vendidos por $30.000. Ele est considerando pedir 200, 220, 240, 260, 280, ou 300 Envoys. Quantos ele dever pedir? 2. Um pequeno supermercado est tentando determinar quantos exemplares do magazine People eles devero pedir por semana. Eles acreditam que sua demanda pela People governada pela seguinte varivel aleatria discreta.
Demanda 15 20 25 30 35 Probabilidade .10 .20 .30 .25 .15
3.
O supermercado paga $1,00 por cada exemplar da People e vende cada exemplar por $1,95. Eles podem devolver cada exemplar no vendida da People por $0,50. Quantos exemplares da People devero ser pedidos pela loja?