(57)【要約】  コース作成システム１００は、各巡回ポイントに、時間指定があるかないか、および配送頻度によって、時間指定があることを１番目の優先条件、配送頻度が高いことを２番目の優先条件として、各巡回ポイントをランク付けして、最もランクの高い巡回ポイントが選択されると、各巡回ポイントの時間指定に従って当該巡回ポイントを巡回する順序を決定して予備コースを作成し、その後に選択される巡回ポイントを、時間指定を守ることができる可能性が高い巡回ポイントの数が多くなる箇所に挿入してコースを作成する。
2009119040.tif 000002
【特許請求の範囲】
【請求項１】
所定期間の間に配送する必要のある配送頻度が異なるとともに配送可能な時間の時間指定がある場合とない場合がある複数種の複数の巡回ポイントにそれぞれ物品を配送するコースを作成するシステムであって、
各前記巡回ポイントに、時間指定があるかないか、および配送頻度によって、時間指定があることを１番目の優先条件、配送頻度が高いことを２番目の優先条件として、各前記巡回ポイントをランク付けして、ランクの高い前記巡回ポイントから順に、所定条件を満たすまで順次選択して、前記所定条件を満たすと次のランクの前記巡回ポイントを順次選択する処理を繰り返す巡回ポイント選択部と、
前記巡回ポイント選択部が選択した前記巡回ポイントを巡回する順序を決定する順序決定部と、
前記巡回ポイント選択部が選択した前記巡回ポイントを前記順序決定部が決定した順序で巡回したときに各前記巡回ポイントへの到達時間を算出する時間算出部と、
コースの評価値として、前記時間算出部が算出した前記到達時間に基づき、時間指定がある前記巡回ポイントのうち、当該時間指定を守ることができる可能性が高い巡回ポイントの数が多いほど高い評価値を算出する評価値算出部と、
前記巡回ポイント選択部が、最もランクの高い前記巡回ポイントを前記所定条件を満たすまで選択すると、前記順序決定部が決定した順序で当該巡回ポイントを巡回する予備コースを作成する予備コース作成部と、
前記予備コース作成部が作成した予備コースに、その後に前記巡回ポイント選択部が選択する巡回ポイントを順次追加してコースを作成するコース調整部と、
を含み、
前記順序決定部は、前記予備コースに含まれる前記巡回ポイントにつき、各前記巡回ポイントの前記時間指定に従って順序を決定するとともに、前記予備コースが作成された後に、前記巡回ポイント選択部が時間指定のない前記巡回ポイントを選択した場合に、前記評価値算出部が算出する前記評価値が最も高くなる箇所に、当該巡回ポイントを挿入するコース作成システム。
【請求項２】
請求項１に記載のコース作成システムにおいて、
前記コース調整部は、前記巡回ポイント選択部が配送頻度の低いランクの前記巡回ポイントを選択すると、配送頻度の高いランクの前記巡回ポイントに前記物品を配送するコースのそれぞれに当該巡回ポイントを含めた場合のそれぞれについて、前記評価値算出部に前記評価値を算出させ、当該評価値が高くなる方のコースに当該巡回ポイントを含める処理を繰り返すコース作成システム。
【請求項３】
請求項１または２に記載のコース作成システムにおいて、
前記時間算出部が算出した前記到達時間に基づき、時間指定がある前記巡回ポイントのうち、各前記巡回ポイントへの配送時間が当該時間指定の範囲内にあり、前記時間指定を守ることができる巡回ポイントの数を算出する範囲内数算出部をさらに含み、
前記評価値算出部は、前記範囲内数算出部が算出した前記時間指定を守ることができる巡回ポイントの数が大きいほど高い評価値を算出するコース作成システム。
【請求項４】
請求項３に記載のコース作成システムにおいて、
前記範囲内数算出部は、前記時間指定を守ることができる巡回ポイントの数が同じ場合、前記時間指定を守ることができないすべての巡回ポイントにつきそれぞれ指定時間との差分を算出し、差分の合計値が少ないほど当該時間指定を守ることができる巡回ポイントの数が多いと算出するコース作成システム。
【請求項５】
請求項１から４いずれかに記載のコース作成システムにおいて、
前記時間算出部は、前記巡回ポイント選択部が選択した前記巡回ポイントを前記順序決定部が決定した順序で巡回したときに選択された全部の前記巡回ポイントを巡回するのに必要な総時間も算出し、
前記評価値算出部は、時間指定を守ることができる可能性が高い巡回ポイントの数が同じ場合、前記時間算出部が算出した総時間が短いほど高い評価値を算出するコース作成システム。
【請求項６】
請求項１から５いずれかに記載のコース作成システムにおいて、
前記順序決定部は、前記予備コース作成部が前記予備コースを作成した後に、前記巡回ポイント選択部が時間指定のある前記巡回ポイントを選択した場合に、当該巡回ポイントの時間指定に基づき、当該巡回ポイントを挿入可能な箇所を選択し、選択した箇所にそれぞれ前記巡回ポイントを挿入した場合につき前記評価値算出部により前記評価値を算出させ、前記評価値が最も高くなる箇所に当該巡回ポイントを挿入するコース作成システム。
【請求項７】
請求項１から６いずれかに記載のコース作成システムにおいて、
前記順序決定部は、前記巡回ポイントに配送可能な時間の時間指定が２以上に分離して指定されている場合、すべての前記時間指定それぞれにつき、当該巡回ポイントの時間指定として扱い、各条件につき、前記評価値算出部が算出する前記評価値が最も高くなる時間指定を当該巡回ポイントの時間指定とするコース作成システム。
【請求項８】
請求項１から７いずれかに記載のコース作成システムにおいて、
前記コース調整部が作成した前記コースに含まれる前記巡回ポイントを、巡回する順序を変えた改善候補コースを作成し、前記評価値算出部が算出した前記評価値が高くなるか否かを判断し、高くなる場合に、当該改善候補コースを改善コースとして確定する処理を繰り返す改善処理部をさらに含むコース作成システム。
【請求項９】
請求項８に記載のコース作成システムにおいて、
前記改善処理部は、前記コース調整部が作成した前記コースに含まれる前記巡回ポイントを、前記順序決定部が決定した順序とは逆順にして前記改善候補コースを作成するコース作成システム。
【請求項１０】
請求項８または９に記載のコース作成システムにおいて、
前記改善処理部は、前記コース調整部が作成した前記コースに含まれる前記巡回ポイントを、当該コースに含まれる他の前記巡回ポイントそれぞれと入れ替える処理を行い、前記評価値算出部が算出する前記評価値が最も高くなる場合の入れ替えを行って前記改善候補コースを作成するコース作成システム。
【請求項１１】
請求項８から１０いずれかに記載のコース作成システムにおいて、
前記改善処理部は、前記コース調整部が作成した前記コースの中から、前記順序決定部が決定した順序で並ぶ一以上の前記巡回ポイントを選択して、当該巡回ポイントを当該コースに含まれる他の前記巡回ポイントの間に挿入する処理を行い、前記評価値算出部が算出する前記評価値が最も高くなる場合の挿入を行って前記改善候補コースを作成するコース作成システム。
【請求項１２】
請求項８から１１いずれかに記載のコース作成システムにおいて、
前記改善処理部は、配送頻度の低い前記巡回ポイントについて、選択されている方のコースとは異なる方のコースに入れ替えて前記改善候補コースを作成するコース作成システム。
【請求項１３】
所定期間の間に配送する必要のある配送頻度が異なるとともに配送可能な時間の時間指定がある場合とない場合がある複数種の複数の巡回ポイントにそれぞれ物品を配送するコースを作成するコース作成方法であって、
各前記巡回ポイントに、時間指定があるかないか、および配送頻度によって、時間指定があることを１番目の優先条件、配送頻度が高いことを２番目の優先条件として、各前記巡回ポイントをランク付けして、ランクの高い前記巡回ポイントから順に、所定条件を満たすまで順次選択して、前記所定条件を満たすと次のランクの前記巡回ポイントを順次選択する処理を繰り返すステップと、
前記巡回ポイントを順次選択するステップで選択された前記巡回ポイントを巡回する順序を決定するステップと、
前記巡回ポイントを巡回する順序を決定するステップで決定された順序で前記巡回ポイントを巡回したときに各前記巡回ポイントへの到達時間を算出するステップと、
コースの評価値として、前記到達時間を算出するステップで算出された前記到達時間に基づき、時間指定がある前記巡回ポイントのうち、当該時間指定を守ることができる巡回ポイントの数が多いほど高い評価値を算出するステップと、
前記巡回ポイントを順次選択するステップにおいて、最もランクの高い前記巡回ポイントが前記所定条件を満たすまで選択されると、前記巡回ポイントを巡回する順序を決定するステップで決定された順序で当該巡回ポイントを巡回する予備コースを作成するステップと、
前記予備コースを作成するステップで作成された予備コースに、その後に前記巡回ポイントを順次選択するステップで選択された巡回ポイントを順次追加してコースを作成するステップと、
を含み、
前記巡回ポイントを巡回する順序を決定するステップにおいて、前記予備コースに含まれる前記巡回ポイントにつき、各前記巡回ポイントの前記時間指定に従って順序を決定するとともに、前記予備コースが作成された後に、巡回ポイントを順次選択するステップにおいて、時間指定のない前記巡回ポイントが選択された場合に、前記評価値が最も高くなる箇所に、当該巡回ポイントを挿入するコース作成方法。
【請求項１４】
請求項１３に記載のコース作成方法において、
前記コースを作成するステップは、前記巡回ポイントを順次選択するステップにおいて、配送頻度の低いランクの前記巡回ポイントが選択されると、配送頻度の高いランクの前記巡回ポイントに前記物品を配送するコースのそれぞれに当該巡回ポイントを含めた場合のそれぞれについて、前記評価値が最も高くなるコースに当該巡回ポイントを含める処理を繰り返すコース作成方法。
【請求項１５】
請求項１３または１４に記載のコース作成方法において、
前記時間を算出するステップで算出された前記到達時間に基づき、時間指定がある前記巡回ポイントのうち、各前記巡回ポイントへの配送時間が当該時間指定の範囲内にあり、前記時間指定を守ることができる巡回ポイントの数を算出するステップをさらに含み、
前記評価値を算出するステップにおいて、前記巡回ポイントの数を算出するステップで算出された前記時間指定を守ることができる巡回ポイントの数が大きいほど高い評価値を算出するコース作成方法。
【請求項１６】
請求項１５に記載のコース作成方法において、
前記巡回ポイントの数を算出するステップにおいて、前記時間指定を守ることができる巡回ポイントの数が同じ場合、前記時間指定を守ることができないすべての巡回ポイントにつきそれぞれ指定時間との差分を算出し、差分の合計値が少ないほど当該時間指定を守ることができる巡回ポイントの数が多いと算出するコース作成方法。
【請求項１７】
請求項１３から１６いずれかに記載のコース作成方法において、
前記到達時間を算出するステップにおいて、前記巡回ポイントを順次選択するステップで選択された前記巡回ポイントを、前記巡回ポイントを巡回する順序を決定するステップで決定された順序で巡回したときに選択された全部の前記巡回ポイントを巡回するのに必要な総時間も算出し、
前記評価値を算出するステップは、前記時間指定を守ることができる可能性が高い巡回ポイントの数が同じ場合、前記到達時間を算出するステップで算出された前記総時間が短いほど高い評価値を算出するコース作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コース作成システムおよびコース作成方法に関する。
【背景技術】
【０００２】
特許文献１（特開２００４−１２７０３８号公報）には、複数の自動販売機が設置された地域を、自動販売機の巡回作業を行う作業員の担当エリアに分割するシステムが記載されている。当該システムは、複数の自動販売機が設置された地域内に、少なくとも一つの自動販売機を含むエリアを担当者の数に応じて複数設定する初期設定部と、各エリアに含まれる自動販売機の特性によって定まる統計量を算出する算出部と、前記統計量を考慮して特定エリアを選択した後、その特定エリアに自動販売機を追加してエリアを拡張する処理を繰り返し実行し、所定の条件を満たしたときに前記処理を終了し、得られたエリアを前記複数の担当者の担当エリアとして決定する処理部と、を備えている。これにより、複数の自動販売機が設置された地域を、各作業員が効率よく巡回できるように担当エリアに分割することができる。
【特許文献１】特開２００４−１２７０３８号公報
【発明の開示】
【０００３】
一方、近年、コンビニエンスストアの利用率が高まり、コンビニエンスストアでの各種商品の取り扱い量が増えている。コンビニエンスストアでは、取扱商品がシステマティックに管理されていたり、商品の配送時間が厳密に指定されていることが多い。そのため、このような店舗へ物品を配送する場合、指定された時間を厳守することが重要な課題となってきている。特許文献１に記載の技術では、近似アルゴリズムを用いてコース内に含まれる店舗を最短経路で巡回することのできる巡回順序を算出して効率よく巡回できるコースを作成するようになっている。しかし、時間指定のある店舗への配送において、時間指定を厳守するという点で、課題があった。
【０００４】
本発明は上記事情に鑑みてなされたものであり、その目的とするところは、配送頻度が異なるとともに配送可能な時間の時間指定がある場合とない場合がある複数種の巡回ポイントが混在したコースを、時間指定のある巡回ポイントへの時間指定が守れる可能性が高く、効率よく巡回することのできるように作成する技術を提供することにある。
【０００５】
本発明によれば、
所定期間の間に配送する必要のある配送頻度が異なるとともに配送可能な時間の時間指定がある場合とない場合がある複数種の複数の巡回ポイントにそれぞれ物品を配送するコースを作成するシステムであって、
各前記巡回ポイントに、時間指定があるかないか、および配送頻度によって、時間指定があることを１番目の優先条件、配送頻度が高いことを２番目の優先条件として、各前記巡回ポイントをランク付けして、ランクの高い前記巡回ポイントから順に、所定条件を満たすまで順次選択して、前記所定条件を満たすと次のランクの前記巡回ポイントを順次選択する処理を繰り返す巡回ポイント選択部と、
前記巡回ポイント選択部が選択した前記巡回ポイントを巡回する順序を決定する順序決定部と、
前記巡回ポイント選択部が選択した前記巡回ポイントを前記順序決定部が決定した順序で巡回したときに各前記巡回ポイントへの到達時間を算出する時間算出部と、
コースの評価値として、前記時間算出部が算出した前記到達時間に基づき、時間指定がある前記巡回ポイントのうち、当該時間指定を守ることができる可能性が高い巡回ポイントの数が多いほど高い評価値を算出する評価値算出部と、
前記巡回ポイント選択部が、最もランクの高い前記巡回ポイントを前記所定条件を満たすまで選択すると、前記順序決定部が決定した順序で当該巡回ポイントを巡回する予備コースを作成する予備コース作成部と、
前記予備コース作成部が作成した予備コースに、その後に巡回ポイント選択部が選択する巡回ポイントを順次追加してコースを作成するコース調整部と、
を含み、
前記順序決定部は、前記予備コースに含まれる前記巡回ポイントにつき、各前記巡回ポイントの前記時間指定に従って順序を決定するとともに、前記予備コースが作成された後に、前記巡回ポイント選択部が時間指定のない前記巡回ポイントを選択した場合に、前記評価値算出部が算出する前記評価値が最も高くなる箇所に、当該巡回ポイントを挿入するコース作成システムが提供される。
【０００６】
このような構成とすることにより、配送頻度が異なる巡回ポイントや、時間指定がある巡回ポイントおよび時間指定がない巡回ポイントが混在しているようなコースを作成する場合に、時間指定のある巡回ポイントへの時間指定が守れる可能性が高く、効率よく巡回することのできるコースを作成することができる。
【０００７】
本発明のコース作成システムにおいて、前記コース調整部は、前記巡回ポイント選択部が配送頻度の低いランクの前記巡回ポイントを選択すると、配送頻度の高いランクの前記巡回ポイントに前記物品を配送するコースのそれぞれに当該巡回ポイントを含めた場合のそれぞれについて、前記評価値算出部に前記評価値を算出させ、当該評価値が高くなる方のコースに当該巡回ポイントを含める処理を繰り返すことができる。
【０００８】
本発明のコース作成システムは、前記時間算出部が算出した前記到達時間に基づき、時間指定がある前記巡回ポイントのうち、各前記巡回ポイントへの配送時間が当該時間指定の範囲内にあり、前記時間指定を守ることができる巡回ポイントの数を算出する範囲内数算出部をさらに含むことができ、前記評価値算出部は、前記範囲内数算出部が算出した前記時間指定を守ることができる巡回ポイントの数が大きいほど高い評価値を算出することができる。
【０００９】
本発明のコース作成システムにおいて、前記範囲内数算出部は、前記時間指定を守ることができる巡回ポイントの数が同じ場合、前記時間指定を守ることができないすべての巡回ポイントにつきそれぞれ指定時間との差分を算出し、差分の合計値が少ないほど当該時間指定を守ることができる巡回ポイントの数が多いと算出することができる。
【００１０】
本発明のコース作成システムにおいて、前記時間算出部は、前記巡回ポイント選択部が選択した前記巡回ポイントを前記順序決定部が決定した順序で巡回したときに選択された全部の前記巡回ポイントを巡回するのに必要な総時間も算出することができ、前記評価値算出部は、時間指定を守ることができる可能性が高い巡回ポイントの数が同じ場合、前記時間算出部が算出した総時間が短いほど高い評価値を算出することができる。
【００１１】
本発明のコース作成システムにおいて、前記順序決定部は、前記予備コース作成部が前記予備コースを作成した後に、前記巡回ポイント選択部が時間指定のある前記巡回ポイントを選択した場合に、当該巡回ポイントの時間指定に基づき、当該巡回ポイントを挿入可能な箇所を選択し、選択した箇所にそれぞれ前記巡回ポイントを挿入した場合につき前記評価値算出部により前記評価値を算出させ、前記評価値が最も高くなる箇所に当該巡回ポイントを挿入することができる。
このようにすれば、巡回ポイントを挿入すべき箇所を絞り込んだ後に評価値を算出する処理を行えるので、処理を簡易化することができる。
【００１２】
本発明のコース作成システムにおいて、前記順序決定部は、前記巡回ポイントに配送可能な時間の時間指定が２以上に分離して指定されている場合、すべての前記時間指定それぞれにつき、当該巡回ポイントの時間指定として扱い、各条件につき、前記評価値算出部が算出する前記評価値が最も高くなる時間指定を当該店舗の時間指定とすることができる。
【００１３】
本発明のコース作成システムは、前記コース調整部が作成した前記コースに含まれる前記巡回ポイントを、巡回する順序を変えた改善候補コースを作成し、前記評価値算出部が算出した前記評価値が高くなるか否かを判断し、高くなる場合に、当該改善候補コースを改善コースとして確定する処理を繰り返す改善処理部をさらに含むことができる。
これにより、さらに時間指定のある巡回ポイントへの時間指定が守れる可能性が高く、効率よく巡回することのできるコースを作成することができる。
【００１４】
本発明のコース作成システムにおいて、前記改善処理部は、前記コース調整部が作成した前記コースに含まれる前記巡回ポイントを、前記順序決定部が決定した順序とは逆順にして前記改善候補コースを作成することができる。
【００１５】
本発明のコース作成システムにおいて、前記改善処理部は、前記コース調整部が作成した前記コースに含まれる前記巡回ポイントを、当該コースに含まれる他の前記巡回ポイントそれぞれと入れ替える処理を行い、前記評価値算出部が算出する前記評価値が最も高くなる場合の入れ替えを行って前記改善候補コースを作成することができる。
【００１６】
本発明のコース作成システムにおいて、前記改善処理部は、前記コース調整部が作成した前記コースの中から、前記順序決定部が決定した順序で並ぶ一以上の前記巡回ポイントを選択して、当該巡回ポイントを当該コースに含まれる他の前記巡回ポイントの間に挿入する処理を行い、前記評価値算出部が算出する前記評価値が最も高くなる場合の挿入を行って前記改善候補コースを作成することができる。
【００１７】
本発明のコース作成システムにおいて、前記改善処理部は、配送頻度の低い前記巡回ポイントについて、選択されている方のコースとは異なる方のコースに入れ替えて前記改善候補コースを作成することができる。
【００１８】
本発明によれば、
所定期間の間に配送する必要のある配送頻度が異なるとともに配送可能な時間の時間指定がある場合とない場合がある複数種の複数の巡回ポイントにそれぞれ物品を配送するコースを作成するコース作成方法であって、
各前記巡回ポイントに、時間指定があるかないか、および配送頻度によって、時間指定があることを１番目の優先条件、配送頻度が高いことを２番目の優先条件として、各前記巡回ポイントをランク付けして、ランクの高い前記巡回ポイントから順に、所定条件を満たすまで順次選択して、前記所定条件を満たすと次のランクの前記巡回ポイントを順次選択する処理を繰り返すステップと、
前記巡回ポイントを順次選択するステップで選択された前記巡回ポイントを巡回する順序を決定するステップと、
前記巡回ポイントを巡回する順序を決定するステップで決定された順序で前記巡回ポイントを巡回したときに各前記巡回ポイントへの到達時間を算出するステップと、
コースの評価値として、前記時間を算出するステップで算出された前記到達時間に基づき、時間指定がある前記巡回ポイントのうち、当該時間指定を守ることができる巡回ポイントの数が多いほど高い評価値を算出するステップと、
前記巡回ポイントを順次選択するステップにおいて、最もランクの高い前記巡回ポイントが前記所定条件を満たすまで選択されると、前記巡回ポイントを巡回する順序を決定するステップで決定された順序で当該巡回ポイントを巡回する予備コースを作成するステップと、
前記予備コースを作成するステップで作成された予備コースに、その後に前記巡回ポイントを順次選択するステップで選択された巡回ポイントを順次追加してコースを作成するステップと、
を含み、
前記巡回ポイントを巡回する順序を決定するステップにおいて、前記予備コースに含まれる前記巡回ポイントにつき、各前記巡回ポイントの前記時間指定に従って順序を決定するとともに、前記予備コースが作成された後に、巡回ポイントを順次選択するステップにおいて、時間指定のない前記巡回ポイントが選択された場合に、前記評価値が最も高くなる箇所に、当該巡回ポイントを挿入するコース作成方法が提供される。
【００１９】
本発明のコース作成方法において、前記コースを作成するステップは、前記巡回ポイントを順次選択するステップにおいて、配送頻度の低いランクの前記巡回ポイントが選択されると、配送頻度の高いランクの前記巡回ポイントに前記物品を配送するコースのそれぞれに当該巡回ポイントを含めた場合のそれぞれについて、前記評価値が最も高くなるコースに当該巡回ポイントを含める処理を繰り返すことができる。
【００２０】
本発明のコース作成方法は、前記時間を算出するステップで算出された前記到達時間に基づき、時間指定がある前記巡回ポイントのうち、各前記巡回ポイントへの配送時間が当該時間指定の範囲内にあり、前記時間指定を守ることができる巡回ポイントの数を算出するステップをさらに含むことができ、前記評価値を算出するステップにおいて、前記巡回ポイントの数を算出するステップで算出された前記時間指定を守ることができる巡回ポイントの数が大きいほど高い評価値を算出することができる。
【００２１】
本発明のコース作成方法において、前記巡回ポイントの数を算出するステップにおいて、前記時間指定を守ることができる巡回ポイントの数が同じ場合、前記時間指定を守ることができないすべての巡回ポイントにつきそれぞれ指定時間との差分を算出し、差分の合計値が少ないほど当該時間指定を守ることができる巡回ポイントの数が多いと算出することができる。
【００２２】
本発明のコース作成方法において、前記到達時間を算出するステップにおいて、前記巡回ポイントを順次選択するステップで選択された前記巡回ポイントを、前記巡回ポイントを巡回する順序を決定するステップで決定された順序で巡回したときに選択された全部の前記巡回ポイントを巡回するのに必要な総時間も算出することができ、前記評価値を算出するステップは、前記時間指定を守ることができる可能性が高い巡回ポイントの数が同じ場合、前記到達時間を算出するステップで算出された前記総時間が短いほど高い評価値を算出することができる。
【００２３】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【００２４】
本発明によれば、配送頻度が異なるとともに配送可能な時間の時間指定がある場合とない場合がある複数種の巡回ポイントが混在したコースを、時間指定のある巡回ポイントへの時間指定が守れる可能性が高く、効率よく巡回することのできるように作成することができる。
【図面の簡単な説明】
【００２５】
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。【００２６】
【図１】本発明の実施の形態におけるコース作成システムの構成を示すブロック図である。
【図２】本発明の実施の形態における店舗情報記憶部のデータ構造の一部を示す図である。
【図３】本発明の実施の形態における店舗情報記憶部のデータ構造の一部を示す図である。
【図４】コース内に含める店舗を示す図である。
【図５】順序決定部が店舗を巡回する順序を決定する手順を示す図である。
【図６】時間算出部が算出した各店舗への配送時間を示す図である。
【図７】コース内に含める店舗を示す図である。
【図８】第１の複製コースおよび第２の複製コースを示す図である。
【図９】第１の複製コースおよび第２の複製コースを示す図である。
【図１０】第１の複製コースおよび第２の複製コースを示す図である。
【図１１】第１の複製コースおよび第２の複製コースを示す図である。
【図１２】第１の複製コースおよび第２の複製コースを示す図である。
【図１３】第１の複製コースおよび第２の複製コースを示す図である。
【図１４】第１の複製コースおよび第２の複製コースを示す図である。
【図１５】第１の複製コースおよび第２の複製コースを示す図である。
【図１６】第１の複製コースおよび第２の複製コースを示す図である。
【図１７】第１の複製コースおよび第２の複製コースを示す図である。
【図１８】本発明の実施の形態における店舗情報記憶部Ｔ３のデータ構造の一部を示す図である。
【図１９】予備コースを示す図である。
【図２０】本発明の実施の形態におけるコースの作成手順を示すフローチャートである。
【図２１】改善処理手順を示すフローチャートである。
【図２２】改善処理を説明する図である。
【図２３】改善処理を説明する図である。
【図２４】改善処理を説明する図である。
【図２５】改善処理を説明する図である。
【図２６】ピストンコースを作成する手順を示す図である。
【図２７】ピストンコースを作成する手順を示す図である。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。【００２８】
以下、巡回ポイントが店舗である場合を例として本発明の実施の形態を説明する。店舗は、たとえばコンビニエンスストアやスーパー等とすることができる。本実施の形態において、コース作成システムは、配送拠点から複数の店舗（巡回ポイント）に物品を配送して配送拠点に戻るコースを作成する。これらの店舗は、所定期間の間に配送する必要のある配送頻度が異なるとともに配送可能な時間の時間指定がある場合とない場合がある複数種のものを含む。【００２９】
図１は、本実施の形態におけるコース作成システム１００の構成を示すブロック図である。
コース作成システム１００は、表示処理部１０２、条件設定受付部１０４、コース作成部１０６、評価処理部１１８、地図情報記憶部Ｔ１、拠点情報記憶部Ｔ２、店舗情報記憶部Ｔ３、条件記憶部Ｔ４、およびロジック記憶部Ｔ６を含む。コース作成部１０６は、店舗選択部１０８、予備コース作成部１１０、順序決定部１１２、コース調整部１１４、および改善処理部１１６を含む。評価処理部１１８は、時間算出部１２０、範囲内店舗数算出部１２２、および評価値算出部１２４を含む。【００３０】
表示処理部１０２は、各種データや作成されたコース状態を地図情報とともに画面（不図示）上に表示する処理を行う。【００３１】
条件設定受付部１０４は、ユーザからコース作成のための種々の条件の設定を受け付ける。条件設定受付部１０４は、たとえば、各担当者の１日の基準作業時間、下限作業時間、勤務開始時刻、物品の積込時間、休憩時間、拠点への帰所後の作業時間、各店舗での標準作業時間、店舗間の標準移動速度、拠点と店舗間の標準移動速度、トラックの最大積載量および下限積載量、積載量の許容積載率の設定等の条件の設定を受け付ける。また、条件設定受付部１０４は、コース時間の上限および下限の設定を受け付けることもできる。条件記憶部Ｔ４は、設定された条件を記憶する。【００３２】
地図情報記憶部Ｔ１は、コース作成の対象となる地域の地図情報データを記憶する。拠点情報記憶部Ｔ２は、拠点情報データを記憶する。拠点情報データは、拠点の識別コード、拠点の名称、拠点の位置（緯度および経度、またはＸ座標およびＹ座標）等を含む。ここで、拠点とは、たとえばその地域における物流センター等の配送拠点である。なお、ロジック記憶部Ｔ６は、種々の処理手順に関するロジックを記憶する。コース情報記憶部Ｔ５は、コース作成部１０６が作成したコースの情報を記憶する。【００３３】
店舗情報記憶部Ｔ３は、店舗情報データを記憶する。店舗情報データは、拠点の識別コード、店舗の識別コード、店舗の名称、店舗の位置（緯度、経度および高さ、またはＸ座標、Ｙ座標およびＺ座標）、１回当たりの配送量、月配送回数、配送日時条件、１回あたりの作業時間（分）、拠点からの移動速度（ｋｍ／時間）、店舗間移動速度（ｋｍ／時間）、月売上（円）、商品毎の月販売量（個）等の店舗に関する情報を含む。【００３４】
図２は、本実施の形態における店舗情報記憶部Ｔ３のデータ構造の一部を示す図である。
ここでは、店舗情報記憶部Ｔ３は、拠点コード欄、店舗コード欄、位置欄、作業時間欄、配送量欄、配送頻度欄、指定時間欄、時間幅欄、基準時間欄、およびランク欄等を含む。ここで、たとえば、店舗コード「ａ」の店舗は、拠点コード「１０００」の拠点に属し、位置が「（Ｘ１，Ｙ１，Ｚ１）」、この店舗における作業時間が「５分」、１回当たりの配送量は「０．００１ｔ」、配送頻度は４／４、時間指定は「１０：００−１１：００」、時間幅は「１ｈ」、基準時間は「１０：３０」、ランクは「１」である。【００３５】
ここで、配送頻度が「４／４」とは、４週間中４回という意味であり、毎週配送が必要であることを示す。また、配送頻度が「２／４」とは、４週間中２回ということであり、２週間に１回だけ配送が必要であることを示す。本実施の形態においては、毎週配送が必要な「４／４」店と、２週間に１回だけ配送が必要な「２／４店」とが含まれる場合を例として説明する。つまり、２／４店については、４／４店への配送の２回中いずれか一方でのみ配送を行えばよいことになる。また、時間指定が「１０：００−１１：００」とは、配送可能な時間が１０：００から１１：００の間と指定されているということである。本例では、指定された配送時間の中間時間を基準時間としている。また、時間指定欄に「−」と記入されている店舗は、時間指定がないものである。【００３６】
たとえば、店舗コードａ、ｂ、ｃ、ｄ、ｅ、ｆ、ｇの店舗は、時間指定があるとともに、配送頻度が４／４となっている。また、店舗コードｈ、ｉ、ｊの店舗は、時間指定があるとともに、配送頻度が２／４となっている。また、店舗コードｋ〜ｓまでの店舗は、時間指定がなく、配送頻度が４／４となっている。店舗コードｔ〜ｙの店舗は、時間指定がなく、配送頻度が２／４となっている。【００３７】
本実施の形態において、各店舗は、時間指定があるかないか、および配送頻度によって、時間指定があることを１番目の優先条件、配送頻度が高いことを２番目の優先条件として、ランク付けされる。すなわち、１番目の優先条件に従い、まず時間指定がある店舗コードａ〜ｊの店舗が選択される。次に、２番目の優先条件に従い、この中でも、配送頻度が最も高い店舗コードａ〜ｇに一番高いランク１が付される。次いで、時間指定がある店舗の中から、次に配送頻度が高い店舗コードｈ〜ｊの店舗に次のランク２が付される。このようにして時間指定がある店舗すべてにランクが付されると、次に時間指定がない店舗の中で、配送頻度が最も高い店舗コードｋ〜ｓの店舗に高いランク３が付される。次いで、時間指定がない店舗の中で、次に配送頻度が高い店舗コードｔ〜ｙの店舗に次のランク４が付される。店舗情報記憶部Ｔ３は、ランクと店舗とを対応付けたテーブルを含むこともできる。図３は、このテーブルを示す図である。【００３８】
図１に戻り、コース作成部１０６は、配送拠点から複数の店舗に物品を配送して配送拠点に戻るコースを作成する。店舗選択部１０８（巡回ポイント選択部）は、ランクの高い店舗から順に、各ランク毎に所定条件を満たすまで順次選択して、所定条件を満たすと次のランクの店舗を順次選択する処理を繰り返す。本実施の形態においては、コースに含めるべき店舗が予め設定されて店舗情報記憶部Ｔ３に設定されている状態でコースを作成する場合を例として説明する。すなわち、本実施の形態において、所定条件は、店舗情報記憶部Ｔ３に設定されたそのランクの店舗のすべてが選択された場合とすることができる。【００３９】
予備コース作成部１１０は、店舗選択部１０８がランク１の店舗を所定条件を満たすまで選択すると、それらの店舗を含む予備コースを作成する。【００４０】
コース調整部１１４は、予備コース作成部１１０が作成した予備コースに、その後に店舗選択部１０８が選択する店舗を順次追加してコースを作成する処理を行う。【００４１】
順序決定部１１２は、予備コースおよびコース内に含まれる店舗を巡回する順序を決定する。本実施の形態において、順序決定部１１２は、店舗に時間指定がある場合には当該時間指定に従って、店舗を巡回する順序を決定する。このとき、順序決定部１１２は、たとえば各店舗の基準時間に基づき、基準時間順に店舗を並べて順序を決定することができる。また、順序決定部１１２は、後述する評価値を参考にして、適宜順番を決定することもできる。【００４２】
評価処理部１１８は、コース作成部１０６が作成したコースの評価を行う。
時間算出部１２０は、予備コースおよびコース内に含まれる店舗を順序決定部１１２が決定した順序で巡回した場合の各店舗への配送時間や、当該コースを巡回するのに必要なコース時間等を算出する。なお、時間算出部１２０は、拠点と店舗との間および店舗間の移動時間としては、最適路移動時間となるようにして時間を算出する。【００４３】
範囲内店舗数算出部１２２は、予備コースおよびコース内に含まれる店舗を順序決定部１１２が決定した順序で巡回したときに、時間指定がある店舗のうち、その店舗への配送時間が当該時間指定の範囲内にあり、時間指定を守ることができる店舗の数を算出する。【００４４】
評価値算出部１２４は、時間算出部１２０が算出したコース時間と、範囲内店舗数算出部１２２が算出した時間指定を守ることができる店舗の数とに基づき、コースを評価する評価値を算出する。【００４５】
評価値算出部１２４は、以下の手順に従って、コースの評価値を算出する。
（１）時間指定を守ることができる店舗の数が多い場合に最も高い評価値を付ける。
（２）時間指定を守ることができる店舗の数が同じ場合、時間指定がある店舗への配送時間が範囲外である店舗への配送時間と時間指定範囲との時間差分（絶対値）をとり、その差分和が少ない方に高い評価値を付ける。
（３）以上で評価値が同じでも、評価値算出部１２４は、配送拠点への帰着時間、すなわちコース時間が短い方に高い評価値を付ける。【００４６】
なお、範囲内店舗数算出部１２２が、時間指定を守ることができる店舗の数が同じ場合、時間指定を守ることができないすべての店舗につきそれぞれ指定時間との差分を算出し、差分の合計値が少ないほど時間指定を守ることができる巡回ポイントの数が多いと算出して評価値算出部１２４に通知するようにして、上記（１）および（２）の手順の評価値が算出されるようにすることもできる。【００４７】
改善処理部１１６は、コース調整部１１４が作成したコースの改善処理を行う。改善処理については、後述する。【００４８】
ここで、以下の手順でコース調整部１１４によるコースが作成される。
まず、店舗選択部１０８が、最もランクの高いランク１の店舗を所定条件を満たすまで順次選択すると、予備コース作成部１１０は、選択された店舗を含む予備コースを作成する。順序決定部１１２は、予備コースに含まれる各店舗の時間指定に従って当該店舗を巡回する順序を決定する。ここで、順序決定部１１２は、たとえば基準時間順に各店舗を並べて順序を決定することができる。【００４９】
つづいて、店舗選択部１０８は、次のランク２の店舗を所定条件を満たすまで順次選択する。このとき、ランク２の店舗は、予備コースに含まれるランク１の店舗よりも配送頻度が低い。そのため、コース調整部１１４は、選択された店舗をどの週に配送するかを決定する必要がある。この処理は、予備コース作成部１１０が作成した予備コースを複製し２つにし、一方のコースを第１週目のコース、他方のコースを第２週目のコースとして、選択された店舗をいずれのコースに含めた場合に、コースの評価値が高くなるかに応じて決定することができる。【００５０】
店舗選択部１０８が新たな店舗を選択すると、順序決定部１１２は、当該店舗を２つのコースのそれぞれに含めた場合に、当該店舗をどの順序に挿入すべきかを決定する。順序決定部１１２は、選択された店舗の時間指定に基づき、各コースのいずれの箇所に挿入すべきかを決定することができる。また、他の例として、順序決定部１１２は、評価値算出部１２４による評価値に基づいて、選択された店舗を挿入する箇所を決定することもできる。この場合、順序決定部１１２は、まず、各店舗の時間指定に基づき、当該店舗を挿入可能な箇所を選択する。次いで、順序決定部１１２は、選択した箇所にそれぞれその店舗を挿入した場合につき評価値算出部１２４により評価値を算出させる。この結果に基づき、評価値が高くなる箇所にその店舗を入れるようにする。【００５１】
コース調整部１１４は、順序決定部１１２が決定した順序における評価値算出部１２４による評価値が高くなる方のコースを、当該店舗を追加するコースとして選択する。以上の処理を繰り返して、ランク２の店舗を所定条件を満たすまで選択して、いずれかのコースに含めるようにする。【００５２】
つづいて、店舗選択部１０８は、次のランク３の店舗を所定条件を満たすまで順次選択する。このとき、店舗選択部１０８が選択するランク３の店舗の配送頻度は、予備コースに含まれるランク１の店舗の配送頻度と同じなので、選択された店舗はすべてのコースにそれぞれ含めることになる。順序決定部１１２は、選択された店舗を、各コースのどの順序に挿入すべきかを決定する。ここでは時間指定がないので、順序決定部１１２は、評価値算出部１２４による評価値が高くなる箇所にその店舗を入れるようにする。以上の処理を繰り返して、ランク３の店舗を所定条件を満たすまで選択して、いずれかのコースに含めるようにする。【００５３】
つづいて、店舗選択部１０８は、次のランク４の店舗を所定条件を満たすまで順次選択する。このとき、ランク４の店舗は、予備コースに含まれるランク１の店舗よりも配送頻度が低い。そのため、コース調整部１１４は、選択された店舗をどのコースに含めるかを決定する必要がある。【００５４】
店舗選択部１０８が新たな店舗を選択すると、順序決定部１１２は、当該店舗を２つのコースのそれぞれに含めた場合に、当該店舗をどの順序に挿入すべきかを決定する。ここでは時間指定がないので、順序決定部１１２は、評価値算出部１２４による評価値が高くなる箇所にその店舗を入れるようにする。コース調整部１１４は、順序決定部１１２が決定した順序における評価値算出部１２４による評価値が高くなる方のコースを、当該店舗を追加するコースとして選択する。以上の処理を繰り返して、ランク４の店舗を所定条件を満たすまで選択して、いずれかのコースに含めるようにする。【００５５】
次に、この処理を具体的に説明する。
図４は、コース内に含める店舗を示す図である。
図４（ａ）は、図２の店舗情報記憶部Ｔ３に示したランク１〜４の店舗を示す図である。図４（ｂ）は、ランク１の店舗を示す図である。各店舗に付された符号は、図２の店舗情報記憶部Ｔ３の店舗コードに対応するものとする。以下、店舗コードａが付された店舗を「店舗ａ」と表現する。【００５６】
まず、店舗選択部１０８は、ランク１の店舗ａ〜ｇを選択する。予備コース作成部１１０は、店舗ａ〜ｇを含む予備コースを作成する。つづいて、順序決定部１１２は、店舗選択部１０８が選択した店舗を、各店舗の時間指定に従って店舗を巡回する順序を決定する。図５は、順序決定部１１２が店舗を巡回する順序を決定する手順を示す図である。ここで、図中破線で囲んだ数字は、各店舗の基準時間を示す。【００５７】
順序決定部１１２は、まず、時間指定された時間幅が短い店舗から順に、基準時間に基づき、店舗を順に並べる。図５（ａ）は、時間幅が１時間の店舗ａ、ｂ、ｄが選択され、これらが基準時間に従って並べられた状態を示す。店舗ａの基準時間は１０：３０、店舗ｂの基準時間は１２：００、店舗ｄの基準時間は１３：３０であるので、この順に並べる。【００５８】
つづいて、順序決定部１１２は、次に時間指定された時間幅が短い、時間幅が２時間の店舗ｇを選択し、図５（ｂ）に示すように、基準時間を１５：００として店舗ｄの次に並べる。次いで、順序決定部１１２は、次に時間指定された時間幅が短い、時間幅が３時間の店舗ｃを選択し、図５（ｃ）に示すように、基準時間を１５：３０として店舗ｇの次に並べる。【００５９】
同様にして、店舗ｅ、店舗ｆの順に選択して、図５（ｄ）に示すように各店舗を並べて予備コース３００を作成する。【００６０】
なお、以上では、時間指定された時間幅が短い店舗から選択して、順序を決定する例を説明したが、時間幅に関係なく、すべての店舗を基準時間に従って並べ、時間が重なる場合には、時間幅が広い方の店舗の順序を変更する等して調整することもできる。【００６１】
つづいて、時間算出部１２０は、予備コース３００に含まれる店舗を順序決定部１１２が決定した順序で巡回した場合の各店舗への配送時間および当該コースを巡回するのに必要なコース時間等を算出する。図６は、時間算出部１２０が算出した各店舗への配送時間を示す図である。ここでは、いずれの店舗でも、指定時間の範囲内に配送できるようになっている。ここで、図中四角で囲んだ数字は、時間算出部１２０が算出した各店舗への配送時間である。【００６２】
次に、店舗選択部１０８は、ランク２の店舗ｈ〜ｊを選択する。図７は、ランク２の店舗を示す図である。このとき、ランク２の店舗の配送頻度は、ランク１の店舗の配送頻度の１／２となる。そのため、ランク２の店舗は、ランク１の店舗への配送が２回行われるときに、いずれか１回にのみ含めばよい。そこで、コース調整部１１４は、図８に示すように、予備コース３００を複製して第１の複製コース３００ａおよび第２の複製コース３００ｂを作成する。この時点では、第１の複製コース３００ａと第２の複製コース３００ｂは予備コース３００と同じである。ここで、第１の複製コース３００ａは、１週目、第２の複製コース３００ｂは２週目のコースとすることができる。【００６３】
次に、店舗選択部１０８がランク２のいずれかの店舗を選択すると、コース調整部１１４は、その店舗を第１の複製コース３００ａまたは第２の複製コース３００ｂのいずれかに追加する。その店舗をいずれに追加するかは、以下の手順で決定することができる。【００６４】
店舗選択部１０８は、ランク２の店舗ｈ〜ｊの中で、時間指定された時間幅が短い店舗から順に選択することができる。ここでは、店舗選択部１０８は、店舗ｊ、ｉ、ｈの順で選択するものとする。店舗選択部１０８が店舗ｊを選択すると、順序決定部１１２は、店舗ｊの時間指定を優先しつつ、店舗ｊを各コースのどの順序に挿入すべきかを決定する。なお、最初に選択する１つめの店舗のときは、第１の複製コース３００ａおよび第２の複製コース３００ｂのどちらに挿入しても同じなので、たとえば第１の複製コース３００ａに挿入する。どちらに入れるかは、予め設定しておいて、設定に従い入れるようにすることができる。ここでは、店舗ｊの基準時間１６：３０に従い、図９に示すように、第１の複製コース３００ａの店舗ｃの次に挿入する。【００６５】
つづいて、店舗選択部１０８が店舗ｉを選択すると、順序決定部１１２は、店舗ｉの時間指定を優先しつつ、店舗ｉを各コースのどの順序に挿入すべきかを決定する。ここで、店舗ｉの基準時間は１１：００であるが、図１０に示すように、第１の複製コース３００ａおよび第２の複製コース３００ｂの両方ともに、既に基準時間が同じ１１：００の店舗ｅがコースに含まれている。そのため、順序決定部１１２は、時間算出部１２０が算出した各店舗への配送時間と、店舗ｉの時間指定の範囲１０：００〜１２：００とに基づき、店舗ｉを店舗ａの前から店舗ｂの前までの間のいずれかの箇所に挿入可能であると判断する。順序決定部１１２は、各箇所に店舗ｉを挿入した場合のそれぞれについて、評価処理部１１８により評価値を算出させ、評価値が最も高くなる箇所に店舗ｉを挿入することを決定する。順序決定部１１２は、第１の複製コース３００ａおよび第２の複製コース３００ｂのそれぞれについてこの処理を行う。【００６６】
各コースの評価値は、以下の手順で算出する。
各場合について、時間算出部１２０が各店舗への配送時間およびコース時間を算出する。範囲内店舗数算出部１２２は、時間算出部１２０が算出した各店舗への配送時間と、店舗情報記憶部Ｔ３に記憶された時間指定とに基づき、時間指定がある店舗のうち、その店舗への配送時間が当該時間指定の範囲内にあり、時間指定を守ることができる店舗の数を算出する。評価値算出部１２４は、時間指定を守ることができる店舗の数が多い場合に最も高い評価値を付ける。時間指定を守ることができる店舗の数が同じ場合、時間指定がある店舗への配送時間が範囲外である店舗への配送時間と時間指定範囲との時間差分（絶対値）をとり、その差分和が少ない方に高い評価値を付ける。以上で評価値が同じでも、評価値算出部１２４は、配送拠点への帰着時間、すなわちコース時間が短い方に高い評価値を付ける。【００６７】
以上の処理により、順序決定部１１２は、第１の複製コース３００ａおよび第２の複製コース３００ｂのそれぞれについて、最も評価値が高くなる箇所に店舗ｉを挿入することを決定する。つづいて、コース調整部１１４は、第１の複製コース３００ａと第２の複製コース３００ｂの、いずれに店舗ｉを挿入した場合が評価値が高くなるかに基づき、評価値が高くなる方のコースに店舗ｉを挿入することを決定する。【００６８】
ここでは、たとえば第２の複製コース３００ｂの店舗ｅの次に店舗ｉを挿入した場合が最も評価値が高くなるとする。この場合、第１の複製コース３００ａおよび第２の複製コース３００ｂは、それぞれ図１１に示すようになる。なお、第２の複製コース３００ｂにおいては、店舗ｅが挿入されることにより、店舗ｂ以降の配送時間がずれる。【００６９】
つづいて、店舗選択部１０８が店舗ｈを選択すると、順序決定部１１２は、店舗ｈの時間指定を優先しつつ、店舗ｈを各コースのどの順序に挿入すべきかを決定する。ここで、図１２に示すように、店舗ｈの基準時間は１１：３０であるので、順序決定部１１２は、店舗ｈをたとえば店舗ｅと店舗ｂとの間に追加するようにしてもよい。また、順序決定部１１２は、時間算出部１２０が算出した各店舗への配送時間と、店舗ｈの時間指定の範囲１０：００〜１３：００とに基づき、店舗ｈを挿入可能な複数の箇所を選択し、それぞれの箇所に店舗ｈを挿入した場合の評価処理部１１８による評価値に応じて、評価値が最も高くなる箇所に店舗ｈを挿入することを決定してもよい。順序決定部１１２は、第１の複製コース３００ａおよび第２の複製コース３００ｂのそれぞれについてこの処理を行う。【００７０】
つづいて、コース調整部１１４は、第１の複製コース３００ａと第２の複製コース３００ｂの、いずれに店舗ｈを挿入した場合が評価値が高くなるかに基づき、評価値が高くなる方のコースに店舗ｈを挿入することを決定する。【００７１】
ここでは、たとえば第１の複製コース３００ａの店舗ｅの次に店舗ｈを挿入した場合が最も評価値が高くなるとする。この場合、第１の複製コース３００ａおよび第２の複製コース３００ｂは、それぞれ図１３に示すようになる。なお、第１の複製コース３００ａにおいては、店舗ｈが挿入されることにより、店舗ｂ以降の配送時間がずれる。これにより、ランク２までの店舗の選択が終了する。【００７２】
次に、店舗選択部１０８は、図４（ａ）に示した店舗の中から、ランク３の店舗を順に選択する。このとき、ランク３の店舗の配送頻度は、ランク１の店舗の配送頻度と同じである。そのため、ランク３の店舗は、第１の複製コース３００ａおよび第２の複製コース３００ｂの両方にそれぞれ含まれるようにする。図１４は、たとえばランク３の店舗ｋが選択された場合の例を示す図である。ランク３の店舗は、時間指定がないため、図１４に示すように、いずれの箇所にでも挿入可能である。店舗選択部１０８がランク３のいずれかの店舗を選択すると、順序決定部１１２は、その店舗を第１の複製コース３００ａおよび第２の複製コース３００ｂそれぞれのどの箇所に追加するのが最も評価値が高くなるかに基づき、店舗を追加する箇所を決定する。【００７３】
図１５は、店舗ｋが第１の複製コース３００ａおよび第２の複製コース３００ｂにそれぞれ追加された状態を示す図である。【００７４】
ランク３の店舗の選択が終了すると、店舗選択部１０８は、図４（ａ）に示した店舗の中から、ランク４の店舗を順に選択する。このとき、ランク４の店舗の配送頻度は、ランク１の店舗の配送頻度の１／２となる。そのため、ランク４の店舗は、ランク１の店舗への配送が２回行われるときに、いずれか１回にのみ含めばよい。店舗選択部１０８がランク４のいずれかの店舗を選択すると、コース調整部１１４は、その店舗を第１の複製コース３００ａまたは第２の複製コース３００ｂのいずれかに追加する。【００７５】
店舗選択部１０８がランク４のいずれかの店舗を選択すると、順序決定部１１２は、その店舗を第１の複製コース３００ａおよび第２の複製コース３００ｂそれぞれのどの箇所に追加するのが最も評価値が高くなるかに基づき、コース毎に店舗を追加する箇所を決定する。【００７６】
図１６は、たとえばランク４の店舗ｔが選択された場合の例を示す図である。なお、店舗情報記憶部Ｔ３で設定されたランク３の店舗ｋ〜ｓは既に第１の複製コース３００ａおよび第２の複製コース３００ｂに取り込まれ済であるが、ここでは、簡略化のために、ランク３の店舗として店舗ｋしか示していない。ランク４の店舗は、時間指定がないため、図１６に示すように、いずれの箇所にでも挿入可能である。店舗選択部１０８がランク４のいずれかの店舗を選択すると、順序決定部１１２は、その店舗を第１の複製コース３００ａおよび第２の複製コース３００ｂそれぞれのどの箇所に追加するのが最も評価値が高くなるかに基づき、店舗を追加する箇所を決定する。【００７７】
この後、コース調整部１１４は、店舗ｔが第１の複製コース３００ａと第２の複製コース３００ｂのいずれに追加された場合の方が評価値が高くなるかに基づき、店舗ｔをいずれのコースに追加するかを決定する。図１７は、たとえば店舗ｔが第２の複製コース３００ｂに追加された状態を示す図である。店舗選択部１０８は、ランク４の店舗を所定の条件を満たすまで順次選択し、順序決定部１１２は店舗選択部１０８が店舗を選択する度に、各コースのいずれの箇所にその店舗を追加するのかを決定し、コース調整部１１４は、いずれのコースにその店舗を含めるかを決定して、コースを作成していく。
以上の処理により、コースが作成される。【００７８】
なお、以上の例では、各店舗に、配送時間の指定が１つしかない場合を示したが、たとえば、配送時間の指定が２以上に分離して指定されるようにすることもできる。図１８は、そのような指定を含む店舗がある場合の店舗情報記憶部Ｔ３の構成を示す図である。【００７９】
ここで、店舗ａは、時間指定が「１０：００〜１１：００」と、「１３：００〜１５：００」と２つの時間帯が指定されている。この場合、上記２つの時間帯のいずれかに配送可能ということである。このような場合は、順序決定部１１２は、両方の時間指定それぞれにつき、当該店舗の時間指定として扱い、各条件につき、評価値算出部１２４が算出する評価値が最も高くなる時間指定を当該店舗の時間指定とする。【００８０】
図１９は、予備コースの例を示す図である。
図１９（ａ）の予備コース３００は、店舗ａの時間指定を、「１０：００〜１１：００」の基準時間である１０：３０とした場合を示し、図５を参照して説明したのと同様である。図１９（ｂ）の予備コース３０１は、店舗ａの時間指定を、「１３：００〜１５：００」の基準時間である１４：００とした場合の予備コース３０１を示す図である。本実施の形態において、このように複数の時間指定がある場合は、それぞれについて時間指定がされていると仮定して、それぞれの場合のコースを作成し、評価値算出部１２４による評価値が高くなる方のコースを採用するようにすることができる。すなわち、予備コース３０１についても、予備コース３００について図６から図１７を参照して説明したのと同様の処理により複製コースを作成し、予備コース３００を用いた場合と、予備コース３０１を用いた場合とで、コースの評価値が高くなる方を採用するようにすることができる。【００８１】
図２０は、以上の処理手順を示すフローチャートである。
まず、複数の時間指定がある場合に、上記のような場合分けをする（Ｓ１００）。これ以降の処理は、各場合についてそれぞれ行う。【００８２】
まず、時間指定がありかつ配送頻度が最も高い４／４店を選択して予備コースを作成する（Ｓ１１０）。【００８３】
次いで、時間指定があり次に配送頻度が高い２／４店を、挿入する（Ｓ１２０）。このとき、２／４店は、４／４店に対する配送頻度が１／２であり、４／４店に２回配送を行ううちの１回だけ配送を行えばよい。そのため、ステップＳ１１０で作成した予備コースを２つに複製して複製コースを作成し、２／４店を２つのコースのいずれに含めるかを決定しつつコースに挿入していく。【００８４】
その後、時間指定がなく配送頻度が高い４／４店を選択して複製コースに挿入していく（Ｓ１３０）。この場合は、ステップＳ１１０で選択した時間指定のある４／４店と同じ配送頻度なので、すべての複製コースに含める必要があるが、各コースについて、どの箇所に挿入するのかを評価値が高くなるようにして決定する。【００８５】
その後、時間指定がなく配送頻度が低い２／４店を選択して複製コースに挿入していく（Ｓ１４０）。この場合は、配送頻度が低いので、ステップＳ１２０で作成した複製コースのいずれに含めるかを決定するとともに、どの箇所に挿入するのかを、評価値が高くなるようにして決定する。その後、複製したコースの中で、全く同じパターンのコースを除外する（Ｓ１５０）。これは、この後の改善処理での重複を避けるためである。つづいて、後述する改善処理を行う（Ｓ１６０）。【００８６】
なお、以上の処理において、たとえば図１８を参照して説明したように、配送時間の指定が２以上に分離して指定されている場合、いずれかの時間指定を守ることができる場合に、その店舗につき、時間指定を守ることができる店舗として算出することができる。また、時間差分を算出する際にも、いずれかの時間指定との間で、最も時間差分が少ない値をその店舗における指定時間との時間差分として用いることができる。【００８７】
（改善処理）
次に、改善処理部１１６による改善処理を説明する。
改善処理部１１６は、コース調整部１１４が作成したコースに含まれる店舗を、巡回する順序を変えた改善候補コースを作成し、評価値算出部１２４が算出した評価値が高くなるか否かを判断し、高くなる場合に、当該改善候補コースを改善コースとして確定する処理を繰り返す。【００８８】
（第１の改善処理：逆順）
具体的には、改善処理部１１６は、コース調整部１１４が作成したコースに含まれる店舗を、順序決定部１１２が決定した順序とは逆順にして改善候補コースを作成する。なお、この処理を行う際に、たとえば図１８を参照して説明したように、配送時間の指定が２以上に分離して指定されている場合、いずれかの時間指定を守ることができる場合に、その店舗につき、時間指定を守ることができる店舗として算出することができる。また、時間差分を算出する際にも、いずれかの時間指定との間で、最も時間差分が少ない値をその店舗における指定時間との時間差分として用いることができる。これにより、コース調整部１１４が作成したコースに含まれる店舗を、順序決定部１１２が決定した順序とは逆順にした場合に、最初に用いていた時間指定とは異なる時間指定範囲内に配送可能となる店舗が生じ、結果として評価値が高くなる可能性もある。なお、以下の他の改善処理についても同様とすることができる。【００８９】
（第２の改善処理：挿入入れ替え）
改善処理部１１６は、コース調整部１１４が作成したコースの中から、順序決定部１１２が決定した順序で並ぶ一以上の店舗を選択して、当該店舗を当該コースに含まれる他の店舗の間に挿入する処理を行い、評価値算出部１２４が算出する評価値が最も高くなる場合の挿入を行って改善候補コースを作成する。【００９０】
（第３の改善処理：２点交換）
改善処理部１１６は、コース調整部１１４が作成したコースに含まれる店舗を、当該コースに含まれる他の店舗それぞれと入れ替える処理を行い、評価値算出部１２４が算出する評価値が最も高くなる場合の入れ替えを行って改善候補コースを作成する。【００９１】
（第４の改善処理：週次入れ替え）
改善処理部１１６は、配送頻度の低い店舗について、選択されている方のコースとは異なる方のコースに入れ替えて改善候補コースを作成する。【００９２】
いずれの場合も、評価値算出部１２４は、以下の手順で改善候補コースを評価する。
（ｉ）：改善候補コースと現在のコースとを比較して、それぞれの２つのコース（第１週および第２週）合計で到着時刻が時間指定外である時間指定店の数が少なくなったら改善候補コースを採用する。
（ｉｉ）：（ｉ）の条件において数が同じでも、すべての指定時間外である時間指定店に対して、到着時刻と指定時間範囲との時間差分（絶対値）をとり、それぞれの２つのコース合計でその差分和が小さくなっていたら、改善候補コースを採用する。
（ｉｉｉ）：（ｉ）、（ｉｉ）の条件においても同じだったとき、それぞれの２つのコース合計で配送拠点への帰着時間（コース時間）が短くなっていれば、改善候補コースを採用する。【００９３】
図２１は、改善処理部１１６の処理手順を示すフローチャートである。
まず、第１の改善処理を行う（Ｓ２００）。このとき、改善候補コースの評価値が高くなっていたら（Ｓ２０２のＹＥＳ）、改善候補コースを改善コースとして確定し、改善コースを採用する（Ｓ２０４）。改善候補コースの評価値が高くなっておらず、改善されていない場合は（Ｓ２０２のＮＯ）、そのままもとのコースとする。【００９４】
つづいて、第２の改善処理（Ｓ２０６）、第３の改善処理（Ｓ２０８）、および第４の改善処理（Ｓ２１０）をそれぞれ行う。これらは並行して行うこともでき、任意のものを選択して一部のみ行うこともできる。いずれの場合も、改善候補コースの評価値を算出し、改善されていた場合（Ｓ２１２のＹＥＳ）、評価値が最も高い改善候補コースを改善コースとして確定し、採用する（Ｓ２１４）。この処理を繰り返し、改善がみられなくなったら（Ｓ２１２のＮＯ）、改善処理を終了して、コースを決定する（Ｓ２１６）。【００９５】
次に、各改善処理について、具体例を説明する。
図２２は、第１の改善処理を説明する図である。
図２２（ａ）および図２２（ｂ）は、図５から図１７を参照して説明した、コース調整部１１４が作成した第１の複製コース３００ａおよび第２の複製コース３００ｂをそれぞれ示す図である。このような第１の複製コース３００ａおよび第２の複製コース３００ｂについて、それぞれ、すべての店舗の巡回順序を逆にしてみる。【００９６】
図２２（ｃ）は、第１の複製コース３００ａの巡回順序を逆にした改善候補コース３０２ａを示す図である。このようにした場合の評価値を評価処理部１１８により算出し、評価値が第１の複製コース３００ａよりも高くなっていたら、改善候補コース３０２ａを第１の複製コース３００ａの改善コースとして採用する。【００９７】
図２２（ｄ）は、第２の複製コース３００ｂの巡回順序を逆にした改善候補コース３０２ｂを示す図である。このようにした場合の評価値を評価処理部１１８により算出し、評価値が第２の複製コース３００ｂよりも高くなっていたら、改善候補コース３０２ｂを第２の複製コース３００ｂの改善コースとして採用する。【００９８】
図２３は、第２の改善処理を説明する図である。
図２３（ａ）は、１つの店舗を選択して、その店舗を他の店舗間に挿入する処理を行う例を示す図である。ここで、店舗Ａを矢印で示した箇所すべてに挿入してみて、各場合について、評価処理部１１８により評価値を算出し、最も評価値が高くなるものを改善候補コースとする。つづいて、改善候補コースの評価値が、改善前のコースよりも高くなっている場合に、その改善候補コースを改善コースとして採用する。【００９９】
図２３（ｂ）は、２つの店舗を選択して、その店舗を他の店舗間に挿入する処理を行う例を示す図である。ここで、破線Ｂで囲まれた２つの店舗を矢印で示した箇所すべてに挿入してみて、各場合について、評価処理部１１８により評価値を算出し、最も評価値が高くなるものを改善候補コースとする。つづいて、改善候補コースの評価値が、改善前のコースよりも高くなっている場合に、その改善候補コースを改善コースとして採用する。【０１００】
図２３（ｃ）は、３つの店舗を選択して、その店舗を他の店舗間に挿入する処理を行う例を示す図である。ここで、破線Ｃで囲まれた３つの店舗を矢印で示した箇所すべてに挿入してみて、各場合について、評価処理部１１８により評価値を算出し、最も評価値が高くなるものを改善候補コースとする。つづいて、改善候補コースの評価値が、改善前のコースよりも高くなっている場合に、その改善候補コースを改善コースとして採用する。【０１０１】
同様にして、選択する店舗の数を増やす等して、種々の場合に付き、評価値を算出して、評価値が最も高くなるものを改善候補コースとして、改善候補コースの評価値が、改善前のコースよりも高くなっている場合に、その改善候補コースを改善コースとして採用する処理を繰り返す。【０１０２】
図２４は、第３の改善処理を説明する図である。
ここでは、店舗Ｄを選択して、店舗Ｄを矢印で示した先のすべての店舗とそれぞれ入れ替える処理を行う。各場合について、評価処理部１１８により評価値を算出し、最も評価値が高くなるものを改善候補コースとする。つづいて、改善候補コースの評価値が、改善前のコースよりも高くなっている場合に、その改善候補コースを改善コースとして採用する。なお、店舗Ｄの隣の店舗との入れ替えは、第２の改善処理と同様となるので、省略することができる。【０１０３】
図２５は、第４の改善処理を説明する図である。
図２５（ａ）および図２５（ｂ）に示すように、図５から図１７を参照して説明した、コース調整部１１４が作成した第１の複製コース３００ａおよび第２の複製コース３００ｂのうち、配送頻度が低い店舗ｈ、店舗ｊ、店舗ｉ、および店舗ｔをそれぞれ、違う方のコースに入れ替えてみる。各場合の評価値を評価処理部１１８により算出し、評価値が改善前よりも高くなっていたら、改善コースとして採用する。図２５（ｃ）および図２５（ｄ）は、改善前に第１の複製コース３００ａに含まれていた店舗ｊを、第２の複製コース３００ｂの方に移動させた場合の改善コース３０８ａおよび改善コース３０８ｂをそれぞれ示す図である。【０１０４】
本実施の形態のコース作成システム１００によれば、配送頻度が異なる巡回ポイントや、時間指定がある巡回ポイントおよび時間指定がない巡回ポイントが混在しているようなコースを作成する場合に、時間指定のある巡回ポイントへの時間指定が守れる可能性が高く、効率よく巡回することのできるコースを作成することができる。【０１０５】
図１に示したコース作成システム１００の各構成要素は、ハードウエア単位の構成ではなく、機能単位のブロックを示している。コース作成システム１００の各構成要素は、任意のコンピュータのＣＰＵ、メモリ、メモリにロードされた本図の構成要素を実現するプログラム、そのプログラムを格納するハードディスクなどの記憶ユニット、ネットワーク接続用インタフェースを中心にハードウエアとソフトウエアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。【０１０６】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。【０１０７】
（ピストン処理）
なお、以上の実施の形態においては、朝配送拠点を出発して、複数の店舗（巡回ポイント）に物品を配送して夕方配送拠点に戻るコースを例として説明した。しかし、物品の配送量によっては、一日で配送する予定のすべての物品をトラックに積載しきれない場合がある。このような場合は、積載可能な物品の量に応じて、一旦配送拠点に戻って、再度物品を積み直して店舗を巡回するようなコース（ピストンコース）を作成する必要がある。【０１０８】
図２６および図２７は、このような場合のピストンコースを作成する例を示す図である。
まず、配送量に関わりなく、上述したのと同様にして、第１の複製コース３００ａや第２の複製コース３００ｂと同様のコースを作成する。ここでは、例として図２６（ａ）にコースの一例を示す。このようにしてコースを作成した後、正順と逆順とで、それぞれ物品量が可能な積載量を超えない店舗を検出する。ここで、図２６（ｂ）に示すように、正順では、店舗Ｅが物品量が可能な積載量を超えない店舗であり、逆順では、店舗Ｆが物品量が可能な積載量を超えない店舗であるとする。すなわち、正順で、店舗ＦからＥまでの間でコースを区切ることにより、いずれの場合も、各コース含まれる店舗への物品量が可能な積載量を超えないようにすることができる。【０１０９】
ここで、これらの間のどこで切り分けた場合に、評価値が最も高くなる場所で切り分けるようにすることができる。図２７は、方面Ａと方面Ｂの２つのコースに分割してピストンコースを作成した例を示す図である。【０１１０】
さらに、以上の実施の形態においては、各店舗への時間指定のみを考慮しているが、実際には、配達員の休憩時間も考慮する必要がある。また、店舗によっては、配達指定時間があるだけでなく、配達不可時間がある場合もある。店舗へ到着する時間が、配達不可時間にかかる場合には、配達不可時間が終わるまで、店舗への配送作業を行和ないようにする等の時間調整が必要である。時間算出部１２０は、このような時間を考慮して、時間を算出することができる。【０１１１】
また、以上の実施の形態においては、４／４店および２／４店が含まれるコースを作成する場合を例として説明したが、コースには、たとえば１／４（４週間に１回配送が必要な店舗）等も含めることができる。このような店舗をコースに含める処理を行うためには、たとえば図８を参照して説明した予備コース３００を複製する処理と同様の処理により、予備コース３００を複製して４つにして、いずれのコースにその店舗を含めた場合が最も評価値が高くなるかに応じて、店舗を挿入するコースおよび順序を決定することができる。【０１１２】
また、以上の実施の形態においては、コースに含めるべき店舗が予め設定された状態でコースを作成する場合を例として説明した。しかし、他の例において、たとえば、より多数の店舗が存在し、各コースに含めるべき店舗が設定されておらず、それらの店舗の中から、コースに含める店舗を選択する必要がある場合もある。このような場合、拠点を出発して店舗に物品を配送し、拠点に戻るまでの総時間であるコース時間が所定時間内になるとともに、各店舗へ配送する物品の量の総量が所定の範囲内となるように店舗を選択してコースを作成する必要がある。このような場合は、たとえば、各ランク毎に、コース時間の上限や物品の量の総量の上限として設定された値の何％までをそのランクの店舗で占めることが可能かを設定しておき、その値となることを所定条件とすることができる。たとえば、コース時間の上限や物品の量の総量の上限となるまでレベル１の店舗を選択してしまうと、その下のレベルの店舗をコースに含めることができなくなってしまう。しかし、各レベル毎に所定条件を設けておくことにより、種々の条件の店舗をバランスよくコースに含めることができる。さらに、この場合、店舗選択部１０８は、たとえば拠点の位置情報、各店舗の位置情報、各店舗への物品の配送量等に基づき、店舗を順次選択するようにすることができる。
【図１】
2009119040.tif 000003
【図２】
2009119040.tif 000004
【図３】
2009119040.tif 000005
【図４】
2009119040.tif 000006
【図５】
2009119040.tif 000007
【図６】
2009119040.tif 000008
【図７】
2009119040.tif 000009
【図８】
2009119040.tif 000010
【図９】
2009119040.tif 000011
【図１０】
2009119040.tif 000012
【図１１】
2009119040.tif 000013
【図１２】
2009119040.tif 000014
【図１３】
2009119040.tif 000015
【図１４】
2009119040.tif 000016
【図１５】
2009119040.tif 000017
【図１６】
2009119040.tif 000018
【図１７】
2009119040.tif 000019
【図１８】
2009119040.tif 000020
【図１９】
2009119040.tif 000021
【図２０】
2009119040.tif 000022
【図２１】
2009119040.tif 000023
【図２２】
2009119040.tif 000024
【図２３】
2009119040.tif 000025
【図２４】
2009119040.tif 000026
【図２５】
2009119040.tif 000027
【図２６】
2009119040.tif 000028
【図２７】
2009119040.tif 000029
【国際調査報告】
2009119040.tif 000030
2009119040.tif 000031