(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
以下、添付図面を参照して本発明の実施形態を説明する。本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。各図において共通の構成については同一の参照符号が付されている。
【0011】
ピッキングエリアの概略の一例を
図1に示す。ピッキングエリアは商品棚などで商品の配置場所が区画化されている。ピッキング作業者は、ピッキング開始地点からスタートして、ピッキングエリアを最短順路で移動しながら出荷オーダに含まれる商品を収集し、出荷オーダに含まれる全ての商品の収集を完了後、ピッキング終了地点に移動する。出荷オーダ割付装置は、このピッキング作業時間の短縮と、出荷期限遵守の両面を考慮した出荷オーダ割付案を利用者に提供する。以下、本実施形態において、出荷オーダを、単にオーダと呼ぶこともある。
【0012】
出荷オーダ割付システムの一例を
図2に示す。本実施例の出荷オーダ割付システムは、出荷オーダ割付装置210と、出荷オーダ情報管理装置220と、ピッキング作業指示装置230と、を含む。出荷オーダ割付システムに含まれる各装置は、ネットワーク240を介して相互に情報の送受信ができる。
【0013】
出荷オーダ情報管理装置220は、ピッキング作業において利用する情報端末からの入力を受け付けて、出荷オーダの情報を管理する。出荷オーダ情報管理装置220は、予め定められた時又は出荷オーダ割付装置210からの要求に応じて、出荷オーダ情報を出荷オーダ割付装置210に送信し、出荷オーダ割付装置210は、本情報を出荷オーダ情報記憶領域111に記憶する。
【0014】
ピッキング作業指示装置230は、各商品ピッキング作業の各出荷オーダグループへの割付指示情報を管理する。ピッキング作業指示装置230は、予め定められた時、又は出荷オーダ割付装置210からの要求に応じて、出荷オーダ情報記憶領域111の情報を出荷オーダ割付装置210から受信する。
【0015】
出荷オーダ割付装置の構成例を示すブロック図を
図3に示す。本実施例の出荷オーダ割付装置210は、記憶部110、制御部120、表示部130、通信部140、及び入力部150を含む。これらは汎用計算機上に構成される。具体的には、例えば、記憶部110は記憶装置、制御部120はプロセッサ、表示部130はディスプレイ、通信部140はLAN接続機器、入力部150はキーボードやマウスなどである。制御部120での各処理は、厳密には、プロセッサとプログラムの協調動作により実現するが、本明細書ではプロセッサが行う処理として記載する。
【0016】
[記憶部100の記憶内容]
記憶部110は、出荷オーダ情報記憶領域111、商品配置情報記憶領域112、区画間距離情報記憶領域113、出荷期限情報記憶領域114、出荷オーダ割付結果情報記憶領域115、出荷オーダグループ作業時間情報記憶領域116、パラメータ情報記憶領域117、及び出荷実績情報記憶領域118を含む。
【0017】
出荷オーダ情報記憶領域111は、出荷オーダに含まれる商品と対応する出荷量を特定する情報を記憶する。本実施例の出荷オーダ情報記憶領域111が記憶する出荷オーダ情報テーブル1110を
図4に示す。本実施例の出荷オーダ情報テーブル1110は、出荷オーダID欄111a、商品ID欄111b、及び出荷量欄111cを含む。出荷オーダID欄111aは、出荷オーダを特定する情報を格納する。商品ID欄111bは、出荷オーダID欄111aの出荷オーダに含まれる商品を特定する情報(商品名や型番の他、在庫管理用のコードなどでもよい。)を格納する。出荷量欄111cは、商品ID欄111bの商品の出荷量を特定する情報を格納する。
【0018】
本実施例では、
図4のように、出荷オーダID欄111aが「Order0000001」である行は3行あり、当該3行の商品ID欄111bには「Product001」、「Product008」、「Product019」が格納され、各行の出荷量欄111cには「3」、「8」、「2」が格納されている。これらから、出荷オーダID「Order0000001」に含まれる商品が少なくとも3種類あること、それらの商品IDが「Product001」、「Product008」、「Product019」で、それらの出荷量が「3」、「8」、「2」であることが特定できる。
【0019】
商品配置情報記憶領域112は、商品が配置されている区画を特定する情報を記憶する。本実施例の商品配置情報記憶領域112が記憶する商品配置情報テーブル1120を
図5に示す。本実施例の商品配置情報テーブル1120は、商品ID欄112a、区画ID欄112bを含む。商品ID欄112aは、商品を特定する情報を格納する。区画ID欄112bは、商品ID欄112aの商品が格納されている区画を特定する情報を格納する。本実施例では、
図5のように、商品ID欄112aの1行目には「Product001」、区画ID欄112bの1行目には「Shelf001」が格納されている。これらから、商品ID「Product001」の商品が区画ID「Shelf001」の区画に配置されていることが特定できる。
【0020】
区画間距離情報記憶領域113は、区画間の距離を特定する情報を記憶する。本実施例の区画間距離情報記憶領域113が記憶する区画間距離情報テーブル1130を
図6に示す。区画間距離情報テーブル1130は、始点区画ID欄113a、終点区画ID欄113b、及び距離欄113cを含む。始点区画ID欄113aは、始点区画を特定する情報を格納する。なお、「始点区画」には商品棚などの商品の配置区画だけでなく、ピッキング開始地点も含む。終点区画ID欄113bは、終点区画を特定する情報を格納する。なお、「終点区画」には商品棚などの商品の配置区画だけでなく、ピッキング終了地点も含む。距離欄113cは、始点区画ID欄113aの始点区画から終点区画ID欄113bの終点区画までの距離を特定する情報を格納する。
【0021】
本実施例では、
図6のように、区画ID「Shelf001」の区画と区画ID「Shelf002」の区画との移動距離を記録するのに、区画ID「Shelf001」を始点区画とする場合と区画ID「Shelf002」を始点区画とする場合の2通り格納している。このように順路別にしているのは、ピッキングエリアの巡回経路上の移動方向が制限されているなど、何れを始点とするかで移動距離が異なる場合があるからである。もし、そのような場合がないならば、単に区間(2区画)を特定する情報と対応する移動距離を記録するのみでもよい。なお、距離欄113cに格納する距離は、後述するようにピッキング作業時間算定に用いるため、巡回経路を作業者が移動する距離を用いるのが好ましい。ただし、区画間の直線距離と巡回経路上での移動距離には一定の関係があるので、区画間の直線距離を記録しても構わない。
【0022】
出荷期限情報記憶領域114は、各出荷オーダに対する出荷期限時刻を特定する情報を記憶する。本実施例の出荷期限情報記憶領域114が記憶する出荷期限情報テーブル1140を
図7に示す。本実施例の出荷期限情報テーブル1140は、出荷オーダID欄114a、及び出荷期限時刻欄114bを含む。出荷オーダID欄114aは、出荷オーダを特定する情報を格納する。出荷期限時刻欄114bは、当該出荷オーダの出荷期限時刻を特定する情報を格納する。例えば、出荷オーダID「Order0000001」の出荷期限時刻は「16:00」であることが特定できる。なお、出荷期限時刻欄114bには、例えば、出荷期限日のみを特定する情報が格納されていてもよく、このとき、当該出荷期限日の特定時刻(例えば23時59分59秒等)を出荷期限時刻とすればよい。
【0023】
出荷オーダ割付結果情報記憶領域115は、後述する新出荷オーダ割付案生成部121による処理結果、即ち出荷オーダが割り付けられた出荷オーダグループを特定する情報を記憶する。本実施例の出荷オーダ割付結果情報記憶領域115が記憶する出荷オーダ割付結果情報テーブル1150を
図8に示す。本実施例の出荷オーダ割付結果情報テーブル1150は、出荷オーダID欄115a、及び出荷オーダグループID欄115bを含む。出荷オーダID欄115aは、出荷オーダを特定する情報を格納する。出荷オーダグループID欄115bは、出荷オーダ割付において出荷オーダID欄115aの出荷オーダが割り付けられている出荷オーダグループIDを特定する情報を格納する。例えば、出荷オーダID「Order0000001」の出荷オーダは出荷オーダグループID「Group005」に割り付けられていることが特定できる。
【0024】
出荷オーダグループ作業時間情報記憶領域116は、出荷オーダグループと当該出荷オーダグループの作業時間を特定する情報を記憶する。本実施例の出荷オーダグループ作業時間情報記憶領域116が記憶する出荷オーダグループ作業時間情報テーブル1160を
図9に示す。出荷オーダグループ作業時間情報テーブル1160は、出荷オーダグループID欄116a、及び作業時間欄116bを含む。出荷オーダグループID欄116aは、出荷オーダグループを特定する情報を格納する。作業時間欄116bは、当該出荷オーダグループにおける総作業時間を特定する情報を格納する。例えば、出荷オーダグループID「Group001」の出荷オーダピッキングにおける総作業時間は「2500」であることが特定できる。
【0025】
パラメータ情報記憶領域117は、出荷オーダグループ作成における制約条件(項目とその値)、出荷オーダグループにおける総作業時間を算出するために必要な項目とその値を特定する情報を記憶する。
【0026】
本実施例のパラメータ情報記憶領域117が記憶するパラメータ情報テーブル1170を
図10に示す。本実施例のパラメータ情報テーブル1170は、項目欄117aと値欄117bとを含む。項目欄117aは、パラメータ項目を特定する情報を格納する。値欄117bは、当該項目欄117aのパラメータ項目値を特定する情報を格納する。
【0027】
出荷実績情報記憶領域118は、過去の出荷オーダグループにおける商品ピッキング作業の内容を特定する情報を記憶する。本実施例の出荷実績情報記憶領域118が記憶する出荷実績情報テーブル1180を
図11に示す。本実施例の出荷実績情報テーブル1180は、出荷オーダグループID欄118a、始点区画ID欄118b、終点区画ID欄118c、商品ID欄118d、ピッキング個数欄118e、移動距離欄118f、及び所要時間欄118gを含む。
【0028】
出荷オーダグループID欄118aは、出荷オーダグループを特定する情報を格納する。始点区画ID欄118bと終点区画ID欄118cは、それぞれ始点区画を特定する情報と終点区画を特定する情報を格納する。商品ID欄118dは、終点区画ID欄118cの終点区画においてピッキングされた商品を特定する情報を格納する。ピッキング個数欄118eは、商品ID欄118dの商品のピッキング個数実績を特定する情報を格納する。移動距離欄118fは、始点区画ID欄118bの始点区画から終点区画ID欄118cの終点区画までの移動距離を特定する情報を格納する。所要時間欄118gは、始点区画ID欄118bの始点区画から終点区画ID欄118cの終点区画まで移動し、商品ID欄118dの商品のピッキングが終了するまでに要した時間を特定する情報を格納する。
【0029】
なお、後述する
図12のステップS800、及び
図13のステップS1600において、ピッキング作業時間算出部122が出荷実績情報記憶領域118に格納された情報を用いない場合、記憶部110は、出荷実績情報記憶領域118を含まなくてもよい。
【0030】
[制御部120の処理フロー]
制御部120は、
図3に示すとおり、新出荷オーダ割付案生成部121、ピッキング作業時間算出部122、ピッキング移動距離算出部123、及び出荷期限遵守評価部124を含む。
【0031】
新出荷オーダ割付案生成部121は、出荷オーダ情報記憶領域111、商品配置情報記憶領域112、区画間距離情報記憶領域113、及び出荷期限情報記憶領域114がそれぞれ保持する情報を用いて、新出荷オーダ割付案を生成する。また、新出荷オーダ割付案生成部121は、生成した出荷オーダ割付結果の情報を、出荷オーダ割付結果情報記憶領域115に格納する。
【0032】
ピッキング作業時間算出部122は、出荷オーダ情報記憶領域111、商品配置情報記憶領域112、及び区画間距離情報記憶領域113がそれぞれ保持する情報を用いて、新出荷オーダ割付案生成部121で生成した新出荷割付案におけるピッキングの総作業時間を算出する。
【0033】
ピッキング移動距離算出部123は、出荷オーダ情報記憶領域111、商品配置情報記憶領域112、及び区画間距離情報記憶領域113がそれぞれ保持する情報を用いて、新出荷オーダ割付案生成部121で生成した新出荷割付案におけるピッキングの総移動距離を算出する。
【0034】
出荷期限遵守評価部124は、出荷オーダ情報記憶領域111、出荷オーダグループ作業時間情報記憶領域116、及び出荷期限情報記憶領域114がそれぞれ保持する情報を用いて、各出荷オーダ割付案における出荷期限遵守の可否を判定する。
【0035】
新出荷オーダ割付案生成部121、ピッキング作業時間算出部122、ピッキング移動距離算出部123、及び出荷期限遵守評価部124の各処理の詳細について、以下さらに詳述する。
【0036】
表示部130は、記憶部110の情報を出力する。表示部130は、出荷オーダ割付結果情報記憶領域115の情報と出荷オーダグループ作業時間情報記憶領域116の情報等を表示する。通信部140は、ネットワークを介して、外部装置等と情報の送受信を行う。入力部150は、ユーザ入力を受け付けておいてもよい。
【0037】
図12は、出荷オーダ割付処理の一例を示す。新出荷オーダ割付案生成部121は、出荷オーダ情報テーブル1110から、出荷オーダ割付案生成に用いる各出荷オーダ情報を取得する(S100)。
【0038】
新出荷オーダ割付案生成部121は、出荷オーダを割り付ける対象となる新規出荷オーダグループを1つ作成し、現在の割付対象出荷オーダグループとする(S200)。このとき、新出荷オーダ割付案生成部121は、当該新規出荷オーダグループのピッキング開始予定時刻を決定する。新出荷オーダ割付案生成部121は、例えば、当該新規出荷オーダグループ生成処理に要する処理時間を算出し、当該処理時間と、ユーザ等から入力を受け付けたピッキング作業開始準備に要する時間と、の和を算出する。続いて、新出荷オーダ割付案生成部121は、現在時刻に当該算出した和を加えた時刻を、ピッキング開始時刻とすればよい。また、新出荷オーダ割付案生成部121は、例えば、ユーザ等からピッキング開始時刻の入力を受け付けてもよい。
【0039】
新出荷オーダ割付案生成部121は、出荷オーダ情報から現在の割付対象出荷オーダグループに割り付ける初期オーダを選択し、出荷オーダグループに割り付ける(S300)。この際の、初期オーダの選択方法として、例えば、下記のような方法がある。
【0040】
(1)新出荷オーダ割付案生成部121は、全未割付オーダのうち、ランダムに出荷オーダを出荷オーダ情報から選択し、当該選択したオーダを初期オーダとする。
【0041】
(2)新出荷オーダ割付案生成部121は、全未割付オーダのうち、ピッキングされる商品の種類数が最大となるオーダを初期オーダとする。具体的には、出荷オーダ情報の出荷オーダIDを検索キーにして商品IDの数をカウントすることにより算出する。ピッキングする商品の種類数が多いオーダにおける商品は多くの区画に分散している可能性が高いため、当該オーダは倉庫内を広く巡回するオーダである可能性が高い。つまり、当該オーダにおけるピッキング作業の巡回経路上若しくは当該巡回経路近傍に他のオーダにおいて巡回すべき区画が存在する可能性が高い。従って、新出荷オーダ割付案生成部121は、当該オーダを初期オーダとして選択することで、複数の出荷オーダグループ全体における総移動距離を短縮することができる。
【0042】
(3)新出荷オーダ割付案生成部121は、全未割付オーダのうち、巡回すべき区画数を求め、当該巡回すべき区画数が最も多いオーダを初期オーダとする。具体的には、出荷オーダ情報の出荷オーダIDを検索キーにして、商品配置情報テーブル1120を参照して、商品区画IDの数をカウントすることにより算出する。新出荷オーダ割付案生成部121は、当該オーダを初期オーダとして選択することで、他のオーダにおいて巡回すべき区画が初期オーダにおいて巡回すべき区画に含まれる可能性が高くなるため、当該初期オーダを含む出荷オーダグループにおける移動距離を短縮することができる。
【0043】
(4)新出荷オーダ割付案生成部121は、全未割付オーダのうち、移動距離が最も長いオーダを選択し、当該選択したオーダを初期オーダとする。具体的には、出荷オーダ情報の出荷オーダIDを検索キーにして、商品配置情報テーブル1120を参照して、移動距離が最も長いオーダを抽出する。なお、各オーダにおける移動距離の算出は、例えばステップS800で後述する方法を用いて行われる。新出荷オーダ割付案生成部121が当該オーダを初期オーダとして選択することで、当該オーダにおけるピッキング作業の巡回経路上若しくは当該巡回経路近傍に他のオーダにおいて巡回すべき区画が存在する可能性が高くなるため、全ての出荷オーダグループにおける総移動距離を短縮することができる。
【0044】
新出荷オーダ割付案生成部121は、パラメータ情報テーブル1170を参照して、現在の出荷オーダグループに追加オーダが割付可能かを判定する(S400)。例えば、最大割付オーダ数が6である出荷オーダグループに、現在1オーダが割り付けられている場合、新出荷オーダ割付案生成部121は、追加オーダが割付可能であると判定し(S400:YES)、ステップS600に進む。また、当該出荷オーダグループに対して、現在6オーダが割り付けられている場合、新出荷オーダ割付案生成部121は、追加オーダが割付不可能であると判定し(S400:NO)、ステップS500に進む。
【0045】
新出荷オーダ割付案生成部121は現在の出荷オーダグループへの追加オーダの割付が不可能と判定した場合(S400;NO)、現在の出荷オーダグループへの割付結果を出荷オーダ割付結果情報記憶領域115に保存し(S500)、ステップS200に進む。
【0046】
新出荷オーダ割付案生成部121は、全ての未割付オーダを未選択状態にする(S600)。新出荷オーダ割付案生成部121は、未選択状態のオーダを1つ選択し、当該選択したオーダを追加候補オーダと定め、当該選択したオーダを選択済み状態とする(S700)。
【0047】
現在の出荷オーダグループに追加候補オーダを割り付けた出荷オーダグループである新割付案に対して、ピッキング移動距離算出部123はピッキンググループの総移動距離を算出し、ピッキング作業時間算出部122はピッキンググループの総作業時間を算出する(S800)。
【0048】
ここで、ピッキングの総移動距離の算出方法として、例えば、下記のような方法がある。
【0049】
(1)ピッキング移動距離算出部123は、商品配置情報テーブル1120を参照して、新割付案において巡回すべき区画IDを取得する。ピッキング移動距離算出部123は、当該巡回すべき区画の合計数を総移動回数とし、当該総移動回数に所定の係数をかけた値を新割付案の総移動距離とする。
【0050】
(2)ピッキング移動距離算出部123は、商品配置情報テーブル1120を参照して、新割付案において巡回すべき区画IDを取得する。続いて、ピッキング移動距離算出部123は、区画間距離情報テーブル1130から当該巡回すべき区画間の移動距離を取得し、当該巡回すべき区画をすべて巡回するための最短順路を算出する。ピッキング移動距離算出部123は、当該最短順路における総移動距離を、新割付案の総移動距離とする。なお、ピッキング移動距離算出部123は、当該新割付案において巡回すべき区画と当該巡回すべき区画間の移動距離を条件とした巡回セールスマン問題を、最近傍法等を用いて解くことにより、当該最短順路を算出すればよい。また、ピッキング移動距離算出部123は、全ての順路における移動距離を算出し、全ての順路から当該最短順路を選択してもよい。
【0051】
また、ピッキング総作業時間の算出方法として、例えば、下記のような方法がある。
【0052】
(1)ピッキング作業時間算出部122は、パラメータ情報テーブル1170から、例えば、商品1個あたりのピッキング時間及び移動速度を取得する。ピッキング作業時間算出部122は、新割付案の総ピッキング個数に当該ピッキング時間を、総移動距離に当該移動速度をそれぞれ掛け、これらの和をピッキング総作業時間とする。
【0053】
(2)ピッキング作業時間算出部122は、出荷実績情報テーブル1180から、例えば、過去の出荷オーダグループにおけるピッキング個数や移動距離等を取得し、主成分分析、因子分析等の多変量分析を行うことにより、ピッキング個数や移動距離を変数に含む作業時間の推定式を導出する。ピッキング作業時間算出部122は、当該推定式から新割付案のピッキング総作業時間を算出する。
【0054】
出荷期限遵守評価部124は、新割付案において出荷期限までに作業が完了するか否かを判定する(S900)。本実施例では、出荷期限時刻とピッキング開始予定時刻の差であるピッキング作業可能時間よりも現在の新割付案における出荷オーダの各ピッキング作業時間が小さい場合、出荷期限遵守評価部124は、当該新割付案が出荷期限を遵守すると判定し(S900:YES)、ステップS1000に進む。当該ピッキング作業可能時間が当該新割付案のピッキング作業時間以下である場合、出荷期限遵守評価部124は、当該新割付案が出荷期限を遵守しないと判定し(S900:NO)、ステップS1100に進む。
【0055】
新出荷オーダ割付案生成部121は、新割付案における評価値を算出する(S1000)。新出荷オーダ割付案生成部121は、例えば、下記のいずれかの方法によって当該評価値を算出する。
【0056】
(1)新出荷オーダ割付案生成部121は、商品配置情報テーブル1120を参照して、現在の出荷オーダグループが巡回する商品区画と、追加候補オーダが巡回すべき商品区画のうち、共通する商品区画の数を算出し、当該共通する商品区画の数を所定の増加関数に代入した値を評価値とする。つまり、当該共通する商品区画の数が多い(巡回すべき区画が少ない)ほど評価値は大きくなる。
【0057】
(2)ピッキング移動距離算出部123は、新割付案の順路における総移動距離を算出し、新出荷オーダ割付案生成部121は、当該総移動距離を所定の減少関数に代入した値を評価値とする。つまり、当該総移動距離が短いほど評価値は大きくなる。ピッキング移動距離算出部123は、当該総移動距離を、例えば、ステップS800における移動距離算出処理と同様の方法で算出する。
【0058】
新出荷オーダ割付案生成部121は、ステップS700からステップS900において全未割付オーダを追加候補オーダとして選択し、選択済み状態としたかを判定する(S1100)。新出荷オーダ割付案生成部121は、全未割付オーダを選択済みとしたと判定した場合(S1100:YES)、ステップS1200に進む。新出荷オーダ割付案生成部121は、全未割付オーダを選択済みとしたと判定しなかった場合(S1100:NO)、ステップS700に進む。
【0059】
新出荷オーダ割付案生成部121は、選択した追加候補オーダのうち、当該追加候補オーダを含む新割付案における評価値が最良(ステップS1000(1)、及び(2)において算出された評価値であれば最大)となる追加候補オーダを選択し、当該選択したオーダを現在の出荷オーダグループに割り付けて更新し、割付済みオーダと定める(S1200)。
【0060】
なお、上記(1)又は(2)のいずれかの一方の方法によって算出された新割付案における評価値が最良となる複数の追加候補オーダが存在する場合、新出荷オーダ割付案生成部121は、例えば、当該複数の追加候補オーダから任意のオーダを1つ選択してもよいし、さらに他方の方法で評価値を算出し、当該他方の方法で算出された評価値が最良の新割付案に含まれるオーダを当該複数の追加候補オーダから選択してもよい。
【0061】
また、新出荷オーダ割付案生成部121は、選択した追加候補オーダの内、例えば、評価値が所定の閾値以上である割付案に含まれるオーダ、又は評価値が所定順位までの新割付案に含まれるオーダを選択し、当該選択したオーダを現在の出荷オーダグループに割り付けた割付済みオーダ案を出力してもよい。このとき、新出荷オーダ割付案生成部121は、例えば、通信部140又は入力部150を介した、ユーザ等による入力に従って、当該割付済オーダ案から割付済みオーダを決定すればよい。
【0062】
新出荷オーダ割付案生成部121は、取得した出荷オーダ情報に未割付のオーダ情報が含まれているかを判定する(S1300)取得した出荷オーダ情報に未割付のオーダ情報が含まれている場合(S1300:NO)ステップS400に進み、含まれていない場合(S1300:YES)、出荷オーダ割付処理が終了する。
【0063】
出荷オーダ割付装置210は、ステップS100からステップS1300の処理を行うことで、出荷オーダ割付において、ピッキング作業時間を短縮するオーダの組み合わせを導出することができる。また、出荷オーダ割付装置210は、割付処理中に各出荷オーダグループ内の出荷オーダ数が上限値に到達する前に、出荷期限を遵守する範囲で割付を終了することで、出荷オーダグループ数を増やし、出荷期限を遵守するような割付案を導出することが可能となる。
【0064】
上述した通り、出荷オーダ割付装置210は、未割付の出荷オーダを出荷オーダグループに1つずつ追加する、逐次追加方式によって最適な出荷オーダ割付案を作成している。しかし、出荷オーダ割付装置210は、例えば、ランダムに発生させた複数の出荷オーダグループ、又は逐次追加方式によって作成された複数の出荷オーダグループに対して、遺伝的アルゴリズム等の数理最適化手法を用いて出荷オーダの組み合わせ問題を解くことで、当該複数の出荷オーダグループ間のオーダ割付を変更する、探索方式によって、最適な出荷オーダ割付案を作成してもよい。
【0065】
図13は、探索方式による出荷オーダ割付処理の一例を示す。新出荷オーダ割付案生成部121は、出荷オーダ情報テーブル1110から、出荷オーダ割付案生成に用いる各出荷オーダ情報を取得する(S1400)。このとき、新出荷オーダ割付案生成部121は、例えばステップS200と同様の方法で、当該新規出荷オーダグループのピッキング開始予定時刻を決定する。
【0066】
新出荷オーダ割付案生成部121は、取得した出荷オーダ情報に含まれる出荷オーダを出荷オーダグループに割り付け、複数の出荷オーダグループからなる出荷オーダグループ群を作成する(S1500)。なお、新出荷オーダ割付案生成部121は、パラメータ情報テーブル1170に格納された制約条件を満たすように(
図10の例においては、出荷オーダグループ内最大割付オーダ数が6となるように)、当該出荷オーダグループ群を作成する。なお、
図4乃至
図12の処理を引用する部分(例えば、
図12のステップなど)は、出荷オーダを出荷オーダグループ、出荷オーダグループを出荷オーダグループ群として読み替えるものとする。
【0067】
出荷オーダグループ群に含まれる出荷オーダグループそれぞれに対して、例えばステップS800と同様の方法で、ピッキング移動距離算出部123はピッキング移動距離を算出し、ピッキング作業時間算出部122はピッキング作業時間を算出する(S1600)。
【0068】
出荷期限遵守評価部124は、出荷オーダグループ群に含まれる出荷オーダグループそれぞれについて、例えばステップS900と同様の方法で、出荷期限までに作業が完了するか否かを判定する(S1700)。出荷期限遵守評価部124は、全ての出荷オーダグループが出荷期限を遵守すると判定した場合(S1700:YES)、ステップS1900に進み、出荷期限を遵守しない出荷オーダグループが存在すると判定した場合(S1700:NO)、ステップS1800に進む。新出荷オーダ割付案生成部121は、例えば、所定のアルゴリズムに従って、出荷オーダグループ間のオーダ割付を変更し(S1800)、即ち異なる出荷オーダグループ群を作成し、ステップS1600に進む。
【0069】
新出荷オーダ割付案生成部121は、ステップS1800において、例えば、出荷期限を遵守しない出荷オーダグループの任意の出荷オーダを、任意の他の出荷オーダグループに移動、又は任意の他の出荷オーダグループの任意の出荷オーダと入れ替えればよい。なお、新出荷オーダ割付案生成部121は、例えば、ステップS1700において、出荷期限を遵守しないオーダグループを記憶部110に格納し、記憶部110に格納された出荷オーダグループを再度作成しないように、オーダ割付の変更を行えばよい。また、新出荷オーダ割付案生成部121は、例えば、遺伝的アルゴリズムを用いて出荷オーダグループ間のオーダ割付を変更してもよい。
【0070】
また、新出荷オーダ割付案生成部121は、ステップS1800において、例えば、ステップS1500と同様に出荷オーダグループ群を再作成してもよい。再作成された出荷オーダグループ群に含まれる出荷オーダグループ数は、ステップS1500の処理で作成された出荷オーダグループ群における出荷オーダグループ数と異なってもよい。
【0071】
新出荷オーダ割付案生成部121は、当該複数の出荷オーダグループにおける評価値を算出する(S1900)。新出荷オーダ割付案生成部121は、例えば、下記のいずれかの方法によって当該評価値を算出する。
【0072】
(1)新出荷オーダ割付案生成部121は、商品配置情報テーブル1120を参照して、当該複数の出荷オーダグループがそれぞれにおいて巡回する区画数を算出し、当該区画数の総和を所定の増加関数に代入した値を評価値とする。
【0073】
(2)ピッキング移動距離算出部123は、当該複数の出荷オーダグループそれぞれの順路における移動距離を算出し、新出荷オーダ割付案生成部121は、当該移動距離の総和を所定の減少関数に代入した値を評価値とする。
【0074】
新出荷オーダ割付案生成部121は、出荷オーダグループ間のオーダ割付変更の終了条件を満たすか否かを判定する(S2000)。新出荷オーダ割付案生成部121は、出荷オーダグループ間のオーダ割付変更の終了条件を満たすと判定した場合、ステップS2100に進み、終了条件を満たさないと判定した場合、ステップS1800に進む。当該終了条件の一例として、出荷オーダグループ間のオーダ割付変更が所定回数以上行われること等がある。
【0075】
新出荷オーダ割付案生成部121は、評価値が最大である出荷オーダグループ群を、出荷オーダグループ割付結果として決定する(S2100)。なお、上記(1)又は(2)のいずれかの一方の方法によって算出された評価値が最大となるオーダが複数存在する場合、新出荷オーダ割付案生成部121は、当該複数のオーダから任意のオーダを1つ選択してもよいし、他方の方法で評価値を算出し、当該他方の方法で算出された評価値が最大のオーダを当該複数のオーダから選択してもよい。
【0076】
また、新出荷オーダ割付案生成部121は、例えば、評価値が所定の閾値以上である出荷オーダグループ群、又は評価値が高い順に所定数の出荷オーダグループ群を選択し、当該選択した出荷オーダグループ群を割付結果として出力してもよい。このとき、新出荷オーダ割付案生成部121は、通信部140又は入力部150を介した、ユーザ等による入力に従って、当該割付結果から出荷オーダグループ群を決定すればよい。
【0077】
出荷オーダ割付装置210は、ステップS1400からステップS2100の処理を行うことで、出荷オーダ割付において、出荷期限を遵守した上で、ピッキング作業時間を短縮するオーダの組み合わせを導出することができる。特に、ステップS100からステップS1300の処理で生成された出荷オーダグループ群をステップS1500における出荷オーダグループ群とした場合、出荷期限を遵守した上で、ステップS100からステップS1300で作成された出荷オーダグループ群よりさらにピッキング作業時間を短縮する出荷オーダグループ群を導出することができる。
【0078】
オーダ割付最適化設定のための表示画面の一例を
図14に示す。当該表示画面は、記憶部110に格納する情報を入力、及び表示する。当該表示画面は、例えば、入力受付領域1201〜1203、チェックボックス1204〜1205、及び入力受付領域1206〜1209を含む。
【0079】
入力受付領域1201は、1つの出荷オーダグループ内の最大割付オーダ数の入力を受け付ける。入力受付領域1202は、ピッキング作業開始位置の情報の入力を受け付ける。入力受付領域1203は、ピッキング作業終了位置の情報の入力を受け付ける。チェックボックス1204は、逐次追加方式を用いて出荷オーダ割付を行うことを選択するためのチェックボックスである。チェックボックス1205は、探索方式を用いて出荷オーダ割付を行うことを選択するためのチェックボックスである。
【0080】
入力受付領域1206は、出荷オーダ情報の入力を受け付ける。入力された出荷オーダ情報は、出荷オーダ情報記憶領域111に格納される。入力受付領域1207は、区画間距離情報の入力を受け付ける。入力された区画間距離情報は、区画間距離情報記憶領域113に格納される。入力受付領域1208は、各出荷オーダの出荷期限情報の入力を受け付ける。入力された出荷期限情報は、出荷期限情報記憶領域114に格納される。入力受付領域1209は、出荷オーダグループ割付結果の出力先の入力を受け付ける。
【0081】
ピッキング作業時間推定式設定のための表示画面の一例を
図15に示す。当該表示画面は、例えば、入力受付領域1301〜1302を含む。入力受付領域1201は、ピッキング作業時間の算出式の入力を受け付ける。入力受付領域1202は、出荷実績データの入力を受け付ける。入力された出荷実績データは、出荷実績情報記憶領域118に格納される。
【0082】
オーダ割付実行結果の表示画面の一例を
図16に示す。当該表示画面は、例えば、出荷オーダ割付結果情報記憶領域115、及び出荷オーダグループ作業時間情報記憶領域116に格納されたオーダ割付実行結果の情報を表示する。当該表示画面は、例えば、出荷オーダ割付結果表示領域1401、及び出荷オーダグループ情報詳細表示領域1402を含む。
【0083】
出荷オーダ割付結果表示領域1401は、例えば、出荷オーダ割付結果情報記憶領域115に格納された情報、即ち出荷オーダ割付の結果としてオーダ番号と割付出荷オーダグループ番号を表示する。出荷オーダグループ情報詳細表示領域1402は、例えば、出荷オーダグループ作業時間情報記憶領域116に格納された情報、即ち各出荷オーダグループの総作業時間を表示する。
【0084】
なお、
図16には記載されていないが、出荷オーダ割付結果表示領域1401は、例えば、各出荷オーダに含まれる商品、当該商品が配置されている区画、当該商品のピッキング個数、及び各出荷オーダグループにおけるピッキング順路等を、さらに表示してもよい。なお、各出荷オーダグループにおけるピッキング順路は、ピッキングエリアのレイアウトとともに表示させるとよい。
【0085】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
【0086】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。