サーバとユーザ端末とがネットワークを介して接続され、ノードとリンクから成る経路探索用道路ネットワークにおいて、始点ノードから、複数の目的地ノードおよび交点ノードを経由し、前記目的地ノードでは、前記目的地ノードごとに予め定めた負荷を、前記負荷の合計が予め定めた制限負荷を超えないように積載して、前記始点ノードに戻る最適ルートを求めるルート算出システムであって、前記サーバは、前記始点ノードと、前記複数の目的地ノードと、前記交点ノードと、前記目的地ノードの前記負荷と、前記制限負荷を含み、距離を重みとしたリンクで接続された重み付きグラフについて、前記始点ノードから前記複数の目的地ノードまでの最短経路を求める最短経路算出手段と、前記最短経路に同じ経路を含む前記目的地ノードのグループを作成するグループ形成手段と、前記グループ形成手段により作成された前記グループに含まれる前記目的地ノードの前記負荷の合計が前記制限負荷を超えない場合に、前記始点ノードから、前記グループに含まれる前記目的地ノードのなかで前記最短経路が最長の前記目的地ノードに行き、前記最短経路の長い順に、前記負荷の合計が前記制限負荷を超えない範囲で前記目的地ノードを経由し、前記始点ノードに戻るルートを抽出する第1のルート抽出手段と、前記グループに含まれる前記目的地ノードの前記負荷の合計が前記制限負荷を超える場合に、前記始点ノードから、前記最短経路が最も長い前記グループに含まれる前記目的地ノードに行き、前記最短経路の長い順に、前記負荷の合計が前記制限負荷を超えない範囲で前記目的地ノードを経由し、前記始点ノードに戻るルートを抽出し、前記グループ内の全ての前記目的地ノードを経由するまで、前記始点ノードから、未経由の前記目的地ノードのうち前記最短経路が最も長い順に、前記負荷の合計が前記制限負荷を超えない範囲で未経由の前記目的地ノードを経由し、前記始点ノードに戻るルートの抽出を繰り返す第2のルート抽出手段と、を具備することを特徴とするルート算出システム。前記サーバは、前記ユーザ端末に、前記始点ノードと、前記複数の目的地ノードと、前記交点ノードと、前記目的地ノードの前記負荷と、前記制限負荷を入力させることによって、前記重み付きグラフを形成するグラフ形成手段、を更に具備することを特徴とする請求項1に記載のルート算出システム。ユーザ端末とネットワークを介して接続され、ノードとリンクから成る経路探索用道路ネットワークにおいて、始点ノードから、複数の目的地ノードおよび交点ノードを経由し、前記目的地ノードでは、前記目的地ノードごとに予め定めた負荷を、前記負荷の合計が予め定めた制限負荷を超えないように積載して、前記始点ノードに戻る最適ルートを求めるサーバであって、前記始点ノードと、前記複数の目的地ノードと、前記交点ノードと、前記目的地ノードの前記負荷と、前記制限負荷を含み、距離を重みとしたリンクで接続された重み付きグラフについて、前記始点ノードから前記複数の目的地ノードまでの最短経路を求める最短経路算出手段と、前記最短経路に同じ経路を含む前記目的地ノードのグループを作成するグループ形成手段と、前記グループ形成手段により作成された前記グループに含まれる前記目的地ノードの前記負荷の合計が前記制限負荷を超えない場合に、前記始点ノードから、前記グループに含まれる前記目的地ノードのなかで前記最短経路が最長の前記目的地ノードに行き、前記最短経路の長い順に、前記負荷の合計が前記制限負荷を超えない範囲で前記目的地ノードを経由し、前記始点ノードに戻るルートを抽出する第1のルート抽出手段と、前記グループに含まれる前記目的地ノードの前記負荷の合計が前記制限負荷を超える場合に、前記始点ノードから、前記最短経路が最も長い前記グループに含まれる前記目的地ノードに行き、前記最短経路の長い順に、前記負荷の合計が前記制限負荷を超えない範囲で前記目的地ノードを経由し、前記始点ノードに戻るルートを抽出し、前記グループ内の全ての前記目的地ノードを経由するまで、前記始点ノードから、未経由の前記目的地ノードのうち前記最短経路が最も長い順に、前記負荷の合計が前記制限負荷を超えない範囲で未経由の前記目的地ノードを経由し、前記始点ノードに戻るルートの抽出を繰り返す第2のルート抽出手段と、を具備することを特徴とするサーバ。ノードとリンクから成る経路探索用道路ネットワークにおいて、始点ノードから、複数の目的地ノードおよび交点ノードを経由し、前記目的地ノードでは、前記目的地ノードごとに予め定めた負荷を、前記負荷の合計が予め定めた制限負荷を超えないように積載して、前記始点ノードに戻る最適ルートを求めるルート算出方法であって、前記始点ノードと、前記複数の目的地ノードと、前記交点ノードと、前記目的地ノードの前記負荷と、前記制限負荷を含み、距離を重みとしたリンクで接続された重み付きグラフについて、前記始点ノードから前記複数の目的地ノードまでの最短経路を求める最短経路算出工程と、前記最短経路に同じ経路を含む前記目的地ノードのグループを作成するグループ形成工程と、前記グループ形成工程により作成された前記グループに含まれる前記目的地ノードの前記負荷の合計が前記制限負荷を超えない場合に、前記始点ノードから、前記グループに含まれる前記目的地ノードのなかで前記最短経路が最長の前記目的地ノードに行き、前記最短経路の長い順に、前記負荷の合計が前記制限負荷を超えない範囲で前記目的地ノードを経由し、前記始点ノードに戻るルートを抽出する第1のルート抽出工程と、前記グループに含まれる前記目的地ノードの前記負荷の合計が前記制限負荷を超える場合に、前記始点ノードから、前記最短経路が最も長い前記グループに含まれる前記目的地ノードに行き、前記最短経路の長い順に、前記負荷の合計が前記制限負荷を超えない範囲で前記目的地ノードを経由し、前記始点ノードに戻るルートを抽出し、前記グループ内の全ての前記目的地ノードを経由するまで、前記始点ノードから、未経由の前記目的地ノードのうち前記最短経路が最も長い順に、前記負荷の合計が前記制限負荷を超えない範囲で未経由の前記目的地ノードを経由し、前記始点ノードに戻るルートの抽出を繰り返す第2のルート抽出工程と、を含むことを特徴とするルート算出方法。コンピュータを、請求項3に記載のサーバとして機能させるためのプログラム。コンピュータを、請求項3に記載のサーバとして機能させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体。しかしながら、特許文献1において提案されている装置は、複数の目的地を距離的に最短になるように回るルートを算出するものであり、目的地での買い物等による荷物の積載については考慮していない。すなわち、自転車、自動車、徒歩等で複数の目的地に行き、買い物をするような状況を考慮していない。このような状況においては、荷物が載りきらない、または持ちきれないという場合があり、特許文献1の装置では、最適なルートを算出することができない。ユーザは、自らが荷物の積載を考慮してルート検索を繰り返し、分担する人数や、自宅へ戻る回数を導き出す必要があった。本発明は、上記の問題を鑑みてなされたものであり、その目的は、複数の目的地ごとに積載する負荷を考慮し、最適なルートを算出するルート算出システム等を提供することである。前述した目的を達するために第1の発明は、サーバとユーザ端末とがネットワークを介して接続され、ノードとリンクから成る経路探索用道路ネットワークにおいて、始点ノードから、複数の目的地ノードおよび交点ノードを経由し、前記目的地ノードでは、前記目的地ノードごとに予め定めた負荷を、前記負荷の合計が予め定めた制限負荷を超えないように積載して、前記始点ノードに戻る最適ルートを求めるルート算出システムであって、前記サーバは、前記始点ノードと、前記複数の目的地ノードと、前記交点ノードと、前記目的地ノードの前記負荷と、前記制限負荷を含み、距離を重みとしたリンクで接続された重み付きグラフについて、前記始点ノードから前記複数の目的地ノードまでの最短経路を求める最短経路算出手段と、前記最短経路に同じ経路を含む前記目的地ノードのグループを作成するグループ形成手段と、前記グループ形成手段により作成された前記グループに含まれる前記目的地ノードの前記負荷の合計が前記制限負荷を超えない場合に、前記始点ノードから、前記グループに含まれる前記目的地ノードのなかで前記最短経路が最長の前記目的地ノードに行き、前記最短経路の長い順に、前記負荷の合計が前記制限負荷を超えない範囲で前記目的地ノードを経由し、前記始点ノードに戻るルートを抽出する第1のルート抽出手段と、前記グループに含まれる前記目的地ノードの前記負荷の合計が前記制限負荷を超える場合に、前記始点ノードから、前記最短経路が最も長い前記グループに含まれる前記目的地ノードに行き、前記最短経路の長い順に、前記負荷の合計が前記制限負荷を超えない範囲で前記目的地ノードを経由し、前記始点ノードに戻るルートを抽出し、前記グループ内の全ての前記目的地ノードを経由するまで、前記始点ノードから、未経由の前記目的地ノードのうち前記最短経路が最も長い順に、前記負荷の合計が前記制限負荷を超えない範囲で未経由の前記目的地ノードを経由し、前記始点ノードに戻るルートの抽出を繰り返す第2のルート抽出手段と、を具備することを特徴とするルート算出システムである。第1の発明により、複数の目的地ごとに積載する負荷を考慮し、最適なルートを算出することが可能になる。また、第1の発明における前記サーバは、前記ユーザ端末に、前記始点ノードと、前記複数の目的地ノードと、前記交点ノードと、前記目的地ノードの前記負荷と、前記制限負荷を入力させることによって、前記重み付きグラフを形成するグラフ形成手段、を更に具備することが望ましい。これによって、ユーザは、所望の重み付きグラフを形成させ、最適なルートを算出させることができる。第2の発明は、ユーザ端末とネットワークを介して接続され、ノードとリンクから成る経路探索用道路ネットワークにおいて、始点ノードから、複数の目的地ノードおよび交点ノードを経由し、前記目的地ノードでは、前記目的地ノードごとに予め定めた負荷を、前記負荷の合計が予め定めた制限負荷を超えないように積載して、前記始点ノードに戻る最適ルートを求めるサーバであって、前記始点ノードと、前記複数の目的地ノードと、前記交点ノードと、前記目的地ノードの前記負荷と、前記制限負荷を含み、距離を重みとしたリンクで接続された重み付きグラフについて、前記始点ノードから前記複数の目的地ノードまでの最短経路を求める最短経路算出手段と、前記最短経路に同じ経路を含む前記目的地ノードのグループを作成するグループ形成手段と、前記グループ形成手段により作成された前記グループに含まれる前記目的地ノードの前記負荷の合計が前記制限負荷を超えない場合に、前記始点ノードから、前記グループに含まれる前記目的地ノードのなかで前記最短経路が最長の前記目的地ノードに行き、前記最短経路の長い順に、前記負荷の合計が前記制限負荷を超えない範囲で前記目的地ノードを経由し、前記始点ノードに戻るルートを抽出する第1のルート抽出手段と、前記グループに含まれる前記目的地ノードの前記負荷の合計が前記制限負荷を超える場合に、前記始点ノードから、前記最短経路が最も長い前記グループに含まれる前記目的地ノードに行き、前記最短経路の長い順に、前記負荷の合計が前記制限負荷を超えない範囲で前記目的地ノードを経由し、前記始点ノードに戻るルートを抽出し、前記グループ内の全ての前記目的地ノードを経由するまで、前記始点ノードから、未経由の前記目的地ノードのうち前記最短経路が最も長い順に、前記負荷の合計が前記制限負荷を超えない範囲で未経由の前記目的地ノードを経由し、前記始点ノードに戻るルートの抽出を繰り返す第2のルート抽出手段と、を具備することを特徴とするサーバである。第3の発明は、ノードとリンクから成る経路探索用道路ネットワークにおいて、始点ノードから、複数の目的地ノードおよび交点ノードを経由し、前記目的地ノードでは、前記目的地ノードごとに予め定めた負荷を、前記負荷の合計が予め定めた制限負荷を超えないように積載して、前記始点ノードに戻る最適ルートを求めるルート算出方法であって、前記始点ノードと、前記複数の目的地ノードと、前記交点ノードと、前記目的地ノードの前記負荷と、前記制限負荷を含み、距離を重みとしたリンクで接続された重み付きグラフについて、前記始点ノードから前記複数の目的地ノードまでの最短経路を求める最短経路算出工程と、前記最短経路に同じ経路を含む前記目的地ノードのグループを作成するグループ形成工程と、前記グループ形成工程により作成された前記グループに含まれる前記目的地ノードの前記負荷の合計が前記制限負荷を超えない場合に、前記始点ノードから、前記グループに含まれる前記目的地ノードのなかで前記最短経路が最長の前記目的地ノードに行き、前記最短経路の長い順に、前記負荷の合計が前記制限負荷を超えない範囲で前記目的地ノードを経由し、前記始点ノードに戻るルートを抽出する第1のルート抽出工程と、前記グループに含まれる前記目的地ノードの前記負荷の合計が前記制限負荷を超える場合に、前記始点ノードから、前記最短経路が最も長い前記グループに含まれる前記目的地ノードに行き、前記最短経路の長い順に、前記負荷の合計が前記制限負荷を超えない範囲で前記目的地ノードを経由し、前記始点ノードに戻るルートを抽出し、前記グループ内の全ての前記目的地ノードを経由するまで、前記始点ノードから、未経由の前記目的地ノードのうち前記最短経路が最も長い順に、前記負荷の合計が前記制限負荷を超えない範囲で未経由の前記目的地ノードを経由し、前記始点ノードに戻るルートの抽出を繰り返す第2のルート抽出工程と、を含むことを特徴とするルート算出方法である。第4の発明は、コンピュータを、第2の発明のサーバとして機能させるためのプログラムである。第5の発明は、コンピュータを、第2の発明のサーバとして機能させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体である。本発明により、複数の目的地ごとに積載する負荷を考慮し、最適なルートを算出するルート算出システム等を提供することができる。以下、図面に基づいて本発明の好適な実施形態について説明する。図1は、本発明の実施形態における重み付きグラフ11の例の説明図である。図1に示すように、重み付きグラフ11は、ノードと、距離を重みとするリンクから成るルート探索用のグラフである。図1に示される重み付きグラフ11は、一例であり、始点ノードとなる自宅ノードと、複数の目的地ノードである店1~店8のノードと、自宅ノードと目的地ノード間で通過する交差点ノード交差点1~交差点3から成る。各ノードを接続するリンクに付された数字は、重みである距離の値であり、例えば、自宅ノードと店1ノード間のリンクの重み距離は5、店1ノードと店2ノード間のリンクの重み距離は10である。重みは、距離に限ることはなく、例えば、所要時間であってもよい。また、図1に示すように、各店店1~店8には、店で購入する購入物の負荷重さや大きさが予め定義されており、例えば、W、2W、3Wの目安量で表わす。負荷は、実際の容量や重さのデータであってもよい。本実施形態のルート探索問題は、自宅ノードから、すべての目的地ノードで買い物をして、自宅ノードへ戻るルートを探索することである。ここで、条件として、負荷の合計が予め定めた制限負荷例えば、4Wを超えないようにルートを探索する。例えば、自転車で買い物に行く場合を想定すると、ある一定以上の荷物は載せられないので、その最大の積載量例えば、4Wを制限負荷とする。この制限負荷の値はユーザが設定するようにすればよい。図1に示すようなルート探索用の重み付きグラフ11は、自宅から店への買い物ルート用に限ることはなく、種々の用途のルート探索用に使用することが可能である。例えば、粗大ごみ収集を例とすると、ゴミ収集センターを自宅ノードとし、特定の日に粗大ごみ収集を申し込んだ人の家を店ノードとし、各家が出す粗大ごみの大きさをノードの負荷とすればよい。その他、宅配便の集配経路のルート探索用にも使用することが可能である。重み付きグラフ11は、例えば、パーソナルコンピュータ等のディスプレイに表示された地図上でユーザが自宅や店等の位置を指示することによりノードを決定し、各ノード間にある道をリンクとし、その道のりを重みとすることにより作成することができる。また、交差点ノードは、ユーザが自宅や店のノードと同様に指定してもよいし、店ノードおよび自宅ノードを結ぶ道のりの間にある交差点を交差点ノードとしてもよい。次に、本発明の実施形態に係るルート算出システム1の構成を説明する。図2は、ルート算出システム1の構成を示すブロック図である。図2に示すように、本実施形態に係るルート算出システム1は、ユーザの端末21、23とサーバ10がネットワーク30を介して接続された構成である。サーバ10は、本実施形態に係る後述するルート算出プログラムを記憶する。サーバ10は、ルート算出プログラムを実行することによって、ルート算出処理を行う。端末21、23は、例えば、パーソナルコンピュータ等であり、インターネット等のネットワーク30を介してサーバ10にアクセスする。尚、端末21、23にルート算出プログラムを記憶させて、端末21、23がルート算出プログラムを実行することによって、ルート算出処理を行うことも可能である。この場合、サーバ10は不要である。図3は、サーバ10のハードウエア構成例を示す図である。図3に示すように、サーバ10は、例えば、CPU101、メモリ102、記憶部103、表示部104、入力部105、出力部106、通信部107がシステムバス108を介して接続されて構成される。CPUCentralProcessingUnit101は、演算装置四則演算や比較演算等や、ハードウエアやソフトウエアの動作制御を行う。メモリ102は、RAM及びROM等のメモリである。RAMRandomAccessMemoryは、ROMReadOnlyMemoryや記憶部103から読み出されたOSOperatingSystemやアプリケーションプログラム等を記憶し、CPU101の主メモリやワークエリアとして機能する。記憶部103は、各種データを記憶する装置であり、例えば、ハードディスク装置である。記憶部103には、CPU101が実行するプログラム、プログラム実行に必要なデータ、OS等が格納される。後述するルート算出システム1のプログラムは記憶部103に格納され、メモリ102のRAM主メモリにロードされ、CPU101により実行される。表示部104は、表示装置であり、例えば、CRTモニタ、液晶パネル等のディスプレイ装置である。表示部104は、コンピュータのビデオ機能を実現するたまえの論理回路ビデオアダプタ等を有する。入力部105は、各種データの入力装置であり、例えば、キーボードや、マウス等のポインティングデバイス等である。出力部106は、各種データの出力装置であり、例えば、プリンタである。各種メディアとのデータ入出力を行うドライブ装置を入力部105及び出録部106として用いることもできる。通信部107は、ネットワーク30を介して端末21、23等の外部装置と接続通信する通信制御装置である。例えば、TCP/IPを用いたインターネット通信が可能である。サーバ10は、この通信部107により、ネットワーク30を介して端末21、23と通信可能に接続される。システムバス108は、各装置間の制御信号、データ信号等の授受を媒介する経路である。端末21、23のハードウエア構成も、サーバ10のハードウエア構成と同様である。次に、ルート算出システム1の処理について説明する。以下では、サーバ10がルート算出プログラムを実行するものとする。図4は、ルート算出システム1の処理の流れを示すフローチャートである。ユーザが端末21、23からネットワーク30を介してサーバ10にアクセスすると、サーバ10は、ルート算出プログラムを起動し、まず、端末21、23に、始点自宅、複数の目的地店、通過点交差点の各ノードと、各目的地店での負荷荷物を入力させ、図1に示したような重み付きグラフ11を作成するステップS201。また、サーバ10は、端末21、23に、積載できる最大積載量を制限負荷として入力させる。例えば、端末21、23のディスプレイ画面に地図を表示させ、各ノードの位置を端末21、23のマウス等のポインティングデバイスで指示させることにより各ノードを入力させる。この各ノードの位置入力を受けて、サーバ10は、各ノードを結ぶ地図上の道をリンクとし、その道の道のりまたは所要時間をリンクの重みとする重み付きグラフ11を生成する。作成した重み付きグラフ11は、例えば、各ノードのノード名と、各ノードの各リンクのリンク先のノード名と、各リンクの重み道のりまたは所要時間と、各ノードの負荷より成り、作成された重み付きグラフ11のデータとしてサーバ10の記憶部103に格納される。次に、サーバ10は、記憶部103に格納された重み付きグラフ11のデータを元に、経路探索アルゴリズムにより、自宅ノードから各目的地ノードへの探索経路を求め、記憶部103に格納するステップS202。経路探索アルゴリズムとしては、例えば、ダイクストラ法等の周知のアルゴリズムを使用することができるので、ここでは詳述しない。図5は、経路探索アルゴリズムによって求められ、記憶部103に格納された各目的地ノードへの最短経路データ300の例である。図1の重み付きグラフ11についての各目的地最短経路データである。各目的地の最短経路データ300は、目的地301、負荷303、最短経路305等から成る。図5に示すように、図1に示した重み付きグラフ11の目的地301は、店1~店8であり、負荷303は、各目的地店での買い物量W、2W、3Wである。図5では、負荷303はW~3Wの目安量で示しているが、実際の容量や重さのデータであってもよい。最短経路305は、自宅ノードから、各目的地ノードである各店までの最短経路であり、S202の経路探索アルゴリズムによって求められたものである。例えば、店1の最短経路は、自宅-店1であり、店7の最短経路は、自宅-店2-交差点1-交差点2-店7である。次に、サーバ10は、各目的地ノードのうち、同じ経路を含む目的地ノードをグループ化するS203。図6aは、各目的地の最短経路のグループ化の説明図である。グループ化の手順の手順は次の通りである。まず、各目的地への最短経路において、同じ経路のノードに印を付ける。すなわち、目的地301が店2~店8の最短経路305は、すべて店2を通過点とするので、最短経路305の店2に1という印を付ける。印1を付けたノードの次のリンク先を探索すると、目的地301の店3、店7、店8は、更に、交差点1を通過点とするので、最短経路305の交差点1に2という印を付ける。同様に、目的地301の店4~店6は、店2の後に店4を通過点とするので、最短経路305の店4に3という印を付ける。印2を付けた目的地301が店3、店7、店8の各ノードは、次のノードが、それぞれ、店3、交差点2、店8と異なるので、それ以上、印は付かない。また、印3をつけた目的地301が店4~店6の各ノードも、次のノードが、それぞれ、無し、交差点3、店6と異なるので、それ以上、印は付かない。印が付かなくなるまで、以上の作業を繰り返し、同じ印が付いた目的地301を同一グループとする。すなわち、目的地ノードが店3、店7、店8の最短経路は、自宅-店2-交差点1という同じ経路を通過するので、グループ化し、例えば、グループ1とする。また、目的地ノードが店4、店5、店6の最短経路は、自宅-店2-店4という同じ経路を通過するので、グループ化し、例えば、グループ2とする。図6aにおいて、グループ番号g311は、グループの番号を示し、各目的地301のグループ番号g311が記憶部103に格納される。また、これ以降の処理で使用するために、グループ内の順序グループ内順r313を付して、これも記憶部103に格納する。すなわち、目的地店3はg=1、r=1、目的地店7はg=1、r=2、目的地店8はg=1、r=3、目的地店4はg=2、r=1、目的地店5はg=2、r=2、目的地店6はg=2、r=3というようにデータが格納される。また、図6bに示すように、グループ化の処理で抽出されたグループのグループ数G図1の重み付きグラフ11の場合G=2を記憶部103に格納しておく。また、図6cに示すように、各グループ番号gにグループ化された目的地ノードの数ルート数Rgも、これ以降の処理のために記憶部103に格納しておく。すなわち、上記の例の場合、グループ1のルート数R1、グループ2のルート数R2ともに3が格納される。また、図6dに示すように、S201で端末21、23から入力された制限負荷最大積載量Bmaxの値も記憶部103に格納される。上記の例では、Bmax=4Wとする。以上の処理ステップS203により、目的地ノードのグループが決定され、以降の処理により、各グループについて最適なルートが算出される。サーバ10は、まず、g←1として、グループ1の処理を始めるステップS204。サーバ10は、グループg内の目的地店と通過する目的地店の負荷を合計し合計負荷Bを求めるステップS205。上記の例では、グループ1g=1の目的地店3、店7、店8と通過する目的地店2の負荷303の合計負荷Bは4Wである。次に、サーバ10は、合計負荷Bと最大積載量制限負荷Bmaxの値を比較するステップS206。そして、合計負荷Bが最大積載量Bmax以下である場合ステップS206のYesには、積載可能な場合のプログラムステップS207によりルート算出を行い、合計負荷Bが最大積載量Bmaxを超える場合ステップS206のNoには、積載不可能な場合のプログラムステップS208によりルート算出を行う。積載可能な場合のプログラムステップS207および積載不可能な場合のプログラムステップS208については後述する。ステップS207およびステップS208の処理後、次のグループについてのルート算出を行うためにgの値を1インクリメントしステップS209、gの値がグループ数G以下の場合にはステップS205~ステップS210の処理を繰り返す。例えば、グループ2g=2の場合は、ステップS205において合計負荷Bを算出すると6Wとなり、ステップS206において、合計負荷Bが最大積載量制限負荷Bmaxの値を上回るため、ステップS206のNoとなり、積載不可能な場合のプログラムステップS208が実行される。以下、積載可能な場合のプログラムステップS207および積載不可能な場合のプログラムステップS208について説明する。図7は、積載可能な場合のプログラムの処理の流れを示すフローチャート、図8は、積載可能な場合の処理の説明図である。まず、積載可能な場合のプログラムの処理ステップS207について、上記の重み付きグラフ11のグループ1g=1を例に説明する。サーバ10は、まず、グループgg=1内の重なっている部分を取り出しSgとして格納するステップS401。すなわち、図8aに示すように、上記のグループ1の場合、自宅-店2-交差点1がグループ1内の同一の経路であり、この経路をグループ1の重なる部分S1320として記憶部103に格納する。次に、サーバ10は、グループg内の各ルートrについて処理するために、r←1とするステップS402。すなわち、グループg内の1番目のルートr=1を取りだす。上記の例では、グループ1g=1の目的地ノード店3r=1のルートを取りだす。次に、サーバ10は、取りだした1番目のルートにおいて、目的地ノードから自宅までのルートで通過する目的地店で買い物をするものとして、店の状態表340を購入済みを示す済とするステップS403。図8bは、店の状態表340を示す図であり、記憶部103にデータとして格納される。上記のグループ1の目的地ノード店3のルート1では、店3および店2を通過するので、店の状態表340の店2および店3を済にする。次に、サーバ10は、ルート1の最終目的地からグループgの重なっている経路部分Sgまでの距離Drを算出し、重なっている経路部分Sgまでの途中経路TRrとともに記憶部103の途中距離経路350に格納するステップS404。図8cは、途中距離経路350の説明図である。途中距離経路350は、ルート番号r351、重なっている経路部分Sgまでの距離Dr353、重なっている経路部分Sgまでの途中経路TRr355から成る。上記の例の場合、ルート1r=1の重なっている経路部分Sgまでの経路TR1は店3-交差点1であり、その距離D1=1とともに途中距離経路350として記憶部103に格納される。次に、サーバ10は、グループg内の他のルートについて処理するためにrを1インクリメントするステップS405。そして、グループg内のルートrの最終目的地から、重なっている経路部分Sgまでの距離Dr353と、その途中経路TRr355を記憶部103の途中距離経路350に格納するステップS406。図8cに示すように、グループ1のルート2r=2の重なっている経路部分Sgまでの経路TR2は店7-交差点2-交差点1であり、その距離D2=25=7とともに途中距離経路350として記憶部103に格納される。次に、サーバ10は、途中経路TRrに含まれる目的地店について、店の状態表340を、購入済みを示す済にするステップS407。すなわち、図8bの店の状態表340に示すように、グループ1のルート2r=2の途中経路TR2に含まれる店7について、店の状態表340を済にする。サーバ10は、rの値がグループ内のルート数Rgよりも小さい場合にはステップS408のYes、グループ内のすべてのルートrについてステップS405~ステップS407の処理を繰り返す。すなわち、図8cに示すように、グループ1のルート3r=3についても、重なっている部分Sgまでの経路TR3店8-交差点1と、その距離D3=8が求められ、途中距離経路350として記憶部103に格納しステップS406、途中経路TR3に含まれる店8について、店の状態表340を済にする。サーバ10は、ステップS408においてrの値がルート数Rg以上になった場合、すなわち、グループg内のすべてのルートrについての途中距離経路350の値の格納が完了したらステップS408のNo、途中距離経路350を参照し、距離Dr353が大きい順にTRr355を取りだして並べ、最後に重なっている経路部分Sgと結合して、グループgのルート候補BRg330として格納して、処理を終了するステップ409。図8cの途中距離経路350を参照すると、距離Dr353が大きい順は、ルート3、ルート2、ルート1の順であり、その順に途中経路を並べる。すなわち、TR3-TR2-TR1である。これと、重なっている経路部分S1を結合して、図8dに示す経路をグループ1のルート候補BR1330として記憶部103に格納する。グループ1のルート候補BR1は、店8-交差点1-店7-交差点2-交差点1-店3-交差点1-店2-自宅となる。次に、積載不可能な場合のプログラムステップS208について、上記の重み付きグラフ11のグループ2g=2を例に説明する。図9は、積載不可能な場合のプログラムの処理の流れを示すフローチャート、図10は、積載不可能な場合の処理の説明図である。サーバ10は、グループg内の各ルートrについて処理するために、r←1とするステップS501。rの値は、1~グループg内のルート数であるRgまでインクリメントされ、順次、ルート算出処理が実行される。次に、サーバ10は、グループgのなかでr番目に遠い目的地店のルートを抽出し、第rのルート候補BRgrとして記憶部103に格納するステップS502。また、第rのルート候補BRgrの目的地ノードの数をJとする。すなわち、図6aの各目的地の最短経路をグループ化したデータ310から、グループ2g=2に含まれる目的地301店4、店5、店6のなかで、始点ノード自宅から最も遠い目的地301を求める。始点ノード自宅からの距離は、店4が12、店5が21、店6が18なので、店5が最も遠い目的地であり、第1のルート候補BR21600として、図10aに示すように、店5から自宅へのルートである店5-交差点3-店4-店2-自宅が格納される。また、このルートの目的地店は店5と店4と店2であり、目的地ノードの数であるJを3とする。次に、サーバ10は、店の状態表340について、ルート候補BRgrのなかの最も遠い目的地店を済にするステップS503。すなわち、第1のルート候補BR21の最も遠い目的地店である店5の買い物をするものとして、図10bに示すように、店の状態表340の店5を済にする。そして、サーバ10は、当該最も遠い目的地店の負荷を合計負荷BとするステップS504。すなわち、合計負荷Bに店5の負荷3Wを入れる。次に、サーバ10は、ルート候補BRgrの経路にあるJ個の目的地店で荷物負荷が積載できるかを判断するため、変数jに1を入れるステップS505。そして、ルート候補BRgrにおいて始点ノード自宅からj番目の目的地店を探索するステップ506。ここでは、j=1なので、始点ノードから1番目の目的地店である店2が抽出される。次に、サーバ10は、抽出されたj番目の目的地店について店の状態表340が済か否かを判断するステップS507。済ならばステップS507のYes、既にj番目の目的地店を経由して荷物負荷を積載するルートが算出されていることになり、ステップS511に進む。上記の例では、始点ノードから1番目の目的地店である店2の状態表340は済であり、ステップS511に進む。一方、店の状態表340において、j番目の目的地店が済でないならばステップS507のNo、サーバ10は、抽出されたj番目の目的地店の負荷を合計負荷Bに加え、合計負荷BとするステップS508。次に、サーバ10は合計負荷Bが最大積載量Bmax以下か否かを判断するステップS509。合計負荷Bが最大積載量Bmax以下の場合ステップS509のYes、サーバ10は、j番目の目的地店での荷物負荷を積載可能であると判断し、店の状態表340でj番目の目的地店の状態を済にするステップS510。次に、サーバ10は、変数jを1インクリメントしステップS511、jがJ-1以下ならばステップS512のYes、ステップS506に戻る。すなわち、ルート候補BRgr内の次の目的地店での荷物が積載可能か判断する処理を行う。上記の例では、j=2となり、ステップS509において、始点ノード自宅から2番目の目的地である店4が抽出され、ステップS507において、店の状態表340において、店4が済でないと判断されるステップ507のNo。そして、ステップS508において、合計負荷Bに店4の負荷2Wが付加され、合計負荷Bは5Wとなり、ステップS509において、合計負荷Bが最大積載量Bmax4Wを超えていると判断されるステップS509のNo。ステップS509において、合計負荷Bが最大積載量Bmaxを超える場合ステップS509のNo、このルートBRgrではもう荷物負荷を積載できないと判断し、ステップS513に進む。サーバ10は、店の状態表340において、グループgの全ての目的地店の状態が済になっているか否かを判断するステップS513。グループgの全ての目的地店の状態が済ステップS513のYesならば処理を終了する。グループgの全ての目的地店の状態が済でない場合ステップS513のNo、サーバ10は、グループgについて他のルートの算出処理を行うため、変数rの値を1インクリメントしステップS514、変数rがグループjのルート数Rg以下ならばステップS515のYes、ステップS502に戻り、処理を繰り返す。変数Rがグループgのルート数Rgを超えた場合ステップS515のNoには、処理を終了する。上記の例では、ステップS513において、グループ2g=2の目的地である店4と店6の店の状態が済ではないのでステップS513のNo、サーバ10は、rを1インクリメントしてr=2としステップS514、rの値がグループ2のルート数R2の3以下なので、ステップS502に戻る。ステップS502では、グループ2内で2番目に遠い目的地である店6を抽出し、そのルート店6-店4-店2-自宅を図10cに示すように、第2のルートBR22610として記憶部103に格納する。このルートBR22610に含まれる目的地店の数Jは3である。次に、ステップS503において、ルートBR22610で最も遠い目的地である店6について、店の状態表340を済にし、ステップS504において、合計負荷Bを店6の負荷Wとする。次に、j=1としステップS505とし、ステップS506において、始点ノード自宅から1番目の目的地店2を抽出し、ステップS507において、店2の状態が済であると判断するステップS507のYes。ステップS511に進み、変数jの値を1インクリメントしj=2とし、ステップS506に戻る。ステップS506において、始点ノード自宅から2番目の目的地店4を抽出し、ステップS507において、店4の状態が済でないと判断ステップS507のNoし、ステップS508において、合計負荷Bに2番目の目的地である店4の負荷2Wを付加する。これによって、合計負荷Bは3Wとなる。ステップS509において、合計負荷Bが最大積載量Bmax4W以下と判定しステップS509のYes、ステップS510によって、図10dに示すように、店4の状態を済とする。ステップS511において、変数jの値がインクリメントされ3になるが、ステップS512において、jの値がJ-1より大きくなりステップS512のNo、ステップS513において、店の状態表340の、グループ2の全ての目的地店である店4、店5、店6が全て済でありステップS513のYes、処理を終了する。以上の処理により、上記の例のグループ1のように、グループ内の全ての目的地ノードの負荷荷物を積載可能な場合のルート算出処理図4のステップS207、および、上記の例のグループ2のように、グループ内の全ての目的地ノードの負荷荷物が最大積載量を超える場合のルート算出処理図4のステップS208が完了する。図4のステップS209に戻り、サーバ10は、すべてのグループgについて処理を行うために、変数gの値を1インクリメントし、gの値がグループ数G以下である場合にはステップS210のYes、ステップS205に戻り、ステップS205~S210の処理を繰り返す。変数gの値がグループ数Gを超えた場合にはステップS210のNo、サーバ10は、店の状態表340を検索し、済でない目的地Mi;i=1、Iを検出するステップS211。以下の処理では、グループに含まれない目的地店のルート抽出を行う。上記の例では、図10dに示すように、店1が済ではないので、店1がM1となり、I=1である。サーバ10は、Miが含まれるルートをBRGiとして、記憶部103に格納する。上記の例では、店1が含まれるルートである店1-自宅がBR3700G=2、i=1として、図10eに示すように格納される。次に、サーバ10は、ステップS211で検出された済でないすべての目的地店のルートを抽出するため、変数iを1インクリメントし、iの値がI以下ならばステップS213~S215の処理を繰り返す。全ての目的地店についてのルートを抽出したらステップS215のNo、記憶部103に格納されているすべての候補ルートBRを出力しステップS216、処理を終了する。図10fに示すように、以上の処理で算出されたルート候補BR1、BR21、BR22、BR3が荷物の積載を考慮して抽出されたルートとなる。この場合、始点ノードである自宅から最短経路で最初の目的地ノード店へ行き、複数の目的地ノード店で負荷荷物を積載しながら始点ノード自宅へ戻るものとする。以上の処理により、複数の目的地において、積載する負荷荷物を考慮しながら始点ノードに戻るルートを算出することが可能になる。以上、添付図面を参照しながら本発明にかかるルート算出システム等の好適な実施形態について説明したが、本発明はかかる例に限定されない。当業者であれば、特許請求の範囲に記載された技術的思想の範疇内において各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。