cap1_sim
DESCRIPTION
PythonTRANSCRIPT
Simulação
Lino G. MarujoDEI/COPPE/UFRJ
Cap.1/1
Introdução
• Modelagem e análise em simulação• Propósitos • Vantagens e desvantagens• Conceitos básicos
Cap.1/2
Modelagem
• O quê está sendo modelado?– simulações computacionais lidam com modelos de
sistemas (facilidades ou processos), tais como:• Sistema de manufatura;• Supply chain;• Rede de transportes;• Sala de emergência;• Sistema de serviços;• Rede de informações/computadores.
Modelagem (cont.)
• Por quê não, simplesmente, brincar com o sistema?– em alguns casos é possível:
• podem-se testar diferentes configurações para os sinais de tráfego, até encontrar aquela que minimiza os congestionamentos;
• um gerente de supermercado pode tentar diferentes políticas de controle de estoque e atribuição de atendentes, até encontrar a mais lucrativa e que disponibiliza o melhor atendimento;
• um sistema computacional pode ser organizado com diferentes configurações de redes e prioridades de atendimento,até prover o melhor serviço.
Cap.1/4
Modelagem (cont.)
• Algumas vezes você não pode (ou deve) brincar como o sistema ...– você não poderia experimentar diferentes layouts de uma
fábrica se a mesma não foi ainda construída;– mesmo que ela exista, talvez seja muito caro fazê-lo;– seria difícil submeter o dobro de usuários a um banco,
para ver o que aconteceria se uma agência vizinha fechasse;
– tentar um novo sistema de embarque, poderia fazer muitos usuários perder seus vôos, se houver imprevistos;
– efetuar testes em uma sala de emergência de um hospital, certamente não seria admissível.
Cap.1/5
Modelagem (cont.)
• Com simulação, você pode testar muitas idéias no modelo:– cometa erros no computador, onde eles não contam, em
vez de cometê-los no mundo real, onde eles contam.• Tipos de modelos:
– físicos:• modelos reduzidos, modelos em tamanho natural, simulação de
salas/cabines de controle, simuladores de vôo.– lógicos/matemáticos:
• conjunto de aproximações e suposições, tanto estrutural quanto quantitativa;
• se o modelo é uma boa aproximação, você pode aprender sobre o sistema, de uma forma barata, fácil e rápida. Cap.1/6
Modelagem (cont.)
• O quê fazer com o modelo lógico?– Se é simples o bastante, use matemática tradicional
(teoria de filas, equações diferenciais, programação linear) para conseguir “respostas”:
• bom, pois você pode obter soluções “exatas” para o modelo;• mas pode ter sofrido uma sobre-simplificação (validade?).
• Muitos sistemas complexos necessitam de modelos também complexos– dificuldade ou impossibilidade de resolução;– simulação pode ser a única saída.
Cap.1/7
Simulação Computacional
• métodos para estudo de uma ampla variedade de modelos de sistemas do mundo real:– utilizam computadores para avaliação numérica;– utilizam softwares para imitar a operação do sistema e
suas características, ao longo do tempo.• na prática, é o processo de projeto e criação de
modelos de sistemas computadorizados, bem como de execução de experimentos;
• capacidade: aplicação em sistemas complexos;• tolera modelos complexos.
Cap.1/8
Propósitos
• Insights da operação do sistema;
• Desenvolver políticas de operação ou de recursos;
• Testar novos conceitos e/ou sistemas antes de sua implantação;
• Obter informações sem distúrbios da operação do sistema.
Cap.1/9
Vantagens
• Permite incerteza e não estacionariedade– a única certeza é que tudo ou quase) é incerto;– perigoso ignorar a variabilidade do sistema;
• Avanços na relação custo/capacidade computacional– estima-se que 75% da capacidade computacional seja
utilizada para simulações;– máquinas dedicadas (p.e. controladores em tempo real).
• Avanços nos softwares para simulação– facilidade de uso;– menos restritivos nas modelagens;– capacidade de projeto e análise estatística.
• Experimentos em tempo comprimido
Desvantagens
• Não gera respostas exatas, mas estimativas aproximadas:– também verdade para muitos outros métodos modernos;– pode limitar o erro ao erro de truncamento da máquina.
• Gera respostas aleatórias de simulações estocásticas– planejamento de experimentos e análise estatística das
simulações;– problema: métodos estatísticos “padrões” raramente se
aplicam.
Tipos Diferentes de Simulação
• Estática versus Dinâmica– o tempo desempenha um papel importante no modelo?
• Tempo contínuo versus discreto– pode o estado mudar continuamente ou simplesmente em
intervalos discretos de tempo?• Deterministico versus Estocástico
– há certeza quanto a tudo, ou não?• A maioria dos modelos são:
– dinâmicos, discretos e estocásticos!
Cap.1/12
Simulando em Computadores
• Linguagens de uso geral (FORTRAN)– tedioso, baixo nível, sujeito a erros;– entretanto, flexibilidade quase que total!
• Pacotes– subrotinas para processamento de listas, estatísticas e
avanço de tempo;– amplamente distribuídas e também amplamente
modificadas.• Planilhas
– usualmente, somente para modelos estáticos;– cenários financeiros, etc.
Cap.1/15
Simulando em Computadores (cont.)
• Linguagens de simulação– GPSS, SIMSCRIPT, SLAM, SIMAN;– populares, de uso difundido atualmente;– certo investimento para aprendizagem das características,
utilização, sintaxe. • Simuladores de alto-nível
– facilidade de uso, interface gráfica; – pode ser restrito a certos domínios (manufatura,
telecomunicações, etc.);– flexibilidade limitada (validade do modelo?).
Cap.1/16
Onde o Arena se Encaixa
• Estrutura Hierárquica– múltiplos níveis de
modelagem– pode combinar
diferentes níveis no mesmo modelo
– frequentemente, inicia em alto nível,descendo à medida da necessidade
• Vantagem da facilidade de uso dos simuladores sem perda de flexibilidade
Cap.1/17
Are
na T
empl
ate
Sta
ndar
d E
ditio
n Pro
fess
iona
l Edi
tion
A singlegraphical userinterfaceconsistent atany level ofmodeling
Higher
Level ofModeling
Lower
SIM
AN
Tem
plat
eVe
rtica
l Sol
utio
ns
User-Created Templates Commonly used constructs Company-specific processes Company-specific templates etc.
Application Solution Templates Call$im BP$im etc.
Common Panel Many common modeling constructs Very accessible, easy to use Reasonable flexibility
Support, Transfer Panels Access to more detailed modeling for greater flexibility
Blocks, Elements Panels All the flexibility of the SIMAN simulation language
User-Written Visual Basic, C/C++, FORTRANCode The ultimate in flexibility C/C++/FORTRAN requires compiler
Quando Simulações São Utilizadas
• Utilizações da simulação tem evoluído com o hardware e software
• Primeiros anos (1950s-1960s)– muito cara, ferramenta de uso especializado;– necessitava computadores grandes e treinamento
especial;– primordialmente em FORTRAN (ou mesmo em linguagem
Assembler);– custo de processamento de cerca de US$ 1000/hora, para
uma máquina inferior a um computador do tipo 286.
Cap.1/18
Quando Simulações São Utilizadas (cont.)
• Anos formadores (1970s-início dos 1980s)– computadores barateiam e ficam mais rápidos;– reconhecimento mais amplo do valor da simulação;– melhoria dos softwares de simulação, mas ainda havia
linguagens a serem apreendidas, digitadas e processadas em lote;
– freqüentemente utilizadas para limpar desastres nas indústrias automobilística e aeroespaciais:
• planta automobilística: demanda por um certo modelo;• linha de montagem com desempenho insatisfatório;• simulação, identificação do problema;• mas a demanda reduz-se—a simulação foi tarde demais
Cap.1/19
Quando Simulações São Utilizadas (cont.)
• Passado recente (início dos 1980s)– capacidade dos micromputadores;– software expandem permitindo animação;– aceitação ainda mais ampla em outras áreas:
• aplicações tradicionais na manufatura;• serviços;• sistema de saúde;• negócios;
– ainda restrito a grande firmas;
Cap.1/20
Quando Simulações São Utilizadas (cont.)
• O presente– proliferando em firmas menores;– se tornando uma ferramenta padrão;– sendo utilizadas mais cedo, ainda na fase de projeto;– controle em tempo real.
• O futuro– exploração da interoperacionalidade entre sistemas
operacionais;– modelos especialmente construídos para industrias,
firmas;– planejamento estatístico e análise estatística
automatizados. Cap.1/21
Conceitos básicos
• Componentes básicos
Chung, 2004 pg1-8
1.9 Basic Simulation Concepts
Virtually all simulation modeling that the practitioner is likely to be involved in will be implemented ina simulation specific-software package such as ARENA, AutoMod, Simscript, or SimPak. Although thesesimulation packages facilitate and speed the development time for a simulation model, they may insulatethe practitioner from an understanding of the basic concepts of simulation modeling. The followingsection can introduce or refamiliarize the practitioner with these concepts before he or she proceeds withthe remainder of the handbook. In this section we discuss:
• Basic simulation model components• Simulation event lists• Measures of performance statistics
1.9.1 Basic Simulation Model ComponentsFor demonstration purposes, consider the simplest possible system that may be of interest to the prac-titioner. Examples of this simple type of system would include, but not be limited to:
• A customer service center with one representative• A barber shop with one barber• A mortgage loan officer in a bank• A piece of computer-controlled machine in a factory• An ATM machine
Each of these simple systems consists of three types of major components:
• Entities• Queues• Resources
The relationships among these components are illustrated in Figure 1.1.
1.9.1.1 EntitiesThe first type of component is an entity: something that changes the state of the system. In many cases,particularly those involving service systems, the entity may be a person. In the customer service center,the entities are the customers. Entities do not necessarily have to be people; they can also be objects. Theentities that the mortgage loan officer deals with are loan applications. Similarly, in the factory example,the entities are components waiting to be machined.
FIGURE 1.1 Basic simulation model components.
ArrivingEntities
Queue
Server
DepartingEntities
EntityBeing Served
Note: These Entities are Like Customers
1241_C01.fm Page 8 Monday, September 15, 2003 2:26 PM
© 2004 by CRC Press LLC
Conceitos básicos• Entidades (Elementos)
– Batches– Tempo entre chegadas (interarrival time)– Atributos
• Filas• Recursos
– Paradas programadas– Manutenção– Falhas
• Lista de eventos da simulação x relógio de simulação
Medidas de desempenho
• Tempo no sistema– Ti = tempo no sistema para cada
elemento • (ArrTime – DepTime).
– n = número de elementos processados no sistema
• Tempo na fila– Di = tempo na fila para cada elemento
• (SvBeginTime - QArrTime).– n = número de elementos processados
na filaCap.1/24
Medidas de desempenho
• Tempo médio na fila
– Q = número de elementos na fila para um dado dt– T = tempo total de simulação
Cap.1/25
Tempo médio na fila
Cap.1/26
where Q = the number in the queue for a given length of time.
dt = the length of time that Q is observed.
T = the total length of time for the simulation.
Because the equation for the time-average number in queue is time dependent, further explanationis warranted. The equation essentially calculates the total entity-time in the queue that is observed duringthe simulation run divided by the total simulation run time. In an entity customer simulation, this wouldcorrespond to the customer waiting time by all of the customers that were waiting in line. Each periodof time is calculated by multiplying the number of customers waiting in line for the amount of time thatnumber of customers waited in line. A change in the number of customers waiting in line triggers thebeginning of a new period of calculation. At the end, all of the periods with customer-minutes are totaledand divided by the length of the simulation.
Manual calculations of the time-average number in queue are best handled by drawing a two-axisgraph of the system. The vertical axis records the number of entities in the queue. The horizontal axisrecords the simulation time. A line is drawn at the number of entities in the queue for the length of timethat number of entities is in the queue. The entity time is calculated by calculating the area of each box,which is the number of entities waiting multiplied by the ending time for that number of entities in thequeue minus the starting time for that number of entities in the queue. The total area is calculated bysumming all of the individual areas. The time average number in queue is then calculated by dividingthe total area by the length of the simulation run. This method is illustrated in Figure 1.2.
1.9.3.4 Resource UtilizationResource utilization is also a time-dependent statistic. At any given time a single resource can be eitheridle or busy. The idle state corresponds to a resource utilization level of 0. Naturally, the busy statecorresponds to a resource utilization level of 1. The length of time that the resource is either at a 0 levelor a 1 level is a function of the entities that come into the system. The formula for average resourceutilization is
FIGURE 1.2 Resource utilization calculations.
Number in Queue
2
Box 1
Box 2
1
1 6 14
Area = 1 ! (6"1)Area = 2 ! (14"6)
Time (min)
Total Area = 21Total Time = 14 minAverage Number in Queue = 21/14 = 1.5
Average Resource Utilization =# B dt
T
T
0
1241_C01.fm Page 12 Monday, September 15, 2003 2:26 PM
© 2004 by CRC Press LLC
Medidas de desempenho
• Utilização de recurso
– B = {0,1} para ocioso ou não– T = tempo total de simulação
Cap.1/27
Exercícios
• Exercícios 1 ao 10 do Cap01,
• disponível no Moodle.• Capítulos serão colocados
no Moodle ou na Xerox, quando necessários.
CRC PR ESSBoca Raton London New York Washington, D.C.
SIMULATIONMODELING
H A N D B O O KA Practical Approach
Christopher A. Chung
INDUSTRIAL AND MANUFACTURING ENGINEERING SERIESSERIES EDITOR Hamid R. Parsaei
© 2004 by CRC Press LLC