नियतात्मक ईवेंट्स और प्रक्रियाएँ

Python में Discrete Event Simulation

Diogo Costa (PhD, MSc)

Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific

इवेंट (या प्रक्रिया) निर्धारणवाद

NOTE: "event" और "process" शब्द एक-दूसरे के स्थान पर इस्तेमाल होते हैं.

ईवेंट (या प्रक्रिया) का निर्धारणवाद क्या है?

  • प्रक्रिया की सटीक भविष्यवाणी करने की क्षमता
  • ऐसी प्रक्रिया को "Deterministic" कहा जाता है

नियतात्मक प्रक्रियाएँ महत्वपूर्ण क्यों हैं?

  • प्राकृतिक और मानव-चालित गतिविधियाँ जटिल होती हैं
  • कई परस्पर-निर्भर प्रक्रियाएँ और संसाधन होते हैं
  • कुछ प्रक्रियाएँ हर बार एक ही तरह दोहरती हैं
  • सिस्टम आउटपुट पर असर सही-सही अनुमानित किया जा सकता है
Python में Discrete Event Simulation

नियतात्मक प्रक्रियाओं या ईवेंट्स के उदाहरण

प्राकृतिक संसार

  • महासागर ज्वार की ऊँचाई
  • गुरुत्व से वस्तुओं का त्वरण (9.81 m$^2$/s)
  • सौरमंडल में ग्रहों की गति
  • हवा में ध्वनि की गति (331.29 m/s)
  • प्रकाश की गति (300,000 km/s)
  • पानी का जमना (0 डिग्री सेल्सियस पर)

मानव-चालित या मानव-आरंभित

  • नल से पानी का बहाव
  • पानी की बोतल भरने वाली मशीन की रफ्तार
  • कॉफी मशीन को कॉफी बनाने में लगने वाला समय
Python में Discrete Event Simulation

डिस्क्रीट-ईवेंट मॉडलों में नियतात्मक ईवेंट्स को दर्शाना

नियतात्मक प्रक्रियाएँ

  • डायनेमिक सिस्टम्स पर पूर्वानुमेय प्रभाव
  • अवधि ज्ञात होती है
  • हर बार एक ही तरह दोहरती हैं

सिमुलेशन समय में प्रक्रिया की अवधि को शामिल करना जरूरी है

# Deterministic processes (time in hours)
duration_process_1 = 10
duration_process_2 = 5

while sim_time < total_sim_time:
# Update simulation time: Process 1 sim_time += duration_process_1
# Update simulation time: Process 2 sim_time += duration_process_2
Python में Discrete Event Simulation

SimPy के साथ नियतात्मक ईवेंट्स को दर्शाना

नियतात्मक ईवेंट्स की एक SimPy इम्प्लिमेंटेशन:

  • .timeout() मेथड प्रक्रिया की अवधि दर्ज करता है
    • समय इकाइयों से अनभिज्ञ
    • समय को नंबरों की तरह मानता है
    • पूरे मॉडल में समय इकाइयाँ सुसंगत होनी चाहिए
# Deterministic processes
duration_process_1 = 10
duration_process_2 = 5

while True:

   # Update simulation time: Process 1
   yield env.timeout(duration_process_1)

   # Update simulation time: Process 2
   yield env.timeout(duration_process_2)

Python में Discrete Event Simulation

अभ्यास करते हैं!

Python में Discrete Event Simulation

Preparing Video For Download...