मैं आर 3.0 पर चल रहा हूं। मेरे पास एक द्विघात कार्य है:
2 * x [1] * x [1] -5 * x [1] + 8 * x [2] * x [2] - 7 * X [3] * x [2] -5 * x [3] * x [3] .. फ़ंक्शन में कई वर्ग की शर्तों होती हैं और इसमें कुछ रेखीय बाधाएं होती हैं जैसे:
1 & lt; = x [1] & lt; = 7 -2 & lt; = x [2] & lt; = 9 0 & lt; = x [3] & lt; = 32 < / पूर्व> इसके अतिरिक्त,
x [1] + x [2] + x [3] = 100 आर में कौन से पैकेज चाहिए? मैं इस तरह की एक अनुकूलन समस्या को हल करने के लिए देखो? यह कई असमानताओं के साथ एक बड़ा समीकरण है और मैं आर 3.0 चला रहा हूं। कुछ चीजें जैसे:
x [1] + x [2] + x [3] = 100 क्या अनुकूलन के साथ किया जा सकता है?
मैं किसी भी तरह से यह समझने में सक्षम नहीं हूं कि कैसे constrOptim के पैरामीटर को पास करें या हल। Qupprog में क्यूपी।
दोनों quadprod :: हल। Qp या limSolve :: lsei हल करेंगे रेखीय बाधाओं के साथ क्यूपी s वे जिस तरह से उद्देश्य तैयार कर रहे हैं, उसमें भिन्नता है: - मिनट (-डी ^ टी बी + 1/2 बी ^ टीडी बी)
हल। के लिए lsei के लिए
- न्यूनतम (|| एक्स-बी || ^ 2) जिस तरह से आपने अपना उद्देश्य फ़ंक्शन लिखा,
हल .पीपी सबसे अच्छा विकल्प की तरह लगता है, लेकिन ध्यान दें कि आपको मैट्रिक्स फॉर्म में अपनी समस्या को दोबारा लिखना होगा। संपादित करें : मुझे एहसास नहीं था कि आपका उद्देश्य फ़ंक्शन उत्तल नहीं था (अलग तरीके से, मैट्रिक्स <कोड> डी ऊपर सकारात्मक पॉजिटिव नहीं है) जो कि इन solvers के लिए एक आवश्यकता है। तो हां, आपको एक गैर-रैखिक सॉल्वर पर optim पर भरोसा करना चाहिए, लेकिन अधिक सामान्य एक है जो अतिरिक्त रैखिक बाधाओं की अनुमति देता है: constrOptim उनमें से एक है। / P>
No comments:
Post a Comment