Implementao Computacional do Modelo de Simulao e Softwares

  • Slides: 14
Download presentation
Implementação Computacional do Modelo de Simulação e Softwares de Simulação Capítulo 4 Páginas 79

Implementação Computacional do Modelo de Simulação e Softwares de Simulação Capítulo 4 Páginas 79 -101 Este material é disponibilizado para uso exclusivo de docentes que adotam o livro Modelagem e Simulação de Eventos Discretos em suas disciplinas. O material pode (e deve) ser editado pelo professor. Pedimos apenas que seja sempre citada a fonte original de consulta. Verifique sempre a atualização deste material no site www. livrosimulacao. eng. br Divirta-se! Prof. Afonso C. Medina Prof. Leonardo Chwif Versão 0. 2 04/11/15 Modelagem e Simulação de Eventos Discretos – Chwif e Medina (2006) Slide 1

Evolução dos Softwares de Simulação Modelagem e Simulação de Eventos Discretos – Chwif e

Evolução dos Softwares de Simulação Modelagem e Simulação de Eventos Discretos – Chwif e Medina (2006) Slide 2

Modelo de Fila M/M/1: ACD Modelagem e Simulação de Eventos Discretos – Chwif e

Modelo de Fila M/M/1: ACD Modelagem e Simulação de Eventos Discretos – Chwif e Medina (2006) Slide 3

Modelo de Fila M/M/1: Fluxograma Modelagem e Simulação de Eventos Discretos – Chwif e

Modelo de Fila M/M/1: Fluxograma Modelagem e Simulação de Eventos Discretos – Chwif e Medina (2006) Slide 4

Modelo de Fila M/M/1: LINSIM-PFD Initialization() Create. Q(Q_sai, Infinite) Create. Q(Q_esp, 0) Create. Q(Q_Atend,

Modelo de Fila M/M/1: LINSIM-PFD Initialization() Create. Q(Q_sai, Infinite) Create. Q(Q_esp, 0) Create. Q(Q_Atend, 1) Create. Q(Q_Porta, 1) Create_Var(tempo 2) End C_event(Chegada, Qsize(Q_Sai)>=1 and Qsize(Q_Porta)>=1) {Chegada} Set_Var(tempo 1, E(10)) Schedule(B 1, Dequeue(Q_porta), tempo 1) Schedule(B 2, Dequeue(Q_sai), tempo 1) End B_event(B 1) {Porta acaba} Enqueue(Q_Porta, Current, true) End B_event(B 2) Enqueue(Q_Esp, current, true) End C_event(atendimento, Qsize(Q_esp>=1) and Qsize(Q_Atend)>=1) Set_Var(tempo 2, E(8)) Schedule(B 3, Dequeue(Q_esp), tempo 2) Schedule(B 4, Dequeue(Q_Atend), tempo 2) End B_event(B 3) { clientes saem do sistema} Enqueue(Q_sai, current, true) End B_event(B 4) {atendente termina atendimento} Enqueue(Q_atend, current, true) End Termination(S_time>=10000) Message(“utilização do atendente = “, utilization(Q_attend)) Modelagem e Simulação de Eventos Discretos – Chwif e Medina (2006) Slide 5

Modelo de Fila M/M/1: Python import random # inicialização de variáveis status. Atendente =

Modelo de Fila M/M/1: Python import random # inicialização de variáveis status. Atendente = 0 clientes. Fila = 0 atendimentos = 0 tempo. Atendente = 0. 0 relogio = 0. 0 TC = 10. 0 TA = 8. 0 duracao. Simulacao = 1000. 0 tempo. Proxima. Chegada = random. expovariate(1/TC) tempo. Termino. Atendimento = duracao. Simulacao integral. Fila = 0 tempo. Anterior = 0 #simulação while (relogio <= duracao. Simulacao): if tempo. Proxima. Chegada < tempo. Termino. Atendimento: # relogio avança para a próxima chegada relogio = tempo. Proxima. Chegada integral. Fila += clientes. Fila*(relogio-tempo. Anterior) tempo. Anterior = relogio if status. Atendente == 0: # atendente livre status. Atendente = 1 duracao. Atendimento = random. expovariate(1/TA) tempo. Termino. Atendimento = relogio+duracao. Atendimento tempo. Atendente += duracao. Atendimento else: # atendente ocupado clientes. Fila = clientes. Fila+1 duracao. Chegada = random. expovariate(1/TC) tempo. Proxima. Chegada = relogio+duracao. Chegada else: # relógio avança para término de atendimento relogio = tempo. Termino. Atendimento atendimentos = atendimentos+1 if clientes. Fila > 0: # tem cliente ainda em fila clientes. Fila = clientes. Fila-1 duracao. Atendimento = random. expovariate(1/TA) tempo. Termino. Atendimento = relogio+duracao. Atendimento tempo. Atendente = tempo. Atendente+duracao. Atendimento else: # fila vazia, libera atendente status. Atendente = 0 duracao. Chegada = random. expovariate(1/TC) tempo. Proxima. Chegada = relogio+duracao. Chegada tempo. Termino. Atendimento = duracao. Simulacao # imprime resultados print ("Estatisticas finais: ") print (">> Clientes antendidos: %d" % atendimentos) print (">> Ocupacao atendente: %. 2 f" % (tempo. Atendente/duracao. Simulacao)) print (">> Numero medio de clientes em fila: %. 2 f" % (integral. Fila/duracao. Simulacao)) Modelagem e Simulação de Eventos Discretos – Chwif e Medina (2006) Slide 6

Modelo de Fila M/M/1: Sim. Py # -*- coding: utf-8 -*from __future__ import print_function

Modelo de Fila M/M/1: Sim. Py # -*- coding: utf-8 -*from __future__ import print_function # para compatibilidade da função print com o Python 3 import random # gerador de números aleatórios import simpy # biblioteca de simulação TEMPO_MEDIO_CHEGADAS = 1. 0 # tempo entre chegadas sucessivas de clientes TEMPO_MEDIO_ATENDIMENTO = 0. 5 # tempo médio de atendimento no servidor def cria. Chegadas(env): #função que cria chegadas de entidades no sistema conta. Chegada = 0 while (conta. Chegada < 10): yield env. timeout(random. expovariate(1. 0/TEMPO_MEDIO_CHEGADAS)) conta. Chegada += 1 print('Cliente %d chega em: %. 1 f ' % (conta. Chegada, env. now)) random. seed(1000) # semente do gerador de números aleatórios env = simpy. Environment() # cria o environment do modelo servidor. Res = simpy. Resource(env, 1) # cria o recurso servidor. Res env. process(cria. Chegadas(env, servidor. Res)) env. run(until=10) Modelagem e Simulação de Eventos Discretos – Chwif e Medina (2006) Slide 7

Modelo de Fila M/M/1: Simul 8 Modelagem e Simulação de Eventos Discretos – Chwif

Modelo de Fila M/M/1: Simul 8 Modelagem e Simulação de Eventos Discretos – Chwif e Medina (2006) Slide 8

Modelo de Fila M/M/1: Arena Modelagem e Simulação de Eventos Discretos – Chwif e

Modelo de Fila M/M/1: Arena Modelagem e Simulação de Eventos Discretos – Chwif e Medina (2006) Slide 9

Modelo de Fila M/M/1: Extend Modelagem e Simulação de Eventos Discretos – Chwif e

Modelo de Fila M/M/1: Extend Modelagem e Simulação de Eventos Discretos – Chwif e Medina (2006) Slide 10

Efeitos 3 D em Modelos 2 d Modelagem e Simulação de Eventos Discretos –

Efeitos 3 D em Modelos 2 d Modelagem e Simulação de Eventos Discretos – Chwif e Medina (2006) Slide 11

Animação/Custo Modelagem e Simulação de Eventos Discretos – Chwif e Medina (2006) Slide 12

Animação/Custo Modelagem e Simulação de Eventos Discretos – Chwif e Medina (2006) Slide 12

Tabela Comparativa Modelagem e Simulação de Eventos Discretos – Chwif e Medina (2006) Slide

Tabela Comparativa Modelagem e Simulação de Eventos Discretos – Chwif e Medina (2006) Slide 13

Mais Informações OR/MS Today: http: //lionhrtpub. com/ormssurveys. html Pesquisa de softwares do mercado ARGESIM

Mais Informações OR/MS Today: http: //lionhrtpub. com/ormssurveys. html Pesquisa de softwares do mercado ARGESIM http: //www. argesim. org/comparisons/index. html Realiza comparação de desempenho entre softwares diferentes aplicados a um mesmo modelo Um monte de links para fornecedores, cursos etc. http: //www. livrosimulacao. eng. br/links. html#links Modelagem e Simulação de Eventos Discretos – Chwif e Medina (2006) Slide 14