(57)【特許請求の範囲】
【請求項１】
車両拠点であるデポを出発した１または複数の車両が複数の顧客の荷物を収集して、前記車両に対して指定された工場に搬入するための経路を算出する経路算出プログラムであって、
コンピュータを、
前記デポ、顧客、および工場の各位置に対応するノードの位置情報に基づいて、これらの各ノード間の距離についての距離行列を生成する距離行列生成部と、
前記距離行列と、前記車両と作業員が構成する作業組の数とを用いて、最良解を得ることなく所定の段階で打ち切る前提で、前記車両が前記デポを出発して前記顧客を巡って荷物を収集したあと前記デポに戻る経路について、運搬経路問題（ＶＲＰ）を解く顧客割当部と、
前記作業組ごとについて、前記顧客割当部によって前記顧客が割り当てられた経路を、前記車両の積載量制約情報と前記各顧客の荷物情報とに基づいて分割した分割経路を算出する経路分割部と、
前記分割経路ごとに、前記作業組が前記デポまたは前記工場から、前記分割経路に含まれる前記顧客を経由して、前記工場に向かう経路について、巡回セールスマン問題（ＴＳＰ）を解く順路決定部として機能させる、
ことを特徴とする経路算出プログラム。
【請求項２】
前記顧客割当部は、前記車両が前記デポを出発して前記デポに戻るまでの移動時間が所定の時間内となる時間制約条件のもとで前記運搬経路問題（ＶＲＰ）を解くことを特徴とする請求項１に記載の経路算出プログラム。
【請求項３】
前記所定の時間は、前記車両ごとに、指定された工場からの経路が最も長い顧客から当該工場への移動時間と、当該車両の積載量制約情報を考慮して算出される工場への搬入回数とに基づいて算出される工場搬入時間を、事前に設定された作業時間から差し引いた時間であることを特徴とする請求項２に記載の経路算出プログラム。
【請求項４】
前記顧客割当部は、複数の前記車両における個々の車両が前記デポを出発して前記デポに戻るまでの移動時間を要素とする集合の分散が所定値以下となる時間制約条件のもとで前記運搬経路問題（ＶＲＰ）を解くことを特徴とする請求項１乃至請求項３のいずれか一項に記載の経路算出プログラム。
【請求項５】
前記経路分割部は、所定距離内で順序が連続する前記顧客間では分割しないことを特徴とする請求項１乃至請求項４のいずれか一項に記載の経路算出プログラム。
【請求項６】
請求項１乃至請求項５のいずれか一項に記載の経路算出プログラムを実行させるコンピュータを備え、車両拠点であるデポを出発した１または複数の車両が複数の顧客の荷物を収集して、前記車両に対して指定された工場に搬入するための経路を求めることを特徴とする経路最適化システム。
【請求項７】
プログラムされたコンピュータによって、車両拠点であるデポを出発した１または複数の車両が複数の顧客の荷物を収集して、前記車両に対して指定された工場に搬入するための経路を算出する経路算出方法であって、
前記デポ、顧客、および工場の各位置に対応するノードの位置情報に基づいて、これらの各ノード間の距離についての距離行列を生成する距離行列生成工程と、
前記距離行列と、前記車両と作業員が構成する作業組の数とを用いて、最良解を得ることなく所定の段階で打ち切る前提で、前記車両が前記デポを出発して前記顧客を巡って荷物を収集したあと前記デポに戻る経路について、運搬経路問題（ＶＲＰ）を解く顧客割当工程と、
前記作業組ごとについて、前記顧客割当工程によって前記顧客が割り当てられた経路を、前記車両の積載量制約情報と前記各顧客の荷物情報とに基づいて分割した分割経路を算出する経路分割工程と、
前記分割経路ごとに、前記作業組が前記デポまたは前記工場から、前記分割経路に含まれる前記顧客を経由して、前記工場に向かう経路について、巡回セールスマン問題（ＴＳＰ）を解く順路決定工程とを含むことを特徴とする経路算出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、運搬経路問題に関連する経路算出プログラム、経路最適化システム、および経路算出方法に関する。
【背景技術】
【０００２】
特定エリアに分布した複数の顧客をたどる経路を種々の制約条件のもとで計算機によって算出する問題として、運搬経路問題または車両経路問題（ＶＲＰ）と巡回セールスマン問題（ＴＳＰ）とがある。計算機による経路の算出は、顧客をたどる順番の無数の組み合わせの中から、例えば、総経路長がもっとも短くなる経路を検索するための計算であり、顧客をたどる順番の組み合わせごとに行う計算の繰り返しである。これらの問題は顧客数が多い大規模問題である場合、現実的な時間内に厳密解を求めることが非常に困難な問題（ＮＰ困難といわれる）であり、種々の近似方法や経験則が提案されている。
【０００３】
運搬経路問題（ＶＲＰ）は、例えば、複数の車両が、車両基地であるデポ（ｄｅｐｏｔ）を出発し、特定エリアに分布した複数の顧客に対し荷物を集配または配送して、デポに戻るときのコストを最小とする経路を求める問題である。コスト（目的関数）は、例えば、移動にかかる総時間、総距離、総費用等の移動コストや、必要な車両台数等の資材コストなどである。制約条件は、例えば、積載量制約等の車両に関する制約、車両の幅に対する経路幅（車道幅）や一方通行などの経路に関する制約、所定時間内にデポに戻る等の時間的な制約などである。
【０００４】
巡回セールスマン問題（ＴＳＰ）は、例えば、一人のセールスマンが出発点から出発し、各顧客を１回ずつ訪ねて出発点に戻る際の移動コストを最小とする経路を求める問題である。この巡回セールスマン問題は、運搬経路問題において車両が１台で各種の制約条件がない場合に相当する。
【０００５】
運搬経路問題の応用例として、配送荷物を配送容器に入れて顧客に配送し、荷物配送完了後に空容器をメーカに返却する作業を含めた経路問題を解くための配送計画生成方法が提案されている（例えば、特許文献１参照）。
【０００６】
また、複数のデポが含まれる大規模な運搬経路問題を積載量制約条件下で解くため、各顧客を最近接のデポに関連づけて顧客をデポごとに分割することにより、各顧客を小集団化する方法が提案されている。この方法は、さらに、各デポから放射状に出る分割線によって、各顧客がデポに関連づけられたいずれかの小集団に含まれ、かつ、各小集団が積載量制約を満たす顧客数となるように各顧客を分割する。この段階の顧客の各小集団は、巡回セールスマン問題の手法で解かれる（例えば、非特許文献１参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１９−２８９９２号公報
【非特許文献】
【０００８】
【非特許文献１】伊藤匡志、渡邉真也、榊原一紀著「大規模Ｖｅｈｉｃｌｅ  Ｒｏｕｔｉｎｇ  Ｐｒｏｂｌｅｍに対する部分問題化と適応的問題統合に基づく新たな探索フレームワークの提案」進化計算学会論文誌 Ｖｏｌ．６，Ｎｏ．３（２０１５）
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述の特許文献１に示されるような運搬経路問題の解法は、応用例として示されているが大規模対応については言及されていない。また、上述の非特許文献１に示されるような運搬経路問題の解法は、大規模化に対応できるものの、その有効性は、デポと各顧客との実際の空間的な相互配置に制約されるので限定的と考えられる。
【００１０】
ところで、大規模運搬経路問題に関連する分野に、例えば、日常生活における家庭ごみをパッカー車に収容し、ごみ焼却場に搬入する分野がある。この分野では、例えば、清掃事務所（デポ）を出発した複数のパッカー車（積載量制約のある車両）が、各家庭（顧客）におけるごみを集配してごみ焼却場（工場）に搬入することを繰り返し、最後に、デポに戻る作業が行われる。ごみの排出量は、季節、祝日や行事の有無、曜日などによって変化し、ごみの収集作業は所定時間内に終了する必要があるなど、多くの制約条件のもとで適宜に運搬経路問題を解いて、最適経路を算出する必要がある。
【００１１】
このごみ収集の運搬経路問題において、工場は、上述の非特許文献１におけるデポに代わる役割を果たし、清掃事務所が、経路の出発点、帰着点であるデポとして設定されている。ごみ収集に限らず、このようなデポ、顧客、工場の組み合わせの範疇に分類される大規模運搬経路問題は多数存在し、このような大規模運搬経路問題の実用的な解法が求められている。
【００１２】
本発明は、上記課題を解消するものであって、大規模運搬経路問題を短時間で簡便に解くことができ、実用的な経路を提示できる経路算出プログラム、経路最適化システム、および経路算出方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記課題を達成するために、本発明の経路算出プログラムは、車両拠点であるデポを出発した１または複数の車両が複数の顧客の荷物を収集して、前記車両に対して指定された工場に搬入するための経路を算出する経路算出プログラムであって、コンピュータを、前記デポ、顧客、および工場の各位置に対応するノードの位置情報に基づいて、これらの各ノード間の距離についての距離行列を生成する距離行列生成部と、前記距離行列と、前記車両と作業員が構成する作業組の数とを用いて、最良解を得ることなく所定の段階で打ち切る前提で、前記車両が前記デポを出発して前記顧客を巡って荷物を収集したあと前記デポに戻る経路について、運搬経路問題（ＶＲＰ）を解く顧客割当部と、前記作業組ごとについて、前記顧客割当部によって前記顧客が割り当てられた経路を、前記車両の積載量制約情報と前記各顧客の荷物情報とに基づいて分割した分割経路を算出する経路分割部と、前記分割経路ごとに、前記作業組が前記デポまたは前記工場から、前記分割経路に含まれる前記顧客を経由して、前記工場に向かう経路について、巡回セールスマン問題（ＴＳＰ）を解く順路決定部として機能させる、ことを特徴とする。
【００１４】
この経路算出プログラムにおいて、前記顧客割当部は、前記車両が前記デポを出発して前記デポに戻るまでの移動時間が所定の時間内となる時間制約条件のもとで前記運搬経路問題（ＶＲＰ）を解いてもよい。
【００１５】
この経路算出プログラムにおいて、前記所定の時間は、前記車両ごとに、指定された工場からの経路が最も長い顧客から当該工場への移動時間と、当該車両の積載量制約情報を考慮して算出される工場への搬入回数とに基づいて算出される工場搬入時間を、事前に設定された作業時間から差し引いた時間であってもよい。
【００１６】
この経路算出プログラムにおいて、前記顧客割当部は、複数の前記車両における個々の車両が前記デポを出発して前記デポに戻るまでの移動時間を要素とする集合の分散が所定値以下となる時間制約条件のもとで前記運搬経路問題（ＶＲＰ）を解いてもよい。
【００１７】
この経路算出プログラムにおいて、前記経路分割部は、所定距離内で順序が連続する前記顧客間では分割しないようにしてもよい。
【００１８】
また、本発明の経路最適化システムは、上記のいずれかの経路算出プログラムを実行させるコンピュータを備え、車両拠点であるデポを出発した１または複数の車両が複数の顧客の荷物を収集して、前記車両に対して指定された工場に搬入するための経路を求めることを特徴とする。
【００１９】
また、本発明の経路算出方法は、プログラムされたコンピュータによって、車両拠点であるデポを出発した１または複数の車両が複数の顧客の荷物を収集して、前記車両に対して指定された工場に搬入するための経路を算出する経路算出方法であって、前記デポ、顧客、および工場の各位置に対応するノードの位置情報に基づいて、これらの各ノード間の距離についての距離行列を生成する距離行列生成工程と、前記距離行列と、前記車両と作業員が構成する作業組の数とを用いて、最良解を得ることなく所定の段階で打ち切る前提で、前記車両が前記デポを出発して前記顧客を巡って荷物を収集したあと前記デポに戻る経路について、運搬経路問題（ＶＲＰ）を解く顧客割当工程と、前記作業組ごとについて、前記顧客割当工程によって前記顧客が割り当てられた経路を、前記車両の積載量制約情報と前記各顧客の荷物情報とに基づいて分割した分割経路を算出する経路分割工程と、前記分割経路ごとに、前記作業組が前記デポまたは前記工場から、前記分割経路に含まれる前記顧客を経由して、前記工場に向かう経路について、巡回セールスマン問題（ＴＳＰ）を解く順路決定工程とを含むことを特徴とする。
【発明の効果】
【００２０】
本発明の経路算出プログラム、経路最適化システム、および経路算出方法によれば、最良解を得ることなく所定の段階で打ち切る前提で運搬経路問題を解き、得られた経路を積載量制約情報と荷物情報に基づいて分割し、分割された経路を巡回セールスマン問題として解くので、より短時間で実用的な経路を提示できる。
【図面の簡単な説明】
【００２１】
【図１】（ａ）は本発明の一実施形態に係る経路算出プログラムに採用されている経路算出方法の適用対象の概念図、（ｂ）は同方法の顧客割当工程によって（ａ）の顧客を割り当てた経路を示す説明図、（ｃ）は（ｂ）の経路を分割して算出した工場に搬入するまでの経路の説明図。
【図２】同経路算出方法のフローチャート。
【図３】（ａ）乃至（ｄ）は同経路算出方法における処理を順番に説明する概念図。
【図４】（ａ）は道路ノードと顧客と顧客ノードの位置関係および道路距離行列を示す概念図、（ｂ）は道路ノードの間に組み込まれた顧客ノードおよび顧客距離行列を示す概念図。
【図５】同経路算出方法を実行するためのプログラムとデータのブロック構成図。
【図６】同経路算出方法を実行するコンピュータのブロック構成図。
【図７】同経路算出方法の適用対象である顧客に対して複数のデポが対応可能である場合の例を示す概念図。
【図８】同経路算出方法を実行するコンピュータの条件入力画面構成の例を示す図。
【図９】同経路算出方法を実行するコンピュータの結果出力画面構成の例を示す図。
【図１０】同結果出力画面の操作例を示す図。
【図１１】同経路算出方法における顧客に関する入力データの構成例を示すコンピュータ画面の図。
【図１２】同入力データの構成例を示すコンピュータ画面を展開した図。
【図１３】（ａ）は同経路算出方法におけるＳ作業の概念を説明する図、（ｂ）は同Ｗ作業の概念を説明する図。
【図１４】同経路算出方法における道路網について経路と顧客ノードとを地図上に示して説明する図。
【図１５】（ａ）は図１４のＭ１部分の拡大図、（ｂ）は同Ｍ２部分の拡大図。
【図１６】図１４のＭ３部分の拡大図であって大型車の経路と顧客ノードを地図上に示して説明する図。
【図１７】（ａ）は同経路算出方法において経路に方向制約がない場合の顧客ノード間の移動を説明する図、（ｂ）は同経路に方向制約がある場合の顧客ノード間の移動を説明する図。
【図１８】（ａ）は同経路算出方法において道路の左右への接近に制約がなく両側回収が可能な場合の顧客ノードの設定を説明する図、（ｂ）は同顧客ノードを経由する移動を説明する図。
【図１９】（ａ）は同経路算出方法において道路の左右への接近に制約があって両側回収が不可能な場合の顧客ノードの設定を説明する図、（ｂ）は同顧客ノードを経路の方向制限のもとで経由する移動を説明する図。
【図２０】図１８（ｂ）の移動と両側回収の対象となる道路を画像で説明する図。
【図２１】図１９（ｂ）の移動と片側回収の対象となる道路を画像で説明する図。
【図２２】同経路算出方法における地図データへの道路ノード追加を説明する図。
【図２３】図２２に道路ノードと経路を追加した図。
【図２４】デジタル地図データにおける道路の両端の道路ノードとその道路に対して追加される道路の両端の道路ノードのそれぞれの位置座標の例を示す図。
【図２５】同経路算出方法における地図データへの徒歩経路追加を説明する図。
【図２６】図２５に停車位置と徒歩経路を追加した図。
【図２７】デジタル地図データにおける徒歩対象の顧客位置と道路の両端の道路ノードとその道路に対して追加される停車位置のそれぞれの位置座標の例を示す図。
【図２８】同経路算出方法における搬入先工場登録画面構成の例を示す図。
【図２９】同経路算出方法における工場振り分け指定の画面構成の例を示す図。
【図３０】（ａ）（ｂ）は同経路算出方法における台数計算の処理を説明する画面構成の例を示す図。
【発明を実施するための形態】
【００２２】
以下、本発明の一実施形態に係る経路算出プログラム、経路最適化システム、および経路算出方法について、図面を参照して説明する。
【００２３】
（経路算出方法の概要）
まず本発明の経路算出プログラムに採用されている経路算出方法の概要を図１を参照して説明する。本方法は、図１（ａ）に示すように、特定のエリア１０に分布する複数の顧客ｃの荷物を車両拠点であるデポ１１を出発した１または複数（本例では２台）の車両１２によって収集して工場１３に搬入する作業において、車両１２の移動経路を自動算出する方法である。本実施形態において、顧客ｃはごみの集積所、その荷物は家庭ごみ、車両１２はごみを圧縮運搬するパッカー車、工場１３はごみ焼却場、そして、デポ１１はごみの収集運搬業務を管理運営する事務所である、という設定で説明する。エリア１０は、デポ１１が業務を担当する、例えば町内などである。これらの設定は例示であり、本発明はこの設定に限定されるものではない。
【００２４】
図１（ｂ）に示すように、２台の車両１２が、それぞれデポ１１を出発し、全顧客ｃを巡ってデポ１１に戻る経路が算出される。この図の例では、一方の車両１２が顧客ｃ１１からｃ１７を順番に巡り、他方の車両１２が顧客ｃ２１からｃ２７を順番に巡る経路がそれぞれ算出されている。このデポ１１から顧客ｃを経てデポ１１に戻る一連の経路が算出されることにより、各車両１２に顧客が割り当てられる。
【００２５】
この図に示されてないが、各顧客ｃに至る道路があり、その道路の各要所ごとに道路を規定する道路ノードが設定されており、それらの道路ノードを選択しながらたどることにより各顧客ｃ（顧客ノード）に立ち寄ることができる。なお、本明細書では、隣接するノード間を結ぶ線を経路とよび、連続する経路の集合も経路とよぶ。また、経路の計算には、市販のデジタル道路地図データベースを使うことができ、その中で、道路が、道路ノードと、各道路ノード間を結ぶ経路（リンク、道路リンク、道路などと呼ばれる）で定義されている。そこで、本願では、経路と道路とを特に区別なく用いる。
【００２６】
このような経路を求める問題には、運搬経路問題（ＶＲＰ）の手法を用いることができる。最良解を望まなければ、各車両１２に顧客が割り当てられた経路を、容易に短時間で得られる。
【００２７】
各顧客ｃの荷物の重量は、事前の調査によって予想値を設定できる。そこで、デポからデポへの一巡の経路に沿って、経路上の顧客ごとの荷物量の積算値が得られる。車両には、一般に積載量の制約がある。そこで積載量が制約値を超えないように、荷物量の積算値が制約値に近づいた段階で、積算値をゼロに戻し、次の顧客から積算を再開する。例えば、一方の車両１２については、顧客ｃ１３を経由した段階Ｐ１で積算値はゼロとされ、顧客ｃ１４から始めた積算値はデポへの帰着前の顧客ｃ１７を経由後に制約内である。同様に、他方の車両１２は、顧客ｃ２２を経由した段階Ｐ２で１回だけ積算値がゼロとされている。
【００２８】
このような段階Ｐ１，Ｐ２において、各一巡りの経路が分割され、その分割点の両側に位置する顧客ｃ１３，ｃ１４および顧客ｃ２２，ｃ２３のそれぞれと工場１３とが関連づけられる。また、各車両１２に対して帰路を与えるため、工場１３からデポ１１への関連づけがなされる。分割で得られた経路は、（デポ、顧客、工場）または（工場、顧客、工場、デポ）の経路であり、一般的には（工場、顧客、工場）や（デポ、顧客、工場、デポ）または（デポ、顧客、作業員を下ろすためデポ、工場、デポ）などの経路もあり得る。
【００２９】
このように分割された各経路は、移動の短時間化または短距離化などの観点から最適化された経路とは限らず、最適化の余地がある。そのような最適化された経路の探索は、例えば、顧客ｃを巡る順番を最適化することで行われる。順番の最適化は、図中に現れていない道路について、どの道路ノードを経由する道路（つまり経路）を通るかを新たに決定する探索である。
【００３０】
各分割経路は、積載量が制約値以下とされているので、制約条件を考慮することなく巡回経路を最適化することができる。このような巡回経路の最適化は、巡回セールスマン問題（ＴＳＰ）の手法を用いて、数の少ない顧客ノードを対象にして容易に短時間で行うことができる。図１（ｃ）は、以上の手法を用いて算出された、最適な経路を示している。
【００３１】
（経路算出方法の詳細な説明）
次に、図２、図３、図４を参照して、本発明の経路算出方法の詳細な説明をする。経路算出方法は、道路距離、道路幅や通行規制のほか、車両１２の積載量の制限、収集に係る時間等を考慮しつつ、車幅や積載量の異なる複数種類の車両１２が、指定された顧客の需要（荷物）を運搬（収集）し、指定された工場１３に搬入する最小コスト（例えば最短距離）の経路を求めるように構成される。図２に示すように、本方法は、距離行列生成工程Ｓ１、顧客割当工程Ｓ２、経路分割工程Ｓ３、工場挿入工程Ｓ４、および順路決定工程Ｓ５を備えている。
【００３２】
（距離行列生成工程Ｓ１）
この工程Ｓ１では、デポ１１、顧客ｃ、および工場１３の各位置に対応するノードの位置情報に基づいて、これらの各ノード間の距離についての距離行列が生成される。この工程Ｓ１では、距離行列の生成に限られず、経路算出に必要な種々の制約条件の設定、初期設定（例えば顧客ｃごとの荷物量の予想値の設定）などが行われる。また、距離行列の用語は、経路算出に必要なデータの行列または配列等を含む広い意味で用いられ、例えば、時間行列、コスト行列なども含むことができる。
【００３３】
距離そのものを表す距離行列には、車両１２が走行する道路の各要所に設定される道路ノード間の相互の距離を表す道路距離行列と、顧客ｃに対応させて顧客ｃの最寄りの道路上に設定される顧客ノード間の相互の距離を表す顧客距離行列がある。
【００３４】
なお、本方法が、経路最適化システムとして荷物収集の管理現場（デポ等）で用いられて経路が算出される場合、顧客の種々のデータが最適化計算の入力とされる。これらのデータは、経路算出の制約条件として用いられるか、または、顧客へのサービス向上のために用いられる。そのような顧客のデータは、事前に収集されて、この工程Ｓ１において経路最適化システムに登録される。
【００３５】
顧客のデータは、例えば、各顧客について、顧客の位置、住所、現場の写真、顧客の種類（徒歩で荷物を回収する現場か大型の現場か等の特徴）、回収方向（双方向の道路の場合に、どちらの向きに走行していても立ち寄り可能な双方向収集可能な顧客か否かの区別）、その顧客に割り当てるべき車種、荷物の種類、荷物の種類ごとの収集曜日、曜日ごとの荷物の量（重量ｋｇ）等である。顧客の位置と住所は、カメラのＧＰＳ機能等を用いることにより、現場の写真を撮影することで自動的に取得することができる。
【００３６】
ここで、道路距離行列と顧客距離行列の生成を説明する。図４（ａ）に示すように、３つの道路ノードｎｒ１，ｎｒ２，ｎｒ３がこの順に２つの道路を生成しており、各道路に隣接して最寄りの顧客ｃ１，ｃ２が位置している場合を考える（顧客の位置に対応する顧客ノードｎｃ１，ｎｃ２が最寄りの道路ノード間の道路上に設定される）。各道路ノードによって行と列を定義し、各ノード間の距離を行列要素の値として、道路距離行列が設定される。道路距離行列は、対角要素の値が０の対称行列である。
【００３７】
道路ノードは、例えば、市販のデジタル地図データの道路情報から直接読み込まれ、ノード間の距離が計算される。道路距離行列には、工場１３とデポ１１のノードに関する距離も含まれる。なお、荷物の収集に複数種類の車両１２を用いる場合のことを考慮して、例えば、大型車が通行不可能な幅狭道路を含む全道路を表す道路網Ａと、大型車が通行可能な幅員を持つ道路網Ｂとの２パターンの道路距離行列を生成してもよい。これらの道路距離行列は、一つにまとめた大きな距離行列として生成してもよい。
【００３８】
顧客については、図４（ｂ）に示すように、地図データの道路情報を用いて顧客の位置を道路上に移動させて道路上に顧客ノードｎｃ１，ｎｃ２として再構成し、顧客ノード間の距離を行列要素の値として、顧客距離行列が設定される。顧客ノード間の距離は、例えば、一方の顧客ノードから出発して道路ノードをたどって他の顧客ノードに至るまでの、隣接ノード間の距離を積算した最短の距離である。この行列も、対角要素が０の対称行列である。顧客の位置を道路上に移動させる再構成の処理は、作業者による手作業またはコンピュータによる全自動または一部全自動の何れで行ってもよい。
【００３９】
（顧客割当工程Ｓ２）
この工程Ｓ２では、距離行列と、車両１２と作業員が構成する作業組の数とを用いて、最良解を得ることなく所定の段階で打ち切る前提で、車両１２がデポ１１を出発して顧客ｃを巡って荷物を収集したあとデポ１１に戻る経路を算出するため運搬経路問題（ＶＲＰ）が解かれる。算出される経路は、作業組ごとに決まる、デポを出てデポに戻る一連の経路であり、作業組の数が２ならば一連の経路が２つ算出される。作業組の数は、通常は、車両の台数と同じである。
【００４０】
ここで、「作業組」（単に「組」とも記す）の用語は、例えば、１台の車両１２と作業を行う作業員２名（運転手は含まない）のグループのことであり、デポを出てデポに戻る一連の経路に結びついた概念を表す。この一連の経路に対し作業組が一対一に対応する。しかしながら、この一連の経路に対して車両が途中で変わることが許容される場合もある。例えば、２台の車両がこの一連の経路に関与することもあり得る（図１３のＳ作業、Ｗ作業参照）。この作業組の単位のもとで（言い換えれば、デポを出てデポに戻る一連の経路に属する顧客の集合に対し）、多数の顧客の全ての荷物を工場１３に搬入するため、工場１３へ複数回、搬入することが想定される。
【００４１】
また、作業組が行う作業を時間的および空間的に区切る概念として、「能率」の用語を導入する。能率は、１台の車両１２が空の状態から荷物を集めて工場に搬入するまでの一群の作業を指す。能率は、車両がデポを出てデポに戻る一連の経路を分割して得られる巡回サラリーマン問題（ＴＳＰ）の対象である各分割経路を指す。この「能率」の用語は、工場１３への搬入作業に１対１に対応する。デポ１１が担当するエリアに含まれる顧客は何れかの能率に含まれる。デポ１１が担当する作業は、能率の集合である。
【００４２】
個々の能率は、どの車両でどの作業者が（つまりどの作業組が）何回目の工場搬入作業を行ったか、によって全て識別される。顧客割当工程Ｓ２によって得られる、１台の車両が（つまり通常のＳ作業の場合）デポを出てデポに戻る一連の経路（より厳密には、分割して工場を挿入した後の経路）は、その共通の車両によって特徴付けられる能率の集合を定義する。その集合の中で、経路の順に１回目の能率、２回目の能率などと順序づけられる。
【００４３】
経路の算出に際し、本方法の使用者（ユーザ）が指定する曜日、車両１２の種類、台数、能率回数、能率ごとの搬入先の工場１３、作業制約時間などの制約条件を課すことができ、その制約条件のもとで、車両１２の総数による運搬経路問題（ＶＲＰ）が解かれる。複数台の車両を用いる場合、各顧客を経由する車両１２の種類（車種）について、制約条件を課してもよい。各車両１２の経路は、種々の制約条件の下で、例えば、工程Ｓ１で生成された距離行列に基づき、各車両１２の車幅を考慮して探索される。運搬経路問題（ＶＲＰ）の解法については、例えば、総走行距離をより最短に近づけるか、経路算出時間をより短くするかのいずれか、または両方を達成するなどのための、種々の手法が提案されている。
【００４４】
時間的な制約条件のもとで経路を算出する場合は、例えば、車両がデポを出発してデポに戻るまでの移動時間が所定の時間内となる時間制約条件のもとで運搬経路問題（ＶＲＰ）を解く。これは、複数の車両が関与する場合に、移動距離および作業時間が車両間で大きくばらつくことを防止できる。
【００４５】
また、上記の時間制約条件における所定の時間は、例えば、指定されたエリアにおいて、指定された各搬入先工場１３への距離が最も長い顧客に関して、その顧客から工場１３への移動時間を算出し、能率回数を考慮した上、制約条件によって設定された時間枠から、工場１３への搬入時間の合計時間（最後の工場への搬入時間を除いた往復の合計時間と最後の片道の搬入時間の和）を差し引いた時間とする。
【００４６】
また、複数の車両における個々の車両がデポを出発してデポに戻るまでの移動時間を要素とする集合の分散が所定値以下となる時間制約条件のもとで運搬経路問題（ＶＲＰ）を解くようにしてもよい。これは、移動距離、作業時間、および能率回数が、車両間で大きくばらつくことを防止できる。
【００４７】
この工程Ｓ２の主たる目的は、車両１２ごとに収集を担当する顧客ｃを割り付けることである。本方法における車両１２ごとの経路の算出には、この主たる目的に沿って、運搬経路問題（ＶＲＰ）の解法の手法に基づいた、またはその手法を応用または変形した、様々の手法を用いればよい。なお、車両１２の台数は、複数台に限られず１台であってもよく、この点において、通常一般的な複数車両を対象とする運搬経路問題（ＶＲＰ）とは異なる。
【００４８】
図３（ａ）は、２台の車両１２がデポ１１を出発して顧客を経由した後にデポ１１に戻るそれぞれの経路Ｒを、運搬経路問題（ＶＲＰ）の手法を用いて算出する様子を示す。
【００４９】
（経路分割工程Ｓ３）
この工程Ｓ３では、作業組ごとについて、顧客割当工程Ｓ２によって顧客ｃを割り当てられた経路が、車両１２の積載量制約情報と各顧客ｃの荷物情報とに基づいて分割され、「能率」が定義されることになる。車両１２の積載量制約情報と各顧客ｃの荷物情報は、距離行列生成工程Ｓ１において、本方法で用いるデータとして登録されている。この分割の結果、顧客の数が、分割前の経路の顧客の数よりも少なくなった、分割経路が算出される。分割経路のそれぞれが、個々の能率に対応する。デポからデポへの一連の経路が、能率ごとに分割されたことになる。
【００５０】
図３（ｂ）は、２台の車両１２の一方について、経路Ｒが、各ポイントＰ１，・・，Ｐ４において分割され、1回目から５回目の能率（分割経路）が算出される様子を示す。
【００５１】
（工場挿入工程Ｓ４）
この工程Ｓ４では、各分割経路に対し、各車両１２についてそれぞれ指定された工場１３のノードが挿入される。つまり、次の順路決定工程Ｓ５において巡回セールスマン問題（ＴＳＰ）を解くための準備がなされる。この工程は、経路分割工程Ｓ３に含めてもよく、順路決定工程Ｓ５に含めてもよい。
【００５２】
図３（ｃ）は、経路Ｒが、各ポイントＰ１，・・，Ｐ４において、工場１３のノードを挿入される様子を示す。なお、本実施形態においては、最後の能率（５回目の能率）における工場への搬入は、一旦デポに立ち寄って作業員を下ろし、車両と運転手のみが工場へ行く設定としている。この最後の能率における工場搬入をどうするかについては、本実施形態の例に限定されず、例えば工場とデポの立地条件などに応じて、任意に設定してもよい。
【００５３】
（順路決定工程Ｓ５）
この工程Ｓ５では、分割経路ごとに、作業組がデポ１１または工場１３から、分割経路に含まれる顧客ｃを経由して、工場１３に向かう経路について、巡回セールスマン問題（ＴＳＰ）が解かれる。この工程Ｓ５では、各分割経路ごとに、その経路に含まれる道路ノード、顧客ノード、および工場１３のノード、さらにデポ１１のノードが含まれていればデポのノードを含めて、これらのノードの集合について、巡回セールスマン問題として解き直すことになる。この解き直しによって、総経路長の短縮等が行われ、経路の最適化がなされる。
【００５４】
図３（ｄ）は、各能率（分割経路）ごとに、巡回セールスマン問題として解き直し、経路最適化を行う様子を示す。
【００５５】
上記のように、本方法は、計算時間を短時間に抑えながら、極力、車両１２の走行距離を最小に近づけた最適経路を算出する方法である。長時間かけてＶＲＰ解法の計算をし続ければより良い解が得られるはずであるが、ユーザビリティを考慮して、計算時間を短時間で打ち切り、その上で極短時間でＴＳＰを実行することにより、経路最適化を効率化している。このように、ＴＳＰの計算処理が短時間で済むのは、ＴＳＰによる計算処理が各分割経路における数の少ない顧客ノードを対象にして行われるからである。
【００５６】
最適化経路を算出する際に使用する組数または車両台数は、ユーザが任意に指定可能としてもよい。そのためには、ＶＲＰ実行のための設定ファイルに、各車両１２の情報と共に、ユーザにより入力された組数を登録し、能率ごとの搬入先工場の設定を、その組数分行うようにすればよい。
【００５７】
なお、ＶＲＰ実行のための設定ファイルは、顧客割当工程Ｓ２において運搬経路問題（ＶＲＰ）を解く際の条件設定用に、選択肢を含めて条件を記録した、例えば、ＣＳＶファアイル（テキストデータファイル）である。このＶＲＰ実行のための設定ファイルは、運搬経路問題（ＶＲＰ）を解く際に参照される以外に、順路決定工程Ｓ５において巡回サラリーマン問題（ＴＳＰ）を解く経路最適化の計算実行の際の条件設定などにも用いられ、その内容が参照される。従って、ＶＲＰ実行のための設定ファイルは、ＴＳＰ実行のための設定ファイルでもある。ＶＲＰを広義にとらえ、ＶＲＰの概念にＴＳＰが含まれると考えてもよい。以下において、「ＶＲＰ実行のための設定ファイル」の用語は、このような意味で用いられる。
【００５８】
また、順路決定工程Ｓ５において最適化経路を算出する際の能率の回数は、ユーザが任意に指定可能としてもよい。そのためには、ＶＲＰ実行のための設定ファイルに、ユーザにより入力される能率の回数分、指定された搬入先を設定するようにすればよい。工場挿入工程Ｓ４において、組ごと、能率ごとの搬入先が設定される。
【００５９】
デポ１１と呼ばれる点を出発した車両が、顧客を経由し、再びデポ１１に戻る。ここで、デポ１１として指定される事務所は、ユーザが任意に指定可能としてもよい。そのために、本方法を実行するプログラムが参照する入力データ格納ディレクトリに、指定が想定される事務所の情報（緯度経度等）を登録したＣＳＶファイルを保存しておく。ＶＲＰ実行のための設定ファイルに、ユーザにより指定された事務所が登録されることにより、その登録された事務所をデポ１１として設定して、ＶＲＰを解くことができる。
【００６０】
複数のデポ１１を切り替えて用いることが想定される場合は、同様の入力データ格納ディレクトリを複数準備しておき、経路算出プログラムの実行時に、オプションで使用するディレクトリを指定することで、デポ１１を変更すればよい。なお、デポ１１として指定された事務所に戻るのは、能率ごとではなく、その車両または組の作業が終了した後である。
【００６１】
（経路算出プログラムと経路最適化システム）
次に、図５、図６を参照して、経路算出方法を実行するためのプログラムである経路算出プログラム、および経路算出と結果表示などに用いられるデータとプログラム、さらに本経路算出方法を実行するコンピュータシステム、すなわち経路最適化システムについて説明する。
【００６２】
図５に示すように、本発明に係る経路算出プログラム１は、距離行列生成プログラム３と、経路計算プログラム４とを備えている。経路計算プログラム４は、顧客割当プログラム、経路分割プログラム、工場挿入プログラムおよび順路決定プログラムを備えている。
【００６３】
経路算出プログラム１を構成するこれらの距離行列生成プログラム３、顧客割当プログラム、経路分割プログラム、工場挿入プログラム、および順路決定プログラムは、それぞれ、経路算出方法における距離行列生成工程Ｓ１、顧客割当工程Ｓ２、経路分割工程Ｓ３、工場挿入工程Ｓ４、および順路決定工程Ｓ５を実行するために用いられる。経路算出プログラム１は、さらに結果を出力するための結果作成プログラム５を備えてもよく、結果作成プログラム５によって作成された表示用のデータを画面表示６として表示することにより、対話形式で、経路算出を進めることができ、最適化向上が図られる。
【００６４】
経路算出プログラム１は、顧客データベースＤＢｃに記録された各顧客の位置情報、荷物量その他の情報と、地図データベースＤＢｍに記録された道路情報とを参照して経路生成を実行する。これらのデータベースＤＢｃ，ＤＢｍには、経路算出に用いられる種々の制約条件も記録されている。
【００６５】
距離行列生成プログラム３は、データベースＤＢｃ，ＤＢｍのデータを用いて、距離行列３ａ、時間行列３ｂ、顧客ＣＳＶファイル３ｃ、道路データファイル３ｄ、およびグラフ３ｅを生成する。経路計算プログラム４は、距離行列３ａ、時間行列３ｂ、および顧客ＣＳＶファイル３ｃを参照して、最適化された経路を算出する。経路計算プログラム４による計算結果は、経路情報４ａ、実行時間４ｂ、および設定４ｃとして保存される。
【００６６】
結果作成プログラム５は、経路計算プログラム４による計算結果である経路情報４ａと実行時間４ｂのデータ、および距離行列生成プログラム３が生成するデータを参照して、例えば、４種類のファイルを作成する。そのファイルは、コスト一覧ＣＳＶファイル５ａ、計算時間グラフ画像ファイル５ｂ、ＪＳＯＮ形式のテキストファイルである経路別ＪＳＯＮファイル５ｃ、経路別シェープファイル５ｄである。結果作成プログラム５は、これらのファイルのデータと経路計算プログラム４から直接得られるデータとを用いて、画面表示６のデータを作成する。
【００６７】
図６に示すように、本発明に係る経路最適化システム２は、ＣＰＵ（中央演算処理装置）２０と、ハードディスク２１と、各種の周辺機器である通信部２２、ランダムアクセスメモリ（ＲＡＭ）２３、入力操作部２４、およびディスプレイ２５と、を備えたコンピュータによって構成されている。なお、図６では、本経路最適化システム２が、一つのコンピュータによって構成されている場合の例を示したが、本経路最適化システム２は、複数のコンピュータから構成されていてもよい。
【００６８】
ＣＰＵ２０は、距離行列生成部２ａ、顧客割当部２ｂ、経路分割部２ｃ、順路決定部２ｄを備えている。これらの各部２ａ，２ｂ，２ｃ，２ｄは、それぞれ、距離行列生成工程（Ｓ１）、顧客割当工程（Ｓ２）、経路分割工程（Ｓ３）と工場挿入工程（Ｓ４）、および順路決定工程（Ｓ５）を実行する。
【００６９】
ハードディスク２１には、コンピュータ２を機能させて、車両拠点であるデポを出発した１または複数の車両が複数の顧客の荷物を収集して、車両に対して指定された工場に搬入するための経路を算出する経路算出プログラム１が保存されている。経路算出プログラム１は、より具体的には、コンピュータ２のＣＰＵ２０を、距離行列生成工程（Ｓ１）を実行する距離行列生成部２ａ、顧客割当工程（Ｓ２）を実行する顧客割当部２ｂ、経路分割工程（Ｓ３）と工場挿入工程（Ｓ４）を実行する経路分割部２ｃ、および順路決定工程（Ｓ５）を実行する順路決定部２ｄとして機能させるプログラムである。
【００７０】
上述のように、本発明の実施形態に係る経路算出プログラム、経路最適化システム２、および経路算出方法によれば、最良解を得ることなく所定の段階で打ち切る前提で運搬経路問題を解き、得られた経路を積載量制約情報と荷物情報に基づいて分割し、分割された経路を巡回セールスマン問題として解くので、より短時間で実用的な経路を提示できる。
【００７１】
以下では、主に経路最適化システム２を念頭において、上述した実施形態に対する変形例およびコンピュータの画面表示例を用いた具体的な実施例などについて説明する。
【００７２】
（複数のデポがある場合）
図７に示すように、経路算出方法の適用対象に、複数（本例では２つ）のデポ１１ａ，１１ｂが含まれる場合がある。本例では、さらに、顧客ｃが各デポ１１ａ，１１ｂの管轄エリア１０ａ，１０ｂごとに分離されている。このような場合には、各エリア１０ａ，１０ｂごとに、それぞれ各デポ１１ａ，１１ｂが互いに独立に対応できるため、互いに別個の経路算出問題として解いて、経路最適化を行うことができる。
【００７３】
この図７の例とは異なり、例えば、エリア１０ａ，１０ｂを併合したエリア（エリア１０とする）における顧客ｃに対して、２つのデポ１１ａ，１１ｂが共同で対応する場合や、エリア１０を、曜日や収集する荷物の種別によって、２つのデポ１１ａ，１１ｂ（デポ１１で総称）が交代で対応する場合があり得る。
【００７４】
このような場合のために、距離行列生成工程Ｓ１において参照されるデータに、各デポ１１ａ，１１ｂの位置情報やノード情報を登録しておき、ユーザによって、または予め設定される予定に従って自動的に、デポ１１を選択可能としておけばよい。
【００７５】
（条件入力画面）
図８は、経路算出方法を実行するコンピュータにおける条件入力画面６１の構成例を示す。この画面６１は、通常のマウス等のポインタを用いて対話型で操作でき、ユーザが操作することによってデータの入力や選択、閲覧、画面変更などができる構成とされている。画面６１の左側のペイン（窓枠）には、最適化実行６ａ、結果参照６ｂ、データ登録６ｃ、およびダウンロード６ｄのメニューが設けられている。
【００７６】
この図の画面６１は、最適化実行６ａのメニューを選択した場合の画面である。画面６１の右側ペインの中央に複数の条件欄６１ａ、その下方に搬入工場欄６１ｂ、右側に時間設定欄６１ｃ、そして右下方に計算開始ボタン６１ｄが設けられている。振り分け選択ボタン６１ｅと台数計算ボタン６１ｆについては、それぞれ図２９、図３０を参照して後述する。
【００７７】
（経路算出条件の設定）
条件欄６１ａは、経路最適化を行うための条件を入力または選択する欄であり、事務所すなわちデポ、荷物の種類、曜日、車種、組数、作業区分、および能率回数の欄がある。各欄のプルダウンメニューから、事前に登録済みの選択肢を選択するか、またはその場で新たに記入登録することができる。なお、作業区分の欄のＳ作業については後述する（図１３参照）。
【００７８】
（能率ごとに搬入先工場を指定）
搬入工場欄６１ｂにおいて、各能率ごとに搬入先となる工場１３を指定することができる。ＶＲＰ実行のための設定ファイルに、想定しうる搬入先の工場１３の情報を事前に登録しておく。ユーザは、搬入工場欄６１ｂからこの設定ファイルを呼び出して、能率回ごとに指定する搬入先の工場１３を選択して設定する。これにより、各能率回ごとの搬入先工場の指定を容易に行える。
【００７９】
（作業の開始時刻および終了時刻や休憩時間を指定）
時間設定欄６１ｃにおいて、顧客からの集荷と工場搬入の作業が実行完了されるべき時間（時刻）制約条件が、休憩時間とともに設定される。ユーザが入力し作業開始時刻と作業終了時刻から、休憩時間および工場１３への搬入に係る時間ｔを差し引いて、時間制約の条件（すなわち制約時間ｈ）が設定される。
【００８０】
この制約時間ｈは、全車両１２がデポ１１を出発、集荷、工場搬入を終了して、デポ１１に戻るまでに要する総作業時間の上限値である。制約時間ｈが設定される場合、この総作業時間の上限値内に全ての作業が終了するように、経路が算出されなければならない。この制約時間ｈは、顧客割当工程Ｓ２と順路決定工程Ｓ５のいずれにおいても適用される。また、工程Ｓ２での制約時間ｈ２と、工程Ｓ５での制約時間ｈ５とを互いに異ならせて、例えば、後者ではより厳しく（ｈ２＞ｈ５）してもよい。
【００８１】
制約時間ｈは、ＶＲＰ実行のための設定ファイルに記述される。例えば、ユーザが入力した作業時間が８時から１５時であり、休憩が１時間である場合、工場１３への搬入時間を考慮する必要がない（ｔ＝０）場合、（１５−８）−１＝６によって、制約時間ｈ＝６（時間）として設定ファイルに記述される。
【００８２】
工場１３への搬入がある（ｔ≠０）場合、その時間ｔは、ユーザが入力した能率をｎとしたとき、指定されたエリアにおいて指定された工場１３まで最も遠い顧客ｃの位置から工場１３までの走行距離を算出し、その距離を走行する道路の最高時速の８割の速度で割って工場１３までの最大移動時間Ｔを計算した上で、下式で算出される。
ｔ＝（ｎ−１）×２×（工場１３への最大移動時間Ｔ）。
【００８３】
また、最後に工場１３へ搬入する際の片道分の移動時間も算出され、制約時間ｈからさらに差し引かれ、制約がより厳しく設定される。休憩時間の入力については、例えば、作業時間が５時間以上の場合１時間、５時間未満の場合は３０分に予め設定しておき、システムが自動的に選択するようにしてもよい。
【００８４】
（顧客当たりの収集時間）
ＶＲＰ実行のための設定ファイルに、収集にかかる時間（例えば、初期値２０秒）を登録しておくことにより、顧客当たりの収集時間を制約時間に反映させることができる。この収集に係る秒数は、荷物が家庭ごみの場合、作業員がごみの袋を拾い上げてパッカー車に投入する作業時間である。ユーザインタフェース（対話型画面）からこの値を登録することができ、変更された場合はこの値が更新される。顧客割当工程Ｓ２の運搬経路問題（ＶＲＰ）の手法による最適化計算時に、この収集時間が反映される。
【００８５】
（工場での作業時間）
ＶＲＰ実行のための設定ファイルに、工場１３での作業にかかる時間（例えば、初期値５分）を登録しておくことにより、１回の搬入ごとの作業時間を制約時間に反映させることができる。この工場での作業時間は、例えば、パッカー車の入場時計量と退場時計量、およびパッカー車からのダンプ処理などに要する時間である。ユーザインタフェースからこの値を登録することができ、変更された場合はこの値が更新される。顧客割当工程Ｓ２の運搬経路問題（ＶＲＰ）の手法による最適化計算時に、この収集時間が反映される。
【００８６】
（結果出力画面）
図９と図１０は、それぞれ経路算出方法を実行するコンピュータにおける結果出力画面６２の構成例と、その画面の操作例とを示す。画面６２は、結果参照６ｂのメニューを選択した場合の画面である。画面６２の中央ペインの上部に条件表示欄６２ａ、下部に地図表示欄６２ｂがあり、右上ペインに算出結果の諸元要約欄６２ｃがあり、右下ペインに顧客住所欄６２ｄがある。条件表示欄６２ａには経路算出の条件が示され、地図表示欄６２ｂには経路算出対象エリアの地図に算出された経路と各顧客のノードが重ねて示されている。
【００８７】
（経路地図の表示）
結果作成プログラム５（図５参照）は、曜日、車両の種類ごとに、各能率における最短経路を計算し、次のような各種結果を出力する。すなわち、車両群データのＪＳＯＮファイル５ｃや、経路と顧客の情報を保持するシェープファイル５ｄのほか、各能率における経路長、経過時間、顧客の需要量の合計、経由する顧客数等を保持するＣＳＶファイル等である。結果出力画面６２上で、車種と能率を指定することにより、これらのデータを基に、図９、図１０に示すように、画面に経路や顧客の位置等を示す地図と共に、その能率の所要時間や総移動距離が表示される。
【００８８】
（各顧客に立ち寄る時刻、各能率回の所要時間）
ＶＲＰ実行のための設定ファイルに、初期値時速として顧客を巡っている最中の平均時速、作業初期値として１回の収集にかかる時間、工場作業として工場１３における１回の搬入に係る時間、初期値最大時速として工場１３への往復時の最高時速を登録しておく。これらの項目の内容に各道路の平均混雑度を加味することにより、各顧客ｃに立ち寄る時刻、各能率回の所要時間などが自動で算出され、これをユーザが参照することができる。例えば、図１０に示すように、地図表示欄６２ｂにおいて、顧客のノードｎをクリックすることにより、その顧客についての立ち寄り時刻などが表示され、参照できる。
【００８９】
なお工場１３へまたは工場１３からの移動時の速さは、例えば、初期値最大時速として設定された速さの８割の速さとして計算される。この割合は、変更可能としてもよく、例えば、同ファイルに平均時速率という項目を設けて、この値を変えることによって工場１３への行き帰りの移動時速を任意に設定可能にしてもよい。
【００９０】
（顧客入力データの構成）
図１１は、顧客に関する情報を表示する画面６３を示し、図１２は、その情報の入力データの構成を示す。図１１の画面６３において、左側ペインに顧客一覧、上部ペインに車種などの車両情報６３ａ、中央ペインに顧客ごとの入力データ欄６３ｂがある。
【００９１】
（各顧客に車種を割り当てる。）
顧客割当工程Ｓ２の運搬経路問題（ＶＲＰ）の解法は、距離行列生成工程Ｓ１で生成される各顧客の情報を保持する顧客ＣＳＶファイル３ｃ（図５参照）を入力として実行される。当該ファイルは各顧客の緯度経度等の属性を保持しており、属性の一つとして管轄事務所（デポ）や各顧客を経由する車両１２の種類も定義されている。経路算出計算の実行時には、ユーザが事務所や車両１２の種類を選択する。経路最適化システム２（図６）は、ユーザによって指定された事務所と車種を参照して、指定された事務所と車種を属性として有する顧客の集合を計算の対象として顧客割当工程Ｓ２を実行する。従って、同じ道路に面する異なる顧客が互いに異なる車種の車両を属性として有する場合、互いに異なる経路に割り付けられる。
【００９２】
画面６３における顧客ごとの入力データ欄６３ｂには、顧客の住所情報の他に、曜日ごとの荷物の種類Ａ，Ｂ，Ｃ（例えば、燃やせるごみ、ビンや缶、資源ごみなどの種別）、その予想重量などの入力項目がある。予想重量は、顧客ごとに積算され、その積算値が積載量制約条件との比較の対象となる。
【００９３】
さらに、顧客の特徴として、ａ徒歩現場、ｂ大型現場、ｃマンション、ｄビルの鍵が必要、ｅ集団回収などの選択チェック項目がある。それぞれ、例えば、ａパッカー車から所定距離以上歩いて集荷する現場、ｂ一般の家庭ごみ以外の大型ごみ、ｃ大型ごみボックス入りのごみ、ｄ門やごみ保管場所が鎖錠されている現場、ｅ資源ごみの集団回収、などに対応する。また、回収方向の項目に、両側回収と片側回収の種別がある（後述、図１８、図１９参照）。
【００９４】
（Ｓ作業とＷ作業）
図１３（ａ）に示すように、１台の車両１２に対し、この車両に乗車して移動する作業者ｍが、車両の全経路の最後まで一緒に作業組を構成して行う集荷の作業が通常の作業として想定され、この作業をＳ作業と呼ぶ。
【００９５】
図１３（ｂ）に示すように、２台の車両１２に対し、これらの車両を乗り換えて移動する作業者ｍが、工場１３への移動を開始する前に一方の車両から下車し、他方の車両に乗り換えて集荷を継続する作業をＷ作業と呼ぶ。このＷ作業は、搬入先の工場１３までの距離が長い場合に、作業車ｍの時間が工場への移動時間に費やされることなく、集荷作業を継続できる点で、効率的である。このＷ作業の場合、デポを出てデポに戻る一連の経路に沿って、最初から最後まで連続的に移動するのは作業者ｍであり、車両１２ではない。この点で、通常の運搬経路問題（ＶＲＰ）とは異なっている。
【００９６】
経路算出プログラム、経路最適化システム、および経路算出方法において、ユーザは、これらのＳ作業とＷ作業のいずれの作業区分も任意に選択することができる。作業区分の選択設定は、例えば、図８の画面６１を通して行うことができる。また、このＳ作業とＷ作業による作業区分の振り分けは任意に設定できるので、デポを出てデポに戻る一連の経路における分割経路ごとに、すなわち能率ごとに、例えば、工場１３への移動が長距離の場合に選択的にＷ作業を設定すればよい。
【００９７】
なお、顧客割当工程Ｓ２の運搬経路問題（ＶＲＰ）を解く際には、この工程Ｓ２が顧客割当の工程であるので、Ｓ作業とＷ作業による作業区分の違いは、時間的な制約条件に差があるだけである。例えば、Ｗ作業の場合、顧客の荷物を収集後、別車両１２がすぐに迎えに来るので、制約時間を設定する際に、全体の制限時間から工場１３への搬入に要する時間を差し引くことはしない。
【００９８】
（各車種の積載率）
ＶＲＰ実行のための設定ファイルに、積載率を登録することができる。積載率は、車両に決められた法定の最大許容積載量に乗算する割合であり、乗算によって得られる量が、経路最適化システムにおいて車両１２に設定される積載量上限となる。ユーザインタフェースからこの値を登録することができ、変更された場合はこの値が更新される。
【００９９】
（積載量制約条件）
積載量制約条件に基づいて、各車両１２の積載量が規定された積載量上限を超えないように、荷物を工場１３へ搬入する必要がある。顧客割当工程Ｓ２において運搬経路問題（ＶＲＰ）の手法で算出された経路を、経路分割工程Ｓ３で分割する際に、各能率における積載量が均等になるように分割する。これは、例えば、最終回の能率において、極端に積載量が少なくなり過ぎないようにするためである。
【０１００】
また、各能率における積載量は、状況により多少、設定の上限を超過することはあるが、これを極力なくすために、積載量の余裕値を設定しておき、（最大積載量×積載率×能率回数）からこの値を差し引いた荷物量（重量）を全能率での総積載量とする。この処理は、車両ごとに行われる。
【０１０１】
（各能率の積載量を平準化）
各能率回において、積載量が極端に少ないケースが出ないよう、１つの組における各能率の積載量を平準化する。この平準化は、１つの組のなかで、需要が最大の能率について、そのごみ量の一部を他の能率に割り振ることで、例えば、その能率の前後の能率に割り振ることで、能率の最大値だったごみ量が少なくなるようにする。ただし、ＶＲＰ実行のための設定ファイルに、能率に分割しない距離を設定しておくことで、立ち寄る順序が連続している顧客であって、位置が互いに近隣にある（所定距離内の）顧客間についいては、別々の能率に分かれないように調整する。
【０１０２】
（道路の幅員と車両幅、通行の制約）
図１４、図１５、図１６を参照して、道路の幅員と車両幅に関する制約について説明する。図１４の経路図Ｍ０は、大型車では通行不可能な道路を移動経路として含む道路網Ａ、および大型車が通行可能な幅員を持つ道路を経路とする道路網Ｂの２パターンの経路を含んでいる。経路図Ｍ１（図１５（ａ））と経路図Ｍ２（図１５（ｂ））は、道路網Ａに対応し、図１６は、道路網Ｂに対応する。
【０１０３】
道路網Ａは、全車種混合の道路網であり、小型車は当然通行可能であるが、大型車が通る場合は通行可能な道路を選択する必要がある。道路網Ｂは、大型車が通行可能な道路網であり、小型車は当然通行可能である。距離行列精製工程Ｓ１では、これらの２つの道路網Ａ，Ｂに対応する２パターンの道路距離行列がそれぞれ生成される。
【０１０４】
（通行可否の判定）
最も大型な車両の車幅Ｗを、Ｗ＝２４９ｃｍ（大型ダンプ車）と想定する。道路の幅員Ｄが、Ｗより４０ｃｍ大きいＤ＝Ｗ＋４０＝２８９ｃｍの場合、大型車でも通行可能な道路とする。また、道路の幅員Ｄがその値未満、Ｄ＜２８９ｃｍの場合、大型車は通行不可の道路として設定する。
【０１０５】
ＶＲＰ実行のための設定ファイルに、大型の車種（つまりＤ＝２８９ｃｍ以上の道路しか通行できない車種）を登録することにより、顧客に対し大型の車種を属性として持たせることができる。そのような属性を有する顧客へは、大型車でも通行可能な道路網Ｂのみ用いて経路を算出するという制約条件を課して、対応することができる。
【０１０６】
（地図データにおいて幅員情報が未登録の道路）
距離行列生成工程Ｓ１において参照される地図データは、市販の地図データに基づいて得られる。市販の地図データの車道情報ファイルにおいて、道路幅員のレコードがある道路とない道路の２種類がある。このような市販の地図データに基づいて、大型車では通行不可能な幅狭な道路を含む道路網Ａと、大型車が通行可能な幅員を持つ道路の道路網Ｂとの２パターンの道路距離行列を生成する場合、次のように処理する。
【０１０７】
（幅員レコードがある道路）
（１）２車線以上の道路の場合、大型車も通行可能な幅員があるので、その道路の長さを道路網Ａ，Ｂの両方に設定する。
（２）１車線の道路であって具体的な幅員値が設定されている場合、道路幅が２８９ｃｍ以上であればその道路の長さを道路網Ａ，Ｂの両方に設定し、２８９ｃｍ未満であればその道路の長さを道路網Ａに設定し、道路網Ｂには無限大（通行不可）と設定する。
（３）１車線の道路で幅員が「未調査」または「未舗装」などとされている場合、その道路の長さを道路網Ａに設定し、道路網Ｂには無限大（通行不可）と設定する。
【０１０８】
（幅員レコードがない道路）
道路幅２８９ｃｍ未満として道路網Ａに道路の長さを設定し、道路網Ｂには無限大（通行不可）と設定する。
【０１０９】
（近隣の顧客は同一の車両、同一の能率で立ち寄る）
近隣地区に所在する顧客については、集荷作業の効率化や作業員に分かり易くするため、顧客をグルーピング（クラスタ化）することにより、同一の組が担当するように設定する。同様の理由により、近隣地区に所在する顧客については能率に分割しないように設定する。この設定は、ＶＲＰ実行のための設定ファイルに能率に分割しない距離を登録しておくことで実現される。経路最適化システムは、経由順序に基づいて隣接した顧客間の距離を確認し、ここで設定された距離内に位置する場合は、その隣接した顧客が互いに異なる能率に別れないように調整する。
【０１１０】
（高速道路と有料道路の扱い）
一般的に顧客を巡る最中に高速道路は使用しないが、一部の指定された高速道路は、工場１３への搬入経路として対象にする。市販の地図データは国道、一般道、細道路、高速道路等、道路の種類によって道路ファイルが分かれている。処理の最初に地図データを読み込む際には、これらすべての道路ファイルを読み込み対象とするが、その際、高速道路ファイルの場合は、名称を参照して指定した高速道路のみ読み込まれるようにする。
【０１１１】
一般道として地図データに登録されている有料道路について、使用されない場合、対象外とする。一般道路の中には有料道路もあり、使用しないように指定した有料道路は、一般道の道路ファイルを読み込む際、対象外として読み込まれないようにする。
【０１１２】
（一方通行について）
図１７（ａ）に示すように、経路に方向制約がない場合、隣接する顧客ノードｎｃ１，ｎｃ２間で、双方向に移動可能である。距離行列生成工程Ｓ１において、最初に道路距離を計算する際、地図データの道路情報から一方通行か否かの情報を参照する。一般的な道路は双方向に同値の距離コストを持つ有向グラフとして扱うことができるが、一方通行の場合は単一方向にのみ有限の距離コストを持ち、多方向は無限大の距離コスト（通行不可）となる。
【０１１３】
図１７（ｂ）に示すように、経路に方向制約がある一方通行の経路の場合、隣接する顧客ノードｎｃ１，ｎｃ２間で、ノードｎｃ１からノードｎｃ２に到達するためには、道路ノードｎｒ１，ｎｒ４，ｎｒ３，ｎｒ２を経由する遠回りの移動になる。道路距離を計算する際、距離コストを参照してこのような経路が算出される。
【０１１４】
（両側回収と片側回収）
図１８乃至図２１を参照して、道路の特性による両側回収と片側回収とを説明する。図１８（ａ）（ｂ）、および図２０に示すように、大きな通りではない場合、道路沿いの顧客の荷物を集荷（回収）する際に、車両の進行方向に関して、道路の左側の顧客だけでなく、道路の右側の顧客からも荷物を集める（回収する）両側回収が可能になる。
【０１１５】
道路の両側（左右）に位置する顧客のｃ１，ｃ２，ｃ３のそれぞれの顧客ノードｎｃ１，ｎｃ２，ｎｃ３は、道路ノードｎｒ１，ｎｒ２間のいずれの方向の経路上にも、経路方向を区別することなく、設定することができる。言い換えれば、両方向回収可能な道路については、道路の一方通行の制約を、あまり受けないことになる。
【０１１６】
図１９（ａ）（ｂ）、および図２１に示すように、大通り沿いの顧客の場合、回収のために反対車線に車両１２を停車させ作業員が道路を横断するということをせず、片側ずつ回収する片側回収になる。この場合、道路ノードｎｒ１，ｎｒ２間の経路は、互いに重ならない２つの有向経路となる。ここで、例えば道路ノードｎｒ１から道路ノードｎｒ２に向かう方向を基準にして道路の左右を決める。
【０１１７】
道路の左側に位置する顧客のｃ１，ｃ３のそれぞれの顧客ノードｎｃ１，ｎｃ３は、道路ノードｎｒ１から道路ノードｎｒ２に向かう経路上に設定される。また、道路右側に位置する顧客のｃ２の顧客ノードｎｃ２は、道路ノードｎｒ２から道路ノードｎｒ１に向かう経路上に設定される。このように、片側回収の場合、一方通行の道路と同様の制約をうけることになる。
【０１１８】
距離行列生成工程Ｓ１において、顧客データを入力する際、地図データの道路情報から両側回収可能か否かの情報を参照し、事前に登録される顧客データに、その顧客の回収方法を設定しておく。経路最適化システムにおいては、有向グラフを採用し、道路ノード間の経路に、両側収集（大通り）または片側収集（一方通行や狭路）の情報を反映させ、その情報を最適経路計算に使用することとする。
【０１１９】
（道路情報と道路ノードの追加）
図２２、図２３、図２４を参照して、地図データに登録されていない道路の追加と登録について説明する。狭小道路や新しい道路などのように、地図データに登録されていない道路沿いに経路作成の対象となる顧客ｃが存在する場合、その道路の情報をシステムに追加登録する。市販の道路データには、私道等の狭小道路が登録されていないことが多いため、ユーザが、地図画面上から道路データとして追加すべき道路を目視で判断し、新規追加できる構成とする。
【０１２０】
図２２に示すように、設定された経路Ｒから離れた位置に顧客ｃ１，ｃ２，ｃ３が位置しており、地図データとしては登録されていないが、それぞれの顧客ｃに接近可能な道路がある場合が想定される。この場合、画面上で、経路Ｒ上の道路ノードｎｒ１，ｎｒ２をポイント（クリック）して選択し、新規追加する道路を接続する相手先である既存の経路Ｒを指定する。次に、追加する新規経路の始点ｐ１、終点ｐ２となる２点をポイントして設定する。
【０１２１】
すると、図２３に示すように、顧客ｃ１に隣接した新規経路Ｒ１が追加される。同様に、経路Ｒ１に対して、新規経路Ｒ２，Ｒ３を追加することにより、それぞれ顧客ｃ２，ｃ３に接近可能な経路が得られる。このようなユーザによる追加の操作によって、経路最適化システム２は、指定された既存経路Ｒや新規追加の経路Ｒ１，Ｒ２，Ｒ３の始点ノード、終点ノードの緯度経度をＣＳＶファイルに登録する。図２４は、ＣＳＶファイルに登録されたデータ例を示す。このＣＳＶファイルは、距離行列生成工程Ｓ１において、距離行列生成プログラムによって参照されるファイルである。
【０１２２】
（徒歩経路の追加）
顧客ノードの位置まで、車両が移動するのが適当でない場合に、顧客ノードの位置まで徒歩で集荷に行く場合があり、そのような徒歩経路の追加と登録について、図２５、図２６、図２７を参照して説明する。狭小道路等に面する顧客について、その現場まで車両１２で移動せず、近辺の道路に車両１２を停車させ、徒歩で立ち寄るように、顧客の属性を指定することができる。そのような場合には、指定された停車位置をシステムに登録した上で経路の最適化を実施する。
【０１２３】
図２５に示すように、経路Ｒから離れた顧客ｃ１に対して、徒歩経路を設定する。まず、画面上で、経路Ｒ上の道路ノードｎｒ１，ｎｒ２をポイント（クリック）して停車する既存の経路Ｒを指定する。次に、停車位置ｐ１を選択し、さらに顧客ｃ１の位置を選択する。
【０１２４】
すると、図２６に示すように、経路Ｒの近くに停車位置Ｐが追加され、停車位置Ｐから顧客ｃ１までの徒歩経路ＲＷが設定される。このようなユーザによる操作によって、経路最適化システム２は、設定された停車位置Ｐと徒歩集荷の対象の顧客ｃ１の位置の緯度経度をＣＳＶファイルに登録する。図２７は、ＣＳＶファイルに登録されたデータ例を示す。このＣＳＶファイルは、距離行列生成工程Ｓ１において、距離行列生成プログラムによって参照される。この場合、顧客距離行列を生成する際の顧客ノードは、停車位置に設定される。
【０１２５】
（道路幅員の手動登録）
地図データに幅員情報が登録されていない道路については、画面上で、ユーザが、幅員の手動登録をすることができる。市販の道路データには道路幅の設定されていない道路も多いため、そのような道路については、ＣＳＶファイルに道路に固有の番号を記載することで幅員情報を登録しておく。距離行列生成工程Ｓ１において、距離行列生成プログラムは、このＣＳＶファイルの情報も参照しながら２パターンの道路網Ａ，Ｂ（図１４乃至図１６とその説明参照）を生成する。
【０１２６】
（搬入先工場登録画面）
図２８に示すように、データ登録６ｃのメニューを選択した場合の搬入先工場登録画面６４において、複数の工場１３とそれぞれの受け入れ可能量とを登録することができる。このような受け入れ可能量が登録されることにより、複数の工場１３が搬入先として指定された場合に、各受け入れ可能量を考慮して、各車両１２の搬入先の工場１３を適切に振り分けることができる。
【０１２７】
（工場振り分け指定）
図２９に示すように、条件入力画面６１における振り分け選択ボタン６１ｅをクリックすることにより、搬入対象工場の一覧表６１ｇが表示される。各工場１３の受け入れ可能量の総量が顧客の荷物量の総量よりも大きければ、最適化実行時、最初に、図２８に示される各工場１３の受け入れ可能量を参照して、各工場１３の搬入可能量割合に基づいて、荷物の総量を按分し、各荷物の搬入先工場１３をシステムが指定する。その上で、通常の経路最適化処理（順路決定工程Ｓ５）が行われる。
【０１２８】
（台数計算）
図３０（ａ）に示すように、条件入力画面６１における台数計算ボタン６１ｆをクリックすることにより、当該デポ（事務所）で担当するエリアで使用する車両の台数計算の画面６５が表示される。必要な車両１２の台数は、曜日、車種、搬入先工場などの情報に余裕率を追加することによって得られる。画面６５において、余裕率を入力し、「計算」ボタンをクリックすることにより、図３０（ｂ）に示すように、必要な車両１２の台数がシステムによって算出され表示される。当該エリアでの作業が全てＳ作業の場合、組数と台数とは同じであり、「組数に設定する」ボタンをクリックすることにより、台数が決定される。
【０１２９】
必要な車両１２の台数は、以下のように算出される。各荷物の詳細情報は、各顧客の荷物（ごみ）の予想量も含めて、例えば、ごみＣＳＶファイルに保存され、このＣＳＶファイルに当該顧客エリアを担当するデポ（事務所）の情報も登録される。逆に、デポを指定することにより、そのデポが対象とする全顧客が指定される。従って、事務所（デポ）が指定されている画面６５が表示された時点で、そのデポによって工場１３に搬入される総荷物量（ごみの総量）の予想値を台数計算に使用可能である。
【０１３０】
ごみの総量Ｇ、車両の最大積載規定量を厳しめにするため差し引く量を決める余裕率Ｙ、能率１回当たりの収集ごみ量の平均値Ｍ、能率の回数Ｎ、および必要な台数Ｘの表記を用いると、指定された車種で必要となる台数Ｘは、Ｘ＝Ｇ／（（１−Ｙ）・Ｍ・Ｎ）によって求められる。この計算は、組数を求めものであり、Ｓ作業の場合に組数が台数に一致することにより、台数Ｘ＝組数、として求めている（Ｗ作業を行う組がｋ組あれば、ｋ台を追加する）。
【０１３１】
なお、本発明は、上記構成に限られることなく種々の変形が可能である。例えば、上述した各実施形態の構成を互いに組み合わせた構成とすることができる。
【符号の説明】
【０１３２】
１    経路算出プログラム
２    経路最適化システム（コンピュータ）
２ａ    距離行列生成部
２ｂ    顧客割当部
２ｃ    経路分割部
２ｄ    順路決定部
３    距離行列生成プログラム
４    経路計算プログラム
１１  デポ
１２    車両
１３    工場
ｃ、ｃ１，ｃ１１，・・，ｃ２７    顧客
ｎｃ１，ｎｃ２，ｎｃ３    顧客ノード
ｎｒ１，ｎｒ２，ｎｒ３    道路ノード
Ｒ，ＲＷ，Ｒ１，Ｒ２，Ｒ３    経路（道路リンク）
【要約】
【課題】本発明は、大規模運搬経路問題を短時間で解くことができ、実用的な経路を提示できる経路算出プログラム、経路最適化システム、および経路算出方法を提供することを目的とする。
【解決手段】複数の顧客ｃの荷物を、デポ１１を出発した車両１２によって収集して工場１３に搬入する作業において、車両１２がデポ１１を出発し、全顧客ｃを巡ってデポ１１に戻る経路であって、各車両１２に顧客が割り当てられた経路が運搬経路問題（ＶＲＰ）の手法を用いて算出される。得られた経路を積載量の制約条件と荷物量の予想積算値に基づいて分割し、各分割経路に工場１３のノードを追加した上で、巡回セールスマン問題（ＴＳＰ）の手法を用いて、各分割経路を最適化する。
【選択図】図１【図１】
0006739078.tif 000002
【図２】
0006739078.tif 000003
【図３】
0006739078.tif 000004
【図４】
0006739078.tif 000005
【図５】
0006739078.tif 000006
【図６】
0006739078.tif 000007
【図７】
0006739078.tif 000008
【図８】
0006739078.tif 000009
【図９】
0006739078.tif 000010
【図１０】
0006739078.tif 000011
【図１１】
0006739078.tif 000012
【図１２】
0006739078.tif 000013
【図１３】
0006739078.tif 000014
【図１４】
0006739078.tif 000015
【図１５】
0006739078.tif 000016
【図１６】
0006739078.tif 000017
【図１７】
0006739078.tif 000018
【図１８】
0006739078.tif 000019
【図１９】
0006739078.tif 000020
【図２０】
0006739078.tif 000021
【図２１】
0006739078.tif 000022
【図２２】
0006739078.tif 000023
【図２３】
0006739078.tif 000024
【図２４】
0006739078.tif 000025
【図２５】
0006739078.tif 000026
【図２６】
0006739078.tif 000027
【図２７】
0006739078.tif 000028
【図２８】
0006739078.tif 000029
【図２９】
0006739078.tif 000030
【図３０】
0006739078.tif 000031