Python में Discrete Event Simulation
Dr Diogo Costa
Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific
SimPy तीन प्रकार के संसाधन देता है:
resource
containerstore simpy.Resource()
simpy.Container()
simpy.Store()
संसाधन बनाना
resource_1 = simpy.Resource(env, capacity=8)
capacity=8)संसाधन का अनुरोध करना
# Open resource request with resource_1.request() as request:# Make resource request yield request# Once resource is avaiable yield env.timeout(event_duration)
पिछले संसाधन का एक वैरिएंट
resource_1 = simpy.PreemptiveResource(
env, capacity=1)
कुछ प्रक्रियाओं को दूसरों पर प्राथमिकता मिल सकती है
उदाहरण: रिपेयरमैन
उपयोग simpy.Resource() जैसा ही
DNT_CURLY_TAG_7
उच्चतम प्राथमिकता से संसाधन का अनुरोध
with resource_1.request(priority=1) as
request:
yield request
yield env.timeout(process_duration)
कम प्राथमिकता से संसाधन का अनुरोध
with resource_1.request(priority=2) as
request:
yield request
yield env.timeout(process_duration)
समरूप, बिना भेद के बल्क के उत्पादन/खपत को मॉडल करने में सहायक
कंटीन्युअस (जैसे water) या डिस्क्रीट (जैसे apples) हो सकता है
उदाहरण: गैस स्टेशन में पेट्रोल रिज़र्व्स.
tank_1 = simpy.Container(
env, tank_size, init=tank_size)
कंटेनर/टैंक में जोड़ें और निकालें
yield tank_1.put(add_quantity)
yield tank_1.get(remove_quantity)
टैंक में वर्तमान मात्रा पाएं
tank_1.level
कुल टैंक क्षमता पाएं
tank_1.capacity
एक स्टोर बनाएँ
store_1 = simpy.Store(
env, capacity=2)
simpy.Container() जैसा, पर अलग-अलग ऑब्जेक्ट्स स्टोर कर सकता है
कंटेनरों में स्टोर होने वाली अपेक्षाकृत अमूर्त "amount" के विपरीत
yield store_1.put("item_1")
yield store_1.get()
उपलब्ध आइटम्स की सूची पाएं
store_1.items
स्टोर क्षमता पाएं
store_1.capacity
उदाहरण
वर्तमान स्थिति: 1 कैशियर
simpy.Resource(env, capacity=1)...
time: 23.7 min | Customer 30 > Finished
सिम्युलेटेड परिदृश्य: n कैशियर्स
simpy.Resource(env, capacity=2)...
time: 13.2 min | Customer 30 > Finished
simpy.Resource(env, capacity=3)...
time: 8.6 min | Customer 30 > Finished
simpy.Resource(env, capacity=4)...
time: 8.6 min | Customer 30 > Finished
Python में Discrete Event Simulation