JPH09231197A - 温度並列シミュレーティド・アニーリング用恒温槽装置及び温度並列シミュレーティド・アニーリング方法 - Google Patents

温度並列シミュレーティド・アニーリング用恒温槽装置及び温度並列シミュレーティド・アニーリング方法

Info

Publication number
JPH09231197A
JPH09231197A JP8034704A JP3470496A JPH09231197A JP H09231197 A JPH09231197 A JP H09231197A JP 8034704 A JP8034704 A JP 8034704A JP 3470496 A JP3470496 A JP 3470496A JP H09231197 A JPH09231197 A JP H09231197A
Authority
JP
Japan
Prior art keywords
temperature
simulated annealing
state
energy
algorithm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP8034704A
Other languages
English (en)
Inventor
Ryusuke Masuoka
竜介 益岡
Hironobu Kitajima
弘伸 北島
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 JP8034704A priority Critical patent/JPH09231197A/ja
Publication of JPH09231197A publication Critical patent/JPH09231197A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

(57)【要約】 【課題】 温度毎に適切なアルゴリズムを使用できるよ
うにして高速に温度並列シュミレーティド・アニーリン
グ処理を行う。 【解決手段】 パラメタ変更手段101は、シミュレー
ティド・アニーリング処理手段102が第1の温度の下
で効率的に動作するように、シミュレーティド・アニー
リングのアルゴリズムの実行を制御するパラメタを変更
し、シミュレーティド・アニーリング処理手段102
は、パラメタ変更手段101により設定された条件でシ
ミュレーティド・アニーリング処理を行い、このシミュ
レーティド・アニーリング処理の結果得られた状態を、
第2の温度の下でシミュレーティド・アニーリング処理
を行うことにより得られた状態とを確率的に交換する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、温度並列シミュレ
ーティド・アニーリング用恒温槽装置及び温度並列シミ
ュレーティド・アニーリング方法に関する。
【0002】
【従来の技術】近年、様々な分野において生じる問題を
解決するために、比較的大規模な最適化問題を解くこと
が要求されるようになっている。シミュレーティド・ア
ニーリング(simulated annealing :以下、SAと略
す)はこのような最適化問題を解く汎用近似解法の一つ
であり、VLSI(very large scale integration)の
設計におけるセルの配置問題や生産工程のスケジューリ
ングなどの最適化問題に適用されて成功を収めている。
【0003】アニーリングは焼きなまし法のことで、物
体を高温にしてからゆっくり冷やして物理的にエネルギ
ー最低の状態(基底状態)に到達させる方法を意味す
る。評価対象のシステムにおいてその評価の目安となる
エネルギーを定義し、システムの焼きなまし過程をメト
ロポリス法(metropolis procedure)を用いてシミュレ
ートし、システムの状態を最適化する手法をSAと呼ん
でいる。
【0004】通常のSAのアルゴリズムをもう少し具体
的に述べると次のようになる。まず、いろいろな状態を
持ち得る多数の対象からなるシステムを考える。全ての
対象の状態の総和がそのシステムの状態となるが、シス
テムの状態の実数関数としてエネルギーが定義される。
SAを組み合わせ問題に適用する場合には、その組み合
わせの評価値を用いてエネルギーを定義し、エネルギー
が低いほど評価が良くなるものとする。
【0005】次に、対象を適当な順番で選んでいき、そ
れぞれの対象に対してメトロポリス法と呼ばれている操
作を施す。ここでは、各対象に候補の状態を確率的に与
え、各対象が与えられた候補の状態になった際のシステ
ムのエネルギーEf と現在の状態におけるシステムのエ
ネルギーEn を計算する。一方で、0から1までの一様
乱数を発生しそれをrとする。温度パラメータをTとし
て、 exp〔−(Ef −En )/T〕rなら各対象を候
補の状態にし、 exp〔−(Ef −En )/T〕<rなら
現在の状態に留まる。
【0006】この操作を温度Tを一定にして続ければ、
温度Tとシステムのエネルギーによって与えられるギブ
ス(Gibbs )分布に収束し、温度Tを十分ゆっくり下げ
て0に近づければ、エネルギーの最小値あるいは準最小
値を与える状態にシステムが収束する。後者を物理現象
からのアナロジーでSAと呼んでおり、特に温度の変更
のスケジュールをアニーリングスケジュールと呼んでい
る。理論的には、温度Tを十分ゆっくり下げた場合にエ
ネルギーの最小値を与える状態に収束することが証明さ
れているが、実用上は処理時間を短縮するために比較的
早く下げることが多い。
【0007】SAには次のような長所がある。第1は理
論的に最適解に収束する保証があり、実際に最適解また
は準最適解に収束する。第2に汎用的でありいろいろな
問題に簡単に適用できる。第3にはシステムのエネルギ
ーまたは制約条件を表す関数に関してほとんど制約がな
く、これらは連続でなくても構わない。
【0008】しかし、SAのアルゴリズムは、次の候補
の状態を受け入れるかどうかを決めるだけの基本的に単
純な操作の繰り返しなので、非常に時間がかかることが
多い。また、候補の状態を受け入れるかどうかは現在の
状態と候補の状態の間のエネルギー差に依存して決まる
ので、必ずしも受け入れられるとは限らない。候補の状
態が受け入れられないときシステムは現在の状態に留ま
るため、さらに収束が遅れることになる。つまり、SA
を用いれば最終的に良い解が得られるのだが、解を得る
までの時間が非常に長いという欠点がある。
【0009】そこで、SAの処理をより高速化するため
に、先願(特願平7−37222、シミュレーティド・
アニーリングによる次候補生成装置および方法)のよう
なアルゴリズムが考案された。以下、先願の技術につい
て説明する。
【0010】まず、先願で用いた詳細釣合条件(Detail
ed Balance) について説明する。マルコフ過程が唯一の
確率分布{P(x)}に収束するための必要条件が次式
に示す詳細釣合条件である。
【0011】 P(x)P(x→y)=P(y)P(y→x) ∀x,y …(1) ここで、P(x)は状態xが生じる確率を表し、P(x
→y)は状態xから状態yに移る遷移確率を表す。
(1)式の物理的な意味は、予定される定常状態では状
態xから状態yに移る流れと状態yから状態xに移る流
れが釣り合っているということである。
【0012】通常、SA等の手法では(1)式を満たす
ために、遷移確率P(x→y)を選択確率PC (x→
y)と受理確率PA (x→y)に分解して、 P(x→y)=PC (x→y)・PA (x→y) …(2) と表し、受理確率PA (x→y)の方で調整する方法を
とる。
【0013】例えば、状態xが生じる確率P(x)とし
て状態xのエネルギーE(x)と温度Tにより表される
ギブス(Gibbs )分布を用いると、(2)式より(1)
式の詳細釣合条件は次のように書き換えられる。
【0014】
【数1】
【0015】次に、詳細釣合条件の実現方法について述
べる。(3)式において、もし元のエネルギーE(x)
に対して、簡単な形での近似エネルギー関数を与えられ
れば、その近似エネルギー関数に対してハミルトン(Ha
milton)方程式を解くことにより、ある選択確率P
C (x→y)で次候補の状態yを選択することができ
る。
【0016】そこでまず、エネルギーE(x)の簡単な
形での近似エネルギー 外1 (以
【0017】
【外1】
【0018】下、Eバー(x)と記す)を与える。簡単
な形とは、基本的に計算量が少なくて済む形を意味す
る。この近似エネルギーEバー(x)は、必ずしも元の
エネルギーE(x)に非常に近いという意味で正確であ
る必要はない。例えば、多少不正確であっても、元のエ
ネルギーE(x)の一部のみを近似するといったもので
も構わない。もちろん、より正確であればそれに越した
ことはないが、通常正確さを求めると計算量が増えるこ
とが多いので、総合的なパフォーマンスを考慮して適当
なレベルの近似エネルギーを採用すべきである。
【0019】次に、状態xと状態yとの間の近似エネル
ギーの差{Eバー(y)−Eバー(x)}に応じて、選
択確率PC (x→y)が次式を満たすように次候補を選
択する。
【0020】
【数2】
【0021】このとき、(4)式のような選択確率PC
(x→y)が遷移確率P(x→y)および受理確率PA
(x→y)とともに(3)式の詳細釣合条件を満たすた
めには、受理確率PA (x→y)が次式を満たせばよ
い。
【0022】
【数3】
【0023】(5)式より、もし近似エネルギーの差
{Eバー(y)−Eバー(x)}が、ある程度元のエネ
ルギーの差{E(y)−E(x)}に近ければ、あるい
は一部を近似していれば、結果としてかなり受理確率P
A (x→y)を上げることが可能である。
【0024】一例として、ある状態xと状態yとの間の
遷移に関する受理確率PA (x→y)が次式で表される
とする。
【0025】
【数4】
【0026】すると、(6)式の受理確率PA (x→
y)は(5)式を満たしている。このとき、PA (y→
x)は常に1であり、近似エネルギーEバーの差が元の
エネルギーEの差に近ければ受理確率PA (x→y)も
1に近くなる。こうして、選択された次候補の受理確率
A (x→y)を1または1に近い値に保つことができ
る。(6)式に示した受理確率PA (x→y)は一例に
過ぎず、(5)式を満たすようなものであれば他の受理
確率PA (x→y)を用いても構わない。
【0027】要するに、この方法の本質は次のように表
現できる。まず、なるべくエネルギーE(x)を簡単な
形で近似、または予測し、近似エネルギー(予測エネル
ギー)の差{Eバー(y)−Eバー(x)}を確率で実
現するような選択確率PC (x→y)に従って次候補の
状態yを選択する。そして、近似エネルギー差{Eバー
(y)−Eバー(x)}と実際に観測されたエネルギー
差{E(y)−E(x)}を受理確率PA (x→y)で
清算する。
【0028】実際にこの方法をインプリメントする際に
は、近似エネルギーのエネルギー差{Eバー(y)−E
バー(x)}による選択確率PC (x→y)を実現する
ことが必要である。このような選択方法としては、ハイ
ブリッド・モンテカルロ(HMC)法(HYBRID MONTE C
ARLO, PHYSICS LETTERS B, Volume 195, number 2, p.2
16-222, 3 Sep. 1987 )で用いられた方法が使える。特
に、近似エネルギー関数が区分的線形(piecewise line
ar)な関数であれば、HMC法による計算は簡単にな
る。区分的線形な関数とは、状態空間の領域による分割
が存在してそのそれぞれの領域内で線形な関数である。
【0029】HMC法では、まず、初期モーメンタムと
して多次元ガウス分布から1つのベクトルをとってく
る。次に、最初の状態(座標)と初期モーメンタムを初
期条件として、エネルギー関数を位置エネルギーとする
ハミルトン方程式をある一定時間だけ積分する。そし
て、到達した座標を次候補の状態として選択する。
【0030】ここでは、ハミルトン方程式を解く(積分
する)ときに、元のエネルギー関数の代わりに近似エネ
ルギー関数Eバーを用いる。 外2 (以下、qハット
と記
【0031】
【外2】
【0032】す)を任意の次元の状態変数(座標)、
外3 (以下、pハットと記す)を状
【0033】
【外3】
【0034】態変数と同じ次元のモーメンタムベクトル
とすると、保存すべきハミルトニアン(Hamiltonian )
は次式で与えられる。
【0035】
【数5】
【0036】また、τを計算に用いる仮想的な時間とす
ると、積分すべきハミルトン方程式は次式で与えられ
る。
【0037】
【数6】
【0038】(9)式において、 外4 は状態変数と
同じ次元のナブラ(微分演算子を成分
【0039】
【外4】
【0040】とするベクトル)を表す。(7)式のハミ
ルトニアンは積分経路に沿って一定に保たれる。ここ
で、近似エネルギー関数Eバーが区分的線形であれば、
分割された1つの領域内で積分して得られる状態変数q
ハットの成分は時間τの2次曲線となる。この2次曲線
を領域の境界にぶつかるまで伸ばしていき、境界にぶつ
かったらその時の状態変数(座標)qハット、モーメン
タムベクトルpハット、および積分の残りの時間を記録
しておき、その状態変数(座標)qハットとモーメンタ
ムベクトルpハットを初期条件にして、隣の領域で再び
ハミルトン方程式を積分すればよい。その積分結果は再
び2次曲線になる。このような操作を一定時間τC の間
繰り返し、到達した点の状態変数qハットの値が表す状
態を次の状態の候補とする。各領域内では近似エネルギ
ー関数Eバーが状態変数qハットの線形関数であるた
め、(8)、(9)式の積分が容易に行え、次の候補の
選択が簡単になる。
【0041】図6は先願の次候補生成装置の第1の構成
を示す図であり、図7は次候補生成装置と図示されない
SAのシミュレーション装置またはプロセスとによる状
態遷移処理のフローチャートである。図6の次候補生成
装置11は連続的な状態変数の次候補を生成する装置で
あり、多次元ガウス分布発生部12、ハミルトン方程式
積分部13、近似エネルギー差計算部14、および近似
エネルギー関数微分発生部15を備える。
【0042】図7において処理が開始されると、まずユ
ーザ等の指示により変更する状態変数が指定される(ス
テップS1)。このとき、初期状態、積分時間、変更パ
ラメータ情報、および多次元ガウス分布パラメータが次
候補生成装置11に与えられる。変更パラメータ情報は
シミュレーションの対象システムを表すパラメータ(状
態変数)のうち指定されたものを示し、初期状態は状態
変数の現在の値を示す。また、多次元ガウス分布パラメ
ータは変更されるパラメータの次元を示し、例えば変更
パラメータ情報から得られる。積分時間はハミルトン方
程式を積分するのに用いる時間を示す。
【0043】次候補生成装置11の内部では次のように
処理が行われる。まず、多次元ガウス分布発生部12
が、多次元ガウス分布パラメータにより指定される次元
の多次元ガウス確率分布から1つのベクトルを発生し、
初期モーメンタムとして出力する(ステップS2)。近
似エネルギー関数微分発生部15は、状態変数の値を与
えられるとそれが表す座標における近似エネルギー関数
のグラディエント(gradient:関数の一階微分を成分と
するベクトル)を発生する。
【0044】ハミルトン方程式積分部13は、初期状態
と多次元ガウス分布発生部12からの初期モーメンタム
をそれぞれ状態変数qハットとモーメンタムベクトルp
ハットの初期値とし、近似エネルギー関数微分発生部1
5からのグラディエントを外5 (以下、グラディエン
トEバー(qハット)と記す)の値として用いなが
【0045】
【外5】
【0046】ら、(8)、(9)式のハミルトン方程式
を積分時間だけ積分する(ステップS3)。そして、積
分した結果を次候補の状態として出力する(ステップS
4)。近似エネルギー差計算部14は入力された初期状
態とハミルトン方程式積分部13が求めた次候補の状態
の間における近似エネルギー関数の値の差(近似エネル
ギー差)を計算する。
【0047】次候補生成装置11は、こうして最終的に
選んだ次候補の状態と計算した近似エネルギー差とを、
SAのシミュレーション装置またはプロセスに返す。次
候補の状態は、例えば状態変数の値が定義域を出てしま
っているなどの意味のない場合もあるが、その場合はS
Aのシミュレーション装置またはプロセス側でその次候
補の状態を破棄する。次候補の状態が破棄されても、詳
細釣合条件は満たされたままである。
【0048】特に、近似エネルギー関数Eバーとして区
分的線形な関数をとれば、グラディエントEバー(qハ
ット)が定数ベクトルになるために、(9)式より各領
域内でのモーメンタムベクトルpハットの成分は1次曲
線となり、さらに(8)式より各領域内での状態変数q
ハットの成分は2次曲線となる。したがって、比較的簡
単にハミルトン方程式を解くことができる。
【0049】ここで用いる近似エネルギー関数Eバーは
元のエネルギー関数Eでもよいが、大抵の場合、計算量
が増えるので元のエネルギー関数Eを採用することは少
ないと考えられる。また、近似エネルギー関数Eバーは
少なくとも1階微分可能である必要がある。しかし、微
分した結果は必ずしも連続でなくてもよく、ハミルト方
程式が解ける程度でよい。
【0050】SAのシミュレーション装置またはプロセ
スは、受け取った近似エネルギー差と次候補の状態とを
用いて、(5)式を満たすような方法でその次候補の状
態を受け入れるかどうかを決定する(ステップS5)。
次候補の状態を受理する場合は現在の状態を次候補の状
態に変更し(ステップS6)、受理しない場合は現在の
状態に留まる(ステップS7)。(5)式を満たす受理
確率を用いれば、近似エネルギーEバーの差と元のエネ
ルギーEの差が近いとき、次候補の状態を常に高い確率
で受け入れることが可能になる。したがって、生成され
た次候補の状態が破棄されることが少なく、処理の高速
化が図られる。
【0051】このような受理確率PA (x→y)を実現
するには、例えばメトロポリス法を用いて次のようにす
ればよい。状態xから状態yへの遷移については、まず
初期状態xと次候補の状態yの間の元のエネルギー差
{E(y)−E(x)}を計算する。そして、受け取っ
た近似エネルギー差を{Eバー(y)−Eバー(x)}
とし、0から1までの一様乱数を発生してそれをrとす
る。ここで、A≡ exp〔−({E(y)−E(x)}−
{Eバー(y)−Eバー(x)})/T〕rなら次候
補の状態を受理し、A<rなら現在の状態に留まる。
【0052】このとき、{E(y)−E(x)}−{E
バー(y)−Eバー(x)}0と仮定すると、0<A
1となる。したがって、状態yを受理する確率は受理
関数A以下の値を持つ乱数rが発生する確率に等しく、
A (x→y)=A/1= exp〔−({E(y)−E
(x)}−{Eバー(y)−Eバー(x)})/T〕と
なる。また、状態yから状態xへの遷移については、受
理関数Aの定義式の中の状態xと状態とyが入れ代わる
ので、Arとなる。したがって、乱数rの値によ
らずに常に状態xを受理することになり、PA (y→
x)=1となる。こうして、(6)式の受理確率P
A (x→y)が実現され、これは(5)式を満たしてい
る。
【0053】この方法は受理するかどうかを決定する方
法の一例に過ぎず、(5)式を満たすのであれば、他の
受理方法を用いてもよい。次に、SAのシミュレーショ
ン装置またはプロセスは、処理を終了するかどうかを判
定する(ステップS8)。次の状態遷移を行うのであれ
ばステップS1以降の処理を繰り返し、そうでなければ
処理を終了する。
【0054】連続的な状態を対象とする第1の構成は、
例えば、画像復元処理に応用することができる。画像復
元処理とは、ノイズの乗った画像データから元の画像を
復元する処理である。画像復元問題にSAを適用した例
としては、S. Geman and D.Geman の論文が知られてい
る(S. Geman and D. Geman, Stochastic relaxation,G
ibbs distribution, and the Bayesian restoration of
images, IEEE Transactions on Pattern Analysis and
Machine Intelligence PAMI-6, No. 6, 1984,pp. 721-
742 )。
【0055】画像復元処理においては、グレーレベルで
表された各画素の値(ある範囲の実数値)と、隣接する
画素との間にある離散的な量(0あるいは1)であるラ
インプロセスとが状態変数に相当する。ラインプロセス
はその値が1であるとき、その画素と隣接する画素との
間に切れ目があること、あるいは輪郭線があることを表
す。
【0056】また、エネルギー関数は次の3つの部分か
ら成る。1つは各画素の値と与えられたノイズの乗った
画像の対応する画素との違いを表す部分である。もう1
つは各画素の値と隣接する画素の値との違いを表す部分
である。もし、隣接する画素との間にあるラインプロセ
スの値が1ならば、その画素の値と隣接する画素の値と
がいくら異なってもエネルギーは増えない。もし、隣接
する画素との間にあるラインプロセスの値が0ならば、
その画素の値と隣接する画素の値とが異なるほどエネル
ギーが増える。
【0057】もう1つはラインプロセス自身の性質から
得られるエネルギーである。ラインプロセスは輪郭線の
一部を表すと考えられるので、ラインプロセスの値の列
が交わったりすることはあまり起こらない。したがっ
て、このようなことが起こるとエネルギーは非常に大き
くなる。また、ラインプロセスの値の列が曲がることも
あまりないので、このような場合にもエネルギーは比較
的大きくなる。
【0058】このようなエネルギー関数を用いて、状態
変数のうち連続的な量である画素の値の次候補を第1の
構成の次候補生成装置11により決定し、最終的に元の
画像を復元することができる。離散的な状態変数のライ
ンプロセスについては、通常のメトロポリス法または後
述する第2の構成の次候補生成装置により、次候補の値
を決定する。
【0059】図8は、次候補生成装置の第2の構成を示
している。図8の次候補生成装置21は離散的(discre
te)な状態の次候補を生成する装置であり、図6の多次
元ガウス分布発生部12、ハミルトン方程式積分部1
3、近似エネルギー差計算部14、近似エネルギー関数
微分発生部15に加えて、有限次元ユークリッド空間対
応設定部22、領域確率分布発生部23、領域確率密度
比計算部24、および定義域復帰部25をさらに備え
る。
【0060】領域確率分布発生部23は、入力された初
期状態に対応する有限次元ユークリッド空間内の領域に
与えられている確率分布に従って、その領域内の1点を
発生し、その座標をハミルトン方程式積分部13、近似
エネルギー差計算部14、および領域確率密度比計算部
24に与える。有限次元ユークリッド空間対応設定部2
2は、変更パラメータ情報を基にして、変更するパラメ
ータが有限次元ユークリッド空間のどの次元に相当する
かをハミルトン方程式積分部13に出力する。
【0061】ハミルトン方程式積分部13は、領域確率
分布発生部23が発生した点の座標を状態変数qハット
の初期値として、第1の構成と同様にして(8)、
(9)式のハミルトン方程式を積分時間だけ積分する。
そして、到達した点の座標を近似エネルギー差計算部1
4、領域確率密度比計算部24、および定義域復帰部2
5に出力する。近似エネルギー差計算部14は初期状態
に対応する点とハミルトン方程式積分部13が求めた点
の間における近似エネルギー差を計算する。
【0062】領域確率密度比計算部24は、有限次元ユ
ークリッド空間内の2点が与えられたとき、それらの点
が属する領域内におけるそれぞれの点の確率密度の比を
計算して出力する。より詳しくは、ハミルトン方程式の
積分経路の出発点と到達点に対し、領域内におけるそれ
ぞれの点の確率密度の比を計算する。確率密度を計算す
る領域は、点によって異なる可能性がある。この確率密
度の比は、次候補の状態を受け入れるかどうかを決める
際に詳細釣合条件を満たすための修正項として出力され
る。定義域復帰部25は、与えられた有限次元ユークリ
ッド空間内の1点に対応する状態変数の定義域内の点を
求め、次候補の状態として出力する。
【0063】図示されないSAのシミュレーション装置
またはプロセスは、次候補生成装置21が出力する近似
エネルギー差と詳細釣合条件修正項とを用いて、生成さ
れた次候補の状態を受理するかどうかを決定する。
【0064】第1および第2の構成において、近似エネ
ルギーEバーに関しては、変化させる状態変数(対象)
とそれ以外の変化させない状態変数の値の組を1つ決め
たときに矛盾なく(consistentに)決まるように定義さ
れていればよい。つまり、近似エネルギーEバーは必ず
しもグローバルに定義されている必要はない。例えば、
ある状態変数を変化させるときにはある近似エネルギー
Eバーの定義を用い、別の状態変数を変化させるときに
は他の近似エネルギーEバーの定義を用いてもよい。こ
れは、近似エネルギーEバーがそれぞれの状態変数の次
の候補を選択する度に、選択確率PC (x→y)を生成
する道具として用いられるだけであるからである。
【0065】次に、図9から図14までを参照しなが
ら、第2の構成の次候補生成装置をVLSIの配置問題
へ適用する例について説明する。VLSI配置問題は、
VLSIを設計する際、長方形のセル配置領域にセルを
どのように配置するかを決定する問題である。
【0066】現在、VLSI配置問題のSA処理に使わ
れているエネルギーは、例えばルーティング(routing
)、オーバラッピング(overlapping )、ネット混雑
度(net congestion)、ピン混雑度(pin congestio
n)、およびタイミング・ドリブン(timing driven )
の5種類のエネルギーの和から成っている。VLSIの
中の1つのセルの位置を移動させる度に、これらのエネ
ルギーは個別に増減する。
【0067】配線長により決まるルーティングのエネル
ギーの計算方法として、ハーフ・ペリメータ(half per
imeter)の方法を使っていれば、ルーティングのエネル
ギー自体が区分的線形なので、それをそのまま近似エネ
ルギーとして用いても計算量的に問題はない。ハーフ・
ペリメータの方法とは、あるネットに含まれるピンの位
置をすべて含むような最小の長方形の周長の半分を、そ
のネットの配線長とする方法である。
【0068】オーバラッピング、ネット混雑度、ピン混
雑度等に関しては一定のエポック毎にある程度の大きさ
の領域に関して平均した量を記録して、それを適当に区
分的線形な関数に変換したものを近似エネルギーとして
使うのがよいと考えられる。しかしこれらの混雑度に関
しては、セルを元の場所から抜き出すことによりその領
域のエネルギーが減ることを考慮に入れなくてはならな
い。
【0069】混雑度の近似エネルギーの表現について
は、例えば1つの基本セル(basic cell)単位くらいで
元のエネルギーを計算して、それらの値を頂点とした直
角三角形の領域、あるいは長方形の領域内で区分的線形
な関数を使えばよい。各行、各列ごとにそれらの混雑度
を計算し、ある点での混雑度をその点が属する行と列の
混雑度の和として定義するなら、長方形の領域を単位と
して使うことができる。
【0070】図9は、VLSI配置装置の構成図を示し
ている。図9のVLSI配置装置31は、図8の次候補
生成装置21に加えて、セル選択部32、セル状態読出
部33、多次元ガウス分布パラメータ設定部34、積分
時間設定部35、セル状態記憶部36、セル状態変更部
37、および受理決定部38を備える。
【0071】セル選択部32は次に動かすセルを選択
し、その選択結果を変更パラメータ情報として次候補生
成装置21に渡す。セル状態読出部32はセル選択部3
2から動かすセルを知らされると、セルの状態を記憶し
ているセル状態記憶部36から動かすセルの現在の状態
を読み出す。そして、読み出した状態を初期状態として
次候補発生装置21に渡す。
【0072】多次元ガウス分布パラメータ設定部34と
積分時間設定部35は、それぞれ多次元ガウス分布と積
分時間を次候補生成装置21に渡す。受理決定部38
は、次候補生成装置21の出力である次候補の状態、近
似エネルギー差、および詳細釣合条件修正項を受け取っ
て、次候補の状態を受理するかどうかを決定する。次候
補の状態を受理する場合には、セル状態変更部37がそ
れに従ってセル状態記憶部36内の対応するセルの状態
を書き換える。そして、以上の処理が一巡すると、セル
選択部32が再びどのセルを動かすかを決める。
【0073】上述の状態遷移処理を実際にVLSI配置
問題に適用する際には、まずルーティングのエネルギー
に関して適用するのが妥当だと思われるので、以下では
その例について説明する。
【0074】VLSI配置問題においてエネルギーを決
定する状態変数はあるセルを配置する位置であり、チッ
プ上で離散的に定義される。しかし、あるセルを置く位
置を基本セルに対応する領域内の特定の点で代表させる
と、詳細釣合条件を満たさなくなる。なぜなら、その特
定の点を始点としてハミルトン方程式を積分した結果到
達した点が、いずれかの基本セルに対応しているという
保証はないからである。
【0075】この問題を解決するために、次候補生成装
置21は、まずチップ上の全ての領域を対応する基本セ
ルの領域として分割する。あるセルが選ばれた際に、そ
のセルが置いてある基本セルの領域をとり、その領域上
の確率分布に従って1点をとる。その点からハミルトン
方程式を積分して到達した点を領域に含む基本セルをセ
ルの移動先の候補とする。そして、2点間の確率密度の
比を詳細釣合条件修正項として出力する。受理決定部3
8は、詳細釣合条件修正項を用いて修正した受理方法に
より、次候補の状態を受理するかどうかを決定する。こ
のような選び方をすることにより、結果として詳細釣合
条件を満たしながら、離散的な状態変数を扱うことが可
能になる。
【0076】もう1つの問題は、ルーティングのエネル
ギーがセルの回転状態によって変わってしまうことであ
る。現在の配置プログラムでは、セル内の1つの論理的
なピン(論理設計における仮想的なピン)の座標とし
て、その論理的なピンに対応する複数の等電位のピンの
座標の平均値を用いている。等電位の複数のピンの位置
はセルの回転により変化するので、論理的なピンの座標
は回転不変ではない。したがって、論理的なピン間の配
線長に依存するルーティングのエネルギーもまた回転不
変ではない。
【0077】この問題を解決する1つの方法は、全ての
ピンの座標はセルの中心にあると仮定することである。
ハミルトン方程式の積分の際に用いる近似エネルギーは
この仮定の基に計算されるものとする。また、セルは初
期状態と同じ向きを保ったまま平行移動していき、移動
の際に回転はないものとする。そして、最終的に候補の
位置についた時点で、その位置の基本セルの形の中に置
けるように、回転も含めた置き方を考える。ここではセ
ルの向きを保つようにするので、必ずしも候補の位置に
セルの原点が置かれるとは限らない。また、移動前と移
動後では同じ基本セルの形の中に置ける置き方の数が異
なる場合がある。その場合には、詳細釣合条件を満たす
ために、例えば受理確率などでそれらの場合の数を補償
する。
【0078】図10および図11は、ルーティングのエ
ネルギーを近似エネルギーとして用いた場合のVLSI
配置処理のフローチャートである。図10において処理
が開始されると、まずセル選択部32が状態を変化させ
るセルを指定する(ステップS11)。ここで、指定さ
れたセルが移動の対象となる。次に、あらかじめ決めら
れた方法に従って、そのセルに対する近似エネルギー関
数と、離散的なセルの位置に対応付けられたユークリッ
ド空間内の領域(メッシュ)を作成する(ステップS1
2)。
【0079】近似エネルギー関数とメッシュは移動させ
るセルが指定されると決まるので、セル選択部32が作
成して次候補生成装置21に入力してもよく、ユーザが
作成してVLSI配置装置31に入力してもよい。ある
いはまた、変更パラメータ情報を基にして次候補生成装
置21内で作成する構成としてもよい。
【0080】ここで、ルーティングに関する近似エネル
ギー関数の計算方法と、その計算の基礎になりハミルト
ン方程式を積分する際の単位になるメッシュを作成する
方法について詳しく説明する。近似エネルギー関数とメ
ッシュはセルを1つ固定する毎に決定される。
【0081】ルーティングのエネルギーは前述のハーフ
・ペリメータの方法により計算される。このとき、セル
の回転の影響をなくすために各ピンの座標はそのピンを
持つセルの中心にあるものとする。一般に、1つのセル
は複数の異なるネットに接続される複数のピンを持って
いるので、指定されたセルに接続されるあるネットを指
定する。そのセルの座標に対する指定されたネットのル
ーティングの量(配線長)は、そのネットに含まれるピ
ンのうち、そのセルのピン以外の他のピンの座標の最大
値および最小値と、そのセルのピンの座標との関係で決
まる。例えば、そのセルの中心の座標が他のピンの座標
の最大値、最小値で囲まれる範囲に入っている限り、ル
ーティングの量は一定である。このルーティングの量を
近似エネルギーとして用いる。
【0082】具体的には、まず指定されたセルに接続す
るネット毎に、そのネットの中の他のピンのx座標とy
座標の最大値および最小値を求める。この際、以下のよ
うなことに注意する必要がある。 (1)対象のセルの複数のピンがネットに含まれること
がある。この場合は、それらのピンを除く他のピンの座
標の最大値、最小値を求める必要がある。 (2)ピンの座標は、そのピンのあるセルの中心にある
ものとする。
【0083】あるネットに対するルーティングのエネル
ギーは、得られた最大値、最小値を境界とする図12の
ような区分的線形な関数になる。図12に示された曲面
上の点のxy座標が移動させるセルの中心の座標を表
し、z座標がその位置にセルを配置したときのルーティ
ングのエネルギーを表す。図12において、最もエネル
ギーの低い矩形領域が、対象とするあるネットの他のピ
ンの分布領域、つまり、それらの他のピンを含む最小の
矩形領域に対応する。
【0084】このような矩形領域は対象とするセルに接
続されるネット毎に存在し、最終的な近似エネルギー関
数は、そのセルに接続しているすべてのネットに対する
ルーティングのエネルギーの和をとったものである。し
たがって、最終的な近似エネルギー関数もまた区分的線
形な関数になる。
【0085】また、それぞれの矩形領域の辺を両側に延
長してできる直線により区切られてできる小領域が図1
2のようなメッシュとなる。言い換えれば、1つのセル
に接続されるそれぞれのネット毎にそのセルのピン以外
のピンのx座標、y座標の最大値、最小値を求め、得ら
れた最大値、最小値のすべてを境界とするメッシュを作
成する。作成されたメッシュの小領域の中では、近似エ
ネルギー関数は線形である。
【0086】次に、例えばセル選択部32が、ステップ
S11で指定されたセルの形の中にそのセルを置く置き
方の数を、セルの回転等を考慮して数える(ステップS
13)。そして、次候補生成装置21内の領域確率分布
発生部23は、そのセルの原点が置かれている基本セル
に対応するユークリッド空間の領域内の一様確率分布に
従って、その領域内の1点を初期位置 外6 (以下、
s ハットと記す)と
【0087】
【外6】
【0088】してとってくる(ステップS14)。ま
た、多次元ガウス分布発生部12は、多次元ガウス分布
から1つのベクトルを初期モーメンタム 外7 (以
下、ps
【0089】
【外7】
【0090】ットと記す)としてとってくる(ステップ
S15)。次に、ハミルトン方程式積分部13は、初期
位置qs ハットと初期モーメンタムps ハットとを初期
条件として、近似エネルギー関数を位置エネルギーとす
るハミルトン方程式を積分時間だけ積分する(ステップ
S16)。そして、到達した点の位置、モーメンタムを
e ハット、pe ハットとする。このとき、近似エネル
ギー関数微分発生部15は、ステップS12で作成され
た近似エネルギー関数からグラディエントEバーを生成
して、ハミルトン方程式積分部13に入力する。
【0091】ここで、メッシュを用いたハミルトン方程
式の積分方法を詳しく説明する。図13は、ハミルトン
方程式の積分経路の例を示している。図13において、
x軸方向、y軸方向の各直線はメッシュの境界を表す。
境界としては、前述したように、ピンの座標の最大値、
最小値を用いているので、メッシュの幅は一般には一様
ではない。
【0092】いま、初期位置qs ハットがメッシュM0
内に入ったとし、積分時間設定部35から与えられた積
分時間をτI とする。メッシュM0 内ではグラディエン
トEバーは一定なので、その値を(グラディエントEバ
ー)0 とすると、メッシュM 0 内で(8)、(9)式は
次のように解ける。
【0093】
【数7】
【0094】(10)式の解は単純なτの2次曲線を表
している。特に、(グラディエントEバー)0 =0のと
きは1次曲線、すなわち直線となる。まず、この2次曲
線とメッシュの境界線との交点とその交点に達するまで
の時間を計算する。最初に到達する交点の位置をq1
ットとし、交点の位置q1 ハットに到達するまでの時間
をτ0 とする。
【0095】ここで、τ I τ0 の場合は、次式のよう
に、到達した点の位置qe ハットおよびモーメンタムp
e ハットを与えてハミルトン方程式の積分を終る。
【0096】
【数8】
【0097】また、τI >τ0 の場合は、まず次式のよ
うに交点q1 ハット、p1 ハットを与える。
【0098】
【数9】
【0099】次にτI をτ1 =τI −τ0 に置き換え、
交点q1 ハットを含む辺を境界としてメッシュM0 に接
しているメッシュをメッシュM1 とする。そして、メッ
シュM0 内で初期位置qs ハット、初期モーメンタムp
s ハットを初期条件とし、τ I を残り時間としてハミル
トン方程式を積分したのと同様にして、メッシュM1
で交点q1 ハット、p1 ハットを初期条件とし、τ1
残り時間としてハミルトン方程式を積分する。
【0100】このような操作を最終的に残り時間がなく
なるまで、メッシュからメッシュへ次々と移りながら繰
り返していけばよい。このとき、メッシュの境界では、
交点の位置、交点におけるモーメンタム、および積分の
残り時間の3つが次のメッシュ内の積分処理に渡され
る。図9では、メッシュM1 とメッシュM2 の境界上の
交点がq2 ハット、そこでのモーメンタムがp2 ハット
となり、メッシュM2 とメッシュM3 の境界上の交点が
3 ハット、そこでのモーメンタムがp3 ハットとなっ
ている。そして、メッシュM3 内の点qe ハットに達し
たときに残り時間が0となっている。
【0101】この方法によれば、積分経路を逆にたどる
と初期位置に戻る。例えば、最終的なハミルトン方程式
の積分結果である(qe ハット、pe ハット)のモーメ
ンタムの符号だけ変えた組(qe ハット、−pe ハッ
ト)を初期条件としてハミルトン方程式を時間τI だけ
積分すると結果は(qs ハット、−ps ハット)とな
る。
【0102】次に、定義域復帰部25がこうして得られ
た到達位置qe ハットを含む領域に対応する基本セルを
選び、次候補の位置として出力する(ステップS1
7)。そして、例えば受理決定部38がその候補の位置
に元のセルの形を平行移動して得られる形の中に、その
セルを置く置き方の数を数え(図11、ステップS1
8)、互いに等しい確率でそのうちの1つの置き方を選
択する(ステップS19)。
【0103】次に受理決定部38は、詳細釣合条件を満
たし、元の位置と候補の位置での置き方の数を補償する
受理確率を実現する方法、例えばメトロポリス法を用い
て、その候補の位置を受理するかどうかを決定する(ス
テップS20、S21)。このとき、詳細釣合条件を成
立させるために、近似エネルギー差と詳細釣合条件修正
項が用いられる。
【0104】次候補を受理するならば、セル状態変更部
37がセル状態記憶部36内のそのセルの位置を次候補
の位置に移して、選択された回転状態(向き)とし(ス
テップS22)、受理しないならばそのセルを元の状態
のままとする(ステップS23)。
【0105】次に、セル選択部32は処理を終了するか
どうかを判定する(ステップS24)。次の状態遷移を
行うのであればステップS11以降の処理を繰り返し、
そうでなければ処理を終了する。
【0106】以上説明したように、移動させる1つのセ
ルを決めると、その移動先の候補の計算のために準備す
ることが多いので、同じセルに対して複数回移動を試み
るとかなり効率的になる可能性がある。ただし、この場
合移動を試みる回数をあらかじめ固定しておく必要があ
る。
【0107】ステップS12では、近似エネルギー関数
のメッシュの境界は必ずしもチップ上の基本セルの境界
と一致していないが、これを基本セルの単位、あるいは
その辺の半分の単位に合わせてしまうことにより、基本
セル単位あるいは半基本セル単位のメッシュを作成する
ことも可能である。例えば、チップ上にセルを置くこと
のできない基本セルの領域がある場合は、基本セルの境
界もメッシュの境界に含めておくことで対応が容易にな
る。
【0108】図14は、セルを置くことができない基本
セルの領域の例を示している。図14においては、メッ
シュの境界が基本セルに対応する領域の境界と一致して
いるものとする。ステップS16のハミルトン方程式の
積分において、例えばメッシュMA 内の積分経路が交点
B ハットに達し、そのときのモーメンタムをpB ハッ
トとする。しかし、交点qB ハットを含む辺を境界とし
て接しているメッシュMBに対応する基本セルには、そ
のセルを置くことができない。
【0109】ここでメッシュMB を無視することにする
と、まず、交点qB ハットを含む辺に垂直な方向に、セ
ルを置くことのできる基本セルが現れるまで探してい
く。図14では、メッシュMC に対応する基本セルにそ
のセルを置くことができる。そこで、交点qB ハットを
メッシュMC にぶつかるまで水平方向に平行移動して、
ぶつかった点をqC ハットとする。点qC ハットにおけ
るモーメンタムpC ハットは、その向きは交点pB ハッ
トと同じで、大きさは次式が成立するようにとる。
【0110】
【数10】
【0111】この後は、メッシュMC からメッシュMD
へと通常通り積分経路を伸ばしていけばよい。このよう
にすれば、詳細釣合条件を満たしたままセルを置けない
基本セルを無視することができる。ただし、
【0112】
【数11】
【0113】となる場合には、どのようにモーメンタム
C ハットを選んでも(16)式を満たすことはできな
い。そこで、例えばその場で反射してしまうようにする
方法がある。すなわち点qC ハット、モーメンタムpC
ハットの代わりに点qB ハット、モーメンタム−pB
ットをとって、同様に積分経路を伸ばしていく。あるい
は、メッシュMB とメッシュMC の境界を鏡のように考
えて、経路を反射させる方法も考えられる。
【0114】図14のような場合に、セルを置けない基
本セルを無視しないことももちろん可能である。この場
合は、どのメッシュ内でも同じように積分経路を延長し
ていき、最終的に到達した点に対応する基本セルにその
セルを置けなければ、その位置の採用をあきらめる。そ
のセルに関して次候補の生成をもう一度やり直してもよ
いし、新しいセルに切り替えてもよい。
【0115】チップの端における配置処理には次のよう
な2通りの方法がある。1つの方法は、積分経路がチッ
プの端を越えてしまっても構わず計算する方法である。
チップの外では(9)式の右辺の−(グラディエントE
バー)はチップの内側を向いているので、途中の経路が
チップの外に出てしまっても、最終的に到達する場所が
チップ内に終わる可能性が高いと考えられる。もう1つ
の方法は、積分経路がチップの端を越えた時点でそれ以
上の処理を止めてしまう方法である。
【0116】前者の方法では、最終的に到達した場所が
チップの外である場合にそのセルに関する処理を止め、
後者の方法では、積分経路がチップの端を越えたらその
セルに関する処理を止めることになる。
【0117】以上の説明では、初期モーメンタムps
ットを選ぶために用いる多次元ガウス分布の分散を1と
したが、より一般的な分布を用いることもできる。例え
ば、2次元の座標qハット=(qx ,qy )に対するモ
ーメンタムpハット=(px,py )を選ぶために、次
式のような密度関数を持つ多次元正規分布を用いた場合
を考える。
【0118】
【数12】
【0119】ただし、σx 、σy はそれぞれx、y方向
の分散である。ここで、
【0120】
【数13】
【0121】のような変数変換を行い、p′ハットで確
率分布を表すと次のような標準正規分布となる。
【0122】
【数14】
【0123】また、変換後のq′ハット、p′ハットに
対して温度Tも含んだ場合のハミルトニアンは次式のよ
うになる。
【0124】
【数15】
【0125】このとき、q′ハット、p′ハットに関す
るハミルトン方程式は次のようになる。
【0126】
【数16】
【0127】したがって、座標qハットに関する運動方
程式は、
【0128】
【数17】
【0129】となる。(26)式を見ると、温度Tが大
きくなるほど位置エネルギーEバーのグラディエントの
影響が小さくなり、分散σx 、σy が大きくなるほどそ
のグラディエントの影響が大きくなることがわかる。分
散σx 、σy が大きくなるほど、同じモーメンタムpハ
ットの運動エネルギーとしての評価が小さくなるので、
(26)式の結果は通常の直観的な推論とも合致する。
【0130】VLSI配置処理において温度や分散が具
体的に関係してくるのは、セルを置けない基本セルを無
視する場合である。この場合には運動エネルギーや位置
エネルギーが変わってくるので、例えば(16)式の代
わりに、
【0131】
【数18】
【0132】を用いて、メッシュMB を飛ばす必要があ
る。ただし、(27)式において、p B ′ハット、
C ′ハットは、それぞれpB ハット、pC ハットに
(19)式と同様の変換を施したものである。
【0133】次に、VLSI配置処理の具体例について
説明する。セルの座標は例えば離散的な2つの整数の組
で表されるが、セルをある座標に置いたときのセルの原
点の位置のxy座標を基にして、一つのセルの状態を2
次元ユークリッド空間に埋め込むことができる。VLS
Iのチップ全体の状態としては、各セル毎の2次元ユー
クリッド空間をすべて合わせた有限次元ユークリッド空
間に埋め込むことができる。
【0134】VLSIチップの各状態に対応する有限次
元ユークリッド空間の領域は、次のように決められる。
簡単のために各セル毎の2次元ユークリッド空間に限定
する。更にそのセルの離散的な座標値は、それぞれの軸
が自然数N={1,2,・・・}で表され、実数Rの一
部として埋め込まれたとする。このとき、例えばセルの
座標(2,5)に対応する基本セルの領域は〔1.5,
2.5)×〔4.5,5.5)と定義する。また、それ
ぞれの領域にはあらかじめ確率分布を与えておく。
【0135】セル選択部32は動かすセルを選択し、そ
のセルに対応する座標を変更されるべきパラメータとす
る変更パラメータ情報を次候補生成装置21に与える。
セル状態読出部33は、選択されたセルを含むすべての
セルの座標をセル状態記憶部36から読み出し、初期状
態として次候補発生装置21に渡す。多次元ガウス分布
パラメータ設定部34は多次元ガウス分布パラメータ
を、また積分時間設定部35は積分時間をそれぞれ次候
補発生装置21に与える。この場合、多次元ガウス分布
パラメータは2つの正の実数の組となる。選択されたセ
ルの元の座標を(2,5)とすると、領域確率分布発生
部23はセルの座標(2,5)に対応する領域〔1.
5,2.5)×〔4.5,5.5)に与えられている確
率分布に従って、その領域内の1つの点をとってくる。
この点を仮に(1.89,5.32)とする。
【0136】この点を初期位置とし、多次元ガウス分布
発生部12が多次元ガウス分布パラメータを基にして発
生したベクトルを初期モーメンタムとして、ハミルトン
方程式の積分が行われる。その結果、得られた到達点を
(3.45,6.98)とする。定義域復帰部25は、
到達点(3.45,6.98)に対応する基本セルの領
域〔2.5,3.5)×〔6.5,7.5)から、整数
の座標である(3,7)を次候補の位置として出力す
る。
【0137】一方で、領域確率密度比計算部24は
(1.89,5.32)と(3.45,6.98)の2
つの点における確率密度の比を計算して、詳細釣合条件
修正項として出力する。それぞれの領域で一様確率分布
が与えられた場合は、ルベーク測度に対する確率密度関
数はどこでも1となり一定となる。この場合には、領域
確率密度比計算部24が出力する確率密度の比はいつで
も1になる。
【0138】受理決定部38は、詳細釣合条件修正項を
用いて次候補の位置を受理するかどうかを決定する。こ
こで、次候補を受け入れるかどうかの決定にメトロポリ
ス法を用いたとする。初期位置をqs ハット、次候補の
位置をqe ハット、点qs ハットでのセルの回転状態を
s 、点qe ハットでのセルの回転状態をRe 、点q s
ハットでの可能な回転状態の数をrs 、点qe ハットで
の可能な回転状態の数をre とすると、回転状態Rs
e が選ばれる確率はそれぞれ1/rs 、1/re とな
る。さらに、点qs ハットに対応してとられた点を
s ′ハット、点q e ハットに対応している点をqe
ハット、元のエネルギー関数をE、近似エネルギー関数
をEバー、点qs ′ハットでの確率密度をp(qs ′ハ
ット)、点q e ′ハットでの確率密度をp(qe ′ハッ
ト)、温度パラメータをTとする。このとき、受理決定
部38は次式の値A′を計算する。
【0139】
【数19】
【0140】また、0から1までの一様乱数を発生しそ
れをrとする。ここで、A′rなら次候補の位置を受
理し、A′<rなら受理しない。(28)式において、
エネルギー関数Eは離散的なセルの座標の関数であるの
に対して、近似エネルギー関数Eバーは有限次元ユーク
リッド空間の連続的な座標の関数である。近似エネルギ
ー差Eバー(qe ′ハット)−Eバー(qs ′ハット)
と詳細釣合条件修正項p(qe ′ハット)/p(qs
ハット)は、次候補生成装置21から与えられる。特
に、一様確率分布が与えられた場合はp(q e ′ハッ
ト)/p(qs ′ハット)=1となるため、詳細釣合条
件修正項はA′の値に影響を与えない。
【0141】セル状態変更部37は、受理決定部38が
次候補の位置を受理したときセル状態記憶部36内の該
当するセルの状態を更新し、受理しなかったときは元の
状態に留める。
【0142】VLSI配置問題の場合、移動させるセル
の座標が変化させる状態変数に相当し、それ以外の他の
セルの座標の組が変化させない状態変数の組となる。対
象のセルを動かす間はある1つの近似エネルギー関数E
バーの定義に従う必要があるが、改めて別のセルを動か
すときは別の近似エネルギー関数Eバーを定義して用い
ることができる。したがって、近似エネルギー関数Eバ
ーは、すべての状態変数に関して必ずしもグローバルに
定義されている必要はない。
【0143】以上、第2の構成の次候補生成装置21を
VLSI配置問題に適用する例について説明したが、こ
の装置は、連続的あるいは離散的な状態変数とエネルギ
ー関数を定義することのできるあらゆる問題に適用可能
である。
【0144】例えば、節点と枝から成るグラフを分割す
る問題であるグラフ分割問題(Johnson et al. OPTIMIZ
ATION BY SIMULATED ANNEALING: AN EXPERIMENTAL EVAL
UATION; PARTI, GRAPH PARTITIONING, Operations Rese
arch, Vol. 37, No. 6, 1989, pp. 865-892 )や、グラ
フを色分けする問題であるグラフ色づけ問題(Johnson
et al. OPTIMIZATION BY SIMULATED ANNEALING: AN EXP
ERIMENTAL EVALUATION; PARTII, GRAPH COLORING AND N
UMBER PARTITIONING, Operations Research, Vol. 39,
No. 3, 1991, pp. 378-406)に適用できる。グラフ分割
問題は回路設計等に応用することができ、グラフ色づけ
問題はスケジューリングに応用することができる。ま
た、生産計画問題(湯上、原、Simulated Annealing に
よる大規模生産計画問題の解法、人工知能90−8、p
p. 61-69 )にも適用できる。生産計画問題において
は、例えばある機械がある日に生産する製品の種類を状
態変数として、製品の生産不足量をエネルギーとすれば
よい。
【0145】図15は、次候補生成装置およびVLSI
配置装置のシステム構成例を示している。図15のシス
テムは、中央処理装置(CPU)41、メモリ42、入
出力装置43、およびそれらを接続する共通バス44を
備える。
【0146】CPU41はメモリ42に格納されたプロ
グラムを実行することにより、多次元ガウス分布発生部
12、ハミルトン方程式積分部13、近似エネルギー差
計算部14、近似エネルギー関数微分発生部15、有限
次元ユークリッド空間対応設定部22、領域確率分布発
生部23、領域確率密度比計算部24、定義域復帰部2
5、セル選択部32、セル状態読出部33、多次元ガウ
ス分布パラメータ設定部34、積分時間設定部35、セ
ル状態変更部37、受理決定部38等の各機能を実現す
る。
【0147】また、メモリ42はさらにセル状態記憶部
36等の役割を果たし、入出力装置43はメモリ42へ
のデータの格納や処理結果の出力に用いられる。以上説
明したように、SAの次候補の選択方法を工夫すること
により次候補の受理確率を向上させることができ、様々
な最適化問題の処理を高速化することが可能になる。
【0148】次に、従来の温度並列シュミレーティド・
アニール法について説明する。通常の逐次シュミレーテ
ィド・アニール法では、温度スケジュールに従って温度
Tを単調減少させる。一方、温度並列シュミレーティド
・アニール法では、それぞれ相異なる温度を担当するプ
ロセッサに異なる初期解を与え、それぞれ一定温度の下
で同時並列的にアニーリング処理を行う。このとき、逐
次シュミレーティド・アニール法で温度Tから温度T′
に冷却することは、温度並列シュミレーティド・アニー
ル法では、図16に示すように、温度Tを担当するプロ
セッサと温度T′を担当するプロセッサとの間で解を交
換することに相当する。
【0149】また、逐次シュミレーティド・アニール法
で温度スケジュールを設定することは、温度並列シュミ
レーティド・アニール法では、プロセッサ間で解の交換
をいつ行うかを指定することに相当する。そこで、プロ
セッサ間での解の交換を確率的に行わせて温度スケジュ
ールを自動化し、固定的な温度スケジュールを不要にし
ている。
【0150】このプロセッサ間で行う解交換の確率は、
以下のように決定される。まず、解の交換確率を(2
9)式のように定める。 (T−T′)(E−E′)<0⇒p(T,E,T′,E′)=1 ・・・(29) ここで、p(T,E,T′,E′)は、温度Tを担当す
るプロセッサが評価関数値Eの解を持ち、温度T′を担
当するプロセッサが評価関数値E′の解を持つとき、そ
れらのプロセッサ間での解の交換確率を示す。
【0151】(29)式は、解交換時に高い方の温度を
担当するプロセッサの持つ解が、低い方の温度を担当す
るプロセッサの持つ解よりも良質である場合、すなわ
ち、評価関数値が小さい場合は無条件に解の交換が行わ
れることを示している。
【0152】次に、(T−T′)(E−E′)≧0の場
合の解の交換確率p(T,E,T′,E′)は、以下の
ようになる。すなわち、無限時間の後にボルツマン分布
に従う平衡状態が各プロセッサ上で実現された場合、各
プロセッサ間の解の確率的交換は、この平衡状態を崩し
てはならない。そのため、詳細釣合の原理から(30)
式の関係を満たす必要がある。 e-(E/T)/Z(T)・e-( E/T) /Z(T′)・p(T,E,T′,E′) =e-( E/T) /Z(T)・e-( E/T) /Z(T′)・1 ⇔p(T,E,T′,E′) =exp(−(T−T′)・(E−E′)/(T・T′)) ・・・(30) ここで、Z(T)は、分配関数である。
【0153】以上、(29)、(30)式により、プロ
セッサ間の解の交換確率p(T,E,T′,E′)は、
次のようになる。 p(T,E,T′,E′) =1 ΔT・ΔE<0 exp(−ΔT・ΔE/(T・T′)) otherwise ・・・(31) ただし、ΔE=E−E′、ΔT=T−T′である。
【0154】このように、温度並列シュミレーティド・
アニール法では、時間の進行とともに変化させるべきパ
ラメータを持っておらず、アルゴリズムは時間的に一様
である。
【0155】従って、このアルゴリズムの確率的な動作
は時間的に一様なマルコフ連鎖として記述され、このマ
ルコフ連鎖は既約かつ非周期的であるので、その唯一の
定常状態(平衡状態)に収束する。
【0156】また、アルゴリズムの時間的一様性によ
り、ある時点で処理を打ち切って得られた解が不満足な
ものである場合、処理をそのまま継続してさらに最適化
を行うことができる。
【0157】さらに、温度並列シュミレーティド・アニ
ール法では、各プロセッサ上で独立に一定温度のアニー
リング処理が行われ、プロセッサ間通信が必要となるの
は解交換の瞬間のみであるため、並列処理との親和性が
高い。
【0158】なお、温度並列シュミレーティド・アニー
ル法については、例えば、「小西健三,瀧和夫,木村宏
一,温度並列シュミレーティド・アニール法とその評
価,情報処理学会論文誌,vol.36,no.4,p
p.797−807,Apr.,1995.」に記載さ
れている。
【0159】以下、一定温度でシュミレーティド・アニ
ーリングを行うものを恒温槽と呼ぶ。
【0160】
【発明が解決しようとする課題】しかしながら、上述し
た温度並列シュミレーティド・アニール法においては、
同一のアニーリング・アルゴリズムを全ての恒温槽で使
用しており、解を求めるために多くのCPU時間を必要
とするという問題があった。
【0161】また、上述した先願の最適化問題処理方法
では、低温の恒温槽では高速に処理を行うことが可能で
あるが、高温の恒温槽では低温の恒温槽に比べて処理が
遅くなるという問題があった。
【0162】そこで、本発明の目的は、温度毎に適切な
アルゴリズム及びパラメタを使用できるようにして高速
に処理を行うことができる温度並列シュミレーティド・
アニーリング用恒温槽装置及び温度並列シュミレーティ
ド・アニール方法を提供することである。
【0163】
【課題を解決するための手段】上述した課題を解決する
ために、本発明によれば、温度並列シミュレーティド・
アニーリングを実行するアルゴリズム及びパラメタを温
度に応じて可変とするようにしている。
【0164】このことにより、各温度に最適な条件でシ
ミュレーティド・アニーリングを行うことができ高速に
処理を行うことができる。また、本発明の一態様によれ
ば、シミュレーティド・アニーリングに使用するエネル
ギー関数を温度に応じて可変とする。
【0165】このことにより、各温度に最適なエネルギ
ー関数を用いてミュレーティド・アニーリングを行うこ
とができ高速に処理を行うことができる。また、本発明
の一態様によれば、図1に示すように、第1の温度の下
でシミュレーティド・アニーリング処理を行うシミュレ
ーティド・アニーリング処理手段102と、前記シミュ
レーティド・アニーリング処理手段により得られた第1
の状態と、第2の温度の下でシミュレーティド・アニー
リング処理を行うことにより得られた第2の状態とを確
率的に交換する状態交換手段103と、前記シミュレー
ティド・アニーリングの実行を制御するパラメタを設定
するパラメタ設定手段101とを備える。
【0166】そして、パラメタ設定手段101は、シミ
ュレーティド・アニーリング処理手段102が第1の温
度の下で効率的に動作するように、シミュレーティド・
アニーリングの実行を制御するパラメタを変更する。
【0167】このことにより、シミュレーティド・アニ
ーリング処理手段102におけるシミュレーティド・ア
ニーリング処理を高速化することができる。また、本発
明の一態様によれば、第1の温度の下でシミュレーティ
ド・アニーリング処理を行う第1のシミュレーティド・
アニーリング処理手段と、第2の温度の下でシミュレー
ティド・アニーリング処理を行う第2のシミュレーティ
ド・アニーリング処理手段と、前記第1のシミュレーテ
ィド・アニーリング処理手段により得られた第1の状態
と、前記第2のシミュレーティド・アニーリング処理手
段により得られた第2の状態とを確率的に交換する制御
を行う状態交換制御手段と、前記シミュレーティド・ア
ニーリングを実行するパラメタを、前記第1のシミュレ
ーティド・アニーリング処理手段及び前記第2のシミュ
レーティド・アニーリング処理手段に対して独立に設定
するパラメタ設定手段とを備えている。
【0168】そして、パラメタ設定手段は、第1のシミ
ュレーティド・アニーリング処理手段が第1の温度の下
で効率的に動作し、且つ、第2のシミュレーティド・ア
ニーリング処理手段が第2の温度の下で効率的に動作す
るように、シミュレーティド・アニーリングを実行する
パラメタをそれぞれ独立に設定する。
【0169】このことにより、各温度に最適な条件でシ
ミュレーティド・アニーリング処理を行うことができ、
シミュレーティド・アニーリング処理を高速化すること
ができる。
【0170】
【発明の実施の形態】以下、本発明の一実施例による温
度並列シミュレーティド・アニーリング(TPSA)用
恒温槽装置について、図面を参照しながら説明する。
【0171】図2は、本発明の一実施例による温度並列
シミュレーティド・アニーリング用恒温槽装置の構成を
示すブロック図である。図2において、110はTPS
A用恒温槽装置、111はSAパラメタ設定装置、11
2はSA実行制御装置、113はSAアルゴリズム実行
装置、114は状態交換装置、115は状態保存装置、
116はSAパラメタ保存装置、117はSA一般パラ
メタ保存装置、118はSAアルゴリズムパラメタ保存
装置、119はSAエネルギーパラメタ保存装置であ
る。
【0172】TPSA用恒温槽装置110において、S
Aパラメタ設定装置111は、SA実行用のパラメタの
情報を外部から受け取り、SAパラメタ設定装置111
が受け取ったパラメタの情報をSAパラメタ保存装置1
16に保存する。
【0173】SAパラメタ保存装置116は、SAの実
行に関する各種のパラメタを保存するものであり、SA
一般パラメタ保存装置117、SAアルゴリズムパラメ
タ保存装置118及びSAエネルギーパラメタ保存装置
119を備えている。
【0174】SA一般パラメタ保存装置117は、温度
や終了条件などのSAを実行する一般的なパラメタを保
存する。SAアルゴリズムパラメタ保存装置118は、
シミュレーティド・アニーリングを実現するアルゴリズ
ムやそのアルゴリズムに関するパラメタを保存する。こ
のアルゴリズムは、例えば、メトロポリス法によるアル
ゴリズムやハイブリッド・モンテカルロ法によるアルゴ
リズムである。
【0175】SAエネルギーパラメタ保存装置119
は、シミュレーティド・アニーリングによるエネルギー
計算に関するパラメタを保存する。このパラメタは、例
えば、VLSI配置問題では、オーバーラップ、配線
長、混雑度、配線容量のエネルギー、ネットの混雑度な
どである。
【0176】SA実行制御装置112は、SA実行の指
示を外部から受け取った場合、その指示に基づいて、S
Aアルゴリズム実行装置113によりSAを実行する制
御を行う。
【0177】SAアルゴリズム実行装置113は、SA
の実行に必要なパラメタをSAパラメタ保存装置116
から読み出し、状態保存装置115に保存されている状
態を対象にSAを実行する。この場合、このパラメタに
基づいて実行するSAアルゴリズムを変更してSAを実
行することができる。
【0178】状態交換装置114は、外部と状態の交換
を行う。すなわち、状態保存装置115に保存されてい
る状態を読み出し、その読み出した状態を外部に通知
し、外部から供給される別の状態を状態保存装置115
に保存する。
【0179】状態保存装置115は、SAアルゴリズム
実行装置113及び状態交換装置114から供給された
状態を保存するとともに、その保存された状態をSAア
ルゴリズム実行装置113及び状態交換装置114に供
給する。
【0180】次に、本発明の一実施例による温度並列シ
ミュレーティド・アニーリング用恒温槽装置の動作につ
いて、図面を参照しながら説明する。図2において、S
Aパラメタ設定装置111は、SA実行用のパラメタの
設定の指示を外部から受けた場合、SAパラメタ設定装
置111が受け取ったパラメタをSAパラメタ保存装置
116に保存する。
【0181】SA実行制御装置112は、SA実行の指
示を外部から受けた場合、SAアルゴリズム実行装置1
13にSAを実行するように指示する。SAアルゴリズ
ム実行装置113は、SA実行制御装置112からSA
の実行の指示を受けると、SAパラメタ保存装置116
に保存されたパラメタを読み出すとともに、状態保存装
置115に保存されている状態を読み出す。そして、S
Aパラメタ保存装置116から読み出したパラメタに基
づいて、状態保存装置115から読み出した状態を対象
にして、SAアルゴリズムを実行する。
【0182】また、SA実行制御装置112は、SA一
般パラメタ保存装置117に格納されている終了条件を
監視し、その終了条件が満足された場合、SAアルゴリ
ズム実行装置113のSAの実行を終了させる。そし
て、SAの実行を終了したSAアルゴリズム実行装置1
13は、SAの実行の終了とSAにより得られた最終エ
ネルギー値とをSA実行制御装置112に通知する。こ
の通知を受けたSA実行制御装置112は、SAの実行
の終了とSAにより得られた最終エネルギー値とを外部
に知らせる。
【0183】状態交換装置114は、外部からの状態の
交換の指示に基づいて、状態保存装置115に保存され
た状態を読み出し、その読み出した状態を外部に通知
し、外部から供給された別の状態を状態保存装置115
に保存する。
【0184】次に、本発明の一実施例による温度並列シ
ミュレーティド・アニーリング実行装置について、図面
を参照しながら説明する。図3は、本発明の一実施例に
よる温度並列シミュレーティド・アニーリング実行装置
の構成を示すブロック図である。
【0185】図3において、120はTPSA実行装
置、121はTPSA制御装置、122は状態交換制御
装置、123、124はTPSA用恒温槽装置である。
TPSA制御装置121は、TPSA用恒温槽装置12
3、124及び状態交換制御装置122に指示を与え、
温度並列シミュレーティド・アニーリングを制御する。
【0186】状態交換制御装置122は、TPSA用恒
温槽装置123、124に保存されている状態を交換す
る制御を行う。TPSA用恒温槽装置123は第1の温
度で動作し、TPSA用恒温槽装置124は第2の温度
で動作し、各TPSA用恒温槽装置123、124のS
Aパラメタ保存装置116に保存されたパラメタに基づ
いて、SAの実行を行う。
【0187】次に、本発明の一実施例による温度並列シ
ミュレーティド・アニーリング実行装置の動作につい
て、図面を参照しながら説明する。図3において、TP
SA制御装置121は、SA実行用のパラメタを各TP
SA用恒温槽装置123、124のSAパラメタ保存装
置116に保存する。この際、SA実行用のパラメタ
は、TPSA用恒温槽装置123、124がそれぞれの
温度に基づいて効率的に動作するように、別々に設定さ
れる。
【0188】すなわち、各TPSA用恒温槽装置12
3、124におけるSAを実行する一般的なパラメタ、
例えば、温度や終了条件などを、各温度で最適に動作す
るように、それぞれのSA一般パラメタ保存装置117
に別々に保存する。
【0189】また、各TPSA用恒温槽装置123、1
24におけるSAを実現するアルゴリズムやそのアルゴ
リズムに関するパラメタを、各温度で最適に動作するよ
うに、それぞれのSAアルゴリズムパラメタ保存装置1
18に別々に保存する。
【0190】さらに、各TPSA用恒温槽装置123、
124におけるSAのエネルギー計算に関するパラメタ
を、各温度で最適に動作するように、それぞれのSAエ
ネルギーパラメタ保存装置119に別々に保存する。例
えば、VLSI配置問題において、TPSA用恒温槽装
置123が高い方の温度を担当し、TPSA用恒温槽装
置124が低い方の温度を担当する場合、高い方の温度
を担当するTPSA用恒温槽装置123では、SAのエ
ネルギー計算に関するパラメタとして、オーバーラッ
プ、配線長、端子の混雑度及び配線容量のエネルギーを
使用し、低い方の温度を担当するTPSA用恒温槽装置
124では、前記パラメタに加えて、ネットの混雑度を
使用する。
【0191】次に、TPSA制御装置121は、各TP
SA用恒温槽装置123、124に対し、SAを実行す
るように指示を出した後、SA実行終了のメッセージが
TPSA用恒温槽装置123、124から通知されたか
どうかを監視する。
【0192】そして、TPSA制御装置121は、決定
している状態交換のスケジュールに必要なSA実行終了
のメッセージと最終エネルギー値とを、TPSA用恒温
槽装置123、124から受け取ると、各TPSA用恒
温槽装置123、124の名前、それぞれの温度及び最
終エネルギー値を状態交換制御装置122に渡す。
【0193】各TPSA用恒温槽装置123、124の
名前、それぞれの温度及び最終エネルギー値を渡された
状態交換制御装置122は、(30)式又は(31)式
に従って、各TPSA用恒温槽装置123、124にお
ける状態保存装置115に保存された2つの状態を確率
的に交換する。
【0194】すなわち、高い方の温度を担当するTPS
A用恒温槽装置123の最終エネルギー値が低い方の温
度を担当するTPSA用恒温槽装置124の最終エネル
ギー値より小さい場合、TPSA用恒温槽装置123、
124間で無条件に状態の交換を行い、高い方の温度を
担当するTPSA用恒温槽装置123の最終エネルギー
値が低い方の温度を担当するTPSA用恒温槽装置12
4の最終エネルギー値より大きい場合、TPSA用恒温
槽装置123とTPSA用恒温槽装置124との間の温
度差及び最終エネルギー値の差分に基づく確率に基づい
て、TPSA用恒温槽装置123、124間で状態の交
換を行う。
【0195】このことにより、無限時間の後にボルツマ
ン分布に従う平衡状態が各TPSA用恒温槽装置12
3、124上で実現された場合、各TPSA用恒温槽装
置123、124間の状態の確率的交換は、この平衡状
態を保存することができ、詳細釣合の原理を満足させる
ことができる。
【0196】このTPSA用恒温槽装置123、124
間の状態の確率的交換を、温度並列シミュレーティド・
アニーリングの終了条件が満たされるまで実行する。な
お、この終了条件は、例えば、SA実行の最大回数によ
り決定する。
【0197】次に、本発明の一実施例による温度並列シ
ミュレーティド・アニーリング制御装置の動作につい
て、図面を参照しながら説明する。図4は、本発明の一
実施例による温度並列シミュレーティド・アニーリング
制御装置121の動作を示すフローチャートである。
【0198】図4において、まず、ステップS110に
示すように、各TPSA用恒温槽装置123、124の
SAパラメタ保存装置116にSA実行用パラメタを設
定する。
【0199】次に、ステップS111に示すように、各
TPSA用恒温槽装置123、124にSA実行の指示
を行う。次に、ステップS112に示すように、各TP
SA用恒温槽装置123、124のSAの終了を監視
し、ステップS113でSAの終了条件を満たした場
合、ステップS114に進む。そして、最もエネルギー
の小さいTPSA用恒温槽装置123、124のエネル
ギーとそのときの状態を報告し、処理を終了する。
【0200】一方、ステップS113でSAの終了条件
を満たしていないと判断された場合、ステップS115
に進み、TPSA用恒温槽装置123、124の状態の
交換が必要かどうかを判断する。そして、TPSA用恒
温槽装置123、124の状態の交換が必要な場合、ス
テップS116に進んで、状態交換制御装置122の状
態交換の指示を出す。ここで、TPSA用恒温槽装置1
23、124の状態の交換が必要な場合とは、例えば高
い方の温度を担当するTPSA用恒温槽装置123のエ
ネルギー値が低い方の温度を担当するTPSA用恒温槽
装置124のエネルギー値より小さい場合、又は高い方
の温度を担当するTPSA用恒温槽装置123のエネル
ギー値が低い方の温度を担当するTPSA用恒温槽装置
124のエネルギー値より大きく且つ交換確率を満たす
場合である。TPSA用恒温槽装置123、124の状
態交換装置114は、この状態交換制御装置122から
の指示に基づいて、状態保存装置115に保存されてい
る状態の交換を行い、ステップS112に戻って処理を
続行する。なお、状態の交換は、所定の状態交換周期で
(30)式又は(31)式に従って、確率的に行われ
る。
【0201】一方、ステップS115でTPSA用恒温
槽装置123、124の状態の交換が必要でないと判断
された場合、ステップS112に戻って処理を続行す
る。図5は、VLSI配置問題において、温度を1.0
度に保ってシミュレーティド・アニーリング処理を行っ
た場合のトータルエネルギーの変化を示すグラフで、縦
軸はエネルギー、横軸はepoch を示している。ここで、
epoch とは、一つ一つのセルに順番にシミュレーティド
・アニーリングを適用して全てのセルを一巡することで
ある。
【0202】また、図5において、130はSAを実現
するアルゴリズムとしてメトロポリス法を用いた場合を
示し、131はSAを実現するアルゴリズムとしてハイ
ブリッド・モンテカルロ法を用いた場合を示している。
【0203】このように、低温で処理を行う場合、SA
を実現するアルゴリズムとしてハイブリッド・モンテカ
ルロ法を使用した方がより速くエネルギーの低い状態に
到達し、低い温度を担当するTPSA用恒温槽装置12
3、124では、メトロポリス法よりもハイブリッド・
モンテカルロ法の方が適している。
【0204】以上説明したように、本発明の一実施例に
よる温度並列シミュレーティド・アニーリング処理によ
れば、シミュレーティド・アニーリング処理を実現する
アルゴリズムやエネルギー関数を各恒温槽ごとに指定す
ることができ、各温度に効率的なアルゴリズムやエネル
ギー関数を使うことができ、各種の最適化問題の解決に
寄与するところが大きい。
【0205】
【発明の効果】以上説明したように、本発明によれば、
温度並列シミュレーティド・アニーリングを実行するア
ルゴリズム及びパラメタを温度に応じて可変とすること
により、各温度に最適な条件でシミュレーティド・アニ
ーリングを行うことができ、処理を高速化することがで
きる。
【0206】また、シミュレーティド・アニーリングに
使用するエネルギー関数を温度に応じて可変とすること
により、各温度に最適なエネルギー関数を用いてミュレ
ーティド・アニーリングを行うことができ、処理を高速
化することができる。
【図面の簡単な説明】
【図1】本発明の一実施例による温度並列シミュレーテ
ィド・アニーリング用恒温槽装置の機能的な構成を示す
ブロック図である。
【図2】本発明の一実施例による温度並列シミュレーテ
ィド・アニーリング用恒温槽装置の構成を示すブロック
図である。
【図3】本発明の一実施例による温度並列シミュレーテ
ィド・アニーリング実行装置の構成を示すブロック図で
ある。
【図4】本発明の一実施例による温度並列シミュレーテ
ィド・アニーリング制御装置の動作を示すフローチャー
トである。
【図5】VLSI問題において、温度を1.0度に保っ
たままメトロポリス法及びハイブリッド・モンテカルロ
法で処理を行った場合のトータルエネルギーの変化を示
すグラフである。
【図6】先願の次候補生成装置の第1の構成を示す図で
ある。
【図7】状態遷移処理のフローチャートである。
【図8】先願の次候補生成装置の第2の構成を示す図で
ある。
【図9】VLSI配置装置の構成図である。
【図10】VLSI配置処理のフローチャート(その
1)である。
【図11】VLSI配置処理のフローチャート(その
2)である。
【図12】VLSI配置問題のエネルギー関数を示す図
である。
【図13】積分経路の例を示す図である。
【図14】セルを置くことができない領域の例を示す図
である。
【図15】次候補生成装置のシステム構成図である。
【図16】従来の逐次シミュレーティド・アニーリング
法及び温度並列シミュレーティド・アニーリング法の動
作を説明する図である。
【符号の説明】
101 パラメタ設定手段 102 シミュレーティド・アニーリング処理手段 103 状態交換手段 110 TPSA用恒温槽装置 111 SAパラメタ設定装置 112 SA実行制御装置 113 SAアルゴリズム実行装置 114 状態交換装置 115 状態保存装置 116 SAパラメタ保存装置 117 SA一般パラメタ保存装置 118 SAアルゴリズムパラメタ保存装置 119 SAエネルギーパラメタ保存装置 120 TPSA実行装置 121 TPSA制御装置 122 状態交換制御装置 123、124 TPSA用恒温槽装置

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 第1の温度の下でシミュレーティド・ア
    ニーリング処理を行うシミュレーティド・アニーリング
    処理手段と、 前記シミュレーティド・アニーリング処理手段により得
    られた第1の状態と、第2の温度の下でシミュレーティ
    ド・アニーリング処理を行うことにより得られた第2の
    状態とを確率的に交換する状態交換手段と、 前記シミュレーティド・アニーリングの実行を制御する
    パラメタを設定するパラメタ設定手段とを備えることを
    特徴とする温度並列シミュレーティド・アニーリング用
    恒温槽装置。
  2. 【請求項2】 前記シミュレーティド・アニーリングを
    実現するアルゴリズム及び前記アルゴリズムのパラメタ
    を設定するアルゴリズム設定手段をさらに備えることを
    特徴とする請求項1に記載の温度並列シミュレーティド
    ・アニーリング用恒温槽装置。
  3. 【請求項3】 前記シミュレーティド・アニーリングの
    エネルギー関数を決定するパラメタを設定するエネルギ
    ーパラメタ設定手段をさらに備えることを特徴とする請
    求項1に記載の温度並列シミュレーティド・アニーリン
    グ用恒温槽装置。
  4. 【請求項4】 前記状態交換手段は、シュレーティド・
    アニーリング処理により得られたボルツマン分布に従う
    平衡状態を保存しながら状態の交換を行うことを特徴と
    する請求項1に記載の温度並列シミュレーティド・アニ
    ーリング用恒温槽装置。
  5. 【請求項5】 前記状態交換手段は、高い方の温度の下
    で得られた状態のエネルギーが低い方の温度の下で得ら
    れた状態のエネルギーよりも小さい場合、前記高い方の
    温度の下で得られた状態と前記低い方の温度の下で得ら
    れた状態とを無条件に交換し、前記高い方の温度の下で
    得られた状態のエネルギーが前記低い方の温度の下で得
    られた状態のエネルギーよりも大きい場合、前記高い方
    の温度の下で得られた状態のエネルギーと前記低い方の
    温度の下で得られた状態のエネルギーとの差分及び温度
    差に基づく確率に従って、前記高い方の温度の下で得ら
    れた状態と前記低い方の温度の下で得られた状態とを交
    換することを特徴とする請求項1に記載の温度並列シミ
    ュレーティド・アニーリング用恒温槽装置。
  6. 【請求項6】 前記アルゴリズム設定手段は、前記シミ
    ュレーティド・アニーリングを実現するアルゴリズムと
    して、メトロポリス法によるアルゴリズム又はハイブリ
    ッド・モンテカルロ法によるアルゴリズムを設定するこ
    とを特徴とする請求項2に記載の温度並列シミュレーテ
    ィド・アニーリング用恒温槽装置。
  7. 【請求項7】 前記エネルギーパラメタ設定手段は、V
    LSI配置問題において、オーバーラップ、配線長、端
    子の混雑度、配線容量のエネルギー又はネットの混雑度
    をエネルギー関数を決定するパラメタとすることを特徴
    とする請求項3に記載の温度並列シミュレーティド・ア
    ニーリング用恒温槽装置。
  8. 【請求項8】 第1の温度の下でシミュレーティド・ア
    ニーリング処理を行う第1のシミュレーティド・アニー
    リング処理手段と、 第2の温度の下でシミュレーティド・アニーリング処理
    を行う第2のシミュレーティド・アニーリング処理手段
    と、 前記第1のシミュレーティド・アニーリング処理手段に
    より得られた第1の状態と、前記第2のシミュレーティ
    ド・アニーリング処理手段により得られた第2の状態と
    を確率的に交換する制御を行う状態交換制御手段と、 前記シミュレーティド・アニーリングを実行するパラメ
    タを、前記第1のシミュレーティド・アニーリング処理
    手段及び前記第2のシミュレーティド・アニーリング処
    理手段に対して独立に設定するパラメタ設定手段とを備
    えることを特徴とする温度並列シミュレーティド・アニ
    ーリング実行装置。
  9. 【請求項9】 前記パラメタ設定手段は、前記シミュレ
    ーティド・アニーリングを実現するアルゴリズムと前記
    アルゴリズムの実行を制御するパラメタとを、前記第1
    のシミュレーティド・アニーリング処理手段及び前記第
    2のシミュレーティド・アニーリング処理手段に対して
    独立に設定することを特徴とする請求項8に記載の温度
    並列シミュレーティド・アニーリング実行装置。
  10. 【請求項10】 前記パラメタ設定手段は、前記シミュ
    レーティド・アニーリングのエネルギー関数を決定する
    パラメタを、前記第1のシミュレーティド・アニーリン
    グ処理手段及び前記第2のシミュレーティド・アニーリ
    ング処理手段に対して独立に設定することを特徴とする
    請求項9に記載の温度並列シミュレーティド・アニーリ
    ング実行装置。
  11. 【請求項11】 前記状態交換制御手段は、シュレーテ
    ィド・アニーリング処理により得られたボルツマン分布
    に従う平衡状態を保存しながら状態の交換を行うことを
    特徴とする請求項8に記載の温度並列シミュレーティド
    ・アニーリング用恒温槽装置。
  12. 【請求項12】 前記パラメタ設定手段は、前記シミュ
    レーティド・アニーリングを実現するアルゴリズムとし
    て、メトロポリス法によるアルゴリズム又はハイブリッ
    ド・モンテカルロ法によるアルゴリズムを設定すること
    を特徴とする請求項9に記載の温度並列シミュレーティ
    ド・アニーリング実行装置。
  13. 【請求項13】 前記パラメタ設定手段は、VLSI配
    置問題において、オーバーラップ、配線長、端子の混雑
    度、配線容量のエネルギー又はネットの混雑度をエネル
    ギー関数を決定するパラメタとすることを特徴とする請
    求項10に記載の温度並列シミュレーティド・アニーリ
    ング実行装置。
  14. 【請求項14】 温度並列シミュレーティド・アニーリ
    ングにおいて、 シミュレーティド・アニーリングを実行するアルゴリズ
    ム及びパラメタを温度に応じて可変とすることを特徴と
    する温度並列シミュレーティド・アニーリング方法。
  15. 【請求項15】 温度並列シミュレーティド・アニーリ
    ングにおいて、 シミュレーティド・アニーリングに使用するエネルギー
    関数を温度に応じて可変とすることを特徴とする温度並
    列シミュレーティド・アニーリング方法。
JP8034704A 1996-02-22 1996-02-22 温度並列シミュレーティド・アニーリング用恒温槽装置及び温度並列シミュレーティド・アニーリング方法 Withdrawn JPH09231197A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8034704A JPH09231197A (ja) 1996-02-22 1996-02-22 温度並列シミュレーティド・アニーリング用恒温槽装置及び温度並列シミュレーティド・アニーリング方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8034704A JPH09231197A (ja) 1996-02-22 1996-02-22 温度並列シミュレーティド・アニーリング用恒温槽装置及び温度並列シミュレーティド・アニーリング方法

Publications (1)

Publication Number Publication Date
JPH09231197A true JPH09231197A (ja) 1997-09-05

Family

ID=12421752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8034704A Withdrawn JPH09231197A (ja) 1996-02-22 1996-02-22 温度並列シミュレーティド・アニーリング用恒温槽装置及び温度並列シミュレーティド・アニーリング方法

Country Status (1)

Country Link
JP (1) JPH09231197A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018005541A (ja) * 2016-07-01 2018-01-11 富士通株式会社 情報処理装置、イジング装置及び情報処理装置の制御方法
JP6465231B1 (ja) * 2018-03-12 2019-02-06 富士通株式会社 最適化装置及び最適化装置の制御方法
WO2020054046A1 (ja) * 2018-09-14 2020-03-19 富士通株式会社 最適化装置、最適化装置の制御方法および最適化装置の制御プログラム
WO2020054024A1 (ja) 2018-09-13 2020-03-19 富士通株式会社 最適化装置及び最適化装置の制御方法
EP3660705A1 (en) 2018-11-22 2020-06-03 Fujitsu Limited Optimization device and control method of optimization device
EP3739473A2 (en) 2019-05-13 2020-11-18 Fujitsu Limited Optimization device and method of controlling optimization device
EP3779616A1 (en) 2019-08-14 2021-02-17 Fujitsu Limited Optimization device and control method of optimization device
EP3872656A1 (en) 2020-02-27 2021-09-01 Fujitsu Limited Information processing apparatus, information processing method, and program

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018005541A (ja) * 2016-07-01 2018-01-11 富士通株式会社 情報処理装置、イジング装置及び情報処理装置の制御方法
JP6465231B1 (ja) * 2018-03-12 2019-02-06 富士通株式会社 最適化装置及び最適化装置の制御方法
WO2020054024A1 (ja) 2018-09-13 2020-03-19 富士通株式会社 最適化装置及び最適化装置の制御方法
JPWO2020054024A1 (ja) * 2018-09-13 2021-08-30 富士通株式会社 最適化装置及び最適化装置の制御方法
US11928403B2 (en) 2018-09-13 2024-03-12 Fujitsu Limited Optimization apparatus and optimization method for annealing circuits
WO2020054046A1 (ja) * 2018-09-14 2020-03-19 富士通株式会社 最適化装置、最適化装置の制御方法および最適化装置の制御プログラム
JPWO2020054046A1 (ja) * 2018-09-14 2021-05-13 富士通株式会社 最適化装置、最適化装置の制御方法および最適化装置の制御プログラム
US11262717B2 (en) 2018-11-22 2022-03-01 Fujitsu Limited Optimization device and control method of optimization device based on temperature statistical information
EP3660705A1 (en) 2018-11-22 2020-06-03 Fujitsu Limited Optimization device and control method of optimization device
EP3739473A2 (en) 2019-05-13 2020-11-18 Fujitsu Limited Optimization device and method of controlling optimization device
US11199884B2 (en) 2019-05-13 2021-12-14 Fujitsu Limited Optimization device and method of controlling optimization device utilizing a spin bit
EP3779616A1 (en) 2019-08-14 2021-02-17 Fujitsu Limited Optimization device and control method of optimization device
US11631006B2 (en) 2019-08-14 2023-04-18 Fujitsu Limited Optimization device and control method of optimization device
EP3872656A1 (en) 2020-02-27 2021-09-01 Fujitsu Limited Information processing apparatus, information processing method, and program

Similar Documents

Publication Publication Date Title
Carrillo et al. A consensus-based global optimization method for high dimensional machine learning problems
Shao et al. Hybrid discrete particle swarm optimization for multi-objective flexible job-shop scheduling problem
Romeo et al. A theoretical framework for simulated annealing
Wang et al. A graph-based ant colony optimization approach for integrated process planning and scheduling
Pasztor et al. Efficient model-based multi-agent mean-field reinforcement learning
Feng et al. Hybrid evolutionary fuzzy learning scheme in the applications of traveling salesman problems
Zhao et al. Asynchronous reinforcement learning algorithms for solving discrete space path planning problems
Ruan et al. A new multi-function global particle swarm optimization
JPH09231197A (ja) 温度並列シミュレーティド・アニーリング用恒温槽装置及び温度並列シミュレーティド・アニーリング方法
JP7267966B2 (ja) 情報処理装置及び情報処理方法
Liu et al. A novel policy gradient algorithm with PSO-based parameter exploration for continuous control
Li et al. From distribution learning in training to gradient search in testing for combinatorial optimization
Liu et al. Formula-E race strategy development using distributed policy gradient reinforcement learning
Aghasi et al. A decentralized adaptation of model-free Q-learning for thermal-aware energy-efficient virtual machine placement in cloud data centers
Cheng et al. Self-adaptive parameters in differential evolution based on fitness performance with a perturbation strategy
JPH08235150A (ja) シミュレーティド・アニーリングによる次候補生成装置および方法
Xu et al. Hybrid discrete differential evolution algorithm for lot splitting with capacity constraints in flexible job scheduling
Thathachar et al. Parallel algorithms for modules of learning automata
Pluhacek et al. PSO with partial population restart based on complex network analysis
Shahidi et al. Self-adaptive memetic algorithm: an adaptive conjugate gradient approach
CN111340192A (zh) 网络路径分配模型训练方法、路径分配方法、以及装置
Lim et al. Real-time DNN model partitioning for QoE enhancement in mobile vision applications
Zhang et al. Handling constrained multi-objective optimization with objective space mapping to decision space based on extreme learning machine
Zhang et al. Compiler-level matrix multiplication optimization for deep learning
KR20230089509A (ko) Bi-LSTM 기반 웹 애플리케이션 워크로드 예측 방법 및 장치

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20030506