JP2021125172A - 最適化装置、最適化プログラム、及び最適化方法 - Google Patents
最適化装置、最適化プログラム、及び最適化方法 Download PDFInfo
- Publication number
- JP2021125172A JP2021125172A JP2020020502A JP2020020502A JP2021125172A JP 2021125172 A JP2021125172 A JP 2021125172A JP 2020020502 A JP2020020502 A JP 2020020502A JP 2020020502 A JP2020020502 A JP 2020020502A JP 2021125172 A JP2021125172 A JP 2021125172A
- Authority
- JP
- Japan
- Prior art keywords
- combinatorial optimization
- bits
- solving
- optimization problems
- combinatorial
- 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
- 238000005457 optimization Methods 0.000 title claims abstract description 520
- 238000000034 method Methods 0.000 title claims description 149
- 230000003993 interaction Effects 0.000 claims abstract description 57
- 230000005366 Ising model Effects 0.000 claims description 103
- 238000002922 simulated annealing Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 9
- 230000006870 function Effects 0.000 description 119
- 238000000137 annealing Methods 0.000 description 71
- 238000004364 calculation method Methods 0.000 description 70
- 230000007704 transition Effects 0.000 description 51
- 238000010586 diagram Methods 0.000 description 42
- 230000000052 comparative effect Effects 0.000 description 39
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 31
- 229910052799 carbon Inorganic materials 0.000 description 31
- 150000001875 compounds Chemical class 0.000 description 31
- 238000005516 engineering process Methods 0.000 description 22
- 230000008859 change Effects 0.000 description 19
- QTBSBXVTEAMEQO-UHFFFAOYSA-N Acetic acid Chemical compound CC(O)=O QTBSBXVTEAMEQO-UHFFFAOYSA-N 0.000 description 18
- 238000003860 storage Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 7
- XBDQKXXYIPTUBI-UHFFFAOYSA-M Propionate Chemical compound CCC([O-])=O XBDQKXXYIPTUBI-UHFFFAOYSA-M 0.000 description 6
- KXKVLQRXCPHEJC-UHFFFAOYSA-N acetic acid trimethyl ester Natural products COC(C)=O KXKVLQRXCPHEJC-UHFFFAOYSA-N 0.000 description 6
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical compound [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 0.000 description 6
- 229910052760 oxygen Inorganic materials 0.000 description 6
- 239000001301 oxygen Substances 0.000 description 6
- 230000007423 decrease Effects 0.000 description 5
- 238000012905 input function Methods 0.000 description 5
- 239000000463 material Substances 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- PKZJLOCLABXVMC-UHFFFAOYSA-N 2-Methoxybenzaldehyde Chemical compound COC1=CC=CC=C1C=O PKZJLOCLABXVMC-UHFFFAOYSA-N 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 108090000765 processed proteins & peptides Proteins 0.000 description 4
- WHUUTDBJXJRKMK-UHFFFAOYSA-N Glutamic acid Natural products OC(=O)C(N)CCC(O)=O WHUUTDBJXJRKMK-UHFFFAOYSA-N 0.000 description 3
- QNAYBMKLOCPYGJ-REOHCLBHSA-N L-alanine Chemical compound C[C@H](N)C(O)=O QNAYBMKLOCPYGJ-REOHCLBHSA-N 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 235000004279 alanine Nutrition 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 3
- 238000007876 drug discovery Methods 0.000 description 3
- 230000005284 excitation Effects 0.000 description 3
- 230000005283 ground state Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- UFHFLCQGNIYNRP-UHFFFAOYSA-N Hydrogen Chemical compound [H][H] UFHFLCQGNIYNRP-UHFFFAOYSA-N 0.000 description 2
- 241000209094 Oryza Species 0.000 description 2
- 235000007164 Oryza sativa Nutrition 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- XYIBRDXRRQCHLP-UHFFFAOYSA-N ethyl acetoacetate Chemical compound CCOC(=O)CC(C)=O XYIBRDXRRQCHLP-UHFFFAOYSA-N 0.000 description 2
- 235000013922 glutamic acid Nutrition 0.000 description 2
- 239000004220 glutamic acid Substances 0.000 description 2
- 229910052739 hydrogen Inorganic materials 0.000 description 2
- 239000001257 hydrogen Substances 0.000 description 2
- 235000009566 rice Nutrition 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000000547 structure data Methods 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 108010005233 alanylglutamic acid Proteins 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 108010049041 glutamylalanine Proteins 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 125000000896 monocarboxylic acid group Chemical group 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 239000000052 vinegar Substances 0.000 description 1
- 235000021419 vinegar Nutrition 0.000 description 1
- NWONKYPBYAMBJT-UHFFFAOYSA-L zinc sulfate Chemical compound [Zn+2].[O-]S([O-])(=O)=O NWONKYPBYAMBJT-UHFFFAOYSA-L 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/06—Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Artificial Intelligence (AREA)
- Operations Research (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Complex Calculations (AREA)
Abstract
Description
組合せ最適化問題として考えることができる問題としては、例えば、創薬における分子の類似性検索、金融におけるポートフォリオの最適化、デジタルマーケティングのパーソナライズ広告の最適化、工場や物流における倉庫部品の配置の最適化などが挙げられる。
そこで、組合せ最適化問題を高速に解くことができる技術として、アニーリングマシンなどを用いて、焼き鈍し法(アニーリング)による計算を行う技術が提案されている(例えば、特許文献1参照)。
すなわち、一つの実施態様では、最適化装置は、複数の組合せ最適化問題を求解するための複数ビットのうち、複数の第1ビットを複数の組合せ最適化問題に含まれる第1組合せ最適化問題に割り当て、複数の第2ビットを複数の組合せ最適化問題に含まれる第2組合せ最適化問題に割り当て、複数の第1ビットの各々と複数の第2ビットの各々との相互作用をゼロとして、複数の組合せ最適化問題を求解する求解部を備える。
本件で開示する最適化装置は、一つの側面では、複数の組合せを最適化する装置とすることができる。本件で開示する最適化装置は、求解部を備え、更に必要に応じてその他の部(手段)を備える。
組合せ最適化問題を求解する手法としては、例えば、組合せ最適化問題における条件や制約に基づいた関数である「コスト関数」を用いる手法が挙げられる。なお、コスト関数は、目的関数、エネルギー関数、ハミルトニアンなどと称される場合もある。
コスト関数は、当該コスト関数における変数(パラメータ)が、組合せ最適化問題における最適な組合せとなるときに、最小の値をとる関数である。このため、コスト関数が最小の値となる変数の組合せを探索することにより、組合せ最適化問題の解を探索することができる。
イジングモデル式に変換したコスト関数の最小化は、例えば、アニーリングマシンなどを用いた焼き鈍し法(アニーリング)を行うことにより、短時間で実行することができる。ここで、焼き鈍し法とは、材料を高い温度に熱してから徐々に冷ますことにより、材料の結晶構造を最適な状態に収束させることに例えられた方法である。焼き鈍し法では、材料における温度に相当するパラメータを高い状態から徐々に下げていくことで、解の探索範囲を広い範囲から徐々に狭めていき、最もエネルギーの低い状態を探索することができる。
また、アニーリングマシンとは、イジングモデルで表されるコスト関数について基底状態探索を行なうアニーリング方式のコンピュータを意味する。アニーリングマシンを用いることにより、従来のノイマン型のコンピュータと比べて、イジングモデル式に変換したコスト関数の最小化(コスト関数の最小値の探索)を短時間で行うことができるため、組合せ最適化問題を短時間で求解することができる。
wijは、i番目の要素(ビット)とj番目の要素(ビット)の間の重み付けのための係数である。
xiは、i番目の要素(ビット)が0又は1であることを表すバイナリ変数であり、xjは、j番目の要素(ビット)が0又は1であることを表すバイナリ変数である。
biは、i番目の要素(ビット)に対するバイアスを表す数値である。
上記の式(1)のイジングモデル式における「bi」は、それぞれのビットに対するバイアスの項であり、計算に用いられるビットと同数の数値の組である。また、上記の式(1)のイジングモデル式における「wij」は、ビットとビットとの間の重み付けのための係数(ウエイト)であり、ビット間の相互作用の大きさを意味し、計算に用いられるビットの組合せ(ビットの数の二乗)と同数の数値の組である。
例えば、創薬などの場面において、組合せ最適化問題を求解することにより、分子間の類似性(類似度)を求める場合、基準とする1つの分子(問い合わせ分子)に対する、様々な分子の類似性を求めることが必要となるときがある。図1に示すように、例えば、薬としての効果が既知の問い合わせ分子に対して、類似する構造を有する分子を探索する際には、問い合わせ分子と、問い合わせ分子に対する類似性を求める検索対象分子とのそれぞれについて、類似性を求める必要がある。このとき、例えば、10,000個の分子が記録されたデータベースから、問い合わせ分子に類似する検索対象分子を検索する場合、検索対象分子ごとの類似性を求めるためには、10,000個のように膨大な数の組合せ最適化問題を求解する必要がある。
また、図2の例においては、問題(1)、(2)、(3)のそれぞれの求解に必要となる計算時間は、それぞれ1秒であるとする。
図2に示したような例では、複数の組合せ最適化問題の求解を行うために必要となる計算時間は、求解する組合せ最適化問題の数に比例して増大する。このため、従来技術では、例えば、求解に1秒かかる組合せ最適化問題をN個求解する場合は、最短でも合計でN秒の計算時間が必要となる。
図3に示す例では、図2に示した例と同様に、3つの組合せ最適化問題を、アニーリングマシンを用いて求解する場合を考える。図3に示す例では図2に示した例と同様に、問題(1)は2つのビットを用いる問題であり、問題(2)は4つのビットを用いる問題であり、問題(3)は2つのビットを用いる問題であるとする。
本件で開示する技術の一例では、まず、これらの3つの組合せ最適化問題を求解するためのビットを用意する。用意するビットの数(例えば、アニーリングマシンのビット数)は、それぞれの組合せ最適化問題の求解に必要となるビットの数の合計以上の数であるとする。
そして、本件で開示する技術の一例では、割り当てたビットのそれぞれに、イジングモデル式における「bi」に対応するバイアスの値が設定される。図3に示した例では、バイアスの1番目と2番目を、問題(1)の求解に用いるバイアスとし、バイアスの3番目から6番目を、問題(2)の求解に用いるバイアスとし、バイアスの7番目と8番目を、問題(3)の求解に用いるバイアスとする。なお、図3においては、問題(1)の求解に用いるバイアスと、問題(2)の求解に用いるバイアスと、問題(3)の求解に用いるバイアスとを、バイアスの枠の濃淡で表している。
図3に示した例では、1番目と2番目のビットの組合せに対応するウエイトを、問題(1)の求解に用いるウエイトとし、3番目から6番目のビットの組合せに対応するウエイトを、問題(2)の求解に用いるウエイトとする。同様に、図3に示した例では、7番目と8番目ビットの組合せに対応するウエイトを、問題(3)の求解に用いるウエイトとする。なお、図3においては、問題(1)の求解に用いるウエイトと、問題(2)の求解に用いるウエイトと、問題(3)の求解に用いるウエイトとを、ウエイトの枠の濃淡で表している。
このように、本件で開示する技術の一例では、複数の組合せ最適化問題における、互いに異なる組合せ最適化問題の求解に用いるビット間の相互作用をゼロとする。言い換えると、本件で開示する技術の一例では、複数の第1ビットの各々と複数の第2ビットの各々との相互作用をゼロとする。本件で開示する技術の一例では、こうすることにより、複数の組合せ最適化問題における、互いに異なる組合せ最適化問題を、それぞれ正しく求解することができる。
ここで、アニーリングマシンなどを用いてイジングモデル式を最小化することにより、組合せ最適化問題を求解する際の計算時間は、例えば、焼き鈍し法による計算を実行する際のパラメータ(例えば、計算のイテレーション数(反復回数))などに依存する。このため、組合せ最適化問題の求解に割り当てるビットの数が多くなったとしても、同質の組合せ最適化問題の求解を行う場合、求解に必要となる計算時間は、一般に、1つの組合せ最適化問題の求解に必要となる計算時間と同じになる。
したがって、問題(1)、(2)、(3)のそれぞれの求解に必要となる計算時間が、それぞれ1秒であるとすると、図3に示した例では、これらの3つの組合せ最適化問題の求解を、合計1秒で行うことができる。つまり、図3に示した例では、図2に示した従来技術の例と比べて、3分の1(1/3)の計算時間で、3つの組合せ最適化問題を求解することができる。このため、本件で開示する技術の一例では、例えば、求解に1秒かかる組合せ最適化問題をN個求解する場合であっても、1秒で全ての組合せ最適化問題を求解することができるため、従来技術に比べて、計算時間をN分の1(1/N)にすることができる。
本件で開示する技術において、求解する組合せ最適化問題としては、イジングモデルで
表現可能なものであれば特に制限はなく、目的に応じて適宜選択することができる。
組合せ最適化問題としては、例えば、分子(化合物)の類似性検索、ペプチドの安定構造の探索、金融におけるポートフォリオの最適化、デジタルマーケティングのパーソナライズ広告の最適化、工場や物流における倉庫部品の配置の最適化などの問題が挙げられる。
アニーリングマシンなどを用いて組合せ最適化問題を求解することで化合物間の類似度を求める場合、図1に示したような大きさ(原子数)の化合物間の類似性を求める際には、例えば、2つの化合物間の類似度の計算では20ビットから80ビット程度を割り当てる。アニーリングマシンが扱うことができるビットの数(用意できるビットの数)は、アニーリングマシンの種類ごとに異なるが、例えば、8,000ビット程度である場合には、2つの化合物間の類似度を、一度の計算で100通り以上求めることができる。
このように、本件で開示する技術では、複数の組合せ最適化問題が、同種及び異種の少なくともいずれかの組合せ最適化問題を含んでいてもよい。言い換えると、本件で開示する技術では、第1組合せ最適化問題と第2組合せ最適化問題は互いに同種又は異種の組合せ最適化問題とすることができる。
本件で開示する技術の一例では、複数の組合せ最適化問題を求解するためのビットを用意する。ここで、本件で開示する技術の一例において、ビットを用意する際には、例えば、組合せ最適化問題の求解に用いる計算機のビットを用いることができる。組合せ最適化問題の求解に用いる計算機としては、特に制限はなく、目的に応じて適宜選択することができるが、イジングモデルで表されるコスト関数について基底状態探索を行なうアニーリング方式のコンピュータ(アニーリングマシン)が好ましい。
アニーリングマシンとしては、例えば、量子アニーリングマシン、半導体技術を用いた半導体アニーリングマシン、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)を用いてソフトウェアにより実行されるシミュレーテッド・アニーリング(Simulated Annealing)を行うマシンなどが挙げられる。また、アニーリングマシンとしては、例えば、デジタルアニーラ(登録商標)を用いてもよい。
また、複数の組合せ最適化問題を求解するためのビットは、例えば、組合せ最適化問題の求解に用いるアニーリングマシンの種類に応じて選択することができ、例えば、演算ビット(0又は1の値をとる通常のビット)であってもよいし、量子ビット(量子的な重ね合わせが可能なビット)であってもよい。
また、本件で開示する技術においては、複数の組合せ最適化問題の求解を、複数回行ってもよい。例えば、1,000ビットを用意可能なアニーリングマシンにより、求解に100ビット必要な組合せ最適化問題を20個求解する場合、まず10個の組合せ最適化問題を一括して求解し、次に残りの10個の組合せ最適化問題を一括して求解するようにしてもよい。このように、本件で開示する技術においては、用意するビットの数と、求解する組合せ最適化問題に割り当てるビットの数とに応じて、複数の組合せ最適化問題の求解を行う回数を、適宜選択することができる。
本件で開示する技術の一例では、用意したビットにおいて、複数の組合せ最適化問題における個々の組合せ最適化問題の求解に用いるビットを割り当てる。つまり、本件で開示する技術の一例では、求解する複数の組合せ最適化問題に含まれる、個々の組合せ最適化問題の求解に用いるビットを、用意したビットに割り当てる。
言い換えると、本件で開示する技術の一例では、複数の組合せ最適化問題を求解するための複数ビットのうち、複数の第1ビットを複数の組合せ最適化問題に含まれる第1組合せ最適化問題に割り当てる。さらに、本件で開示する技術の一例では、複数の組合せ最適化問題を求解するための複数ビットのうち、複数の第2ビットを複数の組合せ最適化問題に含まれる第2組合せ最適化問題に割り当てる。
例えば、図4に示す例では、バイアスの1番目と2番目を、問題(1)の求解に用いるバイアスとし、バイアスの3番目から6番目を、問題(2)の求解に用いるバイアスとし、バイアスの7番目と8番目を、問題(3)の求解に用いるバイアスとする。さらに、1番目と2番目のビットの組合せに対応するウエイト(相互作用)を、問題(1)の求解に用いるウエイトとし、3番目から6番目のビットの組合せに対応するウエイトを、問題(2)の求解に用いるウエイトとする。同様に、図4に示した例では、7番目と8番目ビットの組合せに対応するウエイトを、問題(3)の求解に用いるウエイトとする。なお、図4においては、各問題の求解に用いるバイアス及びウエイトを、バイアスの枠の濃淡で表している。
図4に示した例においては、上記のようにバイアス及びウエイトを設定することにより、1番目と2番目のビットを、問題(1)の求解に用いるビットとして割り当てることができる。同様に、図4の例では、3番目から6番目のビットを、問題(2)の求解に用いるビットとして割り当てることができ、7番目と8番目のビットを、問題(3)の求解に用いるビットとして割り当てることができる。
このように、本件で開示する技術の一例では、複数の組合せ最適化問題における個々の組合せ最適化問題の求解に用いるビットを重複しないように割り当てることにより、個々の組合せ最適化問題を、確実に正しく求解することができる。
こうすることにより、本件で開示する技術の一例では、複数の組合せ最適化問題における個々の組合せ最適化問題の求解に用いるビットを、効率的に割り振ることができ、一度の計算でより多くの組合せ最適化問題を求解することができる。
本件で開示する技術では、組合せ最適化問題の求解に用いる(割り当てる)ビットは、例えば、互いに異なる組合せ最適化問題の求解に用いるビットが隣接していなくてもよい。言い換えると、本件で開示する技術においては、一の組合せ最適化問題の求解に用いるビットと、他の組合せ最適化問題の求解に用いるビットの間に、組合せ最適化問題の求解に用いない(割り当てない)ビットが存在してもよい。つまり、本件で開示する技術においては、複数の第1ビットと、複数の第2ビットの間に、複数の組合せ最適化問題の求解に用いない(割り当てない)ビットが存在してもよい。
例えば、図5に示すように、問題(1)の求解に用いるビットと、問題(2)の求解に用いるビットとの間に、組合せ最適化問題の求解に用いないビットが存在していてもよい。なお、複数の組合せ最適化問題の求解に用いないビットは、例えば、対応するバイアスの値及びウエイトの値が全てゼロであるビットとすることができる。
本件で開示する技術の一例では、複数の組合せ最適化問題における、互いに異なる組合せ最適化問題の求解に用いるビット間の相互作用(ウエイト)をゼロとする。言い換えると、本件で開示する技術の一例では、複数の組合せ最適化問題における、一の組合せ最適化問題の求解に用いるビットが関係するウエイトのうち、当該一の組合せ最適化問題の求解に用いるビットどうしの組合せ以外のウエイトをゼロとする。つまり、本件で開示する技術の一例では、複数の第1ビットの各々と複数の第2ビットの各々との相互作用をゼロとする。
図4の例に示すように、問題(1)の求解に割り当てられた1番目と2番目のビットを含むウエイト(行又は列に、1番目又は2番目のビットを含むウエイト)において、1番目又は2番目のビットどうしの組合せのウエイト以外はゼロになっている。同様に、問題(2)の求解に割り当てられた3番目から6番目のビットを含むウエイト(行又は列に、3番目から6番目のいずれかのビットを含むウエイト)において、3番目から6番目のビットどうしの組合せのウエイト以外はゼロになっている。さらに、問題(3)の求解に割り当てられた7番目と8番目のビットを含むウエイト(行又は列に、7番目又は8番目のビットを含むウエイト)において、7番目又は8番目のビットどうしの組合せのウエイト以外はゼロになっている。
「実質的にゼロ」と考えることができる数値は、例えば、組合せ最適化問題の求解に用いるバイアス及びウエイトの数値の大きさに対して相対的に変化する。例えば、バイアス及びウエイトの数値が大きい場合は、「実質的にゼロ」と考えることができる数値は、組合せ最適化問題の求解した結果に影響を及ぼさない範囲内であれば、多少大きな数値であってもよい。
複数の組合せ最適化問題における、互いに同じ組合せ最適化問題の求解に用いるビット間の相互作用については、例えば、同一の番号のビット間のウエイトは、ゼロとすることが好ましい。言い換えると、本件で開示する技術の一例では、例えば、1番目のビットと1番目のビットの間のウエイトなど、同一の番号のビットどうしの組合せのウエイトは、バイアスと同様の意味合い(役割)となるため、ゼロとすることが好ましい。
本件で開示する技術の一例では、複数の組合せ最適化問題について、個々の組合せ最適化問題の求解に用いるビットを割り当て、互いに異なる組合せ最適化問題の求解に用いるビット間の相互作用をゼロとした上で、複数の組合せ最適化問題を求解する。つまり、本件で開示する技術の一例では、複数の第1ビットを第1組合せ最適化問題に、複数の第2ビットを第2組合せ最適化問題に割り当て、複数の第1ビットの各々と複数の第2ビットの各々との相互作用をゼロとして、複数の組合せ最適化問題を求解する。
ここで、複数の組合せ最適化問題の求解方法としては、特に制限はなく、目的に応じて適宜選択することができるが、組合せ最適化問題における条件や制約に基づいた関数である「コスト関数」に基づき求解する方法が好ましい。本件で開示する技術の一例では、コスト関数が最小の値となる変数の組合せを探索することにより、組合せ最適化問題を求解することができる。
本件で開示する技術の一例において、コスト関数は、複数の組合せ最適化問題における、互いに同じ組合せ最適化問題の求解に用いるビット間の相互作用が整数となるように定められた関数であることが好ましい。言い換えると、本件で開示する技術の一例では、コスト関数は、複数の第1ビットに含まれるそれぞれのビットの間の相互作用が整数となり、複数の第2ビットに含まれるそれぞれのビットの間の相互作用が整数となるように定められた関数であることが好ましい。また、本件で開示する技術の一例において、コスト関数は、複数の組合せ最適化問題における、互いに異なる組合せ最適化問題の求解に用いるビット間の相互作用がゼロとなるように定められた関数であることが好ましい。
つまり、本件で開示する技術の一例では、コスト関数は、互いに同じ組合せ最適化問題の求解に用いるビット間の相互作用が整数となり、互いに異なる組合せ最適化問題の求解に用いるビット間の相互作用がゼロとなるように定められた関数であることが好ましい。こうすることにより、本件で開示する技術の一例では、個々の組合せ最適化問題の求解に用いるウエイトを容易に設定することができ、複数の組合せ最適化問題を求解する際のユーザの利便性をより向上させることができる。
イジングモデルに変換したコスト関数の値を最小化は、例えば、アニーリングマシンなどを用いた焼き鈍し法(アニーリング)を行うことにより、短時間で実行することができる。つまり、本件で開示する技術の一例では、焼き鈍し法により、複数の組合せ最適化問題を求解することが好ましい。なお、アニーリングマシンを用いた焼き鈍し法の詳細については後述する。
wijは、i番目のビットとj番目のビットの間の相互作用を表す数値である。
xiは、i番目のビットが0又は1であることを表すバイナリ変数であり、xjは、j番目のビットが0又は1であることを表すバイナリ変数である。
biは、i番目のビットに対するバイアスを表す数値である。
上記式(1)における右辺の一項目は、全回路から選択可能な2つの回路の全組み合わせについて、漏れと重複なく、2つの回路の状態(ステート)と重み値(ウエイト)との積を積算したものである。
また、上記式(1)における右辺の二項目は、全回路のそれぞれのバイアスの値と状態との積を積算したものである。
つまり、イジングモデルに変換する前のコスト関数のパラメータを抽出して、wij及びbiを求めることにより、コスト関数を、上記式(1)で表されるイジングモデルに変換することができる。
本件で開示する技術の一例では、上記式(1)において、個々の組合せ最適化問題に対応させて設定したwij及びbiに基づいて、アニーリングマシンなどを用いてxiとxjと変化させて、上記式(1)を最小化する。つまり、本件で開示する技術の一例では、アニーリングマシンなどを用いて上記式(1)を最小化することにより、上記式(1)が最小値となる(上記(1)に最小値を与える)ときの、ビットの状態(ステート)を求めることができる。
本件で開示する技術の一例では、複数の組合せ最適化問題を求解した結果としてのビットの状態から、個々の組合せ最適化問題についての最適なビットの状態(個々のコスト関数に最小値を与えるビットの状態)を得ることができる。本件で開示する技術の一例では、複数の組合せ最適化問題を求解して得たビットの状態(全体のビットの状態)から、個々の組合せ最適化問題の求解に用いたビット(割り当てたビット)の状態を求めることにより、個々の組合せ最適化問題を求解することができる。
ここで、組合せ最適化問題を求解する際には、計算条件を、求解する組合せ最適化問題の性質に応じて、適宜適切に設定することが好ましい。組合せ最適化問題を求解する際の計算条件としては、例えば、アニーリングマシンにおけるアニーリングパラメータなどが挙げられる。アニーリングマシンにおけるアニーリングパラメータとしては、例えば、計算のイテレーション数(反復回数)、アニーリングの温度に対応するパラメータなどが挙げられる。
複数の組合せ最適化問題に、異種の組合せ最適化問題が含まれる場合、組合せ最適化問題を求解する際の計算条件は、求解する組合せ最適化問題のうち、最も求解しづらい問題(求解に時間がかかる問題)を求解するための計算条件を用いることが好ましい。こうすることにより、本件で開示する技術の一例では、複数の組合せ最適化問題における、全ての個々の組合せ最適化問題を、確実に正しく求解することができる。
図7に、本件で開示する最適化装置のハードウェア構成例を示す。
最適化装置10においては、例えば、制御部11、メモリ12、記憶部13、表示部14、入力部15、出力部16、I/Oインターフェース部17がシステムバス18を介して接続されている。
制御部11としては、特に制限はなく、目的に応じて適宜選択することができ、例えば、CPUであってもよいし、後述する焼き鈍し法に用いる最適化装置であってもよく、これらの組み合わせでもよい。
本件で開示する最適化装置における求解部は、例えば、制御部11により実現することができる。
また、本件で開示する最適化プログラムは、例えば、記憶部13に格納され、メモリ12のRAM(主メモリ)にロードされ、制御部11により実行される。
入力部15は、各種データの入力装置であり、例えば、キーボード、ポインティングデバイス(例えば、マウス等)などである。
出力部16は、各種データの出力装置であり、例えば、プリンタなどである。
I/Oインターフェース部17は、各種の外部装置を接続するためのインターフェースである。I/Oインターフェース部17は、例えば、CD−ROM(Compact Disc Read Only Memory)、DVD−ROM(Digital Versatile Disk Read Only Memory)、MOディスク(Magneto−Optical disk)、USBメモリ〔USB(Universal Serial Bus) flash drive〕などのデータの入出力を可能にする。
図8に示す例は、最適化装置をクラウド型にした場合の例であり、制御部11が、記憶部13などとは独立している。図8に示す例においては、ネットワークインターフェース部19、20を介して、記憶部13などを格納するコンピュータ30と、制御部11を格納するコンピュータ40とが接続される。
ネットワークインターフェース部19、20は、インターネットを利用して、通信を行うハードウェアである。
図9に示す例は、最適化装置をクラウド型にした場合の例であり、記憶部13が、制御部11などとは独立している。図9に示す例においては、ネットワークインターフェース部19、20を介して、制御部11等を格納するコンピュータ30と、記憶部13を格納するコンピュータ40とが接続される。
図10に示すように、最適化装置10は、通信機能部101と、入力機能部102と、出力機能部103と、制御機能部104と、記憶機能部106と、を備える。
入力機能部102は、例えば、最適化装置10に対する各種指示を受け付ける。また、入力機能部102は、例えば、イジングモデルに変換したコスト関数におけるバイアス及びウエイトのデータの入力を受け付けてもよい。
出力機能部103は、例えば、求解した複数の組合せ最適化問題における、コスト関数の最小値やその最小値を与えるビットの状態の情報などを出力する。
求解部105は、複数の組合せ最適化問題を求解する処理を行う。
記憶機能部106は、バイアスデータベース(バイアスDB)107と、ウエイトデータベース(ウエイトDB108)を有する。記憶機能部106は、例えば、各種プログラムを記憶する。
バイアスDB107は、複数の組合せ最適化問題の求解に用いる、イジングモデルに変換したコスト関数におけるバイアスのデータを記憶するデータベースである。
ウエイトDB108は、複数の組合せ最適化問題の求解に用いる、イジングモデルに変換したコスト関数におけるウエイト(相互作用)のデータを記憶するデータベースである。
続いて、求解部105は、定義されたコスト関数におけるパラメータを抽出して、上記酢式(1)におけるbi(バイアス)及びwij(ウエイト)を求めることにより、コスト関数を、上記式(1)で表されるイジングモデルに変換する(S102)。
そして、求解部105は、求解する複数の組合せ最適化問題のうち、最も求解しづらい(求解に時間がかかる)組合せ最適化問題を求解可能な計算条件(アニーリングパラメータ)を設定する(S104)。ここで、S104において、求解部105は、アニーリングパラメータとして、計算のイテレーション数(反復回数)、アニーリングの温度に対応するパラメータなどを設定する。
続いて、求解部105は、複数の組合せ最適化問題を求解した結果に基づいて、個々の組合せ最適化問題を求解した結果を出力する(S106)。そして、求解部105は、個々の組合せ最適化問題を求解した結果を出力すると、処理を終了させる。
なお、ここでは、本件で開示する技術の一例について、具体的な処理の順序について説明したが、本件で開示する技術はこれに限られるものではなく、技術的に矛盾を生じない範囲で適宜処理の順番を変更してもよいし、複数の処理を一括して行ってもよい。
焼き鈍し法は、乱数値や量子ビットの重ね合わせを用いて確率的に解を求める方法である。以下では最適化したい評価関数の値を最小化する問題を例に説明し、評価関数の値をエネルギーと呼ぶことにする。また、評価関数の値を最大化する場合は、評価関数の符号を変えればよい。
もし、これを決定論的にエネルギーが下がる場合に採択とし、上がる場合に不採択とすれば、エネルギーの変化は時間に対して広義単調減少となるが、局所解に到達したらそれ以上変化が起こらなくなってしまう。上記のように離散最適化問題には非常に多数の局所解が存在するために、状態が、ほとんど確実にあまり最適値に近くない局所解に捕まってしまう。したがって、離散最適化問題を解く際には、その状態を採択するかどうかを確率的に決定することが重要である。
以下では、焼き鈍し法を用いて最適解を求める方法について、順序を追って説明する。
(1)の式で表される許容確率を用いた場合、十分な反復後に定常状態に達したとすると、各状態の占有確率は熱力学における熱平衡状態に対するボルツマン分布に従う。
そして、高い温度から徐々に下げていくとエネルギーの低い状態の占有確率が増加するため、十分温度が下がるとエネルギーの低い状態が得られると考えられる。この様子が、材料を焼き鈍したときの状態変化とよく似ているため、この方法は焼き鈍し法(または、疑似焼き鈍し法)と称される。なお、エネルギーが上がる状態遷移が確率的に起こることは、物理学における熱励起に相当する。
まず、候補発生部114aは、状態保持部111に保持された現在の状態Sから次の状態への状態遷移の候補(候補番号{Ni})を1つまたは複数発生する。次に、エネルギー計算部112は、現在の状態Sと状態遷移の候補を用いて候補に挙げられた各状態遷移に対するエネルギー変化値{−ΔEi}を計算する。可否判定部114bは、温度制御部113で発生した温度値Tと乱数発生部114dで生成した確率変数(乱数値)を用い、各状態遷移のエネルギー変化値{−ΔEi}に応じて、上記(1)の式の許容確率でその状態遷移を許容する。
そして、可否判定部114bは、各状態遷移の可否{fi}を出力する。許容された状態遷移が複数ある場合には、遷移決定部114cは、乱数値を用いてランダムにそのうちの1つを選択する。そして、遷移決定部114cは、選択した状態遷移の遷移番号Nと、遷移可否fを出力する。許容された状態遷移が存在した場合、採択された状態遷移に応じて状態保持部111に記憶された状態変数の値が更新される。
遷移制御部114は、乱数発生回路114b1、セレクタ114b2、ノイズテーブル114b3、乗算器114b4、比較器114b5を有する。
比較器114b5は、乗算器114b4が出力した乗算結果と、セレクタ114b2が選択したエネルギー変化値である−ΔEとを比較した比較結果を遷移可否fとして出力する。
2つの数に同じ単調増加関数を作用させても大小関係は変化しない。したがって、比較器の2つの入力に同じ単調増加関数を作用させても出力は変わらない。この単調増加関数として、fの逆関数f−1を採用すると、−ΔE/Tがf−1(u)より大きいとき1を出力する回路とすることができることがわかる。さらに、温度値Tが正であることから、−ΔEがTf−1(u)より大きいとき1を出力する回路でよいことがわかる。
図13中のノイズテーブル114b3はこの逆関数f−1(u)を実現するための変換テーブルであり、区間[0,1)を離散化した入力に対して次の関数の値を出力するテーブルである。
本件で開示する最適化方法は、複数の組合せ最適化問題を求解するための複数ビットのうち、複数の第1ビットを複数の組合せ最適化問題に含まれる第1組合せ最適化問題に割り当て、複数の第2ビットを複数の組合せ最適化問題に含まれる第2組合せ最適化問題に割り当て、複数の第1ビットの各々と複数の第2ビットの各々との相互作用をゼロとして、複数の組合せ最適化問題を求解する求解工程を含む。
本件で開示する最適化プログラムは、複数の組合せ最適化問題を求解するための複数ビットのうち、複数の第1ビットを複数の組合せ最適化問題に含まれる第1組合せ最適化問題に割り当て、複数の第2ビットを複数の組合せ最適化問題に含まれる第2組合せ最適化問題に割り当て、複数の第1ビットの各々と複数の第2ビットの各々との相互作用をゼロとして、複数の組合せ最適化問題を求解する処理を、コンピュータに行わせる。
さらに、本件で開示する最適化プログラムを、上記の記録媒体に記録する場合には、必要に応じて、コンピュータシステムが有する記録媒体読取装置を通じて、これを直接又はハードディスクにインストールして使用することができる。また、コンピュータシステムから情報通信ネットワークを通じてアクセス可能な外部記憶領域(他のコンピュータなど)に本件で開示する最適化プログラムを記録しておいてもよい。この場合、外部記憶領域に記録された本件で開示する最適化プログラムは、必要に応じて、外部記憶領域から情報通信ネットワークを通じてこれを直接、又はハードディスクにインストールして使用することができる。
なお、本件で開示する最適化プログラムは、複数の記録媒体に、任意の処理毎に分割されて記録されていてもよい。
本件で開示するコンピュータが読み取り可能な記録媒体は、本件で開示する最適化プログラムを記録してなる。
本件で開示するコンピュータが読み取り可能な記録媒体としては、特に制限はなく、目的に応じて適宜選択することができ、例えば、内蔵ハードディスク、外付けハードディスク、CD−ROM、DVD−ROM、MOディスク、USBメモリなどが挙げられる。
また、本件で開示するコンピュータが読み取り可能な記録媒体は、本件で開示する最適化プログラムが任意の処理毎に分割されて記録された複数の記録媒体であってもよい。
<実施例1>
実施例1として、本件で開示する最適化装置の一例を用いて、上記式(1)のイジングモデルにおける、個々の組合せ最適化問題の求解に用いるbi(バイアス)及びwij(ウエイト)を、乱数(ランダムな整数)として、2つの組合せ最適化問題の求解を行った。実施例1では、図10に示すような機能構成を有する最適化装置を用いて、図11のフローチャートにおけるステップS103からS106を行うことにより、2つの組合せ最適化問題の求解を行った。また、組合せ最適化問題の求解(式(1)イジングモデルの最小化)は、デジタルアニーラ(登録商標)を用いた。
実施例1では、2つの組合せ最適化問題として、問題(A1)と問題(A2)の求解を行った。実施例1においては、図15に示す数値の列を、問題(A1)におけるイジングモデルのbi(バイアス)とし、図16に示す数値の列を、問題(A2)におけるイジングモデルのbi(バイアス)とする。なお、図15及び16では、紙面の都合上、バイアスを縦の列で示したが、これに限られるものではない。また、「・・・」は、以降の行においても数値が「0」になっていることを示す。
このとき、図15に示した問題(A1)のバイアスと、図16に示した問題(A2)のバイアスとをまとめたバイアス(2つの最適化問題の求解に用いるバイアス)は、図17に示すようになる。
このように、実施例1では、問題(A1)と問題(A2)におけるバイアスを隣接して配置した。言い換えると、実施例1では、互いに異なる組合せ最適化問題の求解に用いるビットが隣接するように、ビットを割り当てた。
このとき、図18に示した問題(A1)のウエイトと、図19に示した問題(A2)のウエイトとをまとめたウエイト(2つの最適化問題の求解に用いるウエイト)は、図20に示すようになる。図20に示すように、実施例1における2つの最適化問題の求解に用いるウエイトにおいては、互いに異なる組合せ最適化問題の求解に用いるビット間の相互作用(ウエイト)がゼロになっている。
実施例1において、図17に示したバイアス及び図20に示したウエイトに基づいて、上記式(1)のイジングモデルの最小化を行ったところ、上記式(1)のイジングモデルの最小値(Emin)は、「−1081523」であった。また、上記式(1)のイジングモデルの最小化に必要となった計算時間は0.9秒であった。
比較例1では、実施例1において、問題(A1)と問題(A2)を、個別に2回の計算を行うことにより求解した以外は、実施例1と同様にして、上記式(1)のイジングモデルの最小化を行った。
比較例1において、問題(A1)の求解には、図15に示した問題(A1)のバイアスと、図18に示した問題(A1)のウエイトとを用いた。同様に、比較例1において、問題(A2)の求解には、図16に示した問題(A2)のバイアスと、図19に示した問題(A2)のウエイトとを用いた。
実施例1のイジングモデルの最小値「−1081507」は、比較例1において、問題(A1)のイジングモデルを個別に最小化した結果の「−16」と、問題(A2)のイジングモデルを個別に最小化した結果の「−1081507」との和(合計)となっている。
このことから、実施例1において、問題(A1)と問題(A2)という、個々の組合せ最適化問題を正しく求解できていることがわかる。
さらに、図21に示すように、実施例1においては、計算時間は0.9秒であり、比較例1の計算時間である1.8秒と比べて、半分(1/2)の計算時間で、問題(A1)と問題(A2)を求解できた。
<実施例2>
実施例2として、組合せ最適化問題を求解することにより、分子(化合物)間の類似度を計算する問題を対象として計算を行った。実施例2では、実施例1と同様に、図10に示すような機能構成を有する最適化装置を用いて、図11のフローチャートにおけるステップS101、S103からS106を行うことにより、2つの組合せ最適化問題の求解を行った。また、組合せ最適化問題の求解(イジングモデルの最小化)は、デジタルアニーラ(登録商標)を用いた。
ここで、実施例2のように、組合せ最適化問題を求解することにより、分子間の類似度を計算する方法について説明する。
化合物の構造は、例えば、MOL形式や、SDF(Structure Data File)形式の表現を用いて表すことができる。通常、SDF形式とは、MOL形式で表現された複数の化合物の構造情報を、一つのファイルにまとめたものを意味する。また、SDF形式のファイルにおいては、MOL形式の構造情報の他に、化合物ごとの付加情報(例えば、カタログ番号、CAS番号、分子量など)を扱うことが可能である。これらの化合物の構造は、例えば、「原子1(の名称)、原子2(の名称)、原子1の元素の情報、原子2の元素の情報、原子1と原子2の結合次数」を1つの行とするCSV(Comma−Separated Value)形式としてグラフ化できる。
まず、酢酸(以下では、「分子A」と称することがある)と酢酸メチル(以下では、「分子B」と称することがある)をグラフ化すると、図22のようになる。図22においては、酢酸を形成する原子をA1、A2、A3、及びA5で示し、酢酸メチルを形成する原子をB1からB5で示している。また、図22では、A1、A2、B1、B2、及びB4は炭素を示し、A3、A5、B3、及びB5は酸素を示すとともに、単結合を細い実線で、二重結合を太い実線で示している。なお、図22に示す例においては、水素以外の原子を選択してグラフ化しているが、化合物をグラフ化する際には、水素も含めて全ての原子を選択してグラフ化してもよい。
図23の例では、分子Aの炭素と分子Bの炭素との組み合わせにより6個、分子Aの酸素と分子Bの酸素との組み合わせにより4個のノードを作成するため、グラフ化した分子A及びBから作成されるコンフリクトグラフにおけるノードの数は10個となる。
まず、図24に示す例において、ノード〔A1B1〕とノード〔A2B2〕との間にエッジを作成するか否かについて説明する。図24におけるグラフ化した分子Aの構造からわかるように、ノード〔A1B1〕に含まれる分子Aの炭素A1と、ノード〔A2B2〕に含まれる分子Aの炭素A2は、互いに結合(単結合)している。同様に、ノード〔A1B1〕に含まれる分子Bの炭素B1と、ノード〔A2B2〕に含まれる分子Bの炭素B2は、互いに結合(単結合)している。すなわち、炭素A1と炭素A2の結合の状況と、炭素B1と炭素B2の結合の状況は互いに同一になっている。
このように、図24の例においては、分子Aにおける炭素A1と炭素A2の状況と、分子Bにおける炭素B1と炭素B2の状況が互いに同一となっており、ノード〔A1B1〕とノード〔A2B2〕は、互いに同一の状況の原子で構成されるノードどうしとなる。このため、図24に示す例では、ノード〔A1B1〕とノード〔A2B2〕との間には、エッジを作成しない。
つまり、図24の例においては、分子Aにおける炭素A1と炭素A2の状況と、分子Bにおける炭素B4と炭素B2の状況が互いに異なっており、ノード〔A1B4〕とノード〔A2B2〕は、互いに異なる状況の原子で構成されるノードどうしとなる。このため、図24に示す例では、ノード〔A1B4〕とノード〔A2B2〕との間に、エッジを作成する。
図25は、分子Aと分子Bにおけるコンフリクトグラフの一例を示す図である。図25に示すように、例えば、ノード〔A2B2〕とノード〔A5B5〕においては、分子Aにおける炭素A2と酸素A5の結合の状況と、分子Bにおける炭素B2と炭素B5の結合の状況は互いに同一になっている。このため、ノード〔A2B2〕とノード〔A5B5〕は、互いに同一の状況にある原子で構成されるノードとなるため、ノード〔A2B2〕とノード〔A5B5〕との間には、エッジを作成していない。
コンフリクトグラフにおける最大独立集合(Maximum Independent Set;MIS)とは、コンフリクトグラフを構成するノードの集合のうち、ノード間にエッジが存在しないノードが最も多く含まれる集合を意味する。言い換えると、コンフリクトグラフにおける最大独立集合とは、互いのノードの間にエッジが存在しないノードで形成される集合のうち、最大の大きさ(ノード数)を有する集合を意味する。
図26に示す例においては、ノード間にエッジが存在しないノードで構成される集合のうち、ノードの数が最大となる集合は3つあり、これらの集合のノード数は3である。すなわち、図26に示す例では、グラフにおける最大独立集合は、一点鎖線で囲んだ3つの集合となる。
図27には、分子A(酢酸)と分子B(酢酸メチル)とにおける最大の共通部分構造を、コンフリクトグラフの最大独立集合を求める(最大独立集合問題を解く)ことにより求める場合における流れの一例を示す。図27に示すように、分子Aと分子Bをそれぞれグラフ化し、同じ元素どうしを組み合わせてノードとし、ノードを構成する原子の状況に応じてエッジを形成してコンフリクトグラフを作成する。そして、作成したコンフリクトグラフにおける最大独立集合を求めることにより、分子Aと分子Bにおける最大の共通部分構造を求めることができる。
コンフリクトグラフの最大独立集合の探索は、例えば、最小化することが最大独立集合の探索をすることを意味するハミルトニアンを用いることにより行うことができる。より具体的には、例えば、下記の式(2)に示すハミルトニアン(H)を用いることにより行うことができる。なお、ハミルトニアンは、コスト関数の一例である。
さらに、wijは、i番目のノードとj番目のノードとの間にエッジが存在するときは、0ではない正の数であり、i番目のノードとj番目のノードとの間にエッジが存在しないときは、0である。
また、xiは、i番目のノードが0又は1であることを表すバイナリ変数であり、xjは、j番目のノードが0又は1であることを表すバイナリ変数である。
なお、α及びβは、正の数である。
上記式(2)において、xiは、1である場合、i番目のノードが最大独立集合の候補となる集合に含まれることを意味し、0である場合、i番目のノードが最大独立集合の候補となる集合に含まれないことを意味する。同様に、上記式(2)において、xjは、1である場合、j番目のノードが最大独立集合の候補となる集合に含まれることを意味し、0である場合、j番目のノードが最大独立集合の候補となる集合に含まれないことを意味する。
このため、上記式(1)について、状態を1とした(ビットを1にした)ノード間にはエッジが存在しないという制約の下で、できるだけ多くのノードの状態が1となる組み合わせを探索することにより、最大独立集合を探索することができる。
上記式(2)における右辺の一項目(係数が−αの項)は、xiが1となるiが多いほど(最大独立集合の候補となる集合に含まれるノードの数が多いほど)、値が小さくなる項である。なお、上記式(2)における右辺の一項目において値が小さくなるとは、大きな負の数になることを意味する。つまり、上記式(2)においては、右辺の一項目の作用により、多くのノードのビットが1となると、ハミルトニアン(H)の値が小さくなる。
ノードの数が6個のグラフにおいて、図28に示す例のように各ノードにビットを設定する場合を考える。図28の例では、図26と同様に、ノード間にエッジが存在する箇所は実線で当該ノードどうしを結び、エッジが存在しない箇所は点線で当該ノードどうしを結んでいる。
分子どうしの構造の類似度は、例えば、下記の式(3)を用いて算出することができる。
また、VAは、グラフ化した第一の分子におけるノード原子の総数を表し、Vc Aは、グラフ化した第一の分子におけるノード原子の内、コンフリクトグラフの最大独立集合に含まれるノード原子の数を表す。なお、ノード原子とは、グラフ化した分子における頂点の原子を意味する。
さらに、VBは、グラフ化した第二の分子におけるノード原子の総数を表し、Vc Bは、グラフ化した第二の分子におけるノード原子の内、コンフリクトグラフの最大独立集合に含まれるノード原子の数を表す。
δは、0〜1の数である。
図30に示したコンフリクトグラフにおいて、最大独立集合は、ノード〔A1B1〕、ノード〔A2B2〕、ノード〔A3B3〕、及びノード〔A5B5〕の4つのノードで構成される。つまり、図30の例においては、|VA|は4となり、|Vc A|は4となり、|VB|は5となり、|Vc B|は4となる。また、この例において、δを0.5として、第一の分子と第二の分子の平均を取る(均等に扱う)こととすると、上記式(3)は次のようになる。
以上、説明したように、組合せ最適化問題を求解して、コンフリクトグラフの最大独立集合問題を解くことにより、比較する分子(化合物)どうしにおいて共通する部分構造を探索して類似度を算出することができる。
実施例2では、求解する組合せ最適化問題として、問題(B1)と問題(B2)の2つの組合せ最適化問題の求解を行った。問題(B1)は、アセト酢酸エチル(Ethyl acetoacetate)と、2−メトキシベンズアルデヒド(2−Methoxybenzaldehyde)との間の構造の類似度を求める問題とした。問題(B2)は、Ala(アラニン)−Glu(グルタミン酸)のペプチドと、Glu(グルタミン酸)−Ala(アラニン)のペプチドとの間の構造の類似度を求める問題とした。
また、実施例2では、図31に示すように、問題(B1)と問題(B2)におけるバイアスを隣接して配置した。実施例2では、図31に示すように、問題(B1)と問題(B2)におけるウエイトをバイアスに対応させると共に、互いに異なる組合せ最適化問題の求解に用いるビット間のウエイトをゼロにした。
実施例2において、上記式(2)の最小化を行ったところ、上記式(2)のイジングモデルのコスト関数(ハミルトニアン)における最小値(Emin)は、「−20070」であった。また、上記式(2)のイジングモデルのコスト関数の最小化に必要となった計算時間は0.9秒であった。
比較例2では、実施例2において、問題(B1)と問題(B2)を、個別に2回の計算を行うことにより求解した以外は、実施例2と同様にして、上記式(2)のイジングモデルのコスト関数の最小化を行った。
比較例2においては、図32に示すように、問題(B1)におけるバイアス及びウエイトと、問題(B2)におけるバイアス及びウエイトとを、個別に設定して、それぞれの組合せ最適化問題の求解を個別に行った。
実施例2のイジングモデルの最小値「−20070」は、比較例2において、問題(B1)のイジングモデルを個別に最小化した結果の「−20000」と、問題(B2)のイジングモデルを個別に最小化した結果の「−70」との和(合計)となっている。
このことから、実施例2において、問題(B1)と問題(B2)という、個々の組合せ最適化問題を正しく求解できていることがわかる。
さらに、図33に示すように、実施例2においては、計算時間は0.9秒であり、比較例2の計算時間である1.8秒と比べて、半分(1/2)の計算時間で、問題(B1)と問題(B2)とを求解できた。
この場合、問題(B1)と問題(B2)とを一度に求解したときに、問題(B1)の求解に割り当てたビットの範囲における、状態が「1」であるビットの数は、問題(B1)の最大共通部分構造の数(分子間で共通する原子の数)nX1Y1 commonと等しい。同様に、問題(B2)の求解に割り当てたビットの範囲における、状態が「1」であるビットの数は、問題(B2)の最大共通部分構造の数(分子間で共通する原子の数)nX2Y2 commonと等しい。
例えば、図34に示すように、問題(B1)と問題(B2)とを一度に求解することにより、問題(B1)と問題(B2)との求解に割り当てたビットの状態(ステート)に関する情報を得ることができる。このため、問題(B1)と問題(B2)とを一度に求解することにより、個々の問題におけるビットの状態を得ることができ、ビットの状態に基づいて、個々の問題に割り当てたビットの範囲に、状態が「1」であるビットがいくつあるかを求めることができる。したがって、実施例2では、問題(B1)と問題(B2)における最大共通部分構造の数を特定することができ、個々の問題について、分子間の類似度を計算することができる。
実施例2及び比較例2において計算した分子間の類似度を比較したところ、実施例2で算出した問題(B1)の類似度と、比較例2で算出した問題(B1)の類似度は一致した。また、実施例2で算出した問題(B2)の類似度と、比較例2で算出した問題(B2)の類似度も一致した。
<実施例3>
実施例3として、組合せ最適化問題を求解することにより、ナップザック問題の求解を行った。実施例3では、実施例1と同様に、図10に示すような機能構成を有する最適化装置を用いて、図11のフローチャートにおけるステップS101からS106を行うことにより、2つの組合せ最適化問題の求解を行った。また、組合せ最適化問題の求解(式(1)のイジングモデルの最小化)は、デジタルアニーラ(登録商標)を用いた。
ここで、ナップザック問題とは、ナップザックの中に、所定の価値を有する複数種類の品物を詰め込んだ場合に、ナップザックに入れた品物の総価値を最大にする品物の組合せを求めるという問題である。ナップザック問題では、ナップザックに入れることができる品物の重さ(又は容積)が決められており、入れた品物の重さ(又は容積)の総和が、ナップザックの容量を超えてはいけないという制約がある。
スラック変数yiは、より具体的には、次の式で表すことができる。
実施例3では、求解する組合せ最適化問題として、問題(C1)と問題(C2)の2つの組合せ最適化問題の求解を行った。
問題(C1)は、10種類の品物を3つのナップザックに詰める場合のナップザック問題である。問題(C1)においては、品物iの価値をそれぞれ、(v0,v1,v2,v3,v4,v5,v6,v7,v8,v9)=(4,2,7,4,6,9,4,8,2,3)とした。また、問題(C1)においては、品物iの重さをそれぞれ、(w0,w1,w2,w3,w4,w5,w6,w7,w8,w9)=(4,8,3,7,9,2,1,6,8,9)とした。さらに、問題(C1)においては、ナップザックjの容量をそれぞれ、(C0,C1,C2)=(12,18,26)とした。
問題(C2)は、10種類の品物を2つのナップザックに詰める場合のナップザック問題である。問題(C2)においては、品物iの価値をそれぞれ、(v0,v1,v2,v3,v4,v5,v6,v7,v8,v9)=(1,2,3,2,5,6,9,7,4,8)とした。また、問題(C2)においては、品物iの重さをそれぞれ、(w0,w1,w2,w3,w4,w5,w6,w7,w8,w9)=(1,9,7,1,5,8,6,5,9,8)とした。さらに、問題(C2)においては、ナップザックjの容量をそれぞれ、(C0,C1)=(14,22)とした。
また、実施例3では、図35に示すように、問題(C1)と問題(C2)におけるバイアスを隣接して配置した。実施例3では、図35に示すように、問題(C1)と問題(C2)におけるウエイトをバイアスに対応させると共に、互いに異なる組合せ最適化問題の求解に用いるビット間のウエイトをゼロにした。
実施例2において、上記式(1)のイジングモデルの最小化を行ったところ、上記式(1)のイジングモデルにおける最小値(Emin)は、「−1910」であった。また、上記式(1)のイジングモデルの最小化に必要となった計算時間は8.4秒であった。
比較例3では、実施例3において、問題(C1)と問題(C2)を、個別に2回の計算を行うことにより求解した以外は、実施例3と同様にして、上記式(1)のイジングモデルの最小化を行った。
比較例3においては、図36に示すように、問題(C1)におけるバイアス及びウエイトと、問題(C2)におけるバイアス及びウエイトとを、個別に設定して、それぞれの組合せ最適化問題の求解を個別に行った。
実施例3のイジングモデルの最小値「−1910」は、比較例3において、問題(C1)のイジングモデルを個別に最小化した結果の「−1192」と、問題(C2)のイジングモデルを個別に最小化した結果の「−718」との和(合計)となっている。
このことから、実施例3において、問題(C1)と問題(C2)という、個々の組合せ最適化問題を正しく求解できていることがわかる。
さらに、図37に示すように、実施例3においては、計算時間は8.4秒であり、比較例2の計算時間である16.8秒と比べて、半分(1/2)の計算時間で、問題(C1)と問題(C2)とを求解できた。
<実施例4>
実施例4として、複数の組合せ最適化問題が、異種の組合せ最適化問題を含む場合について、複数の組合せ最適化問題の求解を行った。実施例4では、実施例1と同様に、図10に示すような機能構成を有する最適化装置を用いて、図11のフローチャートにおけるステップS101からS106を行うことにより、3つの組合せ最適化問題の求解を行った。また、組合せ最適化問題の求解(式(1)のイジングモデルの最小化)は、デジタルアニーラ(登録商標)を用いた。
実施例4において、上記式(1)のイジングモデルの最小化を行ったところ、上記式(1)のイジングモデルにおける最小値(Emin)は、「−1082769」であった。また、上記式(1)のイジングモデルの最小化に必要となった計算時間は8.4秒であった。
比較例4では、実施例4において上記の問題(A2)、問題(B2)、及び問題(C1)を、個別に3回の計算を行うことにより求解した以外は、実施例4と同様にして、上記式(1)のイジングモデルの最小化を行った。
比較例4においては、図39に示すように、問題(A2)におけるバイアス及びウエイトと、問題(B2)におけるバイアス及びウエイトと、問題(C1)におけるバイアス及びウエイトを、個別に設定して、それぞれの組合せ最適化問題の求解を個別に行った。
実施例4のイジングモデルの最小値「−1082769」は、比較例4において、問題(A2)のイジングモデルを個別に最小化した結果の「−1081507」と、問題(B2)のイジングモデルを個別に最小化した結果の「−70」と、問題(C1)のイジングモデルを個別に最小化した結果の「−1192」との和(合計)となっている。
このことから、実施例4において、問題(A2)と、問題(B2)と、問題(C1)という、個々の組合せ最適化問題を正しく求解できていることがわかる。
さらに、図40に示すように、実施例4においては、計算時間は8.4秒であり、比較例2の計算時間である10.2秒と比べて、短くすることができた。実施例4では、複数の組合せ最適化問題を求解するための計算時間は、最も求解しづらい問題(C1)を求解する際に必要となる計算時間と同じとなった。
図41に示すように、従来技術では、複数の組合せ最適化問題を求解する際に、各組合せ最適化問題(問題(1)と問題(2))について、個別に繰り返して求解を行うことにより、逐次的に組合せ最適化問題を求解する。このため、図41に示す例ように、従来技術では、個々の組合せ最適化問題の求解の計算時間が10秒である場合は、問題(1)の求解を行うジョブ(1)と、問題(2)の求解を行うジョブ(2)とに、それぞれ10秒かかるため、合計の計算時間は20秒となる。
さらに、本件で開示する技術の一実施形態では、図41に示すように、問題(1)と問題(2)という2つの組合せ最適化問題における、互いに異なる組合せ最適化問題の求解に用いるビット間の相互作用(ウエイト)をゼロとする。つまり、本件で開示する技術の一実施形態では、複数の第1ビットの各々と複数の第2ビットの各々との相互作用をゼロとする。
そして、本件で開示する技術の一実施形態では、上記のように設定した条件に基づいて、複数の組合せ最適化問題を一括して(1つのジョブで)求解する。
こうすることにより、本件で開示する技術の一実施形態では、図41に示す例において、個々の求解に10秒ずつ必要となる問題(1)と問題(2)を求解する際に、問題(1)と問題(2)とをまとめて求解でき、合計の計算時間を10秒とすることができる。つまり、本件で開示する技術の一実施形態においては、図41に示す例では、複数の組み合わせ最適化問題の求解に必要となる計算時間を半分にすることができる。
(付記1)
複数の組合せ最適化問題を求解するための複数ビットのうち、複数の第1ビットを前記複数の組合せ最適化問題に含まれる第1組合せ最適化問題に割り当て、複数の第2ビットを前記複数の組合せ最適化問題に含まれる第2組合せ最適化問題に割り当て、
前記複数の第1ビットの各々と前記複数の第2ビットの各々との相互作用をゼロとして、
前記複数の組合せ最適化問題を求解する求解部を備えることを特徴とする最適化装置。
(付記2)
前記第1組合せ最適化問題と前記第2組合せ最適化問題は互いに同種又は異種の組合せ最適化問題である、付記1に記載の最適化装置。
(付記3)
前記複数の第2ビットは、前記複数ビットにおいて前記複数の第1ビットに対して隣接する、付記1又は2に記載の最適化装置。
(付記4)
前記求解部が、
前記複数の組合せ最適化問題をコスト関数に基づき求解し、
前記コスト関数は、
前記複数の第1ビットに含まれるそれぞれのビットの間の相互作用が整数となり、
前記複数の第2ビットに含まれるそれぞれのビットの間の相互作用が整数となるように定められた関数である、
付記1から3のいずれかに記載の最適化装置。
(付記5)
前記求解部が、下記式(1)で表されるイジングモデルに変換した前記コスト関数に基づき、前記複数の組合せ最適化問題を求解する、付記4に記載の最適化装置。
前記Eは、当該Eを最小化することが、前記複数の組合せ最適化問題を求解することを意味する前記コスト関数であり、
前記wijは、i番目の前記ビットとj番目の前記ビットとの間の相互作用を表す数値であり、
前記biは、i番目の前記ビットに対するバイアスを表す数値であり、
前記xiは、i番目の前記ビットが0又は1であることを表すバイナリ変数であり、
前記xjは、j番目の前記ビットが0又は1であることを表すバイナリ変数である。
(付記6)
前記求解部が、焼き鈍し法により、前記複数の組合せ最適化問題を求解する、付記1から5のいずれかに記載の最適化装置。
(付記7)
前記複数の組合せ最適化問題が、複数の分子間における類似性探索である、付記1から6のいずれかに記載の最適化装置。
(付記8)
複数の組合せ最適化問題を求解するための複数ビットのうち、複数の第1ビットを前記複数の組合せ最適化問題に含まれる第1組合せ最適化問題に割り当て、複数の第2ビットを前記複数の組合せ最適化問題に含まれる第2組合せ最適化問題に割り当て、
前記複数の第1ビットの各々と前記複数の第2ビットの各々との相互作用をゼロとして、
前記複数の組合せ最適化問題を求解する処理を、コンピュータに行わせることを特徴とする最適化プログラム。
(付記9)
前記第1組合せ最適化問題と前記第2組合せ最適化問題は互いに同種又は異種の組合せ最適化問題である、付記8に記載の最適化プログラム。
(付記10)
前記複数の第2ビットは、前記複数ビットにおいて前記複数の第1ビットに対して隣接する、付記8又は9に記載の最適化プログラム。
(付記11)
前記複数の組合せ最適化問題をコスト関数に基づき求解し、
前記コスト関数は、
前記複数の第1ビットに含まれるそれぞれのビットの間の相互作用が整数となり、
前記複数の第2ビットに含まれるそれぞれのビットの間の相互作用が整数となるように定められた関数である、
付記8から10のいずれかに記載の最適化プログラム。
(付記12)
下記式(1)で表されるイジングモデルに変換した前記コスト関数に基づき、前記複数の組合せ最適化問題を求解する、付記11に記載の最適化プログラム。
前記Eは、当該Eを最小化することが、前記複数の組合せ最適化問題を求解することを意味する前記コスト関数であり、
前記wijは、i番目の前記ビットとj番目の前記ビットとの間の相互作用を表す数値であり、
前記biは、i番目の前記ビットに対するバイアスを表す数値であり、
前記xiは、i番目の前記ビットが0又は1であることを表すバイナリ変数であり、
前記xjは、j番目の前記ビットが0又は1であることを表すバイナリ変数である。
(付記13)
焼き鈍し法により、前記複数の組合せ最適化問題を求解する、付記8から12のいずれかに記載の最適化プログラム。
(付記14)
前記複数の組合せ最適化問題が、複数の分子間における類似性探索である、付記8から13のいずれかに記載の最適化プログラム。
(付記15)
複数の組合せ最適化問題を求解するための複数ビットのうち、複数の第1ビットを前記複数の組合せ最適化問題に含まれる第1組合せ最適化問題に割り当て、複数の第2ビットを前記複数の組合せ最適化問題に含まれる第2組合せ最適化問題に割り当て、
前記複数の第1ビットの各々と前記複数の第2ビットの各々との相互作用をゼロとして、
前記複数の組合せ最適化問題を求解する求解工程を含むことを特徴とする最適化方法。
(付記16)
前記第1組合せ最適化問題と前記第2組合せ最適化問題は互いに同種又は異種の組合せ最適化問題である、付記15に記載の最適化方法。
(付記17)
前記複数の第2ビットは、前記複数ビットにおいて前記複数の第1ビットに対して隣接する、付記15又は16に記載の最適化方法。
(付記18)
前記求解工程において、
前記複数の組合せ最適化問題をコスト関数に基づき求解し、
前記コスト関数は、
前記複数の第1ビットに含まれるそれぞれのビットの間の相互作用が整数となり、
前記複数の第2ビットに含まれるそれぞれのビットの間の相互作用が整数となるように定められた関数である、
付記15から17のいずれかに記載の最適化方法。
(付記19)
前記求解工程において、下記式(1)で表されるイジングモデルに変換した前記コスト関数に基づき、前記複数の組合せ最適化問題を求解する、付記18に記載の最適化方法。
前記Eは、当該Eを最小化することが、前記複数の組合せ最適化問題を求解することを意味する前記コスト関数であり、
前記wijは、i番目の前記ビットとj番目の前記ビットとの間の相互作用を表す数値であり、
前記biは、i番目の前記ビットに対するバイアスを表す数値であり、
前記xiは、i番目の前記ビットが0又は1であることを表すバイナリ変数であり、
前記xjは、j番目の前記ビットが0又は1であることを表すバイナリ変数である。
(付記20)
前記求解工程において、焼き鈍し法により、前記複数の組合せ最適化問題を求解する、付記15から19のいずれかに記載の最適化方法。
(付記21)
前記複数の組合せ最適化問題が、複数の分子間における類似性探索である、付記15から20のいずれかに記載の最適化方法。
11 制御部
12 メモリ
13 記憶部
14 表示部
15 入力部
16 出力部
17 I/Oインターフェース部
18 システムバス
19 ネットワークインターフェース部
20 ネットワークインターフェース部
30 コンピュータ
40 コンピュータ
101 通信機能部
102 入力機能部
103 出力機能部
104 制御機能部
105 求解部
106 記憶機能部
107 バイアスデータベース
108 ウエイトデータベース
Claims (8)
- 複数の組合せ最適化問題を求解するための複数ビットのうち、複数の第1ビットを前記複数の組合せ最適化問題に含まれる第1組合せ最適化問題に割り当て、複数の第2ビットを前記複数の組合せ最適化問題に含まれる第2組合せ最適化問題に割り当て、
前記複数の第1ビットの各々と前記複数の第2ビットの各々との相互作用をゼロとして、
前記複数の組合せ最適化問題を求解する求解部を備えることを特徴とする最適化装置。 - 前記第1組合せ最適化問題と前記第2組合せ最適化問題は互いに同種又は異種の組合せ最適化問題である、請求項1に記載の最適化装置。
- 前記複数の第2ビットは、前記複数ビットにおいて前記複数の第1ビットに対して隣接する、請求項1又は2に記載の最適化装置。
- 前記求解部が、
前記複数の組合せ最適化問題をコスト関数に基づき求解し、
前記コスト関数は、
前記複数の第1ビットに含まれるそれぞれのビットの間の相互作用が整数となり、
前記複数の第2ビットに含まれるそれぞれのビットの間の相互作用が整数となるように定められた関数である、
請求項1から3のいずれかに記載の最適化装置。 - 前記求解部が、下記式(1)で表されるイジングモデルに変換した前記コスト関数に基づき、前記複数の組合せ最適化問題を求解する、請求項4に記載の最適化装置。
前記Eは、当該Eを最小化することが、前記複数の組合せ最適化問題を求解することを意味する前記コスト関数であり、
前記wijは、i番目の前記ビットとj番目の前記ビットとの間の相互作用を表す数値であり、
前記biは、i番目の前記ビットに対するバイアスを表す数値であり、
前記xiは、i番目の前記ビットが0又は1であることを表すバイナリ変数であり、
前記xjは、j番目の前記ビットが0又は1であることを表すバイナリ変数である。 - 前記求解部が、焼き鈍し法により、前記複数の組合せ最適化問題を求解する、請求項1から5のいずれかに記載の最適化装置。
- 複数の組合せ最適化問題を求解するための複数ビットのうち、複数の第1ビットを前記複数の組合せ最適化問題に含まれる第1組合せ最適化問題に割り当て、複数の第2ビットを前記複数の組合せ最適化問題に含まれる第2組合せ最適化問題に割り当て、
前記複数の第1ビットの各々と前記複数の第2ビットの各々との相互作用をゼロとして、
前記複数の組合せ最適化問題を求解する処理を、コンピュータに行わせることを特徴とする最適化プログラム。 - 複数の組合せ最適化問題を求解するための複数ビットのうち、複数の第1ビットを前記複数の組合せ最適化問題に含まれる第1組合せ最適化問題に割り当て、複数の第2ビットを前記複数の組合せ最適化問題に含まれる第2組合せ最適化問題に割り当て、
前記複数の第1ビットの各々と前記複数の第2ビットの各々との相互作用をゼロとして、
前記複数の組合せ最適化問題を求解する求解工程を含むことを特徴とする最適化方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020020502A JP2021125172A (ja) | 2020-02-10 | 2020-02-10 | 最適化装置、最適化プログラム、及び最適化方法 |
EP20217962.8A EP3862870A1 (en) | 2020-02-10 | 2020-12-31 | Optimization device, optimization program, and optimization method |
US17/142,299 US20210248507A1 (en) | 2020-02-10 | 2021-01-06 | Optimization device, non-transitory computer-readable storage medium, and optimization method |
CN202110089435.8A CN113255094A (zh) | 2020-02-10 | 2021-01-22 | 优化设备、优化程序和优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020020502A JP2021125172A (ja) | 2020-02-10 | 2020-02-10 | 最適化装置、最適化プログラム、及び最適化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021125172A true JP2021125172A (ja) | 2021-08-30 |
Family
ID=74045395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020020502A Pending JP2021125172A (ja) | 2020-02-10 | 2020-02-10 | 最適化装置、最適化プログラム、及び最適化方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20210248507A1 (ja) |
EP (1) | EP3862870A1 (ja) |
JP (1) | JP2021125172A (ja) |
CN (1) | CN113255094A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7006297B2 (ja) * | 2018-01-19 | 2022-01-24 | 富士通株式会社 | 学習プログラム、学習方法および学習装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015191340A (ja) * | 2014-03-27 | 2015-11-02 | 株式会社日立製作所 | 情報処理装置及び情報処理方法 |
US20170017884A1 (en) * | 2014-06-23 | 2017-01-19 | International Business Machines Corporation | Solving vehicle routing problems using evolutionary computing techniques |
JP2020004387A (ja) * | 2018-06-20 | 2020-01-09 | 富士通株式会社 | 最適化問題計算プログラム及び最適化問題計算システム |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7409325B2 (en) * | 2004-07-27 | 2008-08-05 | Battelle Memorial Institute | Object oriented library for Markov chain Monte Carlo simulation |
US8412551B2 (en) * | 2004-10-21 | 2013-04-02 | Abb Research Ltd. | Formal structure-based algorithms for large scale resource scheduling optimization |
CN102982389A (zh) * | 2012-11-02 | 2013-03-20 | 东南大学 | 使用基于MapReduce的蚁群优化技术求解组合优化问题的方法 |
JP5865456B1 (ja) * | 2014-08-29 | 2016-02-17 | 株式会社日立製作所 | 半導体装置 |
US9659253B1 (en) * | 2016-02-04 | 2017-05-23 | International Business Machines Corporation | Solving an optimization model using automatically generated formulations in a parallel and collaborative method |
US11100191B2 (en) * | 2016-08-26 | 2021-08-24 | 1Qb Information Technologies Inc. | Method and system for performing real-time analytics on a plurality of data streams |
JP6988476B2 (ja) | 2017-12-29 | 2022-01-05 | 富士通株式会社 | 最適化装置および最適化装置の制御方法 |
CA3092781A1 (en) * | 2018-03-02 | 2019-09-06 | Google Llc | Optimizing qubit operating frequencies |
JP6465231B1 (ja) * | 2018-03-12 | 2019-02-06 | 富士通株式会社 | 最適化装置及び最適化装置の制御方法 |
JP7283065B2 (ja) * | 2018-12-07 | 2023-05-30 | 日本電信電話株式会社 | 推定装置、最適化装置、推定方法、最適化方法、及びプログラム |
US11334827B1 (en) * | 2019-06-03 | 2022-05-17 | Blue Yonder Group, Inc. | Image-based decomposition for fast iterative solve of complex linear problems |
WO2021072221A1 (en) * | 2019-10-09 | 2021-04-15 | Cornell University | Quantum computing based hybrid solution strategies for large-scale discrete-continuous optimization problems |
US20210232657A1 (en) * | 2020-01-24 | 2021-07-29 | Denso Corporation | Information processing system, combinatorial optimization method, and combinatorial optimization program |
-
2020
- 2020-02-10 JP JP2020020502A patent/JP2021125172A/ja active Pending
- 2020-12-31 EP EP20217962.8A patent/EP3862870A1/en active Pending
-
2021
- 2021-01-06 US US17/142,299 patent/US20210248507A1/en active Pending
- 2021-01-22 CN CN202110089435.8A patent/CN113255094A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015191340A (ja) * | 2014-03-27 | 2015-11-02 | 株式会社日立製作所 | 情報処理装置及び情報処理方法 |
US20170017884A1 (en) * | 2014-06-23 | 2017-01-19 | International Business Machines Corporation | Solving vehicle routing problems using evolutionary computing techniques |
JP2020004387A (ja) * | 2018-06-20 | 2020-01-09 | 富士通株式会社 | 最適化問題計算プログラム及び最適化問題計算システム |
Also Published As
Publication number | Publication date |
---|---|
EP3862870A1 (en) | 2021-08-11 |
US20210248507A1 (en) | 2021-08-12 |
CN113255094A (zh) | 2021-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gharehchopogh et al. | An efficient harris hawk optimization algorithm for solving the travelling salesman problem | |
Jo et al. | Panene: A progressive algorithm for indexing and querying approximate k-nearest neighbors | |
US20090198640A1 (en) | Fuzzy-learning-based extraction of time-series behavior | |
Zhang et al. | PS-Tree: A piecewise symbolic regression tree | |
Adelomou et al. | Using the Parameterized Quantum Circuit combined with Variational-Quantum-Eigensolver (VQE) to create an Intelligent social workers' schedule problem solver | |
JP2020173643A (ja) | 結合構造探索装置、結合構造探索方法、及び結合構造探索プログラム | |
Ozdemir et al. | Prioritizing store plan alternatives produced with shape grammar using multi-criteria decision-making techniques | |
JP2020091518A (ja) | 環状分子の構造探索方法、及び構造探索装置、並びにプログラム | |
Ludl et al. | Using machine learning models to explore the solution space of large nonlinear systems underlying flowsheet simulations with constraints | |
Schmidt et al. | Latin hypercube sampling-based Monte Carlo simulation: extension of the sample size and correlation control | |
Branca et al. | Neural networks: solving the chemistry of the interstellar medium | |
JP2021125172A (ja) | 最適化装置、最適化プログラム、及び最適化方法 | |
Weber et al. | Faster subgraph isomorphism detection by well-founded total order indexing | |
US20230059708A1 (en) | Generation of Optimized Hyperparameter Values for Application to Machine Learning Tasks | |
Mota et al. | A compact timed state space approach for the analysis of manufacturing systems: key algorithmic improvements | |
Fukasawa et al. | Bi-objective short-term scheduling in a rolling horizon framework: a priori approaches with alternative operational objectives | |
Attieh et al. | Athanor: high-level local search over abstract constraint specifications in Essence | |
JP5555238B2 (ja) | ベイジアンネットワーク構造学習のための情報処理装置及びプログラム | |
JP2021117663A (ja) | 類似度計算装置、類似度計算方法、及びプログラム | |
Bureva et al. | Generalized net model simulation of cluster analysis using CLIQUE: clustering in quest | |
Pakhira et al. | Generational pipelined genetic algorithm (PLGA) using stochastic selection | |
JP2022154862A (ja) | 情報処理方法、プログラム及び情報処理装置 | |
Godahewa et al. | SETAR-Tree: a novel and accurate tree algorithm for global time series forecasting | |
Roy et al. | IoHMT: a probabilistic event-sensitive music analytics framework for low resource internet of humanitarian musical things | |
Kauers et al. | Good pivots for small sparse matrices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20220601 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221006 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230929 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231003 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240213 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240326 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240521 |