गतिशील सिस्टम के गणितीय मॉडल

Python में Discrete Event Simulation

Diogo Costa (PhD, MSc)

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

गणितीय मॉडल क्या है?

प्राकृतिक या मानव-चालित सिस्टम का गणितीय अवधारणाओं और भाषा से वर्णन।

मॉडल इन तरह वर्गीकृत होते हैं:

  • डायनेमिक बनाम नॉन-डायनेमिक
  • डिस्क्रीट बनाम कंटीन्युअस
  • डिटर्मिनिस्टिक बनाम प्रॉबेबलिस्टिक (स्टोकास्टिक)
  • लीनियर बनाम नॉनलिनियर
  • अन्य

गणितीय मॉडल सरल या जटिल हो सकते हैं।

  • वास्तविकता के डिजिटल एप्रॉक्सिमेशन
  • सभी प्रक्रियाओं को शामिल करना असंभव

George Box: "All models are wrong, but some are useful."

चट्टानी क्षेत्र से बहती नदी की फोटो.

Python में Discrete Event Simulation

उदाहरण: प्राकृतिक प्रक्रियाओं के पूर्वानुमान का मॉडल

नदी में प्रवाह का मॉडल

चीन के Goaya हाइड्रोलॉजिक स्टेशन पर समय के साथ प्रेक्षित व सिमुलेटेड स्ट्रीमफ्लो का प्लॉट. मॉडल प्रेक्षित रिकॉर्ड को पकड़ता है. दोनों में समय के साथ स्ट्रीमफ्लो काफ़ी बदलता है.

  • यह मॉडल चीन के Goaya हाइड्रोलॉजिक स्टेशन के लिए स्ट्रीमफ्लो अनुमानित करता है।

  • प्रेडिक्शन, रेनफॉल जानकारी पर आधारित है जिसे मॉडल इनपुट के रूप में उपयोग किया जाता है।

अन्य उदाहरण

  • वेदर फोरकास्ट
  • ओशन स्वेल फोरकास्ट
  • झीलों में वाटर क्वालिटी
  • अर्बन फ्लडिंग
  • और कई अन्य एप्लिकेशन
1 Chen, C., He, W., Zhou, H. et al. A comparative study among machine learning and numerical models for simulating groundwater dynamics in the Heihe River Basin, northwestern China. Sci Rep 10, 3904 (2020). https://doi.org/10.1038/s41598-020-60698-9
Python में Discrete Event Simulation

उदाहरण: मानव-चालित गतिविधियों के पूर्वानुमान का मॉडल

मुद्रास्फीति का पूर्वानुमान

UK की मुद्रास्फीति (2002-2021) और BNP Paribas का 2022 फोरकास्ट दिखाने वाला प्लॉट. 2022 में 7% मुद्रास्फीति दिखती है.

  • मुद्रास्फीति का पूर्वानुमान आर्थिक संकटों से बचने में बेहद महत्वपूर्ण है।

अन्य उदाहरण

  • सप्लाई-चेन
  • मैन्युफैक्चरिंग
  • लॉजिस्टिक्स
  • इकोनॉमिक फोरकास्ट्स
  • ट्रांसपोर्ट
  • अन्य
1 https://www.ft.com/content/218d35ab-b044-467a-bb62-0d17547a4350
Python में Discrete Event Simulation

जनरल कोड कंपोनेंट्स और स्ट्रक्चर

  • 3 मुख्य कंपोनेंट्स
  • इनपुट डेटा और मॉडल पैरामीटर्स
# Define model parameters
processes = {"process_1": 5,
             "process_2": 2,
             "process_3": 3}
  • रन कॉन्फ़िगरेशन
# Simulation period
simulation_time = 365

# Run model
discrete_model(processes, simulation_time)
  • मॉडल इंजन
def discrete_model(processes, simulation_time):

  # 1) Run end-condition
  while (time < simulation_time):
      process_names = list(processes.keys())

# 2) Loop over all processes for p in range(len(process_names)): process_name_p = process_names[p]
# 3) Account for effect of each process time += processes[process_name_p]
Python में Discrete Event Simulation

मॉडल आउटपुट्स

मैन्युफैक्चरिंग गतिविधि के लिए डिस्क्रीट-इवेंट मॉडल आउटपुट का उदाहरण

=> START OF SIMULATION  (Time = 0 days) 
Time =    6.00 days  |  Process Complete: Transport of raw material
Time =    9.00 days  |  Process Complete: Building components
Time =   11.00 days  |  Process Complete: Assembling parts
Time =   14.00 days  |  Process Complete: Selling product
=> COMPLETED: Supply-Chain cycle #1 | Time = 15.5 days
Time =   21.50 days  |  Process Complete: Transport raw material
Time =   24.50 days  | Process Complete: Building components
Time =   26.50 days  |  Process Complete: Assembling parts
Time =   29.50 days  |  Process Complete: Selling product
=> COMPLETED: Supply-Chain cycle #2 | Time = 31.0 days
Python में Discrete Event Simulation

मॉडल परिणामों का विज़ुअलाइज़ेशन

  • मॉडल परिणामों का ग्राफिकल विज़ुअलाइज़ेशन: सिस्टम में पैटर्न और टिपिंग पॉइंट्स पहचानने में मददगार।

  • विज़ुअलाइज़ेशन, सिमुलेशन के उद्देश्यों के अनुसार होना चाहिए।

  • कई उपयोगी विज़ुअलाइज़ेशन पैकेज: matplotlib, seaborn, plotly.

Matplotlib लाइब्रेरी लोगो. Seaborn लाइब्रेरी लोगो. Plotly लाइब्रेरी लोगो.

उदाहरण

  • मॉडल्ड डेटा (y) बनाम संबंधित समय मान (x) के 2D लाइन या स्कैटर प्लॉट्स
plt.plot(x, y, color='green', marker='o', 
         markersize=12, linestyle='dashed', 
         linewidth=2)
  • x में डेटा को बिन करने और हर बिन में मानों की गिनती के लिए हिस्टोग्राम
plt.hist(x, 50, density=True, 
         facecolor='g', alpha=0.75)
Python में Discrete Event Simulation

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

Python में Discrete Event Simulation

Preparing Video For Download...