simpy中的资源
有人能帮我入门一下simpy模拟吗?我刚接触simpy,觉得编程非常困难。这里有个场景:
工厂里有不同的工作流程来处理工作。 这些工作流程决定了使用哪些机器。机器之间是不同的。 操作员需要同时操作几台机器——只要有工作可做,就要让机器保持忙碌。
任何帮助都非常感谢。
2 个回答
0
我建议你先看看文档和一些示例。不过,有几个重要的功能你可能需要在文档中关注一下:
class Machine(env):
products = simpy.resouce(env, capacity=10) // 10 products for Machine1
# any other properties and functions you want a machine to have
class Consumer(env, machine1):
simpy.process(ConsumeProduct(env, machine1.products))
def ConsumeProduct(env, machine1):
#yield machine1.request() #waits for the resource to free up
以上这些应该能帮助你入门。你可以创建很多不同的机器,使用一些相似的资源。接着,你会在一个循环中创建一堆消费者,这些消费者会向机器请求资源,而Simpy
会帮你管理排队的事情。这样,当你把OOP
和Simpy
结合起来时,就能稍微控制一下混乱的局面。