(57)【特許請求の範囲】
【請求項１】
出荷先が異なる複数の製品であって、複数の輸送手段の何れかに積載されて出荷される出荷対象製品の、出荷先別・出荷日別・輸送手段別の出荷量を計画立案する出荷計画立案装置であって、
前記出荷対象製品の出荷量と、当該出荷対象製品の出荷期限日と、当該出荷対象製品の出荷先とを含む注文情報を取得する注文情報取得手段と、
前記注文情報に基づいて導出される前記出荷対象製品の出荷日毎の目標出荷量の累積値を表すステップ関数であって、出荷日が出荷期限日になるまでは０であり、出荷日が出荷期限日になると目標出荷量になるステップ関数の値と、当該出荷対象製品の計画期間内の出荷量の累積値との差の絶対値で表される出荷期限日違反量に対する評価の、前記出荷対象製品を輸送する輸送手段の輸送コストに対する評価とのバランスを表す重み係数と、前記出荷対象製品を輸送する輸送手段の輸送コストに対する評価の、前記出荷期限日違反量に対する評価とのバランスを表す重み係数とを取得する重み係数取得手段と、
前記出荷対象製品に対する前記出荷期限日違反量の評価値であって、前記出荷対象製品の計画期間内の出荷量の累積値と前記ステップ関数との差の絶対値である出荷期限日違反量評価値と、当該出荷対象製品を輸送する輸送手段の輸送コストの評価値である輸送コスト評価値とに、前記重み係数取得手段により取得された前記重み係数をそれぞれ乗じて加算した値である重み付き平均和で表される評価関数を設定する評価関数設定手段と、
前記評価関数に対する制約式として、輸送手段別の出荷先の候補を限定する為の制約式と、出荷日別の配船数を限定する為の制約式を設定する制約式設定手段と、
前記制約式を満たす範囲で前記評価関数を最小にする混合整数計画法による最適化計算を行う最適化手段と、
前記最適化手段による最適化計算の結果、前記制約式による制約を満たす範囲で前記評価関数の値が最小になったときの、前記出荷先別・出荷日別・輸送手段別の出荷量を含む出荷計画に係る情報を表示装置に表示する出荷計画表示手段と、を有し、
前記輸送コスト評価値は、輸送手段毎に予め指定される輸送コスト、または輸送手段毎、出荷日毎に予め指定される輸送コストに、前記輸送手段のそれぞれに同時に積載される出荷対象製品の出荷先の数に応じた多港揚げ割増料金を加算した金額を、全ての出荷日、及びそれぞれの出荷日に使用される全ての輸送手段について積算した値と、前記出荷対象製品のうちで、出荷計画に含まれない未出荷製品の量に、当該未出荷製品を出荷先まで輸送するそれぞれの輸送手段の輸送にかかるコストのうち、最も高いコストを掛けた金額を、全ての未出荷製品について積算した値と、を加算した値であることを特徴とする出荷計画立案装置。
【請求項２】
前記輸送手段毎に予め指定される輸送コスト、または前記輸送手段毎、出荷日毎に予め指定される輸送コストは、当該輸送手段に積載される出荷対象製品の出荷先ごとに予め定められているコストのうち、最も高いコストであることを特徴とする請求項１に記載の出荷計画立案装置。
【請求項３】
前記制約式設定手段は、前記輸送手段別の出荷先の候補を限定する為の制約式として、同一の輸送手段が輸送する出荷対象製品の出荷先のうち、予め設定された出荷先における出荷先別・出荷日別・輸送手段別の出荷量の値のみが０（ゼロ）を超える値をとることを表す制約式を設定することを特徴とする請求項１又は２に記載の出荷計画立案装置。
【請求項４】
前記同一の輸送手段が輸送する出荷対象製品の出荷先のうち、予め設定された出荷先は、前記輸送手段が、出荷元から最後の出荷先まで到着するまでの間に、同じ経路を戻ることがないようにすることができる複数の出荷先であることを特徴とする請求項３に記載の出荷計画立案装置。
【請求項５】
前記同一の輸送手段が輸送する出荷対象製品の出荷先をオペレータによる入力操作に基づいて設定する出荷先候補設定手段を有し、
前記制約式設定手段は、前記出荷先候補設定手段により設定された出荷先における出荷先別・出荷日別・輸送手段別の出荷量の値のみが０（ゼロ）を超える値をとることを表す制約式を設定することを特徴とする請求項３又は４に記載の出荷計画立案装置。
【請求項６】
前記出荷計画表示手段により出荷計画に係る情報が表示された後に、オペレータによる指示に基づいて、前記出荷期限日違反量に対する評価の、前記出荷対象製品を輸送する輸送手段の輸送コストに対する評価とのバランスを表す重み係数と、前記輸送コストに対する評価の、前記出荷期限日違反量に対する評価とのバランスを表す重み係数との少なくとも何れか一方を変更する変更手段を有し、
前記最適化手段は、前記制約式を満たす範囲で、前記変更手段により前記重み係数が変更された後の前記評価関数を最小にする混合整数計画法による最適化計算を行うことを特徴とする請求項１〜５の何れか１項に記載の出荷計画立案装置。
【請求項７】
出荷先が異なる複数の製品であって、複数の輸送手段の何れかに積載されて出荷される出荷対象製品の、出荷先別・出荷日別・輸送手段別の出荷量をコンピュータにより計画立案する出荷計画立案方法であって、
前記出荷対象製品の出荷量と、当該出荷対象製品の出荷期限日と、当該出荷対象製品の出荷先とを含む注文情報を取得する注文情報取得工程と、
前記注文情報に基づいて導出される前記出荷対象製品の出荷日毎の目標出荷量の累積値を表すステップ関数であって、出荷日が出荷期限日になるまでは０であり、出荷日が出荷期限日になると目標出荷量になるステップ関数の値と、当該出荷対象製品の計画期間内の出荷量の累積値との差の絶対値で表される出荷期限日違反量に対する評価の、前記出荷対象製品を輸送する輸送手段の輸送コストに対する評価とのバランスを表す重み係数と、前記出荷対象製品を輸送する輸送手段の輸送コストに対する評価の、前記出荷期限日違反量に対する評価とのバランスを表す重み係数とを取得する重み係数取得工程と、
前記出荷対象製品に対する前記出荷期限日違反量の評価値であって、前記出荷対象製品の計画期間内の出荷量の累積値と前記ステップ関数との差の絶対値である出荷期限日違反量評価値と、当該出荷対象製品を輸送する輸送手段の輸送コストの評価値である輸送コスト評価値とに、前記重み係数取得工程により取得された前記重み係数をそれぞれ乗じて加算した値である重み付き平均和で表される評価関数を設定する評価関数設定工程と、
前記評価関数に対する制約式として、輸送手段別の出荷先の候補を限定する為の制約式と、出荷日別の配船数を限定する為の制約式を設定する制約式設定工程と、
前記制約式を満たす範囲で前記評価関数を最小にする混合整数計画法による最適化計算を行う最適化工程と、
前記最適化工程による最適化計算の結果、前記制約式による制約を満たす範囲で前記評価関数の値が最小になったときの、前記出荷先別・出荷日別・輸送手段別の出荷量を含む出荷計画に係る情報を表示装置に表示する出荷計画表示工程と、を有し、
前記輸送コスト評価値は、輸送手段毎に予め指定される輸送コスト、または輸送手段毎、出荷日毎に予め指定される輸送コストに、前記輸送手段のそれぞれに同時に積載される出荷対象製品の出荷先の数に応じた多港揚げ割増料金を加算した金額を、全ての出荷日、及びそれぞれの出荷日に使用される全ての輸送手段について積算した値と、前記出荷対象製品のうちで、出荷計画に含まれない未出荷製品の量に、当該未出荷製品を出荷先まで輸送するそれぞれの輸送手段の輸送にかかるコストのうち、最も高いコストを掛けた金額を、全ての未出荷製品について積算した値と、を加算した値であることを特徴とする出荷計画立案方法。
【請求項８】
前記輸送手段毎に予め指定される輸送コスト、または前記輸送手段毎、出荷日毎に予め指定される輸送コストは、当該輸送手段に積載される出荷対象製品の出荷先ごとに予め定められているコストのうち、最も高いコストであることを特徴とする請求項７に記載の出荷計画立案方法。
【請求項９】
前記制約式設定工程は、前記輸送手段別の出荷先の候補を限定する為の制約式として、同一の輸送手段が輸送する出荷対象製品の出荷先のうち、予め設定された出荷先における出荷先別・出荷日別・輸送手段別の出荷量の値のみが０（ゼロ）を超える値をとることを表す制約式を設定することを特徴とする請求項７又は８に記載の出荷計画立案方法。
【請求項１０】
前記同一の輸送手段が輸送する出荷対象製品の出荷先のうち、予め設定された出荷先は、前記輸送手段が、出荷元から最後の出荷先まで到着するまでの間に、同じ経路を戻ることがないようにすることができる複数の出荷先であることを特徴とする請求項９に記載の出荷計画立案方法。
【請求項１１】
前記同一の輸送手段が輸送する出荷対象製品の出荷先をオペレータによる入力操作に基づいて設定する出荷先候補設定工程を有し、
前記制約式設定工程は、前記出荷先候補設定工程により設定された出荷先における出荷先別・出荷日別・輸送手段別の出荷量の値のみが０（ゼロ）を超える値をとることを表す制約式を設定することを特徴とする請求項９又は１０に記載の出荷計画立案方法。
【請求項１２】
前記出荷計画表示工程により出荷計画に係る情報が表示された後に、オペレータによる指示に基づいて、前記出荷期限日違反量に対する評価の、前記出荷対象製品を輸送する輸送手段の輸送コストに対する評価とのバランスを表す重み係数と、前記輸送コストに対する評価の、前記出荷期限日違反量に対する評価とのバランスを表す重み係数との少なくとも何れか一方を変更する変更工程を有し、
前記最適化工程は、前記制約式を満たす範囲で、前記変更工程により前記重み係数が変更された後の前記評価関数を最小にする混合整数計画法による最適化計算を行うことを特徴とする請求項７〜１１の何れか１項に記載の出荷計画立案方法。
【請求項１３】
請求項１〜６の何れか１項に記載の出荷計画立案装置の各手段としてコンピュータを機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、出荷計画立案装置、出荷計画立案方法及びコンピュータプログラムに関し、特に、複数の出荷先の製品を輸送することができる各輸送手段における、出荷日別・出荷先別の製品の出荷量である出荷計画を立案するために用いて好適なものである。
【背景技術】
【０００２】
従来から、同一の出荷元から複数の出荷先の製品を積載して輸送することができる各輸送手段における、出荷日別・出荷先別の製品の出荷量である出荷計画を、生産計上済み在庫に基づいて立案することが行われている。このような出荷計画の一例として、鉄鋼業における厚板製品の出荷計画がある。各厚板製品は、同一の出荷元（港）から船により、それぞれの出荷先（港）に出荷されることになる。同一の出荷先への在庫が、船の最大積載量（出荷ロット）に満たない場合には、複数の出荷先の在庫を同一の船に混載しなければ、船の最大積載量未満で出荷することになる。一方、複数の出荷先の在庫を同一の船に混載すると、船が寄港する港の数が多くなるため（いわゆる多港揚げが生じるため）、非効率な出荷作業が発生する。よって、輸送コストが最小となるように出荷計画を立案することが重要になる。
【０００３】
かかる輸送コストは、港間の距離や航海時間によって定まる。このため、輸送コストを最小化する出荷計画を立案するために、従来は、港間の輸送コストを定義しておき、立案対象の全製品の輸送コストが最小となるような船の寄港順を求める問題を解くようにしていた。
しかしながら、このような船の寄港順を決める問題は、巡回セールスマン問題と呼ばれる求解が困難な部類の問題である。さらに、前述した出荷計画では、出荷計画を立案するのと同時に各船が寄港する港を決定する必要がある。よって、輸送コストを正確に考慮した最適化問題を解くことは非常に難しいという課題があった。
【０００４】
そこで、特許文献１では、製品に対する出荷期限日違反量と、当該製品を輸送する輸送手段の空積載量と、当該輸送手段における合積数（１つの輸送手段に積載される製品の出荷先の数）との重み付き平均和を最小化する最小化問題を解くことにより、輸送コストを直接扱うことなく、複数の製品の出荷日別の出荷量を出荷計画として求めるようにしている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２５４４７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、前述した特許文献１に記載の技術では、トレードオフの関係にあるものの重み付き平均和を最小化する最小化問題を解くようにしている。したがって、輸送コストが最小となるような重み係数を見つけることが難しく、最適な重み係数を得るために試行錯誤を繰り返す必要がある。よって、輸送コストが最小となる出荷計画を効率よく立案することが困難であるという問題点があった。
【０００７】
本発明は、以上のような問題点に鑑みてなされたものであり、複数の出荷先の製品を輸送することができる各輸送手段における、出荷日別・出荷先別の製品の出荷量である出荷計画として、各輸送手段による輸送コストが最小となる出荷計画を高速に立案することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の出荷計画立案装置は、出荷先が異なる複数の製品であって、複数の輸送手段の何れかに積載されて出荷される出荷対象製品の、出荷先別・出荷日別・輸送手段別の出荷量を計画立案する出荷計画立案装置であって、前記出荷対象製品の出荷量と、当該出荷対象製品の出荷期限日と、当該出荷対象製品の出荷先とを含む注文情報を取得する注文情報取得手段と、前記注文情報に基づいて導出される前記出荷対象製品の出荷日毎の目標出荷量の累積値を表すステップ関数であって、出荷日が出荷期限日になるまでは０であり、出荷日が出荷期限日になると目標出荷量になるステップ関数の値と、当該出荷対象製品の計画期間内の出荷量の累積値との差の絶対値で表される出荷期限日違反量に対する評価の、前記出荷対象製品を輸送する輸送手段の輸送コストに対する評価とのバランスを表す重み係数と、前記出荷対象製品を輸送する輸送手段の輸送コストに対する評価の、前記出荷期限日違反量に対する評価とのバランスを表す重み係数とを取得する重み係数取得手段と、前記出荷対象製品に対する前記出荷期限日違反量の評価値であって、前記出荷対象製品の計画期間内の出荷量の累積値と前記ステップ関数との差の絶対値である出荷期限日違反量評価値と、当該出荷対象製品を輸送する輸送手段の輸送コストの評価値である輸送コスト評価値とに、前記重み係数取得手段により取得された前記重み係数をそれぞれ乗じて加算した値である重み付き平均和で表される評価関数を設定する評価関数設定手段と、前記評価関数に対する制約式として、輸送手段別の出荷先の候補を限定する為の制約式と、出荷日別の配船数を限定する為の制約式を設定する制約式設定手段と、前記制約式を満たす範囲で前記評価関数を最小にする混合整数計画法による最適化計算を行う最適化手段と、前記最適化手段による最適化計算の結果、前記制約式による制約を満たす範囲で前記評価関数の値が最小になったときの、前記出荷先別・出荷日別・輸送手段別の出荷量を含む出荷計画に係る情報を表示装置に表示する出荷計画表示手段と、を有し、前記輸送コスト評価値は、輸送手段毎に予め指定される輸送コスト、または輸送手段毎、出荷日毎に予め指定される輸送コストに、前記輸送手段のそれぞれに同時に積載される出荷対象製品の出荷先の数に応じた多港揚げ割増料金を加算した金額を、全ての出荷日、及びそれぞれの出荷日に使用される全ての輸送手段について積算した値と、前記出荷対象製品のうちで、出荷計画に含まれない未出荷製品の量に、当該未出荷製品を出荷先まで輸送するそれぞれの輸送手段の輸送にかかるコストのうち、最も高いコストを掛けた金額を、全ての未出荷製品について積算した値と、を加算した値であることを特徴とする。
【０００９】
本発明の出荷計画立案方法は、出荷先が異なる複数の製品であって、複数の輸送手段の何れかに積載されて出荷される出荷対象製品の、出荷先別・出荷日別・輸送手段別の出荷量をコンピュータにより計画立案する出荷計画立案方法であって、前記出荷対象製品の出荷量と、当該出荷対象製品の出荷期限日と、当該出荷対象製品の出荷先とを含む注文情報を取得する注文情報取得工程と、前記注文情報に基づいて導出される前記出荷対象製品の出荷日毎の目標出荷量の累積値を表すステップ関数であって、出荷日が出荷期限日になるまでは０であり、出荷日が出荷期限日になると目標出荷量になるステップ関数の値と、当該出荷対象製品の計画期間内の出荷量の累積値との差の絶対値で表される出荷期限日違反量に対する評価の、前記出荷対象製品を輸送する輸送手段の輸送コストに対する評価とのバランスを表す重み係数と、前記出荷対象製品を輸送する輸送手段の輸送コストに対する評価の、前記出荷期限日違反量に対する評価とのバランスを表す重み係数とを取得する重み係数取得工程と、前記出荷対象製品に対する前記出荷期限日違反量の評価値であって、前記出荷対象製品の計画期間内の出荷量の累積値と前記ステップ関数との差の絶対値である出荷期限日違反量評価値と、当該出荷対象製品を輸送する輸送手段の輸送コストの評価値である輸送コスト評価値とに、前記重み係数取得工程により取得された前記重み係数をそれぞれ乗じて加算した値である重み付き平均和で表される評価関数を設定する評価関数設定工程と、前記評価関数に対する制約式として、輸送手段別の出荷先の候補を限定する為の制約式と、出荷日別の配船数を限定する為の制約式を設定する制約式設定工程と、前記制約式を満たす範囲で前記評価関数を最小にする混合整数計画法による最適化計算を行う最適化工程と、前記最適化工程による最適化計算の結果、前記制約式による制約を満たす範囲で前記評価関数の値が最小になったときの、前記出荷先別・出荷日別・輸送手段別の出荷量を含む出荷計画に係る情報を表示装置に表示する出荷計画表示工程と、を有し、前記輸送コスト評価値は、輸送手段毎に予め指定される輸送コスト、または輸送手段毎、出荷日毎に予め指定される輸送コストに、前記輸送手段のそれぞれに同時に積載される出荷対象製品の出荷先の数に応じた多港揚げ割増料金を加算した金額を、全ての出荷日、及びそれぞれの出荷日に使用される全ての輸送手段について積算した値と、前記出荷対象製品のうちで、出荷計画に含まれない未出荷製品の量に、当該未出荷製品を出荷先まで輸送するそれぞれの輸送手段の輸送にかかるコストのうち、最も高いコストを掛けた金額を、全ての未出荷製品について積算した値と、を加算した値であることを特徴とする。
【００１０】
本発明のコンピュータプログラムは、前記出荷計画立案装置の各手段としてコンピュータを機能させることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、輸送コスト評価値を目的関数に組み込むようにした。この輸送コスト評価値は、１つの輸送手段に積載される出荷対象製品の出荷先の数が多いほど、値が大きくなると共に、未出荷製品の量が多いほど、値が大きくなる。したがって、輸送コストを低くするために出荷しないという出荷計画が作成されることを防止することができる。よって、重み係数の調整が容易になるので、輸送手段による輸送コストが最小となる出荷計画を高速に立案することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施形態を示し、出荷計画立案装置の機能的な構成の一例を示す図である。
【図２】本発明の第１の実施形態を示し、注文情報の一例を示す図である。
【図３】本発明の第１の実施形態を示し、出荷財源マトリクスの一例を示す図である。
【図４】本発明の第１の実施形態を示し、出荷日別最大配船数の一例を示す図である。
【図５】本発明の第１の実施形態を示し、船型別・揚地別輸送費用の一例を示す図である。
【図６】本発明の第１の実施形態を示し、割増運賃の一例を示す図である。
【図７】本発明の第１の実施形態を示し、寄港ルート候補と、出荷ロットの一例を示す図である。
【図８】本発明の第１の実施形態を示し、重み係数の一例を示す図である。
【図９】本発明の第１の実施形態を示し、目標出荷量と出荷量の船番号、出荷日についての累積値との関係の一例を示す図である。
【図１０】本発明の第１の実施形態を示し、出荷計画の一例を示す図である。
【図１１】本発明の第１の実施形態を示し、出荷計画立案装置の動作処理の一例を説明するフローチャートである。
【図１２】本発明の第１の実施形態を示し、出荷計画に対する評価の一例を示す図である。
【図１３】本発明の第２の実施形態を示し、目標出荷量と出荷量の船番号、出荷日についての累積値との関係の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照しながら、本発明の実施形態を説明する。以下の各実施形態では、製品が厚板製品であり、輸送手段が船であり、出荷先が港である場合を例に挙げて説明する。
［第１の実施形態］
まず、本発明の第１の実施形態について説明する。
図１は、出荷計画立案装置１００の機能的な構成の一例を示す図である。尚、出荷計画立案装置１００のハードウエアの構成は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＨＤＤ、及び各種のインターフェースを備えた情報処理装置を用いることにより実現することができる。
【００１４】
＜注文情報入力部１０１＞
注文情報入力部１０１は、例えば、オペレータによる入力装置の操作入力、外部装置とのネットワークを介した通信、又は可搬型の記憶媒体からの情報の読み出しに基づいて、注文（製品）の属性を示す注文情報を入力して記憶する。
図２は、注文情報２００の一例を示す図である。
図２に示す例では、注文情報２００は、製品Ｎｏ、揚地、重量、及び出荷期限日の各情報を含む。
【００１５】
ここで、製品Ｎｏは、注文（製品）を識別するための番号であり、製品毎にユニークなものである。
揚地は、製品の出荷先を示す情報である。本実施形態において、製品の揚地とは、製品が船に積まれた後、当該製品が最初に降ろされる場所をいう。本実施形態では、製品を船で輸送する場合を例に挙げて説明するので、出荷岸壁のある港等が揚地となる。図２に示すように本実施形態では、揚地を大文字のアルファベット（Ａ、Ｂ、・・・）により表すものとする。
重量は、製品の重量［ｔｏｎ］である。
出荷期限日は、製品を出荷する期限となる日である。ここでは、出荷計画の立案日当日を「０」、出荷計画の立案日のＺ（Ｚは自然数）日後を「Ｚ」として、出荷期限日を表すものとする。
注文情報入力部１０１は、例えば、ＣＰＵが、ＲＯＭ等に記憶されたコンピュータプログラムを実行することにより、外部から入力した注文情報２００のデータをＲＡＭ等に記憶することにより実現される。
【００１６】
＜出荷財源マトリクス作成部１０２＞
出荷財源マトリクス作成部１０２は、注文情報入力部１０１により入力された注文情報２００に基づいて、出荷財源マトリクスを作成して記憶する。
図３は、出荷財源マトリクス３００の一例を示す図である。
図３において、出荷財源マトリクス３００は、出荷先別、出荷期限日別の注文量を表すものである。図３に示す例では、出荷財源マトリクス３００は、揚地別・出荷期限日別の注文重量［ｔｏｎ］で表される。また、前述したように、「出荷期限日」が出荷計画の立案日当日である場合には、「出荷期限日」を「０」とし、「出荷期限日」が出荷計画の立案日のＺ（Ｚは自然数）日後である場合には、「出荷期限日」を「Ｚ」としている。
出荷財源マトリクス作成部１０２は、例えば、ＣＰＵが、ＲＯＭ等に記憶されたコンピュータプログラムを実行することにより、ＲＡＭ等から注文情報２００のデータを読み出し、注文情報２００を、揚地別・出荷期限日別に集計して出荷財源マトリクス３００を作成し、作成した出荷財源マトリクス３００のデータをＲＡＭ等に記憶することにより実現される。
【００１７】
＜配船数上限値・出荷フラグ設定値入力部１０３＞
配船数上限値・出荷フラグ設定値入力部１０３は、例えば、オペレータによる入力装置の操作入力、外部装置とのネットワークを介した通信、又は可搬型の記憶媒体からの情報の読み出しに基づいて、出荷日別最大配船数（MaxShipCountj）と、出荷フラグ設定値（Ｍ）とを入力して記憶する。
出荷日別最大配船数（MaxShipCountj）と、出荷フラグ設定値（Ｍ）は、後述するようにして、船型別・揚地別・出荷日別・船番号別出荷量（loadAmountig,i,j,s）を算出する際の制約式における定数である（（８）式、（６）式を参照）。
ここで、ｉｇ、ｉ、ｊ、ｓは、それぞれ船型、揚地、出荷日、船番号を表す。船型ｉｇとは、船の大きさ等の船の能力を示す情報である。本実施形態では、船型ｉｇを小文字のアルファベット（ａ、ｂ、・・・）で表すものとする。また、出荷日ｉとは、製品を船に積み出荷する日を示す情報である。本実施形態では、出荷日ｉを立案日からの日数（０、１、・・・）で表すものとする。揚地ｊとは、製品を揚げる港を示す情報である。本実施形態では、揚地ｊを大文字のアルファベット（Ａ、Ｂ、Ｃ・・・）で表すものとする。船番号ｓとは、その日に出荷元に配船する船の配船順を表す情報である。本実施形態では、船番号ｓが「０」、「１」、「２」、「３」の何れかの値をとるものとする。船番号ｓとして、「０」、「１」、「２」、「３」が割当てられた船は、それぞれ、その日の「１隻目の船」、「２隻目の船」、「３隻目の船」、「４隻目の船」となる。
【００１８】
出荷日別最大配船数（MaxShipCountj）は、出荷日ｊに出荷元となる港に配船することが可能な船の数の上限値［−］である。図４は、出荷日別最大配船数４００の一例を示す図である。
出荷フラグ設定値（Ｍ）は、後述するように、船型別・揚地別・出荷日別・船番号別出荷量（loadAmountig,i,j,s）が０を上回るときに、０−１変数である出荷フラグloadDig,i,j,sの値を「１」にして（６）式を成立させるためのものである。出荷フラグ設定値（Ｍ）としては十分に大きな正の値を設定する。
配船数上限値・出荷フラグ設定値入力部１０３は、例えば、ＣＰＵが、ＲＯＭ等に記憶されたコンピュータプログラムを実行することにより、外部から入力した「出荷日別最大配船数４００及び出荷フラグ設定値（Ｍ）」のデータをＲＡＭ等に記憶することにより実現される。
【００１９】
＜輸送コスト入力部１０４＞
輸送コスト入力部１０４は、例えば、オペレータによる入力装置の操作入力、外部装置とのネットワークを介した通信、又は可搬型の記憶媒体からの情報の読み出しに基づいて、輸送コストに関する定数を入力して記憶する。
本実施形態では、輸送コストに関する定数として以下の情報を入力する。
・船型別・揚地別輸送費用（TransportCostig,i）
・割増運賃（Extracharge）
【００２０】
船型別・揚地別輸送費用（TransportCostig,i）は、船型ｉｇの船が揚地ｉまで、単位注文量の製品を輸送するのにかかる費用［円／ｔｏｎ］である。図５は、船型別・揚地別輸送費用５００の一例を示す図である。
割増運賃（Extracharge）は、後述する輸送コスト評価値Ｊ2において、船が港に寄港する度に加算される、単位注文量当たりの割増運賃［円／ｔｏｎ］である（（１２）式の右辺第１項を参照）。図６は、割増運賃６００の一例を示す図である。
図５及び図６に示すように、本実施形態では、単位注文量を１［ｔｏｎ］としている。
船型別・揚地別輸送費用（TransportCostig,i）と割増運賃（Extracharge）は、後述するようにして、船型別・揚地別・出荷日別・船番号別出荷量（loadAmountig,i,j,s）を算出する際の評価関数における定数である（（１４）式、（１２）式を参照）。
【００２１】
また、船型別・揚地別・出荷日別・船番号別出荷量（loadAmountig,i,j,s）を算出する際の評価関数における定数として、これらの他に、揚地別最大輸送費用（MaxTransportCosti）がある（（１４）式、（１２）式を参照）。この揚地別最大輸送費用（MaxTransportCosti）は、船型別・揚地別輸送費用（TransportCostig,i）から得られる。輸送コスト入力部１０４は、船型別・揚地別輸送費用（TransportCostig,i）から、各揚地ｉｇにおける最大の輸送費用を抽出して、揚地別最大輸送費用（MaxTransportCosti）を導出する。
輸送コスト入力部１０４は、例えば、ＣＰＵが、ＲＯＭ等に記憶されたコンピュータプログラムを実行することにより、外部から入力した「船型別・揚地別輸送費用５００及び割増運賃６００」のデータをＲＡＭ等に記憶することにより実現される。さらに、輸送コスト入力部１０４は、ＲＡＭ等から、船型別・揚地別輸送費用５００のデータを読み出して、揚地別最大輸送費用（MaxTransportCosti）を導出し、そのデータをＲＡＭ等に記憶することにより実現される。
【００２２】
＜寄港ルート候補入力部１０５＞
寄港ルート候補入力部１０５は、例えば、オペレータによる入力装置の操作入力、外部装置とのネットワークを介した通信、又は可搬型の記憶媒体からの情報の読み出しに基づいて、寄港ルート候補（MixConditionig,i）と、船型別の最大積載量である出荷ロット（shipLotSizeig）とを入力して記憶する。
寄港ルート候補（MixConditionig,i）と、出荷ロット（shipLotSizeig）は、後述するようにして、船型別・揚地別・出荷日別・船番号別出荷量（loadAmountig,i,j,s）を算出する際の制約式における定数である（（７）式、（１）式を参照）。
【００２３】
寄港ルート候補（MixConditionig,i）は、船型ｉｇの船が揚地ｉ向けの製品を積載可能であれば「１」、不可能であれば「０」をとる定数である。
図７は、寄港ルート候補７１０（７１０ａ、７１０ｂ）と、出荷ロット７２０（７２０ａ、７２０ｂ）の一例を示す図である。図７に示すように、本実施形態では、出荷ロット７２０を、船型ｉｇの船の最大積載重量［ｔｏｎ］としている。
【００２４】
図７において、本実施形態では、船が同じ経路を戻るような寄港ルートとならないような出荷計画を作成する。例えば、出荷元の港が東京都にある場合、北海道にある港に寄港した後に、兵庫県にある港に寄港する寄港ルートや、福岡県にある港に寄港した後に、兵庫県にある港に寄港する寄港ルートとならないような出荷計画を作成する。ここで、寄港ルートとは、出荷元の港を出発してから、積載している製品の最後の揚地に到着するまでのルートを指す。例えば、最後の揚地から出荷元の港等に戻るルートは、寄港ルートに含まれないものとする。
【００２５】
図７（ａ）、（ｂ）において、揚地Ａ〜Ｋが、出荷元の港よりも西にある港を示し、揚地Ｌ〜Ｚが、出荷元の港よりも東にある港を示す。本実施形態では、出荷元の港よりも西にある揚地Ａ〜Ｋの少なくとも１つについて寄港ルート候補７１０の値が「１」となる場合には、出荷元の港よりも東にある揚地Ｌ〜Ｚについての寄港ルート候補７１０の値は全て「０」となるようにする。同様に、出荷元の港よりも東にある揚地Ｌ〜Ｚの少なくとも１つについて寄港ルート候補７１０の値が「１」となる場合には、出荷元の港よりも西にある揚地Ａ〜Ｋについての寄港ルート候補７１０の値は全て「０」となるようにする。
【００２６】
図７（ａ）に示すように、出荷元の港よりも西にある揚地Ａ〜Ｋの全てと、出荷元の港よりも東にある揚地Ｌ〜Ｚの全てのうち、何れか一方についての寄港ルート候補７１０ａの値を「１」とし、他方についての寄港ルート候補７１０ａの値を「０」とすると、出荷元の港よりも西にある揚地Ａ〜Ｋのみ、又は出荷元の港よりも東にある揚地Ｌ〜Ｚのみが船が寄港する港となる。このようにすれば、出荷計画（船型別・揚地別・出荷日別・船番号別出荷量（loadAmountig,i,j,s）、図１０を参照）において、船に積載（合積）される製品の揚地ｉの候補として、同じ経路を戻るような寄港ルートとならない揚地ｉの（最低限の）候補を予め設定することができる。例えば、出荷元の港よりも西にある揚地Ａ〜Ｋの全てについての寄港ルート候補７１０ａの値が「１」であっても、出荷元の港よりも東にある揚地Ｌ〜Ｚの全てについての寄港ルート候補７１０ａの値が「０」であれば、出荷元の港よりも西にある揚地Ａ〜Ｋのうちで、最も東側にある揚地から、西寄りの揚地に順に寄港すれば、船が同じ経路を戻るような寄港ルートとならないようにすることができるからである。このように、図７（ａ）に示す寄港ルート候補７１０ａを設定することにより、出荷計画で（出荷先として）採用される揚地ｉの候補を予め絞り込むことができる。
【００２７】
しかしながら、図７（ａ）に示す例では、出荷元の港よりも西にある揚地Ａ〜Ｋの全て又は出荷元の港よりも東にある揚地Ｌ〜Ｚの全ての値を「１」としている。したがって、或る船型ｉｇに対する寄港ルート候補７１０ａにおいて「１」が設定される揚地ｉの数は、船が同じ経路を戻るような寄港ルートとならない揚地ｉの候補の数の最大値となる（図７（ｂ）に示す例では、「１１」（揚地Ａ〜Ｋ）又は「１５」（揚地Ｌ〜Ｚ）となる）。そこで、図７（ｂ）に示すように、出荷元の港よりも西にある揚地Ａ〜Ｋ（又は出荷元の港よりも東にある揚地Ｌ〜Ｚ）のうち、船型毎に、より輸送コストが近い（距離の近い）揚地について、寄港ルート候補７１０ｂの値を「１」とすれば、出荷計画で（出荷先として）採用される揚地ｉの候補をより少数に絞り込むことができる。例えば、近い場所にある揚地の組合せについての寄港ルート候補７１０ｂの値を「１」とすることができる。
【００２８】
寄港ルート候補入力部１０５は、例えば、ＣＰＵが、ＲＯＭ等に記憶されたコンピュータプログラムを実行することにより、外部から入力した「寄港ルート候補７１０及び出荷ロット７２０」のデータをＲＡＭ等に記憶することにより実現される。
【００２９】
＜立案方針入力部１０６＞
立案方針入力部１０６は、例えば、オペレータによる入力装置の操作入力、外部装置とのネットワークを介した通信、又は可搬型の記憶媒体からの情報の読み出しに基づいて、後述する評価関数Ｊに対する重み係数ｗ2（（９）式を参照）を入力して記憶する。
図８は、重み係数ｗ1、ｗ2の一例を示す図である。
後述するように、本実施形態では、出荷期限日違反量評価値Ｊ1と輸送コスト評価値Ｊ2との重み付き線形和で評価関数Ｊが表される（（９）式を参照）。よって、出荷期限日違反量に対する重み係数ｗ1と、輸送コストに対する重み係数ｗ2とを設定する必要がある。ただし、本実施形態では、図８に示すように、出荷期限日違反量に対する重み係数ｗ1の値を「１」に固定しておいて、出荷期限日違反量に対する重み係数ｗ1との相対的な関係で輸送コストに対する重み係数ｗ2の値を入力するようにしている。
立案方針入力部１０６は、例えば、ＣＰＵが、ＲＯＭ等に記憶されたコンピュータプログラムを実行することにより、外部から入力した重み係数ｗ2のデータをＲＡＭ等に記憶することにより実現される。尚、本実施形態では、出荷期限日違反量に対する重み係数ｗ1の値を「１」に固定したが、必ずしもこのようにする必要はない。すなわち、出荷期限日違反量に対する重み係数ｗ1と輸送コストに対する重み係数ｗ2とのそれぞれを入力するようにしてもよいし、輸送コストに対する重み係数ｗ2の値を固定してもよい。
【００３０】
＜制約式設定部１０７＞
制約式設定部１０７は、出荷財源マトリクス作成部１０２により作成された出荷財源マトリクス３００と、配船数上限値・出荷フラグ設定値入力部１０３により記憶された「出荷日別最大配船数４００（MaxShipCountj）及び出荷フラグ設定値（Ｍ）」と、寄港ルート候補入力部１０５により記憶された「寄港ルート候補７１０（MixConditionig,i）及び出荷ロット７２０（shipLotSizeig）」とを用いて、出荷計画（船型別・揚地別・出荷日別・船番号別出荷量（loadAmountig,i,j,s））を算出する際の制約式を設定する。
本実施形態では、制約式設定部１０７は、以下の制約式を設定する。
【００３１】
（出荷量と空積載量との関係）
制約式設定部１０７は、以下の（１）式の線形等式の制約式を設定する。
【００３２】
【数１】
0005825128.tif 000002
【００３３】
（１）式の左辺のloadAmountGig,j,sは、船型ｉｇ、船番号ｓの船の出荷日ｊにおける積載量［ｔｏｎ］を表す決定変数（０以上の実数）である。shipLotSizeigは、出荷ロット７２０（船型別最大積載量［ｔｏｎ］）であり、寄港ルート候補入力部１０５により入力されるものである。loadDig,j,sは、出荷日ｊに船型ｉｇ、船番号ｓの船を配船する場合に「１」を、配船しない場合に「０」となる決定変数（０−１変数）である。LoadRatioCoverig,j,sは、船型ｉｇ、船番号ｓの船の出荷日ｊにおける空積載量を表す決定変数（０以上の実数）である。空積載量は、船型ｉｇ、船番号ｓの船の出荷ロット７２０から、船型ｉｇ、船番号ｓの船の積載量を減算した値に等しい。
以上のように、（１）式は、出荷日ｊにおける船型ｉｇ、船番号ｓの船の積載量は、出荷日ｊに配船された「船型ｉｇ、船番号ｓの船」の最大積載量の合計値から、出荷日ｊに配船された当該船の空積載量を減算したものに等しくならなければならないことを表す。
【００３４】
（注文の出荷）
制約式設定部１０７は、以下の（２）式の線形等式の制約式を設定する。
【００３５】
【数２】
0005825128.tif 000003
【００３６】
（２）式の左辺第１項は、出荷計画立案期間（出荷計画立案日「０」〜出荷計画立案日のＮ日後「Ｎ」）における「揚地ｉを出荷先とする製品を積載する各船番号ｓの船の総出荷量［ｔｏｎ］（の計画値）」を表す。第２項は、揚地ｉを出荷先とする製品の未出荷量［ｔｏｎ］を表す。一方、（２）式の右辺は、出荷計画立案期間における「揚地ｉを出荷先とする製品の総注文量」である。すなわち、（２）式は、揚地ｉを出荷先とする製品の総出荷量と未出荷量との合計が、揚地ｉを出荷先とする製品の総注文量と等しくならなければならないことを表す。
尚、（２）式のloadAmounti,j,sは、船番号ｓの船に積載される「揚地ｉを出荷先とする製品」の出荷日ｊにおける出荷量［ｔｏｎ］を表す決定変数（０以上の実数）である。
NonloadAmountiは、揚地ｉを出荷先とする製品の未出荷量［ｔｏｎ］を表す決定変数（０以上の実数）である。
loadOrderAmounti,jは、各出荷日ｊにおける「揚地ｉを出荷先とする製品の注文量」［ｔｏｎ］である。（２）式の右辺は、出荷財源マトリクス３００の値を揚地ｉ毎に合算することにより得られる。
【００３７】
（出荷量に係る変数の関係）
制約式設定部１０７は、以下の（３）式〜（５）式の線形等式の制約式を設定する。
【００３８】
【数３】
0005825128.tif 000004
【００３９】
また、（３）式において、左辺は、出荷計画立案期間（出荷計画立案日「０」〜出荷計画立案日のＮ日後「Ｎ」）における全ての出荷期限日ｒについて、出荷先が揚地ｉであり、出荷期限日がｒであり、船番号がｓの船に積載される製品の出荷日ｊにおける出荷量を合算（積算）したものである。一方、右辺は、出荷先が揚地ｉであり、船番号ｓの船に積載される製品の出荷日ｊにおける出荷量である。
揚地ｉ、出荷日ｊ及び船番号ｓが同一の注文（製品）であっても出荷期限日ｒが異なるものがある。したがって、（３）式では、出荷期限日ｒが異なる「揚地ｉ、出荷日ｊ及び船番号ｓが同一の注文（製品）」の出荷量の合計値は、当該「揚地ｉ、出荷日ｊ及び船番号ｓ」の注文（製品）の出荷量と等しくなければならないことを表す。
尚、（３）式のloadDeadAmounti,r,j,sは、出荷グループがｉであり、出荷期限日がｒであり、船番号がｓである注文（製品）の出荷日ｊにおける出荷量［ｔｏｎ］を表す決定変数（０以上の実数）である。また、loadAmounti,j,sは、出荷グループがｉであり、船番号がｓである注文（製品）の出荷日ｊにおける出荷量［ｔｏｎ］を表す決定変数（０以上の実数）である。
【００４０】
また、（４）式において、左辺は、出荷先が揚地ｉであり、船番号ｓの船に積載される製品の出荷日ｊにおける出荷量を、全ての船型ｉｇ（船型ｉｇの数＝０，１，・・・ＩＧ（ＩＧは正の整数））について合算（積算）したものである。一方、右辺は、（３）式の右辺と同様に、出荷先が揚地ｉであり、船番号ｓの船に積載される製品の出荷日ｊにおける出荷量である。
揚地ｉ、出荷日ｊ及び船番号ｓが同一の注文（製品）であっても、積載される船の船型ｉｇが異なるものがある。したがって、（４）式では、船型ｉｇが異なる「揚地ｉ、出荷日ｊ及び船番号ｓが同一の注文（製品）」の出荷量の合計値は、当該「揚地ｉ、出荷日ｊ及び船番号ｓ」の注文（製品）の出荷量と等しくなければならないことを表す。
尚、（４）式のloadAmountig,i,j,sは、出荷先が揚地ｉであり、船型ｉｇ、船番号ｓの船に積載される注文（製品）の出荷日ｊにおける出荷量［ｔｏｎ］を表す決定変数（０以上の実数）である。前述したように、このloadAmountig,i,j,sが出荷計画として求められる。また、このloadAmountig,i,j,sが求められると、その他の決定変数も求めることができる。
【００４１】
また、（５）式において、左辺は、（４）式と同様に、出荷先が揚地ｉであり、船番号ｓの船に積載される製品の出荷日ｊにおける出荷量を、全ての揚地ｉについて合算（積算）したものである。一方、右辺は、（１）式の左辺第１項と同様に、船型ｉｇ、船番号ｓの船の出荷日ｊにおける積載量である。
船型ｉｇ、船番号ｓ及び出荷日ｊが同一の注文（製品）であっても、揚地ｉが異なるものがある。したがって、（５）式では、揚地ｉが異なる「船型ｉｇ、船番号ｓ及び出荷日ｊが同一の注文（製品）」の出荷量の合計値は、当該「船型ｉｇ、出荷日ｊ及び船番号ｓ」の注文（製品）の出荷量と等しくなければならないことを表す。
尚、（５）式のloadAmountGig,j,sは、船型がｉｇであり、船番号がｓである注文（製品）の出荷日ｊにおける出荷量［ｔｏｎ］を表す決定変数（０以上の実数）である。
【００４２】
（出荷フラグ）
制約式設定部１０７は、以下の（６）式、（７）式の線形不等式の制約式を設定する。
【００４３】
【数４】
0005825128.tif 000005
【００４４】
（６）式において、loadAmountig,i,j,sは、（４）式の第１項と同様に、出荷先が揚地ｉであり、船型ｉｇ、船番号ｓの船に積載される注文（製品）の出荷日ｊにおける出荷量［ｔｏｎ］を表す決定変数（０以上の実数）である。また、Ｍは、出荷フラグ設定値であり、配船数上限値・出荷フラグ設定値入力部１０３により入力されるものである。また、loadDig,i,j,sは、出荷フラグである。具体的にloadDig,i,j,sは、出荷先が揚地ｉであり、船型ｉｇ、船番号ｓの船に積載される製品を出荷日ｊに出荷する場合には「１」となり、そうでない場合には「０」となる決定変数（０−１変数）である。
（６）式では、出荷先が揚地ｉであり、船型ｉｇ、船番号ｓの船に積載される注文（製品）の出荷日ｊにおける出荷量（loadAmountig,i,j,s）が、出荷フラグ設定値（Ｍ）に、「０」又は「１」（出荷フラグ（loadDig,i,j,s））を乗算した値以下であることを表している。すなわち、（６）式は、出荷先が揚地ｉであり、船型ｉｇ、船番号ｓの船に積載される注文（製品）の出荷日ｊにおける出荷量（loadAmountig,i,j,s）が正の値である場合には、出荷フラグ（loadDig,i,j,s）が必ず「１」となる必要があるための制約である。よって、出荷フラグ設定値（Ｍ）は、出荷先が揚地ｉであり、船型ｉｇ、船番号ｓの船に積載される注文（製品）の出荷日ｊにおける出荷量（loadAmountig,i,j,s）として想定される最大の値以上の値を有する必要がある。
【００４５】
また、（７）式において、loadDig,i,j,sは、（６）式の左辺第２項と同様に、出荷フラグである。具体的にloadDig,i,j,sは、出荷先が揚地ｉであり、船型ｉｇ、船番号ｓの船に積載される注文（製品）を出荷日ｊに出荷する場合には「１」となり、そうでない場合には「０」となる決定変数（０−１変数）である。また、loadDig,j,sも出荷フラグである。具体的にloadDig,j,sは、船型ｉｇ、船番号ｓの船に積載される製品を出荷日ｊに出荷する場合には「１」となり、そうでない場合には「０」となる決定変数（０−１変数）である。また、MixConditionig,iは、寄港ルート候補７１０であり、寄港ルート候補入力部１０５により入力されるものである。
（７）式では、寄港ルート候補（MixConditionig,i）の値が「０」である場合（すなわち、船型ｉｇの船が揚地ｉ向けの製品を積載不可能である場合）と、出荷フラグ（loadDig,j,s）の値が「０」である場合（すなわち、船型ｉｇ、船番号ｓの船に積載される製品を出荷日ｊに出荷しない場合）の少なくとも何れか一方の条件が成立する場合には、当該揚地ｉ向けの、当該船型ｉｇ、当該船番号ｓの船に積載される製品を当該出荷日ｊに出荷することができないようにする（すなわち、出荷フラグ（loadDig,i,j,s）の値が必ず「０」となる）ための制約である。
尚、寄港ルート候補（MixConditionig,i）の値と、出荷フラグ（loadDig,j,s）の値とが共に「１」である場合には、当該揚地ｉ向けの、当該船型ｉｇ、当該船番号ｓの船に積載される製品を当該出荷日ｊに出荷してもしなくてもよいことになる（すなわち、出荷フラグ（loadDig,i,j,s）の値は「０」でも「１」でもよいことになる）。
【００４６】
（日別配船数の上限値）
制約式設定部１０７は、以下の（８）式の線形不等式の制約式を設定する。
【００４７】
【数５】
0005825128.tif 000006
【００４８】
（８）式において、loadDig,j,sは、（７）式の右辺と同様に、船型ｉｇ、船番号ｓの船に積載される製品を出荷日ｊに出荷する場合には「１」となり、そうでない場合には「０」となる決定変数（０−１変数）である。また、（８）式において、MaxShipCountjは、出荷日別最大配船数４００であり、配船数上限値・出荷フラグ設定値入力部１０３により入力されるものである。すなわち、（８）式は、出荷日ｊに配船される船の総数は、当該出荷日ｊに出荷元となる港に配船することが可能な船の数の上限値以下でなければならないことを表す。
【００４９】
以上のように、制約式設定部１０７は、以下の（ａ）〜（ｅ）の設定を行う。
（ａ）寄港ルート候補入力部１０５により入力された出荷ロット（shipLotSizeig）を（１）式に設定
（ｂ）出荷財源マトリクス作成部１０２により作成された出荷財源マトリクス３００の値を揚地ｉ毎に合計した値である揚地別・出荷日別注文量（loadOrderAmounti,j）を（２）式に設定
（ｃ）配船数上限値・出荷フラグ設定値入力部１０３により入力された出荷フラグ設定値（Ｍ）を（６）式に設定
（ｄ）寄港ルート候補入力部１０５により入力された寄港ルート候補（MixConditionig,i）を（７）式に設定
（ｅ）配船数上限値・出荷フラグ設定値入力部１０３により入力された出荷日別最大配船数（MaxShipCountj）を（８）式に設定
制約式設定部１０７は、例えば、ＣＰＵが、ＲＯＭ等に記憶されたコンピュータプログラムを実行することにより、前述した定数の設定を行うことにより実現される。
【００５０】
＜評価関数設定部１０８＞
評価関数設定部１０８は、出荷財源マトリクス作成部１０２により作成された出荷財源マトリクス３００と、輸送コスト入力部１０４により入力された「割増運賃（Extracharge）、船型別・揚地別輸送費用（TransportCostig,i）」と、輸送コスト入力部１０４により導出された揚地別最大輸送費用（MaxtransportCosti）と、寄港ルート候補入力部１０５により入力された出荷ロット（shipLotSizeig）と、立案方針入力部１０６により入力された「輸送コストに対する重み係数ｗ2」と、を用いて、前述した制約式に基づく制約を満たす範囲で、出荷期限日違反量を最小化し、輸送コストを最小化するための評価関数を設定する。
【００５１】
（総合評価関数）
評価関数設定部１０８は、以下の（９）式の総合評価関数Ｊを設定する。
【００５２】
【数６】
0005825128.tif 000007
【００５３】
前述したように、（９）式において、Ｊ1は、出荷期限日違反量評価値であり、Ｊ2は、輸送コスト評価値である。また、ｗ1は、出荷期限日違反量に対する重み係数であり、ｗ2は、輸送コストに対する重み係数であり、夫々、立案方針入力部１０６により入力されるものである。また、ｍｉｎは、最小化することを表す。以上のように、本実施形態では、出荷期限日違反量評価値Ｊ1と、輸送コスト評価値Ｊ2との重み付き平均和が最小になるときの出荷計画（船型別・揚地別・出荷日別・船番号別出荷量（loadAmountig,i,j,s））を導出するようにしている。
【００５４】
（出荷期限日違反量の評価）
評価関数設定部１０８は、出荷期限日違反量評価値Ｊ1を以下の（１０）、（１１）式のように設定する。
【００５５】
【数７】
0005825128.tif 000008
【００５６】
（１０）、（１１）式において、loadDeadlineAmounti,r,j',sは、揚地がｉであり、出荷期限日がｒであり、積載される船の船番号がｓである注文（製品）の出荷日ｊ'における出荷量を表す決定変数（０以上の実数）である。また、loadAmountRefi,jは、出荷先が揚地ｉである注文（製品）の出荷日ｊにおける目標出荷量の累積値である。loadAmountRefi,jは、出荷財源マトリクス作成部１０２により作成された出荷財源マトリクス３００から得られる目標出荷量の値（loadOrderAmounti,r）に基づいて設定される。このように、式（１０）では、全ての揚地ｉ、全ての出荷期限日ｒ、全ての出荷日ｊ、全ての船番号における「出荷量（loadDeadlineAmounti,r,j',s）と目標出荷量（loadAmountRefi,j）」の差の絶対値を得るようにする。
【００５７】
ここで、本実施形態では、（１１）式に示すように、目標出荷量の累積値（loadAmountRefi,j）は、出荷日ｊが出荷期限日ｒになるまでは「０」となる。そして、出荷日ｊが出荷期限日ｒになると、目標出荷量の累積値（loadAmountRefi,j）は、目標出荷量の値（loadOrderAmounti,r）になる。このように、本実施形態では、目標出荷量の累積値（loadAmountRefi,j）は、ステップ関数であるものとする。
図９は、目標出荷量の累積値（loadAmountRefi,j）と出荷量（loadDeadlineAmounti,r,j',s）の船番号ｓ、出荷日ｊ´についての累積値との関係の一例を示す図である。
図９において斜線で示す領域９０１は、出荷期限日ｒよりも前に先行して出荷した注文（製品）の出荷量の累積値である。一方、領域９０２は、目標出荷量（の累積値）（loadAmountRefi,j）に対する出荷量の累積値の不足分である。（９）式において、出荷期限日違反量評価値Ｊ1を最小化することは、図９に示す領域９０１を最小化する（出荷期限日ｒより先行する出荷量を最小化する）ことと、領域９０２を最小化する（出荷期限日ｒ以降の出荷量の目標出荷量との差を最小化する）ことを意味する。
【００５８】
（輸送コストの評価）
評価関数設定部１０８は、輸送コスト評価値Ｊ2を以下の（１２）〜（１４）式のように設定する。
【００５９】
【数８】
0005825128.tif 000009
【００６０】
（１２）〜（１４）式において、TransportCostig,iは、船型別・揚地別輸送費用５００であり、輸送コスト入力部１０４により入力されるものである。ｖig,j,sは、船型別・・出荷日別・船番号別輸送費用［円／ｔｏｎ］であり、船型がｉｇ、船番号がｓである船の出荷日ｊにおける単位注文量当たりの製品を輸送するのにかかる費用を表す決定変数である。loadDig,i,j,s、loadDig,j,sは、前述した出荷フラグ（０−１変数）である。Extrachargeは、割増運賃６００であり、輸送コスト入力部１０４により入力されるものである。shipLotSizeigは、出荷ロット７２０であり、寄港ルート候補入力部１０５により入力されるものである。NonloadAmountiは、揚地別未出荷量［ｔｏｎ］であり、出荷先が揚地ｉである注文（製品）のうち、未出荷となっている量を表す決定変数（０以上の実数）である。MaxtransportCostiは、揚地別最大輸送費用［円／ｔｏｎ］であり、輸送コスト入力部１０４により導出されるものである。
【００６１】
（１４）式は、出荷先が揚地ｉであり、船型ｉｇ、船番号ｓの船に積載される注文（製品）を出荷日ｊに出荷する場合（すなわち、出荷フラグ（loadDig,i,j,s）の値が「１」である場合）には、当該揚地ｉに注文（製品）を輸送する当該船型ｉｇの船の単位注文量当たりの輸送費用（すなわち、船型別・揚地別輸送費用（TransportCostig,i））は、当該船型ｉｇの船が、単位注文量当たりの注文（製品）を当該出荷日ｊに輸送するのにかかる費用（すなわち、船型別・出荷日別・船番号別輸送費用（ｖig,j,s））以下であることを表す。よって、１つの船型別・出荷日別・船番号別輸送費用（ｖig,j,s）に対して、出荷フラグ（loadDig,i,j,s）の値が「１」となる（揚地ｉの）数だけ（１４）式が得られる。
【００６２】
この（１４）式により、船型がｉｇ、船番号がｓである船が、単位注文量当たりの注文（製品）を出荷日ｊに各揚地ｉに輸送するのにかかる費用（船型別・揚地別輸送費用TransportCostig,i×loadDig,i,j,s）のうち、最も高い費用が、船型別・出荷日別・船番号別輸送費用（ｖig,j,s）として決定される。このように、本実施形態では、船が幾つの揚地ｉに寄港する場合でも、船の単位注文量当たりの輸送費用は、最大の費用となる揚地ｉによって定まる。例えば、揚地ｉとして愛知県にある港に注文（製品）を輸送する場合の単位注文量当たりの輸送費用が１０００［円／ｔｏｎ］であり、大分県にある港に注文（製品）を輸送する場合の単位注文量当たりの輸送費用が２０００［円／ｔｏｎ］であり、且つ、当該船が愛知県にある港と大分県にある港に寄港する場合、当該船の単位注文量当たりの輸送費用は、１０００［円／ｔｏｎ］と２０００［円／ｔｏｎ］のうち、大きい方の２０００［円／ｔｏｎ］となる。
【００６３】
（１３）式は、揚地ｉに注文（製品）を輸送する船の単位注文量当たりの輸送費用の最大値（すなわち、揚地別最大輸送費用（MaxtransportCosti））は、当該揚地ｉに注文（製品）を輸送する船型ｉｇの船の単位注文量当たりの輸送費用（すなわち、船型ｉｇが同じである船型別・揚地別輸送費用（TransportCostig,i））のうち、最も輸送費用が高い船型ｉｇの船の単位注文量当たりの輸送費用と等しいことを表す。
【００６４】
以上のことから、（１２）式の右辺第１項は、出荷日ｊに配船された「船型がｉｇ、船番号がｓの船」の単位注文量当たりの輸送費用の最大値（船型別・出荷日別・船番号別輸送費用（ｖig,j,s））と、当該出荷日ｊに配船された当該船が寄港する揚地ｉの数（ΣloadDig,i,j,s−loadDig,j,s）に割増運賃（Extracharge）を掛けた費用（多港寄りに応じた割増運賃）とを加算した費用に、当該船型ｉｇの船の出荷ロット（shipLotSizeig）を乗じた費用を、船型ｉｇ、出荷日ｊ、及び船番号ｓで合算（積算）した値となる。
また、（１２）式の右辺第２項は、出荷先が揚地ｉである注文（製品）のうち、未出荷となっている量（揚地別未出荷量（NonloadAmounti））に、当該揚地ｉに注文（製品）を輸送する船の単位注文量当たりの輸送費用の最大値（すなわち、揚地別最大輸送費用（MaxtransportCosti））を乗じた値となる。この（１２）式の右辺第２項により、重み係数ｗ2の値が大きい場合であっても、輸送コストを下げるために（すなわち、輸送コスト評価値Ｊ2の値を最小化するために）、注文（製品）を出荷しないという出荷計画が立案されることを可及的に防止することができる。
【００６５】
以上のように、評価関数設定部１０８は、以下の（ｆ）〜（ｉ）の設定を行う。
（ｆ）立案方針入力部１０６により入力された「輸送コストに対する重み係数ｗ2」を（９）式に設定
（ｇ）出荷財源マトリクス作成部１０２により作成された出荷財源マトリクス３００から得られる目標出荷量の値（loadOrderAmounti,r）に基づく揚地別・出荷日別目標出荷量（loadAmountRefi,j）を（１０）式に設定
（ｈ）輸送コスト入力部１０４により入力された割増運賃（Extracharge）と、輸送コスト入力部１０４により導出された揚地別最大輸送費用（MaxtransportCosti）と、寄港ルート候補入力部１０５により入力された出荷ロット（shipLotSizeig）を（１２）式に設定
（ｉ）輸送コスト入力部１０４により入力された船型別・揚地別輸送費用（TransportCostig,i）を（１３）式、（１４）式に設定
評価関数設定部１０８は、例えば、ＣＰＵが、ＲＯＭ等に記憶されたコンピュータプログラムを実行することにより、前述した定数の設定を行うことにより実現される。
【００６６】
＜最適化部１０９＞
最適化部１０９は、例えば混合整数計画法による最適化計算を行って、制約式設定部１０７で定数の値が設定された制約式（（１）式〜（８）式）に基づく制約を満たす範囲で、評価関数設定部１０８で定数の値が設定された評価関数（（９）式）を最小にする決定変数（船型別・揚地別・出荷日別・船番号別出荷量（loadAmountig,i,j,s）等）を求める。尚、混合整数計画法では、（１０）式のままでは解けないので、（１０）式の絶対値を外した表現に（１０）式を変換した上で計算を行う。
最適化部１０９は、例えば、ＣＰＵが、ＲＯＭ等に記憶されたコンピュータプログラムを実行することにより、決定変数（船型別・揚地別・出荷日別・船番号別出荷量（loadAmountig,i,j,s）等）を求め、その結果をＲＡＭ等に記憶することにより実現される。
【００６７】
＜出荷計画出力部１１０＞
出荷計画出力部１１０は、最適化部１０９による最適化計算により得られた出荷計画（船型別・揚地別・出荷日別・船番号別出荷量（loadAmountig,i,j,s））を表示装置に表示する。
【００６８】
図１０は、最適化部１０９による最適化計算の結果である出荷計画１０００の一例を示す図である。尚、図１０に示すように、本実施形態では、各出荷日ｊに配船される船の数を、出荷日ｊによって変えることができるようにしている（図１０に示す船番号の欄を参照）。
図１０では、例えば、出荷日が「０」の日（出荷計画立案日の当日）に、船型ｉｇがａであり、船番号ｓが０である船により、揚地ｉがＡである注文（製品）を８５０［ｔｏｎ］出荷する計画であることを示している。
【００６９】
出荷計画出力部１１０は、図１０に示すような情報を表示装置に表示する際に、ＯＫボタンとＮＧボタンとを表示する。
そして、オペレータによる入力装置の操作により、ＯＫボタンが押下された場合には、図１０に示す出荷計画１０００で了承されたものとする。
一方、オペレータによる入力装置の操作により、ＮＧボタンが押下された場合には、図１０に示す出荷計画１０００で了承されなかったものとする。この場合、オペレータは、制約式設定部１０７により設定される定数（例えば、出荷ロット（shipLotSizeig）、寄港ルート候補（MixConditionig,i）、出荷日別最大配船数（MaxShipCountj））、及び評価関数設定部１０８により設定される定数（例えば、重み係数ｗ2、割増運賃（Extracharge）、出荷ロット（shipLotSizeig）、船型別・揚地別輸送費用（TransportCostig,i））のうち、変更可能なものとして予め設定された定数の中から、少なくとも１つの値を変更するための指示を行って、配船数上限値・出荷フラグ設定値入力部１０３、輸送コスト入力部１０４、寄港ルート候補入力部１０５、及び立案方針入力部１０６の少なくとも１つの記憶内容を更新させる。例えば出荷期限日をさらに遵守したい場合は、輸送コスト評価値Ｊ2に対する重み係数ｗ2を小さくして、相対的に出荷期限日違反量評価値Ｊ1に対する重み係数ｗ1を大きくすればよい。
【００７０】
そして、制約式設定部１０７、評価関数設定部１０８は、更新された内容に従って、制約式、評価関数を再設定する。最適化部１０９は、その再設定された制約式、評価関数に基づく最適化計算を行う。出荷計画出力部１１０は、その最適化計算の結果に基づく出荷計画（船型別・揚地別・出荷日別・船番号別出荷量（loadAmountig,i,j,s））を表示装置に再度表示する。このような処理を、オペレータによりＯＫボタンが押下されるまで繰り返し行う。
出荷計画出力部１１０は、例えば、ＣＰＵが、ＲＯＭ等に記憶されたコンピュータプログラムを実行することにより、ＲＡＭ等に記憶された出荷計画（船型別・揚地別・出荷日別・船番号別出荷量（loadAmountig,i,j,s））の表示データを生成して表示装置に出力することにより実現される。また、出荷計画出力部１１０は、例えば、ＣＰＵが、ＲＯＭ等に記憶されたコンピュータプログラムを実行することにより、オペレータにより了承された出荷計画（船型別・揚地別・出荷日別・船番号別出荷量（loadAmountig,i,j,s））のデータをＨＤＤ等に記憶する。
【００７１】
＜出荷計画立案装置１００の動作処理＞
次に、図１１のフローチャートを参照しながら、出荷計画立案装置１００の動作処理の一例を説明する。ここでは、出荷フラグ設定値（Ｍ）、注文情報２００、出荷日別最大配船数４００（MaxShipCountj）、船型別・揚地別輸送費用５００（TransportCostig,i）、割増運賃６００（Extracharge）、寄港ルート候補７１０（MixConditionig,i）、出荷ロット７２０（shipLotSizeig）、重み係数ｗ2（図８を参照）が、図１１のフローチャートを開始する前に得られているものとして説明を行う。
【００７２】
まず、ステップＳ１１０１において、出荷財源マトリクス作成部１０２は、注文情報２００に基づいて、出荷財源マトリクス３００を作成して記憶する。
次に、ステップＳ１１０２において、制約式設定部１０７は、出荷財源マトリクス３００の値を揚地ｉ毎に合計して揚地別・出荷日別注文量（loadOrderAmounti,j）を導出して記憶する。
【００７３】
次に、ステップＳ１１０３において、評価関数設定部１０８は、出荷財源マトリクス３００から、揚地別・出荷期限日別目標出荷量（loadOrderAmounti,r）を導出し、導出した値に基づいて、揚地別・出荷日別目標出荷量（loadAmountRefi,j）を導出する。
次に、ステップＳ１１０４において、輸送コスト入力部１０４は、船型別・揚地別輸送費用５００（TransportCostig,i）から、揚地別最大輸送費用（MaxTransportCosti）を導出する。
【００７４】
次に、ステップＳ１１０４において、制約式設定部１０７は、出荷ロット７２０（shipLotSizeig）、揚地別・出荷日別注文量（loadOrderAmounti,j、出荷フラグ設定値（Ｍ）、寄港ルート候補７１０（MixConditionig,i）、出荷日別最大配船数４００（MaxShipCountj）を、それぞれ（１）式、（２）式、（６）式、（７）式、（８）式に設定する。
【００７５】
次に、ステップＳ１１０６において、評価関数設定部１０８は、重み係数ｗ2、揚地別・出荷日別目標出荷量（loadAmountRefi,j）、割増運賃６００（Extracharge）・揚地別最大輸送費用（MaxTransportCosti）・出荷ロット７２０（shipLotSizeig）、船型別・揚地別輸送費用５００（TransportCostig,i）を、（１０）式、（１２）式、（１３）式・（１４）式に設定する。
尚、ステップＳ１１０６の後にステップＳ１１０５の処理を行うようにしてもよい。
【００７６】
次に、ステップＳ１１０７において、最適化部１０９は、混合整数計画法による最適化計算を行って、制約式設定部１０７で定数の値が設定された制約式（（１）式〜（８）式）に基づく制約を満たす範囲で、評価関数設定部１０８で定数の値が設定された評価関数（（９）式）を最小にする決定変数（船型別・揚地別・出荷日別・船番号別出荷量（loadAmountig,i,j,s）等）を求める。
次に、ステップＳ１１０８において、出荷計画出力部１１０は、ステップＳ１１０７で得られた出荷計画（船型別・揚地別・出荷日別・船番号別出荷量（loadAmountig,i,j,s））と、ＯＫボタン及びＮＧボタンとを含む画面（ＧＵＩ）を表示装置に表示する。
【００７７】
次に、ステップＳ１１０９において、出荷計画出力部１１０は、オペレータにより、ＯＫボタン及びＮＧボタンの何れが押下されたかを判定する。この判定の結果、オペレータにより、ＯＫボタンが押下された場合には、出荷計画がオペレータによって了承されたと判定し、図１１のフローチャートによる処理を終了する。
一方、オペレータにより、ＮＧボタンが押下された場合には、出荷計画がオペレータによって了承されなかったと判定し、ステップＳ１１１０に進む。そして、ステップＳ１１１０において、配船数上限値・出荷フラグ設定値入力部１０３、輸送コスト入力部１０４、寄港ルート候補入力部１０５、及び立案方針入力部１０６の少なくとも１つは、オペレータによる入力装置の操作に基づいて、変更可能なものとして予め設定された定数の少なくとも何れか１つを変更する。そして、変更後の内容でステップＳ１１０４以降の処理が実行される。
【００７８】
＜実施例＞
図１２は、実施例・比較例による出荷計画に対する評価の一例を示す図である。図１２では、同じ注文情報を使用して出荷計画を立案した結果を示している。
図１２において「人」とは、人が試行錯誤により出荷計画を立案したことを示す。「実施例（ケース２）」とは、図７（ａ）に示したように、とり得る最大数の揚地ｉが設定された寄港ルート候補７１０ａを採用して本実施形態で説明したようにして出荷計画を立案した結果を示す。「実施例（ケース１）」とは、図７（ｂ）に示したように、とり得る最大数未満の数の揚地ｉが設定された寄港ルート候補７１０ｂを採用して本実施形態で説明したようにして出荷計画を立案した結果を示す。「比較例」は、特許文献１に記載の技術により出荷計画を立案した結果を示す。
【００７９】
図１２において、「納期遅れ」と「輸送コスト」は、「人」により立案された出荷計画におけるものを１００％とした場合の相対値である。また、「実施例（ケース１）」、「実施例（ケース２）」、「比較例」では、重み係数ｗのみを変更して、「納期遅れ」と「輸送コスト」が所望の値になるまで最適化計算を繰り返して行った。この最適化計算の繰り返し数が、図１２に示す「試行回数」である。図１２に示す「合計時間」は、制約式と評価関数の定数の初期値を入力した後、出荷計画の立案の計算を開始してから、出荷計画が確定するまでの時間である。
【００８０】
図１２に示すように、人の作成した出荷計画として比較して、本実施例により作成した出荷計画では、納期遅れを７％改善し、輸送コストも１０％〜１１％削減することができた。また、「実施例（ケース１）」と「実施例（ケース２）」の結果から、寄港ルート候補をより限定した方が高速に良い解を得られることが分かる。
【００８１】
また、特許文献１に記載の技術では、輸送コストを最小化するためには、出荷期限日違反量と配船数と空積載量とを最小化する必要があり、出荷期限日違反量と配船数と空積載量と納期のトレードオフを見ながら、それぞれの優先度の重み係数を調整する必要がある。よって、本実施例と同等の出荷計画を立案するためには、重み係数の調整を２０回繰り返す必要があり、出荷計画の立案に１０時間程度必要であった。これに対し、本実施形態では、出荷期限日違反量と輸送コストの重み係数のみを調整すればよいので、重み係数の調整は１回、３回ですんだ。よって、本実施形態の手法を用いれば、出荷計画の立案時間を大幅に短縮することが可能となる。
【００８２】
＜まとめ＞
以上のように本実施形態では、出荷計画（船型別・揚地別・出荷日別・船番号別出荷量（loadAmountig,i,j,s））を導出するための評価関数Ｊを、注文（製品）に対する出荷期限日違反量評価値Ｊ1と、注文（製品）の輸送コスト評価値Ｊ2との重み付き平均和で表した。
ここで、船に積載される注文（製品）の揚地ｉの数に応じた割増料金を、当該船の輸送にかかるコストに加算した金額を、全ての出荷日ｊに配船される船のそれぞれについて積算した値と（（１２）の右辺第１項）、同一の揚地ｉを出荷先とする注文（製品）の未出荷の量に、当該揚地ｉを出荷先とする注文（製品）を輸送するそれぞれの船の輸送にかかるコストのうち、最も高いコストを掛けた金額を、全ての揚地ｉのそれぞれについて積算した値と（（１２）式の右辺第２項）、を加算した評価値を輸送コスト評価値Ｊ2とした。
また、同一の船が輸送する注文（製品）の揚地ｉであって、オペレータによって予め設定された揚地ｉにおける船型別・揚地別・出荷日別・船番号別出荷量（loadAmountig,i,j,s）の値のみが０を超える値をとることを表す制約式を（（７）式）、目的関数Ｊに対する制約条件として設定した。
【００８３】
このように、輸送コストを評価関数に組み込むことにより、出荷期限日違反量評価値Ｊ1に対する重み係数ｗ1と、輸送コスト評価値Ｊ2に対する重み係数ｗ2との少なくとも何れか一方を調整すればよくなる。そして、輸送コスト評価値Ｊ2が、１つの船に積載される注文（製品）の出荷先の数が多いほど、値が大きくなると共に、未出荷の量が多いほど、値が大きくなる。したがって、輸送コスト評価値Ｊ2に対する重み係数ｗ2の値を大きくしても、輸送コストを低くするために出荷しないという出荷計画が作成されることを防止することができる。よって、重み係数ｗ2の値の調整が容易になるので、輸送コストが最小となる出荷計画を、大規模な組合せ最適化問題を解くことなく高速に立案することが可能になる。
さらに、船型別・揚地別・出荷日別・船番号別出荷量（loadAmountig,i,j,s）として０を超える値を有するものを制限することで、最適化計算における解の候補を絞りこむことができる。よって、輸送コストが最小となる出荷計画を、大規模な組合せ最適化問題を解くことなく高速に立案することが可能になる。よって、輸送コストが最小となる出荷計画を、より高速に立案することが可能になる。
【００８４】
また、本実施形態では、同一の船が輸送する注文（製品）の揚地ｉとして、同じ経路を戻るような寄港ルートとならない揚地ｉにおける船型別・揚地別・出荷日別・船番号別出荷量（loadAmountig,i,j,s）の値のみが０を超える値をとることを表す制約式を（（７）式）、目的関数Ｊに対する制約条件として設定した。したがって、出荷計画における「同一の船が輸送する注文（製品）の揚地ｉ」として、効率的な輸送となるように揚地ｉが選択されるようにすることができる。
【００８５】
＜変形例＞
例えば、図７（ａ）に示す寄港ルート候補７１０ａのように、同一の船の揚地ｉの候補を、同じ経路を戻るような寄港ルートとならないような揚地ｉの（最低限の）候補で固定する場合には、最適化計算のたびに寄港ルート候補７１０ａの入力を行うようにする必要はない。すなわち、図７（ａ）に示す寄港ルート候補７１０ａの情報をＨＤＤ等に予め記憶するようにしてもよい。
また、本実施形態では、同一の船の揚地ｉの候補として、同じ経路を戻るような寄港ルートとならないような揚地ｉの（最低限の）候補を予め設定するようにしたが、出荷計画における同一の船の揚地ｉの候補を予め絞ることができるようにしていれば、必ずしもこのようにする必要はない（すなわち、図７における「１」及び「０」の与え方は、図７で説明した方法に限定されない）。
【００８６】
また、本実施形態では、注文情報２００を変更することはできないものとしたが、注文情報２００を変更することができる場合には、図１１のフローチャートにおいて、ステップＳ１１０９でＮＯと判定されると、ステップＳ１１０４ではなく、ステップＳ１１０２に戻るようにして、揚地別・出荷日別注文量（loadOrderAmounti,j）や揚地別・出荷日別目標出荷量（loadAmountRefi,j）を変更するようにしてもよい。
また、本実施形態では、輸送手段が船である場合を例に挙げて説明したが、輸送手段は、船に限定されない。例えば、トラックであってもよい。さらに、注文（製品）も厚板に限定されず、出荷先も港に限定されないことは勿論である。
また、本実施形態では、船型がｉｇ、船番号がｓである船が、単位注文量当たりの注文（製品）を出荷日ｊに各揚地ｉに輸送するのにかかる費用（船型別・揚地別輸送費用TransportCostig,i×loadDig,i,j,s）のうち、最も高い費用を、船型別・出荷日別・船番号別輸送費用（ｖig,j,s）とした。しかしながら、必ずしもこのようにする必要はない。例えば、船型別・出荷日別・船番号別輸送費用（ｖig,j,s）の代わりに、揚地ｉによらずに船型ｉｇに応じて定まる費用を採用してもよい。また、出荷日ｊによらずに揚地ｉや船型ｉｇに応じて定まる費用を採用してもよい。
【００８７】
［第２の実施形態］
次に、本発明の第２の実施形態について説明する。前述した第１の実施形態では、図９を用いて説明したように、出荷期限日違反量評価値Ｊ1を最小化するために、出荷期限日ｒより先行する出荷量の全て（領域９０１）と、出荷期限日ｒ以降の出荷量の目標出荷量との差の全て（領域９０２）を最小化する場合を例に挙げて説明した。これに対して、本実施形態では、出荷期限日を含む所定の期間については、目標出荷量との差を考慮しないようにする場合を例に挙げて説明する。このように本実施形態と前述した第１の実施形態とは、出荷期限日違反量評価値Ｊ1を最小化するための構成及び処理の一部が主として異なる。したがって、本実施形態の説明において、前述した第１の実施形態と同一の部分については、図１〜図１１に付した符号と同一の符号を付す等して詳細な説明を省略する。
【００８８】
図１３は、目標出荷量（loadAmountRefi,j）と出荷量（loadDeadlineAmounti,r,j',s）の船番号ｓ、出荷日ｊ´についての累積値との関係の一例を示す図である。これらは、図９に示したものと同じである（（１１）式を参照）。前述したように、第１の実施形態では、図９に示した領域９０１、９０２を最小化するようにしたが、本実施形態では、領域１３０１、１３０２を最小化する。すなわち、目標出荷量（loadAmountRefi,j）と、出荷量（loadDeadlineAmounti,r,j',s）とに差が生じている期間のうち、出荷期限日ｒよりもＸ日前から出荷期限日ｒよりもＹ日後までの不感帯期間（不感帯日数をａとする）については、これらの差を考慮しないようにする。尚、ＸとＹは同じ数でも異なる数であってもよい。また、ＸとＹの何れか一方が「０」であってもよい。
【００８９】
したがって、評価関数設定部１０８は、（１０）式の代わりに以下の（１５）式のように出荷期限日違反量評価値Ｊ1を設定する。
【００９０】
【数９】
0005825128.tif 000010
【００９１】
（１５）式に示す不感帯日数ａを特定する情報は、立案方針入力部１０６により入力され、記憶されるものとする。
最適化部１０９は、（１０）式の代わりに（１５）式により設定された出荷期限日違反量評価値Ｊ1を用いて最適化計算を行う。
以上のように不感帯期間を設けることにより、出荷期限日ｒの近傍においては、注文（製品）の出荷期限日ｒに関する制約をなくすことができるので、出荷期限日よりも多港寄り数を優先した出荷計画を容易に立案することができる。
尚、本実施形態においても第１の実施形態で説明した種々の変形例を採用することができる。
【００９２】
尚、以上説明した本発明の実施形態は、コンピュータがプログラムを実行することによって実現することができる。また、前記プログラムを記録したコンピュータ読み取り可能な記録媒体及び前記プログラム等のコンピュータプログラムプロダクトも本発明の実施形態として適用することができる。記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
また、以上説明した本発明の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【００９３】
＜請求項との関係＞
注文情報取得手段（工程）は、例えば、注文情報入力部１０１が、注文情報２００を入力して記憶することにより実現される。
重み係数取得手段（工程）は、例えば、立案方針入力部１０６が、輸送コストに対する重み係数ｗ2を入力して記憶することにより実現される。
評価関数設定手段（工程）は、例えば、評価関数設定部１０８が、図１１のステップＳ１１０６の処理を実行することにより実現される。
制約式設定手段（工程）は、例えば、制約式設定部１０７が、図１１のステップＳ１１０５の処理を実行することにより実現される。
「輸送手段別の出荷先の候補を限定する為の制約式」は、例えば、（７）式により実現される。
「出荷日別の配船数を限定する為の制約式」は、例えば、（８）式により実現される。
最適化手段（工程）は、例えば、最適化部１０９が、図１１のステップＳ１１０７の処理を実行することにより実現される。
出荷計画表示手段（工程）は、例えば、出荷計画出力部１１０が、図１１のステップＳ１１０８の処理を実行することにより実現される。
「輸送手段毎に予め指定される輸送コスト、または輸送手段毎、出荷日毎に予め指定される輸送コストに、前記輸送手段のそれぞれに同時に積載される出荷対象製品の出荷先の数に応じた多港揚げ割増料金を加算した金額を、全ての出荷日、及びそれぞれの出荷日に使用される全ての輸送手段について積算した値」は、例えば、（１２）式の右辺第１項により実現される。
「前記出荷対象製品のうちで、出荷計画に含まれない未出荷製品の量に、当該未出荷製品を出荷先まで輸送するそれぞれの輸送手段の輸送にかかるコストのうち、最も高いコストを掛けた金額を、全ての未出荷製品について積算した値」は、例えば、（１２）式の右辺第２項により実現される。
「前記輸送手段別の出荷先の候補を限定する為の制約式として、同一の輸送手段が輸送する出荷対象製品の出荷先のうち、予め設定された出荷先における出荷先別・出荷日別・輸送手段別の出荷量の値のみが０（ゼロ）を超える値をとることを表す制約式」は、例えば、（７）式により実現される。
出荷先候補設定手段（工程）は、例えば、寄港ルート候補入力部１０５が寄港ルート候補７１０（MixConditionig,i）を入力して記憶することにより実現される。
変更手段（工程）は、例えば、立案方針入力部１０６が図１１のステップＳ１１１０において、重み係数ｗ2の値を変更することにより実現される。
【符号の説明】
【００９４】
１００  出荷計画立案装置、１０１  注文情報入力部、１０２  出荷財源マトリクス作成部、１０３  配船数上限値・出荷フラグ設定値入力部、１０４  輸送コスト入力部１０４、１０５  寄港ルート候補入力部、１０６  立案方針入力部、１０７  制約式設定部、１０８  評価関数設定部、１０９  最適化部、１１０  出荷計画出力部
【図１】
0005825128.tif 000011
【図２】
0005825128.tif 000012
【図３】
0005825128.tif 000013
【図４】
0005825128.tif 000014
【図５】
0005825128.tif 000015
【図６】
0005825128.tif 000016
【図７】
0005825128.tif 000017
【図８】
0005825128.tif 000018
【図９】
0005825128.tif 000019
【図１０】
0005825128.tif 000020
【図１１】
0005825128.tif 000021
【図１２】
0005825128.tif 000022
【図１３】
0005825128.tif 000023