JP6925546B1 - 演算システム、情報処理装置、および最適解探索処理方法 - Google Patents

演算システム、情報処理装置、および最適解探索処理方法 Download PDF

Info

Publication number
JP6925546B1
JP6925546B1 JP2020564776A JP2020564776A JP6925546B1 JP 6925546 B1 JP6925546 B1 JP 6925546B1 JP 2020564776 A JP2020564776 A JP 2020564776A JP 2020564776 A JP2020564776 A JP 2020564776A JP 6925546 B1 JP6925546 B1 JP 6925546B1
Authority
JP
Japan
Prior art keywords
variable
value
memory
unit
state
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.)
Active
Application number
JP2020564776A
Other languages
English (en)
Other versions
JPWO2021220445A1 (ja
Inventor
拓哉 奥山
拓哉 奥山
山岡 雅直
雅直 山岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Application granted granted Critical
Publication of JP6925546B1 publication Critical patent/JP6925546B1/ja
Publication of JPWO2021220445A1 publication Critical patent/JPWO2021220445A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/60Quantum algorithms, e.g. based on quantum optimisation, quantum Fourier or Hadamard transforms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Operations Research (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本発明の好ましい一側面は、混合整数二次計画問題の変数の状態を示す値を記憶する変数メモリと、前記変数の状態を示す値の次状態を計算する状態遷移計算ブロックと、前記状態遷移計算ブロックの非線形係数を記憶する非線形係数メモリと、前記状態遷移計算ブロックの線形係数を記憶する線形係数メモリと、前記状態遷移計算ブロックの重み信号を受信する重み入力線と、前記状態遷移計算ブロックの温度信号を受信する温度入力線と、を備える演算システムである。前記状態遷移計算ブロックは、前記重み信号と前記非線形係数と前記線形係数を用いて差分計算を計算する差分計算ブロックと、前記重み信号と前記温度信号と前記差分計算ブロックの出力値を用いて、区間制約付きの確率分布からランダムにサンプリングするサンプリングブロックと、前記変数メモリから読み出した値を用いて、変数の次状態を計算する次状態決定ブロックと、を備える。

Description

本発明は、情報処理装置、演算装置、及び情報処理方法等に関し、最適解探索処理を実行する技術に関する。
特許文献1には、「イジングモデルの1つのスピンを3以上の状態で表現する値を記憶する第1のメモリセルと、1つのスピンに相互作用を及ぼす他のスピンからの相互作用を示す相互作用係数を記憶する第2のメモリセルと、他のスピンの状態を表現する値と前記相互作用係数を定数または変数として持つ関数に基づいて、1つのスピンの次状態を決定する論理回路と、を有する単位ユニットを複数備える半導体装置」が開示される。
特許文献2には、任意の結合を持つイジングモデルに対して、マルコフ連鎖モンテカルロ法の要求する理論的背景を満たしつつ、全スピンを同時に確率的更新して最適解探索を実現する方法について記載されている。
特開2016−51314号公報 WO2019/216277号公報
Okuyama, T., Sonobe, T., Kawarabayashi, K. I., & Yamaoka, M. (2019). Binary optimization by momentum annealing. Physical Review E, 100(1), 012111. Botev, Z. I. (2017). The normal law under linear restrictions: simulation and estimation via minimax tilting. Journal of the Royal Statistical Society: Series B (Statistical Methodology), 79(1), 125-148. Neal, R. M. (1998). Suppressing random walks in Markov chain Monte Carlo using ordered overrelaxation. In Learning in graphical models (pp. 205-228). Springer, Dordrecht.
物理現象や社会現象の多くは相互作用モデルで表現可能である。相互作用モデルは、モデルを構成する複数のノードと、ノード間の相互作用、さらに必要であればノード毎に作用する係数で定義される。物理学や社会科学の分野においては、イジングモデルを始めとする種々のモデルが提案されているが、いずれも相互作用モデルの一形態として解釈することができる。
この相互作用モデルに関係づけられた指標を最小化または最大化するノード状態を求めることが社会課題の解決において重要である。例えば、ソーシャルネットワークのクリークを検知する問題や、金融分野のポートフォリオ最適化問題が挙げられる。これらは、オペレーションズ・リサーチの分野では、無制約二値二次計画問題や混合二値二次計画問題に大別される。
本発明は上述の背景に鑑みてなされたもので、イジングモデルの基底状態探索を含む、混合二値二次計画問題の最適解探索を高速に実行可能な技術の提供を目的とする。
本発明の好ましい一側面は、混合整数二次計画問題の変数の状態を示す値を記憶する変数メモリと、前記変数の状態を示す値の次状態を計算する状態遷移計算ブロックと、前記状態遷移計算ブロックの非線形係数を記憶する非線形係数メモリと、前記状態遷移計算ブロックの線形係数を記憶する線形係数メモリと、前記状態遷移計算ブロックの重み信号を受信する重み入力線と、前記状態遷移計算ブロックの温度信号を受信する温度入力線と、を備える演算システムである。前記状態遷移計算ブロックは、前記重み信号と前記非線形係数と前記線形係数を用いて差分計算を計算する差分計算ブロックと、前記重み信号と前記温度信号と前記差分計算ブロックの出力値を用いて、区間制約付きの確率分布からランダムにサンプリングするサンプリングブロックと、前記変数メモリから読み出した値を用いて、変数の次状態を計算する次状態決定ブロックと、を備える。
さらに好ましい例では、前記変数メモリは、前記変数の状態を示す値x、…、xおよびy、…、yとして連続値を記憶する。
本発明の好ましい他の一側面は、上記の演算システムと、前記演算システムを制御する計算機を備える情報処理装置である。前記情報処理装置は、記憶部と、変数値読出部とを備え、前記記憶部は、前記混合整数二次計画問題の変数の定義域を記憶し、前記変数値読出部は、前記変数メモリから値を読み出し、前記変数の定義域に基づいて、前記連続値の少なくとも一部を2値に変換する。
本発明によれば、混合二値二次計画問題と呼ばれる最適化問題を高速に解くことができる。上記した以外の課題、構成および効果は、以下の発明を実施するための形態の説明により明らかにされる。
最適化問題の変数配列および目的関数値の関係を示す概念図である。 実施例の説明に供する図である。 実施例の説明に供する図である。 情報処理装置の概略的な構成を示すブロック図である。 演算システムのブロック図である。 情報処理装置が備える主な機能を示す機能ブロック図である。 最適解探索処理を説明するフローチャートである。 演算システムの詳細ブロック図である。 演算システムを構成するユニットのブロック図である。
以下、実施の形態を図面に基づいて詳細に説明する。尚、以下の説明において、同一の又は類似する構成に共通の符号を付して重複した説明を省略することがある。また同一あるいは同様の機能を有する要素が複数ある場合に同一の符号に異なる添字を付して説明することがある。また複数の要素を区別する必要がない場合は添字を省略して説明することがある。
本明細書等における「第1」、「第2」、「第3」などの表記は、構成要素を識別するために付するものであり、必ずしも、数、順序、もしくはその内容を限定するものではない。また、構成要素の識別のための番号は文脈毎に用いられ、一つの文脈で用いた番号が、他の文脈で必ずしも同一の構成を示すとは限らない。また、ある番号で識別された構成要素が、他の番号で識別された構成要素の機能を兼ねることを妨げるものではない。
以下で説明される一実施例は、混合整数二次計画問題の変数の状態を示す値を記憶する変数メモリと、前記変数メモリに対応して状態遷移計算ブロックの非線形係数を記憶する非線形係数メモリと、前記変数メモリに対応して状態遷移計算ブロックの線形係数を記憶する線形係数メモリと、状態遷移計算ブロックの重み信号を受信する重み入力線と、状態遷移計算ブロックの温度信号を受信する温度入力線と、前記状態遷移計算ブロックの重み信号と前記状態遷移計算ブロックの非線形係数と前記状態遷移計算ブロックの線形係数を用いて差分計算を計算する差分計算ブロックと、前記状態遷移計算ブロックの重み信号と前記状態遷移計算ブロックの温度信号と前記差分計算ブロックの出力値を用いて、区間制約付きの確率分布からランダムにサンプリングするサンプリングブロックと、前記サンプリングブロックの出力値と前記変数メモリから読み出した値を用いて、変数の次状態を計算する次状態計算ブロックと、を備える演算システムである。
一般に、整数計画問題とは、整数変数を含む最適化問題をいう。また、整数値を取る変数と実数値を取る変数が混在している場合は、混合整数計画問題という。二次計画問題となる混合整数計画問題は,混合整数二次計画問題という。本明細書では、特に2値を取る変数と実数値を取る変数が混在している混合整数二次計画問題を、混合二値二次計画問題と呼ぶことにする。まず、混合二値二次計画問題の意義を説明する。
解きたい最適化問題によっては2値変数と連続変数が混合することがある。例えば、金融分野の問題において、金融商品の購入比率は0%、もしくは10%〜100%ということがある。購入しないならば当然0%で、購入するならば最低単位の10%以上とする場合などである。このとき、購入するかしないかを示す2値変数x∈{−1,1}と連続変数y∈[−1,1]を用いて、購入比率rは、
r={(1+x)/2} × {0.1+0.9×(1+y))/2}
とすることで表現できる。
連続変数yを複数の2値変数で離散的に表現することも可能だが、連続変数を扱えるようにすることで変数の個数が1個で済む。よって、連続変数を計算機システムで扱えるようにすることで、最適化問題の変数の個数を減らせて、計算機資源で扱える問題規模を大きくすることができる。また、ある問題を解くとき、変数の個数が減るため計算時間を短くすることが期待できる。
一方、問題を連続変数のみで扱うことも可能だが、連続変数では、−1または+1しか値として認めたくない変数に対しても0.3などの値も許してしまうことになる。この場合、「変数xは−1または+1である」という制約をたとえばペナルティー関数(x−1)として目的関数に足せば、変数xを連続変数として扱うことも可能であるが、これでは二次式にならなくなる。また、目的関数が複雑になって最適解を見つけづらいなどの課題がある。よって、二次計画問題を作る際に最初から所定の変数の定義域を2値あるいは離散値とし、計算機で取り扱えるようにする構成のメリットがある。本明細書では以降、最適化問題とのみ称する場合は、混合二値二次計画問題を表すものとする。
最適化問題(ここでは混合二値二次計画問題の意)の変数はs、…、sのN個存在する。そして各変数の定義域Dは2値{−1、+1}または連続値[−1、+1]のいずれかである。どちらであるかは問題毎に決定される。そして、最適化問題の目的関数Hは次式1で表される。すなわち、目的関数Hが変数sの2次式で表される。
Figure 0006925546
式1において、s=[s、…、s]のN次元ベクトル、JはN×N対称行列、hはN次元ベクトルである。前述の通り、変数毎に定義域が異なるので、混合二値二次計画問題は次式2の通り表せる。
Figure 0006925546
ここで、添字の集合Λ、Λを式3の通り定義する。
Figure 0006925546
集合Smixed={s | s ∈ D}を定義する。これらの表記を用いると、式2は次式4とも表現できる。
Figure 0006925546
以降、すべてのi∈Λに対して行列Jのi行i列目の要素は0とする。なぜならば、この変換は式2の最適解を変えないためである。
もしすべてのiに対してD={−1、+1}ならば、この最適化問題はイジングモデルの基底状態探索問題と呼ばれる組合せ最適化問題である。本実施形態では、イジングモデルの基底状態探索も含む最適化問題において、マルコフ連鎖モンテカルロ法(以降、MCMC(Markov Chain Monte Carlo methods)と称する)を活用したアルゴリズムで最適解もしくは近似解を探索する。
図1は変数配列に対する目的関数値のランドスケープを表す概念図である。グラフの横軸は変数配列s、縦軸は目的関数H(s)である。MCMCは現在の状態sから、状態sの近傍のある状態s’への確率的な遷移を繰り返す。状態sから状態s’に遷移する確率を、遷移確率P(s,s’)と称する。遷移確率Pの例としてメトロポリス法(Metropolis method)や熱浴法(heat-bath algorithm)が挙げられる。
遷移確率は温度と呼ばれるパラメータを有し、これは状態間の遷移のし易さを表す。温度を大きな値から徐々に減少させつつMCMCを実行するとき、目的関数値が最も低い状態に漸近的に収束する。これを利用して最小化問題の最適解または近似解を求める手法が、シミュレーティッド・アニーリング(以下、SA(Simulated Annealing)と称する)や非特許文献1で提案されたモメンタム・アニーリング(以下、MA(Momentum Annealing)と称する)である。
式4に示す最小化問題を解くにあたり、代わりに次式5の最小化問題を解くことを考える。ただし集合Srelaxed={s | si ∈ [−1、+1]}である。
Figure 0006925546
式5の最適解をs=[s 、…、s ]と表す。証明は割愛するが、次式6で求まるs=[s 、…、s ]は式4の最適解の一つとなる。本出願で示す実施例の目標は式2の最適解探索であるが、式5の最適解sを求解後に式6の変換を得ても、所望の解sを得られるということである。ただし、関数sgnは引数が0以上ならば+1、それ以外ならば−1を返す関数である。
Figure 0006925546
ここで、N次元ベクトルv=[v、…、v]を導入して、式7に示す関数H’を定義する。
Figure 0006925546
ただし、関数V(v)は式8に記す定義の通りである。
Figure 0006925546
行列W=diag(w、…、w)は任意の対角行列で、viは[−1、+1]を動く実数である。式5に示す最小化問題の代わりにH’(s、v) の最小化問題である式9を導入する。
Figure 0006925546
2つのN次元ベクトルx=s+v、y=s−vを定義する。本来解きたい最適化問題の目的関数はHのみだが、ここにVという関数を導入することで、MCMCで並列更新可能な関数を新たに得られるようにしている。すると、関数H’は式10と書き直せる。
Figure 0006925546
つまり、式5の最小化問題は式11の最小化問題と言い換えられる。
Figure 0006925546
式11の最適解をx、yと表すと、s=(x+y)/2なる等式が成り立つ。これらの議論はWが零行列でも成り立つ。
以上より、式2で表す混合二値二次計画問題の最適解は、式11に示す制約付き二次計画問題の解から求められる。この解を求めるために、MCMCを活用する。
図2は、式11における関数Gの各変数どうしの関係を示したグラフィカルモデルである。関数Gの各変数どうしの関係は、完全2部グラフで表すことができる。関数G内で変数xに乗ぜられる変数は、y、…、yとxのみである。MCMCは変数値を確率的に更新するとき、その変数に係わる変数の値を用いる。つまり、変数xの値を更新するときy、…、yおよびxを求め、それ以外の変数(ここではx、…、x)を参照しない。これは他の変数、例えばxの値の更新でも同様である。ゆえに、変数配列yの値が一定ならば、配列xのそれぞれの値を独立に同時に確率的更新してもMCMCの理論的要請は破らない。
同様に変数yに乗ぜられる変数も、x、…、xとyのみである。ゆえに、変数配列xの値が一定の下で、配列yのそれぞれの値を独立に同時に確率的更新できる。
以上より、「x、…、xの同時更新」と「y、…、yの同時更新」を繰り返す手続きで構成されたMCMCを実行することで、並列化による高速化という利点を享受しながら関数Gを最小化する配列x、yを探索できる。
本実施例の議論では、行列Jに制約を設けていないことに注意されたい。たとえば行列Jの全要素が非零である場合にも、上記の議論が成り立つため、並列更新が可能である。
図3は、全結合グラフの例である。一方で、原問題である式2の最小化問題に対して直接、MCMCを適用する場合、変数配列sの係わり方が図3に示すように全結合グラフで表現されるため一度に一変数しか確率更新できず、逐次更新に限定される。
ここからは、各変数に対する確率的更新の手続きを述べる。更新対象の変数をxとする。変数y、…、yの値が一定下では、温度Tのボルツマン分布における変数xの存在確率p(x)は式12を満たす。
Figure 0006925546
ただし、変数Aiは式13で求める値である。
Figure 0006925546
変数xとyは|x|+|y|≦2であるため、xの動ける範囲は−(2−|y|)以上(2−|y|)以下である。よって、変数xは平均Ai/wi、分散T/wiの正規分布で−(2−|y|)以上(2−|y|)以下を定義域とする切断正規分布を基に、xの次状態をサンプリングすれば良い。この方法ではxの現在の状態には依らずに次状態を決めるということである。yについても同様である。本明細書では、xとyの変数を区別しない場合sと表記することがある。
標準正規分布に従う乱数はBox-Muller法で生成可能である。ここでは定義域が限定されるため、非特許文献2で示されたアルゴリズムを用いればよい。
最適解探索は、温度0における平衡状態からのサンプリングと見なせる。そのため、良質な解探索の実現には、平衡状態への短時間での収束が好ましい。平衡状態への収束性を高めるため、MCMCでは様々な技術が提案されており、これらを活用も可能である。たとえば、非特許文献3は過剰緩和法を提案している。これは次状態の候補として、温度Tのボルツマン分布から1つだけではなく、K個の状態をサンプリングする。そして、サンプリングしたK個の状態に加えて、現在の状態の計(K+1)個の状態を並び替えてx ≦≦x r=x≦x と表す。つまり、現在の状態は(K+1)個の値のうち、小さい方から(r+1)番目ということである。そしてx K+1−rを次状態に採用する。この方法では、次状態がxの現在の状態に依存する。
以上を踏まえて、図4〜図6で本発明を実現する情報処理装置の構成を示す。
図4は、混合二値二次計画問題の最適解を探索する情報処理装置の一例である。同図に示すように、この情報処理装置10は、プロセッサ11、主記憶装置12、補助記憶装置13、入力装置14、出力装置15、通信装置16、一つ以上の演算装置20、及びこれらの装置を通信可能に接続するシステムバス5を備える。情報処理装置10は、例えば、その一部又は全部がクラウドシステム(Cloud System)により提供されるクラウドサーバ(Cloud Server)のような仮想的な情報処理資源を用いて実現されるものであってもよい。また情報処理装置10は、例えば、互いに協調して動作する、通信可能に接続された複数の情報処理装置によって実現されるものであってもよい。
プロセッサ11は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)を用いて構成されている。主記憶装置12は、プログラムやデータを記憶する装置であり、例えば、ROM(Read Only Memory)、SRAM(Static Random Access Memory)、NVRAM(Non Volatile RAM)、マスクROM(Mask Read Only Memory)、PROM(Programmable ROM)等)、RAM(Random Access Memory)(DRAM(Dynamic Random Access Memory)等)等である。補助記憶装置13は、ハードディスクドライブ(Hard Disk Drive)、フラッシュメモリ(Flash Memory)、SSD(Solid State Drive)、光学式記憶装置(CD(Compact Disc)、DVD(Digital Versatile Disc)等)等である。補助記憶装置13に格納されているプログラムやデータは、随時、主記憶装置12に読み込まれる。
入力装置14は、ユーザから情報の入力を受け付けるユーザインタフェースであり、例えば、キーボード、マウス、カードリーダ、タッチパネル等である。出力装置15は、ユーザに情報を提供するユーザインタフェースであり、例えば、各種情報を可視化する表示装置(LCD(Liquid Crystal Display)、グラフィックカード等)や音声出力装置(スピーカ)、印字装置等である。通信装置16は、他の装置と通信する通信インタフェースであり、例えば、NIC(Network Interface Card)、無線通信モジュール、USB(Universal Serial Interface)モジュール、シリアル通信モジュール等である。
演算装置20は、混合二値二次計画問題の最適解探索に関する処理を実行する装置である。演算装置20は、例えば、GPU(Graphics Processing Unit)のように、情報処理装置10に装着する拡張カードの形態を取るものであってもよい。演算装置20は、例えば、CMOS(Complementary Metal Oxide Semiconductor)回路、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)等のハードウェアによって構成される。演算装置20は、制御装置、記憶装置、システムバス5に接続するためのインタフェース等を含み、システムバス5を介してプロセッサ11との間でコマンドや情報の送受を行う。演算装置20は、例えば、通信線を介して他の演算装置20と通信可能に接続され、他の演算装置20と協調して動作するものであってもよい。演算装置20により実現される機能を、例えば、プロセッサ(CPU、GPU等)にプログラムを実行させることにより実現してもよい。
図4に示される演算装置20は、後に図5で説明される。演算装置20は、一つもしくは複数を実装することができる。
図5は、演算装置20の動作原理を説明する図であり、演算装置20を構成するシステム(以下、演算システム500と称する。)のブロック図である。演算システム500は変数配列x、…、xまたは変数配列y、…、yを温度Tにおけるボルツマン分布(式12)からサンプリングする機能を実現する。以下、同図とともに演算装置20の動作原理について説明する。
同図に示すように、演算システム500は、変数メモリ511、非線形係数メモリ512、線形係数メモリ513、差分計算ブロック514、サンプリングブロック515、及び次状態決定ブロック516を含む。
各演算システム500の変数メモリ511には、前述した変数x、…、x及びy、…、yを示す情報が格納される(図2参照)。
非線形係数メモリ512には、行列Jを表す情報が格納される。行列Jは一般に対称行列であり、この対称性を用いて非線形係数メモリ512の使用量を削減することができる。線形係数メモリ513には、ベクトルhを表す情報が格納される。
同図に示すように、演算システム500には、制御信号EN、重み信号SW、及び温度信号TEが入力される。
信号ENは、H(high)とL(low)の値を周期的に繰り返す信号で、変数配列xとyいずれを更新しているかを表す。たとえば、ENがHのときは変数配列xを更新、Lのときはyを更新と定める。この信号ENにより、変数x、…、xを同時に更新し、また変数y、…、yを同時に更新する。図5では簡略化のため信号ENはサンプリングブロック515のみに入力しているが、変数メモリなど本信号を必要とする他の箇所に対しても同様に印加する。
信号SWは、対角行列Wの対角成分を表すN要素のベクトルを表す信号である。
差分計算ブロック514には、非線形係数メモリ512に格納されている行列Jの値、線形係数メモリ513に格納されているベクトルh、信号SW、および変数メモリ511に格納されている変数s(xまたはy)が入力される。差分計算ブロック514は、信号ENがHのとき(J+diag(w、・・・、w))y+h、ENがLのとき(J+diag(w、・・・、w))x+hを出力する。この出力値は前述のAに相当する。
サンプリングブロック515は、差分計算ブロック514の出力と信号SW、温度パラメータの値を保持する信号TW、信号EN、および他の変数の値を受けとる。そしてi番目の要素として、信号ENがHのとき−(2−|y|)以上(2−|y|)以下、ENがLのとき−(2−|x|)以上(2−|x|)以下を定義域とする、式12で表される切断正規分布からランダムにサンプリングして出力する。
次状態決定ブロック516は、サンプリングブロック515から出力される一つないしは複数の値を基に、変数の次状態を決定する。もし、MCMCの更新則として単なる熱浴法に定めたならば、次状態決定ブロック516はサンプリングブロック515の出力値を1つだけ受け取り、それをそのまま変数メモリ511に書き込めばよい。また、MCMCの更新則として公知の過剰緩和法を用いるならば、次状態決定ブロック516はサンプリングブロック515から複数の値、そして変数メモリ511から更新対象の変数の現在値を受け取り、過剰緩和法に従って1つ選択して、変数メモリ511に書き込む。周知のように、過剰緩和法では,直前の状態との相関が負となるように次の状態を決める。
図6に情報処理装置10が備える主な機能(ソフトウェア構成)を示している。同図に示すように、情報処理装置10は、記憶部600、モデル変換部611、モデル係数設定部612、重み設定部613、変数値初期化部614、温度設定部615、相互作用演算実行部616、及び変数値読出部617を備える。これらの機能は、プロセッサ11が、主記憶装置12に格納されているプログラムを読み出して実行することにより、もしくは、演算装置20が備えるハードウェアにより実現される。尚、情報処理装置10は、上記の機能に加えて、例えば、オペレーティングシステム、ファイルシステム、デバイスドライバ、DBMS(DataBase Management System)等の他の機能を備えていてもよい。
上記機能のうち記憶部600は、問題データ601、二次計画形式問題データ602、定義域データ603、及び演算装置制御プログラム604を、主記憶装置12又は補助記憶装置13に記憶する。問題データ601は、例えば、最適化問題等を公知の所定の記述形式で記述したデータである。問題データ601は、例えば、ユーザがユーザインタフェース(入力装置、出力装置、通信装置等)を介して設定する。
二次計画形式問題データ602は、モデル変換部611が、問題データ601を式4が示す二次計画問題のフォーマットに合致する形式のデータに変換することにより生成されるデータである。この変換にあたり、与えられた各変数の定義域は、定義域データ603に書き込まれる。定義域データは、例えば各変数が2値を取るか実数値を取るかを示している。演算装置制御プログラム604は、相互作用演算実行部616が演算装置20を制御する際に実行する、もしくは相互作用演算実行部616が個々の演算装置20にロードして演算装置20に実行させるプログラムである。
モデル変換部611は、問題データ601を二次計画問題のフォーマットである二次計画形式問題データ602に変換する。このために、式1から式11を導出する機能を、ソフトウェアあるいはハードウェアとしてモデル変換部611に実装しておけばよい。モデル変換部611の機能は必ずしも情報処理装置10に実装されていなくてもよく、情報処理装置10が、他の情報処理装置等で生成された二次計画形式問題データ602を入力装置14や通信装置16を介して取り込むようにしてもよい。
モデル係数設定部612は、二次計画形式問題データ602に基づく、式4の行列Jを非線形係数メモリ512に、ベクトルhを線形係数メモリ513に設定する。
変数値初期化部614は、演算装置20の変数メモリ511に格納されている各変数の値を初期化する。変数値初期化部614は、例えば、各変数の値を−1以上+1以下から一様に、ランダムサンプリングして決めればよい。この際に、変数に関する制約である|x|+|y|≦2を満たすよう注意しなければならない。また、このときの各変数の値は連続値で扱われていることに留意されたい。
温度設定部615は、相互作用演算実行部616が最適解探索を行う際に用いる温度Tを設定する。
相互作用演算実行部616は、温度設定部615により設定された温度Tごとに、式11で表す関数Gを最小化する変数配列xおよびyを探索する演算(以下、相互作用演算と称する。)を演算装置20に実行させる。相互作用演算に際し、相互作用演算実行部616は、例えば、温度Tを高いほうから低いほうに向けて変化させる。
変数値読出部617は、相互作用演算実行部616による最適解探索が終了すると、変数メモリ511に格納されている変数配列xおよびyを読み出す。ここで読み出される値は、式11の解である。上述の議論に従って、N次元ベクトルs=(x+y)/2を計算する。そして定義域データ603を読み出し、式6で得られるベクトルsを最終的な解として出力装置15や通信装置16に出力する。つまり、定義域データ603にてi番目の定義域が{−1、+1}と判明すればsgn(s )、i番目の定義域が[−1、+1]ならばs自体を出力するということである。このようにして、定義された値域に応じた解が求められる。
図7は、最適解探索に際し情報処理装置10が行う処理(以下、最適解探索処理S700と称する。)を説明するフローチャートである。以下、同図とともに最適解探索処理S700について説明する。尚、以下において、符号の前に付している「S」の文字は処理ステップの意味である。最適解探索処理S700は、例えば、入力装置14を介してユーザからの指示等を受け付けることにより開始される。
同図に示すように、まずモデル変換部611が、問題データ601を二次計画形式問題データ602に変換する(S711)。二次計画形式問題データは、たとえば式1で表現される関数Hにおける行列J、ベクトルhを任意の形式で表現する。記憶部600が既に二次計画形式問題データ602を記憶している場合は当該処理S711を省略する。S711の処理と、S712以降の処理とは、夫々を異なる装置で実行するようにしてもよい。またS711の処理と、S712以降の処理とを異なるタイミングで実行するようにしてもよい(例えば、S711の処理を事前に行っておくことが考えられる。)。
続いて、モデル係数設定部612が、非線形係数メモリ512および線形係数メモリ513に行列Jとベクトルhの値を設定する(S712)。メモリの値は、ユーザインタフェース(例えば、入力装置14、出力装置15、通信装置16等により実現される。)を介してユーザが設定又は編集することもできる。
続いて、重み設定部613が信号SWの値を決定する。前述の式8の説明通り、最適解を探索する上で信号SWは任意の値を取ることが許される。そのため、信号値は常に0としても良い。この場合は計算の負荷を軽減することができる。また、特許文献2の式3〜式5に示すように行列Jの固有値から決定しても良い。あるいは、行列Jの行和から決定しても良い。信号SWの値算出の計算は、演算装置20内またはプロセッサ11で実行してもよい。あるいはユーザが自分で設定してもよい(S713)。
続いて、変数値初期化部614が、変数メモリ511に格納されている各変数の値を初期化する(S714)。変数メモリ511に格納する値は連続値である。先に述べたように初期値はランダムでよい。以上で、式11を表現するパラメータが設定されたことになる。
続いて、温度設定部615が、最適解探索にて使用する温度パラメータの系列T(k=1,2,3、…)を設定する(S715)。尚、上記の添字kは設定される温度Tの種類を表す。温度Tの設定方法については、たとえば特許文献1の方法を採用可能である。
続いて、相互作用演算実行部616が、図5に示す演算システム500の演算により、変数配列の確率的な同時更新を実行する(S716)。
続いて、相互作用演算実行部616は、停止条件が成立したか否か(例えば、温度Tが予め設定された最低温度に達したか否か)を判定する(S717)。停止条件が成立したと相互作用演算実行部616が判定した場合(S717:YES)、処理はS718に進む。一方、停止条件が成立しないと相互作用演算実行部616が判定した場合(S717:NO)、処理はS716に戻る。
S718では、変数値読出部617が、変数メモリ511に格納されている変数の値と定義域データ603に格納されている二次計画形式問題データ602の各変数の定義域を読みだす。そして、式6に基づいた変換を通じたベクトルを算出して、式2もしくは式4の解として出力する。以上で最適解探索処理S700は終了する。
以上、詳細に説明したように、本実施形態の情報処理装置10によれば、混合二値二次計画問題の最適解探索を効率よく行うことができる。そのため、最適化問題を効率よく解くことができる。尚、情報処理装置10(演算装置20を含む)は、シンプルな構成であるので安価かつ容易に製造することができる。
演算システム500は、既に述べた最適化問題を解く計算を実行する機能を備える限り、ソフトウェアで構成してもよいし、ハードウェアで構成してもよい。具体的には、アニーリング方式において電子回路(デジタル回路など)で実装するハードウェアだけでなく、超伝導回路などで実装する方式でもよい。また、アニーリング方式以外にてイジングモデルを実現するハードウェアでもよい。例えばレーザーネットワーク方式(光パラメトリック発振)、量子ニューラルネットワークなどが知られている。また、一部の考え方が異なるものの、イジングモデルで行う計算をアダマールゲート、回転ゲート、制御NOTゲートといったゲートで置き換えた量子ゲート方式も、本実施例の構成として採用することができる。
演算システム500の具体的な実装例として、特許文献1で説明されているCMOS(Complementary Metal-Oxide Semiconductor)集積回路や、FPGA(Field Programmable Gate Array)上の論理回路として実装する例を説明する。
特許文献1の技術では、SRAM(Static Random Access Memory)の技術を適用したユニットを複数配置し、各ユニットに変数を格納するメモリと変数を更新するための回路を配置する。
図8は、SRAMの技術を本実施例の演算システム500に適用した場合の回路構成例を示すブロック図である。複数のユニット801がアレイユニット802を構成している。このような構成は半導体製造技術を応用して製造可能である。
一つのユニット801には、一つの変数x、…、x及びy、…、yのいずれかを記憶する多値メモリ901と、多値メモリ901の値を更新するための構成が含まれる。すなわち、ユニット801は2N個準備される。
図8の構成例を、一般化されている図5の構成も参照しつつ説明する。非線形係数メモリ512と線形係数メモリ513に格納されるデータは、モデル係数設定部612から設定される。非線形係数メモリ512には、N×N行列Jが格納されるが、これは全てのユニット801で共通に用いられる。また、線形係数メモリ513にはN次元ベクトルhが格納されるが、これは全てのユニット801で共通に用いられる。回路規模を縮小するために、これらのメモリは各ユニット801共通のものとした。よって、非線形係数メモリ512と線形係数メモリ513は、全てのユニット801に係数Jとhを供給するが、図8ではそのための信号線は省略している。なお、原理的には非線形係数メモリ512と線形係数メモリ513を、各ユニット801が個々に備えてもよい。
重みメモリ803には対角行列Wの対角成分を表すN要素のベクトル(w、…、w)が格納される。このデータは重み設定部613で設定されたものである。x、yを記憶するi番目のユニットは、i番目の成分wを使用するので、ユニット801毎に信号SWの値を切り替える必要がある。図8ではユニット801に信号SWを供給する信号線は省略している。
温度設定部615から供給される温度信号TEは、全てのユニット801に供給される。温度信号の機能や構成は、従来技術を踏襲するものである。ユニット801に信号TEを供給する信号線は省略している。
相互作用ドライバ804は、変数xの更新を許可する信号と、変数yの更新を許可する信号を交互に各ユニット801に入力する。これにより、変数x〜xが同時に更新され、変数y〜yが同時に更新される。
SRAMインタフェース805は、SRAMの回路構成を応用して作成されたユニット801の変数を格納するメモリに対して書き込みおよび読み出しを行う。演算システム500での処理終了後に読み出された変数は、変数値読出部617に送られる。変数値読出部617は、定義域データ603に基づいて、読み出した変数を連続値あるいは2値として出力することにより、混合二値二次計画問題の解を得る。
コントローラ806は、相互作用演算実行部616の指示により、演算システム500の初期化や処理の終了報告を行う。
図9は、一つのユニット801の回路構成例を示す図である。一つのユニットには、連続変数x、…、x及びy、…、yのいずれか一つを記憶する多値メモリ901が含まれる。
差分計算回路902は、差分計算ブロック514の機能を実現する。差分計算回路902には、多値メモリ901の記憶する変数がx、…、xのいずれかの場合には、(y、…、y)のベクトルが入力される。また多値メモリ901の記憶する変数がy、…、yのいずれかの場合には、(x、…、x)のベクトルが入力される。これらの変数ベクトルは、他のユニット801の多値メモリ901からSRAMインタフェース805が読み出して生成する。また、係数であるN×N行列JとN次元ベクトルhが入力される。また、重みwが入力される。差分計算回路902は、これらの入力に対して(J+diag(w、・・・、w))s+h(sはxまたはyの変数ベクトル)のi行目の値Aを出力することになる。
サンプリング回路903は、サンプリングブロック515の機能を実現する。サンプリング回路903には、出力A、信号EN、信号SW、信号TE、および、多値メモリ901の記憶する変数がxの場合はyが、多値メモリ901の記憶する変数がyの場合はxが入力される。そして、式12に基いて変数sの存在確率p(s)から変数の次状態の候補をサンプリングする。
状態決定回路904は、サンプリング回路903から出力される一つないしは複数の候補に基づいて、変数の次状態を決定する。状態決定回路904では、たとえば、過剰緩和法に従う場合には、サンプリング回路903から複数の候補を得ると、多値メモリ901の直前の状態との相関が負となる候補を選択して次状態を決定する。決定された次状態は多値メモリ901に格納される。
以上では、差分計算ブロック514、サンプリングブロック515、次状態決定ブロック516は、FPGA等のハードウェアを想定したが、例えば、GPUやベクトル型計算機などに搭載された多数の演算器を活用したソフトウェア実装も可能である。このように複数のユニット801を備えることにより、並列的な変数の更新が可能となる。
以上、一実施形態について詳述したが、本発明は上記の実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また上記実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また上記の各構成、機能部、処理部、処理手段等は、それらの一部または全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、SSD(Solid State Drive)等の記録装置、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また上記の各図において、制御線や情報線は説明上必要と考えられるものを示しており、必ずしも実装上の全ての制御線や情報線を示しているとは限らない。例えば、実際には殆ど全ての構成が相互に接続されていると考えてもよい。
また以上に説明した情報処理装置10の各種機能部、各種処理部、各種データベースの配置形態は一例に過ぎない。各種機能部、各種処理部、各種データベースの配置形態は、情報処理装置10が備えるハードウェアやソフトウェアの性能、処理効率、通信効率等の観点から最適な配置形態に変更し得る。
また前述した各種のデータを格納するデータベースの構成(スキーマ(Schema)等)は、リソースの効率的な利用、処理効率向上、アクセス効率向上、検索効率向上等の観点から柔軟に変更し得る。
情報処理装置、演算装置、情報処理方法等に利用することが可能である。
10 情報処理装置、11 プロセッサ、12 主記憶装置、20 演算装置、511 変数メモリ、512 非線形係数メモリ、513 線形係数メモリ、514 差分計算ブロック、515 サンプリングブロック、516 次状態決定ブロック、600 記憶部、601 問題データ、602 二次計画形式問題データ、603 定義域データ、604 演算装置制御プログラム、611 モデル変換部、612 モデル係数設定部、613 重み設定部、614 変数値初期化部、615 温度設定部、616 相互作用演算実行部、617 変数値読出部

Claims (15)

  1. 混合整数二次計画問題の変数の状態を示す値を記憶する変数メモリと、
    前記混合整数二次計画問題の最適解探索を行うために前記変数の状態を示す値の次状態を計算する状態遷移計算ブロックと、
    前記状態遷移計算ブロックの非線形係数を記憶する非線形係数メモリと、
    前記状態遷移計算ブロックの線形係数を記憶する線形係数メモリと、
    前記状態遷移計算ブロックの重み信号を受信する重み入力線と、
    前記状態遷移計算ブロックの温度信号を受信する温度入力線と、を備え、
    前記変数メモリ、前記状態遷移計算ブロック、前記非線形係数メモリ、前記線形係数メモリ、前記重み入力線、及び前記温度入力線は専用のハードウェアで構成され、
    前記状態遷移計算ブロックは、
    前記重み信号と前記非線形係数と前記線形係数を用いて差分計算を実行する差分計算ブロックと、
    前記重み信号と前記温度信号と前記差分計算ブロックの出力値を用いて、区間制約付きの確率分布からランダムに前記次状態の候補をサンプリングするサンプリングブロックと、
    前記変数メモリから読み出した値を用いて、前記次状態の候補に基づいて変数の次状態を計算する次状態決定ブロックと、
    を備える演算システム。
  2. 前記変数メモリは、前記変数の状態を示す値x、…、xおよびy、…、yとして連続値を記憶する、
    請求項1記載の演算システム。
  3. 前記非線形係数Jは、N×N行列であり、
    前記線形係数hは、N次元ベクトルであり、
    前記重み信号SWは、対角行列Wの対角成分w、…、wを表すN要素のベクトルを表す信号である、
    請求項2記載の演算システム。
  4. 前記差分計算ブロックには、前記非線形係数J、前記線形係数h、前記重み信号SW、および前記変数メモリに記憶されている値が入力され、(J+diag(w、・・・、w))s+hを出力し、
    ただし、sはN次元ベクトル(x、…、x)および(y、…、y)のいずれかである、
    請求項3記載の演算システム。
  5. 前記非線形係数Jは対称行列である、
    請求項3記載の演算システム。
  6. 前記非線形係数Jのi行i列目の要素は0である、
    請求項5記載の演算システム。
  7. 前記サンプリングブロックには、前記差分計算ブロックの出力A、前記重み信号SW、前記温度信号TE、制御信号EN、および、前記変数メモリに記憶されている値が入力され、
    前記制御信号ENが第1の値のとき−(2−|y|)以上(2−|y|)以下、前記制御信号ENが第2の値のとき−(2−|x|)以上(2−|x|)以下を定義域とする正規分布からランダムに1または複数の値をサンプリングして出力し、
    前記正規分布は、前記出力A、前記重み信号SW、および前記温度信号TEに基づいて形成される、
    請求項4記載の演算システム。
  8. 前記正規分布は、平均A i /wi、分散T/wiの正規分布であり、
    ただし、A i は前記出力Aのi番目の値、Tは前記温度信号TEの値である、
    請求項7記載の演算システム。
  9. 前記次状態決定ブロックは、熱浴法および過剰緩和法の少なくとも一つに基づいて、変数の次状態を計算する、
    請求項1記載の演算システム。
  10. 前記変数の状態を示す値x、…、xおよびy、…、yの一つを記憶する多値メモリを備えるユニットを複数備え、
    前記ユニットのそれぞれは、前記差分計算ブロックの一部の機能を実行する差分計算部と、前記サンプリングブロックの一部の機能を実行するサンプリング部と、前記次状態決定ブロックの一部の機能を実行する次状態決定部を備え、
    前記変数の状態を示す値xまたはyの一つを記憶する多値メモリを備えるユニットにおいては、
    前記差分計算部は、前記非線形係数J、前記線形係数h、対角行列Wのi番目の対角成分w、および自ユニットの多値メモリが記憶する値がxのときはN次元ベクトル(y、…、y)を、自ユニットの多値メモリが記憶する値がyのときはN次元ベクトル(x、…、x)を入力とし、
    =h+w+Σij
    (ただし、hは線形係数hのi番目の要素、sは自ユニットの多値メモリが記憶する値がxのときはy、自ユニットの多値メモリが記憶する値がyのときはxを示す)を出力とする、
    請求項4記載の演算システム。
  11. 前記サンプリング部は、前記差分計算部の出力A、前記対角成分w、前記温度信号TE、制御信号EN、および、前記変数メモリに記憶されている値が入力され、
    前記制御信号ENが第1の値のとき−(2−|y|)以上(2−|y|)以下、前記制御信号ENが第2の値のとき−(2−|x|)以上(2−|x|)以下を定義域とする平均A i /wi、分散T/wiの正規分布からランダムに1または複数の値をサンプリングして出力する、
    (ただし、Tは前記温度信号TEの値である)
    請求項10記載の演算システム。
  12. 請求項2記載の演算システムと、前記演算システムを制御する計算機を備える情報処理装置であって、
    前記情報処理装置は、記憶部と、変数値読出部とを備え、
    前記記憶部は、前記混合整数二次計画問題の変数の定義域を記憶し、
    前記変数値読出部は、前記変数メモリから値を読み出し、前記変数の定義域に基づいて、前記連続値の少なくとも一部を2値に変換する、
    情報処理装置。
  13. 請求項11記載の演算システムと、前記演算システムを制御する計算機を備える情報処理装置であって、
    前記情報処理装置は、記憶部と、変数値読出部とを備え、
    前記記憶部は、前記混合整数二次計画問題の変数の定義域を記憶し、
    前記変数値読出部は、前記変数メモリから値を読み出し、前記変数の定義域に基づいて、前記連続値を2値に変換する、
    情報処理装置。
  14. 請求項4記載の演算システムと、前記演算システムを制御する計算機を備える情報処理装置で実行する最適解探索処理方法であって、
    前記計算機の記憶部に、二次計画形式問題データと、前記二次計画形式問題データの変数の定義域である定義域データを準備する第1のステップ、
    前記計算機のモデル係数設定部が、前記非線形係数メモリに前記非線形係数Jを設定し、前記線形係数メモリに前記線形係数hの値を設定する第2のステップ、
    前記計算機の重み設定部が前記重み信号SWの値を決定する第3のステップ、
    前記計算機の変数値初期化部が、前記変数メモリに格納されている各変数の値を初期化する第4のステップ、
    前記計算機の相互作用演算実行部が、前記演算システムの前記状態遷移計算ブロックに前記変数の次状態の計算を実行させる第5のステップ、
    前記計算機の変数読出部が、前記変数メモリから各変数の値を読み出し、前記定義域データに基づいて変換を行う第6のステップ、
    を実行する最適解探索処理方法。
  15. 請求項11記載の演算システムと、前記演算システムを制御する計算機を備える情報処理装置で実行する最適解探索処理方法であって、
    前記計算機の記憶部に、二次計画形式問題データと、前記二次計画形式問題データの変数の定義域である定義域データを準備する第1のステップ、
    前記計算機のモデル係数設定部が、前記非線形係数メモリに前記非線形係数Jを設定し、前記線形係数メモリに前記線形係数hの値を設定する第2のステップ、
    前記計算機の重み設定部が前記重み信号SWの値を決定する第3のステップ、
    前記計算機の変数値初期化部が、前記変数メモリに格納されている各変数の値を初期化する第4のステップ、
    前記計算機の相互作用演算実行部が、前記演算システムの前記状態遷移計算ブロックに前記変数の次状態の計算を実行させる第5のステップ、
    前記計算機の変数読出部が、前記変数メモリから各変数の値を読み出し、前記定義域データに基づいて変換を行う第6のステップ、
    を実行し、
    前記二次計画形式問題データは、2値を取る変数と実数値を取る変数が混在している混合整数二次計画問題を表すデータであり、
    前記定義域データは、各変数が2値を取るか実数値を取るかを示している、
    最適解探索処理方法。
JP2020564776A 2020-04-29 2020-04-29 演算システム、情報処理装置、および最適解探索処理方法 Active JP6925546B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/018203 WO2021220445A1 (ja) 2020-04-29 2020-04-29 演算システム、情報処理装置、および最適解探索処理方法

Publications (2)

Publication Number Publication Date
JP6925546B1 true JP6925546B1 (ja) 2021-08-25
JPWO2021220445A1 JPWO2021220445A1 (ja) 2021-11-04

Family

ID=77364567

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020564776A Active JP6925546B1 (ja) 2020-04-29 2020-04-29 演算システム、情報処理装置、および最適解探索処理方法

Country Status (3)

Country Link
US (1) US11656787B2 (ja)
JP (1) JP6925546B1 (ja)
WO (1) WO2021220445A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11663493B2 (en) 2019-01-30 2023-05-30 Intuit Inc. Method and system of dynamic model selection for time series forecasting
US11423250B2 (en) 2019-11-19 2022-08-23 Intuit Inc. Hierarchical deep neural network forecasting of cashflows with linear algebraic constraints
US11657302B2 (en) * 2019-11-19 2023-05-23 Intuit Inc. Model selection in a forecasting pipeline to optimize tradeoff between forecast accuracy and computational cost

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150242360A1 (en) * 2014-02-25 2015-08-27 International Business Machines Corporation Numerical scaling method for mathematical programs with quadratic objectives and/or quadratic constraints
JP5865456B1 (ja) 2014-08-29 2016-02-17 株式会社日立製作所 半導体装置
EP3125052B1 (en) * 2015-07-31 2020-09-02 Garrett Transportation I Inc. Quadratic program solver for mpc using variable ordering
US20190220496A1 (en) * 2016-05-18 2019-07-18 Nec Corporation Optimization system, optimization method, and optimization program
JP6468254B2 (ja) * 2016-07-01 2019-02-13 富士通株式会社 情報処理装置、イジング装置及び情報処理装置の制御方法
JP6874219B2 (ja) 2018-05-08 2021-05-19 株式会社日立製作所 情報処理装置、演算装置、及び情報処理方法
JP7323777B2 (ja) * 2019-06-18 2023-08-09 富士通株式会社 最適化装置および最適化方法

Also Published As

Publication number Publication date
US11656787B2 (en) 2023-05-23
JPWO2021220445A1 (ja) 2021-11-04
WO2021220445A1 (ja) 2021-11-04
US20220027082A1 (en) 2022-01-27

Similar Documents

Publication Publication Date Title
JP6925546B1 (ja) 演算システム、情報処理装置、および最適解探索処理方法
US20200104715A1 (en) Training of neural networks by including implementation cost as an objective
JP6874219B2 (ja) 情報処理装置、演算装置、及び情報処理方法
JP7007520B2 (ja) 情報処理装置、演算装置、及び情報処理方法
WO2019208564A1 (ja) ニューラルネットワーク学習装置、ニューラルネットワーク学習方法、プログラム
Dehuri et al. A condensed polynomial neural network for classification using swarm intelligence
JP7219402B2 (ja) 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム
JP7470019B2 (ja) 情報処理システム
US11886780B2 (en) Optimization device, optimization device control method, and computer-readable recording medium recording optimization device control program
WO2022044184A1 (ja) 情報処理システムおよび最適解探索処理方法
US20220114470A1 (en) Apparatus and method for optimization
US11106761B2 (en) Optimization problem arithmetic method and optimization problem arithmetic apparatus
JP7357795B2 (ja) 情報処理方法および情報処理システム
JP2022158010A (ja) 情報処理システム、情報処理方法、及び情報処理プログラム
JP7398401B2 (ja) 最適化方法、情報処理装置及びそれを用いたシステム
US20230267170A1 (en) Information processing system, information processing method, and non-transitory computer-readable recording medium for information processing program
JP7444804B2 (ja) 制御方法およびサンプリング装置
JP2024049148A (ja) 情報処理方法、及び情報処理装置
WO2021084629A1 (ja) 演算回路、演算装置、情報処理装置およびイジングモデルの基底状態探索方法
JP2023073842A (ja) 最適化方法、情報処理装置、及び、情報処理システム
CN113283609A (zh) 信息处理方法、信息处理设备和信息处理程序
Khatami et al. A new approach based on support vector machine for solving stochastic optimization

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201118

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20201118

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20201202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210304

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210406

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210720

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210803

R150 Certificate of patent or registration of utility model

Ref document number: 6925546

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150