(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-03-06
(45)【発行日】2025-03-14
(54)【発明の名称】演算装置、作業計画の作成方法、演算システム
(51)【国際特許分類】
G06Q 10/0631 20230101AFI20250307BHJP
【FI】
G06Q10/0631
(21)【出願番号】P 2021180048
(22)【出願日】2021-11-04
【審査請求日】2024-05-29
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110002365
【氏名又は名称】弁理士法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】末光 一成
(72)【発明者】
【氏名】宇都木 契
【審査官】鈴木 和樹
(56)【参考文献】
【文献】特開2021-105951(JP,A)
【文献】米国特許出願公開第2020/0258263(US,A1)
【文献】国際公開第2019/116985(WO,A1)
【文献】特開2019-220048(JP,A)
【文献】特開2017-116984(JP,A)
【文献】国際公開第2021/186591(WO,A1)
【文献】特開2021-022016(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 - 99/00
(57)【特許請求の範囲】
【請求項1】
変動する環境に関する情報を環境パラメータとして表現可能な環境において、所定の作業に関する作業計画を作成する演算装置であって、
厳密なモデルを用いて演算コストが高い高精度な評価を行うことで、前記所定の作業に関する所要時間を算出する厳密評価部と、
最新の前記環境パラメータ
を所定の範囲内でランダムに変動させた複数の前記環境パラメータを評価シナリオとして生成する評価シナリオ生成部と、
入力である前記環境パラメータおよび前記作業計画と出力である前記所要時間の組み合わせを複数含む学習データを用いて、前記厳密評価部よりも簡易に前記
所要時間を算出するための代理モデルを作成する代理モデル生成部と、
前記代理モデルを用いて前記所要時間を算出し、前記複数の環境パラメータのいずれにも適する前記作業計画である暫定作業計画を算出する計画案生成部と、
前記厳密評価部を用いて算出された時間であり、前記暫定作業計画における前記
所要時間である厳密所要時間と、前記代理モデルを用いて算出された時間であり前記暫定作業計画における前記
所要時間である代理所要時間との差が所定の閾値以上の場合に、前記暫定作業計画
、前記評価シナリオ、および前記厳密所要時間を前記学習データに追加して追加済学習データとし、前記追加済学習データを用いて前記代理モデルを更新する代理モデル更新部とを備える、演算装置。
【請求項2】
請求項1に記載の演算装置において、
前記環境パラメータには、前記所定の作業を実行する速度の情報が含まれ、
前記評価シナリオ生成部は、前記
所定の範囲が記載された環境パラメータ変動情報に基づき、前記評価シナリオを生成する、演算装置。
【請求項3】
請求項1に記載の演算装置において、
前記評価シナリオ生成部は、最新の前記環境パラメータである開始時環境パラメータに基づき前記評価シナリオを生成し、
前記計画案生成部は、前記評価シナリオを用いた前記暫定作業計画の算出が完了した際の前記環境パラメータである完了時環境パラメータと、前記開始時環境パラメータとの差が所定の閾値以上である場合には、最新の前記環境パラメータを用いて前記評価シナリオ生成部に前記評価シナリオを作成させ、再度前記暫定作業計画を算出する、演算装置。
【請求項4】
請求項1に記載の演算装置において、
前記評価シナリオ生成部は、前記環境パラメータの値の範囲が異なる前記評価シナリオを複数生成し、
前記代理モデル生成部は、前記評価シナリオのそれぞれに対応する前記代理モデルを生成し、
前記計画案生成部は、前記環境パラメータの値に応じていずれかの前記代理モデルを選択する、演算装置。
【請求項5】
変動する環境に関する情報を環境パラメータとして表現可能な環境を対象として、所定の作業に関する作業計画を演算装置が作成する、作業計画の作成方法であって、
厳密なモデルを用いて演算コストが高い高精度な評価を行うことで、前記所定の作業に関する所要時間を算出する厳密評価処理と、
最新の前記環境パラメータ
を所定の範囲内でランダムに変動させた複数の前記環境パラメータを評価シナリオとして生成する評価シナリオ生成処理と、
入力である前記環境パラメータおよび前記作業計画と出力である前記所要時間の組み合わせを複数含む学習データを用いて、前記厳密評価処理よりも簡易に前記所定の作業に関する演算を行うための代理モデルを作成する代理モデル生成処理と、
前記代理モデルを用いて前記所定の作業に関する演算を行い、前記複数の環境パラメータのいずれにも適する前記作業計画である暫定作業計画を算出する計画案生成処理と、
前記厳密評価処理により算出された時間であり、前記暫定作業計画における前記
所要時間である厳密所要時間と、前記代理モデルを用いて算出された時間であり前記暫定作業計画における前記
所要時間である代理所要時間との差が所定の閾値以上の場合に、前記暫定作業計画
、前記評価シナリオ、および前記厳密所要時間を前記学習データに追加して追加済学習データとし、前記追加済学習データを用いて前記代理モデルを更新する、代理モデル更新処理とを含む、作業計画の作成方法。
【請求項6】
変動する環境に関する情報を環境パラメータとして表現可能な環境において、所定の作業に関する作業計画を作成する演算システムであって、
厳密なモデルを用いて演算コストが高い高精度な評価を行うことで、前記所定の作業に関する所要時間を算出する厳密評価部と、
最新の前記環境パラメータ
を所定の範囲内でランダムに変動させた複数の前記環境パラメータを評価シナリオとして生成する評価シナリオ生成部と、
入力である前記環境パラメータおよび前記作業計画と出力である前記所要時間の組み合わせを複数含む学習データを用いて、前記厳密評価部よりも簡易に前記所定の作業に関する演算を行うための代理モデルを作成する代理モデル生成部と、
前記代理モデルを用いて前記所定の作業に関する演算を行い、前記複数の環境パラメータのいずれにも適する前記作業計画である暫定作業計画を算出する計画案生成部と、
前記厳密評価部を用いて算出された時間であり、前記暫定作業計画における前記
所要時間である厳密所要時間と、前記代理モデルを用いて算出された時間であり前記暫定作業計画における前記
所要時間である代理所要時間との差が所定の閾値以上の場合に、前記暫定作業計画
、前記評価シナリオ、および前記厳密所要時間を前記学習データに追加して追加済学習データとし、前記追加済学習データを用いて前記代理モデルを更新する、代理モデル更新部とを備える、演算システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、演算装置、作業計画の作成方法、および演算システムに関する。
【背景技術】
【0002】
効率よく作業を進めるために、事前に作業計画を作成することが広く行われている。ただし、作業環境の条件が時間の経過とともに変化する場合には最適な作業計画を作成することが容易ではない。特許文献1には、機械学習により機械に対する制御指令を学習する機械学習装置であって、前記機械学習を行って前記制御指令を出力する機械学習器と、前記制御指令に基づいて、前記機械の作業動作のシミュレーションを実行するシミュレータと、前記シミュレータによる前記シミュレーションの実行結果に基づいて、前記制御指令を判定する第1判定器と、を備える、ことを特徴とする機械学習装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載されている発明では、演算の精度に改善の余地がある。
【課題を解決するための手段】
【0005】
本発明の第1の態様による演算装置は、変動する環境に関する情報を環境パラメータとして表現可能な環境において、所定の作業に関する作業計画を作成する演算装置であって、厳密なモデルを用いて演算コストが高い高精度な評価を行うことで、前記所定の作業に関する所要時間を算出する厳密評価部と、最新の前記環境パラメータを所定の範囲内でランダムに変動させた複数の前記環境パラメータを評価シナリオとして生成する評価シナリオ生成部と、入力である前記環境パラメータおよび前記作業計画と出力である前記所要時間の組み合わせを複数含む学習データを用いて、前記厳密評価部よりも簡易に前記所要時間を算出するための代理モデルを作成する代理モデル生成部と、前記代理モデルを用いて前記所要時間を算出し、前記複数の環境パラメータのいずれにも適する前記作業計画である暫定作業計画を算出する計画案生成部と、前記厳密評価部を用いて算出された時間であり、前記暫定作業計画における前記所要時間である厳密所要時間と、前記代理モデルを用いて算出された時間であり前記暫定作業計画における前記所要時間である代理所要時間との差が所定の閾値以上の場合に、前記暫定作業計画、前記評価シナリオ、および前記厳密所要時間を前記学習データに追加して追加済学習データとし、前記追加済学習データを用いて前記代理モデルを更新する代理モデル更新部とを備える。
本発明の第2の態様による作業計画の作成方法は、変動する環境に関する情報を環境パラメータとして表現可能な環境を対象として、所定の作業に関する作業計画を演算装置が作成する、作業計画の作成方法であって、厳密なモデルを用いて演算コストが高い高精度な評価を行うことで、前記所定の作業に関する所要時間を算出する厳密評価処理と、最新の前記環境パラメータを所定の範囲内でランダムに変動させた複数の前記環境パラメータを評価シナリオとして生成する評価シナリオ生成処理と、入力である前記環境パラメータおよび前記作業計画と出力である前記所要時間の組み合わせを複数含む学習データを用いて、前記厳密評価処理よりも簡易に前記所定の作業に関する演算を行うための代理モデルを作成する代理モデル生成処理と、前記代理モデルを用いて前記所定の作業に関する演算を行い、前記複数の環境パラメータのいずれにも適する前記作業計画である暫定作業計画を算出する計画案生成処理と、前記厳密評価処理により算出された時間であり、前記暫定作業計画における前記所要時間である厳密所要時間と、前記代理モデルを用いて算出された時間であり前記暫定作業計画における前記所要時間である代理所要時間との差が所定の閾値以上の場合に、前記暫定作業計画、前記評価シナリオ、および前記厳密所要時間を前記学習データに追加して追加済学習データとし、前記追加済学習データを用いて前記代理モデルを更新する、代理モデル更新処理とを含む。
本発明の第3の態様による演算システムは、変動する環境に関する情報を環境パラメータとして表現可能な環境において、所定の作業に関する作業計画を作成する演算システムであって、厳密なモデルを用いて演算コストが高い高精度な評価を行うことで、前記所定の作業に関する所要時間を算出する厳密評価部と、最新の前記環境パラメータを所定の範囲内でランダムに変動させた複数の前記環境パラメータを評価シナリオとして生成する評価シナリオ生成部と、入力である前記環境パラメータおよび前記作業計画と出力である前記所要時間の組み合わせを複数含む学習データを用いて、前記厳密評価部よりも簡易に前記所定の作業に関する演算を行うための代理モデルを作成する代理モデル生成部と、前記代理モデルを用いて前記所定の作業に関する演算を行い、前記複数の環境パラメータのいずれにも適する前記作業計画である暫定作業計画を算出する計画案生成部と、前記厳密評価部を用いて算出された時間であり、前記暫定作業計画における前記所要時間である厳密所要時間と、前記代理モデルを用いて算出された時間であり前記暫定作業計画における前記所要時間である代理所要時間との差が所定の閾値以上の場合に、前記暫定作業計画、前記評価シナリオ、および前記厳密所要時間を前記学習データに追加して追加済学習データとし、前記追加済学習データを用いて前記代理モデルを更新する、代理モデル更新部とを備える。
【発明の効果】
【0006】
本発明によれば、簡易な計算の精度を向上できる。
【図面の簡単な説明】
【0007】
【
図1】演算装置が適用可能なアプリケーションの一例を示す表
【
図9】第1の実施の形態における演算装置による処理の概要を示すフローチャート
【
図11】評価シナリオ生成処理を示すフローチャート
【
図13】第2の実施の形態における演算装置の構成図
【
図14】第2の実施の形態における演算装置の処理の概要を示すフローチャート
【
図15】第3の実施の形態における演算装置の構成図
【
図19】第3の実施の形態における演算装置の処理の概要を示すフローチャート
【
図20】第3の実施の形態の変形例における演算装置の処理の概要を示すフローチャート
【発明を実施するための形態】
【0008】
(対象アプリケーション)
本発明に係る演算装置は、変動環境下における作業計画の立案を行う。演算装置は様々な環境が変化する様々なアプリケーションに適用できる。
【0009】
図1は、演算装置が適用可能なアプリケーションの一例を示す表である。
図1では、アプリケーションごとに、演算装置が指示される内容、演算装置の計算結果、および変動する環境パラメータを示している。環境パラメータとは、アプリケーションに影響を及ぼし、かつ短時間で変動しうるパラメータである。ここでいう「短時間」とは、演算装置が演算に要する時間に対して短いことを意味する。環境パラメータは、時間が経過するほど変化幅が大きい傾向にある。そのため、計算に長い時間を要するほど計算開始時と計算終了時における環境パラメータの変動幅が大きくなる。
図1に示す「計算結果」は、演算装置が算出した「作業計画」と言い換えることができる。
【0010】
図1の1レコード目に示す「商品ピッキング」のアプリケーションでは、倉庫内に無数に格納されている商品をAGV(Automatic Guided Vehicle)がピッキングする。演算装置には、商品名とその商品のピッキングが完了すべき時刻の組合せられたリストが入力される。なお各商品の倉庫内の位置は、AGVおよび演算装置にとって既知である。
【0011】
倉庫内は広大であり、ピッキングする商品が格納されている場所までAGVが移動するために時間を要する。そのため演算装置は、それぞれのAGVが、どの商品をどの順番でピッキングするかを計算して出力する。ただし次のような環境パラメータが短時間で変動しうる。
図1に示すように、「商品ピッキング」のアプリケーションにおける環境パラメータはたとえば、ピッキング速度、AGVの数、およびAGVの速度である。
【0012】
たとえば、AGVが商品をピックアップする速度であるピッキング速度は、様々な要因により変動する。また、AGVは故障や充電などにより稼働可能な台数は一定ではない。さらに、床面の状態などによりAGVが走行可能な最高速度が変動する。これらの環境パラメータは、比較的短い期間では変化幅が小さいが、期間が長くなるほどその変化が積み重なって大きな変化幅となる可能性がある。
【0013】
図1の2レコード目に示す「宅配」のアプリケーションでは、配達員が住宅に荷物を配達する。演算装置には、住所と期限時刻のリストが入力される。なお、住所と配達すべき荷物との紐づけは別途管理される。演算装置は、作業員ごとの配達先の訪問順序を出力する。このアプリケーションではたとえば、渋滞や通行止めなどの道路状況や、天候により変化する作業員の移動速度が環境パラメータとなる。
【0014】
図1の3レコード目に示す「多品種生産」のアプリケーションでは、複数の生産装置を用いて製品を生産する。演算装置には、品名と出荷時刻のリストが入力される。演算装置は、生産装置ごとの製品の加工の順番を出力する。このアプリケーションではたとえば、生産装置の台数と種類や、生産装置の動作速度が環境パラメータとなる。本発明は
図1に示した例に限定されず様々なアプリケーションに適用できるが、第1の実施の形態では「商品ピッキング」を例に説明する。
【0015】
―第1の実施の形態―
以下、
図2~
図12を参照して、演算装置の第1の実施の形態を説明する。
【0016】
図2は、第1の実施の形態における演算装置1の構成図である。演算装置1は、中央演算装置であるCPU11、読み出し専用の記憶装置であるROM12、不揮発性の記憶装置である記憶部13、および高速な読み書きが可能な記憶装置であるメモリ14を備える。CPU11がROM12に格納されるプログラムをメモリ14に展開して実行することで後述する演算を行う。
【0017】
演算装置1は、CPU11、ROM12、およびメモリ14の組み合わせの代わりに書き換え可能な論理回路であるFPGA(Field Programmable Gate Array)や特定用途向け集積回路であるASIC(Application Specific Integrated Circuit)により後述する機能を実現してもよい。また演算装置1は、CPU11、ROM12、およびメモリ14の組み合わせの代わりに、異なる構成の組み合わせ、たとえばCPU11、ROM12、RAM13とFPGAの組み合わせにより実現されてもよい。
【0018】
演算装置1はその機能として、代理モデル生成部41と、代理モデル更新部42と、評価シナリオ生成部43と、計画案生成部44と、外乱評価部45と、厳密評価部51と、簡易評価部52と、を備える。これらの機能は前述のとおり、たとえばCPU11がROM12に格納されるプログラムをメモリ14に展開して実行することで実現されるので、
図2ではこれらの機能を便宜的にメモリ14の内部に記載している。
【0019】
演算装置1の記憶部13には、作業指示21と、環境パラメータ22と、想定変動範囲23と、許容予測誤差24と、学習データ25と、代理モデル情報26と、代理モデル27とが格納される。ただし代理モデル27は
図2に便宜的に記載しており、代理モデル27の主要な構成は代理モデル情報26である。詳しくは後述する。
【0020】
代理モデル生成部41は、1または複数の代理モデル27を生成する。代理モデル更新部42は、代理モデル生成部41が生成した代理モデル27を更新する。評価シナリオ生成部43は、現在時刻における環境パラメータ22を取得し、所定の範囲内でランダムに変動させた評価シナリオを複数生成する。計画案生成部44は、評価シナリオ生成部43が生成した複数の評価シナリオと、簡易評価部52とを用いて、暫定的な作業計画である暫定計画案と、暫定計画案の近似評価値とを算出する。
【0021】
厳密評価部51は、不図示の厳密なモデルを用いて演算コストが高い高精度な評価を行う。厳密評価部51はたとえばシミュレータであり、ピッキング作業における個々の商品のピッキング動作や、ピッキングのための移動などをシミュレートして、必要な作業時間を算出する。簡易評価部52は、代理モデル27を用いて演算コストが低い簡易な評価を行う。代理モデル27は、シミュレーション評価を近似するニューラルネットワークなど、機械学習により実現してもよいし、厳密評価部51よりも抽象的なシミュレーションモデルでもよいし、単純な数式でもよい。
【0022】
厳密評価部51による評価は、簡易評価部52との比較において精度が高い。簡易評価部52による評価は、厳密評価部51との比較において精度が低い。演算コストとはたとえば、計算量、計算時間、および計算に要する演算資源の量などの多少を意味する。たとえば厳密評価部51と簡易評価部52が同一の演算用ハードウエアを用いる場合には、厳密評価部51は簡易評価部52よりも評価の完了に長時間を要する。また仮に厳密評価部51と簡易評価部52とが同一の時間で評価を完了するためには、厳密評価部51は簡易評価部52よりも多くの演算資源を要する。具体的には厳密評価部51と簡易評価部52とが同一の時間で評価を完了するためには、厳密評価部51は簡易評価部52よりも多くの演算コアを使用することや、厳密評価部51は簡易評価部52よりも単位時間当たりの演算量が多い演算コアを用いる必要がある。
【0023】
仮に演算コストの制限がなければ、簡易評価部52を利用する利点はなく常に厳密評価部51を用いることが望ましい。しかし実際には演算コストの制限があるため、本実施の形態では厳密評価部51と簡易評価部52とを効率的に組み合わせて使用する。さらに本実施の形態では、簡易評価部52を適宜改善および選択することで厳密評価部51の精度の低さを補う。
【0024】
図3は、作業指示21の一例を示す図である。この例では、作業指示21には、作業指示IDと、商品と、期限時刻と、出庫数との組合せが複数組含まれる。
図3の最初のレコードでは、商品「A」を「6」つ、「17:00」までに用意することが指示されている。なお作業指示IDは個別の作業指示を識別する識別子であり、作業指示21に含まれなくてもよい。また、出庫数の代わりに同様の指示が繰り返されてもよく、たとえば商品「A」と期限時刻「17:00」が6レコード連続で記録されてもよい。
【0025】
図4は、環境パラメータ22の一例を示す図である。環境パラメータ22は、詳細パラメータと値との組合せが複数含まれる。具体的には環境パラメータ22には、AGVの台数やピッキング速度などのパラメータが格納される。前述のように環境パラメータ22は短い時間で変化するので、ここに示す環境パラメータ22はあるタイミングでの値にすぎない。演算装置1は、不図示の他の装置から環境パラメータ22を取得してもよいし、演算装置1に接続された不図示のセンサなどから環境パラメータ22を構成する個々の値を取得してもよい。
【0026】
図5は、想定変動範囲23の一例を示す図である。想定変動範囲23には、環境パラメータ22の詳細パラメータごとに、想定される変動範囲が記載される。なお、想定変動範囲23の変動幅は、過去の詳細パラメータの統計情報に基づいて設定してもよいし、オペレータが任意に設定してもよい。なお、想定変動範囲23の値は統計値や任意に設定した値にすぎないので、実際には環境パラメータ22が想定変動範囲23に記載されている範囲を超えて変動することもあり得る。ただし本実施の形態では、環境パラメータ22が想定変動範囲23を超えて変動することに対して積極的な対策を行わない。
図5に示す例では、AGV台数が±2台であること、ピッキング速度が±20個/時であること、などが示されている。
【0027】
図6は、許容予測誤差情報G4の一例を示す図である。許容予測誤差情報G4は、許容可能な厳密評価部51と簡易評価部52との予測誤差の範囲を定めている。許容予測誤差情報G4の値はたとえば、オペレータが任意に設定する。
図6の最初のレコードでは、全作業の完了に要する所要時間が±30分以内であれば許容されることが記載されている。なおこの「所要時間」は、「作業時間」や「処理時間」と呼ぶこともできる。
図6の2つ目のレコードには、納期までの余裕時間が±15%であれば許容されることが記載されている。
【0028】
図7は、学習データ25の一例を示す図である。学習データ25には、代理モデル27の生成に用いられるデータが格納される。学習データ25には、予めデータが格納されてもよいし、後述する代理モデル生成処理が開始される時点では空、すなわち何もデータが格納されていなくてもよい。学習データ25には、代理モデル生成処理と後述する更新処理によりデータが追加される。
【0029】
学習データ25には、複数のサンプルが含まれる。それぞれのサンプルには、厳密評価部51への入力と厳密評価部51の出力が含まれる。
図7に示す例では、学習データ25の各レコードは、サンプルを識別するサンプルID、厳密評価部51への入出力の区別を示すデータ属性、データ名、およびデータ値が含まれる。同一のサンプルIDを有する学習データ25のレコードであって、データ属性が「入力」であるレコードの情報は、同一のタイミングで厳密評価部51に入力される。
【0030】
学習データ25におけるデータ名とデータ値の組合せは、作業指示21のあるレコードに対応する。サンプルIDの相違は、環境パラメータの値が異なることを示している。なお
図7には示されていないが、それぞれのサンプルIDに対応する環境パラメータの具体的な値も別途記録されている。
【0031】
図8は、代理モデル情報26の一例を示す図である。代理モデル情報26には、学習データ25を用いて生成された代理モデル27の情報である内部パラメータの名称とその値が格納される。
図8に示す例では、代理モデル情報26には内部パラメータを識別する内部パラメータIDごとに、そのパラメータ値の情報が格納される。
【0032】
不図示の代理モデル27に関する情報と、代理モデル情報26とを組み合わせることで、代理モデル27が構成される。代理モデル27はたとえばニューラルネットワークであり、不図示の代理モデル27の構成に関する情報と、代理モデル情報26に格納されたパラメータとが組み合わされることで代理モデル27を用いた演算が可能となる。またたとえば代理モデル27は多項式であり、不図示の多項式の数式と、代理モデル情報26に格納された多項式中の係数の値とが組み合わされることで代理モデル27を用いた演算が可能となる。以上が記憶部13に格納される情報の説明である。
【0033】
(演算装置の処理の概要)
図9は、演算装置1による処理の概要を示すフローチャートである。まずステップS31では、代理モデル生成部41が代理モデル27を生成する。この処理は作業指示21を受信する前にあらかじめ実行しておく。次にステップS32において演算装置1は、外部から作業指示21、たとえば商品名と期限時刻のリストを取得する。次にステップS33において、評価シナリオ生成部43は、その時刻tにおける環境パラメータ22の値を取得し、この値を基準としてランダムに変化させた複数の仮想的な環境パラメータ(以下、「評価シナリオ」と呼ぶ)を生成する。
【0034】
続くステップS34では計画案生成部44は、代理モデル27を用いて最適な作業計画(以下では「暫定作業計画」と呼ぶ)を算出し、さらに評価シナリオに暫定作業計画を適用した場合の平均所要時間を代理モデル27を用いて算出する。ここでいう「最適」とは、ステップS33において生成した複数の環境パラメータに対しても平均的に所要時間が短い、という意味である。なお本ステップにおいて算出する平均所要時間は、代理モデル27を用いて算出するため「代理所要時間」とも呼ぶ。
【0035】
続くステップS35では厳密評価部51は、評価シナリオにステップS34において算出した暫定作業計画を適用した場合の平均所要時間を算出する。すなわち厳密評価部51は、評価シナリオに含まれる環境パラメータ22の数と同じ回数の演算を行ってそれぞれの所要時間を算出し、それらの平均値を算出する。なお本ステップにおいて算出する平均所要時間は、厳密評価部51を用いて算出するため「厳密所要時間」とも呼ぶ。
【0036】
続くステップS36では計画案生成部44は、ステップS34において算出された暫定作業計画の平均所要時間と、ステップS35において算出された暫定作業計画の平均所要時間との差が閾値以内であるか否かを判断する。換言すると、本ステップにおいて計画案生成部44は、代理所要時間と厳密所要時間との差が閾値以内であるか否かを判断する。
【0037】
計画案生成部44は、2つの平均所要時間の差が閾値以内であると判断する場合は、ステップS37に進んで暫定作業計画を出力して
図9の処理を終了する。計画案生成部44は、2つの平均所要時間の差が閾値以上であると判断する場合はステップS38に進む。
【0038】
ステップS38では代理モデル更新部42は、ステップS35における厳密評価部51への入力および同ステップにおける厳密評価部51の出力を学習データ25に追加し、さらにこの学習データ25を用いて代理モデル27を更新してステップS34に戻る。代理モデル27の更新とは、代理モデル情報26におけるパラメータ値の更新である。なお、ステップS38から遷移して実行されるステップS34では、初回のステップS34とは異なる、更新された代理モデル27が使用される。更新された代理モデル27の学習データ25には、これから行う演算で用いる環境パラメータ22および作業指示21と同一のデータが含まれるため、更新前の学習データ25よりも精度が高まる蓋然性が高い。以上が
図9の説明である。
【0039】
図10は、代理モデル生成部41による代理モデル生成処理を示すフローチャートである。
図10は、
図9に示したステップS31の詳細を示す。ステップS311では代理モデル生成部41は、環境パラメータ22の基準値および変動範囲を決定する。代理モデル生成部41は、想定変動範囲23に記載された変動範囲を採用してもよいし、環境パラメータ22に含まれるいずれかの詳細パラメータの値をランダムに決定してもよい。代理モデル生成部41はたとえば環境パラメータ22の基準値として、ピッキング速度を1時間当たり150個、AGVの台数を20台、AGVの速度を時速10kmとする。また、環境パラメータ22の変動範囲として、ピッキング速度を±50個/時、AGVの台数を±5台、AGVの速度を±時速2kmとする。
【0040】
続くステップS312では代理モデル生成部41は、ステップS301において決定した変動範囲で環境パラメータ22をランダムに生成する。たとえばステップS302において、ピッキング速度、AGVの台数、およびAGVの速度のそれぞれをランダムに10個算出した場合には環境パラメータ22は10の3乗で1000通り算出される。
【0041】
続くステップS313では代理モデル生成部41は、実行計画、すなわち作業指示および作業順序をランダムに複数生成する。続くステップS314では代理モデル生成部41は、ステップS302において生成した複数の環境パラメータ22と、ステップS303において生成した複数の実行計画とを組み合わせて厳密評価部51に入力し、それぞれの所要時間を算出する。たとえば、ステップS302において生成した環境パラメータ22が1000通りあり、ステップS303において生成した実行計画が100通りある場合には、ステップS304では厳密評価部51は1万回の演算を行う。
【0042】
ステップS315では代理モデル生成部41は、ステップS304において厳密評価部51に入力した環境パラメータ22および実行計画と、その際に厳密評価部51が出力した所要時間とを1組の学習データとしてまとめる。前述の例では、学習データが1万組得られる。続くステップS316では代理モデル生成部41は、ステップS305において得られた複数の学習データを用いて代理モデル27を生成する。実行計画をX、環境パラメータ22をθ、所要時間をYと置くと、代理モデル27は次の式1における関数fに相当する。
【0043】
Y≒f(X、θ) ・・・・(式1)
【0044】
代理モデル27は、シミュレーション評価を近似するニューラルネットワークなど、機械学習により実現してもよいし、厳密評価部51よりも抽象的なシミュレーションモデルでもよいし、単純な数式でもよい。以上が代理モデル生成処理の説明である。
【0045】
図11は、評価シナリオ生成部43による評価シナリオ生成処理を示すフローチャートである。
図11は、
図9に示したステップS33の詳細を示す。ステップS331では評価シナリオ生成部43は、現在の環境パラメータ22の値を取得する。続くステップS332では評価シナリオ生成部43は、環境パラメータ22の変動範囲を決定する。たとえば評価シナリオ生成部43は、想定変動範囲23に記載された値を採用する。
【0046】
続くステップS333では評価シナリオ生成部43は、環境パラメータ22の値をステップS331において取得した値を中心として、ステップS332において決定した範囲でランダムに生成する。たとえばステップS331において取得した詳細パラメータ「ピッキング速度」の値が「150」であり、ステップS332において決定した「ピッキング速度」の範囲が「±30」の場合には、「150」を中心とした「±30」の範囲、すなわち「120」~「180」の範囲でランダムに複数の値を決定する。
【0047】
続くステップS334では評価シナリオ生成部43は、ステップS333において決定した複数の環境パラメータ22をまとめて、評価シナリオとして記憶部13に保存する。評価シナリオに含まれる環境パラメータ22の数は特に限定されない。たとえば、ステップS333において決定したそれぞれの詳細パラメータの値を全とおり組み合わせてもよい。以上が評価シナリオ生成処理の説明である。
【0048】
図12は、計画案生成部44による計画案算出処理を示すフローチャートである。
図12は、
図9に示したステップS34の詳細を示す。ステップS341では計画案生成部44は、作業計画をランダムに生成してステップS342に進む。ステップS342では計画案生成部44は、ステップS341においてランダム生成した作業指示から未選択の作業計画を1つ選択してステップS343に進む。
【0049】
ステップS343では計画案生成部44は、評価シナリオの中から未選択の環境パラメータ22を1つ選択する。続くステップS344では計画案生成部44は、ステップS342において選択した環境パラメータ22と、ステップS342において選択した作業計画とを代理モデル27に入力する。厳密には計画案生成部44は、代理モデル27を用いて演算を行う簡易評価部52に環境パラメータ22および作業計画を入力する。続くステップS345では、ステップS344において代理モデル27が算出した想定所要時間を一時記録する。
【0050】
続くステップS346では計画案生成部44は、評価シナリオに含まれる全ての環境パラメータ22をステップS343において選択したか否かを判断する。計画案生成部44は、全ての環境パラメータ22を選択したと判断する場合はステップS347に進み、1つでも未選択の環境パラメータ22が存在すると判断する場合はステップS343に戻る。すなわち本ステップにおいて肯定判断がされる場合は、ある作業計画について評価シナリオに含まれる全ての環境パラメータ22に対応する想定所要時間が全て算出済みの状況である。
【0051】
ステップS347では計画案生成部44は、これまでにステップS345において一時記録した想定所要時間の平均値を算出して記録する。平均値の記録が完了すると、ステップS345において一時記録した値は全て消去される。
【0052】
続くステップS348では計画案生成部44は、ステップS341においてランダム生成した全ての作業計画を、ステップS342において選択したか否かを判断する。計画案生成部44は、全ての作業計画を選択したと判断する場合はステップS349に進み、1つでも未選択の作業計画が存在すると判断する場合はステップS342に戻る。なお本ステップにおいて否定判断をした場合には、環境パラメータ22の選択状況はリセットされ、これまでにいずれの環境パラメータ22も選択されていないとみなされる。
【0053】
ステップS349では計画案生成部44は、暫定作業計画の設定、および暫定作業計画の代理モデルによる平均所要時間を特定する。具体的には計画案生成部44は、まず、ステップS347において記録した平均値から最小値を特定し、その最小の平均値に対応する作業計画を暫定作業計画に設定する。以上が
図12の説明である。
【0054】
上述した第1の実施の形態によれば、次の作用効果が得られる。
(1)演算装置1は、変動する環境に関する情報を環境パラメータ22として表現可能な環境において、所定の作業に関する作業計画を作成する。演算装置1は、所定の作業に関する所要時間を算出する厳密評価部51と、最新の環境パラメータ22に基づき複数の環境パラメータ22を評価シナリオとして生成する評価シナリオ生成部43と、学習データ25を用いて、厳密評価部51よりも簡易に所定の作業に関する所要時間を算出するための代理モデル27を作成する代理モデル生成部41と、代理モデル27を用いて所要時間を算出し、複数の環境パラメータ22のいずれにも適する作業計画である暫定作業計画を算出する計画案生成部44と、厳密評価部51を用いて算出された時間であり、暫定作業計画における所定の作業に要する所要時間である厳密所要時間と、代理モデル27を用いて算出された時間であり暫定作業計画における所定の作業に要する所要時間である代理所要時間との差が所定の閾値以上の場合に、暫定作業計画および厳密所要時間を用いて代理モデル27を更新する、代理モデル更新部42とを備える。そのため、代理モデル27の精度が低く、代理モデル27を用いた計算結果と厳密評価部51を用いた計算結果に乖離がある場合に、厳密評価部51の計算結果を用いて代理モデル27を更新し、簡易な計算に用いる代理モデル27の精度を向上できる。
【0055】
(2)環境パラメータ22には、所定の作業を実行する速度、すなわちピッキング速度の情報が含まれる。評価シナリオ生成部43は、環境パラメータ22を変動させる範囲が記載された想定変動範囲23に基づき、評価シナリオを生成する。
【0056】
(変形例1)
上述した第1の実施の形態では、演算装置1は1つのハードウエア装置として説明した。しかし演算装置1は複数のハードウエアから構成されてもよく、各機能が異なるコンピュータにより実現されてもよい。この場合には、演算装置1の機能はネットワークにより接続され物理的に離れた場所に存在する複数のハードウエアにより実現されてもよい。
【0057】
―第2の実施の形態―
図13~
図14を参照して、演算装置の第2の実施の形態を説明する。以下の説明では、第1の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第1の実施の形態と同じである。本実施の形態では、主に、計算中に環境パラメータが大きく変動すると計算をやり直す点で第1の実施の形態と異なる。
【0058】
図13は、第2の実施の形態における演算装置1Aの構成図である。演算装置1Aは、第1の実施の形態における構成に加えて、外乱評価部45をさらに備える。外乱評価部45は、計画案生成部44の動作開始時における環境パラメータ22と、現在の環境パラメータ22との乖離を評価する。
【0059】
図14は、第2の実施の形態における演算装置1Aの処理の概要を示すフローチャートである。第1の実施の形態における
図9との相違点は、ステップS34とS35との間にステップS39が追加された点である。ステップS39では外乱評価部45は、ステップS33の最初、すなわち
図11のステップS331において取得した環境パラメータ22の値と、最新の環境パラメータ22の値とを比較し、環境パラメータ22の値がステップS33の実行時から大きく変動したか否かを判断する。外乱評価部45は、大きく変動したと判断する場合はステップS33に戻り、大きくは変動していないと判断する場合はステップS35に進む。環境パラメータ22の変動が大きいか否かを判断する基準は、詳細パラメータごとに別途個別に定められてもよいし、想定変動範囲23の値を用いてもよい。
【0060】
上述した第2の実施の形態によれば、次の作用効果が得られる。
(3)評価シナリオ生成部43は、最新の環境パラメータ22である開始時環境パラメータに基づき評価シナリオを生成する。計画案生成部44は、評価シナリオを用いた暫定作業計画の算出が完了した際の環境パラメータ22である完了時環境パラメータと、開始時環境パラメータとの差が所定の閾値以上である場合には、最新の環境パラメータ22を用いて評価シナリオ生成部43に評価シナリオを作成させ、再び暫定作業計画を算出する。そのため、環境パラメータ22は短い時間で変動するため完全に一致する環境パラメータ22の値を用いた計算は不可能であるが、計画案生成部44が計画案を生成している最中に環境パラメータ22が大きく変動した場合には改めて計画案を生成するので、実際とは乖離が小さい環境パラメータ22を用いた計画案が生成できる。
【0061】
(第2の実施の形態の変形例)
計算開始からの経過時間が所定の閾値を超えた場合に暫定作業計画の算出をやり直してもよい。たとえば
図14のステップS39においてさらに、ステップS33の処理を開始してからの経過時間が所定の時間を超えた場合に肯定判断してステップS33に戻るように変更してもよい。またステップS35の直後において、ステップS33の処理を開始してからの経過時間が所定の時間を超えた場合に、ステップS33に戻る分岐を追加してもよい。
【0062】
―第3の実施の形態―
図15~
図19を参照して、演算装置の第3の実施の形態を説明する。以下の説明では、第1の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第1の実施の形態と同じである。本実施の形態では、主に、複数の代理モデルを使い分ける点で、第1の実施の形態と異なる。
【0063】
図15は、第3の実施の形態における演算装置1Bの構成図である。演算装置1Aは、第1の実施の形態における構成に加えて、記憶部13にパラメータ区分28がさらに格納される。また、記憶部13には学習データ25および代理モデル情報26の代わりに学習データ25Aおよび代理モデル情報26Aが格納される。
【0064】
代理モデル27は厳密評価部51に比べると計算量が少ない利点を有するが、環境パラメータ22の値が変化すると計算の精度が低下する傾向にある。そのため、予め複数の代理モデル27を生成しておき環境パラメータ22の値に応じてそれらの代理モデル27を使い分ける。本実施の形態では、環境パラメータ22の値を予め複数の区分に分け、区分ごとにデータセットを形成する。そしてこのデータセットごとに代理モデルを生成する。記憶部13には、環境パラメータ22の区分を示す情報がパラメータ区分28として保存される。本実施の形態では、代理モデル27が複数生成されるので、これら複数の代理モデル27を生成するための学習データ25Aおよび代理モデル情報26Aも第1の実施の形態と異なる。
【0065】
図16は、パラメータ区分28の一例を示す図である。パラメータ区分28には、データセットIDと環境パラメータ22の値の範囲との対応関係が示されている。たとえばデータセットID「DS001」に対応する環境パラメータ22の値の範囲は、AGV台数が「8~12台」、ピッキング速度が「80~120個/時」である。次に示すデータセットID「DS002」に対応する環境パラメータ22の値の範囲は、ピッキング速度は同一であるが、AGV台数が「13~20台」である点が1つ目のデータセットと異なる。なお、データセット同士の環境パラメータ22の値は完全に一致がなければよく、値の範囲に重複があってもよい。
【0066】
図17は、本実施の形態における学習データ25Aの一例を示す図である。第1の実施の形態における学習データ25との相違点は、データセットIDの情報が追加されている点である。
図17に示す例では、環境パラメータ22が同一の区分に含まれる2つのサンプルIDのデータが示されている。
【0067】
図18は、本実施の形態における代理モデル情報26Aの一例を示す図である。第1の実施の形態における代理モデル情報26との相違点は、代理モデルの識別子である代理モデルID、およびその代理モデルの生成に使用されたデータセットを示すデータセットIDが追加されている点である。
【0068】
図19は、第3の実施の形態における演算装置1Bの処理の概要を示すフローチャートである。第1の実施の形態における
図9との相違点は、ステップS33とS34との間にステップS391が追加された点である。ステップS391では計画案生成部44は、最適な代理モデル27を選択肢、ステップS34以降ではその代理モデル27を用いる。
【0069】
本ステップにおける計画案生成部44の具体的な処理は次のとおりである。まず計画案生成部44は、現在の環境パラメータ22の値を読み取り、パラメータ区分28において現在の環境パラメータ22の値が含まれる範囲に対応するデータセットIDを特定する。そして計画案生成部44は、代理モデル情報26Aを参照して特定したデータセットIDに対応する代理モデル27の内部パラメータの値を読み取り、代理モデル27を使用する。
【0070】
上述した第3の実施の形態によれば、次の作用効果が得られる。
(CL4)評価シナリオ生成部43は、環境パラメータの値の範囲が異なる評価シナリオを複数生成する。代理モデル生成部41は、評価シナリオのそれぞれに対応する代理モデル27を生成し、計画案生成部44は、環境パラメータ22の値に応じていずれかの代理モデル27を選択する。そのため、状況にあわせて代理モデル27を選択することで、計算の精度を向上することができる。
【0071】
(第3の実施の形態の変形例)
第2の実施の形態における構成と、第3の実施の形態における構成とを組み合わせてもよい。この場合には、計画案生成部44が最適な代理モデル27を用いて演算を行う利点、および計画案生成部44の処理中に環境パラメータ22が大きく変動した場合には再計算を行える利点がある。なおこの場合には、ステップS39における判断にパラメータ区分28を用いることができる。
【0072】
図20は、本変形例における演算装置1Bの処理の概要を示すフローチャートである。ただし
図20では、作図の都合により開始からステップS31までの記載を省略している。本フローチャートを第1の実施の形態における
図9と比較すると、ステップS33とステップS34との間にステップS391が追加され、さらにステップS34とステップS35との間にステップS39が追加されている。
【0073】
上述した各実施の形態および変形例において、機能ブロックの構成は一例に過ぎない。別々の機能ブロックとして示したいくつかの機能構成を一体に構成してもよいし、1つの機能ブロック図で表した構成を2以上の機能に分割してもよい。また各機能ブロックが有する機能の一部を他の機能ブロックが備える構成としてもよい。
【0074】
上述した各実施の形態および変形例において、プログラムはROM12に格納されるとしたが、プログラムは記憶部13に格納されていてもよい。また、演算装置1が不図示の入出力インタフェースを備え、必要なときに入出力インタフェースと演算装置1が利用可能な媒体を介して、他の装置からプログラムが読み込まれてもよい。ここで媒体とは、例えば入出力インタフェースに着脱可能な記憶媒体、または通信媒体、すなわち有線、無線、光などのネットワーク、または当該ネットワークを伝搬する搬送波やディジタル信号、を指す。また、プログラムにより実現される機能の一部または全部がハードウエア回路やFPGAにより実現されてもよい。
【0075】
上述した各実施の形態および変形例は、それぞれ組み合わせてもよい。上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
【符号の説明】
【0076】
1、1A、1B…演算装置
13…記憶部
14…メモリ
21…作業指示
22…環境パラメータ
23…想定変動範囲
24…許容予測誤差
25、25A…学習データ
26、26A…代理モデル情報
27…代理モデル
28…パラメータ区分
41…代理モデル生成部
42…代理モデル更新部
43…評価シナリオ生成部
44…計画案生成部
45…外乱評価部
51…厳密評価部
52…簡易評価部