進化計算による関数の最適化

このアプリケーションでは,指定された変数の範囲で,関数の最大値を進化計算を用いて求めます.
なお,本ソフトウェアは個人の責任において使用してください.使用の結果生じたいかなる損害についても責任を負いかねますのでご了承ください.

使い方

画面の説明

  1. 初期設定
    まず,最大値を求める前に初期値の設定を行います.
    • Set function
      任意関数を入力します.関数の表記方法はExcel形式に従ってください.
    • Set x range
      変数xの範囲を設定します.設定された範囲内で,任意関数が最大となるxを求めます.
    • Population Size
      集団サイズを設定します.
    • Max generations
      繰り返し計算の最大世代を設定します.設定された世代まで進化計算を繰り返します.
    上記の設定が済んだら,「Create Numbers」をクリックしてください. 設定した変数の範囲内で,初期世代がランダムに生成されます. このとき,任意関数のグラフが表示されます.
  2. 探索方法の選択
    最大値を求める進化計算手法をクリックしてください. 様々な手法を試し,結果を比較してみてください.
    • Run GA
      遺伝的アルゴリズムにより最適解を探索します.
    • Run UMDA
      UMDAを用いて最適解を探索します.
    • Run PBIL
      PBILを用いて最適解を探索します.
    • Run CGA
      CGAを用いて最適解を探索します.

  3. 結果
    計算が終わるとグラフが表示されます.グラフは,各世代における関数の平均値を表します.
    • Reset
      初期設定に戻します.
    • Clear Graph
      表示されたグラフを非表示にします.
    • Display Graph
      非表示にされたグラフを表示します.
    • Last Generation
      最終世代の個体を表示します.
    • Best Individual
      各世代の最も優秀な個体を表示します.

パラメータ

探索手法のパラメータを設定します.

  • Learning rate
    PBILにおける学習パラメータです.
  • Truncation selection size
    この適応度より大きい個体を選択します.
  • Crossover
    交叉方法です.「One-point(一点交叉)」と「Uniform(一様交叉)」のどちらかを選択します.
  • Elite Rate
    エリート戦略により残す個体の割合です.
  • Crossover Rate
    交叉率です.
  • Mutation Rate
    突然変異率です.
  • Selection
    選択方法です.「Tournament」,「Roulet」,「Random」のいずれかを選択します.