2009-03-26 12 views

उत्तर

13
मेरा अपना

, क्योंकि यह अनुकूलित करने के लिए :)

संपादित सबसे आसान है: वहाँ कुछ हाल ही ऊपर वोट किया गया है, तो मैं समझ यह इस जवाब को अद्यतन करने के लायक है। यह अब 8 साल है जब मैंने मूल रूप से इसका उत्तर दिया और तब से बहुत अधिक पुस्तकालय उपलब्ध हो गए हैं। अब मैं अपना कोड रोल करने का सुझाव नहीं दूंगा। इसके बजाय, मुझे आपकी पसंद की भाषा में एक ओपन-सोर्स लाइब्रेरी मिल जाएगी और इसमें योगदान मिलेगा।

उदा। Jenetics यदि आप जावा का उपयोग करते हैं, DEAP पाइथन के लिए, और GeneticSharp सी # के लिए।

+0

मेरी भावनाएं - मैंने गैलीब को इतना बदल दिया है कि मैं अपने स्वयं का उपयोग करने जा रहा हूं - अनुकूलन एक जरूरी है! – bias

+0

हाँ, एक जीए कोड करने के लिए मुश्किल नहीं है। डाउनलोड टूल्स में कार्यक्षमता की कमी के सिरदर्द के लिए खुद को लिखना बहुत ही महत्वपूर्ण है। –

+0

सभी की सबसे अच्छी भाषा, सी ++ के बारे में क्या? :) इससे यहां कुछ चर्चा हो सकती है;) – Ralf

15

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

पहली परियोजना के लिए, मैंने EO Evolutionary Computation Framework का उपयोग किया जो लगभग पूरी तरह से C++ टेम्पलेट प्रोग्रामिंग पर आधारित है। यह बहुत शक्तिशाली है लेकिन टेम्पलेट की मेटा प्रकृति और संकलक से संबंधित बकवास त्रुटि संदेशों की वजह से इसे बढ़ाने के लिए बहुत अधिक एकाग्रता की आवश्यकता है (आईएमओ)।

दूसरी परियोजना के लिए, मैंने सब कुछ Open BEAGLE EC Framework पर पोर्ट किया जो टेम्पलेट्स के बजाय सी ++ विरासत पर आधारित है। मापदंडों को नियंत्रित करने और मील का पत्थर और परिणामों को संग्रहित करने के लिए इसमें एक बहुत ही पूर्ण XML- आधारित प्रणाली है। मुझे अपनी विशिष्ट जरूरतों (मुख्य रूप से मिश्रित पूर्णांक और विनिर्माण सहनशीलता के साथ फ्लोट डिजाइन पैरामीटर) को विस्तार और अनुकूलित करना बहुत आसान लगता है।

मैंने संक्षेप में एक सरल जेनेटिक प्रोग्रामिंग प्रयोग में ओपन बीगल का भी उपयोग किया और यह भी उपयोग करने में आसान साबित हुआ।

7

यदि आप पाइथन का उपयोग कर रहे हैं, तो pyevolve का उपयोग करना आसान है। मैंने सफलता के साथ इसका इस्तेमाल किया। http://pyevolve.sourceforge.net/

+1

0.6rc1 आधिकारिक तौर पर जारी किए गए 0.5 की तुलना में बेहतर विकल्प है http://pyevolve.sourceforge.net/0_6rc1/ –

1

मैंने अपने स्वयं के जीपी सिस्टम को कार्यान्वित करने के तरीके पर एक महसूस करने के लिए TinyGP के साथ खेला है। इसे सी में लिखा जाता था लेकिन जावा में फिर से लिखा गया था। चूंकि यह बहुत छोटा है क्योंकि इसे मेरे सी ++/डी उपयोगों के लिए अनुकूलित करना आसान था।

0

मैंने अपनी खुद की ओपनजीए लाइब्रेरी विकसित की है।

इस पुस्तकालय को हल करने के लिए है:

  • एकल उद्देश्य समस्याओं।
  • बहु-उद्देश्य (और कई उद्देश्य) समस्याएं (एनएसजीए-III विधि)।
  • इंटरेक्टिव जीए समस्याएं।

यह लाइब्रेरी हमें अपने स्वयं के गुणसूत्र डिज़ाइन को परिभाषित करने के लिए सी ++ टेम्पलेट्स का उपयोग करने की अनुमति देती है।

कोड Github पर उपलब्ध हैं। प्रकाशन smc2017 पर है और इसका उपयोगकर्ता पुस्तिका मेरे researchgate पर उपलब्ध है।

संबंधित मुद्दे