(57)【要約】【課題】物流ネットワークにおける最適な輸送計画及び安全在庫を同時に算出することを目的とする。【解決手段】物流計画システム１は、物流ネットワークの構成を示すネットワークデータと、物流ネットワークの最下流における需要量を示す需要データと、輸送時間の単位量を示す単位時間データとを記憶する記憶部１２と、これらネットワークデータ、需要データ及び単位時間データに基づいて、物流ネットワークの各配送経路における配送量と物流ネットワークの各配送拠点における安全在庫とが考慮された、物流ネットワーク全体における在庫コスト及び配送コストの和である全体コストを示す目的関数を生成する目的関数生成部１３と、生成された目的関数を数値解析することで、全体コストを最小にする配送量及び安全在庫を算出する解析部１４と、算出された配送量及び安全在庫を出力する出力部１５と、を備える。【選択図】図１
2009208933.tif 000002
【特許請求の範囲】
【請求項１】
物流ネットワークの構成を示すネットワークデータと、前記物流ネットワークの最下流における需要量を示す需要データと、輸送時間の単位量を示す単位時間データとを記憶する記憶手段と、
前記記憶手段に記憶されているネットワークデータ、需要データ及び単位時間データに基づいて、前記物流ネットワークの各配送経路における配送量と前記物流ネットワークの各配送拠点における安全在庫とが考慮された、前記物流ネットワーク全体における在庫コスト及び配送コストの和である全体コストを示す目的関数を生成する目的関数生成手段と、
前記目的関数生成手段により生成された目的関数を所定の数値解析により解析することで、前記全体コストを最小にする前記配送量及び前記安全在庫を算出する解析手段と、
前記解析手段により算出された配送量及び安全在庫を出力する出力手段と、
を備える物流計画システム。
【請求項２】
前記目的関数生成手段が、
前記記憶手段に記憶されているネットワークデータ、需要データ及び単位時間データに基づいて、前記各配送拠点の在庫量を規定する関数、該各配送拠点の総発注量を規定する関数、及び該各配送拠点の総配送量を規定する関数を生成する第１生成手段と、
前記第１生成手段により生成された各関数に基づいて、前記各配送拠点における在庫量の期待値及び分散を規定する関数をそれぞれ生成すると共に、前記各配送拠点における総発注量の期待値及び分散を規定する関数を生成する第２生成手段と、
前記第２生成手段により生成された各関数に基づいて前記目的関数を生成する第３生成手段とを備え、
前記各配送拠点における総発注量を規定する関数が、該各配送拠点の安全在庫に基づいて決定される、
請求項１に記載の物流計画システム。
【請求項３】
前記第２生成手段が、前記第１生成手段により生成された各関数を前記物流ネットワークの階層毎に行列に変換し、行列化された関数をＺ変換し、Ｚ変換された関数を逆変換することで、前記各配送拠点における在庫量の期待値及び分散を規定する関数をそれぞれ生成すると共に、前記各配送拠点における総発注量の期待値及び分散を規定する関数を生成する、
請求項２に記載の物流計画システム。
【請求項４】
前記解析手段が、遺伝的アルゴリズムにより前記目的関数を解析する、
請求項１〜３のいずれか一項に記載の物流計画システム。
【請求項５】
物流ネットワークの構成を示すネットワークデータと、前記物流ネットワークの最下流における需要量を示す需要データと、輸送時間の単位量を示す単位時間データとを記憶する記憶ステップと、
前記記憶ステップにおいて記憶されたネットワークデータ、需要データ及び単位時間データに基づいて、前記物流ネットワークの各配送経路における配送量と前記物流ネットワークの各配送拠点における安全在庫とが考慮された、前記物流ネットワーク全体における在庫コスト及び配送コストの和である全体コストを示す目的関数を生成する目的関数生成ステップと、
前記目的関数生成ステップにおいて生成された目的関数を所定の数値解析により解析することで、前記全体コストを最小にする前記配送量及び前記安全在庫を算出する解析ステップと、
前記解析ステップにおいて算出された配送量及び安全在庫を出力する出力ステップと、
を含む物流計画方法。
【請求項６】
物流ネットワークの構成を示すネットワークデータと、前記物流ネットワークの最下流における需要量を示す需要データと、輸送時間の単位量を示す単位時間データとを記憶する記憶手段と、
前記記憶手段に記憶されているネットワークデータ、需要データ及び単位時間データに基づいて、前記物流ネットワークの各配送経路における配送量と前記物流ネットワークの各配送拠点における安全在庫とが考慮された、前記物流ネットワーク全体における在庫コスト及び配送コストの和である全体コストを示す目的関数を生成する目的関数生成手段と、
前記目的関数生成手段により生成された目的関数を所定の数値解析により解析することで、前記全体コストを最小にする前記配送量及び前記安全在庫を算出する解析手段と、
前記解析手段により算出された配送量及び安全在庫を出力する出力手段と、
をコンピュータに実行させる物流計画プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、最適な物流ネットワークの構築を支援する物流計画システム、物流計画方法及び物流計画プログラムに関する。
【背景技術】
【０００２】
従来から、輸送計画を最適化する手法が知られている。ここで、輸送計画の最適化とは、各物流拠点の在庫コストや拠点間の輸送コストを最適化することである。例えば、下記特許文献１には、物流拠点の機能や輸送経路を評価することで物流フローを最適化する物流フロー最適化システムが記載されている。このシステムは、各物流拠点の拠点コストと、物流拠点間の輸送コストと、所定の期間における需要量データとに基づいて、全体の物流網の運用コストが最小になる物流経路及び物流量を算出する。
【特許文献１】特開２００５−５３７０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記特許文献１に記載のシステムでは、各拠点の安全在庫を算出することはできない。一般に、安全在庫は動的計画法を用いて算出される。しかし、動的計画法は、複雑なネットワークを扱えないなど極めて制約が多く、また、輸送計画の導出とは別個独立に実行しなければならない。そのため、輸送計画と安全在庫とを同時に導出することが求められている。
【０００４】
本発明は、上記課題を解決するためになされたものであり、物流ネットワークにおける最適な輸送計画及び安全在庫を同時に算出することが可能な物流計画システム、物流計画方法及び物流計画プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の物流計画システムは、物流ネットワークの構成を示すネットワークデータと、物流ネットワークの最下流における需要量を示す需要データと、輸送時間の単位量を示す単位時間データとを記憶する記憶手段と、記憶手段に記憶されているネットワークデータ、需要データ及び単位時間データに基づいて、物流ネットワークの各配送経路における配送量と物流ネットワークの各配送拠点における安全在庫とが考慮された、物流ネットワーク全体における在庫コスト及び配送コストの和である全体コストを示す目的関数を生成する目的関数生成手段と、目的関数生成手段により生成された目的関数を所定の数値解析により解析することで、全体コストを最小にする配送量及び安全在庫を算出する解析手段と、解析手段により算出された配送量及び安全在庫を出力する出力手段と、を備える。
【０００６】
また、本発明の物流計画方法は、物流ネットワークの構成を示すネットワークデータと、物流ネットワークの最下流における需要量を示す需要データと、輸送時間の単位量を示す単位時間データとを記憶する記憶ステップと、記憶ステップにおいて記憶されたネットワークデータ、需要データ及び単位時間データに基づいて、物流ネットワークの各配送経路における配送量と物流ネットワークの各配送拠点における安全在庫とが考慮された、物流ネットワーク全体における在庫コスト及び配送コストの和である全体コストを示す目的関数を生成する目的関数生成ステップと、目的関数生成ステップにおいて生成された目的関数を所定の数値解析により解析することで、全体コストを最小にする配送量及び安全在庫を算出する解析ステップと、解析ステップにおいて算出された配送量及び安全在庫を出力する出力ステップと、を含む。
【０００７】
また、本発明の物流計画プログラムは、物流ネットワークの構成を示すネットワークデータと、物流ネットワークの最下流における需要量を示す需要データと、輸送時間の単位量を示す単位時間データとを記憶する記憶手段と、記憶手段に記憶されているネットワークデータ、需要データ及び単位時間データに基づいて、物流ネットワークの各配送経路における配送量と物流ネットワークの各配送拠点における安全在庫とが考慮された、物流ネットワーク全体における在庫コスト及び配送コストの和である全体コストを示す目的関数を生成する目的関数生成手段と、目的関数生成手段により生成された目的関数を所定の数値解析により解析することで、全体コストを最小にする配送量及び安全在庫を算出する解析手段と、解析手段により算出された配送量及び安全在庫を出力する出力手段と、をコンピュータに実行させる。
【０００８】
このような物流計画システム、物流計画方法及び物流計画プログラムによれば、各配送経路における配送量と各配送拠点における安全在庫とが考慮された目的関数が生成されるので、その目的関数を解析することで、該目的関数で示される全体コストを最小にする配送量及び安全在庫を算出できる。すなわち、物流ネットワークにおける最適な輸送計画及び安全在庫を同時に算出することが可能になる。
【０００９】
本発明の物流計画システムでは、目的関数生成手段が、記憶手段に記憶されているネットワークデータ、需要データ及び単位時間データに基づいて、各配送拠点の在庫量を規定する関数、該各配送拠点の総発注量を規定する関数、及び該各配送拠点の総配送量を規定する関数を生成する第１生成手段と、第１生成手段により生成された各関数に基づいて、各配送拠点における在庫量の期待値及び分散を規定する関数をそれぞれ生成すると共に、各配送拠点における総発注量の期待値及び分散を規定する関数を生成する第２生成手段と、第２生成手段により生成された各関数に基づいて目的関数を生成する第３生成手段とを備え、各配送拠点における総発注量を規定する関数が、該各配送拠点の安全在庫に基づいて決定されることが好ましい。
【００１０】
この場合も、各配送経路における配送量と各配送拠点における安全在庫とが考慮された目的関数が生成されるので、その目的関数を解析することで、物流ネットワークにおける最適な輸送計画及び安全在庫を同時に算出することが可能になる。
【００１１】
本発明の物流計画システムでは、第２生成手段が、第１生成手段により生成された各関数を物流ネットワークの階層毎に行列に変換し、行列化された関数をＺ変換し、Ｚ変換された関数を逆変換することで、各配送拠点における在庫量の期待値及び分散を規定する関数をそれぞれ生成すると共に、各配送拠点における総発注量の期待値及び分散を規定する関数を生成することが好ましい。
【００１２】
この場合、物流ネットワークを構成する各配送拠点の在庫量を規定する関数、該各配送拠点の総発注量を規定する関数、及び該各配送拠点の総配送量を規定する関数を物流ネットワークの階層毎に行列に変換し計算することで、各階層における配送拠点数を意識することなく目的関数を生成できる。
【００１３】
本発明の物流計画システムでは、解析手段が、遺伝的アルゴリズムにより目的関数を解析することが好ましい。
【００１４】
この場合、複雑な問題の解析に適している遺伝的アルゴリズムを用いることで、複雑な配送経路を有する物流ネットワークについての最適な輸送計画及び安全在庫を同時に算出できる。
【発明の効果】
【００１５】
このような物流計画システム、物流計画方法及び物流計画プログラムによれば、各配送経路における配送量と各配送拠点における安全在庫とが考慮された目的関数に対して数値解析を実行することにより、物流ネットワークにおける最適な輸送計画及び安全在庫を同時に算出できる。
【発明を実施するための最良の形態】
【００１６】
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明において同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
【００１７】
まず、図１を用いて、実施形態に係る物流計画システムについて説明する。図１は物流計画システム１の機能構成を示す図である。図２は物流計画システム１のハードウェア構成を示す図である。
【００１８】
物流計画システム１は、最適な物流ネットワークの構築を導出するためのコンピュータシステムであり、機能的構成要素として受付部１１、記憶部１２、目的関数生成部１３、解析部１４及び出力部１５を備えている。
【００１９】
物流計画システム１は、図２に示すように、ＣＰＵ１０１と、ＲＯＭやＲＡＭで構成される主記憶部１０２と、ハードディスクなどで構成される補助記憶部１０３と、他の通信機器との間でデータの送受信を行うための通信制御部１０４と、キーボードやマウスなどで構成される入力部１０５と、モニタやプリンタなどで構成される出力部１０６とを備えている。図１に示す物流計画システム１の各機能は、ＣＰＵ１０１又は主記憶部１０２上に所定のコンピュータソフトウェアを読み込ませ、ＣＰＵ１０１の制御の下で通信制御部１０４、入力部１０５及び出力部１０６を動作させるとともに、主記憶部１０２又は補助記憶部１０３に対してデータの読み出し又は書き込みを行うことで実現される。
【００２０】
なお、物流計画システム１の物理的構成は図２に示すものに限定されない。例えば、複数のコンピュータとネットワークとを含む分散コンピューティングシステムを用いて物流計画システムを構築してもよい。
【００２１】
受付部１１は、ユーザから入力されたデータを受け付ける手段である。受付部１１は受け付けたデータを記憶部１２に出力する。受付部１１により受け付けられるデータは、物流ネットワークを構成する各配送拠点の安全在庫を確保しつつその物流ネットワーク全体のコストを最小化する配送率、配送量平均、配送量分散、安全在庫、配送コスト、在庫コスト及び総コストを算出するために使用される。
【００２２】
受付部１１が受け付けるデータの中には、物流ネットワークの構成を示すネットワークデータが含まれる。そこで、まず、物流計画システム１が取り扱う物流ネットワークの構成について説明する。
【００２３】
図３は、物流ネットワークの一例を示す図である。図３に示す物流ネットワークは、６個のノード（配送拠点）Ｎと、二つのノードＮを接続する配送経路Ｒとで構成されている。ノードＮは上流から下流にかけて３段階に分けられており、この段階を上流から順にレベル１，２，３と定義する。各ノードＮは、レベル番号とレベル内で一意のノード番号との組合せである識別子により特定される。例えば、識別子（２，１）は、レベル２の１番目のノードを示す。配送経路Ｒは、同一レベルのノード間に設けられてもよいし、レベル差が２以上あるノード間に設けられてもよい。なお、あるノードからレベル差が２以上あるノードに配送する場合を「直送」という。
【００２４】
物流ネットワークの各配送経路のリードタイムは等しいとは限らない。そこで、ノード間のリードタイムを等しくするために、図４〜６に示すように、物流ネットワーク上にダミーノードＤＮを設ける。ダミーノードＤＮは、ダミーノードを含むノード間のリードタイムがダミーノード設置前のリードタイムの最大公約数（図４〜６では１である）になるように設けられる。このように分割された後のノード間のリードタイムを単位当たりリードタイムと定義する。
【００２５】
このようなダミーノードＤＮの設定は、直送の場合（図５参照）や特定のノード間に配送経路（配送手段）が複数ある場合（図６参照）にも同様に行われる。図５では、ノードＮ11とノードＮ31とを直接結ぶ配送経路上にも直送用のダミーノードＤＮが設けられている。また、図６では、ノードＮ11からノードＮ21への配送経路が２ルート存在しているが、それぞれの配送経路についてダミーノードＤＮが設けられている。
【００２６】
図１に戻って、受付部１１が受け付けるデータについて説明する。受付部１１は以下のデータを受け付ける。
Ｍ(k)：ｋレベルのノード数（ダミーノードを含む）（ネットワークデータ）
Ｗ：物流ネットワークのレベル数（ネットワークデータ）
μ(i)：Ｗレベルｉ番目のノード（物流ネットワークの最下流のノード）における需要量の平均（需要平均、平均消費量）（需要データ）
σ(i)：Ｗレベルｉ番目のノードにおける需要量の標準偏差（需要標準偏差、消費量の標準偏差）（需要データ）
Ｌ(k)：ｋレベルへ配送するときのリードタイム
ρ：後述する安全在庫を算出するために使用する安全係数
【００２７】
また、受付部１１は物流ネットワークの構成を示すネットワークデータの入力を受け付ける。ネットワークデータには、上記パラメータＭ(k)，Ｗの他に、ノード及び配送経路を規定するデータなどが含まれる。値Ｌ(k)は、入力される単位当たりリードタイム（単位時間データ）とネットワークデータとに基づいて算出され、記憶部１２に出力される。
【００２８】
なお、受付部１１によるデータの受付方法は上述したものに限定されない。例えば、受付部１１が他の情報処理装置からデータを受信して記憶部１２に出力してもよい。
【００２９】
記憶部１２は、物流ネットワークの構成を示すネットワークデータと、物流ネットワークの最下流における需要を示す需要データと、輸送時間の単位量を示す単位時間データとを記憶する手段である。具体的には、記憶部１２は受付部１１から入力されたデータを記憶する。
【００３０】
目的関数生成部１３は、記憶部１２に記憶されているネットワークデータ、需要データ及び単位時間データに基づいて、物流ネットワークの各配送経路における配送量と物流ネットワークの各配送拠点における安全在庫とが考慮された、物流ネットワーク全体における在庫コスト及び配送コストの和である全体コストを示す目的関数を生成する手段である。
【００３１】
目的関数生成部１３は、予め記憶されている目的関数生成プログラムを読み出して実行し、記憶部１２から読み出した各種データをそのプログラムに与えることで目的関数を生成する。以下では、目的関数生成プログラムのアルゴリズムを説明する。目的関数生成プログラムのアルゴリズムは、変数の定義、平衡方程式の生成、行列化、Ｚ変換、基本情報の導出、及びコストの設計というステップに分けられる。
【００３２】
（変数の定義）
まず、目的関数生成部１３は、記憶部１２に記憶されている各種データの他に下記の変数を定義する。
ＳI(k,i)（ｔ）：ｋレベルｉ番目のノード（以下では「ノード（ｋ，ｉ）」ともいう）の、時刻ｔにおける在庫量
Ｓd(k,i)（ｔ）：ノード（ｋ，ｉ）の、時刻ｔにおける総発注量
Ｔs(k,i)（ｔ）：ノード（ｋ，ｉ）の、時刻ｔにおける総配送量
Ｓ(k,i)：ノード（ｋ，ｉ）の安全在庫
ｐ(k,i),(m,j)：ノード（ｍ、ｊ）からノード（ｋ，ｉ）への配分比
【００３３】
ここで、配分比は以下のように定義される。なお、Ｉ(m,j)は、ノード（ｍ，ｊ）に対する配送元集合である。
【数１】
2009208933.tif 000003
また、安全在庫は以下のように定義される。
【数２】
2009208933.tif 000004
【００３４】
（平衡方程式の生成）
次に、目的関数生成部１３は、各ノードについて、在庫量ＳI(k,i)（ｔ）、総発注量Ｓd(k,i)（ｔ）及び総配送量Ｔs(k,i)（ｔ）を規定する平衡方程式を以下のように生成する。
【数３】
2009208933.tif 000005
【数４】
2009208933.tif 000006
【数５】
2009208933.tif 000007
【数６】
2009208933.tif 000008
【００３５】
ここで、ｄ(i)(t)はノード（Ｗ，ｉ）の時刻ｔにおける外部への配送量を表し、需要平均μ(i)及び需要標準偏差σ(i)を持つ分布に従う変数とする。レベル１のノードにおける配送は、そのノードでの生産とみなすことができる。上記式（４）が示すように、総発注量Ｓd(k,i)を規定する平衡方程式は、ノードの安全在庫Ｓ(k,i)に基づいて決定される。
【００３６】
総発注量Ｓd(k,i)（ｔ）を定義する上記式のうち、
（Ｌ(k)＋１）Ｅ［Ｔs(k,i)（ｔ）］＋Ｓ(k,i)
は定数であるので、計算を簡単にするためにその式を変換する。すなわち、まず、以下のように定義する。
【数７】
2009208933.tif 000009
そして、この式（７）を上記式（４）に代入して定数部分を０とすると、下記の二式が導出される。
【数８】
2009208933.tif 000010
【数９】
2009208933.tif 000011
【００３７】
（行列化）
続いて、目的関数生成部１３は生成した各ノードの平衡方程式を行列化する。各ノードの在庫量、総発注量及び総配送量の平衡方程式のそれぞれをレベル別に行列化することで、各レベルのノード数を意識せずに計算することが可能になる。以下では、表現を簡略化するために行列を次のように表記する。
【数１０】
2009208933.tif 000012
【００３８】
また、上記式（５），（６）を簡略化するためにベクトルＦd(k)を定義する。ベクトルＦd(k)は、ｋレベル以下の各ノードの総発注量から成るベクトルである。
【数１１】
2009208933.tif 000013
【００３９】
更に、配分比行列Ｐを以下のように定義する。
【数１２】
2009208933.tif 000014
【００４０】
上記のように定義したベクトルＦd(k)及び配分比行列Ｐを用いると、上記式（５），（６）は以下のように記述できる。
Ｔs(k)（ｔ）＝Ｐ(k)Ｆd(k)（ｔ）  …（１０）
【００４１】
また、上記の表現を利用して上記式（３），（８），（５）を行列化すると、以下に示す３個の式が導出される。
【数１３】
2009208933.tif 000015
【数１４】
2009208933.tif 000016
【数１５】
2009208933.tif 000017
ここで、
【数１６】
2009208933.tif 000018
【００４２】
（Ｚ変換）
続いて、目的関数生成部１３は、物流ネットワークの定常性を仮定して上記式（１０）〜（１３）をＺ変換する。物流ネットワークが定常性を持つためには、各ノードの総配送量Ｔs(k,i)が存在しなければならない。総配送量Ｔs(k,i)は配分比ｐ(k,i),(m,j)と最下流における需要ｄ(i)(t)とから構成されるので、結局、ｄ(i)(t)が有限の平均及び分散を持つことが定常性の条件である。上記式（１０）〜（１３）をＺ変換すると、以下に示す４個の式が導出（生成）される。
【数１７】
2009208933.tif 000019
【数１８】
2009208933.tif 000020
【数１９】
2009208933.tif 000021
【数２０】
2009208933.tif 000022
【００４３】
（基本情報の導出）
次に、目的関数生成部１３は上記Ｚ変換で得られた方程式を逆変換することで、各ノードについて、在庫量及び総発注量それぞれの期待値と分散とを導出する。これら期待値及び分散が基本情報である。在庫量の期待値をＥ［ＳI(k,i)］、総発注量の期待値をＥ［Ｓd(k,i)］、在庫量の分散をＶ［ＳI(k,i)］、総発注量の分散をＶ［Ｓd(k,i)］とすると、各基本情報は下記式により導出（生成）される。
Ｅ［ＳI(k,i)］＝Ｓ(k,i)  …（１８）
Ｅ［Ｓd(k,i)］＝E［Ｔs(k,i)］  …（１９）
Ｖ［ＳI(k,i)］＝（Ｌ(k)＋１）Ｖ［Ｔs(k,i)］  …（２０）
Ｖ［Ｓd(k,i)］＝Ｖ［Ｔs(k,i)］  …（２１）
【００４４】
各基本情報は、配送比と、Ｗレベルでの需要平均及び需要標準偏差とで決定される。上記式（１８）〜（２１）を計算するときには、これらの式をＷレベルの情報で表す必要がある。そこで、すべての配送経路を考慮したときのノード（ｋ，ｉ）からノード（Ｗ，ｊ）までの配送比ｐｗ(k,i),(W,j)を下記式により算出する。
【数２１】
2009208933.tif 000023
【００４５】
このとき、在庫量及び総発注量それぞれの期待値及び分散は、下記式により表すことができる。
【数２２】
2009208933.tif 000024
【数２３】
2009208933.tif 000025
【数２４】
2009208933.tif 000026
【数２５】
2009208933.tif 000027
【００４６】
（コストの設計）
次に、目的関数生成部１３は、逆変換により生成された基本情報に基づいて、在庫コスト及び配送コストそれぞれについての方程式を生成し、更に、物流ネットワークの全体コストを示す目的関数を生成する。まず、各ノードの在庫コストＣI(k,j)は下記式により算出される。
ＣI(k,i)＝Ｅ［ＳI(k,i)］×Ｉc(k,i)  …（２２）
ここで、Ｉc(k,i)はノード（ｋ，ｉ）の場所に応じた在庫コスト定数（単価）である。
【００４７】
また、配送コストＣd(k,j)は下記式により算出される。
【数２６】
2009208933.tif 000028
ここで、Ｃ(k,i),(m,j)はノード（ｋ，ｉ）からノード（m，ｊ）への配送経路に応じた配送コスト定数（単価）である。
【００４８】
そして、全体コストＣＯＳＴを示す目的関数は下記式により算出される。
【数２７】
2009208933.tif 000029
【００４９】
このとき、目的関数生成部１３は、上記目的関数と併せて、以下に示す４個の制約条件を生成する。
【数２８】
2009208933.tif 000030
【数２９】
2009208933.tif 000031
【数３０】
2009208933.tif 000032
【数３１】
2009208933.tif 000033
【００５０】
ここで、Ｉ(m,j)は、ノード（ｍ，ｊ）への直送配送元集合である。また、ｐｄ(k,i),(m,j)は、ノード（ｋ，ｉ）からノード（ｍ，ｊ）への直送配送率であり、以下のように定義される。
【数３２】
2009208933.tif 000034
【００５１】
また、Ｄ(m,j)は直送する割合の最大値を示す直送制限を示し、入力部１１により受け付けられるデータである。
【００５２】
目的関数生成部１３は生成した基本情報、目的関数及び制約条件を解析部１４に出力する。
【００５３】
解析部１４は、目的関数生成部１３により生成された目的関数を所定の数値解析により解析することで、全体コストを最小にする配送量及び安全在庫を算出する手段である。
【００５４】
解析部１４は、予め記憶されている最適化プログラムを読み出して実行し、目的関数生成部１３から入力された基本情報、目的関数及び制約条件をそのプログラムに与えることで配送量及び安全在庫を算出する。以下では、最適化プログラムのアルゴリズムを説明する。最適化プログラムは遺伝的アルゴリズム（Genetic Algorithm、ＧＡ）を具現化したものであり、このアルゴリズムは、遺伝子初期解生成処理、各遺伝子のコスト評価、終了判定、世代更新（交叉・突然変異）というステップに分けられる。
【００５５】
まず、解析部１４は、入力された制約条件を満たしつつ配分比の初期値をランダムに生成して配分比の遺伝子を複数生成する（遺伝子初期解生成処理）。配分比の遺伝子の構成を図７に示す。図７に示す遺伝子は、各ノード間の配送比をレベル順及びノード番号順に並べたものである。続いて、解析部１４は生成された配分比に基づいて基本情報に対する演算を実行することで全体コストを算出する（各遺伝子のコスト評価）。このとき、配送比、配送比平均、配送量分散、安全在庫、配送コスト、在庫コストも算出される。続いて、解析部１４は算出された全体コストが所定の終了条件（例えば所定の閾値以下であること）を満たすか否かを判定し（終了判定）、その条件を満たしていれば処理を終了して算出結果を出力部１５に出力する。
【００５６】
これに対して、算出された全体コストが所定の終了条件を満たさない場合には、解析部１４は遺伝子をコストによって順位付けし、順位付けされた遺伝子を多点交叉法により交叉させる。また、予め定めた確率で遺伝子に突然変異を起こさせる。解析部１４はこのような手法で遺伝子の世代更新を実行した後に、各遺伝子のコスト評価を再び実行する。
【００５７】
交叉は遺伝子の一部を入れ換える操作である。具体的には、解析部１４は複数生成した配分比の遺伝子から交叉を行うペアを選択する。選択するペアの数は、予め定められた発生率に依存する。続いて、解析部１４は選択した各ペアについてランダムに要素を選択し、その要素を遺伝子間で交換する。交換する要素の数は、予め定められた発生率に依存する。続いて、解析部１４は要素を交換した遺伝子を下記式により正規化する。
【数３３】
2009208933.tif 000035
【００５８】
例えば、解析部１４は、６個の要素（ａ，ｂ，ｃ，ｄ，ｅ，ｆ）で構成される遺伝子Ｇａと、６個の要素（ｐ，ｑ，ｒ，ｓ，ｔ，ｕ）で構成される遺伝子Ｇｂとに対して、要素ｂと要素ｕとを入れ換えると共に要素ｅと要素ｓとを入れ換える処理を実行する。これにより、遺伝子Ｇａの構成は（ａ，ｕ，ｃ，ｄ，ｓ，ｆ）となり、遺伝子Ｇｂの構成は（ｐ，ｑ，ｒ，ｅ，ｔ，ｂ）となる。続いて、解析部１４は遺伝子Ｇａ及びＧｂを上記式（２９）により正規化する。
【００５９】
また、突然変異は遺伝子の一部を変化させる操作である。具体的には、解析部１４は突然変異させる遺伝子を、複数生成した配分比の遺伝子から予め定められた率で選択する。続いて、解析部１４は選択した遺伝子の各要素を予め定められた率で突然変異させるか否かを決定し、変異させると決定した要素の値をランダムな値に変更する。続いて、解析部１４は突然変異させた遺伝子を上記式（２９）により正規化する。
【００６０】
例えば、解析部１４は、６個の要素（ｈ，ｉ，ｊ，ｋ，ｍ，ｎ）で構成される遺伝子Ｇｃの要素ｉの値を０．５から１．２に変更するとともに、要素ｍの値を０．０から２．３に変更する。続いて、解析部１４はその遺伝子Ｇｃを上記式（２９）により正規化する。
【００６１】
出力部１５は、解析部１４により算出された配送量及び安全在庫を出力する手段である。解析部１４による計算結果にはダミーノードの存在が反映されているので、出力部１５はそのダミーノードの存在をユーザに意識させないために計算結果を編集する。具体的には、出力部１５は、どのノードがどのレベルに存在しどのレベルがダミーノードのレベルであるかを示すレベル指定ファイルを読み込み、そのレベル指定ファイルの内容に従って計算結果を編集する。レベル指定ファイルは、受付部１１によりデータと共に受け付けられてもよいし、予め物流計画システム１内の所定の記憶手段内に用意されていてもよい。
【００６２】
なお、出力部１５による出力方法は限定されず、例えば表形式で出力したり図やグラフで出力したりすることが可能である。また、出力部１５が用いる装置も限定されず、モニタによる表示、プリンタによる印刷、記憶装置への格納、あるいは他の情報処理装置への送信などを実行することが可能である。これにより、物流計画システム１のユーザは、物流ネットワークの全体コストを最小にする配送量及び安全在庫を知ることができる。
【００６３】
次に、図８及び９を用いて、図１に示す物流計画システム１の処理を説明するとともに本実施形態に係る物流計画方法について説明する。図８は、物流計画システム１の処理を示すフローチャートである。図９は、図８に示す目的関数生成処理の詳細を示すフローチャートである。
【００６４】
ユーザが計算に必要なデータ（例えばネットワークデータ、需要データ、単位時間データなど）を入力すると、受付部１１がそのデータを受け付け（ステップＳ１１）、記憶部１２がそのデータを記憶する（ステップＳ１２、記憶ステップ）。
【００６５】
続いて、目的関数生成部１３が、解析する目的関数を生成する（ステップＳ１３、目的関数生成ステップ）。目的関数生成処理の詳細は図９に示す通りである。すなわち、目的関数生成部１３はまず、各ノードについて、在庫量、総発注量及び総配送量に関する平衡方程式を生成する（ステップＳ１３１）。続いて、目的関数生成部１３は生成した各ノードの平衡方程式を行列化し（ステップＳ１３２）、更に、行列化した方程式をＺ変換する（ステップＳ１３３）。続いて、目的関数生成部１３は、Ｚ変換により得られた方程式を逆変換することで、各ノードの在庫量及び総発注量についての期待値と分散とを導出する（基本情報の生成）（ステップＳ１３４）。そして、目的関数生成部１３は生成した基本情報に基づいて在庫コスト及び配送コストそれぞれについての方程式を生成し、更に、物流ネットワークの全体コストを示す目的関数とその制約条件を生成する（ステップＳ１３５）。
【００６６】
図８に戻って、目的関数が生成されると、解析部１４が遺伝的アルゴリズムを具現化した最適化プログラムを用いて目的関数を解析し、配送量及び安全在庫を算出する（ステップＳ１４、解析ステップ）。そして最後に、出力部１５が算出結果を出力する（ステップＳ１５、出力ステップ）。
【００６７】
次に、図１０を用いて、上述した一連の物流計画処理をコンピュータに実行させるための物流計画プログラムを説明する。図１０は、実施形態に係る物流計画プログラム８１の構成を示す図である。
【００６８】
図１０に示すように、物流計画プログラム８１は、コンピュータが備える記録媒体８０に形成されたプログラム格納領域８０ａ内に格納されている。
【００６９】
物流計画プログラム８１は、上述した一連の物流計画処理を統括的に制御するメインモジュール８１０と、受付モジュール８１１と、記憶モジュール８１２と、目的関数生成モジュール８１３と、解析モジュール８１４と、出力モジュール８１５とを備えて構成される。受付モジュール８１１と、記憶モジュール８１２と、目的関数生成モジュール８１３と、解析モジュール８１４と、出力モジュール８１５を実行させることにより実現される機能は、上述した物流計画システム１の受付部１１、記憶部１２、目的関数生成部１３、解析部１４及び出力部１５の機能とそれぞれ同様である。
【００７０】
なお、物流計画プログラム８１は、その一部若しくは全部が、通信回線等の伝送媒体を介して伝送され、他の機器により受信されて記録（インストールを含む）される構成としてもよい。
【００７１】
次に、図１１〜２１を用いて、物流計画システム１により得られる計算結果の具体例を示す。図１１はノード（配送拠点）の配置を示す図である。図１２〜１４は配送経路を示す表である。図１５は入力される需要平均及び需要標準偏差を示す表である。図１６〜２１は計算結果を示す表であり、順に各拠点間の配送率、各拠点間の配送量、各拠点の配送量平均、各拠点の配送量分散、各拠点の安全在庫、コストを示している。
【００７２】
解析する物流ネットワークは、図１１に示すように７階層（レベル１〜７）のノードを有している。このうち、実在するノードは第１，４，７レベルの工場Ａ〜Ｃ，配送Ｄ〜Ｆ，小売Ｇ〜Ｊであり、第２，３，５，６レベルのノードはダミーノードである。第５，６レベルには、ハッチングを施した直送用ダミーノードが含まれる。物流ネットワークの配送経路は、図１２〜１４に示すトポロジーファイルで定義されている。
【００７３】
このトポロジーファイルにおいて、各行は出発ノードを示し、各列は到着ノードを示している。また、値「１」はノード間に配送経路が存在することを示しており、空欄（値「０」）は、配送経路が存在しないことを示している。例えば、図１２に示すトポロジーは、工場Ａを示すノード（１、１）からダミーノード（２，２）への配送経路は存在するが、ノード（１、１）とダミーノード（２，３）との間の経路は存在しないことを示している。
【００７４】
最終レベルの小売Ｇ〜Ｊそれぞれにおける需要平均及び需要標準偏差は、図１５に示すように設定した。加えて、単位当たりリードタイムは１、安全係数ρは１．６５とした。物流計画処理の実行結果の一例を図１６〜２１に示す。なお、この結果は、解析部１４が遺伝子数を１０００、終了までのループ処理回数を１０００として解析したものである。
【００７５】
以上説明したように、本実施形態によれば、各配送経路における配送量と各配送拠点における安全在庫とが考慮された目的関数が生成されるので、その目的関数を解析することで、該目的関数で示される全体コストを最小にする配送量及び安全在庫を算出できる。すなわち、物流ネットワークにおける最適な輸送計画及び安全在庫を同時に算出することが可能になる。
【００７６】
また本実施形態によれば、物流ネットワークを構成する各配送拠点の在庫量を規定する関数、該各配送拠点の総発注量を規定する関数、及び該各配送拠点の総配送量を規定する関数を物流ネットワークの階層毎に行列に変換し（行列化し）計算することで、各階層における配送拠点数を意識することなく目的関数を生成できる。
【００７７】
また本実施形態によれば、複雑な問題の解析に適している遺伝的アルゴリズムを用いることで、図１１〜１４で示されるような複雑な配送経路を有する物流ネットワークについても、その最適な輸送計画及び安全在庫を同時に算出できる。
【００７８】
以上、本発明をその実施形態に基づいて詳細に説明した。しかし、本発明は上記実施形態に限定されるものではない。本発明は、その要旨を逸脱しない範囲で以下のような様々な変形が可能である。
【００７９】
上記実施形態では、目的関数を解析する手法として遺伝的アルゴリズムを採用したが、目的関数の解析方法はこれに限定されず、様々な最適化の手法を用いることが可能である。例えば、解析部１４は、主双対内点法アルゴリズムを実現したプログラムを用いて、全体コストを最小にする配送量及び安全在庫を算出してもよい。主双対内点法アルゴリズムの詳細は、下記参考文献に記載されている。
（参考文献）八巻直一，矢部博：非線形計画法，朝倉書店，１９９９
【００８０】
ここでは、主双対内点法により解析する際に使用するＫＫＴ（Karush-Kuhn-Tucker）条件について述べる。全体コストＣＯＳＴを示す目的関数は次式のように変換される。なお、以下では、ｐ(k,i),(m,j)をｐ(a,b)のように表現している。
【数３４】
2009208933.tif 000036
ただし、
【数３５】
2009208933.tif 000037
【００８１】
ここで、（ｐ(1,1)，ｐ(1,2)，…，ｐ(N,N)）は、すべてのノード間における配送率で構成され、N×Nである。また、制約条件を以下のように定義する。
【数３６】
2009208933.tif 000038
【数３７】
2009208933.tif 000039
【数３８】
2009208933.tif 000040
【数３９】
2009208933.tif 000041
ただし、
【数４０】
2009208933.tif 000042
【００８２】
上記式（３１）〜（３４）の制約式の個数はそれぞれＮ，Ｎ×Ｎ，Ｎ×Ｎ，Ｎである。これらの制約式の総数をＭとして、各制約式をｇｉ（ｐ(1,1)，ｐ(1,2)，…，ｐ(N,N)）≦０（ｉ＝１，…，Ｍ）と定義する。また、最適点ｐ＊＝（ｐ＊(1,1)，ｐ＊(1,2)，…，ｐ＊(N,N)）における目的関数の勾配ベクトルを▽ｆ（ｐ＊）、第ｉ番目の制約条件の勾配ベクトルを▽ｇｉ（ｐ＊）とする。このとき、あるαｉ≧０（ｉ＝１，…，Ｍ）が存在し、以下に示すＫＴＴ条件が成立する。
【数４１】
2009208933.tif 000043
αｉｇｉ（ｐ＊(1,1)，ｐ＊(1,2)，…，ｐ＊(N,N)）＝０  （ｉ＝１，…，Ｍ）
ｇｉ（ｐ＊(1,1)，ｐ＊(1,2)，…，ｐ＊(N,N)）≦０  （ｉ＝１，…，Ｍ）
【図面の簡単な説明】
【００８３】
【図１】実施形態に係る物流計画システムの機能構成を示す図である。
【図２】図１に示す物流計画システムのハードウェア構成を示す図である。
【図３】物流ネットワークの一例を示す図である。
【図４】ダミーノードの設置の一例を示す図である。
【図５】ダミーノードの設置の一例を示す図である。
【図６】ダミーノードの設置の一例を示す図である。
【図７】配分比の遺伝子構成を示す図である。
【図８】図１に示す物流計画システムの処理を示すフローチャートである。
【図９】図８に示す目的関数生成処理の詳細を示すフローチャートである。
【図１０】実施形態に係る物流計画プログラムの構成を示す図である。
【図１１】ノード（配送拠点）の配置の一例を示す図である。
【図１２】配送経路を示す表である。
【図１３】配送経路を示す表である。
【図１４】配送経路を示す表である。
【図１５】入力される需要平均及び需要標準偏差を示す表である。
【図１６】各拠点間の配送率の計算結果を示す表である。
【図１７】各拠点間の配送量の計算結果を示す表である。
【図１８】各拠点の配送量平均の計算結果を示す表である。
【図１９】各拠点の配送量分散の計算結果を示す表である。
【図２０】各拠点の安全在庫の計算結果を示す表である。
【図２１】コストの計算結果を示す表である。
【符号の説明】
【００８４】
１…物流計画システム、１１…受付部、１２…記憶部（記憶手段）、１３…目的関数生成部（目的関数生成手段、第１生成手段、第２生成手段、第３生成手段）、１４…解析部（解析手段）、１５…出力部（出力手段）、８１…物流計画プログラム、８１０…メインモジュール、８１１…受付モジュール、８１２…記憶モジュール、８１３…目的関数生成モジュール、８１４…解析モジュール、８１５…出力モジュール。
【図１】
2009208933.tif 000044
【図２】
2009208933.tif 000045
【図３】
2009208933.tif 000046
【図４】
2009208933.tif 000047
【図５】
2009208933.tif 000048
【図６】
2009208933.tif 000049
【図７】
2009208933.tif 000050
【図８】
2009208933.tif 000051
【図９】
2009208933.tif 000052
【図１０】
2009208933.tif 000053
【図１１】
2009208933.tif 000054
【図１２】
2009208933.tif 000055
【図１３】
2009208933.tif 000056
【図１４】
2009208933.tif 000057
【図１５】
2009208933.tif 000058
【図１６】
2009208933.tif 000059
【図１７】
2009208933.tif 000060
【図１８】
2009208933.tif 000061
【図１９】
2009208933.tif 000062
【図２０】
2009208933.tif 000063
【図２１】
2009208933.tif 000064