いくつかの流体の混合比を最適化するために、遺伝的アルゴリズムを実装したいと考えています(言語/フレームワークについてはまだわかりませんが、おそらくWatchmakerです)。
各ミックスは最大 5 つの成分a, b, c, d, e
で構成され、値が変化する遺伝子としてモデル化します。染色体は混合比を表すため、(少なくとも) 2 つの追加条件があります。
(1) a + b + c + d + e = 1
(2) a, b, c, d, e >= 0
私はまだプロジェクトを計画している段階にあるため、サンプルコードを提供することはできませんが、ウォッチメーカーのようなフレームワークを使用して遺伝的アルゴリズムでこれらの条件を実装できるかどうか、およびどのように実装できるかを知りたいです。
[編集]
これは簡単なことではないように思われるので、いくつかの説明:
問題は条件 (1) です。各遺伝子a, b, c, d, e
がランダムに独立して選択される場合、これが発生する確率は約 0 です。したがって、a, b, c, d, e
相互に依存して選択される方法で突然変異を実装する必要があります (乱数を参照)。 100 に追加:例としてMatlab )。
ただし、これが可能かどうかはわかりません。可能であれば、一般的な進化的アルゴリズムに従っています。