عملة معدنية أو

مشروع البنية التحتية الحاسوبية لبحوث العمليات ( COIN-OR ) يهدف إلى توفير ما يُشبه " الأدبيات المفتوحة" لنظرية الرياضيات، ولكن لبرمجيات الرياضيات . تُتيح الأدبيات المفتوحة (مثل المجلات البحثية) لمجتمع بحوث العمليات عملية مراجعة من قِبل النظراء وأرشيفًا. غالبًا ما تتضمن الأبحاث المنشورة في مجلات بحوث العمليات حول نظرية الرياضيات نتائج عددية داعمة من دراسات حاسوبية. لكن عادةً لا تُنشر تطبيقات البرمجيات والنماذج والبيانات المستخدمة لإنتاج هذه النتائج العددية. وقد أعاق هذا الوضع الراهن الباحثين الذين يحتاجون إلى إعادة إنتاج النتائج الحاسوبية، وإجراء مقارنات عادلة، وتطوير أحدث ما توصل إليه العلم في هذا المجال.

ساهم نجاح لينكس وأباتشي ومشاريع أخرى في نشر نموذج المصادر المفتوحة لتطوير البرمجيات وتوزيعها. اقترح فريق في قسم الأبحاث بشركة آي بي إم المصادر المفتوحة كوسيلة مماثلة وفعّالة لنشر البرمجيات والنماذج والبيانات. وقد صُممت مبادرة COIN-OR لتعزيز المصادر المفتوحة في مجتمع بحوث العمليات الحاسوبية، وتوفير الموارد الإلكترونية وخدمات الاستضافة اللازمة لتمكين الآخرين من تشغيل مشاريعهم الخاصة في مجال البرمجيات مفتوحة المصدر .

أُطلق موقع COIN-OR الإلكتروني كتجربة في عام 2000، بالتزامن مع الندوة الدولية السابعة عشرة لبرمجة الرياضيات في أتلانتا، جورجيا. في عام 2007، ضمّ COIN-OR خمسة وعشرين مشروعًا تطبيقيًا، [ 1 ] بما في ذلك أدوات للبرمجة الخطية (مثل COIN-OR CLPوالبرمجة غير الخطية (مثل IPOPTوالبرمجة العددية الصحيحة (مثل CBC وBcp و COIN-OR SYMPHONYولغات النمذجة الجبرية (مثل Coopr )، وغيرها. وبحلول عام 2011، ارتفع هذا العدد إلى ثمانية وأربعين مشروعًا. [ 2 ] يستضيف موقع COIN-OR معهد بحوث العمليات وعلوم الإدارة ( INFORMS) ، وتديره مؤسسة COIN-OR التعليمية غير الربحية.

المشاريع

CLP

COIN-OR LP (CLP أو Clp) هو برنامج مفتوح المصدر لحل مسائل البرمجة الخطية، مكتوب بلغة C++ . يُنشر البرنامج بموجب رخصة Common Public License ، مما يسمح باستخدامه في البرامج الاحتكارية دون الحاجة إلى المساهمة في تطويره، كما هو الحال مع رخصة GNU العامة . صُمم CLP في الأساس ليكون مكتبة قابلة للاستدعاء، مع إمكانية إنشاء نسخة تنفيذية مستقلة. يتميز البرنامج بموثوقية عالية تضاهي أي برنامج تجاري لحل مسائل البرمجة الخطية، وإن كان أبطأ منه بعدة مرات [ 3 كما أنه قادر على معالجة مسائل بالغة التعقيد.

تم تصميم CLP لحل مشاكل البرمجة الخطية مثل  :

تقليلج1x1+ج2x2{\displaystyle c_{1}x_{1}+c_{2}x_{2}\,}
  • مع مراعاة قيود المشكلة بالشكل التالي
أ11x1+أ12x2ب1{\displaystyle a_{11}x_{1}+a_{12}x_{2}\leq b_{1}}
أ21x1+أ22x2ب2{\displaystyle a_{21}x_{1}+a_{22}x_{2}\leq b_{2}}
أ31x1+أ32x2ب3{\displaystyle a_{31}x_{1}+a_{32}x_{2}\leq b_{3}}
  • والمتغيرات غير السالبة
x10{\displaystyle x_{1}\geq 0}
x20{\displaystyle x_{2}\geq 0}

مع ما يصل إلى ملايين المتغيرات و/أو القيود. خوارزميتها الرئيسية هي خوارزمية سيمبلكس .

يتم استخدام CLP في مشاريع COIN-OR الأخرى مثل SYMPHONY وBranch Cut and Price (BCP) وCOIN-OR Branch and Cut ( CBC ) وغيرها.

سي بي سي

برنامج COIN-OR branch and cut (CBC أو Cbc) هو برنامج مفتوح المصدر لحل مسائل البرمجة الخطية المختلطة، مكتوب بلغة C++ . يمكن استخدامه كملف تنفيذي مستقل أو كمكتبة قابلة للاستدعاء (عبر لغة البرمجة الرياضية AMPL [ أصليًا]، أو نظام النمذجة الجبرية العامة GAMS [باستخدام الروابط التي توفرها مشاريع COIN-OR Optimization Services (OS) و GAMSlinks ]، أو MPL [عبر مشروع CoinMP ]، أو AIMMS [عبر مشروع AIMMSlinks ] ، أو PuLP ، أو CMPL، أو OpenSolver for Excel ، أو JuMP ، أو MiniZinc ) . على الرغم من أنه كان خيارًا شائعًا لحل مسائل البرمجة الخطية المختلطة مفتوحة المصدر لسنوات عديدة، إلا أن أداءه الآن أقل بكثير من برنامج HiGHS .

سمفونية

يُعدّ برنامج SYMPHONY ( تحسين العمليات الفردية أو المتعددة عبر الشبكات ) إطار عمل مفتوح المصدر يعتمد على أسلوب التفرع والقطع لحلّ برامج الأعداد الصحيحة المختلطة (MIPs) على الشبكات غير المتجانسة. [ 9 ] ويمكنه استخدام برامج CLP أو CPLEX أو XPRESS أو غيرها من برامج حلّ البرمجة الخطية لحلّ البرامج الخطية الأساسية.

SYMPHONY هي مكتبة قابلة للاستدعاء تُنفذ نسختين، متسلسلة ومتوازية، من خوارزمية التفرع والقطع والتسعير لحل مسائل البرمجة الخطية المختلطة (MILP). تُشبه خوارزمية التفرع والقطع والتسعير خوارزمية التفرع والتقييد، ولكنها تتضمن بالإضافة إلى ذلك طرقًا لمستويات القطع وخوارزميات التسعير. يُمكن لمستخدم المكتبة تخصيص الخوارزمية بعدة طرق، وذلك بتوفير إجراءات فرعية خاصة بالتطبيق لقراءة ملفات بيانات مُخصصة، أو إنشاء مستويات قطع خاصة بالتطبيق، أو تطبيق قواعد تفرع مُخصصة، مما ينتج عنه خوارزمية تفرع وقطع مُخصصة. معظم مكونات الخوارزمية، مثل إدارة شجرة البحث، وإدارة حل البرمجة الخطية، وإدارة مجمع القطع، وإدارة الاتصال، داخلية في المكتبة ولا يحتاج المستخدم إلى تعديلها. يُمكن بناء الملفات التنفيذية بأي عدد من التكوينات، بدءًا من التسلسلية الكاملة وصولًا إلى التوازي الكامل مع مولدات قطع ومجموعات قطع وحلول برمجة خطية تعمل بشكل مستقل. يعمل الإصدار الموزع حاليًا في أي بيئة يدعمها بروتوكول تمرير الرسائل PVM . كما يُمكن تجميع نفس شفرة المصدر لبنى الذاكرة المشتركة باستخدام أي مُجمِّع متوافق مع OpenMP .

يقرأ برنامج SYMPHONY ملفات MPS (عبر قارئ COIN-OR MPS) وملفات GNU MathProg . لا يمتلك SYMPHONY محللًا خاصًا به للمسائل الخطية، ولكنه يُمكن استخدامه مع محللات مثل Clp وCplex وXpress عبر واجهة Osi. يتم توليد المقاطع باستخدام مكتبة توليد المقاطع الخاصة بـ COIN: CGL. كما يحتوي SYMPHONY على تطبيقات خاصة بالبنية لمسائل مثل مسألة البائع المتجول ، ومسألة توجيه المركبات ، ومسألة تقسيم المجموعات ، ومسألة ساعي البريد المختلطة ، وغيرها. يحتوي SYMPHONY أيضًا على واجهة تفاعلية حيث يُمكن للمستخدم إدخال الأوامر لتنفيذ البرنامج والتحكم فيه.

PuLP

PuLP هو برنامج لنمذجة البرمجة الخطية/البرمجة التفاضلية مكتوب بلغة بايثون . [ 10 ] يمكنه إنشاء ملفات MPS أو LP واستدعاء GLPK و CLP / CBC و CPLEX لحل المسائل الخطية. يُعد PuLP أداة التحسين الافتراضية في SolverStudio لبرنامج Excel .

SMI

SMI هو برنامج لنمذجة وحلّ مسائل البرمجة العشوائية مكتوب بلغة C++. [ 11 ] يستطيع قراءة برامج البرمجة العشوائية متعددة السلاسل (Stochastic MPS) ويوفر واجهات مباشرة لإنشاء هذه البرامج. يقوم البرنامج بتوليد البرنامج الخطي المكافئ الحتمي، وحلّه، كما يوفر واجهات للوصول إلى حلول السيناريوهات.

RBFOpt

RBFOpt هو برنامج مفتوح المصدر لحل مسائل البرمجة غير الخطية المختلطة (MINLP)، مكتوب بلغة بايثون وموزع بموجب ترخيص BSD المعدل. يستخدم RBFOpt استراتيجية نموذج بديل قائم على دوال الأساس الشعاعي لتقليل دوال الهدف المعقدة ذات الصندوق الأسود. يحل البرنامج مسائل MINLP التي تتضمن مزيجًا من المتغيرات المستمرة والصحيحة والفئوية الخاضعة لقيود الصندوق. لا يدعم البرنامج القيود الخطية أو غير الخطية العامة.

يتمتع هذا البرنامج بتاريخ تطوير طويل، ولا يزال يُطوّر بنشاط على منصة GitHub. عند حلّ المسائل التي تتضمن متغيرات عددية صحيحة، يحتاج إلى برنامج خارجي لحلّ مسائل البرمجة غير الخطية المختلطة (MINLP) بسلاسة. يمكن استخدام برنامجي Bonmin وIpopt مفتوحي المصدر.

انظر أيضاً

مراجع

  1. "التقرير السنوي لشركة COIN-OR، 2007" (ملف PDF) . مؤرشف (ملف PDF) من الأصل بتاريخ 15 مايو 2008. تم الاطلاع عليه بتاريخ 28 مارس 2008 .
  2. "التقرير السنوي لشركة COIN-OR، 2011" (ملف PDF) . مؤرشف (ملف PDF) من الأصل بتاريخ 29 أبريل 2016. تم الاطلاع عليه بتاريخ 5 يوليو 2016 .
  3. "معيار أداء خوارزميات حل مسائل البرمجة الخطية البسيطة" . مؤرشف من الأصل بتاريخ 11-11-2021 . تم الاطلاع عليه بتاريخ 11-11-2021 .
  4. coin-or/Cmpl ، مؤسسة COIN-OR، 2024-01-20، مؤرشف من الأصل في 2024-04-13 ، تم استرجاعه في 2024-06-20
  5. "OpenSolver for Excel – أداة حل المعادلات الأمثلية مفتوحة المصدر لبرنامج Excel" . opensolver.org . مؤرشف من الأصل بتاريخ 10 يونيو 2024. تم الاطلاع عليه بتاريخ 20 يونيو 2024 .
  6. jump-dev/JuMP.jl ، JuMP-dev، 19-06-2024، مؤرشف من الأصل في 15-05-2024 ، تم استرجاعه في 20-06-2024
  7. "HiGHS - برنامج عالي الأداء لتحسين المعادلات الخطية المتوازية" . www.highs.dev . مؤرشف من الأصل بتاريخ 17-06-2024 . تم الاطلاع عليه بتاريخ 20-06-2024 .
  8. "مجموعة بيانات MIPLIB2017 المعيارية" . مؤرشفة من الأصل بتاريخ 30 أكتوبر 2021. تم الاطلاع عليها بتاريخ 11 نوفمبر 2021 .
  9. "سيمفونية" . مؤرشف من الأصل بتاريخ 28-02-2014 . تم الاطلاع عليه بتاريخ 14-11-2013 .
  10. "PuLP" . مؤرشف من الأصل بتاريخ 20-12-2013 . تم الاطلاع عليه بتاريخ 14-11-2013 .
  11. "SMI" . مؤرشف من الأصل بتاريخ 15-10-2014 . تم الاطلاع عليه بتاريخ 03-01-2014 .

للمزيد من القراءة