(57)【特許請求の範囲】
【請求項１】
少なくとも一つの計算機を備え、アイテムに対してリソースを用いた処理を行う複数の工程から構成される業務の前記リソースの配置を決定する計算機システムであって、
前記少なくとも一つの計算機は、演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続され、外部装置と接続するためのインタフェースを有し、
前記業務は、手戻りに対応する工程間の遷移を含み、
前記計算機システムは、
前記業務を構成する前記複数の工程の各々の前記アイテムの流入量及び流出量の予測値を算出するための予測器と、前記複数の工程の各々の前記リソースの配置を決定するリソース配置決定部と、備え、
前記リソース配置決定部は、
前記リソースの制約条件及び最適化条件を含む要求を受け付けた場合、前記予測器を用いて、任意の前記リソースの配置における前記複数の工程の各々の前記アイテムの流入量及び流出量の予測値を算出するシミュレータを構成し、
前記シミュレータ、前記リソースの制約条件、及び前記最適化条件に基づいて、前記複数の工程の各々の前記リソースの配置を決定することを特徴とする計算機システム。
【請求項２】
請求項１に記載の計算機システムであって、
前記複数の工程毎に、前記アイテムの流入量の予測値を算出する流入量予測器及び前記アイテムの流出量の予測値を算出する流出量予測器を生成する学習部を備え、
前記業務の最初の工程への前記アイテムの流入量の予測値を算出する前記流入量予測器は状態空間モデル又はＡＲＩＭＡモデルとして生成されることを特徴とする計算機システム。
【請求項３】
請求項１に記載の計算機システムであって、
前記最適化条件は、前記リソースの負荷の平準化、及び前記業務の効果の最大化のいずれかであることを特徴とする計算機システム。
【請求項４】
請求項１に記載の計算機システムであって、
前記リソース配置決定部は、混合整数計画法、動的計画法、及び、強化学習のいずれかのアルゴリズムを用いて、前記複数の工程の各々の前記リソースの配置を決定することを特徴とする計算機システム。
【請求項５】
請求項１に記載の計算機システムであって、
前記リソース配置決定部は、前記決定された複数の工程の各々の前記リソースの配置を提示し、かつ、当該リソースの配置に対する評価を受けつけるためのインタフェースを提供することを特徴とする計算機システム。
【請求項６】
少なくとも一つの計算機を含む計算機システムが実行する、アイテムに対してリソースを用いた処理を行う複数の工程から構成される業務の前記リソースの配置の決定方法であって、
前記少なくとも一つの計算機は、演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続され、外部装置と接続するためのインタフェースを有し、
前記業務は、手戻りに対応する工程間の遷移を含み、
前記計算機システムは、前記業務を構成する前記複数の工程の各々の前記アイテムの流入量及び流出量の予測値を算出するための予測器を有し、
前記リソースの配置の決定方法は、
前記少なくとも一つの計算機が、前記リソースの制約条件及び最適化条件を含む要求を受け付けた場合、前記予測器を用いて、任意の前記リソースの配置における前記複数の工程の各々の前記アイテムの流入量及び流出量の予測値を算出するシミュレータを構成する第１のステップと、
前記少なくとも一つの計算機が、前記シミュレータ、前記リソースの制約条件、及び前記最適化条件に基づいて、前記複数の工程の各々の前記リソースの配置を決定する第２のステップと、を含むことを特徴とするリソースの配置の決定方法。
【請求項７】
請求項６に記載のリソースの配置の決定方法であって、
前記少なくとも一つの計算機が、前記複数の工程毎に、前記アイテムの流入量の予測値を算出する流入量予測器及び前記アイテムの流出量の予測値を算出する流出量予測器を生成するステップを含み、
前記業務の最初の工程への前記アイテムの流入量の予測値を算出する前記流入量予測器は状態空間モデル又はＡＲＩＭＡモデルとして生成されることを特徴とするリソースの配置の決定方法。
【請求項８】
請求項６に記載のリソースの配置の決定方法であって、
前記最適化条件は、前記リソースの負荷の平準化、及び前記業務の効果の最大化のいずれかであることを特徴とするリソースの配置の決定方法。
【請求項９】
請求項６に記載のリソースの配置の決定方法であって、
前記第２のステップは、前記少なくとも一つの計算機が、混合整数計画法、動的計画法、及び、強化学習のいずれかのアルゴリズムを用いて、前記複数の工程の各々の前記リソースの配置を決定するステップを含むことを特徴とするリソースの配置の決定方法。
【請求項１０】
請求項６に記載のリソースの配置の決定方法であって、
前記少なくとも一つの計算機が、前記決定された複数の工程の各々の前記リソースの配置を提示し、かつ、当該リソースの配置に対する評価を受けつけるためのインタフェースを提供するステップを含むことを特徴とするリソースの配置の決定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の目的を達成するためのリソースの配置を決定するための技術に関するものである。
【背景技術】
【０００２】
近年、各分野において、コスト削減及び業務効率化を実現するために、機械学習及びＡＩの活用が広まっている。
【０００３】
人員に代表されるリソースの配置では、各々の業務の知識及び経験を必要とするために属人化が進み、雇用の確保が難しくなっている。そのため、機械学習及びＡＩを活用したリソース配置の実現への期待が大きくなっている。
【０００４】
リソース配置を実現する技術に関して、特許文献１、特許文献２に記載されている。
【０００５】
特許文献１には、「製品を生産する生産ラインの工程間で人員入れ替えを迅速に行う為の作業配分装置であって、製品の生産実績データを収集する生産実績収集部と、不良製品のデータを収集するライン落ち実績収集部と、修理された製品のデータを収集する修理実績収集部と、製品の生産計画を格納した生産計画マスタと、前記生産実績収集部で収集された生産実績データを格納した生産実績マスタと、前記ライン落ち実績収集部で収集されたデータを格納したライン落ちマスタと、前記修理実績収集部で収集されたデータを格納した修理実績マスタと、製品の不良要因別にかかる修理時間を格納した不良要因別修理時間マスタと、製品を組立てる直接作業者及び不良製品を修理する間接作業者の管理データを格納した人員マスタと、少なくとも生産ラインの最遅残業時刻を管理する就業時間マスタと、前記生産実績マスタ、前記ライン落ちマスタ、及び前記修理実績マスタに対するデータの書き込み及び読み出しを管理する管理部と、前記生産計画マスタ、前記生産実績マスタ、前記ライン落ちマスタ、前記修理実績マスタ、前記不良要因別修理時間マスタ、前記人員マスタ、及び前記就業時間マスタのそれぞれのデータに基づいて、直接作業者及び間接作業者を入れ替え、人員配置及び作業配分を求める演算部と、前記演算部により求められた人員配置及び作業配分結果を出力する結果出力部とを備える」装置が開示されている。
【０００６】
特許文献２には、「最適化制御部１４０が、シミュレータ１３０を用いてシミュレーションを行いながら最適勾配法によって要員配置を最適化するように制御し、増減要員配置算出部１５０が、最適化制御部１４０が次の暫定最適解を求めるための増減要員配置を近似モデルを用いて算出し、初期値生成部１６０が近似モデルを用いて初期値を生成するよう構成する。また、要員配置情報記憶部１２０が要員配置の最適化に必要な情報を記憶し、シミュレータ１３０、最適化制御部１４０および増減要員配置算出部１５０は要員配置情報記憶部１２０の情報を参照、更新しつつ処理を行う。」ことが記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−３５０８３２号公報
【特許文献２】特開２００８−２２６１７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１の技術では、複数工程から構成される組立業務等の業務において、検査の結果に依存して戻り先の工程が異なるような「手戻り」を考慮できない。例えば、ある工程から前に行われた工程へ遷移するような手戻りを含む業務、また、ある工程からの遷移経路が複数ある業務を扱うことができない。また、特許文献２の技術では、工程の存在を考慮していない。
【０００９】
本発明はこのような事情に鑑みてなされたもので、複数の工程の手戻りを考慮し、人員等、リソースの最適な配置を決定するための技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、少なくとも一つの計算機を備え、アイテムに対してリソースを用いた処理を行う複数の工程から構成される業務の前記リソースの配置を決定する計算機システムであって、前記少なくとも一つの計算機は、演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続され、外部装置と接続するためのインタフェースを有し、前記業務は、手戻りに対応する工程間の遷移を含み、前記計算機システムは、前記業務を構成する前記複数の工程の各々の前記アイテムの流入量及び流出量の予測値を算出するための予測器と、前記複数の工程の各々の前記リソースの配置を決定するリソース配置決定部と、備え、前記リソース配置決定部は、前記リソースの制約条件及び最適化条件を含む要求を受け付けた場合、前記予測器を用いて、任意の前記リソースの配置における前記複数の工程の各々の前記アイテムの流入量及び流出量の予測値を算出するシミュレータを構成し、前記シミュレータ、前記リソースの制約条件、及び前記最適化条件に基づいて、前記複数の工程の各々の前記リソースの配置を決定する。
【発明の効果】
【００１１】
本発明によれば、手戻り等の工程間の遷移を含む業務における最適なリソースの配置を決定できる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【００１２】
【図１】実施例１の計算機の構成の一例を示す図である。
【図２】実施例１の業務の一例を示す図である。
【図３】実施例１の履歴情報のデータ構造の一例を示す図である。
【図４】実施例１の環境データ情報のデータ構造の一例を示す図である。
【図５】実施例１の予測器情報のデータ構造の一例を示す図である。
【図６Ａ】実施例１のリソース制約情報のデータ構造の一例を示す図である。
【図６Ｂ】実施例１のリソース制約情報のデータ構造の一例を示す図である。
【図７】実施例１の初工程流入量情報のデータ構造の一例を示す図である。
【図８】実施例１のリソース配置情報のデータ構造の一例を示す図である。
【図９Ａ】実施例１の学習部が実行する学習処理の一例を説明するフローチャートである。
【図９Ｂ】実施例１の学習部が実行する学習処理の一例を説明するフローチャートである。
【図１０】実施例１のリソース配置決定部が実行する配置最適化処理の一例を説明するフローチャートである。
【図１１】実施例２の学習部が実行する学習処理の一例を説明するフローチャートである。
【図１２】実施例３のリソース配置決定部が実行する事前処理の一例を説明するフローチャートである。
【図１３】実施例３の計算機によって提示される結果画面の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施例の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
【００１４】
以下に説明する発明の構成において、同一又は類似する構成又は機能には同一の符号を付し、重複する説明は省略する。
【００１５】
本明細書等における「第１」、「第２」、「第３」等の表記は、構成要素を識別するために付するものであり、必ずしも、数又は順序を限定するものではない。
【００１６】
図面等において示す各構成の位置、大きさ、形状、及び範囲等は、発明の理解を容易にするため、実際の位置、大きさ、形状、及び範囲等を表していない場合がある。したがって、本発明では、図面等に開示された位置、大きさ、形状、及び範囲等に限定されない。
【実施例１】
【００１７】
図１は、実施例１の計算機１００の構成の一例を示す図である。図２は、実施例１の業務の一例を示す図である。
【００１８】
計算機１００は、制約条件に基づいて、アイテムを処理する複数の工程から構成される業務におけるリソースの最適な配置を決定する。より具体的には、計算機１００は、リソースに関する制約条件に基づいて、業務の目的とする指標が最適となるように各工程へのリソースの配置を決定する。
【００１９】
本明細書では、人員をリソースとした扱う場合を例に実施例を説明する。なお、設備をリソースとして扱うこともできる。また、人員及び設備等、種別が異なるリソースの配置を決定する場合にも本発明を適用することができる。また、データ処理業務についても本発明を適用することができる。例えば、データをアイテム、プログラムをリソースとすることが考えられる。
【００２０】
本発明は、図２に示すようなアイテムの遷移経路の工程から構成される業務を対象とする。実線の矢印は通常のアイテムの進行方向を示し、点線の矢印は特殊なアイテムの進行方向を示す。例えば、工程Ｄの処理が行われたアイテムは、アイテムの状態等に応じて、工程Ｂに戻る場合、工程Ｅに遷移する場合がある。また、工程Ｃの処理が行われたアイテムは、アイテムの状態等に応じて、工程Ｄに遷移する場合、工程Ｄを経由せずに工程Ｅに遷移する場合がある。図２に示すような業務では、各工程へのアイテムの流入量及び各工程からのアイテムの流出量を事前に見積もることができない。また、業務が行われる時間（時刻及び季節）によってもアイテムの流入量及び流出量が変動する。
【００２１】
従来技術では、各工程の処理時間及び流入するアイテムの量は固定値として扱われており、時間帯及び季節といった時間の要素を取り入れられない。一方、本発明では、前述のような課題を解決し、リソースの最適な配置を決定する。
【００２２】
ここで、本明細書の用語及び表記について説明する。
【００２３】
「アイテム」は、業務の処理対象の最小単位を表す。「工程」は、アイテムを処理する最小単位を表す。「リソース」は、工程における処理を実現するために必要なモノを表す。例えば、組立業務の場合、アイテムは製品（部品）であり、工程は製品の製造工程であり、リソースは人員及び製造設備である。
【００２４】
本発明では、出力先の工程から出力元の工程へのアイテムの流入が起こりうる業務を想定する。例えば、製造業務において、検査工程の結果、製品の不備が発見された場合、当該製品を、再度、加工工程に戻すような流れである。
【００２５】
ここで、本明細書の表記を以下のように定義する。
【００２６】
本明細書では工程をｐｉと表記する。ここで、添え字のｉは工程を識別するための文字であり、本実施例では１からｎまでの整数とする。ｐ１及びｐｎは業務の初工程及び最終工程を示すものとする。
【００２７】
本明細書では、工程の集合をＰと表記する。
【００２８】
この場合、業務は、集合Ｐをノード全体集合とし、積集合Ｐ×Ｐの部分集合Ｖを弧全体集合とするグラフとして表される。なお、必ずしも初工程、最終工程が定義されるわけではないが、ノードｐ１、ｐｎと弧（ｐ１，ｐ）、（ｐｎ，ｐ）（ｐは集合Ｐの全ての要素）を仮想的に追加することで一般性を失わない。
【００２９】
本明細書では、リソース（作業者）の全体集合をＷと表記する。
【００３０】
なお、（Ｐ，Ｖ）は業務を定義するが、業務は必ず一つの拠点で行われている必要はない。本明細書では、拠点の全体集合をＬと表記する。
【００３１】
本明細書では、ある拠点ｌの工程ｐの時間帯ｔにおけるアイテムの流入量及び流出量をｖｉｌ，ｐ，ｔ、ｖｏｌ，ｐ，ｔと表記する。拠点が一つしかない場合、アイテムの流入量及び流出量をｖｉｐ，ｔ、ｖｏｐ，ｔと表記する。
【００３２】
本明細書では、時間帯の全体集合をＴと表記する。
【００３３】
図１の説明に戻る。計算機１００は、例えば、パーソナルコンピュータ、サーバ、ワークステーションであり、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１、メモリ１０２、ストレージ装置１０３、入力装置１０４、出力装置１０５、及び通信装置１０６を備える。各ハードウェアはバス１０７を介して互いに接続される。
【００３４】
ＣＰＵ１０１は、メモリ１０２に格納されるプログラムを実行する。ＣＰＵ１０１がプログラムにしたがって処理を実行することによって、特定の機能を実現する機能部（モジュール）として動作する。以下の説明では、機能部を主語に処理を説明する場合、ＣＰＵ１０１が当該機能部を実現するプログラムを実行していることを示す。
【００３５】
メモリ１０２は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の記憶装置であり、ＣＰＵ１０１が実行するプログラム及びＣＰＵ１０１が使用する情報を格納する。また、メモリ１０２は、ＣＰＵ１０１が一時的に使用するワークエリアを含む。メモリ１０２に格納されるプログラムについては後述する。
【００３６】
なお、メモリ１０２に格納されるプログラム及び情報はストレージ装置１０３に格納されてもよい。この場合、ＣＰＵ１０１が、ストレージ装置１０３からプログラム及び情報を読み出し、メモリ１０２にロードし、メモリ１０２に格納されるプログラムを実行する。
【００３７】
ストレージ装置１０３は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）及びＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶装置であり、データを永続的に格納する。ストレージ装置１０３に格納される情報については後述する。なお、ストレージ装置１０３は、ＣＤ-Ｒ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅｃｏｒｄａｂｌｅ）、ＤＶＤ-ＲＡＭ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ−Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、シリコンディスク等の記憶メディアの駆動装置でもよい。この場合、情報及びプログラムは記憶メディアに保存されている。
【００３８】
入力装置１０４は、例えば、キーボード、マウス、スキャナ、及びマイク等であり、計算機１００にデータを入力するための装置である。出力装置１０５は、ディスプレイ、プリンタ、及びスピーカ等であり、計算機１００から外部へデータを出力するための装置である。通信装置１０６は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のネットワークを介して通信するための装置である。
【００３９】
ここで、ストレージ装置１０３に格納される情報及びメモリ１０２に格納されるプログラムについて説明する。
【００４０】
ストレージ装置１０３は、履歴情報１３１、環境データ情報１３２、及び予測器情報１３３を格納する。
【００４１】
履歴情報１３１は、工程におけるアイテムの処理の履歴を管理するための情報である。履歴情報１３１のデータ構造の詳細は図３を用いて説明する。
【００４２】
環境データ情報１３２は、業務への影響を与える環境に関するデータを管理するための情報である。環境データ情報１３２のデータ構造の詳細は図４を用いて説明する。
【００４３】
予測器情報１３３は、各工程のアイテムの流入量及び流出量を予測する予測器を管理するための情報である。予測器情報１３３のデータ構造の詳細は図５を用いて説明する。
【００４４】
メモリ１０２は、学習部１２１及びリソース配置決定部１２２を実現するプログラムを格納する。
【００４５】
学習部１２１は、履歴情報１３１及び環境データ情報１３２に基づいて、各工程のアイテムの流出量の予測値を算出する予測器（流出量予測器）及び各工程のアイテムの流入量の予測値を算出する予測器（流入量予測器）を生成するための学習処理を実行する。学習部１２１は、生成された予測器を予測器情報１３３に設定する。
【００４６】
流出量の予測値を算出する予測器は、時間帯、当該時間帯以前の時間帯の流入量、当該時間帯の当該工程へのリソース配置案、及び環境データを入力として受けつける。流入量の予測値を算出する予測器は、時間帯、当該時間帯以前の時間帯の他工程の流出量、及び環境データを入力として受けつける。なお、各予測器は、入力される時間帯より前の時間帯における未処理のアイテムの流入量又は流出量を入力として受けつけてもよい。
【００４７】
リソース配置決定部１２２は、入力装置１０４又は通信装置１０６を介して、リソース制約情報１４１、最適化指標情報１４２、及び初工程流入量情報１４３を含む最適化要求を受けつける。なお、最適化要求には、対象とする時間幅等の情報も含まれる。
【００４８】
ここで、リソース制約情報１４１は、リソースの制約に関する情報である。最適化指標情報１４２は、リソースの割当を決定する場合の目標となる指標に関する情報である。初工程流入量情報１４３は、初工程に対するアイテムの流入量に関する情報である。リソース制約情報１４１のデータ構造の詳細については図６Ａ及び図６Ｂを用いて説明し、初工程流入量情報１４３のデータ構造の詳細については図７を用いて説明する。
【００４９】
なお、受けつけた最適化要求に含まれるリソース制約情報１４１、最適化指標情報１４２、及び初工程流入量情報１４３は、メモリ１０２及びストレージ装置１０３のいずれかに格納される。
【００５０】
リソース配置決定部１２２は、最適化要求を受けつけた場合、初工程流入量情報１４３及び予測器に基づいて、あるリソースの配置における各時間帯の各工程の流入量及び流出量の予測値を算出することで、シミュレータを構成する。さらに、リソース配置決定部１２２は、リソース制約情報１４１及び最適化指標情報１４２に基づいて、前記のシミュレータを活用し、各工程のリソースの配置を決定する。本実施例では、前記シミュレータは、混合整数計画法の制約式として実装される。リソース配置決定部１２２は、出力装置１０５又は通信装置１０６を介して、決定された、各工程のリソースの配置結果を含むリソース配置情報１５１を出力する。リソース配置情報１５１のデータ構造の詳細については図８を用いて説明する。
【００５１】
なお、計算機１００が有する各機能部については、複数の機能部を一つの機能部にまとめてもよいし、一つの機能部を機能毎に複数の機能部に分けてもよい。
【００５２】
また、計算機１００が有する各機能部を複数の計算機に分散配置した計算機システムとして本発明を実現してもよい。例えば、学習部１２１を有する計算機、リソース配置決定部１２２を有する計算機、及び各情報を保存するストレージシステムから構成される計算機システムが考えられる。
【００５３】
図３は、実施例１の履歴情報１３１のデータ構造の一例を示す図である。
【００５４】
履歴情報１３１は、アイテム識別子３０１、工程名３０２、開始時刻３０３、終了時刻３０４、及びリソース３０５を含むレコードを格納する。一つの履歴に対して一つのレコードが存在する。
【００５５】
アイテム識別子３０１は、アイテムの識別情報を格納するフィールドである。工程名３０２は、工程の名称を格納するフィールドである。開始時刻３０３は、工程の処理が開始された時刻を格納するフィールドである。終了時刻３０４は、工程の処理が終了した時刻を格納するフィールドである。リソース３０５は、配置された人員の数を格納するフィールドである。
【００５６】
なお、本実施例では、一つのアイテムに対して、同時刻に複数の工程の処理が行われないものとしている。ただし、前述の仮定は説明の簡単のためであって、本発明を限定するものではない。
【００５７】
なお、レコードに含まれるフィールドは一例であってこれに限定されない。図３に示すフィールドを全て含まなくてもよいし、また、図示しない他のフィールドを含んでもよい。例えば、レコードは終了時刻３０４を含まなくてもよい。この場合、ある工程の開始時刻から次の工程の開始時刻までの間は、ある工程の処理が行われているものとして扱われる。
【００５８】
図４は、実施例１の環境データ情報１３２のデータ構造の一例を示す図である。
【００５９】
環境データ情報１３２は、時間帯４０１、気温４０２、湿度４０３、天気４０４、及び花粉量４０５を含むレコードを格納する。一つの時間帯に対して一つのレコードが存在する。
【００６０】
時間帯４０１は、環境に関するデータの計測が行われた時間帯を格納するフィールドである。気温４０２、湿度４０３、天気４０４、及び花粉量４０５は、業務に影響を与える環境に関するデータを格納するフィールドである。
【００６１】
なお、レコードに含まれるフィールドは一例であってこれに限定されない。図４に示すフィールドを全て含まなくてもよいし、また、図示しない他のフィールドを含んでもよい。例えば、レコードは作業者の体調及び労働時間等のフィールドを含んでもよい。
【００６２】
図５は、実施例１の予測器情報１３３のデータ構造の一例を示す図である。
【００６３】
予測器情報１３３は、工程名５０１、予測器（流出量）５０２、及び予測器（流入量）５０３を含むレコードを格納する。一つの工程に対して一つのレコードが存在する。
【００６４】
工程名５０１は、工程名３０２と同一のフィールドである。予測器（流出量）５０２は、工程からのアイテムの流出量を算出するための予測器の情報を格納するフィールドである。予測器（流入量）５０３は、工程へのアイテムの流入量を算出するための予測器の情報を格納するフィールドである。
【００６５】
なお、レコードに含まれるフィールドは一例であってこれに限定されない。
【００６６】
図６Ａ及び図６Ｂは、実施例１のリソース制約情報１４１のデータ構造の一例を示す図である。
【００６７】
図６Ａは、テーブル形式のリソース制約情報１４１のデータ構造を示す。リソース制約情報１４１は、時間帯６０１及び最大リソース６０２を含むレコードを格納する。一つの時間帯に対して一つのレコードが存在する。
【００６８】
時間帯６０１は、リソースを配置する時間帯を格納するフィールドである。最大リソース６０２は、配置可能なリソースの数の最大値を格納するフィールドである。例えば、一番上のレコードは、２０１９／３／３の８時から９時までの時間帯の作業者の最大値が１０であることを表す。
【００６９】
図６Ｂは、行列形式のリソース制約情報１４１のデータ構造を示す。リソース制約情報１４１は、作業時間情報６１１及び担当工程指定情報６１２を含む。
【００７０】
作業時間情報６１１は、行が時間帯、列が人員である行列形式の情報であり、セルには列に対応する人員が行に対応する時間帯に作業可能か否かを示す値が格納される。具体的には、人員がある時間帯に作業可能な場合、セルには丸の記号が格納される。
【００７１】
担当工程指定情報６１２は、行が工程、列が人員である行列形式の情報であり、セルには列に対応する人員が行に対応する工程を担当可能か否かを示す値が格納される。
【００７２】
図６Ａに示すリソース制約情報１４１では、時間帯毎のリソースの最大値のみが制約されているが、図６Ｂに示すリソース制約情報１４１では、各作業者の作業時間及び担当工程が制約されている。
【００７３】
なお、図６Ａ及び図６Ｂに示すリソース制約情報１４１のデータ構造は一例であってこれに限定されない。
【００７４】
図７は、実施例１の初工程流入量情報１４３のデータ構造の一例を示す図である。
【００７５】
初工程流入量情報１４３は、時間帯７０１及び流入量７０２を含むレコードを格納する。一つの時間帯に対して一つのレコードが存在する。
【００７６】
時間帯７０１は、時間帯４０１と同一のフィールドである。流入量７０２は、初工程へのアイテムの流入量を格納するフィールドである。
【００７７】
図８は、実施例１のリソース配置情報１５１のデータ構造の一例を示す図である。
【００７８】
図８に示すリソース配置情報１５１は、時間帯を行、工程を列とする行列形式の情報である。セルには、行に対応する時間帯に、列に対応する工程へ配置するリソースの数が格納される。
【００７９】
図３から図８を用いて説明した情報において時間帯の幅は任意に設定できる。
【００８０】
次に、最適化指標情報１４２について説明する。
【００８１】
一つの拠点において行われる業務において、最終工程からのアイテムの流出量を最大化することを目的とした最適化の場合、すなわち、業務の効果の最大化を目的とした最適化の場合、最適化指標情報１４２には式（１）に示す数式が格納される。
【００８２】
【数１】
0006959975.tif 000002
【００８３】
複数の拠点において行われる業務において、最終工程からのアイテムの流出量を最大化することを目的とした最適化の場合、最適化指標情報１４２には式（２）に示す数式が格納される。
【００８４】
【数２】
0006959975.tif 000003
【００８５】
リソース間の作業負荷を最小化することを目的とした最適化の場合、最適化指標情報１４２には式（３）に示すような数式が格納される。
【００８６】
【数３】
0006959975.tif 000004
【００８７】
ここで、Ｉｗ，ｌ，ｐ，ｔは、拠点ｌにおいて時間帯ｔにリソースｗが工程ｐに配置された場合にのみ１となり、その他の場合は０となる関数である。また、αｐは、工程の負荷の大きさに応じて設定される重みである。なお、式（３）の重みは、工程のみに依存しているが、リソース及び拠点等に依存した重みでもよい。
【００８８】
次に、計算機１００が実行する処理について説明する。
【００８９】
図９Ａ及び図９Ｂは、実施例１の学習部１２１が実行する学習処理の一例を説明するフローチャートである。
【００９０】
図９Ａは流出量の予測値を算出するための予測器を生成するための学習処理の流れを示す。
【００９１】
学習部１２１は、実行指示を受けつけた場合、最適化要求を受けつけた場合、又は周期的に図９Ａに示す学習処理を実行する。なお、学習処理の実行タイミングは、後述する配置最適化処理の開始前に予測器が生成されるタイミングであればよい。
【００９２】
学習部１２１は、履歴情報１３１を参照し、時間帯及び工程のペアを生成する（ステップＳ１０１）。時間帯についてはユーザが指定してもよい。
【００９３】
次に、学習部１２１は、履歴情報１３１を参照し、各ペアのリソースの数ｋｐ，ｔを算出する（ステップＳ１０２）。
【００９４】
次に、学習部１２１は、履歴情報１３１を参照し、各ペアの流入量ｖｉｌ，ｐ，ｔ、流出量ｖｏｌ，ｐ，ｔ、及び滞留量ｘｐ，ｔを算出する（ステップＳ１０３）。
【００９５】
次に、学習部１２１は、ｋｐ，ｔ、ｖｏｐ，ｔ、ｘｐ，ｔ、環境データｅｔに基づいて、各工程ｐのアイテムの流出量を予測するための予測器を生成する（ステップＳ１０４）。実施例１では、線型関数ｆｐ（ｘｐ，ｔ−１，ｅｔ，ｋｐ，ｔ）が予測器として生成されるものとする。なお、学習アルゴリズムは公知のものを用いればよいため詳細な説明は省略する。また、学習に用いる情報は上記に限られず、例えば当該時間帯の当該工程の入力数ｖｉｐ，ｔを学習に用いてもよい。
【００９６】
次に、学習部１２１は、各工程の予測器を予測器情報１３３に登録し（ステップＳ１０５）、その後、処理を終了する。
【００９７】
なお、予測器の生成に用いる値は一例であってこれに限定されない。例えば、他の工程のアイテムの流出量及び環境データを変数とする予測器を生成してもよい。
【００９８】
図９Ｂは流入量の予測値を算出するための予測器を生成するための学習処理の流れを示す。
【００９９】
学習部１２１は、実行指示を受けつけた場合、最適化要求を受けつけた場合、又は周期的に図９Ｂに示す学習処理を実行する。なお、学習処理の実行タイミングは、後述する最適配置決定処理の開始前に予測器が生成されるタイミングであればよい。
【０１００】
学習部１２１は、履歴情報１３１を参照し、時間帯及び工程のペアを生成する（ステップＳ２０１）。時間帯についてはユーザが指定してもよい。
【０１０１】
次に、学習部１２１は、履歴情報１３１を参照し、各ペアの流入量ｖｉｐ，ｔ及び流出量ｖｏｐ，ｔを算出する（ステップＳ２０２）。
【０１０２】
次に、学習部１２１は、ｖｉｐ，ｔ、ｖｏｐ，ｔに基づいて、各工程ｐのアイテムの流入量を予測するための予測器を生成する（ステップＳ２０３）。実施例１では、式（４）に示すような線型関数ｇｐが予測器として生成されるものとする。なお、学習アルゴリズムは公知のものを用いればよいため詳細な説明は省略する。
【０１０３】
【数４】
0006959975.tif 000005
【０１０４】
本実施例では、初工程の流入量については初工程流入量情報１４３として与えられるため、初工程のアイテムの流入量を予測する予測器は生成されない。
【０１０５】
次に、学習部１２１は、各工程の予測器を予測器情報１３３に登録し（ステップＳ２０４）、その後、処理を終了する。
【０１０６】
図１０は、実施例１のリソース配置決定部１２２が実行する配置最適化処理の一例を説明するフローチャートである。
【０１０７】
リソース配置決定部１２２は、指定された時間幅に基づいて、処理単位となる時間帯を決定する（ステップＳ３０１）。具体的には、リソース配置決定部１２２は、指定された時間幅を、学習時に利用した時間帯と同じになるように、複数の時間帯に分割する。
【０１０８】
次に、リソース配置決定部１２２は、履歴情報１３１を参照し、最適化対象の最初の時刻ｔ１に対し、各工程の滞留アイテム数をｘｐ，ｔ１を算出する（ステップＳ３０２）。これは、例えば前日に作業を終了できなかったアイテム数に相当する。
【０１０９】
次に、リソース配置決定部１２２は、環境データ情報１３２、予測器情報１３３、リソース制約情報１４１、最適化指標情報１４２、初工程流入量情報１４３を取得する（ステップＳ３０３）。
【０１１０】
次に、リソース配置決定部１２２は、目的関数及び制約式を構成し、これを混合整数計画法に基づき最適解を導出する（ステップＳ３０４）。
【０１１１】
具体的には、リソース配置決定部１２２は、最適化指標情報１４２から目的関数を構成し、初工程流入量情報１４３、環境データ情報１３２、及び予測器情報１３３を、工程間を遷移するアイテム数に関する等式制約として定式化する。また、リソース配置決定部１２２は、リソース制約情報１４１を不等式制約として定式化する。本実施例においては、予測器が線型であると仮定しているので、目的関数及びすべての制約が線型関数として記述される。したがって、各工程の滞留アイテム数を入力とする、混合整数計画法に基づいてリソースの配置を求めることができる。
【０１１２】
最後に、リソース配置決定部１２２は、求解した結果からリソース配置情報１５１を生成し、出力する（ステップＳ３０５）。
【０１１３】
なお、すべての工程のアイテムの流出量及び流入量を算出する予測器を生成したが、必ずしもすべての工程について予測器を生成する必要はない。例えば、図２に示す業務において、工程Ｂ、Ｃの履歴が存在しない場合、及び、工程Ｂ、Ｃはリソースの配置の対象としない場合、工程Ａ、Ｄ、Ｅのアイテムの流入量及び流出量を予測する予測器のみを生成してもよい。
【０１１４】
以上で説明したように、計算機１００は、予測器を用いて各工程のアイテムの流入量及び流出量を求めることによって、アイテムの遷移を線型制約として表現できる。これによって、計算機１００は、混合整数計画法を用いて与えられた初工程のアイテムの流入量と目標となる指標に基づいて、最適なリソースの配置を決定することができる。
【０１１５】
したがって、計算機１００は、手戻り等の工程間の遷移を含む業務における最適なリソースの配置を決定できる。
【実施例２】
【０１１６】
実施例２では、初工程のアイテムの流入量を予測する予測器を生成する点が実施例１と異なる。以下、実施例１との差異を中心に実施例２について説明する。
【０１１７】
実施例２の計算機１００のハードウェア構成及びソフトウェア構成は、実施例１と同一である。ただし、実施例２の最適化要求には初工程流入量情報１４３が含まれない。
【０１１８】
実施例２では、初工程以外の工程については図９Ｂで説明した処理によって、アイテムの流入力を予測する予測器が生成され、初工程については以下のような処理が実行される。
【０１１９】
図１１は、実施例２の学習部１２１が実行する学習処理の一例を説明するフローチャートである。
【０１２０】
学習部１２１は、履歴情報１３１を参照し、時間帯及び工程のペアを生成する（ステップＳ２１１）。時間帯についてはユーザが指定してもよい。
【０１２１】
次に、学習部１２１は、履歴情報１３１を参照し、各ペアの流入量ｖｉｐ＿１，ｔを算出する（ステップＳ２１２）。なお、表記の関係でｐ１をｐ＿１と記載している。
【０１２２】
次に、学習部１２１は、ｖｉｐ＿１，ｔ及び環境データ情報１３２に基づいて、初工程ｐ１のアイテムの流入量を予測するための予測器を生成する（ステップＳ２１３）。具体的には、式（５）に示すような線型関数ｇｐ＿１が予測器として生成されるものとする。線型関数ｇｐ＿１は、ＡＲＩＭＡ等の状態空間モデルとして表される。なお、学習アルゴリズムは公知のものを用いればよいため詳細な説明は省略する。
【０１２３】
【数５】
0006959975.tif 000006
【０１２４】
次に、学習部１２１は、初工程の予測器を予測器情報１３３に登録し（ステップＳ２１４）、その後、処理を終了する。
【０１２５】
実施例２の配置最適化処理はステップＳ３０３、ステップＳ３０４の処理が一部異なる。まず、リソース配置決定部１２２は、まずステップＳ３０３で初工程流入量情報１４３の取得を行わない。代わりに、履歴情報１３１を参照し、最適化対象の最初の時間帯の流入量予測に必要な情報を取得する。リソース配置決定部１２２は、取得した情報を用い、ステップＳ３０４で初工程の流入量に関する等式制約を関数ｇｐ＿１による制約に変更する。
【０１２６】
実施例２によれば、初工程へのアイテムの流入量が与えられていない場合でも、計算機１００は最適なリソースの配置を決定できる。
【実施例３】
【０１２７】
実施例３では、学習部１２１によって生成される予測器が線型関数ではない点が異なる。以下、実施例１との差異を中心に実施例３について説明する。
【０１２８】
実施例３の計算機１００のハードウェア構成及びソフトウェア構成は、実施例１と同一である。
【０１２９】
実施例３の学習部１２１が実行する処理の流れは実施例１や実施例２と同一であるが、生成される予測器が異なる。例えば、非線型関数として予測器が生成される。例えば、実施例２で初工程の予測器を学習部１２１が生成するときに、パーティクルフィルタなどの状態空間モデルを活用する。又は、例えば、外乱を加える等の確率モデルが予測器として生成される。
【０１３０】
例えば、学習部１２１は、ステップＳ１０３において、各工程に対して、作業終了件数をリソース時総計で除算したλを算出し、式（６）で示すポアソン分布に基づいて、時間帯毎のアイテムの流出量を算出してもよい。
【０１３１】
【数６】
0006959975.tif 000007
【０１３２】
ただし、Ｐ（Ｘ＝ｋ）は時間帯毎のアイテムの流出量がｋである確率を表す。
【０１３３】
実施例３では、配置最適化処理を実行する前にリソースの配置を決定するためのアルゴリズムを生成するための処理が実行される。図１２は、実施例３のリソース配置決定部１２２が実行する事前処理の一例を説明するフローチャートである。
【０１３４】
リソース配置決定部１２２は、指定された時間幅に基づいて、処理単位となる時間帯を決定する（ステップＳ４０１）。
【０１３５】
次に、リソース配置決定部１２２は、最初の時間帯における各工程のアイテムの滞留量ｘｐ，ｔ＿１選択する（ステップＳ４０２）。なお、表記の関係でｔ１をｔ＿１と記載している。
【０１３６】
次に、リソース配置決定部１２２は、環境データ、予測器情報１３３、リソース制約情報１４１、及び最適化指標情報１４２を取得する（ステップＳ４０３）。
【０１３７】
次に、リソース配置決定部１２２は、強化学習における状態空間、行動空間、及び報酬を設定する（ステップＳ４０４）。これらの設定はワークエリア又はストレージ装置１０３に格納される。
【０１３８】
ここで、状態空間は、予測器情報１３３の入力となる情報を含み、例えば、終了時刻までのステップ数、各工程に滞留しているアイテムの数、各工程に配置するリソースの数を含む。行動空間は、状態間の遷移を表すよう定義する。例えば、時刻ｔｍの状態は、時刻ｔｍ＋１の状態にしか遷移できず、動かせるリソース数に閾値があれば、その制約を満たす状態間のみに遷移を許す。報酬は、例えば、その遷移による目的関数のゲインとして定義する。複数の目的関数のゲインの重み付き総和であってもよい。
【０１３９】
次に、リソース配置決定部１２２は、強化学習アルゴリズムに基づいて、状態価値関数、行動価値関数、方策を学習する（ステップＳ４０５）。その後、リソース配置決定部１２２は事前処理を終了する。
【０１４０】
なお、ヒューリステックス最適化の方法等を用いた学習でもよい。また、流出量を予測する予測器がポアソン分布によるものであり、流入量を予測する予測器が確定的な（確率的でない）予測器である場合、リソース配置決定部１２２は、動的計画法を用いて状態価値関数、行動価値関数、及び方策を学習できる。
【０１４１】
実施例３の配置最適化処理は実施例１と同一である。ただし、ステップＳ３０４では、リソース配置決定部１２２は、事前処理によって生成された方策等に基づいて、最適なリソースの配置を決定する。
【０１４２】
なお、状態価値関数、行動価値関数、及び方策は、各時刻におけるリアルタイムなリソースの配置にも用いることができる。
【０１４３】
なお、計算機１００は、リソース配置情報１５１を出力した後、リソース配置に対するユーザの評価を受けつけるためのインタフェースを提供してもよい。図１３は、実施例３の計算機１００によって提示される結果画面１３００の一例を示す図である。
【０１４４】
結果画面１３００は、リソース配置に対するユーザの評価を受けつけるためのインタフェースの一例である。結果画面１３００は結果表示欄１３０１及び評価欄１３０２を含む。
【０１４５】
結果表示欄１３０１は選択欄１３１１を含む。ユーザは、選択欄１３１１を操作することによって、参照するリソース配置情報１５１を選択する。結果表示欄１３０１には、指定されたリソース配置情報１５１が表示される。
【０１４６】
評価欄１３０２は、ラジオボタン１３２１、１３２２、得点入力欄１３２３、理由入力欄１３２４、及び決定ボタン１３２５を含む。
【０１４７】
ラジオボタン１３２１、１３２２は、リソース配置情報１５１を採用するか否かを選択するためのラジオボタンである。リソース配置情報１５１を採用する場合にはラジオボタン１３２１が操作され、リソース配置情報１５１を採用しない場合にはラジオボタン１３２２が操作される。
【０１４８】
得点入力欄１３２３は、リソース配置情報１５１の評価を示す得点を入力するための欄である。図１３では、プルダウン形式で得点が表示される。
【０１４９】
理由入力欄１３２４は、リソース配置情報１５１の評価理由を入力するための欄である。
【０１５０】
決定ボタン１３２５は、評価欄１３０２の操作内容を出力するための操作ボタンである。
【０１５１】
提示したリソース配置情報１５１が採用されなかった場合、計算機１００が自動的に報酬等、リソース配置の最適化のアルゴリズムを更新する。また、計算機１００の管理者が、得点及び評価理由等を参照して、当該アルゴリズムを更新してもよい。このように、評価結果を用いてリソース配置の最適化のアルゴリズムを調整できる。
【０１５２】
以上で説明したように、計算機１００は、予測器を用いて各工程のアイテムの流入量及び流出量を求めることによって、アイテムの遷移をシミュレーションできる。これによって、計算機１００は、強化学習に基づいて、最適なリソースの配置を決定することができる。
【０１５３】
したがって、計算機１００は、手戻り等の工程間の遷移を含む業務の最適なリソースの配置を決定できる。
【０１５４】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【０１５５】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【０１５６】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、Ｓｈｅｌｌ、ＰＨＰ、Ｐｙｔｈｏｎ、Ｊａｖａ（登録商標）等の広範囲のプログラム又はスクリプト言語で実装できる。
【０１５７】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【０１５８】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【符号の説明】
【０１５９】
１００  計算機
１０１  ＣＰＵ
１０２  メモリ
１０３  ストレージ装置
１０４  入力装置
１０５  出力装置
１０６  通信装置
１０７  バス
１２１  学習部
１２２  リソース配置決定部
１３１  履歴情報
１３２  環境データ情報
１３３  予測器情報
１４１  リソース制約情報
１４２  最適化指標情報
１４３  初工程流入量情報
１５１  リソース配置情報
６１１  作業時間情報
６１２  担当工程指定情報
１３００  結果画面
【図１】
0006959975.tif 000008
【図２】
0006959975.tif 000009
【図３】
0006959975.tif 000010
【図４】
0006959975.tif 000011
【図５】
0006959975.tif 000012
【図６Ａ】
0006959975.tif 000013
【図６Ｂ】
0006959975.tif 000014
【図７】
0006959975.tif 000015
【図８】
0006959975.tif 000016
【図９Ａ】
0006959975.tif 000017
【図９Ｂ】
0006959975.tif 000018
【図１０】
0006959975.tif 000019
【図１１】
0006959975.tif 000020
【図１２】
0006959975.tif 000021
【図１３】
0006959975.tif 000022