JP2020181576A - Optimization support device, optimization support method, program, and optimization system - Google Patents

Optimization support device, optimization support method, program, and optimization system Download PDF

Info

Publication number
JP2020181576A
JP2020181576A JP2020076409A JP2020076409A JP2020181576A JP 2020181576 A JP2020181576 A JP 2020181576A JP 2020076409 A JP2020076409 A JP 2020076409A JP 2020076409 A JP2020076409 A JP 2020076409A JP 2020181576 A JP2020181576 A JP 2020181576A
Authority
JP
Japan
Prior art keywords
solution
value
optimum
objective function
optimization problem
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.)
Granted
Application number
JP2020076409A
Other languages
Japanese (ja)
Other versions
JP7457243B2 (en
Inventor
哲明 黒川
Tetsuaki Kurokawa
哲明 黒川
邦春 伊藤
Kuniharu Ito
邦春 伊藤
敬和 小林
Takakazu Kobayashi
敬和 小林
弘二 平野
Koji Hirano
弘二 平野
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.)
Nippon Steel Corp
Original Assignee
Nippon Steel Corp
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 Nippon Steel Corp filed Critical Nippon Steel Corp
Publication of JP2020181576A publication Critical patent/JP2020181576A/en
Application granted granted Critical
Publication of JP7457243B2 publication Critical patent/JP7457243B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

To quickly solve an optimization problem.SOLUTION: An optimization support device 10 comprises: an input information acquisition unit 11 that acquires input information on an optimization problem; a decision variable setting unit 12 that sets a decision variable of the optimization problem; an objective function setting unit 13 that sets an objective function of a slave problem in which a partial constraint of the optimization problem is relaxed; an input unit 14 that decomposes the decision variable and inputs, to a quantum computer 20, a coefficient of the objective function as the value of a weight of association between nodes; a result acquisition unit 15 that acquires an optimal solution to the slave problem from the quantum computer 20 and determines an optimal value of the objective function of the slave problem; and an optimal solution determination unit 16 that, based on a relaxed solution obtained by binding the optimal solutions and a relaxed optimal value obtained by adding optimal values together, when provided with the partial constraint, takes the relaxed solution as the optimal solution to the original optimization problem, and when not provided with the partial constraint, takes an executable solution obtained by correcting a violation included in the relaxed solution as the optimal solution to the original optimization problem.SELECTED DRAWING: Figure 1

Description

本発明は、最適化支援装置、最適化支援方法、プログラムおよび最適化システムに関する。 The present invention relates to an optimization support device, an optimization support method, a program, and an optimization system.

最適化問題として、物流・生産計画決定問題がある。大規模な物流・生産計画決定問題は、2値(例えば0−1)変数を含む複数の決定変数を使い記述された、複数の等式・不等式により前記決定変数のとり得る範囲を限定された中で、目的とする関数を最小化または最大化する決定変数を求める組合せ要素を含む。このような問題では、本来すべての条件を考慮した最適な解を得ることが望まれるが、規模が大きすぎると現時点の汎用計算機では計算時間や計算機メモリの制限により計算が困難となる。このため、期間や工程などの要素により分割した問題の解によって代用することが行われる。これにより本来一括で求解したときの解に比べ、1〜3割程度劣化した解による生産計画での操業を余儀なくされる。 As an optimization problem, there is a distribution / production planning decision problem. In the large-scale distribution / production plan determination problem, the range of the determination variables is limited by a plurality of equations / inequalities described using a plurality of determination variables including binary (for example, 0-1) variables. It contains a combination element that seeks a determinant that minimizes or maximizes the desired function. In such a problem, it is originally desired to obtain an optimum solution in consideration of all the conditions, but if the scale is too large, it becomes difficult to calculate with the current general-purpose computer due to the limitation of the calculation time and the computer memory. Therefore, the solution of the problem divided by the elements such as the period and the process is substituted. As a result, it is unavoidable to operate with a production plan based on a solution that is deteriorated by about 10 to 30% compared to the solution that was originally obtained in a batch.

多段工程を含む生産物流プロセスでは、例えば、操業条件(製造作業、仕分作業など)の簡略化及び効率化を目的として、製品を操業条件によって識別し、ロット番号で管理している。ロットとは、同一の操業条件で処理可能な製品をまとめた生産単位を意味する。例えば、熱延工程において同一の加熱及び圧延条件で製造される10個のコイルがあった場合、それらに同一のロット番号を付与し、ロットという単位でまとめて管理される。各工程では、同一のロット番号が付与された複数の製品が連続して生産されることが効率性の観点から望ましい。以下、ロット単位にまとめられた複数の製品を連続して生産する処理を「ロットまとめ」という。 In the production distribution process including the multi-stage process, for example, for the purpose of simplifying and improving the efficiency of operating conditions (manufacturing work, sorting work, etc.), products are identified by operating conditions and managed by lot number. A lot means a production unit that is a collection of products that can be processed under the same operating conditions. For example, if there are 10 coils manufactured under the same heating and rolling conditions in the hot rolling process, the same lot number is assigned to them and they are collectively managed in units of lots. In each process, it is desirable from the viewpoint of efficiency that a plurality of products with the same lot number are continuously produced. Hereinafter, the process of continuously producing a plurality of products grouped into lots is referred to as "lot grouping".

各工程では、通常、ロットが変わるたびに段取り替えが必要となる。段取り替えとは、各工程における処理設備の設定変更、部品交換、メンテナンスなどを指す。段取り替えには、通常多くの時間を要する。このため、各工程の作業スケジュールは、出来るだけ段取り替え作業が少なくて済むように作成されることが好ましい。しかしながら、近年、顧客から注文される製品仕様は細分化しており、大きなロットにまとめられる製品群は少ない。仮に、大きなロットにまとめることができる製品群があったとしても、通常、納期にばらつきがあることが多い。そのような大きなロットにまとめることができる製品を優先的に連続して製造すると、納期に時間的な余裕がある製品を先に製造することとなり、その結果、本来、先に製造すべき製品が後回しになってしまう場合がある。そのため、後回しとなった製品の生産が納期に間に合わないという問題を引き起こすおそれがある。 In each process, it is usually necessary to change the setup every time the lot changes. Setup change refers to changing the settings of processing equipment, replacing parts, maintenance, etc. in each process. It usually takes a lot of time to change the setup. Therefore, it is preferable that the work schedule of each process is created so that the setup change work can be reduced as much as possible. However, in recent years, the product specifications ordered by customers have been subdivided, and there are few product groups that can be put together in large lots. Even if there is a product group that can be put together in a large lot, the delivery time usually varies. If products that can be put together in such a large lot are manufactured in succession with priority, the products that have time to deliver will be manufactured first, and as a result, the products that should be manufactured first will be manufactured first. It may be postponed. Therefore, there is a risk that the production of the postponed product may not be in time for the delivery date.

また、ロットまとめの条件は、工程ごとに異なる。そのため、製造する製品の種類によっては、ある工程では同一のロットとしてまとめられても、他の工程では同一のロットとしてまとめられない製品の組合せが生じ得る。このため、工程ごとに個別にスケジュールを作成する方法が考えられるが、全工程を通してみると生産効率が低下するおそれがある。このように、複数の工程にわたる生産計画を策定する際には、納期と生産効率とのトレードオフを全工程にわたり調整して、適切なロットまとめをする必要がある。しかしながら、全工程にわたるスケジュールを作成しようとすると、以下のような問題がある。 In addition, the conditions for lot summarization differ for each process. Therefore, depending on the type of product to be manufactured, there may be a combination of products that are grouped into the same lot in one process but not in the same lot in another process. For this reason, it is conceivable to create a schedule individually for each process, but there is a risk that the production efficiency will decrease if the entire process is viewed. In this way, when formulating a production plan that spans a plurality of processes, it is necessary to adjust the trade-off between the delivery date and the production efficiency over the entire process and make an appropriate lot. However, when trying to create a schedule over the entire process, there are the following problems.

すなわち、生産効率を決める条件の組合せが多く、解くべきスケジュール問題が大規模化し、求解に膨大な計算量および多大な時間を要する。そのうえ、プロセスの遅延、作業停止などの外的要因によって、頻繁かつ迅速なスケジュールの修正(リスケジュール)が必要となる。このため、従来は、工程毎の個別のスケジュールを作成することが一般的であり、全工程にわたり任意製品の任意工程での処理順を最適化したスケジュールを作成することは困難であった。 That is, there are many combinations of conditions that determine production efficiency, the schedule problem to be solved becomes large-scale, and the solution requires a huge amount of calculation and a large amount of time. Moreover, due to external factors such as process delays and work outages, frequent and rapid schedule revisions (reschedules) are required. For this reason, conventionally, it has been common to create an individual schedule for each process, and it has been difficult to create a schedule that optimizes the processing order of any product in any process over all processes.

特許文献1(特開2010−97506号公報)には、1つ以上の製品がグルーピングされたロットを処理単位としてそれぞれ処理を実行する複数の工程を含む生産物流プロセスの作業スケジュールを作成するシステムに関する発明が開示されている。 Patent Document 1 (Japanese Unexamined Patent Publication No. 2010-97506) relates to a system for creating a work schedule of a production distribution process including a plurality of processes in which a lot in which one or more products are grouped is used as a processing unit. The invention is disclosed.

特開2010−97506号公報Japanese Unexamined Patent Publication No. 2010-97506

特許文献1の発明は、工程間で必要となるデータの受け渡しに関するシステム構成を提案しているが、全工程にわたる納期と生産効率とのトレードオフを解消する具体的な処理順の決定方法について言及していない。 The invention of Patent Document 1 proposes a system configuration for passing data required between processes, but mentions a specific method for determining a processing order that eliminates a trade-off between delivery time and production efficiency over all processes. Not done.

本発明者らは、上記の問題を解決するべく、近年、量子力学的な状態の重ね合わせを用いることにより、従来の計算装置では実現できない規模の並列性を実現する量子計算の技術に着目した。量子計算技術には、例えば、最近、話題を呼んでいる、1)超伝導量子ビットを用いて最適化計算を行うことに特化したレーザネットワークや量子アニーリングマシンなどの量子イジングモデル方式の量子コンピュータ技術、2)量子ゲートを組み合わせて汎用的な量子計算が可能な量子ゲート方式の量子コンピュータ技術、3)量子現象に着想を得てイジングモデルをデジタル回路を用いて解くことに特化した技術、などが含まれる以降、これらの技術を量子計算技術と呼ぶ。 In order to solve the above problems, the present inventors have recently focused on a quantum computing technique that realizes parallelism on a scale that cannot be realized by a conventional computing device by using superposition of quantum mechanical states. .. Quantum computing technology, for example, has recently become a hot topic: 1) Quantum computers with quantum singing models such as laser networks and quantum annealing machines that specialize in performing optimization calculations using superconducting quantum bits. Technology, 2) Quantum gate-type quantum computer technology that enables general-purpose quantum calculations by combining quantum gates, 3) Technology that specializes in solving the Ising model using digital circuits, inspired by quantum phenomena. Since these are included, these technologies are called quantum computing technologies.

しかしながら、上述のように任意製品の任意工程での処理順について最適化するために量子計算技術を用いてに最適化問題(例えば、数理計画問題)を求解させようとすると、事前に最適化問題の制約式を目的関数に変換する必要がある。これは、現時点の量子計算技術を用いた手法では、最適化問題の制約式については設定できず、目的関数についての設定しかできないためである。そのため、最適化問題を量子計算技術を用いて求解させるために、例えば、等式制約については、両辺の対象項を左辺または右辺のいずれかに全て移行し、その辺の2乗和に対しペナルティを課すことで、比較的容易に目的関数化できる。しかし、等式制約以外の不等式制約については、いまだ統一的な目的関数化方法は知られていない。さらに、現時点において実用化されている量子計算技術を用いた装置では、利用可能なノードの数が限られており、大規模な問題を解くためには必ずしも十分とはいえない。 However, as described above, when trying to solve an optimization problem (for example, a mathematical programming problem) by using quantum computing technology in order to optimize the processing order of an arbitrary product in an arbitrary process, the optimization problem is solved in advance. It is necessary to convert the constraint expression of. This is because the current method using quantum computing technology cannot set the constraint formula of the optimization problem, but only the objective function. Therefore, in order to solve the optimization problem using quantum computing technology, for example, for equation constraints, all the target terms on both sides are moved to either the left side or the right side, and a penalty is given for the sum of squares of that side. By imposing, it can be made into an objective function relatively easily. However, for inequality constraints other than equality constraints, a unified objective functioning method is not yet known. Furthermore, the number of available nodes is limited in the devices using quantum computing technology that are currently in practical use, and it is not always sufficient to solve large-scale problems.

本発明は、上記事情に鑑みてなされたものであり、汎用計算機による求解が困難な規模の最適化問題を、利用可能なノードの数に限りがある量子計算技術を用いて比較的容易に求解できる最適化支援装置等を提供することを目的とする。 The present invention has been made in view of the above circumstances, and it is relatively easy to solve an optimization problem on a scale that is difficult to solve by a general-purpose computer by using a quantum computing technique in which the number of available nodes is limited. The purpose is to provide an optimization support device that can be used.

本発明は、下記の最適化支援装置等を要旨とする。 The gist of the present invention is the following optimization support device and the like.

〔1〕複数のノードと、前記ノード間の結合の重みの値を入力パラメータとして構成される特性関数とを備えるネットワークモデルにおいて、前記特性関数の値が最小値となる、前記ネットワークモデルの基底状態を求める量子計算技術を用いた装置に、最適化問題を求解させる最適化支援装置であって、
前記最適化問題に関する入力情報を取得する、入力情報取得部と、
前記最適化問題の決定変数を設定する、決定変数設定部と、
前記最適化問題について一部の制約条件を緩和した複数の子問題に分解し、前記子問題それぞれについての目的関数を設定する、目的関数設定部と、
前記決定変数を前記子問題それぞれについての決定変数に分解して前記ノードに対応する変数とし、前記目的関数の係数を前記ノード間の結合の重みの値として前記量子計算技術を用いた装置に入力する、入力部と、
前記量子計算技術を用いた装置において前記ネットワークモデルが基底状態となったときの前記ノードの値を前記子問題の最適解として取得し、前記最適解に基づき前記子問題の目的関数の最適値を求める、結果取得部と、
前記最適解を束ねた緩和解と、前記最適値を加え合わせた緩和最適値とに基づき、前記一部の制約条件が満たされるか否かを判定し、前記一部の制約条件が満たされる場合には前記緩和解を元の最適化問題の最適解とし、前記一部の制約条件が満たされない場合には前記緩和解に含まれる違反を修正して得た実行可能解を元の最適化問題の最適解とする、最適解決定部と、を備える、最適化支援装置。
[1] In a network model including a plurality of nodes and a characteristic function configured with the value of the weight of the connection between the nodes as an input parameter, the base state of the network model in which the value of the characteristic function is the minimum value. It is an optimization support device that solves an optimization problem with a device that uses quantum computing technology to find
An input information acquisition unit that acquires input information related to the optimization problem,
The coefficient of determination variable setting unit that sets the coefficient of determination of the optimization problem,
An objective function setting unit that decomposes the optimization problem into a plurality of child problems in which some constraints are relaxed and sets an objective function for each of the child problems.
The determinant is decomposed into determinants for each of the child problems to obtain variables corresponding to the nodes, and the coefficient of the objective function is input to the device using the quantum computing technique as the value of the weight of the coupling between the nodes. Input section and
In the device using the quantum computing technique, the value of the node when the network model is in the ground state is acquired as the optimum solution of the child problem, and the optimum value of the objective function of the child problem is obtained based on the optimum solution. The result acquisition department and
When it is determined whether or not some of the constraints are satisfied based on the relaxation solution that bundles the optimum solutions and the relaxation optimum value that is the sum of the optimum values, and the part of the constraints is satisfied. The relaxation solution is used as the optimum solution of the original optimization problem, and if some of the constraints are not satisfied, the feasible solution obtained by correcting the violation included in the relaxation solution is used as the original optimization problem. An optimization support device provided with an optimum solution determination unit, which is the optimum solution for the above.

〔2〕格子状に配列した複数のノードと、前記ノード間の結合の重みの値を入力パラメータとして構成される特性関数とを備えるネットワークモデルにおいて、前記特性関数の値が最小値となる、前記ネットワークモデルの基底状態を求める量子計算技術を用いた装置に、最適化問題を求解させる最適化支援方法であって、
(1)前記最適化問題に関する入力情報を取得する、ステップ、
(2)前記最適化問題の決定変数を設定する、ステップ、
(3)前記最適化問題の一部の制約条件を緩和した複数の子問題に分解し、前記子問題それぞれについての目的関数を設定する、ステップ、
(4)前記決定変数を前記子問題それぞれについての決定変数に分解して前記ノードに対応する変数とし、前記目的関数の係数を前記ノード間の結合の重みの値として前記量子計算技術を用いた装置に入力する、ステップ、
(5)前記量子計算技術を用いた装置において前記ネットワークモデルが基底状態となったときの前記ノードの値を前記子問題の最適解として取得し、前記最適解に基づき前記子問題の目的関数の最適値を求める、ステップ、および、
(6)前記最適解を束ねた緩和解と、前記最適値を加え合わせた緩和最適値とに基づき、前記一部の制約条件が満たされるか否かを判定し、前記一部の制約条件が満たされる場合には前記緩和解を元の最適化問題の最適解とし、前記一部の制約条件が満たされない場合には前記緩和解に含まれる違反を修正して得た実行可能解を元の最適化問題の最適解とする、ステップを備える、最適化支援方法。
[2] In a network model including a plurality of nodes arranged in a grid pattern and a characteristic function configured by using the value of the weight of the connection between the nodes as an input parameter, the value of the characteristic function is the minimum value. This is an optimization support method that allows a device that uses quantum computing technology to find the base state of a network model to solve an optimization problem.
(1) Acquiring input information regarding the optimization problem, step
(2) Setting the coefficient of determination of the optimization problem, step
(3) A step of decomposing a part of the optimization problem into a plurality of child problems in which some constraints are relaxed and setting an objective function for each of the child problems.
(4) The quantum calculation technique was used by decomposing the determinant into determinants for each of the child problems to obtain variables corresponding to the nodes, and using the coefficient of the objective function as the value of the weight of the connection between the nodes. Input to the device, step,
(5) In the device using the quantum computing technique, the value of the node when the network model is in the ground state is acquired as the optimum solution of the child problem, and the objective function of the child problem is based on the optimum solution. Finding the optimum value, steps, and
(6) Based on the relaxation solution in which the optimum solutions are bundled and the relaxation optimum value obtained by adding the optimum values, it is determined whether or not some of the constraint conditions are satisfied, and the part of the constraint conditions are satisfied. If it is satisfied, the relaxation solution is used as the optimum solution of the original optimization problem, and if some of the constraints are not satisfied, the feasible solution obtained by correcting the violation included in the relaxation solution is used as the original solution. An optimization support method with steps that makes it the optimal solution for an optimization problem.

〔3〕格子状に配列した複数のノードと、前記ノード間の結合の重みの値を入力パラメータとして構成される特性関数とを備えるネットワークモデルにおいて、前記特性関数の値が最小値となる、前記ネットワークモデルの基底状態を求める量子計算技術を用いた装置に、最適化問題を求解させるに際して、
コンピュータに、
(1)前記最適化問題に関する入力情報を取得する、ステップ、
(2)前記最適化問題の決定変数を設定する、ステップ、
(3)前記最適化問題の一部の制約条件を緩和した複数の子問題に分解し、前記子問題それぞれについての目的関数を設定する、ステップ、
(4)前記決定変数を前記子問題それぞれについての決定変数に分解して前記ノードに対応する変数とし、前記目的関数の係数を前記ノード間の結合の重みの値として前記量子計算技術を用いた装置に入力する、ステップ、
(5)前記量子計算技術を用いた装置において前記ネットワークモデルが基底状態となったときの前記ノードの値を前記子問題の最適解として取得し、前記最適解に基づき前記子問題の目的関数の最適値を求める、ステップ、および、
(6)前記最適解を束ねた緩和解と、前記最適値を加え合わせた緩和最適値とに基づき、前記一部の制約条件が満たされるか否かを判定し、前記一部の制約条件が満たされる場合には前記緩和解を元の最適化問題の最適解とし、前記一部の制約条件が満たされない場合には前記緩和解に含まれる違反を修正して得た実行可能解を元の最適化問題の最適解とする、ステップを実行させるプログラム。
[3] In a network model including a plurality of nodes arranged in a grid pattern and a characteristic function configured by using the value of the weight of the connection between the nodes as an input parameter, the value of the characteristic function is the minimum value. When making a device using quantum computing technology to find the base state of a network model solve an optimization problem
On the computer
(1) Acquiring input information regarding the optimization problem, step
(2) Setting the coefficient of determination of the optimization problem, step
(3) A step of decomposing a part of the optimization problem into a plurality of child problems in which some constraints are relaxed and setting an objective function for each of the child problems.
(4) The quantum computing technique was used by decomposing the determinant into determinants for each of the child problems to obtain variables corresponding to the nodes, and using the coefficient of the objective function as the value of the weight of the connection between the nodes. Input to the device, step,
(5) In the device using the quantum computing technique, the value of the node when the network model is in the ground state is acquired as the optimum solution of the child problem, and the objective function of the child problem is based on the optimum solution. Finding the optimum value, steps, and
(6) Based on the relaxation solution in which the optimum solutions are bundled and the relaxation optimum value obtained by adding the optimum values, it is determined whether or not some of the constraint conditions are satisfied, and the part of the constraint conditions is satisfied. If it is satisfied, the relaxation solution is used as the optimum solution of the original optimization problem, and if some of the constraints are not satisfied, the executable solution obtained by correcting the violation included in the relaxation solution is used as the original solution. A program that executes steps as the optimal solution for an optimization problem.

〔4〕最適化問題を最適化するシステムであって、
格子状に配列した複数のノードと、前記ノード間の結合の重みの値を入力パラメータとして構成される特性関数とを備えるネットワークモデルにおいて、前記特性関数の値が最小値となる、前記ネットワークモデルの基底状態を求める量子技術を用いた装置と、
前記最適化問題に関する入力情報を取得する、入力情報取得部と、
前記最適化問題の決定変数を設定する、決定変数設定部と、
前記最適化問題について一部の制約条件を緩和した複数の子問題に分解し、前記子問題それぞれについての目的関数を設定する、目的関数設定部と、
前記決定変数を前記子問題それぞれについての決定変数に分解して前記ノードに対応する変数とし、前記目的関数の係数を前記ノード間の結合の重みの値として前記量子計算技術を用いた装置に入力する、入力部と、
前記量子計算技術を用いた装置において前記ネットワークモデルが基底状態となったときの前記ノードの値を前記子問題の最適解として取得し、前記最適解に基づき前記子問題の目的関数の最適値を求める、結果取得部と、
前記最適解を束ねた緩和解と、前記最適値を加え合わせた緩和最適値とに基づき、前記一部の制約条件が満たされるか否かを判定し、前記一部の制約条件が満たされる場合には前記緩和解を元の最適化問題の最適解とし、前記一部の制約条件が満たされない場合には前記緩和解に含まれる違反を修正して得た実行可能解を元の最適化問題の最適解とする、最適解決定部と、を備える、最適化システム。
[4] A system that optimizes optimization problems.
In a network model including a plurality of nodes arranged in a grid pattern and a characteristic function configured by using the value of the weight of the connection between the nodes as an input parameter, the value of the characteristic function is the minimum value of the network model. A device that uses quantum technology to find the ground state,
An input information acquisition unit that acquires input information related to the optimization problem,
The coefficient of determination variable setting unit that sets the coefficient of determination of the optimization problem,
An objective function setting unit that decomposes the optimization problem into a plurality of child problems in which some constraints are relaxed and sets an objective function for each of the child problems.
The determinant is decomposed into determinants for each of the child problems to obtain variables corresponding to the nodes, and the coefficient of the objective function is input to the device using the quantum computing technique as the value of the weight of the coupling between the nodes. Input section and
In the device using the quantum computing technique, the value of the node when the network model is in the ground state is acquired as the optimum solution of the child problem, and the optimum value of the objective function of the child problem is obtained based on the optimum solution. The result acquisition department and
When it is determined whether or not some of the constraints are satisfied based on the relaxation solution that bundles the optimum solutions and the relaxation optimum value that is the sum of the optimum values, and the part of the constraints is satisfied. The relaxation solution is used as the optimum solution of the original optimization problem, and if some of the constraints are not satisfied, the feasible solution obtained by correcting the violation included in the relaxation solution is used as the original optimization problem. An optimization system equipped with an optimum solution determination unit, which is the optimum solution for.

本発明によれば、汎用計算機による求解が困難な規模の最適化問題を、利用可能なノードの数に限りがある量子計算技術を用いて比較的容易に求解できる。 According to the present invention, an optimization problem on a scale that is difficult to solve by a general-purpose computer can be solved relatively easily by using a quantum computing technique in which the number of available nodes is limited.

本実施形態に係る最適化システムの概略構成を示すブロック図である。It is a block diagram which shows the schematic structure of the optimization system which concerns on this embodiment. 本実施形態に係る量子計算機のハードウェア構成を示す図である。It is a figure which shows the hardware configuration of the quantum computer which concerns on this embodiment. 量子計算機の原理を説明するための図である。It is a figure for demonstrating the principle of a quantum computer. 本実施形態に係る最適化支援装置の動作を示すフロー図である。It is a flow chart which shows the operation of the optimization support apparatus which concerns on this embodiment. 本実施形態に係る最適化支援装置を実現するコンピュータの一例を示すブロック図である。It is a block diagram which shows an example of the computer which realizes the optimization support apparatus which concerns on this embodiment.

[装置の構成]
最初に、本実施形態に係る最適化システムの概略構成について図1を用いて説明する。図1は、本実施形態に係る最適化システムの概略構成を示すブロック図である。
[Device configuration]
First, the schematic configuration of the optimization system according to the present embodiment will be described with reference to FIG. FIG. 1 is a block diagram showing a schematic configuration of an optimization system according to the present embodiment.

図1に示すように、本実施形態に係る最適化システム30は、汎用計算機(最適化支援装置)10と、量子計算機(最適化装置)20とを備える。量子計算機20は、量子計算技術を用いた装置である。汎用計算機10は、求解すべき最適化問題(例えば、数理計画問題)を、量子計算機20が処理可能な形式で量子計算機20に入力する。また、汎用計算機10は、量子計算機20で得られた最適化問題の求解結果を取得する。量子計算機20は、汎用計算機10から入力された最適化問題を求解し、その求解結果を汎用計算機10へ出力する。
以下、主として、量子計算機20として、超伝導量子ビットを使った量子アニーリングマシンを用いる場合を例にとって説明する。なお、以下の説明においては、変数に対応する「ノード」の例として「量子ビットノード」を、「特性関数」の例として「ハミルトニアン」を、「ネットワークモデル」の例として「イジングモデル」を、「変数」の例として「イジング変数」をそれぞれ用いる。
As shown in FIG. 1, the optimization system 30 according to the present embodiment includes a general-purpose computer (optimization support device) 10 and a quantum computer (optimization device) 20. The quantum computer 20 is an apparatus using quantum computing technology. The general-purpose computer 10 inputs an optimization problem to be solved (for example, a mathematical programming problem) into the quantum computer 20 in a format that can be processed by the quantum computer 20. Further, the general-purpose computer 10 acquires the solution result of the optimization problem obtained by the quantum computer 20. The quantum computer 20 solves the optimization problem input from the general-purpose computer 10 and outputs the solution result to the general-purpose computer 10.
Hereinafter, a case where a quantum annealing machine using a superconducting qubit is used as the quantum computer 20 will be mainly described as an example. In the following description, "qubit node" is used as an example of "node" corresponding to a variable, "Hamiltonian" is used as an example of "characteristic function", and "Ising model" is used as an example of "network model". "Ising variables" are used as examples of "variables".

(汎用計算機10)
まず、汎用計算機10について説明する。汎用計算機10は、最適化支援装置として機能し、図1に示すように、少なくとも、入力情報取得部11と、決定変数設定部12と、目的関数設定部13と、入力部14と、結果取得部15と、最適解決定部16とを備える。
(General-purpose computer 10)
First, the general-purpose computer 10 will be described. The general-purpose computer 10 functions as an optimization support device, and as shown in FIG. 1, at least an input information acquisition unit 11, a decision variable setting unit 12, an objective function setting unit 13, an input unit 14, and a result acquisition. A unit 15 and an optimum solution determination unit 16 are provided.

(入力情報取得部11)
入力情報取得部11は、最適化問題の構築に必要な入力情報を取得する。入力情報の例としては、任意製品の任意工程での処理順について最適化するための最適化問題を求解する場合には、工程数、製品数、ロット番号、納期などである。入力情報取得部11は、汎用計算機10に対するオペレータによる操作、外部装置からネットワーク等を介して送信された情報の受信、または可搬型記憶媒体に記憶された情報の読み出しを行うことにより入力情報を取得する。
(Input information acquisition unit 11)
The input information acquisition unit 11 acquires the input information necessary for constructing the optimization problem. Examples of input information include the number of processes, the number of products, the lot number, and the delivery date when solving an optimization problem for optimizing the processing order of arbitrary products in arbitrary processes. The input information acquisition unit 11 acquires input information by operating the general-purpose computer 10 by an operator, receiving information transmitted from an external device via a network or the like, or reading information stored in a portable storage medium. To do.

(決定変数設定部12)
決定変数設定部12は、求解対象の最適化問題の決定変数を設定する。例えば、決定変数設定部12は、任意製品の任意工程での処理順について最適化するための最適化問題を求解する場合には、その処理順を決定変数として設定する。なお、複数の決定変数を設定してもよい。ここで、決定変数の設定とは、汎用計算機10に対する入力情報に基づき、何を決定変数とすべきかを定める処理を指す。決定変数には、ロット情報および納期情報などが含まれる。
(Coefficient of determination setting unit 12)
The coefficient of determination variable setting unit 12 sets the coefficient of determination of the optimization problem to be solved. For example, when the determination variable setting unit 12 solves an optimization problem for optimizing the processing order of an arbitrary product in an arbitrary process, the determination variable setting unit 12 sets the processing order as a determination variable. A plurality of decision variables may be set. Here, the setting of the decision variable refers to a process of determining what should be the decision variable based on the input information for the general-purpose computer 10. The coefficient of determination includes lot information, delivery date information, and the like.

(目的関数設定部13)
目的関数設定部13は、求解対象の最適化問題を子問題に分解し、子問題それぞれについての目的関数を設定する。ここで、子問題とは、求解対象の最適化問題の一部の制約条件を緩和した問題である。例えば、目的関数設定部13は、任意製品の任意工程での処理順について最適化するための最適化問題を求解する場合には、原問題における工程間の制約条件を緩和することにより、工程j(∈P)毎に分解して、子問題Pjを生成する。また、例えば、複数の仕事を複数の機械で処理する場合には各機械の負荷容量以上に仕事を割り当てられないという割り当て制約条件があるが、この制約条件を緩和して、仕事毎の子問題に分割してもよい。一方、各仕事への機械の割り当て制約条件を緩和して、機械毎の子問題に分割してもよい。
(Objective function setting unit 13)
The objective function setting unit 13 decomposes the optimization problem to be solved into child problems and sets the objective function for each child problem. Here, the child problem is a problem in which some constraints of the optimization problem to be solved are relaxed. For example, when the objective function setting unit 13 solves an optimization problem for optimizing the processing order in an arbitrary process of an arbitrary product, the process j is relaxed by relaxing the constraint conditions between the processes in the original problem. Decompose each (∈ P) to generate a child problem Pj. Also, for example, when processing multiple jobs with multiple machines, there is an allocation constraint that jobs cannot be allocated more than the load capacity of each machine. By relaxing this constraint, child problems for each job can be solved. It may be divided into. On the other hand, the constraint condition for allocating machines to each job may be relaxed and divided into child problems for each machine.

ここで、子問題それぞれについての目的関数は、緩和した制約条件に対する違反量に乗数(後述するラグランジュ乗数λ)を乗じた項を含む。また、子問題の目的関数は、本来の評価すべき事項を数式で表した評価指標の要素(後述するJj2、Jp4、Jp5、Jj6)と、制約条件の違反に対してペナルティを課すような数式で表した制約式の要素(後述するJj1、Jj3)とを含む(なお、Jj2は、元の問題では、制約条件の違反に対してペナルティを課すような数式で表した制約式の要素であるが、この子問題では、その制約を緩和したことにより、評価指標の要素として位置づけられる)。評価指標の要素および制約式の要素には、それぞれの要素の重みを表す重み要素(後述するq,q,q,qBig)が含まれている。なお、評価指標の要素には、例えば、ロットまとめおよび納期遵守の評価などが含まれる。また、制約式の要素には、任意の製品はいずれかの処理順に割り当てなければならないという制約、任意の製品において前工程の処理が終わらないと、次工程の処理が始まらないという制約、後工程に処理の中断が起こらないよう、所定の間隔をおいて後工程の処理を実施するという制約などが含まれる。 Here, the objective function for each child problem includes a term obtained by multiplying the amount of violation of the relaxed constraint by a multiplier (Lagrange multiplier λ, which will be described later). In addition, the objective function of the child problem pays a penalty for violation of the constraints and the elements of the evaluation index (J j2 , J p4 , J p5 , J j6 described later) that express the matters to be evaluated originally. Including the elements of the constraint expression (J j1 and J j3 described later) expressed by the formula that imposes (Note that J j2 is a formula that imposes a penalty for the violation of the constraint condition in the original problem. Although it is an element of the constraint expression, it is positioned as an element of the evaluation index by relaxing the constraint in this child problem). The evaluation index element and the constraint expression element include weight elements (q 1 , q 2 , q 3 , q Big , which will be described later) that represent the weights of the respective elements. The elements of the evaluation index include, for example, lot summarization and evaluation of on-time delivery. In addition, the elements of the constraint expression include the constraint that any product must be assigned in any processing order, the constraint that the processing of the next process does not start until the processing of the previous process is completed in the arbitrary product, and the post-process. Including restrictions such as performing post-process processing at predetermined intervals so that processing is not interrupted.

目的関数設定部13は、求解対象の最適化問題に不等式制約が含まれる場合には、その不等式制約の各辺の生起有無が決定変数の積の形式に変換された制約式の要素(後述するJj1、Jj2、Jj3)と、その不等式制約を満たさない場合に大きくなるように設定された重み要素(後述するqBig)とを含む目的関数を設定する。 When the optimization problem to be solved includes an inequality constraint, the objective function setting unit 13 is an element of the constraint expression in which the occurrence or non-occurrence of each side of the inequality constraint is converted into the form of the product of the determinants (described later). J j1 , J j2 , J j3 ) and a weighting element (q Big , which will be described later) that is set to be large when the inequality constraint is not satisfied are set.

目的関数設定部13は、上記のような子問題それぞれについての目的関数を少なくとも制約条件毎に作成し、作成した目的関数を統合して最終的な目的関数として設定する。このとき、最終的な目的関数は決定変数の二次の多項式で表される。ここで、制約条件毎に作成した各目的関数に含まれていた重み要素は、最終的な目的関数においては項別に合算した多項式の各項の係数に反映される。この各項の係数を、以下では「目的関数の係数」と称する。 The objective function setting unit 13 creates an objective function for each of the above child problems at least for each constraint condition, integrates the created objective functions, and sets them as the final objective function. At this time, the final objective function is represented by a quadratic polynomial of the decision variable. Here, the weight elements included in each objective function created for each constraint condition are reflected in the coefficients of each term of the polynomial added up for each term in the final objective function. The coefficients of each of these terms are hereinafter referred to as "coefficients of the objective function".

(入力部14)
入力部14は、決定変数設定部12により設定された元の問題の決定変数を、各子問題の決定変数に分解し、量子計算機20内において格子状に配列したノード(すなわち、後述するイジング変数)に対応させ、目的関数設定部13により設定された、子問題それぞれについての目的関数の係数を、各ノード(イジング変数)間の関係性を示す係数(結合の重み)として量子計算機20に入力する。なお、用いる量子計算機によっては、ある一つのノードから結合するノードの数に限りがあるために、そのままでは全ての結合の重み係数を表現できない場合がある。このような際には例えば、ある一つのイジング変数に複数のノードを割り当てることで、結合するノードの数を実効的に増やす対策を施しても構わない。また、本発明の実施形態の説明においてはノードの配列を格子状として説明するが、ノードの配列としては格子状に限らず任意の形状が可能である。
(Input unit 14)
The input unit 14 decomposes the determinant variable of the original problem set by the determinant variable setting unit 12 into the determinant variable of each child problem, and arranges the nodes in a grid pattern in the quantum computer 20 (that is, the singing variable described later). ), And the coefficient of the objective function for each child problem set by the objective function setting unit 13 is input to the quantum computer 20 as a coefficient (coupling weight) indicating the relationship between each node (ising variable). To do. Depending on the quantum computer used, since the number of nodes to be combined from one node is limited, it may not be possible to express the weighting coefficients of all the connections as it is. In such a case, for example, measures may be taken to effectively increase the number of nodes to be combined by assigning a plurality of nodes to one Ising variable. Further, in the description of the embodiment of the present invention, the arrangement of the nodes will be described as a grid pattern, but the arrangement of the nodes is not limited to the grid pattern and can have any shape.

(結果取得部15)
結果取得部15は、入力部14により入力された目的関数の係数に基づいて計算された量子計算機20の計算結果(子問題のイジング変数の最適(収束)値の組み合わせである最適解)を取得する。具体的には、ノード(イジング変数)の基底状態での測定値を、それらのノード(イジング変数)に対応する決定変数の値(最適解)として取得する。また、結果取得部15は、取得した最適解に基づいて、子問題の目的関数(ハミルトニアン)の最適値を求める。具体的には、取得した最適解を子問題の目的関数に代入して算出された目的関数値を最適値とする。
(Result acquisition unit 15)
The result acquisition unit 15 acquires the calculation result of the quantum computer 20 calculated based on the coefficient of the objective function input by the input unit 14 (the optimum solution which is a combination of the optimum (convergence) values of the singing variables of the child problem). To do. Specifically, the measured values in the ground state of the nodes (Ising variables) are acquired as the values (optimal solutions) of the decision variables corresponding to those nodes (Ising variables). Further, the result acquisition unit 15 obtains the optimum value of the objective function (Hamiltonian) of the child problem based on the acquired optimum solution. Specifically, the objective function value calculated by substituting the acquired optimal solution into the objective function of the child problem is set as the optimal value.

(最適解決定部16)
最適解決定部16は、結果取得部15が取得した各子問題の最適解を束ねて、元の最適化問題の緩和解を得る。また、最適解決定部16は、結果取得部15が取得した各子問題の目的関数の最適値を加え合わせて、元の最適化問題の緩和最適値を得る。ここで、最適解決定部16は、結果取得部15が取得した各子問題の最適解を束ねた緩和解が緩和した一部の制約を満たすか否かを判定し、満たす場合には、緩和解を元の問題の最適解とする。一方、緩和した一部の制約を満たさない場合は、最適解決定部16は、緩和解に含まれる違反を修正して得た実行可能解を元の最適化問題の最適解とする。また、緩和した一部の制約を満たさない場合は、最適解決定部16は、緩和解と、緩和最適値とに基づいて前記目的関数を更新する。具体的には、最適解決定部16は、緩和した制約毎に、その違反量である劣勾配ベクトルを求めると共に、緩和解の違反部分を修正し、実行可能解(暫定最適解)とする。そして、最適解決定部16は、その実行可能解を元の問題の目的関数に代入し、暫定最適値を得る。
(Optimal solution determination unit 16)
The optimum solution determination unit 16 bundles the optimum solutions of each child problem acquired by the result acquisition unit 15 to obtain a relaxed solution of the original optimization problem. Further, the optimum solution determination unit 16 adds the optimum values of the objective functions of each child problem acquired by the result acquisition unit 15 to obtain the relaxation optimum value of the original optimization problem. Here, the optimal solution determination unit 16 determines whether or not the relaxed solution that bundles the optimal solutions of each child problem acquired by the result acquisition unit 15 satisfies some of the relaxed constraints, and if so, relaxes. Let the solution be the optimal solution to the original problem. On the other hand, if some of the relaxed constraints are not satisfied, the optimal solution determination unit 16 sets the executable solution obtained by correcting the violation included in the relaxed solution as the optimal solution of the original optimization problem. If some of the relaxed constraints are not satisfied, the optimal solution determination unit 16 updates the objective function based on the relaxed solution and the relaxed optimal value. Specifically, the optimum solution determination unit 16 obtains a sub-gradient vector, which is the violation amount, for each relaxed constraint, and corrects the violation part of the relaxation solution to make it a feasible solution (provisional optimum solution). Then, the optimum solution determination unit 16 substitutes the executable solution into the objective function of the original problem and obtains a provisional optimum value.

ここで、最適化問題が最小化問題の場合、その暫定最適値とそれまでに得られている上界値とを比較して、暫定最適値の方が小さい場合は、暫定最適値により上界値を更新する。また、最適解決定部16は、結果取得部15が取得した各子問題の目的関数の最適値から得られた緩和最適値と、元の最適化問題における更新直前の下界値とを比較して、緩和最適値の方が大きい場合は、緩和最適値により下界値を更新する。 Here, when the optimization problem is a minimization problem, the provisional optimum value is compared with the upper bound value obtained so far, and if the provisional optimum value is smaller, the upper bound is obtained by the provisional optimum value. Update the value. Further, the optimum solution determination unit 16 compares the relaxation optimum value obtained from the optimum value of the objective function of each child problem acquired by the result acquisition unit 15 with the lower bound value immediately before the update in the original optimization problem. , If the relaxation optimum value is larger, the lower bound value is updated by the relaxation optimum value.

一方、最適化問題が最大化問題の場合、その暫定最適値とそれまでに得られている下界値とを比較して、暫定最適値の方が大きい場合は、暫定最適値により下界値を更新する。また、最適解決定部16は、結果取得部15が取得した各子問題の目的関数の最適値から得られた緩和最適値と、元の最適化問題における更新直前の上界値とを比較して、緩和最適値の方が小さい場合は、緩和最適値により上界値を更新する。 On the other hand, when the optimization problem is a maximization problem, the provisional optimum value is compared with the lower bound value obtained so far, and if the provisional optimum value is larger, the lower bound value is updated by the provisional optimum value. To do. Further, the optimum solution determination unit 16 compares the relaxation optimum value obtained from the optimum value of the objective function of each child problem acquired by the result acquisition unit 15 with the upper bound value immediately before the update in the original optimization problem. If the optimum relaxation value is smaller, the upper bound value is updated by the optimum relaxation value.

そして、最適解決定部16は、緩和した制約毎の違反量である劣勾配ベクトルと、更新した上界値、下界値とに基づいて各子問題の目的関数を更新する。なお、各子問題の目的関数の更新は、子問題において緩和した制約条件に対する違反量に乗ずる乗数(後述するラグランジュ乗数λ)を更新することで行われる。 Then, the optimum solution determination unit 16 updates the objective function of each child problem based on the sub-gradient vector which is the violation amount for each relaxed constraint, and the updated upper bound value and lower bound value. The objective function of each child problem is updated by updating the multiplier (Lagrange multiplier λ, which will be described later) that is multiplied by the violation amount for the constraint condition relaxed in the child problem.

目的関数設定部13は、結果取得部15が取得した各子問題の最適解を束ねた緩和解が緩和した制約を満たさない場合には、最適解決定部16によって更新された目的関数を前記子問題それぞれについての目的関数として再設定する。そして、再設定された目的関数は、入力部14により、量子計算機20に入力され、結果取得部15により、更新された目的関数についての計算結果(各子問題の最適解)が取得される。また、結果取得部15により、更新された目的関数についての計算結果に基づいて、各子問題の目的関数(ハミルトニアン)の最適値が求められる。最適解決定部16は、これらの各子問題の最適解と最適値に基づいて、各子問題の目的関数の更新をさらに行う。この一連の作業は、予め定められた状態に収束する(緩和解が緩和した一部の制約条件を満たす、または、所定の終了条件(上界値と下界値との差が閾値未満)を満たす)まで継続される。そして、先に緩和した一部の制約条件が満たされた場合には、その時点で前記結果取得部により取得された最新の最適解を束ねた緩和解を元の最適化問題の最適解とし、先に前記所定の終了条件が満たされた場合には、その時点で得られている最良の実行可能解を元の最適化問題の最適解とする。最適化問題の解は、表示部(図示省略)により表示される。 When the relaxation solution that bundles the optimum solutions of each child problem acquired by the result acquisition unit 15 does not satisfy the relaxed constraint, the objective function setting unit 13 sets the objective function updated by the optimum solution determination unit 16 to the child. Reset as the objective function for each problem. Then, the reset objective function is input to the quantum computer 20 by the input unit 14, and the calculation result (optimal solution of each child problem) for the updated objective function is acquired by the result acquisition unit 15. In addition, the result acquisition unit 15 obtains the optimum value of the objective function (Hamiltonian) of each child problem based on the calculation result of the updated objective function. The optimum solution determination unit 16 further updates the objective function of each child problem based on the optimum solution and the optimum value of each of these child problems. This series of operations converges to a predetermined state (the relaxation solution satisfies some of the relaxed constraint conditions, or a predetermined end condition (the difference between the upper bound value and the lower bound value is less than the threshold value). ) Continues. Then, when some of the previously relaxed constraints are satisfied, the relaxation solution that bundles the latest optimal solutions acquired by the result acquisition unit at that time is set as the optimum solution of the original optimization problem. If the predetermined termination condition is satisfied first, the best feasible solution obtained at that time is set as the optimum solution of the original optimization problem. The solution of the optimization problem is displayed by a display unit (not shown).

(量子計算機20)
次に、量子計算機20について説明する。図2は、本実施形態に係る量子計算機20のハードウェア構成を示す図である。また、図3は、量子計算機の原理を説明するための図である。ここでは、量子計算機は、イジングモデルのノードに決定変数、格子間の関係性を示す係数に目的関数の係数を対応させて、ハミルトニアンを生成する例について説明する。しかしながら、これらは上記に限定されるものではなく、ハイゼンベルクモデル等の任意の次元の格子モデルであっても構わない。
(Quantum computer 20)
Next, the quantum computer 20 will be described. FIG. 2 is a diagram showing a hardware configuration of the quantum computer 20 according to the present embodiment. Further, FIG. 3 is a diagram for explaining the principle of the quantum computer. Here, an example will be described in which a quantum computer generates a Hamiltonian by associating a node of the Ising model with a determinant and a coefficient indicating a relationship between lattices with a coefficient of an objective function. However, these are not limited to the above, and may be a lattice model of any dimension such as the Heisenberg model.

量子計算機20は、格子状に配列した複数のノード(イジング変数)と、各ノード間の結合の重みの値(上述した目的関数の係数)を入力パラメータとして構成されるハミルトニアンとを備えるイジングモデルにおいて、量子揺らぎ(量子アニーリング)を用いてそのハミルトニアンの値が最小値となる、イジングモデルの基底状態を求める量子アニーリングや、量子現象に着想を得てイジングモデルをデジタル回路を用いて解く等の特性を用いて計算を行う計算機である。量子アニーリングマシンは、異なる二つの状態を同時に重ね合わせることができる量子ビットを基本単位とする。 In the Ising model, the quantum computer 20 includes a plurality of nodes (Ising variables) arranged in a grid pattern and a Hamiltonian configured with a value of the weight of the connection between the nodes (the coefficient of the objective function described above) as an input parameter. , Quantum annealing to find the base state of the Ising model, which minimizes the Hamiltonian value using quantum fluctuation (quantum annealing), and solving the Ising model using a digital circuit inspired by quantum phenomena. It is a computer that performs calculations using. Quantum annealing machines use a qubit as a basic unit, which can superimpose two different states at the same time.

本実施例では、図2に示すとおり、量子計算機20として量子アニーリングマシンを使用した例を示す。量子計算機20は、格子状に配列した複数の量子ビットノード21(上述のノードに対応)と、各量子ビットノード21を制御する量子ビット制御部22と、各量子ビットノード21間を結合する結合器23と、結合器23を制御する結合器制御部24と、イジングモデルが基底状態(最小値)となったときの各量子ビットノード21(ビットノード1,2,・・・,n)の値(イジング変数の値)を測定して出力する読出部25と、を備える。 In this embodiment, as shown in FIG. 2, an example in which a quantum annealing machine is used as the quantum computer 20 is shown. The quantum computer 20 combines a plurality of qubit nodes 21 arranged in a grid pattern (corresponding to the above-mentioned nodes), a qubit control unit 22 that controls each qubit node 21, and each qubit node 21. The device 23, the coupler control unit 24 that controls the coupler 23, and each qubit node 21 (bit nodes 1, 2, ..., N) when the rising model is in the ground state (minimum value). A reading unit 25 that measures and outputs a value (value of a qubit variable) is provided.

量子ビットノード21は、図3に示すように、超伝導リングなどにより実現できる。例えば、超電導リングは、ニオブなどの金属でリング(閉回路)を作り、極低温にして、一の方向の電流と、それとは逆方向の電流とを同時に存在させることにより構成することができる。このとき、それぞれの電流をイジングスピンの上向き(+1)および下向き(−1)に対応させると±1の状態が回路中に同時に存在することとなる。 As shown in FIG. 3, the qubit node 21 can be realized by a superconducting ring or the like. For example, a superconducting ring can be configured by making a ring (closed circuit) out of a metal such as niobium, making it extremely low temperature, and allowing a current in one direction and a current in the opposite direction to exist at the same time. At this time, if the respective currents correspond to the upward (+1) and downward (-1) of the Ising spin, a state of ± 1 exists in the circuit at the same time.

量子ビット制御部22は、超伝導リングにもう一つの超伝導回路を挟み込み、超伝導電流が反転できる仕組みを備える。例えば、量子ビット制御部22は、後述する数式2におけるイジング変数の一次の項の係数(h)あるいは横磁場を実現すべく量子ビットノード21の超伝導リングに印加する磁束を制御する。超伝導リングに流れる超伝導電流を反転させることにより、上向き(+1)および下向き(−1)のイジングスピンを適宜入れ替える(スピンの向きを反転させる)ことができる。そして、この超電導リングに印加する磁場を調整して、最適な状態を探っていく。 The qubit control unit 22 has a mechanism in which another superconducting circuit is sandwiched between the superconducting rings and the superconducting current can be inverted. For example, qubit control unit 22 controls the magnetic flux applied to the superconducting ring qubit node 21 in order to realize the coefficients (h i) or transverse magnetic field of the primary term of customizing variables in equation 2 described below. By reversing the superconducting current flowing through the superconducting ring, the upward (+1) and downward (-1) Ising spins can be appropriately exchanged (spin directions are reversed). Then, the magnetic field applied to this superconducting ring is adjusted to search for the optimum state.

結合器23は、異なる量子ビットノード21に対応する超伝導リング間に磁気的相互作用を促すよう、それらの量子ビットノード21とは別に用意された超伝導リングにより構成される。 The coupler 23 is composed of a superconducting ring prepared separately from the qubit nodes 21 so as to promote magnetic interaction between the superconducting rings corresponding to the different qubit nodes 21.

結合器制御部24は、汎用計算機10から入力された目的関数(H)の係数の値に基づき、量子ビットノード(超電導リング)21間の結合の重みを設定する。例えば、結合器制御部24は、後述する数式2におけるイジング変数の二次の項の係数(Jij)を実現すべく結合器23の超伝導リングに印加する磁束を制御する。 The coupler control unit 24 sets the weight of the coupling between the qubit nodes (superconducting ring) 21 based on the value of the coefficient of the objective function (H) input from the general-purpose computer 10. For example, the coupler control unit 24 controls the magnetic flux applied to the superconducting ring of the coupler 23 in order to realize the coefficient (J ij ) of the quadratic term of the Ising variable in Equation 2 described later.

ここで、各量子ビットノード21間の結合の重みの値を入力パラメータとして構成されるハミルトニアンは、下記の数式1で表される。数式1において、第1項は、イジングモデルの状態を示し、第2項は、横磁場といわれる交流磁場を示しており、交流磁場は、±1の状態間の遷移を引き起こし最適解の探索を主導する。

Figure 2020181576
Here, the Hamiltonian configured by using the value of the weight of the coupling between each qubit node 21 as an input parameter is expressed by the following mathematical formula 1. In Equation 1, the first term indicates the state of the Ising model, the second term indicates the alternating magnetic field called the transverse magnetic field, and the alternating magnetic field causes a transition between ± 1 states to search for the optimum solution. Take the lead.
Figure 2020181576

量子アニーリングマシンでは、イジングモデルの基底状態を求めるために、まず、各スピンの状態を量子力学的に不確定(どの量子ビットも上向き(+1)および下向き(−1)の確率がそれぞれ1/2の最も無秩序な状態)にする。そして、初期状態(t=0)では、A(0)=0、B(0)=1とする。初期状態は、横磁場により全てのスピンの組み合わせが重ね合わされた状態であり、横磁場が支配的な場合には、この状態がエネルギー最小の状態である。そして、時間の経過(t>0)とともに、徐々にA(t)は、1に近づき、B(t)は、0に近づいていく。そして、予め決めておいた有限時間(t=τ)に到達したときに、A(τ)=1、B(τ)=0となるように、横磁場を停止する(第2項はゼロ)。 In the quantum annealing machine, in order to obtain the ground state of the Ising model, first, the state of each spin is quantum mechanically uncertain (the probability of each qubit being upward (+1) and downward (-1) is 1/2, respectively. To the most chaotic state). Then, in the initial state (t = 0), A (0) = 0 and B (0) = 1. The initial state is a state in which all spin combinations are superposed by a transverse magnetic field, and when the transverse magnetic field is dominant, this state is the state with the minimum energy. Then, with the passage of time (t> 0), A (t) gradually approaches 1 and B (t) approaches 0. Then, when the predetermined finite time (t = τ) is reached, the transverse magnetic field is stopped so that A (τ) = 1 and B (τ) = 0 (the second term is zero). ..

つまり、初期状態は、横磁場のみを作用させて、全てのスピン配列が重ねあわさった状態が最もエネルギーが低い状態を作り、次第に、横磁場の値を弱めながら、本来のイジングモデルのハミルトニアンの寄与を大きくしていく。このとき、量子断熱時間発展の現象(エネルギーの最小の状態から出発して、ゆっくり時間発展させていくと、常にエネルギー最小の状態に留まるという現象)が生じる。そうすると、最終的には、ハミルトニアンが最小値を取る、イジングモデルの基底状態(エネルギー最小状態)となり、最適化問題の解に到達する。 In other words, in the initial state, only the transverse magnetic field is applied, and the state where all the spin sequences are overlapped creates the state with the lowest energy, and while gradually weakening the value of the transverse magnetic field, the contribution of the original Ising model Hamiltonian. To increase. At this time, a phenomenon of quantum adiabatic time evolution (a phenomenon that starts from the minimum energy state and slowly evolves in time, always stays in the minimum energy state) occurs. Then, in the end, the Hamiltonian takes the minimum value, which is the ground state (minimum energy state) of the Ising model, and the solution of the optimization problem is reached.

読出部25は、汎用計算機10からの入力(すなわち、目的関数(H)の係数の入力)に基づき量子ビットノード(超電導リング)21間の結合の重みが結合器制御部24により設定された後、量子ビット制御部22による上記の作用によりイジングモデルが基底状態(エネルギー最小状態)になると、このときの量子ビットノード21の各イジング変数σの値を読み出す。読出部25は、ここで読み出した各イジング変数の値を最適化問題の解として汎用計算機10に出力する。 After the weight of the coupling between the qubit nodes (superconducting rings) 21 is set by the combiner control unit 24 based on the input from the general-purpose computer 10 (that is, the input of the coefficient of the objective function (H)), the reading unit 25 When the zing model becomes the ground state (minimum energy state) due to the above action by the qubit control unit 22, the value of each zing variable σ q of the qubit node 21 at this time is read out. The reading unit 25 outputs the value of each Ising variable read here to the general-purpose computer 10 as a solution to the optimization problem.

量子計算機20が、イジングモデルが基底状態(最小値)となったときの各ノードの値(イジング変数の値)を測定する処理は、上記量子アニーリングマシンに限定されるものではない。例えば、量子現象に着想を得てイジングモデルを、デジタル回路を用いて解く等の特性を用いて計算を行うことに特化した計算機を用いても構わない。また、格子モデル等の断熱モデルと、任意の量子回路を用いた回路モデルとは、量子計算においては等価である。このため、量子アニーリングを用いた量子計算は、連続的に量子ゲートを作用させる量子回路と等価であり、ハミルトニアンが示すイジングモデルを、量子ゲートを組み合わせた量子回路を再現する任意のハードウェアによって実現した計算機であっても構わない。 The process by which the quantum computer 20 measures the value (value of the Ising variable) of each node when the Ising model is in the ground state (minimum value) is not limited to the quantum annealing machine. For example, a computer specialized in performing calculations using characteristics such as solving an Ising model using a digital circuit inspired by a quantum phenomenon may be used. Further, an adiabatic model such as a lattice model and a circuit model using an arbitrary quantum circuit are equivalent in quantum calculation. For this reason, quantum computation using quantum annealing is equivalent to a quantum circuit that continuously operates a quantum gate, and the Hamiltonian's singing model is realized by arbitrary hardware that reproduces a quantum circuit that combines quantum gates. It does not matter if it is a quantum computer.

以上のような最適化システムによれば、利用可能な量子ビットの数に限りがある量子計算機20を用いて、汎用計算機による求解が困難な大規模な最適化問題であったとしても、比較的容易に求解することができる。例えば、製品数および工程数が多く、複雑な制約(不等式制約など)が含まれる多段工程処理スケジュールの最適化問題であっても、量子計算機20に求解させることができ、従来の汎用計算機のみを用いて求解する場合と比べて、計算に要する時間を短縮することができる。なお、上記実施形態では、複数の子問題を1台の量子計算機20に求解(各子問題を連続して処理)させる例を挙げて説明しているが、これに限定されず、子問題ごとに異なる量子計算機20に求解(各子問題を並列に処理)させてもよいし、一部の子問題のみを異なる量子計算機20に求解させてもよい。 According to the optimization system as described above, even if it is a large-scale optimization problem that is difficult to solve by a general-purpose computer using the quantum computer 20 in which the number of qubits that can be used is limited, it is relatively relatively. It can be easily solved. For example, even if it is a problem of optimizing a multi-stage process processing schedule that has a large number of products and processes and includes complicated constraints (inequality constraints, etc.), it can be solved by the quantum computer 20 and only a conventional general-purpose computer can be used. It is possible to shorten the time required for the calculation as compared with the case of solving by using. In the above embodiment, a plurality of child problems are solved by one quantum computer 20 (each child problem is continuously processed), but the present invention is not limited to this, and each child problem is not limited to this. May be solved by different quantum computers 20 (each child problem is processed in parallel), or only some of the child problems may be solved by different quantum computers 20.

[装置の具体例]
以下、下記の最適化モデルを例にとって、汎用計算機10の決定変数設定部12および目的関数設定部13における具体的な設定方法、ならびに、最適解決定部16における具体的な更新方法を説明する。
[Specific example of device]
Hereinafter, a specific setting method in the determination variable setting unit 12 and the objective function setting unit 13 of the general-purpose computer 10 and a specific update method in the optimum solution determination unit 16 will be described using the following optimization model as an example.

(最適化モデル)
求解対象の最適化問題の決定変数として、例えば、複数の工程(以下、「多段工程」ともいう)における、各製品iの各工程jにおける処理順kを表す、割当変数x[i][k](i∈N,k∈K(j),j∈J)がある。この割当変数x[i][k]の組は、各子問題の決定変数に分解され、イジングモデルの各ノードにマッピングされる。なお、工程jで考慮すべき時刻範囲K(j)は、K(j)={1,2,…,j(n−1)+1}とする。
(Optimized model)
As a determination variable of the optimization problem to be solved, for example, an assigned variable x j [i] [representing the processing order k in each process j of each product i in a plurality of processes (hereinafter, also referred to as "multi-stage process"). There is k] (i ∈ N, k ∈ K (j), j ∈ J). This set of assigned variables x j [i] [k] is decomposed into determinants of each child problem and mapped to each node of the Ising model. The time range K (j) to be considered in step j is K (j) = {1, 2, ..., J (n-1) + 1}.

一方、例えば、ロットの不揃いなどのロット情報、納期とのずれなどの納期情報などに応じて、ノード間の相互作用の値を設定したイジングモデルのハミルトニアンを設定する。例えば、ある工程jにおいて、製品iおよびiとのロットl(i)、およびl(i)が異なるケース(l(i)≠l(i))を想定する。このとき、iおよびiを隣接する処理順kおよび(k+1)で処理する場合、ロットまとめができないことになる。その条件が成立する場合には、割当変数x[i][k]とx[i][k+1]とが共に真となる。このとき、ハミルトニアンとして入力される目的関数は、想定される目的関数値よりも十分に大きく設定された重み要素とを含むものとする。ここで、重み要素は、割当変数x[i][k]とx[i][k+1]に対応するノード(イジング変数)の間の相互作用を示す係数、すなわち、x[i][k]とx[i][k+1]とのノード間を連結する重みの値であり、積x[i][k]・x[i][k+1]に対する重みに該当する。 On the other hand, for example, the Hamiltonian of the Ising model in which the value of the interaction between the nodes is set is set according to the lot information such as the irregularity of lots and the delivery date information such as the deviation from the delivery date. For example, in a certain step j, it is assumed that the lots l (i 1 ) and l (i 2 ) are different from the products i 1 and i 2 (l (i 1 ) ≠ l (i 2 )). At this time, when i 1 and i 2 are processed in the adjacent processing orders k and (k + 1), lots cannot be combined. When the condition is satisfied, the assigned variables x j [i 1 ] [k] and x j [i 2 ] [k + 1] are both true. At this time, the objective function input as the Hamiltonian shall include a weight element set sufficiently larger than the assumed objective function value. Here, the weight element is a coefficient indicating the interaction between the nodes (Ising variables) corresponding to the assigned variables x j [i 1 ] [k] and x j [i 2 ] [k + 1], that is, x j [. It is the value of the weight that connects the nodes of i 1 ] [k] and x j [i 2 ] [k + 1], and is for the product x j [i 1 ] [k] · x j [i 2 ] [k + 1]. Corresponds to the weight.

そして、汎用計算機10は、量子計算機20に、ハミルトニアンが最小値を取る、すなわち、イジングモデルの基底状態(エネルギー最小状態)となる解を算出させる。そして、基底状態における各ノードにおける、割当変数x[i][k]の値に基づいて、任意製品の任意工程の処理順に関する最適条件を見出すことができる。以下、具体的な問題設定に基づいて、さらに詳しく説明する。 Then, the general-purpose computer 10 causes the quantum computer 20 to calculate a solution in which the Hamiltonian takes the minimum value, that is, the ground state (minimum energy state) of the Ising model. Then, based on the values of the assigned variables x j [i] [k] in each node in the ground state, the optimum conditions regarding the processing order of any process of any product can be found. Hereinafter, a more detailed description will be given based on the specific problem setting.

(問題設定)
製品の製造プロセスが複数工程にまたがる処理工程において、各工程における最適な処理順を求める問題を考える。この問題において、それぞれの工程における処理順は、連続する処理順の中で同一ロットをできるだけ大ロットにまとめること、即ち、ロット変更に伴う段取り替えをできる限り少なくすることを評価する。また、工程間の制約として、任意の製品について、前工程の処理が終了していることが次工程での当該製品の処理開始の条件とする。目的関数は、ロット変更回数および納期遅れと早作りをそれぞれ異なるペナルティを課して評価するものとする。
(Problem setting)
Consider the problem of finding the optimum processing order in each process in a processing process in which the product manufacturing process spans multiple processes. In this problem, the processing order in each process evaluates that the same lot is grouped into as large a lot as possible in the continuous processing order, that is, the setup change due to the lot change is minimized. Further, as a restriction between processes, it is a condition for starting the processing of the product in the next process that the processing of the previous process is completed for any product. The objective function shall evaluate the number of lot changes and late delivery and early production with different penalties.

仮定および定式化に用いる記号の定義は、下記の通りである。
・対象製品集合をN(=1,2,…i,…,n)とする。
・各製品iの(最終工程における)納期をdとし、工程jでの所属ロットをlijとする。この値は、所与とする。
・工程集合をJ(=1,2,…j,…,p)とする。
・任意の製品iの任意の工程jでの処理時間は、一律同じであることとし、その処理時間を単位時間とする。
・上流工程での処理が完了していない製品は、それより下流工程で処理はできないこととする。すなわち第j工程での処理順(処理時刻)kで処理された製品は第j+1工程では処理順(処理時刻)k以降であれば処理可能であるとする。工程jで考慮すべき時刻範囲K(j)は、K(j)={1,2,…,j(n−1)+1}としている。
・各製品iは、最終工程(J=p)での納期dが付与されており、最終工程での処理時刻がこれより大きい場合は納期遅れとし、これより小さい場合は早く作りすぎたものとし、それぞれ異なるペナルティを課すものとする。
The definitions of the symbols used in the assumptions and formulation are as follows.
-The target product set is N (= 1, 2, ... i, ..., N).
- the (in the final step) delivery of each product i and d i, the affiliation lot in step j and l ij. This value is given.
-The process set is J (= 1, 2, ... j, ..., p).
-The processing time of any product i in any step j shall be uniformly the same, and the processing time shall be the unit time.
-Products that have not been processed in the upstream process cannot be processed in the downstream process. That is, it is assumed that a product processed in the processing order (processing time) k in the jth step can be processed in the j + 1 process if it is after the processing order (processing time) k. The time range K (j) to be considered in step j is K (j) = {1, 2, ..., J (n-1) + 1}.
Thing - each product i is the final step (J = p) and delivery time d i is given in, if the processing time of the final step is larger than this is the delivery delay, which was too much to make early if smaller than this And each shall impose a different penalty.

(量子アニーリング型定式化)
以下、定式化した多段工程処理順モデルを量子アニーリング計算に利用するイジングモデルに変換する方法を詳細に示す。
(Quantum annealing formulation)
The method of converting the formulated multi-step processing order model into the Ising model used for quantum annealing calculation will be described in detail below.

イジング変数(イジングモデルのノード)の設定
各製品iの各工程jにおける処理順kを表す割当変数x[i][k](i∈N,k∈K(j),j∈J)をイジング変数とする。ここで、上記の仮定に従い、同一製品の処理タイミング(時刻)は、第二工程以降(j≧2)では前工程での製造順以降となる。例えば、第二工程では可能性のある処理時刻範囲が(1≦k≦2n−1)となる。この範囲は工程が進むに従い拡張されるので、『k∈K(j)』とする。これに対応し、対象製品集合については、i∈N∪E(j)とする。E(j)は、処理が行われない時刻に仮想的に処理されるダミー製品を表すものとする。
Setting of Ising variable (node of Ising model) Assign variable x j [i] [k] (i ∈ N, k ∈ K (j), j ∈ J) representing the processing order k in each process j of each product i Let it be an Ising variable. Here, according to the above assumption, the processing timing (time) of the same product is after the manufacturing order in the previous process in the second and subsequent steps (j ≧ 2). For example, in the second step, the possible processing time range is (1 ≦ k ≦ 2n-1). Since this range is expanded as the process progresses, it is set as "k ∈ K (j)". Corresponding to this, for the target product set, i ∈ N∪E (j). E (j) represents a dummy product that is virtually processed at a time when processing is not performed.

ハミルトニアンへの変換方法
量子計算機において、イジングモデルのハミルトニアンは、下記数式2のH(σ)で表される。ハミルトニアンH(σ)は、±1という二つの値をとるイジング変数σ(i=1,…,Q)に重みパラメータhをかけたσ・hと、二つのイジング変数σとσの積に重みパラメータJijをかけた、二つのイジング変数間の相互作用エネルギーを表すJij・σσとを合わせた値であり、全エネルギーを意味する。なお、イジング変数はσ∈{−1,1}であるが、通常の数理計画問題における数理モデルでは、変数sをs∈{0,1}としてモデル化される。その場合には、σ=s−1または、s=(σ+1)/2の変数変換を行う。

Figure 2020181576
Conversion method to Hamiltonian In a quantum computer, the Hamiltonian of the Ising model is represented by H (σ) in Equation 2 below. Hamiltonian H (σ) is, Ising variable σ i take two values of ± 1 (i = 1, ... , Q) and σ i · h i multiplied by the weight parameter h i in, and two of the Ising variable σ i It is a value obtained by multiplying the product of σ j by the weight parameter J ij, and is the sum of J ij and σ i σ j representing the interaction energy between the two ing variables, and means the total energy. The Ising variable is σ i ∈ {-1,1}, but in a mathematical model in a normal mathematical programming problem, the variable s i is modeled as s i ∈ {0,1}. In that case, variable transformation of σ i = s i -1 or s i = (σ i +1) / 2 is performed.
Figure 2020181576

ここで、従来の計算装置で定式化するモデルを全てハミルトニアンに変換する必要がある。特に、従来の計算装置において不等式でモデル化していた制約式の変換方法が課題となるが、以下のように変換する。 Here, it is necessary to convert all the models formulated by the conventional computing device into Hamiltonians. In particular, the conversion method of the constraint formula, which has been modeled by an inequality in the conventional computing device, becomes an issue, but the conversion is performed as follows.

例えば、最適化モデルの中に『特性値x≦特性値y』という不等式制約が含まれる場合を想定する。このとき、「特性値xがk以上」という事象Aと、「特性値yがk未満」という事象Bとが任意のkに対し同時に成立する場合、前記不等式制約に違反することとなる。事象Aおよび事象Bの生起有無をそれぞれイジング変数σ,σに対応づけられれば、両事象が同時に生起することを表すσ、σ間の相互作用であるσ・σに対してペナルティを課すことにより、前記不等式制約と同様の効果を発揮することができる。具体的な変換方法は下記の通りである。 For example, assume that the optimization model includes an inequality constraint of "characteristic value x ≤ characteristic value y". At this time, if the event A that "characteristic value x is k or more" and the event B that "characteristic value y is less than k" are satisfied for any k at the same time, the inequality constraint is violated. Event A and event occurrence whether the customizing variables each sigma A of B, sigma as long association with B, to sigma A, is the interaction between σ B σ A · σ B indicating that both events to occur simultaneously By imposing a penalty, the same effect as the inequality constraint can be achieved. The specific conversion method is as follows.

イジング変数である割当変数x[i][k](i∈N,k∈K(j),j∈J)は、いずれの工程jにおいても任意の製品iはいずれかの処理順kに割り当てられねばならない。また、いずれの工程jにおいても、任意の処理順(時刻)kには、ダミー材を含むいずれかの製品iが割り当てられねばならない。製品割当て制約および処理順割当て制約は、下記数式3および数式4として記述できる。

Figure 2020181576
Figure 2020181576
The Ising variable x j [i] [k] (i ∈ N, k ∈ K (j), j ∈ J) indicates that any product i is in any processing order k in any step j. Must be assigned. Further, in any step j, any product i including a dummy material must be assigned to an arbitrary processing order (time) k. The product allocation constraint and the processing order allocation constraint can be described as the following formulas 3 and 4.
Figure 2020181576
Figure 2020181576

これらの制約は、量子計算機においては、下記数式5として表すことができる。下記式中、第1項が処理順割当て制約に対応し、第2項が製品割当て制約に対応する。下記式は、それぞれの割当て制約に違反する処理順にペナルティを課すものであり、「Σi∈N∪E(j)[i][k]」および「Σk∈K(j)[i][k]」が1以外の値をとる処理順に対し、固有値qBigを大きくする項を加えるものである。qBigを“十分”大きくすれば、「Σi∈N∪E(j)[i][k]」および「Σk∈K(j)[i][k]」が1以外の値をとる場合にハミルトニアンが大きくなり、その条件に関するエネルギーが大きくなり、その結果、前記割当制約を満たすこととなる。

Figure 2020181576
In a quantum computer, these restrictions can be expressed by the following mathematical formula 5. In the following formula, the first term corresponds to the processing order allocation constraint, and the second term corresponds to the product allocation constraint. The following equation imposes a penalty in the order of processing that violates each allocation constraint, and is "Σ i ∈ N ∪ E (j) x j [i] [k]" and "Σ k ∈ K (j) x j". A term for increasing the eigenvalue q Big is added to the processing order in which "[i] [k]" takes a value other than 1. If q Big is increased "sufficiently", "Σ i ∈ N ∪ E (j) x j [i] [k]" and "Σ k ∈ K (j) x j [i] [k]" are other than 1. When the value of is taken, the Hamiltonian becomes large, and the energy related to the condition becomes large, and as a result, the above allocation constraint is satisfied.
Figure 2020181576

多段工程処理スケジュールでは製品iの前工程jで処理が未完了だと後工程(j+1)で製品iの処理が開始できない。この制約は、下記数式6として記述できる。工程毎の分解子問題を定義するには、この制約を緩和し、違反量をラグランジュ緩和項として目的関数に組み込む必要がある。

Figure 2020181576
In the multi-step process processing schedule, if the process is not completed in the pre-process j of the product i, the process of the product i cannot be started in the post-process (j + 1). This constraint can be described as Equation 6 below. To define the decomposer problem for each process, it is necessary to relax this constraint and incorporate the violation amount into the objective function as a Lagrange mitigation term.
Figure 2020181576

上記数式6で示される制約条件に対する違反量は、下記数式7となる。

Figure 2020181576
The amount of violation of the constraint condition shown in the above formula 6 is the following formula 7.
Figure 2020181576

ラグランジュ緩和項として工程j毎の分解問題の目的関数に取り込む際には数式7にラグランジュ乗数λj,i,ljを乗じた項をj毎に分解し、定数項を除いた数式8として反
映される。

Figure 2020181576
When incorporating into the objective function of the decomposition problem for each step j as a Lagrange relaxation term, the term obtained by multiplying Equation 7 by the Lagrange multiplier λ j, i, lj is decomposed for each j and reflected as Equation 8 excluding the constant term. To.
Figure 2020181576

従って、工程jの子問題の目的関数におけるラグランジュ緩和項Jj2は、数式9となる。数式9は元の問題で制約である工程間制約(前工程の処理が終わらないと次工程での処理ができない)を緩和し、その制約に対する違反量を子問題に分解したもので、子問題ではもはや制約ではなく、違反することが認められていることから、重み(qBig)の項
は不要となる。

Figure 2020181576
Therefore, the Lagrange relaxation term J j2 in the objective function of the child problem of step j is given by Equation 9. Equation 9 relaxes the inter-process constraint that is a constraint in the original problem (processing in the next process cannot be performed until the processing in the previous process is completed), and decomposes the amount of violation of the constraint into child problems. Now that it is no longer a constraint and it is allowed to violate it, the weight (q Big ) term is no longer needed.
Figure 2020181576

第二工程以降(j≧2)の処理では、工程間制約により、最初の処理開始がk=1とは限らず、例えば、第二工程では、最初に処理を行う時刻が1≦k≦2n−1の可能性がある。また、仮にk=3に最初の処理が行われた場合、最後の処理はk=n−2(=3+n−1)に行われなければならない。つまり、途中に処理の隙間ができないようにしなければならない。処理順に隙間を作らないということは、「Σi∈Nxj[i][k]」が連続する処理順k−1,k,k+1にて『1,0,1』とはならないということと等価であるため、この制約は、下記数式10で表される。

Figure 2020181576
In the processing after the second step (j ≧ 2), the first processing start is not always k = 1 due to the inter-process constraint. For example, in the second step, the time when the first processing is performed is 1 ≦ k ≦ 2n. There is a possibility of -1. Further, if the first process is performed at k = 3, the final process must be performed at k = n-2 (= 3 + n-1). That is, it is necessary to prevent a gap in processing in the middle. Not creating a gap in the processing order means that "Σ i ∈ N xj [i] [k]" does not become "1, 0, 1" in the continuous processing order k-1, k, k + 1. Since they are equivalent, this constraint is expressed by Equation 10 below.
Figure 2020181576

しかし、上記式は、不等式制約であるため、そのままイジングモデルのハミルトニアンとすることはできない。ここで、本発明者らは、連続処理における事象について検討し、連続処理では、『処理順k,k+1の間でダミー処理から実処理に切り替わるのは高々1回しかない(事象1)』ということを見出した。また、本発明者らは、『k=1から処理を開始できた場合に限り、このような切り替わりは、一度も起こらない(事象2)』ということも見出した。そして、事象1と事象2とは連続処理が実現されている場合には排反事象であり、いずれかは必ず生起する。この制約は、数式11で表される。数式11の第1項は、ダミー処理から実処理に切り替わる回数、第2項は、事象2の生起有無に対応し、連続処理では、この総数が1となることが要請され、かついかなる場合も、この和が1以下となることはないので、2乗の項としなくても、二つのイジング変数の相互作用を規定することによりモデル化できる。そして、下記数式9のqBigを“十分”大きくすれば、ハミルトニアンが大きくなり、その条件に関するエネルギーが大きくなり、その結果、処理の途中に隙間ができることを回避することとなる。

Figure 2020181576
However, since the above equation is an inequality constraint, it cannot be directly used as the Hamiltonian of the Ising model. Here, the present inventors examined the events in the continuous processing, and in the continuous processing, "the dummy processing is switched to the actual processing only once in the processing order k, k + 1" (event 1). I found. The present inventors have also found that "such switching never occurs (event 2) only when the process can be started from k = 1". Then, event 1 and event 2 are mutual exclusivity events when continuous processing is realized, and either of them always occurs. This constraint is expressed by Equation 11. The first term of the equation 11 corresponds to the number of times the dummy process is switched to the actual process, and the second term corresponds to the occurrence or non-occurrence of the event 2. In the continuous process, the total number is required to be 1, and in any case. Since this sum is never less than 1, it can be modeled by defining the interaction of two Ising variables without making it a square term. Then, if the q Big of the following equation 9 is increased "sufficiently", the Hamiltonian becomes large and the energy related to the condition becomes large, and as a result, it is possible to avoid the formation of a gap in the middle of the processing.
Figure 2020181576

多段工程処理順モデルにおいて評価すべき項目は、前記のように『納期に対する最終工程処理順のずれの少なさ』(納期情報)と『処理順に対するロットのまとまり』(ロット情報)との2項目である。前者は、下記数式12および数式13でモデル化できる。数式12は、納期遅れに対するペナルティを表すもので、数式13は、納期に対し早く作りすぎた時間に対するペナルティを表すものである。各製品iの最終工程pにおける処理時刻を表すイジング変数x[i][k]に、それぞれ納期に対するずれに比例した値をかけることにより、ずれが大きいほど、ハミルトニアン即ちエネルギーが大きくなるようモデル化されている。また、q,qは、納期遅れと納期早作りに対するペナルティを識別するための重み(比例)係数である(通常、納期遅れの重みq方が納期早作りの重みqより大きい数値に設定する)。 As mentioned above, there are two items to be evaluated in the multi-step process processing order model: "small deviation in the final process processing order with respect to the delivery date" (delivery date information) and "lot cohesion with respect to the processing order" (lot information). Is. The former can be modeled by the following formulas 12 and 13. Formula 12 represents a penalty for late delivery, and Formula 13 represents a penalty for time that is too early for delivery. By multiplying the Ising variables x p [i] [k] representing the processing time in the final step p of each product i by a value proportional to the deviation with respect to the delivery date, the model is such that the larger the deviation, the larger the Hamiltonian, that is, the energy. Has been made. Further, q 1 and q 2 are weight (proportional) coefficients for distinguishing a penalty for late delivery and early delivery (usually, the weight q 1 for late delivery is larger than the weight q 2 for early delivery. Set to).

後者の『処理順に対するロットのまとまり』に対しては、下記数式14でモデル化できる。ここで、LCは、工程jにおいてロットが異なる(l(i)≠l(i))製品ペア(i,i)の集合を表す。数式12は、LCに属する製品ペア(i,i)が連続する処理順k,k+1に処理されることに対応する二つのイジング変数x[i][k]とx[i][k+1]との積に、ロットがまとまらないことに対するペナルティを表す重み係数qをかけた二つのイジング変数間の相互作用のエネルギーを表している。従って、このモデルにより、連続する処理順でロットが異なる場合、即ちロットがまとまらない場合、ハミルトニアン即ちエネルギーが大きくなるようモデル化されているので、qを大きくするほど、基底状態では、ロットがまとまるような処理順に収束することが期待できる。 The latter "group of lots for processing order" can be modeled by the following mathematical formula 14. Here, LC j represents a set of product pairs (i 1 , i 2 ) having different lots (l (i 1 ) ≠ l (i 2 )) in step j. Equation 12 shows two Zing variables x j [i 1 ] [k] and x j [corresponding to the processing of product pairs (i 1 , i 2 ) belonging to LC j in a continuous processing order k, k + 1. It represents the energy of interaction between two inging variables, which is the product of i 2 ] [k + 1] multiplied by the weighting factor q 3 which represents the penalty for uncoordinated lots. Therefore, this model is modeled so that the Hamiltonian, that is, the energy, is large when the lots are different in the continuous processing order, that is, when the lots are not grouped. Therefore, the larger q 3 is, the more the lots are in the ground state. It can be expected that they will converge in a cohesive processing order.

そして、ハミルトニアンJは、上記全ての目的関数を考慮した総和に関する下記数式15および数式16で表現することができる。

Figure 2020181576
Figure 2020181576
Figure 2020181576
Figure 2020181576
Figure 2020181576
The Hamiltonian J j can be expressed by the following equation 15 and equation 16 relates sum considering all of the above objective function.
Figure 2020181576
Figure 2020181576
Figure 2020181576
Figure 2020181576
Figure 2020181576

ここで、Jj1、Jj2、Jj3、Jp4、Jp5、Jj6の重み係数qBig,q,q,qを設定する際の指針を示す。Jj1、Jj2、Jj3は、制約式を目的関数化したもので、従来の計算機であれば、制約式として表現すべきものであることから、違反が発生する場合には、本来の目的関数に該当するJp4、Jp5、Jj6の総和よりも、より十分大きな値(例えば10倍程度)となるよう、qBigを設定することが前記の「十分大きく」の意味合いとなる。この数式15および数式16において、x[i][k]・x[i][k+1]などのxの二次項の係数が数式2のJijに対応し、数式15および数式16に含まれるx[i][k]などのxの一次の項が数式2のhに対応する。 Here, a guideline for setting the weighting coefficients q Big , q 1 , q 2 , and q 3 of J j1 , J j2 , J j3 , J p4 , J p5 , and J j6 is shown. J j1 , J j2 , and J j3 are constraint expressions converted into objective functions, which should be expressed as constraint expressions in conventional computers. Therefore, when a violation occurs, the original objective function Setting q Big so that the value is sufficiently larger (for example, about 10 times) than the sum of J p4 , J p5 , and J j6 corresponding to the above is the meaning of "sufficiently large". In the formulas 15 and 16, the coefficients of the quadratic terms of x such as x j [i 1 ] [k] and x j [i 2 ] [k + 1] correspond to J ij of the formula 2, and the formulas 15 and 16 x j [i 1] [k ] first order term of x, such as contained in corresponds to h i in equation 2.

以上、決定変数設定部12により設定された決定変数が、量子計算機20内において格子状に配列した量子ビットノードに対応付けられる。また、目的関数設定部13により設定された子問題についての目的関数の係数が、各量子ビットノード(イジング変数)間の関係性を示す係数(結合の重み)として量子計算機20に入力される。 As described above, the coefficient-determined variables set by the coefficient-determined variable setting unit 12 are associated with the qubit nodes arranged in a grid pattern in the quantum computer 20. Further, the coefficient of the objective function for the child problem set by the objective function setting unit 13 is input to the quantum computer 20 as a coefficient (coupling weight) indicating the relationship between each qubit node (ising variable).

ここでは、特定関数を、±1を値にとるイジング変数を用いて記述したが、0,1の2値をとる変数を用いてQUBO形式により与えられても、勿論構わない。 Here, the specific function is described using an Ising variable having a value of ± 1, but it may of course be given in the QUAO format using a variable having a binary value of 0 and 1.

[装置の動作]
次に、本実施形態における最適化支援装置10の動作について図4を用いて説明する。図4は、本実施形態における最適化支援装置の動作を示すフロー図である。以下の説明においては、適宜図1を参酌する。また、本実施形態では、最適化支援装置10を動作させることによって、最適化支援方法が実施される。よって、本実施形態における最適化支援方法の説明は、以下の最適化支援装置10の動作説明に代える。
[Device operation]
Next, the operation of the optimization support device 10 in the present embodiment will be described with reference to FIG. FIG. 4 is a flow chart showing the operation of the optimization support device according to the present embodiment. In the following description, FIG. 1 will be referred to as appropriate. Further, in the present embodiment, the optimization support method is implemented by operating the optimization support device 10. Therefore, the description of the optimization support method in the present embodiment is replaced with the following description of the operation of the optimization support device 10.

本実施形態における最適化支援装置10は、格子状に配列した複数の量子ビットノードと、前記量子ビットノード間の結合の重みの値を入力パラメータとして構成されるハミルトニアンとを備えるイジングモデルにおいて、量子揺らぎを用いて前記ハミルトニアンの値が最小値となる、前記イジングモデルの基底状態を求める量子計算機20に、最適化問題を求解させる。 The optimization support device 10 in the present embodiment is an Ising model including a plurality of qubit nodes arranged in a grid pattern and a Hamiltonian configured with a weight value of coupling between the qubit nodes as an input parameter. The quantum computer 20 for finding the ground state of the Ising model, in which the value of the Hamiltonian becomes the minimum value using fluctuations, is made to solve the optimization problem.

ここで、図4に示すように、入力情報取得部11は、最適化問題の構築に必要な入力情報を取得する(S1)。入力情報の例としては、任意製品の任意工程での処理順について最適化するための最適化問題を求解する場合には、工程数、製品数、ロット番号、納期などである。より具体的には、工程集合J、製品情報(製品集合i、工程別ロット属性、納期など)、また、評価重みのパラメータ(qBig,q,q,qなど)である。 Here, as shown in FIG. 4, the input information acquisition unit 11 acquires the input information necessary for constructing the optimization problem (S1). Examples of input information include the number of processes, the number of products, the lot number, and the delivery date when solving an optimization problem for optimizing the processing order of arbitrary products in arbitrary processes. More specifically, it is a process set J, product information (product set i, lot attribute for each process, delivery date, etc.), and evaluation weight parameters (q Big , q 1 , q 2 , q 3, etc.).

決定変数設定部12は、求解対象の最適化問題の決定変数を設定する(S2)。例えば、決定変数設定部12は、任意製品の任意工程での処理順について最適化するための最適化問題を求解する場合には、その処理順kを決定変数として設定する。 The coefficient of determination variable setting unit 12 sets the coefficient of determination of the optimization problem to be solved (S2). For example, when the determination variable setting unit 12 solves an optimization problem for optimizing the processing order of an arbitrary product in an arbitrary process, the determination variable setting unit 12 sets the processing order k as a determination variable.

目的関数設定部13は、求解対象の最適化問題の一部の制約条件を緩和した複数の子問題に分解し、子問題それぞれについての目的関数を設定する(S3)。求解対象の最適化問題に制約条件が含まれている場合、目的関数設定部13は、子問題それぞれについての目的関数は、緩和した制約条件に対する違反量に乗数(後述するラグランジュ乗数λ)を乗じた項を含む。また、その制約条件の違反に対してペナルティを課すような要素を含む目的関数を設定する。具体的には、目的関数設定部13は、また、本来の評価すべき事項を数式で表した評価指標の要素(例えばJj2、Jp4、Jp5、Jj6)と、制約条件の違反に対してペナルティを課すような数式で表した制約式の要素(例えばJj1、Jj3)とを含む目的関数を設定する。さらに、評価指標の要素および制約式の要素には、それぞれの要素の重みを表す重み要素(例えばq,q,q,qBig)が含まれている。ここで、最適化問題に不等式制約が含まれている場合には、目的関数設定部13は、決定変数設定部12により設定された決定変数の積の項を少なくとも含む数式で表した制約式の要素(例えばJj1、Jj3)と、制約条件に違反する場合に、想定される基準値(目的関数値)よりも十分に大きく設定される重み要素(例えばqBig)とを含む目的関数を設定する。 The objective function setting unit 13 decomposes into a plurality of child problems in which some constraints of the optimization problem to be solved are relaxed, and sets an objective function for each child problem (S3). When a constraint condition is included in the optimization problem to be solved, the objective function setting unit 13 determines that the objective function for each child problem is the amount of violation of the relaxed constraint condition multiplied by a multiplier (Lagrange multiplier λ, which will be described later). Includes terms. In addition, an objective function including an element that imposes a penalty for the violation of the constraint condition is set. Specifically, the objective function setting unit 13 also violates the elements of the evaluation index (for example, J j2 , J p4 , J p5 , J j6 ) expressing the matters to be evaluated originally by mathematical expressions, and the constraint conditions. An objective function including the elements of the constraint expression (for example, J j1 and J j3 ) expressed by a mathematical formula that imposes a penalty is set. Further, the evaluation index element and the constraint expression element include a weight element (for example, q 1 , q 2 , q 3 , q Big ) representing the weight of each element. Here, when the optimization problem includes an inequality constraint, the objective function setting unit 13 expresses the constraint expression represented by a mathematical formula including at least the term of the product of the determinants set by the determinant variable setting unit 12. An objective function that includes elements (eg J j1 , J j3 ) and weight elements (eg q Big ) that are set sufficiently larger than the expected reference value (objective function value) when the constraint is violated. Set.

目的関数設定部13は、上記のような目的関数を少なくとも制約条件毎に作成し(例えば、Jj1、Jj2、Jj3、Jp4、Jp5、Jj6)、作成した目的関数を統合して最終的な目的関数(例えば、J、J)として設定する。なお、Jj2のラグランジュ乗数λとしては、最適解決定部16により、数式20で更新された最新の値が用いられる。 The objective function setting unit 13 creates the above objective functions at least for each constraint condition (for example, J j1 , J j2 , J j3 , J p4 , J p5 , J j6 ), and integrates the created objective functions. And set it as the final objective function (for example, J j , J p ). As the Lagrange multiplier λ of J j2 , the latest value updated by the equation 20 is used by the optimum solution determination unit 16.

なお、上記実施形態では、目的関数設定部13が入力情報取得部11により取得された入力情報に基づいて目的関数を生成するものとして説明しているが、本発明はこれに限定されず、ユーザによって生成済みの目的関数が汎用計算機10に入力(手入力を含む)される形態としてもよい。 In the above embodiment, the objective function setting unit 13 is described as generating the objective function based on the input information acquired by the input information acquisition unit 11, but the present invention is not limited to this, and the user. The objective function generated by the above may be input (including manual input) to the general-purpose computer 10.

入力部14は、決定変数設定部12により設定された決定変数を子問題それぞれについての決定変数に分解し、分解した決定変数を、量子計算機20内において格子状に配列した量子ビットノード(すなわち、イジング変数)に対応させ、目的関数設定部13により設定された子問題についての目的関数の係数を、各量子ビットノード(イジング変数)間の関係性を示す係数(結合の重み)として量子計算機20に入力する(S4)。 The input unit 14 decomposes the determinants set by the determinant setting unit 12 into determinants for each child problem, and the decomposed determinants are arranged in a grid pattern in the quantum computer 20 (that is, the qubit nodes (that is, that is). The quantum computer 20 uses the coefficient of the objective function for the child problem set by the objective function setting unit 13 corresponding to the qubit variable) as a coefficient (coupling weight) indicating the relationship between each qubit node (ising variable). (S4).

結果取得部15は、入力部14により入力された各子問題の目的関数の係数に基づいて計算された量子計算機20の計算結果(各子問題の最適解)を取得する(S5)。具体的には、量子ビットノード(イジング変数)の基底状態での測定値を、それらの量子ビットノード(イジング変数)に対応する各子問題の決定変数の値として取得し、また、各子問題の最適解に基づいて、各子問題の目的関数(ハミルトニアン)の最適値を求める。 The result acquisition unit 15 acquires the calculation result (optimal solution of each child problem) of the quantum computer 20 calculated based on the coefficient of the objective function of each child problem input by the input unit 14 (S5). Specifically, the measured values of the qubit nodes (Ising variables) in the ground state are acquired as the values of the determinants of each child problem corresponding to those qubit nodes (Ising variables), and each child problem is also obtained. Find the optimal value of the objective function (Hamiltonian) of each child problem based on the optimal solution of.

最適解決定部16は、結果取得部15が取得した最適解を束ねて緩和解を得る。また、最適解決定部16は、結果取得部15が取得した最適値を加え合わせて緩和最適値を得る。最適解決定部16は、緩和解と、緩和最適値とに基づいて前記目的関数を更新する(S6)。 The optimum solution determination unit 16 bundles the optimum solutions acquired by the result acquisition unit 15 to obtain an alleviated solution. Further, the optimum solution determination unit 16 adds the optimum values acquired by the result acquisition unit 15 to obtain the relaxation optimum value. The optimum solution determination unit 16 updates the objective function based on the relaxation solution and the relaxation optimum value (S6).

具体的には、最適解決定部16は、最適化問題における更新直前の下界値と緩和最適値とを比較して、下界値を更新し、緩和解に含まれる違反を修正して得た実行可能解に基づいて、上界値を更新する。最適解決定部16は、緩和解に基づいて、緩和した制約条件に対する違反量を要素として劣勾配ベクトルGを算出する。そして、最適解決定部16は、劣勾配ベクトル、更新した下界値と、更新した上界値とにより、緩和した制約条件に対する違反量に乗数(後述するラグランジュ乗数λ)を更新する。これによって、目的関数が更新される。 Specifically, the optimum solution determination unit 16 compares the lower bound value immediately before the update in the optimization problem with the relaxation optimum value, updates the lower bound value, and corrects the violation included in the relaxation solution. Update the upper bound value based on the possible solution. The optimal solution determination unit 16 calculates the subgradient vector G based on the relaxed solution with the amount of violation of the relaxed constraint as an element. Then, the optimum solution determination unit 16 updates the multiplier (Lagrange multiplier λ, which will be described later) to the amount of violation of the relaxed constraint condition by the subgradient vector, the updated lower bound value, and the updated upper bound value. This updates the objective function.

(下界値の更新)
原問題における工程間の制約条件を緩和することにより、工程j(∈P)毎に分解して生成した、子問題Pjについて、量子計算機20から得られた緩和解xj_opt[i][k]を束ねた解を緩和解xrelxとし、各子問題Pjの最適値をVj_optとするとき、それらを全工程に渡り総和をとった緩和最適値Vrelxは数式17から求められる。Vrelxと、予め設定された下界値ZLBと比較し、ZLB<Vrelxが成立する場合(最小化問題前提)、下界値ZLBをVrelxで更新する。ただし、子問題の最適値を加え合わせる際、Jj2にて元の定数項を省略している場合は、それを考慮する必要ある。数式17の第二項の「−(p−1)」によってそれを示している。なお、最大化問題の場合には、Vrelxと、予め設定された上界値ZUBと比較を比較して、ZUB>Vrelxが成立する場合、上界値ZUBをVrelxで更新する。

Figure 2020181576
(Update of lower bound value)
Relaxation solution x j_opt [i] [k] obtained from the quantum computer 20 for the child problem Pj generated by decomposing each process j (∈ P) by relaxing the constraints between the processes in the original problem. and solution relaxation solution x relx a bundle of, when the optimum value of each child problems Pj and V J_opt, relaxation optimum value V relx taken a sum over them in the entire process is determined from equation 17. Compare V relx with the preset lower bound value Z LB, and if Z LB <V relx holds (assuming a minimization problem), update the lower bound value Z LB with V relx . However, when adding the optimum values of the child problems, if the original constant term is omitted in J j2 , it is necessary to consider it. This is indicated by "-(p-1)" in the second term of Equation 17. In the case of the maximization problem, V relx is compared with the preset upper bound value Z UB, and if Z UB > V relx is satisfied, the upper bound value Z UB is updated with V relx . To do.
Figure 2020181576

(上界値の更新)
緩和解xrelxを用いて、違反がなくなるまで後工程の処理時刻をずらすことにより工程間制約に違反する箇所を修正し、実行可能解xfesを導出する。以下、表1に示す例に従って、修正方法を詳細に説明する。
(Update of upper bound value)
By using the mitigation solution x relex and shifting the processing time of the subsequent process until the violation disappears, the part that violates the inter-process constraint is corrected, and the executable solution x fes is derived. Hereinafter, the correction method will be described in detail according to the examples shown in Table 1.

Figure 2020181576
Figure 2020181576

表1に示す例において、工程jと工程(j+1)の間での工程間制約(すなわち、製品iの前工程jで処理が未完了だと後工程(j+1)で製品iの処理が開始できないとの制約)に反する製品は、製品5と製品1である。製品5は工程jではk=2処理しているのに工程j+1では、k=1で処理しているので1時刻逆転している。製品1は工程jではk=5処理しているのに工程j+1では、k=2で処理しているので3時刻逆転となっている。そこで、逆転現象を回避するには工程j+1での処理順を最大逆転時刻にあたる3時刻分後ろにずらせばよい。すらした結果を表1の「j+1修正」の欄に記している。修正後の実行可能解xfesとするとき、実行可能解xfesとに基づいて目的関数を計算して得たVfesを、予め設定された上界値ZUBと比較し、Vfes<ZUBが成立する場合(最小化問題前提)、上界値ZUBをVfesで更新する。なお、最大化問題の場合には、Vfesと、予め設定された下界値ZLBと比較を比較して、Vfes>LBが成立する場合、下界値ZLBをVfesで更新する。 In the example shown in Table 1, the inter-process constraint between the process j and the process (j + 1) (that is, if the process is not completed in the pre-process j of the product i, the process of the product i cannot be started in the post-process (j + 1). The products that violate the above restrictions are product 5 and product 1. In step j, the product 5 is processed with k = 2, but in step j + 1, it is processed with k = 1, so that the time is reversed by one time. In product 1, k = 5 is processed in step j, but in step j + 1, k = 2 is processed, so that the time is reversed by 3 times. Therefore, in order to avoid the reversal phenomenon, the processing order in step j + 1 may be shifted back by 3 hours, which is the maximum reversal time. The smooth results are shown in the "j + 1 correction" column of Table 1. When a feasible solution x fes after correction, the V fes obtained by calculating the objective function on the basis of the feasible solutions x fes, compared with the upper bound value Z UB previously set, V fes <Z When UB is established (assuming the minimization problem), the upper bound value Z UB is updated with V fes . In the case of the maximization problem, V fes is compared with the preset lower bound value Z LB, and when V fes> Z LB is satisfied, the lower bound value Z LB is updated with V fes .

なお、緩和解の修正方法は、表1に示す例に限定されない。例えば、違反箇所の製品のみを変数として工程間制約を含む原問題を解き直すという方法なども考えられる。この様に、子問題の解を統合した緩和解を参照して、それに対し、上記の様な調整を加えることにより、実行可能解を得る処理及びその際の目的関数値である原問題の上界値を求める処理を調整と称している。 The method of modifying the mitigation solution is not limited to the examples shown in Table 1. For example, a method of resolving the original problem including inter-process constraints by using only the product of the violating part as a variable can be considered. In this way, referring to the mitigation solution that integrates the solutions of the child problems, by making the above adjustments to it, the process of obtaining an executable solution and the original problem that is the objective function value at that time The process of finding the boundary value is called adjustment.

(劣勾配ベクトルGの算出)
前述の緩和解xrelxに基づいて緩和した工程間制約(数式9)に対する制約違反量を要素とするベクトルである列勾配ベクトルGを算出する。数式9は、i∈N,l=1,…,K(j)−1,j∈P\1に対して定義されるので、Gの次元はn×(K(j)−1)×(p−1)となり、各要素は、対応する制約違反量となり、汎用計算機により数式18で計算できる。

Figure 2020181576
(Calculation of subgradient vector G)
A column gradient vector G, which is a vector having a constraint violation amount for the inter-process constraint (Equation 9) relaxed based on the relaxation solution xrelx described above, is calculated. Since the mathematical formula 9 is defined for i ∈ N, l = 1, ..., K (j) -1, j ∈ P \ 1, the dimension of G is n × (K (j) -1) × ( It becomes p-1), and each element becomes the corresponding constraint violation amount, and can be calculated by the formula 18 by a general-purpose computer.
Figure 2020181576

(ラグランジュ乗数λの算出)
上記のようにして得られた下界値ZLB、上界値ZUBおよび劣勾配ベクトルGに基づいて、ラグランジュ乗数更新ステップサイズξを数式18により求める。得られたξを用いて、数式19によりラグランジュ乗数λ(r)をλ(r+1)に更新する。

Figure 2020181576
Figure 2020181576
(Calculation of Lagrange multiplier λ)
Based on the lower bound value Z LB , the upper bound value Z UB, and the subgradient vector G obtained as described above, the Lagrange multiplier update step size ξ is calculated by Equation 18. Using the obtained ξ, the Lagrange multiplier λ (r) is updated to λ (r + 1) by Equation 19.
Figure 2020181576
Figure 2020181576

最適解決定部16は、更新したラグランジュ乗数λ(r+1)を用いて、数式9を更新して、量子計算機20に入力する目的関数を更新する。更新された目的関数は、入力部14により、量子計算機20に入力され、結果取得部15により、更新された目的関数についての計算結果(各子問題の最適解)が取得され、各子問題の最適解に基づいて各子問題の目的関数(ハミルトニアン)の最適値が求められる。最適解決定部16は、この計算結果(最適解)および最適値に基づいて、目的関数の更新を行う。この一連の作業は、予め定められた状態に収束する(緩和解が緩和した一部の制約条件を満たす、または、所定の終了条件(上界値と下界値との差が閾値未満)を満たす)まで継続される。図4では、これらの条件を総称して「所定の条件」としている。そして、先に緩和した一部の制約条件が満たされた場合には、その時点で前記結果取得部により取得された最新の最適解を束ねた緩和解を元の最適化問題の最適解とし、先に前記所定の終了条件が満たされた場合には、その時点で得られている最良の実行可能解を元の最適化問題の最適解とする。最適化問題の解は、表示部(図示省略)により表示される。 The optimum solution determination unit 16 updates the equation 9 by using the updated Lagrange multiplier λ (r + 1) to update the objective function input to the quantum computer 20. The updated objective function is input to the quantum computer 20 by the input unit 14, and the calculation result (optimal solution of each child problem) for the updated objective function is acquired by the result acquisition unit 15 for each child problem. The optimum value of the objective function (Hamiltonian) of each child problem is obtained based on the optimum solution. The optimum solution determination unit 16 updates the objective function based on the calculation result (optimum solution) and the optimum value. This series of operations converges to a predetermined state (the relaxation solution satisfies some of the relaxed constraint conditions, or a predetermined end condition (the difference between the upper bound value and the lower bound value is less than the threshold value). ) Continues. In FIG. 4, these conditions are collectively referred to as “predetermined conditions”. Then, when some of the previously relaxed constraints are satisfied, the relaxation solution that bundles the latest optimal solutions acquired by the result acquisition unit at that time is set as the optimum solution of the original optimization problem. If the predetermined termination condition is satisfied first, the best feasible solution obtained at that time is set as the optimum solution of the original optimization problem. The solution of the optimization problem is displayed by a display unit (not shown).

(プログラム)
本実施形態におけるプログラムは、コンピュータに、図3に示すステップS1〜S6を実行させるプログラムであればよい。このプログラムをコンピュータにインストールし、実行することによって、本実施形態における最適化支援装置と最適化支援装置とを実現することができる。この場合、情報処理装置となるコンピュータのCPU(Central Processing Unit)は、入力情報取得部11、決定変数設定部12、目的関数設定部13、入力部14、結果取得部15および最適解決定部16として機能し処理を行なう。
(program)
The program in this embodiment may be any program that causes a computer to execute steps S1 to S6 shown in FIG. By installing this program on a computer and executing it, the optimization support device and the optimization support device according to the present embodiment can be realized. In this case, the CPU (Central Processing Unit) of the computer serving as the information processing device includes the input information acquisition unit 11, the determination variable setting unit 12, the objective function setting unit 13, the input unit 14, the result acquisition unit 15, and the optimum solution determination unit 16. It functions as and performs processing.

また、本実施形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されてもよい。この場合は、例えば、各コンピュータが、それぞれ、入力情報取得部11、決定変数設定部12、目的関数設定部13、入力部14、結果取得部15および最適解決定部16のいずれかとして機能してもよい。 Moreover, the program in this embodiment may be executed by a computer system constructed by a plurality of computers. In this case, for example, each computer functions as one of the input information acquisition unit 11, the decision variable setting unit 12, the objective function setting unit 13, the input unit 14, the result acquisition unit 15, and the optimum solution determination unit 16, respectively. You may.

[物理構成]
ここで、本実施形態におけるプログラムを実行することによって、最適化支援装置を実現するコンピュータについて図を用いて説明する。図5は、本実施形態における最適化支援装置を実現するコンピュータの一例を示すブロック図である。
[Physical configuration]
Here, a computer that realizes the optimization support device by executing the program in the present embodiment will be described with reference to the drawings. FIG. 5 is a block diagram showing an example of a computer that realizes the optimization support device according to the present embodiment.

図5に示すように、コンピュータ110は、CPU111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。 As shown in FIG. 5, the computer 110 includes a CPU 111, a main memory 112, a storage device 113, an input interface 114, a display controller 115, a data reader / writer 116, and a communication interface 117. Each of these parts is connected to each other via a bus 121 so as to be capable of data communication.

CPU111は、記憶装置113に格納された、本実施形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本実施形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであってもよい。 The CPU 111 expands the programs (codes) of the present embodiment stored in the storage device 113 into the main memory 112 and executes them in a predetermined order to perform various operations. The main memory 112 is typically a volatile storage device such as a DRAM (Dynamic Random Access Memory). Further, the program in the present embodiment is provided in a state of being stored in a computer-readable recording medium 120. The program in this embodiment may be distributed on the Internet connected via the communication interface 117.

また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボードおよびマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。 Further, specific examples of the storage device 113 include a semiconductor storage device such as a flash memory in addition to a hard disk drive. The input interface 114 mediates data transmission between the CPU 111 and input devices 118 such as a keyboard and mouse. The display controller 115 is connected to the display device 119 and controls the display on the display device 119.

データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、およびコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。 The data reader / writer 116 mediates the data transmission between the CPU 111 and the recording medium 120, reads the program from the recording medium 120, and writes the processing result in the computer 110 to the recording medium 120. The communication interface 117 mediates data transmission between the CPU 111 and another computer.

また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))およびSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記憶媒体、またはCD−ROM(Compact Disk Read Only Memory)などの光学記憶媒体が挙げられる。 Specific examples of the recording medium 120 include a general-purpose semiconductor storage device such as CF (Compact Flash (registered trademark)) and SD (Secure Digital), a magnetic storage medium such as a flexible disk, or a CD-. Examples include optical storage media such as ROM (Compact Disk Read Only Memory).

なお、本実施形態における最適化支援装置は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、最適化支援装置は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。 The optimization support device in the present embodiment can also be realized by using the hardware corresponding to each part instead of the computer in which the program is installed. Further, the optimization support device may be partially realized by a program and the rest may be realized by hardware.

本発明によれば、迅速に、任意製品の任意工程の処理順の最適化を行うことができる。 According to the present invention, it is possible to quickly optimize the processing order of any process of any product.

10 汎用計算機(最適化支援装置)
11 入力情報取得部
12 決定変数設定部
13 目的関数設定部
14 入力部
15 結果取得部
16 最適解決定部
20 量子計算機(最適化装置)
21 量子ビットノード
22 量子ビット制御部
23 結合器
24 結合器制御部
25 読出部
30 最適化システム
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス
10 General-purpose computer (optimization support device)
11 Input information acquisition unit 12 Coefficient of determination setting unit 13 Objective function setting unit 14 Input unit 15 Result acquisition unit 16 Optimal solution determination unit 20 Quantum computer (optimizer)
21 Quantum bit node 22 Quantum bit control unit 23 Coupler 24 Coupler control unit 25 Read unit 30 Optimization system 110 Computer 111 CPU
112 Main memory 113 Storage device 114 Input interface 115 Display controller 116 Data reader / writer 117 Communication interface 118 Input device 119 Display device 120 Recording medium 121 Bus

Claims (10)

複数のノードと、前記ノード間の結合の重みの値を入力パラメータとして構成される特性関数とを備えるネットワークモデルにおいて、前記特性関数の値が最小値となる、前記ネットワークモデルの基底状態を求める量子計算技術を用いた装置に、最適化問題を求解させる最適化支援装置であって、
前記最適化問題に関する入力情報を取得する、入力情報取得部と、
前記最適化問題の決定変数を設定する、決定変数設定部と、
前記最適化問題について一部の制約条件を緩和した複数の子問題に分解し、前記子問題それぞれについての目的関数を設定する、目的関数設定部と、
前記決定変数を前記子問題それぞれについての決定変数に分解して前記ノードに対応する変数とし、前記目的関数の係数を前記ノード間の結合の重みの値として前記量子計算技術を用いた装置に入力する、入力部と、
前記量子計算技術を用いた装置において前記ネットワークモデルが基底状態となったときの前記ノードの値を前記子問題の最適解として取得し、前記最適解に基づき前記子問題の目的関数の最適値を求める、結果取得部と、
前記最適解を束ねた緩和解と、前記最適値を加え合わせた緩和最適値とに基づき、前記一部の制約条件が満たされるか否かを判定し、前記一部の制約条件が満たされる場合には前記緩和解を元の最適化問題の最適解とし、前記一部の制約条件が満たされない場合には前記緩和解に含まれる違反を修正して得た実行可能解を元の最適化問題の最適解とする、最適解決定部と、を備える、最適化支援装置。
In a network model including a plurality of nodes and a characteristic function configured with the value of the weight of the connection between the nodes as an input parameter, a quantum for obtaining the base state of the network model in which the value of the characteristic function is the minimum value. It is an optimization support device that allows a device using calculation technology to solve an optimization problem.
An input information acquisition unit that acquires input information related to the optimization problem,
The coefficient of determination variable setting unit that sets the coefficient of determination of the optimization problem,
An objective function setting unit that decomposes the optimization problem into a plurality of child problems in which some constraints are relaxed and sets an objective function for each of the child problems.
The determinant is decomposed into determinants for each of the child problems to obtain variables corresponding to the nodes, and the coefficient of the objective function is input to the device using the quantum computing technique as the value of the weight of the coupling between the nodes. Input section and
In the device using the quantum computing technique, the value of the node when the network model is in the ground state is acquired as the optimum solution of the child problem, and the optimum value of the objective function of the child problem is obtained based on the optimum solution. The result acquisition department and
When it is determined whether or not some of the constraints are satisfied based on the relaxation solution that bundles the optimum solutions and the relaxation optimum value that is the sum of the optimum values, and the part of the constraints is satisfied. The relaxation solution is used as the optimum solution of the original optimization problem, and if some of the constraints are not satisfied, the feasible solution obtained by correcting the violation included in the relaxation solution is used as the original optimization problem. An optimization support device provided with an optimum solution determination unit, which is the optimum solution for the above.
前記最適解決定部は、前記一部の制約条件が満たされない場合には、前記緩和解および前記緩和最適値に基づき前記目的関数を更新し、
前記目的関数設定部は、前記最適解決定部により更新された目的関数を前記子問題それぞれについての目的関数として再設定する、請求項1に記載の最適化支援装置。
When the partial constraint condition is not satisfied, the optimum solution determination unit updates the objective function based on the relaxation solution and the relaxation optimum value.
The optimization support device according to claim 1, wherein the objective function setting unit resets the objective function updated by the optimal solution determination unit as an objective function for each of the child problems.
前記最適解決定部は、前記一部の制約条件が満たされない場合において、前記最適化問題が最小化問題の場合は、更新直前の下界値と前記緩和最適値とを比較して、下界値を更新し、前記最適化問題が最大化問題の場合は、更新直前の上界値と前記緩和最適値とを比較して、上界値を更新し、前記下界値または前記上界値に基づいて前記目的関数を更新する、
請求項2に記載の最適化支援装置。
When the optimization problem is a minimization problem, the optimum solution determination unit compares the lower bound value immediately before the update with the relaxation optimum value to determine the lower bound value when some of the constraints are not satisfied. If the optimization problem is updated and the optimization problem is a maximization problem, the upper bound value immediately before the update is compared with the relaxation optimum value, the upper bound value is updated, and the upper bound value or the upper bound value is used. Update the objective function,
The optimization support device according to claim 2.
前記最適解決定部は、前記一部の制約条件が満たされない場合において、前記実行可能解に基づいて、前記最適化問題が最小化問題の場合は、上界値を更新し、前記最適化問題が最大化問題の場合は、下界値を更新し、前記上界値または前記下界値に基づいて前記目的関数を更新する、
請求項2または3に記載の最適化支援装置。
The optimum solution determination unit updates the upper bound value based on the feasible solution when the optimization problem is a minimization problem when some of the constraints are not satisfied, and the optimization problem. If is a maximization problem, the lower bound value is updated and the objective function is updated based on the upper bound value or the lower bound value.
The optimization support device according to claim 2 or 3.
前記最適解決定部は、前記一部の制約条件が満たされる、または所定の終了条件が満たされるまで、前記目的関数の更新を繰り返し、先に前記一部の制約条件が満たされた場合には、その時点で前記結果取得部により取得された最新の最適解を束ねた緩和解を元の最適化問題の最適解とし、先に前記所定の終了条件が満たされた場合には、その時点で得られている最良の実行可能解を元の最適化問題の最適解とする、請求項2から4までのいずれかに記載の最適化支援装置。 The optimum solution determination unit repeatedly updates the objective function until the partial constraint condition is satisfied or a predetermined end condition is satisfied, and when the partial constraint condition is satisfied first. At that time, the relaxation solution that bundles the latest optimum solutions acquired by the result acquisition unit is set as the optimum solution of the original optimization problem, and if the predetermined end condition is satisfied first, at that time. The optimization support device according to any one of claims 2 to 4, wherein the best feasible solution obtained is the optimum solution of the original optimization problem. 前記目的関数設定部は、前記緩和した制約条件に対する違反量に乗数を乗じた項を含む目的関数を設定する、
請求項1から5までのいずれかに記載の最適化支援装置。
The objective function setting unit sets an objective function including a term obtained by multiplying the violation amount for the relaxed constraint condition by a multiplier.
The optimization support device according to any one of claims 1 to 5.
前記最適解決定部は、前記緩和解に基づいて、前記緩和した制約条件に対する違反量を要素として算出した劣勾配ベクトルと、更新した下界値と、更新した上界値とにより、前記、乗数を更新する、
請求項6に記載の最適化支援装置。
Based on the relaxation solution, the optimum solution determination unit uses the subgradient vector calculated with the violation amount for the relaxed constraint as an element, the updated lower bound value, and the updated upper bound value to obtain the multiplier. Update,
The optimization support device according to claim 6.
格子状に配列した複数のノードと、前記ノード間の結合の重みの値を入力パラメータとして構成される特性関数とを備えるネットワークモデルにおいて、前記特性関数の値が最小値となる、前記ネットワークモデルの基底状態を求める量子計算技術を用いた装置に、最適化問題を求解させる最適化支援方法であって、
(1)前記最適化問題に関する入力情報を取得する、ステップ、
(2)前記最適化問題の決定変数を設定する、ステップ、
(3)前記最適化問題の一部の制約条件を緩和した複数の子問題に分解し、前記子問題それぞれについての目的関数を設定する、ステップ、
(4)前記決定変数を前記子問題それぞれについての決定変数に分解して前記ノードに対応する変数とし、前記目的関数の係数を前記ノード間の結合の重みの値として前記量子計算技術を用いた装置に入力する、ステップ、
(5)前記量子計算技術を用いた装置において前記ネットワークモデルが基底状態となったときの前記ノードの値を前記子問題の最適解として取得し、前記最適解に基づき前記子問題の目的関数の最適値を求める、ステップ、および、
(6)前記最適解を束ねた緩和解と、前記最適値を加え合わせた緩和最適値とに基づき、前記一部の制約条件が満たされるか否かを判定し、前記一部の制約条件が満たされる場合には前記緩和解を元の最適化問題の最適解とし、前記一部の制約条件が満たされない場合には前記緩和解に含まれる違反を修正して得た実行可能解を元の最適化問題の最適解とする、ステップを備える、最適化支援方法。
In a network model including a plurality of nodes arranged in a grid pattern and a characteristic function configured by using the value of the weight of the connection between the nodes as an input parameter, the value of the characteristic function is the minimum value of the network model. It is an optimization support method that allows a device using quantum computing technology to find the base state to solve an optimization problem.
(1) Acquiring input information regarding the optimization problem, step
(2) Setting the coefficient of determination of the optimization problem, step
(3) A step of decomposing a part of the optimization problem into a plurality of child problems in which some constraints are relaxed and setting an objective function for each of the child problems.
(4) The quantum computing technique was used by decomposing the determinant into determinants for each of the child problems to obtain variables corresponding to the nodes, and using the coefficient of the objective function as the value of the weight of the connection between the nodes. Input to the device, step,
(5) In the device using the quantum computing technique, the value of the node when the network model is in the ground state is acquired as the optimum solution of the child problem, and the objective function of the child problem is based on the optimum solution. Finding the optimum value, steps, and
(6) Based on the relaxation solution in which the optimum solutions are bundled and the relaxation optimum value obtained by adding the optimum values, it is determined whether or not some of the constraint conditions are satisfied, and the part of the constraint conditions are satisfied. If it is satisfied, the relaxation solution is used as the optimum solution of the original optimization problem, and if some of the constraints are not satisfied, the feasible solution obtained by correcting the violation included in the relaxation solution is used as the original solution. An optimization support method with steps that makes it the optimal solution for an optimization problem.
格子状に配列した複数のノードと、前記ノード間の結合の重みの値を入力パラメータとして構成される特性関数とを備えるネットワークモデルにおいて、前記特性関数の値が最小値となる、前記ネットワークモデルの基底状態を求める量子計算技術を用いた装置に、最適化問題を求解させるに際して、
コンピュータに、
(1)前記最適化問題に関する入力情報を取得する、ステップ、
(2)前記最適化問題の決定変数を設定する、ステップ、
(3)前記最適化問題の一部の制約条件を緩和した複数の子問題に分解し、前記子問題それぞれについての目的関数を設定する、ステップ、
(4)前記決定変数を前記子問題それぞれについての決定変数に分解して前記ノードに対応する変数とし、前記目的関数の係数を前記ノード間の結合の重みの値として前記量子計算技術を用いた装置に入力する、ステップ、
(5)前記量子計算技術を用いた装置において前記ネットワークモデルが基底状態となったときの前記ノードの値を前記子問題の最適解として取得し、前記最適解に基づき前記子問題の目的関数の最適値を求める、ステップ、および、
(6)前記最適解を束ねた緩和解と、前記最適値を加え合わせた緩和最適値とに基づき、前記一部の制約条件が満たされるか否かを判定し、前記一部の制約条件が満たされる場合には前記緩和解を元の最適化問題の最適解とし、前記一部の制約条件が満たされない場合には前記緩和解に含まれる違反を修正して得た実行可能解を元の最適化問題の最適解とする、ステップを実行させるプログラム。
In a network model including a plurality of nodes arranged in a grid pattern and a characteristic function configured by using the value of the weight of the connection between the nodes as an input parameter, the value of the characteristic function is the minimum value of the network model. When making a device using quantum computing technology to find the base state solve an optimization problem
On the computer
(1) Acquiring input information regarding the optimization problem, step
(2) Setting the coefficient of determination of the optimization problem, step
(3) A step of decomposing a part of the optimization problem into a plurality of child problems in which some constraints are relaxed and setting an objective function for each of the child problems.
(4) The quantum computing technique was used by decomposing the determinant into determinants for each of the child problems to obtain variables corresponding to the nodes, and using the coefficient of the objective function as the value of the weight of the connection between the nodes. Input to the device, step,
(5) In the device using the quantum computing technique, the value of the node when the network model is in the ground state is acquired as the optimum solution of the child problem, and the objective function of the child problem is based on the optimum solution. Finding the optimum value, steps, and
(6) Based on the relaxation solution in which the optimum solutions are bundled and the relaxation optimum value obtained by adding the optimum values, it is determined whether or not some of the constraint conditions are satisfied, and the part of the constraint conditions is satisfied. If it is satisfied, the relaxation solution is used as the optimum solution of the original optimization problem, and if some of the constraints are not satisfied, the executable solution obtained by correcting the violation included in the relaxation solution is used as the original solution. A program that executes steps as the optimal solution for an optimization problem.
最適化問題を最適化するシステムであって、
格子状に配列した複数のノードと、前記ノード間の結合の重みの値を入力パラメータとして構成される特性関数とを備えるネットワークモデルにおいて、前記特性関数の値が最小値となる、前記ネットワークモデルの基底状態を求める量子技術を用いた装置と、
前記最適化問題に関する入力情報を取得する、入力情報取得部と、
前記最適化問題の決定変数を設定する、決定変数設定部と、
前記最適化問題について一部の制約条件を緩和した複数の子問題に分解し、前記子問題それぞれについての目的関数を設定する、目的関数設定部と、
前記決定変数を前記子問題それぞれについての決定変数に分解して前記ノードに対応する変数とし、前記目的関数の係数を前記ノード間の結合の重みの値として前記量子計算技術を用いた装置に入力する、入力部と、
前記量子計算技術を用いた装置において前記ネットワークモデルが基底状態となったときの前記ノードの値を前記子問題の最適解として取得し、前記最適解に基づき前記子問題の目的関数の最適値を求める、結果取得部と、
前記最適解を束ねた緩和解と、前記最適値を加え合わせた緩和最適値とに基づき、前記一部の制約条件が満たされるか否かを判定し、前記一部の制約条件が満たされる場合には前記緩和解を元の最適化問題の最適解とし、前記一部の制約条件が満たされない場合には前記緩和解に含まれる違反を修正して得た実行可能解を元の最適化問題の最適解とする、最適解決定部と、を備える、最適化システム。
A system that optimizes optimization problems
In a network model including a plurality of nodes arranged in a grid pattern and a characteristic function configured by using the value of the weight of the connection between the nodes as an input parameter, the value of the characteristic function is the minimum value of the network model. A device that uses quantum technology to find the ground state,
An input information acquisition unit that acquires input information related to the optimization problem,
The coefficient of determination variable setting unit that sets the coefficient of determination of the optimization problem,
An objective function setting unit that decomposes the optimization problem into a plurality of child problems in which some constraints are relaxed and sets an objective function for each of the child problems.
The determinant is decomposed into determinants for each of the child problems to obtain variables corresponding to the nodes, and the coefficient of the objective function is input to the device using the quantum computing technique as the value of the weight of the coupling between the nodes. Input section and
In the device using the quantum computing technique, the value of the node when the network model is in the ground state is acquired as the optimum solution of the child problem, and the optimum value of the objective function of the child problem is obtained based on the optimum solution. The result acquisition department and
When it is determined whether or not some of the constraints are satisfied based on the relaxation solution that bundles the optimum solutions and the relaxation optimum value that is the sum of the optimum values, and the part of the constraints is satisfied. The relaxation solution is used as the optimum solution of the original optimization problem, and if some of the constraints are not satisfied, the feasible solution obtained by correcting the violation included in the relaxation solution is used as the original optimization problem. An optimization system equipped with an optimum solution determination unit, which is the optimum solution for.
JP2020076409A 2019-04-23 2020-04-23 Optimization support device, optimization support method, program and optimization system Active JP7457243B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019082263 2019-04-23
JP2019082263 2019-04-23

Publications (2)

Publication Number Publication Date
JP2020181576A true JP2020181576A (en) 2020-11-05
JP7457243B2 JP7457243B2 (en) 2024-03-28

Family

ID=73024660

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020076409A Active JP7457243B2 (en) 2019-04-23 2020-04-23 Optimization support device, optimization support method, program and optimization system

Country Status (1)

Country Link
JP (1) JP7457243B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7224405B1 (en) 2021-08-18 2023-02-17 西日本電信電話株式会社 Decision support device, decision support program and decision support method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3420466B1 (en) 2016-02-23 2023-06-14 1QB Information Technologies Inc. Method and system for solving the lagrangian dual of a binary polynomially constrained polynomial programming problem using a binary optimizer

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7224405B1 (en) 2021-08-18 2023-02-17 西日本電信電話株式会社 Decision support device, decision support program and decision support method
JP2023027980A (en) * 2021-08-18 2023-03-03 西日本電信電話株式会社 Decision-making support apparatus, decision-making support program, and decision-making support method

Also Published As

Publication number Publication date
JP7457243B2 (en) 2024-03-28

Similar Documents

Publication Publication Date Title
Velloso et al. Combining deep learning and optimization for preventive security-constrained DC optimal power flow
Gao et al. An improved artificial bee colony algorithm for flexible job-shop scheduling problem with fuzzy processing time
JP6764025B2 (en) Production plan creation device, production plan creation method and production plan creation program
Constantino et al. A heuristic algorithm based on multi-assignment procedures for nurse scheduling
Li et al. A genetic algorithm for the robust resource leveling problem
JP7457242B2 (en) OPTIMIZATION SUPPORT DEVICE, OPTIMIZATION SUPPORT METHOD, PROGRAM, AND OPTIMIZATION SYSTEM
Vanhoucke et al. Resource-constrained project scheduling with activity splitting and setup times
Wu et al. Genetic algorithm for minimizing the total weighted completion time scheduling problem with learning and release times
Park et al. Self-supervised primal-dual learning for constrained optimization
Lv et al. Process planning and scheduling integration with optimal rescheduling strategies
Teekeng et al. A new algorithm for flexible job-shop scheduling problem based on particle swarm optimization
Wen et al. Uncertain optimization model for multi-echelon spare parts supply system
Zheng et al. A data-driven robust optimization method for the assembly job-shop scheduling problem under uncertainty
Secui A method based on the ant colony optimization algorithm for dynamic economic dispatch with valve‐point effects
JP2021033341A (en) Optimization device and control method of optimization device
JP2020204928A (en) Optimization device and optimization method
Singh et al. A hybrid algorithm using particle swarm optimization for solving transportation problem
Rehfeldt et al. A massively parallel interior-point solver for LPs with generalized arrowhead structure, and applications to energy system models
Zandieh et al. Integrated production scheduling and maintenance planning in a hybrid flow shop system: a multi-objective approach
Mou et al. Hybrid optimization algorithms by various structures for a real-world inverse scheduling problem with uncertain due-dates under single-machine shop systems
Meng et al. Modelling and solving algorithm for two-stage scheduling of construction component manufacturing with machining and welding process
JP2020181576A (en) Optimization support device, optimization support method, program, and optimization system
Chen et al. Production management of hybrid flow shop based on genetic algorithm
Huang et al. Benchmarking quantum (-inspired) annealing hardware on practical use cases
JP6834717B2 (en) Arithmetic logic units, methods and programs for nonlinear programming problems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231226

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240226

R151 Written notification of patent or utility model registration

Ref document number: 7457243

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151