se resalta lo siguiente:
- se define las clases generador y cliente. ambas son entidades activas y heredan de la clase procces que provee simpy
- se usa el metodo expovariate para generar valores de una variable aleatoria exponencial
from simply simulacion import*# libreria de simpy
from random import*#generadores
# componente del modelo
class generador (process):
"""representa al generador del cliente
"""
def generar (self.cantidad.interarribo):
""" metodo PEM que genera los clientes
"""
for i in range (cantidad):
c= cliente (name ="cliente%02d"%(i))
acrtivate(c.cservirse(t=12.0)#se envia al cliente generador a servirse
t=expovariate(1.0/interarribo)
yield hold,seif.t #se espera el tiempo t tomar como tiempo entre clientes
class cliente(process):
de servirse(self.t):
"""metodo PEM nque representa la actividad de visitar
"""
print"%7.4f %s: llegando"%(now().self.name)
yield nold.self.f#se espera el tiempo t como el tiempo de la visita
print"%7.4f%s:saliendo"%(now().self.name)
#programa principal
initialize()#inicializa el reloj de simulacion
g=Generador()#instanciado a un generador
activate(g.g generar(cantidad=5,interarribo=10.0).at=0.0)
# invocando al generadort
simulacion(until=400.0)#inicio de la simulacion hasta el tiempo 400
Flora ya lo corrí con Python 2.6.5:
ResponderEliminarSí funciona. Cuando uso IDLE, sin embargo, la última instrucción:
result = model(393939)
marca error de sintaxis.
Traten de entender porqué.
Pongo el código en el blog.