JP3697446B2 - 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
JP3697446B2
JP3697446B2 JP2003011357A JP2003011357A JP3697446B2 JP 3697446 B2 JP3697446 B2 JP 3697446B2 JP 2003011357 A JP2003011357 A JP 2003011357A JP 2003011357 A JP2003011357 A JP 2003011357A JP 3697446 B2 JP3697446 B2 JP 3697446B2
Authority
JP
Japan
Prior art keywords
value
search
chromosome
state
processing unit
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
JP2003011357A
Other languages
Japanese (ja)
Other versions
JP2003248809A (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 JP2003011357A priority Critical patent/JP3697446B2/en
Publication of JP2003248809A publication Critical patent/JP2003248809A/en
Application granted granted Critical
Publication of JP3697446B2 publication Critical patent/JP3697446B2/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つによる探索に状態を遷移させるものである。
【0014】
また、本発明のもう1つの問題解決演算装置は、入力部、メモリ、複製/交叉処理部、突然変異処理部、評価値計算処理部、評価観測処理部、遷移制御処理部、および出力部を備え、問題に対する解の探索空間を探索して最適解を求める。
【0015】
入力部は、問題および探索パラメータ値を入力し、メモリは、入力された問題に対する解候補となる染色体パターンの集団を格納する。複製/交叉処理部は、染色体パターンの集団に対して、前世代の染色体パターンを選択する生殖処理、または前世代の2つの染色体パターンの一部のコピーを組み合わせて染色体パターンを生成する交叉処理を施し、突然変異処理部は、染色体パターンの集団に対して、染色体パターンの指定位置の内容を探索パラメータ値により指定される確率で他の位置の内容と交換する突然変異処理を施す。評価値計算処理部は、染色体パターンの集団の各染色体パターンの評価値を算出し、評価観測処理部は、1つの世代に属する複数の染色体パターンにコーディングされた値の標準偏差に対して予め定められた規定値と、探索実行回数に対して予め定められた規定値と、ジェネレーションの値の増加に対する染色体パターンの評価値の増加の割合を示す評価値の伸び率に対して予め定められた規定値とを保持し、複製/交叉処理部および突然変異処理部による各処理の組み合わせを用いて探索を行う状態における探索過程を観測して、標準偏差が標準偏差の規定値を下回るという第1の条件、1つの状態における探索実行回数が探索実行回数の規定値を上回るという第2の条件、および評価値の伸び率が伸び率の規定値を下回るという第3の条件がそれぞれ成立するか否かを判定する。
【0016】
遷移制御処理部は、問題解決演算装置が探索を行う複数の状態の1つを示す遷移フラグであって、各状態から遷移する先の状態を予め定めた遷移順序に従って値が更新されるような遷移フラグを保持し、第1の条件が成立したとき、または、第2の条件と第3の条件が成立したときに、遷移フラグの値を現在の状態の遷移先である次の状態に合わせて更新し、更新された遷移フラグの値により選択される状態で探索を行うための制御信号を複製/交叉処理部および突然変異処理部に出力して複製/交叉処理部および突然変異処理部による各処理を選択的に組み合わせることで問題解決演算装置を現在の状態から次の状態へ遷移させて、現在の状態とは異なる組み合わせの処理を染色体パターンの集団に適用する状態遷移を複数回繰り返し、現在の状態および次の状態に共通する処理に対しては、現在の状態と次の状態とでそれぞれ異なる探索パラメータ値を適用する。出力部は、探索実行回数が最大実行回数に達したとき、探索により変更された染色体パターンの集団を出力する。
本発明のさらに別の問題解決演算装置は、入力部、メモリ、複製/交叉処理部、突然変異処理部、評価値計算処理部、評価観測処理部、遷移制御処理部、および出力部を備え、問題に対する解の探索空間を探索して最適解を求める。
入力部は、問題および探索パラメータ値を入力し、メモリは、入力された問題に対する解候補となる染色体パターンの集団を格納する。複製/交叉処理部は、染色体パターンの集団に対して、前世代の染色体パターンを選択する生殖処理、または前世代の2つの染色体パターンの一部のコピーを組み合わせて染色体パターンを生成する交叉処理を施し、突然変異処理部は、染色体パターンの集団に対して、染色体パターンの指定位置の内容を探索パラメータ値により指定される確率で他の位置の内容と交換する突然変異処理を施す。評価値計算処理部は、染色体パターンの集団の各染色体パターンの評価値を算出し、評価観測処理部は、1つの世代に属する複数の染色体パターンにコーディングされた値の標準偏差に対して予め定められた規定値と、探索実行回数に対して予め定められた規定値と、ジェネレーションの値の増加に対する染色体パターンの評価値の増加の割合を示す評価値の伸び率に対して予め定められた規定値とを保持し、複製/交叉処理部および突然変異処理部による各処理の組み合わせを用いて探索を行う状態における探索過程を観測して、標準偏差が標準偏差の規定値を下回るという第1の条件、1つの状態における探索実行回数が探索実行回数の規定値を上回るという第2の条件、および評価値の伸び率が伸び率の規定値を下回るという第3の条件がそれぞれ成立するか否かを判定する。
遷移制御処理部は、問題解決演算装置が探索を行う複数の状態の1つを示す遷移フラグであって、各状態から遷移する先の状態を予め定めた遷移順序に従って値が更新されるような遷移フラグを保持し、第1の条件が成立したとき、または、第2の条件と第3の条件が成立したときに、遷移フラグの値を現在の状態の遷移先である次の状態に合わせて更新し、更新された遷移フラグの値により選択される状態で探索を行うための制御信号を複製/交叉処理部および突然変異処理部に出力して複製/交叉処理部および突然変異処理部による各処理を選択的に組み合わせることで問題解決演算装置を現在の状態から次の状態へ遷移させて、現在の状態とは異なる組み合わせの処理を染色体パターンの集団に適用する状態遷移を複数回繰り返し、現在の状態および次の状態に共通する処理に対しては、現在の状態と次の状態とでそれぞれ異なる探索パラメータ値を適用する。出力部は、探索終了条件が満たされたとき、探索により変更された染色体パターンの集団を出力する。
【0017】
【作用】
本発明においては、1つ以上の最適解探索手法の組み合わせを用いた状態で最適解の探索が行われる。この最適解探索手法としては、前述のように遺伝的アルゴリズムにおけるいくつかの手法、及び遺伝的アルゴリズム以外の最適化手法を組み合わせたものが用いられ、また複数の最適解探索手段において同一の手法が用いられる場合には、例えば探索のパラメータとして別の値が用いられることもある。
【0018】
1つの最適解探索手段1によってある最適解探索手法の組み合わせ状態で最適解探索が行われている場合、その探索過程が観測され、例えば解のフィットネス値の伸び率が規定値を下回るなどのように予め定められた条件が達成された時、その状態での最適解の探索は中止され、最適解探索手法の別の組み合わせ(または探索パラメータの変化)を用いた状態での探索が他の最適解探索手段1によって行われる。すなわち解の探索状態の遷移が行われることになる。
【0019】
以上のように、本発明によればそれぞれ1つ以上の最適解探索手法の組み合わせを用いた状態で最適解を探索する複数の最適解探索手段1の間で探索の状態遷移が行われ、ある最適解探索手段1による探索の効果が低下した時には別の最適解探索手段1により最適解探索が続行される。
【0020】
【実施例】
図2は本発明の問題解決演算装置の基本構成ブロック図である。同図において演算装置は大きく探索モジュール11と制御モジュール12とで構成され、探索モジュール11内には複数の探索状態16−1、16−2、16−3、・・・、16−Mの間を遷移する探索部13が備えられ、また制御モジュール12の中には観測部14と遷移制御部15とが備えられている。
【0021】
探索モジュール11は問題の入力に対して最適解を出力するものであり、探索モジュール11内の探索部13が取り得る複数の探索状態16−1、・・・、16−Mはそれぞれ図1の最適解探索手段1に相当し、それぞれ1つ以上の最適解探索手法を組み合わせた状態である。この最適解探索手法には遺伝的アルゴリズムの手法以外の探索手法も含まれる。
【0022】
制御モジュール12は探索モジュール11の最適解探索過程を観測し、その観測結果に基づいて探索モジュール11内の探索部13に最適解探索状態の遷移を行わせる。観測部14は探索された解の評価値(あるいはフィットネス値)の上昇率、すなわちジェネレーション値の変化に対するフィットネス値の変化率を観測する機能、1つの世代における個体の集団内のフィットネス値の分散などを観測する機能、探索の実行回数を観測する機能、遺伝的アルゴリズムにおけるその他の評価基準を観測する機能などを含んでいる。ある1つの状態における探索部13による探索の効果が低下したと判定された時には、別の状態における探索部13による探索への変更、すなわち探索状態の遷移が行われる。
【0023】
図2における各ブロックの動作を更に説明すると、探索モジュール11は遺伝的アルゴリズムを用いた処理中に世代毎の集団の状況、例えばフィットネス値の最大値、及び分散などを出力し、制御モジュール12の内部の観測部14は探索モジュール11の出力を観測して、観測結果を状態遷移条件と比較し、その比較結果に応じて遷移制御部15に対して状態遷移を行わせるための指示を出力する。その指示を受けた遷移制御部15は、探索部13の探索状態を切り替えることにより、探索モジュール11による最適解の探索を続行させる。その動作は探索の終了条件が満足されるまで繰り返し行われる。
【0024】
図3は本発明における最適解探索状態の状態遷移の説明図である。同図においては、与えられた問題に対する最適値を探索するための探索状態として第1の最適値探索状態21〜第5の最適値探索状態25の5つが設けられ、各最適値探索状態は一般に複数の最適値探索手法の組み合わせを用いた状態で最適値の探索を行う。
【0025】
それぞれの最適値探索状態の間では、状態遷移のための遷移条件12、23、25、31、34、43、51、54が探索効果の向上の可能性に対応して設定されている。例えば、第1の最適値探索状態21からは、第2の最適値探索状態22に対して遷移条件12が設定され、また第5の最適値探索状態25からは、第1の最適値探索状態21に対する遷移条件51と、第4の最適値探索状態24に対する遷移条件54が設定されている。
【0026】
次に前述の巡回セールスマン問題を具体例として用いて、本発明の実施例を説明する。図4、及び図5は巡回セールスマン問題における都市の配置の例である。図5は図4にその配置を示した各都市のX座標とY座標を示したものである。ここで示した100個の都市を重複を許さずに最短距離で巡回する解を求める問題が巡回セールスマン問題である。
【0027】
遺伝的アルゴリズムを用いた巡回セールスマン問題の解法では、まず解の候補となる巡回経路を染色体としてコーディングを行う。本実施例では、都市名を遺伝子としてセールスマンが巡回する順番に都市名を並べたものを染色体とするコーディング法を採用した。図6は解の候補のコーディング結果の例である。同図において、1番目に巡る都市名から100番目に巡る都市名までが、各都市の番号を用いてコーディングされ、1つの解の候補が染色体として表現されている。このような巡回経路に対応する距離の総和が解のコストに対応し、そのコストの最小化をはかるのが巡回セールスマン問題である。
【0028】
巡回セールスマン問題における解xの評価関数であるフィットネス関数f(x)は、例えば次式で表される。
【0029】
【数1】

Figure 0003697446
ここで、d(x)は解xにおけるi−1番目の都市とi番目の都市の間の距離であり、nは都市の数(図4ではn=100)である。ただし、d(x)は出発点から1番目の都市までの距離であり、d(x)はn−1番目(最後から2番目)の都市とn番目の都市(最後の都市であると同時に出発点でもある)の間の距離であるものとする。バイアスKは図4の隣接する都市を結んで得られる円の直径(都市間の距離の最大値)と都市の数nとの積である。
【0030】
(1)式の右辺の 外1 がこの問題における解xのコストを表しており、コ
【0031】
【外1】
Figure 0003697446
ストが小さいほどフィットネス関数f(x)の値が大きくなることがわかる。
【0032】
図7は実施例としての巡回セールスマン問題に対する状態遷移の説明図である。同図に示されるように、本実施例での最適解探索過程は状態0〜状態3の4つの状態の間で、遷移条件01、12、23、31に従って状態遷移を行うことによって実行される。
【0033】
図8は図7における各状態での遺伝的アルゴリズムのオペレーションの組み合わせの例である。同図において状態0では前世代からの優秀個体のひきつぎ、生殖(リプロダクション,R)、及び交叉(クロスオーバ,C)の3つのオペレーションの組み合わせによって最適解の探索処理が行われる。最初の世代の場合、優秀個体は前世代の代わりに初期の個体の集団(ポピュレーション)から取り出される。この状態0は初期処理を行う状態である。
【0034】
状態1では状態0における3つのオペレーションに加えて突然変異(ミューテーション,M)のオペレーションが組み合わされて、最適解の探索処理が行われる。本実施例では後述するように状態0と状態1での同一のオペレーション、例えば前世代からの優秀個体のひきつぎのオペレーションにおけるパラメータ、すなわち次の世代にひきつぐ優秀個体の割合を一定として処理を行ったが、このパラメータを状態0と状態1とで変化させることも当然可能である。なおこの状態1は、通常の遺伝的アルゴリズムの処理を行う状態である。
【0035】
状態2では、状態1での4つのオペレーションに加えて更に近傍探索が行われ、この近傍探索が重点的に行われる状態である。この近傍探索は、1つの世代の集団の中でフィットネス値の大きい方からいくつかの個体を選び、各個体に対して突然変異と同様の処理を集中的に繰り返し行うものである。近傍探索においては、フィットネス値が改善される場合のみ染色体のパターンの実際の変更を行う。この近傍探索における主なパラメータの値としては、近傍探索繰り返し回数として1世代の個体当たりの回数が1以上であり、近傍探索の範囲、すなわち近傍探索を施す個体数の集団内の全個体数に対する比率は0.0以上、1.0以下である。
【0036】
図9に近傍探索の概念を示す。図9において、染色体のパターンを変えることにより、フィットネス値が増大するような解(染色体)が探索されることがわかる。
【0037】
状態3は前世代からの優秀個体のひきつぎと、新個体の受け入れの2つのオペレーションの組み合わせによって最適解を探索する状態であり、新たな集団を受け入れる状態である。この新個体の受け入れに対するパラメータとしての集団内の新個体の比率は、0.0から1.0の間に設定される。
【0038】
図10に新個体の受け入れ(リクルートメント)の概念を示す。図10において、新個体はランダムに発生するため、その染色体のパターンは広範囲に分散することがわかる。
【0039】
次に状態0〜3における各オペレーションに対して共通的に設定されるパラメータについて説明する。まず、1世代の染色体の総数、すなわち個体の総数であるポピュレーションのサイズは10に設定され、前世代からの優秀個体のひきつぎの割合、すなわちジェネレーションオーバラップ率(ジェネレーションギャップ率の反対の概念)としては優秀な方から40%を次の世代にひきつぐ操作が行われた。また、突然変異、すなわち1つの染色体における1組の遺伝子の値の交換、図6ではある1組の都市名の交換は0.01、すなわち1%の頻度で行われた。この問題に対する突然変異操作においては、染色体の左端から1つずつ順に遺伝子の位置を指していき、指されている位置の内容を1%の確率で他の任意の位置の内容と交換していく。
【0040】
図7における各状態の間での遷移条件は次の3つの条件の組み合わせとして設定された。第1の条件(条件1)はポピュレーションとしての10個の染色体における各遺伝子の標準偏差の和が規定値を下回ることである。
【0041】
図11はこの第1の条件の説明図である。同図において、n個のスロットの各々についてm個の染色体における各遺伝子の値(都市番号)の平均値と標準偏差が求められる。さらに、各スロット毎の標準偏差から標準偏差の和が求められ、その和が規定値を下回る場合に第1の条件が満足されたものとする。すなわち、第1の条件は各染色体をn次元空間における点としてとらえ、その点を表すn個の座標(都市番号)に対する標準偏差がある規定値以下になることで、n次元空間における染色体のバラつきが小さくなることを意味する。
【0042】
第2の条件(条件2)は探索処理の実行回数が予め定められた規定値を上回ることである。
第3の条件(条件3)はフィットネス値の伸び率が規定値を下回ることである。これはフィットネス値を表す関数f(x)に解候補としての染色体のd(x)の値を代入して、各ジェネレーションに対するフィットネスの値を計算し、フィットネス値の変化率を求めることによって判定される。
【0043】
図12はこの第3の条件におけるフィットネス値の変化率の説明図である。図12では、各ジェネレーションに属する複数の個体のフィットネス値のうち、最も大きな値がプロットされている。同図に示すようにフィットネス値の変化率は次式によって計算される。
【0044】
【数2】
Figure 0003697446
引継ぎ操作を施せば、前のジェネレーションの最大のフィットネス値を持つ個体は必ず次のジェネレーションに引き継がれるため、各ジェネレーションにおけるフィットネス値の最大値は前のジェネレーションにおける最大値を下回ることはない。したがって、ジェネレーションを経るにつれて、フィットネス値の最大値は単調に増加する。
【0045】
図7において、実施例における問題解決演算装置は初期において状態0で最適解を探索し、遷移条件01が満足されると状態1での探索に移行する。その後は状態1→状態2→状態3→状態1→・・・の状態遷移を、例えば最大実行時間に至るまで繰り返す。
【0046】
本実施例では遷移条件01,12及び23はすべて同一とし、
第1の条件∪(第2の条件∩第3の条件) …(3)
が成立するときに状態遷移を行うものとした。
【0047】
すなわち本実施例では、第2の条件と第3の条件が同時に成立するか、あるいは第1の条件のみが成立する時に状態0から状態1、状態1から状態2、及び状態2から状態3への状態遷移が行われる。また状態3から状態1への遷移条件31は第1の条件に一致するものとした。ここでは、各遷移条件の論理構造が同じという意味であり、しきい値のようなパラメータの値はそれぞれ異なったものを用いることもできる。
【0048】
図13は以上の説明に対応して図2に示した問題解決演算装置の基本構成を更に詳細に示したものである。同図において、図2の制御モジュール12と探索モジュール11はセル30に含まれ、セル30は入力信号を受け取る入力部31、解を出力する出力部32、入力データ及び探索過程における解候補などを格納するメモリ33、解のフィットネス値を計算するフィットネス値計算処理部34、遺伝的アルゴリズムにおける複製、交叉のオペレーションなどを実行する複製/交叉処理部35、突然変異のオペレーションを実行する突然変異処理部36及び前述の近傍探索を行う近傍探索処理部37から構成されている。
【0049】
フィットネス値計算処理部34、複製/交叉処理部35、突然変異処理部36、および近傍探索処理部37による処理を組み合わせることにより、セル30は図2に示すM個の探索状態16−1〜16−Mのうちいずれの状態にも設定され得る。
【0050】
図2の観測部14に対応する評価観測処理部38は標準偏差の和の規定値であるダイバーシティ・メジャ、ジェネレーションギャップ率であるジェネレーションギャップ・メジャ、フィットネス値の伸び率の規定値であるグロースレート・メジャ、及び実行回数の最大限度値としてのターミネーション・メジャに基づいて、遷移制御部15に対応するGAオペレーション遷移制御処理部39に対する必要な指示を行う。GAオペレーション遷移制御処理部39は複製/交叉処理部35、突然変異処理部36、および近傍探索処理部37に対する制御信号を出力する。
【0051】
例えばジェネレーションギャップ・メジャにより定義されるジェネレーションギャップ率は、前世代からの優秀個体の引継ぎのオペレーションを行う際のパラメータである。これは、1つのポピュレーションに含まれる個体の数に対する引き継がれる個体の数の比率を表し、このパラメータに従ってGAアルゴリズムとしての引継ぎのオペレーションが実行される。
【0052】
図13に示すようなセルを複数個設けて、それぞれが独立して最適解を探索するような並列処理を行わせれば、探索効率はさらに向上する。
図14は、山登り法を適用することのできる複数のセルを並列に接続した本発明の問題解決演算装置の構成図である。図14において、セル41−1〜41−Nはそれぞれマイグレーション値分配処理部56および並列処理制御部57に接続され、並列に処理を行う。並列処理により解の成長の速度はさらに向上する。
【0053】
各セルは条件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と基本的に同じである。
【0054】
図14の反転処理部49は、染色体の遺伝子の一部の順序を反転させるオペレーションを行い、リクルートメント処理部50は新個体の受入れのオペレーションを行う。また、山登り処理部51は近傍探索と類似する山登り法による探索を行う。フィットネス値計算処理部45は、標準偏差の和、各ジェネレーションにおける処理実行回数、フィットネス値の伸び率を算出して、それぞれ条件1処理部52、条件2処理部53、条件3処理部54に送る。
【0055】
条件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を制御する。
【0056】
マイグレーション値分配処理部56は、各セルのメモリ43から最もフィットネス値の大きな染色体のパターンを収集し、収集した染色体の中でさらに最も良いフィットネス値を持つものを各セルに分配する。
【0057】
並列処理制御部57は各セルの処理の開始と停止の同期を取り、それらに並列処理を行わせる。また、並列処理制御部57は並列処理の制御を行うと同時に、マイグレーション値分配処理部56をも制御する。
【0058】
図15および16は、図14の問題解決演算装置の各セルによる最適解の探索処理のフローチャートである。
図15において処理が開始されると、まず各セルにおいて初期化の操作が行われる(ステップS1)。この操作により、各セルの入力部42から問題およびパラメータが読み込まれ、メモリ43上で初期のポピュレーションの発生が行われる。また、読み込まれた問題に応じてフィットネス関数のバイアスKの値が決定される。
【0059】
次に、GAオペレーション遷移制御処理部55は遷移フラグsを0とおき、
状態0での探索処理を行うための制御信号を発生する。これにより、複製/交叉処理部46による引継ぎ、リプロダクション、交叉の各処理と、山登り処理部51による探索処理が続けて行われる(ステップS2)。
【0060】
そして、(3)式が表す状態1への遷移条件が成立すると、GAオペレーション遷移制御処理部55は遷移フラグsを1とおき、状態1での探索処理を行うための制御信号を発生する(ステップS3)。
【0061】
図16に示すように、状態1においては、複製/交叉処理部46による引継ぎ、リプロダクション、交叉の各処理と、突然変異処理部47による突然変異処理と、反転処理部49による反転処理と、山登り処理部51による探索処理が続けて行われる(ステップS4)。
【0062】
以後、GAオペレーション遷移制御処理部55は、次の状態への遷移条件が成立するまで同じ状態での探索処理を繰り返し(ステップS5、NO)、次の状態への遷移条件が成立すると(ステップS5、YES)、終了条件が成立するか否かを判定する(ステップS6)。
【0063】
次の状態への遷移条件とは、状態1から状態2、および状態2から状態3へ遷移する場合は(3)式により表され、状態3から状態1への場合は条件1に相当する。また、終了条件とは、例えば探索処理の最大実行回数に達することである。終了条件が成立しなければ(ステップS6、NO)、GAオペレーション遷移制御処理部55は遷移フラグsを次の状態に合わせて更新し(ステップS7)、遷移フラグsの値により選択される状態での探索処理を行うための制御信号を発生する(ステップS3)。ステップS7では、遷移フラグsは1、2、3の順に更新される。
【0064】
s=2のときは状態2に遷移し、複製/交叉処理部46による引継ぎ、リプロダクション、交叉の各処理と、突然変異処理部47による突然変異処理と、反転処理部49による反転処理と、近傍探索処理部48による近傍探索処理と、山登り処理部51による探索処理が続けて行われる(ステップS4)。また、s=3のときは状態3に遷移し、複製/交叉処理部46による引継ぎ処理と、リクルートメント処理部50による新個体の受入れ処理が続けて行われる(ステップS4)。
【0065】
終了条件が成立すると(ステップS6、YES)、GAオペレーション遷移制御処理部55は探索処理の終了を指示する制御信号を発生し、処理を終える。このとき、最後のジェネレーションの個体のうちで最もフィットネス値の大きなものが、解として出力部44から出力される。
【0066】
次に図17から図22までを参照しながら、図14の問題解決演算装置による処理をより詳細に説明する。
図17は、複製/交叉処理部46による交叉処理のフローチャートであり、図18は、交叉処理により親染色体p、pから子染色体c、cが生成される様子を示している。図18では、10個の遺伝子から成る染色体を例にとり、1〜10の数字が各遺伝子を表している。
【0067】
図17において処理が開始されると、まず親染色体p、pの2つの交叉点を決め(ステップS11)、親pから子cへコピーする部分gcを決める(ステップS12)。このとき、各染色体の左端と右端は連結しているものとみなす。例えば図18では、親pの3個の遺伝子8、5、7が子cへコピーされることになる。
【0068】
次に、親pのコピーを親p′とし、親p′のgcに対応する部分(gc部分)に含まれる遺伝子の値が親pのgc部分に含まれるものと同じになるように遺伝子の並べ換えを行う(ステップS13)。そして、親p′のgc部分以外の遺伝子の順序が親pの対応する遺伝子の順序と同じになるようにする(ステップS14)。
【0069】
次に、親pのgc部分の遺伝子を子cのgc部分にコピーし(ステップS15)、親p′のgc以外の部分の遺伝子を子cのgc以外の部分にコピーする(ステップS16)。こうして、親pの遺伝子8、5、7が子cのgc部分にコピーされ、親p′の遺伝子1、2、6、および、9、4、3、10が子cのgc以外の部分にコピーされる。
【0070】
次に、親pと親pの立場をそっくり入れ換えて同様の処理を行うことにより、親p′(不図示)を経て子cが生成される。このように、交叉処理においては、2つの染色体の一部をコピーして組み合わせることにより別の2つの染色体を生成する。交叉処理前の染色体内の遺伝子の配列順序は、交叉処理後の染色体内においても矛盾無く保存される。
【0071】
図19は、リクルートメント処理部50による新個体の受入れ処理を示している。新個体の受入れ処理においては、各遺伝子をランダムに発生させて生成した新染色体をポピュレーションに導入する。これにより、解の多様性を高めた次世代のポピュレーションを発生する。大きなフィットネス値を持つ前のジェネレーション(前世代)の優秀個体は、複製/交叉処理部46により次のジェネレーション(次世代)に引き継がれる。
【0072】
図20は、山登り処理部51による探索処理のフローチャートであり、図21は、この処理における隣接遺伝子の置換を示す図である。
図20において処理が開始されると、まず全ての隣接する遺伝子iおよびi+1の組について置換を行い、フィットネス値の増加(ゲイン)を調べる(ステップS21)。この中に正のゲインがないときは(ステップS22、NO)、入力された染色体をそのまま出力して処理を終了する。
【0073】
正のゲインが1つ以上あるときは(ステップS22、YES)、その中でゲインが最大となる置換を行い(ステップS23)、行った置換によってゲインが影響を受けないような範囲で他の正のゲインの置換が残っているかどうか調べる(ステップS24)。正のゲインの置換が残っていれば(ステップS24、YES)、位置的に近い次の正のゲインの置換を行い(ステップS25)、染色体を一周して正のゲインの置換がなくなるまでステップS24、S25の処理を繰り返す。
【0074】
そして、行った置換により影響を受けない範囲での正のゲインの置換がなくなると(ステップS24、NO)、ステップS21に戻って、再び全ての隣接置換のフィットネス値のゲインを調べる。以後、ステップS22で正のゲインがなくなるまで図20の処理を繰り返す。このような山登り法を採用することにより、短い時間でより優秀な個体を得ることができる。
【0075】
図22は、反転処理部49による反転処理の一例を示す図である。図22において、染色体の一部の遺伝子6、2、8、5の順序が反転されて、5、8、2、6となり別の染色体が生成される。この反転処理は図8では突然変異のオペレーションの集合に含まれる。
【0076】
図23〜図25は本発明の問題解決演算装置による図4の巡回セールスマン問題のシミュレーション結果である。これらの図においてオプティマムは理想的なフィットネス値(最適解のフィットネス値)を示し、ウィズ・ステートは本発明の演算装置、すなわち状態遷移の概念を導入した場合の結果を示し、ノー・ステートは状態遷移を行わない場合(状態0)の結果を示す。図24は、図23におけるジェネレーション0から35000の結果を拡大した図であり、図25は図24におけるフィットネス18000から20000の部分を拡大した図である。
【0077】
このシミュレーションにおいては、各集団の個体数を16、各個体の染色体の長さを100、交叉確率を1.0、突然変異確率を0.01、前世代からの引継ぎ個体数を6、反転確率を0.1とした。1.0の交叉確率は、2つの親染色体から2つの子染色体を生成するとき、1.0の確率で交叉点を計算して決めることを意味する。もし、交叉確率が0.8であれば、残りの0.2の確率で交叉点を計算により決めずに、単純に片方の親染色体をそのまま子染色体とする。また、0.1の反転確率は、1つの染色体が与えられたときに、その染色体中のランダムに決めた一部分における遺伝子の反転処理を0.1の確率で行うことを意味する。
【0078】
状態遷移の概念を用いることにより、その概念を用いない場合と比較して1/3から1/2の時間で理想的なフィットネス値に到達すること、及び状態遷移の概念を用いない場合には理想的な値、すなわちフィットネス値の最適値にいつまでたっても到達しない場合があることが分かる。
【0079】
このように状態遷移の概念を導入することによってフィットネス値の最適値に早く収束することになるが、前述の状態2における近傍探索、及び状態3における新個体の受け入れはこの収束を早めるために特に有効である。
【0080】
遺伝的アルゴリズムでは、集団内の個体の多様性が小さくなると、クロスオーバを行ってもフィットネス値の改善が進まなくなる。そこで個体の多様性が減少した場合には、何らかの方法で多様性を回復する必要がある。新個体の受け入れはこの多様性回復の手段として有効になる。
【0081】
通常の突然変異の処理では、各個体を表すn次元空間の点が1ジェネレーションあたり1回だけ移動することになるが、山登り処理および近傍探索では1ジェネレーションあたり何回も移動が行われる。更に通常の突然変異では点の移動の結果としてのフィットネス値の変化は確率的に正にも負にもなるのに対して、山登り処理および近傍探索では必ず正、または0になるように制御される。従って、これらの探索方法を用いることにより探索空間における局所的探索が促進され、通常の突然変異の処理に比較して短時間、すなわち少ないジェネレーションの間に大きなフィットネス値を持つ点に移動できる確率が大きくなる。これらの探索方法と遺伝的アルゴリズムを適切に組み合わせれば、結果的に探索空間における大局的探索が促進される。
【0082】
状態3での新個体の受け入れは多様性の回復のためにのみ用意された処理であり、この処理では均一化した解候補の集団の一部を新たな解候補と入れ替えることにより、集団の多様性を常に保ちつつ、よりフィットネス値の高い解に到達することができる。
【0083】
以上の説明においては、各状態において複数の探索方法が組み合わされて最適解の探索が行われるものとしたが、例えば一部の状態において探索手法を1つだけ、例えば近傍探索のみを用いて最適解を探索することも当然可能である。
【0084】
【発明の効果】
以上詳細に説明したように、本発明によれば一般に複数の最適化手法をそれぞれ組み合わせた複数の状態の間で、状態遷移を繰り返しながら最適解を探索することによって、従来の手法に比較して質の高い解を短時間で得ることが可能となり、例えば巡回セールスマン問題のような数理計画問題の問題解決演算の高速化に寄与するところが大きい。
【図面の簡単な説明】
【図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 called 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 generating the, the search for the optimal solution is repeated until the search termination condition is satisfied, using three types of genetic operations, reproduction (reproduction), 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 a search space for solutions to the problem for the purpose of solving mathematical programming problems and the like. .
[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.
[0014]
Further, another problem solving arithmetic device of the present invention includes an input unit, a memory, Duplication / crossover processing section, mutation A processing unit, an evaluation value calculation processing unit, an evaluation observation processing unit, a transition control processing unit, and an output unit are provided, and an optimal solution is obtained by searching a search space for a solution to the problem.
[0015]
The input unit inputs a problem and a search parameter value, and the memory stores a group of chromosome patterns that are solution candidates for the input problem. Duplication / crossover The processing unit, for a group of chromosome patterns, Reproductive processing that selects the chromosome pattern of the previous generation, or crossover processing that generates a chromosomal pattern by combining a copy of a portion of the two chromosome patterns of the previous generation. Then, a mutation process is performed in which the contents of the designated position of the chromosome pattern are exchanged with the contents of other positions with the probability designated by the search parameter value. The evaluation value calculation processing unit calculates the evaluation value of each chromosome pattern of the chromosome pattern group, and the evaluation observation processing unit A predetermined value predetermined for a standard deviation of values coded in a plurality of chromosome patterns belonging to one generation, a predetermined value predetermined for a search execution number, and The rate of increase in the evaluation value indicating the rate of increase in the evaluation value of the chromosomal pattern relative to the increase in the generation value Against Predefined value And Hold and Replication / crossover processing and mutation Each by processing part processing Observe the search process in the search state using a combination of A first condition that 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 a specified value of the number of search executions, and The growth rate of the evaluation value is Elongation Default value Whether the third condition is met Determine whether or not.
[0016]
The transition control processing unit This is a transition flag indicating one of a plurality of states to be searched by the problem solving arithmetic unit, and the value is updated in accordance with a predetermined transition order of the states to which the state transitions from each state. Hold transition flags, When the first condition is satisfied, or when the second condition and the third condition are satisfied, Transition flag Set the value of to the next state that is the transition destination of the current state. Updated and updated transition flags To search in a state selected by the value of Control signal Replication / crossover processing and mutation Output to the processing unit Replication / crossover processing and mutation Each by processing part processing The problem solving operation device from the current state by selectively combining next The state transition is repeated multiple times by applying a combination of processing different from the current state to the chromosomal pattern population. next For processing common to the states, the current state and next Different search parameter values are applied depending on the state. The output unit outputs a group of chromosome patterns changed by the search when the search execution count reaches the maximum execution count.
Still another problem solving arithmetic device of the present invention includes an input unit, a memory, Duplication / crossover processing section, mutation Processing section, Evaluation value Calculation processing section, Evaluation An observation processing unit, a transition control processing unit, and an output unit are provided, and an optimal solution is obtained by searching a search space for a solution to the problem.
The input unit inputs a problem and a search parameter value, and the memory stores a group of chromosome patterns that are solution candidates for the input problem. Duplication / crossover The processing unit, for a group of chromosome patterns, Reproductive processing that selects the chromosome pattern of the previous generation, or crossover processing that generates a chromosomal pattern by combining a copy of a portion of the two chromosome patterns of the previous generation. Then, a mutation process is performed in which the contents of the designated position of the chromosome pattern are exchanged with the contents of other positions with the probability designated by the search parameter value. Evaluation value The calculation processing unit calculates the evaluation value of each chromosome pattern in the population of chromosome patterns. Calculate and evaluate The observation processing unit Chromosome pattern for the increase in the value of the standard value defined in advance for the standard deviation of the values coded for a plurality of chromosome patterns belonging to one generation, the predetermined value for the number of search executions, and the generation value Against the growth rate of the evaluation value indicating the rate of increase in the evaluation value of Predetermined With the default value Hold and Replication / crossover processing and mutation Each by processing part processing Observe the search process in the search state using a combination of The first condition that the standard deviation is less than the specified value of the standard deviation, the second condition that the number of search executions in one state exceeds the specified value of the number of search executions, and the rate of growth of the evaluation value is the specified value of the rate of growth Whether the third condition is below Determine whether or not.
The transition control processing unit This is a transition flag indicating one of a plurality of states to be searched by the problem solving arithmetic unit, and the value is updated in accordance with a predetermined transition order of the states to which the state transitions from each state. Hold transition flags, When the first condition is satisfied, or when the second condition and the third condition are satisfied, Transition flag Set the value of to the next state that is the transition destination of the current state. Updated and updated transition flags To search in a state selected by the value of Signal Replication / crossover processing and mutation Output to the processing unit Replication / crossover processing and mutation Each by processing part processing The problem solving operation device from the current state by selectively combining next The state transition is repeated multiple times by applying a combination of processing different from the current state to the chromosomal pattern population. next For processing common to the states, the current state and next Different search parameter values are applied depending on the state. The output unit outputs a group of chromosome patterns changed by the search when the search end condition is satisfied.
[0017]
[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.
[0018]
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. 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.
[0019]
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.
[0020]
【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.
[0021]
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.
[0022]
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, distribution of the fitness value within the population of individuals in one generation 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.
[0023]
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.
[0024]
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.
[0025]
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.
[0026]
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.
[0027]
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. FIG. 6 is an example of coding results of solution candidates. 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.
[0028]
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.
[0029]
[Expression 1]
Figure 0003697446
Where d i (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 d 1 (X) is the distance from the starting point to the first city, d n Let (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.
[0030]
The outside 1 on the right side of equation (1) represents the cost of the solution x in this problem.
[0031]
[Outside 1]
Figure 0003697446
It can be seen that the fitness function f (x) increases as the strike decreases.
[0032]
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. .
[0033]
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.
[0034]
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 superior individual from the previous generation, that is, the ratio of the excellent individual to be attracted to the next generation being constant. 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.
[0035]
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.
[0036]
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.
[0037]
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.
[0038]
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.
[0039]
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%. .
[0040]
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.
[0041]
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.
[0042]
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. i This 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.
[0043]
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.
[0044]
[Expression 2]
Figure 0003697446
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.
[0045]
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.
[0046]
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
[0047]
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.
[0048]
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.
[0049]
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.
[0050]
The evaluation observation processing unit 38 corresponding to the observation unit 14 of FIG. 2 is a diversity measure that is a specified value of the sum of standard deviations, a generation gap measure that is a generation gap rate, and a growth rate that is a specified 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.
[0051]
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.
[0052]
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.
[0053]
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.
[0054]
The inversion processing unit 49 in FIG. 14 performs an operation of reversing the order of a part of 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. .
[0055]
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. Tell the control processor 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. Control the 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.
[0056]
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.
[0057]
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.
[0058]
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.
[0059]
Next, the GA operation transition control processing unit 55 sets the transition flag s to 0,
A control signal for performing search processing in state 0 is generated. As a result, takeover, reproduction, and crossover processing by the duplication / crossover processing unit 46 and search processing by the hill-climbing processing unit 51 are continuously performed (step S2).
[0060]
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).
[0061]
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).
[0062]
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 (NO in step S5), 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).
[0063]
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.
[0064]
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).
[0065]
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.
[0066]
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 , P j Child chromosome c i , C j Is shown. In FIG. 18, taking as an example a chromosome composed of 10 genes, numbers 1 to 10 represent each gene.
[0067]
When the processing is started in FIG. i , P j Are determined (step S11), and the parent p j Child c i The 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. j The three genes 8, 5, and 7 are children c i Will be copied.
[0068]
Next, parent p i A copy of the parent p i ′ And parent p i The value of the gene contained in the part corresponding to gc of ′ (gc part) is the parent p j The genes are rearranged so as to be the same as those included in the gc portion of (step S13). And parent p i The order of genes other than the gc part of ′ is the parent p i The order of the corresponding genes is the same (step S14).
[0069]
Next, parent p j The gene of gc part of i Is copied to the gc part (step S15) and the parent p i The gene other than gc in ′ i Is copied to a part other than gc (step S16). Thus, the parent p j Genes 8, 5, and 7 are children c i Copied to the gc part of the parent p iGenes 1, 2, 6, and 9, 4, 3, 10 are children c i Is copied to a part other than gc.
[0070]
Next, parent p i And parent p j By changing the position of the whole and performing the same process, the parent p j ′ (Not shown) j Is 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.
[0071]
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.
[0072]
FIG. 20 is a flowchart of the search process by the hill-climbing processing unit 51, and FIG.
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.
[0073]
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.
[0074]
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.
[0075]
FIG. 22 is a diagram illustrating an example of inversion processing by the inversion processing unit 49. In FIG. 22, the order of the genes 6, 2, 8, and 5 of a part of the chromosome is reversed to become 5, 8, 2, and 6, and another chromosome is generated. This inversion process is included in the set of mutation operations in FIG.
[0076]
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.
[0077]
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.
[0078]
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.
[0079]
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.
[0080]
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.
[0081]
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.
[0082]
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.
[0083]
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.
[0084]
【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 a combination of a plurality of optimization methods, it is generally compared with 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 showing 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 a concept of accepting (recruitment) a new individual.
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 (8)

問題に対する解の探索空間を探索して最適解を求める問題解決演算装置であって、A problem-solving arithmetic unit that searches a search space for a solution to a problem to obtain an optimal solution,
前記問題および探索パラメータ値を入力する入力部と、An input unit for inputting the problem and search parameter values;
入力された問題に対する解候補となる染色体パターンの集団を格納するメモリと、A memory for storing a group of chromosome patterns as candidate solutions to the input problem;
前記染色体パターンの集団に対して、前世代の染色体パターンを選択する生殖処理、または該前世代の2つの染色体パターンの一部のコピーを組み合わせて染色体パターンを生成する交叉処理を施す複製/交叉処理部と、A replication / crossover process in which a reproductive process for selecting a chromosome pattern of a previous generation or a crossover process for generating a chromosome pattern by combining a copy of a part of two chromosome patterns of the previous generation is performed on the group of chromosome patterns And
前記染色体パターンの集団に対して、染色体パターンの指定位置の内容を前記探索パラメータ値により指定される確率で他の位置の内容と交換する突然変異処理を施す突然変異処理部と、A mutation processing unit that performs a mutation process for exchanging the content of the designated position of the chromosome pattern with the content of the other position at a probability specified by the search parameter value for the population of chromosome patterns,
前記染色体パターンの集団の各染色体パターンの評価値を算出する評価値計算処理部と、An evaluation value calculation processing unit for calculating an evaluation value of each chromosome pattern of the population of chromosome patterns;
1つの世代に属する複数の染色体パターンにコーディングされた値の標準偏差に対して予め定められた規定値と、探索実行回数に対して予め定められた規定値と、ジェネレーションの値の増加に対する染色体パターンの評価値の増加の割合を示す評価値の伸び率に対して予め定められた規定値とを保持し、前記複製/交叉処理部および突然変異処理部による各処理の組み合わせを用いて探索を行う状態における探索過程を観測して、標準偏差が該標準偏差の規定値を下回るという第1の条件、1つの状態における探索実行回数が該探索実行回数の規定値を上回るという第2の条件、および評価値の伸び率が該伸び率の規定値を下回るという第3の条件がそれぞれ成立するか否かを判定する評価観測処理部と、Chromosome pattern for the increase in the value of the standard value defined in advance for the standard deviation of the values coded for a plurality of chromosome patterns belonging to one generation, the predetermined value for the number of search executions, and the 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 An evaluation observation processing unit that determines whether or not the third condition that the elongation rate of the evaluation value falls below a specified value of the elongation rate is satisfied;
前記問題解決演算装置が探索を行う複数の状態の1つを示す遷移フラグであって、各状態から遷移する先の状態を予め定めた遷移順序に従って値が更新されるような遷移フラグを保持し、前記第1の条件が成立したとき、または、前記第2の条件と前記第3の条件が成立したときに、該遷移フラグの値を現在の状態の遷移先である次の状態に合わせて更新し、更新された遷移フラグの値により選択される状態で探索を行うための制御信号を前記複製/交叉処理部および突然変異処理部に出力して該複製/交叉処理部および突然変異処理部による各処理を選択的に組み合わせることで前記問題解決演算装置を該現在の状態から該次の状態へ遷移させて、該現在の状態とは異なる組み合わせの処理を前記染色体パターンの集団に適用する状態遷移を複数回繰り返し、該現在の状態および次の状態に共通する処理に対しては、該現在の状態と該次の状態とでそれぞれ異なる探索パラメータ値を適用する遷移制御処理部と、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 for a state to which a transition is made 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 performing a search in a state selected by the updated transition flag value 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 group of chromosome patterns transition Repeated several times, for the processing common the the current state and next state, and transition control unit for applying a different search parameter values in the state of the current state and said next,
探索終了条件が満たされたとき、探索により変更された染色体パターンの集団を出力する出力部とAn output unit that outputs a population of chromosome patterns changed by the search when the search end condition is satisfied;
を備えることを特徴とする問題解決演算装置。A problem-solving arithmetic device comprising:
問題に対する解の探索空間を探索して最適解を求める問題解決演算装置であって、
前記問題および探索パラメータ値を入力する入力部と、
入力された問題に対する解候補となる染色体パターンの集団を格納するメモリと、
前記染色体パターンの集団に対して、前世代の染色体パターンを選択する生殖処理、または該前世代の2つの染色体パターンの一部のコピーを組み合わせて染色体パターンを生成する交叉処理を施す複製/交叉処理部と、
前記染色体パターンの集団に対して、染色体パターンの指定位置の内容を前記探索パラメータ値により指定される確率で他の位置の内容と交換する突然変異処理を施す突然変異処理部と、
前記染色体パターンの集団の各染色体パターンの評価値を算出する評価値計算処理部と、
1つの世代に属する複数の染色体パターンにコーディングされた値の標準偏差に対して予め定められた規定値と、探索実行回数に対して予め定められた規定値と、ジェネレーションの値の増加に対する染色体パターンの評価値の増加の割合を示す評価値の伸び率に対 して予め定められた規定値とを保持し、前記複製/交叉処理部および突然変異処理部による各処理の組み合わせを用いて探索を行う状態における探索過程を観測して、標準偏差が該標準偏差の規定値を下回るという第1の条件、1つの状態における探索実行回数が該探索実行回数の規定値を上回るという第2の条件、および評価値の伸び率が該伸び率の規定値を下回るという第3の条件がそれぞれ成立するか否かを判定する評価観測処理部と、
前記問題解決演算装置が探索を行う複数の状態の1つを示す遷移フラグであって、各状態から遷移する先の状態を予め定めた遷移順序に従って値が更新されるような遷移フラグを保持し、前記第1の条件が成立したとき、または、前記第2の条件と前記第3の条件が成立したときに、該遷移フラグの値を現在の状態の遷移先である次の状態に合わせて更新し、更新された遷移フラグの値により選択される状態で探索を行うための制御信号を前記複製/交叉処理部および突然変異処理部に出力して該複製/交叉処理部および突然変異処理部による各処理を選択的に組み合わせることで前記問題解決演算装置を該現在の状態から該次の状態へ遷移させて、該現在の状態とは異なる組み合わせの処理を前記染色体パターンの集団に適用する状態遷移を複数回繰り返し、該現在の状態および次の状態に共通する処理に対しては、該現在の状態と該次の状態とでそれぞれ異なる探索パラメータ値を適用する遷移制御処理部と、
探索実行回数が最大実行回数に達したとき、探索により変更された染色体パターンの集団を出力する出力部と
を備えることを特徴とする問題解決演算装置。
A problem-solving arithmetic unit that searches a search space for a solution to a problem to obtain an optimal solution,
An input unit for inputting the problem and search parameter values;
A memory for storing a group of chromosome patterns as candidate solutions to the input problem;
A replication / crossover process in which a reproductive process for selecting a chromosome pattern of a previous generation or a crossover process for generating a chromosome pattern by combining a copy of a part of two chromosome patterns of the previous generation is performed on the group of chromosome patterns And
A mutation processing unit that performs a mutation process for exchanging the content of the designated position of the chromosome pattern with the content of the other position at a probability specified by the search parameter value for the population of chromosome patterns,
An evaluation value calculation processing unit for calculating an evaluation value of each chromosome pattern of the group of chromosome patterns;
Chromosome pattern for the increase in the value of the standard value defined in advance for the standard deviation of the values coded for a plurality of chromosome patterns belonging to one generation, the predetermined value for the number of search executions, and the generation value and against the elongation and holds the predetermined specified value of the evaluation values indicating the rate of increase in the evaluation value, a search using a combination of the treatment with the replication / crossover process unit and mutant processor A first condition that the standard deviation is less than a specified value of the standard deviation, and a second condition that the number of times of search execution in one state exceeds the specified value of the number of search executions; and and evaluation value determining evaluation observation processing unit whether the third condition is satisfied each of elongation is below the predetermined value of the elongation,
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. updating, and outputs a control signal for performing a search in the state selected by the updated value of the transition flag in the copy / crossover process unit and mutant processor said replication / crossover process unit and mutant processor the problem solving computing device by transitioning to the state of said next from the current state by selectively combining the treatment with, applying the process of the different combinations from the current state to the population of the chromosome pattern state transition Repeated several times, the for processing common to the current state and the next state, and transition control unit for applying a different search parameter values between the current state and the next state,
A problem solving operation apparatus comprising: an output unit that outputs a group of chromosome patterns changed by searching when the search execution number reaches the maximum number of executions.
評価値が劣る下位の染色体パターンに対して山登り処理を施す山登り処理部をさらに備え、前記遷移制御処理部は、前記制御信号を用いて前記複製/交叉処理部、突然変異処理部、および山登り処理部による各処理を選択的に組み合わせることを特徴とする請求項記載の問題解決演算装置。A hill-climbing processing unit that performs hill- climbing processing on lower-order chromosome patterns with inferior evaluation values , the transition control processing unit using the control signal, the replication / crossover processing unit, the mutation processing unit, and the hill-climbing processing The problem solving operation apparatus according to claim 2, wherein the processes by the units are selectively combined . 問題に対する解の探索空間を探索して最適解を求める問題解決演算装置であって、
前記問題と第1、第2、および第3の探索パラメータ値を入力する入力部と、
入力された問題に対する解候補となる染色体パターンの集団を格納するメモリと、
前記染色体パターンの集団に対して、前世代の染色体パターンを選択する生殖処理、または該前世代の2つの染色体パターンの一部のコピーを組み合わせて染色体パターンを生成する交叉処理を施す複製/交叉処理部と、
前記染色体パターンの集団に対して、染色体パターンの指定位置の内容を前記第1の探索パラメータ値により指定される確率で他の位置の内容と交換する突然変異処理を施す突然変異処理部と、
前記染色体パターンの集団から前記第2の探索パラメータ値により指定される比率で染色体パターンを選び、選ばれた染色体パターンの近傍を探索する近傍探索処理を行う近傍探索処理部と、
前記染色体パターンの集団に対して、染色体パターンの持つ値の順序を反転させる反転処理部と、
前記染色体パターンの集団に対して、前記第3の探索パラメータ値により指定される比率で、ランダムに発生させた複数の新しい染色体パターンを追加するリクルートメント処理部と、
前記染色体パターンの集団の各染色体パターンの評価値を算出する評価値計算処理部と、
1つの世代に属する複数の染色体パターンにコーディングされた値の標準偏差に対して予め定められた規定値と、探索実行回数に対して予め定められた規定値と、ジェネレーションの値の増加に対する染色体パターンの評価値の増加の割合を示す評価値の伸び率に対して予め定められた規定値とを保持し、前記複製/交叉処理部、突然変異処理部、近傍探索処理部、反転処理部、およびリクルートメント処理部による各処理の組み合わせを用いて探索を行う状態における探索過程を観測して、標準偏差が該標準偏差の規定値を下回るという第1の条件、1つの状態における探索実行回数が該探索実行回数の規定値を上回る という第2の条件、および評価値の伸び率が該伸び率の規定値を下回るという第3の条件がそれぞれ成立するか否かを判定する条件処理部と、
前記問題解決演算装置が探索を行う複数の状態の1つを示す遷移フラグであって、各状態から遷移する先の状態を予め定めた遷移順序に従って値が更新されるような遷移フラグを保持し、前記第1の条件が成立したとき、または、前記第2の条件と前記第3の条件が成立したときに、該遷移フラグの値を現在の状態の遷移先である次の状態に合わせて更新し、更新された遷移フラグの値により選択される状態で探索を行うための制御信号を前記複製/交叉処理部、突然変異処理部、近傍探索処理部、反転処理部、およびリクルートメント処理部に出力して該複製/交叉処理部、突然変異処理部、近傍探索処理部、反転処理部、およびリクルートメント処理部による各処理を選択的に組み合わせることで前記問題解決演算装置を該現在の状態から該次の状態へ遷移させて、該現在の状態とは異なる組み合わせの処理を前記染色体パターンの集団に適用する状態遷移を複数回繰り返し、該現在の状態および次の状態に共通する処理に対しては、該現在の状態と該次の状態とでそれぞれ異なる探索パラメータ値を適用する遷移制御処理部と、
探索実行回数が最大実行回数に達したとき、探索により変更された染色体パターンの集団を出力する出力部と
を備えることを特徴とする問題解決演算装置。
A problem-solving arithmetic unit that searches a search space for a solution to a problem to obtain an optimal solution,
An input unit for inputting the problem and first, second, and third search parameter values;
A memory for storing a group of chromosome patterns as candidate solutions to the input problem;
A replication / crossover process in which a reproductive process for selecting a chromosome pattern of a previous generation or a crossover process for generating a chromosome pattern by combining a copy of a part of two chromosome patterns of the previous generation is performed on the group of chromosome patterns And
A mutation processing unit that performs a mutation process for exchanging the content of the specified position of the chromosome pattern with the content of the other position with the probability specified by the first search parameter value for the group of chromosome patterns;
Selecting a chromosome pattern at a ratio specified by the second search parameter value from the group of chromosome patterns, and performing a proximity search process for searching for the vicinity of the selected chromosome pattern; and
An inversion processing unit that inverts the order of values of the chromosome pattern for the population of chromosome patterns,
A recruitment processing unit for adding a plurality of randomly generated new chromosome patterns at a ratio specified by the third search parameter value with respect to the population of chromosome patterns;
An evaluation value calculation processing unit for calculating an evaluation value of each chromosome pattern of the group of chromosome patterns;
Chromosome pattern for the increase in the value of the standard value defined in advance for the standard deviation of the values coded for a plurality of chromosome patterns belonging to one generation, the predetermined value for the number of search executions, and the generation value A predetermined value that is predetermined with respect to the rate of increase in the evaluation value indicating the rate of increase in the evaluation value, and the replication / crossover processing unit, the mutation processing unit, the neighborhood search processing unit, the inversion processing unit, and The search process in a state where a search is performed using a combination of each processing by the recruitment processing unit is observed, the first condition that the standard deviation is less than the standard value of the standard deviation, the number of times of search execution in one state is the second condition that exceeds a specified value of the search execution times, and the evaluation value determine elongation whether the third condition that falls below the specified value of the elongation is established each And conditional processing unit that,
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. The replication / crossover processing unit, the mutation processing unit, the neighborhood search processing unit, the inversion processing unit, and the recruitment processing unit are updated and control signals for performing search in a state selected by the updated transition flag value. To the current state by selectively combining the processes by the duplication / crossover processing unit, mutation processing unit, neighborhood search processing unit, inversion processing unit, and recruitment processing unit. Or By transitioning into the next state, the processing of the different combinations of the current state is repeated a plurality of times a state transition to be applied to the population of chromosomes pattern, the processing common to the said current state and next state includes a transition control unit for applying a different search parameter values between the current state and the next state,
A problem solving operation apparatus comprising: an output unit that outputs a group of chromosome patterns changed by searching when the search execution number reaches the maximum number of executions.
前記染色体パターンの集団に対して、山登り処理を施す山登り処理部をさらに備え、前記遷移制御処理部は、前記制御信号を用いて前記複製/交叉処理部、突然変異処理部、および山登り処理部による各処理を選択的に組み合わせることを特徴とする請求項記載の問題解決演算装置。A hill-climbing processing unit that performs hill-climbing processing on the chromosome pattern group, and the transition control processing unit uses the control signal to perform the replication / crossover processing unit, the mutation processing unit, and the hill-climbing processing unit. 5. The problem solving arithmetic apparatus according to claim 4, wherein the processes are selectively combined. 前記山登り処理部は、
a.前記染色体パターンの集団から選んだ山登り処理の初期の染色体パターンの中の隣接する2つの遺伝子を置換したときの前記評価値のゲインを求め、
b.前記評価値のゲインが最も大きくなる置換を行い、
c.既に行った置換によりゲインが影響を受けない範囲で、該ゲインが正となる置換を行うことを繰り返して中間の染色体パターンを求め、
d.該中間の染色体パターンを前記初期の染色体パターンとして用いて、前記a、b、およびcの各処理を繰り返し、
e.前記ゲインが正となる置換がなくなれば処理を終えて、山登り処理の最後の染色体パターンを得る
ことを特徴とする請求項記載の問題解決演算装置。
The mountain climbing processing unit
a. Obtaining a gain of the evaluation value when two adjacent genes in the initial chromosomal pattern selected from the chromosomal pattern population are replaced;
b. Perform replacement with the largest gain of the evaluation value,
c. In a range where the gain is not affected by the substitution that has already been made, repeat the substitution that makes the gain positive to obtain an intermediate chromosome pattern,
d. Using the intermediate chromosomal pattern as the initial chromosomal pattern, repeating the processes of a, b, and c,
e. 6. The problem solving operation apparatus according to claim 5, wherein when there is no replacement for which the gain becomes positive, the process is finished and the last chromosome pattern of the mountain climbing process is obtained.
問題解決演算装置により問題に対する解の探索空間を探索して最適解を求める問題解決演算方法であって、
入力部が、前記問題および探索パラメータ値を入力し、
複製/交叉処理部が、メモリに格納された、入力された問題に対する解候補となる染色体パターンの集団に対して、前世代の染色体パターンを選択する生殖処理、または該前世代の2つの染色体パターンの一部のコピーを組み合わせて染色体パターンを生成する交叉処理を施し、突然変異処理部が、該メモリに格納された該染色体パターンの集団に対して、染色体パターンの指定位置の内容を前記探索パラメータ値により指定される確率で他の位置の内容と交換する突然変異処理を施すことで、該染色体パターンの集団を変更し、
評価値計算処理部が、前記メモリに格納された前記染色体パターンの集団を参照して、該染色体パターンの集団の各染色体パターンの評価値を算出し、
評価観測処理部が、1つの世代に属する複数の染色体パターンにコーディングされた値の標準偏差に対して予め定められた規定値と、探索実行回数に対して予め定められた規定値と、ジェネレーションの値の増加に対する染色体パターンの評価値の増加の割合を示す評価値の伸び率に対して予め定められた規定値とを保持し、前記複製/交叉処理部および突然変異処理部による各処理の組み合わせを用いて探索を行う状態における探索過程を観測して、標準偏差が該標準偏差の規定値を下回るという第1の条件、1つの状態における探索実行回数が該探索実行回数の規定値を上回るという第2の条件、および評価値の伸び率が該伸び率の規定値を下回るという第3の条件がそれぞれ成立するか否かを判定し、
遷移制御処理部が、前記問題解決演算装置が探索を行う複数の状態の1つを示す遷移フラグであって、各状態から遷移する先の状態を予め定めた遷移順序に従って値が更新されるような遷移フラグを保持し、前記第1の条件が成立したとき、または、前記第2の条件と前記第3の条件が成立したときに、該遷移フラグの値を現在の状態の遷移先である次の状態に合わせて更新し、更新された遷移フラグの値により選択される状態で探索を行うための制御信号を前記複製/交叉処理部および突然変異処理部に出力して該複製/交叉処理部および突然変異処理部による各処理を選択的に組み合わせることで前記問題解決演算装置を該現在の状態から該次の状態へ遷移させて、該現在の状態とは異なる組み合わせの処理を前記染色体パターンの集団に適用する状態遷移を複数回繰り返し、該現在の状態および次の状態に共通する処理に対しては、該現在の状態と該次の状態とでそれぞれ異なる探索パラメータ値を適用し、
出力部が、探索実行回数が最大実行回数に達したとき、探索により変更された染色体パターンの集団を出力する
ことを特徴とする問題解決演算方法。
A problem solving calculation method for finding an optimal solution by searching a search space for a solution to a problem by a problem solving calculation device,
The input unit inputs the problem and search parameter values,
The reproduction / crossover processing unit selects a previous generation chromosome pattern for a group of chromosome patterns that are stored in memory and serves as a solution candidate for the input problem , or two chromosome patterns of the previous generation A crossover process for generating a chromosome pattern by combining a part of copies, and the mutation processing unit searches the contents of the specified position of the chromosome pattern for the group of the chromosome pattern stored in the memory By changing the chromosome pattern population by performing a mutation process that replaces the contents of other positions with the probability specified by the value ,
The evaluation value calculation processing unit calculates the evaluation value of each chromosomal pattern of the chromosomal pattern group with reference to the chromosomal pattern group stored in the memory,
The evaluation observation processing unit has a predetermined value predetermined for the standard deviation of values coded in a plurality of chromosome patterns belonging to one generation, a predetermined value predetermined for the number of times of search execution , holding a prescribed value set in advance with respect to growth rate of the evaluation value indicating the rate of increase in the evaluation value of the chromosome pattern with respect to the increase in the value, the combination of the treatment with the replication / crossover process unit and mutant processor The first condition that the standard deviation is less than the specified value of the standard deviation is observed, and the search execution number in one state exceeds the specified value of the search execution number. second condition, and elongation of the evaluation value is determined whether the third condition that falls below the specified value of the elongation is established, respectively,
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 of the states to which the state transitions from each state. holding the Do transition flag, when the first condition is satisfied, or when the third condition and the second condition is satisfied, there the value of the transition flag transition destination of the current state updated in accordance with the next state, outputs a control signal for performing a search in the state selected by the updated value of the transition flag in the copy / crossover process unit and mutant processor said replication / crossover process The problem-solving computing device is transitioned from the current state to the next state by selectively combining each of the processes by the unit and the mutation processing unit, and a process of a combination different from the current state is performed by the chromosome pattern Group of A state transition to be applied a plurality of times, the for processing common to the current state and next state, applying a different search parameter values between the current state and the next state,
A problem solving calculation method, wherein the output unit outputs a group of chromosome patterns changed by the search when the search execution count reaches the maximum execution count.
問題に対する解の探索空間を探索して最適解を求める問題解決演算装置であって、
前記問題および探索パラメータ値を入力する入力部と、
入力された問題に対する解候補となる染色体パターンの集団を格納するメモリと、
前記染色体パターンの集団に対して、前世代の染色体パターンを選択する生殖処理、または該前世代の2つの染色体パターンの一部のコピーを組み合わせて染色体パターンを生成する交叉処理を施す複製/交叉処理部と、
前記染色体パターンの集団に対して、染色体パターンの指定位置の内容を前記探索パラメータ値により指定される確率で他の位置の内容と交換する突然変異処理を施す突然変異処理部と、
前記染色体パターンの集団の各染色体パターンの評価値を算出する評価値計算処理部と、
1つの世代に属する複数の染色体パターンにコーディングされた値の標準偏差に対して予め定められた規定値と、探索実行回数に対して予め定められた規定値と、ジェネレーションの値の増加に対する染色体パターンの評価値の増加の割合を示す評価値の伸び率に対して予め定められた規定値とを保持し、前記複製/交叉処理部および突然変異処理部による各処理の組み合わせを用いて探索を行う状態における探索過程を観測して、標準偏差が該標準偏差の規定値を下回るという第1の条件、1つの状態における探索実行回数が該探索実行回数の規定値を上回るという第2の条件、および評価値の伸び率が該伸び率の規定値を下回るという第3の条件がそれぞれ成立するか否かを判定する評価観測処理部と、
前記問題解決演算装置が探索を行う複数の状態の1つを示す遷移フラグであって、各状態から遷移する先の状態を予め定めた遷移順序に従って値が更新されるような遷移フラグを保持し、前記第1の条件が成立したとき、または、前記第2の条件と前記第3の条件が成立したときに、該遷移フラグの値を現在の状態の遷移先である次の状態に合わせて更新し、更新された遷移フラグの値により選択される状態で探索を行うための制御信号を前記複製/交叉処理部および突然変異処理部に出力して該複製/交叉処理部および突然変異処理部による各処理を選択的に組み合わせることで前記問題解決演算装置を該現在の状態から該次の状態へ遷移させて、該現在の状態とは異なる組み合わせの処理を前記染色体パターンの集団に適用する状態遷移を複数回繰り返し、該現在の状態および次の状態に共通する処理に対しては、該現在の状態と該次の状態とでそれぞれ異なる探索パラメータ値を適用する遷移制御処理部と、
探索実行時間が最大実行時間に達したとき、探索により変更された染色体パターンの集団を出力する出力部と
を備えることを特徴とする問題解決演算装置。
A problem-solving arithmetic unit that searches a search space for a solution to a problem to obtain an optimal solution,
An input unit for inputting the problem and search parameter values;
A memory for storing a group of chromosome patterns as candidate solutions to the input problem;
A replication / crossover process in which a reproductive process for selecting a chromosome pattern of a previous generation or a crossover process for generating a chromosome pattern by combining a copy of a part of two chromosome patterns of the previous generation is performed on the group of chromosome patterns And
A mutation processing unit that performs a mutation process for exchanging the content of the designated position of the chromosome pattern with the content of the other position at a probability specified by the search parameter value for the population of chromosome patterns,
An evaluation value calculation processing unit for calculating an evaluation value of each chromosome pattern of the group of chromosome patterns;
Chromosome pattern for the increase in the value of the standard value defined in advance for the standard deviation of the values coded for a plurality of chromosome patterns belonging to one generation, the predetermined value for the number of search executions, and the generation value to search using a combination of treatment with holding a predetermined specified value, the copy / crossover process unit and mutant processor relative elongation of the evaluation value indicating the rate of increase in the evaluation value of 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 and determining evaluation observation processing unit whether the third condition is satisfied each of elongation of the evaluation value is below the specified value of the elongation,
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. updating, and outputs a control signal for performing a search in the state selected by the updated value of the transition flag in the copy / crossover process unit and mutant processor said replication / crossover process unit and mutant processor the problem solving computing device by transitioning to the state of said next from the current state by selectively combining the treatment with, applying the process of the different combinations from the current state to the population of the chromosome pattern state transition Repeated several times, the for processing common to the current state and the next state, and transition control unit for applying a different search parameter values between the current state and the next state,
A problem solving operation device comprising: an output unit that outputs a group of chromosome patterns changed by searching when the search execution time reaches the maximum execution time.
JP2003011357A 1993-12-16 2003-01-20 Problem solving operation apparatus and method introducing the concept of state transition Expired - Fee Related JP3697446B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003011357A JP3697446B2 (en) 1993-12-16 2003-01-20 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
JP2003011357A JP3697446B2 (en) 1993-12-16 2003-01-20 Problem solving operation apparatus and method introducing the concept of state transition

Related Parent Applications (1)

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

Publications (2)

Publication Number Publication Date
JP2003248809A JP2003248809A (en) 2003-09-05
JP3697446B2 true JP3697446B2 (en) 2005-09-21

Family

ID=28676661

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003011357A Expired - Fee Related JP3697446B2 (en) 1993-12-16 2003-01-20 Problem solving operation apparatus and method introducing the concept of state transition

Country Status (1)

Country Link
JP (1) JP3697446B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113626474A (en) * 2021-10-09 2021-11-09 北京道达天际科技有限公司 Database random extraction method, device and equipment

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1962234A4 (en) * 2005-12-05 2010-07-07 Univ Nagoya Nat Univ Corp Method of optimizing multiple parameters by hybrid ga, method of analyzing data by pattern matching, method of estimating substance based on radiation diffractometric data and program, recording medium and various devices related thereto
JP5359531B2 (en) * 2009-04-30 2013-12-04 株式会社ニコン Genetic processing apparatus, genetic processing method and program
JP5453937B2 (en) * 2009-06-08 2014-03-26 株式会社ニコン Genetic processing apparatus, genetic processing method, and genetic processing program
JP6954245B2 (en) * 2018-09-13 2021-10-27 Jfeスチール株式会社 Processing order creation device and processing order creation method
JP7111997B2 (en) * 2020-09-29 2022-08-03 ダイキン工業株式会社 combination decision system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113626474A (en) * 2021-10-09 2021-11-09 北京道达天际科技有限公司 Database random extraction method, device and equipment

Also Published As

Publication number Publication date
JP2003248809A (en) 2003-09-05

Similar Documents

Publication Publication Date Title
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
Chen et al. A fast memetic multi-objective differential evolution for multi-tasking optimization
Ma et al. A multipopulation-based multiobjective evolutionary algorithm
US6052678A (en) Problem solving operation apparatus using a state transition
Saadatmand-Tarzjan et al. A novel constructive-optimizer neural network for the traveling salesman problem
JP3751647B2 (en) Problem solving operation apparatus and method introducing the concept of state transition
JP3697446B2 (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
Khan Assessing different crossover operators for travelling salesman problem
Kumar Efficient hierarchical hybrids parallel genetic algorithm for shortest path routing
da Silveira et al. Parallel multi-island genetic algotirth for sorting unsigned genomes by reversals
Wang et al. Memetic EDA-Based Approaches to QoS-Aware Fully Automated Semantic Web Service Composition
Kusetogullari et al. A reduced uncertainty-based hybrid evolutionary algorithm for solving dynamic shortest-path routing problem
Wang et al. Intelligent optimization approach for the k shortest paths problem based on genetic algorithm
Qin et al. An entropy-based multiobjective evolutionary algorithm with an enhanced elite mechanism
Tan et al. Genetic algorithms based on clustering for traveling salesman problems
Li et al. Evolutionary multi-objective optimization algorithms with probabilistic representation based on pheromone trails
Gao et al. A Novel Ant Colony Genetic Hybrid Algorithm.
Ho et al. Adaptive communication for distributed deep learning on commodity GPU cluster
CN113220437B (en) Workflow multi-target scheduling method and device
El-Fakih et al. A method and a genetic algorithm for deriving protocols for distributed applications with minimum communication cost
JP2003196635A (en) Problem solution operation device and method
Rimcharoen et al. Ring-based crossovers in Genetic Algorithms: Characteristic decomposition and their generalization

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050210

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050425

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050601

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050628

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050704

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: 20080708

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090708

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100708

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100708

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110708

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110708

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120708

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120708

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130708

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees