2013-05-30 7 views
7

में पृथक अनुकूलन मैं एक अलग अनुकूलन समस्या (वैश्विक अनुकूलन) को अनुकूलित करने के लिए scipy.optimize पैकेज का उपयोग करने का प्रयास कर रहा हूं। डॉक्टर के लिए एसी, scipy.optimize.anneal में लागू नकली एनीलिंग एक के लिए एक अच्छा विकल्प होना चाहिए। लेकिन मुझे यकीन नहीं है कि खोजकर्ता के केवल पूर्णांक मूल्यों को खोजने के लिए अनुकूलक को कैसे बल देना है। क्या कोई मदद कर सकता है?पायथन

एक उदाहराणदर्शक उदाहरण:

f(x1,x2) = (1-0.4*x1)^2 + 100*(0.6*x2 -0.4*x1^2)^2

where, $x1, x2 \in I$

उत्तर

4

मैं scipy.optimize.anneal जाँच की है, और मैं असतत मूल्यों का उपयोग करने के लिए एक तरह से नहीं देख सकता। इसे स्वयं लागू करने का तरीका, एक कस्टम "चाल" फ़ंक्शन बनाना है, लेकिन जिस तरह से आपको शेड्यूल निर्दिष्ट करना है (स्ट्रिंग द्वारा) आपको ऐसा करने से रोकता है।

मुझे लगता है कि यह एक बड़ी गलती है, अगर आप पैरामीटर के रूप में कस्टम शेड्यूल क्लास पास कर सकते हैं, तो आप इसे असतत चर और कई और चीजों का उपयोग करने के लिए अनुकूलित कर सकते हैं। क्योंकि आप समारोह जो राज्य को संशोधित करता है प्रदान करने के लिए https://github.com/perrygeo/python-simulated-annealing

, आप कौन-से मान यह हो सकता है पर नियंत्रण है, या अगर वे असतत हैं या:

समाधान मैंने पाया यह अन्य कार्यान्वयन के बजाय का उपयोग करने के लिए है निरंतर।

उम्मीद है कि यह मदद करता है।

+0

बहुत बहुत धन्यवाद .. सुपर: मैं इस तरह कुछ ढूंढ रहा था। इस बीच मैंने एसए को अपने आप को नियंत्रित करने के लिए लागू किया – goofd