(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-24
(45)【発行日】2023-11-01
(54)【発明の名称】情報処理装置、処理手順更新方法、および処理手順更新プログラム
(51)【国際特許分類】
G06Q 10/087 20230101AFI20231025BHJP
G06Q 10/04 20230101ALI20231025BHJP
【FI】
G06Q10/087
G06Q10/04
(21)【出願番号】P 2022504768
(86)(22)【出願日】2020-03-02
(86)【国際出願番号】 JP2020008657
(87)【国際公開番号】W WO2021176507
(87)【国際公開日】2021-09-10
【審査請求日】2022-04-21
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100087480
【氏名又は名称】片山 修平
(72)【発明者】
【氏名】山▲崎▼ 貴司
【審査官】大野 朋也
(56)【参考文献】
【文献】特開2013-127734(JP,A)
【文献】特開2014-151990(JP,A)
【文献】特開2014-051802(JP,A)
【文献】国際公開第2019/064379(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
移動ルートと当該移動ルート上の所定の作業箇所で実行される作業とを特定する処理手順を複数含む処理手順群が定められ、複数の処理主体が、前記複数の処理主体のそれぞれに割り当てられた前記処理手順に従って、指定順序で処理を実行した場合であって、前記複数の処理主体間で前記作業箇所が重複しかつ前記作業が行われる時間が重複する場合には、先に前記作業を開始した前記処理主体が当該作業を完了させるまで他の前記処理主体は待機する、という条件に基づいて、互いに相違する複数の前記指定順序についてシミュレーションするシミュレーション部と、
前記シミュレーション部のシミュレーション結果から、前記複数の処理主体のそれぞれについて
前記待機の
待機時間を抽出する抽出部と、
前記処理手順群に含まれる各処理手順について、前記待機時間が閾値を超えているかを判断し、前記閾値を超えている第1処理手順と、前記指定順序における前記第1処理手順の一つ前の第2処理手順とを1つの処理手順にまとめることで、前記処理手順群を更新する更新部と、
更新された前記処理手順群における前記指定順序を、作業完了時間が閾値未満または最短となるよう最適化する順序決定部と、を備えることを特徴とする情報処理装置。
【請求項2】
前記抽出部は、全ての
前記処理手順の作業を完了させるために要する
前記作業完了時間が最も長い場合の前記指定順序、または前記作業完了時間が閾値を上回る場合の前記指定順序における前記待機
時間を抽出することを特徴とする
請求項1に記載の情報処理装置。
【請求項3】
前記シミュレーション部は、前記条件に従って、レイアウト上で前記処理主体の移動を再現するラインシミュレータであることを特徴とする
請求項1または請求項2に記載の情報処理装置。
【請求項4】
移動ルートと当該移動ルート上の所定の作業箇所で実行される作業とを特定する処理手順を複数含む処理手順群が定められ、複数の処理主体が、前記複数の処理主体のそれぞれに割り当てられた前記処理手順に従って、指定順序で処理を実行した場合であって、前記複数の処理主体間で前記作業箇所が重複しかつ前記作業が行われる時間が重複する場合には、先に前記作業を開始した前記処理主体が当該作業を完了させるまで他の前記処理主体は待機する、という条件に基づいて、互いに相違する複数の前記指定順序についてシミュレーションする処理と、
前記シミュレーションの結果から、前記複数の処理主体のそれぞれについて
前記待機の
待機時間を抽出する処理と、
前記処理手順群に含まれる各処理手順について、前記待機時間が閾値を超えているかを判断し、前記閾値を超えている第1処理手順と、前記指定順序における前記第1処理手順の一つ前の第2処理手順とを1つの処理手順にまとめることで、前記処理手順群を更新する処理と、
更新された前記処理手順群における前記指定順序を、作業完了時間が閾値未満または最短となるよう最適化する処理と、をコンピュータが実行することを特徴とする処理手順更新方法。
【請求項5】
全ての
前記処理手順の作業を完了させるために要する
前記作業完了時間が最も長い場合の前記指定順序、または前記作業完了時間が閾値を上回る場合の前記指定順序における前記待機
時間を抽出することを特徴とする
請求項4に記載の処理手順更新方法。
【請求項6】
前記シミュレーションに、前記条件に従って、レイアウト上で前記処理主体の移動を再現するラインシミュレータを用いることを特徴とする
請求項4または請求項5に記載の処理手順更新方法。
【請求項7】
コンピュータに、
移動ルートと当該移動ルート上の所定の作業箇所で実行される作業とを特定する処理手順を複数含む処理手順群が定められ、複数の処理主体が、前記複数の処理主体のそれぞれに割り当てられた前記処理手順に従って、指定順序で処理を実行した場合であって、前記複数の処理主体間で前記作業箇所が重複しかつ前記作業が行われる時間が重複する場合には、先に前記作業を開始した前記処理主体が当該作業を完了させるまで他の前記処理主体は待機する、という条件に基づいて、互いに相違する複数の前記指定順序についてシミュレーションする処理と、
前記シミュレーションの結果から、前記複数の処理主体のそれぞれについて
前記待機の
待機時間を抽出する処理と、
前記処理手順群に含まれる各処理手順について、前記待機時間が閾値を超えているかを判断し、前記閾値を超えている第1処理手順と、前記指定順序における前記第1処理手順の一つ前の第2処理手順とを1つの処理手順にまとめることで、前記処理手順群を更新する処理と、
更新された前記処理手順群における前記指定順序を、作業完了時間が閾値未満または最短となるよう最適化する処理と、を実行させることを特徴とする処理手順更新プログラム。
【請求項8】
全ての
前記処理手順の作業を完了させるために要する
前記作業完了時間が最も長い場合の前記指定順序、または前記作業完了時間が閾値を上回る場合の前記指定順序における前記待機
時間を抽出することを特徴とする
請求項7に記載の処理手順更新プログラム。
【請求項9】
前記シミュレーションに、前記条件に従って、レイアウト上で前記処理主体の移動を再現するラインシミュレータを用いることを特徴とする
請求項7または請求項8に記載の処理手順更新プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本件は、情報処理装置、処理手順更新方法、および処理手順更新プログラムに関する。
【背景技術】
【0002】
物流拠点においては、伝票などの処理手順に従って商品を商品棚からピックして箱詰めするピッキングなどの作業が行われている。ピッキングなどの作業に要する所要時間を短くするために、ピッキングを効率化する技術が開示されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ピッキングなどの作業を複数の作業員が順番に行う場合、移動方向の前方で作業が行われている場合には、当該作業が完了するまでその場で待機する必要があるため、渋滞が生じることになる。そこで、複数の作業員に割り当てられた処理手順を1人分の処理手順にまとめてマルチ化し、マルチ化された処理手順に従って1人の作業員が処理手順を実行することが求められている。しかしながら、マルチ化前の作業員の渋滞について考慮された最適化手法がまだ開発されていない。
【0005】
1つの側面では、本発明は、処理主体の渋滞に応じて処理手順を更新することができる情報処理装置、処理手順更新方法、および処理手順更新プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
1つの態様では、情報処理装置は、移動ルートと当該移動ルート上の所定の作業箇所で実行される作業とを特定する処理手順を複数含む処理手順群が定められ、複数の処理主体が、前記複数の処理主体のそれぞれに割り当てられた前記処理手順に従って、指定順序で処理を実行した場合であって、前記複数の処理主体間で前記作業箇所が重複しかつ前記作業が行われる時間が重複する場合には、先に前記作業を開始した前記処理主体が当該作業を完了させるまで他の前記処理主体は待機する、という条件に基づいて、互いに相違する複数の前記指定順序についてシミュレーションするシミュレーション部と、前記シミュレーション部のシミュレーション結果から、前記複数の処理主体のそれぞれについて待機の情報を抽出する抽出部と、前記抽出部が抽出した前記待機の情報に応じて、2以上の前記処理主体の処理手順を1つの処理手順にまとめることで、前記処理手順群を更新する更新部と、を備える。
【発明の効果】
【0007】
作業員の渋滞に応じて処理手順を更新することができる。
【図面の簡単な説明】
【0008】
【
図1】(a)および(b)はシングルピッキングを例示する図であり、(c)がマルチピッキングを例示する図である。
【
図2】(a)は実施例1に係る情報処理装置の全体構成を表す機能ブロック図であり、(b)は情報処理装置の伝票オーダー格納部、作業順序入替部、ラインシミュレータ、抽出部、更新部、および順序決定部のハードウェア構成を例示するブロック図である。
【
図3】(a)および(b)はレイアウトを例示する図である。
【
図5】情報処理装置が実行する作業順序決定処理を表すフローチャートを例示する図である。
【
図6】ステップS3の詳細を表すフローチャートを例示する図である。
【
図7】(a)は標準移動セルの処理を表すフローチャートであり、(b)は分岐セルの処理を表すフローチャートである。
【
図8】(a)はピックセルの処理を表すフローチャートであり、(b)は伝票セルの処理を表すフローチャートである。
【
図9】
図5~
図8(b)のシミュレーションに従って各作業順序の作業時間を算出した場合の結果を例示する図である。
【発明を実施するための形態】
【0009】
流通現場において、トラックの配車計画や配送ルートを最適化する試みは多くみられる。顧客からのオーダーに応じて倉庫内で箱詰めしてトラックまで運搬する構内物流も、流通業界全般では効率化が求められる重要な案件である。構内作業、特にピッキング工程(商品をオーダーに従って商品棚からピックして箱詰めする工程)は、人手作業が主体であり、最適化が困難な領域の一つである。
【0010】
現在のピッキングの主流は、シングルピッキング(日々の発注オーダーに対して配送顧客ごとのピッキング作業を行うピッキングルール)である。しかしながら、ピッキングの効率化の観点から、マルチピッキング(異なる配送先の顧客オーダーを効率よくまとめてピッキング作業を行う)への変遷が徐々に進行している。
【0011】
図1(a)は、シングルピッキングの作業ルートを例示する図である。
図1(a)で例示するように、複数の棚A~棚Fが配置されている。各棚には、それぞれ異なる商品が配置されている。各作業員は、伝票に記載されている商品が配置されている棚まで移動し、商品をピックする。シングルピッキングにおける伝票は、顧客ごとに発行されている。したがって、各作業員は、顧客ごとに商品をピックすることになる。
【0012】
伝票には複数の商品名が記載されていることが多いため、作業員は、伝票に記載されている各商品が配置されている各棚に移動する。各商品が配置されている棚が異なっていると、各作業員が移動する移動ルートは異なるようになる。
図1(a)の例では、作業員(1)から作業員(3)のそれぞれが移動する移動ルートが異なっている。例えば、作業員(1)は、棚Aに移動して商品をピックし、その後に棚Eに移動して商品をピックして元の場所に戻る。作業員(2)は、棚Cに移動してピックして元の場所に戻る。作業員(3)は、棚Bに移動して商品をピックし、その後に棚Eに移動して商品をピックして元の場所に戻る。
【0013】
このようなシングルピッキングでは、作業員(1)および作業員(3)の両方が棚Eで商品をピックすることになる。例えば、作業員(1)、作業員(3)、作業員(2)の順番で移動を開始すると、作業員(1)が棚Eにおいて商品のピックを完了させるまで作業員(3)は棚Eの商品のピックを行えないため、作業員(3)は棚Eの手前において待機することになる。したがって、
図1(b)で例示するように、渋滞が発生することになる。
【0014】
そこで、
図1(c)で例示するように、作業員(1)の伝票および作業員(3)の伝票を1つにまとめ、1人の作業員が当該1つの伝票に従ってピッキングを行うことで、作業員の作業ロスを削減することが期待されている。マルチピッキングの最適化には、この作業ロスの削減を最大化することが望まれる。しかしながら、マルチピッキング化前の作業員の渋滞について考慮された最適化手法がまだ開発されていない。
【0015】
例えば、いわゆるナップサック問題を解くための動的計画法を利用する方法が考えられる。これはナップサック(ここでは作業員)に入れる品物(ここでは伝票)のトータル価値が最大となる組み合わせを求める問題である。この方法を適用しようとした場合、規模が大きくなると求解が困難となる。また、まとめる価値をどのように設定するかの定式化が問題ごとに異なり、価値を表す式を都度構築する必要がある。さらに、マルチ化した伝票に従って実際に作業した場合、伝票をまとめたがゆえに作業員の作業が停滞してしまう可能性があるが、一般的な動的計画法の解法ではそこまでの求解は困難である。
【0016】
以下の実施例においては、作業員の渋滞に応じて処理手順群(伝票群)を更新することができる情報処理装置、処理手順更新方法、および処理手順更新プログラムについて説明する。
【実施例1】
【0017】
図2(a)は、実施例1に係る情報処理装置100の全体構成を表す機能ブロック図である。
図2(a)で例示するように、情報処理装置100は、入力装置10、伝票オーダー格納部20、作業順序入替部30、ラインシミュレータ40、抽出部50、更新部60、順序決定部70、表示装置80、出力装置90などを備える。入力装置10は、キーボード、マウス、タッチパネルなどの入力装置である。表示装置80は、液晶ディスプレイなどであり、情報処理装置100による作業順序決定処理の結果などを表示する装置である。出力装置90は、プリンタなどの出力装置であり、更新部60が更新した伝票および順序決定部70が決定した作業順序を印字などで出力する。
【0018】
図2(b)は、情報処理装置100の伝票オーダー格納部20、作業順序入替部30、ラインシミュレータ40、抽出部50、更新部60、および順序決定部70のハードウェア構成を例示するブロック図である。
図2(b)で例示するように、情報処理装置100は、CPU101、RAM102、記憶装置103、インタフェース104等を備える。
【0019】
CPU(Central Processing Unit)101は、中央演算処理装置である。CPU101は、1以上のコアを含む。RAM(Random Access Memory)102は、CPU101が実行するプログラム、CPU101が処理するデータなどを一時的に記憶する揮発性メモリである。記憶装置103は、不揮発性記憶装置である。記憶装置103として、例えば、ROM(Read Only Memory)、フラッシュメモリなどのソリッド・ステート・ドライブ(SSD)、ハードディスクドライブに駆動されるハードディスクなどを用いることができる。記憶装置103は、作業順序決定プログラムを記憶している。インタフェース104は、入力装置10、表示装置80などとの間のインタフェース装置である。CPU101が作業順序決定プログラムを実行することで、伝票オーダー格納部20、作業順序入替部30、ラインシミュレータ40、抽出部50、更新部60、および順序決定部70が実現される。なお、伝票オーダー格納部20、作業順序入替部30、ラインシミュレータ40、抽出部50、更新部60、および順序決定部70として、専用の回路などのハードウェアを用いてもよい。
【0020】
ラインシミュレータ40は、各作業員がピッキングを行う構内をモデル化したレイアウトを格納している。
図3(a)は、ラインシミュレータ40に格納されているレイアウトを例示する図である。
図3(a)で例示するように、レイアウトは、複数のセルを備えている。各セルは、作業員が移動可能な各ルートに対して所定の間隔で配列されている。レイアウトは、標準移動セル、分岐セル、ピックセル、伝票セル、および作業員セルを含んでいる。
【0021】
標準移動セルは、伝票を保持している作業員が隣接するセルに移動、もしくは待機を行うセルである。分岐セルは、伝票を保持している作業員が複数方向のうちのいずれかの隣接するセルに移動、もしくは待機を行うセルである。ピックセルは、伝票を保持している作業員がピッキング作業を行う、もしくは隣接するセルに移動するセルである。伝票セルは、作業員作業員によるピッキング作業がまだ行われていない伝票の置き場所である。作業員セルは、伝票を受け取っていない作業員が、隣接するセルに移動、もしくは待機を行うセルである。
【0022】
また、レイアウトは、商品が配置された複数の棚を備えている。各棚は、ピックセルの位置に対応して配置されている。
図3(a)の例では、棚M-01と棚M-04とで挟まれたピックセルと、棚M-02と棚M-05とで挟まれたピックセルと、棚M-03と棚M-06とで挟まれたピックセルとが含まれる。さらに、棚L-01と棚L-06とで挟まれたピックセルと、棚L-02と棚L-07とで挟まれたピックセルと、棚L-03と棚L-08とで挟まれたピックセルと、棚L-04と棚L-09とで挟まれたピックセルと、棚L-05と棚L-10とで挟まれたピックセルとが含まれる。さらに、棚S-01と棚S-05とで挟まれたピックセルと、棚S-02と棚S-06とで挟まれたピックセルと、棚S-03と棚S-07とで挟まれたピックセルと、棚S-04と棚S-08とで挟まれたピックセルとが含まれる、さらに、棚S-09と棚S-13とで挟まれたピックセルと、棚S-10と棚S-14とで挟まれたピックセルと、棚S-11と棚S-15とで挟まれたピックセルと、棚S-12と棚S-16とで挟まれたピックセルとが含まれる。
【0023】
このラインシミュレータのモデルに各種制約条件を付与することで、構内現場を仮想的に再現し、作業完了時間や作業員の渋滞を求めることが可能となる。本実施例では、一例として、(1)移動ルートと当該移動ルート上の所定のピックセルで行うピッキング作業とを含む伝票を複数含む伝票群(伝票オーダー)が定められている。(2)各作業員は、定められた作業順序で、伝票セルから受け取った伝票を保持し、当該伝票の移動ルート上の移動を開始して当該伝票のピックセルで作業を行う。(3)各移動については、単位時間あたりに隣接するセルにまでしか移動できない。(4)ピックセルでは、ピック時間の分だけ待機時間が発生する。(5)複数の作業員間でピックセルが重複しかつピッキング作業が行われる時間が重複する場合に、先にピッキング作業を開始した作業員が当該ピッキング作業を完了させるまでに他の作業員は移動できない。(6)作業員は2つの棚に挟まれた部分では追い抜きができない。(7)作業員は標準ルートを通る。(8)先の棚に商品がない場合はショートカットルートを通って追い抜きを行う。(9)作業員セルでは、作業員が伝票セルの隣の標準移動セルに向かって1人ずつ移動する。なお、
図3(b)のレイアウトでは、標準ルートとショートカットルートとが例示されている。
【0024】
続いて、情報処理装置100による処理手順更新について説明する。まず、ユーザは、入力装置10を用いて、伝票オーダーを入力する。伝票オーダー格納部20は、入力装置10によって入力された伝票オーダーを格納する。伝票オーダーは、複数の伝票を含む。この場合の伝票は、シングルピッキング作業の内容を表す伝票である。
【0025】
図4は、各伝票が含む情報を例示する図である。
図4で例示するように、伝票には、伝票番号、移動ルート、ピック作業を行うピックセル、および当該ピックセルにおけるピック時間が情報として含まれている。移動ルートには、セルの移動順序が含まれている。複数の商品をピックする場合には、ピックセルおよびピック時間のペアが複数含まれている。
【0026】
図5は、情報処理装置100が実行する処理手順更新処理を表すフローチャートを例示する図である。
図5で例示するように、作業順序入替部30は、ランダム検証数(ran_step)を取得する(ステップS1)。ランダム検証数(ran_step)は、例えば、ユーザなどが入力装置10を用いて入力する。
【0027】
次に、作業順序入替部30は、作業順序をランダムに入れ替える(ステップS2)。作業順序とは、各作業員によってピッキング作業される伝票の順序のことである。ラインシミュレータ40によって実行されるシミュレーションにおいては、作業順序は、伝票をラインシミュレータ40のレイアウトに投入する順番のことである。
【0028】
次に、ラインシミュレータ40は、作業順序入替部30が決定した作業順序に従って、シングルピッキングのシミュレーションを行う(ステップS3)。作業順序入替部30およびラインシミュレータ40は、ran_stepの回数だけステップS2およびステップS3を繰り返す。これにより、各作業順序について、シングルピッキングのシミュレーションが行われる。
【0029】
図6は、ステップS3の詳細を表すフローチャートを例示する図である。
図6で例示するように、ラインシミュレータ40は、伝票オーダー格納部20から、伝票オーダーを読み込む(ステップS11)。次に、ラインシミュレータ40は、作業順序入替部30から、作業順序を読み込む(ステップS12)。
【0030】
次に、ラインシミュレータ40は、構内の伝票数(ip)をカウントする(ステップS13)。伝票数(ip)は、構内のセルに残っている伝票数のことである。具体的には、伝票セル、標準移動セル、分岐セル、およびピックセルに残っている伝票総数のことである。次に、ラインシミュレータ40は、伝票数(ip)が0であるか否かを判定する(ステップS14)。まだ構内のセルに伝票が投入されていない場合、または全ての作業員がゴールに到達した場合に、ステップS14で「Yes」と判定される。構内のセルにいずれかの伝票が残っている場合には、ステップS14で「No」と判定される。
【0031】
ステップS14で「Yes」と判定された場合、ラインシミュレータ40は、構内への未投入伝票があるか否かを判定する(ステップS15)。ステップS15で「Yes」と判定された場合、ラインシミュレータ40は、次の伝票を投入可能であるか否かを判定する(ステップS16)。具体的には、伝票セルに伝票が残っているか否かが判定される。伝票セルに伝票が無ければ、投入可能であると判定される。ステップS16で「Yes」と判定された場合、ラインシミュレータ40は、次の伝票を伝票セルに配置することで構内に投入する(ステップS17)。ステップS16で「No」と判定された場合、またはステップS17の実行後、ステップS13から再度実行される。ステップS13~ステップS17の処理が繰り返されることによって、作業順序に従って全ての伝票が構内に投入されることになる。
【0032】
ステップS14で「No」と判定された場合、ラインシミュレータ40は、伝票(i)が位置するセルの情報を取得する(ステップS18)。iは、1からipまでの値をとる。構内のセルに残っている伝票が2つであれば、ipは2であって、iは1と2の値をとる。構内のセルに残っている伝票に、iのいずれかの値が付与されている。
【0033】
次に、ラインシミュレータ40は、伝票(i)が位置するセルが標準移動セルであるか、分岐セルであるか、ピックセルであるか、伝票セルであるか否かを判定する(ステップS19)。
【0034】
ステップS19で、伝票(i)が位置するセルが標準移動セルであると判定された場合、ラインシミュレータ40は、標準移動セルの処理を実行する(ステップS20)。ステップS19で、伝票(i)が位置するセルが分岐セルであると判定された場合、ラインシミュレータ40は、分岐セルの処理を実行する(ステップS21)。ステップS19で、伝票(i)が位置するセルがピックセルであると判定された場合、ラインシミュレータ40は、ピックセルの処理を実行する(ステップS22)。ステップS19で、伝票(i)が位置するセルが伝票セルであると判定された場合、ラインシミュレータ40は、伝票セルの処理を実行する(ステップS23)。
【0035】
図7(a)は、標準移動セルの処理を表すフローチャートである。
図7(a)で例示するように、ラインシミュレータ40は、移動先(伝票(i)に記載されている移動ルートの隣のセル)に別の伝票が有るか否かを判定する(ステップS31)。ステップS31で「No」と判定された場合、ラインシミュレータ40は、伝票を当該隣のセルに移動させる(ステップS32)。ステップS31で「Yes」と判定された場合、ラインシミュレータ40は、伝票(i)のアイドリングタイムを単位時間だけ積算する(ステップS33)。アイドリングタイムは、伝票(i)が移動できずに待機する積算時間のことである。積算前は、アイドリングタイムはゼロである。ステップS32の実行後またはステップS33の実行後、フローチャートの実行が終了する。標準移動セルの処理を実行することで、移動先のセルに伝票が無ければ伝票(i)を移動させることができ、移動先のセルに伝票が有れば伝票(i)を待機させることができる。
【0036】
図7(b)は、分岐セルの処理を表すフローチャートである。
図7(b)で例示するように、ラインシミュレータ40は、伝票(i)に記載されている移動ルートの移動方向の隣のセルに別の伝票が有るか否かを判定する(ステップS41)。ステップS41で「No」と判定された場合、伝票を当該隣のセルに移動させる(ステップS42)。ステップS41で「Yes」と判定された場合、ラインシミュレータ40は、伝票(i)のアイドリングタイムを単位時間だけ積算する(ステップS43)。ステップS42の実行後またはステップS43の実行後、フローチャートの実行が終了する。分岐セルの処理を実行することで、移動先のセルに伝票が無ければ伝票(i)を移動させることができ、移動先のセルに伝票が有れば伝票(i)を待機させることができる。
【0037】
図8(a)は、ピックセルの処理を表すフローチャートである。
図8(a)で例示するように、ラインシミュレータ40は、ピックセルのタイマー値(timer)を取得する(ステップS51)。伝票(i)がピックセルに移動してきた段階では、timerは0である。次に、ラインシミュレータ40は、伝票(i)の当該ピックセルにおけるピック時間(process)を取得する(ステップS52)。次に、ラインシミュレータ40は、timerがprocess以上であるか否かを判定する(ステップS53)。ステップS53で「No」と判定された場合、ラインシミュレータ40は、timerをインクリメントする(ステップS54)。ステップS53で「Yes」と判定された場合、ラインシミュレータ40は、伝票(i)のタイマーを初期化する(ステップS55)。次に、ラインシミュレータ40は、伝票(i)をピック済みとして次のセルへ移動させる(ステップS56)。ステップS54またはステップS56の実行後、フローチャートが終了する。ピックセルの処理を実行することで、当該ピックセルにおけるピック時間が経過するまで、伝票(i)をおいてピックセルに待機させることができる。当該ピックセルにおけるピック時間が経過すれば、伝票(i)を次のセルに移動させることができる。
【0038】
なお、
図8(a)のフローチャートでは、ピックセルの隣接するセルに他の伝票があるか否かが判定されていないが、判定するようにしてもよい。例えば、
図7(a)のステップS31~S33を、ステップS55の後に実行してもよい。
【0039】
図8(b)は、伝票セルの処理を表すフローチャートである。
図8(b)で例示するように、ラインシミュレータ40は、伝票の送り先(伝票セルの隣の作業員セル)に作業員がいるか否かを判定する(ステップS51)。ステップS51で「Yes」と判定された場合、伝票を作業員に渡すため、隣のセルに伝票を移動させる(ステップS52)。ステップS51で「No」と判定された場合、またはステップS52の実行後、フローチャートが終了する。伝票セルの処理を実行することで、伝票を作業員に渡すことができる。
【0040】
ステップS18~ステップS23のループ(構内伝票ループ)が、伝票番号iが1からipになるまで繰り返し実行される。それにより、構内に残っている全ての伝票について、ステップS20~ステップS23のいずれかの処理を1つ進めることができる。
【0041】
その後、ステップS15が実行される。ステップS14~ステップS23のループ(timeループ)が1回行われるたびに1単位時間進むことになるため、timeループのループ回数を取得することで、全ての伝票のシングルピッキング作業を終了させるために要する作業完了時間を取得することができる。
【0042】
ステップS15で「No」と判定された場合、ラインシミュレータ40は、timeループをブレーク(停止)する(ステップS24)。次に、ラインシミュレータ40は、timeループのループ回数をTimeとして算出して出力する(ステップS25)。その後、
図6のフローチャートが終了する。このTimeが、全ての伝票のシングルピッキング作業を終了させるために要する作業完了時間に相当する。
【0043】
再度
図5を参照する。ステップS2およびステップS3のループが終了した後、抽出部50は、作業完了時間が最大となるまたは閾値を上回る場合の作業順序と、当該作業順序における各伝票のアイドリングタイムとを抽出する(ステップS4)。次に、更新部60は、アイドリングタイムが閾値を超えている伝票を、作業順序の1つ前の伝票と1つの伝票にまとめ、伝票オーダー格納部20に格納されている伝票を更新する(ステップS5)。この場合、アイドリングタイムが閾値を超えている伝票と1つ前の伝票とが1つにまとまり、いずれにも該当しない伝票については特に更新はされない。アイドリングタイムが閾値を超えている伝票をまとめる対象は、当該伝票において渋滞が生じさせたピッキング作業を含む他の伝票などであってもよい。また、複数の伝票を1つにまとめる際に、複数のピッキング作業の全てを含めるとともに、移動ルートについては全てのピッキング作業が生じるピックセルを通るように適宜修正すればよい。
【0044】
次に、順序決定部70は、逐次型最適化アルゴリズムを用いて、最適な作業順序を決定する(ステップS6)。具体的には、順序決定部70は、更新された伝票についてラインシミュレータ40にステップS2およびステップS3のループを再度実行させ、作業完了時間が閾値未満となる、または最も作業完了時間が短くなる作業順序を最適作業順序として決定する。表示装置80は、順序決定部70が決定した作業順序、1つにまとめられた2つの伝票、などを表示する(ステップS7)。その後、
図5のフローチャートが終了する。
【0045】
図9は、
図5~
図8(b)のシミュレーションに従って各作業順序の作業時間を算出した場合の結果を例示する図である。
図9において、横軸は算出された作業完了時間を示し、縦軸はシミュレーションに用いた作業員数(伝票数)を示す。
図9において、「×」はシングルピッキングの結果を示し、「〇」はマルチピッキングの結果を示している。
図9の結果を見やすくするために、マルチピッキングの結果については作業人数を0.5足してある。
【0046】
図9の結果から、マルチピッキングした結果はシングルピッキングより一律良い結果になっている。マルチピッキングだけでは、作業員の渋滞が発生するため、よくなるとは限らないが、本実施例によって並べ替えの効果を見越したマルチピッキング化を行うことで、最終的な効率は向上する。
【0047】
本実施例においては、ラインシミュレータ40のシミュレーション結果から、作業員の渋滞情報が抽出され、抽出された渋滞情報に応じて、2以上の作業員の伝票が1つの伝票にまとめられる。それにより、作業員の渋滞に応じて処理手順を更新することができる。また、最も効率的なマルチ化を実現するために、作業順序を現場の制約(例えば作業納期やマルチ化できる伝票種類)を満足する範囲内でランダムに入れ替えて、渋滞が多い(渋滞が長い)順序計画を算出する。この作業効率化とは最適化の観点では正反対の解をあえて用いることで、渋滞があえて発生する計画を求めて、伝票のマルチ化を実行する。さらに、マルチピッキング用にまとめた各伝票をさらに同一ラインシミュレータで、今度は作業完了時刻が小さくなる作業順序を求めることで、マルチピッキング化した作業順序の最適化を同一エンジンのもとで行うことができるようになる。
【0048】
なお、上記例において、ラインシミュレータ40が、移動ルートと当該移動ルート上の所定の作業箇所で実行される作業とを特定する処理手順を複数含む処理手順群が定められ、複数の処理主体が、前記複数の処理主体のそれぞれに割り当てられた前記処理手順に従って、指定順序で処理を実行した場合であって、前記複数の処理主体間で前記作業箇所が重複しかつ前記作業が行われる時間が重複する場合には、先に前記作業を開始した前記処理主体が当該作業を完了させるまで他の前記処理主体は待機する、という条件に基づいて、互いに相違する複数の前記指定順序についてシミュレーションするシミュレーション部の一例として機能する。伝票が処理手順の一例である。作業順序が指定順序の一例である。作業員が処理主体の一例である。抽出部50が、前記シミュレーション部のシミュレーション結果から、前記複数の処理主体のそれぞれについて待機の情報を抽出する抽出部の一例として機能する。更新部60が、前記抽出部が抽出した前記待機の情報に応じて、2以上の前記処理主体の処理手順を1つの処理手順にまとめることで、前記処理手順群を更新する更新部の一例として機能する。順序決定部70が、前記更新部が更新した前記処理手順群に従って、前記シミュレーション部が行った次のシミュレーション結果に応じて処理手順の順序を決定する順序決定部の一例として機能する。
【0049】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0050】
10 入力装置
20 伝票オーダー格納部
30 作業順序入替部
40 ラインシミュレータ
50 抽出部
60 更新部
70 順序決定部
80 表示装置
90 出力装置
100 情報処理装置