効果的な実装

GAは本質的に非常に一般的であり、最適化問題にGAを適用するだけでは、良い結果は得られません。このセクションでは、GA設計者またはGA実装者の作業に役立ついくつかのポイントについて説明します。

問題固有のドメイン知識を紹介する

GAに組み込むより問題固有のドメイン知識が観察されています。私たちが得るより良い客観的価値。問題固有の情報の追加は、問題固有のクロスオーバーまたはミューテーション演算子、カスタム表現などを使用して実行できます。

次の画像は、Michalewicz(1990)によるEAの見方を示しています。

混雑を減らす

混雑は、非常に適合した染色体が大量に繁殖するようになると発生し、数世代で、母集団全体が同様の適合性を持つ同様のソリューションで満たされます。これにより、GAの成功を確実にするために非常に重要な要素である多様性が減少します。混雑を制限する方法はたくさんあります。それらのいくつかは-

  • Mutation 多様性を紹介します。

  • に切り替える rank selection そして tournament selection 同様のフィットネスを持つ個人のフィットネス比例選択よりも選択圧が高い。

  • Fitness Sharing −これでは、母集団にすでに同様の個人が含まれている場合、個人の適応度が低下します。

ランダム化が役立ちます!

最良の解決策は、集団に多様性を与えるため、ランダム化された染色体によって駆動されることが実験的に観察されています。GAの実装者は、最良の結果を得るために、母集団に十分な量のランダム化と多様性を維持するように注意する必要があります。

GAをローカル検索とハイブリッド化

ローカル検索とは、特定のソリューションの近くにあるソリューションをチェックして、より適切な客観的な値を探すことです。

GAをローカル検索とハイブリッド化すると便利な場合があります。次の画像は、GAでローカル検索を導入できるさまざまな場所を示しています。

パラメータとテクニックのバリエーション

遺伝的アルゴリズムには、「1つのサイズですべてに対応」したり、すべての問題に有効な魔法の公式はありません。最初のGAの準備ができた後でも、特定の問題に適したものを見つけるために、母集団のサイズ、突然変異、交差確率などのパラメーターを試してみるには、多くの時間と労力がかかります。