(57)【要約】【課題】在庫量の増加を回避することができる推定プログラム、推定装置、及び推定方法を提供する。【解決手段】コンピュータに、在庫量の分布を表す在庫関数を、在庫がある場合の該在庫の維持コストと在庫がない場合の機会損失に基づく損失コストとを含む総コストの分布を表すコスト関数へと変換し、上記コスト関数を正規分布の関数に近似し、上記近似させたコスト関数に基づいて上記総コストが最小化する入荷量を算出する、処理を実行させる。【選択図】図２
2018190299.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
在庫量の分布を表す在庫関数を、在庫がある場合の該在庫の維持コストと在庫がない場合の機会損失に基づく損失コストとを含む総コストの分布を表すコスト関数へと変換し、
前記コスト関数を正規分布の関数に近似し、
前記近似させたコスト関数に基づいて前記総コストが最小化する入荷量を算出する、
処理を実行させることを特徴とする推定プログラム。
【請求項２】
前記在庫関数の前記在庫量が正の範囲で前記維持コストのコスト係数を乗算し、前記在庫量の０及び負の範囲で前記損失コストのコスト係数を乗算する処理をさらに実行させ、
前記コスト関数へと変換する処理は、乗算後の前記維持コストと前記損失コストとの集計結果となる前記総コストの分布を表すコスト関数へと変換する、
ことを特徴とする請求項１に記載の推定プログラム。
【請求項３】
前記損失コストは、前記維持コストよりも大きいことを特徴とする請求項１又は２に記載の推定プログラム。
【請求項４】
前記近似させる処理は、正規分布で示される需要予測の関数に該正規分布の平均値と前記総コストの分布の平均値とが一致するように近似させることを特徴とする請求項１乃至３のいずれか１つに記載の推定プログラム。
【請求項５】
前記入荷量を算出する処理は、前記総コストの平均を示すコスト平均項と、前記総コストの分散を示すコスト分散項とを有する、最適化問題の定式を生成し、前記定式から前記総コストの平均及び前記コストの分散の各値が小さくなる前記入荷量を算出することを特徴とする請求項１乃至４のいずれか１つに記載の推定プログラム。
【請求項６】
前記入荷量を算出する処理は、前記総コストの平均を示すコスト平均項、前記総コストの分散を示すコスト分散項、及び前記コスト関数と前記正規関数との平均値の差を示す近似誤差項とを有する、最適化問題の定式を生成し、前記定式から前記総コストの平均、前記総コストの分散、及び前記コスト関数と前記正規関数との平均値の差の各値を小さくする前記入荷量を算出することを特徴とする請求項１乃至４のいずれか１つに記載の推定プログラム。
【請求項７】
在庫量の分布を表す在庫関数を、在庫がある場合の該在庫の維持コストと在庫がない場合の機会損失に基づく損失コストとを含む総コストの分布を表すコスト関数へと変換する第１の処理部と、
前記コスト関数を正規分布の関数に近似する第２の処理部と、
前記近似させたコスト関数に基づいて前記総コストが最小化する入荷量を算出する第３の処理部と、
を有することを特徴とする推定装置。
【請求項８】
コンピュータが、
在庫量の分布を表す在庫関数を、在庫がある場合の該在庫の維持コストと在庫がない場合の機会損失に基づく損失コストとを含む総コストの分布を表すコスト関数へと変換し、
前記コスト関数を正規分布の関数に近似し、
前記近似させたコスト関数に基づいて前記総コストが最小化する入荷量を算出する、
処理を実行することを特徴とする推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、推定プログラム、推定装置、及び推定方法に関する。
【背景技術】
【０００２】
従来より、過去の売上量などから将来の需要を予測する需要予測の技術が知られている。需要予測は不確定性を有するため、在庫切れで販売機会を失う損失（機会損失）が発生する可能性がある。機会損失が発生した場合、需要があってもその分は供給できずに、需要量に相当する損失コスト（機会損失コスト）が増加する。そこで、在庫切れによる機会損失のリスクを回避する安全在庫という発注計画決定方法がある。この安全在庫は、需要予測を多く見積もることにより機会損失コストを無くす方法である。例えば正規分布で表現される需要予測分布の平均＋３σ分を多く見積もって各時刻に発注する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２０８９３３号公報
【特許文献２】特開２０１６−９１２１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の推定方法（例えば安全在庫など）は、需要予測を多く見積もるだけであるため、在庫量が必要以上に増加してしまう恐れがある。すなわち機会損失コストとのバランスは考慮されないため、発注量が在庫量を増加させる側に一方的に片寄り、結果としてコストを小さく抑えることができないことになる。
【０００５】
一つの側面では、在庫量の増加を回避することができる推定プログラム、推定装置、及び推定方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
第１の案では、推定プログラムは、コンピュータに、在庫量の分布を表す在庫関数を、在庫がある場合の該在庫の維持コストと在庫がない場合の機会損失に基づく損失コストとを含む総コストの分布を表すコスト関数へと変換し、上記コスト関数を正規分布の関数に近似し、上記近似させたコスト関数に基づいて上記総コストが最小化する入荷量を算出する、処理を実行させる。
【発明の効果】
【０００７】
本発明の一の実施態様によれば、在庫量の増加を回避することができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、システム構成の一例を説明する図である。
【図２】図２は、発注計画決定装置の全体構成の一例を示す図である。
【図３】図３は、商品情報のデータ構造の一例を示す図である。
【図４】図４は、販売実績情報のデータ構造の一例を示す図である。
【図５】図５は、商品発注をかける店舗の、商品の入荷量と、在庫量と、需要量との関係を示す図である。
【図６】図６は、変換部の機能のアルゴリズムの説明図である。
【図７】図７は、正規化処理部の機能のアルゴリズムの説明図である。
【図８】図８は、発注計画決定処理の処理フローの一例を示す図である。
【図９】図９は、最適化部によるステップＳ６の処理の一例を示す図である。
【図１０】図１０は、モンテカルロ法により発注計画を求めた場合と本実施例により発注計画を求めた場合の比較例を示す図である。
【図１１】図１１は、汎用コンピュータの模式的な構成の一例を示す図である。
【発明を実施するための形態】
【０００９】
以下に、本発明にかかる推定プログラム、推定装置、及び推定方法の実施例を図面に基づいて詳細に説明する。以下の実施例では、発注計画の推定に適用した例を示す。なお、この実施例に発明を限定するものではない。
【実施例１】
【００１０】
［システム構成］
最初に、実施例１に係る発注計画決定装置を用いて商品の発注を行うシステムの一例を説明する。図１は、システム構成の一例を説明する図である。図１に示すように、システム１は、発注計画決定装置１０と、受注システム１１とを有する。発注計画決定装置１０と受注システム１１は、ネットワーク１２を介して通信可能に接続され、各種の情報を交換することが可能とされている。かかるネットワーク１２の一態様としては、有線または無線を問わず、携帯電話などの移動体通信、インターネット（Internet）、ＬＡＮ（Local  Area  Network）やＶＰＮ（Virtual  Private  Network）などの任意の種類の通信網を採用できる。
【００１１】
受注システム１１は、商品の受注を受け付けるシステムである。例えば、受注システム１１は、１台または複数台のサーバコンピュータ上で動作するシステムである。受注システム１１は、商品の原価などが設定されたマスタデータや、商品の在庫量を管理する管理テーブルなどを記憶する。受注システム１１は、店舗のＰＯＳ（Point  of  sale）システム等から、商品の入荷情報や売上情報などがアップロードされるなどして、商品の在庫量を管理する。売上情報は、商品の売価や販売数（購買数）などを含む情報である。受注システム１１は、発注計画決定装置１０により決定された各商品の発注量を示す発注計画を受け付け、商品の供給元に発注データを送信する。
【００１２】
発注計画決定装置１０は、商品の発注計画を決定する装置である。例えば、発注計画決定装置１０は、各商品の所定期間における最適な発注量を決定し、各商品の所定期間の発注計画を出力する。発注計画決定装置１０は、例えば、パーソナルコンピュータやサーバコンピュータなどである。発注計画決定装置１０は、１台のコンピュータとして実装してもよいし、複数台のコンピュータにより実装してもよい。なお、本実施例では、発注計画決定装置１０を１台のコンピュータとして実装した場合の例を示す。
【００１３】
［発注計画決定装置の構成］
実施例１に係る発注計画決定装置１０について説明する。図２は、発注計画決定装置の全体構成の一例を示す図である。図２に示すように、発注計画決定装置１０は、通信部２０と、操作部２１と、表示部２２と、記憶部２３と、制御部２４とを有する。なお、発注計画決定装置１０は、上記の機器以外の他の機器を有していてもよい。
【００１４】
通信部２０は、ネットワーク１２を介して他の装置と通信を行うためのインタフェースである。通信部２０としては、ＬＡＮカードなどのネットワークインタフェースカードを採用できる。本実施例において、通信部２０は、受注システム１１と通信し、受注システム１１との間で商品の発注計画に関する各種情報を送受信する。
【００１５】
操作部２１は、操作の入力を受け付けるマウスやキーボードなどの入力デバイスである。操作部２１は、受け付けた操作情報を制御部２４に出力する。本実施例において、操作部２１は、発注計画を決定するための各種の入力を受け付ける。
【００１６】
表示部２２は、各種情報を表示する表示デバイスである。表示部２２としては、ＬＣＤ（Liquid  Crystal  Display）やＣＲＴ（Cathode  Ray  Tube）などの表示デバイスが挙げられる。本実施例において、表示部２２は、発注計画を決定する発注計画決定画面などを表示する。発注計画決定画面は、例えば、需要予測処理の実行ボタンや、発注対象の商品を指定する商品コード一覧のリストボックスや、最適化問題の条件を設定する設定ボックスや、発注計画決定処理の実行ボタンなどを有する。
【００１７】
記憶部２３は、ハードディスク、ＳＳＤ（Solid  State  Drive）、光ディスクなどの補助記憶装置である。なお、記憶部２３は、フラッシュメモリ、ＮＶＳＲＡＭ（Non  Volatile  Static  Random  Access  Memory）などの半導体メモリであってもよい。
【００１８】
記憶部２３は、ＯＳ（Operating  System）や各種プログラムを記憶する。各種プログラムには、発注計画の決定に用いるプログラム（以下において「発注計画決定プログラム」と表記する場合がある）などが含まれる。さらに、記憶部２３は、各種データを記憶する。例えば、記憶部２３は、発注計画決定プログラムが用いる関係式情報３３や、商品情報３０や、販売実績情報３１や、発注計画データ３２などを記憶する。
【００１９】
関係式情報３３は、発注計画の決定に用いる関係式を示す情報である。商品情報３０は、各商品の商品管理情報、例えば商品コードや、在庫量や、原価などである。販売実績情報３１は、各商品の過去の販売実績を示す情報である。発注計画データ３２は、発注計画決定処理により決定された商品の発注計画を示す情報である。ここで、商品情報３０および販売実績情報３１のデータ構造について説明する。
【００２０】
図３は、商品情報のデータ構造の一例を示す図である。商品情報３０は、設定ＩＤ（identification）、設定項目、設定の各項目を有する。設定ＩＤの項目は、設定項目を識別する識別番号を記憶する領域である。設定項目の項目は、設定項目の項目名を記憶する領域である。設定の項目は、設定項目に関する設定内容を記憶する領域である。なお、商品情報３０に記憶される情報は、例えば後述する収集部４１により入力される。
【００２１】
図３の例では、設定ＩＤ「１」について、設定項目として商品コードが設定され、設定の内容として商品コードの「００１」が設定されている。設定ＩＤ「２」については、設定項目として当該商品の原価が設定され、設定の内容として原価の「９０」円が設定されている。設定ＩＤ「３」については、設定項目として当該商品のその時点（「現在」として示す）の在庫量が設定され、設定の内容として在庫量を示す「１００」個が設定されている。設定ＩＤ「４」については、設定項目として当該商品の１つ当たりの在庫維持コストが設定され、設定の内容として在庫維持コストの具体的な数字である「５」円が設定されている。
【００２２】
設定ＩＤ「４」の在庫維持コストについては、受注システム１１などが管理しているものをセットする。受注システム１１などが管理していない場合には、ユーザ（管理者）が発注計画決定装置１０において入力する。
【００２３】
図４は、販売実績情報のデータ構造の一例を示す図である。販売実績情報３１は、商品コード、商品名、販売日、販売価格（売価）、販売数の各項目を有する。商品コードの項目は、商品の商品コードを記憶する領域である。商品名の項目は、商品の商品名を記憶する領域である。販売日の項目は、販売された日付を記憶する領域である。販売価格の項目は、商品を販売した価格を記憶する領域である。販売数の項目は、商品の販売数を記憶する領域である。図４において、例えば商品コード「００１」の商品は、商品名が「商品Ａ」であり、販売日が「２０１４／１／２０」であり、そのときの販売価格が「１２０（円）」であり、販売数が「１００（個）」であることを示す。なお、販売実績情報３１に記憶される情報は、例えば後述する収集部４１により入力される。
【００２４】
ここで、図２の説明に戻り、制御部２４の構成について説明する。制御部２４は、ＣＰＵ（Central  Processing  Unit）とＲＯＭ（Read  Only  Memory）とＲＡＭ（Random  Access  Memory）とを有するコンピュータ構成のデバイスであり、発注計画決定装置１０全体を制御する。
【００２５】
［機能構成］
制御部２４は、ＣＰＵがＲＯＭの固定プログラムを実行し、続いて記憶部２３のＯＳや各種のプログラムをＲＡＭにロードして実行することにより、各種の機能を実現する。本実施例において、上記ＣＰＵは、主に、受付部４０と、収集部４１と、予測部４２と、処理部４３と、出力部４４として機能を実現する。
【００２６】
受付部４０は、操作部２１からの入力情報を受け付ける。例えば、受付部４０は、発注計画決定画面に対してのユーザ（管理者等）の入力情報を受け付ける。発注計画決定画面への入力情報には、需要予測処理の実行命令や、発注対象の商品の商品コードや、最適化問題の条件の設定値や、発注計画決定処理の実行命令などが含まれる。
【００２７】
収集部４１は、通信部２０を制御して各種情報の収集を行い、収集した情報を記憶部２３に記憶させる。例えば、収集部４１は、各種情報として、受注システム１１から各商品のマスタデータの情報や入荷情報や売上情報などを収集する。収集部４１は、収集した各種情報をそれぞれ商品情報３０と販売実績情報３１とに分けて記憶させる。なお、各種情報の収集先は受注システム１１に限定されるものではなく、図示しない外部のサーバなどのその他のシステムであっても良い。また、商品情報３０と販売実績情報３１の情報とを管理者が操作部２１を介して更新してもよい。また、商品情報３０と販売実績情報３１とを可搬型記憶媒体を介して取得してもよい。
【００２８】
予測部４２は、需要予測処理を行う。具体的に、予測部４２は、商品情報３０と販売実績情報３１とを読み取り、ＡＲＩＭＡモデル（autoregressive  integrated  moving  average  model）などによる時系列分析を行って、発注対象の商品の需要を予測する。なお、需要の予測方法は、これに限定されず、その他の方法を用いてもよい。例えば、サポートベクタマシンなどにより過去の需要を学習して需要量を予測してもよい。
【００２９】
処理部４３は、予測部４２の需要予測処理の結果を最適化する処理を行う。具体的に、処理部４３は、変換部（第１の処理部）４３１と、正規化処理部（第２の処理部）４３２と、最適化部（第３の処理部）４３３とを有する。なお、変換部４３１は第１の処理部の一例であり、正規化処理部４３２は第２の処理部の一例であり、最適化部４３３は第３の処理部の一例である。
【００３０】
変換部４３１は、商品の在庫の分布を示す確率密度関数（在庫関数）を総コストの分布を示す確率密度関数（コスト関数）へ変換する。なお、商品の在庫の分布を示す確率密度関数は在庫関数の一例であり、総コストの分布を示す確率密度関数はコスト関数の一例である。
【００３１】
ここで、「総コストの分布」は、「在庫維持コスト」の分布と「機会損失コスト」の分布とを集計したものである。「在庫維持コスト」は、商品の在庫がある場合に発生する保管コスト等の在庫維持のためのコストである。「機会損失コスト」は、在庫がない場合に発生する販売機会の損失コスト、例えば販売価格等により定量的に示した損失コストである。
【００３２】
正規化処理部４３２は、変換部４３１が変換したコスト関数を正規分布の既知の確率密度関数、一例として需要予測の確率密度関数（以下において「需要予測関数」と表記する場合がある。）に近似させる。
【００３３】
最適化部４３３は、コスト関数を近似させることにより得られた近似関数に基づいて、総コストが最小化する発注量を算出する。
【００３４】
出力部４４は、各種の出力を行う。例えば、出力部４４は、発注計画決定画面情報に設定値をセットし、その発注計画決定画面を表示部２２に出力する。また、出力部４４は、決定した発注計画データ３２を通信部２０に出力して受注システム１１へ送信する。
【００３５】
［発注計画決定プログラム］
続いて、発注計画決定プログラムのアルゴリズムについて説明する。先ず、前提とする関係式情報３３（図２参照）について説明し、それから、変換部４３１、正規化処理部４３２、最適化部４３３の順に各機能のアルゴリズムについて説明する。
【００３６】
図５は、商品発注をかける店舗における商品の入荷量と、在庫量と、需要量との関係を示す図である。図５に示す入荷量ｘ［ｋ］は、店舗Ｑに入荷予定の商品の入荷量（入荷量分布）を表す。在庫量Ｉ［ｋ］は、店舗Ｑにおける当該商品の在庫量（在庫量分布）を表す。需要予測量ξ［ｋ］は、当該商品の需要予測量（需要予測量分布）を表す。ここで、ｋは、ｋｃ〜ｋｃ＋Ｈの変数である。ｋｃは需要の予測対象期間の開始日を指し、Ｈは、その開始日からの期間（一例として日数とする）を指す。これらの関係を基に、次の関係式を設定する。
【００３７】
Ｉ［ｋ］＝Ｉ［ｋ−１］＋ｘ［ｋ］−ξ［ｋ］      （１）
【００３８】
式１は、ｋ日の在庫量Ｉ［ｋ］は、ｋ−１日の在庫量Ｉ［ｋ−１］にｋ日の入荷量ｘ［ｋ］を加え、ｋ日の需要予測量ξ［ｋ］を差し引いたものになるという関係を示している。
【００３９】
なお、需要予測量ξ［ｋ］は、平均μと共分散ΣとのＨ次元正規分布（Ｎ（μ、Σ））で表せる。この関係を次に示す。
【００４０】
（ξ［ｋｃ］、ξ［ｋｃ＋１］、・・・、ξ［ｋｃ＋Ｈ］）〜Ｎ（μ、Σ）    （２）
【００４１】
この関係から、変換部４３１と正規化処理部４３２とにおいて式（１）を正規分布の関数で表すことを考える。
【００４２】
次に、変換部４３１の機能のアルゴリズムについて説明する。図６は、変換部４３１の機能のアルゴリズムの説明図である。図６には、ｋ日における、発注商品の在庫量（在庫量分布）と、当該在庫量に基づくコスト（コスト分布）との関係の一例を確率密度のグラフで示している。
【００４３】
図６（ａ）に示す在庫量分布ｇ１は、ｋ日における仮定の在庫量分布を表している。横軸は確率変数の在庫量Ｉであり、縦軸が確率である。例えばｋ日の既知の需要予測量から式１により求まる入荷量を更に増加させたときの仮定の在庫量分布である。本実施例では、図６に示すように在庫量分布ｇ１が正規分布になると仮定する。Ｉ＝０は在庫量が０となる点である。図６には、その点を、一例として確率が０となる位置（二つのうち、在庫量が少ない方）の近傍に示している。
【００４４】
図６（ｂ）に示すコスト分布ｇ２は、在庫維持コスト（在庫維持コスト分布ｇ２１）と機会損失コスト（機会損失コスト分布ｇ２２）とを集計した総コストを示す分布である。横軸は確率変数のコストＣであり、縦軸が確率である。
【００４５】
図６（ｂ）において、在庫量がある場合とは、在庫量がＩ＞０の範囲、すなわち在庫量が０より大きい場合であり、在庫量がない場合とは、在庫量がＩ≦０の範囲、すなわち在庫量が０以下である場合である。在庫維持コスト分布ｇ２１は、在庫量分布ｇ１（図６（ａ））の、在庫がある範囲を示す在庫量Ｉ＞０の範囲を、在庫量を示す分布から在庫維持コストを示す分布に変換したものである。機会損失コスト分布ｇ２２は、在庫量分布ｇ１（図６（ａ））の、在庫がない範囲を示す在庫量Ｉ≦０の範囲を、在庫量を示す分布から機会損失コストを示す分布に変換したものである。なお、機会損失コスト分布ｇ２２がコストＣ≧０に表されているのは、コストＣが、コストＣ≧０で負が存在しないためである。
【００４６】
商品１つ当たりの在庫維持コストと機会損失コストの値は異なる。このため、在庫量Ｉ＞０の範囲と在庫量Ｉ≦０の範囲とで在庫量をコストに変換するコスト係数に異なる値が使用される。コスト分布ｇ２では、機会損失コストが集計されたコストＣの範囲で確率が高まり、図６の囲み線Ａで指示する非正規部分が発生する。
【００４７】
ｋ日のコスト（コスト分布）をＣ［ｋ］とし、上述した関係を式に示すと次のように表せる。
【００４８】
Ｃ［ｋ］＝ｉｃ×Ｉ［ｋ］（Ｉ［ｋ］＞０），
Ｃ［ｋ］＝−ｃｌ×Ｉ［ｋ］（Ｉ［ｋ］≦０）
ｉｃ：在庫維持コストのコスト係数（円／個）
ｃｌ：機会損失コストのコスト係数（円／個）      （３）
【００４９】
次に、正規化処理部４３２の機能のアルゴリズムについて説明する。先ず、機会損失コストのコスト係数ｃｌが在庫維持コストのコスト係数ｉｃよりも大きいと仮定する。つまり商品１つ当たりの売価（販売価格）が保管コストよりも高いと仮定する。
【００５０】
この仮定の下に、ｋ日の総コストを最小値化するという条件で入荷量の計算を行った場合、在庫維持コストよりも機会損失コストの方の最小値化が優先される傾向になることが考えられる。従って、図６（ａ）に例示するように、在庫量分布ｇ１の在庫量Ｉ＝０となる点が確率０よりも少し大きい値をとる位置になり、図６（ｂ）に示すように、コスト分布ｇ２の非正規部分（囲み線Ａで示す部分）はコストＣ＝０の近傍に生じる。この場合に、機会損失コストによる総コストへの影響が最小化することになるので、コスト分布ｇ２を正規分布に変換して、正規分布として取り扱うことが可能になる。
【００５１】
図７は、正規化処理部４３２の機能のアルゴリズムの説明図である。図７は、コスト分布ｇ２（図６（ｂ））に対し、コスト分布ｇ２を正規分布に近似させたもの（近似分布）を重ねて示したものである。
【００５２】
本実施例では、予測部４２の需要予測量分布が既知の正規分布であるため、これにコスト分布ｇ２を近似させる。近似は、一次モーメントマッチング法により需要予測量分布と確率変数の平均が一致するように行う。
【００５３】
図７に示す近似分布ｇ３の平均Ｃ１は、在庫維持コスト分布ｇ２１の平均Ｃ２からコストＣの負の方向にずれている。これは、近似分布ｇ３として近似されたコスト分布ｇ２に、機会損失コスト分布ｇ２２を集計した非正規部分（囲み線Ａで示す部分）が含まれるためである。つまり、コスト分布ｇ２の平均は在庫維持コスト分布ｇ２１の平均Ｃ２からコストＣの負の方向の平均Ｃ１にずれることになる。これにより、コスト分布ｇ２の平均Ｃ１に需要予測分布の平均を一致させて近似した近似分布ｇ３は平均Ｃ１の分布になる。
【００５４】
このように、コスト分布ｇ２を既知の正規分布へ近似することにより、総コストの分布を正規分布と見做して取り扱うようにする。
【００５５】
ｋｃ日〜ｋｃ＋Ｈ日までの各日のコスト分布が既知の需要予測分布に近似されることを示す関係式を次に示す。
【００５６】
Ｃ［ｋｃ］＋・・・＋Ｃ［ｋｃ＋Ｈ］〜ｙ［ｋｃ］×ξ［ｋｃ］＋・・・＋ｙ［ｋｃ＋Ｈ］×ξ［ｋｃ＋Ｈ］        （４）
なお、ｙ［ｋｃ］、・・・、ｙ［ｋｃ＋Ｈ］は、重み係数である。
【００５７】
式（４）は、ｋｃ日からｋｃ＋Ｈ日までの各日の総コスト（コスト分布）の和を、ｋｃ日からｋｃ＋Ｈ日までの各日の需要予測量ξ［ｋ］の線形和に近似させることを意味している。
【００５８】
式（４）のＣ［ｋｃ］＋・・・＋Ｃ［ｋｃ＋Ｈ］の近似計算は、次のようにして行う。ｋ日の在庫量（在庫分布）であるＩ［ｋ］の平均値をＩｍ［ｋ］とし、ｋ日の需要予測量（需要予測分布）であるξ［ｋ］の平均値をｍ［ｋ］（既知）とすると、  式（１）から、
Ｉｍ［ｋ］＝Ｉｍ［ｋ−１］＋ｘ［ｋ］−ｍ［ｋ］      （５）
となる。
【００５９】
ここで、式（５）に示すｋ日の入荷量ｘ［ｋ］は、その他の項が平均値や、既知の平均値であることから、分布ではなく値として決定される。
【００６０】
ここで、
Ｃｍ［ｋ］＝ｉｃ×Ｉｍ［ｋ］（Ｉｍ［ｋ］＞０），−ｃｌ×Ｉｍ［ｋ］（Ｉｍ［ｋ］≦０）とすると、ｋｃ日からｋｃ＋Ｈ日の期間のコスト分布の平均ｃ＝Ｃ（ｋｃ〜ｋｃ＋Ｈ）＝Ｃｍ［ｋｃ］＋・・・＋Ｃｍ［Ｋｃ＋Ｈ］で表せる。
【００６１】
従って、式（４）をまとめると、
ｃ≒ｙμＴ        （６）
ここで、
ｙ＝（ｙ［ｋｃ］、・・・、ｙ［ｋｃ＋Ｈ］）
μ：（ξ［ｋｃ］、・・・、ξ［ｋｃ＋Ｈ］）
ただし、ξ［ｋｃ］、・・・、ξ［ｋｃ＋Ｈ］は、それぞれ、平均値（既知）である。
【００６２】
また、左辺のコスト分布の分散は、右辺のｙ「ｋｃ」×ξ［ｋｃ］＋・・・＋ｙ［ｋｃ＋Ｈ］×ξ［ｋｃ＋Ｈ］の分散ｙＴΣｙで近似できる。        （７）
【００６３】
従って、次の最適化問題に定式化することが可能になり、その解を解くことにより入荷計画（ｘ［ｋｃ］、・・・、ｘ［ｋｃ＋Ｈ］）が求まる。
【００６４】
次に、最適化部４３３の機能のアルゴリズムについて説明する。最適化部４３３は、式（１）〜式（７）の関係式により、式（１）に示す在庫量Ｉ［ｋ］を最小化する最適化問題に定式化し、式（１）に示す入荷量ｘ［ｋ］を解く。最適化問題の一例を次に示す。
【００６５】
（最適化問題）
Ｍ１×ｃ＋（１−Ｍ１）×ｙＴΣｙ＋Ｍ２×｜|ｃ−μＴｙ||
（条件）
ｘ［ｋｃ］≧０、・・・、ｘ「ｋｃ＋Ｈ」≧０
ｙ「ｋｃ」≧０、・・・、ｙ「ｋｃ＋Ｈ」≧０
ｃ＝Ｅ｛Ｃ［Ｋｃ］＋・・・＋Ｃ［Ｋｃ＋Ｈ］｝
（Ｍ１、Ｍ２：重みパタメータ）
【００６６】
ここで、Ｍ１×ｃはコスト平均を小さくする項（コスト平均項）で、（１−Ｍ１）×ｙＴΣｙはコストの変動を少なくする項（コスト分散項）で、Ｍ２×｜|ｃ−μＴｙ||は近似の精度を上げる項（近似誤差項）である。
【００６７】
ここでは、コスト平均項の他に、コスト分散項と近似誤差項とを設けているが、コスト平均項だけを設けても良いし、コスト平均項と、その他の２つの項の内の何れか一方の項のみを設けても良い。
【００６８】
最適化部４３３は、最適化問題において、各種のパラメータを動かし、それぞれのコスト平均と、コスト分散と、近似誤差と、入荷計画（ｘ［ｋｃ］、・・・、ｘ［ｋｃ＋Ｈ］）とを保存する。そして、例えばコスト平均のみを最小化する場合であれば、コスト平均が最小化する入荷計画を解として決定する。
【００６９】
［処理の流れ］
次に、発注計画決定装置１０における発注計画決定処理の処理手順について説明する。制御部２４は、ＣＰＵが発注計画決定プログラムを含む各種のプログラムを実行することにより、各種の機能部（図２参照）を実現し、次に示す処理フローで発注計画を決定する。
【００７０】
なお、当該処理フローにおいて、制御部２４では、出力部４４が表示部２２に発注計画決定画面を適宜出力し、受付部４０が操作部２１からの入力情報を受け付けるなどして、ユーザと対話しながら発注計画が決定されるものとする。操作部２１からの入力情報には、発注計画決定画面の各種の操作子の操作に基づいて発された情報、例えば需要予測の実行命令や、発注商品の商品コードや、最適化問題の条件や、発注計画決定処理の実行命令などが含まれる。
【００７１】
図８は、発注計画決定処理の処理フローの一例を示す図である。先ず、収集部４１は、発注対象の商品に関する情報を収集する（Ｓ１）。例えば、収集部４１は、受注システム１１から各商品の原価や、現在の在庫量や、在庫維持コストなどを収集し、これらの収集した情報を商品情報３０に格納する。また、収集部４１は、受注システム１１から各商品の過去の販売実績（売価や販売数など）を収集し、それらの収集した情報を販売実績情報３１に格納する。在庫維持コストが得られない場合には、発注計画決定画面で在庫維持コストの入力を受け付け、入力された値を商品情報３０の該当商品の在庫維持コストの欄に設定内容として格納する。
【００７２】
予測部４２は、ｋｃ日〜ｋｃ＋Ｈ日の需要予測値を取得する（Ｓ２）。例えば、予測部４２は、商品情報３０と販売実績情報３１とから需要予測のパラメータ値を読み取り、発注対象の商品のｋｃ日〜ｋｃ＋Ｈ日の既知の需要予測処理を行う。そして、その処理結果として、予測部４２は、ｋｃ日〜ｋｃ＋Ｈ日の需要予測値を取得する。なお、予測部４２は、他のシステムから需要予測値を取得しても良い。
【００７３】
処理部４３は、記憶部２３の関係式情報３３を読み込み、入荷量と、在庫量と、需要量との関係式（１）を定義する（Ｓ３）。
【００７４】
変換部４３１は、在庫関数を正規関数と仮定し、在庫関数をコスト関数へと変換する（Ｓ４）。
【００７５】
正規化処理部４３２は、変換部４３１が変換したコスト関数を正規分布である既知の需要予測関数に近似させて近似関数を得る（Ｓ５）。
【００７６】
最適化部４３３は、正規化処理部４３２が得た近似関数を使って商品の入荷計画（ｋｃ日〜ｋｃ＋Ｈ日の商品の入荷量）を解く（Ｓ６）。
【００７７】
出力部４４は、最適化部４３３が解いた入荷計画を受注システム１１に出力する（Ｓ７）。
【００７８】
図９は、最適化部４３３によるステップＳ６の処理の一例を示す図である。図９に示すように、最適化部４３３は、先ず、正規化処理部４３２で得られた近似関数を関係式（１）に適用し、少なくともコスト平均項を有する最適化問題の式（例えば式７）に定式化する（Ｓ６−１）。
【００７９】
続いて、最適化部４３３は、各種パラメータの値をずらしながら、それぞれの入荷計画を算出する（Ｓ６−２）。最適化部４３３は、各入荷計画と、各入荷計画を算出した際のコスト平均を発注計画データ３２に格納する。
【００８０】
続いて、最適化部４３３は、発注計画データ３２から最適化問題の条件に該当する入荷計画を決定する（Ｓ６−３）。ここでは、コスト平均の項（コスト平均項）が最小となることを条件とし、全ての入荷計画の中からコスト平均が最小となる入荷計画を比較により抽出する。
【００８１】
その後は、出力部４４が、最適化部４３３が解いた値（上記抽出した入荷計画）を受注システム１１に出力する（Ｓ７）。
【００８２】
なお、ここでは、コスト平均項が最小化する入荷計画を求める例を示したが、これに限らない。式（７）の例では、コスト平均項以外に、コスト分散項や近似誤差項を設けている。その場合は、コスト分散項が最小化し、その上でコスト平均項が最小化する入荷計画を求めても良い。また、この他、近似誤差項が最小化し、その上でコスト平均項が最小化する入荷計画を求めても良い。その他、コスト平均項が最小化し、その上でコスト分散項や近似誤差項が最小化する入荷計画を求めても良い。コスト平均項、コスト分散項、及び近似誤差項の最小化の順番は、それ以外に適宜決定しても良い。
【００８３】
図１０は、モンテカルロ法により発注計画を求めた場合と本実施例により発注計画を求めた場合の比較例を示す図である。図１０に示す棒グラフには、モンテカルロ法により最適化した場合の総コスト分布Ｇ１を示している。また、本実施例のものとして、正規分布へ近似したところまでの総コスト分布Ｇ２と、最適化後の総コスト分布Ｇ３とを示している。これらは、ｉｃ＝５００（円）、ｃｌ＝５０００（円）とした場合の７日間分の総コスト分布の一例である。棒グラフから、総コスト分布Ｇ２から総コスト分布Ｇ３になることにより、本実施例でも総コスト分布Ｇ１に似た分布になることが読み取れる。
【００８４】
図１０には、更に、棒グラフから読み取れる結果を表で示している。表中に示すようにモンテカルロ法ではサンプルを１０００本使用しているが、本実施例では、サンプルを１本しか使用していない。しかしながら、本実施例では、モンテカルロ法の結果から約２．８％の誤差内という近い結果が得られている。
【００８５】
本実施例では、処理部４３が、変換部４３１、正規化処理部４３２、及び最適化部４３３として機能する例を示したが、この限りではない。予め一部の機能部が行った処理の結果までを関係式情報３３として記憶部２３に記憶させておき、処理部４３に当該関係式情報を記憶部２３から読み込み、受付部４０が受け付けた入力情報に従って最適化問題を解いても良い。例えば、予め最適化問題の定式を記憶部２３に記憶させておき、処理部４３に最適化問題の定式を記憶部２３から読み込み、受付部４０が受け付けた入力情報に従って最適化問題を解く。
【００８６】
さて、これまで開示の装置に関する実施例について説明したが、開示の技術は上述した実施例以外にも、種々の異なる形態にて実施されてもよい。例えば、発注計画決定装置１０の構成は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、受付部４０、収集部４１、予測部４２、処理部４３、および出力部４４の各処理部が適宜統合されてもよい。また、各処理部の処理が適宜複数の処理部の処理に分離されてもよい。
【００８７】
また、制御部２４として、ＡＳＩＣ（Application  Specific  Integrated  Circuit）や、ＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路を採用してもよい。
【００８８】
また、上記した発注計画決定プログラムについては、必ずしも最初からＨＤＤに記憶させることを要しない。
【００８９】
例えば、コンピュータに挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬型の記録媒体」にプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【００９０】
また、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータに接続される他のサーバなどにプログラムを記憶させておく。そして、コンピュータがサーバなどからプログラムを読み出して実行するようにしてもよい。
【００９１】
図１１は、汎用コンピュータの模式的な構成の一例を示す図である。図１１に示す汎用コンピュータ１００は、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、ＨＤＤ１０４と、操作部１０５、表示部１０６、記録ドライブ１０７と、通信部１０８とが、バス１０９を介して接続されている。
【００９２】
記録ドライブ１０７は、可搬型の記録媒体１１０から、記録媒体１１０に収録されている発注計画決定プログラムを読み取る。
【００９３】
ＣＰＵ１０１が記録ドライブ１０７が記録媒体１１０から読み取った発注計画決定プログラムを実行することにより、汎用コンピュータ１００が発注計画決定装置として動作することができる。
【００９４】
［効果］
上述したように、本実施例にかかる発注計画決定装置は、在庫維持コストだけでなく機会損失コストの影響を含めて発注計画を決定する。このため、在庫量の増加を回避することができる。特に、在庫がない状態を回避しつつ在庫量の増加を回避することができる。
【００９５】
また、機会損失コストを含む総コストの分布を正規分布に近似するため、発注計画を最適化問題の解として決定することができる。このため、モンテカルロ法のように多数のサンプルを必要とせずとも１つのサンプルで発注計画を精度よく決定することが可能になる。
【符号の説明】
【００９６】
１０    発注計画決定装置
２０    通信部
２１    操作部
２２    表示部
２３    記憶部
２４    制御部
３３    関係式情報
３０    商品情報
３１    販売実績情報
３２    発注計画データ
４０    受付部
４１    収集部
４２    予測部
４３    処理部
４４    出力部
４３１  変換部（第１の処理部）
４３２  正規化処理部（第２の処理部）
４３３  最適化部（第３の処理部）
【図１】
2018190299.tif 000003
【図２】
2018190299.tif 000004
【図３】
2018190299.tif 000005
【図４】
2018190299.tif 000006
【図５】
2018190299.tif 000007
【図６】
2018190299.tif 000008
【図７】
2018190299.tif 000009
【図８】
2018190299.tif 000010
【図９】
2018190299.tif 000011
【図１０】
2018190299.tif 000012
【図１１】
2018190299.tif 000013