محاكاة بايثون: ما هو SimPy ، المتطلبات الأساسية ، كيفية تشغيل عمليات المحاكاة

نشرت: 2020-06-16

يعمل العالم الحقيقي في أجزاء مختلفة من الأنظمة ، سواء كان ذلك من منظور البنية التحتية أو التكنولوجي. بمساعدة محاكاة Python ، تحتاج هذه الأنظمة إلى التحسين من خلال نماذج مدعومة بإطار SimPy. تم تطوير النماذج بمساعدة الاقتراب من أنظمة الحياة الواقعية للتنبؤ بإنشاء نظام معقد ، وبالتالي حلها من خلال خوارزميات خطوة بخطوة.

عندما يتعلق الأمر بالمؤسسات الكبيرة ، يصبح تحليل النظام أمرًا بالغ الأهمية لتصحيحه وجعله قويًا. خاصة بالنسبة لخدمات الطوارئ مثل الرعاية الصحية وإدارة المطارات ، هناك حاجة لمراقبة أنشطة الأفراد في جميع الأوقات والاستعداد للتعامل مع المواقف الصعبة. يمكن أن يكون هذا ممكنًا فقط من خلال اشتقاق رؤى من نماذج محاكاة بايثون.

جدول المحتويات

ما هو SimPy؟

يرمز SimPy إلى مكتبة محاكاة حدث خاص ومفتوحة المصدر ومفتوحة المصدر وقائمة على الأساليب ، ويفضلها المؤسسات التي تتعامل مع إدارة الموارد على مدار الساعة مثل الركاب والمرضى والمركبات والأصول. غالبًا ما تأتي هذه الأنظمة مع قيود أو قدرات قلب مثل عدادات الخروج وحفلات الاستقبال والطرق السريعة.

بصرف النظر عن هذه الخدمات ، يساعد SimPy أيضًا في إنشاء تحليلات عامة بمساعدة المتغيرات العشوائية في Python. تمت كتابة SimPy بالكامل بلغة Python ، ويمكن تشغيله في العديد من البيئات مثل Java Virtual Machine أو .NET.

فيما يلي مثال على مقتطف محاكاة في SimPy:

env = simpy.Environment ()

env.process (checkpoint_run (env، num_booths، check_time، traffic_arrival))

env.run (حتى = 10)

نظرًا لأنه يتم تعيين البيئة والمعلمات قبل تشغيل الكود ، فقد تحتاج إلى تحديد المتغيرات على النحو التالي:

  • env: يشير إلى الحالة التي تكون فيها المحاكاة ضرورية لتشغيل وتحليل الأحداث.
  • num_booths: العدد الإجمالي للأكشاك المجهزة بالتحقق من الهوية.
  • check_time: فترة التحقق من هوية كل راكب.
  • الركاب_arrival: عدد مرات انتظار الركاب في الطابور.

يرجى تذكر أنه يمكن تغيير هذه المتغيرات عند الاقتضاء لجمع بيانات كافية تستند إلى الواقع.

الآن بعد أن عرفت ما الذي يدخل في صياغة محاكاة ، إليك الخطوات التي قد تجدها مفيدة أثناء كتابة رمز لأحداث مماثلة:

الخطوة الأولى: تحديد البيئة.

الخطوة الثانية: ضع المعايير المعنية.

الخطوة الثالثة: تنفيذ المحاكاة.

في الوقت الحالي ، هذه الخطوات كافية للبدء بها قبل أن نتحرك للنظر عن كثب في العمليات الأخرى المعنية.

قراءة المزيد: دليل وحدة طلبات Python: كيفية استخدام مكتبة الطلبات في Python؟

المتطلبات الأساسية قبل أن تبدأ SimPy

قبل البدء مع SimPy ، ستحتاج إلى فهم عميق لأساسيات Python والفصول والمولدات. يمكن تعريف المولدات على أنها دالة بايثون منفصلة تقوم بإرجاع كائن في التكرار ، والذي يتم ربطه بجسم الوظيفة ، بالإضافة إلى متغيراتها المحلية في بداية الوظيفة. وبسبب هذا المكرر ، تساعد الوظيفة في تنفيذ بيان العائد ، وتوليد نتيجة التعبير المحدد.

بيانات العائد هي الأدوات التي تساعد في إعداد الجدول الزمني أو العملية لأي حدث. يمكن أن يكون الحدث بمثابة إطلاق ذاتي (مثل حتى مغادرة السيارة التالية) أو طلب أو تحرير أي مورد مثل قناة. يتم تسمية هذه العبارات باسم:

  • طلب العائد: يتم استخدام هذا الحساب لأمر النظام بإضافته إلى قائمة انتظار لأي مورد ، واستخدامه على الفور.
  • عقد العائد: يستخدم هذا البيان بشكل عام لتسليط الضوء على أي وقت متضمن لتنفيذ خطوات مختلفة في طريقة ما.
  • العائد الخفي: يتم استخدام هذا البيان لإبقاء العملية في انتظار حتى يتم تشغيلها بواسطة أي وظيفة أخرى.
  • إصدار العائد: يتم استخدام هذا البيان في النظام لإبقائه محدثًا بمجرد اكتمال العملية ، وبالتالي بدء الخطوات التالية في الانتظار في الطابور.

الآن بعد أن أصبحت لديك فكرة عن عملية عمل النظام ، ستحتاج أيضًا إلى تثبيت الحزمة في طلبك مع إطار العمل الأولي الذي تم تعيينه على أنه SimPy. ستساعدك هذه الحزمة الأساسية على إنشاء نموذج المحاكاة بالكامل وإدارته وتنفيذه. بمساعدة بعض وحدات Python المدمجة ، يمكنك تجميع متوسط ​​وقت الانتظار ، وكذلك الحصول على أرقام عشوائية.

مولدات الأرقام العشوائية لها الوظائف التالية:

  1. تحديد الوحدة العشوائية.
  2. تمثيل المولد.
  3. اشتقاق متغير عشوائي: مثل رقم عشوائي من 10 إلى 40: ز. عشوائي()

تحقق من: راتب Python Developer في الهند

تعلم دورات علوم البيانات من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.

تشغيل محاكاة بايثون

بمجرد الانتهاء من الترميز ، يمكنك تنفيذ البرنامج بمساعدة بعض الفئات والوظائف البسيطة. تخيل نظام محاكاة لمسرح يتطلب فهم متوسط ​​وقت انتظار العملاء.

للتحسن مع SimPy ، كل ما عليك فعله هو تبادل الأفكار وإنشاء عمليات محاكاة في Python بمساعدة المعلمات والمولدات والوظائف والفئات. نظرًا لأن بيئة كل محاكاة تختلف من حالة إلى أخرى ، فإليك مراجعة سريعة للعمليات المعنية:

  • إعداد الخوارزمية الصحيحة لأي محاكاة
  • تكوين السيناريو في بايثون
  • تعيين الوظائف وتحديدها باستخدام جميع الموارد والأساليب المتضمنة
  • تحسين المعلمات في المحاكاة لتوليد نتائج قابلة للتنفيذ

اقرأ أيضًا: 42 فكرة مثيرة حول مشروع Python وموضوعات للمبتدئين

خاتمة

إذا كنت مهتمًا بالتعرف على Python وعلوم البيانات ، فراجع IIIT-B & upGrad's دبلوم PG في علوم البيانات الذي تم إنشاؤه للمهنيين العاملين ويقدم أكثر من 10 دراسات حالة ومشاريع ، وورش عمل عملية عملية ، وإرشاد مع خبراء الصناعة ، وجهاً لوجه مع مرشدين في هذا المجال ، وأكثر من 400 ساعة من التعلم والمساعدة في العمل مع الشركات الكبرى.

ما مدى فائدة SimPy في المحاكاة؟

SimPy هو إطار عمل لمحاكاة Python وهو عبارة عن إطار حدث منفصل قائم على العمليات. يتم تعريف العمليات في إطار عمل SimPy بواسطة وظائف مولد Python. يتم استخدامه لنمذجة المكونات النشطة ، مثل الوكلاء أو المركبات أو العملاء.

SimPy مفيد لجميع المؤسسات والمؤسسات التي تفضل التعامل مع إدارة الموارد على مدار الساعة مثل الأصول والمركبات والمرضى. غالبًا ما يُلاحظ أن هذه الأنظمة تمتلك قيودًا أو قدرات قلب ، مثل الطرق السريعة ، وحفلات الاستقبال ، وعدادات الخروج. يمكن إجراء عمليات المحاكاة بأقصى سرعة بناءً على وقت ساعة الحائط أو عن طريق اتخاذ الخطوات يدويًا في الأحداث.

بخلاف هذه الخدمات ، يساعد SimPy أيضًا المؤسسات في إنشاء تحليلات عامة باستخدام متغيرات عشوائية في Python. SimPy مكتوب بالكامل بلغة Python ، ويمكن تشغيله في بيئات مختلفة مثل .NET و Java Virtual Machine.

كيف تصنع محاكاة البيانات في بايثون؟

نحتاج عدة مرات إلى مجموعات بيانات لممارسة أو اختبار نماذج مختلفة من أجل إنشاء مجموعة بيانات محاكاة لأي نموذج باستخدام Python نفسها. يساعدنا هذا في إنشاء بيانات محاكاة للانحدار في بايثون.

الإجراء التدريجي لإنشاء بيانات محاكاة في Python للانحدار هو:

1. استيراد المكتبات - في هذه الخطوة ، يتم استيراد مجموعات البيانات والمكتبات من أجل الانحدار.
2. إنشاء البيانات المحاكاة - يمكن إنشاء مجموعات البيانات للانحدار عن طريق تمرير المعلمات المطلوبة للانحدار. سيتم الحصول على الناتج كمعامل مجموعة بيانات ، ومخرجات ، وميزة.
3. طباعة مجموعة البيانات - في الخطوة الأخيرة ، تتم طباعة مجموعة البيانات من مكونات مختلفة ، مثل المعامل والإخراج والميزة.

كم يكسب مطور Python في المتوسط؟

إذا كنت أحد مطوري Python ، فيمكنك توقع متوسط ​​راتب روبية. 500000 سنويا. ستعتمد الرواتب بالتأكيد كثيرًا على عدة عوامل أخرى مثل الموقع الجغرافي ومستوى الشركة والخبرة وغير ذلك الكثير. يمكنك توقع نطاق راتب روبية. 200000 روبية. 800000 سنويًا لدور مطور Python.