में गैरलाइन ऑप्टिमाइज़ेशन को बाधित करता है क्या कोई मुझे माइक्रोसॉफ्ट सॉल्वर फाउंडेशन 3.0 में बाध्य नॉनलाइनर ऑप्टिमाइज़ेशन के लिए उदाहरण या समीक्षा दिखा सकता है? Matlab के fmincon की तुलना में इसकी तुलना कैसे की जाती है? या क्या सीमित nonlinear अनुकूलन के लिए कोई बेहतर .NET पुस्तकालय है? धन्यवाद,माइक्रोसॉफ्ट सॉल्वर फाउंडेशन बनाम मैटलैब फाइनकॉन
उत्तर
फ़र, 25, 2012 को महत्वपूर्ण अद्यतन:, http://msdn.microsoft.com/en-us/library/hh404037(v=vs.93).aspx
सामान्य रैखिक की कमी के लिए:
एमएसएफ 3.1 अब अपने NelderMeadSolver solver के माध्यम से घिरे चर के साथ nonlinear अनुकूलन का समर्थन करता है माइक्रोसॉफ्ट सॉल्वर फाउंडेशन केवल अपने आंतरिक बिंदु सॉल्वर के माध्यम से रैखिक प्रोग्रामिंग और वर्गबद्ध प्रोग्रामिंग का समर्थन करता है। इस सॉल्वर के लिए, कृपया टॉमस द्वारा उल्लिखित एसवीएम पोस्ट देखें।
एमएसएफ में एक सामान्य गैरलाइन प्रोग्रामिंग सॉल्वर, सीमित-मेमोरी-बीएफजीएस है, हालांकि यह किसी भी बाधा का समर्थन नहीं करता है। इस सॉल्वर को एक स्पष्ट ढाल समारोह की भी आवश्यकता होती है। इस solver के लिए, कृपया देखें:
Logistic regression in F# using MSF
एफ # ODSL टॉमस ने उल्लेख केवल रैखिक प्रोग्रामिंग का समर्थन करता है। मेरे पास इसके लिए एक क्यूपी एक्सटेंशन है, codexplex पर उपलब्ध है।
अपने प्रश्न पर वापस जाएं - रैखिक बाधाओं के साथ एफ (एक्स) अनुकूलित करें (fmincon
के समान), मैंने कोई भी मुफ्त लाइब्रेरी नहीं देखी है जिसमें यह क्षमता है। NMath.NET (वाणिज्यिक) में एक लगता है। मैंने कोशिश की कि एक अत्यधिक nonlinear अनुकूलन को हल करने के लिए, लेकिन यह मेरे लिए काम नहीं करता है। अंत में मैंने बी-एलबीएफजीएस को डॉटन्यूमेरिक्स में लागू किया।
मुझे लगता है कि आप भी ऐसा निम्नलिखित प्रश्न में दिलचस्पी होगी:
Open source alternative to MATLAB's fmincon function?
जवाब SciPy.optimize.cobyla
, जो fmincon
को कुछ इसी तरह प्रतीत हो रहा है को इंगित। लेकिन मुख्य संदेश यह है कि आपकी विशिष्ट समस्या के लिए, शायद fmincon
बहुत सामान्य है। आप एक और विशिष्ट सॉल्वर का उपयोग कर सकते हैं, उदा। एलबीएफजीएस या क्यूपी। यदि आपका प्रारंभिक मूल्य अच्छा नहीं है तो सामान्य सॉल्वर कभी-कभी काम नहीं करते हैं।
मैं माइक्रोसॉफ्ट सॉल्वर फाउंडेशन अपने आप का अधिक अनुभव नहीं है, लेकिन वहाँ एक अच्छा लेख दर्शाते हैं कि कैसे एफ # से इसका इस्तेमाल करने के लिए है:
एफ # के लिए, एक एम्बेडेड मॉडलिंग भाषा भी है - यह आपको सामान्य बाधाओं (उद्धरणों में लिपटे) के रूप में अपनी बाधाओं को लिखने की अनुमति देती है और इस भाषा के लिए दुभाषिया माइक्रोसॉफ्ट सॉल्वर फाउंडेशन को उचित बाधाओं के साथ कॉल करता है (मुझे लगता है कि यह पूरी तरह से कमाल है!):
मैंने हाल ही में माइकल पॉवेल के व्युत्पन्न मुक्त कोड COBYLA2 (गैर-रैखिक उद्देश्य कार्य, गैर-रैखिक बाधाएं) और BOBYQA (गैर-रैखिक उद्देश्य फ़ंक्शन, परिवर्तनीय सीमाएं) को सी # पर पोर्ट किया है। जब अनुकूलन समस्या में केवल चर सीमाएं होती हैं, तो BOBYQA एल्गोरिदम काफी तेज़ होता है।
मैंने दोनों कोड खोल दिए हैं; आप उन्हें गिथब पर देख सकते हैं: cscobyla और csbobyqa।
यदि आप व्युत्पन्न-आधारित एल्गोरिदम पसंद करते हैं, तो मैंने एडाप्टर को IPOPT पर भी लागू किया है। इसे csipopt कहा जाता है और गीथूब से भी प्राप्त किया जा सकता है।
इन एल्गोरिदम के किसी भी के लिए विकसित नहीं सॉल्वर फाउंडेशन इंटरफेस है, और मैं यह नहीं कह सकते कि कैसे अच्छी तरह वे fmincon के साथ तुलना (मैं एक मैटलैब उपयोगकर्ता अपने आप नहीं कर रहा हूँ), लेकिन उम्मीद है कि कोड में कुछ मदद की हो सकती है आपका अनुकूलन कार्य
मुझे एहसास है कि यह एक पुराना सवाल है, लेकिन यहां के जवाब गलत और/या पुराने हैं।
यह उदाहरण डिफ़ॉल्ट nonlinear solver जो HybridLocalSearchSover कहा जाता है का उपयोग करता है: यहां बताया एमएसएसएफ में विवश nonlinear solver का उपयोग करने पर निश्चित ट्यूटोरियल है।
(हालांकि, मैं fmincon से परिचित नहीं हूँ, इसलिए मैं उस से बात नहीं कर सकते हैं।) अपने जवाब और अपने ब्लॉग के लिए
धन्यवाद। मैं उम्मीद कर रहा था कि एमएसएफ एलबीएफजीएस को बाधित कर सकता है या एक जैसे। – ahala
यह उत्तर अब सटीक नहीं है। एमएसएफ * करता है * निरंतर nonlinear प्रोग्रामिंग का समर्थन करता है। यह ट्यूटोरियल इसे प्रदर्शित करता है: https://msdn.microsoft.com/en-us/library/gg261758%28v=vs.93%29.aspx?f=255&MSPPError=-2147217396 – kmote
@kmote क्या आपको पता है कि एमएसएफ विकसित होना बंद कर दिया गया है या नहीं ? –