"複数の船舶を利用して複数の積地から複数の揚地に製品を配送する船舶の配送計画を作成する配送計画作成装置であって、少なくとも前記製品の積地、揚地、重量、積荷役開始時期、及び揚荷役開始時期に関するデータを配送材源データとして製品毎に格納する第1の記憶手段と、船舶毎の積地から揚地に製品を配送するために要する時間、積地毎の製品の積荷役に要する時間、及び揚地毎の製品の揚荷役に要する時間に関するデータを格納する第2の記憶手段と、前記第1の記憶手段に格納されている配送材源データに基づいて、積地から揚地への製品の配送が完了した後に船舶が向かう可能性がある帰積地のパターンを帰積地パターンとして製品毎に作成する帰積地パターン作成手段と、前記第2の記憶手段に格納されているデータに基づいて、前記帰積地パターン作成手段によって作成された各帰積地パターンについて、船舶が積地から揚地へと製品を配送した後に帰積地に到着するまでの時間を配送パターンとして作成する配送パターン作成手段と、船舶の実台数が最小、且つ、各船舶の製品積載率が最大になるように前記配送パターン作成手段によって作成された配送パターンを船舶に割り当てることにより、船舶の配送計画を作成する最適配送計画作成手段と、を備えることを特徴とする配送計画作成装置。前記第1の記憶手段は、前記製品のサイズ、品種に関するデータを格納し、前記第2の記憶手段は、船舶ごとの自社所有船舶区分、積載可能品種、及び該積載可能品種の積載優先順に関するデータを格納し、前記最適配送計画作成手段は、自社所有船舶に優先的に、且つ、各船舶が積載可能な優先順の高い製品品種を優先して積載するように、前記配送パターン作成手段によって作成された前記配送パターンを船舶に割り当てることを特徴とする請求項1に記載の配送計画作成装置。船舶の積載重量、積載可能サイズ、積載可能品種、船舶が積荷役を行うことができない積地、及び船舶が揚荷役を行うことができない揚地に関するデータを格納する第3の記憶手段を備え、前記配送パターン作成手段は、前記第3の記憶手段に格納されているデータに基づいて、作成した配送パターンの中から船舶が配送することができない配送パターンを削除することを特徴とする請求項1に記載の配送計画作成装置。前記最適配送計画作成手段は、配送パターンの重複制約及び船舶の運用制約を制約条件として、前記配送パターンを船舶に割り当てることを特徴とする請求項1又は2に記載の配送計画作成装置。複数の船舶を利用して複数の積地から複数の揚地に製品を配送する船舶の配送計画を作成する配送計画作成プログラムであって、前記製品の積地、揚地、重量、積荷役開始時期、及び揚荷役開始時期に関するデータに基づいて、積地から揚地への製品の配送が完了した後に船舶が向かう可能性がある帰積地のパターンを帰積地パターンとして製品毎に作成する帰積地パターン作成処理と、船舶毎の積地から揚地に製品を配送するために要する時間、積地毎の製品の積荷役に要する時間、及び揚地毎の製品の揚荷役に要する時間に関するデータに基づいて、前記帰積地パターン作成処理によって作成された各帰積地パターンについて、船舶が積地から揚地へと製品を配送した後に帰積地に到着するまでの時間を配送パターンとして作成する配送パターン作成処理と、船舶の実台数が最小、且つ、各船舶の製品積載率が最大になるように前記配送パターン作成処理によって作成された配送パターンを船舶に割り当てることにより、船舶の配送計画を作成する最適配送計画作成処理と、をコンピュータに実行させることを特徴とする配送計画作成プログラム。ところで、船舶を利用して製品を配送する場合、製品の配送を完了した船舶は製品を積載していない状態で次の積地に向かうことになる。以下、本明細書中では、製品の配送を完了した船舶が製品を積載していない状態で次の積地に向かうことを空荷回送と表現する。この空荷回送が行われている時間空荷回送時間は、製品を配送していない時に船舶が占有されていることになるために、効率化やコスト低減の観点からできるだけ短いことが望ましい。しかしながら、特許文献1~3記載の技術は、この空荷回送時間を考慮して船舶の配送計画を作成していない。このため、空荷回送時間を最小とした船舶の配送計画を作成可能な技術の提供が効率化やコスト低減の観点から期待されている。本発明は、上記課題に鑑みてなされたものであって、その目的は、空荷回送時間を最小とした船舶の配送計画を作成可能な配送計画作成装置及び配送計画作成プログラムを提供することにある。上記課題を解決し、目的を達成するために、本発明に係る配送計画作成装置は、複数の船舶を利用して複数の積地から複数の揚地に製品を配送する船舶の配送計画を作成する配送計画作成装置であって、少なくとも前記製品の積地、揚地、重量、積荷役開始時期、及び揚荷役開始時期に関するデータを配送材源データとして製品毎に格納する第1の記憶手段と、船舶毎の積地から揚地に製品を配送するために要する時間、積地毎の製品の積荷役に要する時間、及び揚地毎の製品の揚荷役に要する時間に関するデータを格納する第2の記憶手段と、前記第1の記憶手段に格納されている配送材源データに基づいて、積地から揚地への製品の配送が完了した後に船舶が向かう可能性がある帰積地のパターンを帰積地パターンとして製品毎に作成する帰積地パターン作成手段と、前記第2の記憶手段に格納されているデータに基づいて、前記帰積地パターン作成手段によって作成された各帰積地パターンについて、船舶が積地から揚地へと製品を配送した後に帰積地に到着するまでの時間を配送パターンとして作成する配送パターン作成手段と、船舶の実台数が最小、且つ、各船舶の製品積載率が最大になるように前記配送パターン作成手段によって作成された配送パターンを船舶に割り当てることにより、船舶の配送計画を作成する最適配送計画作成手段と、を備える。上記課題を解決し、目的を達成するために、本発明に係る配送計画作成プログラムは、複数の船舶を利用して複数の積地から複数の揚地に製品を配送する船舶の配送計画を作成する配送計画作成プログラムであって、前記製品の積地、揚地、重量、積荷役開始時期、及び揚荷役開始時期に関するデータに基づいて、積地から揚地への製品の配送が完了した後に船舶が向かう可能性がある帰積地のパターンを帰積地パターンとして製品毎に作成する帰積地パターン作成処理と、船舶毎の積地から揚地に製品を配送するために要する時間、積地毎の製品の積荷役に要する時間、及び揚地毎の製品の揚荷役に要する時間に関するデータに基づいて、前記帰積地パターン作成処理によって作成された各帰積地パターンについて、船舶が積地から揚地へと製品を配送した後に帰積地に到着するまでの時間を配送パターンとして作成する配送パターン作成処理と、船舶の実台数が最小、且つ、各船舶の製品積載率が最大になるように前記配送パターン作成処理によって作成された配送パターンを船舶に割り当てることにより、船舶の配送計画を作成する最適配送計画作成処理と、をコンピュータに実行させる。本発明に係る配送計画作成装置及び配送計画作成プログラムによれば、空荷回送時間を最小とした船舶の配送計画を作成することができる。以下、図面を参照して、本発明の一実施形態である配送計画作成システムについて説明する。船舶の配送計画について始めに、図1を参照して、本発明の一実施形態である配送計画作成システムが作成する船舶の配送計画について説明する。図1は、本発明の一実施形態である配送計画作成システムが作成する船舶の配送計画を説明するための模式図である。本発明の一実施形態である配送計画作成システムは、複数の船舶を利用して複数の積地から複数の揚地に製品を配送するための船舶の配送計画を作成するものである。そして、船舶の配送計画を作成する際、配送計画作成システムは、空荷回送時間が最小になるように船舶の配送計画を作成する。空荷回送時間が最小となる船舶の配送計画とは、積地1から揚地1に製品を配送した船舶が製品を積載していない状態で直接積地1に戻るのではなく、例えば図1に示すように、D日に積地1において積み込まれた製品を揚地1に配送し、揚地2に隣接する積地2において配送すべき製品がある場合、積地1に戻らずにD日に揚地1から積地2に空荷回送し、D1日に積地2において積み込まれた製品を揚地2に配送し、D1日に揚地2から積地1に空荷回送するというものである。配送計画作成システムの構成次に、図2を参照して、本発明の一実施形態である配送計画作成システムの構成について説明する。図2は、本発明の一実施形態である配送計画作成システムの構成を示すブロック図である。図2に示すように、本発明の一実施形態である配送計画作成システム1は、船舶マスタデータベースDB2と、配送計画データベースDB3と、配送,荷役時間マスタデータベースDB4と、配送計画作成装置10と、を主な構成要素として備える。船舶マスタDB2は、本発明に係る第3の記憶手段として機能する。配送計画DB3は、本発明に係る第1の記憶手段として機能する。配送,荷役時間マスタDB4は、本発明に係る第2の記憶手段として機能する。配送計画作成装置10は、本発明に係る帰積地パターン作成手段,配送パターン作成手段,及び最適配送計画作成手段として機能する。船舶マスタDB2は、製品の配送に利用される複数の船舶に関する情報を船舶情報として格納する。船舶情報は、船舶の稼働計画に応じて随時更新される。図3は、船舶情報の一例を示す図である。図3に示すように、船舶情報は、船舶ID,自社所有船舶区分,所属地ID,積載重量,積載可能サイズ,積載可能品種,積不可地ID,揚不可地ID,使用不可開始年月日,使用不可開始時間帯,使用不可終了年月日,及び使用不可終了時間帯に関する情報を含む。船舶IDとは、船舶を一意に特定するために各船舶に付与された固有の識別情報を意味する。自社所有船舶区分とは、自社で所有する船舶か、他社から一時的に傭船する船舶かの区分を意味する。所属地IDとは、船舶IDに対応する船舶が所属する積地に付与された固有の識別情報を意味する。積載重量とは、船舶IDに対応する船舶が積載可能な製品の重量を意味する。積載可能サイズとは、船舶IDに対応する船舶が積載可能な製品のサイズ例えば、製品長などを意味する。積載可能品種とは、船舶IDに対応する船舶が積載可能な製品の種別例えばコイル,厚板,鋼板,形鋼などを意味する。なお、積載可能品種を複数記述することで、積載可能品種の積載優先順を示す。例えば、積載優先順として、第1優先がコイル、第2優先が鋼板の場合には、積載可能品種にコイル,鋼板と記述する。積載可能品種がコイルのみの場合は、積載可能品種にコイルと記述する。積不可地IDとは、船舶IDに対応する船舶が積荷役を行うことができない積地に付与された固有の識別情報を意味する。揚不可地IDは、船舶IDに対応する船舶が揚荷役を行うことができない揚地に付与された固有の識別情報を意味する。使用不可開始年月日は、船舶IDに対応する船舶を利用できない期間の開始年月日を意味する。使用不可開始時間帯は、船舶IDに対応する船舶を利用できない期間の開始時間帯区分を意味する。使用不可終了年月日は、船舶IDに対応する船舶を利用できない期間の終了年月日を意味する。使用不可終了時間帯は、船舶IDに対応する船舶を利用できない期間の終了時間帯区分を意味する。なお、時間帯区分とは、図4に示すように、1日の各時間帯毎に付与された固有の番号のことを意味し、上述の開始時間帯区分及び終了時間帯区分には、対応する時間帯に付与された番号が設定される。後述する時間帯区分についても同様である。配送計画DB3には、上位の出荷システム上位システムなどで揚地単位で集約された配送する積荷配送材源に関する情報を配送材源データとして格納する。図5は、配送材源データの一例を示す図である。図5に示すように、配送材源データは、配送番号,積地ID,揚地ID,積荷重量,積荷サイズ,積荷品種,最早積開始年月日,最早積開始時間帯,最遅積開始年月日,最遅積開始時間帯,最早揚開始年月日,最早揚開始時間帯,最遅揚開始年月日,最遅揚開始時間帯,配送船ID,帰積地ID,帰積地着年月日,及び帰積地着時間帯に関する情報を含む。配送番号とは、配送材源を一意に特定するために配送材源毎に付与された固有の識別情報を意味する。積地IDとは、配送番号に対応する配送材源の積地に付与された固有の識別情報を意味する。揚地IDとは、配送番号に対応する配送材源の揚地に付与された固有の識別情報を意味する。積荷重量とは、配送番号に対応する配送材源の重量を意味する。積荷サイズとは、配送番号に対応する配送材源のサイズ例えば、積荷長などを意味する。積荷品種とは、配送番号に対応する配送材源の種別例えばコイル,厚板,鋼板,形鋼などを意味する。最早積開始年月日とは、配送番号に対応する配送材源の積荷役を開始可能な最早年月日を意味する。最早積開始時間帯とは、配送番号に対応する配送材源の積荷役を開始可能な最早時間帯を意味する。最遅積開始年月日とは、配送番号に対応する配送材源の積荷役を開始可能な最遅年月日を意味する。最遅積開始時間帯とは、配送番号に対応する配送材源の積荷役を開始可能な最遅時間帯を意味する。最早揚開始年月日とは、配送番号に対応する配送材源の揚荷役を開始可能な最早時間を意味する。最早揚開始時間帯とは、配送番号に対応する配送材源の揚荷役を開始可能な最早時間帯を意味する。最遅揚開始年月日とは、配送番号に対応する配送材源の揚荷役を開始可能な最遅年月日を意味する。最遅揚開始時間帯とは、配送番号に対応する配送材源の揚荷役を開始可能な最遅時間帯を意味する。配送船IDとは、配送番号に対応する配送材源の配送に利用される船舶に付与された船舶IDを意味する。帰積地IDとは、配送番号に対応する配送材源の配送を完了した船舶が向かう積地に付与された固有の識別情報を意味する。帰積地着年月日とは、配送番号に対応する配送材源の配送に利用された船舶が帰積地IDに対応する積地に到着する年月日を意味する。帰積地着時間帯とは、配送番号に対応する配送材源の配送に利用された船舶が帰積地IDに対応する積地に到着する時間帯を意味する。なお、図5に示す配送材源データの最早積開始年月日及び最早積開始時間帯の欄には、対応する配送材源の積荷役終了後、実際に積荷役が行われた年月日及び時間帯のデータが実績値として格納される。同様に、図5に示す配送材源データの最早揚開始年月日及び最早揚開始時間帯の欄には、対応する配送材源の揚荷役終了後、実際に揚荷役が行われた年月日及び時間帯のデータが実績値として格納される。また、図5に示す配送材源データの配送船ID,帰積地ID,帰積地着年月日,及び帰積地着時間帯には、配送材源の配送終了後にその実績値が格納される。図5に示す配送材源データにおいて、全ての項目が埋まっている配送材源データは実績の配送材源データを示し、配送船IDの項目まで埋まっている配送材源データは配送中の配送材源データを示し、配送船ID,帰積地ID,帰積地着年月日,及び帰積地着時間帯の項目が埋まっていない配送材源データは未計画の配送材源データを示す。配送,荷役時間マスタDB4は、配送時間マスタ,積荷役時間マスタ,及び揚荷役時間マスタを格納する。配送時間マスタは、船舶毎の積地から揚地に製品を配送するために要する時間配送時間を示すものである。図6は、配送時間マスタの一例を示す図である。図6に示すように、配送時間マスタは、船舶IDに対応する船舶を利用して積地IDに対応する積地から揚地IDに対応する揚地に製品を配送するために要する時間を配送時間として記憶している。なお、図6に示す例では、船舶が積地から揚地に行くまでの時間と揚地から積地に戻るまでの時間が同じであるとして、船舶が揚地から積地に戻る場合、船舶が積地から揚地に行くまでの時間を配送時間として設定している。但し、船舶が積地から揚地に行くまでの時間と揚地から積地に戻るまでの時間が異なるとして、船舶の出発地と到着地とを分けてそれぞれの配送時間を設定するようにしてもよい。また、全ての船舶の走行速度が同じである場合、配送時間マスタ中の船舶IDの項目は削除することができる。積荷役時間マスタは、積地毎の製品の積荷役に要する時間を示すものである。図7は、積荷役時間マスタの一例を示す図である。図7に示すように、積荷役時間マスタは、積地IDに対応する積地において、対応する積荷品種の積荷役に要する時間を積荷役時間として記憶している。揚荷役時間マスタは、揚地毎の製品の揚荷役に要する時間を示すものである。図8は、揚荷役時間マスタの一例を示す図である。図8に示すように、揚荷役時間マスタは、揚地IDに対応する揚地において、対応する積荷品種の揚荷役に要する時間を揚荷役時間として記憶している。配船計画作成装置10は、ワークステーションやパーソナルコンピュータなどの汎用の情報処理装置によって構成されている。配船計画作成装置10は、図示しないCPUなどの演算処理装置が図示しないROMなどの記憶装置に記憶されている配送計画作成プログラムを実行することによって、入力部11,データ読込部12,パターン作成部13,最適配送計画作成部14,及び配送計画表示部15として機能する。これら各部の機能については後述する。配送計画作成処理このような構成を有する配送計画作成システム1では、配送計画作成装置10が以下に示す配送計画作成処理を実行することによって、空荷回送時間を最小にした船舶の配送計画を作成する。以下、図9に示すフローチャートを参照して、この配送計画作成処理を実行する際の配送計画作成装置10の動作について説明する。図9は、本発明の一実施形態である配送計画作成処理の流れを示すフローチャートである。図9に示すフローチャートは、オペレータがキーボードやマウスポインタなどの図示しない操作入力装置を介して船舶の配送計画を作成する期間計画期間に関する情報を入力し、入力部11がオペレータによって入力された計画期間に関する情報をデータ読込部12に入力したタイミングで開始となり、配送計画作成処理はステップS1の処理に進む。なお、本実施形態では、オペレータは、たとえばYYYY年MM月DD日の時間帯tsからyyyy年mm月dd日の時間帯teまでという形式で計画期間に関する情報を入力する。ステップS1の処理では、データ読込部12が、配送計画DB3から計画期間に含まれる実行中及び未計画の配送材源データを抽出する。実行中の配送材源データとは、図5に示す配送材源データにおいて配送船IDの項目まで埋まっている配送材源データを意味し、未計画の配送材源データとは、図5に示す配送材源データにおいて配送船ID,帰積地ID,帰積地着年月日,及び帰積地着時間帯の項目が埋まっていない配送材源データのことを意味する。これにより、ステップS1の処理は完了し、配送計画作成処理はステップS2の処理に進む。ステップS2の処理では、パターン作成部13が、ステップS1の処理によって抽出された各配送材源データについて、製品の配送完了後に船舶が向かう可能性がある積地帰積地のパターン以下、帰積地パターンと表記を列挙する帰積地パターン列挙処理。図10は、帰積地パターン列挙処理の一例を説明するための概念図である。図10に示す例では、パターン作成部13は、配送番号0の配送材源データについて、船舶が積地1から揚地1に製品を配送した後に向かう可能性がある帰積地1~Rを列挙している。また同様に、パターン作成部13は、配送番号1の配送材源データについて、船舶が積地1から揚地1に製品を配送した後に向かう可能性がある帰積地1~Rを列挙している。以後同様にして、パターン作成部13は、ステップS1の処理によって抽出された全ての配送材源データについて、船舶が積地から揚地に製品を配送した後に向かう可能性がある帰積地を列挙する。また、パターン作成部13は、各積地において船舶が製品の配送を行わない帰積地パターンも列挙する。具体的には、パターン作成部13は、積地IDと帰積地IDとが同じである帰積地パターンを各積地について作成する。これにより、ステップS2の処理は完了し、配送計画作成処理はステップS3の処理に進む。ステップS3の処理では、パターン作成部13が、データ読込部12を介して、配送,荷役時間マスタDB4から配送時間マスタ,積荷役時間マスタ,及び揚荷役時間マスタを読み出す。そして、パターン作成部13は、読み出された配送時間マスタ,積荷役時間マスタ,及び揚荷役時間マスタを参照して、ステップS2の処理によって作成された各帰積地パターンについて、積荷役時間,配送時間,揚荷役時間,及び空荷回送時間を考慮して船舶の占有時間のパターンを可能性があるだけ列挙して配送パターンを作成する。その際に、各配送材源データの最早積開始時間帯~最遅揚開始時間帯を考慮して、積荷役時間~揚荷役時間を設定する。以下、作成された各配送パターンをJobと表記する。図11は、配送パターンの一例を示す図である。図11に示す配送パターンは、各配送材源データに対して複数のJobが作成されていることを示しており、各Jobには固有のJobIDが付与されている。例えば、配送番号0000に対する配送材源データに対してはJobID01のJobが作成されている。JobID0のJobは、D日の時間帯区分0~1において積地ID=L1の積地において積荷役が行われ、D日の時間帯区分2において積地ID=L1の積地から揚地ID=U1の揚地に製品が配送され、D日の時間帯区分3において揚地ID=U1の揚地で揚荷役が行われ、D日の時間帯区分4において船舶が揚地ID=U1の揚地から帰積地ID=L1の積地に空荷回送されるものである。また、JobID1のJobは、D日の時間帯区分0~1において積地ID=L1の積地において積荷役が行われ、D日の時間帯区分2において積地ID=L1の積地から揚地ID=U1の揚地に製品が配送され、D日の時間帯区分3において揚地ID=U1の揚地で揚荷役が行われ、D日の時間帯区分4,5において船舶が揚地ID=U1の揚地から帰積地ID=L2の積地に空荷回送されるものである。すなわち、JobID0のJobとJobID1のJobとでは、船舶の空荷回送時間が異なっている。これにより、ステップS3の処理は完了し、配送計画作成処理はステップS4の処理に進む。ステップS4の処理では、パターン作成部13が、配送を行わないJob以外のJobを積荷役開始時間を第1優先キー、帰積地着時間を第2優先キーとして昇順に時間が早い順にソートする。これにより、ステップS4の処理は完了し、配送計画作成処理はステップS5の処理に進む。ステップS5の処理では、パターン作成部13が、ソートされたJobの最後尾に配送しないJobを追加し、各Jobに対して配列の先頭から順番に固有のジョブ番号iを付与する。そして、パターン作成部13は、Jobの配列を以下の数式1に示す行列に格納する。すなわち、パターン作成部13は、Jobiが時間lにおいて積荷役,配送,揚荷役,及び空荷回送のうちのいずれかを行っている場合は対応する行列要素の値が1となり、いずれも行っていない場合には対応する行列要素の値が0となる行列を作成する。また、パターン作成部13は、配送を行わないJobについては、対応する行列要素の値を全て0に設定する。これにより、ステップS5の処理は完了し、配送計画作成処理はステップS6の処理に進む。ステップS6の処理では、パターン作成部13が、データ読込部12を介して船舶マスタDB2から読み出した船舶情報を参照し、船舶の積載重量、積載可能サイズ、積載可能品種、積不可地、揚不可地のデータとJobiの積載重量、積荷サイズ、積荷品種、積地、及び揚地とのデータを比較することによって、船舶とJobiとの制約条件データを作成する。具体的には、パターン作成部13は、以下に示す数式2の定数行列cmCstijを作成する。定数行列cmCstijは、Jobiを船舶jに割り当てることができる場合は対応する行列要素の値が1、Jobiを船舶jに割り当てることができない場合には対応する行列要素の値が0となる行列である。このような定数行列cmCstijを定義することによって、船舶の積載重量、積載可能サイズ、積載可能品種、積不可地、揚不可地の制約条件を満たさないJobiを予め削除することができる。これにより、ステップS6の処理は完了し、配送計画作成処理はステップS7の処理に進む。ステップS7の処理では、最適配送計画作成部14が、船舶の配送計画問題を線形計画問題として定式化し、例えば非特許文献1混合整数計画法MIPを使おう:モデル化の実際とその背景、数理モデル研究所,野末尚次,ILOGOptimizationseminar資料,httpwwwmathmodelcojpILOGOPTSeminar2006Revpdfに開示されている商用のソルバ、COIN-ORhttpwwwcoinororgindexhtmlが提供しているフリーソフトのソルバなどを利用して、最適化処理を行い船舶の配送計画を作成する。具体的には、最適配送計画作成部14は、船舶の配送計画問題の決定変数を以下に示す数式3のように定義する。数式3に示す行列vmXcijは、図12に示すように、船舶jのc回目の配送でJobiを配送する場合は対応する行列要素の値が1となり、Jobiを配送しない場合には対応する行列要素の値が0となる行列である。そして、最適配送計画作成部14は、数式3に示す行列に対する制約条件及び目的関数を以下のように定義し、制約条件及び目的関数を上述のソルバに入力することによって、パターン作成部13が作成した配送パターンから時間の重複制約及び船の運用制約を満たすJobiを船舶に割り当て、目的関数を最小にする最適な船舶の配送計画を作成する。なお、目的関数については、入力部11を介してオペレータが任意のものを入力するようにしてもよい。これにより、ステップS7の処理は完了し、配送計画作成処理はステップS8の処理に進む。ステップS8の処理では、配送計画表示部15が、ステップS7の処理によって作成された船舶の配送計画を図示しない液晶ディスプレイなどの表示装置に出力すると共に、作成された船舶配送計画に関する情報を配送計画DB3内に格納する。これにより、ステップS8の処理は完了し、一連の配送計画作成処理は終了する。制約条件と目的関数最後に、上記ステップS7の処理においてソルバに入力される制約条件及び目的関数の一例について説明する。[制約条件1]c回目の配送を行う船舶jには必ず1つのJobiが割り当てられている。制約条件1は、以下に示す数式4のように定式化することができる。[制約条件2]Jobiは1度以上選択されない。制約条件2は、以下に示す数式5のように定式化することができる。[制約条件3]c回目の配送で複数のJobが列挙された場合、複数のJobの中から1つのJobしか選択することができない。c回目の配送で以下に示す数式6の計算結果を保存する中間変数exSJciを定義し、c回目の配送における複数のJobの集合を定数行列cmPcik∈01と定義すると、制約条件3は以下に示す数式7のように定式化することができる。[制約条件4]Jobの選択順序制約c回目に船舶jが配送するJobの順序はJobIDの昇順を保つ。JobIDを有するベクトルcvJIDi∈012...Nを定義すると、船舶jの配送順を表す中間変数exJOrdrcjは以下に示す数式8により求められる。これにより、制約条件4は、o∈SID012...N,p∈PID012...Nと定義すると、以下に示す数式9のように定式化することができる。[制約条件5]積み残し不可制約c回の配送で全ての船舶に割り当てられたJobの総数は計画期間内の配送材源データの総数NumDataに等しい。制約条件5は、Jobiが実際に積荷を配送するJobである場合は値が1、配送を行わないJobである場合には値が0となる定数ベクトルvcIsJi∈01を定義することにより、以下に示す数式10のように定式化することができる。[制約条件6]Jobiが船舶jで配送できない制約制約条件6は、決定変数vmXcijに数式2を用いて数式11とすることで定式化することができる。[制約条件7]船舶jで配送するJobの時間重複不可制約数式1を用いると、船舶jのc回目のJobiの占有時間帯は以下に示す数式12で表すことができる。これにより、制約条件7は、数式12の結果を用いると、以下に示す数式13のように定式化することができる。[制約条件8]船舶jがJobを配送できる制約c回目の配送で船舶jがJobiを確保できるためには、船舶jのc回目の発地c-1回目の帰積地とc回目のJobiの積地とが等しくならなくてはならない。Jobiの帰積地及び積地のIDを表すベクトルをそれぞれcvRPi∈RP123...R帰積地IDの集合,cvLPi∈LP123...LP積地IDの集合と定義すると、c回目の船舶jの発地exSPcjは以下に示す数式14のようになる。また、c回目の船舶jの帰積地exRPcjは以下に示す数式15のようになるc=0の場合は初期状態として与える。比較するexSPcjとexRPcjとは回数が1だけずれるので、c’∈DCT123...c1を定義すると、制約条件8は以下に示す数式16のように定式化することができる。[制約条件9]船舶jの運航制約船舶jは所属地を持ち、2回以上連続して異なる所属地のJobを運ぶことができない。船舶jの所属地のベクトルをcvBHPj∈HP123...HP所属地の集合、Jobiの積地の所属地のベクトルをcvJHPi∈HPと定義すると、船舶jがc回目に配送したJobiの所属地exJHPcjは以下に示す数式17のように表される。船舶jの積地が所属地と等しい場合は値が1、等しくない場合には値が0となる補助決定変数vmIsHMcj∈01を定義すると、補助決定変数vmIsHMcj∈01の制約条件は以下に示す数式18,19のようになる。なお、数式19中のBigMは、十分大きな値例えば1000を示す。以上の制約条件を満たした補助決定変数vmIsHMcjは例えば図13に示すようなイメージになる。図13に示すように、船舶の所属地以外の積地を2回以上連続する場合、補助決定変数vmIsHMcj∈01の隣接する値の和が0となる。以上より、制約条件9は、c’’∈D2CT0123...c1と定義すると、以下に示す数式20のように定式化することができる。[目的関数1]船舶の実台数の最小化船舶の実台数を最小化するためには、以下のようにして船舶の実台数を計算する。すなわち、船舶jのc回の実運行回数回転数exNumJBjは以下に示す数式21のように表される。従って、実運行回数exNumJBjの0より大きな値の合計が船舶の実台数となる。ここで、実運行回数exNumJBjが0より大きい場合に値が1となる補助決定変数vNoZeroj∈01を定義する。このとき、実運行回数exNumJBjが0より大きい場合に補助決定変数vNoZerojの値が1となる制約条件は、BigMを十分大きな値とすると、以下に示す数式22,23のように表される。従って、船舶の実台数は以下に示す数式24のように表される。[目的関数2]船舶の積載率の最大化船舶の積載率の最大化は以下のようにして計算する。すなわち、船舶jとJobiの積載余裕定数行列cmDWTijは以下に示す数式25のように表すことができる。従って、船舶の積載余裕の和は以下に示す数式26によって求めることができる。[目的関数3]自社所有船舶の優先利用自社所有船舶の優先利用は以下のようにして計算する。すなわち、船舶jが自社所有船舶の場合は0、それ以外の場合は0より大きい任意の定数値とする定数ベクトルvcCHRTjを定義する。これにより、自社所有船舶の優先利用は、上記の数式24を用いて以下に示す数式27のように表すことができる。[目的関数4]船舶の積載可能品種の優先積載船舶の積載可能品種の優先積載は以下の様に計算する。すなわち、船舶jとJobiの積載品種の優先順の重み行列cmPRIKINDijを、Jobiの積荷品種と船舶jの積載可能品種の積載優先順pを用いて、以下に示す数式28のように表すこととする。ここで、積載可能品種の積載優先順の重み係数をwpp12...nとする。これにより、船舶の積載可能品種の優先積載は以下に示す数式29のように表すことができる。以上より、船舶の実台数の最小化、積載率の最大化、自社所有船舶の優先利用、及び船舶の積載可能品種の優先積載となる目的関数は以下に示す数式30のように表すことができる。また、数式30中の重み係数α、β、γ0.0<=α<=1.0、0.0<=β<=1.0、0.0<=γ<=1.0を調整することによって、船舶の実台数の最小化、積載率の最大化、自社所有船舶の優先利用、及び船舶の積載可能品種の優先積載の評価の優先順を定めることができる。従って、数式30に示す目的関数をソルバに入力し、この目的関数を最小とすることにより実台数の最小化と積載率の最大化を図ることができると共に、自社所有船舶の優先利用と船舶の積載可能品種の優先積載とを図ることができる。以上の説明から明らかなように、本発明の一実施形態である配送計画作成処理によれば、パターン作成部13が、配送材源データに基づいて、積地から揚地への製品の配送が完了した後に船舶が向かう可能性がある帰積地のパターンを帰積地パターンとして製品毎に作成し、各帰積地パターンについて、船舶が積地から揚地へと製品を配送した後に帰積地に到着するまでの時間を配送パターンとして作成し、最適配送計画作成部14が、船舶の実台数が最小、且つ、各船舶の製品積載率が最大になるように、また、自社所有船舶を優先的に利用し、船舶の積載可能な製品品種を優先的に積載するように、配送パターンを船舶に割り当てることにより、船舶の配送計画を作成するので、空荷回送時間を最小とした船舶の配送計画を作成することができる。以上、本発明者によってなされた発明を適用した実施の形態について説明したが、本実施形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者などによりなされる他の実施の形態、実施例及び運用技術などは全て本発明の範疇に含まれる。"