JP3710983B2 - Genetic algorithm processor - Google Patents

Genetic algorithm processor Download PDF

Info

Publication number
JP3710983B2
JP3710983B2 JP2000036474A JP2000036474A JP3710983B2 JP 3710983 B2 JP3710983 B2 JP 3710983B2 JP 2000036474 A JP2000036474 A JP 2000036474A JP 2000036474 A JP2000036474 A JP 2000036474A JP 3710983 B2 JP3710983 B2 JP 3710983B2
Authority
JP
Japan
Prior art keywords
generation
processing means
communication
data group
processing
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
JP2000036474A
Other languages
Japanese (ja)
Other versions
JP2001229148A (en
Inventor
暁 吉川
Original Assignee
日立エンジニアリング株式会社
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 日立エンジニアリング株式会社 filed Critical 日立エンジニアリング株式会社
Priority to JP2000036474A priority Critical patent/JP3710983B2/en
Publication of JP2001229148A publication Critical patent/JP2001229148A/en
Application granted granted Critical
Publication of JP3710983B2 publication Critical patent/JP3710983B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、各種分野における様々な計画立案、設計、制御における組み合せ最適化問題を解く装置に関し、特に、組み合せ数が膨大な問題を並列計算機を用いて高速に処理する装置に関する。
【0002】
【従来の技術】
組み合せ最適化問題を、現実的に許容しえる時間内に見つけ出すための手法として、例えば、生物の進化を模擬し、大域的に準最適化を求める、遺伝的アルゴリズムがある。これは、特開平8−194676号「並列遺伝的アルゴリズム実行装置」や特開平8−314882号「電源導入順序決定方法」に記載されている。
【0003】
図4は、遺伝的アルゴリズムと称されるものの基本的な処理フローである。まずステップS41の初期化では、最適化問題の解の候補を数列等に変換して生物の染色体情報として指定された数Nだけ作成する。染色体情報の個数は一つでも複数でも良く、この数Nは個体数と呼ばれる。ステップS42では、指定された繰り返し数Gが満たされたかを判定する。この数Gは世代数と呼ばれる。ステップS43では、指定された個体数Nが満たされたかを判定する。ステップS44の個体作成では、既存の染色体情報から新しい染色体情報を作成する。ここでの新たな染色体情報の作成方法として、複数の染色体情報を組み合せる交叉や、1つの染色体情報中の要素をランダムに変化させる突然変異、等がある。
【0004】
このような計算処理は、逐次処理で実行できるが、並列計算機を用いて並列処理することができる。
例えば、特開平8−194676号には以下の例の記載がある。P台のプロセッサを持つ並列プロセッサシステム(計算機システム)を用いて、N個体の計算を行う場合、各プロセッサはN個体の染色体情報のコピーを持ち、各世代毎の個体作成処理は各プロセッサはN/P個だけ担当し、新たに作成された全ての染色体情報を各プロセッサ間で通信によって更新する方法が従来例として記載されている。かかる従来例は、各プロセッサ間での通信に時間を有するという問題があり、特開平8−194676号の実施例では、交叉対象の染色体情報のみ各プロセッサ間で通信することにより、通信時間を削減する方法が提案されている。
また、日々の技術進歩により、LANやバス等のデータ通信機器の性能も向上しており、同じデータ容量でも、この通信時間は削減されつつある。
【0005】
【発明が解決しようとする課題】
並列計算機を用いた遺伝的アルゴリズムの並列処理において、従来技術により通信時間は短縮されつつあるが、実際の処理では、各個体作成の処理である、交叉、突然変異等に有する処理量が不均等であったり、マルチタスクシステムでは、当該処理以外の処理が平行処理されており、特定のプロセッサやバス、またはハードディスク等の電子計算機資源の利用負荷が高くなっており、各プロセッサの個体作成処理の時間が不均一である。
【0006】
これを以下詳細に説明する。
図6は、図4による、2個体、3世代、の遺伝的アルゴリズムのタイムチャートを示している。先ず、初期化を行い、1世代目の個体(1)の作成、1世代目の個体(2)の作成、2世代目の個体(1)の作成、2世代目の個体(2)の作成、3世代目の個体(1)の作成、3世代目の個体(2)の作成、の順に処理が行われる。
【0007】
図5は遺伝的アルゴリズムの並列処理の各プロセッサ毎のフローである。
まずステップS51の初期化では、S41と同様に染色体情報を個体数Nだけ作成する。ステップS52では、S42と同様に指定された繰り返し数Gが満たされたかを判定する。ステップS53では、指定された繰り返し数である個体数N/Pが満たされたかを判定する。ここでPはプロセッサ数である。ステップS54では、S44と同様に、既存の染色体情報から新しい染色体情報を作成する。ステップS55では、新たに作成された全ての染色体情報を各プロセッサ間で通信によって更新する。
【0008】
図7は、図5による、2個体、3世代、の遺伝的アルゴリズムの各個体作成処理時間が均一の、プロセッサ数が2つの場合のタイムチャートを示している。プロセッサ1では、初期化を行い、1世代目の個体(1)の作成、染色体情報の通信、2世代目の個体(1)の作成、染色体情報の通信、3世代目の個体(1)の作成、染色体情報の通信、の順に処理が行われる。プロセッサ2では、初期化を行い、1世代目の個体(2)の作成、染色体情報の通信、2世代目の個体(2)の作成、染色体情報の通信、3世代目の個体(2)の作成、染色体情報の通信、の順に処理が行われる。各プロセッサ間の通信は同期がとられて、同一世代間の情報通信を行っている。
【0009】
図8は図5による、2個体、3世代、の遺伝的アルゴリズムの各個体作成処理時間が不均一である実際のタイムチャートを示している。プロセッサ1、プロセッサ2での処理内容は図7と同じであるが、染色体情報の通信は各プロセッサで同期させているため、網掛けで示された待ち時間t1、t2、t3が生じてしまう。
そのため各プロセッサは利用効率が悪くなり、その結果、遺伝的アルゴリズムの処理の効率が悪くなってしまうという問題が生じる。つまり、並列化しても、あまり高速化されないという問題が生じる。
【0010】
従来の技術における遺伝的アルゴリズムは、初期化後に、各プロセッサ上で個体作成を行い、全プロセッサ上での個体作成の終了後、次世代の交叉のために各プロセッサ間で個体情報を交換し、そして次世代の処理に移行する方式がとられている。
これを、自然界の生物の進化に当てはめると、幾つかの系統(血統)を持つ生物の系にて、全ての系統において、ある時点からの世代数が等しくなった時点で、交叉により新たな個体を生み出し、次世代に移っていく、と言うことである。
【0011】
しかし通常、自然界の生物の進化においては、幾つかの系統間で交叉によって新たな個体を生み出す場合、各々の系統である時点からの世代数は統一される必要はなく、単に新たな個体生み出す時点において存在する交叉可能な個体から新たな個体が生み出される。これは、進化世代数を統一するためにそれぞれの系統間で互いに待つことを必要としない、つまり世代相互の同期を必要としない、と言い換えることができる。
本発明の目的は、世代間の同期をとることなく最適化問題を解くことを可能にする遺伝的アルゴリズム処理装置を提供するものである。
【0012】
【課題を解決するための手段】
本発明は、複数の個体について複数の世代形成を行って最適解を求める遺伝的アルゴリズム処理装置おいて、
並列的に世代の更新を行うと共に各世代の更新にあっては並列的に世代数の統一のための同期制御を行わないで並列処理を行って、各世代毎の個体形成をそれぞれが行う複数のプロセッサと、この複数のプロセッサ相互のデータ群通信を行う接続装置と、を備え、
各プロセッサは、世代処理手段と通信処理手段とを具えて、
通信処理手段は、自己の世代処理手段で自己の最新世代が形成されたかを監視し最新世代の形成があればこの最新世代個体データ群を上記接続装置を介して他プロセッサの通信処理手段へと送信し、他プロセッサの最新世代の形成によりその通信処理手段から上記接続装置を介して送られてくる最新世代固体データ群を受信するものとし、
世代処理手段は、自己の最新世代を形成すると共にその形成にあっては、第1世代では初期化に基づき第1世代個体データ群を形成し、第2世代以降にあっては、自己の通信処理手段で受信した他プロセッサの最新世代個体データ群と自己のそれまでに得た世代個体データ群とを用いて最新世代個体データ群を形成し、最新世代数が予め定めた最長世代数に達していれば世代処理を終了するものとした、
ことを特徴とする遺伝的アルゴリズム処理装置を開示する。
【0013】
更に本発明は、N個の個体についてG個の世代形成を行って最適解を求める遺伝的アルゴリズム処理装置において、
並列的に世代の更新を行うと共に各世代の更新にあっては並列的に世代数の統一のための同期制御を行わないで並列処理を行うP個のプロセッサと、P個のプロセッサ相互のデータ群通信を行う接続装置とを備えて、N個の個体について上記P個のプロセッサにN/Pずつの個体の並列処理を割り当てると共に、
各プロセッサは、世代処理手段と通信処理手段とを具えて、
通信処理手段は、自己の世代処理手段で自己の最新世代が形成されたかを監視し最新世代の形成があればこの最新世代個体データ群を上記接続装置を介して他プロセッサの通信処理手段へと送信し、他プロセッサの最新世代の形成によりその通信処理手段から上記接続装置を介して送られてくる最新世代固体データ群を受信するものとし、
世代処理手段は、自己の最新世代を形成すると共にその形成にあっては、第1世代では初期化に基づき第1世代個体データ群を形成し、第2世代以降にあっては、自己の通信処理手段で受信した他プロセッサの最新世代個体データ群と自己のそれまでに得た世代個体データ群とを用いて最新世代個体データ群を形成し、最新世代数が予め定めた最長世代数に達していれば世代処理を終了するものとした、
ことを特徴とする遺伝的アルゴリズム処理装置を開示する。
【0016】
【発明の実施の形態】
先ず、本発明の基本的な考え方を述べる。
本発明では、各プロセッサ上で新たな個体作成を行う場合、その時点で既に、他プロセッサから通信によって送られてきている他プロセッサにおける最新世代の個体情報を親として個体作成を行い、プロセッサ間での世代数の統一のための同期を行わない(他プロセッサがその時点でどの世代を処理し終えているかは問題にしていない)。つまり、並列処理時における処理性能低下の重要な一項目である同期が無いため、並列処理性能を高く維持することができ、高速に処理することができる。
【0017】
本発明では、進化世代数の統一を行わないため、処理の早いプロセッサでは、他プロセッサのG世代目の個体情報を取得する前に、(G−1)世代よりも前の世代の個体を使用して、G世代目の個体作成を行う。
これでも解の質が悪くならないことを説明する。
例えば、あるプロセッサにてG世代の個体を作成するときに、他のプロセッサでは(G−2)世代までしか処理が完了しておらず、それ以降の個体情報が通信によって当該プロセッサに通知されていなかったとする。この場合、当該プロセッサの(G−1)世代目の個体と他の(G−2)世代目の個体から新しく個体を作成することになるが、Gを十分に大きくすることで(G−1)/(G−2)の値は無視することができる。
【0018】
そして、本発明では、各プロセッサでの単位時間当たりの処理世代数は、同期のための待ちが無いため従来の技術の処理世代数より、大きく取ることができるため、同一世代数を処理する場合はより高速に処理が可能である。
これは、例えば個体作成時間が正規分布N(m,σ2)=N(30,52単位秒)に従うとすると、個体作成時間が40秒より大きい確率Q(X<40)=Q(X<m+2σ)=0.16であり、仮にプロセッサ数を10とすると、個体作成時間が40秒より大きいプロセッサが1つ、確率的に存在する。この場合、従来の技術では、40秒で1世代が処理されることになる。一方、本発明では、この個体作成時間が40秒より大きいプロセッサ以外の残りのプロセッサは平均30秒未満で1世代処理することになる。そして40秒間では、残りの10秒間でも次世代の処理を行うため、合計で、
(作成時間が40秒より大きいプロセッサが作る個数)+(残りのプロセッサが作る個数)=(40秒間で1個)+{(30秒間で9個)+(残りの10秒間で作れる個数)}=1+9+3=13
の個体を作成することができる。つまり本発明は各プロセッサの個体作成時間の標準偏差σが大きいほど有効に働くことが示せる。
【0019】
また、特に解空間に対して、適応度が非連続的で離散的である場合は、適応度が良い個体を親としても必ずしもよい個体が作成されるわけではなく、いかに多くの個体を作成し評価するかが重要である。つまり世代数は重要ではなく、個体作成時に(G−1)世代目を親にするか、(G−1)世代より前の世代を親にするか、の処理の差がより少なくなる。
【0020】
以下、図1を用いて本発明の実施の形態に係る遺伝的アルゴリズム並列処理装置を説明する。
図1は本発明に係る遺伝的アルゴリズム並列処理装置の機能構成を示している。
本実施例の遺伝的アルゴリズム並列処理装置は、図1に示すように、複数のプロセッサ(プロセッサ1〜プロセッサP)を持ち、各プロセッサはプロセッサ間接続装置(通信ラインを含む)10によって互いに接続され、各プロセッサは、GA処理手段10と、通信処理手段11と、指定された個体数Nの遺伝的アルゴリズムの染色体情報を記憶する個体情報記憶手段12と、から構成される。
GA処理手段10は、他プロセッサとの通信手段を持たずに、初期化手段101と個体作成手段102とを制御するGA制御手段100と、遺伝的アルゴリズムの染色体情報の初期化を行う初期化手段101と、遺伝的アルゴリズムの個体選択、交叉、突然変異といった処理を行い新たな個体を作成する個体作成手段102と、から構成される。
通信処理手段11は、個体情報記憶手段アクセス手段111と通信手段112とを制御する通信制御手段110と、個体情報記憶手段の記憶内容の読み取り書き込みをおこなう個体情報記憶手段アクセス手段111と、当該プロセッサ以外のプロセッサとの染色体情報の通信を行う通信手段112と、から構成されている。
【0021】
ここで、GA処理手段10は電子計算機上のプロセスとして、通信処理手段11は電子計算機上のプロセスとして、個体情報記憶手段12は電子計算機上の共有メモリエリアとして、実現することができ、さらに電子計算機上のプリエンプティブなオペレーティングシステムを用いることによりGA処理手段10と通信処理手段11は並行処理することができる。
さらに、GA処理手段10と、通信処理手段11と、を電子計算機上の一つのプロセスのスレッドとして、個体情報記憶手段12を電子計算機上のローカルメモリエリアとして、実現することもでき、この場合もGA処理手段10と通信処理手段11とは平行処理することができる。
また、図1の破線は制御を、矢印付き実線は情報の流れを示している。
【0022】
以下に本発明の動作例について図2と図3を使用して詳細に説明する。
説明のためプロセッサ数P=2、個体数N=2、世代数G=3とするが、実際はプロセッサ数、個体数、世代数は任意の自然数であってもかまわない。
本装置の処理が開始されると、プロセッサ1では図2(a)のGA処理手段10のフローと、図2(b)の通信処理手段11のフローと、による2つの処理が平行処理される。図3には処理シーケンスを示す。
【0023】
GA処理手段10では、(S21)初期化手段101にて、個体情報記憶手段12に個体数N=2の染色体情報が作成される。これは図3の▲1▼に対応する。(S22)世代数G=3が満たされたかのチェックが行われる。現在は1世代目なので、Noである。(S23)個体数N/P=2/2=1が満たされたかのチェックが行われる。現在は1個体目なのでNoである。(S24)個体作成手段102にて、個体情報記憶手段12の指定の染色体情報に対して、交叉、突然変異等の処理を行って、1世代目の個体(1)が作成される。これは図3の▲2▼に対応する。さらに(S23)(S22)(S23)と進み、(S24)2世代目の個体(1)が作成される。これは図3の▲3▼に対応する。同様に(S23)(S22)(S23)と進み、(S24)3世代目の個体(1)が作成される。これは図3の▲4▼に対応する。
【0024】
通信処理手段11では、(S25)GA処理手段が終了したかのチェックが行われる。最初はNoである。(S26)個体情報記憶手段アクセス手段111にて、個体情報記憶手段12の内容が読み出され1世代目の個体(1)が作成されたかがチェックされる。GA処理手段10により▲2▼が処理されれば、Yesであり(S27)に進み、通信手段112により、個体情報記憶手段アクセス手段111を通じて個体情報記憶手段12から1世代目の個体(1)の染色体情報を読み出しこれがプロセッサ2に送信され、さらに1世代目の個体(2)の染色体情報をプロセッサ2から受信しこれが個体情報記憶手段アクセス手段111を通じて個体情報記憶手段12に書き込まれる。これは図3の▲5▼に対応する。GA処理手段10により▲2▼が処理されていなければ、Noとなり(S25)に戻る。この処理を繰り返して、GA処理手段10により▲3▼が処理されれば、▲6▼が処理され、GA処理手段10により▲4▼が処理されれば、▲7▼が処理される。
【0025】
またこの動作例では、▲5▼〜▲7▼の通信のタイミングを新たな個体作成後としているが、この他に以下の例がある。
(1)、予め定めた一定時間隔で行う例がある。
(2)、世代形成をするプロセッサの中で、最長形成時間のプロセッサにを基準とし、その世代形成終了後に通信を行う例がある。
(3)、各世代処理終了後に通信要求を出すものとし、通信は全プロセッサ終了時に通信を行う例がある。
【0026】
このように、本発明では、1世代目は、従来技術と同様に、初期化手段によって作成された染色体情報を用いるが、2世代目は、従来技術では1世代目に作成された染色体情報を用いるのに対し、本発明では当該プロセッサで作成されたN/P個の1世代目に作成された染色体情報と初期化手段によって作成されたN−(N/P)個の染色体情報を用いる。更に、g世代目(g>2)は、従来技術では(g−1)世代目に作成された染色体情報を用いるのに対し、本発明では当該プロセッサで作成されたN/P個の(g−1)世代目に作成された染色体情報と他プロセッサで作成されたN−(N/P)個の(g−2)世代目に作成された染色体情報を用いる。つまり本発明は従来技術と比べてN−(N/P)個の染色体情報が1世代古いものを用いて個体作成を行うが、世代数Gを大きくとることにより、(g−1)と(g−2)の比は少なくなるため、解の質が極端に落ちることは無い。逆に、本発明では各プロセッサの待ちが無いため、従来技術と比較してより多くの世代が処理できるため、解の質が向上する。
【0027】
GA処理手段は、更新する世代数Gの管理を行っている。これにより例えば、最長世代数Gを与えておき、世代数Gになった時点の解を最適解とするやり方をとることができる。最長世代数Gは処理量と処理時間と解の様子とを考慮して事前に設定しておくやり方もあれば、オペレータが処理量と処理時間と解の様子とを監視しながら途中入力設定するやり方もある。
【0028】
【発明の効果】
本発明によれば、従来技術における遺伝的アルゴリズムの並列処理における通信処理時の待ち時間を、有効に遺伝的アルゴリズムの処理に利用でき、言い換えれば各プロセッサの処理能力を十分に利用でき、従来技術の遺伝的アルゴリズムの並列処理と比べて、単位時間当たりの個体作成数が多くなる。つまり本発明により、最適化問題をより高速に、より高品質に解くことができできる。
【図面の簡単な説明】
【図1】本発明に係る遺伝的アルゴリズム並列処理装置の機能構成を示す図である。
【図2】本発明に係わる遺伝的アルゴリズムの並列処理フローを示す図である。
【図3】本発明に係る遺伝的アルゴリズムの並列処理タイミングチャートを示す図である。
【図4】遺伝的アルゴリズムの処理フローを示す図である。
【図5】従来技術の遺伝的アルゴリズムの並列処理フローを示す図である。
【図6】遺伝的アルゴリズムの処理タイミングチャートを示す図である。
【図7】各個体作成処理時間が均一な場合の、従来技術の遺伝的アルゴリズムの並列処理タイミングチャートを示す図である。
【図8】各個体作成処理時間が不均一な場合の、従来技術の遺伝的アルゴリズムの並列処理タイミングチャートを示す図である。
【符号の説明】
10 GA処理手段
100 GA制御手段
101 初期化手段
102 個体作成手段
11 通信処理手段
110 通信制御手段
111 個体情報記憶手段アクセス手段
112 通信手段
12 個体情報記憶手段
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an apparatus that solves a combination optimization problem in various planning, design, and control in various fields, and more particularly to an apparatus that processes a problem with a large number of combinations at high speed using a parallel computer.
[0002]
[Prior art]
As a method for finding a combinatorial optimization problem within a time that is practically acceptable, for example, there is a genetic algorithm that simulates the evolution of a living organism and seeks quasi-optimization globally. This is described in Japanese Patent Laid-Open No. 8-194676 “Parallel Genetic Algorithm Execution Device” and Japanese Patent Laid-Open No. 8-314882 “Power Supply Order Determination Method”.
[0003]
FIG. 4 is a basic processing flow of what is called a genetic algorithm. First, in the initialization in step S41, candidates for the solution of the optimization problem are converted into a number sequence or the like, and the number N designated as the chromosome information of the organism is created. The number of chromosome information may be one or more, and this number N is called the number of individuals. In step S42, it is determined whether the designated repetition number G is satisfied. This number G is called the generation number. In step S43, it is determined whether the designated number of individuals N is satisfied. In the individual creation in step S44, new chromosome information is created from the existing chromosome information. As a method for creating new chromosome information here, there are crossover for combining a plurality of pieces of chromosome information, mutation for randomly changing elements in one piece of chromosome information, and the like.
[0004]
Such calculation processing can be executed by sequential processing, but can be performed in parallel using a parallel computer.
For example, JP-A-8-194676 includes the following examples. When performing calculation of N individuals using a parallel processor system (computer system) having P processors, each processor has a copy of chromosome information of N individuals, and each individual generation process for each generation is N A conventional method is described in which only / P pieces are in charge and all newly created chromosome information is updated by communication between processors. Such a conventional example has a problem that it takes time to communicate between the processors. In the embodiment of Japanese Patent Laid-Open No. 8-194676, the communication time is reduced by communicating only the chromosome information to be crossed between the processors. A method has been proposed.
In addition, due to day-to-day technological advances, the performance of data communication devices such as LANs and buses has been improved, and this communication time is being reduced even with the same data capacity.
[0005]
[Problems to be solved by the invention]
In parallel processing of genetic algorithms using parallel computers, the communication time is being shortened by the conventional technology, but in the actual processing, the processing amount of crossover, mutation, etc., which is the processing of individual creation, is unequal In a multitasking system, processes other than those processes are processed in parallel, and the load on the use of computer resources such as a specific processor, bus, or hard disk is high. Time is uneven.
[0006]
This will be described in detail below.
FIG. 6 shows a time chart of the genetic algorithm of 2 individuals and 3 generations according to FIG. First, the first generation individual (1) is created, the first generation individual (2) is created, the second generation individual (1) is created, and the second generation individual (2) is created. Processing is performed in the order of creation of the third generation individual (1) and creation of the third generation individual (2).
[0007]
FIG. 5 is a flow for each processor of the parallel processing of the genetic algorithm.
First, in the initialization in step S51, chromosome information is created for the number of individuals N as in S41. In step S52, it is determined whether the designated number of repetitions G is satisfied as in S42. In step S53, it is determined whether the specified number of individuals N / P, which is the number of repetitions, is satisfied. Here, P is the number of processors. In step S54, similar to S44, new chromosome information is created from the existing chromosome information. In step S55, all newly created chromosome information is updated by communication between the processors.
[0008]
FIG. 7 shows a time chart in the case where the individual creation processing times of the genetic algorithm of 2 individuals and 3 generations are uniform and the number of processors is 2 according to FIG. The processor 1 performs initialization, creates the first generation individual (1), communicates chromosome information, creates the second generation individual (1), communicates chromosome information, and creates the third generation individual (1). Processing is performed in the order of creation and communication of chromosome information. The processor 2 performs initialization, creation of the first generation individual (2), communication of chromosome information, creation of the second generation individual (2), communication of chromosome information, and generation of the third generation individual (2). Processing is performed in the order of creation and communication of chromosome information. Communication between the processors is synchronized, and information communication between the same generation is performed.
[0009]
FIG. 8 shows an actual time chart in which the individual creation processing times of the genetic algorithm of 2 individuals and 3 generations are not uniform according to FIG. The processing contents in the processor 1 and the processor 2 are the same as in FIG. 7, but since the communication of chromosome information is synchronized in each processor, waiting times t1, t2, and t3 indicated by shading are generated.
Therefore, the utilization efficiency of each processor is deteriorated, and as a result, the efficiency of processing of the genetic algorithm is deteriorated. That is, there arises a problem that even if parallelization is performed, the speed is not so high.
[0010]
The genetic algorithm in the prior art performs individual creation on each processor after initialization, and after completion of individual creation on all processors, individual information is exchanged between each processor for the next generation crossover, And the system which shifts to the next generation processing is taken.
When this is applied to the evolution of living organisms in the natural world, in a system of organisms with several strains (pedigrees), when all generations have the same number of generations from a certain point, a new individual is created by crossover. To create the next generation and move on to the next generation.
[0011]
However, in general, in the evolution of living organisms in the natural world, when new individuals are created by crossing between several strains, the number of generations from the time of each strain does not need to be unified; New individuals are created from the crossable individuals that exist in. In other words, in order to unify the number of evolutionary generations, it is not necessary to wait between the systems, that is, the generations do not need to be synchronized with each other.
An object of the present invention is to provide a genetic algorithm processing apparatus that can solve an optimization problem without synchronization between generations.
[0012]
[Means for Solving the Problems]
The present invention, in a genetic algorithm processing apparatus for obtaining an optimal solution by forming a plurality of generations for a plurality of individuals,
Multiple generations that update generations in parallel and perform individual processing for each generation by performing parallel processing without performing synchronous control for unifying the number of generations in parallel And a connection device for performing data group communication among the plurality of processors,
Each processor comprises generation processing means and communication processing means,
The communication processing means monitors whether its own generation is formed by its own generation processing means, and if there is formation of the latest generation, this latest generation individual data group is transferred to the communication processing means of other processors via the connection device. Send and receive the latest generation solid data group sent from the communication processing means via the connection device by forming the latest generation of other processors,
The generation processing means forms the latest generation of itself and forms the first generation individual data group based on the initialization in the first generation, and the communication of the generation after the second generation. Using the latest generation individual data group of other processors received by the processing means and the generation individual data group obtained so far, the latest generation individual data group is formed, and the latest generation number reaches the predetermined maximum number of generations. If so, the generation process will be terminated.
A genetic algorithm processing apparatus is disclosed.
[0013]
Furthermore, the present invention relates to a genetic algorithm processing apparatus for obtaining an optimal solution by forming G generations for N individuals.
In addition to updating generations in parallel and updating each generation, P processors that perform parallel processing without performing synchronization control for unifying the number of generations in parallel and data between P processors A connection device that performs group communication, and assigns N / P individual parallel processing to the P processors for N individuals,
Each processor comprises generation processing means and communication processing means,
The communication processing means monitors whether its own generation is formed by its own generation processing means, and if there is formation of the latest generation, this latest generation individual data group is transferred to the communication processing means of other processors via the connection device. Send and receive the latest generation solid data group sent from the communication processing means via the connection device by forming the latest generation of other processors,
The generation processing means forms the latest generation of itself and forms the first generation individual data group based on the initialization in the first generation, and the communication of the generation after the second generation. Using the latest generation individual data group of other processors received by the processing means and the generation individual data group obtained so far, the latest generation individual data group is formed, and the latest generation number reaches the predetermined maximum number of generations. If so, the generation process will be terminated.
A genetic algorithm processing apparatus is disclosed.
[0016]
DETAILED DESCRIPTION OF THE INVENTION
First, the basic concept of the present invention will be described.
In the present invention, when a new individual is created on each processor, an individual is created with the latest generation individual information in another processor already sent by communication from another processor as a parent at that time. Synchronization is not performed to unify the number of generations (which generation does not matter which other processor has finished processing at that time). That is, since there is no synchronization, which is an important item of processing performance degradation during parallel processing, parallel processing performance can be maintained high, and high-speed processing can be performed.
[0017]
In the present invention, since the number of evolutionary generations is not unified, a processor with a fast processing uses an individual of a generation before the (G-1) generation before acquiring individual information of the G generation of another processor. Then, the G generation individual is created.
Explain that this does not degrade the quality of the solution.
For example, when a G generation individual is created by a certain processor, the processing is completed only for the (G-2) generation in the other processors, and individual information after that is notified to the processor by communication. Suppose there wasn't. In this case, a new individual is created from the (G-1) generation individual and another (G-2) generation individual of the processor, but by increasing G sufficiently (G-1 ) / (G-2) can be ignored.
[0018]
In the present invention, the number of processing generations per unit time in each processor can be set larger than the number of processing generations of the prior art because there is no waiting for synchronization, so when processing the same number of generations Can be processed at a higher speed.
This, for example, an individual creation time normal distribution N (m, σ 2) = When following the N (30, 5 2 in seconds), the probability an individual creation time is greater than 40 seconds Q (X <40) = Q (X <M + 2σ) = 0.16, and assuming that the number of processors is 10, there is a probabilistic existence of one processor whose individual creation time is longer than 40 seconds. In this case, in the conventional technique, one generation is processed in 40 seconds. On the other hand, in the present invention, the remaining processors other than the processor having the individual creation time longer than 40 seconds process one generation in an average of less than 30 seconds. And in 40 seconds, the next 10 seconds will be processed next time, so in total,
(Number created by processors with creation time longer than 40 seconds) + (Number created by remaining processors) = (1 in 40 seconds) + {(9 in 30 seconds) + (Number created in the remaining 10 seconds)} = 1 + 9 + 3 = 13
Can be created. That is, it can be shown that the present invention works more effectively as the standard deviation σ of the individual creation time of each processor increases.
[0019]
Also, especially when the fitness is discontinuous and discrete with respect to the solution space, an individual with good fitness does not necessarily create a good individual, but how many individuals are created. It is important to evaluate. In other words, the number of generations is not important, and the difference in processing between the (G-1) generation and the (G-1) generation prior to the parent becomes smaller when individuals are created.
[0020]
Hereinafter, the genetic algorithm parallel processing apparatus according to the embodiment of the present invention will be described with reference to FIG.
FIG. 1 shows a functional configuration of a genetic algorithm parallel processing apparatus according to the present invention.
As shown in FIG. 1, the genetic algorithm parallel processing apparatus of this embodiment has a plurality of processors (processors 1 to P), and each processor is connected to each other by an inter-processor connection device (including a communication line) 10. Each processor includes a GA processing means 10, a communication processing means 11, and an individual information storage means 12 for storing chromosome information of a specified number N of genetic algorithms.
The GA processing means 10 has no communication means with other processors, the GA control means 100 for controlling the initialization means 101 and the individual creation means 102, and the initialization means for initializing the chromosome information of the genetic algorithm. 101 and an individual creation means 102 for creating a new individual by performing processing such as individual selection, crossover, and mutation of the genetic algorithm.
The communication processing unit 11 includes a communication control unit 110 that controls the individual information storage unit access unit 111 and the communication unit 112, an individual information storage unit access unit 111 that reads and writes the stored contents of the individual information storage unit, and the processor Communication means 112 for communicating chromosome information with other processors.
[0021]
Here, the GA processing means 10 can be realized as a process on the electronic computer, the communication processing means 11 as a process on the electronic computer, and the individual information storage means 12 as a shared memory area on the electronic computer. By using a preemptive operating system on a computer, the GA processing means 10 and the communication processing means 11 can perform parallel processing.
Further, the GA processing means 10 and the communication processing means 11 can be realized as a thread of one process on the electronic computer, and the individual information storage means 12 can be realized as a local memory area on the electronic computer. The GA processing unit 10 and the communication processing unit 11 can perform parallel processing.
Further, the broken line in FIG. 1 indicates control, and the solid line with an arrow indicates the flow of information.
[0022]
Hereinafter, an operation example of the present invention will be described in detail with reference to FIGS.
For explanation, it is assumed that the number of processors P = 2, the number of individuals N = 2, and the number of generations G = 3. However, the number of processors, the number of individuals, and the number of generations may actually be arbitrary natural numbers.
When the processing of this apparatus is started, the processor 1 performs parallel processing on the two processes of the flow of the GA processing means 10 in FIG. 2A and the flow of the communication processing means 11 in FIG. . FIG. 3 shows a processing sequence.
[0023]
In the GA processing means 10, (S21) initialization means 101 creates chromosome information of the number N = 2 of individuals in the individual information storage means 12. This corresponds to (1) in FIG. (S22) It is checked whether the generation number G = 3 is satisfied. Since it is the first generation now, it is No. (S23) It is checked whether the number of individuals N / P = 2/2 = 1 is satisfied. It is No because it is the first individual. (S24) The individual creation means 102 performs crossover, mutation, etc. on the specified chromosome information in the individual information storage means 12 to create the first generation individual (1). This corresponds to (2) in FIG. Further, the process proceeds to (S23), (S22), and (S23), and (S24) the second generation individual (1) is created. This corresponds to (3) in FIG. Similarly, the process proceeds to (S23), (S22), and (S23), and (S24) the third generation individual (1) is created. This corresponds to (4) in FIG.
[0024]
In the communication processing unit 11, (S25) it is checked whether the GA processing unit has ended. The first is No. (S26) The individual information storage means access means 111 checks whether the contents of the individual information storage means 12 are read and the first generation individual (1) has been created. If {circle around (2)} is processed by the GA processing means 10, the process proceeds to Yes (S 27), and the first-generation individual (1) is transferred from the individual information storage means 12 through the individual information storage means access means 111 by the communication means 112. The chromosome information of the first generation individual (2) is received from the processor 2 and written to the individual information storage means 12 through the individual information storage means access means 111. This corresponds to (5) in FIG. If (2) has not been processed by the GA processing means 10, No will be returned to (S25). This process is repeated. If (3) is processed by the GA processing means 10, (6) is processed. If (4) is processed by the GA processing means 10, (7) is processed.
[0025]
Further, in this operation example, the communication timing of (5) to (7) is after the creation of a new individual, but there are other examples as follows.
(1) There is an example that is performed at predetermined time intervals.
(2) There is an example in which communication is performed after the generation of the generation is completed with reference to the processor having the longest generation time among the processors that generate the generation.
(3) There is an example in which a communication request is issued after each generation process is completed, and communication is performed when all processors are completed.
[0026]
Thus, in the present invention, the first generation uses the chromosome information created by the initialization means as in the prior art, while the second generation uses the chromosome information created in the first generation in the prior art. In contrast, in the present invention, the N / P chromosome information generated by the processor and the N- (N / P) chromosome information generated by the initialization unit are used. Furthermore, the g generation (g> 2) uses the chromosomal information created in the (g-1) generation in the prior art, whereas in the present invention, the Nth generation of N / P (g -1) The chromosome information created in the generation and the chromosome information created in the N- (N / P) number of (g-2) generations created by other processors are used. In other words, in the present invention, an individual is created using N- (N / P) chromosome information that is one generation older than the prior art. However, by increasing the generation number G, (g-1) and ( Since the ratio of g-2) is reduced, the quality of the solution does not drop extremely. On the contrary, in the present invention, since there is no waiting for each processor, more generations can be processed as compared with the prior art, so that the quality of the solution is improved.
[0027]
The GA processing means manages the number of generations G to be updated. Thereby, for example, the longest generation number G can be given and the solution when the generation number G is reached can be taken as the optimum solution. The longest generation number G can be set in advance in consideration of the processing amount, processing time, and the state of the solution, or the operator can input the input while monitoring the processing amount, processing time, and the state of the solution. There is also a way.
[0028]
【The invention's effect】
According to the present invention, the waiting time during communication processing in parallel processing of genetic algorithms in the prior art can be used effectively for processing of genetic algorithms, in other words, the processing capacity of each processor can be fully utilized. Compared with the parallel processing of genetic algorithms, the number of individuals created per unit time increases. That is, according to the present invention, the optimization problem can be solved at higher speed and with higher quality.
[Brief description of the drawings]
FIG. 1 is a diagram showing a functional configuration of a genetic algorithm parallel processing apparatus according to the present invention.
FIG. 2 is a diagram showing a parallel processing flow of a genetic algorithm according to the present invention.
FIG. 3 is a diagram showing a parallel processing timing chart of a genetic algorithm according to the present invention.
FIG. 4 is a diagram showing a processing flow of a genetic algorithm.
FIG. 5 is a diagram showing a parallel processing flow of a genetic algorithm of the prior art.
FIG. 6 is a diagram showing a processing timing chart of a genetic algorithm.
FIG. 7 is a diagram showing a parallel processing timing chart of a conventional genetic algorithm when each individual creation processing time is uniform.
FIG. 8 is a diagram showing a parallel processing timing chart of a conventional genetic algorithm when each individual creation processing time is non-uniform.
[Explanation of symbols]
10 GA processing means 100 GA control means 101 Initialization means 102 Individual creation means 11 Communication processing means 110 Communication control means 111 Individual information storage means access means 112 Communication means 12 Individual information storage means

Claims (2)

複数の個体について複数の世代形成を行って最適解を求める遺伝的アルゴリズム処理装置おいて、
並列的に世代の更新を行うと共に各世代の更新にあっては並列的に世代数の統一のための同期制御を行わないで並列処理を行って、各世代毎の個体形成をそれぞれが行う複数のプロセッサと、この複数のプロセッサ相互のデータ群通信を行う接続装置と、を備え、
各プロセッサは、世代処理手段と通信処理手段とを具えて、
通信処理手段は、自己の世代処理手段で自己の最新世代が形成されたかを監視し最新世代の形成があればこの最新世代個体データ群を上記接続装置を介して他プロセッサの通信処理手段へと送信し、他プロセッサの最新世代の形成によりその通信処理手段から上記接続装置を介して送られてくる最新世代固体データ群を受信するものとし、
世代処理手段は、自己の最新世代を形成すると共にその形成にあっては、第1世代では初期化に基づき第1世代個体データ群を形成し、第2世代以降にあっては、自己の通信処理手段で受信した他プロセッサの最新世代個体データ群と自己のそれまでに得た世代個体データ群とを用いて最新世代個体データ群を形成し、最新世代数が予め定めた最長世代数に達していれば世代処理を終了するものとした、
ことを特徴とする遺伝的アルゴリズム処理装置。
In a genetic algorithm processing device that obtains an optimal solution by forming multiple generations for multiple individuals,
Multiple generations that update generations in parallel and perform individual processing for each generation by performing parallel processing without performing synchronous control for unifying the number of generations in parallel And a connection device that performs data group communication among the plurality of processors,
Each processor comprises generation processing means and communication processing means,
The communication processing means monitors whether its own generation is formed by its own generation processing means, and if there is formation of the latest generation, this latest generation individual data group is transferred to the communication processing means of other processors via the connection device. Send and receive the latest generation solid data group sent from the communication processing means through the connection device by forming the latest generation of another processor,
The generation processing means forms the latest generation of itself and forms the first generation individual data group based on the initialization in the first generation, and the communication of the generation after the second generation. Using the latest generation individual data group of other processors received by the processing means and the generation individual data group obtained so far, the latest generation individual data group is formed, and the latest generation number reaches the predetermined maximum number of generations. If so, the generation process will be terminated.
A genetic algorithm processing device characterized by that.
N個の個体についてG個の世代形成を行って最適解を求める遺伝的アルゴリズム処理装置において、
並列的に世代の更新を行うと共に各世代の更新にあっては並列的に世代数の統一のための同期制御を行わないで並列処理を行うP個のプロセッサと、P個のプロセッサ相互のデータ群通信を行う接続装置とを備えて、N個の個体について上記P個のプロセッサにN/Pずつの個体の並列処理を割り当てると共に、
各プロセッサは、世代処理手段と通信処理手段とを具えて、
通信処理手段は、自己の世代処理手段で自己の最新世代が形成されたかを監視し最新世代の形成があればこの最新世代個体データ群を上記接続装置を介して他プロセッサの通信処理手段へと送信し、他プロセッサの最新世代の形成によりその通信処理手段から上記接続装置を介して送られてくる最新世代固体データ群を受信するものとし、
世代処理手段は、自己の最新世代を形成すると共にその形成にあっては、第1世代では初期化に基づき第1世代個体データ群を形成し、第2世代以降にあっては、自己の通信処理手段で受信した他プロセッサの最新世代個体データ群と自己のそれまでに得た世代個体データ群とを用いて最新世代個体データ群を形成し、最新世代数が予め定めた最長世代数に達していれば世代処理を終了するものとした、
ことを特徴とする遺伝的アルゴリズム処理装置。
In a genetic algorithm processing device for obtaining an optimal solution by forming G generations for N individuals,
In addition to updating generations in parallel and updating each generation, P processors that perform parallel processing without performing synchronization control for unifying the number of generations in parallel and data between P processors A connection device that performs group communication, and assigns N / P individual parallel processing to the P processors for N individuals,
Each processor comprises generation processing means and communication processing means,
The communication processing means monitors whether its own generation is formed by its own generation processing means, and if there is formation of the latest generation, this latest generation individual data group is transferred to the communication processing means of other processors via the connection device. Send and receive the latest generation solid data group sent from the communication processing means through the connection device by forming the latest generation of another processor,
The generation processing means forms the latest generation of itself and forms the first generation individual data group based on the initialization in the first generation, and the communication of the generation after the second generation. Using the latest generation individual data group of other processors received by the processing means and the generation individual data group obtained so far, the latest generation individual data group is formed, and the latest generation number reaches the predetermined maximum number of generations. If so, the generation process will be terminated.
A genetic algorithm processing device characterized by that.
JP2000036474A 2000-02-15 2000-02-15 Genetic algorithm processor Expired - Fee Related JP3710983B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000036474A JP3710983B2 (en) 2000-02-15 2000-02-15 Genetic algorithm processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000036474A JP3710983B2 (en) 2000-02-15 2000-02-15 Genetic algorithm processor

Publications (2)

Publication Number Publication Date
JP2001229148A JP2001229148A (en) 2001-08-24
JP3710983B2 true JP3710983B2 (en) 2005-10-26

Family

ID=18560519

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000036474A Expired - Fee Related JP3710983B2 (en) 2000-02-15 2000-02-15 Genetic algorithm processor

Country Status (1)

Country Link
JP (1) JP3710983B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106406233B (en) * 2016-10-20 2019-02-19 北京遥测技术研究所 A kind of tact balance method of flexible machine addend control production unit
JP7327137B2 (en) 2019-12-13 2023-08-16 富士通株式会社 Arithmetic processing device, Arithmetic processing program and Arithmetic processing method

Also Published As

Publication number Publication date
JP2001229148A (en) 2001-08-24

Similar Documents

Publication Publication Date Title
Shi et al. Performance modeling and evaluation of distributed deep learning frameworks on gpus
Nakandala et al. Cerebro: A data system for optimized deep learning model selection
US8099584B2 (en) Methods for scalably exploiting parallelism in a parallel processing system
CN105103144B (en) For the device and method of the self adaptive control of memory
US8209690B2 (en) System and method for thread handling in multithreaded parallel computing of nested threads
CN101460923B (en) Virtual machine for operating n-core application on m-core processor
US20070024898A1 (en) System and method for executing job step, and computer product
US6507809B1 (en) Method and system for simulating performance of a computer system
TWI291102B (en) Sender to receiver request retry method and apparatus
Ying et al. Solving no-wait job-shop scheduling problems using a multi-start simulated annealing with bi-directional shift timetabling algorithm
CN106656525A (en) Data broadcasting system, data broadcasting method and device
JP2004054916A (en) Method of executing hardware support communication between processors
US10776012B2 (en) Lock-free datapath design for efficient parallel processing storage array implementation
US9325576B2 (en) Dynamic server to server configuration and initialization
JP3710983B2 (en) Genetic algorithm processor
Kalgin Comparative study of parallel algorithms for asynchronous cellular automata simulation on different computer architectures
Childers et al. Adapting the serial Alpgen parton-interaction generator to simulate LHC collisions on millions of parallel threads
Chen et al. Applying segmented right-deep trees to pipelining multiple hash joins
CN111708812A (en) Distributed data processing method
WO2001016761A2 (en) Efficient page allocation
US7552439B2 (en) System and method to allow non-deterministic execution in a process control system
US20130144842A1 (en) Failover and resume when using ordered sequences in a multi-instance database environment
Gonçalves et al. A biased random-key genetic algorithm for job-shop scheduling
US7159012B2 (en) Computational data processing system and computational process implemented by means of such a system
WO2019086120A1 (en) A system and method for high-performance general-purpose parallel computing with fault tolerance and tail tolerance

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050322

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050811

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20080819

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090819

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100819

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110819

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110819

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120819

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120819

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130819

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees