当前位置:首页 >> 管理学 >>

系统建模方法与仿真模型验证


系统建模方法与仿真模型验证
zhaoyuexia@njau.edu.cn

?

在系统仿真应用过程中,建立正确的系 统模型、验证仿真模型、评价仿真模型 的可信性以及提高仿真模型的可信性一 直是系统仿真研究的重点。

?

离散事件系统建模方法
?

实体流图法
?

用流程图的方法描述事件、状态变化及实体间相 互作用的逻辑关系。 以图形直观地显示系统状态及其变化。 是一种系统的数学和图形描述与分析工具。

?

活动周期图法
?

?

Petri网法
?

15.1 实体流图法
?

对系统进行仿真研究,首先要建立系统的模型。离散 事件系统的时间是连续变化的,但系统的状态仅发生 在一些离散的时刻,由随机事件的驱动而发生,因此, 离散事件系统的模型很难用数学方程来描述。所以, 逐渐形成一些与连续系统不同的建模方法。实体流图 法就是其中之一。 实体流程图方法(简称实体流图法)与程序流程图类 似 ,可以描述临时实体产生、流动、消亡及其被永久 实体加工、处理的过程和逻辑关系,应用比较广泛。

?

临时实体和永久实体
?

在离散事件系统中,实体分为两大类:临时实体、永 久实体。
临时实体:按一定规律由系统外部到达系统,在系统 中受永久实体的作用,按照一定的流程通过系统,最 后离开系统。因此,临时实体只在系统中存在一段时 间便自行消失。 进入商店购物的顾客是临时实体,它们按一定的统计 分布规律到达商店,经过服务员的服务后离开商店。 永久实体:相应地,永久驻留在系统中的实体称为永 久实体,它们是系统产生功能的必要条件。理发店中 的理发员,交通路口的红绿灯等是永久实体。

?

?

?

实体流程图方法:采用与计算机程序流程图类似的图示符 号和原理,建立表示临时实体产生、在系统中流动、接受 永久实体服务以及消失等过程的流程图。 ? 建模思路: (1)辨识组成系统的实体和属性。将队列作为一种特殊的实 体考虑。 (2)分析各种实体的状态和活动,及其相互间的影响。队列 实体的状态是队列的长度。 (3)确定引起实体状态变化的事件。 (4)分析各种事件发生时,实体状态的变化规律。 (5)在一定的服务流程下,分析与队列实体有关的特殊操作 (如换队等)。 (6)通过以上分析,以临时实体为主线,画实体流程图。 (7)给出模型参数的取值、参变量的计算方法及属性描述变 量的取值方法。属性描述变量,例如顾客到达时间、服务 时间等,可以取一组固定值,可以由某一计算公式取值, 还可以是一个随机变量(此时应给出分布函数)。 (8)给出队列的排队规则。对多个队列应有服务规则。
?

实体流程图方法

例1:理发店服务系统
实例:理发店服务系统——单队列-单服务台系 统
?
?

系统分析:
?

实体
? ? ?

临时实体:顾客 永久实体:服务员 特殊实体:队列 服务员:忙、闲 顾客:等待服务、接受服务 队列:队长

?

状态
? ? ?

实例:理发店服务系统— —单队列-单服务台系统
?
?

顾客到达

系统分析:
?

理发员闲 Y 置理发员忙

N

排队

活动
?

排队、服务
顾客到达 顾客结束排队(开始 接受服务) 顾客服务完毕离开 FIFO

?

事件
? ?

顾客开始服务

?

顾客理完离去

?

排队规则
?

置理发员闲

理发店服务系统实体流程图
模型属性变量: 顾客到达时间(随机变量) 理发员为一名顾客理发所需要的时间(随机变量)

?

注意:实体流图是实体流动和逻辑关系图,不是计算 机程序框图。

模型的人工运行
?

人工运行:建立实体流图模型后,应选取有代表 性的例子将流图全部走一遍,即所谓的人工运行。
人工运行模型要求遍历流图的各个分支和实体的 各种可能状态,在时间逐步变化的动态条件下, 分析事件的发生及状态的变化过程,以检查模型 的组成和逻辑关系是否正确。

?

模型的人工运行举例
例:“理发店服务系统” (1)系统的初始状态(仿真开始时刻): 对应开门营业时间,此时,理发员为“闲”,队列 长度为0。 (2)模型参数及变量的取值: 设第i个顾客与第i-1个顾客到达的时间间隔为Ai, 设理发员为第i个顾客的理发时间为Si, 一般来说,Ai、Si为随机变量,应根据分布函 数来产生。这里,为了便于解释,取其样本值为:
?
? ?

A1=15,A2=32,A3=24,A4=40,A5= 22,… S1=43,S2=36,S3=34,S4=28,…

? ?

?

? ?

? ?

模型按一定的规则运行。本模型的人工规则如下: 规则1:确定当前时间 模型人工运行开始,取当前时间TIME=t0(t0为 仿真初始时刻),人工运行开始后,当前时间逐步 向前推移,且递取下一最早发生事件的发生时刻。 如果当前时间有顾客到达事件发生,转规则2。若 有顾客离开事件发生,则转规则3。 规则2:顾客到达事件处理 假定在时刻TIME有顾客i到达,如果此时理发员忙, 则进入队列等待,队列长度加1;否则置理发员为 忙状态,顾客开始理发,且在di=TIME+Si时刻理 发完毕离去。 规则3:顾客离去事件处理 假定在时刻TIME有顾客i离去,如果此时队列长度 为0,则置理发员为闲状态,否则,队列中排在队 首的一名顾客开始理发,队列长度减1,并且该顾 客在di=TIME+Si时刻理发完毕离去。

(1)在TIME=t0时刻(取t0=0),无任何事件发 生。下一最早发生的事件为“顾客1到达”,发生 时刻为a1=TIME+A1=15。 (2)在TIME=15时刻,顾客1到达。按规则2,由 于理发员闲,开始为顾客1理发,理发员变忙。顾 客1离去时刻 ? d1=TIME+S1=15+43=58 ? 下一个最早发生的事件为“顾客2到达”,顾客2 到达的时刻为 ? a2=a1+A2=15+32=47(<58)。

(3)在TIME=47时刻,顾客2到达。由于理发员 忙,顾客2只好排队等待,队列长度变为1。 ? 下一个最早发生的事件为“顾客1离去”,离去 时刻d1=58(<a3=a2+A3=47+24=71) (4)在TIME=58时刻,顾客1离去。按规则3, 由于队列长度为1,理发员开始为顾客2理发, 队列长度为0。顾客2离去时刻 ? d2=TIME+S2=58+36=94 ? 下一个最早发生的事件为“顾客3到达”,顾客 3到达的时刻为 ? a3=a2+A3=47+24=71。 (5)在TIME=71时刻,顾客3到达,……

?

上述运行过程可在实体流程图上标注。 首先在实体流程图队列框和永久实体状态判断框 旁边标出系统的初始状态,如在“排队等待”框 边上标0,“理发员闲”边上标YES,在流图下方 标TIME=0。 然后,当时间推进到一个新的时刻点时,在对应 框图上标出当前和未来各个时刻的实体状态。

?

?

?

A顾客到达,D顾客离去,B理发员忙,连在一起的数字是顾客编号

时间 当前 0 15 47 58 71 无 1A 2A 1D 3A

事件 将来 15/1A 47/2A,5 8/1D 71/3A 94/2D 111/4A

理发员状态 t 闲 闲 B1 B1 B2 t+⊿t 闲 B1 B1 B2 B2

队列 状态 长度 0 0 1 0 1

下一个 最早 事件
15/1A 47/2A 58/1D 71/3A 94/2D

15.2 活动循环图法
活动循环图(Activity Cycle Diagram)法的基本原理
? 活动循环图(ACD)法以图形直观地显示系统状态及其变化。 ? ACD法认为,系统中的每个实体都按照各自的方式循环地发 生变化,存在静止(以○表示)和活动(以□表示)两种状 态,这两种状态在实体的循环中交替出现(以→表示两种状 态之间的转换)。 ? ACD法认为,系统的状态就是全部个体状态变化的集合。当 研究对象比较复杂、包含的实体数目较多时,可以对系统建 立不同层次的ACD模型,将高层次模型进一步分解为低层次 的模型。

?

ACD法的建模方法与建模过程
?

常用术语
? ?

? ?

?

?

实体。是指组成系统的各种要素,是ACD产生活动的主体。 活动。表示实体正处于某种动作状态。活动的持续时间也 称为周期。 队列。用来表示实体处于静止或等待状态。 实体的行为模式。实体的行为始终遵循“…→活动→队列 →活动→…”的交替变化规则。 直联活动和虚拟队列。如果在任何情况下,某一活动完成 后,其后续活动就立即开始,则称后续活动为直联活动。 直联活动与前面活动之间为一个等待时间为0的队列,即 虚拟队列。 合作活动。指一个活动要求有多于一个的实体参加才能开 始。

ACD的建模方法举例
? ?

?

?

假设有一个系统,它有两类实体-机床和工人。 机床是半自动的,需要一个工人去安装(SETUP)工件。然 后机床可以自动的对工件进行加工(RUN),直到加工完毕, 机床停止。 此时若有一个工人可用来安装工件,就可以开始一次新的循 环。 因此,半自动机床这一类实体就有SETUP和RUN这两种活动, 两个等待状态(队列)——IDLE(空闲)和READY(就绪), 其活动循环图如图1所示。

安装 SETUP

空闲 IDLE

机床循环图 MACHINE CYCLE

就绪 READY

加工 RUN

图1 机床的活动循环图

?

现在对另一类实体-工人进行分析,假设工人只 担负一项任务—安装工件,即工人只参加一个活 动SETUP,则这一类实体的循环图如图2所示。

等待 WAIT

工人循环图 OPERATOR CYCLE

安装 SETUP

?

图2 工人活动循环图

?

?
?

在完成了各类实体的活动循环的分析和 绘制之后,就应当将它们综合成一个系 统的活动循环图,如图3所示。 在此图中, ?表示机床的活动循环; —0—0—0? 表示工人的活动循环。

空闲 IDLE

加工 RUN D=10

机床循环(3) MACHINE CYCLE

安装 SETUP

工人循环(1) OPERATOR CYCLE

等待 WAIT

就绪 READY

D=3

图3 系统的活动循环图

?

?

?

对于合作活动,只有当参与合作活动的实体都 在该活动的前置队列中存在时,此活动才能开 始。 在图3中,如果合作活动SETUP要开始,则必 须有一个工人在队列WAIT中和一台机床在队 列IDLE中才行。如果其中之一不在而另一个在, 则后者将被迫在队列中等待。 这种被迫等待,通常会使系统的性能严重下降。

?

?

?

?

当一个活动开始时,相应的实体从队列中移到该 活动中。 在ACD图上,可以使用标志来代表实体。这样, 就可以用该标志在活动循环图中的位置来代表实 体的状态,用它从队列到活动中的移动来模拟上 述的移入动作。 当模拟的活动周期结束时,标志再从该活动移入 相关的后续队列。 一个活动完成后,释放其后续活动所需的实体, 并使后续的活动有了开始的可能。在本例中 READY队列是虚拟队列,SETUP是合作活动。

?

?

?

活动循环图是按照实体类的行为模式建立的, 它与实体类中的实体数量无关。 例如在本例中,它与机床数及工人数都无关。 换言之,这个活动循环图可以应用于机床数和 工人数较多的系统,以模拟一个大的制造系统; 反之,也可以用来模拟一个小的制造系统。 因此,只要系统的行为模式相同,即使它们的 实体类型和活动周期不同,都可以用同一个活 动循环图来描述。

ACD图仿真所需的信息
在建立ACD图后,如要进行仿真,还需要以下三种信息: (1) 每一个活动的周期值(即活动持续时间)。它可以是一 个常数,如图4.21中的D=10;一个计算值(如5乘以机 床主轴数);一个随机变量(如负指数分布函数的随机采 样值),或者是上述数值的组合。 (2)每一个队列的排队规则。排队规则可采用先进先出,后 进后出,等级高者先出或其它的优先规则。“等级高者” 规则按实体的属性决定其优先等级,如效率最高的工人优 先;最不耐心的顾客优先等。 ? 在活动循环图中,若没有指明排队规则,则表示默认的 规则是先进先出
?

?

?

(3)系统仿真的初始条件。在确定仿真的初始条件时, 应尽量避免使系统处于“空闲状态”。因此,应该尽 可能的使初始状态接近系统的稳态。 在ACD图上,应该恰当地给出每个实体的初始位置 (既可以给定于队列中,也可以给定于活动中。但是 要注意,如果实体放在合作活动中,必须保证该活动要 求参加的所有实体均已放入。)

15.3系统模型的可信性与确认方法
?

?

?

系统模型的可信性是指:系统模型代表所研究 实际系统的精确程度。 判断系统模型可信的方法,有效的经验准则是, 由项目经理或项目的主要成员认定系统模型及 其结果是正确的。 在系统建模过程中,重要的是反映系统运行的 机理和状态变化规律,正确地反映系统输入参 数与系统性能之间的关系,不要无止境地要求 系统模型能够反映实际系统的细节。

模型的确认与验证
?

模型确认是根据研究目标判定系统模型是否准 确地代表了实际系统,它对应由实际系统建立 系统模型的过程。
模型验证是判定系统模型是否被正确地翻译成 了计算机程序(也称为仿真模型),它对应系 统模型到仿真模型的转换。

?

? ? ?

?

?

?

?

?

下面是判断模型有效性的一些指标: 1. 模型性能测度是否同真实系统性能测度匹配。 2. 如果没有现实系统来对比,可以将仿真结果同相近 现实系统的仿真模型的相关运行结果作对比。 3. 利用系统专家的经验和直觉来假设复杂系统特定部 分模型的运行状况。 4. 模型的行为是否同理论相一致?确定结果的理论最 大值和最小值,然后验证模型结果是否落入两值之间。 5. 改变输入参数,通过观察输出的变化方向来验证模 型的有效性。 6. 模型是否能够准确地预测结果?这项技术可用来对 正在运行中的模型进行连续的有效性进行验证。 7. 是否有其它仿真模拟器模拟过该模型?假若有则可 将两个模型的运行结果进行对比。

?

?

?

现在有很多技术可以用来验证模型。通常的做法是在 仿真低速运行时, 观看动画和仿真时钟是否同步运行, 它可以发现流程及其处理时间的总的差异。 另一种验证技术是在模型运行过程中, 通过交互命令 窗口, 显示动态图表来观察资源和实体的属性和状态。 仿真运行时,通过输入多组仿真输入参数值,来验证 仿真结果是否合理也是一种很好的方法。 在某些情况 下, 对系统性能的一些简单测量可以通过手工方式或 使用对比的方法来进行验证。在调试模型中是否存在 着某种特定问题时,通常采用同一随机数流,这样可 以保证仿真结果的变化是由对模型所做的修改引起的。


赞助商链接
相关文章:
系统仿真实验报告
建立究对象的系统三维模型,然后对模型进 行各种系统分析和工程验证,终获得优化...Flexsim 是新一代离 散事件系统仿真的效工具。 面向对象的建模方式使得建模过程...
仿真与建模
仿真模型)物流模型是实际系统的物流 复制品或按比例缩放的实物模型可用于研究设施...之间关系 (6)构建具体模型 (7)验证模型的正确性 5、 简述实体流图建模方法?...
系统建模与仿真_考题答案
2、模型描述变量化简的四种方法比较; 建模过程中,在能满足建模的前提下,系统的...对于“黑盒”系统,如果允许直接进行实验测量并通过实验对假设模型加以验证和修正...
系统建模与仿真_考题答案___2010
2、模型描述变量化简的四种方法比较; 建模过程中,在能满足建模的前提下,系统的...对于“黑盒”系统,如果允许直接进行实验测量 并通过实验对假设模型加以验证和...
系统建模计算机仿真试卷及答案
系统建模计算机仿真试卷及答案_理学_高等教育_教育...(Verification) 、模型验证(Validation) 、模型 确认...指标或方法来衡量这种相似程度,以便为真实系统 的...
复杂系统仿真概念模型验证方法研究
复杂系统仿真概念模型验证方法研究 - 龙源期刊网 http://www.qikan.com.cn 复杂系统仿真概念模型验证方法研究 作者:门星火 李晓利 刘波 来源:《软件导刊》2016 ...
制造系统建模与仿真学习心得
制造系统建模与仿真技术是以相似原理、模型理论、系统...(表示生产运作的判断控制,如质量检验、设备检查、...2. 基于 petri 网技术的系统仿真建模方法 Petri 网...
系统建模与仿真读书报告
系统建模与仿真读书报告 - 系统建模与仿真读书报告 动力系统建模与仿真的基本概念 动力系统建模与仿真是指构造动力系统的模型和在计算机上进行仿真的有 关复杂活动,...
华中科技大学《生产系统建模与仿真》总结
华中科技大学《生产系统建模与仿真》总结 - 系统仿真: 以计算机和其它专用物理效应设备为工具, 利用系统模型对真实或假想的系 统进行试验,并借助于专家经验知识、...
系统仿真结课作业
广义而言,仿真是采用建模方法和物理的方法对真实环境客观事物进行 抽象、映射、...进行模型试验; 7) 模型和数据的验证 ; 8) 仿真结果显示 ; 9) 仿真结果分析...
更多相关文章: