(57)【要約】      （修正有）【課題】シミュレーションモデルの一部を異なるシミュレーション方法に変更する場合に、影響を及ぼす範囲の推定をより速く、精度よく行うシミュレーションモデル作成支援装置を提供する。【解決手段】ストック、フローおよびコンバーターから構成されるシミュレーションモデルの入力を受け付けＳ１０１、シミュレーションモデルの変更部分についての指示を受け付けＳ１０２、シミュレーションモデルから、変更部分に関わるストック、変更部分に関わるストックと同一の実体を表現するストック及び変更部分に関わるストックあるいは変更部分に関わるストックと同一の実体を表現するストックの間のフローを抽出しＳ１０３、抽出したストックおよびフロー及び抽出したストックあるいはフローに接続するストック、フローあるいはコンバーターから成る部分的な構造を抽出しＳ１０４、部分的な構造を出力するＳ１０５。【選択図】図４
2016091285.tif 000002
【特許請求の範囲】
【請求項１】
変数の量を表すストック、前記ストック間の流れの量を表すフロー、および、前記フローに影響を及ぼす要因を表すコンバーターから構成されるシミュレーションモデルの入力を受け付けるモデル入力受付部と、
前記シミュレーションモデルの変更部分についての指示を受け付ける変更部分指示受付部と、
前記シミュレーションモデルから、前記変更部分に関わる前記ストック、前記変更部分に関わる前記ストックと同一の実体を表現する前記ストック、および、前記変更部分に関わる前記ストックあるいは前記変更部分に関わる前記ストックと同一の実体を表現する前記ストックの間の前記フローを抽出する同一実体抽出部と、
前記シミュレーションモデルから、前記同一実体抽出部が抽出した前記ストックおよび前記フロー、および、前記同一実体抽出部が抽出した前記ストックあるいは前記フローに接続する前記ストック、前記フローあるいは前記コンバーターから成る部分的な構造を抽出する影響範囲抽出部と、
前記影響範囲抽出部が抽出した前記部分的な構造を出力する影響範囲出力部と
を備えることを特徴とするシミュレーションモデル作成支援装置。
【請求項２】
前記同一実体抽出部は、
前記変更部分に関わるストックと同一の実体を表現するストックとして、前記変更部分に関わる前記ストックと前記フローあるいは他の前記ストックを経由して流入あるいは流出がある前記ストックを抽出する
ことを特徴とする請求項１に記載のシミュレーションモデル作成支援装置。
【請求項３】
前記同一実体抽出部は、
前記ストックにあらかじめ付与された当該ストックがどの実体に関係するかの情報に基づき、前記変更部分に関わるストックと同一の実体を表現するストックを抽出する
ことを特徴とする請求項１に記載のシミュレーションモデル作成支援装置。
【請求項４】
前記影響範囲抽出部は、さらに、
抽出した前記部分的な構造に接続する前記ストック、前記フローあるいは前記コンバーターを抽出して前記部分的な構造に加えて新たな部分的な構造として更新し、前記更新を繰り返し行う
ことを特徴とする請求項１から請求項３のいずれかに記載のシミュレーションモデル作成支援装置。
【請求項５】
変数の量を表すストック、前記ストック間の流れの量を表すフロー、および、前記フローに影響を及ぼす要因を表すコンバーターから構成されるシミュレーションモデルの入力と、前記シミュレーションモデルの変更部分についての指示を受け付け、前記シミュレーションモデルから、前記変更部分に関わる前記ストック、前記変更部分に関わる前記ストックと同一の実体を表現する前記ストック、および、前記変更部分に関わる前記ストックあるいは前記変更部分に関わる前記ストックと同一の実体を表現する前記ストックの間の前記フローを抽出し、前記シミュレーションモデルから、前記抽出したストックおよびフロー、および、前記抽出したストックあるいはフローに接続する前記ストック、前記フローあるいは前記コンバーターから成る部分的な構造を抽出し、前記部分的な構造を出力する
ことを特徴とするシミュレーションモデル作成支援方法。
【請求項６】
前記変更部分に関わるストックと同一の実体を表現するストックとして、前記変更部分に関わる前記ストックと前記フローあるいは他の前記ストックを経由して流入あるいは流出がある前記ストックを抽出する
ことを特徴とする請求項５に記載のシミュレーションモデル作成支援方法。
【請求項７】
前記ストックにあらかじめ付与された当該ストックがどの実体に関係するかの情報に基づき、前記変更部分に関わるストックと同一の実体を表現するストックを抽出する
ことを特徴とする請求項５に記載のシミュレーションモデル作成支援方法。
【請求項８】
さらに、前記部分的な構造に接続する前記ストック、前記フローあるいは前記コンバーターを抽出して前記部分的な構造に加えて新たな部分的な構造として更新し、前記更新を繰り返し行う
ことを特徴とする請求項５から請求項７のいずれかに記載のシミュレーションモデル作成支援方法。
【請求項９】
コンピューターに、
変数の量を表すストック、前記ストック間の流れの量を表すフロー、および、前記フローに影響を及ぼす要因を表すコンバーターから構成されるシミュレーションモデルの入力を受け付けるモデル入力受付機能と、
前記シミュレーションモデルの変更部分についての指示を受け付ける変更部分指示受付機能と、
前記シミュレーションモデルから、前記変更部分に関わる前記ストック、前記変更部分に関わる前記ストックと同一の実体を表現する前記ストック、および、前記変更部分に関わる前記ストックあるいは前記変更部分に関わる前記ストックと同一の実体を表現する前記ストックの間の前記フローを抽出する同一実体抽出機能と、
前記シミュレーションモデルから、前記同一実体抽出機能が抽出した前記ストックおよび前記フロー、および、前記同一実体抽出機能が抽出した前記ストックあるいは前記フローに接続する前記ストック、前記フローあるいは前記コンバーターから成る部分的な構造を抽出する影響範囲抽出機能と、
前記影響範囲抽出機能が抽出した前記部分的な構造を出力する影響範囲出力機能と
を実現させるためのシミュレーションモデル作成支援プログラム。
【請求項１０】
前記影響範囲抽出機能は、さらに、
抽出した前記部分的な構造に接続する前記ストック、前記フローあるいは前記コンバーターを抽出して前記部分的な構造に加えて新たな部分的な構造として更新し、前記更新を繰り返し行う
ことを特徴とする請求項９に記載のシミュレーションモデル作成支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二つ以上のシミュレーション方法を組み合わせる場合のシミュレーションモデルの作成を支援する、シミュレーションモデル作成支援装置、方法およびプログラムに関する。
【背景技術】
【０００２】
社会や経済、ビジネスなどの分野で、将来予測や仮説検証のために用いられるシミュレーションの方法の一つとして、システムダイナミクスと呼ばれる方法がある（非特許文献１）。システムダイナミクスによるシミュレーションモデルは、ストック、フローおよびコンバーターによって構成され、これらの間の因果関係がリンクによって接続されている。ストックは、ある時点での変数の量を、フローは、変数の時間当たりの流入もしくは流出の量を、コンバーターは、フローや他のコンバーターに影響を及ぼす要因を示す。システムダイナミクスは、システム全体の時間変化を粗く見るのに適した方法である。
【０００３】
別のシミュレーションの方法として、エージェントベースシミュレーションと呼ばれる方法がある（非特許文献２）。エージェントベースシミュレーションでは、個々のエージェントの行動に関するルールを設定し、多数のエージェントに自律的に相互作用をさせる。エージェントベースシミュレーションは、システムの細かい要素を定義して出現する状態を観察するのに適した方法である。
【０００４】
また、二つ以上のシミュレーション方法を組み合わせてシミュレーションを行うことも可能である（非特許文献３）。異なるシミュレーションの方法を組み合わせることで、それぞれの方法が得意な局面を割り当てたり、既存のモデルを組み合わせてモデルの作成を省力化したりすることができる。たとえば、システムダイナミクスの方法により作成したシミュレーションのモデルについて、モデルの一部を細かい粒度でシミュレートしたい場合には、その部分をエージェントベースシミュレーションなどの方法に変更することができる。
【０００５】
特許文献１には、連続系モデルと状態遷移モデルという２種類のシミュレーション方法を組み合わせて行うために、各シミュレーション方法（モデル）の変数やコンポーネントなどの間の依存関係、すなわち、影響を及ぼす範囲を記述する方法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−０５９７８９号公報
【非特許文献】
【０００７】
【非特許文献１】土金達男著、「シミュレーションによるシステムダイナミックス入門」、第１版、東京電機大学出版局、2005年11月30日、pp.21〜23
【非特許文献２】山影進、服部正太編、「コンピュータのなかの人工社会  マルチエージェントシミュレーションモデルと複雑系」、構造計画研究所、2002年8月10日、pp.13〜16
【非特許文献３】Andrei Borshchev、他１名、「From System Dynamics and Discrete Event to Practical Agent Based Modeling: Reasons, Techniques, Tools」、The 22nd International Conference of the System Dynamics Society、System Dynamics Society、2004年7月25-29日、pp.19
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記の非特許文献３におけるように、異なるシミュレーション方法を組み合わせて、コンピューター等の情報処理装置がシミュレーションを実行できるようにするためには、それぞれの方法が相互に影響を及ぼす範囲を明確にする必要がある。これは、各方法によるシミュレーションはそれぞれのロジックにしたがって実行されるが、各ロジックが相互に影響を及ぼす範囲が明確でない場合、シミュレーションを組み合わせた場合の正しい動作を情報処理装置が実行できないためである。
【０００９】
シミュレーションのモデルの一部を他のシミュレーション方法に変更する場合にも、当該部分の変更によって影響を及ぼす範囲、すなわち、他にモデルの変更が必要な範囲を明確にする必要がある。しかし、シミュレーションを実行する情報処理装置は、影響範囲を自動で判別することができない。
【００１０】
これに対し、特許文献１に開示された方法では、２種類の方法間の影響範囲を記述して情報処理装置に与えることは可能である。しかし、その影響範囲についてはすべて人手で考慮して記述する必要がある。影響範囲の抽出を人手で行った場合、時間がかかる、ミスを犯しやすいなどの問題がある。
【００１１】
本発明の目的は、シミュレーションモデルの一部を異なるシミュレーションの方法に変更する場合に、影響を及ぼしうる範囲の推定をより速く、精度よく行うことが可能なシミュレーションモデル作成支援装置、方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１２】
上述の問題を解決するために、本発明のシミュレーションモデル作成支援装置は、変数の量を表すストック、前記ストック間の流れの量を表すフロー、および、前記フローに影響を及ぼす要因を表すコンバーターから構成されるシミュレーションモデルの入力を受け付けるモデル入力受付部と、前記シミュレーションモデルの変更部分についての指示を受け付ける変更部分指示受付部と、前記シミュレーションモデルから、前記変更部分に関わる前記ストック、前記変更部分に関わる前記ストックと同一の実体を表現する前記ストック、および、前記変更部分に関わる前記ストックあるいは前記変更部分に関わる前記ストックと同一の実体を表現する前記ストックの間の前記フローを抽出する同一実体抽出部と、前記シミュレーションモデルから、前記同一実体抽出部が抽出した前記ストックおよび前記フロー、および、前記同一実体抽出部が抽出した前記ストックあるいは前記フローに接続する前記ストック、前記フローあるいは前記コンバーターから成る部分的な構造を抽出する影響範囲抽出部と、前記影響範囲抽出部が抽出した前記部分的な構造を出力する影響範囲出力部とを備えることを特徴とする。
【００１３】
また、本発明のシミュレーションモデル作成支援方法は、変数の量を表すストック、前記ストック間の流れの量を表すフロー、および、前記フローに影響を及ぼす要因を表すコンバーターから構成されるシミュレーションモデルの入力と、前記シミュレーションモデルの変更部分についての指示を受け付け、前記シミュレーションモデルから、前記変更部分に関わる前記ストック、前記変更部分に関わる前記ストックと同一の実体を表現する前記ストック、および、前記変更部分に関わる前記ストックあるいは前記変更部分に関わる前記ストックと同一の実体を表現する前記ストックの間の前記フローを抽出し、前記シミュレーションモデルから、前記抽出したストックおよびフロー、および、前記抽出したストックあるいはフローに接続する前記ストック、前記フローあるいは前記コンバーターから成る部分的な構造を抽出し、前記部分的な構造を出力することを特徴とする。
【００１４】
また、本発明のシミュレーションモデル作成支援プログラムは、コンピューターに、変数の量を表すストック、前記ストック間の流れの量を表すフロー、および、前記フローに影響を及ぼす要因を表すコンバーターから構成されるシミュレーションモデルの入力を受け付けるモデル入力受付機能と、前記シミュレーションモデルの変更部分についての指示を受け付ける変更部分指示受付機能と、前記シミュレーションモデルから、前記変更部分に関わる前記ストック、前記変更部分に関わる前記ストックと同一の実体を表現する前記ストック、および、前記変更部分に関わる前記ストックあるいは前記変更部分に関わる前記ストックと同一の実体を表現する前記ストックの間の前記フローを抽出する同一実体抽出機能と、前記シミュレーションモデルから、前記同一実体抽出機能が抽出した前記ストックおよび前記フロー、および、前記同一実体抽出機能が抽出した前記ストックあるいは前記フローに接続する前記ストック、前記フローあるいは前記コンバーターから成る部分的な構造を抽出する影響範囲抽出機能と、前記影響範囲抽出機能が抽出した前記部分的な構造を出力する影響範囲出力機能とを実現させる。
【発明の効果】
【００１５】
本発明のシミュレーションモデル作成支援装置、方法およびプログラムにより、シミュレーションモデルの一部を異なるシミュレーション方法に変更する場合に、影響を及ぼしうる範囲の推定をより速く、精度よく行うことが可能になる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第一の実施形態のシミュレーションモデル作成支援装置の構成例を示す図である。
【図２】シミュレーションモデルの一例を説明するための図である。
【図３】シミュレーションモデルの一例を説明するための図である。
【図４】本発明の第一の実施形態のシミュレーションモデル作成支援装置の動作例を示す図である。
【図５】シミュレーションモデルの一例を説明するための図である。
【図６】シミュレーションモデルから抽出したストックとフローの一例を説明するための図である。
【図７】シミュレーションモデルから抽出した部分的な構造の一例を説明するための図である。
【図８】シミュレーションモデルの一例を説明するための図である。
【図９】本発明の第二の実施形態のシミュレーションモデル作成支援装置の構成例を示す図である。
【図１０】本発明の第二の実施形態のシミュレーションモデル作成支援装置の動作例を示す図である。
【図１１】更新された部分的な構造の一例を説明するための図である。
【図１２】ストック、フロー、コンバーターの表現方法の一例を示す図である。
【発明を実施するための形態】
【００１７】
以下に、図面を参照して、本発明の実施の形態について例示的に説明する。ただし、以下の実施の形態に記載されている構成要素は単なる例示であり、本発明の技術範囲をそれらのみに限定する趣旨のものではない。
【００１８】
［第一の実施形態］
図１に本発明の第一の実施形態のシミュレーションモデル作成支援装置１の構成例を示す。なお、シミュレーションモデル作成支援装置１は、シミュレーションを行う情報処理装置とは別のものとしても良いし、同一のものとしても良い。
【００１９】
シミュレーションモデル作成支援装置１は、モデル入力受付部１１、変更部分指示受付部１２、同一実体抽出部１３、影響範囲抽出部１４、および、影響範囲出力部１５から構成される。
【００２０】
モデル入力受付部１１は、シミュレーションモデルの入力を受け付ける部分である。ここで入力されるシミュレーションモデルは、ストック、フロー、および、コンバーターがどのように接続しているかという構造がわかるような形式であれば、どのように記述されていても良い。たとえば、グラフ構造のように記述されていても良い。
【００２１】
変更部分指示受付部１２は、モデル入力受付部１１が受け付けたシミュレーションモデルの変更したい部分についての指示を受け付ける部分である。指示を受け付ける方法については、いかなる方法でも構わない。たとえば、図示しないディスプレイ等の出力装置に出力されたシミュレーションモデルについて、図示しないポインティングデバイス等の入力装置からの入力によってグラフィカルに変更したい部分を選択する方法でも良い。また、変更したい部分を記述したファイルを入力する方法でも良い。
【００２２】
同一実体抽出部１３は、モデル入力受付部１１が受け付けたシミュレーションモデルから、変更部分指示受付部１２が受け付けた変更部分に関わるストックと同一の実体を表現するストックとその間のフローを抽出する部分である。より具体的には、Ａ：変更部分に関わるストック、Ｂ：変更部分に関わるストック（Ａ）と同一の実体を表現するストック、および、Ｃ：変更部分に関わるストックと同一の実体を表現するストック（Ｂ）の間のフローを抽出する。なお、以降の説明では、「変更部分に関わるストックと同一の実体を表現するストック（Ｂ）」として抽出するストックには、「変更部分に関わるストック（Ａ）」も含むものとする。
【００２３】
ここで、実体とは、シミュレーションによって模倣される対象のことを示す。たとえば、購買行動のシミュレーションであれば消費者や商品、交通渋滞のシミュレーションであれば自動車、などが実体である。
【００２４】
変更部分に関わるストック（Ａ）としては、変更部分がストックの場合は、変更部分のストックを、変更部分がフローの場合は、変更部分のフローの流入元のストックと流出先のストックを抽出する。また、変更部分がコンバーターの場合は、変更部分のコンバーターに接続するストックを抽出する。
【００２５】
変更部分に関わるストックと同一の実体を表現するストック（Ｂ）および変更部分に関わるストックと同一の実体を表現するストックの間のフロー（Ｃ）を抽出するアルゴリズムについては、具体的には、次のいずれかの方法を用いる。
【００２６】
一つ目の方法では、変更部分に関わるストックと同一の実体を表現するストック（Ｂ）として、変更部分に関わるストック（Ａ）に対してフローあるいは他のストックを経由して流入もしくは流出があるストックを抽出する。このように同一の実体を判断する理由は、フローは、あるストックから別のストックへのある実体の流れを表すもの、と解釈できるためである。すなわち、流入元のストックと流出先のストックは異なる変数を表すが、これらは同じ実体の異なる状態を表す変数である、言い換えると、同じ実体についてフローを介して状態の変化が起こったものである、と解釈することができる。
【００２７】
図２に例示するシミュレーションモデルを用いて、一つ目の方法における、変更部分に関わるストックと同一の実体を表現するストック（Ｂ）を抽出する方法について説明する。なお、図１２に、以降のシミュレーションモデルの例で用いる、ストック、フローおよびコンバーターの表現方法を示す。図１２（ａ）および（ｄ）はストック、（ｂ）がフロー、（ｃ）はコンバーターを表す。
【００２８】
図２のシミュレーションモデルにおいて、フロー３１１を変更部分として指示した場合、変更部分に関わるストック（Ａ）は、ストック３０１とストック３０２である。ストック３０２からは、フロー３１２を介して、ストック３０３に流出がある。さらに、ストック３０３は、フロー３１３、３１４を介して、ストック３０４から流入、ストック３０５に流出がそれぞれある。したがって、ストック３０１〜３０５がこの方法によって抽出する、変更部分に関わるストックと同一の実体を表現するストック（Ｂ）となる。ストック３０６〜３０８は、抽出しない。ストック３０６〜３０８は、ストック３０１〜３０５のいずれともフローによる流入または流出がないためである。
【００２９】
そして、変更部分に関わるストックと同一の実体を表現するストック（Ｂ）の間のフロー（Ｃ）として、フロー３１１〜３１４を抽出する。これらのフローは、ストック３０１〜３０５のいずれかのストックの間の流れを表すためである。
【００３０】
二つ目の方法では、ストックに事前にどの実体に関係するかという情報をタグとして付与しておき、変更部分に関わるストックと同一のタグのストックを抽出する。
【００３１】
図３に例示するシミュレーションモデルを用いて、二つ目の方法における、変更部分に関わるストックと同一の実体を表現するストック（Ｂ）を抽出する方法について説明する。図３のシミュレーションモデルにおいて、フロー４１１を変更部分として指示した場合に、変更部分に関わるストック（Ａ）は、ストック４０１とストック４０２である。これらのストックには、実体としてａというタグがつけられている。このａというタグがつけられたストック４０３、４０６、４０７が、変更部分に関わるストックと同一の実体を表現するストック（Ｂ）である。したがって、図３の例では、ストック４０１、４０２、４０３、４０６、４０７が変更部分に関わるストックと同一の実体を表現するストック（Ｂ）として抽出される。
【００３２】
そして、変更部分に関わるストックと同一の実体を表現するストックの間のフロー（Ｃ）として、フロー４１１、４１２、４１５が抽出される。これらのフローは、ストック４０１、４０２、４０３、４０６、４０７のいずれかのストックの間の流れを表すためである。その他のフローについて、たとえば、フロー４１３については、その流出先は実体ａを表現するストック４０３ではあるが、流入元がストック４０４という別の実体ｂを表現するストックであるため抽出しない。
【００３３】
変更部分に関わるストックと同一の実体を表現するストック（Ｂ）を抽出するアルゴリズムに上記二つの方法のいずれを用いるかは、事前に定義しても良く、また、モデルごとに決めても良い。
【００３４】
なお、変更部分に関わるストック（Ａ）が２つ以上の場合、それらのストックが異なる実体であることがありえるが、その場合には、それらを区別せずに、上記二つのいずれかの方法を適用する。
【００３５】
影響範囲抽出部１４は、同一実体抽出部１３が抽出したストックおよびフロー（Ａ〜Ｃ）、および、それらに接続する部分的な構造を、モデル入力受付部１１で受け付けたシミュレーションモデルから抽出する部分である。より具体的には、同一実体抽出部１３が抽出したストックおよびフロー（Ａ〜Ｃ）、および、Ｄ：それらのストックとフロー（Ａ〜Ｃ）のいずれかに接続するストック、フローあるいはコンバーターからなる部分的な構造を抽出する。ここで、部分的な構造には、ストック、フロー、コンバーターのほかに、これらがどのように接続しているかという構造についての情報を含む。
【００３６】
影響範囲出力部１５は、影響範囲抽出部１４が抽出した部分的な構造を、影響範囲出力部１５の出力形式に変換して出力する部分である。ここで出力する部分的な構造が、シミュレーションモデルの一部を異なるシミュレーションの方法に変更した場合に、当該部分の変更によって影響を及ぼしうる範囲の推定結果である。
【００３７】
影響範囲出力部１５での出力方法は、図示しないディスプレイ等の出力装置に図として出力しても良いし、部分的な構造を記述したファイルを出力しても良い。また、部分的な構造の出力の形式は、モデル入力受付部１１で入力されたシミュレーションモデルと同一の形式でも良いし、異なっていても良い。
【００３８】
上記のようにシミュレーションモデル作成支援装置１を構成することによって、シミュレーションモデルの一部を異なるシミュレーションの方法に変更した場合に、当該部分の変更によって影響を及ぼしうる範囲の推定をより速く、精度よく行うことが可能になる。
【００３９】
次に、図４にシミュレーションモデル作成支援装置１による処理のフローの例を示す。
【００４０】
まず、ステップＳ１０１において、モデル入力受付部１１がシミュレーションモデルの入力を受け付ける。また、ステップＳ１０２において、変更部分指示受付部１２が、シミュレーションモデルの変更部分についての指示を受け付ける。
【００４１】
次に、同一実体抽出部１３が、シミュレーションモデルから、変更部分に関わるストック、変更部分に関わるストックと同一の実体を表現するストック、および、変更部分に関わるストックと同一の実体を表現するストックの間のフローを抽出する（Ｓ１０３）。そして、影響範囲抽出部１４が、ステップＳ１０３において抽出したストックおよびフロー、それらのストックとフローのいずれかに接続するストック、フロー、または、コンバーターからなる部分的な構造をシミュレーションモデルから抽出する（Ｓ１０４）。最後に、ステップＳ１０５において、影響範囲出力部１５が、ステップＳ１０４で抽出した部分的な構造を、シミュレーションモデルの変更によって影響を及ぼしうる範囲の推定結果として、出力する。
【００４２】
図５に図４のステップＳ１０１で入力を受け付けるシミュレーションモデルの一例を示す。以下では、この例を用いて図４の各処理について説明する。
【００４３】
図５の例は、感染病の伝播とワクチンの在庫量をシミュレーションするモデルである。ストック５０１はワクチンの接種者数、ストック５０２は非感染者数、ストック５０３は感染者数、ストック５０４は回復者数、ストック５０６はワクチン在庫数、をそれぞれ表す。また、ストック５０５はワクチンの生産を、ストック５０７はワクチンの消費を表し、それぞれ不定の場所で起こることを示す。フロー５１１は、ストック５０２からストック５０１への流れ、すなわち、非感染者がワクチン接種者になるプロセスを表している。その流れの強さは、非感染者数を表すストック５０２と、ワクチンの接種を表すコンバーター５２４の影響を受ける。同様に、フロー５１２は、非感染者が感染して感染者になるプロセスを表しており、非感染者数（ストック５０２）、感染者数（ストック５０３）、接触した人数（コンバーター５２１）、感染病の伝播の強さである感染率（コンバーター５２２）の影響を受ける。フロー５１３は、感染者が回復して回復者になるプロセスを表しており、感染者数（ストック５０３）、病気から回復する確率（コンバーター５２３）の影響を受ける。フロー５１４は、ワクチン数の増加を表しており、ワクチンの出荷（コンバーター５２５）の影響を受ける。フロー５１５はワクチン数の減少を表しており、ワクチンの接種（コンバーター５２４）の影響を受ける。コンバーター５２４は、ワクチンの接種を表しており、非感染者数（ストック５０２）とワクチン在庫数（ストック５０６）の影響を受ける。コンバーター５２６は、ワクチンの発注を表しており、ワクチン在庫数（ストック５０６）、感染者数（ストック５０３）の影響を受け、ワクチンの出荷（コンバーター５２５）に影響を及ぼす。
【００４４】
ステップＳ１０２では、変更部分指示受付部１２が、シミュレーションモデルの変更したい部分についての指示を受け付ける。以下、図５のシミュレーションモデルにおいて、フロー５１２を変更したい部分とする指示を受け付けた場合について説明する。
【００４５】
次に、同一実体抽出部１３が、シミュレーションモデルから、変更部分に関わるストック、変更部分に関わるストックと同一の実体を表現するストック、および、変更部分に関わるストックと同一の実体を表現するストック間のフローを抽出する（Ｓ１０３）。
【００４６】
図５において、変更部分フロー５１２に関わるストック（Ａ）は、ストック５０２、５０３である。この例では、変更部分に関わるストックとフローを介して流入もしくは流出があるストックを同一の実体を表現するストックとして抽出する（前述の一つ目の方法）。ストック５０２、５０３とフローを介して流入もしくは流出があるストックは、ストック５０１、５０４であるため、これらが同一の実体を表現するストック（Ｂ）となる。また、抽出するフロー（Ｃ）は、ストック５０１〜５０４のいずれかのストック間の流れを表すフローであるので、フロー５１１、５１２、５１３となる。図６に、ステップ１０３で抽出したストックおよびフローを示す。
【００４７】
次に、影響範囲抽出部１４は、ステップＳ１０３において抽出したストックおよびフロー、それらのストックとフローのいずれかに接続するストック、フロー、または、コンバーターからなる部分的な構造をシミュレーションモデルから抽出する（Ｓ１０４）。
【００４８】
ステップＳ１０３で抽出したストック５０１〜５０４、および、フロー５１１〜５１３のいずれかに接続する要素は、コンバーター５２１〜５２４、５２６である。図７に、ステップＳ１０４で抽出した部分的な構造を示す。
【００４９】
そして、ステップＳ１０５において、影響範囲出力部１５は、ステップＳ１０４で抽出した部分的な構造を出力する。図５のシミュレーションモデルにおいては、フロー５１２を変更部分として指示した場合、最終的に図７の部分的な構造が、フロー５１２のシミュレーション方法を変更した場合に影響を及ぼしうる範囲の推定結果として出力されることになる。
【００５０】
上記のようにシミュレーションモデル作成支援装置１を動作させることによって、シミュレーションモデルの一部を異なるシミュレーションの方法に変更した場合に、当該部分の変更によって影響を及ぼしうる範囲の推定をより速く、精度よく行うことが可能になる。
【００５１】
次に、本実施形態の効果について説明する。
【００５２】
本実施形態においては、シミュレーションモデルの変更したい部分に対して、変更部分に関わるストックと同一の実体を表現するストックとその間のフロー、および、それらに接続する箇所を、変更の影響を受けうる部分的な構造として出力する。すなわち、ストックがある実体のある状態を表す変数を意味することを考慮すると、本実施形態は、変更部分に関わるストックと同一の実体を表現するストックを抽出するため、同一の実体の各状態への変化を網羅して抽出していると言うことができる。シミュレーションモデルのある部分を変更するということは、それに関わる実体のある状態から別の状態への変化の条件を変更するということである。実体のある状態の変化の条件の変更は、同じ実体の他の状態の変化の条件へも影響を及ぼしうると推察できる。したがって、本実施形態のように、同一の実体の各状態への変化を網羅することで、シミュレーションモデルの変更部分の及ぼす影響の範囲を推定することができる。
【００５３】
また、本実施形態によれば、同一の実体を表現するストックやそれらのストックの間のフローに直接接続しないストック、フロー、コンバーターは部分的な構造に含まれない。直接接続していない範囲に関しては、変更部分の影響を直接受けないので、考慮しなくてよいと推察でき、影響を受ける範囲を絞り込む効果が期待できる。
【００５４】
また、本実施形態のシミュレーションモデル作成支援装置が推定した結果を利用することで、シミュレーション方法を変更する場合の影響を検討する際に、シミュレーションモデル全体を考慮する必要がなくなる。本実施形態のシミュレーションモデル作成支援装置によって絞り込まれた図７のような部分的な構造を見ながら変更の影響を検討することで、より速く正しくモデルの変更が必要な部分を特定することが可能になる。
【００５５】
たとえば、図５のフロー５１２、すなわち、非感染者が感染して感染者になるプロセスをエージェントベースのシミュレーションに変更する場合の影響を検討する場合、図７の部分的な構造以外のシミュレーションモデルの部分への影響は考慮しなくて良くなる。たとえば、以下のように変更の影響を検討することができる。
【００５６】
図８に、図５のフロー５１２をエージェントベースシミュレーションに変える場合の例を示す。図８では、各エージェント６０１〜６０９はノードで表されており、エージェント間で接触がある場合は、リンクによって接続されている。各ノードに記されたアルファベットはそのエージェントの状態を表す。たとえばＳは非感染者、Ｉは感染者を意味する。
【００５７】
システムダイナミクスでは、フロー５１２に直接関わる、接触した人数（コンバーター５２１）について、すべての非感染者が同様におおよそ決められた人数に接触するという仮定でのシミュレーションであった。しかし、エージェントベースシミュレーションに変更すると、接触した人数にかなりの偏りが出てくる。たとえば、図８においては、エージェント６０５は５つのエージェントと接触しているが、多くのエージェントは１つのエージェントとしか接触していない。これは変更による影響の一つである。
【００５８】
また、図７のワクチンの接種（コンバーター５２４）については、図８のどのエージェントにワクチンを接種するかで、感染病の伝播の様子が異なってくる。たとえば、図８ではエージェント６０８が感染者であるが、エージェント６０６にワクチンを接種すると、そこで感染が起こらなくなるため、エージェント６０６の左側にあるエージェント６０１〜６０５には感染が伝播しなくなる。このような感染をブロックする効果は、システムダイナミクスによるシミュレーションでは考慮されていなかった効果である。したがって、これも変更による影響の一つである。
【００５９】
一方、感染率（コンバーター５２２）、回復率（コンバーター５２３）、ワクチンの発注（コンバーター５２６）もフロー５１２に直接関わるが、これらはエージェントベースシミュレーションに変更されても影響を受けない。
【００６０】
以上のように、フロー５１２の変更の影響を考える場合、モデルの作成者は、図７に示す部分的な構造の部分のみ考慮すれば良く、図７の部分的な構造以外のシミュレーションモデルの部分については、考慮する必要がなくなる。
【００６１】
以上で説明したように、本発明の第一の実施形態では、シミュレーションモデルに対して、変更部分に関わるストックと同一の実体を表現するストックとその間のフロー、および、それらに接続する箇所を、変更の影響を受けうる部分的な構造として出力する。そのため、シミュレーションモデルの一部を異なるシミュレーションの方法に変更した場合に、当該部分の変更によって影響を及ぼしうる範囲の推定をより速く、精度よく行うことが可能になる。
【００６２】
［第二の実施形態］
次に、本発明の第二の実施の形態について説明する。
【００６３】
図９は、本発明の第二の実施形態のシミュレーションモデル作成支援装置２の構成例を示す。シミュレーションモデル作成支援装置２は、モデル入力部１１、変更部分指示受付部１２、同一実体抽出部１３、影響範囲抽出部２４および影響範囲出力部１５から構成される。第一の実施形態のシミュレーションモデル作成支援装置１より、影響範囲抽出部２４のみが変更されている。モデル入力部１１、変更部分指示受付部１２、同一実体抽出部１３および影響範囲出力部１５については、第一の実施形態と同様のため、説明を省略する。
【００６４】
影響範囲抽出部２４は、まず、同一実体抽出部１３が抽出したストックおよびフロー、および、それらのストックとフローのいずれかに接続するストック、フローまたはコンバーターからなる部分的な構造をシミュレーションモデルから抽出する。そして、さらに、抽出した部分的な構造に接続するストック、フローまたはコンバーターを抽出して部分的な構造に加えて、新たな部分的な構造として更新し、更新する動作を繰り返す。抽出した部分的な構造に対して、さらに、部分的な構造に接続する部分を抽出して加えて更新する点で、第一の実施形態と異なる。
【００６５】
次に、図１０に、シミュレーションモデル作成支援装置２の動作の例を示す。なお、図１０において、第一の実施形態の図４と同様のステップには同じ参照番号を付与している。
【００６６】
ステップＳ１０１からＳ１０５については、第一の実施形態と同様であるため、説明を省略する。
【００６７】
ステップＳ１０６では、影響範囲抽出部２４が、部分的な構造に接続するストック、フロー、または、コンバーターを抽出して部分的な構造に加え、新たな部分的な構造として更新する。
【００６８】
図１１に更新した部分的な構造の例を示す。図７に示された部分的な構造と比較すると、その部分的な構造に接続するストック５０６、フロー５１５、コンバーター５２５が新たに加わっている。
【００６９】
そして、ステップＳ１０７において、部分的な構造が更新前と変化がある場合は、処理をステップＳ１０５に戻し、影響範囲出力部１５は、部分的な構造を再び出力する。変化がない場合は、処理を終了する。なお、ユーザーの指示に従って、任意のタイミングで更新の繰り返しを止めてもよい。
【００７０】
次に、第二の実施形態の効果について説明する。本実施形態のシミュレーションモデル生成支援装置２は、第一の実施形態と比べると、部分的な構造に接続するストック、フロー、または、コンバーターを抽出して部分的な構造に加えて新たな部分的な構造として更新し、更新する動作を繰り返す点で異なる。このように部分的な構造を更新していくことで、シミュレーションモデルの変更による影響を直接受ける範囲から、徐々に、間接的に影響を受ける範囲を表示していくことができる。シミュレーションモデルの変更による影響を受ける範囲を段階的に表示していくことで、モデルの作成者は、シミュレーションモデル全体への影響を一度に検討する場合に比べて、優先順位をつけて、影響範囲を検討することができるようになる。
【００７１】
以上で説明したように、第二の実施形態でも、シミュレーションモデルに対して、変更部分に関わるストックと同一の実体を表現するストックとその間のフロー、および、それらに接続する箇所を、変更の影響を受けうる部分的な構造として出力する。そのため、シミュレーションモデルの一部を異なるシミュレーションの方法に変更した場合に、当該部分の変更によって影響を及ぼしうる範囲の推定をより速く、精度よく行うことが可能になる。
【００７２】
さらに、第二の実施形態では、出力する部分的な構造を更新していくことで、シミュレーションモデルの変更の影響範囲を、直接影響を受ける範囲から間接的に影響を受ける範囲へ、段階的に表示していくことができる。そのため、モデルの作成者は、優先順位をつけて、影響範囲を検討することが可能になる。
【００７３】
なお、上述する各実施の形態は、本発明の好適な実施の形態であり、本発明の要旨を逸脱しない範囲内において種々変更実施が可能である。
【００７４】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００７５】
（付記１）
変数の量を表すストック、前記ストック間の流れの量を表すフロー、および、前記フローに影響を及ぼす要因を表すコンバーターから構成されるシミュレーションモデルの入力を受け付けるモデル入力受付部と、
前記シミュレーションモデルの変更部分についての指示を受け付ける変更部分指示受付部と、
前記シミュレーションモデルから、前記変更部分に関わる前記ストック、前記変更部分に関わる前記ストックと同一の実体を表現する前記ストック、および、前記変更部分に関わる前記ストックあるいは前記変更部分に関わる前記ストックと同一の実体を表現する前記ストックの間の前記フローを抽出する同一実体抽出部と、
前記シミュレーションモデルから、前記同一実体抽出部が抽出した前記ストックおよび前記フロー、および、前記同一実体抽出部が抽出した前記ストックあるいは前記フローに接続する前記ストック、前記フローあるいは前記コンバーターから成る部分的な構造を抽出する影響範囲抽出部と、
前記影響範囲抽出部が抽出した前記部分的な構造を出力する影響範囲出力部と
を備えることを特徴とするシミュレーションモデル作成支援装置。
【００７６】
（付記２）
前記同一実体抽出部は、
前記変更部分に関わるストックと同一の実体を表現するストックとして、前記変更部分に関わる前記ストックと前記フローあるいは他の前記ストックを経由して流入あるいは流出がある前記ストックを抽出する
ことを特徴とする付記１に記載のシミュレーションモデル作成支援装置。
【００７７】
（付記３）
前記同一実体抽出部は、
前記ストックにあらかじめ付与された当該ストックがどの実体に関係するかの情報に基づき、前記変更部分に関わるストックと同一の実体を表現するストックを抽出する
ことを特徴とする付記１に記載のシミュレーションモデル作成支援装置。
【００７８】
（付記４）
前記影響範囲抽出部は、さらに、
抽出した前記部分的な構造に接続する前記ストック、前記フローあるいは前記コンバーターを抽出して前記部分的な構造に加えて新たな部分的な構造として更新し、前記更新を繰り返し行う
ことを特徴とする付記１から付記３のいずれかに記載のシミュレーションモデル作成支援装置。
【００７９】
（付記５）
変数の量を表すストック、前記ストック間の流れの量を表すフロー、および、前記フローに影響を及ぼす要因を表すコンバーターから構成されるシミュレーションモデルの入力と、前記シミュレーションモデルの変更部分についての指示を受け付け、前記シミュレーションモデルから、前記変更部分に関わる前記ストック、前記変更部分に関わる前記ストックと同一の実体を表現する前記ストック、および、前記変更部分に関わる前記ストックあるいは前記変更部分に関わる前記ストックと同一の実体を表現する前記ストックの間の前記フローを抽出し、前記シミュレーションモデルから、前記抽出したストックおよびフロー、および、前記抽出したストックあるいはフローに接続する前記ストック、前記フローあるいは前記コンバーターから成る部分的な構造を抽出し、前記部分的な構造を出力する
ことを特徴とするシミュレーションモデル作成支援方法。
【００８０】
（付記６）
前記変更部分に関わるストックと同一の実体を表現するストックとして、前記変更部分に関わる前記ストックと前記フローあるいは他の前記ストックを経由して流入あるいは流出がある前記ストックを抽出する
ことを特徴とする付記５に記載のシミュレーションモデル作成支援方法。
【００８１】
（付記７）
前記ストックにあらかじめ付与された当該ストックがどの実体に関係するかの情報に基づき、前記変更部分に関わるストックと同一の実体を表現するストックを抽出する
ことを特徴とする付記５に記載のシミュレーションモデル作成支援方法。
【００８２】
（付記８）
さらに、前記部分的な構造に接続する前記ストック、前記フローあるいは前記コンバーターを抽出して前記部分的な構造に加えて新たな部分的な構造として更新し、前記更新を繰り返し行う
ことを特徴とする付記５から付記７のいずれかに記載のシミュレーションモデル作成支援方法。
【００８３】
（付記９）
コンピューターに、
変数の量を表すストック、前記ストック間の流れの量を表すフロー、および、前記フローに影響を及ぼす要因を表すコンバーターから構成されるシミュレーションモデルの入力を受け付けるモデル入力受付機能と、
前記シミュレーションモデルの変更部分についての指示を受け付ける変更部分指示受付機能と、
前記シミュレーションモデルから、前記変更部分に関わる前記ストック、前記変更部分に関わる前記ストックと同一の実体を表現する前記ストック、および、前記変更部分に関わる前記ストックあるいは前記変更部分に関わる前記ストックと同一の実体を表現する前記ストックの間の前記フローを抽出する同一実体抽出機能と、
前記シミュレーションモデルから、前記同一実体抽出機能が抽出した前記ストックおよび前記フロー、および、前記同一実体抽出機能が抽出した前記ストックあるいは前記フローに接続する前記ストック、前記フローあるいは前記コンバーターから成る部分的な構造を抽出する影響範囲抽出機能と、
前記影響範囲抽出機能が抽出した前記部分的な構造を出力する影響範囲出力機能と
を実現させるためのシミュレーションモデル作成支援プログラム。
【００８４】
（付記１０）
前記同一実体抽出機能は、
前記変更部分に関わるストックと同一の実体を表現するストックとして、前記変更部分に関わる前記ストックと前記フローあるいは他の前記ストックを経由して流入あるいは流出がある前記ストックを抽出する
ことを特徴とする付記９に記載のシミュレーションモデル作成支援プログラム。
【００８５】
（付記１１）
前記同一実体抽出機能は、
前記ストックにあらかじめ付与された当該ストックがどの実体に関係するかの情報に基づき、前記変更部分に関わるストックと同一の実体を表現するストックを抽出する
ことを特徴とする付記９に記載のシミュレーションモデル作成支援プログラム。
【００８６】
（付記１２）
前記影響範囲抽出機能は、さらに、
抽出した前記部分的な構造に接続する前記ストック、前記フローあるいは前記コンバーターを抽出して前記部分的な構造に加えて新たな部分的な構造として更新し、前記更新を繰り返し行う
ことを特徴とする付記９から付記１１のいずれかに記載のシミュレーションモデル作成支援プログラム。
【符号の説明】
【００８７】
１、２    シミュレーションモデル作成支援装置
１１    モデル入力受付部
１２    変更部分指示受付部
１３    同一実体抽出部
１４、２４    影響範囲抽出部
１５    影響範囲出力部
３０１〜３０８、４０１〜４０８、５０１〜５０７    ストック
３１１〜３１６、４１１〜４１６、５１１〜５１５    フロー
３２１、４２１、５２１〜５２６    コンバーター
６０１〜６０９    エージェント
【図１】
2016091285.tif 000003
【図２】
2016091285.tif 000004
【図３】
2016091285.tif 000005
【図４】
2016091285.tif 000006
【図５】
2016091285.tif 000007
【図６】
2016091285.tif 000008
【図７】
2016091285.tif 000009
【図８】
2016091285.tif 000010
【図９】
2016091285.tif 000011
【図１０】
2016091285.tif 000012
【図１１】
2016091285.tif 000013
【図１２】
2016091285.tif 000014