بيومو

بيومو عبارة عن مجموعة من حزم برامج بايثون لصياغة نماذج التحسين. [ 1 ] [ 2 ]

طُوِّر برنامج Pyomo على يد ويليام هارت وجان بول واتسون في مختبرات سانديا الوطنية، وديفيد وودروف في جامعة كاليفورنيا، ديفيس . وقد طُوِّرت إضافاتٌ هامةٌ لبرنامج Pyomo على يد بيثاني نيكلسون وجون سيرولا في مختبرات سانديا الوطنية ، وكارل ليرد في جامعة بيردو ، وغابرييل هاكيبيل. Pyomo مشروعٌ مفتوح المصدر ومتاحٌ مجانًا، وهو مرخصٌ بموجب رخصة BSD . يُطوَّر Pyomo كجزءٍ من مشروع COIN-OR . يُعد Pyomo حزمة برمجية مفتوحة المصدر شائعة الاستخدام لدى العديد من الوكالات الحكومية والمؤسسات الأكاديمية.

سمات

يُمكّن Pyomo المستخدمين من صياغة مسائل التحسين في بايثون بطريقة مشابهة للترميز الشائع في التحسين الرياضي. يدعم Pyomo أسلوبًا كائني التوجه لصياغة نماذج التحسين، والتي تُعرَّف بمجموعة متنوعة من مكونات النمذجة: المجموعات، والمعاملات العددية ومتعددة الأبعاد، ومتغيرات القرار، والأهداف، والقيود، والمعادلات، والفصل، وغيرها. يمكن تهيئة نماذج التحسين ببيانات بايثون، كما يمكن تعريف مصادر البيانات الخارجية باستخدام جداول البيانات ، وقواعد البيانات ، وأنواع مختلفة من ملفات النصوص. يدعم Pyomo كلاً من النماذج المجردة، التي تُعرَّف بدون بيانات، والنماذج الملموسة، التي تُعرَّف مع بيانات. في كلتا الحالتين، يسمح Pyomo بفصل النموذج عن البيانات.

يدعم Pyomo عشرات من برامج حل المعادلات ، مفتوحة المصدر وتجارية، بما في ذلك العديد من البرامج المدعومة من AMPL وPICO و CBC و CPLEX و IPOPT و GLPK . يمكن لـ Pyomo استدعاء برنامج الحل مباشرةً أو بشكل غير متزامن عبر مدير برامج الحل. يدعم مديرو برامج الحل التنفيذ غير المتزامن عن بُعد، مما يتيح التنفيذ المتوازي لبرامج Pyomo النصية. يتم التفاعل مع برامج الحل عبر مجموعة متنوعة من واجهات المستخدم، وذلك حسب برنامج الحل المستخدم. يدعم Pyomo واجهة عامة جدًا لبرامج الحل باستخدام تنسيق nl الخاص بـ AMPL .

تتضمن حزم البرامج التالية مكتبة Pyomo لدعم نمذجة وتحليل التحسين:

  • يتيح لك برنامج SolverStudio استخدام Excel لتحرير وحفظ وحل نماذج التحسين المبنية باستخدام مجموعة متنوعة من لغات النمذجة، بما في ذلك Pyomo. [ 3 ] يتم تضمين Pyomo مع برنامج SolverStudio .
  • TEMOA (أدوات لتحسين وتقييم نماذج الطاقة) هو إطار عمل مفتوح المصدر لنمذجة وتحليل أنظمة الطاقة. [ 4 ] المكون الأساسي لـ TEMOA هو نموذج لتحسين اقتصاد الطاقة. يتم صياغة هذا النموذج وتحسينه باستخدام Pyomo.
  • MinPower هي مجموعة أدوات مفتوحة المصدر للطلاب والباحثين في مجال أنظمة الطاقة. صُممت لتسهيل العمل مع نماذج أنظمة الطاقة القياسية وجعله بديهيًا. [ 5 ] تستخدم MinPower برنامج Pyomo لصياغة هذه النماذج وتحسينها.
  • مشروع linopy ، الذي يقدم وظائف مشابهة لـ Pyomo. [ 6 ]

انظر أيضاً

مراجع

  1. ويليام إي. هارت؛ كارل د. ليرد؛ جان بول واتسون؛ ديفيد ل. وودروف؛ غابرييل أ. هاكيبيل؛ بيثاني ل. نيكلسون؛ جون د. سيرولا (2017). بيومو - نمذجة التحسين في بايثون . سبرينغر. ISBN 978-3-319-58821-6.
  2. هارت، ويليام؛ جان بول واتسون؛ ديفيد ل. وودروف (2011). "بيومو: نمذجة وحل البرامج الرياضية في بايثون" . الحوسبة والبرمجة الرياضية . المجلد 3، العدد 3. doi : 10.1007/s12532-011-0026-8 .  
  3. ماسون، أندرو (2013). "SolverStudio: أداة جديدة لتحسين التحسين ونمذجة المحاكاة في Excel". معاملات INFORMS في التعليم . المجلد 14، العدد 1. الصفحات 45-52 . doi : 10.1287/ited.2013.0112 .   
  4. ديكاروليس، جوزيف؛ كيفن هنتر؛ سارات سريباثي (2010). مشروع TEMOA: أدوات لتحسين وتحليل نماذج الطاقة (ملف PDF) . ورشة العمل الدولية للطاقة. ستوكهولم، السويد.
  5. غرينهال، آدم؛ ريتش كريستي؛ جان بول واتسون (2012). مينباور: مجموعة أدوات لتحسين أنظمة الطاقة (ملف PDF) . الاجتماع العام لجمعية الطاقة والكهرباء.
  6. "linopy: التحسين الخطي باستخدام متغيرات مصنفة ND" . PyPSA . تم الاسترجاع في 22-02-2022 .