系统建模方法与仿真模型验证
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ACD法的建模方法与建模过程
常用术语
实体。是指组成系统的各种要素,是ACD产生活动的主体。 活动。表示实体正处于某种动作状态。活动的持续时间也 称为周期。 队列。用来表示实体处于静止或等待状态。 实体的行为模式。实体的行为始终遵循“…→活动→队列 →活动→…”的交替变化规则。 直联活动和虚拟队列。如果在任何情况下,某一活动完成 后,其后续活动就立即开始,则称后续活动为直联活动。 直联活动与前面活动之间为一个等待时间为0的队列,即 虚拟队列。 合作活动。指一个活动要求有多于一个的实体参加才能开 始。
实体流程图方法:采用与计算机程序流程图类似的图示符 号和原理,建立表示临时实体产生、在系统中流动、接受 永久实体服务以及消失等过程的流程图。 建模思路: (1)辨识组成系统的实体和属性。将队列作为一种特殊的实 体考虑。 (2)分析各种实体的状态和活动,及其相互间的影响。队列 实体的状态是队列的长度。 (3)确定引起实体状态变化的事件。 (4)分析各种事件发生时,实体状态的变化规律。 (5)在一定的服务流程下,分析与队列实体有关的特殊操作 (如换队等)。 (6)通过以上分析,以临时实体为主线,画实体流程图。 (7)给出模型参数的取值、参变量的计算方法及属性描述变 量的取值方法。属性描述变量,例如顾客到达时间、服务 时间等,可以取一组固定值,可以由某一计算公式取值, 还可以是一个随机变量(此时应给出分布函数)。 (8)给出队列的排队规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 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
模型的人工运行
人工运行:建立实体流图模型后,应选取有代表 性的例子将流图全部走一遍,即所谓的人工运行。
人工运行模型要求遍历流图的各个分支和实体的 各种可能状态,在时间逐步变化的动态条件下, 分析事件的发生及状态的变化过程,以检查模型 的组成和逻辑关系是否正确。
模型的人工运行举例
例:“理发店服务系统” (1)系统的初始状态(仿真开始时刻): 对应开门营业时间,此时,理发员为“闲”,队列 长度为0。 (2)模型参数及变量的取值: 设第i个顾客与第i-1个顾客到达的时间间隔为Ai, 设理发员为第i个顾客的理发时间为Si, 一般来说,Ai、Si为随机变量,应根据分布函 数来产生。这里,为了便于解释,取其样本值为:
15.2 活动循环图法
活动循环图(Activity Cycle Diagram)法的基本原理
活动循环图(ACD)法以图形直观地显示系统状态及其变化。 ACD法认为,系统中的每个实体都按照各自的方式循环地发 生变化,存在静止(以○表示)和活动(以□表示)两种状 态,这两种状态在实体的循环中交替出现(以→表示两种状 态之间的转换)。 ACD法认为,系统的状态就是全部个体状态变化的集合。当 研究对象比较复杂、包含的实体数目较多时,可以对系统建 立不同层次的ACD模型,将高层次模型进一步分解为低层次 的模型。
ACD的建模方法举例
假设有一个系统,它有两类实体-机床和工人。 机床是半自动的,需要一个工人去安装(SETUP)工件。然 后机床可以自动的对工件进行加工(RUN),直到加工完毕, 机床停止。 此时若有一个工人可用来安装工件,就可以开始一次新的循 环。 因此,半自动机床这一类实体就有SETUP和RUN这两种活动, 两个等待状态(队列)——IDLE(空闲)和READY(就绪), 其活动循环图如图1所示。
活动循环图是按照实体类的行为模式建立的, 它与实体类中的实体数量无关。 例如在本例中,它与机床数及工人数都无关。 换言之,这个活动循环图可以应用于机床数和 工人数较多的系统,以模拟一个大的制造系统; 反之,也可以用来模拟一个小的制造系统。 因此,只要系统的行为模式相同,即使它们的 实体类型和活动周期不同,都可以用同一个活 动循环图来描述。
(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)。
当一个活动开始时,相应的实体从队列中移到该 活动中。 在ACD图上,可以使用标志来代表实体。这样, 就可以用该标志在活动循环图中的位置来代表实 体的状态,用它从队列到活动中的移动来模拟上 述的移入动作。 当模拟的活动周期结束时,标志再从该活动移入 相关的后续队列。 一个活动完成后,释放其后续活动所需的实体, 并使后续的活动有了开始的可能。在本例中 READY队列是虚拟队列,SETUP是合作活动。
活动周期图法
Petri网法
15.1 实体流图法
对系统进行仿真研究,首先要建立系统的模型。离散 事件系统的时间是连续变化的,但系统的状态仅发生 在一些离散的时刻,由随机事件的驱动而发生,因此, 离散事件系统的模型很难用数学方程来描述。所以, 逐渐形成一些与连续系统不同的建模方法。实体流图 法就是其中之一。 实体流程图方法(简称实体流图法)与程序流程图类 似 ,可以描述临时实体产生、流动、消亡及其被永久 实体加工、处理的过程和逻辑关系,应用比较广泛。
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时刻理发完毕离去。
安装 SETUP
空闲 IDLE
机床循环图 MACHINE CYCLE
就绪 READY
加工 RUN
图1 机床的活动循环图
现在对另一类实体-工人进行分析,假设工人只 担负一项任务—安装工件,即工人只参加一个活 动SETUP,则这一类实体的循环图如图2所示。
等待 WAIT
工人循环图 OPERATOR CYCLE
系统建模方法与仿真模型验证
zhaoyuexia@
在系统仿真应用过程中,建立正确的系 统模型、验证仿真模型、评价仿真模型 的可信性以及提高仿真模型的可信性一 直是系统仿真研究的重点。
离散事件系统建模方法
实体流图法
用流程图的方法描述事件、状态变化及实体间相 互作用的逻辑关系。 以图形直观地显示系统状态及其变化。 是一种系统的数学和图形描述与分析工具。
15.3系统模型的可信性与确认方法
系统模型的可信性是指:系统模型代表所研究 实际系统的精确程度。 判断系统模型可信的方法,有效的经验准则是, 由项目经理或项目的主要成员认定系统模型及 其结果是正确的。 在系统建模过程中,重要的是反映系统运行的 机理和状态变化规律,正确地反映系统输入参 数与系统性能之间的关系,不要无止境地要求 系统模型能够反映实际系统的细节。
上述运行过程可在实体流程图上标注。 首先在实体流程图队列框和永久实体状态判断框 旁边标出系统的初始状态,如在“排队等待”框 边上标0,“理发员闲”边上标YES,在流图下方 标TIME=0。 然后,当时间推进到一个新的时刻点时,在对应 框图上标出当前和未来各个时刻的实体状态。
A顾客到达,D顾客离去,B理发员忙,连在一起的数字是顾客编号
实体流程图方法
例1:理发店服务系统
实例:理发店服务系统——单队列-单服务台系 统
系统分析:
实体
临时实体:顾客 永久实体:服务员 特殊实体:队列 服务员:忙、闲 顾客:等待服务、接受服务 队列:队长
状态
实例:理发店服务系统— —单队列-单服务台系统
顾客到达
系统分析:
临时实体和永久实体
在离散事件系统中,实体分为两大类:临时实体、永 久实体。
临时实体:按一定规律由系统外部到达系统,在系统 中受永久实体的作用,按照一定的流程通过系统,最 后离开系统。因此,临时实体只在系统中存在一段时 间便自行消失。 进入商店购物的顾客是临时实体,它们按一定的统计 分布规律到达商店,经过服务员的服务后离开商店。 永久实体:相应地,永久驻留在系统中的实体称为永 久实体,它们是系统产生功能的必要条件。理发店中 的理发员,交通路口的红绿灯等是永久实体。
安装 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中才行。如果其中之一不在而另一个在, 则后者将被迫在队列中等待。 这种被迫等待,通常会使系统的性能严重下降。
理发员闲 Y 置理发员忙
N
排队
活动
排队、服务
顾客到达 顾客结束排队(开始 接受服务) 顾客服务完毕离开 FIFO
事件
顾客开始服务
顾客理完离去
排队规则
置理发员闲
理发店服务系统实体流程图
模型属性变量: 顾客到达时间(随机变量) 理发员为一名顾客理发所需要的时间(随机变量)
注意:实体流图是实体流动和逻辑关系图,不是计算 机程序框图。
(3)系统仿真的初始条件。在确定仿真的初始条件时, 应尽量避免使系统处于“空闲状态”。因此,应该尽 可能的使初始状态接近系统的稳态。 在ACD图上,应该恰当地给出每个实体的初始位置 (既可以给定于队列中,也可以给定于活动中。但是 要注意,如果实体放在合作活动中,必须保证该活动要 求参加的所有实体均已放入。)
ACD图仿真所需的信息
在建立ACD图后,如要进行仿真,还需要以下三种信息: (1) 每一个活动的周期值(即活动持续时间)。它可以是一 个常数,如图4.21中的D=10;一个计算值(如5乘以机 床主轴数);一个随机变量(如负指数分布函数的随机采 样值),或者是上述数值的组合。 (2)每一个队列的排队规则。排队规则可采用先进先出,后 进后出,等级高者先出或其它的优先规则。“等级高者” 规则按实体的属性决定其优先等级,如效率最高的工人优 先;最不耐心的顾客优先等。 在活动循环图中,若没有指明排队规则,则表示默认的 规则是先进先出