(57)【要約】【課題】迅速に、任意製品の任意工程の処理順の最適化を行う。【解決手段】量子計算機２０に不等式制約が含まれる最適化問題を求解させる最適化支援装置１０であって、最適化問題に関する入力情報を取得する入力情報取得部１１と、前記最適化問題の決定変数を設定する決定変数設定部１２と、前記不等式制約を表す不等式の各辺の生起有無が前記決定変数の積の形式に変換された制約式の要素と前記不等式制約を満たさない場合に大きくなるように設定された重みの要素とを含む目的関数を設定する目的関数設定部１３と、前記決定変数を前記ノードに対応する変数とし、前記目的関数の係数を前記ノード間の結合の重みの値として前記量子計算機２０に入力する入力部１４と、量子計算機２０において前記ネットワークモデルが基底状態となったときの前記ノードの値を前記最適化問題の解として取得する結果取得部１５とを備える。【選択図】  図１
2020181575.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードと、前記ノード間の結合の重みの値を入力パラメータとして構成される特性関数とを備えるネットワークモデルにおいて、前記特性関数の値が最小値となる、前記ネットワークモデルの基底状態を求める量子計算技術を用いた装置に、不等式制約が含まれる最適化問題を求解させる最適化支援装置であって、
前記最適化問題に関する入力情報を取得する、入力情報取得部と、
前記最適化問題の決定変数を設定する、決定変数設定部と、
前記不等式制約を表す不等式の各辺の生起有無が前記決定変数の積の形式に変換された制約式の要素と、前記不等式制約を満たさない場合に大きくなるように設定された重み要素とを含む目的関数を設定する、目的関数設定部と、
前記決定変数を前記ノードに対応する変数とし、前記目的関数の係数を前記ノード間の結合の重みの値として前記量子計算技術を用いた装置に入力する、入力部と、
前記量子計算技術を用いた装置において前記ネットワークモデルが基底状態となったときの前記ノードの値を前記最適化問題の解として取得する、結果取得部と、
を備える、
最適化支援装置。
【請求項２】
前記最適化問題が、任意製品の任意工程の処理順を決定する最適化問題であり、
前記決定変数が、ロット情報および納期情報を含み、
前記目的関数が、ロットまとめおよび納期遵守の評価に関する評価指標の要素を含む、
請求項１に記載の最適化支援装置。
【請求項３】
前記重み要素が、納期遵守の評価に対応して設定される、
請求項２に記載の最適化支援装置。
【請求項４】
前記重み要素が、ロットまとめの評価に対応して設定される、
請求項２または３に記載の最適化支援装置。
【請求項５】
前記重み要素が、任意の製品において前工程の処理が終わらないと、次工程の処理が始まらないという制約に対応して設定される、
請求項２〜４のいずれかに記載の最適化支援装置。
【請求項６】
前記重み要素が、所定の間隔で後工程の処理を実施するという制約に対応して設定される、
請求項２〜５のいずれかに記載の最適化支援装置。
【請求項７】
複数のノードと、前記ノード間の結合の重みの値を入力パラメータとして構成される特性関数とを備えるネットワークモデルにおいて、前記特性関数の値が最小値となる、前記ネットワークモデルの基底状態を求める量子計算技術を用いた装置に、不等式制約が含まれる最適化問題を求解させるに際して、下記の（１）〜（５）のステップを備える最適化支援方法。
（１）前記最適化問題に関する入力情報を取得する、ステップ、
（２）前記最適化問題の決定変数を設定する、ステップ、
（３）前記不等式制約を表す不等式の各辺の生起有無が前記決定変数の積の形式に変換された制約式の要素と、前記不等式制約を満たさない場合に大きくなるように設定された重みの要素とを含む目的関数を設定する、ステップ、
（４）前記決定変数を前記ノードに対応する変数とし、前記目的関数の係数を前記ノード間の結合の重みの値として前記量子計算技術を用いた装置に入力する、ステップ、および
（５）前記量子計算技術を用いた装置において前記ネットワークモデルが基底状態となったときの前記ノードの値を前記最適化問題の解として取得する、ステップ。
【請求項８】
複数のノードと、前記ノード間の結合の重みの値を入力パラメータとして構成される特性関数とを備えるネットワークモデルにおいて、前記特性関数の値が最小値となる、前記ネットワークモデルの基底状態を求める量子計算技術を用いた装置に、不等式制約が含まれる最適化問題を求解させるに際して、
コンピュータに、
下記の（１）〜（５）のステップを備える最適化支援方法を実行させる、プログラム。
（１）前記最適化問題に関する入力情報を取得する、ステップ、
（２）前記最適化問題の決定変数を設定する、ステップ、
（３）前記不等式制約を表す不等式の各辺の生起有無が前記決定変数の積の形式に変換された制約式の要素と、前記不等式制約を満たさない場合に大きくなるように設定された重みの要素とを含む目的関数を設定する、ステップ、
（４）前記決定変数を前記ノードに対応する変数とし、前記目的関数の係数を前記ノード間の結合の重みの値として前記量子計算技術を用いた装置に入力する、ステップ、および
（５）前記量子計算技術を用いた装置において前記ネットワークモデルが基底状態となったときの前記ノードの値を前記最適化問題の解として取得する、ステップ。
【請求項９】
複数のノードと、前記ノード間の結合の重みの値を入力パラメータとして構成される特性関数とを備えるネットワークモデルにおいて、前記特性関数の値が最小値となる、前記ネットワークモデルの基底状態を求める量子計算技術を用いた装置と、
前記最適化問題に関する入力情報を取得する、入力情報取得部と、
前記最適化問題の決定変数を設定する、決定変数設定部と、
前記不等式制約を表す不等式の各辺の生起有無が前記決定変数の積の形式に変換された制約式の要素と、前記不等式制約を満たさない場合に大きくなるように設定された重みの要素とを含む目的関数を設定する、目的関数設定部と、
前記決定変数を前記ノードに対応する変数とし、前記目的関数の係数を前記ノード間の結合の重みの値として前記量子計算技術を用いた装置に入力する、入力部と、
前記量子計算技術を用いた装置において前記ネットワークモデルが基底状態となったときの前記ノードの値を前記最適化問題の解として取得する、結果取得部と、
を備える、
最適化システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、最適化支援装置、最適化支援方法、プログラムおよび最適化システムに関する。
【背景技術】
【０００２】
多段工程を含む生産物流プロセスでは、例えば、操業条件（製造作業、仕分作業など）の簡略化及び効率化を目的として、製品を操業条件によって識別し、ロット番号で管理している。ロットとは、同一の操業条件で処理可能な製品をまとめた生産単位を意味する。例えば、熱延工程において同一の加熱及び圧延条件で製造される１０個のコイルがあった場合、それらに同一のロット番号を付与し、ロットという単位でまとめて管理される。各工程では、同一のロット番号が付与された複数の製品が連続して生産されることが効率性の観点から望ましい。以下、ロット単位にまとめられた複数の製品を連続して生産する処理を「ロットまとめ」という。
【０００３】
各工程では、通常、ロットが変わるたびに段取り替えが必要となる。段取り替えとは、各工程における処理設備の設定変更、部品交換、メンテナンスなどを指す。段取り替えには、通常多くの時間を要する。このため、各工程の作業スケジュールは、出来るだけ段取り替え作業が少なくて済むように作成されることが好ましい。しかしながら、近年、顧客から注文される製品仕様は細分化しており、大きなロットにまとめられる製品群は少ない。仮に、大きなロットにまとめることができる製品群があったとしても、通常、納期にばらつきがあることが多い。そのような大きなロットにまとめることができる製品を優先的に連続して製造すると、納期に時間的な余裕がある製品を先に製造することとなり、その結果、本来、先に製造すべき製品が後回しになってしまう場合がある。そのため、後回しとなった製品の生産が納期に間に合わないという問題を引き起こすおそれがある。
【０００４】
また、ロットまとめの条件は、工程ごとに異なる。そのため、製造する製品の種類によっては、ある工程では同一のロットとしてまとめられても、他の工程では同一のロットとしてまとめられない製品の組合せが生じ得る。このため、工程ごとに個別にスケジュールを作成する方法が考えられるが、全工程を通してみると生産効率が低下するおそれがある。このように、複数の工程にわたる生産計画を策定する際には、納期と生産効率とのトレードオフを全工程にわたり調整して、適切なロットまとめをする必要がある。しかしながら、全工程にわたるスケジュールを作成しようとすると、以下のような問題がある。
【０００５】
すなわち、生産効率を決める条件の組合せが多く、解くべきスケジュール問題が大規模化し、求解に膨大な計算量および多大な時間を要する。そのうえ、プロセスの遅延、作業停止などの外的要因によって、頻繁かつ迅速なスケジュールの修正（リスケジュール）が必要となる。このため、従来は、工程毎の個別のスケジュールを作成することが一般的であり、全工程にわたり任意製品の任意工程での処理順を最適化したスケジュールを作成することは困難であった。
【０００６】
特許文献１（特開２０１０−９７５０６号公報）には、１つ以上の製品がグルーピングされたロットを処理単位としてそれぞれ処理を実行する複数の工程を含む生産物流プロセスの作業スケジュールを作成するシステムに関する発明が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１０−９７５０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１の発明は、工程間で必要となるデータの受け渡しに関するシステム構成を提案しているが、全工程にわたる納期と生産効率とのトレードオフを解消する具体的な処理順の決定方法について言及していない。
【０００９】
本発明者らは、上記の問題を解決するべく、近年、量子力学的な状態の重ね合わせを用いることにより、従来の計算装置では実現できない規模の並列性を実現する量子計算の技術に着目した。量子計算技術には、例えば、最近、話題を呼んでいる、１）超伝導量子ビットを用いて最適化計算を行うことに特化したレーザネットワークや量子アニーリングマシンなどの量子イジングモデル方式の量子コンピュータ技術、２）量子ゲートを組み合わせて汎用的な量子計算が可能な量子ゲート方式の量子コンピュータ技術、３）量子現象に着想を得てイジングモデルをデジタル回路を用いて解くことに特化した技術、などが含まれる。以降、これらの技術を量子計算技術と呼ぶ。
【００１０】
しかしながら、上述のように任意製品の任意工程での処理順について最適化するために量子計算技術を用いて最適化問題（例えば、数理計画問題）を求解させようとすると、事前に最適化問題の制約式を目的関数に変換する必要がある。これは、現時点の量子計算技術を用いた手法では、最適化問題の制約式については設定できず、目的関数についての設定しかできないためである。そのため、最適化問題を量子計算技術を用いて求解させるために、例えば、等式制約については、両辺の対象項を左辺または右辺のいずれかに全て移行し、その辺の２乗和に対しペナルティを課すことで、比較的容易に目的関数化できる。しかし、等式制約以外の不等式制約については、いまだ統一的な目的関数化方法は知られていない。
【００１１】
本発明は、上記事情に鑑みてなされたものであり、不等式制約が含まれる最適化問題を量子計算技術を用いて比較的容易に求解させる最適化支援装置等を提供することを目的とする。
【課題を解決するための手段】
【００１２】
（Ａ）複数のノードと、前記ノード間の結合の重みの値を入力パラメータとして構成される特性関数とを備えるネットワークモデルにおいて、前記特性関数の値が最小値となる、前記ネットワークモデルの基底状態を求める量子計算技術を用いた装置に、不等式制約が含まれる最適化問題を求解させる最適化支援装置であって、
前記最適化問題に関する入力情報を取得する、入力情報取得部と、
前記最適化問題の決定変数を設定する、決定変数設定部と、
前記不等式制約を表す不等式の各辺の生起有無が前記決定変数の積の形式に変換された制約式の要素と、前記不等式制約を満たさない場合に大きくなるように設定された重み要素とを含む目的関数を設定する、目的関数設定部と、
前記決定変数を前記ノードに対応する変数とし、前記目的関数の係数を前記ノード間の結合の重みの値として前記量子計算技術を用いた装置に入力する、入力部と、
前記量子計算技術を用いた装置において前記ネットワークモデルが基底状態となったときの前記ノードの値を前記最適化問題の解として取得する、結果取得部と、
を備える、
最適化支援装置。
【００１３】
（Ｂ）複数のノードと、前記ノード間の結合の重みの値を入力パラメータとして構成される特性関数とを備えるネットワークモデルにおいて、前記特性関数の値が最小値となる、前記ネットワークモデルの基底状態を求める量子計算技術を用いた装置に、不等式制約が含まれる最適化問題を求解させるに際して、下記の（１）〜（５）のステップを備える最適化支援方法。
（１）前記最適化問題に関する入力情報を取得する、ステップ、
（２）前記最適化問題の決定変数を設定する、ステップ、
（３）前記不等式制約を表す不等式の各辺の生起有無が前記決定変数の積の形式に変換された制約式の要素と、前記不等式制約を満たさない場合に大きくなるように設定された重みの要素とを含む目的関数を設定する、ステップ、
（４）前記決定変数を前記ノードに対応する変数とし、前記目的関数の係数を前記ノード間の結合の重みの値として前記量子計算技術を用いた装置に入力する、ステップ、および
（５）前記量子計算技術を用いた装置において前記ネットワークモデルが基底状態となったときの前記ノードの値を前記最適化問題の解として取得する、ステップ。
【００１４】
（Ｃ）複数のノードと、前記ノード間の結合の重みの値を入力パラメータとして構成される特性関数とを備えるネットワークモデルにおいて、前記特性関数の値が最小値となる、前記ネットワークモデルの基底状態を求める量子計算技術を用いた装置に、不等式制約が含まれる最適化問題を求解させるに際して、
コンピュータに、
下記の（１）〜（５）のステップを備える最適化支援方法を実行させる、プログラム。
（１）前記最適化問題に関する入力情報を取得する、ステップ、
（２）前記最適化問題の決定変数を設定する、ステップ、
（３）前記不等式制約を表す不等式の各辺の生起有無が前記決定変数の積の形式に変換された制約式の要素と、前記不等式制約を満たさない場合に大きくなるように設定された重みの要素とを含む目的関数を設定する、ステップ、
（４）前記決定変数を前記ノードに対応する変数とし、前記目的関数の係数を前記ノード間の結合の重みの値として前記量子計算技術を用いた装置に入力する、ステップ、および
（５）前記量子計算技術を用いた装置において前記ネットワークモデルが基底状態となったときの前記ノードの値を前記最適化問題の解として取得する、ステップ。
【００１５】
（Ｄ）複数のノードと、前記ノード間の結合の重みの値を入力パラメータとして構成される特性関数とを備えるネットワークモデルにおいて、前記特性関数の値が最小値となる、前記ネットワークモデルの基底状態を求める量子計算技術を用いた装置と、
前記最適化問題に関する入力情報を取得する、入力情報取得部と、
前記最適化問題の決定変数を設定する、決定変数設定部と、
前記不等式制約を表す不等式の各辺の生起有無が前記決定変数の積の形式に変換された制約式の要素と、前記不等式制約を満たさない場合に大きくなるように設定された重みの要素とを含む目的関数を設定する、目的関数設定部と、
前記決定変数を前記ノードに対応する変数とし、前記目的関数の係数を前記ノード間の結合の重みの値として前記量子計算技術を用いた装置に入力する、入力部と、
前記量子計算技術を用いた装置において前記ネットワークモデルが基底状態となったときの前記ノードの値を前記最適化問題の解として取得する、結果取得部と、
を備える、
最適化システム。
【発明の効果】
【００１６】
本発明によれば、不等式制約が含まれる最適化問題を量子計算技術を用いて比較的容易に求解させることができる。
【図面の簡単な説明】
【００１７】
【図１】本実施形態に係る最適化システムの概略構成を示すブロック図である。
【図２】本実施形態に係る量子計算機のハードウェア構成を示す図である。
【図３】量子計算機の原理を説明するための図である。
【図４】本実施形態に係る最適化支援装置の動作を示すフロー図である。
【図５】本実施形態に係る最適化支援装置を実現するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【００１８】
［装置の構成］
最初に、本実施形態に係る最適化システムの概略構成について図１を用いて説明する。図１は、本実施形態に係る最適化システムの概略構成を示すブロック図である。
【００１９】
図１に示すように、本実施形態に係る最適化システムは、汎用計算機（最適化支援装置）１０と、量子計算機（最適化装置）２０とを備える。量子計算機２０は、量子計算技術を用いた装置である。汎用計算機１０は、求解すべき最適化問題（例えば、数理計画問題）を、量子計算機２０が処理可能な形式で量子計算機２０に入力する。また、汎用計算機１０は、量子計算機２０で得られた最適化問題の求解結果を取得する。量子計算機２０は、汎用計算機１０から入力された最適化問題を求解し、その求解結果を汎用計算機１０へ出力する。
【００２０】
以下、主として、量子計算機２０として、超伝導量子ビットを使った量子アニーリングマシンを用いる場合を例にとって説明する。なお、以下の説明においては、変数に対応する「ノード」の例として「量子ビットノード」を、「特性関数」の例として「ハミルトニアン」を、「ネットワークモデル」の例として「イジングモデル」を、「変数」の例として「イジング変数」をそれぞれ用いる。
【００２１】
（汎用計算機１０）
まず、汎用計算機１０について説明する。汎用計算機１０は、最適化支援装置として機能し、図１に示すように、少なくとも、入力情報取得部１１と、決定変数設定部１２と、目的関数設定部１３と、入力部１４と、結果取得部１５とを備える。
【００２２】
（入力情報取得部１１）
入力情報取得部１１は、最適化問題の構築に必要な入力情報を取得する。入力情報の例としては、任意製品の任意工程での処理順について最適化するための最適化問題を求解する場合には、工程数、製品数、ロット番号、納期などである。入力情報取得部１１は、汎用計算機１０に対するオペレータによる操作、外部装置からネットワーク等を介して送信された情報の受信、または可搬型記憶媒体に記憶された情報の読み出しを行うことにより入力情報を取得する。
【００２３】
（決定変数設定部１２）
決定変数設定部１２は、求解対象の最適化問題の決定変数を設定する。例えば、決定変数設定部１２は、任意製品の任意工程での処理順について最適化するための最適化問題を求解する場合には、その処理順を決定変数として設定する。なお、複数の決定変数を設定してもよい。ここで、決定変数の設定とは、汎用計算機１０に対する入力情報に基づき、何を決定変数とすべきかを定める処理を指す。決定変数には、ロット情報および納期情報などが含まれる。
【００２４】
（目的関数設定部１３）
目的関数設定部１３は、求解対象の最適化問題の目的関数を生成し、設定する。求解対象の最適化問題に制約条件が含まれており目的関数設定部１３は、その制約条件の違反に対してペナルティを課すような要素を含む目的関数を設定する。具体的には、目的関数設定部１３は、本来の評価すべき事項を数式で表した評価指標の要素（後述するＨ４〜Ｈ６）と、制約条件の違反に対してペナルティを課すような数式で表した制約式の要素（後述するＨ１〜Ｈ３）とを含む目的関数を設定する。また、評価指標の要素および制約式の要素には、それぞれの要素の重みを表す重み要素（後述するｑ１，ｑ２，ｑ３，ｑＢｉｇ）が含まれている。なお、評価指標の要素には、例えば、ロットまとめおよび納期遵守の評価などが含まれる。また、制約式の要素には、任意の製品はいずれかの処理順に割り当てなければならないという制約、任意の製品において前工程の処理が終わらないと、次工程の処理が始まらないという制約、後工程に処理の中断が起こらないよう、所定の間隔をおいて後工程の処理を実施するという制約などが含まれる。
【００２５】
求解対象の最適化問題には不等式制約が含まれ、そのような不等式制約に対しては、目的関数設定部１３は、その不等式制約の各辺の生起有無が決定変数の積の形式に変換された制約式の要素（後述するＨ１〜Ｈ３）と、その不等式制約を満たさない場合に大きくなるように設定された重み要素（後述するｑＢｉｇ）とを含む目的関数を設定する。
【００２６】
目的関数設定部１３は、上記のような目的関数を少なくとも制約条件毎に作成し、作成した目的関数を統合して最終的な目的関数として設定する。このとき、最終的な目的関数は決定変数の二次の多項式で表される。ここで、制約条件毎に作成した各目的関数に含まれていた重み要素は、最終的な目的関数においては項別に合算した多項式の各項の係数に反映される。この各項の係数を、以下では「目的関数の係数」と称する。
【００２７】
（入力部１４）
入力部１４は、決定変数設定部１２により設定された決定変数を、量子計算機２０内において格子状に配列したノード（すなわち、後述するイジング変数）に対応させ、目的関数設定部１３により設定された目的関数の係数を、各ノード（イジング変数）間の関係性を示す係数（結合の重み）として、上記生成した格子モデルの特性関数、すなわちハミルトニアンに対応させて、量子計算機２０に入力する。なお、用いる量子計算機によっては、ある一つのノードから結合するノードの数に限りがあるために、そのままでは全ての結合の重み係数を表現できない場合がある。このような際には例えば、ある一つのイジング変数に複数のノードを割り当てることで、結合するノードの数を実効的に増やす対策を施しても構わない。また、本発明の実施形態の説明においてはノードの配列を格子状として説明するが、ノードの配列としては格子状に限らず任意の形状が可能である。
【００２８】
（結果取得部１５）
結果取得部１５は、入力部１４により入力された目的関数の係数に基づいて計算された量子計算機２０の計算結果（最適化問題の解）を取得する。具体的には、ノード（イジング変数）の基底状態での測定値を、それらのノード（イジング変数）に対応する決定変数の値として取得する。結果取得部１５により取得された量子計算機２０の計算結果は、表示部（図示省略）により表示される。
【００２９】
（量子計算機２０）
次に、量子計算機２０について説明する。図２は、本実施形態に係る量子計算機２０のハードウェア構成を示す図である。また、図３は、量子計算機の原理を説明するための図である。ここでは、量子計算機は、イジングモデルのノードに決定変数、ノード間の関係性を示す係数に目的関数の係数を対応させて、ハミルトニアンを生成する例について説明する。しかしながら、これらは上記に限定されるものではなく、ハイゼンベルクモデル等の任意の次元の格子モデルであっても構わない。
【００３０】
量子計算機２０は、格子状に配列した複数のノード（イジング変数）と、各ノード間の結合の重みの値（上述した目的関数の係数）を入力パラメータとして構成されるハミルトニアンとを備えるイジングモデルにおいて、量子揺らぎ（量子アニーリング）を用いてそのハミルトニアンの値が最小値となるイジングモデルの基底状態を求める量子アニーリングや、量子現象に着想を得てイジングモデルをデジタル回路を用いて解く等の特性を用いて計算を行う計算機である。量子アニーリングマシンを用いる場合には、異なる二つの状態を同時に重ね合わせることができる量子ビットを基本単位とする。
【００３１】
本実施例では、図２に示すとおり、量子計算機２０として量子アニーリングマシンを使用した例を示す。量子計算機２０は、格子状に配列した複数の量子ビットノード２１（上述のノードに対応）と、各量子ビットノード２１を制御する量子ビット制御部２２と、各量子ビットノード２１間を結合する結合器２３と、結合器２３を制御する結合器制御部２４と、イジングモデルが基底状態（最小値）となったときの各量子ビットノード２１（ビットノード１，２，・・・，ｎ）の値（イジング変数の値）を測定して出力する読出部２５と、を備える。
【００３２】
量子ビットノード２１は、図３に示すように、超伝導リングなどにより実現できる。例えば、超電導リングは、ニオブなどの金属でリング(閉回路)を作り、極低温にして、一の方向の電流と、それとは逆方向の電流とを同時に存在させることにより構成することができる。このとき、それぞれの電流をイジングスピンの上向き（＋１）および下向き（−１）に対応させると±１の状態が回路中に同時に存在することとなる。
【００３３】
量子ビット制御部２２は、超伝導リングにもう一つの超伝導回路を挟み込み、超伝導電流が反転できる仕組みを備える。例えば、量子ビット制御部２２は、後述する数式２におけるイジング変数の一次の項の係数（ｈｉ）あるいは横磁場を実現すべく量子ビットノード２１の超伝導リングに印加する磁束を制御する。超伝導リングに流れる超伝導電流を反転させることにより、上向き（＋１）および下向き（−１）のイジングスピンを適宜入れ替える(スピンの向きを反転させる)ことができる。そして、この超電導リングに印加する磁場を調整して、最適な状態を探っていく。
【００３４】
結合器２３は、異なる量子ビットノード２１に対応する超伝導リング間に磁気的相互作用を促すよう、それらの量子ビットノード２１とは別に用意された超伝導リングにより構成される。
【００３５】
結合器制御部２４は、汎用計算機１０から入力された目的関数（Ｈ）の係数の値に基づき、量子ビットノード（超電導リング）２１間の結合の重みを設定する。例えば、結合器制御部２４は、後述する数式２におけるイジング変数の二次の項の係数（Jｉj）を実現すべく結合器２３の超伝導リングに印加する磁束を制御する。
【００３６】
ここで、各量子ビットノード２１間の結合の重みの値を入力パラメータとして構成されるハミルトニアンは、下記の数式１で表される。数式１において、第１項は、イジングモデルの状態を示し、第２項は、横磁場といわれる交流磁場を示しており、交流磁場は、±１の状態間の遷移を引き起こし最適解の探索を主導する。
【数１】
2020181575.tif 000003
【００３７】
量子アニーリングマシンでは、イジングモデルの基底状態を求めるために、まず、各スピンの状態を量子力学的に不確定（どの量子ビットも上向き（＋１）および下向き（−１）の確率がそれぞれ１／２の最も無秩序な状態）にする。そして、初期状態（ｔ＝０）では、Ａ（０）＝０、Ｂ（０）＝１とする。初期状態は、横磁場により全てのスピンの組み合わせが重ね合わされた状態であり、横磁場が支配的な場合には、この状態がエネルギー最小の状態である。そして、時間の経過（ｔ＞０）とともに、徐々にＡ（ｔ）は、１に近づき、Ｂ（ｔ）は、０に近づいていく。そして、予め決めておいた有限時間（ｔ＝τ）に到達したときに、Ａ（τ）＝１、Ｂ（τ）＝０となるように、横磁場を停止する（第２項はゼロ）。
【００３８】
つまり、初期状態は、横磁場のみを作用させて、全てのスピン配列が重ねあわさった状態が最もエネルギーが低い状態を作り、次第に、横磁場の値を弱めながら、本来のイジングモデルのハミルトニアンの寄与を大きくしていく。このとき、量子断熱時間発展の現象（エネルギーの最小の状態から出発して、ゆっくり時間発展させていくと、常にエネルギー最小の状態に留まるという現象）が生じる。そうすると、最終的には、ハミルトニアンが最小値を取る、イジングモデルの基底状態（エネルギー最小状態）となり、最適化問題の解に到達する。
【００３９】
読出部２５は、汎用計算機１０からの入力（すなわち、目的関数（Ｈ）の係数の入力）に基づき量子ビットノード（超電導リング）２１間の結合の重みが結合器制御部２４により設定された後、量子ビット制御部２２による上記の作用によりイジングモデルが基底状態（エネルギー最小状態）になると、このときの量子ビットノード２１の各イジング変数σｑの値を読み出す。読出部２５は、ここで読み出した各イジング変数の値を、最適化問題の解として汎用計算機１０に出力する。
【００４０】
量子計算機２０が、イジングモデルが基底状態（最小値）となったときの各ノードの値（イジング変数の値）を測定する処理は、上記量子アニーリングマシンに限定されるものではない。例えば、量子現象に着想を得てイジングモデルを、デジタル回路を用いて解く等の特性を用いて計算を行うことに特化した計算機を用いても構わない。また、格子モデル等の断熱モデルと、任意の量子回路を用いた回路モデルとは、量子計算においては等価である。このため、量子アニーリングを用いた量子計算は、連続的に量子ゲートを作用させる量子回路と等価であり、ハミルトニアンが示すイジングモデルを、量子ゲートを組み合わせた量子回路を再現する任意のハードウェアによって実現した計算機であっても構わない。
【００４１】
以上のような最適化システムによれば、量子計算機２０を用いて、不等式制約が含まれる最適化問題を比較的容易に求解することができる。例えば、製品数および工程数が多く、複雑な制約（不等式制約など）が含まれる多段工程処理スケジュールの最適化問題であっても、量子計算機２０に求解させることができ、従来の汎用コンピュータのみを用いて求解する場合と比べて、計算に要する時間を短縮することができる。
【００４２】
［装置の具体例］
以下、下記の最適化モデルを例にとって、汎用計算機１０の決定変数設定部１２および目的関数設定部１３における具体的な設定方法を説明する。
【００４３】
（最適化モデル）
決定変数として、例えば、複数の工程（以下、「多段工程」ともいう）における、各製品ｉの各工程ｊにおける処理順ｋを表す、割当変数ｘ［ｉ］［ｋ］［ｊ］（ｉ∈Ｎ，ｋ∈Ｋ（ｊ），ｊ∈Ｊ）がある。この割当変数ｘ［ｉ］［ｋ］［ｊ］の組は、イジングモデルの各ノードにマッピングされる。
【００４４】
一方、例えば、ロットの不揃いなどのロット情報、納期とのずれなどの納期情報などに応じて、ノード間の相互作用の値を設定したイジングモデルのハミルトニアンを設定する。例えば、ある工程ｊにおいて、製品ｉ１およびｉ２とのロットｌ（ｉ１）、およびｌ（ｉ２）が異なるケース（ｌ（ｉ１）≠ｌ（ｉ２））を想定する。このとき、ｉ１およびｉ２を隣接する処理順ｋおよび（ｋ＋１）で処理する場合、ロットまとめができないことになる。その条件が成立する場合には、割当変数ｘ［ｉ１］［ｋ］［ｊ］とｘ［ｉ２］［ｋ＋１］［ｊ］とが共に真となる。このとき、ハミルトニアンとして入力される目的関数は、想定される目的関数値よりも十分に大きく設定された重み要素とを含むものとする。ここで、重み要素は、割当変数ｘ［ｉ１］［ｋ］［ｊ］とｘ［ｉ２］［ｋ＋１］［ｊ］に対応するノード（イジング変数）の間の相互作用を示す係数、すなわち、ｘ［ｉ１］［ｋ］［ｊ］とｘ［ｉ２］［ｋ＋１］［ｊ］とのノード間を連結する重みの値であり、積ｘ［ｉ１］［ｋ］［ｊ］・ｘ［ｉ２］［ｋ＋１］［ｊ］に対する重みに該当する。
【００４５】
そして、汎用計算機１０は、量子計算機２０に、ハミルトニアンが最小値を取る、すなわち、イジングモデルの基底状態（エネルギー最小状態）となる解を算出させる。そして、基底状態における各ノードにおける、割当変数ｘ［ｉ］［ｋ］［ｊ］の値に基づいて、任意製品の任意工程の処理順に関する最適条件を見出すことができる。以下、具体的な問題設定に基づいて、さらに詳しく説明する。
【００４６】
（問題設定）
製品の製造プロセスが複数工程にまたがる処理工程において、各工程における最適な処理順を求める問題を考える。この問題において、それぞれの工程における処理順は、連続する処理順の中で同一ロットをできるだけ大ロットにまとめること、即ち、ロット変更に伴う段取り替えをできる限り少なくすることを評価する。また、工程間の制約として、任意の製品について、前工程の処理が終了していることが次工程での当該製品の処理開始の条件とする。目的関数は、ロット変更回数および納期遅れと早作りをそれぞれ異なるペナルティを課して評価するものとする。
【００４７】
仮定および定式化に用いる記号の定義は、下記の通りである。
・対象製品集合をＮ（＝１，２，…ｉ，…，ｎ）とする。
・各製品ｉの（最終工程における）納期をｄｉとし、工程ｊでの所属ロットをｌｉｊとする。この値は、所与とする。
・工程集合をＪ（＝１，２，…ｊ，…，ｐ）とする。
・任意の製品ｉの任意の工程ｊでの処理時間は，一律同じであることとし、その処理時間を単位時間とする。
・上流工程での処理が完了していない製品は、それより下流工程で処理はできないこととする。すなわち第ｊ工程での処理順（処理時刻）ｋで処理された製品は第ｊ＋１工程では処理順（処理時刻）ｋ以降であれば処理可能であるとする。工程ｊで考慮すべき時刻範囲Ｋ（ｊ）は１≦Ｋ（ｊ）≦ｊ（ｎ−１）＋１とする。
・各製品ｉは、最終工程（Ｊ＝ｐ）での納期ｄｉが付与されており、最終工程での処理時刻がこれより大きい場合は納期遅れとし、これより小さい場合は早く作りすぎたものとし、それぞれ異なるペナルティを課すものとする。
【００４８】
（量子アニーリング型定式化）
以下、定式化した多段工程処理順モデルを量子アニーリング計算に利用するイジングモデルに変換する方法を詳細に示す。
【００４９】
イジング変数（イジングモデルのノード）の設定
各製品ｉの各工程ｊにおける処理順ｋを表す割当変数ｘ［ｉ］［ｋ］［ｊ］（ｉ∈Ｎ，ｋ∈Ｋ(j)，ｊ∈Ｊ）をイジング変数とする。ここで、上記の仮定に従い、同一製品の処理タイミング（時刻）は、第二工程以降（ｊ≧２）では前工程での製造順以降となる。例えば、第二工程では可能性のある処理時刻範囲が（１≦ｋ≦２ｎ−１）となる。この範囲は工程が進むに従い拡張されるので、『ｋ∈Ｋ（ｊ）』とする。これに対応し、対象製品集合については、ｉ∈Ｎ∪Ｅ（ｊ）とする。Ｅ（ｊ）は、処理が行われない時刻に仮想的に処理されるダミー製品を表すものとする。
【００５０】
ハミルトニアンへの変換方法
量子計算機において、イジングモデルのハミルトニアンは、下記数式２のＨ（σ）で表される。ハミルトニアンＨ（σ）は、±１という二つの値をとるイジング変数σｉ（ｉ＝１，…，Ｑ）に重みパラメータｈｉをかけたσｉ・ｈｉと、二つのイジング変数σｉとσｊの積に重みパラメータＪｉｊをかけた、二つのイジング変数間の相互作用エネルギーを表すＪｉｊ・σｉσｊとを合わせた値であり、全エネルギーを意味する。なお、イジング変数はσｉ∈｛−１，１｝であるが、通常の数理計画問題における数理モデルでは、変数ｓｉをｓｉ∈｛０，１｝としてモデル化される。その場合には、σｉ＝ｓｉ−１または、ｓｉ＝（σｉ＋１）／２の変数変換を行う。
【数２】
2020181575.tif 000004
【００５１】
ここで、従来の計算装置で定式化するモデルを全てハミルトニアンに変換する必要がある。特に、従来の計算装置において不等式でモデル化していた制約式の変換方法が課題となるが、以下のように変換する。
【００５２】
例えば、最適化モデルの中に『特性値ｘ≦特性値ｙ』という不等式制約が含まれる場合を想定する。このとき、「特性値ｘがｋ以上」という事象Ａと、「特性値ｙがｋ未満」という事象Ｂとが任意のｋに対し同時に成立する場合、前記不等式制約に違反することとなる。事象Ａおよび事象Ｂの生起有無をそれぞれイジング変数σＡ，σＢに対応づけられれば、両事象が同時に生起することを表すσＡ、σＢ間の相互作用であるσＡ・σＢに対してペナルティを課すことにより、前記不等式制約と同様の効果を発揮することができる。具体的な変換方法は下記の通りである。
【００５３】
イジング変数である割当変数ｘ[ｉ］［ｋ］［ｊ］（ｉ∈Ｎ，ｋ∈Ｋ（ｊ），ｊ∈Ｊ）は、いずれの工程ｊにおいても任意の製品ｉはいずれかの処理順ｋに割り当てられねばならない。また、いずれの工程ｊにおいても、任意の処理順（時刻）ｋには、ダミー材を含むいずれかの製品ｉが割り当てられねばならない。製品割当て制約および処理順割当て制約は、下記数式３および数式４として記述できる。
【数３】
2020181575.tif 000005
【数４】
2020181575.tif 000006
【００５４】
これらの制約は、量子計算機においては、下記数式５として表すことができる。下記式中、第１項が処理順割当て制約に対応し、第２項が製品割当て制約に対応する。下記式は、それぞれの割当て制約に違反する処理順にペナルティを課すものであり、「Σｉ∈Ｎ∪Ｅ（ｊ）ｘ１[i][k][j]」および「Σｋ∈Ｋ（ｊ）ｘ１[i][k][j]」が１以外の値をとる処理順に対し、固有値ｑＢｉｇを大きくする項を加えるものである。ｑＢｉｇを“十分”大きくすれば、「Σｉ∈Ｎ∪Ｅ（ｊ）ｘ１[i][k][j]」および「Σｋ∈Ｋ（ｊ）ｘ１[i][k][j]」が１以外の値をとる場合にハミルトニアンが大きくなり、その条件に関するエネルギーが大きくなり、その結果、前記割当制約を満たすこととなる。
【数５】
2020181575.tif 000007
【００５５】
多段工程処理スケジュールでは製品ｉの前工程ｊで処理が未完了だと後工程（ｊ＋１）でｉの処理が開始できない。この制約は、下記数式６として記述できる。下記式の左辺は、製品ｉの前工程ｊでの処理順を表し、右辺は製品ｉの後工程（ｊ＋１）での処理順を表しており、後者が前者以降であることを規定している。
【数６】
2020181575.tif 000008
【００５６】
この不等式制約をイジング模型（モデル）で表現するには上記式で不等号の向きが変わる事象、つまり、製品ｉの前工程ｊで処理順が後工程（ｊ＋１）での処理順より大きくなる事象に対してペナルティを課す項を追加すればよい。これは、製品ｉの工程ｊでの処理順ｋ１の真偽に対応するイジング変数ｘ［ｉ］［ｋ１］［ｊ］と、その製品ｉの次工程（ｊ＋１）での処理順ｋ２の真偽に対応するイジング変数ｘ［ｉ］［ｋ２］［ｊ＋１］が『ｋ１＞ｋ２』の際に、同時に真となる事象が違反事象に対応するので、これにペナルティを課せば良い。従って、前記不等式制約に反する『ｋ１＞ｋ２』となる事象の時に、両イジング変数間を連結する重みの値である下記式数式７のｑＢｉｇを“十分”大きくすれば、ハミルトニアンが大きくなり、その条件に関するエネルギーが大きくなり、その結果、処理順の違反を回避することとなる。
【数７】
2020181575.tif 000009
【００５７】
第二工程以降（ｊ≧２）の処理では、工程間制約により、最初の処理開始がｋ＝１とは限らず、例えば、第二工程では、最初に処理を行う時刻が１≦ｋ≦２ｎ−１の可能性がある。また、仮にｋ＝３に最初の処理が行われた場合、最後の処理はｋ＝ｎ−２（＝３＋ｎ−１）に行われなければならない。つまり、途中に処理の隙間ができないようにしなければならない。処理順に隙間を作らないということは、「Σｉ∈Ｎｘ[i][k][j]」が連続する処理順ｋ−１，ｋ，ｋ＋１にて『１，０，１』とはならないということと等価であるため、この制約は、下記数式８で表される。
【数８】
2020181575.tif 000010
【００５８】
しかし、上記式は、不等式制約であるため、そのままイジングモデルのハミルトニアンとすることはできない。ここで、本発明者らは、連続処理における事象について検討し、連続処理では、『処理順ｋ，ｋ＋１の間でダミー処理から実処理に切り替わるのは高々１回しかない（事象１）』ということを見出した。また、本発明者らは、『ｋ＝１から処理を開始できた場合に限り、このような切り替わりは、一度も起こらない（事象２）』ということも見出した。そして、事象１と事象２とは連続処理が実現されている場合には排反事象であり、いずれかは必ず生起する。この制約は、下記数式９で表される。下記式の第１項は、ダミー処理から実処理に切り替わる回数、第２項は、事象２の生起有無に対応し、連続処理では、この総数が１となることが要請され、かついかなる場合も、この和が１以下となることはないので、２乗の項としなくても、二つのイジング変数の相互作用を規定することによりモデル化できる。そして、下記数式９のｑＢｉｇを“十分”大きくすれば、ハミルトニアンが大きくなり、その条件に関するエネルギーが大きくなり、その結果、処理の途中に隙間ができることを回避することとなる。
【数９】
2020181575.tif 000011
【００５９】
多段工程処理順モデルにおいて評価すべき項目は、前記のように『納期に対する最終工程処理順のずれの少なさ』（納期情報）と『処理順に対するロットのまとまり』（ロット情報）との２項目である。前者は、下記数式１０および数式１１でモデル化できる。数式１０は、納期遅れに対するペナルティを表すもので、数式１１は、納期に対し早く作りすぎた時間に対するペナルティを表すものである。各製品ｉの最終工程ｐにおける処理時刻を表すイジング変数ｘ［ｉ］［ｋ］［ｐ］に、それぞれ納期に対するずれに比例した値をかけることにより、ずれが大きいほど、ハミルトニアン即ちエネルギーが大きくなるようモデル化されている。また、ｑ１，ｑ２は、納期遅れと納期早作りに対するペナルティを識別するための重み（比例）係数である（通常、納期遅れの重みｑ１方が納期早作りの重みｑ２より大きい数値に設定する）。
【００６０】
後者の『処理順に対するロットのまとまり』に対しては、下記数式１２でモデル化できる。ここで、ＬＣｊは、工程ｊにおいてロットが異なる（ｌ（ｉ１）≠ｌ（ｉ２））製品ペア（ｉ１，ｉ２）の集合を表す。数式１２は、ＬＣｊに属する製品ペア（ｉ１，ｉ２）が連続する処理順ｋ，ｋ＋１に処理されることに対応する二つのイジング変数ｘ［ｉ１］［ｋ］［ｊ］とｘ［ｉ２］［ｋ＋１］［ｊ］との積に、ロットがまとまらないことに対するペナルティを表す重み係数ｑ３をかけた二つのイジング変数間の相互作用のエネルギーを表している。従って、このモデルにより、連続する処理順でロットが異なる場合、即ちロットがまとまらない場合、ハミルトニアン即ちエネルギーが大きくなるようモデル化されているので、ｑ３を大きくするほど、基底状態では、ロットがまとまるような処理順に収束することが期待できる。
【００６１】
そして、ハミルトニアンＨは、上記全ての目的関数を考慮した、Ｈ１〜Ｈ６の総和に関する下記数式１３で表現することができる。
【数１０】
2020181575.tif 000012
【数１１】
2020181575.tif 000013
【数１２】
2020181575.tif 000014
【数１３】
2020181575.tif 000015
【００６２】
ここで、Ｈ１〜Ｈ６の重み係数ｑＢｉｇ，ｑ１，ｑ２，ｑ３を設定する際の指針を示す。Ｈ１〜Ｈ３は、制約式を目的関数化したもので、従来の計算機であれば、制約式として表現すべきものであることから、違反が発生する場合には、本来の目的関数に該当するＨ４〜Ｈ６の総和よりも、より十分大きな値（例えば１０倍程度）となるよう、ｑＢｉｇを設定することが前記の「十分大きく」の意味合いとなる。この数式１３において、ｘ［ｉ１］［ｋ］［ｊ］・ｘ［ｉ２］［ｋ＋１］［ｊ］などのｘの二次項の係数が数式２のＪｉｊに対応し、数式１３に含まれるｘ［ｉ１］［ｋ］［ｊ］などのｘの一次の項が数式２のhｉに対応する。
【００６３】
以上、決定変数設定部１２により設定された決定変数が、量子計算機２０内において格子状に配列した量子ビットノードに対応付けられる。また、目的関数設定部１３により設定された目的関数の係数が、各量子ビットノード（イジング変数）間の関係性を示す係数（結合の重み）として量子計算機２０に入力される。
【００６４】
ここでは、特定関数を、±１を値にとるイジング変数を用いて記述したが、０，１の２値をとる変数を用いてＱＵＢＯ形式により与えられても、勿論構わない。
【００６５】
［装置の動作］
次に、本実施形態における最適化支援装置１０の動作について図４を用いて説明する。図４は、本実施形態における最適化支援装置の動作を示すフロー図である。以下の説明においては、適宜図１を参酌する。また、本実施形態では、最適化支援装置１０を動作させることによって、最適化支援方法が実施される。よって、本実施形態における最適化支援方法の説明は、以下の最適化支援装置１０の動作説明に代える。
【００６６】
本実施形態における最適化支援装置１０は、格子状に配列した複数の量子ビットノードと、前記量子ビットノード間の結合の重みの値を入力パラメータとして構成されるハミルトニアンとを備えるイジングモデルにおいて、量子揺らぎを用いて前記ハミルトニアンの値が最小値となる、前記イジングモデルの基底状態を求める量子計算機に、不等式制約が含まれる最適化問題を求解させる。
【００６７】
ここで、図４に示すように、入力情報取得部１１は、最適化問題の構築に必要な入力情報を取得する（Ｓ１）。入力情報の例としては、任意製品の任意工程での処理順について最適化するための最適化問題を求解する場合には、工程数、製品数、ロット番号、納期などである。より具体的には、工程集合Ｊ、製品情報（製品集合ｉ、工程別ロット属性、納期など）、また、評価重みのパラメータ（ｑＢｉｇ，ｑ１，ｑ２，ｑ３など）である。
【００６８】
決定変数設定部１２は、求解対象の最適化問題の決定変数を設定する（Ｓ２）。例えば、決定変数設定部１２は、任意製品の任意工程での処理順について最適化するための最適化問題を求解する場合には、その処理順ｋを決定変数として設定する。
【００６９】
目的関数設定部１３は、求解対象の最適化問題の目的関数を設定する（Ｓ３）。求解対象の最適化問題に制約条件が含まれている場合、目的関数設定部１３は、その制約条件の違反に対してペナルティを課すような要素を含む目的関数を設定する。具体的には、目的関数設定部１３は、本来の評価すべき事項を数式で表した評価指標の要素（例えばＨ４〜Ｈ６） と、制約条件の違反に対してペナルティを課すような数式で表した制約式の要素（例えばＨ１〜Ｈ３）とを含む目的関数を設定する。また、評価指標の要素および制約式の要素には、それぞれの要素の重みを表す重み要素（例えばｑ１，ｑ２，ｑ３，ｑＢｉｇ）が含まれている。ここで、最適化問題に不等式制約が含まれている場合には、目的関数設定部１３は、決定変数設定部１２により設定された決定変数の積の項を少なくとも含む数式で表した制約式の要素（例えばＨ１〜Ｈ３）と、制約条件に違反する場合に、想定される基準値（目的関数値）よりも十分に大きく設定される重み要素（例えばｑＢｉｇ）とを含む目的関数を設定する。
【００７０】
目的関数設定部１３は、上記のような目的関数を少なくとも制約条件毎に作成し（例えば、Ｈ１〜Ｈ６）、作成した目的関数を統合して最終的な目的関数（例えば、Ｈ）として設定する。
【００７１】
なお、上記実施形態では、目的関数設定部１３が入力情報取得部１１により取得された入力情報に基づいて目的関数を生成するものとして説明しているが、本発明はこれに限定されず、ユーザによって生成済みの目的関数が最適化支援装置１０に入力（手入力を含む）される形態としてもよい。
【００７２】
入力部１４は、決定変数設定部１２により設定された決定変数を、量子計算機２０内において格子状に配列した量子ビットノード（すなわち、イジング変数）に対応させ、目的関数設定部１３により設定された目的関数の係数を、各量子ビットノード（イジング変数）間の関係性を示す係数（結合の重み）として量子計算機２０に入力する（Ｓ４）。
【００７３】
結果取得部１５は、入力部１４により入力された目的関数の係数に基づいて計算された量子計算機２０の計算結果（最適化問題の解）を取得する（Ｓ５）。具体的には、量子ビットノード（イジング変数）の基底状態での測定値を、それらの量子ビットノード（イジング変数）に対応する決定変数の値として取得する。
【００７４】
（プログラム）
本実施形態におけるプログラムは、コンピュータに、図４に示すステップＳ１〜Ｓ５を実行させるプログラムであればよい。このプログラムをコンピュータにインストールし、実行することによって、本実施形態における最適化支援装置と最適化支援方法とを実現することができる。この場合、情報処理装置となるコンピュータのＣＰＵ（Central Processing Unit）は、入力情報取得部１１、決定変数設定部１２、目的関数設定部１３、入力部１４および結果取得部１５として機能し処理を行なう。
【００７５】
また、本実施形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されてもよい。この場合は、例えば、各コンピュータが、それぞれ、入力情報取得部１１、決定変数設定部１２、目的関数設定部１３、入力部１４および結果取得部１５のいずれかとして機能してもよい。
【００７６】
［物理構成］
ここで、本実施形態におけるプログラムを実行することによって、情報処理装置を実現するコンピュータについて図を用いて説明する。図５は、本実施形態における情報処理装置を実現するコンピュータの一例を示すブロック図である。
【００７７】
図５に示すように、コンピュータ１１０は、ＣＰＵ１１１と、メインメモリ１１２と、記憶装置１１３と、入力インターフェイス１１４と、表示コントローラ１１５と、データリーダ／ライタ１１６と、通信インターフェイス１１７とを備える。これらの各部は、バス１２１を介して、互いにデータ通信可能に接続される。
【００７８】
ＣＰＵ１１１は、記憶装置１１３に格納された、本実施形態におけるプログラム（コード）をメインメモリ１１２に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ１１２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）等の揮発性の記憶装置である。また、本実施形態におけるプログラムは、コンピュータ読み取り可能な記録媒体１２０に格納された状態で提供される。なお、本実施形態におけるプログラムは、通信インターフェイス１１７を介して接続されたインターネット上で流通するものであってもよい。
【００７９】
また、記憶装置１１３の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス１１４は、ＣＰＵ１１１と、キーボードおよびマウスといった入力機器１１８との間のデータ伝送を仲介する。表示コントローラ１１５は、ディスプレイ装置１１９と接続され、ディスプレイ装置１１９での表示を制御する。
【００８０】
データリーダ／ライタ１１６は、ＣＰＵ１１１と記録媒体１２０との間のデータ伝送を仲介し、記録媒体１２０からのプログラムの読み出し、およびコンピュータ１１０における処理結果の記録媒体１２０への書き込みを実行する。通信インターフェイス１１７は、ＣＰＵ１１１と、他のコンピュータとの間のデータ伝送を仲介する。
【００８１】
また、記録媒体１２０の具体例としては、ＣＦ（Compact Flash（登録商標））およびＳＤ（Secure Digital）等の汎用的な半導体記憶デバイス、フレキシブルディスク（Flexible Disk）等の磁気記憶媒体、またはＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの光学記憶媒体が挙げられる。
【００８２】
なお、本実施形態における最適化支援装置は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、最適化支援装置は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
【産業上の利用可能性】
【００８３】
本発明によれば、迅速に、任意製品の任意工程の処理順の最適化を行うことができる。
【符号の説明】
【００８４】
１０    汎用計算機（最適化支援装置）
１１    入力情報取得部
１２    決定変数設定部
１３    目的関数設定部
１４    入力部
１５    結果取得部
２０    量子計算機（最適化装置）
２１    量子ビットノード
２２    量子ビット制御部
２３    結合器
２４    結合器制御部
２５    読出部
１１０  コンピュータ
１１１  ＣＰＵ
１１２  メインメモリ
１１３  記憶装置
１１４  入力インターフェイス
１１５  表示コントローラ
１１６  データリーダ／ライタ
１１７  通信インターフェイス
１１８  入力機器
１１９  ディスプレイ装置
１２０  記録媒体
１２１  バス
【図１】
2020181575.tif 000016
【図２】
2020181575.tif 000017
【図３】
2020181575.tif 000018
【図４】
2020181575.tif 000019
【図５】
2020181575.tif 000020