遺伝的アルゴリズムの適用例


小野が福岡工業大学情報工学科にて大学院生並びに卒業研究生の協力を得て実施した 研究の中から公表した代表的なものを以下で紹介します. (説明文末尾の括弧内に研究を実施した大学院生,卒業研究生諸君の氏名を記す)

Javaのネットワーク機能を用いた分散型GA

遺伝的アルゴリズム(GA)における演算時間の短縮や解の高品質化を目的にGAを並列化する ことが研究されており,その方法のひとつとして分散型並列GAがある.本研究はこれを Java言語のRMI(Remote Method Invocation)を用いて実現することを目的にしている.

本システムはJava2言語を用いて実現しており,RMIを使用することによりサーバークライアントネットワークをあたかも同一マシーンおけるように実行できる.これにより 並列分散方式が容易に実現できる特徴を持っている.

本システムは1台のコンピュータよりなるManagerと複数台のコンピュータよりなるWorker とから構成されており,前者がサーバー,後者がクライアントになっている.Workerは各々独立にGAのプログラムを実行する.実行に先立って,個体数,世代数,各種確率値などパラメータ値をManagerより受け取る.所定の世代数ごとにManagerを通して,他のWorkerと 一定個数の個体の交換を行う.この交換は各Worker独立に非同期に行う. 最大世代数に達するとエリート個体をManagerに送って役目を終わる. ManagerはWorkerの制御と交換個体の管理を行う.交換個体を蓄積する共通のデータベースを有し,ここに各Workerより送られた交換個体を蓄え,ランク方式により交換する個体を 決定している. これらの操作により集団における個体の多様性を維持すると共に他の集団の優れ個体の 導入を実現している.(山田正和)

To top of page

パレートGAを用いた図形探索

多数の図形と雑音よりなる画像の中から目的とする複数の図形を探索する方法として パレートGAを適用した研究である.本システムはパレートGAとパターン探索プログラム を組み合わせたものとなっている.

パレートGAは多目的最適化を目的に考え出された方法であり,遺伝的アルゴリズム(GA) を適用してパレート解を求める方法である.複数図形の探索は多目的最適化問題と して扱うことができるので,パレートGAが適用できる. 探索すべき図形としては今回は線画像を対象にし,回転も考慮して,そのX,Y座標と 回転角度及び図形の種類を複数図形について同時に求めている. また探索に際しては探索すべき原画像に対してぼかし処理を行うなどの事前処理を 行って効率化を図って居る.

GAは一種の広域を対象にしたランダム探索であるので,図形探索をGAのみで行うのは 必ずしも最良の方法ではない. 今回はパレートGAにより目的図形に対して所定の範囲内に到達したことを 適合値より判定して,それ以降は線形探索による局所探索による効率化を図っている. (河村将史)

To top of page

有限オートマトンの自動生成

オートマトンはコンピュータの働きを抽象化した数学的モデルであり,その中でも 有限オートマトンは基本的モデルとして,語彙解析を始め各種の用途に使用されている. 本研究はこの有限オートマトンを,遺伝的アルゴリズムにより入力の受理条件 から,自動的に構成させることである.

本研究で完成した方式は遺伝的アルゴリズム(GA:Genetic Algorithms)と オートマトン構成アルゴリズム(ACA:Automaton Constructing Algorithms)よりなり, 前者のGAで得た遺伝子情報に従って後者のACAでオートマトンを構成させ, 与えられた受理条件(受理する信号と受理しない信号)に従ってその評価を行ない, その結果をGAに返す. GAでは遺伝子操作を行ない,これら両者の働きにより入力条件を満足するオートマトンを 得ている.オートマトンのユニット数は最小の2ユニットより開始し,条件を満足したものが得られない場合は順次ユニット数を増加させていることにより必要最小ユニットの オートマトンを得ている.

さらに合成アルゴリズムにより,複数の条件よりなる複雑なオートマトンは, 各条件を満足するオートマトンを合成することにより得る方式を採用し,演算時間の 短縮を図っている. 本システムには最小化アルゴリズムが含まれており,冗長ユニットの整理を行い, 最小ユニットのオートマトンが得られるように配慮している. また描画プログラムを導入し,遺伝子情報より直接オートマトンの状態遷移図を描かせることができるようにもなっている.(横井智幸)

To top of page

再構築可能な生産スケジュールの作成

複数の機械よりなる生産設備において複数の製品を製造する際にすべての製品を納期内になるようなスケジュールを遺伝的アルゴリズムにより決定する方式である.

スケジュールの作成においては加工時間のほか機械間の部品の移動時間,治具の交換時間を考慮した. さらに実際の生産においては機械の故障や顧客よりの納期の変更など不慮の 出来事によりスケジュールの組み替えを必要とすることも多い. 本システムでは計画段階の最適スケジュールの作成のほか,製造途中においてその段階までの加工状況を取り入れてスケジュールを再構築する方式を導入している.

システム構成は遺伝的アルゴリズム(GA)と スケジュール作成アルゴリズム(Schedule Compiling Algorithms:SCA)とより成り, 前者においてガントチャートでのスケジュール作成順序を定め,後者においてそれに 従って実際の工程を決定し,各製品の納期を求めて前者のGAに戻し,最適スケジュール となる順序を決定する.(田代順一)

To top of page

大学時間割作成

学校における授業時間割の作成はスケジューリング問題の一種であり,多くの制約条件を考慮する必要がある.特に大学の時間割は多数の教員が関係し,教科や学生数に合わせての講義室の確保,複数クラスの合同授業,実験などの2時間連続授業など多くの考慮すべき事項があり,多大の労力を必要とする.

本研究は遺伝的アルゴリズム(GA)を用いて時間割を作成することにある. まず遺伝子表現としては各学年,各組ごとを独立した遺伝子とした複数遺伝子方式とし,各遺伝子は月曜日1時限目より始まる1週間の授業の順番を表すものとした. さらに2時間連続授業に対しては1時間授業2つとして取り扱い,2時間授業再配置 アルゴリズムを導入し,2時間授業はそれを構成する2つの授業が互いに隣接し, かつ昼休みを挟むことや2日間に渡ることがないように遺伝子表現を再配置する方式を採用した. これらの配慮により各種制約条件の考慮が容易となり,かつこの問題を順序問題として 解くことが可能となった.(土性雅史)

To top of page

ギロチン切断方式の最適化

ギロチン切断は一般に金属・ガラス・木材などのシートから長方形の部品をカッターなどにより切り出す際に用いられる切断方式で,シートを端から端まで直線状に切断する. 本研究は長方形のシートから各種寸法の長方形の部品をギロチン切断方式により切り出す際の最適化すなわちスクラップの量を最小にする切断方式を遺伝的アルゴリズム(GA) により求めることを目的にしている.

本システムおいては切断方式を決めるに当たって,部品から出発してギロチン切断が 可能なように組み立てる方法を採用している.2個の部品の配置としては水平・垂直の 二種があるので,それぞれの配置を配置演算子(H,V)を用いて逆ポーランド記法で表現し,それを再帰的に適用して部品全体の配置を求め,それを遺伝子表現とした. こうして得た配置より所要のシート長を求め,それを最小にするようGAを適用した. システムはGA部と配置決定アルゴリズム(Guillotine Cut Layout Algorithms:GCLA) より構成され,前者より与えられた遺伝子情報に基づいて後者により部品の配置を 行っている.この問題は遺伝的プログラミング(GP)の領域の問題であるが,これを GAの問題として解くため特別の配慮を行っている.(池田武史)

To top of page

分割・統合による遺伝的アルゴリズムの高速化

大規模のセールスマン巡回問題(TSP)を高速に解く方式についての提案である. TSPにおいて都市の数をnとするとその探索空間は(n-1)!となり, nの増加とともに急速に拡大していく.従って解を得るまでの時間も加速的に 増大する.もし,都市数を4分の1の領域4つに分割できれば各探索空間は (n/4-1)!となり大幅に減少し,4領域合計でも計算時間は大きく減少する.

このような分割により最適解が得られるためには 「局所領域で得られた最適解が全体での最適解につながる」という局所仮説が 成立する必要がある. TSPにおいては分割領域の境界線付近を除いて,この仮説が成立するものと 考えられる.しかし境界線付近の都市群では隣接都市が異なった分割領域にある 可能性があり,単純に各領域を統合するだけでは最適経路は得られない.

この対策として本研究では領域の分割に際して境界線付近では重複領域を設け, この重複領域内の都市は隣接の両領域に重複させた. そしてこれら各隣接領域で得られた巡回経路の統合の際には, 重複領域の都市および近傍都市との間の各種隣接状態を作り, これを基に重複都市を取り除き,経路を統合した. こうして得た巡回経路からなる集団を初期集団としてGAを適用することにより 最終的な最適経路を求め,これにより高速に解を得ることができた. (池田武史)

To top of page

二次元自由パターンの最適切断方式

ここで扱う二次元材の最適切断問題は一定幅のシート材から各種形状の部品を 切り出す際に, 次の二点を満足する部品の配置を決定することである. この問題をGAにて解く際に,部品の座標を遺伝子で表わすのが常識的な方法で あるが,そのような方法を用いると探索空間が広大となり(二次元のため)解を 得るのが困難なことが判明したので,一次元の順序問題として解く方法を採用した.

そのため遺伝子は各部品の配置を決定する順序として表現し, 遺伝子の表す配置決定順序に従い隙間なくシート材上に各部品を 並べる配置決定アルゴリズム(Layout Determining Algorithms:LDA)を 導入し,これとGAとを組み合わせる方式を開発して,この問題を解決した.
なお,配置する部品の形状は長方形,多角形のほか自由形状も可能とし,かつ凹型も 取り扱えるように配慮されている. さらに部品を回転は位置してよい場合の最適化も可能なように拡張している. (渡辺玄,横井智幸)

To top of page

棒材の最適切断方式

 本研究は各種長さの棒状粗材より各種所定の長さの棒状製品を切り出す際の 最適切断方式の決定にGAを適用したものである. この最適化の問題はつぎの二つに分けて考えることができる.

まず粗材の長さはそれまでの工程での作業において発生したスクラップにより一定 しない.また製品の長さとその需要量は需要先より決まり種々の組み合わせがある. 一本の粗材より製品を切り出す際,製品の組み合わせによっては多量の端材を 発生する.したがってこの端材を最小にする組み合わせを求める必要が ある.これが第1の最適化である.

つぎにこのようにして各粗材の最適切断を行ってゆくと特定の製品に偏って生産される 恐れがある.製品の本数は需要量に見合ったものとするため, 生産の最終段階においては生産された製品の本数は需要量に 合致したものでなければならない.これが第2の最適化である. 一般に両者を同時に満足させることは困難であり,これは多目的最適化といわれる 分野の問題であり,トレードオフを必要とする.この問題をGAを解くことができた. (渡辺玄)

To top of page

ニューラルネットワークの構造決定

ここでは多層型ニューラルネットワーク(NN)における, GAによる構造決定問題を扱っている. ここでの構造決定は中間層のユニット数の最適決定である. 中間層のユニット数は少ないと学習ができず,多すぎても冗長となり, 学習での収束がよくなく,最適ユニット数があるらしいことが知られている. 従って,ここでは目的のパターン認識ができる最小のユニット数をGAで求めることを 考える.遺伝子表現方式として次の2方式について研究した.
コネクション表現
各ユニット間にコネクションがあるか否かで表現する方法であり, きめの細かな表現が可能な反面,致死遺伝子がでる可能性があり, その対策を必要とする.
パス表現
入力層から出力層までのパスがあるか否かで表わす方法で致死遺伝子は生じない.
(土性雅史)
To top of page

電力系統の最適運用計画作成

複数個所の需要地に対して複数個所の発電所が電力を供給している場合, 最小のコストで各需要地が必要とする電力を送電するための計画, すなわち各発電所から各需要地への送電量計画をGAを適用して求めるものである. すべての発電所とすべての需要地とは相互に送電線で接続されているものと する.

コストには発電コストと送電損失のコストがあり,前者は各発電所の発電量に比例させている.発電所により効率に差があるので,それぞれ別々のコスト係数を使用している. 送電損失は電流すなわち送電電力の二乗と送電線長さに比例させ, その係数は送電線ごとに定めている.

一方,制約条件としては,必要な電力を送電すること,各発電所の発電量には 上限(定格値)があることの二つの条件を考慮している. 従って目的関数は以上の4つの項目を盛り込んで設定している. (石丸浩三)

To top of page

配送センター計画作成

本研究は配送センターの設置計画作成に対するGAの適用である. それぞれ位置の決まっている複数個所の需要先に対して,複数個所の配送センターを 設ける際に,流通コストを最小にするためには,配送センターをどこに設置し, それぞれの需要への配送量をいくらにすればよいかを決定するのに使用する. 輸送コストは輸送距離と輸送量の両者で決まり,ここでは簡単に輸送量に比例し, 輸送距離に比例するとして,目的関数を作成し,最小にするものを求めている. (渡辺玄)
To top of page
小野 俊彦 (Toshihiko Ono)