مقارنة برامج التحسين
بالنظر إلى نظام يحوّل مجموعة من المدخلات إلى قيم مخرجات، موصوفة بدالة رياضية f ، فإن التحسين يشير إلى توليد واختيار الحل الأمثل من بين مجموعة من البدائل المتاحة، [ 1 ] وذلك عن طريق اختيار قيم المدخلات بشكل منهجي من ضمن مجموعة مسموح بها، وحساب قيمة الدالة، وتسجيل أفضل قيمة تم التوصل إليها خلال العملية. يمكن نمذجة العديد من المشكلات الواقعية والنظرية ضمن هذا الإطار العام. على سبيل المثال، يمكن أن تكون المدخلات هي معايير تصميم محرك، بينما يكون الناتج هو استهلاك الطاقة. يمكن أن تكون مدخلات أخرى هي خيارات تجارية، ويكون الناتج هو الربح المُحقق، أو وصفًا لتكوين نظام فيزيائي، ويكون الناتج هو طاقته.
يمكن تمثيل مسألة التحسين بالطريقة التالية
- معطى : دالة f : AR من مجموعة ما A إلى الأعداد الحقيقية
- ابحث عن: عنصر x 0 في A بحيث يكون f ( x 0 ) ≤ f ( x ) لجميع x في A ("التقليل").
عادةً، تكون A مجموعة جزئية من الفضاء الإقليدي Rⁿ ، وغالبًا ما تُحدد بمجموعة من القيود أو المعادلات أو المتباينات التي يجب أن تحققها عناصر A. ويمكن اختزال عملية التعظيم إلى عملية تصغير بضرب الدالة في سالب واحد.
يتطلب استخدام برامج التحسين تعريف الدالة f بلغة برمجة مناسبة وربطها ببرنامج التحسين. يُقدّم برنامج التحسين قيم الإدخال في المصفوفة A ، بينما يُقدّم البرنامج الذي يُنفّذ f القيمة المحسوبة f ( x ). وبهذه الطريقة، يتم فصل المهام بوضوح: إذ يُمكن اختبار وحدات برامج التحسين المختلفة بسهولة على نفس الدالة f ، أو يُمكن استخدام برنامج تحسين مُحدد لدوال مختلفة f .
توفر الجداول التالية مقارنة بين مكتبات برامج التحسين البارزة، سواء كانت مكتبات متخصصة أو مكتبات عامة الأغراض ذات تغطية تحسين كبيرة.
| اسم | لغة البرمجة | أحدث إصدار مستقر | الاستخدام الأكاديمي/غير التجاري مجاني | يمكن استخدامه في التطبيقات الخاصة | رخصة | ملحوظات |
|---|---|---|---|---|---|---|
| ALGLIB | سي++، سي#، بايثون، فري باسكال | 3.19.0 / يونيو 2022 | نعم | نعم | مزدوج (تجاري، رخصة جنو العمومية) | مكتبة للأغراض العامة، تتضمن حزمة التحسين: البرمجة الخطية، والبرمجة التربيعية، والبرمجة غير الخطية. |
| AMPL | سي، سي++، سي#، بايثون، جافا، ماتلاب، آر | أكتوبر 2018 | نعم | نعم | مزدوج (تجاري، أكاديمي) | لغة نمذجة جبرية شائعة الاستخدام في التحسين الخطي، والتحسين المختلط، والتحسين غير الخطي. تتوفر نسخ الطلاب وAMPL للدورات التدريبية مجانًا. |
| APMonitor | فورتران، سي++، بايثون، ماتلاب، جوليا | 0.6.2 / مارس 2016 | نعم | نعم | مزدوج (تجاري، أكاديمي) | لغة نمذجة تفاضلية وجبرية لتحسين الدوال المختلطة الصحيحة وغير الخطية. واجهات متاحة مجاناً لبرامج Matlab وPython وJulia. |
| أرتليس نيترو | سي، سي++، سي#، بايثون، جافا، جوليا، ماتلاب، آر | 11.1 / نوفمبر 2018 | لا | نعم | تجاري، أكاديمي، تجريبي | مكتبة عامة الأغراض، متخصصة في التحسين غير الخطي. تعالج مسائل الأعداد الصحيحة المختلطة (MINLP) والبرامج الرياضية ذات قيود التوازن ( MPEC ). خوارزميات متخصصة لمسائل المربعات الصغرى غير الخطية. |
| مجمع | سي، سي++، جافا، سي#، بايثون، آر | 20.1 / ديسمبر 2020 | نعم | نعم | تجاري، أكاديمي، تجريبي | IBM CPLEX Optimization Studio عبارة عن مجموعة من محركات التحسين (CPLEX للبرمجة الرياضية، وCP Optimizer لبرمجة القيود)، ولغة نمذجة (OPL)، وبيئة تطوير متكاملة. |
| فيكو إكسبريس | موسيل، BCL، C، C++، جافا، R، بايثون، ماتلاب، .Net، VB6 | 8.13 / نوفمبر 2021 | نعم | نعم | تجاري، أكاديمي، مجتمعي، تجريبي | مجموعة متكاملة من تقنيات وحلول التحسين. تشمل: تقنيات الحلول، بما في ذلك البرمجة الخطية (البسيطة والحاجزة)، والبرمجة الخطية المختلطة، والبرمجة الخطية المختلطة التربيعية، والبرمجة الخطية المختلطة التربيعية المترافقة، والبرمجة الخطية المختلطة التربيعية المترافقة، والبرمجة الخطية المختلطة التربيعية، والبرمجة الخطية المختلطة التربيعية، والبرمجة الخطية المختلطة التربيعية، والبرمجة الخطية الطبيعية (البرمجة الخطية البسيطة والنقطة الداخلية)؛ لغة نمذجة جبرية ولغة برمجة إجرائية؛ بيئة تطوير متكاملة؛ دعم لمجموعة من خدمات التنفيذ؛ دعم لتغليف نماذج وخدمات التحسين كحلول برمجية |
| جيكو | بايثون | 0.2.8 / أغسطس 2020 | نعم | نعم | مزدوج (تجاري، أكاديمي) | GEKKO هي حزمة برمجية بلغة بايثون تُستخدم في التعلم الآلي وتحسين المعادلات الجبرية التفاضلية والتكاملية. وهي مُدمجة مع خوارزميات حل واسعة النطاق للمعادلات الخطية والتربيعية وغير الخطية والبرمجة التكاملية المختلطة (LP، QP، NLP، MILP، MINLP). تشمل أنماط التشغيل انحدار المعاملات، ومطابقة البيانات، والتحسين في الوقت الحقيقي، والمحاكاة الديناميكية، والتحكم التنبؤي غير الخطي. |
| مجموعة أدوات البرمجة الخطية GNU | ج | 4.52 / يوليو 2013 | نعم | لا | رخصة جنو العمومية | مكتبة مجانية للبرمجة الخطية (LP) والبرمجة الخطية المختلطة (MIP). |
| مكتبة جنو العلمية | ج | 1.16 / يوليو 2013 | نعم | لا | رخصة جنو العمومية | مكتبة مجانية مقدمة من مشروع جنو. |
| المكتبات الرقمية IMSL | سي، جافا، سي شارب، فورتران، بايثون | العديد من المكونات | لا | نعم | ملكية خاصة | |
| LIONsolver | لغة C++، لغة Java | 2.0.198 / أكتوبر 2011 | نعم | نعم | ملكية خاصة | دعم لتحسين التفاعل والتعلم، وفقًا لمبادئ RSO. [ 2 ] |
| مكتبة نواة الرياضيات (MKL) | لغة C++، لغة فورتران | 11.1 / أكتوبر 2013 | لا | نعم | ملكية خاصة | مكتبة عددية من إنتل. تتخصص MKL في الجبر الخطي، ولكنها تحتوي على بعض الوظائف المتعلقة بالتحسين. |
| وولفرام ماثيماتيكا | لغة C++، لغة وولفرام | 15.0.0 ( 16 يونيو 2026 ( 2026-06-16 ) ) [ ± ] [ 3 ] | لا | نعم | ملكية خاصة | التحسين غير الخطي المقيد، وطرق النقطة الداخلية، والتحسين المحدب، والبرمجة العددية الصحيحة - بالإضافة إلى الطرق الرمزية الأصلية المدمجة مع القدرات الحسابية العامة. |
| ميداكو | سي++، سي#، بايثون، ماتلاب، أوكتاف، فورتران، آر، جافا، إكسل، في بي إيه، جوليا | 6.0 / مارس 2018 | نعم | نعم | مزدوج (تجاري، أكاديمي) | أداة برمجية خفيفة الوزن لتحسين الأهداف الفردية والمتعددة. تدعم البرمجة غير الخطية المختلطة (MINLP) والتوازي. |
| مكتبات NAG الرقمية | لغة سي، لغة فورتران | مارك ٢٦ / أكتوبر ٢٠١٧ | لا | نعم | ملكية خاصة | |
| NMath | سي شارب | 5.3 / مايو 2013 | لا | نعم | ملكية خاصة | مكتبة حسابية بلغة C# مبنية على أساس MKL. |
| محرك الأوكتيراكت | سي++/بايثون | 0.11.29 / نوفمبر 2019 | لا | نعم | تجاري | حلّ حتمي عالمي فائق الحوسبة لمشاكل البرمجة غير الخطية المختلطة العامة. يستخدم محرك Octeract بروتوكول MPI للحسابات الموزعة. |
| أوبتا بلانر | جافا | 8.0.0.Final / نوفمبر 2020 | نعم | نعم | لغة الإشارة الأمريكية (مفتوحة المصدر) | أداة حل التحسين خفيفة الوزن مكتوبة بلغة جافا، مع وحدات تكامل اختيارية لـ JPA-Hibernate و Quarkus و Spring و Jackson و JAXB وما إلى ذلك. تعمل أيضًا على Kotlin و Scala. |
| SciPy | بايثون | 0.13.1 / نوفمبر 2013 | نعم | نعم | بي إس دي | مكتبة عامة للأغراض العددية والعلمية للحوسبة بلغة بايثون. |
انظر أيضاً
مراجع
- ↑ " طبيعة البرمجة الرياضية "، مسرد البرمجة الرياضية ، جمعية الحوسبة INFORMS.
- ^ باتيتي، روبرتو. ماورو بروناتو؛ فرانكو ماشيا (2008). البحث التفاعلي والتحسين الذكي . سبرينغر فيرلاج . رقم ISBN 978-0-387-09623-0.
- ↑ "إطلاق الإصدار 15 من Wolfram Language & Mathematica: ذكاء اصطناعي مدمج (مفيد) والعديد من الوظائف الأساسية الجديدة" . تم الاطلاع عليه بتاريخ 16-06-2026 .
روابط خارجية
- البرامج الرقمية
- مقارنات البرامج
