(cache) SGAプログラムでの測定
SGAプログラムでの測定
No. 06, 2001年 7月 16日
片浦 哲平
1 先週からの課題
先週からの課題として
- SGAのプログラムの作成
- GAプログラムの時間測定の修正,測定
があった.期間内に取り組めたものについて解説をする.
2 SGAプログラムでのベンチマーク
作成したSGAプログラムを使ってRastrigin関数の測定を行った.
バイナリーコードを用い,選択はルーレット方式,エリート保存はなしで実行した.
パラメータを以下に示す.
Table 1: パラメータ
パラメータ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
世代数 | 10 | 50 | 100 | 1000 | 10 | 50 | 100 | 10 |
個体数 | 100 | 100 | 100 | 100 | 500 | 500 | 500 | 1000 |
交叉率 | 0.8 | 0.8 | 0.8 | 0.8 | 0.8 | 0.8 | 0.8 | 0.8 |
遺伝子長 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 |
突然変異率 | 0.05 | 0.05 | 0.05 | 0.05 | 0.05 | 0.05 | 0.05 | 0.05 |
設計変数 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
3 考察
今回の実行結果から,Rastrigin関数では個体数は100よりは500の方が最適解を求めるのに
有効であることが分かった.しかし,世代数においては10世代よりも100,1000世代の方が
よいが,100世代,1000世代だけの比較では計算時間の大きな違いがあるのにも関わらず,
精度がまったくよくならなかった.今後はグレイコード,エリート保存等を導入しさらに
実験を行う必要があると思われる.
また,実行時間がとてもかかるので,処理効率を考えたプログラムに修正する必要もあるだろう.
4 今後の課題
SGAプログラムの改良と大学院入試の勉強を並行する.
SGAプログラムは,DGAプログラムに改良し,MPIを用いて並列化が可能となるようにする.
File translated from
TEX
by
TTH,
version 2.92.
On 14 Jul 2001, 11:22.