(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-08
(45)【発行日】2024-05-16
(54)【発明の名称】情報処理装置、探索方法および探索プログラム
(51)【国際特許分類】
G06Q 10/087 20230101AFI20240509BHJP
B65G 1/137 20060101ALI20240509BHJP
【FI】
G06Q10/087
B65G1/137 A
(21)【出願番号】P 2022560610
(86)(22)【出願日】2020-11-06
(86)【国際出願番号】 JP2020041601
(87)【国際公開番号】W WO2022097285
(87)【国際公開日】2022-05-12
【審査請求日】2023-03-02
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】丸山 和範
(72)【発明者】
【氏名】山▲崎▼ 貴司
【審査官】星野 昌幸
(56)【参考文献】
【文献】特表2015-506324(JP,A)
【文献】特開2000-118640(JP,A)
【文献】特開2018-144964(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 ~ 99/00
B65G 1/00 ~ 1/20
(57)【特許請求の範囲】
【請求項1】
各々が複数のピッキング対象を特定する情報を含む複数のオーダーを受信し、前記複数のオーダーのオーダー順序を特定する情報処理装置であって、
前記複数のオーダーのうちの前記オーダー順序が未割当の候補オーダーの初期オーダー順序を生成する初期オーダー順序生成部と、
前記初期オーダー順序の先頭オーダーを選択し、前記先頭オーダーに対してピッキング効率の指標が最良となるオーダーを後続の前記候補オーダーから選択して前記オーダー順序を割り当てていくことで、前記オーダーの組み合わせを生成する処理を繰り返して、前記組み合わせ毎に分けられた前記複数のオーダーの前記オーダー順序を決めるオーダー順序探索部と、
前記オーダー順序探索部により決定された複数の異なる前記オーダー順序を基に、前記複数のオーダーに対して前記ピッキング効率の指標が最良となる最適オーダー順序を決定する効率指標評価部と
を備えたことを特徴とする情報処理装置。
【請求項2】
前記初期オーダー順序生成部は、前記複数のオーダーを連続するいくつかの前記オーダーを含む複数の組み合わせに分けて順序付けた前記初期オーダー順序を複数生成し、
前記オーダー順序探索部は、前記初期オーダー順序のそれぞれについて、前記初期オーダー順序における先頭から順番に前記組み合わせを選択していき、選択した前記組み合わせ毎に先頭には前記候補オーダーのうちの先頭の候補オーダーを割り当て、前記組み合わせにおける先頭以外の前記オーダーは前記ピッキング効率の指標が最良となる前記候補オーダーを選択して順番に順序を割り当てることで生成した前記オーダー順序を、前記初期オーダー順序に対する最適候補オーダー順序と決定し、
前記効率指標評価部は、各前記初期オーダー順序に対するそれぞれの前記最適候補オーダー順序の前記ピッキング効率の指標の値を算出し、算出した前記指標の値を基に、前記最適オーダー順序を決定する効率指標評価部と
を備えたことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記候補オーダーのうち先頭から所定数の候補オーダーを変更範囲に設定する変更範囲設定部と、
前記効率指標評価部により算出された各前記初期オーダー順序に対するそれぞれの前記最適候補オーダー順序のうち、前記ピッキング効率の指標が最良の前記最適候補オーダー順序における前記変更範囲の先頭のオーダーを前記候補オーダーにおける先頭のオーダーと決定して順序を割り当て、残りの前記候補オーダーを前記変更範囲設定部に通知する先頭順序確定部とをさらに備え、
前記初期オーダー順序生成部は、前記変更範囲設定部により設定された変更範囲内のオーダーの順序を変更することで複数の前記初期オーダー順序を生成し、
前記効率指標評価部は、前記先頭順序確定部により前記複数のオーダーの全ての順序が確定されたオーダー順序を最適オーダー順序とする
ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記オーダーはそれぞれ前記指標の値が算出可能であり、
前記複数のオーダーを前記指標の値にしたがって並べソート部をさらに備え、
前記初期オーダー順序生成部は、前記ソート部により並べられた前記複数のオーダーを基に前記初期オーダー順序を生成する
ことを特徴とする請求項2に記載の情報処理装置。
【請求項5】
前記指標は、総移動距離、商品重複率、又は、前記組み合わせ毎の商品重量の平均値からの絶対差のうちいずれか一つもしくは複数の指標から算出される値であることを特徴とする請求項1~4のいずれか一つに記載の情報処理装置。
【請求項6】
各々が複数のピッキング対象を特定する情報を含む複数のオーダーを受信し、前記複数のオーダーのオーダー順序を特定する探索方法であって、
前記複数のオーダーのうちの前記オーダー順序が未割当の候補オーダーの初期オーダー順序を生成し、
前記初期オーダー順序の先頭オーダーを選択し、前記先頭オーダーに対してピッキング効率の指標が最良となるオーダーを後続の前記候補オーダーから選択して前記オーダー順序を割り当てていくことで、前記オーダーの組み合わせを生成する処理を繰り返して、前記組み合わせ毎に分けられた前記複数のオーダーの前記オーダー順序を決め、
決定した複数の異なる前記オーダー順序を基に、前記複数のオーダーに対して前記ピッキング効率の指標が最良となる最適オーダー順序を決定する
処理をコンピュータが実行することを特徴とする探索方法。
【請求項7】
各々が複数のピッキング対象を特定する情報を含む複数のオーダーを受信し、前記複数のオーダーのオーダー順序を特定する
処理をコンピュータに実行させる探索
プログラムであって、
前記複数のオーダーのうちの前記オーダー順序が未割当の候補オーダーの初期オーダー順序を生成し、
前記初期オーダー順序の先頭オーダーを選択し、前記先頭オーダーに対してピッキング効率の指標が最良となるオーダーを後続の前記候補オーダーから選択して前記オーダー順序を割り当てていくことで、前記オーダーの組み合わせを生成する処理を繰り返して、前記組み合わせ毎に分けられた前記複数のオーダーの前記オーダー順序を決め、
決定した複数の異なる前記オーダー順序を基に、前記複数のオーダーに対して前記ピッキング効率の指標が最良となる最適オーダー順序を決定する
処理をコンピュータに実行させることを特徴とする探索プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、探索方法および探索プログラムに関する。
【背景技術】
【0002】
配送センターなどで物品を保管して配送する作業を行う際には、伝票やリストなどにしたがって倉庫内に保管された複数の物品の中から指定された物品を取り出してカートに収納し、検品、仕分、梱包などの後続の作業の担当者へ受け流す作業が行われる。このような作業は、ピッキング作業と呼ばれる。ピッキング作業は、1つの伝票やリストなどで1つの宛先向けの物品を指定したオーダーという単位で処理される。
【0003】
倉庫内でのピッキング作業は、作業員が倉庫内を回ってカートやその上のコンテナにピッキングした商品を載せている方法がとられることが多い。多くの作業者が倉庫内を往復しながら商品を集めて回るピッキング作業は物流業務の中で多くのリソースが投入されるため生産性に大きくかかわり、また人件費はコストが高いことから、ピッキング作業の作業効率を向上させることが求められる。
【0004】
ピッキング作業に対する様々な効率化の1つに、マルチピッキングが存在する。マルチピッキングとは、オーダーを複数まとめて1回の巡回にあたる1ターンで実施するピッキング方法である。倉庫でのピッキング作業において、倉庫面積が広く、各オーダーで指定された商品が倉庫内で分散する場合には、マルチピッキングでの作業の方が1オーダーを1ターンで実施するよりも効率が良い。
【0005】
マルチピッキングを行う場合、組み合わせるオーダーをどう選択するかがピッキング作業の効率を決めるポイントとなる。ここで、マルチピッキングの効率を表すための指標は、線形と非線形の2つに分類することが可能である。線形の指標とは、各オーダーの指標が組み合わせる他のオーダーによって変わらない指標であり、例えば、1ターン当たりの物品合計重量であり、より具体的には、物品合計重量の平均値からの各オーダーで指定された物品の絶対差である。非線形の指標とは、各オーダーの指標が組み合わせる他のオーダーによって変わる指標であり、例えば、総移動距離や商品重複率である。
【0006】
このようなピッキング作業の効率化の技術として、以下のようなものがある。例えば、総移動距離を最短にするオーダーの組み合わせを求める技術がある。他にも、ピッキング順序の全ての組み合わせを求め、体積や重量を制約条件として巡回回数が最少のピッキング順序で且つ巡回回数が同じ場合にピッキング回数が最少のピッキング順序を選択する技術がある。また、ピッキングされるべき順序を示す順序情報とピッキング対象物の特定情報とを対応付けた対象物情報を記憶し、特定情報を用いて実際にピッキングされた順序を取得して対象物情報で指定される順と比較してピッキング順序の正誤を判定する技術がある。また、複数の品種の物品の情報を容積の大きい順に並べ替え、取り出し可能な容積の上限値まで容積の大きい順に物品を取り出す技術がある。
【先行技術文献】
【特許文献】
【0007】
【文献】特開2020-57252号公報
【文献】特開2000-118640号公報
【文献】特開2015-59023号公報
【文献】特開2012-116582号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、一般的なナップサック問題の解法である動的計画法で最適なオーダーの組み合わせを現実的な時間で求めることは、線形の指標を用いる場合であれば可能であるが、非線形の指標を用いる場合には困難である。また、総移動距離が最小となる組み合わせを総当たりで用いる技術では、オーダー数が多くなった場合に計算時間が膨大となり、現実的な時間で最適なオーダーの組み合わせを求めることは困難である。
【0009】
他にも、体積や重量を制約条件として巡回回数が最少のピッキング順序を求める技術では、オーダー数が多い場合には組み合わせの数が膨大となるため、現実的な時間で最適なオーダーの組み合わせを求めることは困難である。また、実際にピッキングされた順序を取得して対象物情報で指定される順と比較してピッキング順序の正誤を判定する技術では、ピッキングの順序の正誤を対象としており、巡回の効率化を図ることは困難である。また、取り出し可能な容積の上限値まで容積の大きい順に物品を取り出す技術では、非線形の指標を考慮しておらず、マルチピッキングでの最適なオーダーの組み合わせを特定することは困難である。したがって、いずれの技術を用いても、マルチピッキングを含むピッキング作業を効率化することは困難である。
【0010】
開示の技術は、上記に鑑みてなされたものであって、ピッキング作業を効率化する情報処理装置、探索方法および探索プログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
本願の開示する情報処理装置、探索方法および探索プログラムは、一つの態様において、各々が複数のピッキング対象を特定する情報を含む複数のオーダーを受信し、前記複数のオーダーのオーダー順序を特定する情報処理装置であって以下の各部を備える。初期オーダー順序生成部は、前記複数のオーダーのうちの前記オーダー順序が未割当の候補オーダーの初期オーダー順序を生成する。オーダー順序探索部は、前記初期オーダー順序の先頭オーダーを選択し、前記先頭オーダーに対してピッキング効率の指標が最良となるオーダーを後続の前記候補オーダーから選択して前記オーダー順序を割り当てていくことで、前記オーダーの組み合わせを生成する処理を繰り返して、前記組み合わせ毎に分けられた前記複数のオーダーの前記オーダー順序を決める。効率指標評価部は、前記オーダー順序探索部により決定された複数の異なる前記オーダー順序を基に、前記複数のオーダーに対して前記ピッキング効率の指標が最良となる最適オーダー順序を決定する。
【発明の効果】
【0012】
本願の開示する情報処理装置、探索方法および探索プログラムの一つの態様によれば、ピッキング作業を効率化することができるという効果を奏する。
【図面の簡単な説明】
【0013】
【
図1】
図1は、実施例1に係るオーダー順序探索装置のブロック図である。
【
図2】
図2は、ピッキングオーダーリストの一例を示す図である。
【
図3】
図3は、初期オーダー順序の一例を説明するための図である。
【
図4】
図4は、棚番号とエリア番号との対応図である。
【
図6】
図6は、エリア間移動距離テーブルを示す図である。
【
図7】
図7は、実施例1に係るオーダー順序探索部によるオーダー順序決定の流れの一例を示す図である。
【
図8】
図8は、実施例1に係る最適オーダー順序の決定方法を説明するための図である。
【
図9】
図9は、最適オーダー組み合わせの決定処理の概要を表すフローチャートである。
【
図10】
図10は、実施例1に係る最適オーダー組み合わせの決定処理の詳細を表すフローチャートである。
【
図11】
図11は、実施例2に係るオーダー順序探索装置のブロック図である。
【
図12】
図12は、実施例2に係るオーダー順序探索処理の流れを説明するための図である。
【
図13】
図13は、実施例2に係るオーダー順序の決定の流れを説明するための図である。
【
図14】
図14は、実施例2に係る最適オーダー組み合わせの決定処理の詳細を表すフローチャートである。
【
図15】
図15は、実施例3に係るオーダー順序探索装置のブロック図である。
【
図16】
図16は、実施例3に係る最適オーダー組み合わせの決定処理の詳細を表すフローチャートである。
【発明を実施するための形態】
【0014】
以下に、本願の開示する情報処理装置、探索方法および探索プログラムの実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する情報処理装置、探索方法および探索プログラムが限定されるものではない。
【実施例1】
【0015】
図1は、実施例1に係るオーダー順序探索装置のブロック図である。情報処理装置であるオーダー順序決定装置1は、与えられた複数のオーダーを予め決められた個数を上限とするグループに分割し、ピッキングする順序を決定する装置である。
図1に示すように、オーダー順序決定装置1は、初期オーダー探索部10、オーダー順序定義設定部11、オーダー組合せ変換部12及び通知部13を有する。
【0016】
初期オーダー探索部10は、与えられた複数のオーダーを並び替えて指標の値が良好となるオーダー順を決定する処理を行う。本実施例では、ピッキング作業の効率を図る指標として総移動距離を使用する場合で説明する。また、以下の説明では、1ターンで処理するオーダーの上限を3つとし、1ターンで処理するオーダーの組を1つのグループとして説明する。処理できるオーダーの数は、例えば、カートに積載可能なコンテナの上限が3つの場合、1つのオーダーで指定された物品が1つのコンテナに格納されるとすると、3つのオーダーが上限となる。
【0017】
以下に、初期オーダー探索部10の機能の詳細について説明する。初期オーダー探索部10は、初期オーダー順序生成部101、オーダー順序探索部102、効率指標評価部103及び指標算出保持部104を有する。
【0018】
初期オーダー順序生成部101は、
図2に示すピッキングオーダーリスト21を端末装置2から取得する。
図2は、ピッキングオーダーリストの一例を示す図である。ピッキングオーダーリスト21は、
図2に示すように、各オーダーに割り当てられたオーダー番号に対応させて、各オーダーで指定された各物品の情報が登録される。物品の情報には、配置位置を示す棚番号、番地及び段、商品名、個数、重量、並びに、容積などが含まれる。
【0019】
初期オーダー順序生成部101は、オーダー組み合わせを定義するオーダー順序を生成するためのオーダー順序定義をオーダー順序定義設定部11から取得する。そして、初期オーダー順序生成部101は、オーダー順序定義にしたがって
図3に例示した初期オーダー順序110を生成する。
図3は、初期オーダー順序の一例を説明するための図である。
【0020】
図3に示すように、オーダー順序決定装置1が最終的に作成して通知するオーダー組み合わせ150は、3つ以下のオーダーの組であるグループ毎に含まれるオーダーが登録される2次元配列で表される。ただし、オーダー組み合わせ150のような2次元配列では、全てのオーダーを俯瞰して上でオーダーの順序を決定することが難しい。そこで、オーダー順序定義設定部11が保持するオーダー順序定義には、
図3のオーダー組み合わせ150を定義するための1次元配列である1次元配列のオーダー順序を設定するための情報が含まれる。初期オーダー順序生成部101は、ピッキングオーダーリスト21に含まれる全てのオーダーを用いて、オーダー順序定義にしたがって2次元配列のオーダー組み合わせ150を1次元配列であるオーダー順序として表すことで初期オーダー順序110を生成する。
【0021】
例えば、初期オーダー順序生成部101は、各グループに割り当てられるオーダー番号をグループ番号順に並べた初期オーダー順序110を用いてオーダー組み合わせ150を定義する。
図3の初期オーダー順序は、矢印にしたがい処理されるオーダーの順番を表す。
図3の初期オーダー順序110は、オーダー数が200件であり、グループの上限のオーダー数が3件で、最後のグループ以外のグループには3件ずつオーダーが含まれる場合を表す。
【0022】
例えば、初期オーダー順序110は、
図3に示すオーダー組み合わせ150に含まれる各オーダーを矢印の順序で表すように並べられる。具体的には、
図3の初期オーダー順序110は、範囲151がグループG1のオーダーを表し、範囲152がグループG2のオーダーを表し、その後、3件ずつのオーダーの組み合わせを含むグループが続き、最後の範囲153がグループG67のグループを表す。ただし、初期オーダー順序110の生成方法は、オーダーが1次元配列で並びさえすれば他の方法でもよい。
【0023】
図1に戻って説明を続ける。初期オーダー順序生成部101は、生成した初期オーダー順序110をオーダー順序探索部102へ出力する。その後、予め決められた所定回数のオーダー順序探索が完了していない場合、出力した初期オーダー順序110を用いたオーダー順序探索の完了後に、初期オーダー順序生成部101は、次の初期オーダー順序110の生成指示を効率指標評価部103から受ける。
【0024】
そして、初期オーダー順序生成部101は、前回出力した初期オーダー順序110とは異なる初期オーダー順序110を生成してオーダー順序探索部102へ出力する。例えば、初期オーダー順序生成部101は、ピッキングオーダーリスト21に含まれるオーダーからランダムにオーダーを1つずつ選んで1列に並べることで初期オーダー順序110を生成する。初期オーダー順序生成部101は、所定回数のオーダー順序探索が完了するまで初期オーダー順序110の生成と出力を繰り返す。すなわち、初期オーダー順序生成部101は、所定回数と同数の初期オーダー順序110を生成する。
【0025】
指標算出情報保持部104は、オーダーの組み合わせた場合の指標の値を算出するための情報を保持する記憶装置である。ここで、ピッキングする物品の配置状態について説明する。
【0026】
図4は、棚番号とエリア番号との対応図である。本実施例では、倉庫300には
図4に示す棚#1~#64が配置される。そして、物品が棚#1~#64に保管される。各棚#1~#64は、
図4で示される平面方向に番地が振られ、且つ、
図4の紙面の鉛直方向に複数の段を有する。すなわち、物品の配置位置は、ピッキングオーダーリスト21における棚番号、番地及び段により示される。さらに、棚#1~#64を4つずつまとめたエリアA1~A16が設定される。例えば、棚#1~#4は、エリアA1に含まれる。また、棚#5~#8は、エリアA2に含まれる。上述したように物品の位置は棚、番地及び段により特定されるが、それらの情報を使用して移動距離を算出すると計算量が大きくなる。実際のピッキング作業を考慮した場合、エリアA1~A16のそれぞれで示される領域を同一の位置と考えることができる。そこで、本実施例では、計算量を抑えるためにエリアA1~A16をピッキングする物品の位置として考えて移動距離を算出するものとして、初期オーダー探索部10は、指標の値を算出するための情報としてエリアA1~A16の各間の距離を用いる。
【0027】
図5は、棚エリア対応表を示す図である。また、
図6は、エリア間移動距離テーブルを示す図である。指標算出情報保持部104は、
図5に示す棚エリア対応表141及び
図6に示すエリア間移動距離テーブル142を保持する。この指標算出情報保持部104が保持する情報を用いることで、エリアA1~A16のそれぞれの間の距離からピッキング処理の指標の値を算出することができる。
【0028】
図5の、棚エリア対応表141は、各棚#1~#64に割り当てられた棚番号と、各棚#1~#64を含むエリアA1~A16に割り当てられたエリア番号との対応が登録される。
図5では、#1~#64により各棚#1~#64の棚番号が表され、A1~A16によりエリアA1~A16のエリア番号が表される。
【0029】
図5の、エリア間移動距離テーブル142は、各エリアA1~A64のそれぞれの間の距離を表す。エリア間移動距離テーブル142は、縦軸のエリア番号のエリアから横軸のエリア番号のエリアまでの移動距離を表す。例えば、エリアA1からエリアA2までの移動距離は222である。ここで、倉庫300では、エリア間の移動が一方通行に制限されている。そこで、エリア間移動距離テーブル142では、一方通行の逆光を禁止するため、逆行しないと到達できない要素は十分大きな値が設定される。例えば、エリアA2からエリアA1への移動は一方通行の逆行であるため、移動距離が9999と設定される。
【0030】
図1に戻って説明を続ける。オーダー順序探索部102は、初期オーダー順序110の入力を初期オーダー順序生成部101から受ける。次に、オーダー順序探索部102は、取得した初期オーダー順序110に対して、先頭のグループから順番にグループ毎にオーダーの割り当てを行いオーダーの順序を決定する。詳しくは、オーダー順序探索部102は、各グループの1つ目のオーダーは、未だ順序が割り当てられていないオーダーのうちの先頭のオーダーを割り当てる。以下では、未だ順序が割り当てられていないオーダーを「候補オーダー」と呼ぶ。
【0031】
その後、オーダー順序探索部102は、指標算出情報保持部104が保持する棚エリア対応表141及びエリア間移動距離テーブル142を用いて、グループの残りのオーダーの順番にしたがい1つずつ指標が最良となるオーダーを決めていく。オーダー順序探索部102は、グループ毎のオーダーの決定を繰り返して、全てのオーダーの順序及びグループを決定する。ここで説明したオーダー順序の決定方法を、以下では「グループ単位順次オーダー決定手順」と呼ぶ。
【0032】
ここで、オーダー順序探索部102は、各グループに含まれるオーダーを決定する際に、制約条件を考慮してオーダーの組み合わせを決定してもよい。例えば、オーダー順序探索部102は、カートに搭載可能な最大重量を制約条件として、最大重量を超えないように指標が最良となるオーダーの組み合わせを決定してもよい。この時、オーダー順序探索部102は、グループに含まれるオーダーの上限に達しないオーダー数の組でグループを形成してもよい。
【0033】
図7は、実施例1に係るオーダー順序探索部によるオーダー順序決定の流れの一例を示す図である。ここで、
図7を用いて、オーダー順序探索部102によるオーダー順序決定の流れの一例を説明する。ここでは、オーダーa1~a200が存在する場合で説明する。
【0034】
オーダー順序探索部102は、
図7に示すオーダーa1~a200まで順番に並んだ初期オーダー順序110を取得する。オーダー順序探索部102は、最初のグループG1をオーダー割り当ての対象とする。この状態では、順序が割り当てられたオーダーは存在しないので、全てのオーダーが候補オーダーである。グループG1にはオーダーが未割り当てであるので、オーダー順序探索部102は、状態111に示すように、初期オーダー順序110の先頭のオーダーa1をグループG1の先頭のオーダーとする。
【0035】
次に、オーダー順序探索部102は、棚エリア対応表141を用いて各オーダーで指定された物品が配置されたエリアを特定し、オーダーa1のエリアから各候補オーダーとの間の移動距離をエリア間移動距離テーブル142から求める。そして、オーダー順序探索部102は、残る候補オーダーから1つずつ総当たりでオーダーa1と組み合わせた時の総移動距離が最短となるオーダーを特定する。ここで、指標として総移動距離を用いるため、総移動距離が最短となる場合が指標の値が最良となる場合にあたる。ここでは、オーダーa1の後にオーダーa7を割り当てる場合に総移動距離が最短となる。そこで、オーダー順序探索部102は、オーダーa1の後にオーダーa7を配置してオーダー7に順序を割り当てる。
【0036】
ここで、オーダー順序探索部102は、1つずつオーダーを組合せて総移動距離を計算していく際に、組合せた前後での総移動距離の等しいオーダーが見つかった時点でそのオーダーを採用し、残りの候補オーダーの計算はしない。これは、オーダーを組み合わせた後の総移動距離が組合せる前の総移動距離より短くなり得ないため、総移動距離が等しくなった場合が最短と考えられることを理由とする。
【0037】
同様にして、オーダーa7の後にオーダーa11を割り当てる場合に総移動距離が最短となることから、オーダー順序探索部102は、状態113に示すようにオーダーa7の後にオーダーa11を配置して、オーダーa11に順序を割り当てる。これにより、オーダー順序探索部102は、グループG1に割り当てるオーダー及びその順序を決定する。
【0038】
次に、オーダー順序探索部102は、グループG1の次のグループG2をオーダー割り当ての対象とする。グループG2にはオーダーが未割り当てであるので、オーダー順序探索部102は、状態114に示すように、候補オーダーの先頭のオーダーa2をグループG2の先頭のオーダーとする。そして、オーダー順序探索部102は、グループ単位順次オーダー決定手順により、グループG2に割り当てるオーダー及びその順序を決定する。
【0039】
その後、オーダー順序探索部102は、最後オーダーまで順序を割り当てる。ここで、グループの数は増えてもよいし、制約条件などにより3未満のオーダーが割り当てられたグループが存在してもよい。これにより、オーダー順序探索部102は、取得した初期オーダー順序に対してグループ単位順次オーダー決定手順を用いた場合の指標の値が最良となる最適候補オーダー順序を決定する。そして、オーダー順序探索部102は、決定した最適候補オーダー順序を効率指標評価部103へ出力する。
【0040】
効率指標評価部103は、初期オーダー順序生成部101が出力した初期オーダー順序110に対応する最適候補オーダー順序の入力をオーダー順序探索部102から受ける。そして、効率指標評価部103は、取得した最適候補オーダー順序の指標の値を算出する。ここで、最適候補オーダー順序におけるグループ毎の指標の値はオーダー順序探索部102により算出しされている。そこで、効率指標評価部103は、オーダー順序探索部102が算出した最適候補オーダー順序におけるグループ毎の指標の値を取得して、それらを用いて最適候補オーダー順序の指標の値を算出してもよい。例えば、総移動距離を指標とする場合、効率指標評価部103は、最適候補オーダー順序におけるグループ毎の総移動距離の値を取得して総計を求めることで、最適候補オーダー順序の指標の値を算出してもよい。
【0041】
ここで、最適候補オーダー順序は初期オーダー順序110におけるオーダーの並び方に依存する。そのため、異なる初期オーダー順序110を考慮することで、より指標の値が良好となるオーダー順序を求めることができる。そこで、効率指標評価部103は、予め決められたオーダー順序探索の実行回数である所定回数の情報を保持する。そして、効率指標評価部103は、取得した最適候補オーダー順序の数から、オーダー順序探索の実行が所定回数に達したか否かを判定する。
【0042】
効率指標評価部103は、オーダー順序探索の実行が所定回数に達していなければ、次の初期オーダー順序110の生成を初期オーダー順序生成部101に指示する。これに対して、オーダー順序探索の実行が所定回数に達している場合、効率指標評価部103は、保持する最適候補オーダー順序の指標の値を比較して、その中で指標の値が最良のオーダー順序を最適オーダー順序として決定する。その後、効率指標評価部103は、最適オーダー順序をオーダー組合せ変換部12へ出力する。
【0043】
ここでは、グループ単位順次オーダー決定手順により指標の値が最も良好とされた最適候補オーダー順序を探索し、その最適候補オーダー順序の中から指標の値が最良となる最適オーダー順序を特定することが、「オーダー順序の最適化」にあたる。総移動距離を指標とする場合であれば、グループ単位順次オーダー決定手順を用いて総移動距離が最短となる最適候補オーダー順序を探索し、その最適候補オーダー順序から総移動距離が最短となる最適オーダー順序を特定することが、オーダー順序の最適化にあたる。
【0044】
図8は、実施例1に係る最適オーダー順序の決定方法を説明するための図である。オーダー順序探索部102は、初期オーダー順序110Aから最適候補オーダー順序115Aを求める。例えば、初期オーダー順序110Aの総移動距離の値が4000である。そして、効率指標評価部103は、最適候補オーダー順序115Aの指標である総移動距離の値を3756と求める。この場合、最適候補オーダー順序115Aの指標の値は初期オーダー順序110Aに比べて良くなっている。また、オーダー順序探索部102は、初期オーダー順序110Bから最適候補オーダー順序115Bを求める。例えば、初期オーダー順序110Bの総移動距離の値が3981である。そして、効率指標評価部103は、最適候補オーダー順序115Bの指標である総移動距離の値を3401と求める。この場合も、最適候補オーダー順序115Bの指標の値は初期オーダー順序110Bに比べて良くなっている。最適候補オーダー順序115A及び115Bのいずれも初期オーダー順序110に比べて指標の値はよくなっているが、それぞれの指標の値に差がある。このように、初期オーダー順序110に応じて、最適候補オーダー順序の指標の値が変化する。効率指標評価部103は、所定回数に応じた数の最適候補オーダー順序を取得して、その後にそれぞれの総移動距離の値を比較して最も指標の値が良好な最適候補オーダー順序を最適オーダー順序とする。
【0045】
図1に戻って説明を続ける。オーダー順序定義設定部11は、オーダー組み合わせを定義するオーダー順序を生成するための表すオーダー順序定義を予め保持する。例えば、オーダー順序定義設定部11は、
図3のオーダー組み合わせ150を定義する1次元配列であるオーダー順序を生成するためのオーダー順序定義を保持する。具体的には、オーダー順序定義設定部11は、グループ毎に先頭から並び、且つ、グループに含まれるオーダー数の上限が3であるなどの情報をオーダー順序定義として保持する。
【0046】
オーダー組合せ変換部12は、最適オーダー順序の入力を効率指標評価部103から受ける。さらに、オーダー組合せ変換部12は、オーダー順序定義をオーダー順序定義設定部11から取得する。
【0047】
次に、オーダー組合せ変換部12は、オーダー順序定義からオーダー順序をオーダー組み合わせに変換するための変換アルゴリズムを取得する。変換アルゴリズムは、例えば、1次元配列のオーダー順序を、
図3のオーダー組み合わせ150と同様の構造を有するグループ毎にオーダーの組が登録された2次元配列へ変換するためのアルゴリズムである。
【0048】
その後、オーダー組合せ変換部12は、生成した変換アルゴリズムを用いて、最適オーダー順序をオーダー組み合わせに変換して最適オーダー組み合わせを生成する。例えば、オーダー組合せ変換部12は、グループ毎にオーダーの組み合わせが登録された2次元配列として表される最適オーダー組み合わせを生成する。その後、オーダー組合せ変換部12は、生成した最適オーダー組合せを通知部13へ出力する。
【0049】
通知部13は、ピッキング作業の効率化を表す指標が良好となるように決定された最適オーダー組み合わせの情報の入力をオーダー組合せ変換部12から受ける。そして、通知部13は、モニタなどに最適オーダー組み合わせを表示させて、ピッキング作業者やピッキング作業の管理者に指標の値が良好となる最適オーダー組み合わせの情報を通知する。例えば、指標が総移動距離であれば、ピッキング作業者やピッキング作業の管理者は通知された最適オーダー組み合わせを用いてピッキング作業を行うことでピッキング作業時の総移動距離を短くすることができ、ピッキング作業の効率を向上させることができる。
【0050】
図9は、最適オーダー組み合わせの決定処理の概要を表すフローチャートである。次に、
図9を参照して、最適オーダー組み合わせの設定処理の全体的な流れを説明する。
【0051】
初期オーダー順序生成部101は、ピッキングオーダーリスト21を端末装置2から受信する。また、初期オーダー順序生成部101は、オーダー組み合わせを定義するオーダー順序を生成するための情報であるオーダー順序定義をオーダー順序定義設定部11から取得する(ステップS1)。
【0052】
次に、初期オーダー順序生成部101は、ピッキングオーダーリスト21を用いて、オーダー順序定義にしたがって初期オーダー順序110を複数作成する。オーダー順序探索部102は、グループ単位順次オーダー決定手順を用いて各初期オーダー順序110から最適候補オーダー順序を生成する。効率指標評価部103は、各最適候補オーダー順序の指標の値を算出し、指標の値が最良となる最適候補オーダー順序を最適オーダー順序として決定する(ステップS2)。
【0053】
オーダー組合せ変換部12は、最適オーダー順序の入力を効率指標評価部103から受ける。また、オーダー組合せ変換部12は、オーダー順序定義をオーダー順序定義設定部11から取得する。そして、オーダー組合せ変換部12は、オーダー順序定義を用いて最適オーダー順序から最適オーダー組み合わせを生成する(ステップS3)。
【0054】
通知部13は、最適オーダー順序から生成された最適オーダー組み合わせをオーダー組合せ変換部12から取得する。そして、通知部13は、取得した最適オーダー組み合わせをピッキング作業者やピッキング作業の管理者に通知する(ステップS4)。
【0055】
図10は、実施例1に係る最適オーダー組み合わせの決定処理の詳細を表すフローチャートである。
図10は、
図9におけるステップS2で実行される処理の一例にあたる。次に、
図10を参照して、本実施例に係る最適オーダー組み合わせの決定処理の詳細な流れを説明する。
【0056】
初期オーダー順序生成部101は、ピッキングオーダーリスト21からランダムにオーダーを選択するなどして、オーダー順序定義にしたがって新たな初期オーダー順序110を生成する(ステップS101)。そして、初期オーダー順序生成部101は、生成した初期オーダー順序110をオーダー順序探索部102へ出力する。
【0057】
オーダー順序探索部102は、初期オーダー順序110の入力を初期オーダー順序生成部101から受ける。次に、オーダー順序探索部102は、順序の割り当てを行うオーダーが、オーダーの割り当ての対象とするグループの1つ目のオーダーか否かを判定する(ステップS102)。
【0058】
オーダーの割り当ての対象とするグループの1つ目のオーダーの場合(ステップS102:肯定)、オーダー順序探索部102は、1次元配列に並んだオーダーのうちの順序が未割り当てである候補オーダーの先頭のオーダーをグループの先頭に割り当てる(ステップS103)。その後、オーダー順序探索部102は、ステップS102へ戻る。
【0059】
これに対して、オーダーの割り当ての対象とするグループの1つ目のオーダーでない場合(ステップS102:否定)、オーダー順序探索部102は、候補オーダーを1つずつ次のオーダーとして割り当て指標の値が最適となるオーダーを特定する。そして、オーダー順序探索部102は、特定したオーダーをグループの次の順序のオーダーとして割り当てる(ステップS104)。
【0060】
次に、オーダー順序探索部102は、初期オーダー順序110に含まれる全てのオーダーの順序の割り当てが完了したか否かを判定する(ステップS105)。順序が未割当のオーダーが残っている場合(ステップS105:否定)、オーダー順序探索部102は、ステップS102へ戻る。
【0061】
これに対して、初期オーダー順序110に含まれる全てのオーダーの順序の割り当てが完了した場合(ステップS105:肯定)、オーダー順序探索部102は、全てのオーダーの順序の割り当てにより生成された最適候補オーダー順序を効率指標評価部103へ出力する。効率指標評価部103は、最適候補オーダー順序の入力をオーダー順序探索部102から受ける。そして、効率指標評価部103は、指標算出情報保持部14が保持する棚エリア対応表141及びエリア間移動距離テーブル142を用いて、取得した最適候補オーダー順序の指標の値を算出する。次に、効率指標評価部103は、オーダー順序の探索が所定回数実行されたか否かを判定する(ステップS106)。オーダー順序の探索の実行回数が所定回数未満の場合(ステップS106:否定)、最適オーダー組み合わせの決定処理は、ステップS101へ戻る。
【0062】
これに対して、オーダー順序の探索の実行回数が所定回数に達した場合(ステップS106:肯定)、効率指標評価部103は、各最適候補オーダー順序の指標の値を比較して、指標の値が最良となる最適オーダー順序を決定する(ステップS107)。その後、効率指標評価部103は、最適オーダー順序をオーダー組合せ変換部12へ出力する。
【0063】
以上に説明したように、本実施例に係るオーダー順序決定装置は、1次元配列としてオーダーを並べた初期オーダー順序を生成する。そして、オーダー順序決定装置は、初期オーダー順序に対して、グループの先頭のオーダーを決定し、その先頭のオーダーから順次指標が最良となるオーダーを全ての候補オーダーの総当たりで見つけていく。さらに、オーダー順序決定装置は、オーダーの順序の割り当て処理をグループ毎に繰り返して、全てのオーダーの順序及びグループを決定し最適候補オーダー順序を決定する。その後、オーダー順序決定装置は、各最適候補オーダー順序の中から指標の値が最適となる最適オーダー順序を決定する。以上のことから、オーダー順序決定装置は、以上のようなグループ単位順次オーダー決定手順により、オーダー数が多い場合に、ピッキングの効率を表す指標として非線形な指標を用いる場合であっても現実的な時間で、指標が好適となるオーダー組み合わせを選定することが可能となる。この選定されたオーダー組み合わせを用いてピッキング作業を行うことで、ピッキングの作業効率を向上させることが可能となる。また、ピッキング作業のコスト削減や作業負荷低減を実現することができる。
【実施例2】
【0064】
図11は、実施例2に係るオーダー順序探索装置のブロック図である。本実施例に係るオーダー順序決定装置1は、オーダーの順序の割り当てにおいて1次元配列の候補オーダーにおける変更対象の範囲を限定して先頭のオーダーを確定していくことが実施例1と異なる。本実施例に係るオーダー順序決定装置1は、実施例1の各部に加えて変更範囲設定部105及び先頭順序確定部106を有する。以下の説明では、実施例1の各部の動作と同様の各部の動作については説明を省略する。
【0065】
変更範囲設定部105は、変更対象とする候補オーダーの個数である変更個数の情報を予め有する。例えば、変更範囲設定部105は、変更個数を6個とする。この変更個数は、多ければより最良の指数を有する順序が決定可能であるが、そのトレードオフとして計算量が多くなる。そこで、変更個数は、要求されるピッキング作業の効率化のレベルと許容可能な計算時間に応じて決定されることが好ましい。
【0066】
変更範囲設定部105は、端末装置からピッキングオーダーリスト21を取得する。そして、変更範囲設定部105は、先頭から変更範囲個数のオーダーを変更範囲として設定する。そして、変更範囲設定部105は、設定した変更範囲の情報を初期オーダー順序生成部101に通知する。その後、変更範囲設定部105は、先頭順序確定部106は、オーダー順序の先頭のオーダーとして確定したオーダーの情報の入力を先頭順序確定部106から受ける。
【0067】
次に、変更範囲設定部105は、順序が割り当てられたオーダーを除いた残りの候補オーダーの先頭から変更範囲個数のオーダーを変更範囲として設定する。そして、変更範囲設定部105は、ピッキングオーダーリスト21、確定した先頭のオーダーの情報及び設定した変更範囲の情報を初期オーダー順序生成部101に通知する。ここで、変更範囲の情報には、変更範囲の最初のオーダーとなる位置及び変更範囲個数の情報が含まれる。
【0068】
その後、最適オーダー順序が求められていない場合、変更範囲設定部105は、前回の候補オーダーにおける先頭として順序が確定したオーダーの情報の入力を先頭順序確定部106から受ける。その後、変更範囲設定部105は、前回の候補オーダーにおける先頭として順序が確定したオーダーの情報及び設定した変更範囲の情報を初期オーダー順序生成部101へ通知する。ここでは、変更範囲設定部105は、変更範囲が初期オーダー順序110の最後に達した場合を最後の変更範囲の設定とする。他にも、1次元配列で並んだオーダー順序において最後尾から変更範囲個数の範囲にあるオーダーの順序を決定する場合に、変更範囲設定部105は、残りの候補オーダー全てを変更範囲とする構成でもよい。
【0069】
初期オーダー順序生成部101は、ピッキングオーダーリスト21の入力を変更範囲設定部105から受ける。また、初期オーダー順序生成部101は、前回の候補オーダーにおける先頭として順序が確定したオーダーの情報及び変更範囲の情報の入力を変更範囲設定部105から受ける。そして、初期オーダー順序生成部101は、既に順序が割り当てられたオーダーの除いた残りの1次元配列で並ぶ候補オーダーのうち指定された変更範囲にある候補オーダーを変更対象とし残りの候補オーダーを固定して所定数の第1世代の初期オーダー順序110を生成する。そして、初期オーダー順序生成部101は、生成した第1世代の初期オーダー順序110をオーダー順序探索部102へ出力する。
【0070】
その後、初期オーダー順序生成部101は、第1世代の各初期オーダー順序110に対してグループ単位順次オーダー決定手順を用いて決定された最適候補オーダー順序及びそれぞれの指標の値の入力を効率指標評価部103から受ける。そして、初期オーダー順序生成部101は、遺伝的アルゴリズム(GA:Genetic Algorithm)を用いて、指標の値を目的変数として次世代の初期オーダー順序110の生成を行う。
【0071】
例えば、初期オーダー順序生成部101は、指標の値が良好な最適候補オーダー順序の初期オーダー順序110を残し、残した初期オーダー順序110と合わせて所定数となる残りの初期オーダー順序110を第2世代の初期オーダー順序として生成する。そして、初期オーダー順序生成部101は、生成した第2世代の初期オーダー順序110をオーダー順序探索部102へ出力する。
【0072】
初期オーダー順序生成部101は、予め決められた世代に達するまで、指標の値を目的変数とする遺伝的アルゴリズムを用いて、初期オーダー順序110の生成を繰り返し、オーダー順序探索部102へ出力する。例えば、使用する世代が10世代と決められた場合、初期オーダー順序生成部101は、10世代になるまで初期オーダー順序110の生成及び出力を繰り返す。
【0073】
予め設定された世代に達するとその時点での変更範囲の先頭となるオーダーが確定され、初期オーダー順序生成部101は、以下で説明する次の変更範囲に対応する初期オーダー順序110の生成に移る。初期オーダー順序生成部101は、初期オーダー順序生成部101は、前回の候補オーダーにおける先頭として順序が確定したオーダーの情報及び変更範囲の情報の入力を変更範囲設定部105から受ける。そして、初期オーダー順序生成部101は、新たな変更範囲に存在する候補オーダーを変更対象とし、順序が割り当てられたオーダー及び残りのオーダーを固定して世代毎の初期オーダー順序110の生成を行う。初期オーダー順序生成部101は、候補オーダーにおける先頭のオーダーの確定される毎に、世代毎の初期オーダー順序110の作成を、全てのオーダーに順序が割り当てられるまで繰り返す。
【0074】
オーダー順序探索部102は、世代毎に所定数の初期オーダー順序110の入力を初期オーダー順序生成部101から受ける。そして、オーダー順序探索部102は、各初期オーダー順序110に対して、グループ単位順次オーダー決定手順を用いてそれぞれの最適候補オーダーを求める。この際、前の世代から引き継がれた初期オーダー順序110については最適候補オーダー順序が既に求められており、オーダー順序探索部102は、その既に求めた最適候補オーダー順序を用いることができる。その後、オーダー順序探索部102は、求めた最適候補オーダー順序を効率指標評価部103へ出力する。
【0075】
効率指標評価部103は、各変更範囲が設定された候補オーダーに対して世代毎に所定数の最適候補オーダー順序の入力をオーダー順序探索部102から受ける。そして、効率指標評価部103は、最適候補オーダー順序それぞれの指標の値を算出する。また、効率指標評価部103は、同じ変更範囲が指定された候補オーダーに対して所定世代の初期オーダー順序110が生成され、それぞれの最適候補オーダー順序が求められた回数から世代管理を行う。
【0076】
特定の変更範囲が指定された候補オーダーに対して最終世代に達していない場合、効率指標評価部103は、各初期オーダー順序110に対する最適候補オーダー順序及びそれぞれの指標の値を初期オーダー順序生成部101へ出力する。
【0077】
これに対して、特定の変更範囲が指定された場合の最終世代の最適候補オーダー順序が決定すると、効率指標評価部103は、最終世代の最適候補オーダー順序及びそれぞれの指標の値を先頭順序確定部106へ出力する。
【0078】
また、変更範囲が初期オーダー順序110の最後尾のオーダーを含む場合、すなわち、その時点で全てのオーダーの順序が決定可能な場合、効率指標評価部103は、各最適候補オーダー順序の指標の値を比較する。そして、効率指標評価部103は、指標の値が最良の最低候補オーダー順序を最適オーダー順序として決定して、最適オーダー順序の情報をオーダー組合せ変換部12へ出力する。
【0079】
先頭順序確定部106は、各変更範囲が指定された最終世代の最適候補オーダー順序及びそれぞれの指標の値の入力を効率指標評価部103から受ける。そして、先頭順序確定部106は、取得した最適候補オーダー順序のうち指標の値が最良の最適候補オーダー順序を特定する。そして、先頭順序確定部106は、特定した最適候補オーダー順序の先頭のオーダーをその時点での候補オーダーの先頭のオーダーとして順序を割り当てる。その後、先頭順序確定部106は、その時点での候補オーダーの先頭のオーダーとして順序が確定したオーダーの情報を変更範囲設定部105へ出力する。
【0080】
図12は、実施例2に係るオーダー順序探索処理の流れを説明するための図である。
図12を参照して、本実施例に係るオーダー順序探索処理の流れを説明する。
図12において手順Pは、グループ単位順次オーダー決定手順を表す。またここでは、指標の値として総移動距離を用いる場合で説明する。
【0081】
初期オーダー順序生成部101は、指定された変更範囲にあたる候補オーダーを変更対象とし、既に順序が割り当てられたオーダー及び他の候補オーダーを固定して第1世代の初期オーダー順序110A~110Fを生成する。オーダー順序探索部102は、第1世代の初期オーダー順序110A~110Fのそれぞれに対してグループ単位順次オーダー決定手順を実行してそれぞれの最適候補オーダー順序を決定する。効率指標評価部103は、各最適候補オーダー順序における総移動距離を求める。
【0082】
そして、初期オーダー順序生成部101は、第1世代の初期オーダー順序110A~110Fのうち総移動距離が好適な初期オーダー順序110Aを第2世代に引き継ぐ。また、総移動距離が悪い個体は交配や突然変異と考えられるため、初期オーダー順序生成部101は、総移動距離が悪い残りの第1世代の初期オーダー順序110B~110Fを淘汰する。次に、初期オーダー順序生成部101は、新たに初期オーダー順序111B~111Fを生成し、第1世代から引き継いだ初期オーダー順序110Aを加えて、第2世代の初期オーダー順序110A及び111B~111Fとする。オーダー順序探索部102は、第2世代の初期オーダー順序110A及び111B~111Fのそれぞれに対してグループ単位順次オーダー決定手順を実行してそれぞれの最適候補オーダー順序を決定する。効率指標評価部103は、各最適候補オーダー順序における総移動距離を求める。
【0083】
このように、初期オーダー順序生成部101、オーダー順序探索部102及び効率指標評価部103は連携して総移動距離がより短くなるオーダー順序を探索していく。そして、初期オーダー順序生成部101、オーダー順序探索部102及び効率指標評価部103は、予め決められた世代に達するまで上述したオーダー順序探索処理を繰り返す。例えば、第10世代までと決められた場合、初期オーダー順序生成部101、オーダー順序探索部102及び効率指標評価部103は、第10世代に達するまで探索処理を繰り返す。そして、効率指標評価部103は、第10世代の初期オーダー順序112A~112Fから求められたそれぞれの最適候補オーダー順序の総移動距離を比較して最適オーダー順序を決定する。
【0084】
図13は、実施例2に係るオーダー順序の決定の流れを説明するための図である。ここで、
図13を参照して、変更範囲の決定からオーダー順序の決定までの概要を説明する。ここでは、変更対象とするオーダー数を6個として説明する。
【0085】
変更範囲設定部105は、最初の変更範囲としてオーダー順序の先頭から6つのオーダーを含む変更範囲401を設定する。初期オーダー順序生成部101は、変更範囲401に含まれるオーダーを変更対象とし、残りの領域402に含まれるオーダーは固定して各世代の初期オーダー順序403を生成する。そして、オーダー順序探索部102は、手順Pで表されるグループ単位順次オーダー決定手順を実行して各初期オーダー順序403に対応する最適候補オーダー順序を決定する。効率指標評価部103は、各最適候補オーダー順序の指標の値を算出する。そして、最終世代の最適候補オーダー順序が求まると、先頭順序確定部106は、指標の値が最良となる最適候補オーダー順序を特定して、オーダー順序421に示すように、その特定した最適候補オーダー順序の変更範囲401の先頭のオーダーの順序を確定する。
【0086】
次に、変更範囲設定部105は、次の変更範囲として確定した先頭のオーダーを除く候補オーダーの先頭から6つのオーダーを含む変更範囲411を設定する。初期オーダー順序生成部101は、順序が確定したオーダーを除き、変更範囲411に含まれるオーダーを変更対象とし、残りの領域412に含まれるオーダーは固定して各世代の初期オーダー順序413を生成する。そして、オーダー順序探索部102は、グループ単位順次オーダー決定手順を実行して各初期オーダー順序413に対応する最適候補オーダー順序を決定する。効率指標評価部103は、各最適候補オーダー順序の指標の値を算出する。そして、最終世代の最適候補オーダー順序が求まると、先頭順序確定部106は、指標の値が最良となる最適候補オーダー順序を特定して、オーダー順序422に示すように、その特定した最適候補オーダー順序の変更範囲411の先頭のオーダーの順序を確定する。
【0087】
以上の処理を繰り返して、先頭順序確定部106は、オーダー順序の先頭から順にオーダーの順序を割り当てていく。そして、全てのオーダーの順序が決定した時点で、効率指標評価部103は、最適オーダー順序を決定する。
【0088】
図14は、実施例2に係る最適オーダー組み合わせの決定処理の詳細を表すフローチャートである。
図14は、
図9におけるステップS2で実行される処理の一例にあたる。次に、
図14を参照して、本実施例に係る最適オーダー組み合わせの決定処理の詳細な流れを説明する。
【0089】
変更範囲設定部105は、1次元配列に並べられるオーダー順序の変更範囲を設定する(ステップS201)。そして、変更範囲設定部105は、変更範囲の情報及び順序が確定したオーダーの情報を初期オーダー順序生成部101へ出力する。
【0090】
初期オーダー順序生成部101は、変更範囲の情報及び順序が確定したオーダーの情報の入力を変更範囲設定部105から受ける。そして、初期オーダー順序生成部101は、指定された変更範囲に含まれる候補オーダーを変更対象とし、既に順序が確定したオーダー及び残りの候補オーダーを固定して所定数の第1世代の初期オーダー順序110を生成する(ステップS202)。そして、初期オーダー順序生成部101は、生成した初期オーダー順序110をオーダー順序探索部102へ出力する。
【0091】
オーダー順序探索部102は、所定数の初期オーダー順序110を取得する。そして、オーダー順序探索部102は、未選択の初期オーダー順序110の中から初期オーダー順序110を1つ選択する(ステップS203)。
【0092】
次に、オーダー順序探索部102は、選択した初期オーダー順序110について、順序の割り当てを行うオーダーが、オーダーの割り当ての対象とするグループの1つ目のオーダーか否かを判定する(ステップS204)。
【0093】
オーダーの割り当ての対象とするグループの1つ目のオーダーの場合(ステップS204:肯定)、オーダー順序探索部102は、1次元配列に並んだオーダーのうちの順序が未割り当てである候補オーダーの先頭のオーダーをグループの先頭に割り当てる(ステップS205)。その後、オーダー順序探索部102は、ステップS204へ戻る。
【0094】
これに対して、オーダーの割り当ての対象とするグループの1つ目のオーダーでない場合(ステップS204:否定)、オーダー順序探索部102は、候補オーダーを1つずつ次のオーダーとして割り当て指標の値が最適となるオーダーを特定する。そして、オーダー順序探索部102は、特定したオーダーをグループの次の順序のオーダーとして割り当てる(ステップS206)。
【0095】
次に、オーダー順序探索部102は、初期オーダー順序110に含まれる全てのオーダーの順序の割り当てが完了したか否かを判定する(ステップS207)。順序が未割当のオーダーが残っている場合(ステップS207:否定)、オーダー順序探索部102は、ステップS204へ戻る。
【0096】
これに対して、初期オーダー順序110に含まれる全てのオーダーの順序の割り当てが完了した場合(ステップS207:肯定)、オーダー順序探索部102は、全てのオーダーに順序を割り当てて生成した最適候補オーダー順序を効率指標評価部103へ出力する。その後、オーダー順序探索部102は、取得した所定数の初期オーダー順序110の全てについてオーダー順序探索を完了したか否かを判定する(ステップS208)。オーダー順序探索を行っていない初期オーダー順序110が残っている場合(ステップS208:否定)、オーダー順序探索部102は、ステップS203へ戻る。
【0097】
これに対して、所定数の初期オーダー順序110の全てについてオーダー順序探索が完了した場合(ステップS208:肯定)、効率指標評価部103は、オーダー順序探索が所定世代に達したか否かを判定する(ステップS209)。所定世代に達していない場合(ステップS209:否定)、効率指標評価部103は、その時点の各初期オーダー順序110に対応する最適候補オーダー順序の指標の値を初期オーダー順序生成部101へ出力する。初期オーダー順序生成部101は、遺伝的アルゴリズムを用いて所定数の次世代の初期オーダー順序110を生成する(ステップS210)。その後、最適オーダー組み合わせの決定処理は、ステップS203へ戻る。
【0098】
これに対して、所定世代に達した場合(ステップS209:肯定)、効率指標評価部103は、変更範囲が初期オーダー順序110の最後尾に達したか否かを判定する(ステップS211)。変更範囲が初期オーダー順序110の最後尾に達していない場合(ステップS211:否定)、効率指標評価部103は、その時点の各初期オーダー順序110に対応する最適候補オーダー順序の指標の値を先頭順序確定部106へ出力する。先頭順序確定部106は、指標の値が最良となる最適候補オーダーを特定して、特定した最適候補オーダーにおける変更範囲の先頭のオーダーにその変更範囲の先頭にあたる順序を割り当てて、変更範囲の先頭順序を確定する(ステップS212)。その後、最適オーダー組み合わせの決定処理は、ステップS201へ戻る。
【0099】
これに対して、変更範囲が初期オーダー順序110の最後尾に達した場合(ステップS211:肯定)、効率指標評価部103は、各最適候補オーダー順序の指標の値を比較して、最適候補オーダー順序の中から最適オーダー順序を決定する(ステップS213)。その後、効率指標評価部103は、最適オーダー順序をオーダー組合せ変換部12へ出力する。
【0100】
以上に説明したように、本実施例に係るオーダー順序決定装置は、設定した変更範囲内のオーダーを変更対象として、指標の値を目的変数として遺伝的アルゴリズムを用いて世代毎の初期オーダー順序を生成する。そして、オーダー順序決定装置は、生成した初期オーダー順序に対してグループ単位順次オーダー決定手順を用いて最適候補オーダー順序を決定していく。さらに、オーダー順序決定装置は、所定世代まで達すると、最適候補オーダー順序のうち指標の値が最良となる最適候補オーダー順序における変更範囲の先頭のオーダーの順序を確定する。オーダー順序決定装置は、この変更範囲の先頭のオーダーの順序を繰り返していくことで、指標が良好となる全てのオーダーの順序を決定する。これにより、指標の値がより好適となるオーダー順序を特定することができ、ピッキング作業の作業効率をより向上させることができる。
【0101】
例えば、オーダー数が200件、1つのグループの中で組み合わせるオーダー数が3件の場合のピッキング指標の計算回数について検討する。総当たりの場合には以下の数式(1)で示されるように計算回数はおよそ10の288乗回となる。
【0102】
【0103】
これに対して、本実施例に係る情報処理装置を用いて好適なオーダー組み合わせの選定を行う場合、以下の数式(2)で示されるように計算回数はおよそ10の8乗回となる。
【0104】
【0105】
総当たりであれば厳密な最適解に到達可能であるが、その場合には数式(1)で示すように膨大な計算を行うこととなるため非現実的な計算時間となる。これに対して、本実施例に係る情報処理装置をもちいる場合、現実的な時間で指標が良好となる解を求めることが可能となる。
【実施例3】
【0106】
図15は、実施例3に係るオーダー順序探索装置のブロック図である。本実施例に係るオーダー順序決定装置1は、オーダーの順序を所定の条件でソートした上で、初期オーダー順序110を生成することが実施例2と異なる。本実施例に係るオーダー順序決定装置1は、実施例2の各部に加えてソート部107を有する。以下の説明では、実施例1及び実施例2の各部の動作と同様の各部の動作については説明を省略する。
【0107】
ソート部107は、予め決められたソート条件を有する。ソート部107は、例えば、オーダー単位での移動距離の長い順や各オーダーのピッキングする商品新種数の多い順などといったソート条件を保持する。
【0108】
ソート部107は、ピッキングオーダーリスト21を端末装置2から取得する。そして、ソート部107は、ピッキングオーダーリスト21に登録されたオーダーをソート条件に応じてソートする。その後、ソート部107は、ソートした順番で並ぶオーダーの情報を変更範囲設定部105へ出力する。
【0109】
ソート部107は、ピッキングの指標として総移動距離を用いる場合、例えば
図6に示したエリア間移動距離テーブル142の情報を用いて求められる総移動距離の大きい順にオーダーをソートする。総移動距離の算出では一方通行の移動は除かれる。
【0110】
初期オーダー順序生成部101は、ソートされた順序で並ぶ1次元配列のオーダーに対して変更範囲に含まれるオーダーの順序を変更することで初期オーダーを生成する。
【0111】
その後、初期オーダー順序生成部101、オーダー順序探索部102及び効率指標評価部103は、ソートされた順序で並ぶオーダーを用いて世代毎の初期オーダー順序110の生成及びグループ単位順次オーダー決定手順による最適候補オーダーの決定を繰り返す。
【0112】
所定の世代までオーダー探索処理が行われた後に先頭順序確定部106による変更範囲の先頭のオーダーの順序の確定が行われ、最終的に全てのオーダーの順序が確定することで、効率指標評価部103は、最適オーダー順序を決定する。
【0113】
図16は、実施例3に係る最適オーダー組み合わせの決定処理の詳細を表すフローチャートである。
図16は、
図9におけるステップS2で実行される処理の一例にあたる。次に、
図16を参照して、本実施例に係る最適オーダー組み合わせの決定処理の詳細な流れを説明する。
を説明する。
【0114】
ソート部107は、ピッキングオーダーリスト21を端末装置2から取得する。そして、ソート部107は、ピッキングオーダーリスト21に登録されたオーダーをソート条件に応じてソートして順番に並べる(ステップS301)。
【0115】
変更範囲設定部105は、1次元配列に並べられるオーダー順序の変更範囲を設定する(ステップS302)。そして、変更範囲設定部105は、変更範囲の情報及び順序が確定したオーダーの情報を初期オーダー順序生成部101へ出力する。
【0116】
初期オーダー順序生成部101は、変更範囲の情報及び順序が確定したオーダーの情報の入力を変更範囲設定部105から受ける。そして、初期オーダー順序生成部101は、ソートされた順番で並べられたオーダー順序における指定された変更範囲に含まれる候補オーダーを変更対象とし、既に順序が確定したオーダー及び残りの候補オーダーを固定して所定数の第1世代の初期オーダー順序110を生成する(ステップS303)。そして、初期オーダー順序生成部101は、生成した初期オーダー順序110をオーダー順序探索部102へ出力する。
【0117】
オーダー順序探索部102は、所定数の初期オーダー順序110を取得する。そして、オーダー順序探索部102は、未選択の初期オーダー順序110の中から初期オーダー順序110を1つ選択する(ステップS304)。
【0118】
次に、オーダー順序探索部102は、選択した初期オーダー順序110について、順序の割り当てを行うオーダーが、オーダーの割り当ての対象とするグループの1つ目のオーダーか否かを判定する(ステップS305)。
【0119】
オーダーの割り当ての対象とするグループの1つ目のオーダーの場合(ステップS305:肯定)、オーダー順序探索部102は、1次元配列に並んだオーダーのうちの順序が未割り当てである候補オーダーの先頭のオーダーをグループの先頭に割り当てる(ステップS306)。その後、オーダー順序探索部102は、ステップS305へ戻る。
【0120】
これに対して、オーダーの割り当ての対象とするグループの1つ目のオーダーでない場合(ステップS305:否定)、オーダー順序探索部102は、候補オーダーを1つずつ次のオーダーとして割り当て指標の値が最適となるオーダーを特定する。そして、オーダー順序探索部102は、特定したオーダーをグループの次の順序のオーダーとして割り当てる(ステップS307)。
【0121】
次に、オーダー順序探索部102は、初期オーダー順序110に含まれる全てのオーダーの順序の割り当てが完了したか否かを判定する(ステップS308)。順序が未割当のオーダーが残っている場合(ステップS308:否定)、オーダー順序探索部102は、ステップS305へ戻る。
【0122】
これに対して、初期オーダー順序110に含まれる全てのオーダーの順序の割り当てが完了した場合(ステップS308:肯定)、オーダー順序探索部102は、全てのオーダーに順序を割り当てて生成した最適候補オーダー順序を効率指標評価部103へ出力する。その後、オーダー順序探索部102は、取得した所定数の初期オーダー順序110の全てについてオーダー順序探索を完了したか否かを判定する(ステップS309)。オーダー順序探索を行っていない初期オーダー順序110が残っている場合(ステップS309:否定)、オーダー順序探索部102は、ステップS304へ戻る。
【0123】
これに対して、所定数の初期オーダー順序110の全てについてオーダー順序探索が完了した場合(ステップS309:肯定)、効率指標評価部103は、オーダー順序探索が所定世代に達したか否かを判定する(ステップS310)。所定世代に達していない場合(ステップS310:否定)、効率指標評価部103は、その時点の各初期オーダー順序110に対応する最適候補オーダー順序の指標の値を初期オーダー順序生成部101へ出力する。初期オーダー順序生成部101は、遺伝的アルゴリズムを用いて所定数の次世代の初期オーダー順序110を生成する(ステップS311)。その後、最適オーダー組み合わせの決定処理は、ステップS304へ戻る。
【0124】
これに対して、所定世代に達した場合(ステップS310:肯定)、効率指標評価部103は、変更範囲が初期オーダー順序110の最後尾に達したか否かを判定する(ステップS312)。変更範囲が初期オーダー順序110の最後尾に達していない場合(ステップS312:否定)、効率指標評価部103は、その時点の各初期オーダー順序110に対応する最適候補オーダー順序の指標の値を先頭順序確定部106へ出力する。先頭順序確定部106は、指標の値が最良となる最適候補オーダーを特定して、特定した最適候補オーダーにおける変更範囲の先頭のオーダーにその変更範囲の先頭にあたる順序を割り当てて、変更範囲の先頭順序を確定する(ステップS313)。その後、最適オーダー組み合わせの決定処理は、ステップS302へ戻る。
【0125】
これに対して、変更範囲が初期オーダー順序110の最後尾に達した場合(ステップS312:肯定)、効率指標評価部103は、各最適候補オーダー順序の指標の値を比較して、最適候補オーダー順序の中から最適オーダー順序を決定する(ステップS314)。その後、効率指標評価部103は、最適オーダー順序をオーダー組合せ変換部12へ出力する。
【0126】
以上に説明したように、本実施例に係る情報処理装置は、オーダーを所定のソート条件でソートしたオーダー順序を基に変更範囲に含まれるオーダーを変更して初期オーダー順序を作成してオーダー探索を行う。本実施例に係る情報処理装置は、先頭から順にオーダーの順序を確定していくため、総移動距離が長いオーダーや商品新種数が多いオーダーなどといった複雑なオーダーを早めに処理することが可能となる。複雑なオーダーを早めに処理することで、ピッキング処理の処理効率を向上させることが可能となる。
【0127】
(ハードウェア構成)
図17は、サーバのハードウェア構成図である。各実施例に係るオーダー順序決定装置1は、例えば
図17のサーバ90により実現可能である。
【0128】
サーバ90は、プロセッサ91、メモリ92、HDD(Hard Disk Drive)93及び通信装置94を有する。プロセッサ91は、バスによりメモリ92、HDD93及び通信装置94と接続される。
【0129】
通信装置94は、端末装置2などの外部の装置と通信を行う通信インタフェースの機能を有する。通信装置94は、プロセッサ91と外部の装置との通信を中継する。
【0130】
HDD93は、補助記憶装置である。HDD93は、
図1、
図11又は
図15に例示した初期オーダー探索部10、オーダー組合せ変換部12及び通知部13の機能を実現するためのプログラムを含む各種プログラムを格納する。
【0131】
プロセッサ91は、HDD93に格納された各種プログラムを読み出して主記憶装置であるメモリ92に展開して実行する。これにより、
図1、
図11又は
図15に例示した初期オーダー探索部10、オーダー組合せ変換部12及び通知部13の機能が実現される。
【符号の説明】
【0132】
1 オーダー順序決定装置
2 端末装置
10 初期オーダー探索部
11 オーダー順序定義設定部
12 オーダー組合せ変換部
13 通知部
101 初期オーダー順序生成部
102 オーダー順序探索部
103 効率指標評価部
104 指標算出情報保持部
105 変更範囲設定部
106 先頭順序確定部
107 ソート部