Simulador de filas m/m/1 e m/m/1/b
# UFES - Universidade Federal do Espirito Santo
# Trabalho de Processos Estocasticos / Teoria das Filas Aplic Comp
# 2012/02
# Grupo: Diego Ribon de Lima e Vivian dos Reis
# Linguagem de programacao: Python
import sys import os import random
class Pacote(object): # Classe do Pacote def __init__(self, idPacote, tChegada): self.idPacote = idPacote self.tChegada = tChegada
if __name__ == "__main__":
#-------------------------- Parametros do sistema -------------------------------
tamFila = 1000 # para M/M/1 colocar um valor muito grande eventos = 500 # numero de eventos gerados na simulacao
lamb = 1 # valor de lambda mi = 2 # valor do Mi
#---------------------------------------------------------------------------------
tSaida = -1 nPacotesPerdidos = 0 tEspera = 0 nEspera = 0 # inicializacao das variaveis i = 1 fila = [] tamMedioFila = []
print "\n\n********************************************************************" print "* SIMULADOR DE FILAS *" print "* UFES - Universidade Federal do Espirito Santo *" print "* Processos Estocasticos / Teoria das Filas Aplic Comp *" print "* Diego Ribon e Vivian dos Reis *" print "********************************************************************"
print "\n\n------------------- Inicio da simulacao -----------------------\n"
tChegada = 0 # define tempo de chegada do primeiro pacote tempo = 0 # inicia a contagem do tempo
while (i = tChegada): tempo = tChegada # atualiza tempo atual
#-------------------------- Modulo de inicializacao-------------------------------
pacote = Pacote(i,0) # cria pacote
#---------------------------- Modulo de simulacao --------------------------------
if (fila == []): tSaida = tempo + (random.expovariate(mi)) # define tempo de saida do primeiro