JP2020194273A - 最適化装置、最適化方法及び最適化プログラム - Google Patents

最適化装置、最適化方法及び最適化プログラム Download PDF

Info

Publication number
JP2020194273A
JP2020194273A JP2019098606A JP2019098606A JP2020194273A JP 2020194273 A JP2020194273 A JP 2020194273A JP 2019098606 A JP2019098606 A JP 2019098606A JP 2019098606 A JP2019098606 A JP 2019098606A JP 2020194273 A JP2020194273 A JP 2020194273A
Authority
JP
Japan
Prior art keywords
ising model
result
simulation
unit
optimization
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.)
Ceased
Application number
JP2019098606A
Other languages
English (en)
Inventor
富田 憲範
Toshinori Tomita
憲範 富田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2019098606A priority Critical patent/JP2020194273A/ja
Priority to EP20174843.1A priority patent/EP3748552A1/en
Priority to US15/931,633 priority patent/US20200380065A1/en
Priority to CN202010430262.7A priority patent/CN112001111A/zh
Publication of JP2020194273A publication Critical patent/JP2020194273A/ja
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/10Numerical modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks

Abstract

【課題】組合せ最適化問題の解の精度を向上する。【解決手段】探索部12が、組合せ最適化問題を変換したイジングモデルについての基底状態の探索を行うことで、組合せ最適化問題の仮最適解を算出し、実行部13が、仮最適解を用いたシミュレーションを実行し、シミュレーション結果の評価基準を示す評価基準値に基づいてシミュレーション結果を評価し、シミュレーション結果が評価基準を満たす場合、仮最適解を最適解として出力し、更新部14が、シミュレーション結果が評価基準を満たさない場合、イジングモデルにシミュレーション結果に基づいた第1の制約項を追加した更新イジングモデルを生成し、更新イジングモデルについての基底状態の探索を探索部12に実行させる。【選択図】図1

Description

本発明は、最適化装置、最適化方法及び最適化プログラムに関する。
現実社会のモデル化を行う手法として、シミュレータに様々な入力パラメータの値の組合せを与えて、多数回の試行(シミュレーション)を実行させる手法がある。この手法では、多数回の試行のそれぞれに対するシミュレーション結果の中で最もよい結果が得られたときの入力パラメータの値の組合せが最適解として決定される。このような手法の例として、PIDO(Process Integration and Design Optimization)というジャンルのソフトウェアを用いた手法が知られている。しかし、上記のような手法により現実社会に存在する複雑な組合せ最適化問題を解こうとする場合、1回の試行にある程度の時間がかかるため、実用的な時間で最適解に近い解を得ることが難しい。
実用的な時間で組合せ最適化問題の最適解に近い解を得る手法として、たとえば、シミュレーテッド・アニーリング法や、レプリカ交換法(交換モンテカルロ法とも呼ばれる)などのマルコフ連鎖モンテカルロ法が知られている。また、量子アニーリング法を用いる手法も知られている。これらの手法では、組合せ最適化問題が磁性体のスピンの振る舞いを表すモデルであるイジングモデルに置き換えられて計算される。イジングモデルを利用して組合せ最適化問題を解くハードウェアとして、デジタル回路を用いてシミュレーテッド・アニーリングを行うことでイジング型の評価関数の値が最小となる状態変数の値の組合せを計算するものがある。また、超伝導回路を用いて量子アニーリングを行うことで同様の計算を行うものなどがある。
なお、従来、物流の最適化を行うシミュレーション手法として、シミュレーション時間が増大することを抑制するために、制約の範囲内において物流パラメータの最適化を行う手法があった(たとえば、特許文献1参照)。
また、制約条件を考慮して船の荷役を最適化する際に、シミュレーテッド・アニーリング法を用いる手法があった(たとえば、特許文献2参照)。
特開2002−269192号公報 特開平11−199059号公報
現実社会に存在する複雑な組合せ最適化問題をイジングモデルにより忠実に定式化しようとする場合、パラメータ数が膨大になる。たとえば、時間経過を考慮する問題(動的な問題)をイジングモデルにより定式化する場合、時系列を表現するために、パラメータ数が時系列を表現しない場合に比べて激増する。このため、イジングモデルを用いた従来の手法ではハードウェア的な制約などにより解くことが困難な動的な問題を、静的な問題へと変換して計算することが考えられるが、精度のよい(最適解に近い)解を得ることができない。
1つの側面では、本発明は、組合せ最適化問題の解の精度を向上可能な最適化装置、最適化方法及び最適化プログラムを提供することを目的とする。
1つの実施態様では、組合せ最適化問題を変換したイジングモデルについての基底状態の探索を行うことで、前記組合せ最適化問題の仮最適解を算出する探索部と、前記仮最適解を用いたシミュレーションを実行し、前記シミュレーションの結果の評価基準を示す評価基準値に基づいて前記結果を評価し、前記結果が前記評価基準を満たす場合、前記仮最適解を最適解として出力する実行部と、前記結果が前記評価基準を満たさない場合、前記イジングモデルに前記結果に基づいた第1の制約項を追加した更新イジングモデルを生成し、前記更新イジングモデルについての基底状態の探索を前記探索部に実行させる更新部と、を有する最適化装置が提供される。
また、1つの実施態様では、最適化方法が提供される。
また、1つの実施態様では、最適化プログラムが提供される。
1つの側面では、組合せ最適化問題の解の精度を向上できる。
第1の実施の形態の最適化装置の一例を示す図である。 第1の実施の形態の最適化方法の一例の流れを示すフローチャートである。 第2の実施の形態の最適化装置のハードウェアの一例を示す図である。 第2の実施の形態の最適化装置のハードウェアの他の例を示す図である。 第2の実施の形態の最適化装置の機能例を示すブロック図である。 物流センター内における作業例を説明する図である。 あるトラックがある入荷品置き場に荷物を置いたときのフォークリフトの移動経路の例を示す図である。 あるトラックが別の入荷品置き場に荷物を置いたときのフォークリフトの移動経路の例を示す図である。 問題の制約条件を説明する図である。 第2の実施の形態の最適化装置による処理の一例の流れを示すフローチャートである。 3つ目の制約条件を説明する図である。 シミュレーションの一例の流れを示すフローチャートである。 待ち時間が発生する例を示す図である。 待ち時間が発生する他の例を示す図である。 シミュレーションによる増加時間の観測結果を度数分布として集計した例を示す図である。
以下、発明を実施するための形態を、図面を参照しつつ説明する。
(第1の実施の形態)
図1は、第1の実施の形態の最適化装置の一例を示す図である。
第1の実施の形態の最適化装置10は、生成部11、探索部12、実行部13、更新部14を有する。
生成部11は、計算対象の組合せ最適化問題の問題データに基づいてイジングモデルを生成する(組合せ最適化問題をイジングモデルに変換する)。イジングモデルは、イジング型の評価関数(目的関数とも呼ばれる)にて表される。イジング型の評価関数は、QUBO(Quadratic Unconstrained Binary Optimization)と呼ばれる問題を解く際に用いられる2次関数で表すことができる。
計算対象の組合せ最適化問題の一例として、物流センターにおける作業時間を最短化するために、複数の入荷便トラック(以下単にトラックという)のそれぞれを複数の入荷品置き場の何れに割当てるか(停車させるか)を決定する問題がある。なお、計算対象の組合せ最適化問題としては、この例に限定されず、自動車の渋滞発生を抑制するために、交通量を最適化する問題など、様々な組合せ最適化問題への適用が可能である。
評価関数は、たとえば、図1に示すように、H=コスト項cst+制約項p1と表すことができる。コスト項cstは、最小化したい値であり、たとえば、物流センター内において荷物を複数の入荷品置き場のそれぞれから、複数の出荷品置き場の何れかに荷物を運ぶフォークリフトの総移動距離をコスト項cstとすることができる。総移動距離が短くなれば、作業時間も短くなるためである。また、制約項p1は、組合せ最適化問題が満たすべき制約条件を表し、制約条件を満たさない場合に値が大きくなる。たとえば、上記物流センターに関する問題では、物流センターに到着したトラックはどこか1箇所の入荷品置き場に入ること、という制約条件がある。制約条件が複数ある場合には、上記制約項p1が複数、評価関数に含まれる。物流センターに関する問題では、他に、複数のトラックの停車時刻に重なりがある場合、それら複数のトラックは同じ入荷品置き場には入れない、という制約条件などがある。
なお、最適化装置10は、外部の装置によって生成されたイジングモデルを取得し、図示しない記憶部に記憶しておいてもよい。その場合、生成部11はなくてもよい。
探索部12は、イジングモデルについての基底状態の探索を行うことで、組合せ最適化問題の仮最適解を算出する。探索部12は、シミュレーテッド・アニーリング法やレプリカ交換法などのマルコフ連鎖モンテカルロ法により基底状態の探索を行ってもよいし、量子アニーリング法により基底状態の探索を行ってもよい。なお、探索結果として出力される仮最適解である状態(評価関数の全状態変数の値の組合せ)は、たとえば、所定時間内に多数回更新された状態のうち、評価関数の値が最小となる状態(基底状態とは限らない)である。上記物流センターに関する問題の例では、仮最適解は、フォークリフトの総移動距離をコスト項cstとした評価関数Hの値が最小となる、複数のトラックの複数の入荷品置き場への割当て方を示す。この場合、各状態変数は、各トラックが各入荷品置き場に入るか否かを示す2値の変数である。
なお、組合せ最適化問題の種類によっては、制約項p1に対応する制約条件として、必ず満たさなければいけない必須の制約条件と、できるだけ満たしたほうがよい任意の制約条件の、2種類をもつものがある。必須の制約条件が成立しない仮最適解は、現実には実行不可能な解を意味している。前述の物流センターの事例において、たとえば2台のトラックがある瞬間に同じ荷物置き場に入っている状態では、必須の制約条件が成立していない。このような種類の組合せ最適化問題では、必須の制約条件を満たさない仮最適解が棄却され、必須の制約条件を満たす解が得られるまで、探索が繰り返される。
実行部13は、探索部12が算出した仮最適解を用いたシミュレーションを実行し、シミュレーション結果の評価基準を示す評価基準値に基づいて、シミュレーション結果を評価する。そして、実行部13は、シミュレーション結果が評価基準を満たす場合、仮最適解を最適解として出力する。まず実行部13は、仮最適解を反映したシミュレーション入力データを生成し、その入力データに基づいて、シミュレーションを実行する。
たとえば、上記物流センターに関する問題では図1に示すように、複数のトラックによって入荷品置き場に置かれた全ての荷物が、フォークリフトによって複数の出荷品置き場の何れかに運ばれるまでの作業時間がシミュレートされる。その場合、たとえば、図1に示すようにあるフォークリフト15aが通過するまで、フォークリフト15bは待機(または速度を減少)していなければならないという状況が生じる可能性がある。シミュレーションでは、このような状況が生じる場合のフォークリフト15bの待ち時間などについても作業時間にカウントされる。
シミュレーション結果は、実際に最適化したい対象(最適化対象)の数値データを含むものであり、たとえば、上記物流センターに関する問題では物流センター内における荷物運びの作業時間である。その場合、実行部13は、シミュレーション結果として得られた作業時間が、外部から与えられる評価基準値である所定時間より短ければ、評価基準を満たすものとして、仮最適解を最適解として出力する。
なお、最適化対象は、上記のコスト項cstが示す対象とは必ずしも一致しない。たとえば、上記のようにコスト項cstが、フォークリフトの総移動距離であるのに対して、最適化対象は作業時間である。
また、上記「最適解」は、シミュレーション結果が最初に評価基準を満たしたときの仮最適解(探索部12による探索結果)を示し、厳密な意味での最適解とは必ずしも一致しない。
更新部14は、シミュレーション結果が評価基準を満たさない場合、イジングモデルにシミュレーション結果に基づいた制約項(これは前述の任意の制約条件に分類される)を追加した更新イジングモデルを生成し、更新イジングモデルについての基底状態の探索を探索部12に実行させる。制約項は、シミュレーションの実行中に観測された事象を記録した数値データ(以下イベントデータという)に基づいて生成される。図1には、上記物流センターに関する問題における、イベントデータの一例が示されている。イベントデータには、たとえば、イベント番号と日時、イベントの内容、フォークリフト情報、ロスタイムが含まれる。イベント番号=1のイベントは、トラックT10が入荷品置き場P2に置いた荷物を運搬中のフォークリフト15aが交差点を通過するのを、トラックT15が入荷品置き場P3に置いた荷物を運搬中のフォークリフト15bが7秒待ったことを示す。
このような解を悪化させる要素(待ち時間など)が生じる、状態変数の値の組合せについては評価関数の値が大きくなるように、制約項が生成される。図1では、更新イジングモデルを表す評価関数Haに、制約項p2が追加された例が示されている。
生成部11、探索部12、実行部13及び更新部14は、たとえば、CPU(Central Processing Unit)やDSP(Digital Signal Processor)などのプロセッサが実行するプログラムモジュールを用いて実装できる。なお、探索部12は、デジタル回路を用いてシミュレーテッド・アニーリング法やレプリカ交換法などを実行する専用ハードウェアであってもよいし、量子アニーリングを行う専用ハードウェアであってもよい。
以下第1の実施の形態の最適化装置10の動作(最適化方法)の例を説明する。
図2は、第1の実施の形態の最適化方法の一例の流れを示すフローチャートである。
生成部11は、計算対象の組合せ最適化問題の問題データに基づいてイジングモデルを生成し(ステップS1)、探索部12は、イジングモデルについての基底状態の探索を行うことで、組合せ最適化問題の仮最適解を算出する(ステップS2)。
その後、実行部13は、探索部12が算出した仮最適解を用いたシミュレーションを実行し(ステップS3)、評価基準値に基づいて、シミュレーション結果が評価基準を満たすか否かを判定する(ステップS4)。
シミュレーション結果が評価基準を満たさない場合、更新部14は、イジングモデルに制約項を追加した更新イジングモデルを生成する(イジングモデルを更新する)(ステップS5)。ステップS5の処理後、生成された更新イジングモデルを用いて、ステップS2からの処理が繰り返される。
シミュレーション結果が評価基準を満たす場合、実行部13は、仮最適解を最適解として出力し(ステップS6)、最適化装置10の動作が終了する。
以上のように、最適化装置10は、イジングモデルに変換した組合せ最適化問題の仮最適解を用いてシミュレーションを行い、その結果に基づいた制約項を加えてイジングモデルを更新し、仮最適解の探索を繰り返す。これにより、イジングモデルが、実際の組合せ最適化問題の特性(動的な特性など)をより反映させたものになり、解の精度を向上できる。
また、イジングモデルを用いて計算を行うため、シミュレーションだけで最適解を探索する場合よりもシミュレーションの実行回数を削減でき、最適解または最適解に近い解を短時間で求めることが可能となる。
(第2の実施の形態)
図3は、第2の実施の形態の最適化装置のハードウェアの一例を示す図である。
第2の実施の形態の最適化装置20は、たとえばコンピュータであり、CPU21、RAM(Random Access Memory)22、HDD(Hard Disk Drive)23、画像信号処理部24、入力信号処理部25、媒体リーダ26及び通信インタフェース27を有する。上記ユニットは、バスに接続されている。
CPU21は、プログラムの命令を実行する演算回路を含むプロセッサである。CPU21は、HDD23に記憶されたプログラムやデータの少なくとも一部をRAM22にロードし、プログラムを実行する。なお、CPU21は複数のプロセッサコアを備えてもよく、最適化装置20は複数のプロセッサを備えてもよく、以下で説明する処理を複数のプロセッサまたはプロセッサコアを用いて並列に実行してもよい。また、複数のプロセッサの集合(マルチプロセッサ)を「プロセッサ」と呼んでもよい。
RAM22は、CPU21が実行するプログラムやCPU21が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、最適化装置20は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
HDD23は、OS(Operating System)やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、及び、データを記憶する不揮発性の記憶装置である。プログラムには、たとえば、組合せ最適化問題を計算する最適化プログラムが含まれる。なお、最適化装置20は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。
画像信号処理部24は、CPU21からの命令にしたがって、最適化装置20に接続されたディスプレイ24aに画像を出力する。ディスプレイ24aとしては、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、プラズマディスプレイ(PDP:Plasma Display Panel)、有機EL(OEL:Organic Electro-Luminescence)ディスプレイなどを用いることができる。
入力信号処理部25は、最適化装置20に接続された入力デバイス25aから入力信号を取得し、CPU21に出力する。入力デバイス25aとしては、マウスやタッチパネルやタッチパッドやトラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、最適化装置20に、複数の種類の入力デバイスが接続されていてもよい。
媒体リーダ26は、記録媒体26aに記録されたプログラムやデータを読み取る読み取り装置である。記録媒体26aとして、たとえば、磁気ディスク、光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリなどを使用できる。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)やHDDが含まれる。光ディスクには、CD(Compact Disc)やDVD(Digital Versatile Disc)が含まれる。
媒体リーダ26は、たとえば、記録媒体26aから読み取ったプログラムやデータを、RAM22やHDD23などの他の記録媒体にコピーする。読み取られたプログラムは、たとえば、CPU21によって実行される。なお、記録媒体26aは、可搬型記録媒体であってもよく、プログラムやデータの配布に用いられることがある。また、記録媒体26aやHDD23を、コンピュータ読み取り可能な記録媒体ということがある。
通信インタフェース27は、ネットワーク27aに接続され、ネットワーク27aを介して他の情報処理装置と通信を行うインタフェースである。通信インタフェース27は、スイッチなどの通信装置とケーブルで接続される有線通信インタフェースでもよいし、基地局と無線リンクで接続される無線通信インタフェースでもよい。
図4は、第2の実施の形態の最適化装置のハードウェアの他の例を示す図である。図4において、図3に示した要素と同じ要素については同一符号が付されている。
最適化装置30は、情報処理装置20aとイジングマシン28aを有する。情報処理装置20aは、インタフェース28を有する。インタフェース28は、イジングマシン28aに接続され、CPU21とイジングマシン28aとの間でデータの送受信を行う。インタフェース28は、たとえば、PCI(Peripheral Component Interconnect) Expressなどの有線通信インタフェースでもよいし、無線通信インタフェースでもよい。
イジングマシン28aは、デジタル回路を用いてシミュレーテッド・アニーリング法やレプリカ交換法などを実行する専用ハードウェアであってもよいし、量子アニーリングを行う専用ハードウェアであってもよい。
次に、最適化装置20,30の機能及び処理手順を説明する。
図5は、第2の実施の形態の最適化装置の機能例を示すブロック図である。
なお、以下では、図3に示した最適化装置20の機能例を示すが、図4に示した最適化装置30についても同様の機能を有する。
最適化装置20は、入力部31、記憶部32、生成部33、探索部34、シミュレーション部35、制御部36、更新部37、出力部38を有する。入力部31、生成部33、探索部34、シミュレーション部35、制御部36、更新部37、出力部38は、たとえば、CPU21が実行するプログラムモジュールを用いて実装できる。なお、図4に示した最適化装置30が用いられる場合、イジングマシン28aが探索部34(またはその一部)として機能する。記憶部32は、たとえば、RAM22またはHDD23に確保した記憶領域を用いて実装できる。
入力部31は、たとえば、入力デバイス25aによって入力されるデータ(入力データ)を取得する。入力データには、イジングモデルを生成するために用いられる問題データ、シミュレーションを実行する際に用いられるデータ、シミュレーション結果の評価基準を示す評価基準値が含まれる。入力部31が取得した入力データは、記憶部32に記憶される。
記憶部32は、上記の入力データを記憶する。また、記憶部32は、探索部34によって得られる仮最適解、シミュレーション部35によって得られるシミュレーション結果を記憶してもよい。
生成部33は、記憶部32に記憶された入力データに基づいて、イジングモデルを生成する。以下では、イジングモデルは、QUBOの2次関数で表されるものとする。生成したイジングモデルの情報は、記憶部32に記憶される。
探索部34は、イジングモデルの情報を生成部33(または記憶部32)から受け、イジングモデルについての基底状態の探索を行うことで、組合せ最適化問題の仮最適解を算出する。探索部34は、シミュレーテッド・アニーリング法やレプリカ交換法などのマルコフ連鎖モンテカルロ法により基底状態の探索を行ってもよいし、量子アニーリング法により基底状態の探索を行ってもよい。
シミュレーション部35は、探索部34が算出した仮最適解を用いたシミュレーションを実行し、シミュレーション結果を出力する。シミュレーション部35は、制御部36が仮最適解に基づいて生成したシミュレーションのための入力データと、記憶部32に記憶されているシミュレーションのための別の入力データと、に基づいてシミュレーションを実行する。シミュレーション結果には、最適化対象の数値データのほかに、シミュレーション実行中に観測された事象を記録したイベントデータが含まれる。
制御部36は、最適化装置20の各部を制御するとともに、探索部34が算出した仮最適解に基づいて、シミュレーションのための入力データを生成し、シミュレーション部35に供給する。さらに、制御部36は、記憶部32に記憶されている評価基準値に基づいて、シミュレーション部35が出力するシミュレーション結果を評価する。そして、制御部36は、シミュレーション結果が評価基準を満たす場合、仮最適解を最適解として出力部38に出力させる。このように、図5に示す第2の実施の形態の最適化装置20の機能例では、シミュレーション部35、制御部36、出力部38によって、第1の実施の形態の最適化装置10の実行部13の機能が行われる。
また、制御部36は、シミュレーション結果が評価基準を満たさない場合、更新部37に、イジングモデルの更新を行わせる。
更新部37は、シミュレーション結果が評価基準を満たさない場合、シミュレーション結果に含まれるイベントデータに基づいてイジングモデルに追加する制約項を生成する。そして、更新部37は、記憶部32に記憶されている現在のイジングモデルの情報に基づいて、現在のイジングモデルに生成した制約項を追加することで、イジングモデルを更新する。更新部37は、更新したイジングモデルの情報を探索部34に供給し、更新したイジングモデルについての基底状態の探索を、探索部34に実行させる。
出力部38は、シミュレーション結果が評価基準値を満たした場合の、仮最適解を最適解として、たとえば、ディスプレイ24aに出力し表示させる。出力部38は、最適解を、記憶部32に記憶させてもよい。
次に、第2の実施の形態の最適化装置20,30の動作(最適化方法)の例を説明する。
なお、以下では、計算対象の組合せ最適化問題の一例として、荷物が運び込まれるある施設内における作業時間を最短化するために、荷物を運び込む複数の車両のそれぞれを複数の入荷品置き場の何れに割当てるかを決定する問題を例に挙げて説明する。施設内では、移動体により荷物を移動させる作業があるものとする。
なお、以下では荷物が運び込まれる施設を物流センター、荷物を運び込む車両をトラック、荷物を移動させる移動体をフォークリフトと呼ぶが、これらに限定されるわけではなく。たとえば、移動体は人であってもよい。
図6は、物流センター内における作業例を説明する図である。
複数のトラックのそれぞれは、複数の入荷品置き場(図6の例では1〜9の9つ)の何れかに荷物(入荷品)を置く。なお、トラックが発着する場所のことを、ピットと呼ぶ。以下では、ピットと入荷品置き場とは1対1で対応しているものとして、ピット番号(図6の例では1〜9)により入荷品置き場を識別するものとする。
各荷物には、たとえば、実際の荷物のあて先に対応した出荷品置き場のあて先(図6の例ではA〜K)が割当てられている。人または運搬装置(以下、フォークリフトとする)は、各入荷品置き場から荷物を1つ持ち出して、あて先に対応する出荷品置き場に移動する。この作業を、各入荷品置き場に荷物がある限り繰り返す。
なお、トラックが到着する時刻、出発する時刻、及び運び込む荷物の個数とあて先は、トラックごとに予め決められているものとする。また、決められた時刻に到着して、出荷品置き場から荷物を持ち出す出荷便トラックも存在するが、入荷便トラックとは別のピットに到着し、入荷と出荷が干渉しあうことはないものとする。
このような問題では、生成部33が生成するイジングモデルは、フォークリフトの総移動距離をコスト項として含むQUBOの2次関数となる。そして、各トラックが、どの入荷品置き場に荷物を下ろすのかについての組合せのうち、QUBOの2次関数の値が最小になる組合せがイジングモデルの基底状態に相当する。
図7は、あるトラックがある入荷品置き場に荷物を置いたときのフォークリフトの移動経路の例を示す図である。なお、図では移動経路は直線で示されているが、直線には限らない。
図7の例では、トラック番号=iのトラック(図では“トラックi”と表記されている(以降の図も同じ))が、ピット番号=1の入荷品置き場に、5つの荷物を置いた例が示されている。5つの荷物のあて先は、A,B,C,K,Kである。この場合の、フォークリフトの移動距離の合計は、Ci,1=dist(1,A)+dist(1,B)+dist(1,C)+dist(1,K)×2と表せる。dist(1,A)は、フォークリフトが、ピット番号=1の入荷品置き場からあて先=Aに対応した出荷品置き場に荷物を運ぶ場合の移動距離を示す。dist(1,B)は、フォークリフトが、ピット番号=1の入荷品置き場からあて先=Bに対応した出荷品置き場に荷物を運ぶ場合の移動距離を示す。dist(1,C)は、フォークリフトが、ピット番号=1の入荷品置き場からあて先=Cに対応した出荷品置き場に荷物を運ぶ場合の移動距離を示す。dist(1,K)は、フォークリフトが、ピット番号=1の入荷品置き場からあて先=Kに対応した出荷品置き場に荷物を運ぶ場合の移動距離を示す。
これらの各入荷品置き場と各あて先の出荷品置き場との間における移動距離は、入力データに含まれ、記憶部32に記憶されている。なお、上記のようなCi,1は、生成部33が生成するイジングモデルの情報に含まれる重み係数を示す。
図8は、あるトラックが別の入荷品置き場に荷物を置いたときのフォークリフトの移動経路の例を示す図である。
図8の例では、トラック番号=iのトラックが、ピット番号=9の入荷品置き場に、図7の例と同じあて先の5つの荷物を置いた例が示されている。この場合の、フォークリフトの移動距離の合計は、Ci,9=dist(9,A)+dist(9,B)+dist(9,C)+dist(9,K)×2と表せる。もし、Ci,9<Ci,1であるならば、トラック番号=iのトラックは、ピット番号=1の入荷品置き場に荷物を置くよりも、ピット番号=9の入荷品置き場に荷物を置いたほうが、総移動距離を短くできるため、作業時間を短縮できる可能性が高い。
ただし、実際は複数のフォークリフトによる干渉によって待ち時間が発生し、作業時間が長くなる可能性もある。これらの点がシミュレーションによって検証される。そして、シミュレーション結果に応じて、大きな待ち時間が発生するような各トラックとピットの割当ての組合せについては、QUBOの2次関数の値が大きくなるような制約項がイジングモデルに追加され、探索部34による探索が繰り返される。
図9は、問題の制約条件を説明する図である。
図9では、各ピット(入荷品置き場)へのトラックの割当て例が示されている。図9において、横軸は時刻を表し、縦軸はピット番号を表している。
前述のように、各トラックが物流センターに到着する時刻及び出発する時刻は予め決まっている。この問題における制約条件として以下のようなものがある。1つ目は、物流センターに到着したトラックは必ずどこかのピットに入る、という制約条件である。2つ目は、1つのピットに停車時刻に重なりがあるトラックが同時に2台入らない、という制約条件である。たとえば、図9のように、ピット番号=1の入荷品置き場(ピット)にトラック番号=1のトラックが存在するときに、そのトラックと停車時刻が重なる他のトラックは、そのピットに入ることができない。図9の例では、トラック番号=1のトラックが出発した後に、トラック番号=10のトラックが、ピット番号=1の入荷品置き場に入っている。
探索部34が、演算可能なビット数を考慮して、所定時間のタイムスロット内における最適化を行う場合、以下のような制約条件も加わる。すなわち、直前のタイムスロットから処理対象のタイムスロットに渡ってトラックが入っているピットには、停車時刻が重なるトラックは入れないという制約条件である。
以上のような問題に対する、最適化装置20,30の処理の流れを説明する。
図10は、第2の実施の形態の最適化装置による処理の一例の流れを示すフローチャートである。
まず、入力部31は、入力データを取得する(ステップS11)。入力部31が取得した入力データは、記憶部32に記憶される。入力データには、イジングモデルを生成するためのデータが含まれる。イジングモデルを生成するためのデータとして、各トラックの到着時刻、出発時刻、及び各トラックが運び込む荷物の個数とあて先、各入荷品置き場と各あて先の出荷品置き場との間における移動距離の情報がある。さらに、イジングモデルを生成するためのデータとして、制約条件に関する情報、探索部34が演算可能なビット数の情報がある。また、入力データには、シミュレーションを実行する際に用いられるデータとして、フォークリフトの数、フォークリフトの標準速度、各入荷品置き場から各あて先の出荷品置き場までのフォークリフトの移動経路を示すマップ情報などが含まれる。標準速度は、フォークリフト同士が干渉することがないとき、フォークリフトが自由に物流センター内を走行できるときの平均的な速度を示す。さらに、入力データには、シミュレーション結果の評価基準を示す評価基準値として、最適とみなせる作業時間が含まれる。
その後、生成部33は入力データに基づいて、イジングモデルを生成する(ステップS12)。イジングモデルはQUBOの2次元関数で定式化される。
QUBOの2次関数に含まれる状態変数は、xi,pと表せる。iは、トラック番号であり、pはピット番号である。xi,p=1の場合、ピット番号=pの入荷品置き場に、トラック番号=iのトラックが入ることを表し、xi,p=0の場合、ピット番号=pの入荷品置き場に、トラック番号=iのトラックが入らないことを表す。2次関数に含まれる状態変数の数は、トラックの台数×入荷品置き場の数(ピットの数)である。
たとえば、物流センターにおいて、1日あたりn台(たとえば、数百台)のトラックが到着し、それらが、23箇所(図7の例では9箇所)のピットのどこかに入るものとする。その場合、各トラックが、どの入荷品置き場に荷物を下ろすのかについての組合せの数は、23通りある。探索部34が演算可能なビット数(状態変数の数に相当する)が、たとえば、1024ビットである場合、トラック数が数百台ともなると、探索部34は一度に演算ができない。
しかし、トラックが物流センターに停車する時間は、10〜50分程度であるので、n台全てを一度に考慮しなくてもよく、たとえば、24時間を2時間単位のタイムスロットに区切って解いても、解はそれほど悪くはならないと思われる。入荷品置き場の数が23であり、演算可能なビット数が1024ビットである場合、1024/23=44.5…となるため、トラックの台数が44台以下になるようにタイムスロットを調整すればよい。
なお、以下では、生成部33は、物流センターへの到着時刻が早い順を第1キーにして発車時刻が早い順を第2キーにしてトラックをソートして、探索部34が演算可能なビット数に収まる台数のトラックを到着時刻順に抽出し、トラック番号を割当てて、定式化を行うものとする。
QUBOの2次関数は、以下の式(1)で表せる。
Figure 2020194273
式(1)において、右辺の1項目は、コスト項であり、フォークリフトの総移動距離を表す。Ci,pは、前述のような重み係数であり、トラック番号=iのトラックが、ピット番号=pの入荷品置き場に荷物を置いた場合の、フォークリフトの移動距離の合計を表す。
右辺の2項目は、物流センターに到着したトラックは必ずどこかのピットに入る、という制約条件に対応した制約項である。たとえば、トラック番号=iのトラックが、どのピットにも入らない場合(xi,p=1となるピット番号=pがない場合)、この制約項は0よりも大きい値をもつことになる。
右辺の3項目は、1つのピットに停車時刻に重なりがあるトラックが2台入らない、という制約条件に対応した制約項である。3項目のi,jは、停車時刻に重なりがある2つのトラックのトラック番号を示す。たとえば、トラック番号=i,jの2つのトラックが、同じピット番号=pのピットに入る場合(xi,p=xj,p=1の場合)、この制約項は0よりも大きい値をもつことになる。
右辺の4項目は、直前のタイムスロットから処理対象のタイムスロットに渡ってトラックが入っているピットには、停車時刻が重なるトラックは入れないという制約条件に対応した制約項である。
図11は、3つ目の制約条件を説明する図である。
たとえば、図11は、図9にタイムスロット40,41を追加したものである。タイムスロット40,41は、QUBOの2次関数の状態変数の数が、探索部34が演算可能なビット数以内になるように決定されている。タイムスロット40において、トラックが入るピットの割当てを決定する場合、対象となるトラックは、トラック番号=11,12,14のトラックである。なお、直前のタイムスロット41における処理により、トラック番号=13,15,18,19,20,21のトラックについては、ピットの割当てが決定している。
たとえば、トラック番号=11のトラックは、トラック番号=13,15,18,19,20,21のトラックと停車時刻が重なるため、それらがいるピット番号=2,3,6,7,8,9のピットには入れない。トラック番号=12のトラックと停車時刻が重なるのは、トラック番号=21のトラックだけであるので、ピット番号=9のピット以外に入れる。
式(1)の右辺の4項目において、“Remain”は、直前のタイムスロットにおける処理によりトラックが割当てられたピットであり、その占有時間が、トラック番号=iのトラックの停車時刻と重なっているピットのピット番号の集合である。図11の例では、トラック番号=11に対する“Remain”は、ピット番号=2,3,6,7,8,9であり、トラック番号=12に対する“Remain”は、ピット番号=9である。
図11の例では、たとえば、x12,9=1の場合、この制約項が0よりも大きくなる。
式(1)において、α,β,γは各制約項の係数であり、入力データに含まれており、比較的大きな値が設定される。
以上のような定式化が終わると、探索部34は、定式化されたイジングモデルについての基底状態の探索を行うことで、組合せ最適化問題の仮最適解を算出する(ステップS13)。
探索部34の機能を、デジタル回路を用いてシミュレーテッド・アニーリングを行うイジングマシン28aが行う場合、たとえば、以下のような処理が行われる。イジングマシン28aは、ある状態変数が変化した場合にその変化に伴って各状態変数が変化することによるエネルギー変化(式(1)のE(x)の変化分)をそれぞれ計算する。そして、イジングマシン28aは、温度パラメータと乱数値に基づいて生成される閾値と各状態変数が変化することによるエネルギー変化とを比較する。さらに、イジングマシン28aは、その比較結果に基づいて、E(x)が小さくなるようなエネルギー変化を引き起こす状態遷移が優先的に選択されるように変化させる状態変数を決定する。イジングマシン28aは、このような処理を温度パラメータの値を徐々に小さくしながら多数回繰り返すことで、基底状態の探索を行う。
なお、ステップS13では、仮最適解が必須の制約条件が成立しているかチェックされる。必須の制約条件は、式(1)の2項目、3項目、4項目に対応しており、これらの項に、仮最適解における状態変数の値を代入して、値が0にならないときは、必須の制約条件が成立していない、と判断できる。仮最適解が必須の制約条件を満たしていないときは、基底状態の探索が継続され、必須の制約条件が成立する別の仮最適解が見つかるまで、探索が繰り返される。ここで、繰り返し回数の上限を設定しておいて、上限を超えたときは、エラー終了させてもよい。なお、必須の制約条件が成立しづらいときの原因として、入力として与えられる式(1)のα,β,γが不適切な値となっている可能性がある。
ステップS13の処理後、制御部36は、探索部34が算出した仮最適解に基づいて、シミュレーションのための入力データを生成する(ステップS14)。たとえば、制御部36は、仮最適解において値が1である状態変数に基づいて、各入荷品置き場に、トラックの荷物を対応付けた入力データを生成する。
たとえば、xi,1=1の場合、制御部36は、図7に示した例のように、ピット番号=1の入荷品置き場に、トラック番号=iのトラックの5つの荷物を対応付ける。xi,9=1の場合、制御部36は、図8に示した例のように、ピット番号=9の入荷品置き場に、トラック番号=iのトラックの5つの荷物を対応付ける。
ステップS14の処理後、シミュレーション部35は、制御部36が生成した入力データと、記憶部32に記憶されている別の入力データ(フォークリフトの数、標準速度、マップ情報など)と、に基づいてシミュレーションを実行する(ステップS15)。
図12は、シミュレーションの一例の流れを示すフローチャートである。
なお、シミュレーションにおいて、フォークリフトは複数台あってもよく、フォークリフトごとに、入荷品置き場から出荷品置き場への荷物を運搬する役割が与えられているものとする。各フォークリフトは自律的に動作する。また、各フォークリフトは走行ルールを守る義務もある。走行ルールとしては、制限速度を守る、一時停止をする、走行可能な場所のみを走行する、他のフォークリフトとの接触を避けるように速度をコントロールする、入出荷品置き場に進入できるのは1台まで、などがある。このフォークリフトの動作と位置などが、たとえば0.1秒刻みなどの微小時間ごとに、プログラムによって繰り返し計算されることによって、シミュレーションを行うことが可能である。
シミュレーション部35は、シミュレーションを開始すると、複数台のフォークリフトによる干渉が発生するたびに、待ち時間や速度の低下に関する情報を、その干渉を起こす状態変数の組とともに、たとえば、記憶部32に記憶させる(ステップS20)。そして、シミュレーション部35は、入荷品置き場から全荷物が出荷品置き場に運搬が完了したか否かを判定する(ステップS21)。入荷品置き場から全荷物が出荷品置き場に運搬が完了していない場合には、ステップS20からの処理が繰り返される。入荷品置き場から全荷物が出荷品置き場に運搬が完了した場合、シミュレーション部35は作業時間と記録した待ち時間や速度低下情報を含むシミュレーション結果を出力し(ステップS22)、シミュレーションを終了する。なお、シミュレーションは、1つの仮最適解に基づいて生成された入力データに基づいて、複数のシミュレーション条件で行われるようにしてもよい。複数のシミュレーション条件は、たとえば、フォークリフトの台数を増減させることで、作成することが可能である。
図13は、待ち時間が発生する例を示す図である。
たとえば、仮最適解に含まれるx10,2=x15,3=1の場合、トラック番号=10のトラックが、ピット番号=2のピットに置いた荷物を運搬するフォークリフト50aが存在する。また、トラック番号=15のトラックが、ピット番号=3のピットに置いた荷物を運搬するフォークリフト50bが存在する。図13の例では、交差点においてフォークリフト50aが、フォークリフト50bの移動経路をふさいでいるため、フォークリフト50bは、フォークリフト50aが交差点を追加するまで停止している。シミュレーション部35は、このときの待ち時間(図の例ではt秒)とx10,2,x15,3とを対応付けて、たとえば、記憶部32に記憶させる。
図14は、待ち時間が発生する他の例を示す図である。
たとえば、仮最適解に含まれるx11,4=x16,5=1の場合、トラック番号=11のトラックが、ピット番号=4のピットに置いた荷物を運搬するフォークリフト51aが存在する。また、トラック番号=16のトラックが、ピット番号=5のピットに置いた荷物を運搬するフォークリフト51bが存在する。図14の例では、フォークリフト51aが、出荷品置き場で荷物を降ろしているときに、同じ出荷品置き場に入るフォークリフト51bがきた場合、フォークリフト51bは、フォークリフト51aが出荷品置き場から出るまで停止している。シミュレーション部35は、このときの待ち時間(図の例ではta秒)とx11,4,x16,5とを対応付けて、たとえば、記憶部32に記憶させる。
以上のようなシミュレーションの実行が終了すると、制御部36は、記憶部32に記憶されている評価基準値に基づいて、シミュレーション結果が評価基準を満たすか否かを判定する(ステップS16)。たとえば、制御部36は、シミュレーション結果に含まれる作業時間が、評価基準である作業時間よりも短い場合、評価基準を満たすと判定する。
シミュレーション結果が評価基準を満たさない場合、更新部37は、イジングモデルの更新を行う(ステップS17)。
なお、評価基準値は、適宜変更されるようにしてもよい。たとえば、所定回数のイジングモデルの更新が行われても、シミュレーション結果の作業時間が評価基準を満たさない(評価基準値より大きい)場合、制御部36は、ディスプレイ24aに評価基準値を大きくすることを促すようなメッセージを表示させてもよい。また、シミュレーション結果の作業時間が評価基準を比較的少ない更新回数で満たす場合、より短い作業時間となる解がある可能性があるため、制御部36は、ディスプレイ24aに評価基準値を小さくすることを促すようなメッセージを表示させてもよい。
図15は、シミュレーションによる増加時間の観測結果を度数分布として集計した例を示す図である。図15において、横軸は増加時間(フォークリフト同士の干渉が1回発生たときの、[シミュレーションで得られた総作業時間]−[待ち時間などがないときの作業時間])を表し、縦軸は度数(その増加時間が観測された回数)を表す。なお、フォークリフト同士の干渉とは、図13、図14のような状態のことであり、このような状態が発生するたびに、1回と数える。
更新部37は、たとえば、図15の増加時間が大きなサンプルにおいて、待ち時間や速度低下の情報と、その待ち時間や速度低下を引き起こす状態変数の組を、記憶部32から抽出する。そして、更新部37は、待ち時間や速度の低下に関する情報を距離の次元の値に変換して、抽出した状態変数の組を用いて新たな制約項を生成し、式(1)に示した2次関数に追加することでイジングモデルの更新を行う。図13に示した例では、x10,2=x15,3=1の場合に、待ち時間tが生じるため、制約項として、x10,2×x15,3×t×標準速度を、2次関数に追加する。速度の低下が発生するときについても同様に、低下した速度とその速度で走行した時間との積に基づいて、制約項が生成される。なお、ここで追加される制約項は、できるだけ避けたい現象(フォークリフトの干渉)を意味しているので、必須の制約条件ではなく任意の制約条件である。また、制約項では標準速度の代わりに、式(1)のα,β,γと同様の、重みを加味した値を用いてもかまわない。
ステップS17の処理後、更新されたイジングモデルを用いてステップS13からの処理が繰り返される。
ステップS16においてシミュレーション結果が評価基準を満たすと判定された場合、出力部38は、その時点での仮最適解を最適解として出力し(ステップS18)、最適化処理を終える。
ステップS17の処理により更新されたイジングモデルは、シミュレーションで検証された問題の動的な特性を反映しているため、探索部34によって得られる新たな仮最適解も、問題の動的な特性を反映した解となる。上記のような処理を繰り返すことで、イジングモデルが、実際の組合せ最適化問題をより反映させたものにすることが可能となり、解の精度を向上できる。
なお、上記では物流センターに関する問題を例にして説明したが、この問題に限定されず他の問題にも適用可能である。
なお、前述のように、上記の処理内容は、最適化装置20,30にプログラム(最適化プログラム)を実行させることで実現できる。
プログラムは、コンピュータ読み取り可能な記録媒体(たとえば、記録媒体26a)に記録しておくことができる。記録媒体として、たとえば、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどを使用できる。磁気ディスクには、FD及びHDDが含まれる。光ディスクには、CD、CD−R(Recordable)/RW(Rewritable)、DVD及びDVD−R/RWが含まれる。プログラムは、可搬型の記録媒体に記録されて配布されることがある。その場合、可搬型の記録媒体から他の記録媒体(たとえば、HDD23)にプログラムをコピーして実行してもよい。
以上、実施の形態に基づき、本発明の最適化装置、最適化方法及び最適化プログラムの一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
10 最適化装置
11 生成部
12 探索部
13 実行部
14 更新部
15a,15b フォークリフト

Claims (6)

  1. 組合せ最適化問題を変換したイジングモデルについての基底状態の探索を行うことで、前記組合せ最適化問題の仮最適解を算出する探索部と、
    前記仮最適解を用いたシミュレーションを実行し、前記シミュレーションの結果の評価基準を示す評価基準値に基づいて前記結果を評価し、前記結果が前記評価基準を満たす場合、前記仮最適解を最適解として出力する実行部と、
    前記結果が前記評価基準を満たさない場合、前記イジングモデルに前記結果に基づいた第1の制約項を追加した更新イジングモデルを生成し、前記更新イジングモデルについての基底状態の探索を前記探索部に実行させる更新部と、
    を有する最適化装置。
  2. 前記第1の制約項は、前記結果に含まれる、前記シミュレーションの実行中に観測された事象を記録した数値データに基づいて生成される、請求項1に記載の最適化装置。
  3. 入力される問題データと前記探索部が演算可能なビット数とに基づいて、前記ビット数以内の数の状態変数を用いた前記イジングモデルを生成する生成部、をさらに有する請求項1または2に記載の最適化装置。
  4. 前記組合せ最適化問題は、複数の荷物が運び込まれる施設において、前記複数の荷物を運び込む複数の車両のそれぞれを複数の入荷品置き場の何れに割当てるかを決定する問題であり、
    前記探索部は、前記複数の車両のそれぞれを前記複数の入荷品置き場の何れかに割当てることによって生じる、前記施設内における前記複数の荷物を移動させる複数の移動体の総移動距離を表すコスト項と、前記問題の制約条件を表す第2の制約項とによって表される前記イジングモデルについての基底状態の探索を行い、
    前記実行部は、前記結果に含まれる前記複数の移動体による作業時間が、前記評価基準を満たす場合、前記仮最適解を前記最適解として出力する、
    請求項1乃至3の何れか一項に記載の最適化装置。
  5. 最適化装置が有する探索部が、組合せ最適化問題を変換したイジングモデルについての基底状態の探索を行うことで、前記組合せ最適化問題の仮最適解を算出し、
    前記最適化装置が有する実行部が、前記仮最適解を用いたシミュレーションを実行し、前記シミュレーションの結果の評価基準を示す評価基準値に基づいて前記結果を評価し、前記結果が前記評価基準を満たす場合、前記仮最適解を最適解として出力し、
    前記最適化装置が有する更新部が、前記結果が前記評価基準を満たさない場合、前記イジングモデルに前記結果に基づいた第1の制約項を追加した更新イジングモデルを生成し、前記更新イジングモデルについての基底状態の探索を前記探索部に実行させる、
    最適化方法。
  6. 組合せ最適化問題を変換したイジングモデルについての基底状態の探索を行うことで、前記組合せ最適化問題の仮最適解を算出し、
    前記仮最適解を用いたシミュレーションを実行し、
    前記シミュレーションの結果の評価基準を示す評価基準値に基づいて前記結果を評価し、
    前記結果が前記評価基準を満たす場合、前記仮最適解を最適解として出力し、
    前記結果が前記評価基準を満たさない場合、前記イジングモデルに前記結果に基づいた第1の制約項を追加した更新イジングモデルを生成し、前記更新イジングモデルについての基底状態の探索を実行する、
    処理をコンピュータに実行させる最適化プログラム。
JP2019098606A 2019-05-27 2019-05-27 最適化装置、最適化方法及び最適化プログラム Ceased JP2020194273A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019098606A JP2020194273A (ja) 2019-05-27 2019-05-27 最適化装置、最適化方法及び最適化プログラム
EP20174843.1A EP3748552A1 (en) 2019-05-27 2020-05-14 Optimization apparatus, optimization method, and optimization program
US15/931,633 US20200380065A1 (en) 2019-05-27 2020-05-14 Optimization apparatus, optimization method, and recording medium
CN202010430262.7A CN112001111A (zh) 2019-05-27 2020-05-20 优化设备、优化方法和记录介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019098606A JP2020194273A (ja) 2019-05-27 2019-05-27 最適化装置、最適化方法及び最適化プログラム

Publications (1)

Publication Number Publication Date
JP2020194273A true JP2020194273A (ja) 2020-12-03

Family

ID=70738301

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019098606A Ceased JP2020194273A (ja) 2019-05-27 2019-05-27 最適化装置、最適化方法及び最適化プログラム

Country Status (4)

Country Link
US (1) US20200380065A1 (ja)
EP (1) EP3748552A1 (ja)
JP (1) JP2020194273A (ja)
CN (1) CN112001111A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4343637A1 (en) 2022-09-21 2024-03-27 Fujitsu Limited Arithmetic operation program, arithmetic operation method, and information processing apparatus
EP4361899A1 (en) 2022-10-31 2024-05-01 Fujitsu Limited Evaluation support program, evaluation support method, and information processing apparatus

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11836651B2 (en) * 2020-03-05 2023-12-05 Fujitsu Limited Automatic adjustment of replica exchange
CN112949194B (zh) * 2021-03-10 2022-05-10 浙江大学 基于机器学习和集群信息融合的防爆叉车故障诊断方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07175504A (ja) * 1993-12-20 1995-07-14 Atr Ningen Joho Tsushin Kenkyusho:Kk 配送問題における最適な配車と配送順序の探索装置および探索方法
JP2014041475A (ja) * 2012-08-22 2014-03-06 Toyota Motor Corp カーシェアリングシステムの運用管理システムおよび方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11199059A (ja) 1998-01-06 1999-07-27 Kobe Steel Ltd 荷役計画作成方法及びその装置
JP2002269192A (ja) 2001-03-07 2002-09-20 Mitsubishi Heavy Ind Ltd 物流最適化システム
US9495644B2 (en) * 2013-07-24 2016-11-15 D-Wave Systems Inc. Systems and methods for improving the performance of a quantum processor by reducing errors
US10275422B2 (en) * 2013-11-19 2019-04-30 D-Wave Systems, Inc. Systems and methods for finding quantum binary optimization problems
JP6873120B2 (ja) * 2015-10-27 2021-05-19 ディー−ウェイブ システムズ インコーポレイテッド 量子プロセッサにおける縮退軽減のためのシステムと方法
JP6465231B1 (ja) * 2018-03-12 2019-02-06 富士通株式会社 最適化装置及び最適化装置の制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07175504A (ja) * 1993-12-20 1995-07-14 Atr Ningen Joho Tsushin Kenkyusho:Kk 配送問題における最適な配車と配送順序の探索装置および探索方法
JP2014041475A (ja) * 2012-08-22 2014-03-06 Toyota Motor Corp カーシェアリングシステムの運用管理システムおよび方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
STOLLENWERK, TOBIAS,ほか: ""Flight Gate Assignment with a Quantum Annealer"", [ONLINE], JPN6023004094, 27 November 2018 (2018-11-27), pages 1 - 7, ISSN: 0004982345 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4343637A1 (en) 2022-09-21 2024-03-27 Fujitsu Limited Arithmetic operation program, arithmetic operation method, and information processing apparatus
EP4361899A1 (en) 2022-10-31 2024-05-01 Fujitsu Limited Evaluation support program, evaluation support method, and information processing apparatus

Also Published As

Publication number Publication date
EP3748552A1 (en) 2020-12-09
US20200380065A1 (en) 2020-12-03
CN112001111A (zh) 2020-11-27

Similar Documents

Publication Publication Date Title
JP2020194273A (ja) 最適化装置、最適化方法及び最適化プログラム
Xie et al. Introducing split orders and optimizing operational policies in robotic mobile fulfillment systems
US8352382B1 (en) Heuristic methods for customer order fulfillment planning
Ekren et al. An open queuing network-based tool for performance estimations in a shuttle-based storage and retrieval system
JP7007585B2 (ja) 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム
US20070027573A1 (en) Systems and methods for automated parallelization of transport load builder
JP7116997B2 (ja) 情報処理装置及び情報処理プログラム
TW200945242A (en) Dynamically routing salvage shipments and associated method
EP3955139A1 (en) Evaluation function generation program, evaluation function generation method, and information processing apparatus
WO2021145115A1 (ja) 配送計画作成方法、操業方法、及び配送計画作成装置
Chen et al. A hyper-heuristic with two guidance indicators for bi-objective mixed-shift vehicle routing problem with time windows
JP7100254B2 (ja) 最適化システム、最適化システムの制御方法及び最適化システムの制御プログラム
JP2021165196A (ja) 情報処理装置、情報処理方法および情報処理プログラム
JP2021131695A (ja) 最適化装置、最適化方法及び最適化装置の制御プログラム
US11537977B1 (en) Method and system for optimizing delivery of consignments
JP2023021150A (ja) コンテナ積載計画装置、方法、および、プログラム
JP2015148926A (ja) 情報処理装置、評価関数学習方法およびプログラム
JPH07234997A (ja) 配車計画立案方法及び配車計画立案システム
Roohnavazfar et al. A hybrid algorithm for the Vehicle Routing Problem with AND/OR Precedence Constraints and time windows
JP2022072685A (ja) 評価関数生成プログラム、評価関数生成方法、最適化方法及び最適化装置
Chan et al. Operation allocation in automated manufacturing system using GA-based approach with multifidelity models
Hamdy et al. Quantum computing and machine learning for efficiency of maritime container port operations
JP2021184148A (ja) 最適化装置、最適化方法、および最適化プログラム
US20230023241A1 (en) Computer-readable recording medium storing machine learning program, information processing device, and machine learning method
JP2023028347A (ja) プログラム、データ処理方法及びデータ処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230406

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230725

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20231128