مكتبة التحسين الرياضي لجافا - توصيات مجانية أم مفتوحة المصدر؟[مغلق]

StackOverflow https://stackoverflow.com/questions/143020

سؤال

هل يعرف أحد مثل هذه المكتبة التي تقوم بالتحسين الرياضي (البرمجة الخطية، أو التحسين المحدب، أو أنواع أكثر عمومية من المشاكل)؟أنا أبحث عن شيء مثل MATLAB، ولكن مع القدرة على التعامل مع مشاكل أكبر.هل يجب علي كتابة تطبيقاتي الخاصة، أو شراء أحد هذه المنتجات التجارية (CPLEX وما شابه)؟

هل كانت مفيدة؟

المحلول

تعتمد الإجابة الجيدة على ما تعنيه بـ "محدب" و"أكثر عمومية". إذا كنت تحاول حل مشكلات التحسين الخطية أو المحدبة التربيعية الكبيرة أو الصعبة (خاصة مع مكون منفصل لها)، فمن الصعب التغلب على الحلول التجارية الرئيسية، جوروبي, com.cplex و اندفاع إلا إذا كان المال مشكلة كبيرة بالنسبة لك.تحتوي جميعها على واجهات JNI نظيفة ومتوفرة على معظم الأنظمة الأساسية الرئيسية.

ال عملة أو يحتوي المشروع على العديد من أدوات تحسين الأداء ولديه مشروع لواجهة JNI.إنه مجاني تمامًا (الدوري الإنجليزي الترخيص)، ولكن سيستغرق إعداده مزيدًا من العمل وربما لا يمنحك نفس الأداء.

نصائح أخرى

هناك أداة تحسين خطية تسمى lpsolve.إنه مكتوب بلغة C (على ما أظن) ولكنه يأتي مع غلاف Java/JNI (واجهة برمجة التطبيقات (API) ليست OO جدًا ولكنها تؤدي المهمة).إنه سهل الاستخدام جدًا وقد قمت بتشغيله بسعادة وثبات تامين في نظام مباشر خلال العام الماضي.

يمكنك المحاولة JOptimizer, ، مفتوح المصدر ومناسب لمشاكل التحسين المحدبة العامة (البرمجة الخطية، البرمجة التربيعية، qcqp، البرمجة المخروطية، البرمجة شبه المحددة، إلخ

أوبتابلانر يمكن لـ (Java، مفتوح المصدر، ASL) التعامل مع المشكلات الكبيرة وليس لديها قيود على نوع القيد (مثل الخطي مقابل المحدب).

قد ترغب في إلقاء نظرة على JScience, ، يبدو كاملاً جدًا.(الهياكل الرياضية، حل الجبر الخطي، الخ.)

IPOPT لديه واجهة لجافا.قد تتمكن أيضًا من تكييف لغة النمذجة APMonitor مع Java.لقد قمت بتطوير هذا النظام الأساسي لذا سأكون سعيدًا بالعمل مع شخص ما إذا كان يرغب في إنشاء واجهة جديدة لـ Java.لديها بالفعل واجهة برمجة تطبيقات بايثون وواجهة MATLAB وتتضمن أدوات حل مثل IPOPT وAPOPT وBPOPT وغيرها التي يمكنها التعامل مع الأنظمة واسعة النطاق.

تفحص AMPL.الإصدار الأساسي مجاني، ولكنه يكلف أموالاً للمشاكل الأكبر.أنت لا تدفع ثمن اللغة؛أنت تدفع ثمن الحلول.من الممكن أيضًا تحميل الكود الخاص بك وتشغيله على خوادمهم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top