(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-04
(45)【発行日】2024-04-12
(54)【発明の名称】情報処理システムおよび情報処理方法
(51)【国際特許分類】
B65G 1/137 20060101AFI20240405BHJP
G06Q 10/08 20240101ALI20240405BHJP
【FI】
B65G1/137 E
G06Q10/08
(21)【出願番号】P 2020107982
(22)【出願日】2020-06-23
【審査請求日】2023-02-17
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(73)【特許権者】
【識別番号】000147833
【氏名又は名称】株式会社イシダ
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】加藤 晶子
(72)【発明者】
【氏名】吉村 地尋
(72)【発明者】
【氏名】吉川 武志
(72)【発明者】
【氏名】朝生 雄大
(72)【発明者】
【氏名】根来 恒平
【審査官】板澤 敏明
(56)【参考文献】
【文献】特開2010-269860(JP,A)
【文献】特開2020-093860(JP,A)
【文献】国際公開第2019/216277(WO,A1)
【文献】特開2020-071657(JP,A)
【文献】特開2002-145421(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B65G 1/00-1/20
G06Q 10/08
G06Q 50/28
(57)【特許請求の範囲】
【請求項1】
物品のピッキング作業を支援する情報処理システムであって、
物品がピッキングされるコンテナを搭載するカートについて、ピッキング対象となる物品の管理情報と当該物品がピッキングされるコンテナの識別情報とが対応付けられた物品情報の入力を受け付ける入力部と、
前記物品情報に含まれるコンテナにピッキングされる
、前記コンテナの組み合わせごとの物品の重複度であるピッキング重複度を算出し、前記コンテナへの物品の割当案の第1の評価基準とする第1の算出部と、
前記コンテナの識別情報と前記カートの識別情報とを変数としたときの変数間の相互作用の強度として設定した相互作用モデルと、前記ピッキング重複度とを用いて最適化計算を実行し、前記物品を前記コンテナに割り当てるための割当案を算出する第2の算出部と、
を有することを特徴とする情報処理システム。
【請求項2】
請求項1記載の情報処理システムであって、
前記第1の算出部は、複数の異なる評価ポリシを用いて、前記ピッキング重複度を算出し、
前記第2の算出部は、前記算出されたそれぞれの前記ピッキング重複度と、前記相互作用モデルとを用いて前記割当案を算出し、算出した前記割当案のなかから、前記第1の評価基準とは異なる第2の評価基準に基づいて、提示すべき割当案を決定する、
ことを特徴とする情報処理システム。
【請求項3】
請求項2記載の情報処理システムであって、
前記第1の算出部は、前記評価ポリシのうち、重複がない前記物品の数を最小化する評価ポリシを用いて、前記ピッキング重複度を算出する、
ことを特徴とする情報処理システム。
【請求項4】
請求項2記載の情報処理システムであって、
前記第1の算出部は、前記評価ポリシのうち、重複がある前記物品の数を最大化する評価ポリシを用いて、前記ピッキング重複度を算出する、
ことを特徴とする情報処理システム。
【請求項5】
請求項2記載の情報処理システムであって、
前記第1の算出部は、前記カートの移動距離と前記ピッキング重複度とにより定められる評価ポリシを用いて、新たなピッキング重複度を前記第1の評価基準とする、
ことを特徴とする情報処理システム。
【請求項6】
請求項2記載の情報処理システムであって、
前記第2の算出部は、前記物品の総重複数を前記第2の評価基準として、提示すべき割当案を決定する、
ことを特徴とする情報処理システム。
【請求項7】
請求項2記載の情報処理システムであって、
前記第2の算出部は、前記カートの総移動距離を前記第2の評価基準として、提示すべき割当案を決定する、
ことを特徴とする情報処理システム。
【請求項8】
請求項1記載の情報処理システムであって、
前記第2の算出部は、前記相互作用モデルを用いた最適化計算を、アニーリング型計算機により実行する、
ことを特徴とする情報処理システム。
【請求項9】
請求項1記載の情報処理システムであって、
前記第2の算出部は、前記相互作用モデルを用いた最適化計算を、CPUまたはGPUを有した計算機にインストールされたソフトウェアにより実行する、
ことを特徴とする情報処理システム。
【請求項10】
コンピュータを実行して、物品のピッキング作業を支援する情報処理システムで行われる情報処理方法であって、
入力部が、物品がピッキングされるコンテナを搭載するカートについて、ピッキング対象となる物品の管理情報と当該物品がピッキングされるコンテナの識別情報とが対応付けられた物品情報の入力を受け付け、
第1の算出部が、前記物品情報に含まれるコンテナにピッキングされる
、前記コンテナの組み合わせごとの物品の重複度であるピッキング重複度を算出し、前記コンテナへの物品の割当案の第1の評価基準とし、
第2の算出部が、前記コンテナの識別情報と前記カートの識別情報とを変数としたときの変数間の相互作用の強度として設定した相互作用モデルと、前記ピッキング重複度とを用いて最適化計算を実行し、前記物品を前記コンテナに割り当てるための割当案を算出する、
ことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ピッキング作業を支援する情報処理システムおよび情報処理方法に関する。
【背景技術】
【0002】
ネット通販市場の拡大に伴い、多品種少量のオーダーが増える中、倉庫内ピッキング業務の課題である人手不足の解消、生産性の向上が急務となっている。物流倉庫内のピッキング業務では、ピッキングするためのカートやIoT(Internet of Things)システムが活用されている。倉庫内ピッキングの工夫としてよく知られているのは、複数の出荷先間口の同時ピッキング(マルチピッキング)による効率化などが挙げられる。このような技術として、商品収集用のコンテナを有し、搬送経路に沿って移動する搬送装置を用いて、多数の商品を収容する複数の商品棚から所定の商品をピッキングする技術がある(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ピッキングカートによる作業効率向上を図るためには、ピッキング作業者の移動距離の短縮や、複数の出荷先間口の同時ピッキング(マルチピッキング)による効率化により性能向上を検討することが一般的である。特許文献1では、同一カート上のコンテナ内商品の重複度を上げることにより、マルチピッキングの効率向上とピッキング作業者の移動距離の短縮を行っている。しかし、当該文献では、一定のルールに基づいてカートに搭載されたコンテナの割当てを決定するため、積み荷となる物品が必ずしもカート上のコンテナに効率よく割当てられていなかった。
【0005】
本発明の一側面は、ピッキング作業で用いられるカート上のコンテナに物品を効率よく割り当てることが可能な情報処理システムおよび情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の一態様にかかる情報処理システムは、物品のピッキング作業を支援する情報処理システムであって、物品がピッキングされるコンテナを搭載するカートについて、ピッキング対象となる物品の管理情報と当該物品がピッキングされるコンテナの識別情報とが対応付けられた物品情報の入力を受け付ける入力部と、前記物品情報に含まれるコンテナにピッキングされる物品の重複度であるピッキング重複度を算出し、前記コンテナへの物品の割当案の第1の評価基準とする第1の算出部と、前記コンテナの識別情報と前記カートの識別情報とを変数としたときの変数間の相互作用の強度として設定した相互作用モデルと、前記ピッキング重複度とを用いて最適化計算を実行し、前記物品を前記コンテナに割り当てるための割当案を算出する第2の算出部と、を有することを特徴とする情報処理システムとして構成される。
【発明の効果】
【0007】
本発明の一態様によれば、ピッキング作業で用いられるカート上のコンテナに物品を効率よく割り当てることができる。
【図面の簡単な説明】
【0008】
【
図1】本実施例におけるサーバ装置の機能構成例を示すブロック図である。
【
図3】本システムで行われる処理(割当案提示処理)の処理手順を示すフローチャートである。
【
図5】S202において、演算部がピッキング重複度を算出する場合の処理手順を示すフローチャートである。
【
図6】演算部が、コンテナごとの物品の重複の有無および重複数をカウントした結果を示す重複数カウントテーブルの例を示す図である。
【
図8】最適な割当案の評価方法を定めた割当案評価情報の例を示す図である。
【
図9】演算部が最終的に提示すべきと判断した割当案の例を示す図である。
【
図10】作業者が、当該割当案にしたがってピッキングする様子を示すイメージ図である。
【
図11】カートの移動パターンの例を示す図である。
【
図12】カートの移動パターンの他の例を示す図である。
【発明を実施するための形態】
【0009】
以下、図面を参照して本発明の実施形態を説明する。以下の記載および図面は、本発明を説明するための例示であって、説明の明確化のため、適宜、省略および簡略化がなされている。本発明は、他の種々の形態でも実施する事が可能である。特に限定しない限り、各構成要素は単数でも複数でも構わない。
【0010】
図面において示す各構成要素の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面に開示された位置、大きさ、形状、範囲などに限定されない。
【0011】
以下の説明では、「テーブル」、「リスト」等の表現にて各種情報を説明することがあるが、各種情報は、これら以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「XXテーブル」、「XXリスト」等を「XX情報」と呼ぶことがある。識別情報について説明する際に、「識別情報」、「識別子」、「名」、「ID」、「番号」等の表現を用いた場合、これらについてはお互いに置換が可能である。
【0012】
同一あるいは同様な機能を有する構成要素が複数ある場合には、同一の符号に異なる添字を付して説明する場合がある。ただし、これらの複数の構成要素を区別する必要がない場合には、添字を省略して説明する場合がある。
【0013】
また、以下の説明では、プログラムを実行して行う処理を説明する場合があるが、プログラムは、プロセッサ(例えばCPU(Central Processing Unit)、GPU(Graphics Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)および/またはインターフェースデバイス(例えば通信ポート)等を用いながら行うため、処理の主体がプロセッサとされてもよい。同様に、プログラムを実行して行う処理の主体が、プロセッサを有するコントローラ、装置、システム、計算機、ノードであってもよい。プログラムを実行して行う処理の主体は、演算部であれば良く、特定の処理を行う専用回路(例えばFPGA(Field-Programmable Gate Array)やASIC(Application Specific Integrated Circuit))を含んでいてもよい。
【0014】
プログラムは、プログラムソースから計算機のような装置にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバまたは計算機が読み取り可能な記憶メディアであってもよい。プログラムソースがプログラム配布サーバの場合、プログラム配布サーバはプロセッサと配布対象のプログラムを記憶する記憶資源を含み、プログラム配布サーバのプロセッサが配布対象のプログラムを他の計算機に配布してもよい。また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。
【0015】
以下に本実施の形態にかかる情報処理システムおよび情報処理方法を一般的なコンピュータであるサーバ装置に適用した場合について詳細に説明するが、この例に限らず、プログラムを実行して情報処理システムの機能を実現可能な様々な装置や機器に適用することができる。
【0016】
図1は、本実施例におけるサーバ装置1の機能構成例を示すブロック図である。
図1に示すように、サーバ装置1は、倉庫等の保管場所に保管されている商品や製品をはじめとする物品がピッキングされるコンテナ102を搭載可能なカート100に、ネットワークNを介して接続される。サーバ装置1は、ピッキング対象となる物品を、カート100に搭載されるコンテナ102に効率よく適切に割り当てるための割当案を生成するサーバである。ネットワークNは、有線、無線を問わず、従来から知られている一般的なネットワークを用いることができる。また、カート100には、サーバ装置1から上記割当案を受信する受信部、当該受信部により受信された上記割当案を作業者に提示するため表示部、当該表示部に上記割当案を出力する制御部等を備えたコンピュータ101を有している。
【0017】
サーバ装置1は、ピッキング対象となる物品のリストである物品リスト31の入力を受け付ける入力部2と、本システムで用いられる各種データを記憶する記憶部3と、上記物品リストと所定の算式を用いて上記割当案を生成する演算部4とを有している。記憶部3に記憶される各種データとしては、例えば、上記物品リスト31、コンテナ102にピッキングする物品の重複度や、物品をピッキングするためのカート100の移動距離を用いて定められる、実運用に適した割当案を評価するための評価ポリシを定めた評価設定情報32、重複度の定義をいくつか変えて最適化計算して得られた複数の割当案のなかで最も優れた効率のよい割当案を選択するための評価方法を定めた割当案評価情報33が含まれる。
【0018】
後述するように、演算部4は、記憶部3に記憶された相互作用モデル35を読み出すとともに、物品リスト31、評価設定情報32を読み出す。演算部4は、読み出した物品リスト31、評価設定情報32に含まれる情報を、相互作用モデル35で用いるパラメータである相互作用の強度351や変数情報352として設定し、所定の評価基準で、物品をカート100に搭載されるコンテナ102に効率よく適切に割り当てるための割当案91を生成する。
図1では、相互作用モデル35、相互作用の強度351、変数情報352が、記憶部3から読み出された状態を示している。
【0019】
サーバ装置1は、例えば、
図2(コンピュータの概略図)に示すような、CPU201と、メモリ202と、HDD(Hard Disk Drive)等の外部記憶装置203と、CD(Compact Disk)やDVD(Digital Versatile Disk)等の可搬性を有する記憶媒体208に対して情報を読み書きする読書装置207と、キーボードやマウス等の入力装置206と、ディスプレイ等の出力装置205と、通信ネットワークに接続するためのNIC(Network Interface Card)等の通信装置204と、これらを連結するシステムバス等の内部通信線(システムバスという)209と、を備えた一般的なコンピュータにより実現できる。
【0020】
例えば、サーバ装置1の記憶部3に記憶されたデータは、CPU201がメモリ202または外部記憶装置203から読み出して利用することにより実現可能である。また、サーバ装置1が有する入力部2、演算部4は、CPU201が外部記憶装置203に記憶されている所定のプログラムをメモリ202にロードして実行することにより実現可能である。サーバ装置1は、CPU201が入力装置206を動作させて問い合わせ入力部2の入力機能を実現してもよい。サーバ装置1は、CPU201が出力装置205を動作させて記憶部3に記憶されたデータを出力してもよい。また、サーバ装置1は、CPU201が通信装置204を動作させてカート100に搭載されたコンピュータ101との間で通信してもよい。
【0021】
上述した所定のプログラムは、読書装置207を介して記憶媒体208から、あるいは、通信装置204を介してネットワークから、外部記憶装置203に記憶(ダウンロード)され、それから、メモリ202上にロードされて、CPU201により実行されるようにしてもよい。また、読書装置207を介して、記憶媒体208から、あるいは通信装置204を介してネットワークから、メモリ202上に直接ロードされ、CPU201により実行されるようにしてもよい。
【0022】
以下では、サーバ装置1の各部が、ハードウェアとしては一般的なコンピュータに設けられているが、これらの全部または一部が、クラウドのような1または複数のコンピュータに分散して設けられ、互いに通信することにより同様の機能を実現してもよい。サーバ装置1の各部の動作、保持するデータの例については、フローチャートを用いて説明する。
【0023】
図2では、サーバ装置1のハードウェアの一例について説明したが、カート100に搭載されるコンピュータ101についても同様の構成を有したコンピュータを用いることができる。
【0024】
図3は、本システムで行われる処理(割当案提示処理)の処理手順を示すフローチャートである。割当案提示処理では、まず、入力部2は、物品リスト31の入力を受け付け、記憶部3に格納する(S201)。例えば、入力部2は、USB等の記憶媒体に記憶された物品リスト31を読み取ったり、あるいはキーボード等の入力装置から物品リスト31に記載された情報の入力を受け付ける。
【0025】
図4は、物品リスト31の例を示す図である。
図4では、ある1つのカート(カート1)についての物品リスト31を例示しているが、割当案の送信対象となるカートが複数ある場合には、これらの他のカートについても同様のレイアウトで物品リスト31が定められている。
【0026】
図4に示すように、物品リスト31は、コンテナ102を識別するためのコンテナIDと、当該コンテナに載せられる物品の物品名およびその数である物品数と、当該物品の配送日時および配送先と、当該物品が置かれている棚の名称と、当該棚が配置されている通路とが対応付けて記憶されている。
図4では、例えば、カート1には、コンテナID「1」で識別されるコンテナに、物品の一例である商品a、商品bを、それぞれ30個、10個ずつピッキングする必要があることを示している。また、これらの商品は、2019年1月31日にA店に配送するスケジュールであり、商品aは、通路1に配置されている棚Sに置かれており、商品bは、通路3に配置されている棚Tに置かれていることを示している。さらに、当該カート1には、コンテナID「2」で識別されるコンテナに、上記商品b、商品c、商品eを、それぞれ14個、20個、12個ずつピッキングする必要があることを示している。また、これらの商品は、2019年1月31日にB店に配送するスケジュールであり、商品bは、上記棚Tに置かれており、商品cは、通路4に配置されている棚Uに置かれ、商品eは、通路5に配置されている棚Vに置かれていることを示している。
【0027】
図3に戻り、S202では、演算部4は、第1の評価基準となる、コンテナ102の組合せごとの商品のピッキング重複度または/及びカート100の移動距離を算出する。ピッキング重複度の算出方法に関しては、
図5~
図7を用いて後述する。コンテナ102の組合せごとのピッキング重複度とは、例えば、カート1に搭載されているコンテナ102のそれぞれにピッキングされる物品が、コンテナ102同士でどの程度重複しているのかを示す指標である。また、カート100の移動距離とは、そのようなピッキング重複度で物品をピッキングするときに算出されるカート100の移動距離である。
【0028】
S203では、演算部4は、S202で算出したピッキング重複度を係数とした目的関数を用いて最適化計算を実行し、ピッキング対象となる物品を、カート100に搭載されるコンテナ102に効率よく適切に割り当てるための割当案を算出する。最適化計算は、例えば、演算部4が、CMOS(Complementary Metal-Oxide Semiconductor)アニーリングマシンなどのアニーリング型計算機や、CPUやGPU上にソフトウェア実装された最適化問題を解くためのソフトウェアを用いて実行することができる。後述するように、本実施例では、演算部4は、異なる割当案を複数生成することができる。
【0029】
S204では、演算部4は、入力部2が、追加で割当案を生成する旨の指示を受け付けたか否かを判定する。演算部4は、入力部2が、追加で割当案を生成する旨の指示を受け付けたと判定した場合(S204;Yes)、S202に戻り、例えば、後述するように複数の評価ポリシのなかで既に計算に用いた評価ポリシとは異なる評価ポリシを用いて目的関数の重み算出を行い、以降の処理を繰り返す。一方、演算部4は、入力部2が、追加で割当案を生成する旨の指示を受け付けていないと判定した場合(S204;No)、さらに割当案を生成しないと判断し、次のステップに進む。
【0030】
S205では、演算部4は、業務に応じて優先されるべき第2の評価基準により、算出された割当案の中からどの割当案が適切か評価し、適切であると評価した割当案を出力する。割当案の評価方法については、
図8を用いて後述する。
【0031】
S206では、演算部4は、S205で出力した割当案をカート100に送信する。なお、演算部4は、評価対象となる割当案のうち、上記第2の評価基準を満たした割当案の有無を判定し、上記第2の評価基準を満たした割当案がないと判定した場合には、S202に戻り、既にピッキング重複度を算出したときとは異なる制約条件で、再度、ピッキング重複度または/及びカート100の移動距離を算出し、以降の処理を繰り返せばよい。
【0032】
<割当案の算出>
S202において、演算部4がカート100などの搬送器にコンテナ102を割り当てる問題は、割当問題やマッチング問題といった、組合せ最適化問題として定式化することができる。しかし、割当問題やマッチング問題は、NP困難な問題に分類され、大域的最適解を全探索により見つけることは、問題規模が大きくなるにつれ劇的に計算時間が増大し、現実的な時間で解くことは困難となる。このような問題は、シミュレーテッド・アニーリングなどのヒューリスティックな手法などを用いて、高速に大域的最適解を近似的に求めることが有効である。
【0033】
この場合、最適化すべき目的関数の定式化をできたとしても、実際の業務において何が重要な評価指標となるかは状況に応じてさまざまであり、その評価指標をどのように求めるかにより結果が大きく異なる。すなわち、目的関数を、以下に示す数1のような形で表現したとする。
【0034】
【0035】
ここでx={x_1,x_2,…x_k,…, x_N}はN個の決定変数の集合であり、kはxの集合元を指定するための添え字である。係数ωkは、kごとに異なる値をもつ与えられた定数である。このとき、ωkをどのように与えるかは非常に重要であり、また、現実の問題にあてはめたとき、算出された解(割当案)が業務基準を満たすものが最適解になるような理にかなった定式になっている必要がある。本実施例では、最小化すべき目的関数の係数、すなわちコンテナ102の組合せごとの重みに、生産効率を向上させる指標を与える。これにより、高いピッキング効率と動線短縮を実現する、カート100へのコンテナ102の割当てを算出できる情報処理システムを提案する。
【0036】
また、この重みの値は、以下に示す数2のような、統計力学における磁性体モデルであるイジングモデルなどの、相互作用モデルの動作原理を応用したアニーリング型計算機などにも用いることができる。
【0037】
【0038】
このようなモデルによれば、高速で高精度な大域的最適解の近似解を求め、生産性の向上を図ることも可能である。この場合、数2の係数Jijにあたる部分が、数1のωkに対応する。アニーリング計算機の内部では、割当案の算出に関する制約条件を変数間の相互作用の強度として設定した相互作用モデルを演算することで、制約条件を満たす割当案を、相互作用モデルを用いて計算することができる。
【0039】
アニーリング型計算機は、特定の最適化問題を解くために用いられる演算装置であり、本実施例ではハードウェアを想定している。アニーリング型計算機としては、例えば、従来から知られているように、CMOS集積回路や、FPGA上の論理回路として実装された構成を採用することができる。本実施例では、このような構成を想定して説明するが、相互作用モデルに置き換えられた最適化問題を解くことが可能であれば、他の種類の装置でも実現可能である。
【0040】
具体的には、アニーリング方式において電子回路(デジタル回路など)で実装するハードウェアだけでなく、超伝導回路などで実装する方式でもよい。また、アニーリング方式以外にてイジングモデルを実現するハードウェアでもよい。例えばレーザーネットワーク方式(光パラメトリック発振)・量子ニューラルネットワークなどが知られている。また、一部の考え方が異なるものの、イジングモデルで行う計算をアダマールゲート、回転ゲート、制御NOTゲートといったゲートで置き換えた量子ゲート方式も、本実施例のアニーリングマシンとして採用することができる。
【0041】
(実施例1)
<<目的関数の重みの算出方法>>
<重複度の算出>
第1の評価基準をピッキング重複度としたときに、その算出する方法を具体的に説明する。ここでは、商品リスト31が
図4に示したようなデータ構造を有している場合を想定する。すなわち、カート100にコンテナ102を割り当てる際に考えられる自由度(1)物品の識別情報(例えば、商品の番号)、(2)コンテナの識別情報(例えば、コンテナの番号)、(3)搬送器の識別情報(例えば、カートの番号)のうち、商品は既にどのコンテナに入るか決められている場合を想定する。これにより、決定変数の自由度は、(2)、(3)のみとなる。つまり、(2)、(3)を制約条件として、決定変数の取り得る範囲を与えることができる。
【0042】
また、カート100に積載可能なコンテナ102の数をRとすると、「R以下のコンテナの組」を、のべカート数分作る問題と考えることができる。以下ではR=3の場合を例示しているが、本システムの適用環境に応じて適宜その値を変えて適用することができる。
【0043】
図5は、S202において、演算部4がピッキング重複度を算出する場合の処理手順を示すフローチャートである。まず、演算部4は、S201で記憶部3に記憶された物品リスト31を読み出して、割当案の送信対象とするカート100に積載されるコンテナ102ごとに物品の重複の有無および重複数をカウントする(S401、S402)。本実施例では、コンテナ1からコンテナ3までの3つのコンテナのそれぞれにピッキングして載せられる物品の重複の有無、および重複数をカウントする。
【0044】
図6は、演算部4が、コンテナごとの物品の重複の有無および重複数をカウントした結果を示す重複数カウントテーブル61の例を示す図である。
図6では、ある1つのカート(カート1)についての重複数カウントテーブル61を例示しているが、カートが複数ある場合には他のカートについても同様のレイアウトで重複数カウントテーブル61が出力される。
【0045】
図6に示すように、重複数カウントテーブル61は、割当案の送信対象とするカート100に積載されるコンテナ102の識別情報であるコンテナIDと、当該コンテナにピッキングして載せられる物品を示す物品情報と、物品の重複の有無および重複数とが対応付けて記憶されている。
図6では、例えば、コンテナ1に載せられる物品は物品a~物品kまでの10種類、コンテナ2に載せられる物品は物品b、物品e、物品g、物品hの4種類、コンテナ3に載せられる物品は物品c、物品e、物品f、物品g、物品kの5種類であることを示している。また、これらのコンテナ間で重複せずにピッキングされる物品の種類の数(無重複数)は5であり、これらのコンテナ間で2つのコンテナに重複してピッキングされる物品の種類の数(二重複数)は4であり、これらのコンテナ間で3つのコンテナに重複してピッキングされる物品の種類の数(三重複数)は2であることを示している。さらに、演算部4は、上記二重複数および上記三重複数との和を総重複数として算出する。カート100に積載可能なコンテナ102の数Rを一般化した場合は、上記二重複からR重複までの和を算出し、第2の評価基準(後述)として定義する。
【0046】
図6では、演算部4は、物品の種類について重複の有無および重複数を算出した。しかし、同じ種類の物品でも異なる棚に置かれていたり、あるいは同じ種類の物品でも同じ棚の異なる位置に置かれている場合もあるため、
図6における物品情報に替えて、棚番号や棚の段数など、物品の位置情報を用いてもよい。この場合、複数物品を移動せずにピッキングできるため、カート100の移動距離の削減効果がある。
【0047】
続いて、
図5に戻り、演算部4は、評価設定情報32の中から、ピッキング重複度の算出において適用する評価ポリシを読み出し、読み出した評価ポリシに対応付けて定められた、重複度や移動距離に対する評価値を示す設定値と重複数カウントテーブル61のそれぞれの重複数とを乗じた値を、算出すべき新たな重複度とし、上記乗じた値が所定の閾値に満たない場合は、当該乗じた値を0とする(S403)。なお、カートの移動距離を評価ポリシとして用いる場合については、実施例2でさらに具体的に説明する。
【0048】
図7は、評価設定情報32の例を示す図である。
図7に示すように、評価設定情報32は、設定されている評価ポリシを識別するための設定IDと、当該設定IDにより識別される評価ポリシと、当該評価ポリシにより定められる設定値とが対応付けて記憶されている。
図7では、例えば、設定ID「1」で識別される評価ポリシは、二重複を重視する評価ポリシであり、重複無しの場合(無重複数)については「0」ポイント、二重複の場合(二重複数)については「2」ポイント、三重複の場合(三重複数)については「1」ポイントとして、重複度が算出されることを示している。演算部4は、
図5に示した物品の重複の有無および重複数に、それぞれの重複数に対応した設定値を
図7に示した評価設定情報32の設定値を乗じて、重複度を算出する。例えば、設定1の場合には、重複度は(5×0)+(4×2)+(2×1)=10と算出される。評価設定情報32に記憶されている評価ポリシの中でどの評価ポリシを用いるかについては、本システムの適用環境に応じて、実運用に適した評価ポリシを定めることができる。
【0049】
図6に戻り、演算部4は、割当案の送信対象とするカート100に積載されるコンテナ102のすべてについて重複の組み合わせを確認したか否かを判定し(S404)、上記コンテナ102のすべてについて重複の組み合わせを確認していないと判定した場合(S404;No)、S401に戻り、残りのコンテナ102について、以降の処理を行い、重複の組み合わせを確認する。
【0050】
一方、演算部4は、上記コンテナ102のすべてについて重複の組み合わせを確認したと判定した場合(S404;Yes)、S403で最終的に算出した重複度を目的関数の重みとして設定する(S405)。
【0051】
上述した方法では、最適化問題の目的関数として、全てのコンテナについて物品の重複度の合計を最大化あるいは最小化することで、物品を同時に複数コンテナにピッキングを行うことができ、マルチピッキング効率向上とカートの移動距離短縮を実現できる。
図5に示した処理が終了すると、
図3に示したS203の処理に進み、演算部4は、S202で算出したピッキング重複度を係数とした目的関数を用いて最適化計算を実行し、割当案を算出することとなる。続いて、
図3のS205における割当案の評価方法について説明する。
【0052】
<第2の評価基準での評価方法>
S205では、演算部4は、重複度の定義をいくつか変えて最適化計算し、定義されたそれぞれの重複度について割当案を出力した後、どの割当て案が最も優れているか比較し、最適な割当案を選定する。
【0053】
図8は、最適な割当案の評価方法を定めた割当案評価情報33の例を示す図である。
図8に示すように、割当案評価情報33は、評価値を識別するための設定IDと、当該設定IDで識別される設定値とが対応付けて記憶されている。
図8では、例えば、設定ID「1」で識別される設定値は、物品IDの総重複数を重視し、当該重複数が最も多い割当案を最適な割当案とする設定であることを示している。また、設定ID「2」で識別される設定値は、棚番号の総重複数を重視し、当該重複数が最も多い割当案を最適な割当案とする設定であることを示している。さらに、設定ID「3」で識別される設定値は、棚ではなく物品自体の位置情報の重複数を重視し、当該重複数が最も多い割当案を最適な割当案とする設定であることを示している。さらに、設定ID「4」で識別される設定値は、割当案の送信対象とするカート100の総移動距離を重視し、当該移動距離が最も少ない割当案を最適な割当案とする設定であることを示している。本実施例では、割当案の送信対象とするカート100が1台である前提で説明しているが、割当案の送信対象とするカート100が複数ある場合には全てのカート100の総移動距離が最も最も少ない割当案を最適な割当案とすればよい。演算部4は、このようなそれぞれの評価方法で割当案を評価する。その後、演算部4は、それぞれの評価方法で割当案を評価した結果を出力し、出力された割当案の中でユーザの要求を満たす割当案を、提示すべき割当案と判断し、S206において、当該割当案をカート100に送信することとなる。なお、設定ID「4」で示したカートの総移動距離を評価する場合については、実施例2でさらに具体的に説明する。上記ユーザの要求を満たす割当案は、ユーザ業務の性質や環境に応じて異なるため、当該ユーザにより、あらかじめ上記カートの総移動距離を含めるか否かを定めておけばよい。
【0054】
図9は、演算部4が最終的に提示すべきと判断した割当案の例を示す図である。
図9に示すように、提示される割当案91は、割当案の送信対象となるカート100を識別するためのカートIDと、当該カートに積載されているコンテナ102を識別するためのコンテナIDと、当該コンテナにピッキングする物品を識別するための物品IDと、当該物品が置かれている棚を識別するための棚番号および当該棚が配置されている通路を識別するための通路番号とが対応付けて記憶されている。
図9では、例えば、カート1の作業者は、まず、コンテナ1に載せる物品a、bを、それぞれ通路1にある棚S、通路3にある棚Tからピッキングした後、続いて、コンテナ5に載せる物品aを、通路1にある棚Sからピッキングし、さらに、コンテナ6に載せる物品b、c、dを、それぞれ通路3にある棚T、通路4にある棚U、通路8にある棚Vからピッキングする手順が最適なピッキングの手順であることを示している。演算部4は、このような第2の評価基準で決定された割当案を出力し、各カートへ送信する。
【0055】
図10は、作業者が、当該割当案にしたがってピッキングする様子を示すイメージ図である。
図10に示すように、作業者Wは、
図9に示した割当案に従って、まず、コンテナ1に物品a、bをピッキングし(手順(1))、次に、コンテナ5に物品aをピッキングし(手順(2))、最後に、コンテナ6に物品b、c、dをピッキングする(手順(3))。このように、異なるコンテナに同じ物品を同時にピッキングすることで、物品のピッキング工数を削減することができる。
【0056】
(実施例2)
<ピッキング作業者の移動距離の短縮>
ピッキング作業者の移動距離の短縮効果をさらに上げるためには、評価ポリシとして、カートの移動距離を最小とするための最適なカートの割り当てを行える目的関数の重みを算出することが望ましい。そこで、以下では、その場合の重みの算出方法を具体的に説明する。また、以下では、あらかじめ定められた移動パターンにしたがってカート100が移動する場合を前提に説明するが、当移動パターンは、本システムが適用される環境に応じて適宜定めればよい。
【0057】
図11は、カートの移動パターンの例を示す図である。
図11に示すように、カート100は、スタート位置から、棚Sと棚Vとの間の通路を方向1101に向かって進み、棚Tと棚Uとの間まで到達した場合に通路1を方向1102に向かって進む。さらに、棚Uと棚Tではない向かいの棚との間を方向1101とは逆の方向1103に向かって進み、棚Vと棚Sではない向かいの棚との間まで到達した場合に通路1と同じ方向1104に向かって進む。そして、最後に、方向1101、方向1103と同じ方向1105に向かって、ゴールまで進むことができる。
図11においては、各方向は一方通行に進むことを表している。このように、作業者がカート100に送信された割当案を確認し、ピッキングされる物品が置かれた棚の間をコの字型に進んで物品をピッキングすることで、カートの移動距離を最短とすることができ、その結果、ピッキング作業者の移動距離を最小とすることができる。
【0058】
また、他の例として、カート100に送信された割当案に、当該カート100に積載されるコンテナ102にピッキングする物品がない場合には、さらに、カートの移動距離を短縮することができる。
【0059】
図12は、カートの移動パターンの他の例を示す図である。
図12に示すように、カート100は、スタート位置から、棚Sと棚Vとの間の通路を方向1201に向かって進み、棚Tと棚Uとの間まで到達した場合に通路1を方向1202に向かって進む。
図11の例では、その後、さらに、棚Uと棚Tではない向かいの棚との間を方向1101とは逆の方向1103に向かって進んだが、作業者が、カート100に送信された割当案に、当該カート100に積載されるコンテナ102にピッキングする物品がないことを確認した場合、上述した方向1103と同方向に進むのではなく、方向1202と同じ方向1203に向かって、ゴールまで進むことができる。このように、作業者がカート100に送信された割当案を確認し、カート100に送信された割当案に、当該カート100に積載されるコンテナ102にピッキングする物品がない場合には、物品が置かれていない棚をショートカットする方向に進むことで、カートの移動距離をさらに短縮とすることができ、その結果、ピッキング作業者の移動距離をより一層最小とすることができる。
【0060】
図11や
図12に示した移動距離は、例えば、演算部4が、カート100に送信される割当案と、
図13に示す移動距離情報1301とを用いて算出すればよい。移動距離情報1301は、
図1に示した移動距離情報34と同様の情報である。
【0061】
図13は、移動距離情報1301の例を示す図である。
図13に示すように、移動距離情報1301は、棚間の通路の起点となる位置(
図13では位置1)と、棚間の通路の終点となる位置(
図13では位置2)と、位置1と位置2との間の距離と、当該距離を棚の数に換算した棚スコアとが対応付けて記憶されている。
図13では、例えば、棚Sから棚Tまでの距離はXXメートルであり、当該距離を棚数に換算した場合には5棚分であることを示している。
【0062】
すなわち、演算部4は、記憶部3に記憶されている
図13に示した移動距離情報1301を読み出し、読み出した移動距離情報1301に記憶されている距離や棚スコアと、
図4に示した物品リスト31、
図6に示した重複数カウントテーブル61から、割当案の送信対象とするカート100の移動距離を算出する。そして、演算部4は、算出した移動距離を第1の評価基準に追加し、目的関数の重みとする。例えば、演算部4は、
図5に示したS403において、評価設定情報32の中から、移動距離を含む評価ポリシ(
図7では、設定4)を読み出し、読み出した評価ポリシの移動距離に、上記算出した移動距離を設定する。そして、演算部4は、読み出した評価ポリシに設定されている設定値と重複数カウントテーブル61のそれぞれの重複数とを乗じた値に、設定した上記移動距離とを加算した値を、算出すべき重複度とする。
【0063】
さらに、演算部4は、
図3に示したS205において、上記移動距離を含む第2の評価基準(
図8では設定4)により割当案を評価し、割当案の送信対象とするカート100の総移動距離(カート100が複数ある場合にはそれぞれのカートの移動距離を合計した移動距離)が最も少ない割当案を最適な割当案とする。これにより、カートの移動距離を考慮することで、ピッキング作業者の移動距離の短縮効果をさらに向上させることができる。
【0064】
このように、上記実施例で示した物品のピッキング作業を支援する情報処理システム(例えば、サーバ装置1)において、商品や製品等の物品がピッキングされるコンテナ102を搭載するカート100について、ピッキング対象となる物品の管理情報(例えば、物品名、物品数)と当該物品がピッキングされるコンテナの識別情報(例えば、コンテナID)とが対応付けられた物品情報(例えば、物品リスト31)の入力を受け付ける入力部2と、上記物品情報に含まれるコンテナにピッキングされる物品の重複度であるピッキング重複度を算出し、上記コンテナへの物品の割当案の第1の評価基準とする第1の算出部(例えば、演算部4)と、上記コンテナの識別情報と上記カートの識別情報とを変数としたときの変数間の相互作用の強度として設定した相互作用モデルと、上記ピッキング重複度とを用いて最適化計算を実行し、上記物品を上記コンテナに割り当てるための割当案(例えば、割当案91)を算出する第2の算出部(例えば、演算部4)と、を有するので、ルールベース解法のアルゴリズムの解精度を超えつつ、大規模なデータを取り扱いが可能となる。また、適切な指標を用いて、大域的最適値に近い、カートへのコンテナ割当案を算出することができ、マルチピッキングの効率の向上により、作業時間の短縮を実現することができる。その結果、ピッキング作業の生産性を向上させることができる。
【0065】
また、上記第1の算出部は、複数の異なる評価ポリシ(例えば、評価設定情報32)を用いて、上記ピッキング重複度を算出し、上記第2の算出部は、上記算出されたそれぞれの上記ピッキング重複度と、上記相互作用モデルとを用いて上記割当案を算出し、算出した上記割当案のなかから、上記第1の評価基準とは異なる第2の評価基準に基づいて、提示すべき割当案を決定するので、複数の割当案の中から実運用に適した割当案を選択して作業者に提示することができる。
【0066】
また、上記第1の算出部は、上記評価ポリシのうち、重複がない上記物品の数を最小化する評価ポリシ(例えば、
図7に示した評価設定情報32の設定3)を用いて、上記ピッキング重複度を算出したり、上記評価ポリシのうち、重複がある上記物品の数を最大化する評価ポリシ(例えば、
図7に示した評価設定情報32の設定1、設定2)を用いて、上記ピッキング重複度を算出するので、物品の重複の有無や重複数の多さあるいは少なさに応じた割当案を作業者に提示することができる。
【0067】
また、上記第1の算出部は、上記カートの移動距離と上記ピッキング重複度とにより定められる評価ポリシを用いて、新たなピッキング重複度を上記第1の評価基準とするので、カートの移動距離を考慮した割当案を作業者に提示することができる。
【0068】
また、上記第2の算出部は、上記物品の総重複数を上記第2の評価基準として、提示すべき割当案を決定するので、上記物品の総重複数が最も多い割当案を最適な割当案として作業者に提示することができる。
【0069】
また、上記第2の算出部は、上記カートの総移動距離を上記第2の評価基準として、提示すべき割当案を決定するので、カートの総移動距離が最も少ない割当案を最適な割当案として作業者に提示することができる。
【符号の説明】
【0070】
1 サーバ装置
2 入力部
3 記憶部
31 物品リスト
32 評価設定情報
33 割当案評価情報
34、1301 移動距離情報
35 相互作用モデル
351 相互作用の強度
352 変数情報
4 演算部
61 重複数カウントテーブル
91 割当案