JPH06309295A - 離散事象シミュレーション装置 - Google Patents

離散事象シミュレーション装置

Info

Publication number
JPH06309295A
JPH06309295A JP9424793A JP9424793A JPH06309295A JP H06309295 A JPH06309295 A JP H06309295A JP 9424793 A JP9424793 A JP 9424793A JP 9424793 A JP9424793 A JP 9424793A JP H06309295 A JPH06309295 A JP H06309295A
Authority
JP
Japan
Prior art keywords
event
simulation
state
line
simulation model
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.)
Pending
Application number
JP9424793A
Other languages
English (en)
Inventor
Shuichi Kamimura
秀一 上村
Mutsumi Fujiwara
睦 藤原
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP9424793A priority Critical patent/JPH06309295A/ja
Publication of JPH06309295A publication Critical patent/JPH06309295A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

(57)【要約】 【目的】シミュレーションの中断、再スタートをシミュ
レーションを続けたのと同様に行うことを可能にするこ
とにある。 【構成】シミュレーション開始時に状態入力手段5を用
いて外部記憶装置からデータベース装置1にユーザの定
めた記述形式で記述されたシミュレーションモデルをそ
の格納形式に従って格納し、状態読取手段2を用いてデ
ータベース装置1より事象リストが取込まれると、事象
駆動手段4により状態読取手段2を用いてデータベース
装置1より取込まれた事象リストから最も早く生じる離
散事象と適当な事象ルーチンを選択し、状態書換手段3
を用いて事象ルーチンの内容に従ってデータベース装置
1の更新機能および検索情報の管理機能によりシミュレ
ーションモデルの状態の記述を書換え、シミュレーショ
ン実行途中で中断する場合には、状態出力手段6により
モデルの全状態をデータベース装置の形式で出力して外
部記憶装置に保存する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はシミュレーションの中
断、再スタートを容易に行うことの可能な離散事象シミ
ュレーション装置に関する。
【0002】
【従来の技術】離散事象シミュレーションは、シミュレ
ーションしようとするシステムの状態に変化をもたらす
出来事(以後、出来事を事象と呼ぶ)のみに注目し、事
象が生起する毎にそのシステムのモデル(以後、シミュ
レーションモデルと呼ぶ)の状態に変化を加えることで
ある。事象が生起した時にシミュレーションモデルにど
のような変化を加えるかについて表したものを事象ルー
チンと呼ぶ。
【0003】従来の離散事象シミュレーション装置で
は、シミュレーションを行うとき、まずシミュレーショ
ンモデルの構造を記述する。さらに、可能であれば、シ
ミュレーションモデルの初期条件を入力する。例えば初
期パラメータやシミュレーションモデルの初期状態を入
力する。この場合、離散事象シミュレーション装置には
シミュレーションモデルの構造や初期状態を記述するた
めの手段が用意されている。これは、ネットワーク構造
による記述手段やプログラミング言語のようなものが多
い。これらをシミュレーションモデル記述手段または簡
単にモデル記述手段と言う。
【0004】このような手段によってミュレーションモ
デルの構造と初期条件を記述し、これらを離散事象シミ
ュレーション装置に入力してシミュレーションを開始す
る。シミュレーションを開始するに際しては、まず離散
事象シミュレーション装置によって計算機内部にシミュ
レーションモデルの状態を記述する。この場合、計算機
内部でのシミュレーションモデルの記述手段(これを内
部記述手段と言う)と初期入力を記述するためのモデル
記述手段は異なるので、計算機内部に読み込む際にモデ
ル記述手段から内部記述手段へ変換する。計算機内部に
記述したシミュレーションモデルの状態はユーザには見
えない。また、内部記述手段はユーザが理解できる記述
ではない。
【0005】一方、一旦シミュレーションが始まると離
散事象シミュレーション装置が保持しているシミュレー
ションモデルの全情報は、初期入力に比べて遥かに膨大
な量になる。これはシミュレーションモデル内を動き回
るモデル要素一つ一つを表現したり、結果となる情報を
収集しながらシミュレーションを行うからである。
【0006】ところで、あるシステムのシミュレーショ
ンを行うとき、統計的結果やシステムの将来の状態
(姿)の予測を要求されることが多い。そのため、内部
記述手段により記述されたシミュレーションモデルの状
態の中から統計的結果に必要なものを抽出し出力する。
【0007】また、システムの将来の姿を予測するため
のシミュレーションならば、シミュレーションモデルの
最終状態を出力する。シミュレーションが終了した時点
ではシミュレーションモデルが内部記述手段で記述され
ている。ここで、ユーザが理解できる記述手段に変換
後、出力(画面に表示またはファイルに保存)すること
になる。つまり、内部記述手段からユーザが理解できる
記述手段に変換する必要がある。変換した後のシミュレ
ーションモデルの最終状態を示すことでシステムの将来
の予測を示すことになる。
【0008】
【発明が解決しようとする課題】前述したように従来の
離散事象シミュレーション装置では、シミュレーション
モデルの表現に関してユーザが理解できるモデル記述手
段と計算機内部での内部記述手段とが異なっている。
【0009】ところで、長く大規模なシミュレーション
をするとき、シミュレーションを途中で一度止めて再ス
タートしたいことがある。シミュレーションを止めて途
切れることなく、再スタートするためには止めた時点で
のシミュレーションモデルの状態の全データを保存しな
ければならない。また、シミュレーションを止めるとき
はシミュレーションが進行している途中なので、シミュ
レーションモデルの状態は内部記述手段で表されてい
る。それはシミュレーションを再スタートするときの入
力方法と異なる。シミュレーションを止めるとき、シミ
ュレーションモデルの記述手段を内部記述手段からモデ
ル記述手段に変換しなければならない。
【0010】しかし、この記述手段の変換によってシミ
ュレーションモデルの状態は必ず歪められる。また、一
旦シミュレーションが始まると内部に持っているデータ
の量は初期入力データに比べて膨大な量になっている。
モデル記述手段は初期条件を簡易に入力できることを目
的にしているが、途中の膨大なデータを詳細に記述する
ことには適していない。
【0011】これはシミュレーションスタート時にユー
ザが詳細にシミュレーションモデルの初期条件を明記で
きるようになっていないことにある。従来の離散事象シ
ミュレーション装置がこのように設計されているのは、
確率事象を伴うシステムの定常状態についての結果を得
るためのシミュレーションならば、シミュレーションモ
デルの初期状態に関して細かに設定することは重要では
ない。何故なら、モデルの定常状態を得るだけ十分に長
い期間のシミュレーションを行えば初期状態の影響が小
さくなるからである。
【0012】しかし、確率事象の伴わないシステムのシ
ミュレーションや過去にあった事例のシミュレーション
のようなシミュレーションを行うときはシミュレーショ
ンモデルの初期状態を詳細に入力できることは重要であ
る。
【0013】また、シミュレーションを中断、再スター
トするとき、シミュレーションモデルの状態を内部記述
手段そのままで保存すれば変換を伴わず状態を歪めるこ
となく保存できる。しかしながら、そのとき内部記述手
段で記述されたシミュレーションモデルを読込む入力手
段も持たなければならない。このため、入力手段を二つ
持つことになり冗長である。また、内部記述手段は計算
機向けの方法なので、ユーザがシミュレーションモデル
の初期状態を詳細に与えたいときにこの記述手段で記述
することは困難である。
【0014】本発明は、従来困難であったシミュレーシ
ョンの中断、再スタートをシミュレーションを続けたの
と同様に行うことができ、またシミュレーションを始め
るときユーザが詳細にシミュレーションモデルの初期状
態を与えることができる離散事象シミュレーション装置
を提供することを目的とする。
【0015】
【課題を解決するための手段】本発明は上記の目的を達
成するため、シミュレーション開始時外部記憶装置に保
存されているシミュレーションモデルの状態をユーザの
記述形式に従って読込む状態入力手段と、この状態入力
手段により読込まれたシミュレーションモデルの状態を
表すデータをその格納形式に従って格納し、且つ該デー
タを管理すると共に、管理情報を更新する機能と検索情
報を管理する機能とを有するデータベース装置と、事象
駆動に際して前記データベース装置からシミュレーショ
ンモデルについて必要な情報を読取る状態読取手段と、
前記状態読取手段を用いて前記データベース装置から読
取られた事象リストの中の最も時刻の早い事象に対応す
る適当な事象ルーチンを選択し、それを実行する事象駆
動手段と、この事象駆動手段で実行された事象が取込ま
れると前記データベース装置に指令を与えて管理情報の
更新機能および検索情報の管理機能によりシミュレーシ
ョンモデルの状態の記述を書換える状態書換手段と、シ
ミュレーション終了時またはシミュレーション実行途中
で中断事象が判定されると前記データベース装置からシ
ミュレーションモデルに関する全データまたは一部のデ
ータを読出して前記外部記憶装置に保存する状態出力手
段とを備えたものである。
【0016】
【作用】このような構成の離散事象シミュレーション装
置にあっては、シミュレーション開始時に状態入力手段
を用いて外部記憶装置からデータベース装置にユーザの
定めた記述形式で記述されたシミュレーションモデルが
その格納形式に従って格納されるので、データベース装
置内部でのシミュレーションモデルの状態を保持するた
めの記述手段はユーザが定めた形式そのものとなる。
【0017】また、状態読取手段を用いてデータベース
装置より事象リストが取込まれると、事象駆動手段によ
り最も早く生じる離散事象を選択すると共に、適当な事
象ルーチンを選択し、状態書換手段により事象ルーチン
の内容に従ってデータベース装置の管理情報の更新機能
および検索情報の管理機能によりシミュレーションモデ
ルの状態の記述が書換えられる。
【0018】さらに、シミュレーション実行途中で中断
事象のあることが判定されると、状態出力手段によりシ
ミュレーションモデルの全状態がデータベース装置の形
式で出力されて外部記憶装置に保存されるので、中断後
再び状態入力手段によりそのシミュレーションモデルの
状態を入力することにより、連続してシミュレーション
していたのと同様にシミュレーションを再開することが
できる。この場合、ユーザが定めたシミュレーションモ
デル記述方法そのものをデータ装置内部で扱うので、ユ
ーザはデータベース装置にデータを与えるときと同様に
容易にしかも詳細にシミュレーションモデルの初期状態
を入力することができる。
【0019】
【実施例】以下本発明の一実施例を図面を参照して説明
する。図1は本発明による離散事象シミュレーション装
置の基本的な構成例を示すものである。図1において、
データベース装置1は図示しない例えば計算機の外部記
憶装置(ディスク)に保存されているファイルを取込ん
で、これをシミュレーションモデルの状態として格納す
るもので、シュミレーションモデルの記述は本離散事象
シミュレーション装置の形式に従い、またその格納形式
はデータベース装置の形式に従うものとする。また、デ
ータベース装置1に格納されているシミュレーションモ
デルの状態には、将来生じる事象を表す事象リストとシ
ミュレーション結果の統計情報も含まれる。このデータ
ベース装置1の詳細については後述することにする。
【0020】状態読取手段2は、データベース装置1か
らシミュレーションモデルについて必要な情報を取出す
ものである。状態書換手段3は、データベース装置1に
記述されているシミュレーションモデルのデータ変更、
検索、登録等を行うときにシミュレーションモデルの状
態を書換えるものである。
【0021】事象駆動手段4は、状態読取手段2を用い
てデータベース装置1から事象リストを読取り、事象リ
スト中の最も時刻の早い事象に対応する適当な事象ルー
チン7を選択し、それを実行すると共に、状態書換手段
3を用いてその事象を事象リストから削除するもので、
これを事象の駆動と言う。
【0022】状態入力手段5および状態出力手段6は、
事象駆動手段4によって駆動された事象を図示しない計
算機の外部記憶装置のシミュレーションモデルへ入出力
を行う場合、そのデータの入出力を行うものである。状
態入力手段5はシミュレーション開始時またはシミュレ
ーション実行途中に、上記外部記憶装置からシミュレー
ションモデルの記述データをユーザの記述形式に従って
読込み、データベース装置1に格納する。状態出力手段
6はシミュレーションモデルの情報をシミュレーション
終了時またはシミュレーション実行途中にデータベース
装置1からシミュレーションモデルに関するデータ全部
または一部を読出して上記外部記憶装置に出力し、保存
する。
【0023】ここで、データベース装置1の基本的な構
成例の概略について図2を参照して説明する。データベ
ース装置1は、図2に示すように複数のワードの順序列
をラインとして、複数のラインを複数の条件に合致する
複数の表に対して個別に選択的に登録、削除すると共
に、ワードの内容に基づいてラインを検索するもので、
入力手段11、格納手段12、表指定手段13、管理手
段14、登録手段15、ソート手段16、検索手段1
7、削除手段18、出力手段19を備えている。
【0024】入力手段11は、複数のワードの順序列を
ラインとして入力する機能と、すでに登録済みのライン
を、ワード内容またはラインの位置によって指定し、検
索指令、削除指令、または変更指令を入力する機能を有
する。
【0025】格納手段12は、各表に設定されたソート
規則と各表に登録されたライン情報およびそのソート順
情報を含む複数の表情報を格納する機能を有する。表指
定手段13は、ラインと表の対応関係を示す予め設定さ
れた一定の登録条件を有し、入力手段11によるライン
の入力に応答して、入力されたラインのワードの内容と
登録条件に基づき、そのラインを登録する複数の表を指
定する機能と、入力手段11による登録済みのラインの
検索指令、削除指令、または変更指令の入力に応答し
て、指定されたラインのワードの内容と登録条件に基づ
き、そのラインが登録された複数の表を指定する機能を
有する。
【0026】管理手段14は、格納手段12に格納され
た複数の表情報を管理し、表指定手段13によって指定
された複数の表情報を提供する機能と、登録手段15お
よびソート手段16による登録情報と、削除手段18に
よる削除情報によって管理情報を更新する機能と、検索
手段17による検索情報を管理する機能を有する。
【0027】一般的には管理手段14に表作成手段20
を有しており、この表作成手段20は表指定手段13よ
って指定された表が格納手段内に存在していない場合
に、指定された表に合致する新たな表を作成する機能を
有する。
【0028】登録手段15は、入力手段11によるライ
ンの入力に応答して、表指定手段13によって指定され
た複数の表情報を管理手段14から受取り、各表に入力
手段11によって入力されたラインをそれぞれ登録する
機能を有する。
【0029】ソート手段16は、登録手段15によって
複数の表に登録されたラインを、各表に設定されたソー
ト規則によって特定される位置のワードの内容に基づい
て表の上にソートする機能を有する。
【0030】検索手段17は、入力手段11による登録
済みのラインの検索指令、削除指令、または変更指令の
入力に応答して、表指定手段13によって指定された複
数の表情報を管理手段14から受取り、各表の上でソー
ト手段16によってソートされた順序に基づき、入力手
段11によって指定された登録済みのラインをそれぞれ
検索する機能を有する。
【0031】削除手段18は、入力手段11による登録
済みのラインの削除指令または変更指令の入力に応答し
て、検索手段17によって検索された複数の表情報を受
取り、各表の上で検索されたラインを削除する機能を有
する。
【0032】出力手段19は、管理手段14による管理
情報を出力する機能を有する。次にシミュレーションを
開始する時の図1に示す各手段の処理機能とこれに関連
する図2に示すデータベース装置1の各手段の処理機能
について述べる。
【0033】シミュレーションを開始するには、まず図
示しない計算機の外部記憶装置に保存されているファイ
ルからシミュレーションモデルの状態を読込んでデータ
ベース装置1に格納する必要があるが、このファイルの
読込みは状態入力手段5によって行われる。
【0034】この状態入力手段5は指定ファイルを読込
むとき、図2のデータベース装置1の手段により次のよ
うにして行われる。 (1)入力手段11により外部記憶装置に保存されてい
るファイルの中のラインを入力する。 (2)登録手段15によりラインを登録する。 (3)ソート手段16により登録条件に従ってソート
し、格納する。 (4)管理手段14により表、ライン管理情報を更新す
る。
【0035】シミュレーションモデルの状態記述には離
散事象も含まれる。事象駆動手段4はこの事象リスト内
の最も早い事象を駆動する。この事象駆動手段4は次の
ように機能する。 (1)状態読取手段2により最も早く起きる事象のデー
タをデータベース装置1から読取る。 (2)状態書換手段3によりそのデータをデータベース
装置1から削除する。 (3)その事象に対応する事象ルーチン7を駆動する。
【0036】ここで、(1)において、状態読取手段2
はデータベース装置1の手段から次のようになる。 (1−1)表指定手段13により事象リストに対応する
表を指定する。 (1−2)管理手段14により表管理情報を得る。 (1−3)検索手段17により指定した表を検索する。 (1−4)検索手段17により生起時刻の最も早い事象
のラインを検索する。 (1−5)出力手段19により最も早く起きる事象のデ
ータを返す。
【0037】また、(2)において、状態書換手段3は
デーベース装置7の手段により次のようになる。 (2−1)検索済みである最も早い事象のラインを削除
手段18により削除する。 (2−2)管理手段14により表、ライン管理情報を更
新する。
【0038】一般的に状態読取手段2は、事象駆動手段
4、事象ルーチン7が何かデータを必要とするとき機能
し、そのとき事象駆動手段4、事象ルーチン7は必要と
するデータを指定して状態読取手段2を起動する。 (1)表指定手段13により指定データの表を管理す
る。 (2)管理手段14により表管理情報を得る。 (3)検索手段17により表またはラインを検索する。 (4)出力手段19によりデータを返す。
【0039】一般に状態書換手段3は、データベース装
置1の表、ラインに変更、登録、削除のような書換を行
うときの手段である。これは事象ルーチン7によって主
に起動されるが、事象駆動手段12によっても起動す
る。すなわち、事象ルーチン7は、その事象ルーチンに
対応する事象が生起したときのシミュレーションモデル
の変化のしかたを表したものであるからである。事象ル
ーチン7はデータベース装置1内にあるシミュレーショ
ンモデルの状態記述に変更を加える手続きからなる。状
態書換手段3は次のようにデータベース装置1の手段に
より機能する。 (1)表指定手段13により書換えるデータに関する表
を指定する。 (2)管理手段14により表、ライン管理情報を得る。
登録の際、表がない場合には表を作成する。 (3)検索手段17により表、ラインを検索する。 (4)登録、削除、変更を行う。 (5)管理手段14により表、ライン管理情報を更新す
る。
【0040】シミュレーションモデルの状態記述の入
力、出力は、シミュレーション実行途中でも可能であ
る。この場合、入力、出力を行う事象ルーチンを用意す
ればよい。例えば、極端な例としてシミュレーション開
始時にシミュレーションモデルを入力として与えるが、
その内容として事象リストのみでもよい。ただし、事象
リストの最も早く起こる事象としてシミュレーションに
関する全情報を持つファイルを入力する事象を用意して
おく。すると、シミュレーションが始まった瞬間には、
事象リストしかないシミュレーションモデルであるが、
次の瞬間にはシミュレーションモデルの全情報が本離散
事象シミュレーション装置に入力される。
【0041】シミュレーションモデルの状態記述のう
ち、一部または全部を本離散事象シミュレーション装置
より出力したいとき状態出力手段6が起動する。この場
合、出力の形式(ファイル名、ファイルフォーマット)
がシミュレーションモデルの中に記述されていても構わ
ない。本離散事象シミュレーション装置でシミュレーシ
ョンを行うときに関わるすべてのデータ(条件等)がシ
ミュレーションモデルの状態記述とみなされる。この状
態出力手段6は次のように機能する。 (1)状態読取手段5により出力形式の指定があれば読
取る。 (2)出力するデータの表またはラインを指定して検索
し、出力手段19によりデータを返す。 (3)返ってきたデータを指定されている出力形式に従
って図示しない計算機の外部記憶装置に出力する。この
場合、画面表示装置に出力することもある。
【0042】次に上記のような構成の離散事象シミュレ
ーション装置の作用について述べるに、ここでは前述し
たデータベース装置によってシミュレーションが具体的
にどのように実現されるかを詳細に説明する。
【0043】説明に用いる具体的な離散事象シミュレー
ションの事例を図3に示す。窓口1つ列1つの待ち行列
をシミュレーションする。例えば窓口が1つしかないよ
うな小さな郵便局のモデルに相当する。郵便局内に相当
する部分を待ち行列と呼び、待ち行列は窓口と列からな
る。
【0044】まず、この待ち行列について説明する。こ
の中での客の動きは以下のようになる。客は待ち行列の
外からやって来て到着する。もし窓口でサービスを受け
ている客がいないならばすぐさま窓口でサービスが始ま
る。もし既に窓口でサービスを受けている客がいるなら
ば窓口が空くまで待つ。待っている客が複数いるなら
ば、待ち行列に到着した順序で列をなして待つ。窓口に
いる客のサービスが終了すると客は待ち行列から退去す
る。そのとき列で待っている客がいるならば、列の先頭
の客が窓口に入ってサービスを受け始める。窓口では一
度に1人の客しかサービスできないものとする。
【0045】図3で示しているようにシミュレーション
モデルの範囲は客の到着する前からサービス終了後去っ
たところまでである。各客の状態と各客に関する情報に
よってモデルの状態を表すことにする。
【0046】図4は客の状態を示したもので、その状態
としては4種類ある。この4種類について挙げると、客
が待ち行列に到着する前の状態 COMING IN、客が列で待
っている状態 IN LINE、客が窓口でサービスを受けてい
る状態 BEING SERVED 、サービスが終了し窓口から退去
した状態 GONE AWAYである。図5は図3に対応させて描
いた図である。
【0047】シミュレーションモデルの状態を変化させ
る事象をいくつにしてシミュレーションを行うかはモデ
ルの考え方に依存する。ここでは図6に示すように2つ
の事象でシミュレーションを行う。図6は2つの事象
(到着事象、退去事象)を示している。
【0048】到着事象ARは、COMING IN の状態にある客
を待ち行列に到着させる。窓口が空いていればその客を
窓口に入れてBEING SERVEDにする。窓口にサービス中の
客がいるならば待つ。他にも待っている客がいるなら
ば、待ち行列に到着した順序で列をなして待つ。
【0049】退去事象LVは、BEING SERVEDである客を待
ち行列から退去させてGONE AWAY にする。すると、窓口
が空くので、列で客を待っているならば列の先頭の客を
窓口に入れる。その客の状態をIN LINE からBEING SERV
EDに変える。
【0050】到着事象も退去事象も客を窓口に入れた
ら、その客が退去する事象を事象リストに登録する。こ
こで、この実施例でのデータベース装置におけるデータ
の取扱いについて図7を参照して説明する。データベー
ス装置は以下で説明する表をたくさん管理して扱うもの
である。表はあらかじめ設定された登録条件を満たすラ
インの集まりで、ある条件でソートされている。データ
ベース装置内ではラインをデータ単位としている。ライ
ン1つは3つのワードの順序対である。1つのワード
は、1.整数の対か、2.文字列整数の対か、3.文字列の対
か、4.浮動小数点である。
【0051】図8に1つの表の例を示す。これは中央の
ワードがTRACE TRACE であるという登録条件でラインを
集め、左のワードをソートキーにしてラインをソートし
た表である。この表は5つのラインからなり、各ライン
は3つのワードの順序対からなる。図7にはワードの例
として[整数][整数]と[文字列][整数]と[文字
列][文字列]の例が現れている。図9に浮動小数点数
のワードの例がある。
【0052】このデータベース装置では図8のような表
がたくさん管理し扱うが、この場合データ単位であるラ
インと登録する表とを対応付ける登録条件を予め設定し
ておくことにより、ラインの内容によって自動的に登録
すべき表が指定され、表とラインの管理が簡単でデータ
ベース使用開始時に想定されていなかった使い方が生じ
ても柔軟に能率的にデータ管理できる。
【0053】シミュレーションモデルの状態として、各
客の状態と統計情報と将来生起する事象リストを記述し
てシミュレーションする。統計情報としてここでは各客
の追跡情報と客の待ち行列での平均滞在時間を取ること
にする。これは各客が待ち行列に何時来ていつ去ったか
の記録と、滞在時間の平均である。
【0054】図10は事象リストの記述例を示したもの
である。左のワードに事象の生起時刻sec 800 があり、
中央のワードFUTURE EVENTはこのラインが将来生起する
事象について表すことを示し、右のワードAR Oで生起す
る事象が客の到着であることを示している。ここではAR
の右のO は意味を持っていない。
【0055】図11は客に関して記述する2種類のライ
ンを示し、客の状態と客の追跡情報を表すラインであ
る。1.では客1について表していて、現状態は列で待っ
ていて、サービス時間は400 持っている。2.は客2の追
跡情報を表している。中央のワードTRACE TRACE はこの
ラインが追跡情報を表すことを示している。右のワード
840 1500で待ち行列に到着した時刻、退去した時刻を記
録する。まだ到着していないときや、まだ退去していな
いときは負の数が記録されている。
【0056】図9は平均滞在時間を表すラインを示して
いる。中央のワードMEAN RESPONSEはこのラインが平均
滞在時間について表すことを示す。左ワードの右の整数
2は窓口を退去した(サービスの終了した)客の数であ
る。左ワードの左の整数1060はそれらの客の待ち行列滞
在時間の合計である。右のワードの浮動小数点数530.0
は客の平均滞在時間(1060/2) を表す。
【0057】これまで述べてきた記述規則に従ってシミ
ュレーションモデルの初期状態を表す。各客の到着時刻
とサービス時間を図12に示した。データベース装置に
与える初期状態は図13になる。各客の到着時刻をもと
に事象リストが作られている。各客の初期状態はCOMING
IN であり、同じラインにサービス時間が書かれてい
る。各客の追跡情報のラインは、シミュレーションスタ
ート時には結果がないので、負の数を入れておく。待ち
行列での平均滞在時間を表すラインの数値は0にセット
する。
【0058】本実施例にはないが、入出力や客に優先順
位があるシミュレーションならば、それらをデータベー
スのラインとして記述すればよい。このシミュレーショ
ンモデルは事象が生起する毎にどのように変化するかを
時間の流れに沿って表すと、各客の動きは図14に示す
ようになる。
【0059】次に離散事象シミュレーション装置に図1
3に示すような初期状態を与えたときの動作について述
べる。図1において、シミュレーション開始により状態
入力手段5が働くと、図13に示す初期状態を図示しな
い計算機の外部記憶装置から読込み、そのデータを事象
リストを管理しているデータベース装置1に書込む。次
に状態読取手段2はシミュレーションモデルの全部また
は一部の状態をデータベース装置1から読取る。この場
合、全部を指定すると全状態データを読取り、ワードと
ワードの位置(左,中央,右)の指定や複数のワードの
うちソート順序の早い方から何番目か等を指定すること
により検索する。
【0060】状態読取手段2は、このような検索により
該当したラインを読取る。この場合、図2に示すデータ
ベース装置1のライン検索手段17を用いてラインを検
索することができる。
【0061】状態書換手段3は、シミュレーションモデ
ルの状態を変えるときに機能させ、データベース装置1
の指定されたラインの一部または全部のワードの内容を
変更したり、指定されたラインを削除したり、新たに3
つのワードを組合わせて新しいラインを登録する。この
場合、データベース装置1のライン登録手段15、削除
手段18、変更手段を用いてラインの内容を変更し、シ
ミュレーションモデルの状態を書換える。
【0062】ここで、客1の追跡情報に過去時刻1200を
書くときを考える。これを表すラインはCustomer 1 TR
ACE TRACE 800 -1 である。変更手段によって右のワー
ド 800-1を800 1200に変更する。また、新しい事象リス
トsec 1700 FUTURE EVENT LV O を加えるような状態書
換を行うとき、ライン登録手段を用いる。
【0063】次に事象駆動手段4の機能について図15
に示すフローチャートを参照しながら説明する。まず、
状態読取手段2によって事象リストを中央のワードがFU
TUREEVENTであるラインを検索することで得る。そし
て、事象リストの内時刻が最も早い事象を選択し、その
事象を駆動する。図13に示すシミュレーションモデル
の初期状態では時刻 800に到着事象ARであり、この事象
ARに対応する事象ルーチン7を実行する。ここで、到着
事象の事象ルーチンと過去事象の事象ルーチンの流れを
図16および図17に示す。シミュレーションモデルの
状態に事象ルーチンによる書換を加え、駆動した事象
(初期状態だはAR)を表すラインを事象リストから削除
する。
【0064】ここで、到着事象のルーチンを説明するた
めに初期状態で時刻の最も早い事象、到着事象を駆動す
る例について述べる。まず、状態読取手段2によって、
中央のワードがCOMING IN であるラインを検索し、その
中で客番号の一番小さいラインを選択する。ここでは、
customer 1 COMING IN serv 400である。この場合、客
1が到着する客である。次にサービス中の客の存在を調
べるため、中央のワードがBEING SERVEDであるラインを
検索する。検索した結果、サービス中の客が存在すれ
ば、到着させる客のラインの中央のワードをIN LINE に
変える。この初期状態ではサービス中の客が存在しな
い。この場合、客1のラインの中央のワードをBEING SE
RVEDに変える。客1が窓口に入ったので窓口を退去する
時刻が決まる。退去する時刻=入った時刻+サービス時
間、つまり時刻1200(=800+400)に退去する。時刻1200に
退去事象が生起することを示すラインを事象リストに登
録する。さらに、客1の追跡情報を記録したラインを検
索する。左のワードがcustomer1、中央のワードがTRACE
TRACE であるラインを検索する。そのラインの右のワ
ード-1 -1 を800 -1に変える。
【0065】時刻800 の到着事象の駆動を終えるとシミ
ュレーションモデルの状態は図18に示すようになる。
次にシミュレーションを中断するときの離散事象シミュ
レーション装置の作用について述べる。前述で加えた客
1の時刻1200の退去事象を駆動直後でシミュレーション
を中断するものとする。この場合、時刻1200の退去事象
の直後にシミュレーションを中断する事象を登録してお
けばシミュレーションを中断できる。
【0066】図1の状態出力手段6によってデータベー
ス装置1からシミュレーションモデルの現状態を図示し
ない計算機の外部記憶装置に出力し保持する。図18は
時刻1200直後での状態を示している。この場合、シミュ
レーションモデルの状態として事象リスト、各客の状
態、各客の追跡情報、平均滞在時間を出力する。また、
出力するに当たってはデータベース装置1に記録されて
いる通りにその形式でシミュレーションモデルの全状態
を出力するので、シミュレーションを再スタートすると
きは状態入力手段5によってこれをそのまま離散事象シ
ミュレーション装置に入力するだけである。
【0067】図19の状態からシミュレーションの事象
を1つ駆動すると、図20に示すような結果となり、中
断してもシミュレーションが続けて行えることが分か
る。シミュレーションの駆動を1つ駆動するには、図1
9を読込んでデータベース装置1にシミュレーションモ
デルの状態を書込む。離散事象シミュレーション装置
は、シミュレーションを開始する。つまり、事象駆動手
段4を実行する。ここでも最も時刻の早い事象を選択
し、事象ルーチンを実行する。そしてルーチンの実行後
駆動した事象を事象リストから削除する。
【0068】次に図20の状態で時刻1500の過去事象を
実行することによって過去事象の事象ルーチンを説明す
る。まず、状態読取手段2によって中央のワードがBEIN
G SERVEDであるラインを検索する。図20の状態ではcu
stomer 2 BEING SERVED serv300である。そのラインの
中央のワードを状態書換手段6によってGONE AWAY に変
える。退去した客の番号を用いてその客の追跡情報ライ
ンを検索する。左のワードがcustomer 2、中央がTRACE
TRACE であるラインを検索し、そのラインの右のワード
の右の整数を現時刻1500に変える。840 -1から840 1500
に変える。次に状態読取手段によって平均滞在時間を表
すラインを中央のワードMEAN RESPONSEで検索し、状態
書換手段6によってその左のワードの左の整数(総滞在
時間)と右の整数(退去客数)を変える。ここでは客2
が時刻840 に到着し、時刻1500に退去し、滞在時間は66
0(=1500-840)である。その左のワードは1060 2(400+66
01+1) になる。右の平均時間帯を表すワードを530.0(=1
060/2)にする。列に並んで窓口が空くのを待っている客
がいたら、列の先頭の客を窓口に入れる。状態読取手段
2によってワードIN LINE を中央に持つラインを検索す
る。そのラインがなければ過去事象ルーチンは終わる。
図19の事例では該当するラインは2つある。番号の小
さいラインを選択し、そのラインの中央のワードをIN L
INE からBEING SERVEDに変える。ここでは客3のライン
を選択し、ラインを変更する。客がサービスに入るので
窓口を退去する時刻が決まる。退去する時刻=入った時
刻+サービス時間(ここでは時刻1200(=800+400)に退去
する。時刻1200に退去時刻(ここでは時刻1200) に退去
事象が生起することを示すラインを事象リストに登録す
る。
【0069】この事例ではシミュレーションは事例リス
ト内に事象がなくなったときに終了する。事象リストす
べてを駆動し終わったシミュレーションモデルの状態を
図21に示す。
【0070】時刻1200直後中断させた図19に新たな客
を加えるようなシミュレーションモデルに手を加えるの
は非常に容易である。例えば、客6が時刻3000に到着
し、サービス時間500 持っているとき、図22に示すデ
ータに加えて図23の状態からシミュレーションを再開
すると客6の加わったシミュレーションが行える。
【0071】このように上記実施例から明らかなよう
に、ユーザがシミュレーションモデルの全状態をユーザ
が定めたシミュレーションモデルの記述形式でデータベ
ース装置1の形式に従って与えるようにしているので、
データベース装置1にそのまま格納されシミュレーショ
ンを実行することができる。
【0072】また、データベース装置1は、登録するラ
インの内容によって自動的にラインと表の対応を指定す
るので、シミュレーション開始時に存在しなかった状態
記述データが現れても柔軟にデータを出力できる。
【0073】さらに、シミュレーションが中断するとき
にはデータベース装置1の形式でシミュレーションモデ
ルの状態を出力し保持されるので、再びその出力を入力
として与えることによりシミュレーションを再スタート
できる。
【0074】なお、上記実施例ではデータベース装置1
とのデータのやり取りを電子計算機の外部記憶装置との
間で行う場合について述べたが、外部記憶装置としては
例えばフロッピーディスク、ハードディスク、RAMメ
モリ、パンチカード等データの入出力のできるものであ
れば何ずれの記憶媒体であってもよい。
【0075】
【発明の効果】以上説明したように本発明においては、
従来困難であったシミュレーションの中断、再スタート
をシミュレーションを続けたのと同様に行うことがで
き、またシミュレーションを始めるときユーザが詳細に
シミュレーションモデルの初期状態を与えることができ
る離散事象シミュレーション装置を提供できる。
【図面の簡単な説明】
【図1】本発明による離散事象シミュレーション装置の
一実施例を示す構成図。
【図2】同実施例で用いられるデータベース装置内の構
成を説明するための概念図。
【図3】同実施例装置によってシミュレーションを行う
場合の一例を示すモデル図。
【図4】同例における客の全状態を説明するための図。
【図5】図2に図3で説明した4つの状態を対応させた
図。
【図6】同例のモデルにシミュレーションする際に駆動
される2つの事象の説明図。
【図7】同例において使用するデータベース装置の構成
を説明するための図。
【図8】図7のある一つの例を示す図。
【図9】平均滞在時間を記録するラインを説明するため
の図。
【図10】将来生起する事象を表すラインを説明するた
めの図。
【図11】1人の客に関するラインの記述例を示す図。
【図12】各客の到着時刻、サービス時間を示す図。
【図13】同例におけるシミュレーションモデルの初期
状態を示す図。
【図14】同例におけるシミュレーションモデルの初め
から終りまでの振舞いを事象毎に示す図。
【図15】本発明における離散事象シミュレーション装
置の事象駆動手順を示すフローチャート。
【図16】同じく到着事象の事象ルーチンを示すフロー
チャート。
【図17】同じく退去事象の事象ルーチンを示すフロー
チャート。
【図18】図13に示す初期状態において初めの一事象
を駆動直後のシミュレーションモデルの状態を示す図。
【図19】時刻1200の退去事象の駆動直後で中断し、シ
ミュレーションモデルの出力状態を示す図。
【図20】シミュレーションをシミュレーションモデル
の状態から展開し、時刻1500の退去事象の駆動直後の状
態を示す図。
【図21】本例のシミュレーションを終了したときのシ
ミュレーションモデルの状態を示す図。
【図22】時刻1200で中断した図9に客6人目を加える
ような変更を行うときの必要なデータを示す図。
【図23】図19に6人目の客を加えたときのシミュレ
ーションモデルの状態図。
【符号の説明】
1……データベース装置、2……状態読取装置、3……
状態書換装置、4……事象駆動手段、5……状態入力手
段、6……状態出力手段、7……事象ルーチン、11…
…入力手段、12……格納手段、13……表指定手段、
14……管理手段、15……登録手段、16……ソート
手段、17……検索手段、18……削除手段、19……
出力手段、20……表作成手段。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 シミュレーション開始時外部記憶装置に
    保存されているシミュレーションモデルの状態をユーザ
    の記述形式に従って読込む状態入力手段と、この状態入
    力手段により読込まれたシミュレーションモデルの状態
    を表すデータをその格納形式に従って格納し、且つ該デ
    ータを管理すると共に、管理情報を更新する機能と検索
    情報を管理する機能とを有するデータベース装置と、事
    象駆動に際して前記データベース装置からシミュレーシ
    ョンモデルについて必要な情報を読取る状態読取手段
    と、前記状態読取手段を用いて前記データベース装置か
    ら読取られた事象リストの中の最も時刻の早い事象に対
    応する適当な事象ルーチンを選択し、それを実行する事
    象駆動手段と、この事象駆動手段で実行された事象が取
    込まれると前記データベース装置に指令を与えて管理情
    報の更新機能および検索情報の管理機能によりシミュレ
    ーションモデルの状態の記述を書換える状態書換手段
    と、シミュレーション終了時またはシミュレーション実
    行途中で中断事象が判定されると前記データベース装置
    からシミュレーションモデルに関する全データまたは一
    部のデータを読出して前記外部記憶装置に保存する状態
    出力手段とを備えたことを特徴とする離散事象シミュレ
    ーション装置。
  2. 【請求項2】 データベース装置は、複数のワードの順
    序列をラインとして複数のラインを複数の条件に合致す
    る複数の表に対して個別に選択的に登録、削除すると共
    に、ワードの内容に基づいてラインを検索するものであ
    る請求項1に記載の離散事象シミュレーション装置
JP9424793A 1993-04-21 1993-04-21 離散事象シミュレーション装置 Pending JPH06309295A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9424793A JPH06309295A (ja) 1993-04-21 1993-04-21 離散事象シミュレーション装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9424793A JPH06309295A (ja) 1993-04-21 1993-04-21 離散事象シミュレーション装置

Publications (1)

Publication Number Publication Date
JPH06309295A true JPH06309295A (ja) 1994-11-04

Family

ID=14104980

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9424793A Pending JPH06309295A (ja) 1993-04-21 1993-04-21 離散事象シミュレーション装置

Country Status (1)

Country Link
JP (1) JPH06309295A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6738771B2 (en) 2000-10-31 2004-05-18 Kabushiki Kaisha Toshiba Data processing method, computer readable recording medium, and data processing device
JP2015118450A (ja) * 2013-12-17 2015-06-25 株式会社シーイーシー 演算装置、およびそのプログラム
US11120386B2 (en) 2018-01-19 2021-09-14 Fujitsu Limited Computer-readable recording medium, simulation method, and simulation apparatus

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6738771B2 (en) 2000-10-31 2004-05-18 Kabushiki Kaisha Toshiba Data processing method, computer readable recording medium, and data processing device
US6973454B2 (en) 2000-10-31 2005-12-06 Kabushiki Kaisha Toshiba Data processing method, computer readable recording medium, and data processing device
JP2015118450A (ja) * 2013-12-17 2015-06-25 株式会社シーイーシー 演算装置、およびそのプログラム
US11120386B2 (en) 2018-01-19 2021-09-14 Fujitsu Limited Computer-readable recording medium, simulation method, and simulation apparatus

Similar Documents

Publication Publication Date Title
EP0726536A2 (en) Relational data base system and method
JP2003157264A (ja) 文章管理システム、その管理方法及びそのプログラム
CN100449541C (zh) 文档组分析设备、文档组分析方法及文档组分析系统
JPH08212254A (ja) 処理情報管理装置
JPH06309295A (ja) 離散事象シミュレーション装置
JPH08305724A (ja) 設計支援情報文書管理装置
JPH06124308A (ja) 情報整理処理装置
JP3225997B2 (ja) 情報処理システム
JP4767389B2 (ja) ロギング装置および記録媒体
JP3628030B2 (ja) データベース装置
JP2003216654A (ja) データ管理システム及びコンピュータプログラム
JP2002197114A (ja) データベース管理システム、顧客管理システム、記録媒体
JPH05257765A (ja) データベース管理システム
JP2012018579A (ja) 情報検索装置、情報検索方法及びプログラム
JPH11265378A (ja) 自動情報検索装置及び文書作成支援システム
JP4056622B2 (ja) データベース管理装置
JP4607443B2 (ja) 文書表示装置および文書表示方法
JPH04243437A (ja) データベース移行方式
JP2604548B2 (ja) 情報処理装置
JPH07334406A (ja) マルチメディアデータベースシステム
JPH10105204A (ja) 統合生産支援システムとその生産支援情報管理装置
JP2000148782A (ja) リレーショナルデータベースの検索方法およびシステムならびにリレーショナルデータベースの検索プログラムを記録した情報記録媒体
JPH10124561A (ja) システム構築業務支援装置
CN118152402A (zh) 一种数字人记忆存储方法、装置、电子设备及存储介质
JPH07192005A (ja) 学習記憶制御装置