مقارنة برامج التحسين

بالنظر إلى نظام يحوّل مجموعة من المدخلات إلى قيم مخرجات، موصوفة بدالة رياضية f ، فإن التحسين يشير إلى توليد واختيار الحل الأمثل من بين مجموعة من البدائل المتاحة، [ 1 ] وذلك عن طريق اختيار قيم المدخلات بشكل منهجي من ضمن مجموعة مسموح بها، وحساب قيمة الدالة، وتسجيل أفضل قيمة تم التوصل إليها خلال العملية. يمكن نمذجة العديد من المشكلات الواقعية والنظرية ضمن هذا الإطار العام. على سبيل المثال، يمكن أن تكون المدخلات هي معايير تصميم محرك، بينما يكون الناتج هو استهلاك الطاقة. يمكن أن تكون مدخلات أخرى هي خيارات تجارية، ويكون الناتج هو الربح المُحقق، أو وصفًا لتكوين نظام فيزيائي، ويكون الناتج هو طاقته.

يمكن تمثيل مسألة التحسين بالطريقة التالية

معطى : دالة f  : A{\displaystyle \to }R من مجموعة ما 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، VB68.13 / نوفمبر 2021نعمنعمتجاري، أكاديمي، مجتمعي، تجريبيمجموعة متكاملة من تقنيات وحلول التحسين. تشمل: تقنيات الحلول، بما في ذلك البرمجة الخطية (البسيطة والحاجزة)، والبرمجة الخطية المختلطة، والبرمجة الخطية المختلطة التربيعية، والبرمجة الخطية المختلطة التربيعية المترافقة، والبرمجة الخطية المختلطة التربيعية المترافقة، والبرمجة الخطية المختلطة التربيعية، والبرمجة الخطية المختلطة التربيعية، والبرمجة الخطية المختلطة التربيعية، والبرمجة الخطية الطبيعية (البرمجة الخطية البسيطة والنقطة الداخلية)؛ لغة نمذجة جبرية ولغة برمجة إجرائية؛ بيئة تطوير متكاملة؛ دعم لمجموعة من خدمات التنفيذ؛ دعم لتغليف نماذج وخدمات التحسين كحلول برمجية
جيكوبايثون0.2.8 / أغسطس 2020نعمنعممزدوج (تجاري، أكاديمي)GEKKO هي حزمة برمجية بلغة بايثون تُستخدم في التعلم الآلي وتحسين المعادلات الجبرية التفاضلية والتكاملية. وهي مُدمجة مع خوارزميات حل واسعة النطاق للمعادلات الخطية والتربيعية وغير الخطية والبرمجة التكاملية المختلطة (LP، QP، NLP، MILP، MINLP). تشمل أنماط التشغيل انحدار المعاملات، ومطابقة البيانات، والتحسين في الوقت الحقيقي، والمحاكاة الديناميكية، والتحكم التنبؤي غير الخطي.
مجموعة أدوات البرمجة الخطية GNUج4.52 / يوليو 2013نعملارخصة جنو العموميةمكتبة مجانية للبرمجة الخطية (LP) والبرمجة الخطية المختلطة (MIP).
مكتبة جنو العلميةج1.16 / يوليو 2013نعملارخصة جنو العموميةمكتبة مجانية مقدمة من مشروع جنو.
المكتبات الرقمية IMSLسي، جافا، سي شارب، فورتران، بايثونالعديد من المكوناتلانعمملكية خاصة
LIONsolverلغة C++، لغة Java2.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نعمنعمبي إس ديمكتبة عامة للأغراض العددية والعلمية للحوسبة بلغة بايثون.

انظر أيضاً

مراجع

  1. " طبيعة البرمجة الرياضية "، مسرد البرمجة الرياضية ، جمعية الحوسبة INFORMS.
  2. ^ باتيتي، روبرتو. ماورو بروناتو؛ فرانكو ماشيا (2008). البحث التفاعلي والتحسين الذكي . سبرينغر فيرلاج . رقم ISBN 978-0-387-09623-0.
  3. "إطلاق الإصدار 15 من Wolfram Language & Mathematica: ذكاء اصطناعي مدمج (مفيد) والعديد من الوظائف الأساسية الجديدة" . تم الاطلاع عليه بتاريخ 16-06-2026 .