.NET

2011-09-30 15 views
7

में समीकरण हल करना मैं .NET में कुछ सरल समीकरणों को हल करने का प्रयास कर रहा हूं। मैं Math.NET पर आया और इसका मूल्यांकन किया। Solver() विधियों को मुझे जो चाहिए वह प्रतीत होता था लेकिन मैं इस विधि के साथ साइड स्थितियों का उपयोग करने का तरीका नहीं समझ सकता।.NET

मेरी समस्या समझने के लिए मैं तुम्हें एक नमूना दे देंगे:

Given: 
0 <= a_i <= 100 
0 <= b <= 100 
0 <= c 
a_i, b and c are given 

x_1, ..., x_n should be optimized 

f(x) = x_1*a_1 + x_2*a_2 + ... + x_n*a_n = b 

Side conditions: 
g(x) = x_1 + x_2 + ... + x_n = c 
0 <= x_i 

इसे हल विधि या Math.NET के किसी भी अन्य घटक का उपयोग इस तरह के एक समस्या का समाधान संभव है या आप जानते हैं कि किसी भी (मुक्त करना वाणिज्यिक उपयोग) .NET पुस्तकालय जिसका उपयोग इसे हल करने के लिए किया जा सकता है? मैं अपने द्वारा इस तरह की एक आम समस्या के लिए एक एल्गोरिदम लिखना नहीं चाहूंगा।

अग्रिम

+0

संभावित नकल [सी # में फ्री ऑप्टिमाइज़ेशन लाइब्रेरी] (http://stackoverflow.com/questions/1211201/free-optimization-library-in-c) – duffymo

उत्तर

1

आपको सरलता विधि या मार्क्वार्ट गैर-रैखिक अनुकूलन जैसी बाधाओं के साथ एक अनुकूलक की आवश्यकता है।

+0

समस्या मुझे बल्कि रैखिक दिखती है;) - पुस्तक से सीधे, सिंपलक्स या इंटीरियर पॉइंट्स दोनों इसके लिए ठीक हैं - लेकिन क्या यह वास्तव में एक उत्तर है? – Carsten

+0

आप जो भी खोज रहे हैं उसे आप तब तक नहीं ढूंढ सकते जब तक आप इसका नाम नहीं जानते। – duffymo

+0

मैंने आखिरकार मेरे सिम्प्लेक्स को पोर्ट करने का फैसला किया जिसे मैंने विश्वविद्यालय में एनईटी में लिखा था, ठीक काम करता है :) – Jay

2

ALGLIB में सादर & धन्यवाद इन कार्यों के लिए अच्छा है। constrained optimization पर अपना पृष्ठ देखें।

संपादित करें: इसमें एक मुफ्त लाइसेंस (जीपीएल) और $ 370 से शुरू होने वाला एक वाणिज्यिक लाइसेंस है।

+0

धन्यवाद - कुछ समय के लिए इस पर जांच नहीं की - + अनुस्मारक के लिए 1;) – Carsten

2

IMHO Microsoft Solver Foundation इसके लिए जाने का तरीका है। एक्सप्रेस संस्करण मुफ्त AFAIK है और सबसे छोटे अनुप्रयोगों के लिए पर्याप्त शक्तिशाली है।

जैसा कि अब मुझे लगता है कि एक्सप्रेस संस्करण केवल अन्वेषण के लिए इंडेंट है - लेकिन एमएसडीएन ग्राहकों के लिए मानक-लिब (अब?) है इसलिए मैं इस पोस्ट को अभी तक नहीं हटाता, क्योंकि आपके पास एमएसडीएन सबक्रिप्शन हो सकता है।