(57)【要約】【課題】作業バッチ間での作業指示の交換による局所探索を効率的に進めること。【解決手段】本開示の一側面に係る作業バッチ生成装置は、物流に関する１以上の位置情報をそれぞれ含む作業指示を複数取得する作業指示取得手段と、前記複数の作業指示に基づいて、１以上の前記作業指示をそれぞれ含む複数の作業バッチを生成する作業バッチ生成手段と、一の前記作業バッチにおける一の前記作業指示の減少をそれぞれ伴う複数の非交換操作を適用した前後での、前記複数の作業バッチのコストの変化量を計算する計算手段（Ｓ３１１）と、前記コストの変化量に基づいて少なくとも一の前記非交換操作を選択する選択手段と（Ｓ３１２，Ｓ３１３）、前記選択手段により選択される前記非交換操作に対応する前記作業指示の交換操作を前記複数の作業バッチに対して適用する交換手段と、を含む。【選択図】図１１
2020175978.tif 000002
【特許請求の範囲】
【請求項１】
物流に関する１以上の位置情報をそれぞれ含む作業指示を複数取得する作業指示取得手段と、
前記複数の作業指示に基づいて、１以上の前記作業指示をそれぞれ含む複数の作業バッチを生成する作業バッチ生成手段と、
一の前記作業バッチにおける一の前記作業指示の減少をそれぞれ伴う複数の非交換操作を適用した前後での、前記複数の作業バッチのコストの変化量を計算する計算手段と、
前記コストの変化量に基づいて少なくとも一の前記非交換操作を選択する選択手段と、
前記選択手段により選択される前記非交換操作に対応する前記作業指示の交換操作を前記複数の作業バッチに対して適用する交換手段と、
を含む作業バッチ生成装置。
【請求項２】
請求項１に記載の作業バッチ生成装置において、
前記複数の非交換操作は、一の前記作業バッチにおいて一の前記作業指示を減少させる第１の減少操作と、他の一の前記作業バッチにおいて他の一の前記作業指示を減少させる第２の減少操作と、を含み、
前記選択手段は、前記コストの変化量に応じた確率で前記第１の減少操作及び前記第２の減少操作を選択する第１選択手段を含む、作業バッチ生成装置。
【請求項３】
請求項２に記載の作業バッチ生成装置において、
前記交換操作は、選択される前記第１減少操作に係る前記作業指示と、選択される前記第２減少操作に係る前記作業指示と、を交換する第１交換操作を含む、作業バッチ生成装置。
【請求項４】
請求項３に記載の作業バッチ生成装置において、
前記交換手段は、前記第１交換操作を適用した前後での前記コストの変化量に応じて前記複数の作業バッチに前記第１交換操作を適用する第１交換手段を含む、作業バッチ生成装置。
【請求項５】
請求項４に記載の作業バッチ生成装置において、
前記作業指示により指定される位置には事前に順位が付与されており、
前記第１交換手段は、前記順位に基づいて、前記複数の作業バッチのそれぞれに関して前記コストの変化量を計算する、作業バッチ生成装置。
【請求項６】
請求項５に記載の作業バッチ生成装置において、
前記複数の非交換操作は、一の前記作業バッチにおいて一の前記作業指示を減少させ、当該一の前記作業指示を他の一の前記作業バッチへの追加する順方向シフト操作を含み、
前記交換操作は、前記一の前記作業バッチに含まれる前記作業指示と、前記他の一の前記作業バッチに含まれる前記作業指示と、を交換する第２交換操作を含み、
前記交換手段は、前記第２交換操作を前記複数の作業バッチに対して適用する第２交換手段を含む、作業バッチ生成装置。
【請求項７】
請求項６に記載の作業バッチ生成装置において、
前記第２交換手段は、前記他の一の前記作業バッチにおいて前記作業指示を減少させ、当該作業指示を前記一の前記作業バッチに追加する逆方向シフト操作の前後における前記コストの変化量に基づいて、前記他の一の前記作業バッチに含まれる前記作業指示を選択する、作業バッチ生成装置。
【請求項８】
請求項７に記載の作業バッチ生成装置において、
前記第２交換手段は、前記第２交換操作を適用した前後での前記コストの変化量に応じて、前記複数の作業バッチに前記第２交換操作を適用する第２交換手段を含む、作業バッチ生成装置。
【請求項９】
請求項８に記載の作業バッチ生成装置において、
前記第２交換手段は、前記複数の作業バッチのそれぞれに関して、該作業バッチに含まれる前記作業指示の実行順序を複数候補の中から選択する手段を含む、作業バッチ生成装置。
【請求項１０】
請求項１に記載の作業バッチ生成装置において、
前記複数の非交換操作は、一の前記作業バッチにおいて一の前記作業指示を減少させ、当該一の前記作業指示を他の一の前記作業バッチへの追加する順方向シフト操作を含み、
前記交換操作は、前記一の前記作業バッチに含まれる前記作業指示と、前記他の一の前記作業バッチに含まれる前記作業指示と、を交換する第２交換操作を含み、
前記交換手段は、前記第２交換操作を前記複数の作業バッチに対して適用する第２交換手段を含む、作業バッチ生成装置。
【請求項１１】
１以上の作業項目をそれぞれ含む作業指示を複数取得するステップと、
前記複数の作業指示に基づいて、１以上の前記作業指示をそれぞれ含む複数の作業バッチを生成するステップと、
一の前記作業バッチにおける一の前記作業指示の減少をそれぞれ伴う複数の非交換操作を適用した前後での、前記複数の作業バッチのコストの変化量を計算するステップと、
前記コストの変化量に基づいて少なくとも一の前記非交換操作を選択するステップと、
選択される前記非交換操作に対応する前記作業指示の交換操作を前記複数の作業バッチに対して適用するステップと、
を含む作業バッチ生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は作業バッチ生成装置及び方法に関し、例えば物流分野における作業バッチの局所最適化に関する。
【背景技術】
【０００２】
物流倉庫には多くの種類の商品が保管されており、商品の注文が発生すると、人手又はロボットにより注文された商品さピッキングされ、梱包などの後工程に渡される。注文のたびにこのような作業を発生させると作業効率が悪いことから、一定数の注文が蓄積されるのを待って、複数の作業者又は作業ロボットのそれぞれがピッキングすべき商品及びその保管位置からなる作業指示がリスト化された作業バッチを生成するのが合理的である。
【０００３】
こうした作業バッチは、複数の商品を効率的にピッキングできるよう、作業者や作業ロボットの総移動距離が最小化されるなど、作業のコストがより良いものとなるように考慮して生成されることが望ましい。このような効率的な作業バッチのヒューリスティックな解は、例えば各種の階層クラスタリングのアルゴリズムにより求めることができる。また、各種の局所探索により作業バッチをさらに改善することもできる。
【０００４】
従来の局所探索のアルゴリズムの一つとして焼きなまし法が知られている。このアルゴリズムでは、既に生成された作業バッチのそれぞれからランダムに作業指示を選択する。次に、すべての作業バッチの組み合わせにおいて、こうして選択された作業指示の交換を仮定し、当該交換による総移動距離などのコストの変化量を計算する。そして、コストが最も改善する交換を実際に実行する。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、このように作業バッチ間で交換される作業指示の候補をランダムに選択すると、効率的に作業バッチの最適化を進めることができず、最適化のための処理時間が増えるという問題がある。
【０００６】
以上の説明では物流倉庫からの出荷時に用いる作業バッチを例示したが、荷物の配達など、他の作業における作業バッチでも、同様の問題は生じる。
【０００７】
本開示は上記課題に鑑みてなされたものであって、その目的は、作業バッチ間での作業指示の交換による局所探索を効率的に進めることができる作業バッチ生成装置及び方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本開示の一側面に係る作業バッチ生成装置は、物流に関する１以上の位置情報をそれぞれ含む作業指示を複数取得する作業指示取得手段と、前記複数の作業指示に基づいて、１以上の前記作業指示をそれぞれ含む複数の作業バッチを生成する作業バッチ生成手段と、一の前記作業バッチにおける一の前記作業指示の減少をそれぞれ伴う複数の非交換操作を適用した前後での、前記複数の作業バッチのコストの変化量を計算する計算手段と、前記コストの変化量に基づいて少なくとも一の前記非交換操作を選択する選択手段と、前記選択手段により選択される前記非交換操作に対応する前記作業指示の交換操作を前記複数の作業バッチに対して適用する交換手段と、を含む。
【０００９】
また、本開示の他の側面に係る作業バッチ生成方法は、１以上の作業項目をそれぞれ含む作業指示を複数取得するステップと、前記複数の作業指示に基づいて、１以上の前記作業指示をそれぞれ含む複数の作業バッチを生成するステップと、一の前記作業バッチにおける一の前記作業指示の減少をそれぞれ伴う複数の非交換操作を適用した前後での、前記複数の作業バッチのコストの変化量を計算するステップと、前記コストの変化量に基づいて少なくとも一の前記非交換操作を選択するステップと、選択される前記非交換操作に対応する前記作業指示の交換操作を前記複数の作業バッチに対して適用するステップと、を含む。
【図面の簡単な説明】
【００１０】
【図１】物流倉庫の一例を示す平面図である。
【図２】物流倉庫の通路を示す平面図である。
【図３】作業バッチ生成装置のハードウェア構成図である。
【図４】作業バッチ生成装置が受注システムから受信する注文データ群を模式的に示す図である。
【図５】作業バッチ生成装置により生成される作業バッチを模式的に示す図である。
【図６】作業バッチ生成装置における作業バッチ生成処理を示すフロー図である。
【図７】初期バッチ群の生成処理を示すフロー図である。
【図８】物流倉庫の各収納棚に付与されたピッキング順位を示す図である。
【図９】２つの収納棚の間の移動経路及びその距離の計算方法を説明する図である。
【図１０】第１の局所探索処理を示すフロー図である。
【図１１】第１の局所探索処理における交換候補の選出処理の詳細を示すフロー図である。
【図１２】各注文に選択確率を設定する処理を説明する図である。
【図１３】第２の局所探索処理を示すフロー図である。
【図１４】第２の局所探索処理の一具体例を示す図である。
【図１５】第２の局所探索処理の一具体例を示す図である。
【図１６】複数の収納棚から順次商品をピッキングするための、より短い移動経路の決定方法を説明する図である。
【図１７】複数の収納棚から順次商品をピッキングするための、より短い移動経路の決定方法の具体例を示す図である。
【図１８】複数の収納棚から順次商品をピッキングするための、より短い移動経路の決定方法の具体例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本開示の実施形態について図面に基づき詳細に説明する。
【００１２】
図１は、物流倉庫の一例を示す平面図である。以下では、同図に示される物流倉庫１０に、本実施形態に係る作業バッチ生成装置１００（図３参照）が使用される例について説明する。図１に示すように、物流倉庫１０では、それぞれ多数の在庫商品を収容する収納ブロック１１ａ〜２３ｂがマトリックス状に整列配置されており、収納ブロック群の横には商品受渡しエリア３０が設けられている。
【００１３】
図２に示すように、収納ブロック１１ａ〜１３ｂは、図中上側の領域Ａ１にマトリックス状に整列配置されており、収納ブロック２１ａ〜２３ｂは、図中下側の領域Ａ２にマトリックス状に整列配置されている。すなわち、領域Ａ１では、ブロック列Ｃ１に沿って収納ブロック１１ａ，１１ｂが配置され、その隣（図中左側）のブロック列Ｃ２に沿って収納ブロック１２ａ，１２ｂが配置されている。さらに、その隣（図中左側）のブロック列Ｃ３に沿って収納ブロック１３ａ，１３ｂが配置されている。同様に、領域Ａ２では、ブロック列Ｃ１に沿って収納ブロック２１ａ，２１ｂが配置され、その隣（図中左側）のブロック列Ｃ２に沿って収納ブロック２２ａ，２２ｂが配置されている。さらに、その隣（図中左側）のブロック列Ｃ３に沿って収納ブロック２３ａ，２３ｂが配置されている。
【００１４】
領域Ａ１と領域Ａ２の間にはメイン通路５０が設けられており、メイン通路５０には、該メイン通路５０に直交する交差通路５２が設けられている。すなわち、ブロック列Ｃ１〜Ｃ３の間、ブロック列Ｃ１の右側、及びブロック列Ｃ３の左側に交差通路５２が設けられている。以下ではメイン通路５０の延伸方向をＸ方向といい、交差通路５２の延伸方向をＹ方向という。
【００１５】
収納ブロック１１ａ〜２３ｂは、いずれも３×２個の商品棚を含んでいる。商品棚は３つずつ横に（Ｙ方向に）並べられ、それらが互いに背中合わせにして配置されている。収納ブロック１１ａ〜２３ｂに含まれる商品棚は、いずれかの交差通路５２に面しており、いずれかの交差通路５２から商品をピッキングできる。
【００１６】
領域Ａ１では、収納ブロック１１ａ，１２ａ，１３ａと、収納ブロック１１ｂ，１２ｂ，１３ｂの間にサブ通路５１が設けられており、収納ブロック１１ａ，１２ａ，１３ａのメイン通路５０とは反対側にもサブ通路５１が設けられている。同様に領域Ａ２では、収納ブロック２１ａ，２２ａ，２３ａと、収納ブロック２１ｂ，２２ｂ，２３ｂの間にサブ通路５１が設けられており、収納ブロック２１ａ，２２ａ，２３ａのメイン通路５０とは反対側にもサブ通路５１が設けられている。
【００１７】
ピッキング作業者６０（図１参照）は、商品受渡しエリア３０から出発し、メイン通路５０、サブ通路５１及び交差通路５２を移動して、例えば紙媒体で配布されたり、或いはタブレットなどの電子端末に表示されたりする作業バッチにより指示された商品を、指示された順序でピッキングしてカートに入れ、商品受渡しエリア３０に持ち帰る。こうしてピッキングされた商品に対して、図示しない発送エリアにおいて梱包などの発送作業がさらに行われる。
【００１８】
図３は、作業バッチ生成装置のハードウェア構成図である。作業バッチ生成装置１００は、例えば物流倉庫１０の隅に配置されており、所定数の注文データが蓄積されるたびに、それらをピッキング作業者６０と同数の作業バッチに仕訳ける。作業バッチ生成装置１００は、一般的なパーソナルコンピュータにより構成されてよく、ＣＰＵなどのプロセッサ１０１、ＲＡＭなどのメモリ１０２、ストレージ１０３、通信インタフェース１０４、ポインティングデバイスやキーボードなどの入力部１０５、ＬＣＤやＯＬＥＤなどのディスプレイ１０６及びプリンタ１０７を含んでよい。通信インタフェース１０４はＬＡＮ又はインターネットに接続されており、図示しない受注コンピュータと作業バッチ生成装置１００との間でデータ通信が可能となっている。特に、作業バッチ生成装置１００は商品に対する注文が発生するたびに受注コンピュータから注文データを受信する。ストレージ１０３はＨＤＤやＳＳＤであってよく、本開示に係る作業バッチ生成方法を実行するためのプログラムが特にインストールされている。また、上述のようにして受注コンピュータから受信される注文データが順次蓄積される。
【００１９】
図４は、作業バッチ生成装置１００が受注システムから受信する注文データ群を模式的に示す図である。各注文データＯｉは、１注文の内容を示しており、当該注文により顧客から発送要求された１又は複数の商品の情報を含む。各商品の情報は、例えば商品のＩＤ、商品の名称、商品の物流倉庫１０における保管位置情報を含む。保管位置情報は、ここでは収納ブロックの識別情報、そこに含まれる収納棚の識別情報、当該収納棚の座標（物流倉庫１０のフロアにおけるＸＹ座標）が含まれてよい。
【００２０】
図５は、作業バッチ生成装置１００により生成される作業バッチ群を模式的に示す図である。作業バッチ生成装置１００は、ピッキングの作業指示を含む注文データＯ１〜Ｏｎのそれぞれを、ピッキング作業者６０と同数の作業バッチＢ１，Ｂ２，Ｂ３，…のいずれかに割り当てる。１注文データに複数の商品の情報が含まれる場合、それら複数の商品の情報が異なる作業バッチに割り当てられることはない。作業バッチＢ１，Ｂ２，Ｂ３，…は、各ピッキング作業者の移動距離の総和（コスト）ができるだけ短くなるようにして生成される。なお、各作業バッチに含まれる注文データの数は所定数以下に制限されてよい。或いは、各作業バッチに含まれる商品の数が所定数以下に制限されてよい。作業バッチＢ１，Ｂ２，Ｂ３，…には、その作業バッチに割り当てられた注文データに含まれる商品の情報が、商品をピッキングすべき順序で記述されている。
【００２１】
こうして生成される作業バッチをピッキング作業者に電子データ形式で配布する場合、作業バッチ生成装置１００は、作業バッチＢ１，Ｂ２，Ｂ３，…のデータを、通信インタフェース１０４を介して各ピッキング作業者が所持している電子端末に送信する。また、紙媒体で作業バッチを配布する場合には、作業バッチ生成装置１００はプリンタ１０７により作業バッチＢ１，Ｂ２，Ｂ３，…を印刷する。
【００２２】
図６は、作業バッチ生成装置１００における作業バッチ生成処理を示すフロー図である。同図に示す処理は、ストレージ１０３に格納されたプログラムをプロセッサ１０１が実行することにより、実現されるものである。同図に示すように、作業バッチ生成装置１００はまず、ストレージ１０３に蓄積されている注文データＯ１〜Ｏｎを読み出す（Ｓ１）。次に、Ｓ１で読みだされた注文データＯ１〜Ｏｎに基づいてピッキング作業者６０と同数の初期作業バッチを生成する（Ｓ２）。初期作業バッチは、例えばClarke及びWrightにより提案されたセービング法を利用して作成でき、ここでは作業バッチ群の近似解が得られる。次に、この初期作業バッチに対して、本開示に係る第１の局所探索処理が適用され、改良された作業バッチが得られる（Ｓ３）。こうして改良された作業バッチに対して、本開示に係る第２の局所探索処理がさらに適用され、さらに改良された作業バッチが得られる（Ｓ４）。その後、作業バッチ生成装置１００はプリンタ１０７又は通信インタフェース１０４により作業バッチＢ１，Ｂ２，Ｂ３，…を出力する（Ｓ５）。
【００２３】
図７は、図６のＳ１に示される初期バッチ群の生成処理の一例を示すフロー図である。同図に示すように、この処理では作業バッチ生成装置１００は、まず注文データＯ１〜Ｏｎのそれぞれに１つの作業バッチを割り当てる（Ｓ２１）。すなわち、この段階では注文データの数と作業バッチの数が等しい。次に、作業バッチのすべての組み合わせについて、それらを結合した場合におけるコスト削減量を計算する（Ｓ２２）。コスト削減量は、結合前後におけるコストの差である。コストは、各作業バッチの実施に必要な個別コストの総和である。ここで個別コストは、作業バッチに割り当てられた注文データの全商品を物流倉庫１０においてピッキングするのに必要な移動距離である。
【００２４】
作業バッチ生成装置１００は、次にコスト削減量に基づいて作業バッチの対を特定する（Ｓ２３）。ここでは、結合することによりコストが最も削減される作業バッチの対を特定する。そして、特定された作業バッチの対に含まれる注文データの総数が事前に定められた上限数Ｃ未満かを調べる（Ｓ２４）。注文データの総数が上限数Ｃ未満であれば、特定された作業バッチの対を結合し、これにより作業バッチの数を１つ減らす（Ｓ２６）。一方、注文データの総数が上限数Ｃ以上であれば、Ｓ２３で特定された作業バッチの対を結合対象から除外し（Ｓ２５）、再びＳ２３の処理を実行する。なお、Ｓ２３においてコスト削減が可能なバッチ対が存在しない場合には、一部の作業バッチを再び複数の作業バッチに分解し、Ｓ２２移行の処理を再度実行すればよい。こうして、作業バッチの数がＭに達すれば処理を終了する（Ｓ２７）。
【００２５】
ここで、作業バッチのコスト計算について説明する。図８は、物流倉庫１０の各収納棚に付与されたピッキング順位を示す図である。物流倉庫１０には、同図に矢印で示されるように基本移動経路が設定されており、この基本移動経路にしたがって各収納棚にはピッキング順位が付与されている。具体的には、基本移動経路において、より上流の位置においてピッキングできる収納棚ほど上位のピッキング順位が付与されており、逆により下流の位置でないとピッキングできない収納棚ほど下位のピッキング順位が付与されている。図７のＳ２２においては、このピッキング順位に従って、作業バッチの結合前後における、ピッキング順序を決定する。すなわち、作業バッチに含まれる商品が収納された収納棚のピッキング順位を調べ、ピッキング順位が上位の収納棚に収納された商品ほど先にピッキングするよう、作業バッチに含まれる全商品のピッキング順序を定める。次に、こうして定められたピッキング順序にて各商品をピッキングする際の移動距離を決定する。
【００２６】
図９（ａ）に示すように、ピッキング作業者６０がある時点で到達すべき収納棚（図中ハッチングで示す）が面している交差通路５２と、メイン通路５０又はサブ通路５１との交点であるＰ２及びＰ３のＹ座標と、次の時点で到達すべき収納棚（図中網掛けで示す）が面している交差通路５２と、メイン通路５０又はサブ通路５１との交点であるＰ１及びＰ４のＹ座標と、それぞれ等しい場合には、移動経路として図中のＲ１及びＲ２のように２通りが存在する。このような場合は両経路Ｒ１及びＲ２のうち短い方を選択し、その距離をコストとする。その他の場合は、図９（ｂ）（ｃ）に示すように、移動経路は１通りだけであり、単純にマンハッタン距離をコストとする。このように、図７のＳ２２においては、収納棚のピッキング順位に従って、作業バッチに含まれる商品のピッキング順序を一意に定めるので、作業バッチのコスト（総移動距離）の計算量が比較的少ない。なお、メイン通路５０、サブ通路５１及び交差通路５２に対して重みを適宜設定し、その単位距離あたりの移動コストを異ならせてもよい。
【００２７】
次に図１０は、第１の局所探索処理を示すフロー図である。この処理は、公知の焼きなまし法を改良したものである。この処理では、まず各作業バッチから交換候補となる注文を選出する（Ｓ３１）。この選出は、図１１に示される選出処理により行う。なお、従来技術では、Ｓ３１において各作業バッチから交換候補となる注文をランダムに選択する。
【００２８】
次に、すべての作業バッチの対について、それらの交換候補となる注文を交換させた前後におけるコストの差、すなわちコスト削減量を計算する（Ｓ３２）。このコスト削減量の計算においても、図８及び図９で説明した方法によりコストの計算を行ってよい。そして、コスト削減量が最大となる交換操作（すなわち作業バッチの対）を特定する（Ｓ３３）。
【００２９】
こうして特定された交換操作のコスト削減量が正であれば（Ｓ３４）、特定された交換操作を実際に実行する（Ｓ３５）。また、Ｓ３３で特定された交換操作のコスト削減量がゼロ又は負であったとしても、確率的に当該交換操作を実行する（Ｓ３６）。
【００３０】
その後、Ｓ３１乃至Ｓ３６の処理の反復回数が上限回数に達するまで（Ｓ３７）、Ｓ３１に戻って処理を繰り返す。なお、Ｓ３６においては、現在までの反復回数が多ければ多いほど交換操作を実行する確率が低くなり、Ｓ３３で特定される交換操作のコスト削減量が大きいほど確率が高くなるようにしてよい。
【００３１】
図１１は、図１０のＳ３１における交換候補の選出処理の詳細を示すフロー図である。同図に示すように、この処理ではまず、注目している作業バッチから各注文を取り除く減少操作を適用した場合のコスト削減量を計算する（Ｓ３１１）。なお、減少操作は、非交換操作の一例である。Ｓ３１１の計算においても、図８及び図９で説明した方法によりコストの計算を行ってよい。次に、Ｓ３１１で計算されるコスト削減量に基づいて各注文に確率を設定する（Ｓ３１２）。ここでは、減少操作を適用した場合のコスト削減量が大きいほど確率を高くする。なお、コスト削減量が零であったとしても、確率をゼロにしないようにしてよい。その後、乱数を発生させ、発生した乱数に基づいて、１の注文をＳ３１２で設定した確率で選択する（Ｓ３１３）。例えば、各注文に、該注文に設定された確率に比例する広さの数値範囲を割当て、発生した乱数が属する数値範囲が割当てられた注文を選択する。以上の処理は、すべての作業バッチに適用され、すべての作業バッチから交換候補となる注文が選出される。
【００３２】
図１２は、Ｓ３１２における確率設定の一例を示す図である。ある作業バッチに注文Ａ〜Ｄが含まれるとして、注文Ａ及びＢについては、それらを作業バッチから取り除いたとしてもコスト削減しないものとする。一方、注文Ｃを作業バッチから取り除くと１０００のコスト削減が可能であり、注文Ｄを作業バッチから取り除くと２０００のコスト削減が可能であるとする。この場合、注文Ａ及びＢ、すなわちコスト削減に寄与しない注文には全体として確率αを付与し（１＞α＞０）、注文Ｃ及びＤ、すなわちコスト削減に寄与する注文には全体として確率１−αを付与する。注文Ａ及びＢには確率αを等分して分配し、それぞれ確率α／２が付与される。注文Ｃ及びＤについては、確率１−αを、それぞれのコスト削減量に比例するよう分配する。
【００３３】
図１１及び図１２に示す処理によれば、ある作業バッチにおいて各注文を減少させる減少操作が適用され、減少操作の前後におけるコスト削減量が計算される。そして、計算されたコスト削減量に応じた確率で、いずれかの減少操作（注文）が選択される。この減少操作に対応する注文が交換候補となり、図１０のＳ３２乃至Ｓ３６の処理により、候補となった注文が実際に交換される。すなわち、Ｓ３１３で選択された減少操作に対応する交換操作がそのコスト削減量に応じて実行される。このようにすれば、各作業バッチからランダムに交換候補を選出するのに比して、最終的なコスト削減につながりやすい（図１０のＳ３４においてＹとなりやすい）交換候補を選出することができ、局所探索による改善スピードが向上する。
【００３４】
次に図１３は、第２の局所探索処理を示すフロー図である。同図に示す処理では、まずすべての注文について、他の作業バッチに移すシフト操作を適用した場合のコスト削減量を計算する。そして、コスト削減量が最大となるシフト先の作業バッチを特定する（Ｓ４１）。図１４は、Ｓ４１の計算結果の一例を示している。同図に示すように、一例として、注文Ｏ４は作業バッチＢ１から作業バッチＢ３に移すと、コスト削減量が２０００となり、他の作業バッチに移すよりも最もコスト削減量が大きい。このように、すべての注文について、最善のシフト先である作業バッチ、及びそのシフトによるコスト削減量を計算する。Ｓ４１の計算においても、図８及び図９で説明した方法によりコストの計算を行ってよい。
【００３５】
次に、Ｓ４１の計算結果から、コスト削減量が正のシフト操作を、例えばコスト削減量が大きな順で選択する（Ｓ４２）。図１４の例では、７０００がコスト削減量の最大値であり、注文Ｏ７を作業バッチＢ３から作業バッチＢ２に移動させるシフト操作が選択される。さらに、Ｓ４１の計算結果から、Ｓ４２で選択されたシフト操作によるシフト先である作業バッチから、Ｓ４２で選択されたシフト操作によるシフト元である作業バッチへのシフト操作を、コスト削減量に基づいて選択する（Ｓ４３）。ここで、Ｓ４２で選択されたシフト操作によるコスト削減量と、Ｓ４３で特定されるシフト操作によるコスト削減量と、の和が正になるようにする。和が０又は負になる場合には、Ｓ４３においてそのようなシフト操作を選択しない。
【００３６】
図１５は、Ｓ４１の計算結果のうち、シフト元が作業バッチＢ２のレコードのみを示している。シフト元が作業バッチＢ２である注文のうち、シフト先が作業バッチＢ３であるのは、注文Ｏ５、注文Ｏ６及び注文Ｏｎ−１である。上述のように、注文Ｏ７を作業バッチＢ３から作業バッチＢ２に移動せるシフト操作によるコスト削減量は７０００であるので、上述の和が正となるのは注文Ｏ５及び注文Ｏ６であり、Ｓ４３の処理では、このような注文が選択される。
【００３７】
その後、Ｓ４２で選択されるシフト操作により移動する注文と、Ｓ４３で選択されるシフト操作により移動する各注文と、の交換操作によるコスト削減量を計算する（Ｓ４４）。そして、コスト削減量が正であり、且つ最大となる交換操作となる交換操作を実際に実行する（Ｓ４５）。
【００３８】
Ｓ４２において、コスト削減量が正であるシフト操作をすべて選択するまで（Ｓ４６）、Ｓ４２乃至Ｓ４５の処理を繰り返す。また、Ｓ４１の処理を上限回数Ｍだけ実行するよう、Ｓ４１乃至Ｓ４６の処理を繰り返す（Ｓ４７）。
【００３９】
以上の処理においても、非交換操作であるシフト操作を適用した前後におけるコスト削減量を計算し（Ｓ４１）、計算されたコスト削減量に基づいてシフト操作を選択している（Ｓ４２及びＳ４３）。そして、選択されたシフト操作に対応する交換操作をそのコスト削減量に応じて実行している（Ｓ４５）。この第２の局所探索処理によっても、最終的なコスト削減につながりやすい（図１３のＳ４４において大きなコスト削減量が算出されやすい）交換操作が選択的に実行されるので、局所探索による改善スピードを向上できる。
【００４０】
また、第２の局所探索処理では、Ｓ４４においてコスト削減量を計算する交換操作の数を少数に制限できる。そこで、Ｓ４４においては、より厳密なコスト削減量の計算を実行することにしてよい。すなわち、Ｓ４１等の計算では、作業バッチに含まれる商品のピッキング順序は、簡易的に、その商品が収納される収納棚のピッキング順位に基づいて一意に決定されていたが、複数候補の中から、コストに基づいて、よりコストの低い順序を決定してよい。
【００４１】
図１６は、複数の収納棚から順次商品をピッキングするための、より短い移動経路の決定方法を説明する図である。この方法では、ピッキング作業者は、領域Ａ１でのピッキングをブロック列Ｃ１、Ｃ２及びＣ３の順に行い、次に領域Ａ２でのピッキングをブロック列Ｃ３、Ｃ２及びＣ１の順に行うものとする。ただし、図１６に示すように、ピッキング作業者は交差通路５２を、メイン通路５０に近づく向き（下向き）又は遠ざかる向き（上向き）に移動するものとする。
【００４２】
図１７は、複数の収納棚から順次商品をピッキングする移動経路の具体例を示す図である。図１７において、地点１乃至地点１２の収納棚にピッキング作業者が立寄る必要がある場合には、商品受渡しエリア３０からスタートした後、ピッキング作業者には各交差通路５２において２つの移動方向の選択肢がある。このため、ピッキング順序の選択肢は図１８に示される有向グラフにより示されることになる。
【００４３】
ここで、グラフの頂点を同図に示すｖ０からｖ１５としたとき、グラフの枝ｅｉｊは頂点ｖｉから頂点ｖｊへの移動を示すものとする。枝ｅｉｊのコストｗｉｊは、頂点ｖｉに対応する経路部分での最後のピッキング箇所から頂点ｖｊに対応する経路部分での最初のピッキング箇所までの距離Ｌａと、頂点ｖｊに対応する経路部分での最初のピッキング箇所から頂点ｖｊの最後のピッキング箇所までの距離Ｌａと、の和として定められる。距離Ｌａ及びＬｂは、図８及び図９で説明した方法により計算してよい。頂点ｖ０からｖ１５に至るコストｗｉｊの総和を最小化する枝ｅｉｊを、例えば動的計画法により計算することで、よりコストの低いピッキング順序を決定することができる。
【００４４】
以上説明した作業バッチ生成装置１００によれば、一の作業バッチにおける一の注文の減少をそれぞれ伴う複数の非交換操作（注文の減少操作やシフト操作）を適用した前後でのコスト変化量を計算して、計算されたコスト変化量に基づいて非交換操作を選択する。そして、こうして選択される非交換操作に対応する交換操作を作業バッチ群に適用する。特定の非交換操作により削減されるコストが大きい場合には、その非交換操作に対応する交換操作もコスト削減効果が高いと期待でき、局所探索による作業バッチの改善スピードを向上できる。
【００４５】
本発明の範囲は上記実施形態に限定されず、種々の変形が可能であり、そのような変形も本発明の範囲に含まれる。たとえば、以上の説明では物流倉庫１０における商品のピッキングに本発明を適用する例を示したが、商品の配送についても同様に本発明を適用することができる。また、他の作業についても、そのコスト関数を適宜選択することにより、本発明を適用することができる。
【符号の説明】
【００４６】
１０  物流倉庫、１１ａ〜２３ｂ  収納ブロック、３０  商品受渡しエリア、６０  ピッキング作業者、５０  メイン通路、５１  サブ通路、５２  交差通路。
【図１】
2020175978.tif 000003
【図２】
2020175978.tif 000004
【図３】
2020175978.tif 000005
【図４】
2020175978.tif 000006
【図５】
2020175978.tif 000007
【図６】
2020175978.tif 000008
【図７】
2020175978.tif 000009
【図８】
2020175978.tif 000010
【図９】
2020175978.tif 000011
【図１０】
2020175978.tif 000012
【図１１】
2020175978.tif 000013
【図１２】
2020175978.tif 000014
【図１３】
2020175978.tif 000015
【図１４】
2020175978.tif 000016
【図１５】
2020175978.tif 000017
【図１６】
2020175978.tif 000018
【図１７】
2020175978.tif 000019
【図１８】
2020175978.tif 000020