JP4770495B2 - シミュレーションモデルジェネレータ - Google Patents

シミュレーションモデルジェネレータ Download PDF

Info

Publication number
JP4770495B2
JP4770495B2 JP2006026501A JP2006026501A JP4770495B2 JP 4770495 B2 JP4770495 B2 JP 4770495B2 JP 2006026501 A JP2006026501 A JP 2006026501A JP 2006026501 A JP2006026501 A JP 2006026501A JP 4770495 B2 JP4770495 B2 JP 4770495B2
Authority
JP
Japan
Prior art keywords
simulation
unit
node
simulation model
metrics
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006026501A
Other languages
English (en)
Other versions
JP2007207052A (ja
Inventor
浩之 金野
謙一 船木
泰範 山下
陽明 永松
孝裕 小倉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2006026501A priority Critical patent/JP4770495B2/ja
Priority to US11/700,040 priority patent/US7778807B2/en
Publication of JP2007207052A publication Critical patent/JP2007207052A/ja
Application granted granted Critical
Publication of JP4770495B2 publication Critical patent/JP4770495B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation

Description

本発明は、経済や社会等の現象や事象を因果関係で表してシミュレーションする為のシミュレーションモデル作成方法に関する。
競合他社よりも有利な意思決定ができるようにする為には、より正確な情報をより早い段階で入手し、他社よりも先手を打てる意思決定支援が重要となってきている。そのためには、将来を予測するようなシミュレーションが有効である。シミュレーションには、事象のイベントをハンドリングしながらシミュレーションする離散系のシミュレーションと変数の値が時間軸上で連続的に変化する連続系のシミュレーションがある。例えば、非特許文献1においては、政策の意思決定、あるいは、新製品を市場に投入する際、設定した価格が売上に対してどのように影響を与えるかといった因果関係の連鎖予測には、連鎖のフィードバックループや、ミクロな事象をモデルから割愛できる連続系のシミュレーションが有効であると開示している。その中で、世の中の社会現象に見られるような因果関係により構成されるシステムに対する連続系のシミュレータとして一般的にシステムダイナミクスが適していると述べている。ちなみに、システムダイナミクスは、MITのフォレスタによって創案されたもので、現象を差分方程式として記述して過渡的な変動をシミュレーションする手法である。システムダイナミクスでは、モノの流れをレートと呼ばれる記号(変数)とモノの蓄積をレベルと呼ばれる記号(変数)の2つを組み合わせることによりモデルを構築する。
システムダイナミクスのシミュレーションモデル構築方法として、Dynamoと呼ばれるテキスト形式のプログラミングと市販のツールのようなビジュアルな画面にてレートやレベルの関係を設定しながら構築する方法がある。
「SDによるバブル期以降の経済動向の可視化」内山 章:(2004年10月23日開催:JSD学会講演会)
システムダイナミクスのシミュレーションモデル化では、モデル化したい対象をレートにするのかレベルにするのかが重要となるが、社会現象のような目には見え難い因子に対しては、どのようにレートやレベルをモデル化したら良いかの指針がなかった。そのため、シミュレーションモデル作成経験をある程度積むまでは試行錯誤繰り返しながらシミュレーションモデルを構築せざるを得ず、多大な労力と時間を要していた。
上記課題を解決するために、本発明のシミュレーションモデルジェネレータは、現象や事象を因果関係で表してシミュレーションするシミュレータのシミュレーションモデルを作成するシミュレーションモデルジェネレータであって、
前記現象や事象などの因果関係を、各現象、各事象を定義付けしたノードと、各ノード間の因果関係を表わすリンクとにより構造化して定義するユーザインタフェース画面を提示して、ユーザの入力を受付け、各ノードを定義する情報、原因ノードと結果ノードを結ぶ各リンクに関する情報をデータベースへ登録する手段と、ユーザインタフェース画面を提示して、前記登録された現象や事象を定義した各ノードに対して、それらの程度の量を定量的に表すメトリクス情報を、少なくともメトリクス名称、単位、メトリクス計算式、算出結果を集計する期間の単位である出力タイムバケットのデータ項目からなるレコードとしてユーザ入力より受付け、データベースへ登録する手段と、ユーザインタフェース画面を提示して、メトリクス情報に設定する単位の種類を、単位毎に単位、係数、ベース単位、時間に関する単位か否かを識別する時間フラグのデータ項目からなるレコード形式にて、ユーザ入力を受付け、データベースへ登録する手段と、ユーザインタフェース画面を提示して、ユーザによるノードの選択を受付け、該選択された結果ノードにリンクで結ばれた原因ノードを登録データから検索して抽出して、抽出された原因ノードに設定されているメトリクス名称、単位をユーザへ表示して、ユーザより各種係数名、単位、および値、並びに前記メトリクス名称を含む、前記選択された結果ノードのメトリクスの計算式の入力を受付けて、データベースへ登録する手段と、ユーザインタフェース画面を提示して、登録されている前記単位データの中より、前記時間フラグがONである単位データのリストを表示し、ユーザの選択を受付けて、シミュレーションにおける1ステップ当たりの期間の単位を表すシミュレーションタイムバケットを設定して、データベースへ登録する手段と、前記ノードとリンクとにより構造化して定義した因果関係図を対象として、前記データベースに登録されているシミュレーションモデル名、シミュレーションタイムバケットを読み出し、前記シミュレーションモデル名に所属する全てのノードの各々に対して、設定された前記メトリクス情報を前記データベースから読み出し、前記メトリクス情報の出力タイムバケットが前記シミュレーションタイムバケットよりも大きい場合には、当該メトリクスの計算式には、原因ノードのメトリクスと係数を用いた関数によって、シミュレーション時間上のt時点における流入量(レートAn)R An (t)、シミュレーション時間上のt時点における流出量(レートBn)R Bn (t)、及びR An (t)の出力タイムバケットの期間中の蓄積量(レベルn)Ln(t)を算出するプログラムテンプレートを適用してプログラムモジュールを作成し、前記メトリクス情報の出力タイムバケットが前記シミュレーションタイムバケット未満の場合には、当該メトリクスの計算式には、原因ノードのメトリクスと係数を用いた関数によって、シミュレーション時間上のt時点における流入量(レートAn)R An (t)の流量を算出するプログラムテンプレートを適用してプログラムモジュールを作成し、前記各ノードに対して作成された各プログラムモジュールのインプットI/FとアウトプットI/Fとに、前記因果関係図のリンクと同等のリンクを張って、シミュレーションモデルを作成するシミュレーションモデル生成手段とを備えたことを特徴とするシミュレーションモデルジェネレータである。
本発明によれば、現象や事象などの因果関係を元にシミュレーションモデルに書き下す際にシステムダイナミクス特有の流量を現すレートと、蓄積を現すレベルを区別する必要がないので、試行錯誤していた従来のモデル構築方法に比べて期間を大幅に短縮することができる。また、システムダイナミクスの知識を持たない非専門家でもシミュレーションモデルを作成し、シミュレーションすることができる。
以下、本発明のシミュレーションモデルジェネレータの一実施形態について図面を用いて説明する。本実施例では、製品の売上向上を図るための施策とその効果の関係を因果関係として表し、それを基にシステムダイナミクスのシミュレーションモデルを自動生成するまでの過程を述べる。
まず、本発明のシミュレーションモデルジェネレータの全体構成を説明する。
図1は、本発明のシミュレーションモデルジェネレータを実現する情報処理システムの一実施形態を示すブロック図である。図1に示すように、シミュレーションモデルジェネレータ1は、現象や事象などの因果関係をノードとリンクを用いて記述する因果関係定義手段11と、各ノードの状態を定量的に表現するためのメトリクスを設定するメトリクス定義手段12と、メトリクスに設定可能な単位を登録する単位マスタ定義手段13と、各メトリクス間の影響関係を定義する影響関係定義手段14と、シミュレーション実行における1ステップにおける期間を設定するシミュレーションタイムバケット設定手段15と、シミュレーションモデル生成手段16と、各手段の実行結果を記憶するテータベース2を有している。シミュレータ4は、データベース2に登録されたシミュレーションモデルを用いてシミュレーションを行う。
次に、シミュレーションモデルジェネレータ1のハードウェア構成について説明する。図2は、シミュレーションモデルジェネレータ1の一実施形態におけるハードウェア構成を示したものである。シミュレーションモデルジェネレータ1は、シミュレーションモデルジェネレータのサーバ3に示す電子計算機にて稼動する。シミュレーションモデルジェネレータ1のサーバ3は、CPU31、メモリ32、通信制御部33、補助記憶装置20を有している。
図1で説明した各手段は、シミュレーションモデルジェネレータのプログラムとして補助記憶装置20に格納され、必要に応じてメモリ32に読み出され、CPU31によって処理される。同様に、図1で説明したデータベース2は、例えば、リレーショナルデータベースやファイルとして補助記憶装置20に格納され、必要に応じてメモリ32にデータが読み出され、プログラムにて利用される。
また、シミュレーションモデルジェネレータのプログラムのサーバ3で必要なデータをシミュレーションモデルジェネレータのプログラムのクライアント6における電子計算機にて作成し、ネットワーク5を経由して補助記憶装置20に登録することができる。なお、シミュレーションモデルジェネレータのクライアント6とネットワーク5を利用しないで、直接、シミュレーションモデルジェネレータのサーバ3と補助記憶装置の構成でも良い。
図3は、図1で説明したシミュレーションモデルジェネレータ1の各手段とデータベース2とのやり取りを時系列的に示した図である。また、図4から図21は、図3で記した各手段での入出力データや画面、各種アルゴリズムをあらわした図である。以下、図3及び図4から図27までの図を用いて説明する。
初めに、図3のAに記したシミュレーションモデルジェネレータのサーバ3で必要なデータを準備する処理のシーケンスついて説明する。因果関係図定義手段11は、現象や事象などの因果関係をノードとリンクを用いて記述する機能である。
図4は、因果関係図定義手段11の画面のイメージ図である。図中のキャンバス119は、因果関係を記述する部分である。パレット111にあるノードやリンクをマウスにてキャンバス119へドラッグ&ドロップすることで、因果関係の構造を書き上げていく。例えば、パレット111のノードをキャンバス119の領域へドラッグ&ドロップし、ノード名称として「売上増加」と入力することで、同図中のAに示すような図が表示される。
このようにユーザが、パレット111上のノードやリンクをキャンバス119にドラッグ&ドロップしていくことで、例えば、図5のキャンバス119に記すような因果関係図を書き上げる。本因果関係図の意味は、「領域Bを例とすると、販売台数を増加させると、売上が増加する」ということを意味する。即ち、リンクの矢印が無い方に接しているノードが原因で、結果として、矢印側のノードに記されている事柄が発生する因果の方向を表現する。ここで、登録ボタン117をクリックすると、システムが、図6に記すような登録確認画面を表示させる。ここで、シミュレーションモデル名称を入力(ここでは「モデル1」)後、登録ボタンを押下すると、システムが、これまで入力された因果関係図のデータをデータベース2に登録する。
ここまでで関連するデータベース2のテーブルイメージを図7と図8に示す。図7は、メトリクステーブル201のイメージ図である。詳細は後述するが、同図のAに関する部分が、キャンバス119で入力した因果関係図のノードに関連したノード名称やノードの座標などのデータを登録する部分である。
なお、モデル名のフィールドには、登録確認画面にて入力されたモデル名を登録する。図8は、リンクテーブル202のイメージ図である。モデル名毎にノード同士を結ぶリンク情報を登録するテーブルであり、モデル名、リンクID、原因ノード名称、結果ノード名称のフィードからなる。ここで、リンクIDのフィールドには、ノードとノードを結ぶ各リンクの識別IDが登録される。
また、原因ノード名称のフィールドには、当該リンクIDの矢印が無い方に接しているノード名称が登録され、結果ノード名称のフィールドには、矢印側に接しているノード名称が登録される。以上が、図3における因果関係図定義手段11に関する説明である。
次に、同図中のメトリクス定義手段12と単位マスタ定義手段13について説明する。メトリクス定義手段12は、因果関係図定義手段11にて作成した各ノードに対して、その程度を定量的に測定するメトリクスとその単位等を設定する機能である。
図9は、本機能を実現するためのメトリクス定義画面のイメージ図である。本画面のスプレッドシート上には、図7にて記載したメトリクステーブル201のノード名称と領域Bに記したメトリクス名称、単位、出力タイムバケットの値が表示される。本画面を始めて開いた際は、ノード名称以外のフィールドは、設定されていないため、空白であるので、ノード名称毎にメトリクス名称、単位、出力タイムバケットを入力する。出力タイムバケットとは、シミュレーションによって得られたメトリクスの算出値の集計期間である。
ここで、メトリクスの単位はリストボックスによりメニューから選択することができる。なお、メニューリストは、図10に示す単位テーブル203中の単位フィールドの値が表示される。
同様に、出力タイムバケットのリストボックスのメニューリストは、単位テーブル203中の時間フラグのフィールドがONのレコードを対象とし、その中の単位フィールドの値が表示される。図9の各種項目を入力後、閉じるボタンをクリックすると、入力結果がメトリクステーブル201の領域Bへ登録され、本画面が閉じる。
図3の単位マスタ定義手段13は、メトリクスに設定する単位の種類を登録する機能である。本機能を実現するための単位マスタ定義画面のイメージ図を図11に示す。本画面のスプレッドシート上には、単位、係数、ベース単位、時間フラグのフィールドからなる。スプレッドシートの意味として、例えば、「分」の単位は、「秒」の単位の60倍で表現できるということである。
また、ベース単位が無い場合は、「―」として表現する。その場合、単位の意味として、時間に関係するのか否かの識別を時間フラグフィールドにて設定する。本画面の閉じるボタンをクリックすることで、入力結果が、図10の単位テーブル203に反映される。なお、本画面は、図9のメトリクス定義画面の単位マスタ設定ボタンをクリックすることで表示される。
メトリクス定義画面にて入力した結果は、図12の因果関係図定義画面のように設定したメトリクス名称が画面に反映される。本実施例では、上述した通り、まず最初に現象や事象名などの因果関係を明記した後に、各ノードに対してその程度の量を測定できるようにするメトリクス設定するようにしている。このようにした理由は、人間が物事を考える順番のステップと一致させるようにする為である。
しかし、頭の中で考えた現象や事象を元にメトリクス間の関係定義から実施したい場合も当然有りえる。従って、図12に記した因果関係図定義画面の代替案として、図13に記した因果関係図定義画面のような形態でも良い。これは、キャンバス119aには、現象や事象名ではなく、そのメトリクス間の因果関係を記すものである。
続いて、図3の影響関係定義手段14について説明する。影響関係定義手段14は、原因ノードに設定されているメトリクスの値の変化が、結果ノードに設定されているメトリクスにどのように影響を与えるかという影響関係を定義する機能である。本機能を実現するための影響関係定義画面のイメージ図を図14に示す。ノード名称のリストには、因果関係図で入力したノード名称一覧が表示される。このデータは、図7のメトリクステーブル201のノード名称フィールドの値である。
ユーザは、ここから、影響関係を定義したいノードを選択する。すると、システムが、それに対応したメトリクス名称、単位、出力タイムバケット、メトリクスの初期値や影響関係情報をメトリクステーブル201より抽出し、表示する。また、影響関係情報の欄には、当該ノードにリンクが張られた原因ノードのメトリクス名称と単位が表示される。
この表示データの抽出方法について簡単に説明する。前述したノード名称のリストから選択した値をキーとして、図8のリンクテーブル202の結果ノード名称フィールドを検索し、原因ノード名称フィールドの値を得る。その値を用いて、図7中のメトリクステーブル201のノード名称を検索することで、メトリクス名称と単位を得ることができる。
ユーザは、式の欄に、リンクメトリクス名称の列に表示されたメトリクスを全て含んだ計算式を記入する。ここで、例えば「消費税率」など変更する可能性があるようなデータは、図14の領域Aに示すように、設定することができる。ここで設定した係数は、他のメトリクスの計算式でも流用できる。その為、例えば「消費税率」の値に変化がある場合、その値を変更するだけで「消費税率」を利用した全ての式に反映させることができる。
「式の判定」の欄は、ユーザが入力した式のチェック結果をシステムが表示する欄である。チェック項目は、「リンクメトリクス名称を全て利用していること」、「加減算では単位の整合性がとれていること」、「入力した算出式の単位が当該ノードのメトリクスの単位に換算できること」、「式で利用する名称は、リンクメトリクス名称又は係数名に登録されていること」の4種類からなる。
例えば、図14に記されている計算式では、リンクメトリクスの「平均販売額」が利用されていない為、システムが、その旨のメッセージを「式の判定」欄に表示する。正しい計算式の例を領域Bに示す。
図14のグラフ関数ボタンをユーザがクリックすると、システムが、図16に示すグラフ関数定義画面を表示させる。本画面は、例えばシステムダイナミクスの製品で既に良く知られているように、二種類のメトリクスの関係を算出する関数の振る舞いを設定する画面である。ユーザが、X軸とY軸それぞれに対応するメトリクスを設定し、その関係をグラフ上のドットをマウスで移動させながらグラフィカルに設定することができる。ここで設定した関数は、図14の式の欄で利用できる。
図14において、ユーザが、閉じるボタンをクリックすると、システムが、式の欄の計算式を図7のメトリクステーブル201の式フィールドに格納する。また、領域Aのデータを図15の係数テーブル204に格納する。
図3のシミュレーションタイムバケット設定手段15は、シミュレーション実行における1ステップにおける期間を設定する機能である。
図17は、本機能を実現するためのシミュレーションタイムバケット設定画面のイメージ図である。本画面は、因果関係図定義画面内のシミュレーションタイムバケットボタン115をクリックすると表示される。シミュレーションタイムバケット設定画面におけるリスト中のデータは、図10の単位テーブル203の単位フィールドを利用するもので、抽出条件は、時間フラグがONのレコードである。ユーザは、シミュレーションタイムバケット設定画面の中から何れか1つを選択する。閉じるボタンがクリックされると、システムが、図18のシミュレーションタイムバケットテーブル205に選択結果を登録する。
以上までの説明が、図3におけるシミュレーションモデルを自動生成するために必要なデータを準備するシーケンスである(領域A)。ちなみに、登録ボタン117にてデータベース2に登録したデータを読み出す場合は、開くボタン118を押下することで、再読み出し可能である。本ボタンをクリックすることで、システムが、図19に示す因果関係図読み出し画面表示する。
ユーザが、開きたいモデルをリストより選択し、開くボタンをクリックすることで、データを読み出すことができる。ここで、リストメニューに表示するデータは、メトリクステーブル201のモデル名フィールドを集約化したデータである。
次に、図3のシミュレーションモデル生成手段16について説明する。本手段は、現在開いている因果関係図を対象にしたシミュレーションモデルを自動生成する機能である。本機能は、シミュレーションモデル生成ボタン116を押下することで呼び出すことができる。
図20は、シミュレーションモデルを生成するためのフローチャートである。初めに、シミュレーションモデル生成対象のシミュレーションモデル名を得る(ステップ101)。
次に、シミュレーションタイムバケットテーブル205のモデル名フィールドがシミュレーションモデル名と一致したタイムバケット(ステップ102)を得る。
続いて、メトリクステーブル201のモデル名フィールドがシミュレーションモデル名と一致したレコードを座標X,Y順にて抽出し、ループ回数をカウントアップさせる(ステップ103、104)。
ステップ105では、単位テーブル203を利用してステップ102とステップ103で得たタイムバケットを最小の時間単位に換算する。出力タイムバケットとシミュレーションタイムバケットを比較し(ステップ106)、出力タイムバケットが大きい場合は、図21に示すプログラムテンプレート161を選択し、そこへステップ103にて得たメトリクステーブル201や係数テーブル204、ステップ104にて得たループ回数を図23に示した対応関係に従ってパラメータを設定し、プログラムモジュールを作成する(ステップ107、108)。
ここで、図21のプログラムテンプレート161の意味を説明する。これは、原因ノードのメトリクス1612と係数1613を用いた関数(式1611)にて、RAn(t)及び、RAn(t)の出力タイムバケットの期間中の蓄積量を算出するプログラム(「データ蓄積用」)のテンプレートである。
図中のRAn(t)とは、シミュレーション時間上のt時点における流入量(レートAn)のことである。この流入量とメトリクスの量は、同一である。RBn(t)とは、シミュレーション時間上のt時点における流出量(レートBn)のことである。Ln(t) とは、t時点における蓄積量(レベルn)のことであり、数式(1)の関数として表現することができる。
なおdtとはシミュレーションタイムバケットのことである。また、RBn(t)は、数式(2)の関数として表現できる。なお、Tは、出力タイムバケット(時定数)で、t0は、シミュレーション開始時点、t1は、最初にパルスが発生する時点を意味する。式1611は、RAn(t)の値を算出する関数である。
Figure 0004770495
Figure 0004770495
図20のステップ106において、出力バケットが、シミュレーションタイムバケット以下の場合、図22に示すプログラムテンプレート162を選択し、そこへステップ103にて得たメトリクステーブル201や係数テーブル204、ステップ104にて得たループ回数を図24に示した対応関係に従ってパラメータを設定し、プログラムモジュールを作成する(ステップ109、110)。
ここで、図22のプログラムテンプレート162の意味を説明する。これは、原因ノードのメトリクス1612と係数1613を用いた関数(式1611)にて、RAn(t)の流量を算出するプログラム(「流量算出用」)のテンプレートである。メトリクステーブル201に次レコードが存在する場合、ステップ103を繰り返す(ステップ111)。
図20のステップ112では、リンクテーブル202のモデル名フィールドがシミュレーションモデルと一致したレコードを抽出し、続いて、ステップ113において、原因ノード名称と結果ノード名称に対応するメトリクス名称をメトリクステーブル201から抽出する。
その後、結果ノード名称のメトリクスに対応するプログラムのインプットI/Fと原因ノード名称のメトリクスに対応するプログラムのアウトプットI/Fに対してリンクを張る(ステップ114)。最後に、リンクテーブル202に次レコードの有無を確認し、在る場合は、ステップ112へ戻り、無い場合は、終了とする(ステップ115)。
図25は、前述したフローチャートの実行後に、出力されるシミュレーションモデルのイメージ図である。図示の通り、シミュレーションモデルは、プログラムテンプレートから生成された複数のプログラムモジュールの組み合わせによって構成される。
このシミュレーションモデルは、シミュレータ4が理解できる表現であることが必要であるので、メモリ32内でのデータの持ち方として、例えば、図26に示すシミュレーションモデルテーブル206として表現される。
シミュレーションモデルテーブル206は、図示の通り、モデル名、オブジェクト名、タイプ、サイズ、メトリクス、メトリクスの初期値、式のフィールドからなる。オブジェクト名は、数式に利用される変数名のことで、タイプは、変数の種類のことで、レート、レベル、係数からなる。
タイプがレートの場合は、オブジェクトのサイズ、対応するメトリクスの名称、その単位、式フィールドを有する。タイプがレベルの場合は、オブジェクトのサイズ、対応するメトリクスの初期値と、式フィールドを有する。タイプが係数の場合は、オブジェクトのサイズ、対応するメトリクスの初期値フィールドを有する。
ここでオブジェクトのサイズは、変数の領域サイズのことである。タイプが係数のオブジェクトは、時系列の変化に影響しない変数であるので、サイズが1であり、レートやレベルなどの時系列で推移するものは、配列としてtendサイズが必要であることを意味する。なお、tendとはシミュレーション期間のことである。式のフィールドは、各変数を算出するための方程式が登録される。上述した変数を実際に格納する際のテーブルイメージを図27のシミュレーションデータテーブル207に示す。本テーブル207は、シミュレーションモデル毎の利用変数(オブジェクト名)と、実行結果を格納する値フィールドからなる。
オブジェクトのタイプが、レートの場合は、図示の通り、値が全てNULLの配列がtendのサイズ分登録する。ここで、NULLとは、シミュレーション実行するまで結果が未確定であるということを意味する。オブジェクトのタイプが、レベルの場合は、シミュレーション時点が0時点にのみシミュレーションモデルテーブル206のメトリクスの初期値フィールドの値を登録し、それ以外はNULLとして登録する。オブジェクトのタイプが、係数の場合は、シミュレーションモデルテーブル206にあるメトリクスの初期値フィールドの値を登録する。
続いて、生成したシミュレーションモデルを実行するシミュレータ4の機能について説明する。図28は、シミュレーション画面のイメージ図である。ユーザが、シミュレーションしたいモデルをリストより選択し、シミュレーション開始日、期間、シミュレーションタイムバケットを設定し、実行ボタンをクリックすることで、システムが選択されたシミュレーションモデルに対応するデータをシミュレーションモデルテーブル206から抽出し、シミュレーションする。シミュレーション実行結果は、シミュレーションデータテーブル207に格納され、Y軸のリストには、シミュレーションモデルで作成したメトリクス名称の一覧が表示される。
ユーザが、閲覧したいメトリクスをメニューから選択すると、システムが、選択したメトリクスと一致するオブジェクト名が一致するレコードをシミュレーションデータテーブル207より抽出する。続いて、抽出した値レコードの値をメトリクスの単位に集約し、最終的にX軸を出力タイムバケットとしたグラフデータを表示する。これによって、ユーザは、シミュレーション実行結果をグラフ形式で確認することができる。
最後に、シミュレーションデータテーブル207へ値を出力する、シミュレータ4のシミュレーションロジックのフローチャートと本システムの別の実施形態について図29と図30を用いて説明する。
図29は、シミュレータ4のシミュレーションロジックのフローチャートである。始めに、シミュレーションを実施したいモデルの名称、シミュレーション開始、期間を得る(ステップ401、402)。続いて、シミュレーション上の時間(t時点)を初期化(t=0)する(ステップ403)。次に、t時点をインクリメント(t=t+1)する(ステップ404)。ステップ405では、シミュレーションモデルテーブル406より、モデル名フィールドとステップ401で得たモデル名とが一致するレコードを1件抽出する。抽出したレコードの式フィールドに登録された計算式を構成する各変数の値をシミュレーションデータテーブル207より得る(ステップ406)。
そこで得た変数の値の中にNULLが含まれていない場合(ステップ407)、ステップ405で得た式フィールドの計算式の各変数に、取得した値を代入し、計算式を解く(ステップ408)。続いて、そこで得た解をシミュレーションデータテーブル407に格納する(ステップ409)。
ステップ407において、変数の中にNULLが含まれていた場合、ステップ405で得た式フィールドの値を先入先出形式のスタックに一時保存する。ステップ405にて次のレコードが存在すれば、再度繰り返す(ステップ411)。ステップ410で利用したスタックに値が存在していた場合(ステップ412)、スタックから値を先入先出にて取り出し(ステップ413)、ステップ405へ戻る。ステップ412にてスタックが空だった場合、シミュレーション期間とt時点を比較し、t時点がシミュレーション期間に達していない場合は、ステップ404を実施し、達した場合は終了する(ステップ414)。
図30は、本システムの別の実施形態を示すブロック図である。シミュレーションモデルジェネレータ1aは、シミュレータ4も包含する形態で実現しても良い。本実施形態においては、以上説明したように、因果関係の構造、メトリクス間の影響関係、メトリクスの出力タイムバケット及びシミュレーションタイムバケットを定義することによってシミュレーションモデルを自動生成し、シミュレーションをすることができる。これにより、シミュレーションモデル構築期間を大幅に短縮することができる。また、システムダイナミクスの知識を持たない非専門家でもシミュレーションモデルを作成し、シミュレーションすることができる。
本発明のシミュレーションモデルジェネレータを実現する情報処理システムの一実施形態を示すブロック図である。 シミュレーションモデルジェネレータの一実施形態におけるハードウェア構成を示す図である。 シミュレーションモデルジェネレータの各手段、データベース、シミュレータとのやり取りを時系列的に示した図である。 因果関係図定義手段の画面のイメージ図である。 因果関係図定義手段の画面のイメージ図である。 登録確認画面のイメージ図である。 メトリクステーブルのイメージ図である。 リンクテーブルのイメージ図である。 メトリクス定義画面のイメージ図である。 単位テーブルのイメージ図である。 単位マスタ定義画面のイメージ図である。 因果関係図定義画面のイメージ図である。 因果関係図定義画面のイメージ図である。 影響関係定義画面のイメージ図である。 係数テーブルのイメージ図である。 グラフ関数定義画面のイメージ図である。 シミュレーションタイムバケット設定画面のイメージ図である。 シミュレーションタイムバケットテーブルのイメージ図である。 因果関係図読み出し画面のイメージ図である。 シミュレーションモデル生成フローチャート図である。 プログラムテンプレート161のイメージ図である。 プログラムテンプレート162のイメージ図である。 プログラムテンプレート161を活用したプログラムモジュールの生成イメージのイメージ図である。 プログラムテンプレート162を活用したプログラムモジュールの生成イメージのイメージ図である。 自動生成したシミュレーションモデルのイメージ図である。 シミュレーションモデルテーブルのイメージ図である。 シミュレーションデータテーブルのイメージ図である。 シミュレーション画面のイメージ図である。 シミュレータのシミュレーションロジックのフローチャート図である。 本発明のシミュレーションモデルジェネレータを実現する情報処理システムの別の実施形態を示すブロック図である。
符号の説明
1…シミュレーションモデルジェネレータ、 1a…シミュレーションモデルジェネレータの別の実施形態、 11…因果関係図定義手段、 111…パレット、
112…メトリクス定義ボタン、 113…シミュレーションボタン、 114…影響関係定義ボタン、 115…シミュレーションタイムバケット定義ボタン、
116…シミュレーションモデル生成ボタン、 117…登録ボタン、 118…開くボタン、 119…キャンバス、 111a…メトリクスで現したパレット、
12… メトリクス定義手段、 13…単位マスタ定義手段、 14…影響関係定義手段、 15…シミュレーションタイムバケット設定手段、 16…シミュレーションモデル生成手段、 2… データベース、 20…補助記憶装置、 201…メトリクステーブル、 202…リンクテーブル、 203…単位テーブル、 204…係数テーブル、 205…シミュレーションタイムバケットテーブル、 206…シミュレーションモデルテーブル、 207…シミュレーションデータテーブル、 3…シミュレーションモデルジェネレータのサーバ、 31…CPU、 32…メモリ、
33…通信制御部、 4…シミュレータ、 5…ネットワーク、 6…シミュレーションモデルジェネレータのクライアント

Claims (1)

  1. 現象や事象を因果関係で表してシミュレーションするシミュレータのシミュレーション
    モデルを作成するシミュレーションモデルジェネレータであって、
    前記現象や事象などの因果関係を、各現象、各事象を定義付けしたノードと、各ノード間の因果関係を表わすリンクとにより構造化して定義するユーザインタフェース画面を提示して、ユーザの入力を受付け、各ノードを定義する情報、原因ノードと結果ノードを結ぶ各リンクに関する情報をデータベースへ登録する手段と、
    ユーザインタフェース画面を提示して、前記登録された現象や事象を定義した各ノードに対して、それらの程度の量を定量的に表すメトリクス情報を、少なくともメトリクス名称、単位、メトリクス計算式、算出結果を集計する期間の単位である出力タイムバケットのデータ項目からなるレコードとしてユーザ入力より受付け、データベースへ登録する手段と、
    ユーザインタフェース画面を提示して、メトリクス情報に設定する単位の種類を、単位毎に単位、係数、ベース単位、時間に関する単位か否かを識別する時間フラグのデータ項目からなるレコード形式にて、ユーザ入力を受付け、データベースへ登録する手段と、
    ユーザインタフェース画面を提示して、ユーザによるノードの選択を受付け、該選択された結果ノードにリンクで結ばれた原因ノードを登録データから検索して抽出して、抽出された原因ノードに設定されているメトリクス名称、単位をユーザへ表示して、ユーザより各種係数名、単位、および値、並びに前記メトリクス名称を含む、前記選択された結果ノードのメトリクスの計算式の入力を受付けて、データベースへ登録する手段と、
    ユーザインタフェース画面を提示して、登録されている前記単位データの中より、前記時間フラグがONである単位データのリストを表示し、ユーザの選択を受付けて、シミュレーションにおける1ステップ当たりの期間の単位を表すシミュレーションタイムバケットを設定して、データベースへ登録する手段と、
    前記ノードとリンクとにより構造化して定義した因果関係図を対象として、前記データベースに登録されているシミュレーションモデル名、シミュレーションタイムバケットを読み出し、前記シミュレーションモデル名に所属する全てのノードの各々に対して、設定された前記メトリクス情報を前記データベースから読み出し、
    前記メトリクス情報の出力タイムバケットが前記シミュレーションタイムバケットよりも大きい場合には、当該メトリクスの計算式には、原因ノードのメトリクスと係数を用いた関数によって、シミュレーション時間上のt時点における流入量(レートAn)R An (t)、シミュレーション時間上のt時点における流出量(レートBn)R Bn (t)、及びR An (t)の出力タイムバケットの期間中の蓄積量(レベルn)Ln(t)を算出するプログラムテンプレートを適用してプログラムモジュールを作成し、
    前記メトリクス情報の出力タイムバケットが前記シミュレーションタイムバケット未満の場合には、当該メトリクスの計算式には、原因ノードのメトリクスと係数を用いた関数によって、シミュレーション時間上のt時点における流入量(レートAn)R An (t)の流量を算出するプログラムテンプレートを適用してプログラムモジュールを作成し、
    前記各ノードに対して作成された各プログラムモジュールのインプットI/FとアウトプットI/Fとに、前記因果関係図のリンクと同等のリンクを張って、シミュレーションモデルを作成するシミュレーションモデル生成手段と、
    を備えたことを特徴とするシミュレーションモデルジェネレータ。
JP2006026501A 2006-02-03 2006-02-03 シミュレーションモデルジェネレータ Expired - Fee Related JP4770495B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006026501A JP4770495B2 (ja) 2006-02-03 2006-02-03 シミュレーションモデルジェネレータ
US11/700,040 US7778807B2 (en) 2006-02-03 2007-01-31 Simulation model generator of causality phenomena and events

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006026501A JP4770495B2 (ja) 2006-02-03 2006-02-03 シミュレーションモデルジェネレータ

Publications (2)

Publication Number Publication Date
JP2007207052A JP2007207052A (ja) 2007-08-16
JP4770495B2 true JP4770495B2 (ja) 2011-09-14

Family

ID=38369794

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006026501A Expired - Fee Related JP4770495B2 (ja) 2006-02-03 2006-02-03 シミュレーションモデルジェネレータ

Country Status (2)

Country Link
US (1) US7778807B2 (ja)
JP (1) JP4770495B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11983495B2 (en) 2019-02-25 2024-05-14 Nippon Telegraph And Telephone Corporation Evaluation apparatus and evaluation method

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011137935A1 (en) * 2010-05-07 2011-11-10 Ulysses Systems (Uk) Limited System and method for identifying relevant information for an enterprise
US10275545B2 (en) 2013-03-15 2019-04-30 Ventana Systems, Inc. Modeling and simulation
JP6806046B2 (ja) * 2015-02-26 2021-01-06 日本電気株式会社 情報処理装置、情報処理方法およびコンピュータプログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05225169A (ja) * 1992-02-17 1993-09-03 Hitachi Ltd モデル生成方法
JPH06309333A (ja) * 1993-04-26 1994-11-04 Nippon Telegr & Teleph Corp <Ntt> オペレーションフローシミュレータシステム
JPH0850576A (ja) * 1994-08-05 1996-02-20 Sumitomo Metal Ind Ltd 視覚対話型シミュレーション装置
US6321205B1 (en) * 1995-10-03 2001-11-20 Value Miner, Inc. Method of and system for modeling and analyzing business improvement programs
JPH113101A (ja) * 1997-06-11 1999-01-06 Hitachi Ltd ロジスティクスチェーンシミュレーションシステム
US6970754B1 (en) * 1998-07-15 2005-11-29 Amada Company Limited Sales supporting apparatus
US6917845B2 (en) * 2000-03-10 2005-07-12 Smiths Detection-Pasadena, Inc. Method for monitoring environmental condition using a mathematical model
US6708156B1 (en) * 2000-04-17 2004-03-16 Michael Von Gonten, Inc. System and method for projecting market penetration
US7177834B1 (en) * 2000-09-29 2007-02-13 Maestle Wilfried A Machine-implementable project finance analysis and negotiating tool software, method and system
JP4134508B2 (ja) * 2000-11-10 2008-08-20 株式会社日立製作所 サプライチェーンシミュレーションシステム
US20070027736A1 (en) * 2003-06-02 2007-02-01 Damon Reynolds Planning tool
US7487076B2 (en) * 2003-10-31 2009-02-03 The Mathworks, Inc. Simplified data signal support for diagramming environment languages
US20070094219A1 (en) * 2005-07-14 2007-04-26 The Boeing Company System, method, and computer program to predict the likelihood, the extent, and the time of an event or change occurrence using a combination of cognitive causal models with reasoning and text processing for knowledge driven decision support
EP1628251A1 (en) * 2004-08-20 2006-02-22 Sap Ag Product availability check at a predetermined time.
US7805455B2 (en) * 2005-11-14 2010-09-28 Invention Machine Corporation System and method for problem analysis
US7860752B2 (en) * 2006-08-30 2010-12-28 Ebay Inc. System and method for measuring reputation using take volume

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11983495B2 (en) 2019-02-25 2024-05-14 Nippon Telegraph And Telephone Corporation Evaluation apparatus and evaluation method

Also Published As

Publication number Publication date
JP2007207052A (ja) 2007-08-16
US20070192081A1 (en) 2007-08-16
US7778807B2 (en) 2010-08-17

Similar Documents

Publication Publication Date Title
US11093668B2 (en) Modeling and simulation
Fritscher et al. Visualizing business model evolution with the business model canvas: Concept and tool
US7206997B2 (en) Functional visualization of spreadsheets
US20090070158A1 (en) Method apparatus and system for visualization of probabilistic models
US8626477B2 (en) Spreadsheet-based graphical user interface for modeling of products using the systems engineering process
US7805284B2 (en) Simulation model defining system for generating a simulation program for a simulator simulating a behavior of economy or society regarded as a system of phenomena and events
US20020075270A1 (en) Visualization of complex system interactions
JP2007328712A (ja) 時系列パターン生成システム及び時系列パターン生成方法
JP2012113537A (ja) 潜在リスク抽出方法およびシステム
Backhouse et al. “It’s Computers, Stupid!” The Spread of Computers and the Changing Roles of Theoretical and Applied Economics
Luściński Digital twinning for smart industry
JP4770495B2 (ja) シミュレーションモデルジェネレータ
JP4893078B2 (ja) シミュレーションモデル定義システム
JP2021022330A (ja) 板金加工見積作成支援装置及び板金加工見積作成支援方法
Do et al. Interactive analysis of product development experiments using On-line Analytical Mining
US20160071043A1 (en) Enterprise system with interactive visualization
Ramilo et al. Building information modelling: challenges and barriers among architectural practices
Pellegrino et al. Managing and Visualizing Your BIM Data: Understand the fundamentals of computer science for data visualization using Autodesk Dynamo, Revit, and Microsoft Power BI
Jaafari et al. A simulation model for life cycle project management
US20090063210A1 (en) Organizational design approach to transition cost assessment for business transformation
Sabbella et al. Artificial intelligence in 3D CAD modelling
West et al. Applied design structure matrices to quantify impact of proposed model based engineering solutions
CN117076690B (zh) 一种数据驱动的工艺流程组态方法及系统
US20020078423A1 (en) Automatic reconfiguration of system sub-models for independent analysis
FERREIRA DIGITAL TWIN CONCEPT APPLIED TO SIMULATION AND PERFORMANCE REPORTING FOR PRINTED CIRCUIT BOARD MANUFACTURING

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110125

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110325

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110524

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110606

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140701

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140701

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees