2009-03-26 14 views

答えて

13

私自身、それは:)

EDITをカスタマイズするのが最も簡単ですので。そこにいくつかの最近のアップ票でしたので、私はそれがこの答えを更新する価値がある考え出してきました。もともと私はこれに答えて以来8年です。それ以来、さらに多くの図書館が利用可能になりました。私はもはや独自のコードを公開することを提案しません。代わりに、自分の言語でオープンソースのライブラリを見つけ出し、それに貢献します。

PythonにはDEAP、C#にはGeneticSharpが使用されます。

+0

私の感想 - GAlibをあまりにも変えてしまったので、自分自身を使っています。カスタマイズは必須です! – bias

+0

さて、GAはあまりにもコード化が難しくありません。あなた自身を書くことは、ダウンロードされたツールの機能が不足しているという頭痛を補うものです。 –

+0

C++のすべての言語の中で最高のものは何ですか? :)これはいくつかの議論をここで引き起こすかもしれません;) – Ralf

4

チェックアウト

15

ECJ私は、自動的に電気モーターを設計するために遺伝的アルゴリズムを使用して2つの大学院レベルの研究プロジェクトを完了しました。

最初のプロジェクトでは、ほとんどすべてC++テンプレートプログラミングに基づいているEO Evolutionary Computation Frameworkを使用しました。それは非常に強力ですが、テンプレートのメタ属性とコンパイラからの対応するナンセンスエラーメッセージのために、(IMO)それを拡張するための集中が必要です。

2番目のプロジェクトでは、テンプレートの代わりにC++の継承に基づいてOpen BEAGLE EC Frameworkにすべて移植しました。また、パラメータを制御し、マイルストーンと結果を保存するための非常に完全なXMLベースのシステムを備えています。私は、私の特定のニーズ(主に混合公差と浮動小数点設計パラメータと製造公差)を拡張して適応することがはるかに容易であることを発見しました。

単純な遺伝的プログラミング実験でも簡単にOpen BEAGLEを使用しましたが、そこでも使いやすいことが判明しました。

7

Pythonを使用している場合、pyevolveは使いやすいです。私は成功とそれを使用しました。 http://pyevolve.sourceforge.net/

+1

0.6rc1は公式にリリースされた0.5より良い選択ですhttp://pyevolve.sourceforge.net/0_6rc1/ –

1

私自身のGPシステムの実装方法については、TinyGPと遊んでいます。以前はC言語で書かれていましたが、Javaでは書き直されました。それは非常に小さいので、私のC++/D用にそれを適応させるのは簡単でした。

0

私は独自のopenGAライブラリを開発しました。

  • シングル客観的な問題を:

    このライブラリには、解決のためです。

  • 多目的(および多目的)問題(NSGA-IIIメソッド)。
  • インタラクティブGAの問題。

このライブラリを使用して、独自の染色体デザインを定義することができます。

コードはGithubで利用できます。この刊行物はsmc2017にあり、そのユーザーマニュアルはresearchgateにあります。

関連する問題