- CVXOPT: http://abel.ee.ucla.edu/cvxopt/index.html
OpenOpt: http://openopt.org/Welcome
- उनके बीच क्या संबंध है?
- क्रमशः उनके क्या फायदे / नुकसान हैं?
BTW, पायथन / सी ++ के लिए कोई अन्य उच्च गुणवत्ता वाला सामान्य प्रयोजन उत्तल अनुकूलन पुस्तकालय है?
OpenOpt: http://openopt.org/Welcome
BTW, पायथन / सी ++ के लिए कोई अन्य उच्च गुणवत्ता वाला सामान्य प्रयोजन उत्तल अनुकूलन पुस्तकालय है?
जवाबों:
सीवीएक्सओपीटी केवल हल करती है (चिकनी और बकवास) उत्तल समस्याएं, कला की सबसे खराब स्थिति की गारंटी की स्थिति के साथ कई तीसरे पक्ष के उत्तल सॉल्वर तक पहुंच प्रदान करती है। आप रैखिक, उत्तल द्विघात, रैखिक अर्धवृत्त और कई अन्य उत्तल प्रकार की बाधाओं को रोक सकते हैं।
OpenOpt सामान्य (चिकनी और निरर्थक) नॉनलाइनियर प्रोग्रामों को हल करता है, जिसमें पूर्णांक की कमी के साथ समस्याएं भी शामिल हैं। सीवीएक्सओपीटी के विपरीत, इसके पास अर्धचालक कार्यक्रमों को हल करने के लिए कोई सॉफ्टवेयर नहीं है। सॉल्वर सभी दिमित्री क्रॉस्को द्वारा स्वयं लिखे गए थे और उनका लंबा इतिहास नहीं है, इसलिए परीक्षण शायद सीमित था। OpenOpt स्वयं _not- इंटरफ़ेस को सामान्य तृतीय पक्ष सॉल्वरों के लिए करता है।
हालाँकि, '' OpenOpt फ्रेमवर्क '' (http://openopt.org/OOFramework) है जो IPOPT को इंटरफेस करता है (एक अन्य टिप्पणी में उल्लेख किया गया है; यह निरर्थक समस्याओं को हल नहीं कर सकता है), CVXOPT और पायथन में उपलब्ध कुछ सॉल्वर।
इस इंटरफ़ेस के अलावा, इन पैकेजों के बीच कोई संबंध नहीं है। तरीके पूरी तरह से अलग हैं; एकमात्र सामान्य चीजें अच्छी तरह से पायथन भाषा और लैपैक तक पहुंच हो सकती हैं।
उत्तल समस्याओं के लिए, मैं
सीवीएक्स की सिफारिश करना भी पसंद करूंगा : अनुशासित उत्तल प्रोग्रामिंग के लिए मैटलैब सॉफ्टवेयर
http://cvxr.com/cvx ,
जिसके लिए लेखकों ने कम्प्यूटेशनल मैथमेटिकल प्रोग्रामिंग में उत्कृष्टता के लिए इस साल का बहुत प्रतिष्ठित बीले-हेस-ऑर्चर्ड पुरस्कार प्राप्त किया। । यह Matlab में लिखा है, यद्यपि।
उनके पास CVXPY http://www.stanford.edu/~ttinoco/cvxpy/ नामक पायथन का 'संस्करण' भी है
, लेकिन CVXPY प्रभावी रूप से CVXOPT के लिए एक बहुत ही अच्छा और उपयोगी '' अनुशासित '' इंटरफेस है, जिसमें एक यह सुनिश्चित कर सकता है कि जब कोई प्रोग्राम वाक्यविन्यास रूप से सही हो तो यह एक उत्तल अनुकूलन समस्या है।
OpenOpt, अधिकांश भाग के लिए, अन्य सॉल्वरों के लिए सिर्फ एक इंटरफ़ेस है। CVXOPT OpenOpt के अंतर्निहित स्रोत सॉल्वर में से एक है, इसलिए जब तक आपके पास एक व्यावसायिक सॉल्वर नहीं है जिसका आप उपयोग करना चाहते हैं, आप संभवतः किसी भी स्थिति में CVXOPT को स्थापित करना चाहेंगे। AFAIK, CVXOPT खुले स्रोत के पुस्तकालयों के बीच अत्याधुनिक है, कम से कम दूसरे क्रम के शंकु प्रोग्रामिंग और अर्ध-निश्चित प्रोग्रामिंग के लिए।