"1ヶ所以上の配送拠点で集荷作業を行い、複数の納入先に配送する車両の運行計画を作成する装置であって、複数の配送時間が指定された積荷を含む積荷に関するデータである配送オーダデータ、配送を行う車両に関する車両マスタデータ、顧客である納入先に関するデータである納入先マスタ、納入先に対して複数の配送時間が定義されているデータである配送枠マスタ、配送拠点から納入先、納入先間、配送拠点間の距離と走行速度に関するデータである距離マスタデータ、配送コストに関するデータである運賃マスタを読み込むデータ読み込み手段と、複数の配送時間が指定された積荷に対して、予め積み合せが可能な他の積荷との積み合せパターンを複数作成し、作成されたパターンの中から使用する車両台数が最小となる積み合せを選択する部分解作成手段と、該部分解作成手段で選択された積み合せに基づいて積荷の配送指定時間を決定し、部分解集合を作成する部分解集合作成手段と、該部分解集合作成手段で求められた部分解集合と残りの積荷とを含めて、配送コスト最小となる車両運行計画を作成する最適運行計画作成手段と、該最適運行計画作成手段によって作成された運行計画を出力する、結果データ出力手段とを備えたことを特徴とする車両運行計画作成装置。1ヶ所以上の配送拠点で集荷作業を行い、複数の納入先に配送する車両の運行計画をコンピュータを用いて作成する方法であって、データ読み込み手段が、複数の配送時間が指定された積荷を含む積荷に関するデータである配送オーダデータ、配送を行う車両に関する車両マスタデータ、顧客である納入先に関するデータである納入先マスタ、納入先に対して複数の配送時間が定義されているデータである配送枠マスタ、配送拠点から納入先、納入先間、配送拠点間の距離と走行速度に関するデータである距離マスタデータ、配送コストに関するデータである運賃マスタを読み込み、部分解作成手段が、複数の配送時間が指定された積荷に対して、予め積み合せが可能な他の積荷との積み合せパターンを複数作成し、作成されたパターンの中から使用する車両台数が最小となる積み合せを選択し、部分解集合作成手段が、前記部分解作成手段で選択された積み合せに基づいて積荷の配送指定時間を決定し、部分解集合を作成し、最適運行計画作成手段が、前記部分解集合作成手段で求められた部分解集合と残りの積荷とを含めて、配送コスト最小となる車両運行計画を作成し、結果データ出力手段が、前記最適運行計画作成手段によって作成された運行計画を出力することを特徴とする車両運行計画作成方法。1ヶ所以上の配送拠点で集荷作業を行い、複数の納入先に配送する車両の運行計画を作成するためのプログラムであって、コンピュータに、複数の配送時間が指定された積荷を含む積荷に関するデータである配送オーダデータ、配送を行う車両に関する車両マスタデータ、顧客である納入先に関するデータである納入先マスタ、納入先に対して複数の配送時間が定義されているデータである配送枠マスタ、配送拠点から納入先、納入先間、配送拠点間の距離と走行速度に関するデータである距離マスタデータ、配送コストに関するデータである運賃マスタを読み込むデータ読み込み処理を行わせ、複数の配送時間が指定された積荷に対して、予め積み合せが可能な他の積荷との積み合せパターンを複数作成させ、作成されたパターンの中から使用する車両台数が最小となる積み合せを選択する部分解作成処理を行わせ、該部分解作成処理で選択された積み合せに基づいて積荷の配送指定時間を決定し、部分解集合を作成する部分解集合作成処理を行わせ、該部分解集合作成処理で求められた部分解集合と残りの積荷とを含めて、配送コスト最小となる車両運行計画を作成する最適運行計画作成処理を行わせ、該最適運行計画作成処理によって作成された運行計画を出力する、結果データ出力処理を行わせるよう機能させる車両運行計画作成用プログラム。近年、近隣道路の渋滞緩和、積荷の卸し作業を効率的に行うため、積荷に1つの限定した配送指定時間を付けるのではなく、配送時間枠を指定し、指定された配送時間枠内のいくつかの配送指定時間を、配送側に選択させる納入方法が存在する。しかしながら、特許文献1~4に開示されている技術においては、配送指定時間は1つ、もしくは時間帯内に限られており、複数の配送指定時間が指定されている場合に対して対応することが出来ないという問題があった。ここで、複数の配送時間指定がなされている場合とは、図1に示すような場合である。図1の例では、各配送枠1、2の中に配送できる時間が3つあり、3つの配送指定時間の何れかの配送時間に納入する。この例では、荷に対しての配送時間指定は配送枠のみが指定される。以上のような場合で、A社配送枠1指定の荷10t、B社配送枠1指定の荷が同様に10t、それぞれの卸時間が20分、A社からB社までの移動時間が60分とした場合、積載可能重量が20tのトラック1台で配送することを考えると、図2に示すように、積み合せのパターン1、パターン2の2通りが考えられる。また、1つの配送時間指定がされているC社の荷10t、配送指定時間9:00、B社からC社までの移動時間60分と積み合わせるパターン3も考えられる。以上の例のように、複数の配送指定時間を持った荷が含まれた配送問題では、配送指定時間の選び方によっては、非効率な配送計画となる場合がある。例えば、A社の荷7:00、B社の荷7:30とした場合、トラックが2台必要となる。等である。このように、複数の配送指定時間を持つ荷を含んだ配送問題では、複数の配送指定時間より、効率的な積み合わせパターンを作成する必要があるが、従来は、このような要請を満足することができなかった。本発明は前記従来の問題を解決するべくなされたもので、複数の配送指定時間を持つ積荷が含まれている配送計画問題に対して、効率的な車両運行計画の作成を可能にすることを課題とする。本発明は、1ヶ所以上の配送拠点で集荷作業を行い、複数の納入先に配送する車両の運行計画を作成する装置であって、複数の配送時間が指定された積荷を含む積荷に関するデータである配送オーダデータ、配送を行う車両に関する車両マスタデータ、顧客である納入先に関するデータである納入先マスタ、納入先に対して複数の配送時間が定義されているデータである配送枠マスタ、配送拠点から納入先、納入先間、配送拠点間の距離と走行速度に関するデータである距離マスタデータ、配送コストに関するデータである運賃マスタを読み込むデータ読み込み手段と、複数の配送時間が指定された積荷に対して、予め積み合せが可能な他の積荷との積み合せパターンを複数作成し、作成されたパターンの中から使用する車両台数が最小となる積み合せを選択する部分解作成手段と、該部分解作成手段で選択された積み合せに基づいて積荷の配送指定時間を決定し、部分解集合を作成する部分解集合作成手段と、該部分解集合作成手段で求められた部分解集合と残りの積荷とを含めて、配送コスト最小となる車両運行計画を作成する最適運行計画作成手段と、該最適運行計画作成手段によって作成された運行計画を出力する、結果データ出力手段とを備えたことを特徴とする車両運行計画作成装置により前記課題を解決したものである。本発明は、又、1ヶ所以上の配送拠点で集荷作業を行い、複数の納入先に配送する車両の運行計画をコンピュータを用いて作成する方法であって、データ読み込み手段が、複数の配送時間が指定された積荷を含む積荷に関するデータである配送オーダデータ、配送を行う車両に関する車両マスタデータ、顧客である納入先に関するデータである納入先マスタ、納入先に対して複数の配送時間が定義されているデータである配送枠マスタ、配送拠点から納入先、納入先間、配送拠点間の距離と走行速度に関するデータである距離マスタデータ、配送コストに関するデータである運賃マスタを読み込み、部分解作成手段が、複数の配送時間が指定された積荷に対して、予め積み合せが可能な他の積荷との積み合せパターンを複数作成し、作成されたパターンの中から使用する車両台数が最小となる積み合せを選択し、部分解集合作成手段が、前記部分解作成手段で選択された積み合せに基づいて積荷の配送指定時間を決定し、部分解集合を作成し、最適運行計画作成手段が、前記部分解集合作成手段で求められた部分解集合と残りの積荷とを含めて、配送コスト最小となる車両運行計画を作成し、結果データ出力手段が、前記最適運行計画作成手段によって作成された運行計画を出力することにより前記課題を解決したものである。本発明は、又、1ヶ所以上の配送拠点で集荷作業を行い、複数の納入先に配送する車両の運行計画を作成するためのプログラムであって、コンピュータに、複数の配送時間が指定された積荷を含む積荷に関するデータである配送オーダデータ、配送を行う車両に関する車両マスタデータ、顧客である納入先に関するデータである納入先マスタ、納入先に対して複数の配送時間が定義されているデータである配送枠マスタ、配送拠点から納入先、納入先間、配送拠点間の距離と走行速度に関するデータである距離マスタデータ、配送コストに関するデータである運賃マスタを読み込むデータ読み込み処理を行わせ、複数の配送時間が指定された積荷に対して、予め積み合せが可能な他の積荷との積み合せパターンを複数作成させ、作成されたパターンの中から使用する車両台数が最小となる積み合せを選択する部分解作成処理を行わせ、該部分解作成処理で選択された積み合せに基づいて積荷の配送指定時間を決定し、部分解集合を作成する部分解集合作成処理を行わせ、該部分解集合作成処理で求められた部分解集合と残りの積荷とを含めて、配送コスト最小となる車両運行計画を作成する最適運行計画作成処理を行わせ、該最適運行計画作成処理によって作成された運行計画を出力する、結果データ出力処理を行わせるよう機能させる車両運行計画作成用プログラムにより前記課題を解決したものである。本発明によれば、複数の配送指定時間を持つ積荷が含まれている配送計画問題に対して、効率的な車両運行計画の作成が可能になる。以下、図面を参照して、本発明の実施形態を詳細に説明する。図3は、本発明の実施形態を実施するための装置を示す図、図4は、本実施形態における全体の処理手順を示す流れ図である。図3において、1は車両運行計画作成計算機、2はマスタ管理サーバ、3は受発注システム、4はプリンタ、5はコンピュータネットワークを示す。1~4の装置システムは、それぞれコンピュータネットワーク5に接続されている。車両運行計画作成計算機1は、データ読み込み手段、最適車両運行計画作成手段及び車両運行計画出力手段とキーボード、マウス、ディスプレイを備えたパーソナルコンピュータもしくはワークステーションである。なお、本構成例では1台のみ例示であるが、配送する品種毎、支社、配送拠点等に対応して複数台で構成しても構わない。マスタ管理サーバ2は、車両運行計画作成に必要なマスタ類を記憶、管理するための計算機である。車両運行計画作成計算機1中のデータ読み込み手段からの要求によって、必要なマスタ類を車両運行計画作成計算機1に送信する。また、マスタ類の変更、修正などを行う。受発注システム3は、車両運行計画作成計算機1中のデータ読み込み手段からの要求によってオーダデータを送信する。また、車両運行計画作成計算機1中の車両運行計画出力手段から送信された車両運行計画を受信し、課金処理、出荷するオーダの確保、倉庫への出荷指示および運送会社への指示等の処理を行う。受発注システム3は、本装置例では独立した外部システムとしているが、車両運行計画作成計算機1、マスタ管理サーバ2などの内部システムとしても構わない。このことは、マスタ管理サーバ2、以下のプリンタ4などについても同様である。プリンタ4は、車両運行計画作成計算機1で作成された車両運行計画を印刷する。また、受発注システム3およびマスタ管理サーバ2の出力にも利用する。車両運行計画作成計算機1の内部で行う処理手順を、図4に示す。まず、ステップ1のデータ読み込み処理では、図5から図10までに例示したような表形式の必要なデータを読み込む。ここで、図5に例示した表1は、複数の配送時間が指定された積荷を含む、積荷に関するデータである配送オーダデータである。図6に例示した表2は、配送を行う車両に関するデータである車両マスタである。図7に例示した表3は、配送拠点から納入先、納入先間、配送拠点間の距離と走行速度に関するデータである距離マスタである。図8に例示した表4は、顧客である納入先に関するデータである納入先マスタである。図9に例示した表5は、配送コストに関するデータである運賃マスタである。図10に例示した表6は、納入先に対して複数の配送時間が定義されているデータである配送枠マスタである。次いで、図4に示したステップ1の後のステップ2の部分解作成処理では、複数の配送時間が指定された積荷に対して、予め積み合せが可能な他の積荷との積み合せパターンを複数作成し、作成されたパターンの中から使用する車両台数が最小となる積み合せを選択する。次いで、ステップ3の部分解集合作成処理では、ステップ2で選択された積み合せに基づいて積荷の配送指定時間を決定し、部分解集合を作成する。部分解集合を作成するため、積荷と指定時間、利用する車両と指定時間の関係を以下の様に定義して求める。A.積荷と指定時間の関係を示す決定変数X[i][j]図11。ここで、添え字ii=0,1,2,,Nは積荷のIDを示し、添え字jj=0,1,2,,Mは指定時間のIDを示す。積荷ID=iの積荷が指定時間ID=jで配送される場合は1、それ以外は0となる。指定時間のIDは図12に示すように定義する。即ち、複数ある指定時間それぞれ独立したIDとし、同じ指定時間で複数台の車両で配送する可能性のある、指定時間は★に示す様、可能性のある回数分だけ、IDを定義する。時間指定の無いものに関しても★★に示す様にIDを定義する。積荷の指定配送時間は予め判っているので、図13に例示する定数行列cFT[i][j]を決定変数X[i][j]に掛けて、無駄な探索を行わないよう枝狩りを行う。次式に示す如く、決定変数X[i][j]に定数行列cFT[i][j]を掛けた物を新たな決定変数vX[i][j]と定義する。vX[i][j]=X[i][j]cFT[i][j]∀i∈LD,∀j∈TM指定時間の集合...1決定変数vX[i][j]に対して、以下の制約条件を定める。A-11つの積荷は1つの指定時間をもつ。指定時間の重複は許さない。Σj∈TMvX[i][j]=1∀i∈LDA-1B.配送車両と指定時間の関係を示す決定変数Y[k][j]図14。ここで、添え字kk=0,1,2,,Kは配送車両のIDを示す。決定変数Y[k][j]に対して、以下の制約条件を定める。B-1利用される車両kの回数は1回以下。B-2選択できる指定時間はcMixLD積み合せ可能な顧客数以下。Σj∈TMY[k][j]≦1∀k∈TK車両の集合B-1Σk∈TKY[k][j]≦cMixLD1∀j∈TMB-2C.決定変数vX[i][j]とY[k][j]の関係を定義する。C-1指定時間jに決定した積荷の和は決定された車両の積載重量以下。C-1-1指定時間jに決定した積荷の和sumOWT[j]の計算積荷iの重量を示すベクトルをcvWT[i]と定義すると、sumOWT[j]は以下になる。sumOWT[j]=Σi∈LDvX[i][j]cvWT[j]∀j∈TMC-1-1C-1-2指定時間jを運ぶ車両の積載重量exDWT[j]の計算。車両kの積載重量を示すベクトルをcvDWT[k]と定義すると、exDWT[j]は以下になる。exDWT[j]=Σk∈TKY[k][j]cvDWT[k]∀j∈TMC-1-2指定時間jに決定した積荷の和sumOWT[j]は、指定時間jを運ぶ車両の積載重量exDWT[j]以下でないと、配送が成立しないため、C-1-1とC-1-2の関係は以下のようになる。sumOWT[j]≦exDWT[j]C-1C-2積み合せ可否判別決定変数Y[k][j]は車両kの積み合せのパターンを示すことになるため、このパターンの成立可否を判別する。積み合せのパターンは、表3図7の距離マスタ、表4図8の納入先マスタでの卸し時間と、車速により容易に決めることが出来る。積み合せパターンを示す行列をcLDPT[l][j]∈{0,1}、l:積み合せパターン数l=0,1,2,,Lと定義する。積み合せパターンを示す行列cLDPT[l][j]を具体的に示した例を図15に示す。図15において積み合せパターンID=0の例は、A社7:00のみの積み合せ無しの場合を示し、積み合せパターンID=1の例は、A社7:00の配送とB社9:30の配送の積み合せが可能であることを示す。使用しない車両のため、すべて0のパターンを含めておく。決定変数Y[k][j]とcLDPT[l][j]を用いて、積み合せパターンの成立可否を判別する。C-2-1車両k毎のcLDPT[l][j]との差の絶対値deF[k][l]を計算する。deF[k][l]=Σl∈PTabsY[k][j]-cLDPT[l][j]∀k∈TK、∀j∈TM、∀l∈PT積み合せパターン集合...2deF[k][l]において車両kの積み合せのパターンlが、成立する場合はdeF[k][l]=0となる。行列deF[k][l]において、kにおいてl方向の0の数をカウントすることによって、すべての車両の積み合せが成立するかが判別できる。ここで、以上の処理を行うために新たな決定変数vNoZ[k][l]∈{0,1}を導入する。この変数はdeF[k][l]>0の場合にvNoZ[k][l]=1となる変数である。このときの制約条件は定数BigM=1000とすると、以下の式になる。deF[k][l]≧vNoZ[k][l]、deF[k][l]≦vNoZ[k][l]BigM∀k∈TK、∀l∈PT...3最終的に、積み合せパターンが成立する条件は以下のようになる。Σk∈TKΣl∈PTvNoZ[k][l]=0...4以上で定義された、積荷と指定時間、利用する車両と指定時間の関係に基づき、部分解集合を作成する。D.目的関数目的関数は、使用する指定時間数とし、使用する車両の数を最小とする。使用する指定時間数は以下の式で計算できる。使用する指定時間数=Σk∈TKΣj∈TMY[k][j]...5目的関数は使用する指定時間数とし、使用する車両の数を最小とする。使用する車両の数は、新たな決定変数vNoZLD[k]∈{0,1}を導入して求める。この変数は、Σj∈TMY[k][j]>0∀k∈TKとなる場合にvNoZLD[k]=1となる変数である。この変数を用いて、以下のように計算できる。Σj∈TMY[k][j]≧vNoZLD[k]、Σj∈TMY[k][j]≦vNoZLD[k]BigM∀k∈TK...6使用する車両台数=Σk∈TKvNoZLD[k]...7目的関数=Σk∈TKΣj∈TMY[k][j]Σk∈TKvNoZLD[k]⇒Min...8以上を、非特許文献1で示されている商用のソルバ、COIN-ORhttpwwwcoinororgindexhtmlで提供されているフリーソフトのソルバ等を用いて、部分解集合を作成する。部分解集合は1つでも良いが、目的関数の少ない順の複数、同値の目的関数の複数などを部分解集合としても良い。部分解集合が作成できると、複数指定されている配送時間を1つに確定できる。部分解集合で確定された配送時間を、それぞれの積荷の配送指定時間とする。次いで、図4のステップ4の最適運行計画作成処理では、作成された部分解集合と残りの積荷とを含めて、配送コスト最小となる車両運行計画を作成する。この最適化アルゴリズムは、例えば特許文献4のアルゴリズムを使用することができる。図16は、図4のステップ4の最適運行計画作成処理の処理フローを示す図である。ステップ20のデータ読込みでは、最適運行計画作成手段で必要なデータを読み込み、最適運行計画作成処理の初期化を行う。読み込まれるデータは、前述した配送オーダデータ図5、車両マスタ図6、距離マスタ図7、納入先マスタ図8、運賃マスタ図9、配送枠マスタ図10、及び後述する探索シナリオである。次にステップ21の探索シナリオ解釈では、読み込まれたデータのうち探索シナリオの解釈を行う。探索シナリオとは、初期解作成、各種探索単位による最適化処理、繰り返し回数、条件分岐、終了条件等を記述したものであり、人が事前に最適化する対象に応じて戦略的に入力記憶させておく。各種探索単位による最適化処理には、1オーダ1つの積荷と1車両内の1運行サイクル、1車両内の1運行サイクル内の同一納入先のオーダをまとめたものと、1車両内の1運行サイクル、1車両と1車両内の1運行サイクル、1車両と同一ではない1車両、1車両とそれぞれ同一ではない2車両等の探索単位による最適化処理がある。図17に探索シナリオの一例を記述したプログラムを示す。この探索シナリオをステップ21の探索シナリオ解釈では、図18のように処理フローとして解釈する。この探索シナリオの例では、M個の初期解を作成し、作成した初期解を探索単位を変えながらの最適化をN回行うものである。図17のLOOP内のCARGOは、図18のステップ31積荷を探索単位とした最適化処理に対応し、以下同様にDESTINはステップ32納入先を探索単位とした最適化処理、TRUCKはステップ331車両と1車両を探索単位とした最適化処理、TRUCK1by2はステップ341車両と2車両を探索単位とした最適化処理、TRIPはステップ35運行サイクルを探索単位とした最適化処理およびTRIP_DIVはステップ36運行サイクルの平準化にそれぞれ対応している。図18の積荷を探索単位とした最適化処理ステップ31と納入先を探索単位とした最適化処理ステップ32では、配送ロットの集約、調整を行う。図18の1車両と1車両を探索単位とした最適化処理ステップ33と1車両と2車両を探索単位とした最適化処理ステップ34では、利用する車両の種類の調整を行う。図18の運行サイクルを探索単位とした最適化処理ステップ35および運行サイクルの平準化ステップ36では、運行サイクルの調整を行う。図16のステップ22では、ステップ21で解釈された最適化方法を実行する。ステップ23では、探索シナリオによって探索された中から評価関数の値がもっとも良いものを選択し、最適運行計画作成処理を終了する。複数の部分解集合を用いた場合、複数の車両運行計画を作成し、その中から最も配送コストが最小な物を最適な配送計画として、図4のステップ4を終了する。図4のステップ5では、ステップ4で作成された配送計画結果を出力する。以上説明したように、本実施形態では、最適化処理方法の選択および選択した最適化処理方法の探索順を探索シナリオと呼んでおり、計画対象の違いにより探索シナリオを種々変化させることができる。各最適化処理単体でもよいし、それらいずれかの組合せでも良く、車両運行計画の対象変化に柔軟に対応できる利点がある。さらに、複数配送拠点を計画対象に加えることにより探索範囲が増加するが、計画対象の違いにより最適な探索シナリオを選ぶことにより、計算時間の短縮も期待できる。"