特許第6739078号(P6739078)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 三東運輸株式会社の特許一覧 ▶ 東京エコサービス株式会社の特許一覧

特許6739078経路算出プログラム、経路最適化システム、および経路算出方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6739078
(24)【登録日】2020年7月27日
(45)【発行日】2020年8月12日
(54)【発明の名称】経路算出プログラム、経路最適化システム、および経路算出方法
(51)【国際特許分類】
   G06Q 10/04 20120101AFI20200730BHJP
   G06Q 10/08 20120101ALI20200730BHJP
   B65G 61/00 20060101ALN20200730BHJP
【FI】
   G06Q10/04 310
   G06Q10/08 300
   !B65G61/00 544
【請求項の数】7
【全頁数】26
(21)【出願番号】特願2020-3975(P2020-3975)
(22)【出願日】2020年1月14日
【審査請求日】2020年1月15日
【早期審査対象出願】
(73)【特許権者】
【識別番号】509017848
【氏名又は名称】三東運輸株式会社
(73)【特許権者】
【識別番号】516283603
【氏名又は名称】東京エコサービス株式会社
(74)【代理人】
【識別番号】100084375
【弁理士】
【氏名又は名称】板谷 康夫
(74)【代理人】
【識別番号】100125221
【弁理士】
【氏名又は名称】水田 愼一
(74)【代理人】
【識別番号】100142077
【弁理士】
【氏名又は名称】板谷 真之
(72)【発明者】
【氏名】小野 良太
(72)【発明者】
【氏名】中島 久美
(72)【発明者】
【氏名】田口 裕康
(72)【発明者】
【氏名】大塚 好夫
(72)【発明者】
【氏名】桑野 雅史
【審査官】 加内 慎也
(56)【参考文献】
【文献】 特開2003-26335(JP,A)
【文献】 特開2019-125341(JP,A)
【文献】 特開2000-331293(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q10/00−99/00
B65G61/00
(57)【特許請求の範囲】
【請求項1】
車両拠点であるデポを出発した1または複数の車両が複数の顧客の荷物を収集して、前記車両に対して指定された工場に搬入するための経路を算出する経路算出プログラムであって、
コンピュータを、
前記デポ、顧客、および工場の各位置に対応するノードの位置情報に基づいて、これらの各ノード間の距離についての距離行列を生成する距離行列生成部と、
前記距離行列と、前記車両と作業員が構成する作業組の数とを用いて、最良解を得ることなく所定の段階で打ち切る前提で、前記車両が前記デポを出発して前記顧客を巡って荷物を収集したあと前記デポに戻る経路について、運搬経路問題(VRP)を解く顧客割当部と、
前記作業組ごとについて、前記顧客割当部によって前記顧客が割り当てられた経路を、前記車両の積載量制約情報と前記各顧客の荷物情報とに基づいて分割した分割経路を算出する経路分割部と、
前記分割経路ごとに、前記作業組が前記デポまたは前記工場から、前記分割経路に含まれる前記顧客を経由して、前記工場に向かう経路について、巡回セールスマン問題(TSP)を解く順路決定部として機能させる、
ことを特徴とする経路算出プログラム。
【請求項2】
前記顧客割当部は、前記車両が前記デポを出発して前記デポに戻るまでの移動時間が所定の時間内となる時間制約条件のもとで前記運搬経路問題(VRP)を解くことを特徴とする請求項1に記載の経路算出プログラム。
【請求項3】
前記所定の時間は、前記車両ごとに、指定された工場からの経路が最も長い顧客から当該工場への移動時間と、当該車両の積載量制約情報を考慮して算出される工場への搬入回数とに基づいて算出される工場搬入時間を、事前に設定された作業時間から差し引いた時間であることを特徴とする請求項2に記載の経路算出プログラム。
【請求項4】
前記顧客割当部は、複数の前記車両における個々の車両が前記デポを出発して前記デポに戻るまでの移動時間を要素とする集合の分散が所定値以下となる時間制約条件のもとで前記運搬経路問題(VRP)を解くことを特徴とする請求項1乃至請求項3のいずれか一項に記載の経路算出プログラム。
【請求項5】
前記経路分割部は、所定距離内で順序が連続する前記顧客間では分割しないことを特徴とする請求項1乃至請求項4のいずれか一項に記載の経路算出プログラム。
【請求項6】
請求項1乃至請求項5のいずれか一項に記載の経路算出プログラムを実行させるコンピュータを備え、車両拠点であるデポを出発した1または複数の車両が複数の顧客の荷物を収集して、前記車両に対して指定された工場に搬入するための経路を求めることを特徴とする経路最適化システム。
【請求項7】
プログラムされたコンピュータによって、車両拠点であるデポを出発した1または複数の車両が複数の顧客の荷物を収集して、前記車両に対して指定された工場に搬入するための経路を算出する経路算出方法であって、
前記デポ、顧客、および工場の各位置に対応するノードの位置情報に基づいて、これらの各ノード間の距離についての距離行列を生成する距離行列生成工程と、
前記距離行列と、前記車両と作業員が構成する作業組の数とを用いて、最良解を得ることなく所定の段階で打ち切る前提で、前記車両が前記デポを出発して前記顧客を巡って荷物を収集したあと前記デポに戻る経路について、運搬経路問題(VRP)を解く顧客割当工程と、
前記作業組ごとについて、前記顧客割当工程によって前記顧客が割り当てられた経路を、前記車両の積載量制約情報と前記各顧客の荷物情報とに基づいて分割した分割経路を算出する経路分割工程と、
前記分割経路ごとに、前記作業組が前記デポまたは前記工場から、前記分割経路に含まれる前記顧客を経由して、前記工場に向かう経路について、巡回セールスマン問題(TSP)を解く順路決定工程とを含むことを特徴とする経路算出方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、運搬経路問題に関連する経路算出プログラム、経路最適化システム、および経路算出方法に関する。
【背景技術】
【0002】
特定エリアに分布した複数の顧客をたどる経路を種々の制約条件のもとで計算機によって算出する問題として、運搬経路問題または車両経路問題(VRP)と巡回セールスマン問題(TSP)とがある。計算機による経路の算出は、顧客をたどる順番の無数の組み合わせの中から、例えば、総経路長がもっとも短くなる経路を検索するための計算であり、顧客をたどる順番の組み合わせごとに行う計算の繰り返しである。これらの問題は顧客数が多い大規模問題である場合、現実的な時間内に厳密解を求めることが非常に困難な問題(NP困難といわれる)であり、種々の近似方法や経験則が提案されている。
【0003】
運搬経路問題(VRP)は、例えば、複数の車両が、車両基地であるデポ(depot)を出発し、特定エリアに分布した複数の顧客に対し荷物を集配または配送して、デポに戻るときのコストを最小とする経路を求める問題である。コスト(目的関数)は、例えば、移動にかかる総時間、総距離、総費用等の移動コストや、必要な車両台数等の資材コストなどである。制約条件は、例えば、積載量制約等の車両に関する制約、車両の幅に対する経路幅(車道幅)や一方通行などの経路に関する制約、所定時間内にデポに戻る等の時間的な制約などである。
【0004】
巡回セールスマン問題(TSP)は、例えば、一人のセールスマンが出発点から出発し、各顧客を1回ずつ訪ねて出発点に戻る際の移動コストを最小とする経路を求める問題である。この巡回セールスマン問題は、運搬経路問題において車両が1台で各種の制約条件がない場合に相当する。
【0005】
運搬経路問題の応用例として、配送荷物を配送容器に入れて顧客に配送し、荷物配送完了後に空容器をメーカに返却する作業を含めた経路問題を解くための配送計画生成方法が提案されている(例えば、特許文献1参照)。
【0006】
また、複数のデポが含まれる大規模な運搬経路問題を積載量制約条件下で解くため、各顧客を最近接のデポに関連づけて顧客をデポごとに分割することにより、各顧客を小集団化する方法が提案されている。この方法は、さらに、各デポから放射状に出る分割線によって、各顧客がデポに関連づけられたいずれかの小集団に含まれ、かつ、各小集団が積載量制約を満たす顧客数となるように各顧客を分割する。この段階の顧客の各小集団は、巡回セールスマン問題の手法で解かれる(例えば、非特許文献1参照)。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2019−28992号公報
【非特許文献】
【0008】
【非特許文献1】伊藤匡志、渡邉真也、榊原一紀著「大規模Vehicle Routing Problemに対する部分問題化と適応的問題統合に基づく新たな探索フレームワークの提案」進化計算学会論文誌 Vol.6,No.3(2015)
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、上述の特許文献1に示されるような運搬経路問題の解法は、応用例として示されているが大規模対応については言及されていない。また、上述の非特許文献1に示されるような運搬経路問題の解法は、大規模化に対応できるものの、その有効性は、デポと各顧客との実際の空間的な相互配置に制約されるので限定的と考えられる。
【0010】
ところで、大規模運搬経路問題に関連する分野に、例えば、日常生活における家庭ごみをパッカー車に収容し、ごみ焼却場に搬入する分野がある。この分野では、例えば、清掃事務所(デポ)を出発した複数のパッカー車(積載量制約のある車両)が、各家庭(顧客)におけるごみを集配してごみ焼却場(工場)に搬入することを繰り返し、最後に、デポに戻る作業が行われる。ごみの排出量は、季節、祝日や行事の有無、曜日などによって変化し、ごみの収集作業は所定時間内に終了する必要があるなど、多くの制約条件のもとで適宜に運搬経路問題を解いて、最適経路を算出する必要がある。
【0011】
このごみ収集の運搬経路問題において、工場は、上述の非特許文献1におけるデポに代わる役割を果たし、清掃事務所が、経路の出発点、帰着点であるデポとして設定されている。ごみ収集に限らず、このようなデポ、顧客、工場の組み合わせの範疇に分類される大規模運搬経路問題は多数存在し、このような大規模運搬経路問題の実用的な解法が求められている。
【0012】
本発明は、上記課題を解消するものであって、大規模運搬経路問題を短時間で簡便に解くことができ、実用的な経路を提示できる経路算出プログラム、経路最適化システム、および経路算出方法を提供することを目的とする。
【課題を解決するための手段】
【0013】
上記課題を達成するために、本発明の経路算出プログラムは、車両拠点であるデポを出発した1または複数の車両が複数の顧客の荷物を収集して、前記車両に対して指定された工場に搬入するための経路を算出する経路算出プログラムであって、コンピュータを、前記デポ、顧客、および工場の各位置に対応するノードの位置情報に基づいて、これらの各ノード間の距離についての距離行列を生成する距離行列生成部と、前記距離行列と、前記車両と作業員が構成する作業組の数とを用いて、最良解を得ることなく所定の段階で打ち切る前提で、前記車両が前記デポを出発して前記顧客を巡って荷物を収集したあと前記デポに戻る経路について、運搬経路問題(VRP)を解く顧客割当部と、前記作業組ごとについて、前記顧客割当部によって前記顧客が割り当てられた経路を、前記車両の積載量制約情報と前記各顧客の荷物情報とに基づいて分割した分割経路を算出する経路分割部と、前記分割経路ごとに、前記作業組が前記デポまたは前記工場から、前記分割経路に含まれる前記顧客を経由して、前記工場に向かう経路について、巡回セールスマン問題(TSP)を解く順路決定部として機能させる、ことを特徴とする。
【0014】
この経路算出プログラムにおいて、前記顧客割当部は、前記車両が前記デポを出発して前記デポに戻るまでの移動時間が所定の時間内となる時間制約条件のもとで前記運搬経路問題(VRP)を解いてもよい。
【0015】
この経路算出プログラムにおいて、前記所定の時間は、前記車両ごとに、指定された工場からの経路が最も長い顧客から当該工場への移動時間と、当該車両の積載量制約情報を考慮して算出される工場への搬入回数とに基づいて算出される工場搬入時間を、事前に設定された作業時間から差し引いた時間であってもよい。
【0016】
この経路算出プログラムにおいて、前記顧客割当部は、複数の前記車両における個々の車両が前記デポを出発して前記デポに戻るまでの移動時間を要素とする集合の分散が所定値以下となる時間制約条件のもとで前記運搬経路問題(VRP)を解いてもよい。
【0017】
この経路算出プログラムにおいて、前記経路分割部は、所定距離内で順序が連続する前記顧客間では分割しないようにしてもよい。
【0018】
また、本発明の経路最適化システムは、上記のいずれかの経路算出プログラムを実行させるコンピュータを備え、車両拠点であるデポを出発した1または複数の車両が複数の顧客の荷物を収集して、前記車両に対して指定された工場に搬入するための経路を求めることを特徴とする。
【0019】
また、本発明の経路算出方法は、プログラムされたコンピュータによって、車両拠点であるデポを出発した1または複数の車両が複数の顧客の荷物を収集して、前記車両に対して指定された工場に搬入するための経路を算出する経路算出方法であって、前記デポ、顧客、および工場の各位置に対応するノードの位置情報に基づいて、これらの各ノード間の距離についての距離行列を生成する距離行列生成工程と、前記距離行列と、前記車両と作業員が構成する作業組の数とを用いて、最良解を得ることなく所定の段階で打ち切る前提で、前記車両が前記デポを出発して前記顧客を巡って荷物を収集したあと前記デポに戻る経路について、運搬経路問題(VRP)を解く顧客割当工程と、前記作業組ごとについて、前記顧客割当工程によって前記顧客が割り当てられた経路を、前記車両の積載量制約情報と前記各顧客の荷物情報とに基づいて分割した分割経路を算出する経路分割工程と、前記分割経路ごとに、前記作業組が前記デポまたは前記工場から、前記分割経路に含まれる前記顧客を経由して、前記工場に向かう経路について、巡回セールスマン問題(TSP)を解く順路決定工程とを含むことを特徴とする。
【発明の効果】
【0020】
本発明の経路算出プログラム、経路最適化システム、および経路算出方法によれば、最良解を得ることなく所定の段階で打ち切る前提で運搬経路問題を解き、得られた経路を積載量制約情報と荷物情報に基づいて分割し、分割された経路を巡回セールスマン問題として解くので、より短時間で実用的な経路を提示できる。
【図面の簡単な説明】
【0021】
図1】(a)は本発明の一実施形態に係る経路算出プログラムに採用されている経路算出方法の適用対象の概念図、(b)は同方法の顧客割当工程によって(a)の顧客を割り当てた経路を示す説明図、(c)は(b)の経路を分割して算出した工場に搬入するまでの経路の説明図。
図2】同経路算出方法のフローチャート。
図3】(a)乃至(d)は同経路算出方法における処理を順番に説明する概念図。
図4】(a)は道路ノードと顧客と顧客ノードの位置関係および道路距離行列を示す概念図、(b)は道路ノードの間に組み込まれた顧客ノードおよび顧客距離行列を示す概念図。
図5】同経路算出方法を実行するためのプログラムとデータのブロック構成図。
図6】同経路算出方法を実行するコンピュータのブロック構成図。
図7】同経路算出方法の適用対象である顧客に対して複数のデポが対応可能である場合の例を示す概念図。
図8】同経路算出方法を実行するコンピュータの条件入力画面構成の例を示す図。
図9】同経路算出方法を実行するコンピュータの結果出力画面構成の例を示す図。
図10】同結果出力画面の操作例を示す図。
図11】同経路算出方法における顧客に関する入力データの構成例を示すコンピュータ画面の図。
図12】同入力データの構成例を示すコンピュータ画面を展開した図。
図13】(a)は同経路算出方法におけるS作業の概念を説明する図、(b)は同W作業の概念を説明する図。
図14】同経路算出方法における道路網について経路と顧客ノードとを地図上に示して説明する図。
図15】(a)は図14のM1部分の拡大図、(b)は同M2部分の拡大図。
図16図14のM3部分の拡大図であって大型車の経路と顧客ノードを地図上に示して説明する図。
図17】(a)は同経路算出方法において経路に方向制約がない場合の顧客ノード間の移動を説明する図、(b)は同経路に方向制約がある場合の顧客ノード間の移動を説明する図。
図18】(a)は同経路算出方法において道路の左右への接近に制約がなく両側回収が可能な場合の顧客ノードの設定を説明する図、(b)は同顧客ノードを経由する移動を説明する図。
図19】(a)は同経路算出方法において道路の左右への接近に制約があって両側回収が不可能な場合の顧客ノードの設定を説明する図、(b)は同顧客ノードを経路の方向制限のもとで経由する移動を説明する図。
図20図18(b)の移動と両側回収の対象となる道路を画像で説明する図。
図21図19(b)の移動と片側回収の対象となる道路を画像で説明する図。
図22】同経路算出方法における地図データへの道路ノード追加を説明する図。
図23図22に道路ノードと経路を追加した図。
図24】デジタル地図データにおける道路の両端の道路ノードとその道路に対して追加される道路の両端の道路ノードのそれぞれの位置座標の例を示す図。
図25】同経路算出方法における地図データへの徒歩経路追加を説明する図。
図26図25に停車位置と徒歩経路を追加した図。
図27】デジタル地図データにおける徒歩対象の顧客位置と道路の両端の道路ノードとその道路に対して追加される停車位置のそれぞれの位置座標の例を示す図。
図28】同経路算出方法における搬入先工場登録画面構成の例を示す図。
図29】同経路算出方法における工場振り分け指定の画面構成の例を示す図。
図30】(a)(b)は同経路算出方法における台数計算の処理を説明する画面構成の例を示す図。
【発明を実施するための形態】
【0022】
以下、本発明の一実施形態に係る経路算出プログラム、経路最適化システム、および経路算出方法について、図面を参照して説明する。
【0023】
(経路算出方法の概要)
まず本発明の経路算出プログラムに採用されている経路算出方法の概要を図1を参照して説明する。本方法は、図1(a)に示すように、特定のエリア10に分布する複数の顧客cの荷物を車両拠点であるデポ11を出発した1または複数(本例では2台)の車両12によって収集して工場13に搬入する作業において、車両12の移動経路を自動算出する方法である。本実施形態において、顧客cはごみの集積所、その荷物は家庭ごみ、車両12はごみを圧縮運搬するパッカー車、工場13はごみ焼却場、そして、デポ11はごみの収集運搬業務を管理運営する事務所である、という設定で説明する。エリア10は、デポ11が業務を担当する、例えば町内などである。これらの設定は例示であり、本発明はこの設定に限定されるものではない。
【0024】
図1(b)に示すように、2台の車両12が、それぞれデポ11を出発し、全顧客cを巡ってデポ11に戻る経路が算出される。この図の例では、一方の車両12が顧客c11からc17を順番に巡り、他方の車両12が顧客c21からc27を順番に巡る経路がそれぞれ算出されている。このデポ11から顧客cを経てデポ11に戻る一連の経路が算出されることにより、各車両12に顧客が割り当てられる。
【0025】
この図に示されてないが、各顧客cに至る道路があり、その道路の各要所ごとに道路を規定する道路ノードが設定されており、それらの道路ノードを選択しながらたどることにより各顧客c(顧客ノード)に立ち寄ることができる。なお、本明細書では、隣接するノード間を結ぶ線を経路とよび、連続する経路の集合も経路とよぶ。また、経路の計算には、市販のデジタル道路地図データベースを使うことができ、その中で、道路が、道路ノードと、各道路ノード間を結ぶ経路(リンク、道路リンク、道路などと呼ばれる)で定義されている。そこで、本願では、経路と道路とを特に区別なく用いる。
【0026】
このような経路を求める問題には、運搬経路問題(VRP)の手法を用いることができる。最良解を望まなければ、各車両12に顧客が割り当てられた経路を、容易に短時間で得られる。
【0027】
各顧客cの荷物の重量は、事前の調査によって予想値を設定できる。そこで、デポからデポへの一巡の経路に沿って、経路上の顧客ごとの荷物量の積算値が得られる。車両には、一般に積載量の制約がある。そこで積載量が制約値を超えないように、荷物量の積算値が制約値に近づいた段階で、積算値をゼロに戻し、次の顧客から積算を再開する。例えば、一方の車両12については、顧客c13を経由した段階P1で積算値はゼロとされ、顧客c14から始めた積算値はデポへの帰着前の顧客c17を経由後に制約内である。同様に、他方の車両12は、顧客c22を経由した段階P2で1回だけ積算値がゼロとされている。
【0028】
このような段階P1,P2において、各一巡りの経路が分割され、その分割点の両側に位置する顧客c13,c14および顧客c22,c23のそれぞれと工場13とが関連づけられる。また、各車両12に対して帰路を与えるため、工場13からデポ11への関連づけがなされる。分割で得られた経路は、(デポ、顧客、工場)または(工場、顧客、工場、デポ)の経路であり、一般的には(工場、顧客、工場)や(デポ、顧客、工場、デポ)または(デポ、顧客、作業員を下ろすためデポ、工場、デポ)などの経路もあり得る。
【0029】
このように分割された各経路は、移動の短時間化または短距離化などの観点から最適化された経路とは限らず、最適化の余地がある。そのような最適化された経路の探索は、例えば、顧客cを巡る順番を最適化することで行われる。順番の最適化は、図中に現れていない道路について、どの道路ノードを経由する道路(つまり経路)を通るかを新たに決定する探索である。
【0030】
各分割経路は、積載量が制約値以下とされているので、制約条件を考慮することなく巡回経路を最適化することができる。このような巡回経路の最適化は、巡回セールスマン問題(TSP)の手法を用いて、数の少ない顧客ノードを対象にして容易に短時間で行うことができる。図1(c)は、以上の手法を用いて算出された、最適な経路を示している。
【0031】
(経路算出方法の詳細な説明)
次に、図2図3図4を参照して、本発明の経路算出方法の詳細な説明をする。経路算出方法は、道路距離、道路幅や通行規制のほか、車両12の積載量の制限、収集に係る時間等を考慮しつつ、車幅や積載量の異なる複数種類の車両12が、指定された顧客の需要(荷物)を運搬(収集)し、指定された工場13に搬入する最小コスト(例えば最短距離)の経路を求めるように構成される。図2に示すように、本方法は、距離行列生成工程S1、顧客割当工程S2、経路分割工程S3、工場挿入工程S4、および順路決定工程S5を備えている。
【0032】
(距離行列生成工程S1)
この工程S1では、デポ11、顧客c、および工場13の各位置に対応するノードの位置情報に基づいて、これらの各ノード間の距離についての距離行列が生成される。この工程S1では、距離行列の生成に限られず、経路算出に必要な種々の制約条件の設定、初期設定(例えば顧客cごとの荷物量の予想値の設定)などが行われる。また、距離行列の用語は、経路算出に必要なデータの行列または配列等を含む広い意味で用いられ、例えば、時間行列、コスト行列なども含むことができる。
【0033】
距離そのものを表す距離行列には、車両12が走行する道路の各要所に設定される道路ノード間の相互の距離を表す道路距離行列と、顧客cに対応させて顧客cの最寄りの道路上に設定される顧客ノード間の相互の距離を表す顧客距離行列がある。
【0034】
なお、本方法が、経路最適化システムとして荷物収集の管理現場(デポ等)で用いられて経路が算出される場合、顧客の種々のデータが最適化計算の入力とされる。これらのデータは、経路算出の制約条件として用いられるか、または、顧客へのサービス向上のために用いられる。そのような顧客のデータは、事前に収集されて、この工程S1において経路最適化システムに登録される。
【0035】
顧客のデータは、例えば、各顧客について、顧客の位置、住所、現場の写真、顧客の種類(徒歩で荷物を回収する現場か大型の現場か等の特徴)、回収方向(双方向の道路の場合に、どちらの向きに走行していても立ち寄り可能な双方向収集可能な顧客か否かの区別)、その顧客に割り当てるべき車種、荷物の種類、荷物の種類ごとの収集曜日、曜日ごとの荷物の量(重量kg)等である。顧客の位置と住所は、カメラのGPS機能等を用いることにより、現場の写真を撮影することで自動的に取得することができる。
【0036】
ここで、道路距離行列と顧客距離行列の生成を説明する。図4(a)に示すように、3つの道路ノードnr1,nr2,nr3がこの順に2つの道路を生成しており、各道路に隣接して最寄りの顧客c1,c2が位置している場合を考える(顧客の位置に対応する顧客ノードnc1,nc2が最寄りの道路ノード間の道路上に設定される)。各道路ノードによって行と列を定義し、各ノード間の距離を行列要素の値として、道路距離行列が設定される。道路距離行列は、対角要素の値が0の対称行列である。
【0037】
道路ノードは、例えば、市販のデジタル地図データの道路情報から直接読み込まれ、ノード間の距離が計算される。道路距離行列には、工場13とデポ11のノードに関する距離も含まれる。なお、荷物の収集に複数種類の車両12を用いる場合のことを考慮して、例えば、大型車が通行不可能な幅狭道路を含む全道路を表す道路網Aと、大型車が通行可能な幅員を持つ道路網Bとの2パターンの道路距離行列を生成してもよい。これらの道路距離行列は、一つにまとめた大きな距離行列として生成してもよい。
【0038】
顧客については、図4(b)に示すように、地図データの道路情報を用いて顧客の位置を道路上に移動させて道路上に顧客ノードnc1,nc2として再構成し、顧客ノード間の距離を行列要素の値として、顧客距離行列が設定される。顧客ノード間の距離は、例えば、一方の顧客ノードから出発して道路ノードをたどって他の顧客ノードに至るまでの、隣接ノード間の距離を積算した最短の距離である。この行列も、対角要素が0の対称行列である。顧客の位置を道路上に移動させる再構成の処理は、作業者による手作業またはコンピュータによる全自動または一部全自動の何れで行ってもよい。
【0039】
(顧客割当工程S2)
この工程S2では、距離行列と、車両12と作業員が構成する作業組の数とを用いて、最良解を得ることなく所定の段階で打ち切る前提で、車両12がデポ11を出発して顧客cを巡って荷物を収集したあとデポ11に戻る経路を算出するため運搬経路問題(VRP)が解かれる。算出される経路は、作業組ごとに決まる、デポを出てデポに戻る一連の経路であり、作業組の数が2ならば一連の経路が2つ算出される。作業組の数は、通常は、車両の台数と同じである。
【0040】
ここで、「作業組」(単に「組」とも記す)の用語は、例えば、1台の車両12と作業を行う作業員2名(運転手は含まない)のグループのことであり、デポを出てデポに戻る一連の経路に結びついた概念を表す。この一連の経路に対し作業組が一対一に対応する。しかしながら、この一連の経路に対して車両が途中で変わることが許容される場合もある。例えば、2台の車両がこの一連の経路に関与することもあり得る(図13のS作業、W作業参照)。この作業組の単位のもとで(言い換えれば、デポを出てデポに戻る一連の経路に属する顧客の集合に対し)、多数の顧客の全ての荷物を工場13に搬入するため、工場13へ複数回、搬入することが想定される。
【0041】
また、作業組が行う作業を時間的および空間的に区切る概念として、「能率」の用語を導入する。能率は、1台の車両12が空の状態から荷物を集めて工場に搬入するまでの一群の作業を指す。能率は、車両がデポを出てデポに戻る一連の経路を分割して得られる巡回サラリーマン問題(TSP)の対象である各分割経路を指す。この「能率」の用語は、工場13への搬入作業に1対1に対応する。デポ11が担当するエリアに含まれる顧客は何れかの能率に含まれる。デポ11が担当する作業は、能率の集合である。
【0042】
個々の能率は、どの車両でどの作業者が(つまりどの作業組が)何回目の工場搬入作業を行ったか、によって全て識別される。顧客割当工程S2によって得られる、1台の車両が(つまり通常のS作業の場合)デポを出てデポに戻る一連の経路(より厳密には、分割して工場を挿入した後の経路)は、その共通の車両によって特徴付けられる能率の集合を定義する。その集合の中で、経路の順に1回目の能率、2回目の能率などと順序づけられる。
【0043】
経路の算出に際し、本方法の使用者(ユーザ)が指定する曜日、車両12の種類、台数、能率回数、能率ごとの搬入先の工場13、作業制約時間などの制約条件を課すことができ、その制約条件のもとで、車両12の総数による運搬経路問題(VRP)が解かれる。複数台の車両を用いる場合、各顧客を経由する車両12の種類(車種)について、制約条件を課してもよい。各車両12の経路は、種々の制約条件の下で、例えば、工程S1で生成された距離行列に基づき、各車両12の車幅を考慮して探索される。運搬経路問題(VRP)の解法については、例えば、総走行距離をより最短に近づけるか、経路算出時間をより短くするかのいずれか、または両方を達成するなどのための、種々の手法が提案されている。
【0044】
時間的な制約条件のもとで経路を算出する場合は、例えば、車両がデポを出発してデポに戻るまでの移動時間が所定の時間内となる時間制約条件のもとで運搬経路問題(VRP)を解く。これは、複数の車両が関与する場合に、移動距離および作業時間が車両間で大きくばらつくことを防止できる。
【0045】
また、上記の時間制約条件における所定の時間は、例えば、指定されたエリアにおいて、指定された各搬入先工場13への距離が最も長い顧客に関して、その顧客から工場13への移動時間を算出し、能率回数を考慮した上、制約条件によって設定された時間枠から、工場13への搬入時間の合計時間(最後の工場への搬入時間を除いた往復の合計時間と最後の片道の搬入時間の和)を差し引いた時間とする。
【0046】
また、複数の車両における個々の車両がデポを出発してデポに戻るまでの移動時間を要素とする集合の分散が所定値以下となる時間制約条件のもとで運搬経路問題(VRP)を解くようにしてもよい。これは、移動距離、作業時間、および能率回数が、車両間で大きくばらつくことを防止できる。
【0047】
この工程S2の主たる目的は、車両12ごとに収集を担当する顧客cを割り付けることである。本方法における車両12ごとの経路の算出には、この主たる目的に沿って、運搬経路問題(VRP)の解法の手法に基づいた、またはその手法を応用または変形した、様々の手法を用いればよい。なお、車両12の台数は、複数台に限られず1台であってもよく、この点において、通常一般的な複数車両を対象とする運搬経路問題(VRP)とは異なる。
【0048】
図3(a)は、2台の車両12がデポ11を出発して顧客を経由した後にデポ11に戻るそれぞれの経路Rを、運搬経路問題(VRP)の手法を用いて算出する様子を示す。
【0049】
(経路分割工程S3)
この工程S3では、作業組ごとについて、顧客割当工程S2によって顧客cを割り当てられた経路が、車両12の積載量制約情報と各顧客cの荷物情報とに基づいて分割され、「能率」が定義されることになる。車両12の積載量制約情報と各顧客cの荷物情報は、距離行列生成工程S1において、本方法で用いるデータとして登録されている。この分割の結果、顧客の数が、分割前の経路の顧客の数よりも少なくなった、分割経路が算出される。分割経路のそれぞれが、個々の能率に対応する。デポからデポへの一連の経路が、能率ごとに分割されたことになる。
【0050】
図3(b)は、2台の車両12の一方について、経路Rが、各ポイントP1,・・,P4において分割され、1回目から5回目の能率(分割経路)が算出される様子を示す。
【0051】
(工場挿入工程S4)
この工程S4では、各分割経路に対し、各車両12についてそれぞれ指定された工場13のノードが挿入される。つまり、次の順路決定工程S5において巡回セールスマン問題(TSP)を解くための準備がなされる。この工程は、経路分割工程S3に含めてもよく、順路決定工程S5に含めてもよい。
【0052】
図3(c)は、経路Rが、各ポイントP1,・・,P4において、工場13のノードを挿入される様子を示す。なお、本実施形態においては、最後の能率(5回目の能率)における工場への搬入は、一旦デポに立ち寄って作業員を下ろし、車両と運転手のみが工場へ行く設定としている。この最後の能率における工場搬入をどうするかについては、本実施形態の例に限定されず、例えば工場とデポの立地条件などに応じて、任意に設定してもよい。
【0053】
(順路決定工程S5)
この工程S5では、分割経路ごとに、作業組がデポ11または工場13から、分割経路に含まれる顧客cを経由して、工場13に向かう経路について、巡回セールスマン問題(TSP)が解かれる。この工程S5では、各分割経路ごとに、その経路に含まれる道路ノード、顧客ノード、および工場13のノード、さらにデポ11のノードが含まれていればデポのノードを含めて、これらのノードの集合について、巡回セールスマン問題として解き直すことになる。この解き直しによって、総経路長の短縮等が行われ、経路の最適化がなされる。
【0054】
図3(d)は、各能率(分割経路)ごとに、巡回セールスマン問題として解き直し、経路最適化を行う様子を示す。
【0055】
上記のように、本方法は、計算時間を短時間に抑えながら、極力、車両12の走行距離を最小に近づけた最適経路を算出する方法である。長時間かけてVRP解法の計算をし続ければより良い解が得られるはずであるが、ユーザビリティを考慮して、計算時間を短時間で打ち切り、その上で極短時間でTSPを実行することにより、経路最適化を効率化している。このように、TSPの計算処理が短時間で済むのは、TSPによる計算処理が各分割経路における数の少ない顧客ノードを対象にして行われるからである。
【0056】
最適化経路を算出する際に使用する組数または車両台数は、ユーザが任意に指定可能としてもよい。そのためには、VRP実行のための設定ファイルに、各車両12の情報と共に、ユーザにより入力された組数を登録し、能率ごとの搬入先工場の設定を、その組数分行うようにすればよい。
【0057】
なお、VRP実行のための設定ファイルは、顧客割当工程S2において運搬経路問題(VRP)を解く際の条件設定用に、選択肢を含めて条件を記録した、例えば、CSVファアイル(テキストデータファイル)である。このVRP実行のための設定ファイルは、運搬経路問題(VRP)を解く際に参照される以外に、順路決定工程S5において巡回サラリーマン問題(TSP)を解く経路最適化の計算実行の際の条件設定などにも用いられ、その内容が参照される。従って、VRP実行のための設定ファイルは、TSP実行のための設定ファイルでもある。VRPを広義にとらえ、VRPの概念にTSPが含まれると考えてもよい。以下において、「VRP実行のための設定ファイル」の用語は、このような意味で用いられる。
【0058】
また、順路決定工程S5において最適化経路を算出する際の能率の回数は、ユーザが任意に指定可能としてもよい。そのためには、VRP実行のための設定ファイルに、ユーザにより入力される能率の回数分、指定された搬入先を設定するようにすればよい。工場挿入工程S4において、組ごと、能率ごとの搬入先が設定される。
【0059】
デポ11と呼ばれる点を出発した車両が、顧客を経由し、再びデポ11に戻る。ここで、デポ11として指定される事務所は、ユーザが任意に指定可能としてもよい。そのために、本方法を実行するプログラムが参照する入力データ格納ディレクトリに、指定が想定される事務所の情報(緯度経度等)を登録したCSVファイルを保存しておく。VRP実行のための設定ファイルに、ユーザにより指定された事務所が登録されることにより、その登録された事務所をデポ11として設定して、VRPを解くことができる。
【0060】
複数のデポ11を切り替えて用いることが想定される場合は、同様の入力データ格納ディレクトリを複数準備しておき、経路算出プログラムの実行時に、オプションで使用するディレクトリを指定することで、デポ11を変更すればよい。なお、デポ11として指定された事務所に戻るのは、能率ごとではなく、その車両または組の作業が終了した後である。
【0061】
(経路算出プログラムと経路最適化システム)
次に、図5図6を参照して、経路算出方法を実行するためのプログラムである経路算出プログラム、および経路算出と結果表示などに用いられるデータとプログラム、さらに本経路算出方法を実行するコンピュータシステム、すなわち経路最適化システムについて説明する。
【0062】
図5に示すように、本発明に係る経路算出プログラム1は、距離行列生成プログラム3と、経路計算プログラム4とを備えている。経路計算プログラム4は、顧客割当プログラム、経路分割プログラム、工場挿入プログラムおよび順路決定プログラムを備えている。
【0063】
経路算出プログラム1を構成するこれらの距離行列生成プログラム3、顧客割当プログラム、経路分割プログラム、工場挿入プログラム、および順路決定プログラムは、それぞれ、経路算出方法における距離行列生成工程S1、顧客割当工程S2、経路分割工程S3、工場挿入工程S4、および順路決定工程S5を実行するために用いられる。経路算出プログラム1は、さらに結果を出力するための結果作成プログラム5を備えてもよく、結果作成プログラム5によって作成された表示用のデータを画面表示6として表示することにより、対話形式で、経路算出を進めることができ、最適化向上が図られる。
【0064】
経路算出プログラム1は、顧客データベースDBcに記録された各顧客の位置情報、荷物量その他の情報と、地図データベースDBmに記録された道路情報とを参照して経路生成を実行する。これらのデータベースDBc,DBmには、経路算出に用いられる種々の制約条件も記録されている。
【0065】
距離行列生成プログラム3は、データベースDBc,DBmのデータを用いて、距離行列3a、時間行列3b、顧客CSVファイル3c、道路データファイル3d、およびグラフ3eを生成する。経路計算プログラム4は、距離行列3a、時間行列3b、および顧客CSVファイル3cを参照して、最適化された経路を算出する。経路計算プログラム4による計算結果は、経路情報4a、実行時間4b、および設定4cとして保存される。
【0066】
結果作成プログラム5は、経路計算プログラム4による計算結果である経路情報4aと実行時間4bのデータ、および距離行列生成プログラム3が生成するデータを参照して、例えば、4種類のファイルを作成する。そのファイルは、コスト一覧CSVファイル5a、計算時間グラフ画像ファイル5b、JSON形式のテキストファイルである経路別JSONファイル5c、経路別シェープファイル5dである。結果作成プログラム5は、これらのファイルのデータと経路計算プログラム4から直接得られるデータとを用いて、画面表示6のデータを作成する。
【0067】
図6に示すように、本発明に係る経路最適化システム2は、CPU(中央演算処理装置)20と、ハードディスク21と、各種の周辺機器である通信部22、ランダムアクセスメモリ(RAM)23、入力操作部24、およびディスプレイ25と、を備えたコンピュータによって構成されている。なお、図6では、本経路最適化システム2が、一つのコンピュータによって構成されている場合の例を示したが、本経路最適化システム2は、複数のコンピュータから構成されていてもよい。
【0068】
CPU20は、距離行列生成部2a、顧客割当部2b、経路分割部2c、順路決定部2dを備えている。これらの各部2a,2b,2c,2dは、それぞれ、距離行列生成工程(S1)、顧客割当工程(S2)、経路分割工程(S3)と工場挿入工程(S4)、および順路決定工程(S5)を実行する。
【0069】
ハードディスク21には、コンピュータ2を機能させて、車両拠点であるデポを出発した1または複数の車両が複数の顧客の荷物を収集して、車両に対して指定された工場に搬入するための経路を算出する経路算出プログラム1が保存されている。経路算出プログラム1は、より具体的には、コンピュータ2のCPU20を、距離行列生成工程(S1)を実行する距離行列生成部2a、顧客割当工程(S2)を実行する顧客割当部2b、経路分割工程(S3)と工場挿入工程(S4)を実行する経路分割部2c、および順路決定工程(S5)を実行する順路決定部2dとして機能させるプログラムである。
【0070】
上述のように、本発明の実施形態に係る経路算出プログラム、経路最適化システム2、および経路算出方法によれば、最良解を得ることなく所定の段階で打ち切る前提で運搬経路問題を解き、得られた経路を積載量制約情報と荷物情報に基づいて分割し、分割された経路を巡回セールスマン問題として解くので、より短時間で実用的な経路を提示できる。
【0071】
以下では、主に経路最適化システム2を念頭において、上述した実施形態に対する変形例およびコンピュータの画面表示例を用いた具体的な実施例などについて説明する。
【0072】
(複数のデポがある場合)
図7に示すように、経路算出方法の適用対象に、複数(本例では2つ)のデポ11a,11bが含まれる場合がある。本例では、さらに、顧客cが各デポ11a,11bの管轄エリア10a,10bごとに分離されている。このような場合には、各エリア10a,10bごとに、それぞれ各デポ11a,11bが互いに独立に対応できるため、互いに別個の経路算出問題として解いて、経路最適化を行うことができる。
【0073】
この図7の例とは異なり、例えば、エリア10a,10bを併合したエリア(エリア10とする)における顧客cに対して、2つのデポ11a,11bが共同で対応する場合や、エリア10を、曜日や収集する荷物の種別によって、2つのデポ11a,11b(デポ11で総称)が交代で対応する場合があり得る。
【0074】
このような場合のために、距離行列生成工程S1において参照されるデータに、各デポ11a,11bの位置情報やノード情報を登録しておき、ユーザによって、または予め設定される予定に従って自動的に、デポ11を選択可能としておけばよい。
【0075】
(条件入力画面)
図8は、経路算出方法を実行するコンピュータにおける条件入力画面61の構成例を示す。この画面61は、通常のマウス等のポインタを用いて対話型で操作でき、ユーザが操作することによってデータの入力や選択、閲覧、画面変更などができる構成とされている。画面61の左側のペイン(窓枠)には、最適化実行6a、結果参照6b、データ登録6c、およびダウンロード6dのメニューが設けられている。
【0076】
この図の画面61は、最適化実行6aのメニューを選択した場合の画面である。画面61の右側ペインの中央に複数の条件欄61a、その下方に搬入工場欄61b、右側に時間設定欄61c、そして右下方に計算開始ボタン61dが設けられている。振り分け選択ボタン61eと台数計算ボタン61fについては、それぞれ図29図30を参照して後述する。
【0077】
(経路算出条件の設定)
条件欄61aは、経路最適化を行うための条件を入力または選択する欄であり、事務所すなわちデポ、荷物の種類、曜日、車種、組数、作業区分、および能率回数の欄がある。各欄のプルダウンメニューから、事前に登録済みの選択肢を選択するか、またはその場で新たに記入登録することができる。なお、作業区分の欄のS作業については後述する(図13参照)。
【0078】
(能率ごとに搬入先工場を指定)
搬入工場欄61bにおいて、各能率ごとに搬入先となる工場13を指定することができる。VRP実行のための設定ファイルに、想定しうる搬入先の工場13の情報を事前に登録しておく。ユーザは、搬入工場欄61bからこの設定ファイルを呼び出して、能率回ごとに指定する搬入先の工場13を選択して設定する。これにより、各能率回ごとの搬入先工場の指定を容易に行える。
【0079】
(作業の開始時刻および終了時刻や休憩時間を指定)
時間設定欄61cにおいて、顧客からの集荷と工場搬入の作業が実行完了されるべき時間(時刻)制約条件が、休憩時間とともに設定される。ユーザが入力し作業開始時刻と作業終了時刻から、休憩時間および工場13への搬入に係る時間tを差し引いて、時間制約の条件(すなわち制約時間h)が設定される。
【0080】
この制約時間hは、全車両12がデポ11を出発、集荷、工場搬入を終了して、デポ11に戻るまでに要する総作業時間の上限値である。制約時間hが設定される場合、この総作業時間の上限値内に全ての作業が終了するように、経路が算出されなければならない。この制約時間hは、顧客割当工程S2と順路決定工程S5のいずれにおいても適用される。また、工程S2での制約時間h2と、工程S5での制約時間h5とを互いに異ならせて、例えば、後者ではより厳しく(h2>h5)してもよい。
【0081】
制約時間hは、VRP実行のための設定ファイルに記述される。例えば、ユーザが入力した作業時間が8時から15時であり、休憩が1時間である場合、工場13への搬入時間を考慮する必要がない(t=0)場合、(15−8)−1=6によって、制約時間h=6(時間)として設定ファイルに記述される。
【0082】
工場13への搬入がある(t≠0)場合、その時間tは、ユーザが入力した能率をnとしたとき、指定されたエリアにおいて指定された工場13まで最も遠い顧客cの位置から工場13までの走行距離を算出し、その距離を走行する道路の最高時速の8割の速度で割って工場13までの最大移動時間Tを計算した上で、下式で算出される。
t=(n−1)×2×(工場13への最大移動時間T)。
【0083】
また、最後に工場13へ搬入する際の片道分の移動時間も算出され、制約時間hからさらに差し引かれ、制約がより厳しく設定される。休憩時間の入力については、例えば、作業時間が5時間以上の場合1時間、5時間未満の場合は30分に予め設定しておき、システムが自動的に選択するようにしてもよい。
【0084】
(顧客当たりの収集時間)
VRP実行のための設定ファイルに、収集にかかる時間(例えば、初期値20秒)を登録しておくことにより、顧客当たりの収集時間を制約時間に反映させることができる。この収集に係る秒数は、荷物が家庭ごみの場合、作業員がごみの袋を拾い上げてパッカー車に投入する作業時間である。ユーザインタフェース(対話型画面)からこの値を登録することができ、変更された場合はこの値が更新される。顧客割当工程S2の運搬経路問題(VRP)の手法による最適化計算時に、この収集時間が反映される。
【0085】
(工場での作業時間)
VRP実行のための設定ファイルに、工場13での作業にかかる時間(例えば、初期値5分)を登録しておくことにより、1回の搬入ごとの作業時間を制約時間に反映させることができる。この工場での作業時間は、例えば、パッカー車の入場時計量と退場時計量、およびパッカー車からのダンプ処理などに要する時間である。ユーザインタフェースからこの値を登録することができ、変更された場合はこの値が更新される。顧客割当工程S2の運搬経路問題(VRP)の手法による最適化計算時に、この収集時間が反映される。
【0086】
(結果出力画面)
図9図10は、それぞれ経路算出方法を実行するコンピュータにおける結果出力画面62の構成例と、その画面の操作例とを示す。画面62は、結果参照6bのメニューを選択した場合の画面である。画面62の中央ペインの上部に条件表示欄62a、下部に地図表示欄62bがあり、右上ペインに算出結果の諸元要約欄62cがあり、右下ペインに顧客住所欄62dがある。条件表示欄62aには経路算出の条件が示され、地図表示欄62bには経路算出対象エリアの地図に算出された経路と各顧客のノードが重ねて示されている。
【0087】
(経路地図の表示)
結果作成プログラム5(図5参照)は、曜日、車両の種類ごとに、各能率における最短経路を計算し、次のような各種結果を出力する。すなわち、車両群データのJSONファイル5cや、経路と顧客の情報を保持するシェープファイル5dのほか、各能率における経路長、経過時間、顧客の需要量の合計、経由する顧客数等を保持するCSVファイル等である。結果出力画面62上で、車種と能率を指定することにより、これらのデータを基に、図9図10に示すように、画面に経路や顧客の位置等を示す地図と共に、その能率の所要時間や総移動距離が表示される。
【0088】
(各顧客に立ち寄る時刻、各能率回の所要時間)
VRP実行のための設定ファイルに、初期値時速として顧客を巡っている最中の平均時速、作業初期値として1回の収集にかかる時間、工場作業として工場13における1回の搬入に係る時間、初期値最大時速として工場13への往復時の最高時速を登録しておく。これらの項目の内容に各道路の平均混雑度を加味することにより、各顧客cに立ち寄る時刻、各能率回の所要時間などが自動で算出され、これをユーザが参照することができる。例えば、図10に示すように、地図表示欄62bにおいて、顧客のノードnをクリックすることにより、その顧客についての立ち寄り時刻などが表示され、参照できる。
【0089】
なお工場13へまたは工場13からの移動時の速さは、例えば、初期値最大時速として設定された速さの8割の速さとして計算される。この割合は、変更可能としてもよく、例えば、同ファイルに平均時速率という項目を設けて、この値を変えることによって工場13への行き帰りの移動時速を任意に設定可能にしてもよい。
【0090】
(顧客入力データの構成)
図11は、顧客に関する情報を表示する画面63を示し、図12は、その情報の入力データの構成を示す。図11の画面63において、左側ペインに顧客一覧、上部ペインに車種などの車両情報63a、中央ペインに顧客ごとの入力データ欄63bがある。
【0091】
(各顧客に車種を割り当てる。)
顧客割当工程S2の運搬経路問題(VRP)の解法は、距離行列生成工程S1で生成される各顧客の情報を保持する顧客CSVファイル3c(図5参照)を入力として実行される。当該ファイルは各顧客の緯度経度等の属性を保持しており、属性の一つとして管轄事務所(デポ)や各顧客を経由する車両12の種類も定義されている。経路算出計算の実行時には、ユーザが事務所や車両12の種類を選択する。経路最適化システム2(図6)は、ユーザによって指定された事務所と車種を参照して、指定された事務所と車種を属性として有する顧客の集合を計算の対象として顧客割当工程S2を実行する。従って、同じ道路に面する異なる顧客が互いに異なる車種の車両を属性として有する場合、互いに異なる経路に割り付けられる。
【0092】
画面63における顧客ごとの入力データ欄63bには、顧客の住所情報の他に、曜日ごとの荷物の種類A,B,C(例えば、燃やせるごみ、ビンや缶、資源ごみなどの種別)、その予想重量などの入力項目がある。予想重量は、顧客ごとに積算され、その積算値が積載量制約条件との比較の対象となる。
【0093】
さらに、顧客の特徴として、a徒歩現場、b大型現場、cマンション、dビルの鍵が必要、e集団回収などの選択チェック項目がある。それぞれ、例えば、aパッカー車から所定距離以上歩いて集荷する現場、b一般の家庭ごみ以外の大型ごみ、c大型ごみボックス入りのごみ、d門やごみ保管場所が鎖錠されている現場、e資源ごみの集団回収、などに対応する。また、回収方向の項目に、両側回収と片側回収の種別がある(後述、図18図19参照)。
【0094】
(S作業とW作業)
図13(a)に示すように、1台の車両12に対し、この車両に乗車して移動する作業者mが、車両の全経路の最後まで一緒に作業組を構成して行う集荷の作業が通常の作業として想定され、この作業をS作業と呼ぶ。
【0095】
図13(b)に示すように、2台の車両12に対し、これらの車両を乗り換えて移動する作業者mが、工場13への移動を開始する前に一方の車両から下車し、他方の車両に乗り換えて集荷を継続する作業をW作業と呼ぶ。このW作業は、搬入先の工場13までの距離が長い場合に、作業車mの時間が工場への移動時間に費やされることなく、集荷作業を継続できる点で、効率的である。このW作業の場合、デポを出てデポに戻る一連の経路に沿って、最初から最後まで連続的に移動するのは作業者mであり、車両12ではない。この点で、通常の運搬経路問題(VRP)とは異なっている。
【0096】
経路算出プログラム、経路最適化システム、および経路算出方法において、ユーザは、これらのS作業とW作業のいずれの作業区分も任意に選択することができる。作業区分の選択設定は、例えば、図8の画面61を通して行うことができる。また、このS作業とW作業による作業区分の振り分けは任意に設定できるので、デポを出てデポに戻る一連の経路における分割経路ごとに、すなわち能率ごとに、例えば、工場13への移動が長距離の場合に選択的にW作業を設定すればよい。
【0097】
なお、顧客割当工程S2の運搬経路問題(VRP)を解く際には、この工程S2が顧客割当の工程であるので、S作業とW作業による作業区分の違いは、時間的な制約条件に差があるだけである。例えば、W作業の場合、顧客の荷物を収集後、別車両12がすぐに迎えに来るので、制約時間を設定する際に、全体の制限時間から工場13への搬入に要する時間を差し引くことはしない。
【0098】
(各車種の積載率)
VRP実行のための設定ファイルに、積載率を登録することができる。積載率は、車両に決められた法定の最大許容積載量に乗算する割合であり、乗算によって得られる量が、経路最適化システムにおいて車両12に設定される積載量上限となる。ユーザインタフェースからこの値を登録することができ、変更された場合はこの値が更新される。
【0099】
(積載量制約条件)
積載量制約条件に基づいて、各車両12の積載量が規定された積載量上限を超えないように、荷物を工場13へ搬入する必要がある。顧客割当工程S2において運搬経路問題(VRP)の手法で算出された経路を、経路分割工程S3で分割する際に、各能率における積載量が均等になるように分割する。これは、例えば、最終回の能率において、極端に積載量が少なくなり過ぎないようにするためである。
【0100】
また、各能率における積載量は、状況により多少、設定の上限を超過することはあるが、これを極力なくすために、積載量の余裕値を設定しておき、(最大積載量×積載率×能率回数)からこの値を差し引いた荷物量(重量)を全能率での総積載量とする。この処理は、車両ごとに行われる。
【0101】
(各能率の積載量を平準化)
各能率回において、積載量が極端に少ないケースが出ないよう、1つの組における各能率の積載量を平準化する。この平準化は、1つの組のなかで、需要が最大の能率について、そのごみ量の一部を他の能率に割り振ることで、例えば、その能率の前後の能率に割り振ることで、能率の最大値だったごみ量が少なくなるようにする。ただし、VRP実行のための設定ファイルに、能率に分割しない距離を設定しておくことで、立ち寄る順序が連続している顧客であって、位置が互いに近隣にある(所定距離内の)顧客間についいては、別々の能率に分かれないように調整する。
【0102】
(道路の幅員と車両幅、通行の制約)
図14図15図16を参照して、道路の幅員と車両幅に関する制約について説明する。図14の経路図M0は、大型車では通行不可能な道路を移動経路として含む道路網A、および大型車が通行可能な幅員を持つ道路を経路とする道路網Bの2パターンの経路を含んでいる。経路図M1図15(a))と経路図M2図15(b))は、道路網Aに対応し、図16は、道路網Bに対応する。
【0103】
道路網Aは、全車種混合の道路網であり、小型車は当然通行可能であるが、大型車が通る場合は通行可能な道路を選択する必要がある。道路網Bは、大型車が通行可能な道路網であり、小型車は当然通行可能である。距離行列精製工程S1では、これらの2つの道路網A,Bに対応する2パターンの道路距離行列がそれぞれ生成される。
【0104】
(通行可否の判定)
最も大型な車両の車幅Wを、W=249cm(大型ダンプ車)と想定する。道路の幅員Dが、Wより40cm大きいD=W+40=289cmの場合、大型車でも通行可能な道路とする。また、道路の幅員Dがその値未満、D<289cmの場合、大型車は通行不可の道路として設定する。
【0105】
VRP実行のための設定ファイルに、大型の車種(つまりD=289cm以上の道路しか通行できない車種)を登録することにより、顧客に対し大型の車種を属性として持たせることができる。そのような属性を有する顧客へは、大型車でも通行可能な道路網Bのみ用いて経路を算出するという制約条件を課して、対応することができる。
【0106】
(地図データにおいて幅員情報が未登録の道路)
距離行列生成工程S1において参照される地図データは、市販の地図データに基づいて得られる。市販の地図データの車道情報ファイルにおいて、道路幅員のレコードがある道路とない道路の2種類がある。このような市販の地図データに基づいて、大型車では通行不可能な幅狭な道路を含む道路網Aと、大型車が通行可能な幅員を持つ道路の道路網Bとの2パターンの道路距離行列を生成する場合、次のように処理する。
【0107】
(幅員レコードがある道路)
(1)2車線以上の道路の場合、大型車も通行可能な幅員があるので、その道路の長さを道路網A,Bの両方に設定する。
(2)1車線の道路であって具体的な幅員値が設定されている場合、道路幅が289cm以上であればその道路の長さを道路網A,Bの両方に設定し、289cm未満であればその道路の長さを道路網Aに設定し、道路網Bには無限大(通行不可)と設定する。
(3)1車線の道路で幅員が「未調査」または「未舗装」などとされている場合、その道路の長さを道路網Aに設定し、道路網Bには無限大(通行不可)と設定する。
【0108】
(幅員レコードがない道路)
道路幅289cm未満として道路網Aに道路の長さを設定し、道路網Bには無限大(通行不可)と設定する。
【0109】
(近隣の顧客は同一の車両、同一の能率で立ち寄る)
近隣地区に所在する顧客については、集荷作業の効率化や作業員に分かり易くするため、顧客をグルーピング(クラスタ化)することにより、同一の組が担当するように設定する。同様の理由により、近隣地区に所在する顧客については能率に分割しないように設定する。この設定は、VRP実行のための設定ファイルに能率に分割しない距離を登録しておくことで実現される。経路最適化システムは、経由順序に基づいて隣接した顧客間の距離を確認し、ここで設定された距離内に位置する場合は、その隣接した顧客が互いに異なる能率に別れないように調整する。
【0110】
(高速道路と有料道路の扱い)
一般的に顧客を巡る最中に高速道路は使用しないが、一部の指定された高速道路は、工場13への搬入経路として対象にする。市販の地図データは国道、一般道、細道路、高速道路等、道路の種類によって道路ファイルが分かれている。処理の最初に地図データを読み込む際には、これらすべての道路ファイルを読み込み対象とするが、その際、高速道路ファイルの場合は、名称を参照して指定した高速道路のみ読み込まれるようにする。
【0111】
一般道として地図データに登録されている有料道路について、使用されない場合、対象外とする。一般道路の中には有料道路もあり、使用しないように指定した有料道路は、一般道の道路ファイルを読み込む際、対象外として読み込まれないようにする。
【0112】
(一方通行について)
図17(a)に示すように、経路に方向制約がない場合、隣接する顧客ノードnc1,nc2間で、双方向に移動可能である。距離行列生成工程S1において、最初に道路距離を計算する際、地図データの道路情報から一方通行か否かの情報を参照する。一般的な道路は双方向に同値の距離コストを持つ有向グラフとして扱うことができるが、一方通行の場合は単一方向にのみ有限の距離コストを持ち、多方向は無限大の距離コスト(通行不可)となる。
【0113】
図17(b)に示すように、経路に方向制約がある一方通行の経路の場合、隣接する顧客ノードnc1,nc2間で、ノードnc1からノードnc2に到達するためには、道路ノードnr1,nr4,nr3,nr2を経由する遠回りの移動になる。道路距離を計算する際、距離コストを参照してこのような経路が算出される。
【0114】
(両側回収と片側回収)
図18乃至図21を参照して、道路の特性による両側回収と片側回収とを説明する。図18(a)(b)、および図20に示すように、大きな通りではない場合、道路沿いの顧客の荷物を集荷(回収)する際に、車両の進行方向に関して、道路の左側の顧客だけでなく、道路の右側の顧客からも荷物を集める(回収する)両側回収が可能になる。
【0115】
道路の両側(左右)に位置する顧客のc1,c2,c3のそれぞれの顧客ノードnc1,nc2,nc3は、道路ノードnr1,nr2間のいずれの方向の経路上にも、経路方向を区別することなく、設定することができる。言い換えれば、両方向回収可能な道路については、道路の一方通行の制約を、あまり受けないことになる。
【0116】
図19(a)(b)、および図21に示すように、大通り沿いの顧客の場合、回収のために反対車線に車両12を停車させ作業員が道路を横断するということをせず、片側ずつ回収する片側回収になる。この場合、道路ノードnr1,nr2間の経路は、互いに重ならない2つの有向経路となる。ここで、例えば道路ノードnr1から道路ノードnr2に向かう方向を基準にして道路の左右を決める。
【0117】
道路の左側に位置する顧客のc1,c3のそれぞれの顧客ノードnc1,nc3は、道路ノードnr1から道路ノードnr2に向かう経路上に設定される。また、道路右側に位置する顧客のc2の顧客ノードnc2は、道路ノードnr2から道路ノードnr1に向かう経路上に設定される。このように、片側回収の場合、一方通行の道路と同様の制約をうけることになる。
【0118】
距離行列生成工程S1において、顧客データを入力する際、地図データの道路情報から両側回収可能か否かの情報を参照し、事前に登録される顧客データに、その顧客の回収方法を設定しておく。経路最適化システムにおいては、有向グラフを採用し、道路ノード間の経路に、両側収集(大通り)または片側収集(一方通行や狭路)の情報を反映させ、その情報を最適経路計算に使用することとする。
【0119】
(道路情報と道路ノードの追加)
図22図23図24を参照して、地図データに登録されていない道路の追加と登録について説明する。狭小道路や新しい道路などのように、地図データに登録されていない道路沿いに経路作成の対象となる顧客cが存在する場合、その道路の情報をシステムに追加登録する。市販の道路データには、私道等の狭小道路が登録されていないことが多いため、ユーザが、地図画面上から道路データとして追加すべき道路を目視で判断し、新規追加できる構成とする。
【0120】
図22に示すように、設定された経路Rから離れた位置に顧客c1,c2,c3が位置しており、地図データとしては登録されていないが、それぞれの顧客cに接近可能な道路がある場合が想定される。この場合、画面上で、経路R上の道路ノードnr1,nr2をポイント(クリック)して選択し、新規追加する道路を接続する相手先である既存の経路Rを指定する。次に、追加する新規経路の始点p1、終点p2となる2点をポイントして設定する。
【0121】
すると、図23に示すように、顧客c1に隣接した新規経路R1が追加される。同様に、経路R1に対して、新規経路R2,R3を追加することにより、それぞれ顧客c2,c3に接近可能な経路が得られる。このようなユーザによる追加の操作によって、経路最適化システム2は、指定された既存経路Rや新規追加の経路R1,R2,R3の始点ノード、終点ノードの緯度経度をCSVファイルに登録する。図24は、CSVファイルに登録されたデータ例を示す。このCSVファイルは、距離行列生成工程S1において、距離行列生成プログラムによって参照されるファイルである。
【0122】
(徒歩経路の追加)
顧客ノードの位置まで、車両が移動するのが適当でない場合に、顧客ノードの位置まで徒歩で集荷に行く場合があり、そのような徒歩経路の追加と登録について、図25図26図27を参照して説明する。狭小道路等に面する顧客について、その現場まで車両12で移動せず、近辺の道路に車両12を停車させ、徒歩で立ち寄るように、顧客の属性を指定することができる。そのような場合には、指定された停車位置をシステムに登録した上で経路の最適化を実施する。
【0123】
図25に示すように、経路Rから離れた顧客c1に対して、徒歩経路を設定する。まず、画面上で、経路R上の道路ノードnr1,nr2をポイント(クリック)して停車する既存の経路Rを指定する。次に、停車位置p1を選択し、さらに顧客c1の位置を選択する。
【0124】
すると、図26に示すように、経路Rの近くに停車位置Pが追加され、停車位置Pから顧客c1までの徒歩経路RWが設定される。このようなユーザによる操作によって、経路最適化システム2は、設定された停車位置Pと徒歩集荷の対象の顧客c1の位置の緯度経度をCSVファイルに登録する。図27は、CSVファイルに登録されたデータ例を示す。このCSVファイルは、距離行列生成工程S1において、距離行列生成プログラムによって参照される。この場合、顧客距離行列を生成する際の顧客ノードは、停車位置に設定される。
【0125】
(道路幅員の手動登録)
地図データに幅員情報が登録されていない道路については、画面上で、ユーザが、幅員の手動登録をすることができる。市販の道路データには道路幅の設定されていない道路も多いため、そのような道路については、CSVファイルに道路に固有の番号を記載することで幅員情報を登録しておく。距離行列生成工程S1において、距離行列生成プログラムは、このCSVファイルの情報も参照しながら2パターンの道路網A,B(図14乃至図16とその説明参照)を生成する。
【0126】
(搬入先工場登録画面)
図28に示すように、データ登録6cのメニューを選択した場合の搬入先工場登録画面64において、複数の工場13とそれぞれの受け入れ可能量とを登録することができる。このような受け入れ可能量が登録されることにより、複数の工場13が搬入先として指定された場合に、各受け入れ可能量を考慮して、各車両12の搬入先の工場13を適切に振り分けることができる。
【0127】
(工場振り分け指定)
図29に示すように、条件入力画面61における振り分け選択ボタン61eをクリックすることにより、搬入対象工場の一覧表61gが表示される。各工場13の受け入れ可能量の総量が顧客の荷物量の総量よりも大きければ、最適化実行時、最初に、図28に示される各工場13の受け入れ可能量を参照して、各工場13の搬入可能量割合に基づいて、荷物の総量を按分し、各荷物の搬入先工場13をシステムが指定する。その上で、通常の経路最適化処理(順路決定工程S5)が行われる。
【0128】
(台数計算)
図30(a)に示すように、条件入力画面61における台数計算ボタン61fをクリックすることにより、当該デポ(事務所)で担当するエリアで使用する車両の台数計算の画面65が表示される。必要な車両12の台数は、曜日、車種、搬入先工場などの情報に余裕率を追加することによって得られる。画面65において、余裕率を入力し、「計算」ボタンをクリックすることにより、図30(b)に示すように、必要な車両12の台数がシステムによって算出され表示される。当該エリアでの作業が全てS作業の場合、組数と台数とは同じであり、「組数に設定する」ボタンをクリックすることにより、台数が決定される。
【0129】
必要な車両12の台数は、以下のように算出される。各荷物の詳細情報は、各顧客の荷物(ごみ)の予想量も含めて、例えば、ごみCSVファイルに保存され、このCSVファイルに当該顧客エリアを担当するデポ(事務所)の情報も登録される。逆に、デポを指定することにより、そのデポが対象とする全顧客が指定される。従って、事務所(デポ)が指定されている画面65が表示された時点で、そのデポによって工場13に搬入される総荷物量(ごみの総量)の予想値を台数計算に使用可能である。
【0130】
ごみの総量G、車両の最大積載規定量を厳しめにするため差し引く量を決める余裕率Y、能率1回当たりの収集ごみ量の平均値M、能率の回数N、および必要な台数Xの表記を用いると、指定された車種で必要となる台数Xは、X=G/((1−Y)・M・N)によって求められる。この計算は、組数を求めものであり、S作業の場合に組数が台数に一致することにより、台数X=組数、として求めている(W作業を行う組がk組あれば、k台を追加する)。
【0131】
なお、本発明は、上記構成に限られることなく種々の変形が可能である。例えば、上述した各実施形態の構成を互いに組み合わせた構成とすることができる。
【符号の説明】
【0132】
1 経路算出プログラム
2 経路最適化システム(コンピュータ)
2a 距離行列生成部
2b 顧客割当部
2c 経路分割部
2d 順路決定部
3 距離行列生成プログラム
4 経路計算プログラム
11 デポ
12 車両
13 工場
c、c1,c11,・・,c27 顧客
nc1,nc2,nc3 顧客ノード
nr1,nr2,nr3 道路ノード
R,RW,R1,R2,R3 経路(道路リンク)
【要約】
【課題】本発明は、大規模運搬経路問題を短時間で解くことができ、実用的な経路を提示できる経路算出プログラム、経路最適化システム、および経路算出方法を提供することを目的とする。
【解決手段】複数の顧客cの荷物を、デポ11を出発した車両12によって収集して工場13に搬入する作業において、車両12がデポ11を出発し、全顧客cを巡ってデポ11に戻る経路であって、各車両12に顧客が割り当てられた経路が運搬経路問題(VRP)の手法を用いて算出される。得られた経路を積載量の制約条件と荷物量の予想積算値に基づいて分割し、各分割経路に工場13のノードを追加した上で、巡回セールスマン問題(TSP)の手法を用いて、各分割経路を最適化する。
【選択図】図1
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30