我正在使用 python 开发一个模拟。我研究了其他网站,但是,我还没有找到我要找的东西。我对以Resource
特定(可识别)方式从数组启动的方式感兴趣。我提供了我一直在运行的一个模拟的代码。
class Car_wash(object):
def __init__(self, env, num_wash, num_servers):
self.env = env
self.washingmachine = simpy.Resource(env, num_wash)
self.cashier = simpy.Resource(env, num_servers)
def purchase(self, customer):
yield self.env.timeout(random.uniform(1, 3))
#yield self.env.timeout(random.randint(1, 3))
#yield self.env.timeout(3)
def wash(self, customer):
yield self.env.timeout(10)
#yield self.env.timeout(random.randint(1, 3))
#yield self.env.timeout(3)
def wash_the_car(env, customer, carwash):
#Customer arrives at the car wash
arrival_time = env.now
with carwash.cashier.request() as request:
yield request
yield env.process(carwash.purchase(customer))
with carwash.washingmachine.request() as request:
yield request
yield env.process(carwash.wash(customer))
这个想法是我想生成多台洗衣机(从一个阵列并形成一个阵列),然后可以一个一个地选择它们。例如,我想生成washingmachine1
,washingmachine2
等。这样,我可以在必要时引用特定的元素,例如,我可以将特定的客户分配给washingmachine4
. 有人知道这样做的方法(以简单有效的方式)吗?非常感谢您的帮助。最好的