(57)【要約】【課題】  熟練者の知識を効率的に学習しながら、動的な環境変化に対して柔軟に対応することができるシミュレーションプログラム、シミュレーション方法及びシミュレーション装置を提供する。【解決手段】  シミュレーション部１０３は、予め知識パラメータが設定された最適化処理手順を用いて事例をシミュレーションし、シミュレーション結果表示部３０１は、シミュレーションされたシミュレーション結果を表示し、修正受付部４０３は、表示されるシミュレーション結果の熟練者による修正を受け付け、パラメータ再設定部１０７は、受け付けられた修正内容を学習することで知識パラメータを再設定し、シミュレーション部１０３は、パラメータ再設定部１０７により知識パラメータが再設定された最適化処理手順を用いて事例を再シミュレーションする。【選択図】      図２
2005339402.tif 000002
【特許請求の範囲】
【請求項１】
シミュレーションにより事例を最適化するためのシミュレーションプログラムであって、
予めパラメータが設定された最適化処理手順を用いて事例をシミュレーションするシミュレーション手段と、
前記シミュレーション手段によりシミュレーションされたシミュレーション結果を表示する表示手段と、
前記表示手段により表示されるシミュレーション結果に対してユーザが入力した修正データを受け付ける修正受付手段と、
前記修正受付手段により受け付けられた修正データから所定の学習モデルを用いて学習した知識から決定されるパラメータを前記パラメータとして再設定するパラメータ再設定手段としてコンピュータを機能させ、
前記シミュレーション手段は、前記パラメータ再設定手段によりパラメータが再設定された最適化処理手順を用いて事例を再度シミュレーションすることを特徴とするシミュレーションプログラム。
【請求項２】
前記パラメータは、事例が達成すべき制約条件のうち緩和可能な制約条件に対する緩和度合いを表す緩和パラメータを含み、
前記修正受付手段は、前記表示手段により表示されるシミュレーション結果に対してユーザが入力した緩和パラメータを受け付けることを特徴とする請求項１記載のシミュレーションプログラム。
【請求項３】
前記パラメータは、事例が達成すべき制約条件のうち緩和可能な複数の制約条件に対する優先順位を表す優先順位パラメータを含み、
前記修正受付手段は、前記表示手段により表示されるシミュレーション結果に対してユーザが入力した優先順位パラメータを受け付けることを特徴とする請求項１又は２記載のシミュレーションプログラム。
【請求項４】
互いに異なる複数の最適化処理手順を記憶する記憶手段と、
事例に関する事例データの入力を受け付けるデータ入力受付手段と、
前記データ入力受付手段により受け付けられた事例データを分析することにより前記記憶手段に記憶されている複数の最適化処理手順の中から当該事例に適する最適化処理手順を選択する最適化処理手順選択手段としてさらに前記コンピュータを機能させ、
前記シミュレーション手段は、前記最適化処理手順選択手段により選択された最適化処理手順を用いて事例をシミュレーションすることを特徴とする請求項１〜３のいずれかに記載のシミュレーションプログラム。
【請求項５】
前記表示手段により表示されているシミュレーション結果を複数の部分に分割する分割手段としてさらに前記コンピュータを機能させ、
前記表示手段は、前記分割手段により分割された部分を表示単位としてシミュレーション結果を表示し、
前記修正受付手段は、前記表示手段により表示されている部分ごとにユーザが入力した修正データを受け付けることを特徴とする請求項１〜４のいずれかに記載のシミュレーションプログラム。
【請求項６】
前記シミュレーション手段は、前記最適化処理手順を用いて運輸媒体に積載される物品の配置状態をシミュレーションし、
前記表示手段は、前記シミュレーション手段によりシミュレーションされた３次元空間内における運輸媒体に積載される物品の配置状態を表示し、
前記修正受付手段は、前記表示手段により表示された物品に対してユーザが入力した移動指示を受け付けることを特徴とする請求項１〜５のいずれかに記載のシミュレーションプログラム。
【請求項７】
前記シミュレーション手段は、前記最適化処理手順を用いて物品を輸送する輸送経路をシミュレーションし、
前記表示手段は、前記シミュレーション手段によりシミュレーションされた輸送経路を表示し、
前記修正受付手段は、前記表示手段により表示された輸送経路に対してユーザが入力した輸送経路の変更指示を受け付けることを特徴とする請求項１〜６のいずれかに記載のシミュレーションプログラム。
【請求項８】
シミュレーション手段、表示手段、修正受付手段及びパラメータ再設定手段として機能するコンピュータを用い、シミュレーションにより事例を最適化するためのシミュレーション方法であって、
前記シミュレーション手段が、予めパラメータが設定された最適化処理手順を用いて事例をシミュレーションするステップと、
前記表示手段が、前記シミュレーション手段によりシミュレーションされたシミュレーション結果を表示するステップと、
前記修正受付手段が、前記表示手段により表示されるシミュレーション結果に対してユーザが入力した修正データを受け付けるステップと、
前記パラメータ再設定手段が、前記修正受付手段により受け付けられた修正データから所定の学習モデルを用いて学習した知識から決定されるパラメータを前記パラメータとして再設定するステップと、
前記シミュレーション手段が、前記パラメータ再設定手段によりパラメータが再設定された最適化処理手順を用いて事例を再度シミュレーションするステップとを含むことを特徴とするシミュレーション方法。
【請求項９】
シミュレーションにより事例を最適化するシミュレーション装置であって、
予めパラメータが設定された最適化処理手順を用いて事例をシミュレーションするシミュレーション手段と、
前記シミュレーション手段によりシミュレーションされたシミュレーション結果を表示する表示手段と、
前記表示手段により表示されるシミュレーション結果に対してユーザが入力した修正データを受け付ける修正受付手段と、
前記修正受付手段により受け付けられた修正データから所定の学習モデルを用いて学習した知識から決定されるパラメータを前記パラメータとして再設定するパラメータ再設定手段とを備え、
前記シミュレーション手段は、前記パラメータ再設定手段によりパラメータが再設定された最適化処理手順を用いて事例を再度シミュレーションすることを特徴とするシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレーションにより事例を最適化するためのシミュレーションプログラム、シミュレーション方法及びシミュレーション装置に関し、特に、物品の製造又は輸送に関する事例を最適化するためのシミュレーションプログラム、シミュレーション方法及びシミュレーション装置に関するものである。
【背景技術】
【０００２】
従来、生産環境におけるスケジューリング問題等を解決するための生産管理システムが開発されている（例えば、特許文献１参照）。このような生産管理システムは、近年の科学技術及びコンピュータの発展に伴い、より複雑化し、大規模なものになってきており、物品の製造及び輸送等に関する事例をシミュレーションすることが要望されている。
【０００３】
このような要望に応えるため、従来の生産管理システムでは、事前に用意したパラメータやデータを最適化処理手順に設定することにより、自動的にシミュレーションを行い、シミュレーション結果を出力している。例えば、荷物をコンテナに積み込む積載問題を解決するためのシミュレーションプログラムでは、重い荷物、大きい荷物を下方に積み付けるといった制約条件をパラメータとして入力し、最適化処理手順を用いて自動的にコンテナに荷物を積み付けるシミュレーションが行われている。また、生産スケジューリング問題を解決するためのシミュレーションプログラムでは、処理順序、人員の配分、処理時間等の制約条件をパラメータとして設定し、最適化処理手順を用いて自動的にスケジュールを管理することが行われている。
【特許文献１】特開２００４−２９８７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のシミュレーションプログラムでは、予め定められたパラメータ及び最適化処理手順等を用いてシミュレーションが行われるため、動的な環境変動に応じてアルゴリズムの組み合わせやパラメータを変更することが困難であった。すなわち、現実には、内部要因としてボトルネックの発生、外部要因として緊急要求や納期変化などの予測が困難な問題が生じる場合があるが、従来のシミュレーションプログラムでは、事前に用意されたパラメータを用いているため、これらの問題に対応することが困難であった。
【０００５】
例えば、上述の積載問題を解決するためのシミュレーションプログラムでは、小さくて重い荷物をどのように配置するか等を判断することが困難である。また、上述の生産スケジューリング問題を解決するためのシミュレーションプログラムでは、機械の故障や人員の欠員等の予想不可能な事例に対して、どれだけ制約条件を緩和させればよいかがわからず、対応することが困難である。
【０００６】
一方、生産管理に熟練した熟練者は、長年の知識をもって、動的な環境変動に柔軟に対応できる。すなわち、熟練者は、制約条件を緩和できる制約条件と緩和できない制約条件とに分け、緩和できる条件についてはどれだけ緩和させればよいかを長年の経験により判断することができる。
【０００７】
しかしながら、熟練者は、短時間に大量のデータを処理することができず、特に大規模の生産管理システムになると、システムの一部分を変更することによりシステム全体に及ぼす影響を把握することが困難である。
【０００８】
本発明の目的は、熟練者の知識を効率的に学習しながら、動的な環境変化に対して柔軟に対応することができるシミュレーションプログラム、シミュレーション方法及びシミュレーション装置を提供することを目的とするものである。
【課題を解決するための手段】
【０００９】
本発明に係るシミュレーションプログラムは、シミュレーションにより事例を最適化するためのシミュレーションプログラムであって、予めパラメータが設定された最適化処理手順を用いて事例をシミュレーションするシミュレーション手段と、前記シミュレーション手段によりシミュレーションされたシミュレーション結果を表示する表示手段と、前記表示手段により表示されるシミュレーション結果に対してユーザが入力した修正データを受け付ける修正受付手段と、前記修正受付手段により受け付けられた修正データから所定の学習モデルを用いて学習した知識から決定されるパラメータを前記パラメータとして再設定するパラメータ再設定手段としてコンピュータを機能させ、前記シミュレーション手段は、前記パラメータ再設定手段によりパラメータが再設定された最適化処理手順を用いて事例を再度シミュレーションする。
【００１０】
本発明に係るシミュレーションプログラムにおいては、予めパラメータが設定された最適化処理手順を用いて事例がシミュレーションされ、シミュレーションされたシミュレーション結果が表示される。このとき、表示されたシミュレーション結果に対するユーザ、好ましくは熟練者による修正データが受け付けられ、受け付けられた修正データから学習されたパラメータが再設定され、パラメータが再設定された最適化処理手順を用いて事例が再度シミュレーションされる。
【００１１】
このように、シミュレーション結果が可視的に表示され、熟練者は、表示されたシミュレーション結果を見ながら、長年の知識に基づいて動的な環境変動に柔軟に対応する修正データを入力することができるので、動的な環境変化に対して柔軟に対応することができる。また、熟練者の修正データから学習モデルを用いて熟練者の修正プロセスを分析して一般化した知識を獲得し、獲得した知識から決定されたパラメータが再設定された最適化処理手順を用いて事例が再度シミュレーションされるので、熟練者の知識を効率的に学習することができる。この結果、熟練者の知識を効率的に学習しながら、動的な環境変化に対して柔軟に対応することができる。
【００１２】
前記パラメータは、事例が達成すべき制約条件のうち緩和可能な制約条件に対する緩和度合いを表す緩和パラメータを含み、前記修正受付手段は、前記表示手段により表示されるシミュレーション結果に対してユーザが入力した緩和パラメータを受け付けることが好ましい。
【００１３】
この場合、事例が達成すべき制約条件のうち緩和可能な制約条件に対する緩和度合いを表す緩和パラメータがユーザ、好ましくは熟練者により設定されるので、熟練者の長年の知識に基づいた緩和パラメータが再設定された最適化処理手順を用いて事例を再度シミュレーションすることができ、動的な環境変動により柔軟且つ的確に対応することができる。
【００１４】
前記パラメータは、事例が達成すべき制約条件のうち緩和可能な複数の制約条件に対する優先順位を表す優先順位パラメータを含み、前記修正受付手段は、前記表示手段により表示されるシミュレーション結果に対してユーザが入力した優先順位パラメータを受け付けることが好ましい。
【００１５】
この場合、事例が達成すべき制約条件のうち緩和可能な複数の制約条件に対する優先順位を表す優先順位パラメータがユーザ、好ましくは熟練者により設定されるので、熟練者の長年の知識に基づいた優先順位パラメータが再設定された最適化処理手順を用いて事例を再度シミュレーションすることができ、動的な環境変動により柔軟且つ的確に対応することができる。
【００１６】
上記シミュレーションプログラムは、互いに異なる複数の最適化処理手順を記憶する記憶手段と、事例に関するデータの入力を受け付けるデータ入力受付手段と、前記データ入力受付手段により受け付けられたデータを分析することにより前記記憶手段に記憶されている複数の最適化処理手順の中から当該事例に適する最適化処理手順を選択する最適化処理手順選択手段としてさらに機能させ、前記シミュレーション手段は、前記最適化処理手順選択手段により選択された最適化処理手順を用いて事例をシミュレーションすることが好ましい。
【００１７】
この場合、事例に関する事例データの入力が受け付けられ、受け付けられた事例データが分析されることにより、記憶されている複数の最適化処理手順の中から当該事例に適する最適化処理手順が選択され、選択された最適化処理手順を用いて事例がシミュレーションされるので、ユーザがシミュレーションしようとする事例に適した最適化処理手順を自動的に選択することができ、ユーザが事例に関して初心者である場合でも、当該事例に適した最適化処理手順を用いて事例を的確にシミュレーションすることができる。
【００１８】
前記表示手段により表示されているシミュレーション結果を複数の部分に分割する分割手段としてさらに前記コンピュータを機能させ、前記表示手段は、前記分割手段により分割された部分を表示単位としてシミュレーション結果を表示し、前記修正受付手段は、前記表示手段により表示されている部分ごとにユーザが入力した修正データを受け付けることが好ましい。
【００１９】
この場合、表示されているシミュレーション結果が複数の部分に分割され、分割された部分を表示単位としてシミュレーション結果が表示されるので、シミュレーション対象が膨大な情報量を含む複雑なシステムであっても、表示されている部分に含まれる情報量を充分に低減することができ、ユーザ好ましくは熟練者がより的確な修正を行うことができる。また、表示されている部分ごとにユーザが入力した修正データが受け付けられるので、熟練者の的確な修正データから学習モデルを用いて熟練者の的確な修正プロセスを分析して一般化した知識を獲得することができ、熟練者の有用な知識をより効率的に学習することができる。
【００２０】
前記シミュレーション手段は、前記最適化処理手順を用いて運輸媒体に積載される物品の配置状態をシミュレーションし、前記表示手段は、前記シミュレーション手段によりシミュレーションされた３次元空間内における運輸媒体に積載される物品の配置状態を表示し、前記修正受付手段は、前記表示手段により表示された物品に対してユーザが入力した移動指示を受け付けることが好ましい。
【００２１】
この場合、最適化処理手順を用いて運輸媒体に積載される物品の配置状態がシミュレーションされ、シミュレーションされた３次元空間内における運輸媒体に積載される物品の配置状態が表示され、表示された物品に対してユーザが入力した移動指示が受け付けられるので、ユーザ、好ましくは熟練者は、シミュレーションされた３次元空間内における運輸媒体に積載される物品の配置状態を見ながら、迅速且つ的確に物品を移動させることができるとともに、運輸媒体に積載される物品に対する熟練者の修正プロセスを分析して一般化した知識を獲得することができる。
【００２２】
前記シミュレーション手段は、前記最適化処理手順を用いて物品を輸送する輸送経路をシミュレーションし、前記表示手段は、前記シミュレーション手段によりシミュレーションされた輸送経路を表示し、前記修正受付手段は、前記表示手段により表示された輸送経路に対してユーザが入力した輸送経路の変更指示を受け付けることが好ましい。
【００２３】
この場合、最適化処理手順を用いて物品を輸送する輸送経路がシミュレーションされ、シミュレーションされた輸送経路が表示され、表示された輸送経路に対してユーザが入力した輸送経路の変更指示が受け付けられるので、ユーザ、好ましくは熟練者は、シミュレーションされた輸送経路を見ながら、迅速且つ的確に輸送経路を変更することができるとともに、物品を輸送する輸送経路に対する熟練者の修正プロセスを分析して一般化した知識を獲得することができる。
【００２４】
本発明に係るシミュレーション方法は、シミュレーション手段、表示手段、修正受付手段及びパラメータ再設定手段として機能するコンピュータを用い、シミュレーションにより事例を最適化するためのシミュレーション方法であって、前記シミュレーション手段が、予めパラメータが設定された最適化処理手順を用いて事例をシミュレーションするステップと、前記表示手段が、前記シミュレーション手段によりシミュレーションされたシミュレーション結果を表示するステップと、前記修正受付手段が、前記表示手段により表示されるシミュレーション結果に対してユーザが入力した修正データを受け付けるステップと、前記パラメータ再設定手段が、前記修正受付手段により受け付けられた修正データから所定の学習モデルを用いて学習した知識から決定されるパラメータを前記パラメータとして再設定するステップと、前記シミュレーション手段が、前記パラメータ再設定手段によりパラメータが再設定された最適化処理手順を用いて事例を再度シミュレーションするステップとを含むものである。
【００２５】
本発明に係るシミュレーション装置は、シミュレーションにより事例を最適化するシミュレーション装置であって、予めパラメータが設定された最適化処理手順を用いて事例をシミュレーションするシミュレーション手段と、前記シミュレーション手段によりシミュレーションされたシミュレーション結果を表示する表示手段と、前記表示手段により表示されるシミュレーション結果に対してユーザが入力した修正データを受け付ける修正受付手段と、前記修正受付手段により受け付けられた修正データから所定の学習モデルを用いて学習した知識から決定されるパラメータを前記パラメータとして再設定するパラメータ再設定手段とを備え、前記シミュレーション手段は、前記パラメータ再設定手段によりパラメータが再設定された最適化処理手順を用いて事例を再度シミュレーションするものである。
【発明の効果】
【００２６】
本発明によれば、シミュレーション結果が可視的に表示され、熟練者は、表示されたシミュレーション結果を見ながら、長年の知識に基づいて動的な環境変動に柔軟に対応する修正データを入力することができるので、動的な環境変化に対して柔軟に対応することができ、また、熟練者の修正データから学習モデルを用いて熟練者の修正プロセスを分析して一般化した知識を獲得し、獲得した知識から決定されたパラメータが再設定された最適化処理手順を用いて事例が再度シミュレーションされるので、熟練者の知識を効率的に学習することができ、この結果、熟練者の知識を効率的に学習しながら、動的な環境変化に対して柔軟に対応することができる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の一実施の形態によるシミュレーション装置について図面を参照しながら説明する。図１は、本発明の一実施の形態によるシミュレーション装置のハードウエア構成の一例を示す図である。
【００２８】
図１に示すシミュレーション装置１０は、パーソナルコンピュータ等から構成され、入力装置１、ＲＯＭ（リードオンリメモリ）２、ＣＰＵ（中央演算処理装置）３、ＲＡＭ（ランダムアクセスメモリ）４、外部記憶装置５、表示装置６、記録媒体駆動装置７及び出力装置９を備えて構成される。各ブロックは内部のバスに接続され、このバスを介して種々のデータ等が各ブロック間で入出力され、ＣＰＵ３の制御の下、種々の処理が実行される。
【００２９】
入力装置１は、キーボード、マウス等から構成され、ユーザである熟練者が制約条件等を入力するために用いられる。ここで、熟練者とは、例えば、物品の積載に関して精通した者、輸送経路の決定について精通した者等の物品の生産及び輸送等に精通した者である。
【００３０】
ＲＯＭ２には、システムプログラム等が予め記憶される。外部記憶装置５は、ハードディスクドライブ等から構成され、後述するシミュレーションプログラム等を記憶している。ＣＰＵ３は、外部記憶装置５からシミュレーションプログラム等を読み出し、後述するシミュレーション処理等を実行して各ブロックの動作を制御する。ＲＡＭ４は、ＣＰＵ３の作業領域等として用いられる。
【００３１】
表示装置６は、ＣＲＴ（陰極線管）又は液晶表示装置等から構成され、ＣＰＵ３の制御の下、種々の画面を表示する。出力装置９は、プリンタ等から構成され、ＣＰＵ３などによる処理結果を印刷することにより外部に出力する。
【００３２】
なお、シミュレーションプログラムは、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ及びフレキシブルディスク等から構成されるコンピュータ読み出し可能な記録媒体８に記録するようにしてもよい。この場合、ＣＤ−ＲＯＭドライブ、ＤＶＤ−ＲＯＭドライブ及びフレキシブルディスクドライブ等から構成される記録媒体駆動装置７を用いて記録媒体８から読み出されたシミュレーションプログラムが外部記憶装置５にインストールされる。また、シミュレーションプログラムがネットワークを介して接続されている他のコンピュータ等に記憶されている場合、当該コンピュータ等からネットワークを介してシミュレーションプログラムをダウンロードするようにしてもよい。
【００３３】
次に、上記のように構成されたシミュレーション装置の主要な機能について説明する。図２は、図１に示すシミュレーション装置の主要機能の一例を示すブロック図である。
【００３４】
図２に示すシミュレーション装置１０は、機能的には、制御部１００、記憶部２００、表示部３００及び入力部４００を備える。制御部１００は、ＣＰＵ３等から構成され、ＣＰＵ３等が外部記憶装置５に記憶されているシミュレーションプログラム等を実行することにより、最適化処理手順選択部１０１、パラメータ設定部１０２、シミュレーション部１０３、シミュレーション結果出力制御部１０４、シミュレーション結果表示制御部１０５、分散認識部１０６及びパラメータ再設定部１０７として機能する。
【００３５】
記憶部２００は、外部記憶装置５等から構成され、ＣＰＵ３等が外部記憶装置５に記憶されているシミュレーションプログラム等を実行することにより、最適化処理手順記憶部２０１、パラメータ記憶部２０２及びシミュレーション結果記憶部２０３として機能する。
【００３６】
表示部３００は、表示装置６等から構成され、ＣＰＵ３等が外部記憶装置５に記憶されているシミュレーションプログラム等を実行することにより、シミュレーション結果表示部３０１として機能する。
【００３７】
入力部４００は、入力装置１等から構成され、ＣＰＵ３等が外部記憶装置５に記憶されているシミュレーションプログラム等を実行することにより、データ入力受付部４０１、結果確定受付部４０２及び修正受付部４０３として機能する。
【００３８】
最適化処理手順記憶部２０１は、互いに異なる複数の最適化処理手順を予め記憶する。最適化処理手順としては、組合わせ最適化アルゴリズム、ヒューリスティクス（heuristics）、局所探索法（local search）、アニーリング法（simulated annealing）、タブー探索法（tabu search）、遺伝アルゴリズム（genetic algorithm）等の最適化アルゴリズムを用いた処理手順を用いることができ、事例に応じて選択される。また、事例とは、物品の生産及び輸送等においてシミュレーションにより最適化する事例を意味し、例えば、荷物などの製品をコンテナなどの運輸媒体に積み付ける事例、荷物などの製品を輸送する輸送経路を決定する事例等を含む。
【００３９】
パラメータ記憶部２０２は、最適化処理手順に用いられる各種パラメータを記憶し、事例が達成すべき制約条件のうち緩和可能な制約条件に対する緩和度合いを表す緩和パラメータである知識パラメータ、事例が達成すべき制約条件のうち緩和可能な複数の制約条件に対する優先順位を表す優先順位パラメータ等を記憶する。なお、初期状態におけるパラメータは、予め決められたデフォルト値が記憶されている。
【００４０】
データ入力受付部４０１は、事例に関する事例データの入力を受け付ける。最適化処理手順選択部１０１は、データ入力受付部４０１により受け付けられた事例データを分析することにより、最適化処理手順記憶部２０１に記憶されている複数の最適化処理手順の中から当該事例に適する最適化処理手順を選択する。なお、最適化処理手順選択部１０１は、通常、事例に最適な一の最適化処理手順を選択するが、事例によっては２以上の最適化処理手順を組み合わせて選択してもよい。
【００４１】
パラメータ設定部１０２は、最適化処理手順選択部１０１により選択された最適化処理手順を最適化処理手順記憶部２０１から読み出すとともに、パラメータ記憶部２０２から知識パラメータ等を読み出し、最適化処理手順記憶部２０１から読み出された最適化処理手順にパラメータ記憶部２０２から読み出された知識パラメータ等を設定する。
【００４２】
シミュレーション部１０３は、パラメータ設定部１０２により知識パラメータ等が設定された最適化処理手順を用いて事例をシミュレーションする。また、シミュレーション部１０３は、後述するパラメータ再設定部１０７により知識パラメータ等が再設定された最適化処理手順を用いて事例をシミュレーションする。
【００４３】
シミュレーション結果出力制御部１０４は、シミュレーション部１０３によりシミュレーションされたシミュレーション結果をシミュレーション結果表示制御部１０５へ出力するとともに、シミュレーション結果記憶部２０３に記憶させる。シミュレーション結果記憶部２０３は、シミュレーション結果出力制御部１０４から出力されるシミュレーション結果を記憶し、シミュレーション部１０３の要求に応じて、記憶しているシミュレーション結果をシミュレーション部１０３へ出力する。
【００４４】
シミュレーション結果表示制御部１０５は、シミュレーション結果出力制御部１０４から出力されるシミュレーション結果を動画又は静止画を用いて表示するようにシミュレーション結果表示部３０１を制御し、シミュレーション結果画像データをシミュレーション結果表示部３０１に出力する。
【００４５】
シミュレーション結果表示部３０１は、シミュレーション結果表示制御部１０５から出力されるシミュレーション結果画像データが入力され、シミュレーション部１０３によるシミュレーション結果を表示画面に表示する。結果確定受付部４０２は、シミュレーション結果表示部３０１に表示されるシミュレーション結果の熟練者による確定指示を受け付ける。
【００４６】
修正受付部４０３は、シミュレーション結果表示部３０１に表示されたシミュレーション結果に対して熟練者が入力した修正データを受け付ける。修正データとして、知識パラメータ、優先順位パラメータ、運輸媒体に積載される物品に対する移動指示、物品を輸送する輸送経路の変更指示等が該当し、修正受付部４０３は、ユーザが入力した知識パラメータ、優先順位パラメータ等のパラメータ、及び、移動指示、変更指示等のシミュレーション結果の修正指示をパラメータ再設定部１０７へ出力し、ユーザが入力した移動指示、変更指示等のシミュレーション結果の修正指示をシミュレーション結果出力制御部１０４へ出力する。また、修正受付部４０３は、表示されているシミュレーション結果を後述する分散認識部１０６が分割した複数の部分（以下、クラスタという）のうちの１のクラスタに対してユーザが入力した修正データを受け付ける。
【００４７】
シミュレーション結果出力制御部１０４は、移動指示、変更指示等のシミュレーション結果の修正指示に応じてシミュレーション結果を修正し、修正後のシミュレーション結果をシミュレーション結果表示制御部１０５へ出力する。シミュレーション結果表示制御部１０５は、修正後のシミュレーション結果を表示するようにシミュレーション結果表示部３０１を制御し、シミュレーション結果表示部３０１は、修正後のシミュレーション結果を表示画面に表示する。
【００４８】
分散認識部１０６は、結果確定受付部４０２によって確定指示が受け付けられたシミュレーション結果以外の残りのシミュレーション結果を、分散認識等の手法を用いて所定のルールに従って複数のクラスタに分割する。なお、クラスタの分割は、上記の例に特に限定されず、確定指示が受け付けられる前のシミュレーション結果を複数のクラスタに分割して各クラスタを個別に表示する等の種々の変更が可能である。
【００４９】
パラメータ再設定部１０７は、修正受付部４０３により受け付けられた知識パラメータ等の修正データから所定の学習モデルを用いて学習した知識から決定される知識パラメータ等のパラメータを再設定する。例えば、パラメータ再設定部１０７は、本願発明者により出願された特開２００３−３３７９３４号公報に開示される学習処理を利用することができ、この場合、ＥＢＬ学習モデル等の所定の学習モデルを用いて熟練者による修正内容を分析することにより一般化知識を獲得し、獲得した一般化知識をパラメータ化することによりパラメータ記憶部２０２に記憶されている知識パラメータを自動的に更新することができる。
【００５０】
なお、本実施形態において、シミュレーション部１０３がシミュレーション手段の一例に相当し、シミュレーション結果表示制御部１０５及びシミュレーション結果表示部３０１が表示手段の一例に相当し、修正受付部４０３が修正受付手段の一例に相当し、パラメータ再設定部１０７がパラメータ再設定手段の一例に相当し、最適化処理手順記憶部２０１が記憶手段の一例に相当し、データ入力受付部４０１がデータ入力受付手段の一例に相当し、最適化処理手順選択部１０１が最適化処理手順選択手段の一例に相当し、分散認識部１０６が分割手段の一例に相当する。
【００５１】
次に、上記のように構成されたシミュレーション装置１０によるシミュレーション処理について説明する。図３は、図２に示すシミュレーション装置１０によるシミュレーション処理を説明するためのフローチャートである。なお、図３に示すシミュレーション処理は、ＣＰＵ３が予め記憶されているシミュレーションプログラムを実行することにより行われる処理である。
【００５２】
まず、ステップＳ１において、データ入力受付部４０１は、ユーザによる事例データの入力を受け付ける。このとき、表示装置６には、事例データを入力するためのデータ入力画面が表示され、ユーザは、表示装置６に表示されるデータ入力画面に事例データを入力する。
【００５３】
ここで、事例データとしては、荷物などの物品をコンテナなどの運輸媒体に積み付ける場合、物品の数、各物品の配送先、各物品の大きさ（幅、奥行き及び高さ等）、各物品の重量、コンテナの数、各コンテナの配送先及びコンテナの大きさ（幅、奥行き及び高さ等）等が該当し、各事例についてシミュレーションするために必要な種々のデータが該当する。
【００５４】
次に、ステップＳ２において、最適化処理手順選択部１０１は、最適化処理手順記憶部２０１に記憶されている複数の最適化処理手順の中から、データ入力受付部４０１により受け付けられた事例データに応じた一の最適化処理手順を選択する。例えば、最適化処理手順は、運輸媒体の形状及び種類等の事例毎に設けられており、入力された事例データに基づいて、所望する運輸媒体の種類に対応する最適化処理手順が選択される。
【００５５】
このようにして、事例データの入力が受け付けられ、受け付けられた事例データが分析されることにより、記憶されている複数の最適化処理手順の中から当該事例に最適な一の最適化処理手順が選択され、選択された最適化処理手順を用いて事例がシミュレーションされるので、ユーザがシミュレーションしようとする事例に適した最適化処理手順を自動的に選択することができ、ユーザが事例に関して初心者である場合でも、当該事例に最適な最適化処理手順を用いて事例を的確にシミュレーションすることができる。
【００５６】
次に、ステップＳ３において、パラメータ設定部１０２は、最適化処理手順選択部１０１により選択された最適化処理手順に対してパラメータ記憶部２０２に記憶されている知識パラメータ等を設定する。すなわち、パラメータ設定部１０２は、制約条件となる知識パラメータ等をパラメータ記憶部２０２から読み出し、読み出された知識パラメータ等を最適化処理手順選択部１０１により選択された最適化処理手順に設定する。
【００５７】
知識パラメータとしては、例えば、荷物等の物品をコンテナ等の運輸媒体に積み付ける場合、上方に積み付けられる荷物はその荷物の下方に積み付けられる荷物よりも小さくなければならない、上方に積み付けられる荷物はその荷物の下方に積み付けられる荷物よりも軽くなければならない等の制約条件が設定される。なお、知識パラメータとしては、上記の例に特に限定されず、種々のパラメータを用いることができ、例えば、オーダーの納期変更、オーダーの追加、稼働時間の変更、作業場所の変更、天候及び輸送媒体の変更等のシステム外部の状況を表す環境パラメータを用いてもよい。
【００５８】
次に、ステップＳ４において、シミュレーション部１０３は、パラメータ設定部１０２により知識パラメータ等が設定された最適化処理手順を用いて事例をシミュレーションする。シミュレーション結果出力制御部１０４は、シミュレーション部１０３によりシミュレーションされたシミュレーション結果をシミュレーション結果表示制御部１０５へ出力するとともに、シミュレーション結果記憶部２０３に記憶させる。例えば、最適化処理手順を用いて運輸媒体に積載される物品の仮想的な配置状態をシミュレーションし、荷物等の物品をコンテナ等の運輸媒体に積み付ける場合、最適化処理手順を用いて計算された仮想的な荷物の積付状態がシミュレーションされる。
【００５９】
次に、ステップＳ５において、シミュレーション結果表示部３０１は、シミュレーション結果出力制御部１０４から出力されるシミュレーション結果を表示する。例えば、シミュレーション結果表示部３０１は、シミュレーション部１０３によりシミュレーションされた、３次元空間内において運輸媒体に積載される物品の仮想的な配置状態を表示する。例えば、荷物等の物品をコンテナ等の運輸媒体に積み付ける場合、シミュレーション結果表示部３０１は、荷物がコンテナに仮想的に積み付けられた積付状態を３次元的に表示する。このとき、コンテナの各辺がワイヤフレームで表示され、このコンテナの中に積載された荷物が表示される。なお、荷物が複数のコンテナに積み付けられる場合、全てのコンテナについて積付状態が表示される。
【００６０】
次に、ステップＳ６において、結果確定受付部４０２は、シミュレーション結果表示部３０１により表示されるシミュレーション結果に対するユーザによる確定指示を受け付ける。すなわち、ユーザは、満足するシミュレーション結果が得られた場合に確定指示を入力し、満足するシミュレーション結果が得られなかった場合に不確定指示を入力する。
【００６１】
荷物等の物品をコンテナ等の運輸媒体に積み付ける場合、複数のコンテナに対する荷物の積付状態がシミュレーション結果として表示され、ユーザは、このシミュレーション結果を視認により確認し、複数のコンテナの中から満足するコンテナを修正不要として確定する。
【００６２】
結果確定受付部４０２によりシミュレーション結果が確定されると、シミュレーション結果表示制御部１０５は、シミュレーション結果表示部３０１にシミュレーション結果が確定された旨を表示するよう指示し、シミュレーション結果表示部３０１は、ユーザが視認容易な表示態様でシミュレーション結果が確定されたことを表示する。
【００６３】
次に、ステップＳ７において、シミュレーション結果表示制御部１０５は、全てのシミュレーション結果について確定されたか否かを判断し、全てのシミュレーション結果について確定されたと判断された場合（ステップＳ７でＹＥＳ）、ステップＳ８に処理を移行し、全てのシミュレーション結果については確定されていないと判断された場合（ステップＳ７でＮＯ）、ステップＳ９に処理を移行する。
【００６４】
例えば、荷物等の物品をコンテナ等の運輸媒体に積み付ける場合、複数のコンテナの中からユーザが満足したコンテナが確定されるが、全てのコンテナについて確定されるとは限らない。特に、シミュレーション開始直後は、制約条件が厳しく設定されているので、熟練者が満足するような積付状態にならない場合がある。そこで、全てのシミュレーション結果が確定されたか否かを判断することにより、熟練者による修正が必要なシミュレーション結果が存在するか否かを判断する。
【００６５】
全てのシミュレーション結果について確定されたと判断された場合、ステップＳ８において、シミュレーション結果出力制御部１０４は、シミュレーション結果表示部３０１に表示されているシミュレーション結果をシミュレーション結果記憶部２０３に出力して記憶させ、シミュレーション処理が終了する。
【００６６】
一方、全てのシミュレーション結果については確定されていないと判断された場合、ステップＳ９において、分散認識部１０６は、結果確定受付部４０２によって確定指示が受け付けられたシミュレーション結果以外の残りのシミュレーション結果を複数のクラスタに分割する。
【００６７】
すなわち、結果確定受付部４０２によって確定されたシミュレーション結果以外の残りのシミュレーション結果には、複雑な状況が同時に存在し、判断し難いシミュレーション結果や制約条件を満たさないシミュレーション結果が含まれる。このため、分散認識部１０６は、残りのシミュレーション結果に対して分散認識法を用いて複雑な状況を短時間で認識し、認識結果を基に残りのシミュレーション結果を所定のルールに基づいて複数のクラスタに分割する。
【００６８】
この結果、シミュレーション対象が多数の個体から構成され、膨大な情報量を含む複雑な大規模システムであっても、システムを複数のクラスタに分割することにより、システムを部分的に選択し、選択した各部分の問題を順次修正することが可能となり、システムを徐々にダウンサイジングさせて複雑な問題を簡略化することができる。
【００６９】
次に、ステップＳ１０において、シミュレーション結果表示制御部１０５は、シミュレーション結果表示部３０１にクラスタを単位として残りのシミュレーション結果を表示させ、修正受付部４０３は、熟練者によるシミュレーション結果の修正指示を受け付ける。このとき、表示部３００には、シミュレーション結果の修正指示を受け付けるための修正受付画面が表示され、熟練者は、表示部３００に表示される修正受付画面にしたがってシミュレーション結果を修正することができる。例えば、シミュレーション結果表示制御部１０５がクラスタごとにシミュレーション結果を表示させたり、少数のクラスタを一括して表示させることにより、熟練者は表示されているシミュレーション結果に対してクラスタごとに修正を行うことができる。
【００７０】
このように、シミュレーション結果が複数のクラスタに分割され、分割されたクラスタを単位としてシミュレーション結果が表示されるので、シミュレーション対象が膨大な情報量を含む複雑なシステムであっても、表示されている部分に含まれる情報量を充分に低減することができ、熟練者はより的確な修正を行うことができる。また、表示されているクラスタごとに熟練者により入力された修正データが受け付けられるので、熟練者の的確な修正データから学習モデルを用いて熟練者の的確な修正プロセスを分析して一般化した知識を獲得することができ、熟練者の有用な知識をより効率的に学習することができる。例えば、熟練者が小さい荷物の配置場所のみ又は荷物のはみ出しのみに関する問題を修正する場合、これらの問題を極めて容易に認識することができ、的確な修正を行うことができる。
【００７１】
ここで、熟練者によるシミュレーション結果の修正について説明する。図４は、熟練者によるシミュレーション結果の修正について説明するための図である。なお、以下の説明では、荷物等の製品をコンテナ等の運輸媒体に積み付ける場合について説明する。
【００７２】
図４に示す修正受付画面Ｇ１は、知識パラメータ設定表示領域Ｒ１と、優先順位設定表示領域Ｒ２とから構成される。知識パラメータ設定表示領域Ｒ１は、上下に配置する製品の知識パラメータの設定入力を行うためのものである。例えば、熟練者は、コンテナに製品を積み付ける容積率を高くするために、上下に配置する製品の長さ、幅、高さ及び重量の知識パラメータを修正することにより制約条件を緩和する。
【００７３】
図４に示す知識パラメータ設定表示領域Ｒ１の重量オーバー可能の範囲には、上に配置される製品の重量が下に配置される製品の重量を超えてもよいとする範囲が設定される。例えば、重量オーバー可能の範囲が、ｍｉｎ｛３０，Ｇｉ／１０｝ｋｇと設定されると、重量３０ｋｇと下位の製品の１／１０の重量とのうちの最小値が重量オーバー可能の範囲として設定される。つまり、下に配置される製品の重量が５０ｋｇであれば、その製品の上に配置される製品の重量が、５０ｋｇ＋ｍｉｎ｛３０，５｝ｋｇ＝５５ｋｇまでであれば配置可能となる。
【００７４】
また、知識パラメータ設定表示領域Ｒ１の長さオーバー可能の範囲には、上に配置される製品の長さが下に配置される製品の長さを超えてもよいとする範囲が設定される。例えば、長さオーバー可能の範囲が、ｍｉｎ｛４，Ｌｉ／２０｝ｃｍと設定されると、長さ４ｃｍと下位の製品の１／２０の長さとのうちの最小値が長さオーバー可能の範囲として設定される。例えば、下位に配置される製品の長さが１００ｃｍであれば、その製品の上に配置される製品の長さが、１００ｃｍ＋ｍｉｎ｛４，５｝ｃｍ＝１０４ｃｍまでであれば配置可能となる。
【００７５】
同様にして、知識パラメータ設定表示領域Ｒ１の幅オーバー可能の範囲には、上に配置される製品の幅が下に配置される製品の幅を超えてもよいとする範囲が設定され、知識パラメータ設定表示領域Ｒ１の段差無視可能の範囲には、上に配置される製品の高さが下に配置される製品の高さを超えてもよいとする範囲が設定される。
【００７６】
なお、図４では、設定可能な知識パラメータの一例として、「重量オーバー可能の範囲」、「長さオーバー可能の範囲」、「幅オーバー可能の範囲」及び「段差無視可能の範囲」の４つを図示しているが、本実施形態ではこれら以外の知識パラメータも設定可能である。
【００７７】
また、制約条件には、必ず満たさなければならない制約条件と緩和可能な制約条件とがある。この緩和可能な制約条件（以下、「ソフト制約条件」とする）の一例としては、例えば下記の（１）〜（４）までがある。
（１）重い荷物が下に、軽い荷物が上になるよう積み付ける。
（２）大きい荷物が下に、小さい荷物が上になるよう積み付ける。
（３）荷物の高さをできるだけ揃えて積み付ける。
（４）同じ製品ができるだけ同じコンテナに配置されるように積み付ける。
【００７８】
図４に示す優先順位設定表示領域Ｒ２には、８つのソフト制約条件１〜８に対する優先順位を表す優先順位パラメータと、各ソフト制約条件１〜８の説明とが表示され、熟練者は、これらのソフト制約条件に対して優先順位パラメータを設定することができる。例えば、ソフト制約条件１〜４が上述の（１）〜（４）に対応し、図４に示す例では、ソフト制約条件２の優先順位が１位に設定され、ソフト制約条件４の優先順位が２位に設定され、ソフト制約条件１の優先順位が３位に設定され、ソフト制約条件３の優先順位が４位に設定されている。
【００７９】
この場合、ソフト制約条件２がソフト制約条件１よりも高い優先順位に設定されているので、上下に接して配置される荷物のうち、下の荷物より上の荷物の方が重い場合であっても、下の荷物より上の荷物の方が小さければ許容されることになるが、下の荷物より上の荷物の方が軽い場合であっても、下の荷物より上の荷物の方が大きければ許容されないことになる。
【００８０】
このように、修正受付部４０３は、熟練者による、緩和可能な制約条件の値の範囲に対する設定を受け付けるとともに、制約条件に対する優先順位の設定を受け付けることにより、シミュレーション結果に対する修正データを受け付ける。そして、修正受付部４０３は、熟練者が入力した修正データをパラメータ再設定部１０７に出力する。したがって、熟練者は、シミュレーション結果表示部３０１により表示されるシミュレーション結果を視認した上で知識パラメータ等を修正することができるので、的確な修正を短時間で行うことができる。なお、修正受付部４０３は、必ず満たさなければならない制約条件を緩和可能な制約条件に変更する修正を受け付けてもよい。
【００８１】
図３に戻って、ステップＳ１１において、パラメータ再設定部１０７は、修正受付部４０３により受け付けられた修正データから学習モデルを用いて熟練者の修正プロセスを分析して一般化した知識を獲得し、獲得した知識から知識パラメータを計算する。
【００８２】
次に、ステップＳ１２において、修正受付部４０３は、パラメータ再設定部１０７によって学習モデルを用いて計算された知識パラメータの値が予め設定されている初期設定範囲を超えているか否かを判断し、初期設定範囲を超えていると判断された場合（ステップＳ１２でＹＥＳ）、ステップＳ１３に処理を移行し、初期設定範囲を超えていないと判断された場合（ステップＳ１２でＮＯ）、ステップＳ１４に処理を移行する。なお、初期設定範囲は、予め記憶されている範囲であるが、この例に特に限定されず、熟練者が設定するようにしてもよいし、熟練者によって入力された知識パラメータの値が既に設定されている値に対して所定の比率、例えば１０倍又は１００倍を超えているか否かを修正受付部４０３により判断するようにしてもよい。
【００８３】
初期設定範囲を超えていると判断された場合、ステップＳ１３において、表示部３００は、パラメータ再設定部１０７によって学習モデルを用いて計算された知識パラメータの値が初期設定範囲を超えている旨を表示し、熟練者に対して入力ミスがあったことを警告する。そして、ステップＳ１０に戻り、修正受付部４０３は、熟練者による修正を再度受け付ける。
【００８４】
このように、修正受付部４０３は、パラメータ再設定部１０７によって学習モデルを用いて計算された知識パラメータが予め設定されている初期設定範囲を超えているか否かを判断し、初期設定範囲を超えている場合、熟練者に対しその旨を通知することにより、熟練者に修正内容を確認させることができ、熟練者による入力ミスの発生を防止することができる。
【００８５】
ステップＳ１４において、修正受付部４０３により受け付けられた修正データから学習モデルを用いて熟練者の修正プロセスを分析して一般化した知識を獲得し、獲得した知識から計算した知識パラメータ等をパラメータ記憶部２０２に記憶させることにより知識パラメータ等を更新し、更新された知識パラメータ等を最適化処理手順に再設定する。
【００８６】
そして、パラメータ記憶部２０２の知識パラメータ等が更新され、更新された知識パラメータ等が最適化処理手順に再設定された後、ステップＳ４に戻り、シミュレーション部１０３は、パラメータ再設定部１０７により知識パラメータ等が再設定された最適化処理手順を用いて事例を再度シミュレーションする。
【００８７】
図５は、図３のステップＳ６においてシミュレーション結果が確定された後のコンテナを示す図であり、図６は、熟練者による修正が行われた後のコンテナを示す図である。
【００８８】
図５に示す例は、シミュレーションが行われることにより作成された１００本のコンテナのうち３０本のコンテナが熟練者により修正不要として確定された場合であり、残り７０本のコンテナが未確定として表示される。シミュレーション結果が確定されると、図５に示すように、修正が必要な複数のコンテナＣ１〜Ｃ７０（図５ではコンテナＣ１〜Ｃ４のみを図示）が表示される。
【００８９】
この７０本のコンテナには、例えば、細かい製品がコンテナの奥に積載されていることや制約条件が緩和されていないこと等の様々な問題が含まれている。熟練者は、全ての問題を一括して修正することは困難であり、コンピュータによる学習も困難である。そこで、分散認識部１０６は、クラスタを単位として未確定の複数のコンテナを分割する。熟練者は、クラスタごとに分割されたコンテナのうちの１つのクラスタを選択し、選択したクラスタに含まれるコンテナを修正し、再度シミュレーションを行う。このように、選択、修正及びシミュレーションを繰り返し行うことにより、問題となるコンテナの数が徐々に減少し、最終的に全ての問題を解決することができる。
【００９０】
ここで、熟練者がコンテナＣ２に対して後方に配置された細かい製品Ｐ２をコンテナＣ２内の前方に移動する修正を行った場合、図５に示すコンテナＣ２内の製品Ｐ２は、図６に示すコンテナＣ２のように、コンテナＣ２の前方に配置されることとなる。このように、１本のコンテナＣ２に対して、後方に配置された細かい製品Ｐ２をコンテナＣ２内の前方に配置する修正が行われることにより、知識パラメータが更新される。そして、更新された知識パラメータが最適化処理手順に再設定され、再計算されることにより、他のコンテナＣ１，Ｃ３，Ｃ４内の後方に配置された細かい製品Ｐ１，Ｐ３，Ｐ４もコンテナＣ１，Ｃ３，Ｃ４内の前方に配置されることになる。その結果、残りの６９本のコンテナのうち、２９本が熟練者により修正不要として確定されることになる。
【００９１】
このように、修正受付部４０３は、シミュレーション結果表示部３０１に表示される物品に対して熟練者が入力した物品の移動指示を受け付け、パラメータ再設定部１０７は、熟練者により修正された３次元空間内における運輸媒体に積載される物品の配置状態を分析し、知識パラメータ等を変更する。例えば、熟練者により、後方に配置された細かい製品をコンテナ内の前方に配置する修正が行われた場合、パラメータ再設定部１０７は、細かい製品がコンテナ内の前方に配置されたことを認識し、予め設定されている「細かい製品をコンテナの後方に配置する」という制約条件を緩和させる。
【００９２】
このように、最適化処理手順を用いて運輸媒体に積載される物品の配置状態がシミュレーションされ、シミュレーションされた３次元空間内における運輸媒体に積載される物品の配置状態が表示され、表示された物品に対してユーザが入力した移動指示が受け付けられるので、熟練者は、シミュレーションされた３次元空間内における運輸媒体に積載される物品の配置状態を見ながら、迅速且つ的確に物品を移動させることができるとともに、運輸媒体に積載される物品に対する熟練者の修正プロセスを分析して一般化した知識を獲得することができる。
【００９３】
図７は、２回目のシミュレーションが行われ、シミュレーション結果が確定された後のコンテナを示す図である。図８は、熟練者による２回目の修正が行われた後のコンテナを示す図である。
【００９４】
図７に示す例は、シミュレーション結果の修正が行われた後、再度シミュレーションが行われることにより作成された６９本のコンテナのうち２９本のコンテナが熟練者により修正不要として確定された場合であり、残り４０本のコンテナが未確定として表示される。シミュレーション結果が確定されると、図７に示すように修正が必要な複数のコンテナＣ１’〜Ｃ４０’（図７ではコンテナＣ１’〜Ｃ４’のみを図示）が表示される。
【００９５】
ここで、容積率を向上させるため、コンテナＣ１’に対して熟練者によりコンテナをはみ出さない範囲まで製品の配置を許可する修正が行われた場合、図７に示すコンテナＣ１’内の容積率が向上し、図８に示すコンテナＣ１’のように製品が配置される。このように、１本のコンテナＣ１’に対して、コンテナをはみ出さない範囲まで製品の配置を許可する修正が行われることにより、知識パラメータ等が自動的に更新される。そして、更新された知識パラメータ等が最適化処理手順に再設定され、再計算されることにより他のコンテナＣ２’，Ｃ３’，Ｃ４’内の容積率が向上し、コンテナＣ２’，Ｃ３’，Ｃ４’をはみ出さない範囲まで製品が配置されることになる。その結果、残りの３９本のコンテナのうち、１０本が熟練者により修正不要として確定されることになる。
【００９６】
図９は、３回目のシミュレーションが行われ、シミュレーション結果が確定された後のコンテナを示す図である。図９に示す例は、シミュレーション結果の修正が行われた後、再度シミュレーションが行われることにより作成された３９本のコンテナのうち１０本のコンテナが熟練者により修正不要として確定された場合であり、残り２９本のコンテナが未確定として表示される。シミュレーション結果が確定されると、図９に示すように修正が必要な複数のコンテナＣ１”〜Ｃ２９”（図９ではコンテナＣ１”〜Ｃ４”のみを図示）が表示される。熟練者は、複数のコンテナＣ１”〜Ｃ２９”のうちの１本のコンテナを修正することにより、さらに知識パラメータを更新する。
【００９７】
このようにして、全てのコンテナが修正不要として熟練者により確定されるまでステップＳ４〜Ｓ１４までの処理が繰り返し行われることにより、最適化処理手順の適応解を求めることができ、熟練者の知識が反映されたシミュレーションが行われることとなる。
【００９８】
上記のように、本実施の形態では、予めパラメータが設定された最適化処理手順を用いて事例がシミュレーションされ、シミュレーションされたシミュレーション結果が表示される。このとき、表示されたシミュレーション結果に対する熟練者による修正データが受け付けられ、受け付けられた修正データから学習されたパラメータが再設定され、パラメータが再設定された最適化処理手順を用いて事例が再度シミュレーションされる。
【００９９】
このように、シミュレーション結果が可視的に表示され、熟練者が表示されたシミュレーション結果を見ながら、長年の知識に基づいて動的な環境変動に柔軟に対応する修正データを入力することができるので、動的な環境変化に対して柔軟に対応することができる。また、熟練者の修正データから学習モデルを用いて熟練者の修正プロセスを分析して一般化した知識を獲得し、獲得した知識から決定されたパラメータが再設定された最適化処理手順を用いて事例が再度シミュレーションされるので、熟練者の知識を効率的に学習することができる。この結果、熟練者の知識を効率的に学習しながら、動的な環境変化に対して柔軟に対応することができる。
【０１００】
なお、本実施の形態では、最適化処理手順選択部１０１により複数の最適化処理手順から一の最適化処理手順を選択しているが、この例に特に限定されず、例えば、予め記憶されている最適化処理手順が一つしかない場合、最適化処理手順記憶部２０１に記憶されている一つの最適化処理手順を読み出し、最適化処理手順選択部１０１を省略してもよい。
【０１０１】
また、本実施の形態において、シミュレーション結果表示部３０１は、荷物が複数のコンテナに積み付けられる場合、全てのコンテナについて積付状態を表示しているが、最適化処理手順を用いてコンテナへの荷物の積付状態がシミュレーションされた後、最適に積み付けられなかったコンテナの積付状態のみを表示してもよい。この場合、全てのコンテナについての積付状態が表示されないので、描画時間を短縮することができ、修正が必要なコンテナのみを熟練者に対して表示することができる。
【０１０２】
ここで、上記の説明では、荷物などの製品をコンテナなどの運輸媒体に積み付ける事例について主に説明したが、本発明のシミュレーション対象となる事例はこの例に特に限定されず、荷物などの製品を輸送する輸送経路を決定する事例についても適用可能であるので、以下、この事例について詳細に説明する。
【０１０３】
荷物などの製品を輸送する輸送経路を決定する事例の場合、シミュレーション部１０３は、最適化処理手順を用いて物品を輸送する輸送経路をシミュレーションし、シミュレーション結果表示部３０１は、シミュレーション部１０３によりシミュレーションされた輸送経路を表示し、修正受付部４０３は、シミュレーション結果表示部３０１により表示される輸送経路の熟練者による変更指示を受け付ける。
【０１０４】
例えば、製品を倉庫から拠点又は物流センターに輸送する場合、輸送経路の決定は、締め時間、納期、リードタイム、コスト、トラックの容積率及び倉庫の稼働時間などにより定められる。輸送ルートは、拠点及び物流センターに直送する場合と、複数の倉庫で追い積みした後拠点及び物流センターに配送する場合とに分けることができる。拠点の制限時間及びトラックの容積率を満たす場合、拠点に直送した方がコストを安くすることができるため、この条件を優先して考慮する。また、トラックが容積率を満たさない場合、拠点の制限時間が許す範囲で他の倉庫での追い積みを優先して考慮する。これら２つの条件を両方とも満たさない場合、物流センターに配送する。熟練者は、突然発生する納期の変更や人員の変更等の問題にも柔軟に対応することができるが、システム全体への影響を予測することや計画全体を適切に見直すことを短時間に行うことが困難である。
【０１０５】
例えば、リードタイムとトラックの容積率とを満たせば倉庫から拠点へ直送した方が、輸送経路が短くて済み、作業も少なくて済むのでコストを低く抑えることができる。一方、リードタイムとトラックの容積率とを満たさなければ、物流センターを経て拠点に配送されることになる。この場合、トラックに複数の拠点に配送する荷物を配置することができ、トラックの容積率が高くなるが、輸送経路が長くなり、作業数も増えるのでコストが高くなってしまう。拠点に直送するか、又は物流センターに配送するかの判断は、熟練者が指定する条件により判断される。例えば、リードタイムを満たし、かつ容積率が７０％以上になれば、拠点に直送すると指定した場合、コンピュータによる計算では、容積率が６９．９％になっても直送されることはない。一方、熟練者は、容積率の条件に柔軟に対応することができ、６９％になれば拠点に直送する場合もあり、状況に応じて柔軟に判断を行う。このような熟練者の柔軟性を知識パラメータとしてパラメータ化し、例えば、容積率の制約条件を緩和させることにより上記の同様にシミュレーション結果を修正することができる。
【０１０６】
このように、最適化処理手順を用いて物品を輸送する輸送経路がシミュレーションされ、シミュレーションされた輸送経路が表示され、表示された輸送経路に対してユーザが入力した輸送経路の変更指示が受け付けられるので、ユーザ、好ましくは熟練者は、シミュレーションされた輸送経路を見ながら、迅速且つ的確に輸送経路を変更することができるとともに、物品を輸送する輸送経路に対する熟練者の修正プロセスを分析して一般化した知識を獲得することができる。
【０１０７】
なお、上記の説明では、物品の生産及び輸送等に関するシミュレーションを例に説明したが、本発明はこの例に特に限定されず、熟練者の知識を利用可能な種々の事例に適用可能である。
【図面の簡単な説明】
【０１０８】
【図１】本発明の一実施の形態によるシミュレーション装置のハードウエア構成の一例を示す図である。
【図２】図１に示すシミュレーション装置の主要機能の一例を示すブロック図である。
【図３】図２に示すシミュレーション装置によるシミュレーション処理を説明するためのフローチャートである。
【図４】熟練者によるシミュレーション結果の修正について説明するための図である。
【図５】図３のステップＳ６においてシミュレーション結果が確定された後のコンテナを示す図である。
【図６】熟練者による修正が行われた後のコンテナを示す図である。
【図７】２回目のシミュレーションが行われ、シミュレーション結果が確定された後のコンテナを示す図である。
【図８】熟練者による２回目の修正が行われた後のコンテナを示す図である。
【図９】３回目のシミュレーションが行われ、シミュレーション結果が確定された後のコンテナを示す図である。
【符号の説明】
【０１０９】
１    入力装置
２    ＲＯＭ
３    ＣＰＵ
４    ＲＡＭ
５    外部記憶装置
６    表示装置
７    記録媒体駆動装置
８    記録媒体
９    出力装置
１０    シミュレーション装置
１００    制御部
１０１    最適化処理手順選択部
１０２    パラメータ設定部
１０３    シミュレーション部
１０４    シミュレーション結果出力制御部
１０５    シミュレーション結果表示制御部
１０６    分散認識部
１０７    パラメータ再設定部
２００    記憶部
２０１    最適化処理手順記憶部
２０２    パラメータ記憶部
２０３    シミュレーション結果記憶部
３００    表示部
３０１    シミュレーション結果表示部
４００    入力部
４０１    データ入力受付部
４０２    結果確定受付部
４０３    修正受付部
【図１】
2005339402.tif 000003
【図２】
2005339402.tif 000004
【図３】
2005339402.tif 000005
【図４】
2005339402.tif 000006
【図５】
2005339402.tif 000007
【図６】
2005339402.tif 000008
【図７】
2005339402.tif 000009
【図８】
2005339402.tif 000010
【図９】
2005339402.tif 000011