ABCL/f の応用実証プログラムの対象分野の一つとして, 本節では 並列遺伝的アルゴリズムの多目的最適化問題への適用を取り上げる.
一方, 評価関数(適応度)が複数存在する多目的最適化問題に, 単純 GA を適用する試み も一部では古くから断続的に行なわれてきた. 多目的最適化問題はパレート解と呼ばれ る最適解集合を求めることが目標となるので, 遺伝的アルゴリズムの持つ同時多点探索 の特長が注目されたのである. 並列遺伝的アルゴリズムは, 個体間の競合を局所的に限定することによって, 並列度を 向上させると同時に, 集団の多様性を永続的に維持できる長所を持っている. 多目的最 適化遺伝的アルゴリズムはパレート解集合という多様な個体集合を得ることを目標にし ているので, 並列遺伝的アルゴリズムを適用することにより, 高速化するだけでなく, より高品質の解を得られる可能性がある.
我々は, Island 型並列遺伝的アルゴリズムの多目的最適化問題への適用した [41]. 並列遺伝的アルゴリズムと多目的最適化遺伝的アルゴリズムはそれ ぞれ独自の発展を遂げてきたが, その両者を融合した研究例は未だ存在しなかったので, これが最初の研究例となる.
交配, 突然変異, 自然選択を各世代で繰り返すのは普通のGAと同様であるが, 多目的最 適化に適した特別な交配, 突然変異を用いた. 交配は2個体の定義域空間上での相対位 置から子個体の位置を決め, 定義域の外にある場合には元の個体との中点操作で定義域 に入るまで元の個体に近付ける. これによりパレート解が存在しやすい定義域の境界上 に子個体を生成することができる. 自然選択は3種類を用意した. 最も基本的な選択法 であるランクに基づくルーレット選択, 集団の多様性を向上するために個体の混雑度に 応じてランク値をバイアスするルーレット選択+シェアリング, ランク1のパレート解 のみ残すエリート保存戦略であるパレート最適個体保存選択の3つである.
さらに, 並列GAではサブ集団と呼ばれる複数の集団群が独自にGAの各世代を実行し, 数 世代おきに個体を別のサブ集団に移住する. この移住操作により, サブ集団が局所収束 に陥ることを防ぐ.
その結果, ルーレット選択+シェアリングの単純GAから得られるパレート最適個体群が 多くの評価で優れていたが, 実行時間が並列GAの数十倍におよぶため実用的には使いに くい. 並列GAではパレート最適個体保存選択で移住を行なうケースが最も優れていた. 単純GAと比較してもわずかに劣るだけである. 計算時間も最短であり, 移住により発 生するプロセッサ間通信のオーバヘッドは無視できる程小さい. また, プロセッサ数を1, 2, 4, …, 64に増やして並列高速化の具合を見ると, ほぼ線 形に高速化されておりスケーラブルなアルゴリズムであることが証明された. 64プロセッ サでは1プロセッサの35〜50倍の速度が得られた.
ABCL/f の future/touch や並列オブジェクト機能により並列アルゴリズ ムを記述した. サブ集団は並列オブジェクトとして実装したので, 並列化のためには インスタンスを各プロセッサ上で生成すること, クラスメソッドとして実装した世代操 作および移住操作をfuture呼び出しで並列に実行することだけあったので, 並列 化が容易であった. この並列化により1プロセッサ版の40倍以上の高速化を実現できた ので, 言語処理系の並列化性能も実証することができた.