(57)【要約】【課題】１週間あたりの配送日数および配送可能曜日が種々に異なる場合でも、複数の巡回ポイントに、物品を効率よく配送することができる複数の配送コースを作成するために各配送コースに含める店舗を分類する。【解決手段】巡回ポイント分類システム（店舗分類システム１００）は、各配送コースに含める店舗を分類する。店舗分類システム１００は、店舗毎に、当該店舗への１週間あたりの配送日数および配送可能曜日、ならびに当該店舗の位置情報を記憶する巡回ポイント情報記憶部（店舗情報記憶部Ｔ３）と、店舗毎に、当該店舗へ物品を配送する配送曜日を割り当てる曜日割当処理部１０６と、曜日毎に、曜日割当処理部１０６により当該曜日が配送曜日として割り当てられた店舗をそれぞれ含む配送コースを作成するために各配送コースに含める店舗を分類する店舗分類部１２２とを含む。【選択図】図２
2010079808.tif 000002
【特許請求の範囲】
【請求項１】
所定のエリアに含まれる複数の巡回ポイントに物品を配送するための複数の配送コースを作成するために、各前記配送コースに含める前記巡回ポイントを分類するシステムであって、
前記巡回ポイント毎に、当該巡回ポイントへの１週間あたりの配送日数および配送可能曜日、ならびに当該巡回ポイントの位置情報を記憶する巡回ポイント情報記憶部と、
前記巡回ポイント毎に、当該巡回ポイントへ前記物品を配送する配送曜日を割り当てる曜日割当処理部と、
曜日毎に、前記曜日割当処理部により当該曜日が前記配送曜日として割り当てられた前記巡回ポイントをそれぞれ含む配送コースを作成するために、各前記配送コースに含める前記巡回ポイントを分類する巡回ポイント分類部と、
を含み、
前記曜日割当処理部は、
前記配送日数および前記配送可能曜日に基づき、前記配送曜日が固定できる前記巡回ポイントへの配送曜日を固定する曜日割当部と、
既に前記配送曜日が固定された前記巡回ポイントの中から、各前記巡回ポイントの位置情報に基づき、前記エリア内で分散するように複数の前記巡回ポイントをキー巡回ポイントとして選出するキー巡回ポイント選出部と、
各前記キー巡回ポイントを含み、当該キー巡回ポイントに固定された前記配送曜日が配送曜日として固定された複数のクラスタを作成し、各前記クラスタに各前記配送曜日に配送可能な前記巡回ポイントを順次追加する処理を行い、前記エリアに含まれる前記巡回ポイントをいずれかの前記クラスタに分類するクラスタ作成部と、
各前記複数のクラスタにおいて、当該クラスタに固定された前記配送曜日が複数の曜日を含む場合に各曜日のグループを作成し、当該クラスタに含まれる前記巡回ポイントの中で既に前記配送曜日が固定されているものを前記各曜日のグループに分類するとともに、前記各曜日のグループに含まれる前記巡回ポイントに基づき算出される統計量の差が小さくなるように、まだ前記配送曜日が固定されていないものを前記各曜日のグループに順次追加して当該クラスタに含まれる前記巡回ポイントをいずれかの前記曜日のグループに分類するグループ作成部と、
を含み、
前記曜日割当部は、前記クラスタ作成部が作成した各前記複数のクラスタに固定された前記配送曜日ならびに各前記巡回ポイントの前記配送日数および前記配送可能曜日に基づき、前記配送曜日が固定できる前記巡回ポイントへの配送曜日を固定するとともに、前記グループ作成部が作成した各前記曜日のグループに含まれる前記巡回ポイントへの配送曜日として当該グループの曜日を固定する巡回ポイント分類システム。
【請求項２】
請求項１に記載の巡回ポイント分類システムにおいて、
各前記巡回ポイントの位置情報に基づき、前記曜日毎のグループに含まれる前記巡回ポイント間の移動時間を算出する算出部をさらに含み、
前記グループ作成部は、前記統計量として、前記曜日毎のグループに含まれる前記巡回ポイント間の移動時間の合計時間の差が小さくなるように、まだ前記配送曜日が固定されていないものを前記各曜日のグループに順次追加する巡回ポイント分類システム。
【請求項３】
請求項１または２に記載の巡回ポイント分類システムにおいて、
前記曜日割当部は、前記巡回ポイントの配送日数と当該巡回ポイントへの前記配送可能曜日の数とが等しい場合、当該巡回ポイントへの前記配送可能曜日を当該巡回ポイントの配送曜日として固定する巡回ポイント分類システム。
【請求項４】
請求項１から３いずれかに記載の巡回ポイント分類システムにおいて、
１週間あたりの配送日数毎に、配送曜日が指定された基本曜日パターンを記憶するパターン記憶部をさらに含み、
前記曜日割当部は、前記基本曜日パターンで指定された曜日に配送可能な前記巡回ポイントの配送曜日として、前記基本曜日パターンで指定された曜日を固定する巡回ポイント分類システム。
【請求項５】
請求項４に記載の巡回ポイント分類システムにおいて、
１週間あたりの配送日数毎に、前記キー巡回ポイント選出部による前記キー巡回ポイントの選出の前に、前記基本曜日パターンで指定された曜日に配送可能な前記巡回ポイントの配送曜日として、前記基本曜日パターンで指定された曜日を固定するか否かのルールを記憶する曜日固定ルール記憶部をさらに含み、
前記曜日割当部は、前記曜日固定ルール記憶部の前記ルールに従って、各前記巡回ポイントの配送曜日を固定する巡回ポイント分類システム。
【請求項６】
請求項１から５いずれかに記載の巡回ポイント分類システムにおいて、
前記キー巡回ポイント選出部は、
前記エリア内で前記配送曜日が既に固定されている前記巡回ポイントをキー巡回ポイント候補として選出する第１のキー巡回ポイント候補選出ステップと、
各前記巡回ポイントの位置情報に基づき、前記複数の巡回ポイントを、前記エリア内で分散するように複数の予備クラスタに分類するステップと、
前記予備クラスタ内に前記配送曜日が既に固定されている前記巡回ポイントが含まれない場合に、当該予備クラスタに含まれる各前記巡回ポイントの前記配送日数および前記配送可能曜日に基づき、当該予備クラスタにおいて最も配送必要性が高い配送曜日を当該予備クラスタの配送曜日として固定し、当該配送曜日に配送可能な前記巡回ポイントの中から、一つの前記巡回ポイントを選択し、当該巡回ポイントの配送曜日として当該予備クラスタに固定された前記配送曜日を固定するとともに当該巡回ポイントをキー巡回ポイント候補として選出する第２のキー巡回ポイント候補選出ステップと、
を行い、前記第１のキー巡回ポイント候補選出ステップおよび前記第２のキー巡回ポイント候補選出ステップで選出された前記キー巡回ポイント候補の中から、前記キー巡回ポイントを選出する巡回ポイント分類システム。
【請求項７】
請求項６に記載の巡回ポイント分類システムにおいて、
前記キー巡回ポイント選出部は、前記第１のキー巡回ポイント候補選出ステップおよび前記第２のキー巡回ポイント候補選出ステップで選出された前記キー巡回ポイント候補の中から、当該巡回ポイントに固定された配送曜日の日数が多いものを優先的に前記キー巡回ポイントとして選出する巡回ポイント分類システム。
【請求項８】
所定のエリアに含まれる複数の巡回ポイントに物品を配送するための複数の配送コースを作成するために、各前記配送コースに含める前記巡回ポイントを分類する巡回ポイント分類方法であって、
前記巡回ポイント毎に、当該巡回ポイントへの１週間あたりの配送日数および配送可能曜日、ならびに当該巡回ポイントの位置情報を記憶する巡回ポイント情報記憶部からデータを読み出すステップと、
前記巡回ポイント毎に、当該巡回ポイントへ前記物品を配送する配送曜日を割り当てるステップと、
曜日毎に、前記配送曜日を割り当てるステップで当該曜日が前記配送曜日として割り当てられた前記巡回ポイントをそれぞれ含む配送コースを作成するために各配送コースに含める巡回ポイントを分類するステップと、
を含み、
前記配送曜日を割り当てるステップは、
前記巡回ポイント毎に、前記配送日数および前記配送可能曜日に基づき、前記配送曜日が固定できる前記巡回ポイントへの配送曜日を固定するステップと、
既に前記配送曜日が固定された前記巡回ポイントの中から、各前記巡回ポイントの位置情報に基づき、前記エリア内で分散するように複数の前記巡回ポイントをキー巡回ポイントとして選出するステップと、
各前記キー巡回ポイントを含み、当該キー巡回ポイントに固定された前記配送曜日が配送曜日として固定された複数のクラスタを作成し、各前記クラスタに各前記配送曜日に配送可能な前記巡回ポイントを順次追加する処理を行い、前記エリアに含まれる前記巡回ポイントをいずれかの前記クラスタに分類するステップと、
各前記複数のクラスタにおいて、当該クラスタに固定された前記配送曜日が複数の曜日を含む場合に各曜日のグループを作成し、当該クラスタに含まれる前記巡回ポイントの中で既に前記配送曜日が固定されているものを前記各曜日のグループに分類するとともに、前記各曜日のグループに含まれる前記巡回ポイントに基づき算出される統計量の差が小さくなるように、まだ前記配送曜日が固定されていないものを前記各曜日のグループに順次追加して当該クラスタに含まれる前記巡回ポイントをいずれかの前記曜日のグループに分類するステップと、
を含み、
前記巡回ポイントへの配送曜日を固定するステップは、前記クラスタに分類するステップで作成された各前記複数のクラスタに固定された前記配送曜日ならびに各前記巡回ポイントの前記配送日数および前記配送可能曜日に基づき、前記配送曜日が固定できる前記巡回ポイントへの配送曜日を固定するとともに、前記グループに分類するステップで作成された各前記曜日のグループに含まれる前記巡回ポイントへの配送曜日として当該グループの曜日を固定する巡回ポイント分類方法。
【請求項９】
請求項８に記載の巡回ポイント分類方法において、
各前記巡回ポイントの位置情報に基づき、前記曜日毎のグループに含まれる前記巡回ポイント間の移動時間を算出するステップをさらに含み、
前記曜日のグループに分類するステップにおいて、前記統計量として、前記曜日毎のグループに含まれる前記巡回ポイント間の移動時間の合計時間の差が小さくなるように、まだ前記配送曜日が固定されていないものを前記各曜日のグループに順次追加する巡回ポイント分類方法。
【請求項１０】
請求項８または９に記載の巡回ポイント分類方法において、
前記巡回ポイントへの配送曜日を固定するステップは、前記巡回ポイントの配送日数と当該巡回ポイントへの前記配送可能曜日の数とが等しい場合、当該巡回ポイントへの前記配送可能曜日を当該巡回ポイントの配送曜日として固定する巡回ポイント分類方法。
【請求項１１】
請求項８から１０いずれかに記載の巡回ポイント分類方法において、
１週間あたりの配送日数毎に、配送曜日が指定された基本曜日パターンを記憶するパターン記憶部からデータを読み出すステップをさらに含み、
前記巡回ポイントへの配送曜日を固定するステップは、前記基本曜日パターンで指定された曜日に配送可能な前記巡回ポイントの配送曜日として、前記基本曜日パターンで指定された曜日を固定する巡回ポイント分類方法。
【請求項１２】
請求項１１に記載の巡回ポイント分類方法において、
１週間あたりの配送日数毎に、前記キー巡回ポイントとして選出するステップにおける前記キー巡回ポイントの選出の前に、前記基本曜日パターンで指定された曜日に配送可能な前記巡回ポイントの配送曜日として、前記基本曜日パターンで指定された曜日を固定するか否かのルールを記憶する曜日固定ルール記憶部からデータを読み出すステップをさらに含み、
前記巡回ポイントへの配送曜日を固定するステップは、前記曜日固定ルール記憶部の前記ルールに従って、各前記巡回ポイントの配送曜日を固定する巡回ポイント分類方法。
【請求項１３】
請求項８から１２いずれかに記載の巡回ポイント分類方法において、
前記キー巡回ポイントとして選出するステップは、
前記エリア内で前記配送曜日が既に固定されている前記巡回ポイントをキー巡回ポイント候補として選出する第１のキー巡回ポイント候補選出ステップと、
各前記巡回ポイントの位置情報に基づき、前記複数の巡回ポイントを、前記エリア内で分散するように複数の予備クラスタに分類するステップと、
前記予備クラスタ内に前記配送曜日が既に固定されている前記巡回ポイントが含まれない場合に、当該予備クラスタに含まれる各前記巡回ポイントの前記配送日数および前記配送可能曜日に基づき、当該予備クラスタにおいて最も配送必要性が高い配送曜日を当該予備クラスタの配送曜日として固定し、当該配送曜日に配送可能な前記巡回ポイントの中から、一つの前記巡回ポイントを選択し、当該巡回ポイントの配送曜日として当該予備クラスタに固定された前記配送曜日を固定するとともに当該巡回ポイントをキー巡回ポイント候補として選出する第２のキー巡回ポイント候補選出ステップと、
を行い、前記第１のキー巡回ポイント候補選出ステップおよび前記第２のキー巡回ポイント候補選出ステップで選出された前記キー巡回ポイント候補の中から、前記キー巡回ポイントを選出する巡回ポイント分類方法。
【請求項１４】
請求項１３に記載の巡回ポイント分類方法において、
前記キー巡回ポイントとして選出するステップは、前記第１のキー巡回ポイント候補選出ステップおよび前記第２のキー巡回ポイント候補選出ステップで選出された前記キー巡回ポイント候補の中から、当該巡回ポイントに固定された配送曜日の日数が多いものを優先的に前記キー巡回ポイントとして選出する巡回ポイント分類方法。
【請求項１５】
所定のエリアに含まれる複数の巡回ポイントに物品を配送するための複数の配送コースを作成するために各配送コースに含める巡回ポイントを分類するためのプログラムであって、
コンピュータを、
前記巡回ポイント毎に、当該巡回ポイントへの１週間あたりの配送日数および配送可能曜日、ならびに当該巡回ポイントの位置情報を記憶する巡回ポイント情報記憶手段、
前記巡回ポイント毎に、当該巡回ポイントへ前記物品を配送する配送曜日を割り当てる曜日割当処理手段、
曜日毎に、前記曜日割当処理手段により当該曜日が前記配送曜日として割り当てられた前記巡回ポイントをそれぞれ含む配送コースを作成するために各配送コースに含める巡回ポイントを分類する巡回ポイント分類手段、
として機能させ、
前記曜日割当処理手段は、
前記配送日数および前記配送可能曜日に基づき、前記配送曜日が固定できる前記巡回ポイントへの配送曜日を固定する曜日割当手段、
既に前記配送曜日が固定された前記巡回ポイントの中から、各前記巡回ポイントの位置情報に基づき、前記エリア内で分散するように複数の前記巡回ポイントをキー巡回ポイントとして選出するキー巡回ポイント選出手段、
各前記キー巡回ポイントを含み、当該キー巡回ポイントに固定された前記配送曜日が配送曜日として固定された複数のクラスタを作成し、各前記クラスタに各前記配送曜日に配送可能な前記巡回ポイントを順次追加する処理を行い、前記エリアに含まれる前記巡回ポイントをいずれかの前記クラスタに分類するクラスタ作成手段、
各前記複数のクラスタにおいて、当該クラスタに固定された前記配送曜日が複数の曜日を含む場合に各曜日のグループを作成し、当該クラスタに含まれる前記巡回ポイントの中で既に前記配送曜日が固定されているものを前記各曜日のグループに分類するとともに、前記各曜日のグループに含まれる前記巡回ポイントに基づき算出される統計量の差が小さくなるように、まだ前記配送曜日が固定されていないものを前記各曜日のグループに順次追加して当該クラスタに含まれる前記巡回ポイントをいずれかの前記曜日のグループに分類するグループ作成手段、
を含み、
前記曜日割当手段は、前記クラスタ作成手段が作成した各前記複数のクラスタに固定された前記配送曜日ならびに各前記巡回ポイントの前記配送日数および前記配送可能曜日に基づき、前記配送曜日が固定できる前記巡回ポイントへの配送曜日を固定するとともに、前記グループ作成手段が作成した各前記曜日のグループに含まれる前記巡回ポイントへの配送曜日として当該グループの曜日を固定するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、巡回ポイント分類システムおよび巡回ポイント分類方法に関する。
【背景技術】
【０００２】
特許文献１（特開２００４−１２７０３８号公報）には、複数の自動販売機が設置された地域を、自動販売機の巡回作業を行う作業員の担当エリアに分割するシステムが記載されている。当該システムは、複数の自動販売機が設置された地域内に、少なくとも一つの自動販売機を含むエリアを担当者の数に応じて複数設定する初期設定部と、各エリアに含まれる自動販売機の特性によって定まる統計量を算出する算出部と、前記統計量を考慮して特定エリアを選択した後、その特定エリアに自動販売機を追加してエリアを拡張する処理を繰り返し実行し、所定の条件を満たしたときに前記処理を終了し、得られたエリアを前記複数の担当者の担当エリアとして決定する処理部と、を備えている。これにより、複数の自動販売機が設置された地域を、各作業員が効率よく巡回できるように担当エリアに分割することができる。
【特許文献１】特開２００４−１２７０３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
特許文献１に記載の技術では、近似アルゴリズムを用いてコース内に含まれる店舗を最短経路で巡回することのできる巡回順序を算出して効率よく巡回できるコースを作成するようになっている。しかし、複数の店舗等の巡回ポイントの中には、１週間あたりの配送日数や配送可能曜日が異なるものが含まれる。従来、このような種々の巡回ポイントへの配送において、各巡回ポイントへの配送曜日を適当に割り振り、曜日毎の配送コースを効率よく作成するという点で、課題があった。たとえば、１週間あたりの配送日数が１日で、その配送可能曜日が５日ある場合、その巡回ポイントへの配送曜日は、他の巡回ポイントへの配送状況に応じて、配送可能曜日５日の中から自由に設定することができる。従来、配送曜日を自由に設定できる巡回ポイントへの配送曜日を適当に割り振り、１週間における各曜日の配送コース数を適切に保ちつつ、効率よく巡回することができる曜日毎の複数の配送コースを作成するために各配送コースに含める店舗を分類するという点で、課題があった。
【０００４】
本発明は上記事情に鑑みてなされたものであり、その目的とするところは、１週間あたりの配送日数および配送可能曜日が種々に異なる場合でも、複数の巡回ポイントに、物品を効率よく配送することができる複数の配送コースを作成するために各配送コースに含める店舗を分類する技術を提供することにある。
【課題を解決するための手段】
【０００５】
本発明によれば、
所定のエリアに含まれる複数の巡回ポイントに物品を配送するための複数の配送コースを作成するために各配送コースに含める巡回ポイントを分類するシステムであって、
前記巡回ポイント毎に、当該巡回ポイントへの１週間あたりの配送日数および配送可能曜日、ならびに当該巡回ポイントの位置情報を記憶する巡回ポイント情報記憶部と、
前記巡回ポイント毎に、当該巡回ポイントへ前記物品を配送する配送曜日を割り当てる曜日割当処理部と、
曜日毎に、前記曜日割当処理部により当該曜日が前記配送曜日として割り当てられた前記巡回ポイントをそれぞれ含む配送コースを作成するために各配送コースに含める巡回ポイントを分類する巡回ポイント分類部と、
を含み、
前記曜日割当処理部は、
前記配送日数および前記配送可能曜日に基づき、前記配送曜日が固定できる前記巡回ポイントへの配送曜日を固定する曜日割当部と、
既に前記配送曜日が固定された前記巡回ポイントの中から、各前記巡回ポイントの位置情報に基づき、前記エリア内で分散するように複数の前記巡回ポイントをキー巡回ポイントとして選出するキー巡回ポイント選出部と、
各前記キー巡回ポイントを含み、当該キー巡回ポイントに固定された前記配送曜日が配送曜日として固定された複数のクラスタを作成し、各前記クラスタに各前記配送曜日に配送可能な前記巡回ポイントを順次追加する処理を行い、前記エリアに含まれる前記巡回ポイントをいずれかの前記クラスタに分類するクラスタ作成部と、
各前記複数のクラスタにおいて、当該クラスタに固定された前記配送曜日が複数の曜日を含む場合に各曜日のグループを作成し、当該クラスタに含まれる前記巡回ポイントの中で既に前記配送曜日が固定されているものを前記各曜日のグループに分類するとともに、前記各曜日のグループに含まれる前記巡回ポイントに基づき算出される統計量の差が小さくなるように、まだ前記配送曜日が固定されていないものを前記各曜日のグループに順次追加して当該クラスタに含まれる前記巡回ポイントをいずれかの前記曜日のグループに分類するグループ作成部と、
を含み、
前記曜日割当部は、前記クラスタ作成部が作成した各前記複数のクラスタに固定された前記配送曜日ならびに各前記巡回ポイントの前記配送日数および前記配送可能曜日に基づき、前記配送曜日が固定できる前記巡回ポイントへの配送曜日を固定するとともに、前記グループ作成部が作成した各前記曜日のグループに含まれる前記巡回ポイントへの配送曜日として当該グループの曜日を固定する巡回ポイント分類システムが提供される。
【０００６】
本発明によれば、
所定のエリアに含まれる複数の巡回ポイントに物品を配送するための複数の配送コースを作成するために各配送コースに含める巡回ポイントを分類する巡回ポイント分類方法であって、
前記巡回ポイント毎に、当該巡回ポイントへの１週間あたりの配送日数および配送可能曜日、ならびに当該巡回ポイントの位置情報を記憶する巡回ポイント情報記憶部からデータを読み出すステップと、
前記巡回ポイント毎に、当該巡回ポイントへ前記物品を配送する配送曜日を割り当てるステップと、
曜日毎に、前記配送曜日を割り当てるステップで当該曜日が前記配送曜日として割り当てられた前記巡回ポイントをそれぞれ含む配送コースを作成するために各配送コースに含める巡回ポイントを分類するステップと、
を含み、
前記配送曜日を割り当てるステップは、
前記巡回ポイント毎に、前記配送日数および前記配送可能曜日に基づき、前記配送曜日が固定できる前記巡回ポイントへの配送曜日を固定するステップと、
既に前記配送曜日が固定された前記巡回ポイントの中から、各前記巡回ポイントの位置情報に基づき、前記エリア内で分散するように複数の前記巡回ポイントをキー巡回ポイントとして選出するステップと、
各前記キー巡回ポイントを含み、当該キー巡回ポイントに固定された前記配送曜日が配送曜日として固定された複数のクラスタを作成し、各前記クラスタに各前記配送曜日に配送可能な前記巡回ポイントを順次追加する処理を行い、前記エリアに含まれる前記巡回ポイントをいずれかの前記クラスタに分類するステップと、
各前記複数のクラスタにおいて、当該クラスタに固定された前記配送曜日が複数の曜日を含む場合に各曜日のグループを作成し、当該クラスタに含まれる前記巡回ポイントの中で既に前記配送曜日が固定されているものを前記各曜日のグループに分類するとともに、前記各曜日のグループに含まれる前記巡回ポイントに基づき算出される統計量の差が小さくなるように、まだ前記配送曜日が固定されていないものを前記各曜日のグループに順次追加して当該クラスタに含まれる前記巡回ポイントをいずれかの前記曜日のグループに分類するステップと、
を含み、
前記巡回ポイントへの配送曜日を固定するステップは、前記クラスタに分類するステップで作成された各前記複数のクラスタに固定された前記配送曜日ならびに各前記巡回ポイントの前記配送日数および前記配送可能曜日に基づき、前記配送曜日が固定できる前記巡回ポイントへの配送曜日を固定するとともに、前記グループに分類するステップで作成された各前記曜日のグループに含まれる前記巡回ポイントへの配送曜日として当該グループの曜日を固定する巡回ポイント分類方法が提供される。
【０００７】
このような構成とすることにより、１週間あたりの配送日数および配送可能曜日が種々に異なる場合でも、複数の巡回ポイントに、物品を効率よく配送することができる複数の配送コースを作成するために各配送コースに含める巡回ポイントを分類することができる。ここで、巡回ポイントは、たとえばコンビニエンスストアやスーパー等の店舗や、自動販売機等とすることができる。
【０００８】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００９】
本発明によれば、１週間あたりの配送日数および配送可能曜日が種々に異なる場合でも、複数の巡回ポイントに、物品を効率よく配送することができる複数の配送コースを作成するために各配送コースに含める店舗を分類することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【００１１】
以下、巡回ポイントが店舗である場合を例として本発明の実施の形態を説明する。店舗は、たとえばコンビニエンスストアやスーパー等とすることができる。また、本実施の形態において、巡回ポイント分類システムは、店舗分類システムとすることができる。本実施の形態において、巡回ポイント分類システムは、拠点から複数の店舗（巡回ポイント）に物品を配送して拠点に戻る配送コースを作成するため、各配送コースに含める店舗を分類する。これらの店舗は、１週間あたりの配送日数および配送可能曜日が種々に異なるものを含む。
【００１２】
図１は、本実施の形態における、店舗（巡回ポイント）分類方法の処理手順の一例を示すフローチャートである。
まず、このエリア内に必要な曜日毎の配送コースの数を算出する（ステップＳ１０）。つづいて、各店舗への配送曜日を決定する（ステップＳ２０）。次いで、曜日毎に、ステップＳ２０で当該曜日が配送曜日として決定された店舗をそれぞれ含む配送コースを作成するために各配送コースに含める店舗を分類する（ステップＳ３０）。
【００１３】
図２は、本実施の形態における店舗分類システム１００の構成を示すブロック図である。
【００１４】
店舗分類システム１００は、表示処理部１０２、条件設定受付部１０４、曜日割当処理部１０６、算出部１２０、店舗分類部（巡回ポイント分類部）１２２、必要数算出処理部１２４、地図情報記憶部Ｔ１、拠点情報記憶部Ｔ２、店舗情報記憶部Ｔ３、条件設定記憶部Ｔ４、コース情報記憶部Ｔ５、ロジック記憶部Ｔ６、および一時記憶部Ｔ７を含む。曜日割当処理部１０６は、パターン割当部１０８、キー店舗選出部（キー巡回ポイント選出部）１１０、クラスタ作成部１１２、曜日割当部１１４、グループ作成部１１６、および調整処理部１１８を含む。
必要数算出処理部１２４の処理については後述する。
【００１５】
曜日割当処理部１０６は、図１のステップＳ２０の各店舗への配送曜日を決定する処理を行う。図３は、図１のステップＳ２０に対応する、曜日割当処理部１０６の処理手順を詳細に示すフローチャートである。
【００１６】
まず、曜日割当部１１４は、各店舗への配送日数および配送可能曜日に基づき、配送曜日を固定できる店舗の配送曜日を固定する（ステップＳ１００）。ここで、配送曜日を固定できるとは、配送曜日が一意に決まることをいう。次いで、パターン割当部１０８は、まだ配送曜日が固定されていない店舗のうち、所定の基本曜日パターンを割り当て可能な店舗につき、基本曜日パターンを割り当てる（ステップＳ１０２）。ここで、曜日割当部１１４は、各店舗へ割り当てられた基本曜日パターン、各店舗への配送日数および配送可能曜日に基づき、配送曜日を固定できる店舗の配送曜日を固定する（ステップＳ１０４）。
【００１７】
その後、キー店舗選出部１１０は、まだ配送曜日が固定されていない店舗の配送曜日を固定するために、複数の店舗の中から、既に配送曜日が固定された店舗をキー店舗として複数選出する（ステップＳ１０６）。ここで、キー店舗選出部１１０は、各店舗の位置情報に基づき、エリア内で分散するように複数の店舗をキー店舗として選出する。
【００１８】
つづいて、クラスタ作成部１１２は、各キー店舗を含み、当該キー店舗に固定された配送曜日が配送曜日として固定された複数のクラスタを作成し、各クラスタに各配送曜日に配送可能な店舗を順次追加する処理を行い、エリアに含まれる店舗をいずれかのクラスタに分類する（ステップＳ１０８）。その後、曜日割当部１１４は、各店舗が含まれるクラスタに割り当てられた配送曜日に基づき、まだ配送曜日が固定されていない店舗のうち、配送曜日を固定できる店舗の配送曜日を固定する（ステップＳ１１０）。
【００１９】
グループ作成部１１６は、複数のクラスタのうち、当該クラスタに固定された配送曜日が複数の曜日を含む場合、各複数の曜日毎のグループを作成し、各グループに含まれる店舗の統計量の差が小さくなるように、店舗を順次追加する（ステップＳ１１２）。曜日割当部１１４は、グループ作成部１１６が作成した各複数のグループに含まれる店舗の配送曜日として、当該グループの曜日を固定する（ステップＳ１１４）。以上により、エリア内の各店舗への配送曜日の固定が行われる。
【００２０】
図２に戻り、算出部１２０は、各店舗と拠点との間の移動時間、各店舗間の移動時間、これらの平均値、店舗分類時の各配送コースに含まれる店舗に物品を配送する場合に必要なコース時間、店舗分類時の各配送コースに含まれる店舗に物品を配送する場合の合計物量等を算出する。なお、算出部１２０は、拠点と店舗との間および店舗間の移動時間としては、最適路移動時間となるようにして時間を算出する。
【００２１】
また、算出部１２０は、同一コース内に含まれる店舗の位置情報に基づき、これらの店舗を最短経路で巡回することのできる巡回順序を算出することができる。複数の店舗を含む地域において、これらの店舗を巡回する最短経路は、いわゆる巡回セールスマン問題の手法で求めることができる。巡回セールスマン問題は、セールスマンがｎ個の都市を１回ずつ通って巡回する場合の最短経路を探索する問題である。都市数をｎとすると、（ｎ−１）！／２の組合せがあり、ｎの数が大きくなると、全ての組合せの数は指数関数的に増大するため、厳密解を求めるのは困難である。そこで、組合せの最適化を行うために種々の近似アルゴリズムが用いられる。このような近似アルゴリズムとしては、たとえばランダムサーチ、山登り法、焼きなまし法（ＳＡ：Simulated Annealing）、遺伝的アルゴリズム（ＧＡ）等が挙げられる。本実施の形態において、算出部１２０は、適宜このような近似アルゴリズムを用いてコース内に含まれる店舗を最短経路で巡回することのできる巡回順序を算出することができる。
【００２２】
店舗分類部１２２は、図１のステップＳ３０の曜日毎に複数の配送コースを作成するために各配送コースに含める店舗を分類する処理を行う。
【００２３】
表示処理部１０２は、店舗分類システム１００で処理する各種データをディスプレイ等の画面（不図示）上に表示する処理を行う。
【００２４】
条件設定受付部１０４は、ユーザから店舗分類のための種々の条件の設定を受け付ける。条件設定受付部１０４は、たとえば、各担当者の１日の基準作業時間、下限作業時間、勤務開始時刻、物品の積込時間、休憩時間、拠点への帰所後の作業時間、各店舗での標準作業時間、店舗間の標準移動速度、拠点と店舗間の標準移動速度、トラックの最大積載量および下限積載量、積載量の許容積載率の設定等の条件の設定を受け付ける。また、条件設定受付部１０４は、コース時間の上限および下限の設定を受け付けることもできる。条件設定記憶部Ｔ４は、設定された条件を記憶する。
【００２５】
地図情報記憶部Ｔ１は、店舗分類の対象となる地域の地図情報データを記憶する。拠点情報記憶部Ｔ２は、拠点情報データを記憶する。拠点情報データは、拠点の識別コード、拠点の名称、拠点の位置（緯度および経度、またはＸ座標およびＹ座標）等を含む。ここで、拠点とは、たとえばその地域における物流センター等の配送拠点である。本実施の形態において、拠点から所定の範囲内の所定のエリア内に含まれる店舗が、当該拠点に所属するよう設定されている。なお、ロジック記憶部Ｔ６は、種々の処理手順に関するロジックを記憶する。コース情報記憶部Ｔ５は、店舗分類部１２２が作成したコースの情報を記憶する。
【００２６】
店舗情報記憶部Ｔ３は、店舗情報データを記憶する。店舗情報データは、拠点の識別コード、店舗の識別コード、店舗の名称、店舗の位置（緯度、経度および高さ、またはＸ座標、Ｙ座標およびＺ座標）、１回当たりの配送量、１週間あたりの配送日数および配送可能曜日等の配送日時条件、１回あたりの作業時間（分）、拠点からの移動速度（ｋｍ／時間）、店舗間移動速度（ｋｍ／時間）、月売上（円）、商品毎の月販売量（個）等の店舗に関する情報を含む。
【００２７】
図４は、本実施の形態における店舗情報記憶部Ｔ３の構成の一例を示すブロック図である。店舗情報記憶部Ｔ３は、配送情報記憶部１２６、曜日割当情報記憶部１２８、および店舗間移動時間記憶部３２８を有する。図５は、本実施の形態における配送情報記憶部１２６のデータ構造の一部を示す図である。ここでは、配送情報記憶部１２６は、拠点コード欄、店舗コード欄、位置欄、作業時間欄、配送量欄、配送日数（週）欄、拠点と店舗との間の往復移動時間（分）欄、および配送可能曜日欄等を含む。
【００２８】
本実施の形態において、配送は、１週間のうち、日曜日は配送を行わず、月〜土のいずれかで行うものとする。つまり、配送日数は、最大で６日とすることができる。配送日数が「ｎ」とは、週にｎ日配送を行うという意味である。たとえば、配送日数が「６」の場合は、週に６日配送が必要であることを示す。従って、配送日数が６日の店舗は、月〜土の毎日配送する必要がある。配送日数が「０．５」の場合、２週間のうち１日配送が必要であることを示す。配送可能曜日欄には、各店舗に配送を行うことが可能な曜日が記憶される。また、ここでは配送可能曜日欄を設けた構成を示しているが、配送曜日の指定がある場合、その曜日を記憶する配送指定曜日欄を設けた構成とすることもできる。また、配送可能曜日欄にかえて、各店舗に配送を行うことができない曜日が記憶された配送不可曜日欄を設けた構成とすることもできる。
【００２９】
図５に示した例で、たとえば、店舗コード「ａ」の店舗は、拠点コード「１０００」の拠点に属し、位置が「（Ｘ１，Ｙ１，Ｚ１）」、この店舗における作業時間が「５分」、１回当たりの配送量は「０．００１ｔ」、配送日数は「６」、拠点と店舗との間の往復移動時間は「４０分」、配送可能曜日は「月火水木金土」となっている。
【００３０】
また、たとえば、店舗コード「ｂ」の店舗は、配送日数は「５」、拠点と店舗との間の往復移動時間は「６０分」、配送可能曜日は「月火水木金土」である。同様に、店舗コード「ｃ」の店舗は、配送日数が「５」、拠点と店舗との間の往復移動時間は「４０分」、配送可能曜日は「月水木金土」である。店舗コード「ｄ」の店舗は、配送日数が「４」、拠点と店舗との間の往復移動時間は「６０分」、配送可能曜日は「月火水木金土」である。店舗コード「ｅ」の店舗は、配送日数が「４」、拠点と店舗との間の往復移動時間は「４０分」、配送可能曜日は「月水木金土」である。
【００３１】
図６は、本実施の形態における条件設定記憶部Ｔ４の構成の一例を示すブロック図である。条件設定記憶部Ｔ４は、パターン記憶部１３０、および曜日固定ルール記憶部１３２を含む。
【００３２】
図７は、パターン記憶部１３０の構成データ構造の一部を示す図である。
本実施の形態において、パターン記憶部１３０は、１週間あたりの配送日数毎に、配送曜日が指定された基本曜日パターンを記憶する。ここで、基本曜日パターンは、できるだけ配送曜日が分散するように設定することができる。たとえば、配送日数が「３」の場合は、「月水金」に配送する基本曜日パターン３ａ、および「火木土」に配送する基本曜日パターン３ｂの２つの基本曜日パターンを設定することができる。このようにすれば、各基本曜日パターン内でも配送曜日を均等にすることができるとともに、２つの基本曜日パターンにそれぞれ含まれる配送曜日が互いに重ならないようになっているので、２つの基本曜日パターンの間でも配送曜日を均等にすることができる。
【００３３】
また、配送日数が「５」の場合は、「月火水木金」に配送することが基本曜日パターンとなっている。配送日数が「４」の場合は、「月火木金」に配送することが基本曜日パターンとなっている。配送日数が「２」の場合は、「月木」に配送する基本曜日パターン２ａ、「火金」に配送する基本曜日パターン２ｂ、および「水土」に配送する基本曜日パターン２ｃの３つの基本曜日パターンが設定されている。このようにすれば、各基本曜日パターン内でも配送曜日を均等にすることができるとともに、３つの基本曜日パターンにそれぞれ含まれる配送曜日が互いに重ならないようになっているので、３つの基本曜日パターンの間でも配送曜日を均等にすることができる。配送日数が「１」または「０．５」の場合は、基本曜日パターンは設定されていない。
【００３４】
図８は、曜日固定ルール記憶部１３２のデータ構造の一部を示す図である。
本実施の形態において、曜日固定ルール記憶部１３２は、初期設定として、図３のステップＳ１０２およびＳ１０４において、曜日割当部１１４が、配送曜日を固定するためのルールを記憶する。
【００３５】
ここでは、まず、第１条件として、「週あたり配送日数＝配送可能曜日数」の場合、「その曜日」と設定されている。つまり、週あたりの配送日数が配送可能曜日数と同じである店舗は、その配送可能曜が配送曜日として固定される。たとえば、配送日数が「２」で、配送可能曜日が「月土」の店舗の場合、図７を参照して説明した基本曜日パターンにかかわらず、「月土」がその店舗の配送曜日として固定される。
【００３６】
第２条件として、１週間あたりの配送日数毎に、基本曜日パターンで指定された曜日に配送可能な場合に、当該店舗の配送曜日として基本曜日パターンで指定された曜日を固定するか否か、基本曜日パターンで指定された曜日に配送不可の場合に、当該店舗の配送曜日を固定するか否か、固定する場合どのように固定するか等が設定されている。たとえば配送日数が「５」の場合、「基本曜日パターン５が可能であれば基本曜日パターン、不可の場合可能曜日」と設定されている。たとえば配送日数が「４」の場合、「基本曜日パターン４が可能であれば基本曜日パターン、不可の場合曜日固定しない」と設定されている。たとえば配送日数が「２」の場合、「基本曜日パターン２ａ〜２ｃのうち１つしか可能でない場合、その基本曜日パターン、それ以外曜日固定しない」と設定されている。また、配送日数が「３」の場合、「固定しない」と設定されている。
【００３７】
パターン割当部１０８は、配送情報記憶部１２６およびパターン記憶部１３０を参照して、各店舗に基本曜日パターンを割り当てる。パターン割当部１０８は、店舗毎に、割り当てた基本曜日パターンを曜日割当情報記憶部１２８に記憶する。また、曜日割当部１１４は、パターン割当部１０８により割り当てられた各店舗の基本曜日パターンおよび曜日固定ルール記憶部１３２を参照して、配送曜日を固定できる店舗の配送曜日を固定する。曜日割当部１１４は、各店舗への配送曜日が固定されたら、曜日割当情報記憶部１２８にその旨を記憶する。
【００３８】
図９は、店舗情報記憶部Ｔ３に含まれる曜日割当情報記憶部１２８のデータ構造の一部を示す図である。
まず、図８に示した手順に従い、曜日割当部１１４が、配送日数＝配送可能曜日数となる店舗の配送曜日を固定する。店舗コード「ａ」、「ｃ」、「ｈ」および「ｋ」の店舗は、それぞれ配送日数＝配送可能曜日数となるため、その曜日が配送曜日として固定される。店舗コード「ａ」の店舗の配送曜日は「６（月火水木金土）」となり、配送曜日も固定されているので、曜日固定フラグ欄に曜日固定済であることを示すフラグが付される。店舗コード「ｃ」の店舗の配送曜日は「５（月水木金土）」となり、曜日固定フラグ欄に曜日固定済であることを示すフラグが付される。店舗コード「ｈ」の店舗は、配送日数が「２」だが、図７に示した基本曜日パターン２ａのみが割り当て可能である。そのため、店舗コード「ｈ」の店舗には、基本曜日パターン２ａが割り当てられ、曜日固定フラグ欄に曜日固定済であることを示すフラグが付される。同様に、店舗コード「ｋ」の店舗の配送曜日は「１（月）」となり、配送曜日も固定されているので、曜日固定フラグ欄に曜日固定済であることを示すフラグが付される。
【００３９】
次いで、パターン割当部１０８は、パターン割当できる店舗に基本曜日パターンを割り当てる。店舗コード「ｂ」の店舗は、配送日数が「５」で、図７に示した基本曜日パターン５が割り当て可能である。そのため、店舗コード「ｂ」の店舗には、基本曜日パターン５が割り当てられる。また、店舗コード「ｄ」の店舗は、配送日数が「４」で、図７に示した基本曜日パターン４が割り当て可能である。そのため、店舗コード「ｄ」の店舗には、基本曜日パターン４が割り当てられる。
【００４０】
店舗コード「ｆ」の店舗は、配送日数が「３」で、図７に示した基本曜日パターン３ａが割り当て可能である。そのため、店舗コード「ｆ」の店舗には、基本曜日パターン３ａが割り当てられる。
【００４１】
店舗コード「ｇ」の店舗は、配送日数が「２」で、図７に示した基本曜日パターン２ｂまたは２ｃが割り当て可能である。そのため、店舗コード「ｇ」の店舗には、基本曜日パターン２ｂまたは２ｃが割り当てられる。
【００４２】
また、曜日割当部１１４は、図８の曜日固定ルール記憶部１３２を参照して、基本曜日パターンが割り当てられた店舗のうち、配送曜日を固定できる店舗の配送曜日を固定する。ここで、店舗コード「ｂ」および「ｄ」に曜日割当済であることを示すフラグが付される。
【００４３】
店舗コード「ｃ」の店舗は、配送日数が「５」だが、図７に示した基本曜日パターン５が割り当て不可である。一方、図８に示した曜日固定ルールに基づけば、可能曜日が配送曜日として固定されることになっているので、店舗コード「ｃ」の店舗には、この店舗の配送可能曜日である「５（月水木金土）」が割り当てられる。また、曜日固定フラグ欄に曜日固定済であることを示すフラグが付される。
【００４４】
一方、店舗コード「ｅ」および「ｊ」等の店舗は、基本曜日パターンが割り当て不可である。そのため、これらの店舗には配送曜日が割り当てられず、曜日固定フラグも付されない。
【００４５】
以上で、曜日割当部１１４が、配送曜日を固定する初期設定が終了する。次に、初期設定で、配送曜日を固定できなかった店舗の配送曜日を固定するための処理を説明する。
【００４６】
図１０および図１１は、キー店舗選出部１１０がキー店舗を選出する手順を示すフローチャートである。図１０は、図３のステップＳ１０６の手順を示す。
キー店舗選出部１１０は、まず、曜日割当部１１４により既に配送曜日が固定されたすべての店舗をキー店舗候補とする（ステップＳ２００）。次に、各店舗の位置情報に基づき、キー店舗候補が不足している箇所にキー店舗候補を追加する（ステップＳ２１０）。図１１は、この手順を示すフローチャートである。
【００４７】
まず、エリア内の全店舗でＭＳＴ(最小木：Minimum Spanning Tree)を作成する（ステップＳ３００）。次に、最大移動時間をこえるエッジでＭＳＴを分割して複数の予備クラスタに分割する（ステップＳ３１０）。分割した予備クラスタの中から、所定の最少店舗数未満の店舗しか含まない予備クラスタを削除する（ステップＳ３２０）。残った予備クラスタの中で、予備クラスタ内に配送曜日が既に固定された店舗が含まれる場合は、その予備クラスタを削除する（ステップＳ３３０）。次いで、残った予備クラスタ毎に、その予備クラスタの曜日を決定する（ステップＳ３４０）。
【００４８】
予備クラスタの曜日は、以下の手順で決定することができる。
予備クラスタ内に含まれる各店舗の配送可能曜日の加重店数を集計する。ここで、配送日数が１以上の店舗については、その店舗に配送可能曜日それぞれに１ポイントが追加される。また、配送日数が０．５等、１未満の店舗については、その店舗に配送可能曜日それぞれに０．５ポイントが追加される。たとえば、配送日数が４回で配送可能曜日が月水木金土の店舗がある場合、月水木金土にそれぞれ１ポイントが追加される。このようにして、各予備クラスタ内で加重店数の最も多い曜日をその予備クラスタの曜日とすることができる。ここで、加重店数が同じ曜日が複数ある場合は、たとえば月火水木金土の順で曜日を決定することができる。
【００４９】
その後、各予備クラスタに設定された配送曜日に配送可能な店舗の中で、拠点と当該店舗間の移動時間が最も大きい店舗をその予備クラスタのキー店舗候補として選出する（ステップＳ３５０）。
【００５０】
この処理を図１２および図１３を参照して説明する。
図１２には、エリア内の拠点２００と複数の店舗２０２とを示している。
まず、エリア内の全店舗でＭＳＴ２０４を作成する（図１２（ａ））。次いで、１つの配送コースの最大配送時間である最大移動時間をこえるエッジでＭＳＴ２０４を分割して複数の予備クラスタ２０６、２０８、２１０、および２１２を作成する（図１２（ｂ））。分割した予備クラスタの中から、所定の最少店舗数未満の店舗しか含まない予備クラスタは、削除する。なお、最少店舗数等の設定は、条件設定記憶部Ｔ４に記憶しておくことができる。
【００５１】
ここで、たとえば最少店舗数が「７」と設定されている場合、店舗数が６個の予備クラスタ２０８が削除される（図１２（ｃ））。また、選択された各予備クラスタの中で、予備クラスタ内に配送曜日が既に固定された店舗が含まれる場合は、その予備クラスタも削除する。たとえば予備クラスタ２１０に店舗コード「ａ」の店舗が含まれる場合、店舗コード「ａ」の店舗は既に配送曜日が固定されているので、予備クラスタ２１０を、削除する（図１３（ａ））。
【００５２】
次に、図１１のステップＳ３４０で説明したように、各予備クラスタの曜日を決定する。ここで、たとえば予備クラスタ２０６の配送曜日が「火曜日」、予備クラスタ２１２の配送曜日が「木曜日」と決定されたとする。その場合、各予備クラスタに設定された曜日に配送可能な店舗の中で、拠点２００と当該店舗との間の移動時間が最も大きい店舗をその予備クラスタのキー店舗候補として決定する（図１３（ｂ））。
【００５３】
以上の処理では、エリア内に含まれる店舗を各店舗の位置情報に基づき、複数の予備クラスタに分類し、既に配送曜日が固定された店舗が予備クラスタに含まれない場合に、その予備クラスタ内でキー店舗候補を選出する。つまり、エリア内で、キー店舗候補となる店舗が存在していない箇所にキー店舗候補を設定することができる。これにより、キー店舗候補をエリア内で分散して選出することができる。
【００５４】
図１０に戻り、キー店舗選出部１１０は、以上の処理で選出されたキー店舗候補の中から、配送日数が多い店舗を優先するとともに、配送日数が同じの場合は、各店舗と拠点との間の移動時間が大きい順に所定数のキー店舗を選出する（ステップＳ２２０）。ここで、所定数とは、後述する必要数算出処理部１２４により算出される、必要配送コース数とすることができる。
【００５５】
図２に戻り、クラスタ作成部１１２は、各キー店舗を含み、当該キー店舗に固定された配送曜日が配送曜日として固定された複数のクラスタを作成し、各クラスタに各配送曜日に配送可能な店舗を順次追加する処理を行う。
ここで、クラスタ作成部１１２は、以下の条件のすべてを満たす店舗を取り込んでいく。
（ａ）当該店舗の配送曜日が既に固定されている、
（ｂ）当該店舗へのキー店舗からの移動時間が所定時間以内、
（ｃ）キー店舗に固定された配送曜日に当該店舗の配送可能曜日が含まれる。
【００５６】
クラスタ作成部１１２は、たとえば上記条件をすべて満たす店舗を、各クラスタのキー店舗から近い順に取得していくことができる。クラスタ作成部１１２は、各クラスタに取り込む店舗の制限店数を算出し、制限店数になるまで各クラスタへの店舗の取り込みを行うことができる。制限店数は、たとえば以下の式に基づき算出することができる。
制限店数＝配送可能店舗数×キー店舗に固定された配送日数
＝（配送可能時間−平均拠点店舗間往復移動時間＋平均店舗間移動時間）／（平均店舗間移動時間＋平均店舗作業時間）×キー店舗に固定された配送日数
【００５７】
クラスタ作成部１１２は、各クラスタに含まれる店舗数が制限店数より多くなった場合は、最後に取得した店舗を１つはずしてそのクラスタへの店舗の取り込みを終了する。また、クラスタ作成部１１２は、取り込み可能な店舗すべてを取り込んでも、そのクラスタに含まれる店舗数が制限店数以下の場合もそのクラスタへの店舗の取り込みを終了する。その後、クラスタ作成部１１２は、クラスタ毎に当該クラスタに含まれる店舗の位置情報に基づき、クラスタの中心を算出し、その中心に最も近い店舗を当該クラスタの最終的なキー店舗として設定する。クラスタの中心は、各クラスタに含まれる店舗の座標（緯度／経度）に基づき、重心座標を算出することにより求めることができる。また、このクラスタの中心を各クラスタに含まれる店舗とともに地図座標（ｘ軸、ｙ軸のある平面）上に表示し、クラスタの中心に最も近い店舗を当該クラスタの最終的なキー店舗として設定することができる。
【００５８】
つづいて、クラスタ作成部１１２は、まだ配送曜日が固定されていない店舗をクラスタに取り込んでいく。ここで、クラスタ作成部１１２は、各クラスタに含まれる店舗数が制限店数に対して余裕があるクラスタ、配送日数が多いクラスタ、そのクラスタに含まれる各店舗と拠点との平均移動時間が大きいクラスタを優先的に選択し、選択されたクラスタに店舗を取り込むようにすることができる。また、クラスタ作成部１１２は、配送日数が多い店舗、配送可能曜日が少ない店舗等、取り込むための制限が多い店舗を優先的に取り込んでいく。
【００５９】
ここで、クラスタ作成部１１２は、以下の条件のすべてを満たす店舗を取り込んでいく。
（ａ）当該店舗へのキー店舗からの移動時間が所定時間以内、
（ｂ）キー店舗に固定された配送曜日に当該店舗の配送可能曜日が含まれる。
【００６０】
また、クラスタ作成部１１２は、配送日数が複数ある店舗について、いずれか１つのみがキー店舗に固定された配送曜日に含まれる場合は、その曜日についてのみ取り込むことができる。クラスタ作成部１１２は、各クラスタ内で、固定された配送曜日が複数ある場合、曜日毎に制限店数をこえないように管理し、制限店数に達した曜日については取り込みを終了する。クラスタ作成部１１２は、上述した予備クラスタの曜日を決定する際の処理と同様の手順で加重店数を計算する。
【００６１】
たとえば、本実施の形態において、配送日数が「３」の店舗は、基本曜日パターンで指定された曜日に固定されていない。たとえば、店舗コード「ｓ」の店舗は配送可能曜日は「月水金」となっている。キー店舗に固定された配送曜日が月曜日を含むが、水曜日と金曜日が含まれない場合、店舗コード「ｓ」の店舗の月曜日については、そのクラスタに取り込まれ、月曜日が固定される。同様に、水曜日も金曜日についても、同じようなクラスタがあれば、そのクラスタに取り込まれる。また、たとえば金曜日について取り込めるクラスタがない場合、まだいずれのクラスタにも取り込まれていない店舗を対象として、以上で説明した図１０のステップＳ２１０のキー店舗候補の追加、ステップＳ２２０のキー店舗選出を行い、新たな各キー店舗に、当該キー店舗に固定された配送曜日に配送可能な店舗を順次追加する処理を行い、それぞれ配送曜日が固定された複数のクラスタを作成する。
【００６２】
なお、クラスタ作成部１１２は、制限店数を算出する際に、まだ配送曜日が固定されていない店舗については、各曜日の店数を１ではなく、（その店舗の配送日数／クラスタに固定された配送曜日のうちその店舗が配送可能な曜日の数）として追加することができる。
【００６３】
また、クラスタ作成部１１２は、作成したクラスタを結合することができる。クラスタ作成部１１２は、各クラスタに取り込んだ店舗の店舗数が、制限店数に対して少ない場合にクラスタの結合をおこなう。この処理は、曜日毎に行うことができる。
【００６４】
曜日割当部１１４は、以上の各処理において、各店舗への配送曜日が固定できるようになった段階で、各店舗に順次配送曜日を固定していく。たとえば、図９に示した店舗コード「ｇ」の店舗は、基本曜日パターンとしては、２ｂおよび２ｃが可能であるため、まだ配送曜日が固定されていない。しかし、店舗コード「ｇ」の店舗が、水曜日が含まれない配送曜日が固定されたクラスタに取り込まれた場合、この店舗の配送曜日は、基本曜日パターン２ｂに固定される。
【００６５】
グループ作成部１１６は、各複数のクラスタにおいて、当該クラスタに固定された配送曜日が複数の曜日を含む場合に各曜日のグループを作成し、当該クラスタに含まれる店舗の中で既に配送曜日が固定されているものを各曜日のグループに分類するとともに、各曜日のグループに含まれる店舗に基づき算出される統計量の差が小さくなるように、まだ配送曜日が固定されていないものを各曜日のグループに順次追加して当該クラスタに含まれる店舗をいずれかの曜日のグループに分類する。
【００６６】
図１４は、この処理を模式的に示す図である。
ここでは、例として、基本曜日パターン２ａが配送曜日として固定されている場合を例として説明する。まず、既に配送曜日が固定されている店舗を、曜日毎のＭＳＴでつなぎ、曜日毎ＭＳＴを作成する（図１４（ａ））。ここでは、月曜ＭＳＴと木曜ＭＳＴとが作成される。つづいて、曜日毎ＭＳＴ間で、まだ配送曜日が固定されていない店舗の取り合いを行う。ここで、曜日毎ＭＳＴの枝（各店舗間の移動時間）の合計が均等になるようにする。図１４（ｂ）は、月曜ＭＳＴに一つの店舗が取り込まれた例を示す図である。グループ作成部１１６は、そのクラスタ内のすべての店舗がいずれかのグループ（ＭＳＴ）に含まれるようになるまで処理を行う。
【００６７】
以上の処理により、各店舗に物品を配送する曜日が決定される。
【００６８】
本実施の形態において、店舗分類部１２２は、曜日毎に、当該曜日が配送曜日とされている店舗をＭＳＴでつなぎ、線分を切断して所定数に分割する。分割された各線分に含まれる店舗は、各配送コースに含まれる店舗に対応する。すなわち、分割された各線分に含まれる店舗への配送順序が後に決定され、配送コースが作成される。次いで、店舗分類部１２２は、所定数に分割されたそれぞれのＭＳＴに含まれる店舗の統計量を均等にする処理を行う。ここで、統計量は、たとえば配送時間とすることができる。また、所定数は、後述する必要数算出処理部１２４の算出結果に基づき算出することができる。すなわち、エリア内の店舗のうち、各曜日毎に、当該曜日が配送曜日であると固定された店舗を対象として、必要数算出処理部１２４により配送コース数を算出させる。曜日毎に算出された配送コース数をそれぞれの曜日のＭＳＴを分割するための所定数であるとすることができる。
【００６９】
以下に具体的な手順を示す。店舗分類部１２２は、曜日毎に以下の処理を行う。
（１）まず、最短路移動時間に基づき、その曜日のすべての店舗を含む全域ＭＳＴを作成する。
（２）作成された全域ＭＳＴの線分を切断して所定数のＭＳＴに分割する。また、店舗分類部１２２は、所定数に分割された各ＭＳＴの統計量がなるべく均等になるように分割する。ここで、統計量は、拠点から各コースに含まれる店舗を順次巡回したまた拠点に戻るのに要する移動時間とすることができる。また、統計量は、各ＭＳＴに含まれる店舗への物品の配送量の合計とすることもでき、移動時間と配送量の合計とをあわせて考慮したものとすることもできる。
【００７０】
（３）上記（２）で、各コースの統計量が均等になるように全域ＭＳＴを分割するようにしているが、不均衡が生じている場合は、調整処理を行うことができる。この調整処理は、たとえば、統計量の最も大きいＭＳＴから最も小さいＭＳＴに店舗を移動することにより行うことができる。このとき、直接２つのＭＳＴの間で店舗を移動させると、互いに遠方にある店舗を取り込む結果となる可能性があるため、ＭＳＴ間に隣接情報を持たせ、隣接したＭＳＴ間でのみ移動するようにする。隣接情報は、全域ＭＳＴ間で隣り合っていたか否かで判断することができる。
【００７１】
この処理を図１５に模式的に示す。図１５は、全域ＭＳＴを１〜６のＭＳＴに分割した例を示す。各コースがこのような配置にある場合に、ＭＳＴ「１」から１つの店舗をコース「４」に移動したいときには、まずＭＳＴ「１」から「２」に１店舗移動し、次いでＭＳＴ「２」から「３」に１店舗移動し、その後ＭＳＴ「３」から「４」に１店舗移動するようにすることができる。以上により、曜日毎のＭＳＴが作成される。この後、各ＭＳＴ内において、各店舗への配送順序を決定し、配送コースを作成する。
【００７２】
次に、必要数算出処理部１２４の処理を説明する。
必要数算出処理部１２４は、エリア内で、拠点から複数の店舗（巡回ポイント）に物品を配送して拠点に戻る配送コースを複数作成する際に、必要な配送コース数を算出する。
【００７３】
ここで、時間を基準として配送コース数を算出する場合、必要な配送コース数Ｐは、以下の式から算出される。なお、加重店舗数Ｍとは、各店舗毎に、１週間あたりの配送回数に応じた重み付けをした店舗数とすることができる。たとえば、１週間あたりの配送回数が「３」の店舗の加重店舗数は「３」となる。
【００７４】
配送コース数Ｐ＝加重店舗数Ｍ／配送コースあたり店舗数Ｎ・・・（式１）
【００７５】
ここで、配送コースあたり店舗数Ｎは、以下の式により算出される。
【００７６】
配送コースあたり店舗数Ｎ＝（配送コースあたりの作業時間Ａ−拠点と店舗との間の往復移動時間の平均値Ｄ＋店舗間の移動時間の平均値Ｅ）／（店舗での作業時間の平均値Ｃ＋店舗間の移動時間の平均値Ｅ）・・・（式２）
【００７７】
図１６は、本実施の形態における必要数算出処理部１２４の構成を示すブロック図である。必要数算出処理部１２４は、前処理部３０８、第１の平均値算出部３１０、第２の平均値算出部３１２、店舗数算出部３１４、および配送コース数算出部３１６を含む。
【００７８】
ここで、図２に示した条件設定受付部１０４は、配送コース数を算出するために必要な種々の条件の設定の入力もユーザから受け付ける。条件設定受付部１０４が受け付けた設定の入力のうち、拠点に関する情報は拠点情報記憶部Ｔ２に記憶され、店舗に関する情報は店舗情報記憶部Ｔ３に記憶され、その他の情報は条件設定記憶部Ｔ４に記憶される。また、店舗情報記憶部Ｔ３は、図５に示した構成に加えて、拠点と店舗との間の往復移動時間（分）や店舗−店舗間移動時間（分）を含むことができる。
【００７９】
本実施の形態において、店舗情報記憶部Ｔ３（配送情報記憶部１２６）は、拠点と各店舗それぞれとの間の移動時間を算出可能な情報として、拠点と各店舗それぞれとの間の移動時間そのものを記憶している。
【００８０】
図１７は、本実施の形態における店舗情報記憶部Ｔ３に含まれる店舗間移動時間記憶部３２８のデータ構造の一部を示す図である。店舗間移動時間記憶部３２８は、店舗毎に、他の店舗との間の店舗−店舗間移動時間を記憶する。すなわち、本実施の形態において、店舗情報記憶部Ｔ３（店舗間移動時間記憶部３２８）は、各店舗と他の店舗それぞれとの間の移動時間を算出可能な情報として、各店舗と他の店舗それぞれとの間の移動時間そのものを記憶している。ここで、たとえば、店舗コード「ａ」の店舗は、店舗コード「ｂ」の店舗との間の移動時間が「２０分」、店舗コード「ｃ」の店舗との間の移動時間が「３０分」、店舗コード「ｄ」の店舗との間の移動時間が「２０分」である。
【００８１】
図１８は、本実施の形態における必要数算出処理部１２４が配送コース数を算出する手順を示すフローチャートである。以下、図１、図２、図１６および図１７も参照して説明する。
【００８２】
まず、前処理部３０８が、店舗数、加重店舗数Ｍ、店舗での作業時間の平均値Ｃを算出する（ステップＳ４００）。なお、店舗での作業時間の平均値Ｃは、予め算出しておき、店舗情報記憶部Ｔ３には、店舗での作業時間の平均値Ｃを記憶しておくこともできる。
【００８３】
つづいて、第１の平均値算出部３１０が、拠点と店舗との間の往復移動時間の平均値Ｄを算出する（ステップＳ４０２）。この計算において、第１の平均値算出部３１０は、エリアに含まれる店舗のうち、拠点との間の往復移動時間が短い順に所定割合以内となる店舗のみを考慮して、それ以外の店舗は除外した上で、拠点と店舗との間の往復移動時間の平均値Ｄを算出する。これにより、平均値Ｄとして、実際に配送コースを作成する際の各配送コースにおける拠点と店舗との間の往復移動時間の近似値を得ることができ、精度よく配送コース数を算出するための拠点と店舗との間の往復移動時間の平均値Ｄを得ることができる。
【００８４】
本実施の形態において、第１の平均値算出部３１０は、考慮する所定割合の店舗を検出する際に、各店舗に週あたりの配送日数に応じた重み付けを行う。以下にその手順を示す。
【００８５】
まず、第１の平均値算出部３１０は、店舗情報記憶部Ｔ３を参照して、週あたりの配送日数が複数の店舗については、その配送日数分の複数の拠点と店舗との間の往復移動時間のセットを準備する。
【００８６】
図１９は、第１の平均値算出部３１０により準備された拠点と店舗との間の往復移動時間のセットを示す図である。たとえば、図５に示した例では、店舗コード「ａ」の店舗は、週あたりの配送日数が６回なので、６セット準備される。また、同様に、店舗コード「ｇ」の店舗は、週あたりの配送日数が２回なので、２セット準備される。第１の平均値算出部３１０は、このようにして準備した拠点と店舗との間の往復移動時間のセットを、拠点と店舗との間の往復移動時間が短い順に並べる。
【００８７】
次いで、第１の平均値算出部３１０は、拠点と店舗との間の往復移動時間が短い順に、全セット数に対して所定割合以内となるセットの境界を検出する。ここで、所定割合は、たとえば８０％とすることができる。
【００８８】
たとえば、図１９に示した例において、８０％以内となるセットの境界が、店舗コード「ｉ」の店舗と店舗コード「ｊ」の店舗との間だとする。つまり、この場合、エリアに含まれる店舗のうち、拠点との間の往復移動時間が６０分以内の店舗のみを考慮して、拠点と店舗との間の往復移動時間の平均値Ｄが算出されることになる。
【００８９】
第１の平均値算出部３１０は、考慮する所定割合の各セットの拠点と店舗との間の往復移動時間の合計値を、考慮する所定割合のセット数で除して、拠点と店舗との間の往復移動時間の平均値Ｄを算出する。
【００９０】
図１８に戻り、第２の平均値算出部３１２は、店舗間の移動時間の平均値Ｅを算出する（ステップＳ４０４）。図２０は、第２の平均値算出部３１２が店舗間の移動時間の平均値Ｅを算出する手順を示すフローチャートである。
【００９１】
第２の平均値算出部３１２は、まず、店舗毎に、当該店舗の店舗間の移動時間の平均値を算出する。まず、エリア内の店舗のうちの一つを対象店舗として選択する（ステップＳ４５０）。つづいて、対象店舗の配送可能曜日のうちの一つを選択する（ステップＳ４５２）。次いで、ステップＳ４５２で選択された曜日に配送可能な他の店舗のうち、ステップＳ４５０で選択された対象店舗からの移動時間が短い順に、所定数の店舗を選択する（ステップＳ４５４）。ここで、所定数は、たとえば「６」とすることができる。なお、ステップＳ４５２で選択された曜日に配送可能な他の店舗が所定数に満たない場合は、所定数に満たなくても、ステップＳ４５２で選択された曜日に配送可能な店舗のみ選択する。
【００９２】
つづいて、第２の平均値算出部３１２は、ステップＳ４５０で選択された対象店舗とステップＳ４５４で選択された店舗との移動時間の合計時間を算出して、その合計時間とステップＳ４５４で選択された店舗の店舗数とを一時記憶部Ｔ７に一時的に記憶する（ステップＳ４５６）。
【００９３】
つづいて、対象店舗の配送可能曜日のすべてにつき処理が終了したか否かを判断し（ステップＳ４５８）、まだ処理していない曜日がある場合（ステップＳ４５８のＮＯ）、ステップＳ４５２に戻り、同様の処理を繰り返す。一方、ステップＳ４５８で、対象店舗の配送可能曜日のすべてにつき処理が終了している場合（ステップＳ４５８のＹＥＳ）、移動時間の合計時間を店舗数で除して、対象店舗の店舗間の移動時間の平均値Ｑを算出して一時記憶部Ｔ７に記憶する（ステップＳ４６０）。
【００９４】
図２１は、一時記憶部Ｔ７の内部構成の一例を示す図である。
ここで、対象店舗が店舗コード「ａ」の店舗である場合を例として説明する。
店舗コード「ａ」の店舗は、図５に示した例によると、配送可能曜日が「月火水木金土」となっている。よって、月、火、水、木、金、土のそれぞれについて、ステップＳ４５２からステップＳ４５６を参照して説明した処理を行う。その結果、各曜日の移動時間の合計時間および店舗数が図２１に示したようになったとする。第２の平均値算出部３１２は、これらの各曜日の合計時間の総合計時間と、店舗数の合計数とを算出する。この結果、合計時間が９００分、店舗数が３５となる。第２の平均値算出部３１２は、ステップＳ４６０の処理において、店舗コード「ａ」の店舗の店舗間の移動時間の平均値Ｑ＝９００分／３５＝２５．７１分と算出することができる。
【００９５】
図２０に戻り、つづいて、エリア内のすべての店舗につき処理が終了したか否かを判断し（ステップＳ４６２）、まだ処理していない店舗がある場合（ステップＳ４６２のＹＥＳ）、ステップＳ４５０に戻り、同様の処理を繰り返す。一方、ステップＳ４６２で、すべての店舗につき処理が終了している場合（ステップＳ４６２のＮＯ）、すべての店舗の店舗間の移動時間の平均値Ｑの合計時間をエリア内の店舗数で除して、このエリアの店舗の店舗間の移動時間の平均値Ｅを算出する（ステップＳ４６４）。
【００９６】
このような処理により、各店舗の他の店舗との間の移動時間の平均値Ｑを、このエリア内に含まれる店舗の特性に応じて精度よく算出することができ、このエリアの店舗の店舗間の移動時間の平均値Ｅを精度よく算出することができる。
【００９７】
図１８に戻り、つづいて、店舗数算出部３１４は、上述した（式２）により、配送コースあたり店舗数Ｎを算出する（ステップＳ４０６）。次いで、配送コース数算出部３１６は、上述した（式１）により、配送コース数Ｐを算出する（ステップＳ４０８）。
【００９８】
本実施の形態における店舗分類システム１００によれば、エリアの特性に応じて、必要な配送コース数を精度よく算出することができる。
【００９９】
なお、以上では、エリア内のすべての店舗を対象として配送コース数Ｐを算出する例を示したが、各店舗への配送曜日が決まっている場合は、必要数算出処理部１２４は、エリア内の店舗のうち、各曜日毎に、当該曜日が配送曜日であると固定された店舗を対象として、曜日毎に配送コース数を算出することもできる。上述したように、この結果を所定数として、店舗分類部１２２が曜日毎のＭＳＴを切断して所定数に分割する。また、この結果は、各曜日毎に必要なトラックの台数を設定する参考にすることもできる。
【０１００】
（第２の実施の形態）
本実施の形態において、曜日割当処理部１０６が各店舗の配送曜日を確定する処理を行う際、および必要数算出処理部１２４が配送コース数Ｐを算出する際に、エリア内のすべての店舗を対象とするのではなく、店舗のうち、所定の時期に実際に商品の販売を行っている店舗のみを対象とする点で、第１の実施の形態と異なる。
【０１０１】
たとえば、配送対象の物品が、タバコ等の販売するためには許可が必要な商品である場合で、許可申請の状況に応じて、各店舗での商品の販売がいつから可能か、またいつ廃業するか等を把握することができる。本実施の形態において、各店舗が、タバコを販売する店舗である場合を例として説明する。本実施の形態において、配送情報記憶部１２６は、図５に示した配送情報記憶部１２６の構成に加えて、店舗種類欄、関連欄、および開始年月日欄や廃止年月日欄等の適用年月日欄をさらに含む。
【０１０２】
図２２は、本実施の形態における店舗情報記憶部Ｔ３の配送情報記憶部１２６の構成の一例を示す図である。
配送情報記憶部１２６は、図５に示した配送情報記憶部１２６の構成に加えて、店舗種類欄、関連欄、開始年月日欄および廃止年月日欄をさらに含む。本実施の形態においても、配送情報記憶部１２６は、図５に示したのと同様のその他の欄をも含むが、ここでは記載を省略している。
【０１０３】
配送情報記憶部１２６の「開始年月日」欄および「廃止年月日」欄には、それぞれ、各店舗において、タバコの販売が開始される年月日およびタバコの販売が停止される年月日を記憶しておくことができる。
【０１０４】
また、タバコの販売には、販売許可を受けている店舗（以下、「許可店舗」という。）が許可店舗でタバコを販売する場合と、出先の店舗（以下、「出先店舗」という。）で販売する場合とがある。また、出先店舗で販売する場合、商品であるタバコを許可店舗から出先店舗に配送する場合と、出先店舗にタバコを直接配送する場合とがある。許可店舗から出先店舗にタバコを配送する場合、許可店舗への物品（タバコ）の物品量に、出先店舗へ配送するタバコの物品量を加えて、許可店舗へ配送する必要がある。「店舗種類」欄には、各店舗が許可店舗か出先店舗か、また、店舗が出先店舗の場合、タバコが許可店舗から配送されるか、出先店舗の直接配送されるかを示す符号が記憶される。本実施の形態において、符号「１」は、その店舗が許可店舗であることを示し、符号「２」は、その店舗が出先店舗で、その店舗に直接物品が配送されることを示し、符号「３」は、その店舗が出先店舗で、その店舗に許可店舗から物品が配送されることを示す。
【０１０５】
また、「関連」欄には、許可店舗と出先店舗との関連が記憶されている。たとえば、店舗コード「ａ」の店舗は、店舗コード「ｂ」および「ｃ」の店舗に対する許可店舗である。たとえば、店舗コード「ａ」の店舗への物品の物品量を考慮する際は、出先店舗のうち、許可店舗から物品を配送することになっている店舗コード「ｃ」の店舗への物品量も考慮する必要がある。一方、店舗コード「ｂ」の店舗については、この店舗に直接物品が配送されるので、店舗コード「ａ」の店舗への物品の物品量を考慮する際に、店舗コード「ｂ」の店舗への物品量は考慮する必要がない。また、店舗コード「ｂ」の店舗への適用年月日は、店舗コード「ａ」の店舗の適用年月日に依存する。
【０１０６】
本実施の形態において、条件設定受付部１０４は、各店舗への配送曜日を確定する処理や配送コース数を算出する処理を行うための対象とする店舗の条件の入力を受け付けることができる。条件設定受付部１０４は、たとえば、開始年月日および廃止年月日、対象とする店舗の店舗種類の入力を受け付けることができる。ここで、店舗種類が「３」の店舗については、コース作成において、その店舗への物品の配送を考慮する必要がないので、条件設定受付部１０４は、対象とする店舗の店舗種類の入力として、「１」および「２」の入力を受け付けることができる。
【０１０７】
本実施の形態において、店舗分類システム１００の曜日割当処理部１０６や必要数算出処理部１２４は、条件設定受付部１０４が入力を受け付けた条件に合う店舗を抽出して、当該店舗のみを対象として、第１の実施の形態で説明したのと同様の処理を行う。
【０１０８】
以上の処理により、実際に配送を行う際のエリアの特性に応じて、各店舗への配送曜日を割り当てたり、必要な配送コース数を精度よく算出することができる。
【０１０９】
配送先の店舗数は、全国レベルで考えると莫大になる。たとえば、配送先の店舗をデジタルマップ上にプロットすることを例にとると、店舗数が莫大だと、処理のレスポンスが非常に悪くなると考えられる。従って、処理のレスポンスを向上させるためには、処理に必要ない店舗のデータをリードしないようにすることが好ましい。ところで、タバコ等の所定の商品に関する許認可ビジネスについては、今後、開始・廃止の店舗の入れ替わりが、より一層の激しさを増すと考えられる。従って、廃止となった店舗のデータは、リードする必要がないが、廃止になった店舗を物理的なレコードとして削除することは好適ではない。また、将来的に開業する店舗に対して、物理的なレコードとしてあらかじめ登録しておくことにより、事前シミュレーション処理を行うことができるため、まだ開始されていない店舗も物理的なレコードとして登録しておくことが好ましい。本実施の形態の構成によれば、配送情報記憶部１２６に開始年月日欄および廃止年月日欄を設けておくことにより、物理的なレコードを全てリードすることなく、論理的なレコードをリードするようにすることができる。これにより、基盤技術（プラットフォーム：たとえばデジタルマップ）とアプリケーションを組み合わせる処理で、物理的なレコードに配慮しながら論理的なレコードのみをシーケンシャルに読込ませることができ、レスポンスを高めることができる。
【０１１０】
図２に示した店舗分類システム１００の各構成要素は、ハードウエア単位の構成ではなく、機能単位のブロックを示している。店舗分類システム１００の各構成要素は、任意のコンピュータのＣＰＵ、メモリ、メモリにロードされた本図の構成要素を実現するプログラム、そのプログラムを格納するハードディスクなどの記憶ユニット、ネットワーク接続用インタフェースを中心にハードウエアとソフトウエアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。
【０１１１】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【０１１２】
また、本実施の形態における店舗分類システム１００は、実際に配送コースを作成するために、各配送コースに含める店舗を分類するだけでなく、配送コース数を算出するのに用いることもできる。すなわち、店舗分類システム１００は、店舗分類部１２２が各配送コースに含める店舗を分類する際に、（式１）により算出された配送コース数Ｐを参考に、分類数＝ｋ−１以下のときに店舗の取り残しがあるが、分類数＝ｋのときに店舗の取り残しがないｋを最適な配送コース数として算出することができる。
【０１１３】
店舗分類部１２２が複数の配送コースを作成するために各配送コースに含める店舗を分類する手順は、ＭＳＴを用いる処理の他、たとえば、特許文献１に記載した方法等、種々の手順を用いることができる。
【０１１４】
以上の実施の形態において、店舗情報記憶部Ｔ３が、拠点と各店舗それぞれとの間の移動時間を算出可能な情報として、拠点と各店舗それぞれとの間の移動時間そのもの、および各店舗と他の店舗それぞれとの間の移動時間を算出可能な情報として、各店舗と他の店舗それぞれとの間の移動時間そのものを記憶している場合を例として説明した。しかし、他の例において、店舗情報記憶部Ｔ３は、拠点と各店舗それぞれとの間の移動時間を算出可能な情報として、拠点および各店舗それぞれの位置情報を記憶することができる。この場合、店舗分類システム１００は、位置情報に基づき、拠点と各店舗それぞれとの間の移動時間を算出する移動時間算出部をさらに含むことができる。この場合、地図情報記憶部Ｔ１は、各店舗間の道路の制限速度や最短経路等の道路情報を記憶しておくことができる。移動時間算出部は、拠点と各店舗それぞれとの位置情報および道路情報に基づき、拠点と各店舗それぞれとの間の移動時間を算出することができる。また、移動時間算出部は、各店舗の位置情報および道路情報に基づき、各店舗間の移動時間を算出することもできる。たとえば、移動時間算出部は、ある店舗と他のある店舗との間の移動時間を算出する場合、まず、これらの店舗の位置情報および道路情報に基づき、どの道路を利用して移動するかを検出する。ついで、移動時間算出部は、利用する道路の制限速度と、移動距離とに基づき、店舗間の移動時間を算出する。
【０１１５】
また、以上の実施の形態において、キー店舗選出部１１０がキー店舗を選出する数は、必要数算出処理部１２４により算出される、必要配送コース数である場合を例として説明した。しかし、他の例として、キー店舗選出部１１０は、たとえば予めエリアに設定されたトラックの台数に対応する数のキー店舗を選出することができる。
【０１１６】
このようなトラック情報の設定は、条件設定記憶部Ｔ４に記憶しておくことができる。図２３は、条件設定記憶部Ｔ４に記憶されたトラック情報記憶部１３４のデータ構造の一部を示す図である。
トラック情報記憶部１３４は、曜日毎に、利用可能なトラックのサイズ、台数、各トラックの配送可能時間等を記憶する。ここで、たとえば、月曜日から金曜日は２ｔトラックが４台で各トラックの配送可能時間はそれぞれ６時間、土曜日は２ｔトラックが２台で各トラックの配送可能時間はそれぞれ６時間と設定されている。ここで、１つのコースの最大配送時間は、図２３に示した各トラックの配送可能時間に対応させて、たとえば６時間とすることができる。
【０１１７】
なお、ここでは記載していないが、トラック情報記憶部１３４は、トラックの作業員の人数や、トラックの種類等の情報も記憶することができる。たとえば、店舗が治安の悪い地域にある場合、作業員が複数人の「連行」と設定されたトラックで配送を行うようにすることができる。また、高さ制限のある道路をくぐったり、高さ制限がある場所に駐車しなければならないような場合、車高を自由に調整できるトラックで配送を行うようにすることができる。図５に示した配送情報記憶部１２６の各店舗にも、このような情報を対応づけて記憶しておくことができる。
【０１１８】
キー店舗選出部１１０は、キー店舗として選出した店舗に固定された配送曜日と、トラック情報記憶部１３４のトラック情報とに基づき、曜日毎に、コース数がその曜日のトラックの台数をこえないように制御する。たとえば、キー店舗として図９の店舗コード「ａ」の店舗が選出された場合、このキー店舗を起点として作成されるクラスタには、月〜土の配送コースがそれぞれ１つずつ含まれることになる。そのため、キー店舗として店舗コード「ａ」の選出が選択された場合、既に月〜土の配送コースが１つずつ作成されたことになる。一方、図２３に示した例だと、月〜金はそれぞれ配送コース数が４、土曜日は配送コース数が２である。従って、店舗コード「ａ」の店舗が選出された後は、月〜金はそれぞれ３つの配送コース、土曜日は１つの配送コースを作成可能となる。キー店舗の選出を順次行い、キー店舗として、配送曜日として月曜日が含まれる店舗が４つ選出された場合、配送曜日として月曜日を含む店舗はこれ以上選出できなくなる。
【図面の簡単な説明】
【０１１９】
【図１】本発明の実施の形態における、店舗分類方法の処理手順の一例を示すフローチャートである。
【図２】本発明の実施の形態における店舗分類システムの構成の一例を示すブロック図である。
【図３】図１のステップＳ２０に対応する、曜日割当処理部の処理手順を詳細に示すフローチャートである。
【図４】本発明の実施の形態における店舗情報記憶部の構成を示すブロック図である。
【図５】本発明の実施の形態における配送情報記憶部のデータ構造の一部を示す図である。
【図６】本発明の実施の形態における条件設定記憶部の構成の一例を示すブロック図である。
【図７】本発明の実施の形態におけるパターン記憶部のデータ構造の一部を示す図である。
【図８】本発明の実施の形態における曜日固定ルール記憶部のデータ構造の一部を示す図である。
【図９】本発明の実施の形態における曜日割当情報記憶部のデータ構造の一部を示す図である。
【図１０】図３のステップＳ１０６の手順を示すフローチャートである。
【図１１】図１０のステップＳ２１０の手順を示すフローチャートである。
【図１２】図１０のステップＳ２１０の処理を模式的に示す図である。
【図１３】図１０のステップＳ２１０の処理を模式的に示す図である。
【図１４】グループ作成部がクラスタ内で、曜日毎のグループを作成する処理を模式的に示す図である。
【図１５】店舗分類部が作成した各ＭＳＴを模式的に示す図である。
【図１６】本発明の実施の形態における必要数算出処理部の構成の一例を示すブロック図である。
【図１７】店舗間移動時間記憶部のデータ構造の一部を示す図である。
【図１８】本発明の実施の形態における店舗分類システムの処理手順を示すフローチャートである。
【図１９】第１の平均値算出部により準備された拠点と店舗との間の往復移動時間のセットを示す図である。
【図２０】第２の平均値算出部が店舗間の移動時間の平均値Ｅを算出する手順を示すフローチャートである。
【図２１】一時記憶部の内部構成の一例を示す図である。
【図２２】本発明の実施の形態における店舗情報記憶部の配送情報記憶部の構成の一例を示す図である。
【図２３】条件設定記憶部に含まれる、トラック情報記憶部のトラック情報記憶部のデータ構造の一部を示す図である。
【符号の説明】
【０１２０】
１００ 店舗分類システム
１０２ 表示処理部
１０４ 条件設定受付部
１０６ 曜日割当処理部
１０８ パターン割当部
１１０ キー店舗選出部
１１２ クラスタ作成部
１１４ 曜日割当部
１１６ グループ作成部
１１８ 調整処理部
１２０ 算出部
１２２ 店舗分類部
１２４ 必要数算出処理部
１２６ 配送情報記憶部
１２８ 曜日割当情報記憶部
１３０ パターン記憶部
１３２ 曜日固定ルール記憶部
１３４ トラック情報記憶部
２００ 拠点
２０２ 店舗
２０４ ＭＳＴ
２０６ 予備クラスタ
２０８ 予備クラスタ
２１０ 予備クラスタ
２１２ 予備クラスタ
３０８ 前処理部
３１０ 第１の平均値算出部
３１２ 第２の平均値算出部
３１４ 店舗数算出部
３１６ 配送コース数算出部
３２８ 店舗間移動時間記憶部
Ｔ１ 地図情報記憶部
Ｔ２ 拠点情報記憶部
Ｔ３ 店舗情報記憶部
Ｔ４ 条件設定記憶部
Ｔ５ コース情報記憶部
Ｔ６ ロジック記憶部
Ｔ７ 一時記憶部
【図１】
2010079808.tif 000003
【図２】
2010079808.tif 000004
【図３】
2010079808.tif 000005
【図４】
2010079808.tif 000006
【図５】
2010079808.tif 000007
【図６】
2010079808.tif 000008
【図７】
2010079808.tif 000009
【図８】
2010079808.tif 000010
【図９】
2010079808.tif 000011
【図１０】
2010079808.tif 000012
【図１１】
2010079808.tif 000013
【図１２】
2010079808.tif 000014
【図１３】
2010079808.tif 000015
【図１４】
2010079808.tif 000016
【図１５】
2010079808.tif 000017
【図１６】
2010079808.tif 000018
【図１７】
2010079808.tif 000019
【図１８】
2010079808.tif 000020
【図１９】
2010079808.tif 000021
【図２０】
2010079808.tif 000022
【図２１】
2010079808.tif 000023
【図２２】
2010079808.tif 000024
【図２３】
2010079808.tif 000025