15

क्या कोई ऐसी पुस्तकालय के बारे में जानता है जो गणितीय अनुकूलन (रैखिक प्रोग्रामिंग, उत्तल अनुकूलन, या अधिक सामान्य प्रकार की समस्याओं) करता है? मैं MATLAB की तरह कुछ ढूंढ रहा हूं, लेकिन बड़ी समस्याओं को संभालने की क्षमता के साथ। क्या मुझे अपना खुद का कार्यान्वयन लिखना है, या उन वाणिज्यिक उत्पादों में से एक खरीदना है (सीपीएलईएक्स और इसी तरह)?जावा के लिए गणितीय ऑप्टिमाइज़ेशन लाइब्रेरी --- मुक्त या मुक्त स्रोत अनुशंसाएं?

उत्तर

10

एक अच्छा उत्तर "उत्तल" और "अधिक सामान्य" से आपका मतलब है, यदि आप बड़े या चुनौतीपूर्ण रैखिक या उत्तल-वर्गिक अनुकूलन समस्याओं को हल करने की कोशिश कर रहे हैं (विशेष रूप से उनके लिए एक अलग घटक के साथ), तो यह है मुख्य वाणिज्यिक हलकों को हरा करना मुश्किल है, , cplex और Dash जब तक कि आपके लिए धन एक बड़ा मुद्दा न हो। उनके पास सभी स्वच्छ जेएनआई इंटरफेस हैं और अधिकांश प्रमुख प्लेटफार्मों पर उपलब्ध हैं। optimj नामक एक दिलचस्प जावा-आधारित मॉडलिंग वातावरण है, जो आपको कई अनुकूलकों में शामिल करने की अनुमति देता है, लेकिन इसके लिए आपको लाइसेंस और आपके द्वारा प्राप्त किए जाने वाले कुछ भी हलकों की आवश्यकता होती है (लेकिन कुछ मुफ्त सॉल्वर हैं)।

coin-or प्रोजेक्ट में कई अनुकूलक हैं और जेएनआई इंटरफेस के लिए एक परियोजना है। यह पूरी तरह से निशुल्क है (EPL लाइसेंस), लेकिन सेट अप करने के लिए और अधिक काम करेगा और शायद आपको एक ही प्रदर्शन नहीं देगा।

1

आप JScience पर देखना चाहते हैं, यह बहुत पूरा दिखता है। (गणितीय संरचनाएं, रैखिक बीजगणित हल, आदि)

+0

आपके उत्तर के लिए धन्यवाद। दुर्भाग्य से JScience actuall से कम हो जाता है वाई कार्यान्वयन अनुकूलन एल्गोरिदम लागू। –

+0

लॉल ............. –

0

AMPL में देखें। मूल संस्करण मुफ्त है, लेकिन यह बड़ी समस्याओं के लिए पैसे खर्च करता है। आप भाषा के लिए भुगतान नहीं करते हैं; आप हलकों के लिए भुगतान करते हैं। अपना कोड अपलोड करना और अपने सर्वर पर चलाना भी संभव है।

+1

एएमपीएल जावा पर्यावरण के लिए एक अच्छा समाधान कैसा है। –

5

lpsolve नामक एक रैखिक अनुकूलन उपकरण है। यह सी (मुझे लगता है) में लिखा गया है लेकिन जावा/जेएनआई रैपर के साथ आता है (एपीआई बहुत ओओ नहीं है लेकिन यह नौकरी करता है)। यह उपयोग करना बहुत आसान है और मैंने पिछले साल के लिए एक लाइव सिस्टम में काफी खुशी से और स्थिरता से चल रहा है।

1

OptaPlanner (जावा, ओपन सोर्स, एएसएल) बड़ी समस्याओं को संभाल सकता है और इसमें बाधा प्रकार की सीमाएं नहीं हैं (जैसे रैखिक बनाम उत्तल)।

+0

इन अवधारणाओं को हाल के दिनों में बहुत अधिक कर्षण प्राप्त हो रहा है। यह जानना बहुत अच्छा होगा कि जावा में इस क्षेत्र में पुस्तकालयों या एपीआई का कोई नया सेट है या नहीं। – Gana

+0

हां, चोको, जैकोप, जेएसप्रिट इत्यादि है। ऑप्टाप्लानर अब तक का सबसे डाउनलोड किया गया है (मैं हालांकि पूर्वाग्रहित हूं)। हाल ही में जारी संस्करण 7.0 जावा 8 और 9 (लांबा आदि) को लक्षित करता है। –

2

आप JOptimizer, खुला स्रोत और सामान्य उत्तल अनुकूलन समस्याओं (रैखिक प्रोग्रामिंग, द्विघात प्रोग्रामिंग, qcqp, शंकु प्रोग्रामिंग, semidefinite प्रोग्रामिंग, ect

0

IPOPT एक interface for Java है के लिए उपयुक्त प्रयास कर सकते हैं। तुम भी अनुकूल करने के लिए सक्षम हो सकता है जावा के लिए एपी मॉनिटर मॉडलिंग भाषा। मैं इस प्लेटफ़ॉर्म को विकसित करता हूं इसलिए यदि मैं जावा में नया इंटरफ़ेस बनाना चाहता हूं तो मुझे किसी के साथ काम करने में खुशी होगी। इसमें पहले से ही Python API और MATLAB इंटरफ़ेस है और इसमें आईपीओपीटी, एपीओपीटी जैसे सॉल्वर शामिल हैं , बीपीओपीटी, और अन्य जो बड़े पैमाने पर सिस्टम को संभाल सकते हैं।