第3章 离散系统模拟.ppt_第1页
第3章 离散系统模拟.ppt_第2页
第3章 离散系统模拟.ppt_第3页
第3章 离散系统模拟.ppt_第4页
第3章 离散系统模拟.ppt_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

管理系统模拟 华中科技大学肖人彬等电子工业出版社 2008 高等学校信息管理示范教材 第3章离散系统模拟 3 1离散系统模拟概述3 2离散模拟的基本原理和运行逻辑3 3模拟模型性能评价3 4离散系统模拟案例3 5离散系统模拟工具3 6Arena模拟工具 3 1离散系统模拟概述 一 离散模拟的定义与分类离散模拟模型按照工作机理的不同 或者按照分别侧重于处理事件 活动和过程的不同 可以分为以下三类 1 以事件为基础 EventOrientation 的模拟 2 以活动扫描为基础 ActivityScanningOrientation 的模拟 3 以过程为基础 ProcessOrientation 的模拟 3 1离散系统模拟概述 1 以事件为基础的离散模拟称为离散事件模拟 系统的建模是通过定义系统状态在事件时间的变化来实现的 建模的任务在于确定导致系统状态改变的事件以及与各类事件相对应的逻辑关系 在排队系统中 顾客到达事件和顾客离去事件是基本的事件 下图所示为排队系统的离散事件模拟模型 3 1离散系统模拟概述 a 顾客到达 b 顾客离去 3 1离散系统模拟概述 2 以活动扫描为基础的离散模拟模拟模型描述系统的实体所进行的活动 以及预定导致活动开始或结束的条件 活动开始或终止的事件由为活动规定的条件所初始化 随着模拟时钟按一定的步长推进 需对每项活动的开始或终止的条件进行扫描 这种模拟尤其适宜于活动延续时间不定并且是由满足一定条件的系统状态来决定的情况 与以事件为基础的模拟相比 它的效率低 因而目前应用不够广泛 在排队系统中 服务员为顾客提供的服务是基本的活动 下图所示为排队系统的以活动扫描为基础的离散模拟模型 3 1离散系统模拟概述 3 1离散系统模拟概述 3 以过程为基础的离散模拟所谓过程是由事件的时间序列以及若干活动所组成 它描述了作为模拟对象的实体如何流经具有一定资源的过程 譬如 为了模拟排队服务系统 可以运用下述语句 1 每隔T分钟产生一个到达的实体 2 实体排队等候服务 3 将模拟时钟以服务时间的步长向前推移一步 4 当服务结束时 解脱 服务员 5 将实体从系统清除 下图所示为排队系统的以过程为基础的离散模拟模型 3 1离散系统模拟概述 3 1离散系统模拟概述 二 离散模拟的常用术语1 实体实体是描述系统的基本要素之一 临时实体 在系统中只存在一段时间的实体 永久实体 永久驻留在系统中的实体 临时实体按一定规律不断地到达 产生 在永久实体作用下通过系统 最后离开系统 整个系统呈现出动态过程 3 1离散系统模拟概述 2 属性属性指系统的实体和资源的特性 正确划定模拟的实体 资源及其属性 是系统建模的重要组成部分 表3 1列举了一个生产计划系统的实体 资源及属性 表3 1生产计划系统的实体 资源和属性 3 1离散系统模拟概述 3 事件事件就是引起系统状态发生变化的行为 从某种意义上说 这类系统是由事件来驱动的 一个系统中往往有多类事件 需要建立事件表对系统中的事件进行管理 表中记录每一发生了的或将要发生的事件类型和发生时间 以及与该事件相联的实体的有关属性等 系统事件 系统中的固有事件 程序事件 用于控制模拟过程 当该事件发生时即结束模拟模型的执行 3 1离散系统模拟概述 4 活动离散事件系统中的活动 通常用于表示两个可以区分的事件之间的过程 它标志着系统状态的转移 5 进程进程由若干个有序事件及若干有序活动组成 一个进程描述了它所包括的事件及活动间的相互逻辑关系及时序关系 事件 活动 进程三者之间的关系可用图3 4进行描述 3 1离散系统模拟概述 图3 4事件 活动 进程三者之间的关系示意图 3 1离散系统模拟概述 6 模拟时钟模拟时钟用于表示模拟时间的变化 在连续系统模拟中 将连续模型进行离散化而成为模拟模型时 模拟时间的变化基于模拟步长的确定 离散事件模拟不需要进行离散化处理 但模拟时钟的推进步长则完全是随机的 两个相邻发生的事件之间系统状态不会发生任何变化 因而模拟时钟可以跨过这些 不活动 周期 从一个事件发生时刻推进到下一事件发生时刻 模拟时钟的推进呈现跳跃性 推进速度具有随机性 3 1离散系统模拟概述 7 统计计数器离散事件系统的状态随着事件的不断发生也呈现出动态变化过程 但由于这种变化是随机的 某一次模拟运行得到的状态变化过程只不过是随机过程的一次取样 它们只有在统计意义下才有参考价值 在模拟模型中 需要有一个统计计数部件 以便统计系统中的有关变量 3 2离散模拟的基本原理和运行逻辑 定义系统的状态变量 对于一个系统来说 用一组状态变量S 矢量 来描述系统的变化特征 其中每一个状态变量s用来表达系统在某一方面行为的变化特征 S通常被称为系统的状态空间 在离散模拟模型中 系统的状态变化可以用一个阶梯函数来表达 换句话说 系统的状态变化是跳跃式的 仅仅在离散间断的时间点上发生 系统状态的变化实际上是由一系列间断发生的事件所驱使的 一个事件的发生是外部因素或者内部因素作用的结果 一系列事件的有序发生驱使着离散模拟过程有序地进行 3 2离散模拟的基本原理和运行逻辑 定义一个事件时主要考虑那些对系统状态及行为变化和模拟分析结果有重要影响的事情 一个事件有两个基本属性 一是时间属性 记载该事件发生的时间 二是对应属性 也即该事件的发生所对应着的系统某个状态变量的变化 在模拟模型的运行中 当一个事件发生时 往往需要处理一系列的事情 通常用一个专门的子程序来处理这些与事件发生相关的任务 通常叫做事件程序 模拟时钟 SimulationClock 跟踪并记录模拟时间 模拟时钟与实际时间的差别 假设在某一时刻t1 系统中某种事件发生了 模拟时钟就会 停 下来 直到事件程序处理完有关的事情时钟才会继续走动 而这时的实际时刻已经是t2 然而不论有多少事情需要在事件发生时处理 实际时间总是从不间断的 3 2离散模拟的基本原理和运行逻辑 用两个简单例子来说明如何定义系统的状态及其变化 1 单一排队服务系统 见图3 5 图中圆圈代表前来购票的顾客 个体 而方块则代表提供服务的售票员 资源 定义两个状态变量 系统里总的顾客数量N和服务员的状态B N通常是一个有限的正整数 而B则是一个 0 1 变量 0代表空闲状态 而1则代表工作状态 由此可以定义两个重要的事件 一是顾客的到达 二是顾客接受服务后的离去 说它们重要是因为这两种事件的发生都会直接影响到系统状态变量的改变 3 2离散模拟的基本原理和运行逻辑 到达排队接受服务离开 销毁个体 图3 5单一排队服务系统的概念模型2 一个简单的工厂库存系统 见图3 6 定义一个系统状态变量为 库内现存的产品数量M 定义两个事件 制成产品的到达入库和用户购买产品之订单的到来 这两种事件的发生都直接影响到系统状态M的变化 制成品到达会使M增加 而用户订单的到来会使M减少 3 2离散模拟的基本原理和运行逻辑 为 入库 和 取货 这两个操作过程定义各自的状态变量B t 来反映其从空闲状态到工作状态 或相反 的变化 产品到达等候入库入库销毁产品个体 订单到达等候配量取货销毁订单个体 图3 6简单的工厂库存系统的概念模型 3 2离散模拟的基本原理和运行逻辑 用事件图来描述被模拟系统的状态变化也是一种非常有效的方法 在这种方法中 每一个圆圈代表着某一种特定的事件 而每一条有向的弧线 箭头 则代表着某一事件对其自己或其他事件的未来影响 可以用事件图来描述图3 6中简单排队系统的逻辑原理 见图3 7 图3 7简单排队模拟模型的逻辑事件图 3 2离散模拟的基本原理和运行逻辑 从图中可以看出 这个模拟系统有两类事件 个体到达与个体离开 完成服务后 其中 每一次个体到达的发生就会决定下一次个体到达 同类事件 发生的时间 也可以决定下一次个体离开 非同类事件 的时间 而每一次个体离开的发生则只会影响到下一次个体离开的发生 还必须定义个体到达事件的初始预置使整个模拟过程得以启动 图中带有部分破折线的箭头 最后 如果模拟运行的时间有限 还可以定义一个模拟结束事件 该事件的发生将停止整个模拟的运行 整个模拟过程就是由这一系列事件的产生和有序发生来驱使运行的 这也就是为什么离散模拟又常常被称为 事件驱使型模拟 3 2离散模拟的基本原理和运行逻辑 一 事件驱使型模拟计算机模拟的过程是以某些特定事件的离散发生而展开进行的 这些离散事件的发生影响或改变系统的状态 这些事件的有序发生驱使着模拟过程有序地进行 模拟系统状态的有序变化 模拟模型须确定那些在模拟的未来时刻发生的事件及其发生的时间和顺序 记录和跟踪这些事件 并且在每个事件发生时按照要求更变系统的状态 收集有关的数据 更新有关的统计量 以及把模拟时钟从当前时刻 跃进 到下一事件的发生时刻 3 2离散模拟的基本原理和运行逻辑 二 事件的排定与事件安排时间表实施离散计算机模拟的一条基本策略就是设置一个 机构 来确定和控制以下与事件相关的问题以及事件发生时所涉及到的情况 1 确定新的事件 也即产生未来的事件 特别是确定未来事件的类型 2 当一个事件发生时 有哪些事情需要得到处理 3 哪一个事件应该被安排为下一个发生的事件 如何把模拟时钟从当前的事件跃进到下一事件的发生 前两个任务可以由一个定时程序 EventRoutine 来完成 而最后一个任务通常是由一个事件程序 TimingRoutine 来完成 3 2离散模拟的基本原理和运行逻辑 从图3 8可以看出 一个离散模拟模型的逻辑运行结构如下 首先当模拟开始运行时 一个预置子程序最先启动 其功能是设定模拟模型的初始状态 预置程序启动后 一个定时程序 TimingRoutine 接着开始运行 其主要任务是根据事件序列表中的排列确定下一个未来发生的事件 也即离 当前时刻 最近的事件 并且把模拟时钟从现在的时刻跃进到下一个事件的发生时刻 接着运行的是一个事件程序 事件程序的任务包括三个方面 根据最近事件的发生更新有关的系统状态变量 更新有关的统计计数变量 确定未来事件 的类型 及其的发生时刻并把确定的结果 新产生的事件 加入到事件序列表 3 2离散模拟的基本原理和运行逻辑 事件程序运行之后 模拟模型将按照某种预定的终止条件来决定是否继续运行 如果需要继续 则返回到定时程序开始下一个运行周期 如果终止条件满足 则模拟将停止运行 计算有关的统计数值 输出变量的估计值 并启动一个报告程序把模拟结果按照要求的格式形成报告 整个过程如图3 8所示 图3 8离散模拟模型的运行逻辑流程 3 2离散模拟的基本原理和运行逻辑 为进一步理解离散事件模拟的工作原理 在此把在第2章里用到的单一排队服务系统模拟例子进行详细地分解 分解从时间T 0 T表示模拟时间 开始 跟踪每一个事件的发生 及其发生时模拟所做的事情 一直到时间T 25时停止 表3 2给出个体 顾客 到达 离开 服务以及等候的时间 注意其中到达时间和服务时间都是随机产生的变量 3 2离散模拟的基本原理和运行逻辑 表3 2单一排队服务系统例子的有关数据 3 2离散模拟的基本原理和运行逻辑 1 T 0 首先启动预置程序来设定模型中所有的变量 状态变量和计数变量 的初始状况 例如 设定服务者的初始状态为0 闲置 排队人数为0 事件表为0 还没有事件产生 上一事件 的发生时间为0 模拟时钟的时刻为0 模拟停止时间为25 所有的计数变量也等于0 然后预置下一次 顾客到达 的时间为0 2 2 由于系统开始时还没有顾客 所以下一次 顾客离开 的时间预设为 接着启动定时程序 决定下一事件是 顾客到达 2 于是把模拟时钟从此刻 T 0 跃进到下一事件 顾客到达 的发生时刻T 2 3 2离散模拟的基本原理和运行逻辑 2 T 2 第一位顾客到达 模拟系统首先启动一个 到达程序 来处理个体到达时需要完成的事情 例如 将服务员从闲置状态改变为工作状态 排队等候时间为0 第一位顾客不需要等候 随机产生的下一次到达事件的时间等于 本次到达的时刻 与下次到达的时间间隔 为2 4 6 而下一次离开事件的时间则为2 3 5 故下一个事件将是 顾客离开 模拟时钟跃进到下一事件发生时刻T 5 3 T 5 第一位顾客完成服务离开 模拟启动一个 离开程序 检查有无个体在排队中等候 排队长为0 将服务员状态由工作改为闲置 B 0 增加一个完成服务的顾客数量 系统中现无任何个体 所以下一次离开的时刻为 而下一次到达的时刻是T 6 已经被确定 因此下一个事件将是 顾客到达 模拟时钟跃进到T 6 3 2离散模拟的基本原理和运行逻辑 4 T 6 第二位顾客到达 到达程序 系统排队等候的为0 资源闲置 所以该个体可直接进入服务 等候时间为0 排队人数仍然为0 将资源状态改变为1 工作 下一次到达的时间为6 1 7 而下一次离开的时间为6 5 11 所以下一个事件是 顾客到达 模拟时钟跃进到下一个事件发生时刻T 7 5 T 7 第三位顾客到达 资源正被占用 所以进入排队等候 排队人数增加一个 0 1 1 下一次到达的时间是7 2 9 而下一次离开的时间是11 已经被确定 所以预计的等候时间是11 7 4 而下一个事件是 顾客到达 模拟计时钟跃进到下一事件发生时刻T 9 3 2离散模拟的基本原理和运行逻辑 6 T 9 第四位顾客到达 资源仍然被占用 所以加入排队 排队人数增加一个 1 1 2 注意第三位顾客仍在排队中等候 所以第四位顾客将是排队中处于第二位的个体 下一次的到达时间为9 4 13 而下一次离开的时间是11 所以下一个事件是 顾客离开 模拟时钟跃进到T 11 7 T 11 第二位顾客完成服务离开 离开程序 完成服务离开的顾客增加一个 已经有顾客排队等候 所以不改变资源现在的状态 工作 1 将排队等候的个体数量减少一个 第三位顾客进入服务 下一次离开的时间是11 6 17 而下一次到达的时间是13 所以下一个事件是 顾客到达 模拟时钟跃进到下一事件的发生T 13 3 2离散模拟的基本原理和运行逻辑 8 T 13 第五位顾客到达 到达程序 资源仍然被占用 资源状态不改 排队中已经有一人 第四位顾客 所以进入排队 队中第二名 等候 排队人数增加一个 下一次到达时间为13 5 18 而下一次离开时间是17 下一个事件是 顾客离开 模拟时钟跃进到下一个事件的发生T 17 9 T 17 第三位顾客完成服务离开 离开程序 完成服务的顾客增加一个 由于有顾客等待 资源工作状态不变 仍然为1 将排队等候的人数减少一个 第四位顾客进入服务 下一次离开事件的时间是17 3 20 而下一次到达的时间是18 所以下一个事件确定为是 顾客到达 模拟时钟跃进到下一事件的发生T 18 3 2离散模拟的基本原理和运行逻辑 10 T 18 第六位顾客到达 到达程序 资源在被占用 排队中已经有一人等候 所以进入排队 队中第二名 等候 排队人数增加一个1 1 2 下一次到达的时间为18 5 23 而下一次离开事件的时间是20 所以下一个事件是 顾客离开 将模拟时钟跃进到下一事件的发生T 20 11 T 20 第四位顾客完成服务离开 离开程序 完成服务的顾客增加一个 由于有顾客等待 资源状态仍然不变 将排队等候的人数减少一个 第五位顾客进入服务 排队人数2 1 1 下一次离开的时间是20 2 22 而下一次到达的时是23 所以下一个事件是 顾客离开 将模拟时钟拨进到下一事件的发生T 22 3 2离散模拟的基本原理和运行逻辑 12 T 22 第五位顾客完成服务离开 离开程序 完成服务的顾客增加一个 由于仍有顾客等待 资源状态不变 将排队等候的人数减少一个 第六位顾客进入服务 排队人数1 1 0 下一次离开的时间是22 2 24 而下一次到达的时间是23 所以下一个时间是 顾客到达 模拟时钟拨进到T 23 13 T 23 第七位顾客到达 因为资源正被占用 所以进入排队等候 排队人数增加一个 0 1 1 预计等候的时间是1 下一次到达的时间是23 4 27 而下一次离开的时间是24 所以下一个事件是 顾客离开 模拟时钟拨进到下一事件的发生T 24 3 2离散模拟的基本原理和运行逻辑 14 T 24 第六位顾客完成服务离开 离开程序 完成服务的顾客增加一个 由于有顾客排队等候 资源状态不变 将排队的人数减少一个 排队人数 1 1 0 第七位顾客进入服务 下一次离开的时间是24 3 27 而下一次到达的时间是27 所以下一个事件可选到达或者离开 这里选择 到达 由于下一个事件的发生时间是T 27大于模拟结束时间T 25 所以只能把模拟时钟拨进到T 25 15 T 25 这是停止模拟运行的时间 3 2离散模拟的基本原理和运行逻辑 图3 9排队长度N t 的动态曲线 图3 9所示是根据模拟结果绘制出的关于排队长度N t 的动态曲线 3 3模拟模型性能评价 以排队服务系统为例介绍离散系统模拟的评价 排队理论已经广泛应用于各种管理系统 例如 仓库供应 企业生产 物资分配与流通 交通运输 计算机作业 银行服务 医院及保健服务 商店 餐厅 理发店等生活服务 都可以作为如图3 10所示的排队服务系统进行处理 在系统模拟的应用中 尤以排队系统的离散型模拟最为普遍 图3 10排队服务系统 3 3模拟模型性能评价 构成排队服务系统的主要实体 是接受服务的各种形式的顾客以及提供各种形式服务的服务者或服务设施 表3 3简要说明了多种排队服务系统的实体 表3 3排队服务系统的实体和资源 3 3模拟模型性能评价 在分析排队服务系统时 通常要涉及的因素可能包括以下的方面 1 顾客到达的速率或相邻顾客到达的间隔时间 呈确定性或随机性 2 服务速率或单位顾客的服务时间 呈确定性或随机性 3 服务者或服务设施的数量 4 顾客排队规则 有先进先出 后进先出以及其他优先规则等 5 排队列数 有单列的和多列的 6 队列容量 为有限的和无限的 3 3模拟模型性能评价 评价排队服务系统性能的指标主要有以下三个 1 顾客在系统内的平均停留时间 式中 di为第i个顾客在系统内的停留时间 N为完成服务的顾客人数 2 系统内的平均顾客人数式中 qj为发生第j事件时的系统内的顾客人数 tj为第j事件的发生时间 tj 1为第j 1事件的发生时间 T为整个模拟时间 m为在T期间发生的事件数目 3 3模拟模型性能评价 图3 11说明了的计算方法 图3 11中画有剖面线的面积之和等于上式右边的分子部分 即 3 服务员负荷率 它等于服务员繁忙时间之和与整个模拟时间之比 图3 11的计算方法说明图 3 4离散系统模拟案例 此处采用Matlab对一个M M 1排队系统进行计算机模拟 这个排队系统的服务员为一人 顾客到达系统的间隔时间为平均值等于1min的指数分布随机变量 单位顾客服务时间为平均值等于0 5min的指数分布随机变量 单列排队 采取先进先出的规则 排队行列的最大容量为100 模拟的终止条件为有1000个顾客服务结束离开系统 1 系统的实体 属性和事件系统的实体是顾客 以及资源是出纳员用相应的属性来表征实体决定有两类事件 第1类事件 顾客到达事件 第2类事件 顾客在服务结束后离开系统 3 4离散系统模拟案例 2 系统模拟程序利用Matlab编制模拟程序 除了主程序外 还在M文件中编制了一系列的子程序 它们的功能如表3 4所示 表3 5列举模型的变量的名称和定义 表3 4排队服务系统模拟的子程序和函数 表3 5本模型的变量 3 4离散系统模拟案例 3 4离散系统模拟案例 1 模拟主程序图3 12是排队服务系统模拟的主程序 它的主要功能如下 1 读入输入参数值 2 调用INIT子程序对系统进行初始化 3 调用TIMING子程序 安排事件的类型和时间 4 调用ARRIVE子程序或DEPART子程序以处理顾客到达事件或顾客离开系统事件 5 输出模拟结果 主程序的功能是判断事件的类型并对相应的事件进行调度 并最终统计并输出模拟结果 3 4离散系统模拟案例 图3 12排队服务系统模拟的主程序 3 4离散系统模拟案例 2 INIT子程序INIT子程序的目的是对系统参数实施初始化 如图3 13所示 还通过TNE 1 TIME exprnd 1 语句确定首次顾客到达时间 设定TNE 2 100000000000000 以保证首次事件必定是顾客到达事件 图3 13INIT子程序 3 4离散系统模拟案例 3 TIMING时钟子程序本系统模拟的定时子程序 如图3 14 扮演着 模拟时钟 的角色 它依据离散模拟时间前移的机理 确定下一次事件的类型和时间 在程序中 首先比较TNE 1 TNE 2 TNE NEVNTS 的数值 此处NEVNTS为事件类型数目 由主程序设定 在本例中它等于2 然后确定下次事件类型NEXT等于事件时间为最小值的事件的类型 进而通过TIME TNE NEXT 语句将模拟时钟推移到下次事件时间 若出现NEXT 0 即事件表已经空白 计算机就会终止模拟 4 ARRIVE子程序ARRIVE子程序是处理第1类事件即顾客到达事件的子程序 图3 15所示为这个子程序的流程图 图3 16则是ARRIVE子程序的源程序 3 4离散系统模拟案例 图3 14定时子程序 图3 15ARRIVE子程序流程图 3 4离散系统模拟案例 图3 16ARRIVE子程序的源程序 3 4离散系统模拟案例 5 DEPART子程序DEPART子程序处理顾客服务结束离开系统事件 其流程图见图3 17 图3 18是它的源程序 图3 17DEPART子程序流程图 3 4离散系统模拟案例 图3 18DEPART子程序的源程序 3 4离散系统模拟案例 由本排队服务系统模拟的输出报告 见图3 19 可知 本排队服务系统的顾客平均停留时间为0 497min 平均排队长度为0 5个顾客 图3 19排队系统模拟的输出报告 3 5离散系统模拟工具 按照建模思想和所用语言工具的不同 可分三个层次 1 直接用某种通用的高级语言编写和运行模拟程序 如用C C Pascal Fortran 数据库语言 2 采用专用的计算机模拟语言来进行建模与分析 SIMAN GPSS SLAM 3 采用更高层次的图形组合式的模拟软件包 如Arena 3 5离散系统模拟工具 各种专用模拟语言 尽管在结构 逻辑关系 理解及使用的难易程度以及灵活性等方面有所不同 但是 一般说来 都具备下述功能 无须建模者自己动手开发 1 数据结构及内存的管理 表述系统的实体 文件处理 2 模拟时间管理 3 随机分布抽样 4 计算能力 3 5离散系统模拟工具 5 数据的收集 分析与显示 数据收集 数据分析 6 调整程序和监测系统动态 为适应调整计算机程序的需要 模拟语言应具有下述功能 报告源程序在编译时和执行中的出错信息 当执行中发生误差时 显示完整的程序流程状态 在整个程序或某程序段 进行事件跟踪以及运用程序诊断 以获得有关信息 分析如错原因 对程序进行相应修改 3 6Arena模拟工具 一 Arena简介1 Arena的来源及发展历史1982年和1984年 柔性建模语言SIMAN和基于SIMAN的动画模拟环境CINEMA相继问世 基于SIMAN CINEMA发展起来的Arena是美国SystemModeling公司于1993年开始研制开发的新一代可视化通用交互集成模拟环境 其核心技术来源于SIMAN和CINEMA 在此基础上有了深刻的变化 很好地解决了计算机模拟与可视化技术的有机集成 兼备高级模拟器易用性和专用模拟语言柔性的优点 并且还可以与当时流行的通用过程语言 如VisualBasic FORTRAN和C C 等编写的程序连接运行 3 6Arena模拟工具 2 应用领域Arena可以用于不同类型的模拟应用 包括离散模拟 连续模拟 系统动力学模拟 离散 连续混合模拟 当然 也包括蒙特卡罗模拟 作为通用的可视化交互集成模拟环境 Arena的应用范围几乎覆盖可视化模拟的所有领域 如生产制造系统 公共系统和服务系统等 3 6Arena模拟工具 二 结构与功能1 结构体系可视化集成模拟环境Arena 将通用过程语言 专用模拟语言和模拟器的优点有机地整合集成起来 采用面向对象技术 层次化的系统结构 兼备易用性和建模灵活性两方面的优点 在Arena的最底层 过程语言 包括VB C C 和Fortran 用来建立特殊要求的模型 即满足复杂的决策规则或外部数据的选取等这些特别的需求 块和元素面板是由SIMAN模块组成的 即SIMAN模板 因而它具有SIMAN的一切优点 3 6Arena模拟工具 支持与运送面板是由SIMAN模块封装后组成的模板 可以进行灵活性更大的建模 常用面板是模拟建模过程中最常用的一些通用模块 和支持与运送面板一起组成了Arena模板 SIMAN模板 Arena模板则 以及用户采用过程语言编写的程序 一起构成了Arena的标准版本 应用方案模板 ApplicationSolutionTemplates 简称ASTs 是SystemModeling公司建造的一些常用系统模板 Arena的标准版本与ASTs和用户生成模板一起则组成了Arena的专业版本 3 6Arena模拟工具 2 功能特点作为新一代可视化交互集成模拟环境 Arena具有强大的功能 1 输入分析器 InputAnalyzer 输入数据质量的好坏决定了系统模拟的质量 在Arena环境下 提供有的输入分析器作为Arena的一个标准组成成分来辅助用户进行数据处理 输入分析器是一个功能强大且通用的工具 能够分析用户所提供的数据 以拟合出各种概率分布函数 或者说生成各种概率分布函数 其中包含了该分布函数的特征参数 输入分析器的输入数据是由用户采样收集的 输出则是各种类型分布函数及其参数估计 Arena能够提供几乎所有常用的分布函数 3 6Arena模拟工具 2 可视化柔性建模在Arena环境下 采用的是面向对象的层次建模方法 对象是构成模型的最基本的元素 对象与对象之间相互作用构成了模型 模型本身也是模块化的 这样 模型又可以与其它模块或对象构成新的更大更复杂的模型 从而形成层次建模 保证了模型层次分明且易于管理 在可视化交互集成环境Arena下 建模与可视化技术是集成在一起的 这样 在建模的同时实现模型的可视化表达 提高了可视化建模的效率 3 6Arena模拟工具 3 输出分析器 OutputAnalyzer 输出分析器提供了一个易用的用户界面以帮助用户简化数据分析 使用户查看和分析输出数据更加快捷 简便 输出数据分析器可对数据进行多样的显示处理 包括条形图 Barchart 柱状图 Histogram 移动平均 MovingAverage 曲线图 Plot 表 Table 等 还可对数据进行功能强大的数理统计分析 4 Arena的定制与集成Arena2 0以上的版本能完全与MicrosoftWindows和MicrosoftWindowsNT等兼容 3 6Arena模拟工具 Arena开发了两项Windows技术以增强桌面应用程序的集成性 一是ActiveX自动化 OLE自动化 二是应用程序集成技术VisualBasicforApplication VBA 这两项Windows技术共同作用使得Arena可以和其它支持ActiveX自动化的程序集成到一起 Arena可以控制和定制用户化的输出报表 Arena还可以通过对象链结与嵌入 OLE 来使用其它应用程序的文件和函数 3 6Arena模拟工具 三 基本模块1 流程图模块 1 生成模块 该模块是一个模拟模型开始点 用于产生到达的实体 2 处理模块 该模块用于处理到达的实体 3 判断模块 该模块表述系统中的决策过程 可用于到达实体的分类 也可用于实体流动的分流 4 赋值模块 该模块用于对变量 实体特性 实体类型 实体图片或其他系统变量赋值 且一个模块可以完成多个赋值 3 6Arena模拟工具 5 批量模块 该模块用于模拟模型中的组合功能 6 分解模块 该模块用于将一个输入实体拷入多实体中 或将已有的一组实体分解 7 记录模块 该模块用于收集数据 包括各种类型的观察统计数据 同时提供了统计计算类型 而且指定了记录和计数集合 8 清除模块 该模块是模拟模型的结束点 用于清除被处理完的实体 并记录实体的统计值 3 6Arena模拟工具 2 数据模块 1 实体模块 该数据模块定义了模拟中各实体的类型和它们的初始图形值 也定义了实体初始成本信息和维持成本 2 排队模块 该数据模块用于改变一个特定的排队系统的排队规则 缺省的排队规则是先进先出 3 资源模块 该数据模块定义在模拟系统中的资源 包括成本信息和资源能力 4 时间表模块 该数据模块同资源模块一起定义一个资源运作的时间表 或者同产生模块一起定义一个到达时间表 另外 时间表还用于基于模拟时间的因子时间延迟 5 集合模块 该数据模块定义了各种类型的集合 包括资源 记数器 记录实体类型以及实体图形 6 变量模块 该数据模块用于定义变量的维数和初始值 3 6Arena模拟工具 四 Arena的建模过程示例1 示例考察一个简单的抵押申请处理过程 以显示如何用Arena5 0建模 模拟及进行可视化和分析 图3 43抵押申请处理流程图 3 6Arena模拟工具 2 Arena建模环境从WindowsStart菜单中选择Programs Arena ArenaBasicEdition开始运行 此时 Arena的建模环境就打开了 这是一个新的模型窗口 模型窗口中有三个主要区域 基本处理模块区域 BasicProcess 包含建模图标 称为模块 可用它们定义业务处理流程 报告区 Reports 包含很多报告 这些报告用来显示模拟运行结果 导航区 Navigate 允许显示不同的模型 还有两个主要的小窗口 流程图窗口和变量 参数清单窗口 3 6Arena模拟工具 3 将处理过程映射为流程图首先将建立一个流程图 流程图 这个词涉及到了两个概念 建模和模拟 1 产生抵押申请单实体流程图是从产生模块 CreateModule 开始的 这是实体流经模型的起始点 用鼠标从基本处理模块区中拖动Create模块到模型窗口中 一个缺省的名为 Createl 就赋给了该模块 图3 45添加Create模块 3 6Arena模拟工具 2 处理申请单的过程选中Create模块 用鼠标将Process模块从基本处理模块区中拖至模型窗口 将它放至Create右边 3 如何使用Snap和Grid如果流程图窗口中模块排列得不整齐 可以使用Arena中的Snap和Grid功能调整它们 4 判断申请单是否处理结束选中Process模块 用鼠标拖动Decide模块到Process模块的右边 图3 46添加Process模块 3 6Arena模拟工具 5 消除 Dispose 申请以终止流程选中Decide图块 用Mouse拖动Dispose模块到Decide模块的右边 Arena将把它连接到Decide模块判断结果为正确 是 的输出点 增加第二个Dispose模块 实体流 EntityFlow 总是从生成模块 CreateModule 开始 到消除模块 DisposeModule 终止 图3 47添加Decide模块 3 6Arena模拟工具 6 什么是模块 Module 在Arena中 模块就是各种形状的图形及其所代表的数据信息 它们定义了被模拟的流程 图3 48添加Dispose模块 3 6Arena模拟工具 4 定义模型数据 1 初始化抵押申请 双击CreateModule以打开它的属性对话框 在Name字段中 键入 InitiateMortgageApplication 对于定义到达时间的间隔 输入2 单击 OK 以关闭对话框 2 什么是实体 实体是对象 如顾客 文档 工件等 它们正在被服务 被生产或者正对它们进行处理 3 评审申请 ProcessModule 实体要有一段时间延迟 在此 定义最小时间为1h 最可能时间为1 75h和最大时间为3h 同时还将安排一个资源 即一个抵押评审员来处理这个过程 3 6Arena模拟工具 双击ProcessModule以打开它的对话框 在Name字段中 键入 ReviewApplication 为了定义处理该过程的一个资源 拉下Action列表 选择SeizeDelayRelease 所有资源的列表将会出现在对话框的中部 单击Add按钮 以增加这次处理过程中所要使用的资源 在资源对话框中的Resourcename字段处 键入 MortgageReviewClerk 单击 OK 以关闭资源对话框 分别定义处理延迟时间参数为最小值1 最可能值1 75和最大值3 注意 缺省的延迟类型为三角分布 缺省的时间单位为小时 单击 OK 以关闭对话框 3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论