問題タブ [genetic]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
genetic - 遺伝的アルゴリズムによるソート、クロス オーバーの重複データ
私の質問は、クロスオーバーを実行して重複を避ける方法ですか?
考えp1 = {1, 2, 5, 6, 3, 4}
てみるとp2 = {2, 6, 5, 4, 1, 3}
、クロスオーバーの 1 つはres = {1, 2, 5 , 6, 1 ,3}
、ご覧のように重複があります
。
これが私のコードです
python - ユーザー定義の関数と制約を解決する Python CMA-ES アルゴリズム
Python でCMA-ES最適化アルゴリズムの簡単な例を作成するのに苦労しています。CMA-ES アルゴリズムを使用して、関数x**2 + 2*y**2 -4*x*y - 0.5*y
を最適化する最も効率的な方法は何ですか?-2<x<2
-1<2*(x**2)*y<1
DEAP ライブラリを調べましたが、まとまりのある試みを開発できませんでした。彼らのドキュメントは直感的ではないことがわかりました。cmaパッケージも調べましたが、制約を実装する方法がわかりません。
scheduling - クラスの問題をスケジュールする: 最適なアルゴリズムのアプローチがわからない
サンプルデータは次のとおりです。
バイオ 256:
ケム 356:
数学 266:
全体として、学生は 6 つのクラス (コースごとに 1 つの講義と 1 つのラボ) を受講します。このデータから、学生が学校で過ごす必要がある最短時間をどのように見つけますか?
単純な貪欲アルゴリズム (最も早い終了時間で配置し、グループの残りを削除します。たとえば、Lab1 が選択された場合は Lab2 と Lab3 を削除します) を試しましたが、うまくいきません。
c# - .NET の遺伝的アルゴリズム フレームワーク (GAF) - 人口とフィットネス関数のエントリ数との関係
NumInGeneration は、フィットネス関数内のエントリ数を表します。各世代の結果をグループ化すると、次の結果が得られました。
100 の評価がない理由、フィットネス関数への 100 のエントリ。この場合第0世代では289回?
世代ごとに 100 の染色体が生成されることを期待していましたが、これは 100 の評価 (フィットネス関数への 100 のエントリ) があることを意味していました。
0 世代の染色体をグループ化すると、同じ染色体の評価を繰り返す必要があります。
もう 1 つの問題は、同じ染色体に対してフィットネス関数が何度も呼び出される理由です。この例では、同じ計算が 12 回行われていることがわかりますか? セットアップが必要な内部キャッシュはありますか?
おそらく、GAF がどのように機能するべきか、私は間違った考えを持っています。その場合、人口数とフィットネス関数へのエントリ数の関係を説明してください。フィットネス機能へのエントリ数を設定および制御する方法。適応度関数が重すぎる場合、同じ染色体に対して複数回評価が行われると、リソースが無駄になります。その場合、必要に応じて「外部」キャッシュを作成しても問題はありません。
python - Generate Sample dataframes with constraints
I have a dataframe of records that looks like:
And as part of a genetic algorithm process, I want to initialize a population (10) of records. I want each of my subset to contain 10 records, however I want NOT to contain the same 'Rec-ID' two times.
Any idea on how to generate those 10 different dataframes?
Thanks,
c# - 重量と価値に基づいて 3 台のトラックに商品を保管する遺伝的アルゴリズム
私は現在、ナップザックの問題に似ていると考えられる問題を解決するために遺伝的アルゴリズムをコーディングしていますが、差別化要因は、アイテムを複数の「トラック」に保管していることであり、それらの値/重要性は 1 = 最も重要、 3 = 最も重要でない。
これを行う方法は、バイナリ整数の配列を使用することです。0 = トラックに搭載されていない、1 = トラックに搭載されています。
ほとんどの場合、プログラムは必要なことを実行しているように見えます。染色体を比較して、世代ごとに最適な 3 つの個別の染色体を見つける場合を除きます。個々の染色体には同じアイテムを含めることはできません。アイテムは一度に 1 台のトラックにしか搭載できないためです。
これは、染色体を比較するために使用している関数です。
これは、染色体を以前に選択した染色体と比較して、同じ値が含まれていないことを確認するために使用している関数です。
コードのさまざまなポイントでブレークポイントを使用し、値と予想される値をチェックすることで、問題を引き起こしているこれら 2 つの関数に絞り込みました。
最後に、問題自体に。getBestSolution() は、最初の「最適な」値を完全に生成します。2 番目と 3 番目の値は、「population[0].fitness」として初期化された値のままで、表示されます。
値の違う染色体がなければ初期化されたままになると思っていたので、育種の選択基準である育種構造を変えてみました。これと同じ理由で、より大きな集団を使用してテストしたこともあるため、それらは私のコードに問題があるに違いないと考えています。
どんな助けでも大歓迎です。