JPH10111861A - 組み合わせ最適化問題処理方法 - Google Patents

組み合わせ最適化問題処理方法

Info

Publication number
JPH10111861A
JPH10111861A JP8264323A JP26432396A JPH10111861A JP H10111861 A JPH10111861 A JP H10111861A JP 8264323 A JP8264323 A JP 8264323A JP 26432396 A JP26432396 A JP 26432396A JP H10111861 A JPH10111861 A JP H10111861A
Authority
JP
Japan
Prior art keywords
chromosome
optimization problem
elements
exchange
combination optimization
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP8264323A
Other languages
English (en)
Inventor
Fumiyoshi Sasagawa
文義 笹川
Akio Shinagawa
明雄 品川
Toshihiro Nishimura
利浩 西村
Hiroyuki Kanazawa
宏幸 金澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP8264323A priority Critical patent/JPH10111861A/ja
Publication of JPH10111861A publication Critical patent/JPH10111861A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】例えばLSI配置問題などの2次元以上のマッ
ピングの組み合わせ最適化問題処理方法に関し,大規模
な問題に対しても近似的最適解を効率よく求めることが
できるようにする。 【解決手段】遺伝的アルゴリズムのサイクルの中で,解
候補の染色体に対しミンカット法,n要素交換法,自己
組織化法等の他のアルゴリズムによる処理を実施するこ
とにより,染色体集団の全体的な適応度の増大を促進す
る。または遺伝的アルゴリズム以外のアルゴリズムによ
る最適解の探索の処理過程において,複数の要素を選択
して評価値を求める際に,全件探索を行う代わりに遺伝
的アルゴリズムを用いて効率的に近似的最適解を選択す
るようにする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は,例えばLSIの配
置の最適化問題というような2次元以上の空間に対する
要素のマッピングなどの最適化問題において,計算機に
より最適解を効率よく求めることを可能にした組み合わ
せ最適化問題処理方法に関する。
【0002】
【従来の技術】
(1)遺伝的アルゴリズム 遺伝的アルゴリズムとは,生物の遺伝の機構を模倣し
て,これを工学的に応用した技術である。生物の進化の
過程では,既存の個体(親)から新たなる個体(子)が
生まれる際に,個体の持つ染色体同士の交叉,染色体上
の遺伝子の突然変異などが起こる。そして,環境に適応
しない個体は淘汰され,より適応した個体が生き延びて
新たな親となり,さらに新たな子孫を作っていく。こう
して,環境に適応した個体の集団が生き延びていく。各
個体がどの程度環境に適応するかは,染色体(遺伝子の
1次元ストリング)によって決定される。
【0003】遺伝的アルゴリズムでは,組み合わせ最適
化問題の解候補を遺伝子の1次元ストリングである染色
体として表現し,解候補の集団に対して,選択(select
ion)/自己複製(reproduction),交叉(crossover
),突然変異(mutation)等の操作を繰り返し施すこ
とにより最適解の探索を行う。
【0004】最適化問題の目的関数が生物進化の環境に
相当し,目的関数を最適にするものほど大きい値を取る
ような適応度関数が染色体に対して定義される。選択/
自己複製とは,集団の中で適応度の高い染色体を持つ個
体を,より高い確率で選択して次世代の親とする操作で
ある。
【0005】図25は,遺伝的アルゴリズムの交叉およ
び突然変異を説明する図である。交叉とは,図25
(A)に示すように,二つの染色体(親P0,P1)の
一部を相互に入れ換えて新たな個体(子)を作り出す操
作である。
【0006】突然変異とは,図25(B)に示すよう
に,一つの染色体の一部の遺伝子をランダムに他の遺伝
子に置き換える操作である。これらの操作を繰り返すこ
とによって適応度のより高い染色体を多く生存させ,適
応度の低い染色体を淘汰する。これにより,目的関数を
より最適化する解候補の染色体を得ることができる。
【0007】(2)染色体のN次元表現法 染色体をN次元に拡張した表現について説明する。6個
の遺伝子c1,c2,c3,c4,c5,c6からなる
染色体の1次元表現では,染色体はこれらの遺伝子の1
次元ストリングとして表現される。この場合の遺伝子座
は自然数i(i=1,2,…,6)で,i番目の遺伝子
座にある遺伝子はa[i]で示される。すなわち,染色
体は,a[1]a[2]a[3]a[4]a[5]a
[6]のような1次元ストリングである。a[1]=c
4,a[2]=c1,a[3]=c6,a[4]=c
2,a[5]=c3,a[6]=c5の場合には,染色
体は,「c4c1c6c2c3c5」となる。一般に,
長さLの染色体の場合も同様である。
【0008】2次元の場合には,染色体は行列となる。
2×3の行列を考えると,i行,j列にある遺伝子はa
[i,j]で示される。染色体は,例えば, c3c5 c6c2 c4c1 となる。一般に,任意の大きさの染色体を2次元表現す
る場合も同様であり,染色体のN次元表現も同様に拡張
できる。
【0009】
【発明が解決しようとする課題】従来の遺伝的アルゴリ
ズムは,大規模な組み合わせ最適化問題に対して適用す
る場合に,次のような問題があった。
【0010】1)問題の規模が大きい場合には遺伝的ア
ルゴリズムの処理速度が非常に低速である。 2)大規模な問題に対して,遺伝的アルゴリズムと組み
合わせることにより適応値を素早く増加させるような,
有効な既存型アルゴリズムがなく,最適解を得るまでに
長時間かかるという問題があった。
【0011】すなわち,遺伝的アルゴリズムでは,生物
進化の過程を模倣して,選択/複製,交叉,突然変異の
処理を行うことから,個々の染色体に着目すれば,交叉
や突然変異において適応度が低下する染色体も生成され
ることになる。したがって,遺伝的アルゴリズムの選択
/複製処理において,これら適応度の低い染色体を排除
し適応度の高い染色体を複製することにより,染色体の
適応度は集団全体としては,世代を経るごとに増加する
ことになるが,適応度の増加は自然にまかされることに
なる。
【0012】一方,既存の高速アルゴリズムを大規模な
問題に適応する場合にも,問題規模が大きくなるほど,
処理量が膨大なものになり実用性が失われるという問題
があった。しかし,これに対して遺伝的アルゴリズムを
組み合わせる有効な方法が知られていなかった。
【0013】本発明は上記問題点の解決を図り,遺伝的
アルゴリズムと他の問題解決アルゴリズムとを組み合わ
せることによって,組み合わせ最適化問題の近似的最適
解を効率よく求める手段を提供することを目的とする。
【0014】
【課題を解決するための手段】本発明は,遺伝的アルゴ
リズムのサイクルの中で,遺伝的アルゴリズム以外の問
題解決アルゴリズム(以下,他のアルゴリズムという)
を用いて最適化に有効な操作を加える。また,例えばミ
ンカット(min−cut)法,n要素交換法,自己組
織化法等を基本とした他のアルゴリズムの中で,部分的
に遺伝的アルゴリズムを実施し,他のアルゴリズムによ
る解候補の探索において遺伝的アルゴリズムの実施結果
により解候補の改善を行う。または,遺伝的アルゴリズ
ムのサイクルの中で実施する他のアルゴリズムにおいて
も,さらに部分的な遺伝的アルゴリズムを実施するよう
に,遺伝的アルゴリズムと他のアルゴリズムとを組み合
わせて最適化処理を行う。
【0015】遺伝的アルゴリズムによる処理と他のアル
ゴリズムによる処理との組み合わせとしては,次の3通
りの方法がある。 1)遺伝的アルゴリズムの1世代のサイクルの中で,他
のアルゴリズムの処理を実施する。
【0016】2)他のアルゴリズムの処理で最適化を行
う際に,部分的な最適化の処理として,遺伝的アルゴリ
ズムの処理を実施する。 3)上記の1)および2)を組み合わせたもの,すなわ
ち,遺伝的アルゴリズムの処理の過程で実施する他のア
ルゴリズムの処理において,さらに部分的な最適化のた
めに遺伝的アルゴリズムを実施する。
【0017】図1は,本発明の原理を説明する図であ
る。図1(A)は,遺伝的アルゴリズムにおいて他のア
ルゴリズムを実施する場合の例を示している。
【0018】本発明は,遺伝的アルゴリズム1の処理で
交叉や突然変異がなされた後の染色体(遺伝子の並び)
について,ミンカット法,n要素交換法,自己組織化法
等の他のアルゴリズム2の処理を実施する。他のアルゴ
リズム2により得られた評価値の高い解,すなわち遺伝
子の並びが染色体の適応度を改善するものである場合に
は,その染色体を他のアルゴリズム2により得た解に対
応する染色体(遺伝子の並び)に置き換える。
【0019】これにより,染色体の適応度を強制的に増
加させることが可能となる。図1(B)は,他のアルゴ
リズムにおいて遺伝的アルゴリズムの処理を実施する場
合の例を示している。
【0020】他のアルゴリズム3として,n要素交換法
を例に説明する。まず,通常のn要素交換法では,初期
状態として一つの解候補を生成し,解候補の要素からn
個の要素を選択し,選択したn個の要素を入れ替える操
作を繰り返す。全ての入れ替えを試行し,その中で評価
値が高くなる入れ替えを探し出して実際に要素の入れ替
えを行う。n要素の入れ替えを行った解候補から,さら
に他のn個の要素について同様の処理を行う。この処理
を繰り返して,最も評価値の高い解(要素の並び)を求
める。
【0021】ここで,解候補から選択したn個の要素の
全ての並びを探索して最適解を得る代わりに,これらn
個の要素を遺伝子表現とした染色体の初期集団を生成
し,選択/複製,交叉,突然変異からなる遺伝的アルゴ
リズム4の処理を行って最適解を得る。遺伝的アルゴリ
ズム4により得た近似的最適解(n要素の並び)を解候
補にあてはめて新たな解候補とし,n要素交換法の所定
の終了条件を満たすまでn要素交換法の処理と遺伝的ア
ルゴリズムの処理を繰り返す。これにより,最適解を得
るための処理を軽減することが可能となる。
【0022】他のアルゴリズム3としては,解候補から
抽出した複数の要素からなる部分要素群に着目して要素
の並びの評価値を求め,この処理を解候補の全ての要素
に対して繰り返して行うことにより,解候補を改善して
最良解を得るようなものであれば,部分要素に着目した
要素の並びの評価の最適解を得るために遺伝的アルゴリ
ズムを用いることが可能である。
【0023】本発明の作用は次のとおりである。本発明
では,遺伝的アルゴリズム1の処理がなされた全部また
は一部の染色体に対し他のアルゴリズム2を実行し,そ
の染色体(遺伝子の並び)の適応度が改善された場合に
だけ他のアルゴリズムによって得られた染色体(遺伝子
の並び)に置き換える。
【0024】また,他のアルゴリズム3の処理におい
て,選択された複数要素の並びを全て探索して最も評価
値の高いものを選ぶ代わりに,遺伝的アルゴリズムを用
いて近似的最適解を得る。これにより,全件探索の処理
量が膨大になるのを防ぐことができる。
【0025】以上のように,遺伝的アルゴリズムの大域
的探索法と他のアルゴリズムの局所探索法とを組み合わ
せることによって,遺伝的アルゴリズムまたは他のアル
ゴリズムだけを用いる場合に比べて,より効率的に最適
解を求めることが可能になる。
【0026】本発明は,解の候補がN次元染色体で表現
できる組み合わせ最適化問題に対して有効であり,特に
Nが2以上の場合に有効である。
【0027】
【発明の実施の形態】以下,本発明の実施の形態を例に
従って説明する。ここでは,他のアルゴリズムとして,
例えばLSI配置問題のようなマッピング最適化問題の
処理アルゴリズムとして用いられるミンカット法(mi
n−cut法),n要素交換法(n直接要素交換法/n
重心要素交換法),自己組織化法を例にして説明する。
【0028】〔1〕遺伝的アルゴリズムにおいて他のア
ルゴリズムを実施する場合 図1(A)に示す遺伝的アルゴリズムにおいて他のアル
ゴリズムを実施する場合の例を説明する。
【0029】図2は,遺伝的アルゴリズムにおいて他の
アルゴリズムを実施する場合の処理のフローである。ス
テップS1からステップS4は,遺伝的アルゴリズムの
各処理ステップであり,ステップS5からステップS8
は,他のアルゴリズムによる所定の処理のステップであ
る。
【0030】ステップS1では,初期集団として染色体
を生成する。染色体の遺伝子表現は,前述のN次元表現
法等により定義する。ステップS2では,適応度の高い
染色体を選択し,複製する。
【0031】ステップS3では,交叉を行う。交叉とし
ては,一点交叉,多点交叉,貼り付け交叉等がある。ま
た,致死遺伝子が生じるのを防止するため複数の遺伝子
を結ぶパスを生成し,パス内の遺伝子を巡回置換して交
叉を行うようにしてもよい(参考:特願平7−2455
91号「遺伝的アルゴリズム実行装置」)。
【0032】ステップS4では,突然変異を行う。突然
変異としては,置換,反転,自己組織化等がある。図3
は,置換を説明する図である。図3(A)はn=2の置
換の例を示す図であり,染色体中のある位置にある遺伝
子Q1と,別の位置にある遺伝子Q2とを置き換えたも
のを新たな染色体とするものである。また,図3(B)
はn>2の置換の例を示す図であり,n個の遺伝子を選
び適当に置き換えて新たな染色体とする。
【0033】図4は,反転を説明する図である。反転と
は,染色体が多次元の形で表現されているとき,その全
てもしくはいくつかの遺伝子を座標軸に対して反転させ
たものを新たな染色体とするものである。図4(B)
は,図4(A)に示す遺伝子a,b,c,dからなる染
色体を,横方向の軸に対し反転した場合を示し,図4
(C)は,同様の染色体を縦方向の軸に対し反転した場
合を示し,図4(D)は,同様の染色体を縦横両方向の
軸に対し反転した場合を示している。
【0034】図5は,自己組織化を説明する図である。
自己組織化とは,例えば対象がCAD(Computer Aided
Design)におけるセルの配置の最適化問題のような場
合,図5(A)に示すように,セルAと,実際の空間に
おいてセルAの近くにあるべき関係を持つ他のセルB,
C,D,Eからなるセル集合について,遠くに位置する
セルを近づけるように移動させる方法である。図5
(B)は,セル群のうち最も遠くにあるセルを近づける
場合を示している。また,図5(C)は,セルAにつな
がる全てのセルをセルAに近づけるように移動したもの
である。他に,全空間で一番遠いもの同士を近づけるよ
うな自己組織化も有効である。
【0035】ステップS5では,他のアルゴリズムを施
す染色体を選択する。選択方法は任意であり,ランダム
に選択してよい。ステップS6では,所定の処理(他の
アルゴリズムの処理)を行う。他のアルゴリズムの例と
しては,後述するミンカット法,n要素交換法,自己組
織化法等がある。
【0036】ステップS7では,選択した染色体に対し
て施した処理により,より良い解,すなわち適応度を改
善するような解が得られた場合には,元の染色体と置き
換えてその解を保存する。
【0037】ステップS8では,所定の処理の終了条件
を満たすかどうかを判定する。終了条件を満たす場合に
はステップS9の処理を行い,終了条件を満たさない場
合にはステップS5の処理へ戻り,終了条件を満たすま
で処理を繰り返す。終了条件としては,処理回数または
処理時間など任意に定めてよい。
【0038】ステップS9では,現在の染色体の集団が
所定の世代に達したかどうかを判定し,所定の世代に達
した場合には処理を終了し,所定の世代に達していない
場合にはステップS2の処理へ戻る。以下,同様に処理
を繰り返す。
【0039】なお,説明の便宜上,1世代を経るごと
に,他のアルゴリズムによる処理を行うようにしている
が,所定の世代を経たごとに行うなど,遺伝的アルゴリ
ズムのサイクルの中で他のアルゴリズム(ステップS5
〜ステップS8の処理)を行う世代を,他の任意な条件
によって制限してもよい。また,異なる複数のアルゴリ
ズムを実行してもよい。
【0040】続いて,ステップS6の処理で行う他のア
ルゴリズムによる所定の処理の例として,ミンカット
法,n要素交換法,自己組織化法を説明する。 (1)ミンカット法(min−cut法) ミンカット法は,主にLSIの設計におけるセルの配置
を最適化するために用いられている手法である。図6
は,LSIの配置問題の例を説明する図である。簡単に
言うと,LSIの配置問題は,図6(A)のネットリス
トに示すようなLSIの配置を考えるとき,配線により
相互に複雑につながりあったセルを,総配線長がなるべ
く短くなるように平面上に配置する最適化問題である。
図6(B)は,LSIの配置の改善例を示す図である。
【0041】図7は,ミンカット法を説明する図であ
る。図7(A)に示すように,ミンカット法は,配置す
る領域をある線(カットライン)で二分割したとき,そ
のカットラインをまたがる配線箇所(カット)の数が少
なくなるように分割された領域の間でセルの移動/交換
を行い,セルの配置を最適化していくという解法であ
る。
【0042】図7(B)は,最初に二分割してミンカッ
トを実行すると,次にそれぞれの分割された領域内を再
び二分割してミンカットを実行し,領域が細分化される
ように分割を続け,一つの領域に含まれるセルが一つに
なるまで分割を繰り返すことにより一つ一つのセルの配
置を決める場合のミンカット法の例を示している。
【0043】また,図7(C)は,縦および横に二分割
してミンカットを実行すると,分割の結果の配置に対し
て,カットラインをクリアにしてから再度二分割してミ
ンカットを実行する場合のミンカット法の例を示してい
る。
【0044】二分割は,直線のカットラインによる二分
割である必要はなく,図8(A)または(B)に示すよ
うに,適当な形状での二分割であればよい。また,染色
体がトーラス状に表される場合には,図8(C)に示す
ように,ある位置で二分割してミンカットを実行した
ら,その次はカットラインの位置をずらしてミンカット
を実行するようにしてもよい。
【0045】また,図8(D)に示すように,ある位置
で二分割してミンカットを実行したら,その次は要素を
すべて転置し要素をシフトし,さらにミンカットを実行
するようにしてもよい。
【0046】なお,通常のミンカット法と異なり,ミン
カット法によってすべての位置を確定させる必要はない
ので,二分割してミンカットを行う処理の回数は任意に
設定することができる。このようなミンカット法の処理
により,処理対象の染色体にミンカット法の処理を施し
て得た解のほうが適応度が高くなるようであれば実際に
遺伝子をシフトする。
【0047】図9は,ミンカット法による処理のフロー
チャートである。ステップS11では,ミンカット法の
処理へ渡す配置の染色体を選択する。ステップS12で
は,カットラインを設定する。
【0048】ステップS13では,カット(要素間を結
ぶラインがカットラインを横断する点)数を減らすよう
な要素の移動を行う。ステップS14では,最もカット
数を減らすように染色体の配置をシフトする。
【0049】ステップS15では,染色体の二分割の回
数が所定数を超えたかどうかを判定し,二分割の回数が
所定数を超えた場合にはステップS16の処理へ進み,
所定数を超えない場合にはステップS12の処理へ戻
る。
【0050】ステップS16では,ミンカットの処理を
実行すべき染色体を全て尽くしたかどうかを調べる。実
行すべき染色体に対してミンカット法の処理を行った場
合には処理を終了し,まだ実行していない染色体がある
場合にはステップS11の処理へ戻る。
【0051】(2)n要素交換法 n要素交換法は,染色体の中のn個の要素を選び出し,
選択された要素の交換を繰り返して所定の評価値の高い
ものを定める方法である。n要素交換法としてn要素直
接交換法とn要素重心交換法がある。
【0052】図10は,n要素直接交換法を説明する図
である。ここでは,候補解の要素数N=16,選択され
る要素n=2の場合のn要素直接交換法を示している。
2要素交換法では,1単位のオペレーションとして,候
補解(2次元)の中の要素を2個(これをP1,P2と
する)選び,これらの要素の位置を交換する。これによ
って評価値が増す場合には実際にその交換を行い,そう
でない場合にはその交換を行わないようにする。要素の
選択は,候補解の配列上で網羅的に行う。
【0053】具体的には,図10(A)で,候補解の配
列に対し左上隅から右に向かってp1,p2,p3,
…,と位置番号を付与し,最上行の右端に達したら,一
つ下の行の左端からさらに連続した位置番号を付与し,
以下同様に,最下行の最右まで番号を付与し,左上隅の
番号が最小(p1),右下隅の番号が最大(p16)と
なるとする。
【0054】解候補の染色体上で,まず交換要素P1を
位置番号p1の遺伝子,交換要素P2を位置番号p2の
遺伝子として,2要素交換法の1単位のオペレーション
を行う。続いて,交換要素P1を位置番号p1の遺伝
子,交換要素P2を位置番号p3の遺伝子として同様に
1単位のオペレーションを行う。以下,交換要素P2の
位置番号piを順次増加させてオペレーションを繰り返
す。
【0055】交換要素P2の位置番号piが最大(i=
16)に達したところで,次に,交換要素P1を位置番
号p2の要素,交換要素P2を位置番号p3として,同
様に交換要素P2の位置番号piを順次増加させて,位
置番号piが最大(i=16)になるまでオペレーショ
ンを繰り返す。ただし,同じ位置番号pi同士の要素の
交換は無駄であるので行わない。このようなオペレーシ
ョンを繰り返し,交換要素P1の位置番号pjが最大値
になり,交換要素P2の位置番号piが最大値−1(i
=15)の場合のオペレーションの実行を終了した時点
で1セットの2要素交換法の処理の実行終了とする。
【0056】図10(B)および(C)は,n=3の場
合のn要素交換法を説明する図である。図10(B)に
示す配置を持つ染色体から,交換要素P1,P2,P3
として3個の遺伝子a,b,cを選択すると,オペレー
ションによって得られる順列は〔a,b,c〕,〔a,
c,b〕,〔b,a,c〕,〔b,c,a〕,〔c,
a,b〕,〔c,b,a〕である。これらの順列を元の
染色体にあてはめ,それぞれの評価値を算出する。さら
に,交換要素P1,P2,P3として遺伝子a,b,d
を選択し同様に評価値を算出する。このようにして,1
セットが終了したら全ての要素の順列による評価値が最
も高い遺伝子の順列を得る。
【0057】n要素重心交換法は,あるセルと別のセル
を直接交換するのではなく,あるセルからみて繋がって
いるセル群の重心に位置する他のセルと交換する方法で
ある。
【0058】図11は,n=2の場合のn要素重心交換
法を説明する図である。CADにおけるセル配置の最適
化問題のような場合を考える。図11(A)のセルAに
は,セルB,C,Dがつながり,一つのセル群となって
いる。図11(A)中のセルXは,セルAにつながるセ
ル群の重心に位置するセルである。セルAとセルXを入
れ替えた場合の評価値をみて,より良い解が得られる場
合には,図11(B)に示すように実際に入れ替えを行
うようにする。
【0059】n>2の場合には,まず一つのセルを選
び,次にそのセルにつながるセル群の重心の位置にある
セルを選ぶ。以下同様にして,重心の位置にあるセルに
つながるセル群の重心の位置にあるセルをさらに選び,
順々にn個のセルを選ぶ。このn個のセル間で順次入れ
替えを行って,結果を評価する。これらのセルの交換を
行った場合に,より良い解が得られたならば実際に交換
する。最初に選ぶセルを次々に変えて,この操作を繰り
返す。
【0060】ここで,対象となる全要素数が増えてくる
と,n=2の場合でも非常に大きい組み合わせになるの
で,しらみつぶしに探索を行うと処理量が膨大なものと
なる。したがって,ランダムに選んだいくつかの遺伝子
について入れ替えた場合の評価値をみて最適なもの,ま
たは,よいものから所定の割合で選ぶようにしてもよ
い。また,入れ替えを繰り返す途中でより良い解が得ら
れない場合であっても,局所解を防ぐために,ある確率
で遺伝子を交換するようにしておいてもよい。
【0061】図12は,n要素直接交換法による処理の
フローチャートである。ステップS21では,n要素直
接交換法による処理を施す配置の染色体を選択する。
【0062】ステップS22では,選択した染色体から
n個の遺伝子を選択する。ステップS23では,n個の
遺伝子を入れ替える組み合わせの中で最もよい評価値と
なるような入れ替えを実施する。
【0063】ステップS24では,選択したn個の遺伝
子の組み合わせが所定数を超えたかどうかを判定し,所
定数を超えた場合にはステップS25の処理へ進み,所
定数を超えない場合にはステップS22の処理へ戻って
同様に処理を繰り返す。
【0064】ステップS25では,選択すべき染色体を
全て尽くしたかどうかを判定し,全ての染色体について
処理を行った場合には処理を終了し,選択すべき染色体
が残っている場合にはステップS21の処理へ戻る。
【0065】図13は,n要素重心交換法による処理の
フローチャートである。ステップS31では,n要素重
心交換法を施す染色体を選択する。ステップS32で
は,選択した染色体から1個の遺伝子を選択する。
【0066】ステップS33では,選択した遺伝子につ
ながる遺伝子群の重心の位置にある遺伝子を選ぶ。ステ
ップS34では,選択した遺伝子の数がn個になったか
どうかを判定し,選択した遺伝子の数がn個になった場
合にはステップS35の処理へ進み,選択した遺伝子の
数がn個にならない場合にはステップS33へ戻り,今
度は,重心の位置にある遺伝子を基準として,それにつ
ながる遺伝子群の重心の位置にある遺伝子を選ぶ。
【0067】ステップS35では,選択したn個の遺伝
子の交換を試行し,より良い解が得られる場合には実際
に遺伝子を交換する。ステップS36では,定められた
個数の遺伝子を選択したかどうかを判定する。定められ
た個数の遺伝子を選択した場合にはステップS36の処
理へ進み,定められた個数の遺伝子を選択していない場
合にはステップS32の処理へ戻って同様に処理を繰り
返す。
【0068】ステップS37では,定められた個数の染
色体を選択したかどうかを判定する。定められた個数の
染色体を選択した場合には処理を終了し,定められた個
数の染色体を選択していない場合にはステップS31の
処理へ戻って同様に処理を繰り返す。
【0069】(3)自己組織化法 自己組織化法は,前出の図5において説明したものと同
様の処理である。自己組織化による処理を行い,より良
い解が得られる場合には,実際に遺伝子を入れ替えるよ
うにする。
【0070】図14は,図5(B)に示すような自己組
織化(セル集合の最も遠くにあるセルを近づける場合)
による処理フローチャートである。ステップS41で
は,自己組織化を施す配置の染色体を選択する。
【0071】ステップS42では,任意の遺伝子Q1を
選択する。ステップS43では,遺伝子Q1と結合して
いる全ての遺伝子のうち,最も遠いいくつかの遺伝子を
一定距離だけ近づける。
【0072】ステップS44では,選択した遺伝子が所
定数を超えたかどうかを判定し,所定数を超えた場合に
はステップS45の処理へ進み,所定数を超えない場合
にはステップS42の処理へ戻る。
【0073】ステップS45では,選択すべき染色体を
尽くしたかどうかを判定し,全ての染色体について処理
を行った場合には処理を終了し,選択すべき染色体がま
だ残っている場合にはステップS41の処理へ戻る。
【0074】図15は,図5(C)に示す自己組織化
(セル集合のうち全てのセルを近づける場合)による処
理のフローチャートである。ステップS51では,自己
組織化を施す配置の染色体を選択する。
【0075】ステップS52では,任意の遺伝子Q1を
選択する。ステップS53では,遺伝子Q1と結合して
いる全ての遺伝子を一定距離だけ近づける。
【0076】ステップS54では,選択した遺伝子が所
定数を超えたかどうかを判定し,所定数を超えた場合に
はステップS55の処理へ進み,所定数を超えない場合
にはステップS52の処理へ戻る。
【0077】ステップS55では,選択すべき染色体を
尽くしたかどうかを判定し,全ての染色体について処理
を行った場合には処理を終了し,選択すべき染色体がま
だ残っている場合にはステップS51の処理へ戻る。
【0078】本実施の形態の例として,N次元トーラス
構成の並列計算機において,プロセッサ(PE)間の通
信の相互の競合を最小にするようなプロセス配置問題へ
の応用を考える。プロセス間の通信状況(通信の有無
と,通信がある場合にはその頻度)を反映して,〔通信
距離×通信頻度〕の並列計算機全体にわたる総和が最小
になるように各プロセスを配置する。
【0079】図16は,2次元トーラス構成の並列計算
機において,プロセッサ間の通信の相互の競合を最小に
するプロセスの配置最適化の例を示す図である。図16
(A)は,プロセス間通信のグラフであり,プロセッサ
アレイ上に配置するプロセス間の通信状況を示してい
る。グラフの頂点(ノード)は,プロセスを表し,その
中の数字はプロセス番号を示す。辺(リンク)は,両端
のプロセス間に通信があることを示す。辺には(図示し
ていないが),通信頻度が与えられている。通信距離
は,並列計算機の2次元トーラス状のネットワークに沿
って計測したものとする。
【0080】図16(B)は,プロセッサアレイ(この
場合は2次元トーラス)上に,プロセスが配置されてい
る状況を示している。各綱目(メッシュ)は一つのプロ
セッサを表し,その中の数字はそのプロセッサに配置さ
れたプロセス番号を示す。
【0081】ここで解く問題は,「プロセス間通信のグ
ラフ」に示すプロセスを,「〔通信距離×通信頻度〕の
『プロセッサアレイ』全体にわたる総和が最小」になる
ように,「プロセッサアレイ」上に配置する問題であ
る。
【0082】図17は,この問題を解く処理例のフロー
チャートである。ステップS61では,染色体の初期集
団を生成し,適応度関数を定める。すなわち,「プロセ
ッサアレイ」と同一構造(2次元トーラス状配列)の染
色体を定義する。各配列要素(遺伝子)は,マッピング
元のプロセス番号を持ち,プロセス番号は染色体ごとに
重複しない。適応度関数は,各プロセス間の〔通信距離
×通信頻度〕を並列計算機全体にわたる総和を十分に大
きい数から引いた数である。
【0083】ステップS62では,2次元トーラス状配
列である染色体にミンカット法を施す。ここでは,通常
のミンカット法に加えて,シフト,転置,分割状態の制
御,分割形状の制御等の操作を加える。
【0084】シフトでは,染色体をある位置で二分割し
てミンカット法を実行し,次はカットする位置をシフト
してミンカット法を実行する。転置では,ある位置で二
分割してミンカット法を実行し,次は配列全体を転置し
てからミンカット法を実行する。分割状態の制御では,
二分割を最小単位になるまで繰り返さずに,カットライ
ンをクリアして前段階の分割状態に戻してから,また二
分割を行う。分割形状の制御では,分割を等分で行わず
に,適当な分割形状でミンカット法を行う。以上の処理
によって,染色体の解候補を表す集団は,事前に適応度
が高いものに改善されることになる。
【0085】ステップS63では,前世代の個体集団か
ら,適応度関数値を基準に1交叉あたり2個体(染色体
Q1,Q2)を選択する。ステップS64では,染色体
Q1,Q2間で交叉を行う。交叉としては,切り出し,
重心への貼り付け位置の決定,矛盾回避,貼り付け等の
操作を行う。この交叉の例を図18に従って説明する。
ここでは,説明を簡単にするために,5×5の2次元染
色体を例に説明する。
【0086】切り出しでは,図18(A)に示すように
任意の染色体Q1を選び,その2次元トーラス状の形状
のうち長方形の部分(プロセス番号h,i,m,n)を
切り出す。これを図18(B)に示すような他の染色体
Q2に貼り付けるものとする。
【0087】重心への貼り付け位置の決定では,染色体
Q1の長方形部分に含まれるプロセス番号h,i,m,
nが,染色体Q2でどの位置に配置するかを調べ,その
配置の重心が,切り出した染色体Q1の長方形部分の重
心と一致するような位置に決定する。貼り付け位置は,
染色体Q2におけるh,i,m,nの配置から,図18
(B)に太枠で示す位置に決定される。
【0088】次の矛盾回避では,プロセス番号の重複を
防ぐ調整のため,染色体Q1の長方形部分に含まれるプ
ロセス番号h,i,m,nを,染色体Q2の貼り付ける
部分に集める。すなわち,図18(B)の染色体Q2に
おいて,プロセス番号nとa,プロセス番号mとeとを
入れ替え,図18(C)に示す染色体Q2′のようにす
る。
【0089】これに対して,先に切り出した染色体Q1
の長方形部分を貼り付け,図18(D)に示すような新
しい染色体を得る。ステップS64では,以上のような
処理を行う。
【0090】ステップS65では,突然変異を行う。突
然変異として,置換,自己組織化,反転の操作を行う。
置換では,染色体中の任意の遺伝子と,別の任意の遺伝
子とを置き換える。これをt回(tは実行時に調節する
パラメータ)行う。
【0091】自己組織化では,第1の自己組織化の操作
として,任意の遺伝子P1を選び,遺伝子P1にあるプ
ロセスがプロセス空間で結合しているm個のプロセスの
うち最も距離が遠い位置にあるプロセスを任意に定めた
割合だけ近づくように移動させる。また,第2の自己組
織化の操作として,任意の遺伝子P1を選び,遺伝子P
1にあるプロセスがプロセス空間で結合しているm個の
プロセスすべてを1格子分近づくように移動させる。
【0092】反転では,染色体をx軸を中心として反転
させたものを新たな染色体とする。同時に他の染色体に
対しy軸について反転させる処理も行う。また,x軸に
ついて反転させた後y軸について反転させることも行
う。
【0093】ステップS66では,自己組織化を行う。
自己組織化として,第1の操作と,第2の操作を行う。
遺伝子操作の処理自体は,ステップS65の突然変異に
おける自己組織化と同様な処理であるが,ここでは,自
己組織化後の適応度を評価し,実際に自己組織化により
適応度が高くなる場合にだけ,遺伝子の変更操作を実施
する。第1の操作は,染色体(2次元)の中で,互いに
プロセス空間で結合関係を持つ遺伝子同士の距離を全遺
伝子の組にわたって調べ,その中で距離が大きい方のい
くつかの組において遺伝子同士を横(x軸)方向へ
x ,縦(y軸)方向へm y ずつ近づけるという操作で
ある。相互の距離が横(x軸)方向においてmx 以下,
または縦(y軸)方向においてmy 以下の場合には各方
向ごとに最も近づく位置まで移動する。ある遺伝子(プ
ロセス)Paを近づける場合には,その遺伝子Paを,
近づける先の位置に移動する。また,遺伝子Paが元々
あった位置と,遺伝子Paの移動先の位置を結ぶ線分に
沿って,遺伝子を順次移動(シフト)し,遺伝子が重な
らず,各位置に一つずつあるようにする。
【0094】第2の操作は,染色体(2次元)の中の遺
伝子(プロセス)P1を一つ選び,その遺伝子P1とプ
ロセス空間で結合関係を持つ他の遺伝子全てを,遺伝子
P1に横(x軸)方向へmx ,縦(y軸)方向へmy
つ近づけるという操作である。遺伝子P1との距離が横
(x軸)方向においてmx 以下の場合,または,縦(y
軸)方向においてmy 以下の場合には,各方向ごとに遺
伝子P1に最も近づく位置まで移動させる。近づける遺
伝子の移動に伴う他の遺伝子の移動(シフト)は,第1
の操作の場合と同様に行う。
【0095】ステップS67では,2要素交換法を行
う。2要素交換法では,1単位のオペレーションとし
て,染色体(2次元)の中の遺伝子(プロセス)P1,
P2を2個選び,これらの遺伝子P1,P2の位置を交
換することによって適応度関数値が増す場合には実際に
その交換を行い,そうでない場合にはその交換を行わな
いようにする。二つの遺伝子P1,P2の選択は,染色
体上で網羅的に行う。
【0096】ステップS68では,適応度値を計算し,
所定の適応度値以上の個体を残して複製する。この選択
/複製では,例えば適応度の高低に応じて選択確率を変
えるルーレット選択法等を用いてもよい。
【0097】ステップS69では,終了条件を満たすか
どうかを判定し,終了条件を満たす場合には処理を終了
し,終了条件を満たさない場合には,ステップS63の
処理へ戻る。終了条件としては,所定の世代数,処理の
実行時間,最高適応度の収束など,任意に定めてよい。
【0098】ステップS70では,染色体集団の中から
適応度の最も高い染色体を選び,それを最適解とする。 〔2〕他のアルゴリズムの処理において遺伝的アルゴリ
ズムを実施する場合 次に,図1(B)に示す他のアルゴリズムの処理におい
て遺伝的アルゴリズムを実施する場合の例を説明する。
【0099】他のアルゴリズムの処理において遺伝的ア
ルゴリズムを実施する場合,例えばn要素交換法の処理
のうち,n個の要素を選んだ後にそのn個の要素の最適
な入れ替え方を求めるのに遺伝的アルゴリズムを用い
る。
【0100】なお,n要素重心交換法においてはもちろ
んのこと,ミンカット法等のように,解候補の中から複
数の要素を選択し,それらの要素について全件探索を行
って最適解を決定するような過程を持つ他のアルゴリズ
ムであれば,複数要素の選択から最適解の決定までの処
理過程を,部分的に遺伝的アルゴリズムの処理で行うこ
とが可能である。
【0101】図19は,n要素直接交換法において遺伝
的アルゴリズムを実施する場合の処理の例を示す図であ
る。前出の図16に示す並列計算機におけるプロセス配
置最適化問題を対象に処理を行うものとする。
【0102】ステップS71〜ステップS78の処理は
n要素直接交換法の処理であり,ステップS81〜ステ
ップS86は遺伝的アルゴリズムの処理である。n要素
交換法の1単位のオペレーションは,解表現の中の要
素,すなわちプロセスをn個選び(ステップS72),
これらの要素の位置を置換(交換)することによって評
価値が増す場合には実際にその置換を行い,そうでない
場合には実際にはその置換は行わないというものであ
り,評価値が増加するものが複数ある場合には,最も増
分が多い置換を選ぶ(ステップS73〜ステップS7
7)。評価値は,解表現を遺伝的アルゴリズムの染色体
とみなした場合の適応度に相当する値である。
【0103】ここでnの値が大きい場合には,全件探索
を行うと処理に多大な時間がかかるため,この処理を遺
伝的アルゴリズムで行うものとする。しがたって,ステ
ップS73からステップS76までの処理を実行する代
わりに,ステップS81〜ステップS86の遺伝的アル
ゴリズムの処理を実行することにより,n個の置換の中
で適応度の増分の多いものを求める。
【0104】ステップS71では,初期状態として,問
題の形状をそのまま用いた2次元トーラス状配列の解表
現の解候補を一つ生成する。ステップS72では,n個
の要素を選択する。遺伝的アルゴリズムを適用するn個
の要素の選択方法としては,点集合におけるランダム選
択,閉領域におけるランダム選択,局所的選択と大域的
選択との反復等がある。
【0105】点集合におけるランダム選択とは,全要素
の中から 完全にランダムにn個の要素を選ぶ方法であ
る。閉領域におけるランダム選択とは,n個の要素が一
つの繋がった領域となるように選ぶ方法であり,その領
域の形状は直方体や他の境界形状からなる。さらに単連
結,多重連結のどちらでもよい。
【0106】局所的選択と大域的選択との反復とは,図
20(A)に示すように,全領域を分割して一つの部分
領域内においてn個の要素を選択し(局所的選択),こ
れらn個の要素に対して最適化し,次に,図20(B)
に示すように,各分割された部分領域から一つずつ要素
を選択し(大域的選択),これらのn個の要素に対して
最適化することを反復するものである。なお,全領域を
分割するさいに,規則的な形状で分割してもよく,また
非規則的な形状で分割してもよい。
【0107】ステップS81では,n要素から染色体の
初期集団を生成する。すなわち,元の解候補の表現にお
いて選択したn要素を配置した配列を染色体とするコー
ディングを行う。元の解候補の表現の空間のx方向,y
方向の長さをそれぞれLx,Ly(整数)とし,このコ
ーディングにおける染色体の空間のx方向,y方向の長
さをそれぞれlx,ly(整数)とし,Ax,Ayを整
定数とするとき,次のような関係が成立するように染色
体を構成する。
【0108】Lx=Ax×lx Ly=Ay×ly 元の解候補の表現とこのコーディングにおける染色体間
のマッピングは,元の解候補の表現をx方向にlx分
割,y方向にly分割した時に左からi番目,上からj
番目にできる区画Dijとし,染色体の左からi番目,上
からj番目の遺伝子には,Dijの要素のうちの一つが入
るようにする。集団内の全染色体を通して元の解候補の
表現上のどのプロセスを選ぶかは同一である。この場
合,各配列要素である遺伝子は,元の解候補の表現への
マッピング元におけるプロセス番号,すなわちプロセス
空間におけるプロセス番号を持つ。プロセス番号は染色
体ごとに重複しないものする。
【0109】適応度関数は,元の解候補の表現におけ
る,各プロセス間の〔通信距離×通信頻度〕のプロセス
全体にわたる総和を十分大きい数から引いた数である。
通信距離は,元の解表現において2次元トーラス格子に
そって測定したものとする。
【0110】ステップS82〜ステップS85では,例
えば,図17の処理フローチャートで説明したような,
遺伝的アルゴリズムの各処理として,終了条件を満たす
まで選択/複製,交叉,突然変異の操作を繰り返して行
う。
【0111】ステップS86では,最適解を抽出する。
ステップS77では,ステップS86で得た最適解の評
価値が現在の解候補より高い場合には,この最適解を解
候補とする。
【0112】ステップS78では,n要素直接交換法の
終了条件を満たすかどうかを判定し,終了条件を満たす
場合には処理を終了し,終了条件を満たさない場合には
ステップS72の処理へ戻って同様に処理を繰り返す。
【0113】
【実施例】図21に示すような通信頻度の関係を持つ1
6個のプロセス配置の最適化問題をとりあげる。図21
中,黒い丸印はプロセス間通信が頻度1で存在すること
を示す。
【0114】図22は,16個のプロセスの配置最適化
問題をミンカット法を用いて解決する場合の処理を説明
する図である。図22(A)は,プロセス番号7の要素
の位置についてミンカット法を実行する前のプロセスの
配置を示す図であり,図22(B)は,二分割してミン
カット法を実行するという一つの操作をして得た改善さ
れた配置を示す図である。n要素交換法の場合と同様,
これらのプロセス(要素)の位置を置換(交換)するこ
とによって評価値が増す場合には実際にその置換を行
い,そうでない場合には実際にはその置換は行わないと
いうものであり,評価値が増加するものが複数ある場合
には,最も増分が多い置換を選ぶ。評価値は,解表現を
遺伝的アルゴリズムの染色体とみなした場合の適応度に
相当する値である。
【0115】ここで,ミンカット法により各要素の最適
な配置を求める場合に,元の解候補の表現において配置
した部分的な要素の配列を染色体とするコーディングを
行って初期集団を生成し,遺伝的アルゴリズムの処理に
より近似最適解を得る。
【0116】図23は,図22と同一の最適化問題を2
要素直接交換法を用いて解決する場合の処理を説明する
図であり,2要素を交換したときに,通信コストが小さ
くなるならば,実際に交換を行う。
【0117】図24は,同様に2要素重心交換法を用い
て解決する場合の処理を説明する図である。例えばプロ
セス番号3に着目したとき,これと通信するプロセス
は,プロセス番号が2,4,7,15のものである。プ
ロセス番号2,4,7,15の配置の重心位置には,プ
ロセス番号5のプロセスが配置されているので,プロセ
ス番号3とプロセス番号5を交換したものについて,
(通信距離×通信頻度)の通信コストを算出し,改善さ
れていれば実際に交換を行う。
【0118】図23または図24に示すようなn要素直
接交換法,n要素重心交換法において,特にnの値が大
きい場合に,遺伝的アルゴリズムを利用することによっ
て効率的に解候補の改善を図ることができることは前述
した通りであるので,これ以上の詳しい説明を省略す
る。
【0119】以上,遺伝的アルゴリズムにおいて他のア
ルゴリズムを実施する場合の例と,他のアルゴリズムの
処理において遺伝的アルゴリズムを実施する場合の例に
ついて説明したが,さらにこれらの二つを組み合わせて
実施することもできる。
【0120】
【発明の効果】以上説明したように,本発明によれば,
遺伝的アルゴリズムのサイクルの中で他のアルゴリズム
を用いることにより,適応度の増加を加速させることが
できるようになり,最適解を得るまでの処理速度を向上
させることができるようになる。また,他のアルゴリズ
ムに遺伝的アルゴリズムを組み合わせる場合には,全件
探索による処理量を軽減させることができるようなり,
最適解を効率的に探索できるようになる。
【0121】さらに,遺伝的アルゴリズムのサイクルの
中で実施する他のアルゴリズムにおいても,部分的な最
適化に遺伝的アルゴリズムを用いることにより,非常に
大規模な最適化問題に対しても,より効率的な最適解の
探索が可能となる。
【図面の簡単な説明】
【図1】本発明の原理を説明する図である。
【図2】遺伝的アルゴリズムにおいて他のアルゴリズム
を実施する場合の処理の流れを示す図である。
【図3】遺伝的アルゴリズムの突然変異として用いる置
換を説明する図である。
【図4】遺伝的アルゴリズムの突然変異として用いる反
転を説明する図である。
【図5】遺伝的アルゴリズムの突然変異として用いる自
己組織化を説明する図である。
【図6】LSIの配置問題の例を示す図である。
【図7】ミンカット法を説明する図である。
【図8】ミンカット法における二分割の例を示す図であ
る。
【図9】ミンカット法による処理のフローチャートであ
る。
【図10】n要素直接交換法を説明する図である。
【図11】n要素重心交換法を説明する図である。
【図12】n要素直接交換法による処理のフローチャー
トである。
【図13】n要素重心交換法による処理のフローチャー
トである。
【図14】自己組織化による処理のフローチャートであ
る。
【図15】自己組織化による処理のフローチャートであ
る。
【図16】並列計算機におけるプロセス配置最適化の例
を示す図である。
【図17】並列計算機におけるプロセス配置最適化問題
の処理の流れを説明する図である。
【図18】交叉の例を示す図である。
【図19】n要素直接交換法において遺伝的アルゴリズ
ムを実施する場合の処理の流れを示す図である。
【図20】局所的選択および大域的選択を説明する図で
ある。
【図21】16個のプロセス間の通信頻度を説明する図
である。
【図22】16個のプロセスの配置最適化問題をミンカ
ット法により解決する場合の処理の例を示す図である。
【図23】16個のプロセスの配置最適化問題を2要素
直接交換法により解決する場合の処理の例を示す図であ
る。
【図24】16個のプロセスの配置最適化問題を2要素
重心交換法により解決する場合の処理の例を示す図であ
る。
【図25】遺伝的アルゴリズムの説明図である。
【符号の説明】
1,4 遺伝的アルゴリズム 2,3 他のアルゴリズム
───────────────────────────────────────────────────── フロントページの続き (72)発明者 西村 利浩 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 (72)発明者 金澤 宏幸 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 解の候補をN次元染色体で表現できる組
    み合わせ最適化問題を,遺伝的アルゴリズムと他の問題
    解決アルゴリズムとを組み合わせて計算機によって解く
    組み合わせ最適化問題処理方法であって,解候補の集団
    であるN次元染色体の選択/複製とN次元染色体の変更
    操作とを含む遺伝的アルゴリズムのサイクルの中で,他
    の問題解決アルゴリズムを用いて,解候補のN次元染色
    体を適応度が高くなるように改善する過程を有すること
    を特徴とする組み合わせ最適化問題処理方法。
  2. 【請求項2】 請求項1記載の組み合わせ最適化問題処
    理方法において,前記遺伝的アルゴリズムのサイクルの
    中に,染色体の遺伝子を変化させる突然変異を含み,突
    然変異の操作として,遺伝子の置換をもとにした方法,
    染色体の自己組織化をもとにした方法もしくは染色体の
    反転をもとにした方法またはこれらの複数を組み合わせ
    た方法を用いることを特徴とする組み合わせ最適化問題
    処理方法。
  3. 【請求項3】 請求項2記載の組み合わせ最適化問題処
    理方法において,前記染色体の自己組織化をもとにした
    突然変異の方法は,N次元染色体で表現された解候補に
    含まれる,ある要素の近くにあるべき要素の中で最も遠
    い要素を近づける方法,解候補が表す全空間で一番遠い
    もの同士を近づける方法または近くにあるべき要素全て
    を近づける方法を含むことを特徴とする組み合わせ最適
    化問題処理方法。
  4. 【請求項4】 請求項1記載の組み合わせ最適化問題処
    理方法において,前記他の問題解決アルゴリズムとし
    て,ミンカット法をもとにした方法,n要素交換法もし
    くは自己組織化をもとにした方法またはこれらの複数を
    組み合わせた方法を用いることを特徴とする組み合わせ
    最適化問題処理方法。
  5. 【請求項5】 請求項4記載の組み合わせ最適化問題処
    理方法において,前記n要素交換法をもとにした方法
    は,n個の要素を入れ換える組み合わせの中から最良の
    入れ換えの組み合わせを見つけ出して実際に入れ換える
    か,または評価値が改善されない場合であっても所定の
    確率で要素の入れ換えを行うn要素直接交換法であるこ
    とを特徴とする組み合わせ最適化問題処理方法。
  6. 【請求項6】 請求項4記載の組み合わせ最適化問題処
    理方法において,前記n要素交換法をもとにした方法
    は,ある要素を,これに連結している全ての要素の重心
    となる要素と交換したことによってより良い解が得られ
    る場合には実際にその交換を行うか,または交換によっ
    てより良い解が得られない場合でも確率的に交換を行う
    ことを,重心の位置にある要素を対象として連鎖的に繰
    り返し,n個の要素を入れ替えるn要素重心交換法であ
    ることを特徴とする組み合わせ最適化問題処理方法。
  7. 【請求項7】 解の候補または部分的な解の候補をN次
    元染色体で表現できる組み合わせ最適化問題を,遺伝的
    アルゴリズムと他の問題解決アルゴリズムとを組み合わ
    せて計算機によって解く組み合わせ最適化問題処理方法
    であって,前記他の問題解決アルゴリズムで最適解を求
    める際の解候補に含まれる部分的な要素を対象とした探
    索において部分的に遺伝的アルゴリズムを実施し,その
    遺伝的アルゴリズムの実施結果により前記他の問題解決
    アルゴリズムによる解候補の改善のための置き換えを行
    う過程を有することを特徴とする組み合わせ最適化問題
    処理方法。
  8. 【請求項8】 請求項7記載の組み合わせ最適化問題処
    理方法において,前記他の問題解決アルゴリズムは,ミ
    ンカット法をもとにした方法,n要素交換法または自己
    組織化をもとにした方法であることを特徴とする組み合
    わせ最適化問題処理方法。
  9. 【請求項9】 請求項8記載の組み合わせ最適化問題処
    理方法において,前記ミンカット法をもとにした方法と
    して,染色体がトーラスの場合にカット位置をシフトす
    る方法,染色体をカットラインに対して転置する方法,
    分割をm回繰り返して処理した後,再度もとの大きさか
    ら分割をm回繰り返す処理を1回以上行うことにより分
    割段階を制御する方法,または分割する境界の形状を任
    意にする方法を用いることを特徴とする組み合わせ最適
    化問題処理方法。
  10. 【請求項10】 請求項8記載の組み合わせ最適化問題
    処理方法において,前記n要素交換法をもとにした方法
    は,n個の要素を入れ換える組み合わせの中から最良の
    入れ換えの組み合わせを見つけ出して実際に入れ換える
    か,または評価値が改善されない場合であっても所定の
    確率で要素の入れ換えを行うn要素直接交換法であるこ
    とを特徴とする組み合わせ最適化問題処理方法。
  11. 【請求項11】 請求項8記載の組み合わせ最適化問題
    処理方法において,前記n要素交換法をもとにした方法
    は,ある要素を,これに連結している全ての要素の重心
    となる要素と交換したことによってより良い解が得られ
    る場合には実際にその交換を行うか,または交換によっ
    てより良い解が得られない場合でも確率的に交換を行う
    ことを,重心の位置にある要素を対象として連鎖的に繰
    り返し,n個の要素を入れ替えるn要素重心交換法であ
    ることを特徴とする組み合わせ最適化問題処理方法。
  12. 【請求項12】 請求項8記載の組み合わせ最適化問題
    処理方法において,前記自己組織化をもとにした方法
    は,N次元染色体で表現された解候補に含まれる,ある
    要素の近くにあるべき要素の中で最も遠い要素を近づけ
    る方法,解候補が表す全空間で一番遠いもの同士を近づ
    ける方法または近くにあるべき要素全てを近づける方法
    であることを特徴とする組み合わせ最適化問題処理方
    法。
  13. 【請求項13】 解の候補または部分的な解の候補をN
    次元染色体で表現できる組み合わせ最適化問題を,遺伝
    的アルゴリズムと他の問題解決アルゴリズムとを組み合
    わせて計算機によって解く組み合わせ最適化問題処理方
    法であって,前記他の問題解決アルゴリズムで最適解を
    求める際の解候補に含まれる部分的な要素を対象とした
    探索において部分的に遺伝的アルゴリズムを実施し,そ
    の遺伝的アルゴリズムの実施結果により前記他の問題解
    決アルゴリズムによる解候補の改善のための置き換えを
    行う過程と,前記遺伝的アルゴリズムのサイクルの中
    で,さらに他の問題解決アルゴリズムを用いて,解候補
    のN次元染色体を適応度が高くなるように改善する過程
    とを有することを特徴とする組み合わせ最適化問題処理
    方法。
JP8264323A 1996-10-04 1996-10-04 組み合わせ最適化問題処理方法 Withdrawn JPH10111861A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8264323A JPH10111861A (ja) 1996-10-04 1996-10-04 組み合わせ最適化問題処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8264323A JPH10111861A (ja) 1996-10-04 1996-10-04 組み合わせ最適化問題処理方法

Publications (1)

Publication Number Publication Date
JPH10111861A true JPH10111861A (ja) 1998-04-28

Family

ID=17401594

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8264323A Withdrawn JPH10111861A (ja) 1996-10-04 1996-10-04 組み合わせ最適化問題処理方法

Country Status (1)

Country Link
JP (1) JPH10111861A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001043261A (ja) * 1999-03-09 2001-02-16 Agency Of Ind Science & Technol デジタルシステム、デジタルシステムのクロック信号調整方法および、その調整方法で実行する処理プログラムを記録した記録媒体
US6658581B1 (en) 1999-03-29 2003-12-02 Agency Of Industrial Science & Technology Timing adjustment of clock signals in a digital circuit
JP2005056421A (ja) * 2003-08-05 2005-03-03 Mitsubishi Electric Research Laboratories Inc 複数の要素および複数の値を含む組合せ最適化問題を解く方法
JP2006155449A (ja) * 2004-12-01 2006-06-15 Matsushita Electric Ind Co Ltd 分散遺伝的アルゴリズムを用いた最適化処理方法
CN109141488A (zh) * 2018-07-26 2019-01-04 福州大学 一种基于交换粒子群的布拉格光纤光栅传感器重叠光谱解调方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001043261A (ja) * 1999-03-09 2001-02-16 Agency Of Ind Science & Technol デジタルシステム、デジタルシステムのクロック信号調整方法および、その調整方法で実行する処理プログラムを記録した記録媒体
US6658581B1 (en) 1999-03-29 2003-12-02 Agency Of Industrial Science & Technology Timing adjustment of clock signals in a digital circuit
US6993672B2 (en) 1999-03-29 2006-01-31 Agency Of Industrial Science & Technology Timing adjustment of clock signals in a digital circuit
JP2005056421A (ja) * 2003-08-05 2005-03-03 Mitsubishi Electric Research Laboratories Inc 複数の要素および複数の値を含む組合せ最適化問題を解く方法
JP2006155449A (ja) * 2004-12-01 2006-06-15 Matsushita Electric Ind Co Ltd 分散遺伝的アルゴリズムを用いた最適化処理方法
CN109141488A (zh) * 2018-07-26 2019-01-04 福州大学 一种基于交换粒子群的布拉格光纤光栅传感器重叠光谱解调方法

Similar Documents

Publication Publication Date Title
Liu et al. Applying multi-objective ant colony optimization algorithm for solving the unequal area facility layout problems
CN107330214B (zh) 基于离散化与启发式进化算法的空间布局优化方法
McCabe et al. Optimizing the shape of a surge-and-pitch wave energy collector using a genetic algorithm
Shi et al. New parallel randomized algorithms for the traveling salesman problem
CN107563653B (zh) 一种多机器人全覆盖任务分配方法
Su et al. A non-revisiting genetic algorithm based on a novel binary space partition tree
Liu et al. Configuration space evolutionary algorithm for multi-objective unequal-area facility layout problems with flexible bays
Tawhid et al. A hybrid social spider optimization and genetic algorithm for minimizing molecular potential energy function
Sato et al. Pareto frontier exploration in multiobjective topology optimization using adaptive weighting and point selection schemes
CN112036573B (zh) 一种基于中等规模有噪声量子计算机的量子位交互拓扑结构及其映射方法
Al-Khiaty et al. Matching UML class diagrams using a Hybridized Greedy-Genetic algorithm
CN115481727A (zh) 一种基于进化计算的意图识别神经网络生成与优化方法
JPH10111861A (ja) 組み合わせ最適化問題処理方法
Michalak ED-LS–A heuristic local search for the multiobjective Firefighter Problem
Zheng et al. Multi-objective gene expression programming for clustering
Wong et al. Solving the two-dimensional irregular objects allocation problems by using a two-stage packing approach
Tian et al. Two efficient local search algorithms for the vertex bisection minimization problem
Ediger et al. Routing based on evolved agents
Datta et al. Mapping quantum circuits to 2-dimensional quantum architectures
Burgess et al. Optimisation of irregular multiprocessor computer architectures using geneticalgorithms
Soper et al. A combined evolutionary search and multilevel approach to graph partitioning
Jain et al. A genetic algorithm based approach to solve vlsi floor planning problem
Kumar et al. Topological and Dimensional constraints based optimal placement of Layout Entities using Clustering and Genetic Algorithm
Kureychik et al. Algorithm of graph planarity defenition for improving the quality of the very large scale integrations circuits tracking
An et al. Optimal algorithms for graphs and images on a shared memory mesh

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20040106