JP3751647B2 - Problem solving operation apparatus and method introducing the concept of state transition - Google Patents

Problem solving operation apparatus and method introducing the concept of state transition Download PDF

Info

Publication number
JP3751647B2
JP3751647B2 JP31150994A JP31150994A JP3751647B2 JP 3751647 B2 JP3751647 B2 JP 3751647B2 JP 31150994 A JP31150994 A JP 31150994A JP 31150994 A JP31150994 A JP 31150994A JP 3751647 B2 JP3751647 B2 JP 3751647B2
Authority
JP
Japan
Prior art keywords
processing unit
search
solution
state
value
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.)
Expired - Fee Related
Application number
JP31150994A
Other languages
Japanese (ja)
Other versions
JPH07225752A (en
Inventor
伊藤  裕康
明雄 品川
利浩 西村
浩之 岡田
統衞 安達
肇 大井
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 JP31150994A priority Critical patent/JP3751647B2/en
Publication of JPH07225752A publication Critical patent/JPH07225752A/en
Application granted granted Critical
Publication of JP3751647B2 publication Critical patent/JP3751647B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【産業上の利用分野】
本発明は、例えばトラベリングセールスマン問題などのような組み合わせ最適化問題の解決方式に係り、さらに詳しくはそれぞれ複数の最適解探索手法を組み合わせた複数の探索状態の間での状態遷移の概念を導入することによって、最適解の探索を高速化する、状態遷移の概念を導入した問題解決演算装置およびその方法に関する。
【0002】
【従来の技術】
本発明が対象とする問題解決演算装置は、いわゆる数理計画問題の解を求める装置である。対象とする数理計画問題としてはトラヒック制御、特に通信ネットワークにおけるパケットなどの最適伝送経路、または電力ネットワークの配電経路の制御、交通システムにおける物流配送経路の決定、列車ダイヤ、バスダイヤ、及びフライトスケジュールなどのスケジュール問題、並列処理プロセッサの間の負荷分散方式、及びプロセッサ間の結合網のルーティング制御などがある。
【0003】
これらの数理計画問題の中で、「N個の都市を重複を許さずに最短距離で回れ」と言うトラベリングセールスマン問題に対しては、全ての組み合わせを探索して最適解を求める手法を適用すると都市数Nの増加と共に計算時間が指数関数的に増加する。このような問題はいわゆるNP困難(ノン・デターミニスティック・ポリノミアル・ハード)と言われ、いわゆる多項式以内の時間では、最適解を求めるアルゴリズムが存在しないことがすでに判明している。
【0004】
このような数理計画問題の最適解を求める従来の最適化手法を、厳密性、すなわち得られる解の最適性の観点から見ると▲1▼厳密な最適解を求める方法としての厳密解法と、▲2▼近似最高解を高速に求める方法としての近似解法とに大別される。
【0005】
また解の探索方法と言う観点から見ると、最適化手法は▲3▼厳密な列挙、あるいは等化的な列挙によって厳密な最適解を求める列挙共通手法、▲4▼最適解、あるいは近似解を生成するためのルールを用いて、ただ1つの解にヒューリスティックにしぼり込む手法としての発見的手法、及び▲5▼▲3▼と▲4▼の中間的方法であって、解空間の部分領域を探索することによって近似最適解を求める手法としての探索的手法との3つに分類される。
【0006】
このような最適化手法の1つとしての遺伝的アルゴリズム(GA)は、前述の▲2▼と▲5▼とに分類される方法であって、ランダムな遺伝子を持つ複数の個体からなる初期集団を生成した後に、生殖(リプロダクション)、交叉(クロスオーバ)、及び突然変異(ミューテーション)と言う3種類の遺伝子操作を用いて、最適解の探索を探索終了条件が満たされるまで繰り返すことを基本とする。
【0007】
ここで生殖とは、前世代の個体のうちのいくつかをランダムに選択して現世代の個体を決定する処理であり、その結果の個体に対して次の交叉の処理が行われる。交叉は個体の一部を交換する、すなわち2つの個体の遺伝子型を部分的に相互に入れ替えることによって子孫としての新しい個体を生成する処理であり、また突然変異は子孫となる各個体の遺伝子の一部を対立遺伝子に交換、あるいは変異させる処理であり、従来の遺伝的アルゴリズムでは最適解探索の終了条件が満たされるまで、これらの3つの遺伝子操作が繰り返し行われていた。
【0008】
【発明が解決しようとする課題】
このような数理計画問題に対して、遺伝的アルゴリズムを適用して最適解を探索するために、世代交代を繰り返し、ジェネレーションの値が大きくなると、ジェネレーションの値の増加に対する解の評価値としてのフィットネス値の増加の割合が減少する、すなわちフィットネス値の伸び率が鈍化すると言う問題点があった。
【0009】
解を探索すべき問題の規模が大きく、また複雑な場合には、この問題点は特に重要であり、現実的な時間内に実用的なフィットネス値を満足する解を探索することが難しいと言う問題点があった。
【0010】
本発明は、GAアルゴリズムを用いて、大規模で複雑な問題に対しても、ジェネレーション値が小さな段階で良好な評価値、あるいは、大きなフィットネス値を持つ解に到達することを可能にすることを目的とする。
【0011】
【課題を解決するための手段】
図1は本発明の原理ブロック図である。同図は、数理計画問題などの解決を目的として、その問題に対する解の探索空間を探索して最適解を求めるために、状態遷移の概念を導入した問題解決演算装置の原理構成ブロック図である。
【0012】
図1において、最適解探索手段1は一般に複数個設けられ、それぞれ1つ以上の最適解探索手法の組み合わせを用いた状態で最適解を探索するものである。ここで最適解探索手法は、例えば遺伝的アルゴリズムにおいては前述の生殖、交叉、及び突然変異などの手法であり、また遺伝的アルゴリズム以外の探索手法も含むものである。
【0013】
探索過程観測及び状態遷移手段2は、最適解探索手段1の1つによる最適解の探索過程を観測し、その探索の過程において予め定められた条件が満たされた時、複数の最適解探索手段1のうちの他の1つによる探索に状態を遷移させるものである。
また、本発明のもう1つの問題解決演算装置は、問題を入力する入力部と、最適解を探索する並列処理を行う複数のセルと、マイグレーション値分配処理部と、複数のセルの各々の処理の開始と停止の同期を取り、並列処理を制御する並列処理制御部とを備え、問題解決のために、その問題に対する解の探索空間を探索して最適解を求める。
複数のセルの各々は、問題に対する解候補の集団を格納するメモリと、解候補の集団に対して、前世代の解候補をランダムに選択する複製処理、または前世代の2つの解候補の一部のコピーを組み合わせて解候補を生成する交叉処理を施す複製/交叉処理部と、解候補の集団に対して、解候補を部分的に変化させる突然変異の処理を施す突然変異処理部と、解候補の集団の各解候補の評価値を算出する評価値計算処理部と、1つの世代に属する複数の解候補にコーディングされた値の標準偏差に対して予め定められた規定値と、探索実行回数に対して予め定められた規定値と、ジェネレーションの値の増加に対する解候補の評価値の増加の割合を示す評価値の伸び率に対して予め定められた規定値とを保持し、複製/交叉処理部および突然変異処理部による各処理の組み合わせを用いて探索を行う状態における探索過程を観測して、標準偏差がその規定値を下回るという第1の条件、1つの状態における探索実行回数がその規定値を上回るという第2の条件、および評価値の伸び率がその規定値を下回るという第3の条件がそれぞれ成立するか否かを判定する条件判定処理部と、問題解決演算装置が探索を行う複数の状態の1つを示す遷移フラグであって、各状態から遷移する先の状態を予め定めた遷移順序に従って値が更新されるような遷移フラグを保持し、第1の条件が成立したとき、または、第2の条件と第3の条件が成立したときに、遷移フラグの値を現在の状態の遷移先である次の状態に合わせて更新し、更新された遷移フラグの値により選択される状態で探索を行うための制御信号を複製/交叉処理部および突然変異処理部に出力してそれらの各処理を選択的に組み合わせることで問題解決演算装置を現在の状態から次の状態へ遷移させて、現在の状態とは異なる組み合わせの処理を解候補の集団に適用する状態遷移を、複数回繰り返す遷移制御処理部と、探索終了条件が満たされたとき、探索により変更された解候補の集団を出力する出力部とを含む。
マイグレーション値分配処理部は、複数のセルの各々のメモリから評価値の最も大きな解候補を収集し、収集された解候補の中で評価値の最も大きな解候補をそれらのセルに分配する。
【0014】
【作用】
本発明においては、1つ以上の最適解探索手法の組み合わせを用いた状態で最適解の探索が行われる。この最適解探索手法としては、前述のように遺伝的アルゴリズムにおけるいくつかの手法、及び遺伝的アルゴリズム以外の最適化手法を組み合わせたものが用いられ、また複数の最適解探索手段において同一の手法が用いられる場合には、例えば探索のパラメータとして別の値が用いられることもある。
【0015】
1つの最適解探索手段1によってある最適解探索手法の組み合わせ状態で最適解探索が行われている場合、その探索過程が観測され、例えば解のフィットネス値の伸び率が規定値を下回るなどのように予め定められた条件が達成された時、その状態での最適解の探索は中止され、最適解探索手法の別の組み合わせ(または探索パラメータの変化)を用いた状態での探索が他の最適解探索手段1によって行われる。すなわち解の探索状態の遷移が行われることになる。
【0016】
以上のように、本発明によればそれぞれ1つ以上の最適解探索手法の組み合わせを用いた状態で最適解を探索する複数の最適解探索手段1の間で探索の状態遷移が行われ、ある最適解探索手段1による探索の効果が低下した時には別の最適解探索手段1により最適解探索が続行される。
【0017】
【実施例】
図2は本発明の問題解決演算装置の基本構成ブロック図である。同図において演算装置は大きく探索モジュール11と制御モジュール12とで構成され、探索モジュール11内には複数の探索状態16−1、16−2、16−3、・・・、16−Mの間を遷移する探索部13が備えられ、また制御モジュール12の中には観測部14と遷移制御部15とが備えられている。
【0018】
探索モジュール11は問題の入力に対して最適解を出力するものであり、探索モジュール11内の探索部13が取り得る複数の探索状態16−1、・・・、16−Mはそれぞれ図1の最適解探索手段1に相当し、それぞれ1つ以上の最適解探索手法を組み合わせた状態である。この最適解探索手法には遺伝的アルゴリズムの手法以外の探索手法も含まれる。
【0019】
制御モジュール12は探索モジュール11の最適解探索過程を観測し、その観測結果に基づいて探索モジュール11内の探索部13に最適解探索状態の遷移を行わせる。観測部14は探索された解の評価値(あるいはフィットネス値)の上昇率、すなわちジェネレーション値の変化に対するフィットネス値の変化率を観測する機能、1つの世代における個体の集団内のフィットネス値の分散などを観測する機能、探索の実行回数を観測する機能、遺伝的アルゴリズムにおけるその他の評価基準を観測する機能などを含んでいる。ある1つの状態における探索部13による探索の効果が低下したと判定された時には、別の状態における探索部13による探索への変更、すなわち探索状態の遷移が行われる。
【0020】
図2における各ブロックの動作を更に説明すると、探索モジュール11は遺伝的アルゴリズムを用いた処理中に世代毎の集団の状況、例えばフィットネス値の最大値、及び分散などを出力し、制御モジュール12の内部の観測部14は探索モジュール11の出力を観測して、観測結果を状態遷移条件と比較し、その比較結果に応じて遷移制御部15に対して状態遷移を行わせるための指示を出力する。その指示を受けた遷移制御部15は、探索部13の探索状態を切り替えることにより、探索モジュール11による最適解の探索を続行させる。その動作は探索の終了条件が満足されるまで繰り返し行われる。
【0021】
図3は本発明における最適解探索状態の状態遷移の説明図である。同図においては、与えられた問題に対する最適値を探索するための探索状態として第1の最適値探索状態21〜第5の最適値探索状態25の5つが設けられ、各最適値探索状態は一般に複数の最適値探索手法の組み合わせを用いた状態で最適値の探索を行う。
【0022】
それぞれの最適値探索状態の間では、状態遷移のための遷移条件12、23、25、31、34、43、51、54が探索効果の向上の可能性に対応して設定されている。例えば、第1の最適値探索状態21からは、第2の最適値探索状態22に対して遷移条件12が設定され、また第5の最適値探索状態25からは、第1の最適値探索状態21に対する遷移条件51と、第4の最適値探索状態24に対する遷移条件54が設定されている。
【0023】
次に前述の巡回セールスマン問題を具体例として用いて、本発明の実施例を説明する。図4、及び図5は巡回セールスマン問題における都市の配置の例である。図5は図4にその配置を示した各都市のX座標とY座標を示したものである。ここで示した100個の都市を重複を許さずに最短距離で巡回する解を求める問題が巡回セールスマン問題である。
【0024】
遺伝的アルゴリズムを用いた巡回セールスマン問題の解法では、まず解の候補となる巡回経路を染色体としてコーディングを行う。本実施例では、都市名を遺伝子としてセールスマンが巡回する順番に都市名を並べたものを染色体とするコーディング法を採用した。図6は解の候補のコーディング結果の例である。同図において、1番目に巡る都市名から100番目に巡る都市名までが、各都市の番号を用いてコーディングされ、1つの解の候補が染色体として表現されている。このような巡回経路に対応する距離の総和が解のコストに対応し、そのコストの最小化をはかるのが巡回セールスマン問題である。
【0025】
巡回セールスマン問題における解xの評価関数であるフィットネス関数f(x)は、例えば次式で表される。
【0026】
【数1】

Figure 0003751647
【0027】
ここで、di (x)は解xにおけるi−1番目の都市とi番目の都市の間の距離であり、nは都市の数(図4ではn=100)である。ただし、d1 (x)は出発点から1番目の都市までの距離であり、dn (x)はn−1番目(最後から2番目)の都市とn番目の都市(最後の都市であると同時に出発点でもある)の間の距離であるものとする。バイアスKは図4の隣接する都市を結んで得られる円の直径(都市間の距離の最大値)と都市の数nとの積である。
【0028】
(1)式の右辺の 外1 がこの問題における解xのコストを表しており、コ
【0029】
【外1】
Figure 0003751647
【0030】
ストが小さいほどフィットネス関数f(x)の値が大きくなることがわかる。
図7は実施例としての巡回セールスマン問題に対する状態遷移の説明図である。同図に示されるように、本実施例での最適解探索過程は状態0〜状態3の4つの状態の間で、遷移条件01、12、23、31に従って状態遷移を行うことによって実行される。
【0031】
図8は図7における各状態での遺伝的アルゴリズムのオペレーションの組み合わせの例である。同図において状態0では前世代からの優秀個体のひきつぎ、生殖(リプロダクション,R)、及び交叉(クロスオーバ,C)の3つのオペレーションの組み合わせによって最適解の探索処理が行われる。最初の世代の場合、優秀個体は前世代の代わりに初期の個体の集団(ポピュレーション)から取り出される。この状態0は初期処理を行う状態である。
【0032】
状態1では状態0における3つのオペレーションに加えて突然変異(ミューテーション,M)のオペレーションが組み合わされて、最適解の探索処理が行われる。本実施例では後述するように状態0と状態1での同一のオペレーション、例えば前世代からの優秀個体のひきつぎのオペレーションにおけるパラメータ、すなわち次の世代にひきつぐ優秀個体の割合を一定として処理を行ったが、このパラメータを状態0と状態1とで変化させることも当然可能である。なおこの状態1は、通常の遺伝的アルゴリズムの処理を行う状態である。
【0033】
状態2では、状態1での4つのオペレーションに加えて更に近傍探索が行われ、この近傍探索が重点的に行われる状態である。この近傍探索は、1つの世代の集団の中でフィットネス値の大きい方からいくつかの個体を選び、各個体に対して突然変異と同様の処理を集中的に繰り返し行うものである。近傍探索においては、フィットネス値が改善される場合のみ染色体のパターンの実際の変更を行う。この近傍探索における主なパラメータの値としては、近傍探索繰り返し回数として1世代の個体当たりの回数が1以上であり、近傍探索の範囲、すなわち近傍探索を施す個体数の集団内の全個体数に対する比率は0.0以上、1.0以下である。
【0034】
図9に近傍探索の概念を示す。図9において、染色体のパターンを変えることにより、フィットネス値が増大するような解(染色体)が探索されることがわかる。
【0035】
状態3は前世代からの優秀個体のひきつぎと、新個体の受け入れの2つのオペレーションの組み合わせによって最適解を探索する状態であり、新たな集団を受け入れる状態である。この新個体の受け入れに対するパラメータとしての集団内の新個体の比率は、0.0から1.0の間に設定される。
【0036】
図10に新個体の受け入れ(リクルートメント)の概念を示す。図10において、新個体はランダムに発生するため、その染色体のパターンは広範囲に分散することがわかる。
【0037】
次に状態0〜3における各オペレーションに対して共通的に設定されるパラメータについて説明する。まず、1世代の染色体の総数、すなわち個体の総数であるポピュレーションのサイズは10に設定され、前世代からの優秀個体のひきつぎの割合、すなわちジェネレーションオーバラップ率(ジェネレーションギャップ率の反対の概念)としては優秀な方から40%を次の世代にひきつぐ操作が行われた。また、突然変異、すなわち1つの染色体における1組の遺伝子の値の交換、図6ではある1組の都市名の交換は0.01、すなわち1%の頻度で行われた。この問題に対する突然変異操作においては、染色体の左端から1つずつ順に遺伝子の位置を指していき、指されている位置の内容を1%の確率で他の任意の位置の内容と交換していく。
【0038】
図7における各状態の間での遷移条件は次の3つの条件の組み合わせとして設定された。第1の条件(条件1)はポピュレーションとしての10個の染色体における各遺伝子の標準偏差の和が規定値を下回ることである。
【0039】
図11はこの第1の条件の説明図である。同図において、n個のスロットの各々についてm個の染色体における各遺伝子の値(都市番号)の平均値と標準偏差が求められる。さらに、各スロット毎の標準偏差から標準偏差の和が求められ、その和が規定値を下回る場合に第1の条件が満足されたものとする。すなわち、第1の条件は各染色体をn次元空間における点としてとらえ、その点を表すn個の座標(都市番号)に対する標準偏差がある規定値以下になることで、n次元空間における染色体のバラつきが小さくなることを意味する。
【0040】
第2の条件(条件2)は探索処理の実行回数が予め定められた規定値を上回ることである。
第3の条件(条件3)はフィットネス値の伸び率が規定値を下回ることである。これはフィットネス値を表す関数f(x)に解候補としての染色体のdi (x)の値を代入して、各ジェネレーションに対するフィットネスの値を計算し、フィットネス値の変化率を求めることによって判定される。
【0041】
図12はこの第3の条件におけるフィットネス値の変化率の説明図である。図12では、各ジェネレーションに属する複数の個体のフィットネス値のうち、最も大きな値がプロットされている。同図に示すようにフィットネス値の変化率は次式によって計算される。
【0042】
【数2】
Figure 0003751647
【0043】
引継ぎ操作を施せば、前のジェネレーションの最大のフィットネス値を持つ個体は必ず次のジェネレーションに引き継がれるため、各ジェネレーションにおけるフィットネス値の最大値は前のジェネレーションにおける最大値を下回ることはない。したがって、ジェネレーションを経るにつれて、フィットネス値の最大値は単調に増加する。
【0044】
図7において、実施例における問題解決演算装置は初期において状態0で最適解を探索し、遷移条件01が満足されると状態1での探索に移行する。その後は状態1→状態2→状態3→状態1→・・・の状態遷移を、例えば最大実行時間に至るまで繰り返す。
【0045】
本実施例では遷移条件01,12及び23はすべて同一とし、
第1の条件∪(第2の条件∩第3の条件) …(3)
が成立するときに状態遷移を行うものとした。
【0046】
すなわち本実施例では、第2の条件と第3の条件が同時に成立するか、あるいは第1の条件のみが成立する時に状態0から状態1、状態1から状態2、及び状態2から状態3への状態遷移が行われる。また状態3から状態1への遷移条件31は第1の条件に一致するものとした。ここでは、各遷移条件の論理構造が同じという意味であり、しきい値のようなパラメータの値はそれぞれ異なったものを用いることもできる。
【0047】
図13は以上の説明に対応して図2に示した問題解決演算装置の基本構成を更に詳細に示したものである。同図において、図2の制御モジュール12と探索モジュール11はセル30に含まれ、セル30は入力信号を受け取る入力部31、解を出力する出力部32、入力データ及び探索過程における解候補などを格納するメモリ33、解のフィットネス値を計算するフィットネス値計算処理部34、遺伝的アルゴリズムにおける複製、交叉のオペレーションなどを実行する複製/交叉処理部35、突然変異のオペレーションを実行する突然変異処理部36及び前述の近傍探索を行う近傍探索処理部37から構成されている。
【0048】
フィットネス値計算処理部34、複製/交叉処理部35、突然変異処理部36、および近傍探索処理部37による処理を組み合わせることにより、セル30は図2に示すM個の探索状態16−1〜16−Mのうちいずれの状態にも設定され得る。
【0049】
図2の観測部14に対応する評価観測処理部38は標準偏差の和の規定値であるダイバーシティ・メジャ、ジェネレーションギャップ率であるジェネレーションギャップ・メジャ、フィットネス値の伸び率の規定値であるグロースレート・メジャ、及び実行回数の最大限度値としてのターミネーション・メジャに基づいて、遷移制御部15に対応するGAオペレーション遷移制御処理部39に対する必要な指示を行う。GAオペレーション遷移制御処理部39は複製/交叉処理部35、突然変異処理部36、および近傍探索処理部37に対する制御信号を出力する。
【0050】
例えばジェネレーションギャップ・メジャにより定義されるジェネレーションギャップ率は、前世代からの優秀個体の引継ぎのオペレーションを行う際のパラメータである。これは、1つのポピュレーションに含まれる個体の数に対する引き継がれる個体の数の比率を表し、このパラメータに従ってGAアルゴリズムとしての引継ぎのオペレーションが実行される。
【0051】
図13に示すようなセルを複数個設けて、それぞれが独立して最適解を探索するような並列処理を行わせれば、探索効率はさらに向上する。
図14は、山登り法を適用することのできる複数のセルを並列に接続した本発明の問題解決演算装置の構成図である。図14において、セル41−1〜41−Nはそれぞれマイグレーション値分配処理部56および並列処理制御部57に接続され、並列に処理を行う。並列処理により解の成長の速度はさらに向上する。
【0052】
各セルは条件1処理部52、条件2処理部53、条件3処理部54、GAオペレーション遷移制御処理部55、入力部42、メモリ43、出力部44、フィットネス値計算処理部45、複製/交叉処理部46、突然変異処理部47、近傍探索処理部48、反転処理部49、リクルートメント処理部50、山登り処理部51を備える。このうち、入力部42、メモリ43、出力部44、フィットネス値計算処理部45、複製/交叉処理部46、突然変異処理部47、近傍探索処理部48の機能は、それぞれ図13の入力部31、メモリ33、出力部32、フィットネス値計算処理部34、複製/交叉処理部35、突然変異処理部36、近傍探索処理部37と基本的に同じである。
【0053】
図14の反転処理部49は、染色体の遺伝子の一部の順序を反転させるオペレーションを行い、リクルートメント処理部50は新個体の受入れのオペレーションを行う。また、山登り処理部51は近傍探索と類似する山登り法による探索を行う。フィットネス値計算処理部45は、標準偏差の和、各ジェネレーションにおける処理実行回数、フィットネス値の伸び率を算出して、それぞれ条件1処理部52、条件2処理部53、条件3処理部54に送る。
【0054】
条件1処理部52、条件2処理部53、条件3処理部54は、これらの値をそれぞれの規定値と比較して、条件1、条件2、条件3が成立するか否かをGAオペレーション遷移制御処理部55に伝える。GAオペレーション遷移制御処理部55は、図7の遷移条件01、12、23、31が成立するか否かを判定し、その結果設定される遷移フラグsに応じてフィットネス値計算処理部45、複製/交叉処理部46、突然変異処理部47、近傍探索処理部48、反転処理部49、リクルートメント処理部50、山登り処理部51を制御する。
【0055】
マイグレーション値分配処理部56は、各セルのメモリ43から最もフィットネス値の大きな染色体のパターンを収集し、収集した染色体の中でさらに最も良いフィットネス値を持つものを各セルに分配する。
【0056】
並列処理制御部57は各セルの処理の開始と停止の同期を取り、それらに並列処理を行わせる。また、並列処理制御部57は並列処理の制御を行うと同時に、マイグレーション値分配処理部56をも制御する。
【0057】
図15および16は、図14の問題解決演算装置の各セルによる最適解の探索処理のフローチャートである。
図15において処理が開始されると、まず各セルにおいて初期化の操作が行われる(ステップS1)。この操作により、各セルの入力部42から問題およびパラメータが読み込まれ、メモリ43上で初期のポピュレーションの発生が行われる。また、読み込まれた問題に応じてフィットネス関数のバイアスKの値が決定される。
【0058】
次に、GAオペレーション遷移制御処理部55は遷移フラグsを0とおき、 状態0での探索処理を行うための制御信号を発生する。これにより、複製/交叉処理部46による引継ぎ、リプロダクション、交叉の各処理と、山登り処理部51による探索処理が続けて行われる(ステップS2)。
【0059】
そして、(3)式が表す状態1への遷移条件が成立すると、GAオペレーション遷移制御処理部55は遷移フラグsを1とおき、状態1での探索処理を行うための制御信号を発生する(ステップS3)。
【0060】
図16に示すように、状態1においては、複製/交叉処理部46による引継ぎ、リプロダクション、交叉の各処理と、突然変異処理部47による突然変異処理と、反転処理部49による反転処理と、山登り処理部51による探索処理が続けて行われる(ステップS4)。
【0061】
以後、GAオペレーション遷移制御処理部55は、次の状態への遷移条件が成立するまで同じ状態での探索処理を繰り返し(ステップS5、NO)、次の状態への遷移条件が成立すると(ステップS5、YES)、終了条件が成立するか否かを判定する(ステップS6)。
【0062】
次の状態への遷移条件とは、状態1から状態2、および状態2から状態3へ遷移する場合は(3)式により表され、状態3から状態1への場合は条件1に相当する。また、終了条件とは、例えば探索処理の最大実行回数に達することである。終了条件が成立しなければ(ステップS6、NO)、GAオペレーション遷移制御処理部55は遷移フラグsを次の状態に合わせて更新し(ステップS7)、遷移フラグsの値により選択される状態での探索処理を行うための制御信号を発生する(ステップS3)。ステップS7では、遷移フラグsは1、2、3の順に更新される。
【0063】
s=2のときは状態2に遷移し、複製/交叉処理部46による引継ぎ、リプロダクション、交叉の各処理と、突然変異処理部47による突然変異処理と、反転処理部49による反転処理と、近傍探索処理部48による近傍探索処理と、山登り処理部51による探索処理が続けて行われる(ステップS4)。また、s=3のときは状態3に遷移し、複製/交叉処理部46による引継ぎ処理と、リクルートメント処理部50による新個体の受入れ処理が続けて行われる(ステップS4)。
【0064】
終了条件が成立すると(ステップS6、YES)、GAオペレーション遷移制御処理部55は探索処理の終了を指示する制御信号を発生し、処理を終える。このとき、最後のジェネレーションの個体のうちで最もフィットネス値の大きなものが、解として出力部44から出力される。
【0065】
次に図17から図22までを参照しながら、図14の問題解決演算装置による処理をより詳細に説明する。
図17は、複製/交叉処理部46による交叉処理のフローチャートであり、図18は、交叉処理により親染色体pi 、pj から子染色体ci 、cj が生成される様子を示している。図18では、10個の遺伝子から成る染色体を例にとり、1〜10の数字が各遺伝子を表している。
【0066】
図17において処理が開始されると、まず親染色体pi 、pj の2つの交叉点を決め(ステップS11)、親pj から子ci へコピーする部分gcを決める(ステップS12)。このとき、各染色体の左端と右端は連結しているものとみなす。例えば図18では、親pj の3個の遺伝子8、5、7が子ci へコピーされることになる。
【0067】
次に、親pi のコピーを親pi ′とし、親pi ′のgcに対応する部分(gc部分)に含まれる遺伝子の値が親pj のgc部分に含まれるものと同じになるように遺伝子の並べ換えを行う(ステップS13)。そして、親pi ′のgc部分以外の遺伝子の順序が親pi の対応する遺伝子の順序と同じになるようにする(ステップS14)。
次に、親pj のgc部分の遺伝子を子ci のgc部分にコピーし(ステップS15)、親pi ′のgc以外の部分の遺伝子を子ci のgc以外の部分にコピーする(ステップS16)。こうして、親pj の遺伝子8、5、7が子ci のgc部分にコピーされ、親pi ′の遺伝子1、2、6、および、9、4、3、10が子ci のgc以外の部分にコピーされる。
【0068】
次に、親pi と親pj の立場をそっくり入れ換えて同様の処理を行うことにより、親pj ′(不図示)を経て子cj が生成される。このように、交叉処理においては、2つの染色体の一部をコピーして組み合わせることにより別の2つの染色体を生成する。交叉処理前の染色体内の遺伝子の配列順序は、交叉処理後の染色体内においても矛盾無く保存される。
【0069】
図19は、リクルートメント処理部50による新個体の受入れ処理を示している。新個体の受入れ処理においては、各遺伝子をランダムに発生させて生成した新染色体をポピュレーションに導入する。これにより、解の多様性を高めた次世代のポピュレーションを発生する。大きなフィットネス値を持つ前のジェネレーション(前世代)の優秀個体は、複製/交叉処理部46により次のジェネレーション(次世代)に引き継がれる。
【0070】
図20は、山登り処理部51による探索処理のフローチャートであり、図21は、この処理における隣接遺伝子の置換を示す図である。
図20において処理が開始されると、まず全ての隣接する遺伝子iおよびi+1の組について置換を行い、フィットネス値の増加(ゲイン)を調べる(ステップS21)。この中に正のゲインがないときは(ステップS22、NO)、入力された染色体をそのまま出力して処理を終了する。
【0071】
正のゲインが1つ以上あるときは(ステップS22、YES)、その中でゲインが最大となる置換を行い(ステップS23)、行った置換によってゲインが影響を受けないような範囲で他の正のゲインの置換が残っているかどうか調べる(ステップS24)。正のゲインの置換が残っていれば(ステップS24、YES)、位置的に近い次の正のゲインの置換を行い(ステップS25)、染色体を一周して正のゲインの置換がなくなるまでステップS24、S25の処理を繰り返す。
【0072】
そして、行った置換により影響を受けない範囲での正のゲインの置換がなくなると(ステップS24、NO)、ステップS21に戻って、再び全ての隣接置換のフィットネス値のゲインを調べる。以後、ステップS22で正のゲインがなくなるまで図20の処理を繰り返す。このような山登り法を採用することにより、短い時間でより優秀な個体を得ることができる。
【0073】
図22は、反転処理部49による反転処理の一例を示す図である。図22において、染色体の一部の遺伝子6、2、8、5の順序が反転されて、5、8、2、6となり別の染色体が生成される。この反転処理は図8では突然変異のオペレーションの集合に含まれる。
【0074】
図23〜図25は本発明の問題解決演算装置による図4の巡回セールスマン問題のシミュレーション結果である。これらの図においてオプティマムは理想的なフィットネス値(最適解のフィットネス値)を示し、ウィズ・ステートは本発明の演算装置、すなわち状態遷移の概念を導入した場合の結果を示し、ノー・ステートは状態遷移を行わない場合(状態0)の結果を示す。図24は、図23におけるジェネレーション0から35000の結果を拡大した図であり、図25は図24におけるフィットネス18000から20000の部分を拡大した図である。
【0075】
このシミュレーションにおいては、各集団の個体数を16、各個体の染色体の長さを100、交叉確率を1.0、突然変異確率を0.01、前世代からの引継ぎ個体数を6、反転確率を0.1とした。1.0の交叉確率は、2つの親染色体から2つの子染色体を生成するとき、1.0の確率で交叉点を計算して決めることを意味する。もし、交叉確率が0.8であれば、残りの0.2の確率で交叉点を計算により決めずに、単純に片方の親染色体をそのまま子染色体とする。また、0.1の反転確率は、1つの染色体が与えられたときに、その染色体中のランダムに決めた一部分における遺伝子の反転処理を0.1の確率で行うことを意味する。
【0076】
状態遷移の概念を用いることにより、その概念を用いない場合と比較して1/3から1/2の時間で理想的なフィットネス値に到達すること、及び状態遷移の概念を用いない場合には理想的な値、すなわちフィットネス値の最適値にいつまでたっても到達しない場合があることが分かる。
【0077】
このように状態遷移の概念を導入することによってフィットネス値の最適値に早く収束することになるが、前述の状態2における近傍探索、及び状態3における新個体の受け入れはこの収束を早めるために特に有効である。
【0078】
遺伝的アルゴリズムでは、集団内の個体の多様性が小さくなると、クロスオーバを行ってもフィットネス値の改善が進まなくなる。そこで個体の多様性が減少した場合には、何らかの方法で多様性を回復する必要がある。新個体の受け入れはこの多様性回復の手段として有効になる。
【0079】
通常の突然変異の処理では、各個体を表すn次元空間の点が1ジェネレーションあたり1回だけ移動することになるが、山登り処理および近傍探索では1ジェネレーションあたり何回も移動が行われる。更に通常の突然変異では点の移動の結果としてのフィットネス値の変化は確率的に正にも負にもなるのに対して、山登り処理および近傍探索では必ず正、または0になるように制御される。従って、これらの探索方法を用いることにより探索空間における局所的探索が促進され、通常の突然変異の処理に比較して短時間、すなわち少ないジェネレーションの間に大きなフィットネス値を持つ点に移動できる確率が大きくなる。これらの探索方法と遺伝的アルゴリズムを適切に組み合わせれば、結果的に探索空間における大局的探索が促進される。
【0080】
状態3での新個体の受け入れは多様性の回復のためにのみ用意された処理であり、この処理では均一化した解候補の集団の一部を新たな解候補と入れ替えることにより、集団の多様性を常に保ちつつ、よりフィットネス値の高い解に到達することができる。
【0081】
以上の説明においては、各状態において複数の探索方法が組み合わされて最適解の探索が行われるものとしたが、例えば一部の状態において探索手法を1つだけ、例えば近傍探索のみを用いて最適解を探索することも当然可能である。
【0082】
【発明の効果】
以上詳細に説明したように、本発明によれば一般に複数の最適化手法をそれぞれ組み合わせた複数の状態の間で、状態遷移を繰り返しながら最適解を探索することによって、従来の手法に比較して質の高い解を短時間で得ることが可能となり、例えば巡回セールスマン問題のような数理計画問題の問題解決演算の高速化に寄与するところが大きい。
【図面の簡単な説明】
【図1】本発明の原理構成ブロック図である。
【図2】本発明の問題解決演算装置の基本構成を示すブロック図である。
【図3】最適解探索状態の状態遷移の説明図である。
【図4】巡回セールスマン問題における都市の配置例を示す図である。
【図5】図4内の各都市の位置(座標)を示す図である。
【図6】解の候補のコーディング結果の例を示す図である。
【図7】実施例における状態遷移の説明図である。
【図8】各状態でのオペレーションの組み合わせの例を示す図である。
【図9】近傍探索の概念を示す図である。
【図10】新個体の受け入れ(リクルートメント)の概念を示す図である。
【図11】第1の条件における標準偏差の和の説明図である。
【図12】第3の条件におけるフィットネス値の変化率の説明図である。
【図13】遺伝的アルゴリズムを用いる問題解決演算装置の構成を示すブロック図である。
【図14】並列処理を行う問題解決演算装置の構成を示すブロック図である。
【図15】最適解探索処理のフローチャート(その1)である。
【図16】最適解探索処理のフローチャート(その2)である。
【図17】交叉処理のフローチャートである。
【図18】交叉処理の例を示す図である。
【図19】新個体の受け入れ処理を示す図である。
【図20】山登り処理のフローチャートである。
【図21】隣接置換を示す図である。
【図22】反転処理を示す図である。
【図23】GAアルゴリズムによるシミュレーション結果を示す図(その1)である。
【図24】GAアルゴリズムによるシミュレーション結果を示す図(その2)である。
【図25】GAアルゴリズムによるシミュレーション結果を示す図(その3)である。
【符号の説明】
1 最適解探索手段
2 探索過程観測及び状態遷移手段
11 探索モジュール
12 制御モジュール
13 探索部
14 観測部
15 遷移制御部
16−1、16−2、16−3、16−M 探索状態
30、41−1、41−2、41−N セル
31、42 入力部
32、44 出力部
33、43 メモリ
34、45 フィットネス値計算処理部
35、46 複製/交叉処理部
36、47 突然変異処理部
37、48 近傍探索処理部
38 評価観測処理部
39、55 GAオペレーション遷移制御処理部
49 反転処理部
50 リクルートメント処理部
51 山登り処理部
52 条件1処理部
53 条件2処理部
54 条件3処理部
56 マイグレーション値分配処理部
57 並列処理制御部[0001]
[Industrial application fields]
The present invention relates to a method for solving a combination optimization problem such as a traveling salesman problem, and more specifically, introduces a concept of state transition between a plurality of search states each combining a plurality of optimum solution search methods. The present invention relates to a problem solving operation apparatus and method for introducing the concept of state transition, which speeds up the search for an optimal solution.
[0002]
[Prior art]
The problem solving arithmetic device targeted by the present invention is a device for obtaining a solution of a so-called mathematical programming problem. Mathematical programming issues to be considered include traffic control, especially control of optimal transmission routes such as packets in communication networks, or distribution routes of power networks, determination of distribution distribution routes in transportation systems, train diagrams, bus diagrams, flight schedules, etc. Scheduling problems, a load balancing method between parallel processors, and routing control of a connection network between processors.
[0003]
Among these mathematical programming problems, for the traveling salesman problem that says, “Turn the N cities at the shortest distance without allowing duplication”, apply a method to find all combinations and find the optimal solution. Then, the calculation time increases exponentially as the number of cities N increases. Such a problem is referred to as so-called NP difficulty (non-deterministic polynomial hard), and it has already been found that there is no algorithm for obtaining an optimal solution within a so-called polynomial time.
[0004]
From the viewpoint of strictness, that is, the optimality of the obtained solution, the conventional optimization method for finding the optimal solution of the mathematical programming problem is as follows: (1) Exact solution as a method for obtaining the exact optimal solution; 2) It is roughly divided into approximate solutions as a method for obtaining an approximate best solution at high speed.
[0005]
From the viewpoint of a solution search method, the optimization method is (3) a common enumeration method for obtaining a strict optimal solution by strict enumeration or equalization enumeration, and (4) an optimal solution or approximate solution. A heuristic approach to heuristically squeeze into a single solution using the rules to generate, and an intermediate method between (5) (3) and (4) The search is classified into three types: a search method as a method for obtaining an approximate optimum solution by searching.
[0006]
The genetic algorithm (GA) as one of such optimization methods is a method classified into the above-mentioned (2) and (5), and is an initial population composed of a plurality of individuals having random genes. After the generation of, the search for the optimal solution is repeated until the search end condition is satisfied, using three types of genetic operations: reproduction (reproduction), crossover (crossover), and mutation (mutation). Basic.
[0007]
Here, reproduction is a process of selecting a current generation individual by randomly selecting some of the individuals of the previous generation, and the next crossover process is performed on the resulting individual. Crossover is a process of exchanging a part of an individual, that is, generating a new individual as a progeny by partially exchanging the genotypes of two individuals, and mutation is a process of gene of each individual that becomes a progeny This is a process of exchanging or mutating a part of the gene to an allele. In the conventional genetic algorithm, these three gene manipulations are repeatedly performed until the end condition of the optimum solution search is satisfied.
[0008]
[Problems to be solved by the invention]
In order to search for an optimal solution by applying a genetic algorithm to such a mathematical programming problem, iterative generations are repeated, and when the generation value increases, fitness as an evaluation value of the solution for the increase in the generation value There is a problem that the rate of increase in value decreases, that is, the rate of increase in fitness value slows down.
[0009]
This problem is particularly important when the scale of a problem to be searched for is large and complex, and it is difficult to search for a solution that satisfies a practical fitness value in a realistic time. There was a problem.
[0010]
The present invention uses the GA algorithm to make it possible to reach a solution having a good evaluation value or a large fitness value at a small generation value even for a large-scale and complicated problem. Objective.
[0011]
[Means for Solving the Problems]
FIG. 1 is a principle block diagram of the present invention. This figure is a block diagram of the principle configuration of a problem-solving arithmetic unit that introduces the concept of state transitions in order to find the optimal solution by searching the search space for the solution to the problem for the purpose of solving a mathematical programming problem. .
[0012]
In FIG. 1, a plurality of optimum solution search means 1 are generally provided, and each searches for an optimum solution in a state using a combination of one or more optimum solution search methods. Here, the optimum solution search method is, for example, a method such as reproduction, crossover, or mutation in the genetic algorithm, and includes a search method other than the genetic algorithm.
[0013]
  The search process observation and state transition means 2 observes the search process of the optimum solution by one of the optimum solution search means 1, and when a predetermined condition is satisfied in the search process, a plurality of optimum solution search means The state is shifted to the search by the other one of the ones.
  In addition, another problem solving arithmetic device of the present invention is:Controls parallel processing by synchronizing the start and stop of each of the input unit for inputting a problem, a plurality of cells performing parallel processing for searching for an optimal solution, the migration value distribution processing unit, and the plurality of cells. Parallel processing controllerIn order to solve the problem, an optimal solution is obtained by searching a search space for a solution to the problem.
  Each of the plurality of cells includes a memory for storing a group of solution candidates for the problem, a duplication process for randomly selecting a previous generation solution candidate for the group of solution candidates, or one of two previous generation solution candidates. A duplication / crossover processing unit for performing a crossover process for generating a solution candidate by combining copies of a part; a mutation processing unit for performing a mutation process for partially changing the solution candidate on a group of solution candidates; An evaluation value calculation processing unit that calculates an evaluation value of each solution candidate of the solution candidate group, a predetermined value that is predetermined for a standard deviation of values coded in a plurality of solution candidates belonging to one generation, and a search A predetermined value that is predetermined for the number of executions and a predetermined value that is predetermined for the rate of increase in the evaluation value indicating the rate of increase in the evaluation value of the solution candidate with respect to the increase in the generation value are retained and copied / Crossover processing section and sudden change The first condition that the standard deviation is less than the specified value is observed by observing the search process in the state where the search is performed using a combination of each processing by the processing unit, and the search execution count in one state exceeds the specified value. A condition determination processing unit that determines whether or not a second condition and a third condition that the rate of growth of the evaluation value falls below the specified value are each satisfied, and a plurality of states in which the problem solving arithmetic device searches A transition flag indicating one, a transition flag whose value is updated in accordance with a predetermined transition order for a state transitioned from each state, and when the first condition is satisfied, or When conditions 2 and 3 are satisfied, the value of the transition flag is updated according to the next state that is the transition destination of the current state, and the search is performed in a state selected by the updated value of the transition flag Do The control signal is output to the duplication / crossover processing unit and the mutation processing unit, and the respective processings are selectively combined to cause the problem-solving arithmetic unit to transition from the current state to the next state. Includes a transition control processing unit that repeats a state transition that applies different combinations of processing to a group of solution candidates, and an output unit that outputs a group of solution candidates changed by the search when a search end condition is satisfied, including.
  The migration value distribution processing unit collects solution candidates with the largest evaluation value from the memories of each of the plurality of cells, and distributes solution candidates with the largest evaluation value among the collected solution candidates to those cells.
[0014]
[Action]
In the present invention, the search for the optimal solution is performed using a combination of one or more optimal solution search methods. As the optimum solution search method, as described above, a combination of several methods in the genetic algorithm and optimization methods other than the genetic algorithm is used, and the same method is used in a plurality of optimum solution search means. When used, for example, another value may be used as a search parameter.
[0015]
When an optimal solution search is performed by a single optimal solution search means 1 in a combination state of a certain optimal solution search method, the search process is observed, for example, the rate of growth of the fitness value of the solution falls below a specified value. When a predetermined condition is achieved, the search for the optimal solution in that state is stopped, and the search using another combination of optimal solution search methods (or changes in search parameters) is another optimal This is performed by the solution search means 1. That is, transition of the solution search state is performed.
[0016]
As described above, according to the present invention, a search state transition is performed between a plurality of optimum solution searching means 1 that search for an optimum solution in a state using a combination of one or more optimum solution search methods. When the effect of the search by the optimum solution searching means 1 decreases, the optimum solution search is continued by another optimum solution searching means 1.
[0017]
【Example】
FIG. 2 is a block diagram of the basic configuration of the problem solving operation apparatus of the present invention. In the figure, the arithmetic device is largely composed of a search module 11 and a control module 12, and the search module 11 includes a plurality of search states 16-1, 16-2, 16-3,..., 16-M. A search unit 13 for making a transition is provided, and an observation unit 14 and a transition control unit 15 are provided in the control module 12.
[0018]
The search module 11 outputs an optimal solution for the problem input. The search states 16-1,..., 16-M that the search unit 13 in the search module 11 can take are shown in FIG. This corresponds to the optimum solution searching means 1 and is a state in which one or more optimum solution searching methods are combined. This optimum solution search method includes a search method other than the genetic algorithm method.
[0019]
The control module 12 observes the optimum solution search process of the search module 11 and causes the search unit 13 in the search module 11 to transition the optimum solution search state based on the observation result. The observation unit 14 has a function of observing the rate of increase of the evaluation value (or fitness value) of the searched solution, that is, the rate of change of the fitness value with respect to the change of the generation value, the distribution of the fitness value within the population of individuals in one generation, etc. A function to observe the number of executions of the search, a function to observe other evaluation criteria in the genetic algorithm, and the like. When it is determined that the search effect by the search unit 13 in a certain state has decreased, the search unit 13 in another state is changed to a search, that is, a search state transition is performed.
[0020]
The operation of each block in FIG. 2 will be described further. The search module 11 outputs the status of the population for each generation, for example, the maximum value of fitness values and the variance, during the process using the genetic algorithm. The internal observation unit 14 observes the output of the search module 11, compares the observation result with the state transition condition, and outputs an instruction for causing the transition control unit 15 to perform state transition according to the comparison result. . Receiving the instruction, the transition control unit 15 switches the search state of the search unit 13 to continue the search for the optimal solution by the search module 11. This operation is repeated until the search end condition is satisfied.
[0021]
FIG. 3 is an explanatory diagram of the state transition of the optimum solution search state in the present invention. In the figure, five search states, a first optimum value search state 21 to a fifth optimum value search state 25, are provided as search states for searching for an optimum value for a given problem. The optimum value search is performed using a combination of a plurality of optimum value search methods.
[0022]
Between each optimum value search state, transition conditions 12, 23, 25, 31, 34, 43, 51, and 54 for state transition are set corresponding to the possibility of improving the search effect. For example, from the first optimum value search state 21, the transition condition 12 is set for the second optimum value search state 22, and from the fifth optimum value search state 25, the first optimum value search state. 21 and a transition condition 54 for the fourth optimum value search state 24 are set.
[0023]
Next, an embodiment of the present invention will be described using the traveling salesman problem described above as a specific example. 4 and 5 are examples of city arrangements in the traveling salesman problem. FIG. 5 shows the X and Y coordinates of each city whose arrangement is shown in FIG. The traveling salesman problem is a problem of finding a solution for traveling 100 cities in the shortest distance without allowing duplication.
[0024]
  In the solution of the traveling salesman problem using a genetic algorithm, coding is first performed using a traveling route as a candidate for a solution as a chromosome. In the present embodiment, a coding method was adopted in which the city names are arranged in the order that the salesman circulates using the city names as genes. Figure 6 shows the solution candidatescodingIt is an example of a result. In the figure, from the first city name to the 100th city name are coded using the number of each city, and one solution candidate is expressed as a chromosome. The sum of the distances corresponding to such a traveling route corresponds to the cost of the solution, and the traveling salesman problem is to minimize the cost.
[0025]
A fitness function f (x) that is an evaluation function of the solution x in the traveling salesman problem is expressed by the following equation, for example.
[0026]
[Expression 1]
Figure 0003751647
[0027]
Where di(X) is the distance between the (i−1) -th city and the i-th city in the solution x, and n is the number of cities (n = 100 in FIG. 4). Where d1(X) is the distance from the starting point to the first city, dnLet (x) be the distance between the (n-1) th (second to last) city and the nth city (the last city as well as the starting point). The bias K is the product of the diameter of the circle (the maximum distance between cities) obtained by connecting adjacent cities in FIG. 4 and the number of cities n.
[0028]
The outside 1 on the right side of equation (1) represents the cost of the solution x in this problem.
[0029]
[Outside 1]
Figure 0003751647
[0030]
It can be seen that the fitness function f (x) increases as the strike decreases.
FIG. 7 is an explanatory diagram of state transition for the traveling salesman problem as an embodiment. As shown in the figure, the optimum solution search process in the present embodiment is executed by performing state transition between four states of state 0 to state 3 according to transition conditions 01, 12, 23, and 31. .
[0031]
FIG. 8 is an example of a combination of operations of the genetic algorithm in each state in FIG. In the figure, in state 0, the optimum solution search process is performed by a combination of three operations of succession, reproduction (reproduction, R), and crossover (crossover, C) of an excellent individual from the previous generation. In the case of the first generation, the excellent individual is taken from the initial population (population) instead of the previous generation. This state 0 is a state in which initial processing is performed.
[0032]
In the state 1, in addition to the three operations in the state 0, the operation of mutation (mutation, M) is combined to search for the optimum solution. In this embodiment, as will be described later, processing is performed with the same operation in the state 0 and the state 1, for example, the parameters in the next operation of the excellent individual from the previous generation, that is, the ratio of the excellent individual that will succeed in the next generation. However, it is naturally possible to change this parameter between the state 0 and the state 1. This state 1 is a state in which a normal genetic algorithm process is performed.
[0033]
In the state 2, in addition to the four operations in the state 1, the neighborhood search is further performed, and this neighborhood search is focused on. In this neighborhood search, several individuals having a larger fitness value are selected from a group of one generation, and the same process as mutation is intensively repeated for each individual. In the proximity search, the actual change of the chromosome pattern is performed only when the fitness value is improved. As the value of the main parameter in this neighborhood search, the number of iterations of neighborhood search is 1 or more per individual, and the range of neighborhood search, that is, the number of individuals to be subjected to neighborhood search is the total number of individuals in the group. The ratio is 0.0 or more and 1.0 or less.
[0034]
FIG. 9 shows the concept of neighborhood search. In FIG. 9, it can be seen that a solution (chromosome) that increases the fitness value is searched for by changing the chromosome pattern.
[0035]
State 3 is a state in which an optimal solution is searched for by a combination of two operations of the succession of excellent individuals from the previous generation and the acceptance of new individuals, and is a state in which a new group is accepted. The ratio of new individuals in the population as a parameter for acceptance of this new individual is set between 0.0 and 1.0.
[0036]
FIG. 10 shows the concept of accepting a new individual (recruitment). In FIG. 10, since new individuals are generated at random, it can be seen that the chromosome pattern is widely distributed.
[0037]
Next, parameters that are commonly set for the operations in states 0 to 3 will be described. First, the population size, which is the total number of chromosomes in one generation, that is, the total number of individuals is set to 10, and the percentage of excellent individuals from the previous generation, that is, the generation overlap rate (concept of the generation gap rate) As a result, 40% of the best performers were pulled to the next generation. Further, mutation, that is, exchange of a set of gene values in one chromosome, and exchange of a set of city names in FIG. 6 was performed at a frequency of 0.01, that is, 1%. In the mutation operation for this problem, the position of the gene is pointed one by one from the left end of the chromosome, and the contents of the pointed position are exchanged with the contents of other arbitrary positions with a probability of 1%. .
[0038]
The transition conditions between the states in FIG. 7 were set as combinations of the following three conditions. The first condition (Condition 1) is that the sum of the standard deviation of each gene in the 10 chromosomes as a population is below a specified value.
[0039]
FIG. 11 is an explanatory diagram of the first condition. In the figure, the average value and standard deviation of the values (city numbers) of each gene in m chromosomes are obtained for each of n slots. Furthermore, it is assumed that the sum of the standard deviations is obtained from the standard deviation for each slot, and the first condition is satisfied when the sum is less than the specified value. That is, the first condition is that each chromosome is regarded as a point in the n-dimensional space, and the standard deviation with respect to the n coordinates (city numbers) representing the point is less than a predetermined value, whereby the variation of the chromosome in the n-dimensional space. Means smaller.
[0040]
The second condition (condition 2) is that the number of times the search process is executed exceeds a predetermined value.
The third condition (condition 3) is that the rate of growth of the fitness value falls below the specified value. This is because the function f (x) representing the fitness value has a chromosome d as a solution candidate.iThis is determined by substituting the value of (x), calculating the fitness value for each generation, and determining the rate of change of the fitness value.
[0041]
FIG. 12 is an explanatory diagram of a fitness value change rate under the third condition. In FIG. 12, the largest value among the fitness values of a plurality of individuals belonging to each generation is plotted. As shown in the figure, the fitness value change rate is calculated by the following equation.
[0042]
[Expression 2]
Figure 0003751647
[0043]
If the takeover operation is performed, the individual having the maximum fitness value of the previous generation is always transferred to the next generation. Therefore, the maximum value of the fitness value in each generation does not fall below the maximum value in the previous generation. Therefore, the maximum value of the fitness value increases monotonically as it goes through generation.
[0044]
In FIG. 7, the problem solving arithmetic device in the embodiment searches for the optimal solution in the state 0 in the initial stage, and shifts to the search in the state 1 when the transition condition 01 is satisfied. Thereafter, the state transition of state 1 → state 2 → state 3 → state 1 →... Is repeated until, for example, the maximum execution time is reached.
[0045]
In this embodiment, the transition conditions 01, 12 and 23 are all the same.
First condition ∪ (second condition ∩ third condition) (3)
It is assumed that state transition is performed when
[0046]
That is, in this embodiment, when the second condition and the third condition are satisfied at the same time, or when only the first condition is satisfied, the state 0 is changed to the state 1, the state 1 is changed to the state 2, and the state 2 is changed to the state 3. State transition is performed. Further, the transition condition 31 from the state 3 to the state 1 is assumed to coincide with the first condition. Here, it means that the logical structure of each transition condition is the same, and different parameter values such as threshold values can be used.
[0047]
FIG. 13 shows the basic configuration of the problem solving arithmetic unit shown in FIG. 2 in more detail in correspondence with the above description. In FIG. 2, the control module 12 and the search module 11 of FIG. 2 are included in a cell 30. The cell 30 includes an input unit 31 that receives an input signal, an output unit 32 that outputs a solution, input data, and solution candidates in a search process. Memory 33 for storing, fitness value calculation processing unit 34 for calculating the fitness value of the solution, replication / crossover processing unit 35 for performing replication and crossover operations in the genetic algorithm, and mutation processing unit for executing the operation of mutation 36 and a neighborhood search processing unit 37 that performs the neighborhood search described above.
[0048]
By combining the processing by the fitness value calculation processing unit 34, the duplication / crossover processing unit 35, the mutation processing unit 36, and the neighborhood search processing unit 37, the cell 30 has M search states 16-1 to 16-16 shown in FIG. -M can be set to any state.
[0049]
The evaluation observation processing unit 38 corresponding to the observation unit 14 in FIG. 2 is a diversity measure that is a prescribed value of the sum of standard deviations, a generation gap measure that is a generation gap rate, and a growth rate that is a prescribed value of the fitness value elongation rate. A necessary instruction is given to the GA operation transition control processing unit 39 corresponding to the transition control unit 15 based on the measure and the termination measure as the maximum limit value of the number of executions. The GA operation transition control processing unit 39 outputs control signals for the duplication / crossover processing unit 35, the mutation processing unit 36, and the neighborhood search processing unit 37.
[0050]
For example, the generation gap ratio defined by the generation gap measure is a parameter for performing an operation of taking over an excellent individual from the previous generation. This represents a ratio of the number of individuals to be inherited to the number of individuals included in one population, and the operation of takeover as a GA algorithm is executed according to this parameter.
[0051]
If a plurality of cells as shown in FIG. 13 are provided and parallel processing is performed such that each searches for an optimum solution independently, the search efficiency is further improved.
FIG. 14 is a configuration diagram of the problem solving arithmetic device of the present invention in which a plurality of cells to which the hill-climbing method can be applied are connected in parallel. In FIG. 14, cells 41-1 to 41-N are connected to a migration value distribution processing unit 56 and a parallel processing control unit 57, respectively, and perform processing in parallel. Parallel processing further increases the speed of solution growth.
[0052]
Each cell includes a condition 1 processing unit 52, a condition 2 processing unit 53, a condition 3 processing unit 54, a GA operation transition control processing unit 55, an input unit 42, a memory 43, an output unit 44, a fitness value calculation processing unit 45, and duplication / crossover. A processing unit 46, a mutation processing unit 47, a neighborhood search processing unit 48, an inversion processing unit 49, a recruitment processing unit 50, and a hill climbing processing unit 51 are provided. Among these, the functions of the input unit 42, the memory 43, the output unit 44, the fitness value calculation processing unit 45, the duplication / crossover processing unit 46, the mutation processing unit 47, and the neighborhood search processing unit 48 are respectively the input unit 31 of FIG. The memory 33, the output unit 32, the fitness value calculation processing unit 34, the duplication / crossover processing unit 35, the mutation processing unit 36, and the neighborhood search processing unit 37 are basically the same.
[0053]
The inversion processing unit 49 in FIG. 14 performs an operation of inverting the order of a part of the chromosome genes, and the recruitment processing unit 50 performs an operation of accepting a new individual. Further, the hill climbing processing unit 51 performs a search by a hill climbing method similar to the neighborhood search. The fitness value calculation processing unit 45 calculates the sum of standard deviations, the number of processing executions in each generation, and the fitness value growth rate, and sends them to the condition 1 processing unit 52, the condition 2 processing unit 53, and the condition 3 processing unit 54, respectively. .
[0054]
The condition 1 processing unit 52, the condition 2 processing unit 53, and the condition 3 processing unit 54 compare these values with respective specified values, and determine whether the conditions 1, 2 and 3 are satisfied or not. This is transmitted to the control processing unit 55. The GA operation transition control processing unit 55 determines whether or not the transition conditions 01, 12, 23, and 31 in FIG. 7 are satisfied, and the fitness value calculation processing unit 45 and the duplication according to the transition flag s set as a result thereof. / Crossover processing unit 46, mutation processing unit 47, neighborhood search processing unit 48, inversion processing unit 49, recruitment processing unit 50, and hill climbing processing unit 51 are controlled.
[0055]
The migration value distribution processing unit 56 collects chromosome patterns having the largest fitness value from the memory 43 of each cell, and distributes the collected chromosomes having the best fitness value to each cell.
[0056]
The parallel processing control unit 57 synchronizes the start and stop of the processing of each cell and causes them to perform parallel processing. The parallel processing control unit 57 also controls the migration value distribution processing unit 56 at the same time as controlling the parallel processing.
[0057]
15 and 16 are flowcharts of the optimum solution search process by each cell of the problem solving arithmetic device of FIG.
When the process is started in FIG. 15, an initialization operation is first performed in each cell (step S1). By this operation, problems and parameters are read from the input unit 42 of each cell, and an initial population is generated on the memory 43. In addition, the value of the fitness function bias K is determined according to the read problem.
[0058]
Next, the GA operation transition control processing unit 55 sets the transition flag s to 0 and generates a control signal for performing search processing in the state 0. As a result, the takeover, reproduction, and crossover processing by the duplication / crossover processing unit 46 and the search processing by the hill-climbing processing unit 51 are continuously performed (step S2).
[0059]
When the condition for transition to state 1 represented by equation (3) is satisfied, the GA operation transition control processing unit 55 sets the transition flag s to 1 and generates a control signal for performing search processing in state 1 ( Step S3).
[0060]
As shown in FIG. 16, in state 1, takeover, reproduction, and crossover processing by the duplication / crossover processing unit 46, mutation processing by the mutation processing unit 47, and inversion processing by the inversion processing unit 49, The search process by the mountain climbing processing unit 51 is continuously performed (step S4).
[0061]
Thereafter, the GA operation transition control processing unit 55 repeats the search process in the same state until the transition condition to the next state is satisfied (step S5, NO), and when the transition condition to the next state is satisfied (step S5). YES), it is determined whether or not an end condition is satisfied (step S6).
[0062]
The transition condition to the next state is expressed by equation (3) when transitioning from state 1 to state 2 and from state 2 to state 3, and corresponds to condition 1 when transitioning from state 3 to state 1. The termination condition is, for example, reaching the maximum number of executions of the search process. If the end condition is not satisfied (step S6, NO), the GA operation transition control processing unit 55 updates the transition flag s according to the next state (step S7), and is selected according to the value of the transition flag s. A control signal for performing the search process is generated (step S3). In step S7, the transition flag s is updated in the order of 1, 2, and 3.
[0063]
When s = 2, the state transits to state 2, each process of takeover, re-production, and crossover by the duplication / crossover processing unit 46, mutation processing by the mutation processing unit 47, and reversal processing by the reversal processing unit 49, The neighborhood search processing by the neighborhood search processing unit 48 and the search processing by the hill climbing processing unit 51 are continuously performed (step S4). When s = 3, the state transits to the state 3, and the takeover process by the duplication / crossover processing unit 46 and the new individual acceptance process by the recruitment processing unit 50 are continuously performed (step S4).
[0064]
When the end condition is satisfied (step S6, YES), the GA operation transition control processing unit 55 generates a control signal instructing the end of the search process, and ends the process. At this time, the one with the largest fitness value among the individuals of the last generation is output from the output unit 44 as a solution.
[0065]
Next, the processing by the problem solving arithmetic device in FIG. 14 will be described in more detail with reference to FIGS.
FIG. 17 is a flowchart of crossover processing by the duplication / crossover processing unit 46, and FIG. 18 shows parent chromosome p by crossover processing.i, PjChild chromosome ci, CjIs shown. In FIG. 18, taking as an example a chromosome composed of 10 genes, numbers 1 to 10 represent each gene.
[0066]
When the processing is started in FIG.i, PjAre determined (step S11), and the parent pjChild ciThe part gc to be copied is determined (step S12). At this time, the left end and the right end of each chromosome are considered to be linked. For example, in FIG.jThe three genes 8, 5, and 7 are children ciWill be copied.
[0067]
Next, parent pi A copy of the parent pi ′ And parent pi The value of the gene contained in the part corresponding to gc of ′ (gc part) is the parent pj The genes are rearranged so as to be the same as those included in the gc portion of (step S13). And parent pi The order of genes other than the gc part of ′ is the parent pi The order of the corresponding genes is the same (step S14).
Next, parent pj The gene of gc part ofi Is copied to the gc part (step S15) and the parent pi The gene other than gc in ′i Is copied to a part other than gc (step S16). Thus, the parent pj Genes 8, 5, and 7 are children ci Copied to the gc part of the parent pi ′ Genes 1, 2, 6, and 9, 4, 3, 10 are children ci Is copied to a part other than gc.
[0068]
Next, parent piAnd parent pjBy changing the position of the whole and performing the same process, the parent pj′ (Not shown)jIs generated. Thus, in the crossover process, another two chromosomes are generated by copying and combining a part of two chromosomes. The sequence order of the genes in the chromosome before the crossover process is preserved consistently in the chromosome after the crossover process.
[0069]
FIG. 19 shows a new individual accepting process by the recruitment processing unit 50. In accepting new individuals, new chromosomes generated by randomly generating each gene are introduced into the population. This will generate the next generation of populations with increased solution diversity. The superior individual of the previous generation (previous generation) having a large fitness value is taken over to the next generation (next generation) by the duplication / crossover processing unit 46.
[0070]
FIG. 20 is a flowchart of the search process by the hill climbing processing unit 51, and FIG. 21 is a diagram showing the replacement of adjacent genes in this process.
When the processing is started in FIG. 20, first, all adjacent pairs of genes i and i + 1 are replaced, and an increase (gain) in fitness value is examined (step S21). If there is no positive gain in this (step S22, NO), the input chromosome is output as it is, and the process is terminated.
[0071]
When there is one or more positive gains (step S22, YES), a replacement that maximizes the gain is performed (step S23), and other positive gains are set within a range in which the gain is not affected by the replacement performed. It is checked whether or not the gain replacement remains (step S24). If the positive gain replacement remains (step S24, YES), the next positive gain replacement that is close in position is performed (step S25), and step S24 is performed until there is no positive gain replacement around the chromosome. , S25 is repeated.
[0072]
When there is no longer any positive gain replacement within the range that is not affected by the performed replacement (step S24, NO), the process returns to step S21, and the gains of all adjacent replacement fitness values are checked again. Thereafter, the processing of FIG. 20 is repeated until the positive gain is eliminated in step S22. By adopting such a mountain climbing method, a more excellent individual can be obtained in a short time.
[0073]
FIG. 22 is a diagram illustrating an example of inversion processing by the inversion processing unit 49. In FIG. 22, the order of some genes 6, 2, 8, 5 of the chromosome is reversed to 5, 8, 2, 6, and another chromosome is generated. This inversion process is included in the set of mutation operations in FIG.
[0074]
23 to 25 are simulation results of the traveling salesman problem of FIG. 4 by the problem solving arithmetic device of the present invention. In these figures, Optimum shows the ideal fitness value (fitness value of the optimal solution), With State shows the result when the arithmetic device of the present invention, that is, the concept of state transition is introduced, and No State shows The result when state transition is not performed (state 0) is shown. FIG. 24 is an enlarged view of the results of generations 0 to 35000 in FIG. 23, and FIG. 25 is an enlarged view of fitness 18000 to 20000 in FIG.
[0075]
In this simulation, the number of individuals in each group is 16, the chromosome length of each individual is 100, the crossover probability is 1.0, the mutation probability is 0.01, the number of inherited individuals from the previous generation is 6, and the inversion probability Was set to 0.1. A crossover probability of 1.0 means that when two child chromosomes are generated from two parent chromosomes, a crossover point is calculated and determined with a probability of 1.0. If the crossover probability is 0.8, one parent chromosome is simply used as a child chromosome as it is without determining the crossover point by calculation with the remaining 0.2 probability. An inversion probability of 0.1 means that when one chromosome is given, the inversion processing of a gene in a randomly determined part of the chromosome is performed with a probability of 0.1.
[0076]
By using the concept of state transition, reaching an ideal fitness value in 1/3 to 1/2 time compared to the case of not using the concept, and when not using the concept of state transition It can be seen that the ideal value, that is, the optimal fitness value may not be reached.
[0077]
By introducing the concept of state transition in this way, the fitness value is converged quickly, but the above-described neighborhood search in state 2 and acceptance of a new individual in state 3 are particularly effective for speeding up the convergence. It is valid.
[0078]
In the genetic algorithm, when the diversity of individuals in the group becomes small, the fitness value does not improve even if crossover is performed. Therefore, when the diversity of individuals decreases, it is necessary to restore the diversity by some method. Accepting new individuals is an effective means of restoring diversity.
[0079]
In normal mutation processing, a point in the n-dimensional space representing each individual moves only once per generation, but in hill climbing processing and neighborhood search, movement is performed many times per generation. Furthermore, in normal mutations, changes in fitness values as a result of moving points are both positive and negative stochastically, but in hill climbing and neighborhood search, they are always controlled to be positive or zero. The Therefore, by using these search methods, a local search in the search space is promoted, and there is a probability of moving to a point having a large fitness value in a short period of time, that is, during a small number of generations, as compared with normal mutation processing. growing. Appropriate combination of these search methods and genetic algorithms will eventually promote global search in the search space.
[0080]
The acceptance of new individuals in state 3 is a process prepared only for the restoration of diversity. In this process, a part of a group of uniform solution candidates is replaced with a new solution candidate to A solution with a higher fitness value can be reached while always maintaining sex.
[0081]
In the above description, the optimal solution search is performed by combining a plurality of search methods in each state. However, for example, in some states, only one search method is used, for example, using only neighborhood search. It is of course possible to search for a solution.
[0082]
【The invention's effect】
As described above in detail, according to the present invention, by searching for an optimal solution while repeating state transitions between a plurality of states each of which is generally a combination of a plurality of optimization methods, compared to the conventional method. It is possible to obtain a high-quality solution in a short time, which greatly contributes to speeding up the problem solving operation of a mathematical programming problem such as a traveling salesman problem.
[Brief description of the drawings]
FIG. 1 is a block diagram showing the principle configuration of the present invention.
FIG. 2 is a block diagram showing a basic configuration of a problem solving arithmetic device according to the present invention.
FIG. 3 is an explanatory diagram of state transition in an optimum solution search state.
FIG. 4 is a diagram illustrating an example of city arrangement in a traveling salesman problem.
FIG. 5 is a diagram showing the position (coordinates) of each city in FIG. 4;
FIG. 6 is a diagram illustrating an example of a coding result of a solution candidate.
FIG. 7 is an explanatory diagram of state transition in the embodiment.
FIG. 8 is a diagram illustrating an example of a combination of operations in each state.
FIG. 9 is a diagram illustrating the concept of neighborhood search.
FIG. 10 is a diagram showing the concept of accepting (recruitment) new individuals.
FIG. 11 is an explanatory diagram of the sum of standard deviations in a first condition.
FIG. 12 is an explanatory diagram of a change rate of a fitness value under a third condition.
FIG. 13 is a block diagram showing a configuration of a problem solving arithmetic device using a genetic algorithm.
FIG. 14 is a block diagram illustrating a configuration of a problem solving arithmetic device that performs parallel processing;
FIG. 15 is a flowchart (No. 1) of optimal solution search processing;
FIG. 16 is a flowchart (part 2) of the optimum solution search process;
FIG. 17 is a flowchart of crossover processing.
FIG. 18 is a diagram illustrating an example of crossover processing.
FIG. 19 is a diagram showing a new individual acceptance process.
FIG. 20 is a flowchart of mountain climbing processing.
FIG. 21 is a diagram illustrating adjacent replacement.
FIG. 22 is a diagram illustrating inversion processing.
FIG. 23 is a diagram (part 1) illustrating a simulation result by a GA algorithm;
FIG. 24 is a diagram (part 2) illustrating a simulation result by the GA algorithm;
FIG. 25 is a diagram (part 3) illustrating a simulation result by the GA algorithm;
[Explanation of symbols]
1 Optimal solution search means
2 Search process observation and state transition means
11 Search module
12 Control module
13 Search unit
14 Observation Department
15 Transition controller
16-1, 16-2, 16-3, 16-M Search state
30, 41-1, 41-2, 41-N cells
31, 42 Input section
32, 44 Output section
33, 43 memory
34, 45 Fitness value calculation processing unit
35, 46 Replication / crossover processing section
36, 47 Mutation processing section
37, 48 Neighborhood search processing unit
38 Evaluation Observation Processing Unit
39, 55 GA operation transition control processing unit
49 Inversion processing section
50 Recruitment processing section
51 Mountain climbing processing department
52 Condition 1 processing unit
53 Condition 2 Processing Unit
54 Condition 3 Processing Unit
56 Migration value distribution processing unit
57 Parallel processing controller

Claims (5)

問題解決のために、該問題に対する解の探索空間を探索して最適解を求める問題解決演算装置であって、
前記問題を入力する入力部と、
前記最適解を探索する並列処理を行う複数のセルと、
マイグレーション値分配処理部と、
前記複数のセルの各々の処理の開始と停止の同期を取り、前記並列処理を制御する並列処理制御部とを備え、
前記複数のセルの各々は、
前記問題に対する解候補の集団を格納するメモリと、
前記解候補の集団に対して、前世代の解候補をランダムに選択する複製処理、または該前世代の2つの解候補の一部のコピーを組み合わせて解候補を生成する交叉処理を施す複製/交叉処理部と、
前記解候補の集団に対して、解候補を部分的に変化させる突然変異の処理を施す突然変異処理部と、
前記解候補の集団の各解候補の評価値を算出する評価値計算処理部と、
1つの世代に属する複数の解候補にコーディングされた値の標準偏差に対して予め定められた規定値と、探索実行回数に対して予め定められた規定値と、ジェネレーションの値の増加に対する解候補の評価値の増加の割合を示す評価値の伸び率に対して予め定められた規定値とを保持し、前記複製/交叉処理部および突然変異処理部による各処理の組み合わせを用いて探索を行う状態における探索過程を観測して、標準偏差が該標準偏差の規定値を下回るという第1の条件、1つの状態における探索実行回数が該探索実行回数の規定値を上回るという第2の条件、および評価値の伸び率が該伸び率の規定値を下回るという第3の条件がそれぞれ成立するか否かを判定する条件判定処理部と、
前記問題解決演算装置が探索を行う複数の状態の1つを示す遷移フラグであって、各状態から遷移する先の状態を予め定めた遷移順序に従って値が更新されるような遷移フラグを保持し、前記第1の条件が成立したとき、または、前記第2の条件と前記第3の条件が成立したときに、該遷移フラグの値を現在の状態の遷移先である次の状態に合わせて更新し、更新された遷移フラグの値により選択される状態で探索を行うための制御信号を前記複製/交叉処理部および突然変異処理部に出力して該複製/交叉処理部および突然変異処理部による各処理を選択的に組み合わせることで前記問題解決演算装置を該現在の状態から該次の状態へ遷移させて、該現在の状態とは異なる組み合わせの処理を前記解候補の集団に適用する状態遷移を、複数回繰り返す遷移制御処理部と、
探索終了条件が満たされたとき、探索により変更された解候補の集団を出力する出力部とを含み、
前記マイグレーション値分配処理部は、前記複数のセルの各々のメモリから評価値の最も大きな解候補を収集し、収集された解候補の中で評価値の最も大きな解候補を該複数のセルに分配することを特徴とする状態遷移の概念を導入した問題解決演算装置。
In order to solve a problem, a problem-solving arithmetic unit that searches a search space for a solution to the problem to obtain an optimal solution ,
An input unit for inputting the problem;
A plurality of cells performing parallel processing to search for the optimum solution;
A migration value distribution processing unit;
A parallel processing control unit that controls the parallel processing by synchronizing the start and stop of the processing of each of the plurality of cells;
Each of the plurality of cells is
A memory for storing a group of solution candidates for the problem;
A copy / replication process that randomly selects a previous generation solution candidate or a crossover process that generates a solution candidate by combining a part of two previous generation solution candidates. Crossover processing section;
A mutation processing unit that performs a mutation process that partially changes the solution candidates for the solution candidate group;
An evaluation value calculation processing unit for calculating an evaluation value of each solution candidate of the solution candidate group;
Predetermined values predetermined for standard deviations of values coded in a plurality of solution candidates belonging to one generation, predetermined values predetermined for the number of search executions, and solution candidates for increase in generation value A predetermined prescribed value for the rate of increase of the evaluation value indicating the rate of increase of the evaluation value is held, and a search is performed using a combination of the processes by the duplication / crossover processing unit and the mutation processing unit. A first condition that the search process in the state is observed, the standard deviation is less than a specified value of the standard deviation, a second condition that the number of search executions in one state exceeds the specified value of the search execution number, and A condition determination processing unit that determines whether or not a third condition that the rate of elongation of the evaluation value falls below a specified value of the rate of elongation is satisfied;
A transition flag indicating one of a plurality of states to be searched by the problem-solving arithmetic unit, wherein a transition flag is updated such that a value is updated in accordance with a predetermined transition order of a state to which the state is shifted from each state. When the first condition is satisfied, or when the second condition and the third condition are satisfied, the value of the transition flag is adjusted to the next state that is the transition destination of the current state. A control signal for updating and performing a search in a state selected by the updated value of the transition flag is output to the duplication / crossover processing unit and the mutation processing unit, and the duplication / crossover processing unit and the mutation processing unit A state in which the problem solving operation device is shifted from the current state to the next state by selectively combining the processes according to, and a combination of processing different from the current state is applied to the solution candidate group Multiple transitions And transition control processor repeating,
An output unit that outputs a group of solution candidates changed by the search when the search end condition is satisfied,
The migration value distribution processing unit collects a solution candidate having the largest evaluation value from each memory of the plurality of cells, and distributes the solution candidate having the largest evaluation value among the collected solution candidates to the plurality of cells. introduced problem solving arithmetic unit the concept of state transition, characterized by.
前記メモリは、前記解候補の集団として染色パターンの集団を格納し、前記突然変異処理部は、前記突然変異の処理により、各染色パターン内の2つの遺伝子を入れ換えることを特徴とする請求項記載の状態遷移の概念を導入した問題解決演算装置。 The memory stores the population staining pattern as said population of candidate solutions, wherein the mutation treatment unit, according to claim 1, characterized in that the processing of the mutant, interchanged the two genes in each staining pattern A problem-solving arithmetic device that introduces the concept of state transition described. 前記前世代から優秀な解候補を引き継ぐ処理を施す引継ぎ処理部と、解候補の持つ値の配列を反転させる反転処理部と、前記解候補の集団に対して近傍探索処理を施す近傍探索処理部と、前記解候補の集団に対して新しい解候補の受入れ処理を施すリクルートメント処理部とをさらに備え、
前記遷移制御処理部は、前記制御信号により前記複製交叉処理部、前記突然変異処理部、前記引継ぎ処理部、前記反転処理部、前記近傍探索処理部、および前記リクルートメント処理部による各処理を選択的に組み合わせることで前記問題解決演算装置を前記現在の状態から前記次の状態へ遷移させることを特徴とする請求項記載の状態遷移の概念を導入した問題解決演算装置。
A takeover processing unit that performs a process of taking over an excellent solution candidate from the previous generation, an inversion processing unit that inverts the array of values of the solution candidate, and a neighborhood search processing unit that performs a neighborhood search process on the solution candidate group And a recruitment processing unit that performs new solution candidate acceptance processing on the solution candidate group,
The transition control processing unit performs each process by the replication / crossover processing unit, the mutation processing unit, the takeover processing unit, the inversion processing unit, the neighborhood search processing unit, and the recruitment processing unit according to the control signal. the problem solving computing device problems that introduced the concept of a state transition according to claim 1, characterized in that transition from the current state to the next state resolution operator device selectively combining it.
前記解候補の集団に対して山登り処理を施す山登り処理部をさらに備え、
前記遷移制御処理部は、前記制御信号により前記複製交叉処理部、前記突然変異処理部、および前記山登り処理部による各処理を選択的に組み合わせることで前記問題解決演算装置を前記現在の状態から前記次の状態へ遷移させることを特徴とする請求項記載の状態遷移の概念を導入した問題解決演算装置。
A hill-climbing processing unit that performs hill-climbing processing on the solution candidate group;
The transition control processing unit is configured to selectively combine the processes performed by the replication / crossover processing unit, the mutation processing unit, and the hill climbing processing unit from the current state based on the control signal. the next thing to transition to state problems introduced the concept of a state transition according to claim 1, wherein the resolution computing device.
問題解決のために、該問題に対する解の探索空間を探索して最適解を求める問題解決演算方法であって、
入力部が、前記問題を入力するステップと、
メモリ、複製/交叉処理部、突然変異処理部、評価値計算処理部、条件判定処理部、遷移制御処理部、および出力部をそれぞれ含む複数のセルが、前記最適解を探索する並列処理を行うステップと、
マイグレーション値分配処理部が、前記問題に対する解候補を前記複数のセルに分配するステップと、
並列処理制御部が、前記複数のセルの各々の処理の開始と停止の同期を取り、前記並列処理を制御するステップとを備え、
前記複数のセルが前記最適解を探索する並列処理を行うステップは、
前記複製/交叉処理部が、前記メモリに格納された解候補の集団に対して、前世代の解候補をランダムに選択する複製処理、または該前世代の2つの解候補の一部のコピーを組み合わせて解候補を生成する交叉処理を施すステップと、
前記突然変異処理部が、前記解候補の集団に対して、解候補を部分的に変化させる突然変異の処理を施すステップと、
前記評価値計算処理部が、前記解候補の集団の各解候補の評価値を算出するステップと、
前記条件判定処理部が、1つの世代に属する複数の解候補にコーディングされた値の標準偏差に対して予め定められた規定値と、探索実行回数に対して予め定められた規定値と、ジェネレーションの値の増加に対する解候補の評価値の増加の割合を示す評価値の伸び率に対して予め定められた規定値とを保持し、前記複製/交叉処理部および突然変異処理部による各処理の組み合わせを用いて探索を行う状態における探索過程を観測して、標準偏差が該標準偏差の規定値を下回るという第1の条件、1つの状態における探索実行回数が該探索実行回数の規定値を上回るという第2の条件、および評価値の伸び率が該伸び率の規定値を下回るという第3の条件がそれぞれ成立するか否かを判定するステップと、
前記遷移制御処理部が、前記問題解決演算装置が探索を行う複数の状態の1つを示す遷移フラグであって、各状態から遷移する先の状態を予め定めた遷移順序に従って値が更新されるような遷移フラグを保持し、前記第1の条件が成立したとき、または、前記第2の条件と前記第3の条件が成立したときに、該遷移フラグの値を現在の状態の遷移先である次の状態に合わせて更新し、更新された遷移フラグの値により選択される状態で探索を行うための制御信号を前記複製/交叉処理部および突然変異処理部に出力して該複製/交叉処理部および突然変異処理部による各処理を選択的に組み合わせることで前記問題解決演算装置を該現在の状態から該次の状態へ遷移させて、該現在の状態とは異なる組み合わせの処理を前記解候補の集団に適用する状態遷移を、複数回繰り返すステップと、
前記出力部が、探索終了条件が満たされたとき、探索により変更された解候補の集団を出力するステップとを含み、
前記マイグレーション値分配処理部が解候補を前記複数のセルに分配するステップにおいて、該マイグレーション値分配処理部は、該複数のセルの各々のメモリから評価値の最も大きな解候補を収集し、収集された解候補の中で評価値の最も大きな解候補を該複数のセルに分配することを特徴とする状態遷移の概念を導入した問題解決演算方法。
In order to solve a problem, a problem solving calculation method for finding an optimal solution by searching a search space for a solution to the problem ,
An input unit inputting the problem;
A plurality of cells each including a memory, a duplication / crossover processing unit, a mutation processing unit, an evaluation value calculation processing unit, a condition determination processing unit, a transition control processing unit, and an output unit perform parallel processing for searching for the optimal solution. Steps,
A migration value distribution processing unit distributing solution candidates for the problem to the plurality of cells;
A parallel processing control unit that synchronizes the start and stop of each of the plurality of cells and controls the parallel processing; and
The step of performing parallel processing in which the plurality of cells search for the optimal solution includes:
The duplication / crossover processing unit performs a duplication process for randomly selecting a solution candidate of the previous generation for a group of solution candidates stored in the memory, or a copy of a part of the two solution candidates of the previous generation. Performing a crossover process for generating solution candidates in combination;
The mutation processing unit performing a mutation process for partially changing the solution candidate on the solution candidate group;
The evaluation value calculation processing unit calculating an evaluation value of each solution candidate of the group of solution candidates;
The condition determination processing unit includes a predetermined value predetermined for a standard deviation of values coded in a plurality of solution candidates belonging to one generation, a predetermined value predetermined for the number of search executions, and generation A predetermined value that is predetermined with respect to the rate of increase of the evaluation value indicating the rate of increase in the evaluation value of the solution candidate with respect to the increase in the value of the solution. A first condition that a search process in a state where a search is performed using a combination is observed, and a standard deviation is less than a specified value of the standard deviation, a search execution count in one state exceeds a specified value of the search execution count Determining whether each of the second condition and the third condition that the elongation rate of the evaluation value is lower than the specified value of the elongation rate is satisfied,
The transition control processing unit is a transition flag indicating one of a plurality of states that the problem solving arithmetic device searches for, and the value is updated according to a predetermined transition order for the states to be transitioned from each state. When the first condition is satisfied, or when the second condition and the third condition are satisfied, the value of the transition flag is set at the transition destination of the current state. A control signal for updating in accordance with a certain next state and performing a search in a state selected by the updated value of the transition flag is output to the duplication / crossover processing unit and the mutation processing unit, and the duplication / crossover is performed. By selectively combining the processing by the processing unit and the mutation processing unit, the problem-solving arithmetic device is shifted from the current state to the next state, and processing of a combination different from the current state is solved. Suitable for candidate group A step of the state transition is repeated a plurality of times to,
The output unit, when a search end condition is satisfied, outputting a group of solution candidates changed by the search, and
In the step in which the migration value distribution processing unit distributes the solution candidates to the plurality of cells, the migration value distribution processing unit collects the solution candidates having the largest evaluation value from each memory of the plurality of cells. A problem-solving calculation method that introduces a concept of state transition, characterized in that a solution candidate having the largest evaluation value among the solution candidates is distributed to the plurality of cells .
JP31150994A 1993-12-16 1994-12-15 Problem solving operation apparatus and method introducing the concept of state transition Expired - Fee Related JP3751647B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31150994A JP3751647B2 (en) 1993-12-16 1994-12-15 Problem solving operation apparatus and method introducing the concept of state transition

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP5-316535 1993-12-16
JP31653593 1993-12-16
JP31150994A JP3751647B2 (en) 1993-12-16 1994-12-15 Problem solving operation apparatus and method introducing the concept of state transition

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP2002313346A Division JP2003196635A (en) 1993-12-16 2002-10-28 Problem solution operation device and method
JP2003011357A Division JP3697446B2 (en) 1993-12-16 2003-01-20 Problem solving operation apparatus and method introducing the concept of state transition

Publications (2)

Publication Number Publication Date
JPH07225752A JPH07225752A (en) 1995-08-22
JP3751647B2 true JP3751647B2 (en) 2006-03-01

Family

ID=26566770

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31150994A Expired - Fee Related JP3751647B2 (en) 1993-12-16 1994-12-15 Problem solving operation apparatus and method introducing the concept of state transition

Country Status (1)

Country Link
JP (1) JP3751647B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110015092A (en) * 2017-08-08 2019-07-16 郑州宇通客车股份有限公司 A kind of new energy bus automatic queuing's charging method and its system

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4763112B2 (en) * 1999-10-22 2011-08-31 富士通株式会社 Optimization problem processing method by island model of hybrid genetic algorithm and its processing program recording medium
JP2009025873A (en) * 2007-07-17 2009-02-05 Mitsubishi Electric Corp Combined optimum solution calculation device
JP5355601B2 (en) * 2011-01-21 2013-11-27 三菱電機株式会社 Operation equipment or crew operation plan creation device
JP6544435B2 (en) * 2015-10-02 2019-07-17 富士通株式会社 PROGRAM GENERATION DEVICE, PROGRAM GENERATION METHOD, AND GENERATION PROGRAM
CN108140133B (en) 2015-10-22 2022-03-22 富士通株式会社 Program generation device, program generation method, and recording medium
JP6750273B2 (en) * 2016-03-30 2020-09-02 沖電気工業株式会社 Position estimation device, position estimation program, monitoring device and state monitoring system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110015092A (en) * 2017-08-08 2019-07-16 郑州宇通客车股份有限公司 A kind of new energy bus automatic queuing's charging method and its system

Also Published As

Publication number Publication date
JPH07225752A (en) 1995-08-22

Similar Documents

Publication Publication Date Title
CN109039942B (en) Network load balancing system and balancing method based on deep reinforcement learning
Li et al. Adaptive operator selection with bandits for a multiobjective evolutionary algorithm based on decomposition
Lin et al. Solving travelling salesman problem with an improved hybrid genetic algorithm
EP1345167A1 (en) Method of combinatorial multimodal optimisation
Yiu et al. Evolutionary heuristic a* search: Heuristic function optimization via genetic algorithm
Soh et al. Evolving policies for multi-reward partially observable Markov decision processes (MR-POMDPs)
Ma et al. A multipopulation-based multiobjective evolutionary algorithm
US6052678A (en) Problem solving operation apparatus using a state transition
Gong et al. Hybrid immune algorithm with Lamarckian local search for multi-objective optimization
JP3751647B2 (en) Problem solving operation apparatus and method introducing the concept of state transition
Cerf et al. The first proven performance guarantees for the Non-Dominated Sorting Genetic Algorithm II (NSGA-II) on a combinatorial optimization problem
JP3697446B2 (en) Problem solving operation apparatus and method introducing the concept of state transition
Khan Assessing different crossover operators for travelling salesman problem
Kumar Efficient hierarchical hybrids parallel genetic algorithm for shortest path routing
Du et al. A genetic simulated annealing algorithm to optimize the small-world network generating process
da Silveira et al. Parallel multi-island genetic algotirth for sorting unsigned genomes by reversals
Wang et al. Swarm simulated annealing algorithm with knowledge-based sampling for travelling salesman problem
Kusetogullari et al. A reduced uncertainty-based hybrid evolutionary algorithm for solving dynamic shortest-path routing problem
Tan et al. Genetic algorithms based on clustering for traveling salesman problems
Li et al. A knowledge-based technique for initializing a genetic algorithm
Li et al. Evolutionary multi-objective optimization algorithms with probabilistic representation based on pheromone trails
JP2003196635A (en) Problem solution operation device and method
El-Fakih et al. A method and a genetic algorithm for deriving protocols for distributed applications with minimum communication cost
Pan et al. A hybrid neural network and genetic algorithm approach for multicast QoS routing
Misni et al. Harmony search for multi-depot vehicle routing problem

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20021119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051109

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051208

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091216

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091216

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101216

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111216

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111216

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121216

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees