JP2019087273A - Optimization apparatus and optimization apparatus control method - Google Patents
Optimization apparatus and optimization apparatus control method Download PDFInfo
- Publication number
- JP2019087273A JP2019087273A JP2019001947A JP2019001947A JP2019087273A JP 2019087273 A JP2019087273 A JP 2019087273A JP 2019001947 A JP2019001947 A JP 2019001947A JP 2019001947 A JP2019001947 A JP 2019001947A JP 2019087273 A JP2019087273 A JP 2019087273A
- Authority
- JP
- Japan
- Prior art keywords
- value
- state
- state transitions
- transition
- energy
- 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.)
- Pending
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
本発明は、最適化装置及び最適化装置の制御方法に関する。 The present invention relates to an optimization device and a control method of the optimization device.
現在の社会ではあらゆる分野で情報処理が行われている。これらの情報処理はコンピュータ等の演算装置を用いて行われており、様々なデータを演算、加工し、意味のある結果を得ることにより、予測、決定、制御等が行われる。これらの情報処理の1つの分野として最適化処理があり重要な分野となっている。例えばある処理を行う場合に必要な資源やコストを最小化したり、その効果を最大化する解を求める問題等である。これらの問題が非常に重要であるのは明らかであろう。 In the present society, information processing is performed in every field. The information processing is performed using an arithmetic device such as a computer, and prediction, determination, control and the like are performed by computing and processing various data and obtaining meaningful results. Optimization processing is an important field as one of the fields of information processing. For example, there are problems such as minimizing resources and costs necessary for performing a certain process, and finding a solution that maximizes the effect. It will be clear that these issues are of great importance.
最適化問題の代表的なものとして線形計画問題がある。これは複数の連続変数の線形和で表される評価関数を、線形和で表される制約条件の下で最大化または最小化する変数の値を求めるものであり、製品の生産計画等様々な分野で利用されている。この線形計画問題には単体法や内点法といった優れた解法が知られており、何十万以上の変数を持つ問題でも効率的に解くことができる。 The linear programming problem is a representative of optimization problems. This is to find the value of a variable that maximizes or minimizes an evaluation function represented by a linear sum of a plurality of continuous variables under a constraint represented by a linear sum. It is used in the field. This linear programming problem is known to have excellent solution methods such as simplex method and interior point method, and can efficiently solve problems with hundreds of thousands of variables.
一方最適化問題には、変数が連続値では無く離散的な値を取るものも多く知られている。例えば、複数の都市を順番に回り元に戻るときの最短経路を求める巡回セールスマン問題や、ナップザックに異なる品物を詰めるときその価値の和が最大となるような組み合わせを求めるナップザック問題等が挙げられる。このような問題は、離散最適化問題、組合せ最適化問題等と呼ばれ、最適解を得るのが非常に難しいことが知られている。 On the other hand, many optimization problems are known in which variables take discrete values instead of continuous values. For example, there may be a traveling salesman problem for finding the shortest route when going back through multiple cities in order, and a knapsack problem for finding a combination that maximizes the sum of the values when packing different items into knapsack etc. . Such problems are called discrete optimization problems, combinatorial optimization problems, etc., and it is known that it is very difficult to obtain an optimal solution.
離散最適化問題を解くのが難しい最大の原因は、各変数が離散値しか取れないため、評価関数が改善される方向に変数を連続的に変化させることで最適解に到達させるという手法が使えないことである。そして本来の最適値を与える変数の値(最適解、大域解)以外に、局所的に評価関数の極値を与える値(極小(大)解、局所解)が非常に多数存在することである。このため最適解を確実に得るにはしらみつぶしのような方法を取らざるを得ず、計算時間が非常に長くなる。離散最適化問題には計算量理論でNP(Non-deterministic Polynomial)困難問題と呼ばれる、最適解を求めるための計算時間が問題の大きさ(すなわち変数の数)に対して指数的に増加すると予想される問題が多い。上記巡回セールスマン問題やナップザック問題もNP困難問題である。 The biggest cause of difficulty in solving discrete optimization problems is that each variable can only take discrete values, so you can use the method of changing the variables continuously in the direction in which the evaluation function is improved to reach the optimal solution There is no such thing. And there are very many values (minimum (large) solutions, local solutions) which locally give extrema of the evaluation function in addition to the values of the variables which give the original optimum value (optimum solution, global solution) . For this reason, it is necessary to take a method like shredding to obtain an optimal solution surely, and the calculation time becomes very long. For discrete optimization problems, which is called NP (Non-deterministic Polynomial) hard problem in computational complexity theory, it is expected that the calculation time for finding the optimal solution will increase exponentially with the size of the problem (ie the number of variables) There are many problems. The traveling salesman problem and the knapsack problem are also NP difficult problems.
以上述べたように、離散最適化問題の最適解を確実に求めることは非常に困難である。このため実用上重要な離散最適化問題にはその問題に固有な性質を利用した解法が考え出されている。上記のように多くの離散最適化問題では厳密解を得るには指数関数的に増大する計算時間がかかると予想されているため、実用的な解法の多くは近似解法であり、最適解ではないものの評価関数の値が最適値に近い値となる解を得ることができるものである。 As described above, it is very difficult to reliably obtain the optimal solution of the discrete optimization problem. Therefore, for discrete optimization problems that are important for practical use, solutions using properties inherent to the problems have been devised. As mentioned above, many discrete optimization problems are expected to take exponentially increasing computation time to obtain an exact solution, so many practical solutions are approximate solutions and not optimal solutions. It is possible to obtain a solution in which the value of the evaluation function of something is close to the optimum value.
これらの問題に特化した近似解法に対して、問題の性質を用いることなく解くため広範囲な問題を扱える近似解法も知られている。これらはメタヒューリスティックな解法とよばれ、疑似焼き鈍し法(シミュレーテッド・アニーリング法、SA法)、遺伝的アルゴリズム、ニューラルネットワーク等が挙げられる。これらの方法は、問題の性質をうまく利用した解法よりは効率が悪い可能性があるが、厳密解を得る解法よりは高速に解を得ることが期待できる。 With respect to approximate solutions specific to these problems, approximate solutions that can handle a wide range of problems are also known in order to solve without using the nature of the problems. These are called metaheuristic solutions, and include simulated annealing (simulated annealing, SA), genetic algorithms, neural networks, and the like. Although these methods may be less efficient than solutions that take advantage of the nature of the problem, they can be expected to obtain solutions faster than solutions that obtain exact solutions.
本発明はこのうち疑似焼き鈍し法に関するものである。
疑似焼き鈍し法はモンテカルロ法の一種であり、乱数値を用いて確率的に解を求める方法である。以下では最適化したい評価関数の値を最小化する問題を例に説明し、評価関数の値をエネルギーと呼ぶことにする。最大化の場合は、評価関数の符号を変えればよい。
Among the above, the present invention relates to a pseudo annealing method.
The pseudo-annealing method is a kind of Monte Carlo method, and is a method of stochastically obtaining a solution using random number values. In the following, the problem of minimizing the value of the evaluation function to be optimized will be described as an example, and the value of the evaluation function will be called energy. In the case of maximization, the sign of the evaluation function may be changed.
各変数に離散値の1つを代入した初期状態からはじめ、現在の状態(変数の値の組み合わせ)から、それに近い状態(例えば1つの変数だけ変化させた状態)を選び、その状態遷移を考える。その状態遷移に対するエネルギーの変化を計算し、その値に応じてその状態遷移を採択して状態を変化させるか、採択せずに元の状態を保つかを確率的に決める。エネルギーが下がる場合の採択確率をエネルギーが上がる場合より大きく選ぶと、平均的にはエネルギーが下がる方向に状態変化が起こり、時間の経過とともにより適切な状態へ状態遷移することが期待できる。そして最終的には最適解または最適値に近いエネルギーを与える近似解を得られる可能性がある。もし、これを決定論的にエネルギーが下がる場合に採択、上がる場合に不採択とすれば、エネルギーの変化は時間に対して広義単調減少となるが、局所解に到達したらそれ以上変化が起こらなくなってしまう。上記のように離散最適化問題には非常に多数の局所解が存在するために、状態が、ほとんど確実にあまり最適値に近くない局所解に捕まってしまう。したがって、採択するかどうかを確率的に決定することが重要である。 Starting from the initial state in which one of the discrete values is substituted for each variable, select a state close to that (for example, a state in which only one variable is changed) from the current state (combination of variable values) and consider the state transition . The energy change for the state transition is calculated, and the state transition is adopted according to the value to stochastically decide whether to change the state or to keep the original state without adopting it. If the adoption probability when energy falls is selected to be larger than when energy rises, a state change occurs in the direction of energy decrease on average, and it can be expected that a state transition to a more appropriate state will occur with the passage of time. Finally, it may be possible to obtain an optimal solution or an approximate solution giving an energy close to the optimal value. If this is adopted when energy drops deterministically, if it is rejected, energy change will be monotonically decreasing in a broad sense with respect to time, but no more changes will occur once the local solution is reached It will As described above, because there are a large number of local solutions in the discrete optimization problem, the state is almost certainly caught by local solutions that are not close to the optimal value. Therefore, it is important to determine probabilistically whether to adopt.
疑似焼き鈍し法においては、状態遷移の採択(許容)確率を次のように決めれば、時刻(反復回数)無限大の極限で状態が最適解に到達することが証明されている。
(1)状態遷移に伴うエネルギー変化(エネルギー減少)値(−ΔE)に対して、その状態遷移の許容確率pを次の何れかの関数f()により決める。
In the pseudo-annealing method, it has been proved that the state reaches the optimum solution at the limit of time (the number of iterations) infinity if the adoption (permissive) probability of the state transition is determined as follows.
(1) For the energy change (energy decrease) value (−ΔE) accompanying the state transition, the allowable probability p of the state transition is determined by any one of the following functions f ().
ここでTは温度値と呼ばれるパラメータで次のように変化させる。
(2)温度値Tを次式で表されるように反復回数tに対数的に減少させる。
Here, T is a parameter called a temperature value and is changed as follows.
(2) The temperature value T is logarithmically reduced to the number of iterations t as expressed by the following equation.
ここでT0は初期温度値であり問題に応じて十分大きくとることが望ましい。
(1)の式で表される許容確率を用いた場合、十分な反復後に定常状態に達したとすると、各状態の占有確率は熱力学における熱平衡状態に対するボルツマン分布にしたがう。そして、高い温度から徐々に下げていくとエネルギーの低い状態の占有確率が増加するため、十分温度が下がるとエネルギーの低い状態が得られるはずである。この様子が材料を焼き鈍したときの状態変化とよく似ているため、この方法は疑似焼き鈍し法と呼ばれるのである。このとき、エネルギーが上がる状態遷移が確率的に起こることは、物理学における熱励起に相当する。
Here, T 0 is an initial temperature value, and it is desirable to take it sufficiently large according to the problem.
If the steady state is reached after sufficient iterations using the permissible probability expressed by the equation (1), the occupancy probability of each state follows the Boltzmann distribution for the thermal equilibrium state in thermodynamics. And since the occupancy probability of the low energy state increases when the temperature is gradually lowered from the high temperature, the low energy state should be obtained when the temperature is sufficiently lowered. This method is called pseudo-annealing because it is similar to the state change when the material is annealed. At this time, the stochastic occurrence of a state transition in which energy rises corresponds to thermal excitation in physics.
上記のように疑似焼き鈍し法では、反復回数を無限に取れば最適解が得られるが、現実には有限の反復回数で解を得る必要があるため、最適解を確実に求めることはできない。また上の式では温度の下がり方が非常にゆっくりであるため、有限時間では十分に温度が下がらない。したがって実際の疑似焼き鈍し法では対数的な温度変化ではなくより早く温度を下げることが多い。 As described above, in the pseudo-annealing method, an optimum solution can be obtained if the number of iterations is taken infinitely, but in reality it is necessary to obtain a solution with a limited number of iterations, so the optimum solution can not be determined reliably. In the above equation, the temperature drops very slowly, so the temperature does not drop sufficiently in a finite time. Therefore, the actual pseudo-annealing method often lowers the temperature faster rather than logarithmic temperature change.
図13に疑似焼き鈍し法による最適化装置の概念的構成を示す。ただし、下記説明では、状態遷移の候補を複数発生させる場合についても述べているが、本来の基本的な疑似焼き鈍し法は遷移候補を1つずつ発生させるものである。 FIG. 13 shows a conceptual configuration of the optimization apparatus by the pseudo annealing method. However, in the following description, although the case where a plurality of state transition candidates are generated is described, the basic basic pseudo-annealing method generates one transition candidate one by one.
最適化装置10には、まず現在の状態S(複数の状態変数の値)を保持する状態保持部11がある。また、複数の状態変数の値の何れかが変化することによる現在の状態Sからの状態遷移が起こった場合の、各状態遷移のエネルギー変化値{−ΔEi}を計算するエネルギー計算部12がある。そして、最適化装置10には、温度値Tを制御する温度制御部13、状態変化を制御するための遷移制御部14がある。
The optimizing
遷移制御部14は、温度値Tとエネルギー変化値{−ΔEi}と乱数値とに基づいて、エネルギー変化値{−ΔEi}と熱励起エネルギーとの相対関係によって複数の状態遷移の何れかを受け入れるか否かを確率的に決定するものである。
The
遷移制御部14をさらに細分化すると、遷移制御部14は、状態遷移の候補を発生する候補発生部14a、各候補に対して、そのエネルギー変化値{−ΔEi}と温度値Tから状態遷移を許可するかどうかを確率的に決定するための可否判定部14bを有する。さらに、可となった候補から採用される候補を決定する遷移決定部14c、及び、確率変数を発生させるための乱数発生部14dを有する。
When the
一回の反復における動作は次のようなものである。まず、候補発生部14aは、状態保持部11に保持された現在の状態Sから次の状態への状態遷移の候補(候補番号{Ni})を1つまたは複数発生する。エネルギー計算部12は、現在の状態Sと状態遷移の候補を用いて候補に挙げられた各状態遷移に対するエネルギー変化値{−ΔEi}を計算する。可否判定部14bは、温度制御部13で発生した温度値Tと乱数発生部14dで生成した確率変数(乱数値)を用い、各状態遷移のエネルギー変化値{−ΔEi}に応じて、上記(1)の式の許容確率でその状態遷移を許容する。そして、可否判定部14bは、各状態遷移の可否{fi}を出力する。許容された状態遷移が複数ある場合には、遷移決定部14cは、乱数値を用いてランダムにそのうちの1つを選択する。そして、遷移決定部14cは、選択した状態遷移の遷移番号Nと、遷移可否fを出力する。許容された状態遷移が存在した場合、採択された状態遷移に応じて状態保持部11に記憶された状態変数の値が更新される。
The operation in one iteration is as follows. First, the
初期状態から始めて、温度制御部13で温度値を下げながら上記反復を繰り返し、一定の反復回数に達したり、エネルギーが一定の値を下回る等の終了判定条件が満たされたとき、動作が終了する。最適化装置10が出力する答えは終了時の状態である。ただし、実際には有限の反復回数では温度値が0にならないため、終了時においても状態の占有率はボルツマン分布等で表される分布を持っており、必ずしも最適値やよい解になっているとは限らない。したがって、反復の途中でこれまでに得られたエネルギーが最低の状態を保持し、最後にそれを出力するのが現実的な解法となる。
Starting from the initial state, the above-mentioned repetition is repeated while lowering the temperature value by the temperature control unit 13, and the operation is ended when an end determination condition such as reaching a certain number of repetitions or energy falls below a certain value is satisfied. . The answer that the
図14は候補を1つずつ発生させる通常の疑似焼き鈍し法における遷移制御部、特に可否判定部のために必要な演算部分の構成例の回路レベルのブロック図である。
遷移制御部14は、乱数発生回路14b1、セレクタ14b2、ノイズテーブル14b3、乗算器14b4、比較器14b5を有する。
FIG. 14 is a circuit level block diagram of a configuration example of an operation portion required for a transition control unit, particularly an availability determination unit in a normal pseudo annealing method in which candidates are generated one by one.
The
セレクタ14b2は、各状態遷移の候補に対して計算されたエネルギー変化値{−ΔEi}のうち、乱数発生回路14b1が生成した乱数値である遷移番号Nに対応するものを選択して出力する。 The selector 14b2 selects and outputs the energy change value {−ΔE i } calculated for each state transition candidate that corresponds to the transition number N which is a random number value generated by the random number generation circuit 14b1. .
ノイズテーブル14b3の機能については後述する。ノイズテーブル14b3として、例えば、RAM(Random Access Memory)、フラッシュメモリ等のメモリを用いることができる。 The function of the noise table 14b3 will be described later. As the noise table 14b3, for example, a memory such as a random access memory (RAM) or a flash memory can be used.
乗算器14b4は、ノイズテーブル14b3が出力する値と、温度値Tとを乗算した積(前述した熱励起エネルギーに相当する)を出力する。
比較器14b5は、乗算器14b4が出力した乗算結果と、セレクタ14b2が選択したエネルギー変化値である−ΔEとを比較した比較結果を遷移可否fとして出力する。
The multiplier 14b4 outputs a product (corresponding to the above-mentioned thermal excitation energy) obtained by multiplying the temperature value T by the value output from the noise table 14b3.
The comparator 14b5 outputs a comparison result obtained by comparing the multiplication result output from the multiplier 14b4 with -ΔE, which is the energy change value selected by the selector 14b2, as the transition possibility f.
図14に示されている遷移制御部14は、基本的に前述した機能をそのまま実装するものであるが、(1)の式で表される許容確率で状態遷移を許容するメカニズムについてはこれまで説明していないのでこれを補足する。
The
許容確率pで1を、(1−p)で0を出力する回路は、2つの入力A,Bを持ち、A>Bのとき1を出力し、A<Bのとき0を出力する比較器の入力Aに許容確率pを、入力Bに区間[0,1)の値をとる一様乱数を入力することで実現することができる。したがってこの比較器の入力Aに、エネルギー変化値と温度値Tにより(1)の式を用いて計算される許容確率pの値を入力すれば、上記の機能を実現することができる。
A comparator that outputs 1 with tolerance probability p and 0 with (1-p) has two inputs A and B, outputs 1 when A> B, and
すなわちfを(1)の式で用いる関数、uを区間[0,1)の値をとる一様乱数とするとき、f(ΔE/T)がuより大きいとき1を出力する回路で、上記の機能を実現できる。 That is, a circuit that outputs 1 when f (ΔE / T) is larger than u, where f is a function used in the equation of (1) and u is a uniform random number taking values in the interval [0, 1), Can realize the function of
このままでもよいのであるが、次のような変形を行っても同じ機能が実現できる。2つの数に同じ単調増加関数を作用させても大小関係は変化しない。したがって比較器の2つの入力に同じ単調増加関数を作用させても出力は変わらない。この単調増加関数としてfの逆関数f−1を採用すると、−ΔE/Tがf−1(u)より大きいとき1を出力する回路でよいことがわかる。さらに温度値Tが正であることから−ΔEがTf−1(u)より大きいとき1を出力する回路でよい。図14中のノイズテーブル14b3はこの逆関数f−1(u)を実現するための変換テーブルであり、区間[0,1)を離散化した入力に対して次の関数の値を出力するテーブルである。 This may be left as it is, but the same function can be realized even if the following modification is made. Even if the same monotonically increasing function is applied to two numbers, the magnitude relationship does not change. Therefore, the output does not change even if the same monotonically increasing function is applied to the two inputs of the comparator. When the inverse function f −1 of f is adopted as the monotonically increasing function, it is understood that a circuit that outputs 1 is acceptable when −ΔE / T is larger than f −1 (u). Furthermore, since the temperature value T is positive, it may be a circuit that outputs 1 when -ΔE is larger than Tf -1 (u). The noise table 14b3 in FIG. 14 is a conversion table for realizing the inverse function f −1 (u), and is a table for outputting the value of the following function to the input obtained by discretizing the interval [0, 1) It is.
遷移制御部14には、判定結果等を保持するラッチやそのタイミングを発生するステートマシン等も存在するが、図14では図示を簡単にするため省略されている。
図15は、従来例における遷移制御部14の動作フローである。動作フローは、1つの状態遷移を候補として選ぶステップ(S1)、その状態遷移に対するエネルギー変化値と温度値と乱数値の積の比較で状態遷移の可否を決定するステップ(S2)、状態遷移が可ならばその状態遷移を採用し、否ならば不採用とするステップ(S3)を有する。
The
FIG. 15 is an operation flow of the
上記の説明からある程度想像できると思われるが、疑似焼き鈍し法は汎用的で非常に魅力的ではあるが、温度をゆっくり下げる必要があるため計算時間が比較的長くなってしまうという問題がある。さらにその温度の下げ方を問題に合わせて適切に調節することが難しいという問題もある。これは図16を用いて次のように説明することができる。 From the above explanation, it can be imagined to some extent that the pseudo annealing method is general purpose and very attractive, but there is a problem that the calculation time becomes relatively long because the temperature needs to be lowered slowly. Furthermore, there is also a problem that it is difficult to properly adjust how to lower the temperature according to the problem. This can be described as follows using FIG.
初期値から最適解や近似解に至る状態遷移の経路には近似度の良くない局所解が多数存在する。これらの局所解から十分早く脱出するには、十分な熱励起が可能な高い温度が必要となる。しかし高い温度ではボルツマン分布におけるエネルギーの広がりが大きいため、最適解やエネルギーの低いよい近似解(以下ではよい解と呼ぶ)と、エネルギーの比較的高い近似度の悪い局所解(以下悪い解と呼ぶ)の占有確率の差が小さい。このため局所解を速く脱出できても行く先は多数ある悪い解に分散されてしまい、よい解にたどり着く確率は非常に小さい。よい解の占有確率を増やすには、悪い解とのエネルギー差に比べ、熱励起のエネルギーが十分に小さくなるような低温が必要である。しかしこの場合熱励起のエネルギーが小さいため、経路の途中のエネルギーの山を越えることができる確率が非常に低くなってしまい、状態変化がほとんど起こらない。したがって、ある程度山を越えることができ、占有確率に少し差のつけられる中間温度をゆっくりと経過させることで、徐々によい解の占有確率を増やしてゆく必要がある。もし温度の下げ方が遅すぎると有限時間ではあまり温度が下がらないため、最終的によい解の占有確率が上がらない。逆に速く下げすぎると、局所解を脱出する前に温度が下がってしまい、悪い解に捕まったままになってしまう。したがって温度が下がるほどその変化の割合を十分小さくし、その温度におけるボルツマン分布に近づくまで十分待たなければならない。 There are many local solutions with poor degree of approximation in the path of the state transition from the initial value to the optimal solution and the approximate solution. In order to escape from these local solutions quickly enough, a high temperature is needed to allow sufficient thermal excitation. However, since the spread of energy in the Boltzmann distribution is large at high temperatures, an optimal solution or a low-approximate good approximate solution (hereinafter referred to as a good solution) and a local solution with a relatively high approximation of energy (hereinafter referred to as a bad solution) The difference in occupancy probability of) is small. For this reason, even if the local solution can be escaped quickly, the destinations to go are dispersed to many bad solutions, and the probability of reaching a good solution is very small. In order to increase the occupancy probability of a good solution, it is necessary to have a low temperature such that the energy of thermal excitation is sufficiently smaller than the energy difference with a bad solution. However, in this case, since the energy of the thermal excitation is small, the probability of being able to cross the energy mountain in the middle of the path becomes very low, and almost no state change occurs. Therefore, it is necessary to gradually increase the occupancy probability of a good solution by slowly progressing an intermediate temperature which can go over a mountain to some extent and which is slightly different from the occupancy probability. If the method of lowering the temperature is too slow, the temperature does not decrease so much in finite time, so the probability of occupancy of a good solution eventually does not increase. On the other hand, if it is dropped too fast, the temperature drops before it escapes the local solution, and it remains trapped by the bad solution. Therefore, as the temperature decreases, the rate of change must be sufficiently reduced, and sufficient waiting must be made to approach the Boltzmann distribution at that temperature.
このように本来の疑似焼き鈍し法では、温度による熱励起だけで局所解からの脱出を図っているため、温度をゆっくり下げる必要があるとともに、それを問題に応じて適切に調節する必要があるという問題がある。 Thus, in the original pseudo-annealing method, it is necessary to slowly lower the temperature since it is intended to escape from the local solution only by thermal excitation by the temperature, and it is necessary to adjust it appropriately according to the problem. There's a problem.
この問題に対して局所解に捕まってしまう問題を温度の調節以外の方法により緩和することが考えられる。例えば、特許文献1,2は、温度の制御方式や評価関数を動的に変更することにより、特許文献3は、状態遷移先である近傍の発生方法を動的に変化させることにより、計算の初期には広範囲の検索、末期には狭い範囲で高精度の検索を行い、計算時間の短縮を図るものである。
It is possible to alleviate the problem of being caught by the local solution for this problem by methods other than temperature control. For example,
これらは、複数の関数を動的に取り換えたり、探索の進み方を把握するために統計を取る等の比較的複雑な演算が必要である。できればもっと簡便で汎用的な方法で計算時間の短縮を可能にすることが望ましい。 These require relatively complex operations such as dynamically replacing a plurality of functions and taking statistics to grasp how a search proceeds. If possible, it is desirable to make it possible to reduce the calculation time in a simpler and more general method.
上記のように局所解の脱出に長い時間がかかってしまうことが疑似焼き鈍し法の計算時間が長くなる大きな要因である。したがって局所解の脱出を促進する方法があれば、計算時間を大幅に短縮することが可能になると期待される。しかし、ただ単に局所解から脱出させるだけでは必ずしも計算時間が早くなるとは限らない。上記のように悪い解が非常に多数存在するため、ある局所解からランダムに放り出したとしても、周りの悪い解にまた捕まってしまうだけである。単に脱出させるだけではなく、よりよい状態に状態遷移するように脱出させることが望ましい。 As described above, taking a long time to escape the local solution is a major factor that increases the calculation time of the pseudo annealing method. Therefore, if there is a method to promote the escape of the local solution, it is expected that the calculation time can be significantly shortened. However, simply escaping from the local solution does not always make the computation time faster. As described above, there are a large number of bad solutions, so even if they are thrown out randomly from a certain local solution, they will only get caught by the bad solutions around them. It is desirable not only to let it escape, but to let it transition to a better state.
よい方向に進むように脱出させるためのヒントは、上記の疑似焼き鈍し法の収束定理にある。この定理はメトロポリス法またはギブス法の状態遷移確率にしたがって状態遷移の可否を決定して行けばよい方向へ進むことを示している。 A hint for getting out in a better direction is in the convergence theory of pseudo annealing above. This theorem indicates that it proceeds in a direction that can be determined by determining whether or not state transition is possible according to the state transition probability of the Metropolis method or Gibbs method.
局所解では状態遷移の確率は非常に小さいため遷移候補の選択は何度も行われ、その後の状態遷移の分岐比はメトロポリス法またはギブス法の遷移確率に比例する。したがって、各状態遷移の許容確率の相対比を保ったままその絶対値を増大することができれば、各状態遷移の分岐比が保たれるため、収束性に悪影響を及ぼすことなく局所解での滞在時間を短縮することが可能となり、計算時間の短縮が可能となる。 In the local solution, since the probability of state transition is very small, selection of transition candidates is repeated many times, and the branching ratio of the state transition after that is proportional to the transition probability of the Metropolis method or Gibbs method. Therefore, if the absolute value can be increased while maintaining the relative ratio of the permissible probability of each state transition, the branching ratio of each state transition is maintained, and therefore the stay at the local solution does not adversely affect the convergence. The time can be shortened, and the calculation time can be shortened.
本発明が解決しようとする課題は、評価関数や状態遷移発生方法等を動的に変化させることなく、収束性を損なうことなく局所解からの脱出を促進するための手段を得ることであり、より具体的には、局所解における各状態遷移の許容確率の相対比を保ったままその絶対値を増大する手段を得ることである。 The problem to be solved by the present invention is to obtain means for promoting the escape from the local solution without changing the evaluation function and the state transition generation method, etc. dynamically and without losing the convergence. More specifically, it is to obtain means for increasing the absolute value while maintaining the relative ratio of the permissible probability of each state transition in the local solution.
非特許文献1はこのような手法の1つである。この文献には記述の誤りがあるものの適切な修正を行えば、上記課題を解決することができる。この手法では、全ての状態遷移に対する許容確率を計算し、その値と指数分布を持つ乱数値の比が最大となる許容確率を採用することで、元の許容確率に比例した割合で採択する状態遷移を選ぶことができる。この方法は、許容確率の相対比を保つとともに、元の状態に留まる確率を0にすることができるため、非常に有効である。しかし、許容確率の計算や乱数値の発生における演算量が大きいという問題がある。
本発明はより簡便な方法で同様の効果、すなわち、収束性を損なうことなく計算時間を短縮できるという効果を得ることを目的とする。 An object of the present invention is to obtain the same effect in a simpler method, that is, the effect that the calculation time can be shortened without losing the convergence.
1つの実施態様では、最適化装置は、エネルギーを表す評価関数に含まれる複数の状態変数の値をそれぞれ保持する状態保持部と、前記複数の状態変数の値の何れかが変化することに応じて状態遷移が起こる場合、前記エネルギーの変化値を複数の状態遷移のそれぞれに対して計算するエネルギー計算部と、温度を示す温度値を制御する温度制御部と、前記温度値と前記変化値と乱数値とに基づいて、前記変化値と熱励起エネルギーとの相対関係によって前記複数の状態遷移の何れかを受け入れるか否かを確率的に決定する際に、前記変化値にオフセット値を加えるとともに、前記エネルギーが極小となる局所解における前記オフセット値を、前記エネルギーが極小ではない場合と比較して大きくなるように制御する遷移制御部と、を有する。 In one embodiment, the optimization device receives a state holding unit that holds values of a plurality of state variables included in an evaluation function representing energy, and changes in any of the values of the plurality of state variables. When a state transition occurs, an energy calculation unit that calculates the change value of the energy for each of a plurality of state transitions, a temperature control unit that controls a temperature value indicating temperature, the temperature value, and the change value An offset value is added to the change value when it is determined probabilistically whether or not to accept any of the plurality of state transitions based on the relative relationship between the change value and the thermal excitation energy based on a random value and And a transition control unit configured to control the offset value in the local solution in which the energy is minimized so as to be larger than that in the case where the energy is not minimized.
また、1つの実施形態では、最適化装置の制御方法が提供される。 Also, in one embodiment, a method of controlling an optimization device is provided.
一つの側面では、本発明は、収束性を損なうことなく計算時間を短縮できる。 In one aspect, the present invention can reduce computation time without compromising convergence.
図1に本発明で提案する局所解からの脱出を促進する機能を備える疑似焼き鈍し法の遷移制御部の構成例を示す。図14に示した遷移制御部14と同じ要素については同一符号が付されている。
FIG. 1 shows an example of the configuration of the transition control unit of the pseudo annealing method provided with the function of promoting escape from the local solution proposed in the present invention. The same components as those of the
図1に示されているように、遷移制御部20は、図13に示した可否判定部14bの機能を実現する回路部分に追加された、オフセット加算回路21とオフセット制御回路22とを有する。その他の部分は図14に示した遷移制御部14と同じである。
As shown in FIG. 1, the
オフセット加算回路21は、状態遷移に伴うエネルギー変化値(−ΔE)にオフセット値yを加えるオフセット加算回路として機能する。図1の回路の例では、オフセット加算回路21は、減算器21aである。このため、図1の例では、エネルギー変化値(−ΔE)にオフセット値yを加える代わりに、比較対象である温度値Tと乱数値の積Tf−1(u)(熱励起エネルギーに相当する)からオフセット値yを減ずる構成となっているがどちらでも同じである。
The offset
オフセット制御回路22は、局所解(エネルギーが極小となる解)におけるオフセット値yを、局所解ではないときに比べて大きくなるように制御する。図1の例では、オフセット制御回路22は、リセット端子Rを有する累算器22aである。累算器22aは、リセット端子Rに入力される遷移可否fが、状態遷移を許容することを示すとき(つまり状態遷移が生じるとき)には、オフセット値yを0にする。また、累算器22aは、入力端子と、クロック端子を有する。累算器22aは、遷移可否fが、状態遷移を許容しないことを示すとき(つまり状態遷移が生じないとき)には、クロック端子に図示しないパルス信号が入力される度に、オフセット値yに入力端子に入力されるオフセット増分値Δyを加えていく。
The offset
なお、図示しないパルス信号は、例えば、後述するステートマシンによって供給される。オフセット増分値Δyは、例えば、図示しないレジスタに記憶されている。
このような遷移制御部20は、セレクタ14b2により選択されたエネルギー変化値(−ΔE)に累算器22aに保持されているオフセット値yを加えた和である−ΔE+yが温度値Tと乱数値の積Tf−1(u)よりも大きいときその状態遷移を許容する。
A pulse signal (not shown) is supplied by, for example, a state machine described later. The offset increment value Δy is stored, for example, in a register not shown.
Such a
そして累算器22aは、オフセット値yを次のように変化する。もし許容された状態遷移が存在し状態遷移が生じたときは、累算器22aは、オフセット値yを、0にリセットする。もし許容された遷移が存在せず状態遷移が起こらなかったときは、累算器22aは、オフセット増分値Δyだけオフセット値yを増加する。
Then, the
図2にこの状態遷移の可否判定のための動作フローをまとめる。
動作フローは、1つの状態遷移を候補として選ぶステップ(S10)、その状態遷移に対するエネルギー変化値(−ΔE)とオフセット値yとの和と、温度値Tと乱数値の積の比較で状態遷移の可否を決定するステップ(S11)を有する。さらに、動作フローは、状態遷移が可ならばその状態遷移を採用し、オフセット値yをクリアし、否ならば不採用とし、オフセット値yを増加するステップ(S12)を有する。
FIG. 2 summarizes the operation flow for determining whether this state transition is possible.
The operation flow is a step of selecting one state transition as a candidate (S10), comparing the sum of the energy change value (-.DELTA.E) and the offset value y for the state transition, and comparing the product of the temperature value T and the random value Of determining whether or not to Furthermore, the operation flow has a step (S12) of adopting the state transition if the state transition is possible, clearing the offset value y, and disapproving the state value, if not, (S12).
このほかの動作は通常の疑似焼き鈍し法と同じでよい。
以下上記のようなオフセット加算回路21とオフセット制御回路22を有する遷移制御部20による効果を説明する。
Other operations may be the same as the normal pseudo annealing method.
The effects of the
現在の状態が局所解に捕まってなかなか脱出できない状態にあるとき、全ての状態遷移に対するエネルギー変化値は大きな正の値である。このときの各状態遷移に対する許容確率はメトロポリス法であってもギブス法であっても、以下の式4−1,4−2に示すように、ほぼ指数関数で表される。 When the current state is caught by the local solution and can not escape easily, the energy change value for all state transitions is a large positive value. The allowable probability for each state transition at this time is approximately expressed by an exponential function as shown in the following equations 4-1 and 4-2, regardless of whether it is the Metropolis method or the Gibbs method.
全ての状態遷移の可否判定において、エネルギー変化値{−ΔEi}にオフセット値yを加えて判定を行うとすると、全ての状態遷移の許容確率は以下の式5のようになり、全ての状態遷移の許容確率が同じ倍率ey/Tで大きくなることがわかる。 Assuming that the offset value y is added to the energy change value {−ΔE i } and the determination is performed in all the state transition determinations, the allowable probabilities of all the state transitions are as shown in Equation 5 below, and all states It can be seen that the transition probability of probability increases at the same scaling factor e y / T.
前述のように、全ての状態遷移の許容確率の相対比を保ったまま許容確率の絶対値を増大することができれば、その後の状態遷移の分岐比を変化させることなく、局所解での滞在時間を短縮することができる。そのため、オフセット値yを用いることで局所解からの脱出促進が期待できる。しかしこのオフセット値yを適切に制御しなければ、加速効果が十分ではなかったり、収束性を悪化させてしまったりする可能性がある。 As described above, if it is possible to increase the absolute value of the permissible probability while maintaining the relative ratio of the permissible probability of all the state transitions, the residence time in the local solution without changing the branching ratio of the subsequent state transitions Can be shortened. Therefore, by using the offset value y, promotion of escape from the local solution can be expected. However, if the offset value y is not properly controlled, the acceleration effect may not be sufficient or the convergence may be deteriorated.
まず、現在の状態が局所解でないときには、エネルギーの下がる状態遷移があるため、遷移確率は指数関数では近似できない。このためオフセット値yがあると分岐比を変えてしまう。このため局所解でないときは、オフセット値yは0であるか十分小さいことが望ましい。 First, when the current state is not a local solution, the transition probability can not be approximated by an exponential function because there is a state transition in which the energy decreases. Therefore, if there is an offset value y, the branching ratio is changed. For this reason, when not a local solution, it is desirable that the offset value y be 0 or sufficiently small.
また現在の状態が局所解であるときのオフセット値yが一定の値であると加速効果はあるものの必ずしも十分でない。状態遷移に伴うエネルギーの増加が大きいものばかりであるとオフセット値yを与えても遷移確率は非常に小さいままである。オフセット値yを与えてもなかなか局所解を脱出できない場合には、さらに大きなオフセット値yを用いることが望ましい。 If the offset value y when the current state is a local solution is a constant value, although there is an acceleration effect, it is not always sufficient. The transition probability remains very small even if the offset value y is given if the increase in energy accompanying the state transition is only large. If a local solution can not be easily escaped even if the offset value y is given, it is desirable to use a larger offset value y.
これを解決するため、図1のオフセット制御回路22は、状態遷移が起こらないときオフセット値yを少しずつ増やし、状態遷移が起こった場合に、オフセット値yを0にリセットする構成となっている。
In order to solve this, the offset
状態が局所解に留まっていると次第にオフセット値yが大きくなるため、いつかは必ず脱出することができる。また、状態が局所解でないときは状態遷移に伴うリセットが頻繁に起こるためオフセット値yは0または小さい値であり、分岐比に大きな影響を及ぼさないようにすることが可能となる。 If the state remains in the local solution, the offset value y gradually increases, so it can always escape someday. In addition, when the state is not a local solution, the reset accompanying the state transition frequently occurs, so the offset value y is 0 or a small value, and it is possible to prevent the branch ratio from being greatly affected.
オフセット増分値Δyも適切に選ぶことが望ましい。オフセット増分値Δyを大きくした方が局所解から速く脱出できる。しかしあまり大きくすると、局所解でないときも必ずしも毎回状態遷移が起こるとは限らないためオフセット値yの影響を受ける可能性がある。また、局所解においても比較的エネルギーの増加が少なく許容確率が高くなるべき状態遷移が候補に挙がる前にオフセット値yが大きくなってしまい、分岐比が正しい値からずれてしまう可能性がある。分岐比に大きな影響を及ぼさないためには、局所解における平均滞在時間が局所解でないときの平均滞在時間の数倍程度になるようにするのがよいと思われる。 It is desirable to properly select the offset increment value Δy. If the offset increment value Δy is increased, the local solution can be quickly exited. However, if it is too large, the state transition does not necessarily occur every time even if it is not a local solution, and therefore it may be affected by the offset value y. In addition, even in the local solution, the offset value y may become large before a state transition that should increase the energy relatively little and have a high allowable probability as a candidate, and the branch ratio may deviate from the correct value. In order not to greatly affect the branching ratio, it seems to be preferable to make the average stay time in the local solution be several times the average stay time when it is not the local solution.
以上のことからオフセット増分値Δyを適切に選べば、収束性に悪影響を及ぼすことなく局所解での滞在時間を短縮することが可能となり、最適化の計算時間の短縮が可能となることがわかる。 From the above, it can be understood that if the offset increment value Δy is appropriately selected, the residence time in the local solution can be shortened without adversely affecting the convergence, and the calculation time of the optimization can be shortened. .
この効果のソフトウェアシミュレーションによる検証については、以下に示す実施の形態とともに後述する。
ところで、本発明は上記のように疑似焼き鈍し法を実現する図13の遷移制御部14、さらにいえばその中でも可否判定部14bに上記のような新たな機能ブロックを加えることにより、計算時間の短縮を図るものである。その他の部分には何ら変更を加えなくてよい。したがって、現在の状態に対して許されうる状態遷移の集合や、状態遷移に伴うエネルギーの変化を与える関数形やその計算方法等にはまったく依存せずに、本発明を適用することができる。したがって、これらの部分の具体的回路構成法については詳しく説明しない。
The verification by software simulation of this effect will be described later together with the embodiment shown below.
By the way, the present invention shortens the calculation time by adding the above-described new functional block to the
ただし、以下で最適化するエネルギーがイジングモデルで表される場合の疑似焼き鈍し法について、また、それとほとんど等価であるボルツマンマシンにおける最適化において、遷移候補の発生及び状態遷移に伴うエネルギーの変化の計算法について簡単に説明する。 However, with regard to the pseudo-annealing method in the case where the energy to be optimized is expressed by the Ising model below, and in the optimization in the Boltzmann machine which is almost equivalent to it, calculation of the change of energy accompanying transition occurrence and state transition I will explain the law briefly.
イジングモデルは、お互いに相互作用を行うN個のスピンからなる系を表すモデルであり、各スピンsiは±1の2値をとる。系のエネルギーは、以下の式6で表される。 The Ising model is a model representing a system of N spins interacting with each other, and each spin s i has a binary value of ± 1. The energy of the system is represented by the following equation 6.
式6において、Ji,jは、スピンsiとスピンsj間の相互作用係数を示し、hiは、系のバイアス値である外部磁場係数を示す。
現在の状態から次の状態への状態遷移の候補は、1つのスピンの反転であり、N通り存在する。したがって遷移候補としては反転する1つのスピン番号または複数のスピンの番号の集合を発生させればよい。
In Equation 6, J i, j represents an interaction coefficient between spin s i and spin s j , and h i represents an external magnetic field coefficient which is a bias value of the system.
Candidates for state transition from the current state to the next state are inversions of one spin, and there are N ways. Therefore, as a transition candidate, a set of spin numbers or a plurality of spin numbers to be inverted may be generated.
そしてi番目のスピン反転に伴うエネルギーの変化は、以下の式7で表される。 And the change of the energy accompanying the i-th spin inversion is represented by the following formula 7.
ここで、以下の式8のFiは、ローカルフィールド(局所場)値と呼ばれ、各スピンの反転によるエネルギー変化の割合を表している。 Here, F i in the following equation 8 is called a local field value, and represents the rate of energy change due to the inversion of each spin.
状態遷移を許容するかどうかはエネルギーの変化で決まるため、基本的にはエネルギーそのものを計算せずにローカルフィールド値からエネルギーの変化を計算すれば十分である。出力として得られた最低エネルギーに対する状態を用いる場合には、ローカルフィールド値からエネルギーの変化を計算しそれを累算してゆくことでエネルギーを求めることができる。 Since whether to allow state transition is determined by the change in energy, it is basically sufficient to calculate the change in energy from the local field value without calculating the energy itself. When using the state for the lowest energy obtained as the output, the energy can be determined by calculating the change of the energy from the local field value and accumulating it.
さらに、 further,
であるから、ローカルフィールド値を行列演算により毎回計算し直す必要はなく、状態遷移にともなって反転のあったスピンによる変化分だけ加算すればよい。
また、ニューラルネットワークに用いられるボルツマンマシンは、状態変数が(0,1)の2値をとることを除いてイジングモデルの疑似焼き鈍し法と同じである。このためほとんど同様の構成とすることができる。エネルギー、エネルギーの変化値、ローカルフィールド値を表す式は、以下の式10、式11、式12のようになる。
Therefore, it is not necessary to recalculate the local field values by matrix operation every time, and it is sufficient to add only the change due to the spin that has been inverted along with the state transition.
Also, the Boltzmann machine used for the neural network is the same as the pseudo annealing method of the Ising model except that the state variable takes two values of (0, 1). Therefore, almost the same configuration can be made. The equations representing energy, energy change value, and local field value are as in the following
なお、ボルツマンマシンではイジングモデルのスピンに相当するものをニューロンと呼ぶことが多いが簡単のため以下ではスピンと呼ぶ。
したがって、図13に示した状態保持部11は、N個のスピンの値を保持するNビットレジスタと加算器、排他的論理和等の比較的簡単な演算回路を用いて構成することができる。
In Boltzmann machines, what is equivalent to the spin of Ising model is often called a neuron, but for simplicity it is called a spin below.
Therefore, the state holding unit 11 shown in FIG. 13 can be configured using an N-bit register holding values of N spins, an adder, and a relatively simple arithmetic circuit such as an exclusive OR.
上記のようにイジングモデルを用いた疑似焼き鈍し法とボルツマンマシンを用いた疑似焼き鈍し法は同等であり、お互いに相互変換できるので、以下では論理回路の0、1と対応の付けやすいボルツマンマシンを想定して説明を行う。 As described above, since the pseudo annealing method using the Ising model and the pseudo annealing method using the Boltzmann machine are equivalent and can be mutually converted, in the following, it is assumed that the Boltzmann machine which easily corresponds to 0 or 1 of the logic circuit. To explain.
なおボルツマンマシン(及びイジングモデルの疑似焼き鈍し)においては、状態遷移に伴い変化する状態変数は1つだけであり、それに対するエネルギー変化値はローカルフィールド値を用いて予め計算しておくことができる。したがって以下の実施の形態では予め計算しておいたエネルギー変化値を遷移候補の発生に応じて選択する形式の実装を例に説明している。しかしながら、ボルツマンマシンでないときは、複数の状態変数が変化する遷移を考える場合もあるため、遷移候補の発生後に必要なエネルギー変化値を計算するような実装が有利になる場合もある。 In the Boltzmann machine (and pseudo annealing of Ising model), there is only one state variable that changes with the state transition, and the energy change value for that can be calculated in advance using the local field value. Therefore, in the following embodiment, an implementation in which the energy change value calculated in advance is selected according to the generation of the transition candidate is described as an example. However, when it is not a Boltzmann machine, since there may be cases in which transitions in which a plurality of state variables change are considered, an implementation that calculates an energy change value necessary after the occurrence of a transition candidate may be advantageous.
以下、ボルツマンマシンを想定した最適化装置の3つの実施の形態を説明する。
(第1の実施の形態)
図3は、第1の実施の形態の最適化装置における遷移制御部の回路構成の一例を示す図である。図1に示した遷移制御部20と同じ要素については同一符号が付されている。図3の遷移制御部20aは、基本的に図1の遷移制御部20と同じであるが、図3では、累算器22aの構成について少し具体的に示されている。
Hereinafter, three embodiments of an optimization apparatus assuming a Boltzmann machine will be described.
First Embodiment
FIG. 3 is a diagram showing an example of a circuit configuration of the transition control unit in the optimization device of the first embodiment. The same elements as those of the
累算器22aは、加算器22a1、セレクタ22a2、レジスタ22a3を有する。
加算器22a1は、オフセット増分値Δyと、レジスタ22a3が出力するオフセット値yとを加算した和を出力する。
The
The adder 22a1 outputs a sum obtained by adding the offset increment value Δy and the offset value y output from the register 22a3.
セレクタ22a2は、遷移可否fが状態遷移を許容することを示すとき、0を選択して出力し、遷移可否fが状態遷移を許容しないことを示すとき、加算器22a1が出力する加算結果を選択して出力する。
The selector 22a2 selects and
レジスタ22a3は、クロック端子に供給されるパルス信号に同期して、セレクタ22a2が出力する値を取り込み、オフセット値yとして出力する。
加算器22a1とレジスタ22a3のビット幅は、適切に設定される。ビット幅は、エネルギー変化値(−ΔE)のビット幅と同程度でよい。例えば相互作用係数のビット幅を16、スピン数を1024とした場合、エネルギー変化値(−ΔE)は最大27ビットとなるのでこのビット幅を用いれば十分である。実際にはこれより少なくても十分である場合がほとんどである。ノイズテーブル14b3の出力のビット幅もエネルギー変化値(−ΔE)のビット幅と同程度以下でよい。
The register 22a3 takes in the value output from the selector 22a2 in synchronization with the pulse signal supplied to the clock terminal, and outputs it as an offset value y.
The bit widths of the adder 22a1 and the register 22a3 are appropriately set. The bit width may be about the same as the bit width of the energy change value (−ΔE). For example, assuming that the bit width of the interaction coefficient is 16 and the number of spins is 1024, the energy change value (-.DELTA.E) is 27 bits at maximum, so it is sufficient to use this bit width. In practice, it is almost always sufficient if there is less than this. The bit width of the output of the noise table 14b3 may be equal to or less than the bit width of the energy change value (-.DELTA.E).
レジスタ22a3のクロック端子に供給されるパルス信号は、回路動作における反復動作をコントロールするステートマシンより供給され、1回の反復における状態遷移の可否が確定した後に、一度だけアクティブになるように制御される。 The pulse signal supplied to the clock terminal of the register 22a3 is supplied from a state machine that controls repetitive operations in the circuit operation, and is controlled to become active only once after determining whether the state transition in one repetitive operation is possible. Ru.
可否判定とその後に続く各パラメータの更新に必要なクロック信号のサイクル数は可否判定結果に依存して変化するため、パルス信号もこのサイクル数に合うように発生させる必要がある。 Since the number of cycles of the clock signal necessary for the determination of availability and the subsequent updating of each parameter changes depending on the result of availability determination, it is necessary to generate a pulse signal so as to match the number of cycles.
以下では、状態の更新があった場合は5サイクル、なかった場合は1サイクルで次の反復に入る場合を例としてパルス信号の発生方法の説明を行う。
図4は、パルス信号の発生の状態遷移の一例を示す状態遷移図である。
In the following, a method of generating a pulse signal will be described by taking as an example the case of entering the next repetition in 5 cycles if there is an update of the state and 1 cycle if there is not.
FIG. 4 is a state transition diagram showing an example of state transition of pulse signal generation.
図4に示すように、0〜4の5つの状態間で、遷移が行われる。状態0のとき、遷移可否fが0である場合、パルス信号が発生される。この場合、状態0からの遷移は行われない。状態0のとき、遷移可否fが1であると、状態1に遷移する。図4において、D.C.は、ドントケアを示している。つまり、状態1からは、遷移可否fの値によらずクロック信号CLKに同期して、状態2、状態3、状態4へと遷移し、状態0へと戻る。そして状態4から状態0に戻る際に、パルス信号が発生される。
As shown in FIG. 4, a transition is made between five states of 0-4. At the time of
このような状態遷移を実現するためのステートマシンは、以下の真理値表を満たす回路とすればよい。
図5は、パルス信号を発生する論理回路の真理値表の一例を示す図である。
A state machine for realizing such state transition may be a circuit satisfying the following truth table.
FIG. 5 is a diagram showing an example of a truth table of a logic circuit that generates a pulse signal.
また、図6は、パルス信号を発生するステートマシンの一例を示す図である。
ステートマシン50は、3ビットフリップフロップ51、インクリメント回路52、AND回路53、セレクタ54、AND回路55,56を有している。図5の真理値表は、各状態の3ビットフリップフロップ51の出力値Q1,Q2,Q3と、入力値D1,D2,D3の関係を示すものである。
FIG. 6 is a diagram showing an example of a state machine that generates a pulse signal.
The
3ビットフリップフロップ51には、インクリメント回路52が出力する3ビットの値のうち、上位2ビット([d0:d1])と、セレクタ54が出力する値が、入力値D1〜D3として供給される。3ビットフリップフロップ51は、クロック信号CLKに同期したタイミングで、入力値D1〜D3を取り込み、出力値Q1〜Q3として出力する。
Of the 3-bit values output from the
インクリメント回路52は、3ビットフリップフロップ51が出力する3ビットの出力値Q1〜Q3を+1する。例えば、出力値Q1〜Q3が、“001”(つまりQ1=Q2=0、Q3=1)である場合、インクリメント回路52は、“010”を出力する。
The
AND回路53は、出力値Q1〜Q3の各ビットの論理レベルを反転した値を入力し、それらの論理積を出力値として出力する。
セレクタ54の一方の入力端子には、インクリメント回路52が出力する3ビットの値の最下位ビット(d2)が供給され、他方の入力端子には、遷移可否fが供給される。そして、セレクタ54は、AND回路53の出力値が1であれば、遷移可否fを出力し、AND回路53の出力値が0であれば、d3を出力する。
The AND
The least significant bit (d2) of the 3-bit value output from the
AND回路55は、出力値Q1〜Q3の3ビット([q1:q3])の各ビットの論理レベルを反転した値を入力し、それらの論理積を出力値として出力する。
AND回路56は、クロック信号CLKと、AND回路55が出力する出力値との論理積を、パルス信号として出力する。
The AND
The AND
以上のようなステートマシン50でパルス信号を生成することができる。
以下第1の実施の形態の最適化装置の動作例を説明する。
乱数発生回路14b1は、前述した各反復において状態遷移の候補の番号(遷移番号N)を乱数値により1つずつ発生する。セレクタ14b2は、その状態遷移に伴うエネルギー変化値(−ΔE)を選択して出力する。また、一様乱数である乱数値に基づきノイズテーブル14b3による変換を行って得られた値に、乗算器14b4が温度値Tを乗算することによりメトロポリス法またはギブス法における熱励起エネルギーを生成する。そして、減算器21aは、熱励起エネルギーから累算器22aが出力するオフセット値yを減ずる。比較器14b5は、減算器21aが出力する減算結果と、セレクタ14b2が選択して出力したエネルギー変化値(−ΔE)とを比較することで状態遷移の可否を決定する。
The pulse signal can be generated by the
An operation example of the optimization apparatus according to the first embodiment will be described below.
The random number generation circuit 14b1 generates the number of the state transition candidate (transition number N) one by one according to the random number value in each repetition described above. The
オフセット値yは、累算器22aにより、状態遷移が採用されたとき0にリセットされ、状態遷移が採用されず現在の状態に留まるときオフセット増分値Δy増分が加算される。これにより、現在の状態における滞在時間に対してオフセット値yが単調増加するよう制御される。
The offset value y is reset to 0 by the
オフセット増分値Δyを決める目安は以下のように与えられる。
前述のように、収束性に悪影響を及ぼすことなく加速効果を得るには、局所解の滞在時間が、局所解でない場合の数倍程度になるようにオフセット増分値Δyを選ぶのがよいと考えられる。本実施の形態のように各反復において状態遷移の候補が1つ発生する場合、各状態遷移が候補に挙がる確率は、全ての状態遷移の数の逆数となる。このことを考慮すると、オフセット増分値Δyは、滞在時間が全ての状態遷移の数の数倍程度になったときオフセット値yが局所解からの脱出に必要な山の高さのエネルギーになるように定めるのがよいと考えられる。
A standard for determining the offset increment value Δy is given as follows.
As mentioned above, in order to obtain the acceleration effect without adversely affecting the convergence, it is better to select the offset increment value Δy so that the residence time of the local solution will be several times that of the non-local solution. Be When one state transition candidate occurs in each iteration as in the present embodiment, the probability that each state transition is a candidate is the inverse of the number of all state transitions. Taking this into consideration, the offset increment value Δy is such that the offset value y becomes the energy of the height of the mountain necessary to escape from the local solution when the staying time becomes several times the number of all state transitions. It is considered that it is better to
図7は図3の遷移制御部を用いて実現される疑似焼き鈍し法のソフトウェアシミュレーション結果の一例を示す図である。最適化する問題は32都市の巡回セールスマン問題をイジングモデル(ボルツマンマシン)により定式化したものである。横軸は反復回数、縦軸は最適解が得られた割合(正答率(%))を表している。結果60は、図3の遷移制御部20aを用いたときの、反復回数と正答率との関係を示し、結果61は、図14に示した遷移制御部14を用いたときの、反復回数と正答率との関係を示す。
FIG. 7 is a diagram showing an example of a software simulation result of the pseudo annealing method realized by using the transition control unit of FIG. The problem to be optimized is the traveling salesman problem of 32 cities formulated by Ising model (Boltzmann machine). The horizontal axis represents the number of iterations, and the vertical axis represents the rate at which the optimal solution was obtained (percent correct answer (%)). The
図7から第1の実施の形態の遷移制御部20aを用いた場合のほうが、遷移制御部14を用いた場合よりも速く正解に達することがわかる。以下の式13で表される99%の確率で正答が得られる反復回数N99で比べると遷移制御部14を用いた場合では4.3×1010、第1の実施の形態の遷移制御部20aを用いた場合では7.7×109であり、約5倍高速化されていることが示された。
It can be seen from FIG. 7 that the correct answer is reached more quickly in the case of using the
ただし、式13において、nは反復回数で、η(n)はその回数での正答率である。
(第2の実施の形態)
図8は第2の実施の形態の最適化装置における遷移制御部の回路構成の一例を示す図である。なお、図8では、乱数値を発生する回路については図示が省略されている。
However, in Equation 13, n is the number of iterations, and η (n) is the correct answer rate at that number.
Second Embodiment
FIG. 8 is a diagram showing an example of a circuit configuration of the transition control unit in the optimization device of the second embodiment. In FIG. 8, the circuit that generates random numbers is not shown.
以下、図8の遷移制御部20bは各ビット反転(スピンの値の変化)を全て状態遷移の候補とするものとして説明するが、各ビット反転の一部のみを状態遷移の候補とすることも可能である。また、以下の説明では、熱励起のために用いる乱数値を、各遷移候補に対して独立とするが、いくつかの状態遷移の候補に対して共通としてもよい。
Hereinafter, the
遷移制御部20bは、図3の遷移制御部20aと同様に累算器22aを有している他、熱励起エネルギー生成部70、減算器71、比較器72、セレクタ73を有する。
熱励起エネルギー生成部70は、遷移候補ごとに独立の乱数値{ui}を、前述した逆関数f−1(u)の値に変換するノイズテーブル(記憶部)を有する。さらに熱励起エネルギー生成部70は、ノイズテーブルが出力する値に温度値Tを乗算した積を、メトロポリス法またはギブス法における熱励起エネルギーとして出力する。
The
The thermal excitation
減算器71は、遷移候補ごとに生成された熱励起エネルギーから、累算器22aが出力するオフセット値yを減ずる。
比較器72は、減算器71が出力する各減算結果と、エネルギー変化値{−ΔEi}とを比較することで各状態遷移の可否を示す遷移可否{fi}を出力する。なお、この比較器72の動作は、複数の状態遷移のそれぞれに対して計算されたエネルギー変化値{−ΔEi}とオフセット値yとの和のそれぞれと、複数の乗算(熱励起エネルギー)とのそれぞれとの比較結果を出力することに相当する。
The
The
セレクタ73は、遷移可否{fi}に基づいて、許容された状態遷移が複数存在するときは、乱数値を用いてその中から1つをランダムに選択する。そして、セレクタ73は、選択した状態遷移の候補の番号(遷移番号N)を出力するとともに、遷移可否fとして1を出力する。状態遷移が生じないときには、遷移可否fは0となる。
If there are a plurality of permitted state transitions, the
以下第2の実施の形態の最適化装置の動作例を説明する。
前述した各反復において、熱励起エネルギー生成部70は、状態遷移の候補の数と等しい独立な一様乱数である乱数値{ui}を受け、ノイズテーブルを用いて変換を行う。そして熱励起エネルギー生成部70は、変換で得られた値に共通の温度値Tを乗算することにより、メトロポリス法またはギブス法における熱励起エネルギーを生成する。
An operation example of the optimization device of the second embodiment will be described below.
In each iteration described above, the thermal excitation
遷移候補ごとに生成された熱励起エネルギーから、減算器71によって、累算器22aが出力するオフセット値yが減ぜられ、比較器72で、減算器71が出力する各減算結果と、エネルギー変化値{−ΔEi}とが比較される。比較器72は、比較結果に基づいて、各状態遷移の可否を示す遷移可否{fi}を出力する。許容された状態遷移が複数存在する時は、セレクタ73は、乱数値を用いてその中から1つをランダムに選択する。
From the thermal excitation energy generated for each transition candidate, the
オフセット値yは、許容された状態遷移が存在し状態が変化するとき(遷移可否fが1のとき)、累算器22aによって0にリセットされる。候補となった状態遷移が全て許容されず現在の状態に留まるとき(遷移可否fが0のとき)、累算器22aは、オフセット値yにオフセット増分値Δyを加算することで、現在の状態における滞在時間に対してオフセット値yが単調増加するよう制御する。
The offset value y is reset to 0 by the
全ての状態遷移が候補として挙げられ、局所解でないときほぼ1回の反復で状態遷移が起こることを考慮すると、オフセット増分値Δyは、滞在時間が数回程度になったとき局所解からの脱出に必要なエネルギーになるように定めるのがよいと考えられる。 The offset increment value Δy escapes from the local solution when the residence time becomes several times, considering that all the state transitions are candidates and the state transition occurs in almost one iteration when not a local solution. It is considered good to set the energy necessary for
図9は図8の遷移制御部を用いて実現される疑似焼き鈍し法のソフトウェアシミュレーション結果の一例を示す図である。最適化する問題は32都市の巡回セールマン問題をイジングモデル(ボルツマンマシン)により定式化したものである。横軸は反復回数、縦軸は最適解が得られた割合(正答率(%))を表している。結果60aは、図8の遷移制御部20bを用いたときの、反復回数と正答率との関係を示し、結果61aは、遷移制御部20bから、減算器71と累算器22aを除いたときの、反復回数と正答率との関係を示す。
FIG. 9 is a view showing an example of a software simulation result of the pseudo annealing method realized by using the transition control unit of FIG. The problem to be optimized is formulated by using the Ising model (Boltzmann machine) for the traveling saleman problem in 32 cities. The horizontal axis represents the number of iterations, and the vertical axis represents the rate at which the optimal solution was obtained (percent correct answer (%)). The
図9から第2の実施の形態の遷移制御部20bを用いた場合のほうが、減算器71と累算器22aがない場合よりも速く正解に達することがわかる。99%の確率で正答が得られる反復回数N99で比べると減算器71と累算器22aがない場合では5.3×107、第2の実施の形態の遷移制御部20bを用いた場合では1.1×107であり、約5倍高速化されていることが示された。
It can be seen that the correct solution is reached faster in the case of using the
以下、図8の遷移制御部20bを用いた最適化装置の一例を説明する。
図10は、図8の遷移制御部を用いた最適化装置の一例を示す図である。
最適化装置80は、エネルギー計算部81a1,…,81ai,…,81an、遷移制御部82、状態更新部83を有している。
Hereinafter, an example of the optimization apparatus using the
FIG. 10 is a diagram showing an example of an optimization apparatus using the transition control unit of FIG.
The
エネルギー計算部81a1〜81anは、図13に示したエネルギー計算部12の一例であり、エネルギー変化値(−ΔE1,…,−ΔEi,…,−ΔEn(前述の{−ΔEi}に相当))を計算し、出力する。
Energy calculation unit 81a1~81an is an example of an
例えば、エネルギー計算部81aiは、レジスタ81b、セレクタ81c,81d、乗算器81e、加算器81f、レジスタ81g、セレクタ81h、乗算器81iを有している。
For example, the energy calculation unit 81 ai includes a
レジスタ81bは、前述の式10等における相互作用係数Ji,1,Ji,2,…,Ji,nを格納する。
なお、相互作用係数Ji,1〜Ji,nは、例えば、最適化装置80内の図示しない制御装置または、最適化装置80の外部の装置により、計算対象の問題に応じて予め計算され、レジスタ81bに格納される。なお、上記のような相互作用係数Ji,1〜Ji,nは、RAM等のメモリに格納されてもよい。
The interaction coefficients J i, 1 to J i, n are calculated in advance according to the problem to be calculated, for example, by a control device (not shown) in the
セレクタ81cは、遷移制御部82が出力する遷移番号Nに基づき、レジスタ81bに格納されている相互作用係数Ji,1〜Ji,nのうち1つを選択して出力する。
例えば、N=nがセレクタ81cに入力されたとき、セレクタ81cは、相互作用係数Ji,nを選択する。
The
For example, when N = n is input to the
セレクタ81dは、式11の1−2siの演算を実現するものであり、状態更新部83が出力する更新後のスピンsNの値に基づき、1または−1を選択して出力する。更新後の値が0のときには、セレクタ81dは、−1を選択して出力し、更新後の値が1のときには、セレクタ81dは、1を選択して出力する。
The
乗算器81eは、セレクタ81cが出力する相互作用係数と、セレクタ81dが出力する値とを乗算した積を出力する。
加算器81fは、乗算器81eが出力する乗算結果と、レジスタ81gに格納されている値とを加算した和を出力する。
The
The
レジスタ81gは、図示しないクロック信号に同期して、加算器81fが出力する値を取り込む。レジスタ81gは、例えば、フリップフロップである。なお、レジスタ81gに格納される値が、式12におけるローカルフィールド値Fiである。
The
セレクタ81hは、変化後のスピンsiの値が、0のとき1を出力し、1のとき−1を出力する。セレクタ81hの出力は、式11の1−2siに相当する。
乗算器81iは、レジスタ81gが出力するローカルフィールド値Fiとセレクタ81hが出力する値とを乗算した積をエネルギー変化値(−ΔEi)として出力する。
The selector 81 h
The
遷移制御部82は、回路部82a1,…,82ai,…,82an、セレクタ82b、オフセット制御回路82cを有している。
回路部82a1〜82anは、図8に示した遷移制御部20bの熱励起エネルギー生成部70、減算器71、比較器72の機能を、状態遷移の候補ごとに分割して行うものであり、セレクタ82bは、図8に示したセレクタ73に相当する。また、オフセット制御回路82cは、図8に示した累算器22aに相当する。
The
The circuit units 82a1 to 82an divide the functions of the thermal excitation
したがって、遷移制御部82は、図8に示した遷移制御部20bと同様の動作を行う。
状態更新部83は、図13に示した状態保持部11の機能を有し、遷移制御部14が出力する遷移可否fと遷移番号Nに基づき、保持されているスピンs1〜snの値を更新して、その値の組み合わせ(State)を出力する。また、状態更新部83は、更新後のスピンの値(図11の例ではsNと表記されている)を出力する。
Therefore,
The
第2の実施の形態の遷移制御部20b,82は、上記のような最適化装置80に適用可能である。
(第3の実施の形態)
図11は第3の実施の形態の最適化装置における遷移制御部の回路構成の一例を示す図である。なお、図11では、乱数値を発生する回路については図示が省略されている。また、図8に示した遷移制御部20bと同じ要素については同一符号が付されている。
The
Third Embodiment
FIG. 11 is a diagram showing an example of a circuit configuration of the transition control unit in the optimization device of the third embodiment. In FIG. 11, the circuit for generating the random number is not shown. The same elements as those of the
以下、図11の遷移制御部20cは各ビット反転(スピンの値の変化)を全て状態遷移の候補とするものとして説明するが、各ビット反転の一部のみを状態遷移の候補とすることも可能である。
Hereinafter, the
遷移制御部20cは、図3の遷移制御部20aと同様に累算器22aを有している他、熱励起エネルギー生成部70a、減算器71a、比較器72a、セレクタ73を有する。
熱励起エネルギー生成部70aは、各遷移候補に対して共通の乱数値u(一様乱数)を、前述した逆関数f−1(u)の値に変換するノイズテーブルを有し、その値に温度値Tを乗算した積を、メトロポリス法またはギブス法における熱励起エネルギーとして出力する。
Similar to the
The thermal excitation
減算器71aは、熱励起エネルギーから、全ての状態遷移の候補に共通なオフセット値yを減ずる。
比較器72aは、減算器71が出力する減算結果と、各状態遷移によるエネルギー変化値{−ΔEi}とを比較することで各状態遷移の可否を示す遷移可否{fi}を出力する。
The
The
セレクタ73は、遷移可否{fi}に基づいて、許容された状態遷移が複数存在するときは、乱数を用いてその中から1つをランダムに選択する。そして、セレクタ73は、選択した状態遷移の候補の番号(遷移番号N)を出力するとともに、遷移可否fとして1を出力する。状態遷移が生じないときには、遷移可否fは0となる。
If there are a plurality of permitted state transitions, the
以下第3の実施の形態の最適化装置の動作例を説明する。
前述した各反復において、熱励起エネルギー生成部70aは、各ビット反転に共通な一様乱数である乱数値uを受け、ノイズテーブルを用いて変換を行う。そして熱励起エネルギー生成部70aは、変換で得られた値に温度値Tを乗算することにより、メトロポリス法またはギブス法における熱励起エネルギーを生成する。
An operation example of the optimization device of the third embodiment will be described below.
In each iteration described above, the thermal excitation
生成された熱励起エネルギーから、減算器71aによって、累算器22aが出力するオフセット値yが減ぜられ、比較器72aで、減算器71aが出力する減算結果と、エネルギー変化値{−ΔEi}とが比較される。比較器72aは、比較結果に基づいて、各状態遷移の状態遷移の可否を示す遷移可否{fi}を出力する。許容された状態遷移が複数存在する時は、セレクタ73は、乱数値を用いてその中から1つをランダムに選択する。
The offset value y output from the
オフセット値yは、第2の実施の形態の遷移制御部20bと同様に制御される。
図12は図11の遷移制御部を用いて実現される疑似焼き鈍し法のソフトウェアシミュレーション結果の一例を示す図である。最適化する問題は32都市の巡回セールマン問題をイジングモデル(ボルツマンマシン)により定式化したものである。横軸は反復回数、縦軸は最適解が得られた割合(正答率(%))を表している。結果60bは、図11の遷移制御部20cを用いたときの、反復回数と正答率との関係を示し、結果61bは、遷移制御部20cから、減算器71aと累算器22aを除いたときの、反復回数と正答率との関係を示す。
The offset value y is controlled in the same manner as the
FIG. 12 is a diagram showing an example of a software simulation result of the pseudo annealing method realized by using the transition control unit of FIG. The problem to be optimized is formulated by using the Ising model (Boltzmann machine) for the traveling saleman problem in 32 cities. The horizontal axis represents the number of iterations, and the vertical axis represents the rate at which the optimal solution was obtained (percent correct answer (%)). The
図12から第3の実施の形態の遷移制御部20cを用いた場合のほうが、減算器71aと累算器22aがない場合よりも速く正解に達することがわかる。99%の確率で正答が得られる反復回数N99で比べると減算器71aと累算器22aがない場合では3.4×107、第3の実施の形態の遷移制御部20cを用いた場合では1.0×107であり、約3倍高速化されていることが示された。
It can be seen that the correct solution is reached more quickly in the case where the
また、第3の実施の形態の遷移制御部20cでは、各状態遷移で共通の乱数値uを用いるため、第2の実施の形態の遷移制御部20bよりも、回路面積を削減できる。
以上、実施の形態に基づき、本発明の最適化装置及び最適化装置の制御方法の一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
Further, in the
As mentioned above, although one aspect of a control method of an optimization device and an optimization device of the present invention was explained based on an embodiment, these are only examples and are not limited to the above-mentioned statement.
14b1 乱数発生回路
14b2 セレクタ
14b3 ノイズテーブル
14b4 乗算器
14b5 比較器
20 遷移制御部
21 オフセット加算回路
21a 減算器
22 オフセット制御回路
22a 累算器
14b1 random number generation circuit 14b2 selector 14b3 noise table 14b4 multiplier 14b5
Claims (9)
前記複数の状態変数の値の何れかが変化することに応じて状態遷移が起こる場合、前記エネルギーの変化値を複数の状態遷移のそれぞれに対して計算するエネルギー計算部と、
温度を示す温度値を制御する温度制御部と、
前記温度値と前記変化値と乱数値とに基づいて、前記変化値と熱励起エネルギーとの相対関係によって前記複数の状態遷移の何れかを受け入れるか否かを確率的に決定する際に、前記変化値にオフセット値を加えるとともに、前記エネルギーが極小となる局所解における前記オフセット値を、前記エネルギーが極小ではない場合と比較して大きくなるように制御する遷移制御部と、
を有することを特徴とする最適化装置。 A state holding unit for holding values of a plurality of state variables included in an evaluation function representing energy;
An energy calculator configured to calculate a change value of the energy for each of a plurality of state transitions when a state transition occurs in response to any of the values of the plurality of state variables changing;
A temperature control unit that controls a temperature value indicating the temperature;
In probabilistically determining whether to accept any of the plurality of state transitions based on the temperature value, the change value, and the random value based on the relative relationship between the change value and the thermal excitation energy. A transition control unit that adds an offset value to the change value and controls the offset value in the local solution in which the energy is minimized so as to be larger than that in the case where the energy is not minimized;
An optimization apparatus characterized by having.
前記オフセット制御回路は、前記複数の状態遷移の何れかを受け入れる場合、前記オフセット値を0にし、前記複数の状態遷移の何れも受け入れない場合、前記オフセット値を第1の期間ごとに増加することで、前記複数の状態変数の値で表される現在の状態の滞在時間に対して前記オフセット値を単調に増加させる、
ことを特徴とする請求項1に記載の最適化装置。 The transition control unit has an offset control circuit,
The offset control circuit sets the offset value to 0 when accepting any of the plurality of state transitions, and increments the offset value every first period when not accepting any of the plurality of state transitions. And monotonously increasing the offset value with respect to the staying time of the current state represented by the values of the plurality of state variables,
The optimization device according to claim 1, characterized in that:
ことを特徴とする請求項2に記載の最適化装置。 The offset control circuit further includes an accumulator having a reset terminal, and the accumulator sets the offset value to 0 when receiving a first signal indicating that any one of the plurality of state transitions is accepted. An offset increment value is added to the offset value upon receiving a second signal indicating that none of the plurality of state transitions is accepted.
The optimization device according to claim 2, characterized in that:
ことを特徴とする請求項3に記載の最適化装置。 The accumulator further has a clock terminal, and adds the offset increment value to the offset value each time a pulse signal from a state machine is input to the clock terminal.
The optimization device according to claim 3, characterized in that:
前記複数の状態遷移のそれぞれに対して計算された前記変化値を、前記乱数値に応じて1つ選択するセレクタと、
前記乱数値に応じた、メトロポリス法またはギブス法で表される前記複数の状態遷移の許容確率を示す関数の逆関数の値を出力する記憶部と、
前記逆関数の値と前記温度値とを乗算した積で表される前記熱励起エネルギーを出力する乗算器と、
前記セレクタが選択した前記変化値と前記オフセット値とを加算した和と、前記熱励起エネルギーとの比較結果に相当する値で表される、前記セレクタが選択した前記変化値に対応する状態遷移を受け入れるか否かの判定結果を出力する比較器と、
を有することを特徴とする請求項1乃至4の何れか一項に記載の最適化装置。 The transition control unit
A selector that selects one of the change values calculated for each of the plurality of state transitions in accordance with the random number value;
A storage unit that outputs a value of an inverse function of a function indicating an allowance probability of the plurality of state transitions represented by the metropolis method or the Gibbs method according to the random value;
A multiplier for outputting the thermal excitation energy represented by a product of the value of the inverse function and the temperature value;
A state transition corresponding to the change value selected by the selector, represented by a value corresponding to a comparison result of the sum of the change value selected by the selector and the offset value and the thermal excitation energy A comparator that outputs the determination result as to whether to accept or not;
The optimization apparatus according to any one of claims 1 to 4, characterized in that
前記複数の状態遷移のそれぞれに対して互いに独立の前記乱数値に応じた、メトロポリス法またはギブス法で表される前記複数の状態遷移の許容確率を示す関数の逆関数の複数の値を出力する記憶部と、
前記複数の値のそれぞれと前記温度値とを乗算した複数の積で表される前記熱励起エネルギーを出力する乗算器と、
前記複数の状態遷移のそれぞれに対して計算された前記変化値と、前記オフセット値とを加算した複数の和のそれぞれと、前記複数の積のそれぞれとの比較結果に相当する複数の値で表される、前記複数の状態遷移のそれぞれを受け入れるか否かの複数の判定結果を出力する比較器と、
前記複数の判定結果に基づいて、前記複数の状態遷移のうち、受け入れる状態遷移が複数ある場合、何れか1つの状態遷移を選択するセレクタと、
を有することを特徴とする請求項1乃至4の何れか一項に記載の最適化装置。 The transition control unit
Outputs a plurality of inverse values of a function indicating an allowable probability of the plurality of state transitions represented by the metropolis method or the Gibbs method according to the random number values independent of one another for each of the plurality of state transitions A storage unit to
A multiplier for outputting the thermal excitation energy represented by a plurality of products obtained by multiplying each of the plurality of values by the temperature value;
A plurality of values corresponding to comparison results between each of a plurality of sums obtained by adding the change value calculated for each of the plurality of state transitions and the offset value, and each of the plurality of products A comparator for outputting a plurality of determination results as to whether or not each of the plurality of state transitions is accepted;
A selector that selects any one state transition when there are a plurality of state transitions to be accepted among the plurality of state transitions based on the plurality of determination results;
The optimization apparatus according to any one of claims 1 to 4, characterized in that
前記複数の状態遷移の全てに対して互いに共通の前記乱数値に応じた、メトロポリス法またはギブス法で表される前記複数の状態遷移の許容確率を示す関数の逆関数の値を出力する記憶部と、
前記逆関数の値と前記温度値とを乗算した積で表される前記熱励起エネルギーを出力する乗算器と、
前記複数の状態遷移のそれぞれに対して計算された前記変化値と、前記オフセット値とを加算した複数の和のそれぞれと、前記積との比較結果に相当する複数の値で表される、前記複数の状態遷移のそれぞれを受け入れるか否かの複数の判定結果を出力する比較器と、
前記複数の判定結果を受け、前記複数の状態遷移のうち、受け入れる状態遷移が複数ある場合、受け入れる前記状態遷移を1つ選択するセレクタと、
を有することを特徴とする請求項1乃至4の何れか一項に記載の最適化装置。 The transition control unit
A memory for outputting a value of an inverse function of a function indicating an allowable probability of the plurality of state transitions represented by the metropolis method or the Gibbs method according to the random number value common to all of the plurality of state transitions Department,
A multiplier for outputting the thermal excitation energy represented by a product of the value of the inverse function and the temperature value;
Represented by a plurality of values corresponding to a comparison result of each of a plurality of sums obtained by adding the change value calculated for each of the plurality of state transitions and the offset value, and the product A comparator that outputs a plurality of determination results as to whether or not each of a plurality of state transitions is accepted;
A selector that receives one of the plurality of determination results and selects one of the state transitions to be accepted when there are a plurality of state transitions to be accepted among the plurality of state transitions;
The optimization apparatus according to any one of claims 1 to 4, characterized in that
前記複数の状態遷移のうちの2以上の状態遷移ごとに共通の前記乱数値に応じた、メトロポリス法またはギブス法で表される前記複数の状態遷移の許容確率を示す関数の逆関数の複数の値を出力する記憶部と、
前記複数の値のそれぞれと前記温度値とを乗算した複数の積で表される前記熱励起エネルギーを出力する乗算器と、
前記複数の状態遷移のそれぞれに対して計算された前記変化値と、前記オフセット値とを加算した複数の和のそれぞれと、前記複数の積のそれぞれとの比較結果に相当する複数の値で表される、前記複数の状態遷移のそれぞれを受け入れるか否かの複数の判定結果を出力する比較器と、
前記複数の判定結果を受け、前記複数の状態遷移のうち、受け入れる状態遷移が複数ある場合、前記受け入れる状態遷移を1つ選択するセレクタと、
を有することを特徴とする請求項1乃至4の何れか一項に記載の最適化装置。 The transition control unit
A plurality of inverse functions of a function indicating an allowable probability of the plurality of state transitions represented by Metropolis method or Gibbs method according to the random number value common to two or more state transitions among the plurality of state transitions A storage unit that outputs the value of
A multiplier for outputting the thermal excitation energy represented by a plurality of products obtained by multiplying each of the plurality of values by the temperature value;
A plurality of values corresponding to comparison results between each of a plurality of sums obtained by adding the change value calculated for each of the plurality of state transitions and the offset value, and each of the plurality of products A comparator for outputting a plurality of determination results as to whether or not each of the plurality of state transitions is accepted;
A selector that selects one of the accepted state transitions when there are multiple accepted state transitions among the plurality of state transitions based on the plurality of determination results;
The optimization apparatus according to any one of claims 1 to 4, characterized in that
前記最適化装置が有する状態保持部が、エネルギーを表す評価関数に含まれる複数の状態変数の値をそれぞれ保持し、
前記最適化装置が有するエネルギー計算部が、前記複数の状態変数の値の何れかが変化することに応じて状態遷移が起こる場合、前記エネルギーの変化値を複数の状態遷移のそれぞれに対して計算し、
前記最適化装置が有する温度制御部が、温度を示す温度値を制御し、
前記最適化装置が有する遷移制御部が、前記温度値と前記変化値と乱数値とに基づいて、前記変化値と熱励起エネルギーとの相対関係によって前記複数の状態遷移の何れかを受け入れるか否かを確率的に決定する際に、前記変化値にオフセット値を加えるとともに、前記エネルギーが極小となる局所解における前記オフセット値を、前記エネルギーが極小ではない場合と比較して大きくなるように制御する、
ことを特徴とする最適化装置の制御方法。 In the control method of the optimization device,
A state holding unit included in the optimization device holds values of a plurality of state variables included in an evaluation function representing energy, respectively.
When a state transition occurs in response to a change in any of the values of the plurality of state variables, an energy calculation unit included in the optimization device calculates the change value of the energy for each of the plurality of state transitions. And
A temperature control unit of the optimization device controls a temperature value indicating a temperature;
Whether the transition control unit included in the optimization device accepts any of the plurality of state transitions according to the relative relationship between the change value and the thermal excitation energy based on the temperature value, the change value, and a random value In addition, an offset value is added to the change value, and the offset value in the local solution in which the energy is minimized is controlled to be larger than that in the case where the energy is not minimized. Do,
And controlling the optimization device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019001947A JP2019087273A (en) | 2019-01-09 | 2019-01-09 | Optimization apparatus and optimization apparatus control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019001947A JP2019087273A (en) | 2019-01-09 | 2019-01-09 | Optimization apparatus and optimization apparatus control method |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016202332A Division JP6465092B2 (en) | 2016-10-14 | 2016-10-14 | Optimization device and control method of optimization device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019087273A true JP2019087273A (en) | 2019-06-06 |
Family
ID=66763170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019001947A Pending JP2019087273A (en) | 2019-01-09 | 2019-01-09 | Optimization apparatus and optimization apparatus control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019087273A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11966716B2 (en) | 2019-09-06 | 2024-04-23 | Hitachi, Ltd | Apparatus and method for fully parallelized simulated annealing using a self-action parameter |
-
2019
- 2019-01-09 JP JP2019001947A patent/JP2019087273A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11966716B2 (en) | 2019-09-06 | 2024-04-23 | Hitachi, Ltd | Apparatus and method for fully parallelized simulated annealing using a self-action parameter |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6465092B2 (en) | Optimization device and control method of optimization device | |
JP6892599B2 (en) | Optimization device and control method of optimization device | |
JP6993571B2 (en) | Optimization device and control method of optimization device | |
JP6923790B2 (en) | Optimization device and control method of optimization device | |
JP7197789B2 (en) | Optimization device and control method for optimization device | |
CN111008696B (en) | Optimizing device and method for controlling optimizing device | |
JP7137064B2 (en) | Optimization device and control method for optimization device | |
JP2017224227A (en) | Information processing device, ising device and method for controlling information processing device | |
JP7273288B2 (en) | Sampling device and sampling device control method | |
JP7174244B2 (en) | Optimization device and control method for optimization device | |
US20190121616A1 (en) | Generating randomness in neural networks | |
US11449309B2 (en) | Hardware module for converting numbers | |
EP3852027B1 (en) | Optimization device, control method of optimization device, and control program of optimization device | |
Özdoğan et al. | Estimations for (n, α) reaction cross sections at around 14.5 MeV using Levenberg-Marquardt algorithm-based artificial neural network | |
JP2019087273A (en) | Optimization apparatus and optimization apparatus control method | |
JP2019071119A (en) | Information processor, ising device and control method of information processor | |
JP2020046715A (en) | Computing apparatus, computation program, storage medium, and computation method | |
Leleu et al. | Scaling advantage of nonrelaxational dynamics for high-performance combinatorial optimization | |
Shahidi et al. | A new method for reversible circuit synthesis using a Simulated Annealing algorithm and don’t-cares | |
Metzler et al. | Generation of unpredictable time series by a neural network | |
Yu et al. | Performance Estimation of Synthesis Flows cross Technologies using LSTMs and Transfer Learning | |
Colbertaldo | Machine learning for species diversification dynamics | |
JP2023149726A (en) | Data processing apparatus, program, and data processing method | |
JP2022158010A (en) | Information processing system, information processing method, and information processing program | |
JP2023049630A (en) | Optimization program, optimization method, and optimization device |