You are on page 1of 27

3

Criao do modelo Conceitual

3.1 Abstrao e Modelos Abstratos


No Captulo 1, iniciamos nossa discusso sobre a metodologia da simulao. Um dos primeiros passos (alm da definio do sistema, dos objetivos e das hipteses) a criao de um modelo abstraio. O modelo abstrato, como j foi dito, aquele modelo que a pessoa possui em mente. O que caracteriza a abstrao? Abstrair significa identificar o que realmente importante no sistema e trazer para o modelo. Esta abstrao est fortemente relacionada com os objetivos da simulao. Desta maneira, se quisermos determinar a produtividade de um sistema de manufatura, no interessa, pelo menos a princpio, considerar no nosso modelo abstrato o solado do sapato dos operadores. Agora, se o solado est causando acidentes excessivos e que diminuem o contingente de trabalhadores no modelo, ento, isto dever ser includo (ou pelo menos seus efeitos devem estar includos no modelo). Um exemplo interessante de abstrao o mapa do metro de Londres. Um mapa do metro no deixa de ser um modelo (icnico, segundo nossa classificao), pois representa um sistema ("Metro de Londres"). Antigamente, o mapa contendo as estaes era construdo em escala. Desta maneira a distncia entre os pontos ou estaes do mapa refletia fisicamente a linha do metro. Isto, muitas vezes, causava uma certa confuso visual. Ora, qual a utilidade principal de um mapa do metro? A utilidade bsica a de estabelecer um roteiro entre dois pontos: entre uma estao de origem e uma estao de destino. A distncia entre as estaes no um fator to importante. Atualmente, o mapa contm as estaes, mas as linhas que ligam as estaes no refletem na realidade a disposio fsica das linhas. Este novo mapa foi construdo com maior abstrao e, embora o nmero de linhas e estaes tenha aumentado, muito mais fcil de se localizar no mapa atual do que no mapa antigo. A Figura 3.1 mostra o mapa do metro de Londres em 1921 e a Figura 3.2 mostra a verso de 1999 deste mesmo mapa, qual dos dois voc prefere?

54

Captulo 3

Criao do Modelo Conceituai

Figura 3.1 - Mapa do Metro de Londres (1921).

''L<:-r 3UP#-;;;SS-;1 ':!!.;;;-.

Figura 3.2 - Mapa do Metro de Londres (1999).

Construo de Modelos Conceituais - Activity Cicie Diagram

55

A pergunta que se segue : se um modelo uma abstrao ou uma simplificao da realidade, at que ponto pode-se simplificar para que este tenha utilidade? Parafraseando Einsten: "Um modelo deve ser o mais simples possvel, mas no muito simples; deve ser complicado, se necessrio, mas no muito". Qual o nvel de abstrao "ideal" que devemos ter em um modelo? Esta resposta est longe de ser obtida por alguma regra e devemos sempre utilizar o nosso bom senso. Lembre-se do princpio do SINSFIT (Simulation is no Substitute for Intelligent Thinking) . Aps a elaborao do modelo abstraio na nossa mente, devemos coloc-lo no papel atravs de alguma tcnica adequada de representao de modelos de simulao conceituai. Segundo Law (1991), a etapa de criao do modelo conceituai o aspecto mais importante de um estudo de simulao. Por isto, daremos especial ateno a este assunto neste captulo, embora muitos livros de simulao e muitos analistas "pulem" esta importante etapa. Shannon (1975) vai mais alm e diz que uma modelagem conceituai efetiva pode levar identificao de uma soluo adequada, evitando a necessidade de um estudo completo de simulao. A seguir, descrevemos uma das tcnicas de representao de modelos de simulao mais fceis de entendimento e utilizao prtica, que o Activity Cicie Diagrams, ou Diagramas do Ciclo de Vida.

5.2

Construo de Modelos Conceituais - Activity Cicie Diagram21


O ACD uma forma de modelagem das inteiraes dos objetos pertencentes a um sistema, particularmente til em sistemas com fortes caractersticas de gerao de filas. Ele baseado na ideia de Tocher (1963) das "engrenagens estocsticas". Os ACDs contemplam o princpio da parcimnia, ou seja, eles utilizam somente 2 smbolos que descrevem um ciclo de vida das entidades ou de objetos do sistema: uma circunferncia que representa uma "fila" e um retngulo, que representa uma "atividade" (Figura 3.3).

No ACD, uma entidade qualquer componente que possa reter sua identidade ao longo do tempo. As entidades podem estar aguardando em filas ou participando de alguma atividade (atravs de interaes com outras entidades). Uma atividade, normalmente, envolve a cooperao de diferentes classes de entidades. A durao do estado ativo sempre determinada a priori: normalmente fazendo uma
Alguns aspectos da complexidade dos modelos de simulao esto descritos na leitura complementar ao final deste captulo. 21 O presente texto ( exceo do exemplo "Filsofos Famintos"), at a seo "Outras Executivas de Simulao", foi elaborado na ntegra pelo Prof. Ray J. Paul da Universidade de Brunei (Inglaterra).

Construo de Modelos Conceituais - Activity Cicie Diagram

55

A pergunta que se segue : se um modelo uma abstrao ou uma simplificao da realidade, at que ponto pode-se simplificar para que este tenha utilidade? Parafraseando Einsten: "Um modelo deve ser o mais simples possvel, mas no muito simples; deve ser complicado, se necessrio, mas no muito". Qual o nvel de abstrao "ideal" que devemos ter em um modelo? Esta resposta est longe de ser obtida por alguma regra e devemos sempre utilizar o nosso bom senso. Lembre-se do princpio do SINSFIT (Simulation is no Substitute for Intelligent Thinking) . Aps a elaborao do modelo abstrato na nossa mente, devemos coloc-lo no papel atravs de alguma tcnica adequada de representao de modelos de simulao conceituai. Segundo Law (1991), a etapa de criao do modelo conceituai o aspecto mais importante de um estudo de simulao. Por isto, daremos especial ateno a este assunto neste captulo, embora muitos livros de simulao e muitos analistas "pulem" esta importante etapa. Shannon (1975) vi mais alm e diz que uma modelagem conceituai efetiva pode levar identificao de uma soluo adequada, evitando a necessidade de um estudo completo de simulao. A seguir, descrevemos uma das tcnicas de representao de modelos de simulao mais fceis de entendimento e utilizao prtica, que o Activity Cicie Diagrams, ou Diagramas do Ciclo de Vida.

Construo de Modelos Conceituais - Activity Cicie Diagram21


O ACD uma forma de modelagem das inteiraes dos objetos pertencentes a um sistema, particularmente til em sistemas com fortes caractersticas de gerao de filas. Ele baseado na ideia de Tocher (1963) das "engrenagens estocsticas". Os ACDs contemplam o princpio da parcimnia, ou seja, eles utilizam somente 2 smbolos que descrevem um ciclo de vida das entidades ou de objetos do sistema: uma circunferncia que representa uma "fila" e um retngulo, que representa uma "atividade" (Figura 3.3).

Figura 3.3 - Elementos bsicos de um ACD.

No ACD, uma entidade qualquer componente que possa reter sua identidade ao longo do tempo. As entidades podem estar aguardando em filas ou participando de alguma atividade (atravs de interaes com outras entidades). Uma atividade, normalmente, envolve a cooperao de diferentes classes de entidades. A durao do estado ativo sempre determinada a priori: normalmente fazendo uma
Alguns aspectos da complexidade dos modelos de simulao esto descritos na leitura complementar ao final deste captulo. 21 O presente texto ( exceo do exemplo "Filsofos Famintos"), at a seo "Outras Executivas de Simulao", foi elaborado na ntegra pelo Prof. Ray J. Paul da Universidade de Brunei (Inglaterra).

56

Captulo 3

Criao do Modelo Conceituai

amostragem aleatria de uma determinada funo de distribuio de probabilidades (se o modelo de simulao for aleatrio). Por exemplo, o descarregamento de um navio numa posio de atracao um estado ativo, onde a entidade navio e a entidade "posio de atracao" esto participando da atividade "descarregar" (e, possivelmente, outras entidades, tais como: guindastes, empilhadeiras etc). Um estado passivo, ou estado de fila, no envolve cooperao entre diferentes classes de entidade, sendo, geralmente, um estado no qual a entidade est aguardando alguma coisa acontecer. O perodo de tempo que uma entidade gastar na fila no pode ser determinado a priori, pois ele depende da durao da atividade imediatamente anterior e da atividade imediatamente posterior fila. Por exemplo, o tempo que um navio gasta na fila aguardando ser descarregado numa posio de atracao depende do tempo de sua chegada e do tempo em que uma das posies de atracao se torna disponvel. O ciclo de vida das filas e das atividades definido para cada entidade. Note-se que as filas e as atividades devem estar sempre dispostas alternadamente em qualquer ciclo de vida. Um ACD completo consiste da combinao de todos os ciclos de vida individuais de cada entidade. A seguir, mostraremos alguns exemplos de modelagem utilizando o ACD.

Exemplo 3.1: Filsofos famintos


"Um certo nmero de filsofos sentam numa mesa circular. Entre cada par de filsofo h um garfo. Um filsofo pode comer se ambos os garfos adjacentes a ele estiverem disponveis, caso contrrio, dever aguardar. Aps terminar de comer, o filsofo pensa por um certo tempo. Quando pra de pensar, tentar comer novamente. Para comer, os filsofos levam um tempo uniformemente distribudo entre 5 e 8 minutos, e, para pensar, um tempo obedecendo a uma distribuio normal com mdia de 6 e desvio padro 1 minuto. O objetivo do modelo determinar a proporo de tempo que cada filsofo espera para comer, na mdia".

Figura 3.4 - Ilustrao para o exemplo dos Filsofos Famintos.

Aqui cabe um comentrio sobre este exemplo. Embora o exemplo retirado de Paul (1993) fale originariamente em garfos, acreditamos que este exemplo estaria aplicado a filsofos chineses, e, portanto, os garfos seriam substitudos por palitinhos. A faz mais sentido que cada filsofo necessite de dois palitinhos... Bem, mas vamos ao que interessa, ou seja, modelar este problema pelo ACD. O primeiro passo definir as entidades, que, no caso, so duas: os filsofos e os garfos. Basicamente cada entidade possui os "estados" relacionados na Tabela 3.1.

Construo de Modelos Conceituais - Activity Cicie Diagram

57

Tabela 3.1 - Estados para o exemplo dos Filsofos Famintos.

O prximo passo olhar os ciclos de vida individuais. Ora, os garfos ou esto "aguardando" para serem utilizados pelos filsofos ou esto auxiliando os filsofos a "comer". Por sua vez, os filsofos ou esto "comendo" ou esto "esperando para pensar", ou esto "pensando" ou esto "esperando para comer". Desta maneira, os ciclos de vida (ou "engrenagens") de cada entidade, filsofos e grafos, podem ser representados como indicado, respectivamente, na Figura 3.5 e na Figura 3.6.

58

Captulo 3

Criao do Modelo Conceituai

Figura 3.6 - Ciclo de vida individual dos Garfos. A partir do momento que construmos os ciclos de vida individuais, iremos junt-los para formar o ACD completo. Neste caso, basta reconhecermos as atividades comuns, ou seja, aquelas que so realizadas pela interao entre duas ou mais entidades. Notadamente, as atividades "Come" e " utilizado" so, na realidade, a mesma atividade, apenas, mudou-se o nome devido perspectiva de cada entidade. Mas quando um filsofo est "comendo", o garfo " utilizado" simultaneamente, portanto, a atividade "come" uma atividade comum entre a entidade garfo e a entidade filsofo. Desta maneira, podemos unir os ciclos de vida das entidades "filsofos" e "garfos", formando o ACD completo como mostra a Figura 3.7 - na figura, foi adotado o termo "come" para denominar a atividade comum entre as duas entidades.

* Fila Fantasma

Figura 3.7 - ACD completo para o exemplo dos Filsofos Famintos.

Na realidade o filsofo no precisa esperar para pensar. No entanto, pelas regras de construo do ACD, temos obrigatoriamente que alternar atividades com fila, por isto, a fila "Espera" antes de pensar obrigatria. Este tipo de fila, na qual a entidade espera por 0 unidade de tempo, denominada de fila dummy ou fila "fantasma" - muitas vezes, indicamos por um asterisco (*)j.

Exemplo 3.2: O bbado, a garonete e o copo


Considere-se uma verso simplificada de um pub, onde existem trs entidades: "o cliente", "a garonete" e "o copo". Quando o cliente entra no pub, ele pede uma cerveja e a garonete enche um copo para servi-lo. A seguir, o cliente bebe o contedo do copo. O cliente participa, portanto, das seguintes atividades: encher e beber. Tanto a garonete

Construo de Modelos Conceituais - Activity Cicie Diagram

59

quanto os copos participam da atividade "encher". Os estados das entidades so aqueles relacionados na Tabela 3.2.
Tabela 3.2 - Estados das entidades do exemplo do pub.

O ciclo de vida de cada tipo de entidade pode ser visto na Figura 3.8. O ciclo de vida completo do sistema pode ser construdo combinando-se as atividades comuns das entidades, como mostrado na Figura 3.9.

Figura 3.8 - ACD: ciclos de vida de cada entidade.

60

Captulo 3

Criao do Modelo Conceituai

O ACD ilustra logicamente que a atividade BEBER no pode comear a menos que um cliente esteja na fila PRONTO e um copo esteja na fila CHEIO. Similarmente, a atividade ENCHER no pode comear a menos que uma garonete esteja na fila ESPERA e um copo na fila VAZIO.

Figura 3.9 - ACD completo do pub ingls.

O ACD ainda possui uma interpretao mais forte: quando um cliente est na fila ESPERA e um copo na fila CHEIO, a atividade BEBER pode comear. Da mesma forma, quando a garonete est na fila ESPERA e um copo na fila VAZIO, a atividade ENCHER pode comear. Ao trmino de cada atividade, o movimento das entidades fixo. Depois de ENCHER, a garonete vai para a fila ESPERA e o copo para a fila CHEIO. Depois de BEBER, o copo vai para a fila VAZIO e o cliente para a fila ESPERA. til, porm no essencial, a conveno de que atividades e filas devem estar dispostas alternadamente num ACD. Isto faz com que a modelagem seja mais robusta numa circunstncia de uma mudana inevitvel do modelo. tambm til, mas no essencial, que todo o ciclo de vida de uma entidade seja fechado. Enquanto isto, necessita-se de uma "FILA DO MUNDO EXTERNO" para entidades que "visitam" o sistema (veja-se a Seo 3.5: "Um pouco mais sobre o ACD"), isto possui a vantagem de auxiliar o analista a pensar mais rigorosamente nos ciclos de vida das entidades.

3.3

A Simulao Manual e o Mtodo das Trs Fases


O prximo passo aps a construo de um modelo conceituai de simulao garantir que a lgica do sistema esteja bem entendida. Uma das melhores maneiras de fazer isto realizando uma simulao manual. H uma grande variedade de mtodos para simular manualmente um modelo, e um deles utilizando o prprio ACD.

A Simulao Manual e o Mtodo das Trs Fases

Para realizar uma simulao manual com um ACD, podemos desenhar os ciclos de vida numa folha de papel grande (utilizando diferentes cores para distinguir os ciclos das diferentes entidades). O estado corrente do modelo descrito pela posio de cada entidade numa fila ou atividade; isto pode ser facilmente visto utilizando-se marcadores coloridos em pontos apropriados na folha (dentro de filas ou atividades). Um evento uma mudana no estado do modelo que ocorre num determinado instante de tempo. Quando uma atividade se inicia, sua durao pode ser amostrada por uma distribuio especfica (vide Captulo 2) e o tempo que ela terminar pode ser anotado numa lista de eventos futuros. A atividade terminar exatamente neste instante de tempo, portanto, a finalizao de atividades sempre evento limite. Contudo, no sabemos a princpio quando uma atividade pode comear: isso depende da correta combinao das entidades disponveis nas filas antes da atividade (as pr-condies para o incio de uma atividade). O incio de cada atividade assim determinado por eventos condicionais. Um dos benefcios da simulao manual o estabelecimento de prioridades onde elas existem. Por exemplo, no diagrama final do pub (Figura 3.16), a entidade garonete pode escolher o que ela far primeiro: ou atender ao cliente ou lavar os copos. No mtodo das trs fases, a simulao se d com uma repetio das seguintes trs fases, como ilustra a Figura 3.10: Fase A. Verifique os tempos de trmino para todas as atividades em progresso. Determine a que terminar antes. Avance o relgio de simulao para este instante. Fase B. Para a atividade (ou atividades) que terminar, mova as entidades para suas filas apropriadas. Fase C. Procure as atividades em ordem segundo sua numerao (as atividades devem ser numeradas em sequncia antes da simulao manual). Inicie qualquer atividade que possa comear, mova as entidades apropriadas das filas para as atividades. Amostre um tempo de durao da atividade segundo uma determinada distribuio, calcule quando esta atividade terminar e anote este tempo.

As trs fases representam uma estrutura comum presente em qualquer simulao de eventos discretos: Avance o relgio de simulao para o prximo evento; Execute os eventos limites (quando terminam as atividades); Execute os eventos condicionais (quando as atividades se iniciam).

Podemos registrar o estado da simulao utilizando estas trs fases. Para aplicar o mtodo das trs fases no exemplo do pub, vamos considerar que a atividade "beber" dura 4 minutos: encher dura 3 minutos; e que, no incio da simulao copos, clientes e garonetes esto dispostos como na Figura 3.11 - note que existem 3 copos, 3 clientes e 1 garonete. A partir dessa configurao inicial, podemos montar a Tabela 3.3 (simulao manual do pub).

62

Captulo 3

Criao do Modelo Conceituai

Figura 3.11 - ACD do pub modificado com entidades para simulao manual.

A Simulao Manual e o Mtodo das Trs Fases

63

Vamos detalhar melhor como a tabela da simulao manual foi construda. Na configurao inicial (T=0, Figura 3.11), os 3 copos, os 3 clientes e a garonete esto nas suas respectivas filas de espera (configurao inicial). Como neste instante no h nenhum evento planejado para acabar, no iremos preencher nada na fase B, eis o porqu do trao na coluna B para o tempo 0. Vamos ento para a fase C, ou seja, verificar quais atividades podem comear. Vamos eleger arbitrariamente a atividade "beber" como prioritria a atividade "encher", e, portanto, devemos perguntar: pode a atividade "beber" comear? A atividade "beber" no pode comear, pois no h copos cheios e nem clientes nas filas antes de "beber"; portanto, "beber" no pode comear. A seguir (ainda na fase C do tempo 0), devemos perguntar: pode "encher" comear? Verificamos que sim, neste instante, "encher" pode comear, pois, para "encher", so necessrios um copo, um cliente e uma garonete. Neste caso, "encher" pode comear, e, como conhecemos o tempo de enchimento (3 minutos), sabemos exatamente quando ele ir acabar: no instante 3 minutos

64

Captulo 3

Criao do Modelo Conceituai

(0+3 minutos). Mas, ser que ainda pode ocorrer outra atividade "encher"? No caso desta configurao, no, pois s h 1 garonete. Se houvesse 2 garonetes neste mesmo instante, outra atividade paralela a "encher" comearia e terminaria nos mesmos 3 minutos. Bem, ento, a configurao do nosso pub, para o instante 0 e para a fase C, aquela ilustrada na Figura 3.12.

Figura 3.12 - Fase C, instante T=0. Como no h mais nenhuma outra atividade que possa comear no instante 0, o relgio de simulao ser avanado para o prximo instante de simulao, que no caso o instante T=3 minutos. Deste modo, estamos agora no instante de tempo T=3 e na fase B. Na fase B devemos verificar quais atividades acabaram neste instante. Percebemos que somente a atividade "encher" (que comeou no instante 0) acabou no instante 3 minutos. Completamos a nossa tabela de simulao manual, escrevendo para o instante 3, fase B: "Encher termina" e as respectivas entidades vo para as respectivas filas de sada, como ilustra a Figura 3.13. Nenhuma outra atividade termina no instante T=3 minutos, portanto, iremos para a fase C. Como se definiu que a atividade "beber" prioritria em relao atividade "encher", devemos perguntar: pode "beber" comear? Neste caso a resposta afirmativa, pois h um copo cheio e um cliente "seco" aguardando "beber". Desta maneira, preenchemos na coluna C: "beber comea e termina em 7", pois estamos no instante 3 e sabemos que "beber" dura exatamente 4 minutos (3+4=7). Verificamos ainda que outra atividade "beber" no pode comear (pois no h copo "cheio" ainda) e passamos para a prxima atividade ("encher") sempre perguntando: "pode "encher" comear?". Observamos que sim, pois h copos, clientes e garonetes nas respectivas filas que antecedem esta atividade. Neste caso, devemos tambm preencher a fase C com "encher comea e termina em 6", pois estamos no instante T=3 e sabemos que "encher" dura 3 minutos (3+3=6). Observamos que outra atividade "encher" no pode comear, pois s h uma garonete. O "resultado" do pub no final desta fase est mostrado na Figura 3.14.

A Simulao Manual e o Mtodo das Trs Fases

65

Figura 3.13 - Fase B, instante T=3.

A partir deste instante, a idia sempre a mesma. Ou seja, avanamos o relgio de simulao sempre para o prximo evento (que agora T=6 minutos) e executamos as diretivas B e C. A Figura 3.15 ilustra como fica o pub aps o trmino de cada fase a cada instante do relgio de simulao (at o instante T= 12 minutos).

Figura 3.14 - Fase C, instante T=3.

66

Captulo 3

Criao do Modelo Conceituai

Figura 3.15 - Simulao manual do pub at o instante T= 12 minutos.

A simulao manual pode continuar at um tempo pr-estabelecido ou at ocorrer algum acontecimento especfico, por exemplo, quando um determinado cliente beber mais de 4 vezes. Obviamente, isto deve ser acompanhado durante cada passo da simulao manual.

Outras Executivas de Simulao

67

Apesar de muito dispendioso, podemos coletar dados estatsticos de uma simulao manual . Por exemplo, para a simulao manual anterior, qual seria a taxa de utilizao da garonete? Se acompanharmos os tempos de 0 at 12 minutos, vemos que ela ficou todo tempo ocupada e, portanto, sua utilizao de 100%. Estas e outras estatsticas (tempos mdios de espera em fila, tempos totais gastos no sistema etc.) podem ser retiradas da simulao manual. Observaes
Na execuo do mtodo das trs fases (Tabela 3.3) utilizamos valores constantes de tempo mas, como discutido anteriormente, nada impede que os tempos sejam amostrados de distribuies estatsticas especficas (exponencial, uniforme, normal etc).

3.4 Outras Executivas de Simulao


Cabe-nos comentar rapidamente outros mtodos de "Execuo da Simulao". Estes mtodos so tambm denominados de "estratgias de simulao". Fora o mtodo das trs fases, ainda h as seguintes estratgias: a) Estratgia de evento. O analista especifica quando ocorrem as aes no modelo. Esta estratgia baseada na programao das aes em certos instantes no tempo. Desta maneira construda uma Lista de Eventos Futuros (LEF) e sempre o relgio de simulao avanado para o evento mais prximo. b) Estratgia de atividade. O analista especifica as causas para as aes ocorrerem no modelo, sendo estas baseadas nas pr-condies para uma determinada atividade ocorrer. A sua estrutura bsica varrer todas as atividades uma de cada vez, testando o seu comeo ou o seu final. c) Estratgia de processo. O analista especifica as entidades e descreve todas as sequncias de aes de cada entidade, individualmente. Seria como se fosse executada uma simulao para cada entidade em separado e, para integr-las, existissem comandos que habilitassem ou desabilitassem a execuo de cada ciclo, baseados nas interaes das entidades. interessante notar que o mtodo das trs fases uma abordagem que mescla a estratgia de evento com a de atividade. Estas estratgias possuem vantagens e desvantagens, que no cabe aqui discutir. O que ocorre, na prtica, que a estratgia de evento mais popular nos EUA, enquanto que a estratgia de atividade e o mtodo das trs fases so mais conhecidos no Reino Unido.

3.5 Um pouco mais sobre o ACD


At agora, trabalhamos com sistemas ditos conservativos ou fechados, ou seja, o nmero de entidades no sistema sempre o mesmo. No caso de termos chegadas externas de entidades no modelo e sadas de entidades do modelo (sistemas no conservativos), utilizamos sempre uma entidade fictcia denominada "porta" (uma unidade), como
O processo pode ser automatizado com o auxlio de calculadoras ou mesmo de um computador.

68

Captulo 3

Criao do Modelo Conceituai

mecanismo de controle de fluxo da entidade que chega ao sistema. No caso do pub, se quisermos considerar chegadas externas de clientes, a "porta" quem controlar suas entradas. Como o ciclo de vida para cada entidade deve ser fechado, temos de adicionar uma fila: "FILA EXTERNA" para as entidades que entram e saem do sistema. Em um ACD (e na simulao manual) podemos ainda trabalhar com o que chamamos de "atributos" de entidades. Um atributo de entidade um valor que ela carrega consigo durante toda a simulao e pode ser modificado a qualquer instante. Assim, podemos imaginar um pub em que os clientes, antes de entrar no pub, j possuem uma vontade de beber determinado nmero de drinks, e podemos denominar este atributo de "sede". Cada vez que um cliente entra pela primeira vez no pub, seu atributo inicializado com um valor, como por exemplo, segundo uma distribuio uniforme de 1 a 4. Cada vez que o cliente termina de beber, este atributo decrementado (sede=sede-l). Se, ao terminar de beber, o cliente no tem necessidade de mais um drink (sede=0), ele pode sair opub, caso contrrio, ele volta a entrar na fila de espera para beber. Podemos ainda adicionar'outra atividade garonete: lavar os copos. Neste caso ela estaria alternando entre encher os copos e lavar os copos. No caso de estarmos fazendo uma simulao manual, devemos numerar as atividades, e a priorizao do que fazer deve seguir estritamente esta numerao. (A Figura 3.16 mostra o ACD o pub completo, com estas consideraes.)

Um pouco de viso de Processos

69

Concluindo, as principais vantagens de se representar um modelo atravs da tcnica de ACD so: Simplicidade: possvel desenvolver um modelo de simulao conceitual a partir de, apenas, dois smbolos; Habilidade de mostrar, explicitamente, as interaes entre os objetos do sistema e seus fluxos; Fcil de se entender e de se utilizar; Pode ser utilizado para realizar simulao manual e, at, para servir de estrutura bsica para alguns simuladores, como o VS7 (Syspack, 1990) desenvolvido pela Universidade de Brunei. Por outro lado, o ACD apresenta algumas desvantagens: Os diagramas se tornam ininteligveis medida que aumenta a complexidade do sistema a ser modelado; difcil capturar toda a lgica do modelo no formato ACD, especialmente em se tratando de um modelo com lgica complexa. Por exemplo, o ACD no mostra claramente disciplinas de fila ou atribuies condicionais de valores para atributos de entidades. Segundo Paul (1993), o ACD mostra o fluxo lgico, mas no a lgica em profundidade. Na prxima seo discutiremos um outro tipo de paradigma de modelagem, conhecido como "Rede de Processo" ou Process Networks.

3.6 Um pouco de viso de Processos


Finalizamos este captulo mostrando um pouco sobre a criao de um modelo conceituai baseado numa viso de processos (como um fluxograma, por exemplo), e no com a viso do ACD, que mais voltado viso de atividades e eventos. Na realidade, as duas vises so equivalentes, mas a de processos deixa o modelo com mais "cara de fluxo", embora o ACD tambm explicite o fluxo e as interaes entre as entidades. Embora seja de fcil entendimento, o paradigma do ACD pode parecer um pouco "estranho" para alguns, por isso, no intuito de agradar aos "processistas", inserimos esta pequena seo. Os modelos conceituais descritos com a viso de processos, tambm denominados de Process Networks - PN, so, sem dvida, uma das formas mais antigas de representao de modelos de simulao (Schruben, 1992). Os PN formam a bases de diversas linguagens de simulao correntes, tais como: GPSS, SLAM, SIMAN e XCELL (ver Chwif, 1999). Como ainda no falamos nada sobre implementao de modelos (o que faremos no Captulo 4), no vamos utilizar nenhuma representao baseada em linguagem de simulao especfica; vamos criar alguns "blocos" construtores (lembre-se de que o ACD possui somente dois smbolos) e apelidaremos nossa simbologia de SPN ou Simple Process Networks. Estes blocos, bem como suas representaes grficas, esto ilustrados na Tabela 3.4.

70

Captulo 3

Criao do Modelo Conceituai

Os blocos "chegada", "fila" e "sada" so relativamente fceis de entender. O problema so os blocos "atraso", "processo com recurso" e o "condicional". Vamos por partes. O "atraso" e o "processo com recurso" nada mais so do que uma atividade no ACD. No primeiro caso, "atraso", s h a entidade principal envolvida e temos um atraso de t unidades de tempo. No segundo caso, "processo com recurso", temos uma entidade secundria que est envolvida diretamente em uma temporizao. Um simples tempo de
Tabela 3.4 - Blocos construtores do SPN.

transporte pode ser modelado como um "atraso" e um caixa de banco como um "processo com recurso" - onde o recurso seria "o caixa do banco". Para garantir mais clareza, vamos fazer uma analogia com o ACD (Tabela 3.5). A partir do exemplo do mesmo caixa de banco, no ACD, teramos duas entidades: o "cliente" e o "caixa". Segundo a viso do SPN, teramos o "cliente" como entidade principal e o "caixa" como um recurso. Por fim, o bloco condicional simplesmente gera um desvio de fluxo. Tomando o exemplo do ACD (Modelo do pub completo - Figura 3.16), h uma condio antes da sada do cliente (se o nmero de drinks bebidos for igual ao que ele tomaria, ele sai, caso contrrio, ele volta a fazer o pedido). Isto geraria um bloco condicional no SPN.
Tabela 3.5 - Equivalncias de simbologia entre o SPN e o ACD.

Exerccios de Reviso

71

Exemplo 3.3: O Supermercado Chang


O supermercado Chang possui dois caixas. H uma fila nica nestes caixas. Os consumidores chegam com intervalos entre chegadas sucessivas que segue uma distribuio uniforme entre 1 e 4 minutos e levam um tempo normalmente distribudo com mdia 6 e desvio padro de 1 minuto para comprar. O tempo de servio leva entre 5 e 8 minutos, uniformemente distribudo. Se, ao chegar ao supermercado os clientes encontram uma fila de mais de quatro pessoas, eles optam por sair do sistema. O objetivo da simulao determinar a proporo de consumidores que saem sem comprar nada. A Figura 3.17 ilustra este modelo traado por ACD e seu equivalente traado pelo SPN.O que desejamos enfatizar aqui importncia de se fazer um modelo conceituai antes do modelo computacional, seja este em ACD, SPN, blocos do GPSS, fluxogramas etc. Cabe ao projetista escolher a tcnica que lhe parea mais adequada.

Figura 3.17 - Modelos conceituais do Supermercado Chang utilizando o ACD e o SPN.

3.7 Exerccios de Reviso


Para os exerccios de 1 a 5, construa o respectivo ACD . Classifique os sistemas descritos em sistemas conservativos ou no: 1. Clnica Mdica: Neste modelo existem trs tipos de entidades: os pacientes, o mdico (3) e as recepcionistas (2). Os pacientes chegam com um tempo mdio entre chegadas de 3 minutos (exponencialmente distribudos). Eles formam fila nica na recepo para preenchimento da ficha e depois so encaminhados para um dos trs mdicos. Caso todos
Alguns exemplos foram adaptados do livro: Paul, Ray J.; Balmer, David W. Simulation Modelling, London: Chartwell-Bratt, 1993.
J

72

Captulo 3

Criao do Modelo Conceituai

os mdicos estejam ocupados, o cliente permanece em fila aguardando o seu atendimento. Os tempos para preenchimento da ficha na recepo so exponencialmente distribudos com mdia de 10 minutos. Os mdicos levam em mdia 20 minutos para o atendimento, segundo uma distribuio exponencial. No final da consulta, os pacientes retornam s recepcionistas para efetuarem o pagamento e agendarem as prximas consultas, o que demora um tempo uniformemente distribudo entre 1 e 4 minutos. Lavanderia. Os consumidores chegam numa lavanderia com intervalo mdio entre chegadas de 10 minutos (distribudos exponencialmente) para lavar e secar suas roupas. Depois de chegar, utilizam as mquinas de lavar (que so 7 ao todo). O tempo de lavagem constante: demora 25 minutos. No final da lavagem, o consumidor retira as roupas da mquina, coloca-as num cesto (h 12 cestos ao todo) e leva-o para a secadora. O tempo de descarregamento das roupas da mquina de lavar est uniformemente distribudo entre 1 e 4 minutos O tempo para transportar as roupas da mquina de lavagem at a secadora est uniformemente distribudo entre 3 e 5 minutos. O consumidor ento carrega o secador, o que demora somente 2 minutos; espera a secagem; descarrega as roupas; e sai da lavanderia. O tempo de secagem + descarregamento normalmente distribudo com mdia de 10 minutos e desvio padro de 4 minutos. H 2 secadoras na lavanderia. Carregamento de Caminhes. Pedidos de entrega chegam em um centro de distribuio de acordo com um processo de Poisson, com taxa mdia de 4 chegadas/hora. Neste centro existem 3 tipos de caminhes: vans, caminhes mdios e caminhes semi-pesados. A distribuio dos pedidos de carga de: 50% para as vans; 25% para os caminhes mdios; e 25% para os caminhes pesados. H 10 carregadores ao todo no sistema, para o carregamento dos caminhes. Para carregar completamente uma van, so necessrios 2 carregadores, enquanto que para carregar um caminho mdio ou um caminho semipesado so utilizados 4 carregadores. Os tempos de carregamento tanto da van quanto do caminho mdio segue uma distribuio normal com mdia 100 minutos e desvio padro de 30 minutos. Para carregar um caminho semi-pesado, os carregadores levam um tempo que segue uma distribuio normal com mdia de 130 minutos e desvio padro de 45 minutos. A frota total de caminhes de 3 vans, 2 caminhes mdios e 2 caminhes semipesados. H tambm 5 docas de carregamentos ao todo no sistema, sendo duas docas pequenas (s para vans) e 3 docas grandes (para caminhes mdios e semi-pesados). Para carregar, os veculos devem estar necessariamente posicionados em uma doca. Os tempos de transporte (da distribuidora at o cliente e de volta distribuidora) esto uniformemente distribudos entre 180 a 300 minutos para as vans e caminhes mdios e uniformemente distribudos entre 240 minutos a 480 minutos para caminhes pesados. O objetivo do modelo de simulao verificar se este sistema ir impor atrasos significativos s entregas dos pedidos. Fundio: O ciclo de derramamento de ao de um alto forno segue uma distribuio uniforme entre 90 e 140 minutos. Todo o ao utilizado no enchimento de um conjunto de moldes de areia. O Ciclo total de enchimento de todos os moldes leva um tempo uniformemente distribudo entre 12 e 16 minutos. Aps o enchimento, o conjunto de moldes levado para um transportador cujo tempo de transporte constante e igual a 8 minutos. Ao final do transporte, o produto desembocado do molde, levando um tempo constante de 12 minutos para desembocar todos os produtos. Depois, os moldes sem os produtos se dirigem a uma esteira de retorno que demora 45 minutos para lev-los para a estao de limpeza/pintura. Para limpar os conjuntos de moldes, leva-se um tempo mdio de 10 minutos com desvio padro de 2 minutos, segundo uma distribuio normal. Aps a limpeza, os moldes se dirigem para um forno para reaquecimento. O tempo de

Exerccios de Reviso

73

reaquecimento uniformemente distribudo entre 8 e 12 minutos. Caso no existam moldes de areia disposio aps o aquecimento, o forno derrama e desperdia todo o ao produzido. O objetivo do modelo de simulao determinar a quantidade de vezes que o alto forno derrama e desperdia o ao produzido. Usina. Numa usina, existem dois auto-fornos que derretem um certo volume dirio de ferro, despejam e enchem quantos torpedos estiverem disponveis (torpedo o nome dado a um carrinho especializado no transporte de ferro fundido, que anda sobre trilhos). Se nenhum torpedo estiver no momento exato do tombamento de um auto-forno, o ferro fundido despejado no cho e ocorre uma perda. Cada torpedo pode armazenar uma quantidade de ferro fundente, desde que no se ultrapasse seu limite de armazenagem. Todos os torpedos, contendo o ferro fundente, vo para uma doca (pit), onde recipientes, movimentados por guindastes, so enchidos com o ferro fundente contido nos torpedos, um de cada vez. O recipiente pode conter, no mximo, 100 toneladas de ferro, que o volume exato do forno de preparao do ao alimentado por intermdio do guindaste. H um certo nmero de fornos de preparao, que trabalham simultaneamente e que geram o produto final da usina. Os dados necessrios para a construo do modelo esto dispostos a seguir: Auto-fornos: so dois ao todo. A massa do ferro produzido (em toneladas) para cada forno segue uma distribuio normal, com mdia de 380 minutos, e desvio padro de 50 minutos. O tempo entre cada descarga (excluindo-se 10 minutos de tempo de descarregamento) segue uma distribuio normal, com mdia de 110 e desvio padro de 15 minutos; Fornos de preparao (ao): cada forno contm exatamente 100 toneladas de ao. O tempo entre cada carga (incluindo-se o tempo de descarregamento, mas excluindo-se o tempo de carregamento) constante e igual a 50 minutos, mais um tempo exponencialmente distribudo com mdia de 10 minutos; Guindastes', o guindaste se move ao longo de um trilho e carrega um recipiente que pode armazenar at 100 toneladas de ferro fundido. Este recipiente abastecido na doca por um torpedo de cada vez. De modo a evitar atrasos, a doca possui duas posies. Se dois torpedos so insuficientes para abastecer o recipiente do guindaste, o tempo que se leva para descarregar o segundo torpedo pode ser considerado suficiente para um terceiro torpedo (se existir) entrar no lugar do primeiro, pronto para descarregar. Somente um nico guindaste pode estar na doca de cada vez. O guindaste s sai da doca se estiver cheio com 100 toneladas. Como uma hiptese simplificadora, considere que o trilho suspenso do guindaste foi construdo de tal forma a permitir que um guindaste passe sobre o outro, no caso de haver mais de um. Leva-se 5 minutos para um guindaste carregar 100 toneladas de ferro fundido para um forno de preparao de ao que est vazio. O guindaste no pode antecipar qual ser o prximo forno a se descarregar, para tal, deve aguardar na doca at um forno de preparao estar disponvel para ser carregado. Levam-se dois minutos para o reservatrio vazio preso ao guindaste retornar doca; Torpedos: cada torpedo pode carregar at 300 toneladas de ferro fundido. Quando o auto-forno esvaziou seu contedo no nmero mnimo de torpedos necessrios (se disponveis), todos os torpedos se dirigem doca. Isto inclui torpedos parcialmente cheios. O torpedo demora 10 minutos, em mdia, de acordo com uma distribuio
Baseado em Chwif et al, 1999.

74

Captulo 3

Criao do Modelo Conceituai

exponencial, para ir do auto-forno at a doca. Estes s partem da doca quando seu contedo totalmente esvaziado. O trajeto de retorno (doca para auto-forno) leva 4 minutos (tempo constante). O objetivo deste modelo de simulao verificar a quantidade total perdida de ferro durante o processo (que ocorre quando no h torpedo para carregar o ferro fundido do auto-forno).

Figura 3.18 - Exerccio 1.

Utilize o ACD completo do pub (Figura 3.16) e faa uma simulao manual at o instante r=100 minutos, utilizando o mtodo das trs fases. Os dados necessrios esto abaixo: Tempo entre chegadas sucessivas: exponencial com mdia de 5 minutos, utilize a Tabela 3.6; Tempo para Encher: normal com mdia de 6 minutos e desvio padro de 1 minuto, utilize a Tabela 3.7; Tempo para beber: uniforme entre 5 e 8 minutos, utilize a Tabela 3.8; Tempo para lavar: 5 minutos N de drink a beber: uniforme entre 1 e 4, utilize a Tabela 3.9; Nmero total de copos: 10 (fila incial Q_lim); Nmero total de garonetes: 2 (fila incicial Q_Par); Nmero infinito de clientes.

Exerccios de Reviso

75

76

Captulo 3

Criao do Modelo Conceituai

Leitura Complementar
Modelos de Simulao: Complicar ou Descomplicar?25
Primeiramente, devemos responder s perguntas: o que um modelo simples e o que um modelo complexo? Frequentemente, a complexidade de um modelo de simulao confundida com o "nvel de detalhe" deste. Na realidade, o "nvel de detalhe" um componente que faz um modelo tornar-se mais complexo ou no, mas o "escopo do modelo" outro. Considere-se um sistema de manufarura (uma fbrica, por exemplo). Neste sistema podemos modelar a fbrica inteira ou modelar somente uma de suas estaes de trabalho. No segundo caso, o modelo possui um escopo mais reduzido. Por outro lado, esta mesma estao de trabalho pode ser modelada com o seu tempo de processo macro ou com os tempos dos seus sub-processos, detalhes de quebras, detalhes de turnos de trabalho (quando ela pode ou no operar) etc. Neste ltimo caso, o nvel de detalhe do modelo maior. O binmio escopo versus nvel de detalhamento que define a complexidade do modelo. H um consenso na comunidade de simulao de que um modelo simples sempre prefervel a um modelo complexo. Um modelo, tanto para o projetista que o criou, quanto para o seu usurio final deve ser simples, pois um modelo simples mais fcil de compreender, modificar, implementar e analisar. Alguns autores afirmam, inclusive, que "a simplificao a essncia da simulao". Um modelo simples ainda possuiria uma outra vantagem: a facilidade de jog-lo fora e comear tudo novamente. Uma vez que um modelo complicado criado, difcil se livrar dele ( muito mais difcil de admitir uma falha em um modelo extremamente custoso do que em um modelo simples e barato). Alm disso, com um modelo simples, o tempo total do estudo de simulao tenderia a ser menor. Alguns casos de sucesso de modelos simples na literatura foram reportados (Robinson, 1994). Em um deles, um engenheiro automotivo economizou USD 150.000,00 em uma tarde de sexta-feira. Um pequeno modelo de simulao foi desenvolvido e experimentos foram realizados que comprovaram a compra desnecessria de certos tipos de equipamentos. Como outro exemplo de um projeto real, a fim de provar quantos veculos eram necessrios para mover os materiais em uma indstria de manufatura, um modelo extremamente grande e complexo foi construdo. Depois de nove meses, foi criado um monstro totalmente validado e foram realizados os experimentos. Foi possvel encontrar uma economia de dois a trs veculos no sistema, uma economia desprezvel quando comparada ao custo total do projeto de simulao. Apesar das inmeras vantagens, um modelo simples pode ter alguns problemas. Tome-se o caso de um modelo de simulao de um sistema de AGV (Automated Guided Vehicle), que foi simplificado para lidar com somente 2 AGVs, ao invs de 5. Ao limitar o escopo do modelo, apesar dos resultados ainda vlidos, o modelo reduzido perde a sua flexibilidade, pois s pode ser usado no caso especfico (para 2 veculos de AGV). Outro problema que um modelo demasiadamente simples pode ser invlido (ver o Captulo 5 - Verificao e Validao de um modelo de simulao). Infelizmente, no h nenhum mtodo para determinar o melhor nvel de complexidade do modelo que ainda o mantenha vlido.
Baseado em Chwif et ai. (2000).

Exerccios de Reviso

77

Embora a maioria concorde com as inmeras vantagens de um modelo simples, muitos modelos complexos ainda so criados. Pode-se tentar enumerar diversas causas, de ordem tcnica e no-tcnica, para que isto ocorra. No tocante s causas no-tcnicas, h uma tendncia de que o "complicado" e o "mais difcil" sejam sempre mais valorizados. Alguns analistas tendem a criar modelos de simulao complicados e mais custosos para receberem a aprovao da sua gerncia, pois um modelo simples demais poderia colocar em risco seu posto, j que h, neste caso, uma conotao de que "qualquer um poderia faz-lo". Outra tendncia construir um modelo mais complicado, pois possvel em termos de capacidade computacional. Esta, aliada s facilidades dos softwares de simulao, vem crescendo em um ritmo muito veloz. A tentao de se criar um modelo mais complexo, pois h recursos disponveis para tal, muito grande. Em relao a alguns fatores tcnicos, podemos citar: Falta de entendimento do sistema real; Deficincia na habilidade de modelar corretamente o problema; Prtica de programao pobre.

No entanto, uma unanimidade, entre vrios autores, que a principal causa do crescimento de modelos complexos a falta de objetivos de simulao claramente bem definidos. Um modelo elaborado e preciso no tem valor algum se no capaz de responder a questes relevantes. Um modelo simples, e at no to preciso, pode ser mais valioso se fornecer um melhor entendimento sobre o sistema a ser simulado. O modelo no possui valor nenhum se no for utilizado para auxiliar em algum processo de deciso. Lembre-se: o objetivo de um estudo de simulao nunca pode ser somente o desenvolvimento do modelo por si! Descrevemos a seguir, algumas regras prticas para simplificar a construo de modelos de simulao. Algumas destas regras esto baseadas nos 5 princpios de modelagem, propostos por Pidd (1996). Keep it Simple (KISS). Esta a regra fundamental. Isto porque, se o modelo j nasce simples, haver ganhos ao longo de um estudo de simulao. Adicione complexidade depois. Se voc tem dvidas entre incluir ou no um elemento ou fator num modelo, no o inclua e assuma a hiptese de que isto no iria afetar os resultados do modelo. Somente aps analisar os resultados, inclua-o, se voc achar realmente necessrio. Sempre faa a pergunta: Isto realmente necessrio? (Evite o paradigma do tipo: "melhor o excesso do que a falta"). J fiz um modelo complexo demais, h algum meio de simplific-lo? Infelizmente, uma vez criado um modelo complexo, os esforos para simplific-lo podem no ser vantajosos. Reduza o nvel de detalhe por meio da hierarquia. O uso de uma modelagem hierrquica (em nveis) pode ser muito importante na administrao de modelos complexos. Neste caso, a hierarquia no simplifica o modelo em si (em termos de quantidade de elementos), no entanto, enxergamos o modelo em pedaos (segundo as camadas hierrquicas), o que realmente facilita a manipulao e administrao do modelo. Algumas vezes podemos agregar alguma camada, por exemplo, um conjunto

78

Captulo 3

Criao do Modelo Conceituai

de mquinas se torna apenas uma mquina, e, neste caso, estamos realmente simplificando o modelo. Reduza o escopo do modelo. Esta regra est diretamente relacionada com o componente "Escopo" da complexidade. Logo, ao invs de elaborarmos um modelo de escopo geral de uma vez s, dividimos o sistema em partes e cada parte modelada separadamente, criando-se uma srie de modelos mais simples ao invs de um nico modelo mais complexo. S quando estas partes passarem por todas as etapas de um estudo de um modelo de simulao, e se for realmente necessrio, integre estes modelos num maior. Outra possibilidade reduzir o escopo do modelo para analisar uma questo mais especfica. Mas lembre-se de que, ao limitarmos o escopo, imprimimos menor flexibilidade.

Referncias Bibliogrficas
Chwif, Leonardo. Reduo de modelos de simulao de eventos discretos na sua concepo: uma abordagem causal. Tese de Doutorado. Escola Politcnica da USP. Departamento de Engenharia Mecnica, 1999. Chwif, Leonardo; Barretto, Marcos R. P, Paul, Ray J. On simulation model complexity. Proceedings ofthe 2000 Winter Simulation Conference, p.449-455, 2000. Law, Averill. Simulation modeLs levei of detail determines effectiveness. Industrial Engineering, v.23, n.10, p.16-18, 1991. Paul, Ray J.; Balmer, David W. Simulation modelling. London: Chartwell-Bratt, 1993. Paul, Ray J. Activity cycle diagrams and the tree phase method. Proceedings ofthe 1993 Winter Simulation Conference, p.123-131, 1993. Pidd, Michael. Five Simple Principies of Modelling. Proceedings of the Winter Simulation Conference, p. 721-728, 1996. Robinson, Stewart. Successful simulation: a practical approach to simulation projects. Maidenhead: McGraw-Hill, 1994. Shannon, Robert E. Systems simulation: the art and science. Englewood Cliffs: PrenticeHall, 1975. Schruben, Lee W. Graphical model structures for discrete event simulation. Proceedings ofthe Winter Simulation Conference, p.241-245, 1992. Tocher, Keith D. The art of simulation. London: English Universities Press, 1963. Syspack. VS7 & Syspackuser guide. London: SysPack Ltd., 1990.