(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-15
(45)【発行日】2023-12-25
(54)【発明の名称】情報処理装置、情報処理方法、プログラムおよび情報処理システム
(51)【国際特許分類】
B65G 1/137 20060101AFI20231218BHJP
【FI】
B65G1/137 A
(21)【出願番号】P 2022041774
(22)【出願日】2022-03-16
【審査請求日】2023-08-14
【早期審査対象出願】
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】598076591
【氏名又は名称】東芝インフラシステムズ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】愛須 英之
(72)【発明者】
【氏名】榊原 静
(72)【発明者】
【氏名】桐淵 大貴
(72)【発明者】
【氏名】吉田 琢史
【審査官】内田 茉李
(56)【参考文献】
【文献】特表2020-527524(JP,A)
【文献】国際公開第2018/168060(WO,A1)
【文献】特開2020-1868(JP,A)
【文献】国際公開第2021/261527(WO,A1)
【文献】国際公開第2017/149705(WO,A1)
【文献】特開2020-33154(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B65G 1/137
(57)【特許請求の範囲】
【請求項1】
複数の棚それぞれに収容される1種類以上の商品の第1識別情報を含む複数の棚データと、複数の前記棚の少なくとも一部からピッキングする1種類以上の商品の第2識別情報を含む複数のオーダーデータと、を受け付ける受付部と、
前記棚データに基づいて、複数の前記オーダーデータに引き当てる商品を1つの棚からピッキングする割合を向上させるように、複数の前記オーダーデータの処理順序を決定する決定部と、を備え、
複数の前記棚は、複数の前記オーダーデータのうち少なくとも一部のオーダーデータそれぞれに対応する収容容器が配置された作業ステーションに移動可能である、
情報処理装置。
【請求項2】
複数の前記棚ごとに算出される優先度に基づいて、複数の前記オーダーデータごとに、前記第2識別情報と一致する前記第1識別情報の商品が収容される棚のうち商品をピッキングする1つ以上の棚を示すインデクスを生成する生成部をさらに備え、
前記決定部は、前記インデクスを利用して前記処理順序を決定する、
請求項1に記載の情報処理装置。
【請求項3】
複数の前記オーダーデータそれぞれに対して生成された複数の前記インデクス間の距離を算出する距離算出部をさらに備え、
前記決定部は、前記距離が小さいほど順序が近くなるように前記処理順序を決定する、
請求項2に記載の情報処理装置。
【請求項4】
前記決定部は、前記距離が小さい前記インデクスに対応する前記オーダーデータをクラスタにマージする処理を繰り返す階層型クラスタリングを実行し、親クラスタが共通する子クラスタが隣接するように再帰的に展開することで前記処理順序を決定する、
請求項3に記載の情報処理装置。
【請求項5】
前記生成部は、前記優先度が他の棚より大きい棚を、商品をピッキングする棚として優先して選択し、選択した棚を示す前記インデクスを生成する、
請求項2に記載の情報処理装置。
【請求項6】
複数の前記オーダーデータごとに、オーダーデータに含まれる前記第2識別情報と一致する前記第1識別情報の個数が多いほど大きい前記優先度を算出する優先度算出部をさらに備える、
請求項2に記載の情報処理装置。
【請求項7】
前記第1識別情報と一致する前記第2識別情報を含むオーダーデータの個数が多いほど大きい前記優先度を算出する優先度算出部をさらに備える、
請求項2に記載の情報処理装置。
【請求項8】
複数の前記オーダーデータを、決定された前記処理順序が近いオーダーデータをそれぞれ含むように複数のデータ群に分割し、複数の前記データ群を、ピッキングが行われる複数の作業ステーションそれぞれに割り当てるデータ群として出力する出力制御部をさらに備える、
請求項1に記載の情報処理装置。
【請求項9】
前記決定部は、前記棚データに基づいて、複数の前記オーダーデータに引き当てる商品を1つの棚から同時にピッキングする割合を向上させるように前記処理順序を決定する、
請求項1に記載の情報処理装置。
【請求項10】
情報処理装置で実行される情報処理方法であって、
複数の棚それぞれに収容される1種類以上の商品の第1識別情報を含む複数の棚データと、複数の前記棚の少なくとも一部からピッキングする1種類以上の商品の第2識別情報を含む複数のオーダーデータと、を受け付ける受付ステップと、
前記棚データに基づいて、前記複数のオーダーデータに引き当てる商品を1つの棚からピッキングする割合を向上させるように、複数の前記オーダーデータの処理順序を決定する決定ステップと、含み、
複数の前記棚は、複数の前記オーダーデータのうち少なくとも一部のオーダーデータそれぞれに対応する収容容器が配置された作業ステーションに移動可能である、
情報処理方法。
【請求項11】
コンピュータに、
複数の棚それぞれに収容される1種類以上の商品の第1識別情報を含む複数の棚データと、複数の前記棚の少なくとも一部からピッキングする1種類以上の商品の第2識別情報を含む複数のオーダーデータと、を受け付ける受付ステップと、
前記棚データに基づいて、前記複数のオーダーデータに引き当てる商品を1つの棚からピッキングする割合を向上させるように、複数の前記オーダーデータの処理順序を決定する決定ステップと、を実行させ、
複数の前記棚は、複数の前記オーダーデータのうち少なくとも一部のオーダーデータそれぞれに対応する収容容器が配置された作業ステーションに移動可能である、
プログラム。
【請求項12】
搬送装置と、情報処理装置と、を備える情報処理システムであって、
前記搬送装置は、商品を収容する複数の棚を搬送し、
前記情報処理装置は、
複数の前記棚それぞれに収容される1種類以上の商品の第1識別情報を含む複数の棚データと、複数の前記棚の少なくとも一部からピッキングする1種類以上の商品の第2識別情報を含む複数のオーダーデータと、を受け付ける受付部と、
前記棚データに基づいて、前記複数のオーダーデータに引き当てる商品を1つの棚からピッキングする割合を向上させるように、複数の前記オーダーデータの処理順序を決定する決定部と、
を備え、
複数の前記棚は、複数の前記オーダーデータのうち少なくとも一部のオーダーデータそれぞれに対応する収容容器が配置された作業ステーションに移動可能である、
情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理装置、情報処理方法、プログラムおよび情報処理システムに関する。
【背景技術】
【0002】
AGV(Automated guided vehicle)または作業者により移動可能な棚(商品を収容する棚)を作業ステーション(ピッキングステーション)に移動し、作業ステーション内で商品のピッキング作業を行う、棚搬送型の倉庫を用いた物流システムが知られている。
【0003】
このような棚搬送型システムは、各オーダーがリアルタイムに逐次追加されることを前提としている場合が多い。すなわち、処理順序を変更可能である大量のオーダーが同じタイミングでシステムに与えられることを想定していない場合が多い。
【先行技術文献】
【特許文献】
【0004】
【非特許文献】
【0005】
【文献】Nils Boysen et al.、“Parts-to-picker based order processing in a rack-moving mobile robots environment”、European Journal of Operational Research、Research 262 (2017) 550-562
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は、ピッキング作業をより効率的に実行することができる情報処理装置、情報処理方法、プログラムおよび情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【0007】
実施形態の情報処理装置は、受付部と決定部とを備える。受付部は、複数の棚それぞれに収容される1種類以上の商品の第1識別情報を含む複数の棚データと、複数の棚の少なくとも一部からピッキングする1種類以上の商品の第2識別情報を含む複数のオーダーデータと、を受け付ける。決定部は、棚データに基づいて、複数のオーダーデータに引き当てる商品を1つの棚からピッキングする割合を向上させるように、複数のオーダーデータの処理順序を決定する。複数の棚は、複数のオーダーデータのうち少なくとも一部のオーダーデータそれぞれに対応する収容容器が配置された作業ステーションに移動可能である。
【図面の簡単な説明】
【0008】
【
図1】実施形態の情報処理システムの構成の概要を示す図。
【
図2】実施形態にかかる情報処理装置のブロック図。
【
図7】処理順序で並び替えたオーダーの例を示す図。
【
図8】実施形態における順序決定処理のフローチャート。
【
図9】実施形態にかかる情報処理装置のハードウェア構成図。
【発明を実施するための形態】
【0009】
以下に添付図面を参照して、この発明にかかる情報処理装置の好適な実施形態を詳細に説明する。本実施形態は、例えば棚搬送型の倉庫を用いた物流システムに対して適用することができる。
【0010】
上記のように、従来の棚搬送型システムは、発生した順序に従いオーダーがピッキングの対象として選択される。
【0011】
一方、例えば主にB2B(Business to Business)を対象とする物流システムなどでは、一定の期間内(例えば一日単位)で処理すべき全オーダーが事前に与えられる場合がある。このような場合、複数のオーダーは、発送の締め切り時刻前であれば処理順序を入れ替えることが可能である。例えば、オーダーの処理順序を事前に適正に並べ直すことで、複数のオーダーに引き当てる商品を1つの棚からピッキングできる割合(同時ピッキング率)を向上させ、棚搬送作業およびピッキング作業を効率化することができる可能性がある。従来は、このようにシステム全体としての作業効率向上を目的としてオーダーの処理順序を並べ直すような機能は考慮されていない。
【0012】
そこで本実施形態は、未処理のオーダーの情報である複数のオーダーデータが与えられたときに、1種類以上の商品をそれぞれ収容する複数の棚に関する複数の棚データを参照し、同時ピッキング率が向上するように複数のオーダーの処理順序を決定する。オーダーデータとオーダーとは1対1に対応するため、オーダーの処理順序を決定することはオーダーデータの処理順序を決定することに相当する。同様に、オーダーに対する処理は、オーダーデータに対する処理と言い換えることができる。
【0013】
棚データは、棚を識別する情報である棚IDと、各棚に現時点の在庫として収容される1種類以上の商品の識別情報(第1識別情報)と、を含むデータである。棚データは、例えば、棚に収容される商品の集合(商品集合)を構成する各商品の種類を表す識別情報を含む。
【0014】
オーダーデータは、オーダーを識別する情報であるオーダーIDと、複数の棚の少なくとも一部からピッキングする1種類以上の商品の識別情報(第2識別情報)と、を含むデータである。オーダーデータは、例えば、同じ宛先に対し同じ収容容器に梱包する各商品の出庫指示の単位を表す。
【0015】
図1は、本実施形態の情報処理システム10(棚搬送型システムの一例)の構成の概要を示す図である。
図1に示すように情報処理システム10は、情報処理装置100と、搬送装置200と、移動可能な棚30と、作業ステーション11と、複数の収容容器12と、作業用の棚13と、ディスプレイ14と、ネットワーク300と、を含む。
【0016】
作業ステーション11は、作業者21によるピッキングが行われる作業場所を表す。
図1では1つの作業ステーション11のみが示されているが、情報処理システム10は、複数の作業ステーション11を含んでもよい。
【0017】
棚13は、複数の収容容器12を配置することができる。複数の収容容器12は、例えば複数のオーダーそれぞれに対応する。棚13には、複数のオーダーデータのうち少なくとも一部のオーダーデータそれぞれに対応する収容容器12が配置される。ディスプレイ14は、例えば情報処理装置100から出力された作業指示などの情報を表示するための表示装置である。
【0018】
搬送装置200は、棚30を作業ステーション11に移動(搬送)するための装置であり、例えばAGVである。このように、棚30は、作業ステーション11に移動可能となっている。
図1では1つの棚30のみが示されているが、情報処理システム10では、複数の棚30が準備され、決定されたオーダー処理の順序に応じて選択された棚30が、作業ステーション11に移動される。作業者21により棚が移動される場合は、搬送装置200は備えられなくてもよい。棚30は、例えば複数のパーティションを有し、複数種類の商品を収容することができる。
【0019】
ネットワーク300は、情報処理装置100、搬送装置200、および、ディスプレイ14を接続するネットワークである。ネットワーク300は、インターネットおよびローカルエリアネットワーク(LAN)などの、どのような形態のネットワークであってもよい。ネットワーク300は、無線ネットワーク、有線ネットワーク、および、無線と有線とが混在したネットワークのいずれであってもよい。
【0020】
図1に示すように、複数のオーダーに対応する作業用の複数の収容容器12が棚13に置かれ、作業者21は、複数のオーダーについてのピッキングを並列に実行することができる。なお作業者21の代わりにピッキング用のロボット等によりピッキングが行われてもよい。各収容容器12は、梱包すべき各商品を入れ終わった時点でピッキング完了となる。完了したオーダー(収容容器)は完了扱いとなり、逐次作業ステーション11から除かれ、次のオーダーに対応する収容容器12が投入される。
【0021】
図2は、本実施形態にかかる情報処理装置100の構成の一例を示すブロック図である。
図1に示すように、情報処理装置100は、受付部101と、優先度算出部102と、生成部103と、距離算出部104と、決定部105と、出力制御部106と、オーダーデータ記憶部121と、棚データ記憶部122と、クラスタデータ記憶部123と、を備えている。
【0022】
受付部101は、情報処理装置100で用いられる各種データの入力を受け付ける。例えば受付部101は、処理対象となる複数のオーダーデータ、および、複数の棚データを受け付ける。オーダーデータおよび棚データは、どのような方法で生成されてもよいが、例えば、オーダーを受信するシステムおよび商品の在庫を管理するシステムなどの外部システムにより生成されてもよい。また各データの入力方法はどのような方法であってもよいが、例えば、ネットワーク300を介して外部システムから受信する方法を用いることができる。
【0023】
オーダーデータは、オーダーIDと、当該オーダーに含まれる商品の識別情報と、を少なくとも含む。オーダーIDは、例えば、オーダーO1、オーダーO2、オーダーO3・・・のように表される。商品の識別情報は、例えば、商品A、商品B、商品C・・・のように表される。オーダーデータに含まれる情報はこれに限られない。例えばオーダーデータは、商品ごとの個数や量を含んでもよい。
【0024】
棚データは、棚IDと、当該棚に収容される商品の識別情報と、を少なくとも含む。棚IDは、例えば、棚R1、棚R2、棚R3・・・のように表される。棚データに含まれる情報はこれに限られない。例えば棚データは、商品ごとの個数や、棚のどの面のどのパーティションに収容されているかの商品の収容位置情報を含んでもよい。
【0025】
受付部101は、オーダーデータおよび棚データ以外のデータ、例えば、各商品の詳細情報(サイズ、荷姿など)を含む商品データを補足入力データとして受け付けてもよい。
【0026】
優先度算出部102は、複数の棚ごとの優先度を算出する。優先度は、生成部103がインデクスを生成するときに参照される。優先度は、例えば、ピッキング作業をより効率的に実行できる棚ほど値が大きくなるように算出される。例えば、優先度算出部102は、以下の2つの方法により優先度を算出する。
(M1)複数のオーダーデータごとに、当該オーダーデータに含まれる商品の識別情報と一致する識別情報の商品を収容する個数が多いほど値が大きくなるように優先度を算出する。
(M2)棚データに含まれる商品の識別情報と一致する識別情報を含むオーダーデータの個数が多いほど、値が大きくなるように優先度を算出する。
【0027】
上記の(M1)は、各オーダーに含まれる商品のうち既に棚が引き当てられていない商品の商品集合が、各棚に収容されている商品の集合(商品集合)でカバー(充足)される度合い(カバー度)を優先度として算出する方法に相当する。カバー度は、例えばオーダーデータに含まれる商品の識別情報と一致する識別情報の個数を示す値、または、この個数の割合を示す値であるが、これらに限られない。
【0028】
上記の(M2)は、複数のオーダーデータに対して共通の優先度を予め算出する方法に相当する。各方法の詳細は後述する。
【0029】
生成部103は、算出された各棚の優先度に基づいて、複数のオーダーデータごとに、オーダーデータに含まれる商品の識別情報と一致する識別情報の商品が収容される棚のうち商品をピッキングする1つ以上の棚を示すインデクスを生成する。例えば生成部103は、優先度が他の棚より大きい棚を、商品をピッキングする棚として優先して選択し、選択した棚を示すインデクスを生成する。インデクスは、例えば、商品をピッキングする1以上の棚の棚IDを含む情報である。
【0030】
距離算出部104は、複数のオーダーデータそれぞれに対して生成された複数のインデクス間の距離を算出する。距離の算出方法の詳細は後述する。
【0031】
決定部105は、棚データに基づいて、複数のオーダーデータに引き当てる商品を1つの棚からピッキングする割合(例えば、1つの棚から同時にピッキングする割合:同時ピッキング率)を向上させるように、複数のオーダーデータの処理順序を決定する。同時とは、時間的に厳密に一致する時刻を意味するものではなく、同じ1つの棚からピッキングできることを意味する。決定部105は、算出された距離が小さいほど順序が近くなるように、複数のオーダーデータの処理順序を決定する。決定部105は、例えば、距離が小さいインデクスに対応するオーダーをクラスタにマージする処理を繰り返して階層構造で表されるクラスタを生成する階層型(凝集型)クラスタリングを実行する。そして決定部105は、同じクラスタに含まれるオーダー同士が近い順序に配置されるように、オーダーの処理順序を決定する。
【0032】
階層型クラスタリングは、クラスタに付与されたインデクス間の距離が最小である2つのクラスタの組を発見し、1つのクラスタにマージする処理を、すべてのオーダーデータが1つのクラスタに統合されるまで反復する。これにより、対応するインデクス間の距離の近い複数のオーダーが同一のクラスタに含まれるように、複数のオーダーデータをクラスタリングすることができる。
【0033】
決定部105は、マージ前のクラスタ(またはオーダー)を子ノード(子クラスタ)とし、マージ後のクラスタを親ノード(親クラスタ)とする二分木を、クラスタリングの履歴としてクラスタデータ記憶部123に記憶する。また決定部105は、現時点のクラスタリングの結果を表す階層構造のクラスタをクラスタデータ記憶部123に記憶する。すべてのオーダーデータが1つのクラスタに統合されると、最終的な処理結果を示す階層構造のクラスタが、クラスタデータ記憶部123に記憶される。決定部105は、同じ親クラスタに属する子クラスタが隣接するように再帰的に上記の二分木を展開することで、同じ親クラスタに属する二分木の葉(オーダーデータに相当)が近い順番に配置されるようにオーダーの処理順序を決定する。
【0034】
出力制御部106は、情報処理装置100で処理される各種情報の出力を制御する。例えば出力制御部106は、決定されたオーダーの処理順序を示す情報(順序情報)を出力する。順序情報は、例えば、1以上の作業ステーション11にオーダーを割り当てるときに参照される。
【0035】
複数の作業ステーション11が備えられる場合、出力制御部106は、複数の作業ステーション11にそれぞれ割り当てるオーダーデータの集合(データ群)を出力してもよい。例えば出力制御部106は、複数のデータ群を、複数の作業ステーション11それぞれに割り当てるデータ群として出力する。出力制御部106は、決定部105で決定された処理順序に並べた複数のオーダーのリストを、各ステーションの作業負荷の見積量が平準化されるように分割し、それぞれ出力する。例えば、オーダーの数が均等になるように分割する、オーダーの商品の総数が均等になるように分割する、などの方法があり得る。
【0036】
出力制御部106は、決定されたオーダーの処理順序と上記インデクスの情報を元に、棚30をステーションに呼び出す順番の指示、および、ピッキング作業の指示を出力してもよい。出力制御部106は、移動された棚30についての作業指示をディスプレイ14に出力してもよい。
【0037】
上記各部(受付部101、優先度算出部102、生成部103、距離算出部104、決定部105、および、出力制御部106)は、例えば、1または複数のプロセッサにより実現される。例えば上記各部は、CPU(Central Processing Unit)などのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のIC(Integrated Circuit)などのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
【0038】
オーダーデータ記憶部121は、受付部101により受け付けられたオーダーデータを記憶する。棚データ記憶部122は、受付部101により受け付けられた棚データを記憶する。クラスタデータ記憶部123は、決定部105による階層型クラスタリングで生成されるデータ(履歴としての二分木、階層構造のクラスタなど)を記憶する。
【0039】
なお、各記憶部(オーダーデータ記憶部121、棚データ記憶部122、クラスタデータ記憶部123)は、フラッシュメモリ、メモリカード、RAM(Random Access Memory)、HDD(Hard Disk Drive)、および、光ディスクなどの一般的に利用されているあらゆる記憶媒体により構成することができる。
【0040】
各記憶部は、物理的に異なる記憶媒体としてもよいし、物理的に同一の記憶媒体の異なる記憶領域として実現してもよい。さらに記憶部のそれぞれは、物理的に異なる複数の記憶媒体により実現してもよい。
【0041】
次に、優先度の算出方法の詳細について説明する。まず、上記(M1)の方法による優先度の算出例を説明する。
図3は、優先度の算出例を示す図である。
【0042】
図3の例では、棚IDが棚R1である棚は、商品A、商品B、商品C、商品D、商品Eを収容し、棚IDが棚R2である棚は、商品F、商品G、商品H、商品I、商品Jを収容する。また、オーダーIDがオーダーO1であるオーダーは、商品A、商品F、商品G、商品H、商品Iを含み、オーダーIDがオーダーO2であるオーダーは、商品C、商品D、商品G、商品Kを含む。
【0043】
優先度算出部102は、例えばオーダーIDがオーダーO1であるオーダーデータについて、候補となる棚(ここでは2つ)の棚の優先度をそれぞれ算出する。例えば棚IDが棚R1である棚に収容される商品A、商品B、商品C、商品D、商品Eと、オーダーO1のオーダーに含まれる商品A、商品F、商品G、商品H、商品Iと、は、商品Aのみが一致する。従って優先度算出部102は、カバー度(優先度)として1を算出する。同様にして、各オーダーに対する各棚のカバー度(優先度)は、以下のように算出される。
・オーダーO1のオーダーに対する棚IDが棚R2の棚のカバー度:4
・オーダーO2のオーダーに対する棚IDが棚R1の棚のカバー度:2
・オーダーO2のオーダーに対する棚IDが棚R2の棚のカバー度:1
【0044】
なお、優先度算出部102は、オーダーに含まれる商品を収容しない棚についてはカバー度を算出しなくてもよい。
【0045】
次に、上記(M2)の方法による優先度の算出例を説明する。
図4は、優先度の算出例を示す図である。
【0046】
図4の例では、オーダーIDがオーダーO1~オーダーO10である10個のオーダーと、棚IDが棚R1~棚R6である6個の棚データと、が用いられる。各オーダーには、オーダーIDの横に記載した識別情報の商品が含まれる。各棚には、棚IDの上に記載した識別情報の商品が収容される。
【0047】
優先度算出部102は、まず、いずれかのオーダーに含まれる商品ごとに、何個のオーダーに含まれているかをカウントする。
図4の例では、商品Aは5個のオーダー(オーダーIDがオーダーO1、オーダーO5、オーダーO7、オーダーO9、オーダーO10)に含まれる。同様にして、各商品が含まれるオーダーの個数を表すカウント値は以下のように算出される。
・商品A:5
・商品B:3
・商品C:1
・商品D:1
・商品F:5
・商品G:4
・商品H:1
・商品I:3
・商品K:2
【0048】
次に、優先度算出部102は、棚ごとに、収容する商品に対するカウント値の和を、優先度として算出する。例えば、棚R1の棚の優先度は、5+3+1+1=10となる。同様にして、各棚の優先度は、以下のように算出される。
・棚R1:10
・棚R2:10
・棚R3:5
・棚R4:7
・棚R5:13
・棚R6:7
【0049】
次に、インデクスの生成方法の詳細について説明する。生成部103は、各オーダーについて、引き当て可能な、すなわち、オーダーに含まれる商品を収容する棚の候補のうち優先度が最大である棚をピッキングする棚の候補として優先して選択し、選択した棚を含むインデクスを生成する。生成部103は、当該オーダーに含まれるすべての商品について、ピッキングする棚を引き当てるまで処理を繰り返す。
【0050】
図5は、生成されるインデクスの例を示す図である。
図5は、
図4の例に対して上記(M2)の方法による優先度に基づき生成されるインデクスの例を示す。
【0051】
生成部103は、各オーダーの商品ごとに、商品の引き当てが可能な棚の候補の中で、優先度が最大である棚を選択し、選択した棚を当該オーダーに対応づける(引き当てる)ことを、当該オーダーのすべての商品をカバーするまで反復する。例えば、オーダーO1の商品Aについては、生成部103は、商品Aを引き当て可能な棚IDが棚R1、棚R5、棚R6の棚のうち、優先度が最大である棚R5の棚を選択しオーダーO1のオーダーに対応づける。生成部103は、対応づけた棚の棚IDを含むようにインデクスを生成する。
【0052】
この例では、棚R5の棚は商品Gも含むため、オーダーO1に対しては商品Gも同時に引き当てられる。まだ引き当てられていない商品Fについては、生成部103は、商品Fを引き当て可能な棚IDが棚R2、棚R4の棚のうち、優先度が最大である棚R2の棚を選択しオーダーO1のオーダーに対応づける。生成部103は、対応づけた棚の棚IDを含むインデクスとして、
図5に示すように、R5およびR2を含むインデクスを生成する。
【0053】
生成部103は、このような処理をすべてのオーダーについて反復する。
図5では、各オーダーIDの横に、当該オーダーIDのオーダーに対して生成されるインデクスの例が示されている。
【0054】
生成部103は、棚ごとの重みを付与したインデクスを生成してもよい。重みは、例えば、対象とするオーダーに含まれる商品のうち当該棚により引き当てられた商品の識別情報の個数である。例えば、
図5のオーダーO1では、棚R5の棚は、商品Aと商品Gとを引き当てられるため重みは2となり、棚R2の棚は商品Fが引き当てられるため重みは1となる。重みの算出方法はこれに限られず、例えば、優先度をそのまま重みとする方法が用いられてもよい。
【0055】
なお、生成されたインデクスは、決定部105による階層型クラスタリングのために用いられる情報である。このため、インデクスに含まれる棚が、実際の引当対象となる棚として用いられる必要はない。
【0056】
例えば、情報処理装置100による順序決定処理の後の二次処理で、
図4の例のように同じ商品に対して引き当てが可能な棚の候補が複数ある場合(同じ種類の商品が分散して収容されている場合)は、各オーダーに対して引当対象となる棚が変更されてもよい。
【0057】
次に、インデクスを用いた階層型クラスタリングの例について説明する。
図6は、階層型クラスタリングにより生成される階層型のクラスタの例を示す図である。
【0058】
まず、距離算出部104は、生成された複数のインデクス間の距離を算出する。距離算出部104は、例えば、2つのインデクスの間で一致しない棚(棚ID)の合計数を距離として算出する。距離はこれに限られず、例えば以下のような方法で算出されてもよく、計算方法は限定しない。
・一致している棚の合計数に負の係数を乗じた値を距離とする。
・一致しない棚の合計数と、一致している棚の合計数と、にそれぞれ係数をかけて和を取った値を距離とする。
・インデクスに棚ごとの重みが付与されている場合、一致している棚ごとに、重み(負の係数を乗じた重みでもよい)の総和を距離としてもよい。例えば、
図5のオーダーO1のインデクスに含まれる棚R5の重みが2であり、棚R2の重みが1である場合は、距離算出部104は、棚R5のみが一致した場合は距離を-2、棚R2のみが一致した場合は距離を-1、棚R5および棚R2の両方が一致した場合は距離を-3と算出する。
【0059】
次に決定部105は、距離が小さいインデクスのついたオーダー同士、クラスア同士、または、オーダーとクラスタを、1つのクラスタにマージする処理を繰り返して階層構造のクラスタを生成する。
図5では、例えばオーダーO2およびオーダーO5のオーダーのインデクスは、R5のみを含む点で一致する。一致する棚IDのみを含むインデクスに対する値がより小さくなるような距離を用いる場合、決定部105は、オーダーO2およびオーダーO5のオーダーを1つのクラスタにマージする。
【0060】
図6のクラスタC1は、このようにしてマージされたクラスタを示す。なおC1~C9は、各クラスタを識別する情報を表す。決定部105は、マージ前の2つのインデクスを子ノードとし、マージ後のクラスタを親ノードとする二分木をクラスタデータ記憶部123に記憶する。同様にして、決定部105は、すべてのオーダーが1つのクラスタにマージされるまで処理を反復する。
【0061】
図6は、1つに統合されたクラスタの例を示す。
図6に示すように、マージ後のクラスタに対するインデクスとしては、例えば、クラスタに属する各オーダーに引き当てられた棚IDの和集合が用いられる。
【0062】
次に決定部105は、同じ親クラスタに属する子クラスタが隣接するように再帰的に二分木を展開することで、同じクラスタに属する葉ノードに対応する2つのオーダーが近い順序になるように、オーダーの処理順序を決定する。
【0063】
図7は、決定した処理順序で並び替えたオーダーの例を示す図である。
図7は、
図6に示すクラスタに基づき並び替えられたオーダーの例である。
図6に示すように、クラスタは、10個のオーダーに対応する10個の葉ノードを含む。決定部105は、例えば最後に発見されたクラスタC9から再帰的に二分木の親子関係を辿る(二分木を展開する)ことで、オーダーの処理順序を決定する。
図6の例では、決定部105は、以下のように親子関係を辿り、辿り着いた葉(オーダー)の順に並べることで、
図7の順番にオーダーを並び替える。
C9→C8→C3→C1→オーダーO2→C1→オーダーO5→C1→C3→C2→オーダーO9→C2→オーダーO6→C2→C3→C8→C7→C5→C4→オーダーO1→(省略)→C8→C9→オーダーO8
【0064】
上記のように、出力制御部106は、複数の作業ステーション11にそれぞれ割り当てるオーダーデータのデータ群を出力してもよい。例えばN個(Nは2以上の指数)の作業ステーション11が存在する場合、出力制御部106は、各作業ステーション11の作業負荷の見積量が平準化されるように、オーダーデータをN個のデータ群に分割する。出力制御部106は、以下のような分割方法を用いることができる。
・オーダーの個数が均等になるように分割する。
・オーダーに含まれる商品の総数が均等になるように分割する。
・オーダーで使用する棚の総数(インデクスに含まれる棚IDの和集合のサイズ)が均等になるように分割する。
【0065】
次に、本実施形態にかかる情報処理装置100による順序決定処理について説明する。
図8は、本実施形態における順序決定処理の一例を示すフローチャートである。
【0066】
受付部101は、複数のオーダーデータおよび複数の棚データの入力を受け付ける(ステップS101)。以降のステップS102~ステップS106では、オーダーごとに棚を対応づけてインデクスを生成する処理が、すべてのオーダーに対して繰り返し実行される。
【0067】
まず優先度算出部102は、受け付けられたオーダーデータのうちインデクスを生成していない(未処理の)オーダーデータを取得する(ステップS102)。優先度算出部102は、例えば上記(M1)または(M2)により、棚の優先度を算出する(ステップS103)。なお、(M2)の場合は、優先度算出部102は、ステップS101の中で各棚の優先度を先に決定する。
【0068】
生成部103は、棚を引き当てていない(未処理の)商品について、優先度が最大となる棚を対応づけ、対応づけた棚の棚IDを追加したインデクスを生成する(ステップS104)。生成部103は、オーダーデータに含まれるすべての商品について棚が対応づけられたか否かを判定する(ステップS105)。すべての商品に棚が対応づけられていない場合(ステップS105:No)、ステップS104に戻り、次の未処理の商品について処理が繰り返される。
【0069】
すべての商品について棚が対応づけられた場合(ステップS105:Yes)、生成部103は、すべてのオーダーデータを処理したか否かを判定する(ステップS106)。すべてのオーダーデータを処理していない場合(ステップS106:No)、ステップS102に戻り、次の未処理のオーダーデータに対して処理が繰り返される。
【0070】
すべてのオーダーデータを処理した場合(ステップS106:Yes)、以降のステップS107~ステップS109で、階層型クラスタリングが実行される。
【0071】
決定部105は、距離が最小となるオーダーまたはクラスタの組を1つのクラスタにマージする(ステップS107)。なおインデクス間の距離は、距離算出部104により算出される。決定部105は、マージ前のオーダーまたはクラスタを子ノード、マージ後のクラスタを親ノードとする二分木を生成し、クラスタデータ記憶部123に記憶する(ステップS108)。
【0072】
決定部105は、すべてのオーダーが1つのクラスタにマージされたか否かを判定する(ステップS109)。すべてのオーダーが1つのクラスタにマージされていない場合(ステップS109:No)、ステップS107に戻り処理が繰り返される。
【0073】
すべてのオーダーが1つのクラスタにマージされた場合(ステップS109:Yes)、決定部105は、生成されたクラスタに基づき、オーダーデータの順序を決定する(ステップS110)。
【0074】
出力制御部106は、順序が決定されたオーダーデータによる作業指示を出力する(ステップS111)。複数の作業ステーションがある場合は、出力制御部106は、順序が決定された複数のオーダーデータのリストを複数のデータ群に分割し、複数のデータ群を、複数の作業ステーション11それぞれが処理するオーダーを示す情報として出力する。
【0075】
このように、本実施形態では、事前に得られる複数のオーダーデータおよび複数の棚データを用いて、ピッキング作業をより効率的に実行することができるように、複数のオーダーデータの処理順序を決定することができる。
【0076】
次に、実施形態にかかる情報処理装置のハードウェア構成について
図9を用いて説明する。
図9は、実施形態にかかる情報処理装置のハードウェア構成例を示す説明図である。
【0077】
実施形態にかかる情報処理装置は、CPU51などの制御装置と、ROM(Read Only Memory)52やRAM53などの記憶装置と、ネットワークに接続して通信を行う通信I/F54と、各部を接続するバス61を備えている。
【0078】
実施形態にかかる情報処理装置で実行されるプログラムは、ROM52等に予め組み込まれて提供される。
【0079】
実施形態にかかる情報処理装置で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD-ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD-R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
【0080】
さらに、実施形態にかかる情報処理装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、実施形態にかかる情報処理装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【0081】
実施形態にかかる情報処理装置で実行されるプログラムは、コンピュータを上述した情報処理装置の各部として機能させうる。このコンピュータは、CPU51がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
【0082】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0083】
10 情報処理システム
11 作業ステーション
12 収容容器
13 棚
14 ディスプレイ
30 棚
100 情報処理装置
101 受付部
102 優先度算出部
103 生成部
104 距離算出部
105 決定部
106 出力制御部
121 オーダーデータ記憶部
122 棚データ記憶部
123 クラスタデータ記憶部
200 搬送装置
300 ネットワーク