第04讲 仿真模型设计与实现.

Slides:



Advertisements
Similar presentations
第一讲:导论 The Introduction  哲学与中国哲学  哲学与哲学史  中国哲学史的历史.
Advertisements

实用农业科技写作 王鹏文. 第一章 导论 第一节 农业科技写作概述 一 、 农业科技写作概念和分类: 科技文献类、科技应用类、 科技普及类、科技新闻类 二、 农业科技写作的意义和重要性: 科技工作的重要组成部分、科学研究的手段、 科技成果的反映和标志、科技交流的工具 三、 农业科技写作的特点 : 功利性与及时性、科学性与先进性、读者的专门性与狭隘性、
教學與行政收費 E 化平台建置 總務處出納組 102/4/25. 前言 本校學雜、學分及招生報名費外之公 款繳納方式,由繳款人透過開立於中 信商銀 401 專戶辦理匯款 ( 金融機構或 ATM) 入帳,或親至出納組辦理。 為因應數位化及現代生活習慣,擬設 置繳費 E 化平台,同時收款通路將增 加全國四大超商、線上刷卡或網路.
新课程引领 实践中前行 —— 蓟县初中信息技术三年课改总结. 自从 2005 年秋季我市进入基础教育新一 轮课程改革实验以来,在市教研室的正 确领导下,我县初中信息技术课改工作 稳步推进。三年来,取得了一些成果, 也有不少体会。现将三年来的信息技术 课改工作总结如下。
仪 容. 一、化妆的技巧 眼部的化妆 唇部化妆 眉部化妆 鼻部化妆 根据脸型化妆 根据脸型选发型.
河南省基础教育资源网 邓伟鹏 二〇一二年七月 内容大纲 1. 培训平台的目的 2. 培训平台介绍 3. 培训平台功能 4. 培训工作建立流程 5. 培训门户 6. 在线学习 6.1 课程学习 6.2 在线考试 7. 培训考试管理 7.1. 课程管理 7.2 必修学习班建立 7.3 在线考试管理 7.4.
桐乡市地方税务局 2013 年度社会保险费汇算清缴有 关政策及事项说明. 一、政策规定 根据《中华人民共和国社会保险法》、《桐乡市社会保险费征缴管 理办法》(市政府令第 42 号)、《 关于完善社会保险费征缴管理有关问 题的通知》(桐政办发 [2012]152 号)及《关于完善社会保险费征缴管理.
建筑业2014年统计年报 和2015年定期报表培训 深圳市福田区统计局 2014年12月.
河北衡水中学 康新江 高效课堂与激情教育 河北衡水中学 康新江
省教厅检查首批中职示范校建设情况 准备工作会议
存量房交易纳税评估 系统简介 常州市武进地方税务局 政策法规科 2011 年 7 月.
NO.005 職涯 報 實習 徵才 攻讀 國立嘉義大學 學生事務處學生職涯發展中心.
國中教育會考 十二年國教—免試入學 及 意見整理.
護理部門實務運作與評鑑準備(一) 謝美美
金融商品與服務之基本模式 時間 資金投入 風險 金融商品與服務 資金產出 2. 金融商品與服務之基本模式 時間 資金投入 風險 金融商品與服務 資金產出 2.
2016 营改增纳税人 增值税纳税申报表培训课件 平定县国税局 时间:2016年5月.
严格标准 规范程序 认真做好党员发展工作.
薪資申報系統操作說明.
商学院 旅游管理专业介绍.
 历史以人类的活动为特定的对象,它思接万载,视通万里,千恣百态,令人销魂,因此它比其他学科更能激发人们的想像力。    
模块02 旅游电子商务应用实训
《数学》(华师大.八年级 下册) 第二十一章数据的整理与初步处理 扇形统计图的制作.
金融产品认知 09会计3班 刘碧莲.
怎样报销劳务性费用? ——暨薪酬发放申报系统介绍 怎样报销劳务性费用? ——暨薪酬发放申报系统介绍 (学院、部门适用)
國立空中大學台南中心  註冊工作簡報.
104學年度臺南區免試入學作業國中端說明會 臺南市政府教育局 104學年度臺南區高級中等學校免試入學委員會 日期:104年1月9日(五)
『臺北市營建剩餘資源管理系統』 教育訓練說明 臺北市政府 報告人 王宏正
新阳企业管理系统(标准版)简介 福州鼎瀚软件有限公司 2017/3/15.
4.3 处理数据 宝鸡理工学校计算机组 李小保.
“三项制度+一个平台”构建 省级高校教学质量监控体系
瓯海职专财经专业组简介.
国有资产清查 数据填报操作规范 2016年3月25日.
兵团供销社网站 实战讲解 实战讲解 谭稚娟.
按病种临床路径定额 限额付费管理     柳州市人民医院医保办 2012年2月16日 .
软件工程 实验三 周志钊
高校固定资产管理信息系统 资产清查报表 山东省教育厅 山东国子软件 2016年4月.
行政院衛生署國民健康局 婦幼健康管理資料庫系統 教育訓練-衛生所 配奇駒資訊股份有限公司.
电大教研活动 如何规范电大网上教学辅导 程庆峡 2010年4月 电大教研活动.
上海文会会计师事务所有限公司 中国注册会计师 童幸义
大学生安全防范教育.
大学生安全防范教育 济宁职业技术学院 安全保卫处.
关于成绩的数理统计的探讨 望您多多指教!多谢!!.
仓储企业岗位人员招聘 第一组 组员 :陈娇娇 祝婷婷 丁元莉 袁珮 王慧.
我的心得報告 經過篩選,挑中我們 十多位學生由學校推薦進入公司,開始他們的學習之旅 學習的過程中有想像不到的意外驚喜
人口与计划生育 统计分析 昌吉市计划生育委员会 二○○六年三月.
申請土地徵收注意事項 內政部地政司 邱于蓉.
节日安全指导手册.
网点常规审计管理办法.
2014年深圳市学生人身意外伤害保险投保工作介绍 中国人民财产保险股份有限公司深圳市分公司
专业教师成绩录入指南 及教学文档材料归档要求
校外人员酬金申报流程  .
武汉理工大学人事系统 职称评审资格审查培训
第2章 MATLAB程序设计 编者.
97學年度 導師輔導知能研習營成果.
办学条件核查 评估秘书组 电力职业技术学院 山西机电职业技术学院 2014年7月9日.
科 展 說 明.
2019/4/26 值得您列入生涯規劃的 一個重要選項 參加國家考試 考選部國家考試宣導小組.
地方科技基础条件资源调查管理信息系统 (标准化器)操作培训 2017年7月 呼和浩特
怎样报销劳务性费用? ——暨薪酬发放申报系统介绍 怎样报销劳务性费用? ——暨薪酬发放申报系统介绍 (项目经费适用)
成本会计学.
舊生升級編班與新生管理操作說明 全誼資訊股份有限公司 中華民國106年06月05日.
問題解決與流程圖 高慧君 台北市立南港高中 2006年12月22日.
國立空中大學台南中心  註冊工作簡報.
项目4.4: 工作表格式化 项目描述 能力目标 与WORD一样也对EXCEL的数据单元格设置边框和底纹,使工作表更加美观漂亮;若使用条件格式还能将符合条件的单元格数据指定格式,以便更好地比较和分析数据;设置页面布局、打印范围、打印参数将工作表打印出来。 掌握对单元格设置边框和底纹的基本操作与应用,
新课程理念下如何进行课堂教学 刘志超 2014年2月25日.
選舉軟體簡介 民眾服務與行程管理系統 深耕與經營.
106學年度四技二專技優甄審入學報名說明 1 1.
第六章 直接成本法.
6 分析資料-以統計測量數呈現.
資格審查登錄系統-首次登入設定通行碼 若考生先前已於「繳費身分審查系統」設定過通行碼,則無須再行設定,直接登入系統即可.
Presentation transcript:

第04讲 仿真模型设计与实现

第04讲 仿真模型设计与实现 提纲 一、排队系统概述 三、排队系统事件例程分析 四、仿真模型的EXCEL实现 五、仿真模型的MATLAB实现 第04讲 仿真模型设计与实现 提纲 一、排队系统概述 二、事件调度法 三、排队系统事件例程分析 单队列单服务台SQSS系统事件例程 单队列多服务台SQMS系统事件例程 四、仿真模型的EXCEL实现 SQSS系统手工仿真的Excel实现 SQSS系统仿真的Excel实现 五、仿真模型的MATLAB实现 SQSS系统仿真的Matlab实现 SQMS系统仿真的Matlab实现

一、 排队系统概述 Where the Time Goes 停在红灯前 6个月 打开邮寄广告 8个月 寻找放置不当的物品 1年 回电话不成功 人一生中平均要花费-- 停在红灯前 6个月 打开邮寄广告 8个月 寻找放置不当的物品 1年 回电话不成功 2年 做家务 4年 排队等待 5年 吃 6年

1 排队系统 排队系统:商业服务系统 系统类型 顾客 服务台 理发店 人 理发师 银行出纳服务 人 出纳 ATM机服务 人 ATM机 系统类型 顾客 服务台 理发店 人 理发师 银行出纳服务 人 出纳 ATM机服务 人 ATM机 商店收银台 人 收银员 管道服务 阻塞的管道 管道工 电影院售票窗口 人 售票员 机场检票处 人 航空公司代理人 经纪人服务 人 股票经纪人

1 排队系统 排队系统:内部服务系统 系统类型 顾客 服务台 秘书服务 雇员 秘书 复印服务 雇员 复印机 计算机编程服务 雇员 程序员 系统类型 顾客 服务台 秘书服务 雇员 秘书 复印服务 雇员 复印机 计算机编程服务 雇员 程序员 大型计算机 雇员 计算机 急救中心 雇员 护士 传真服务 雇员 传真机 物料处理系统 货物 物料处理单元 维护系统 设备 维修工人 质检站 物件 质检员

1 排队系统 排队系统:运输服务系统 系统类型 顾客 服务台 公路收费站 汽车 收费员 卡车装货地 卡车 装货工人 系统类型 顾客 服务台 公路收费站 汽车 收费员 卡车装货地 卡车 装货工人 港口卸货区 轮船 卸货工人 等待起飞的飞机 飞机 跑道 航班服务 人 飞机 出租车服务 人 出租车 电梯服务 人 电梯 消防部门 火灾 消防车 停车场 汽车 停车空间 急救车服务 人 急救车

1 排队系统 一般排队系统的基本特征 7

1 排队系统 排队系统主要绩效指标 服务台利用率 系统中平均顾客数 平均队长 顾客在系统内 平均停留时间 平均等待时间 出现大于n个顾客的概率

到达模式、服务模式、服务台数量、系统容量、排队规则以及相关时间参数。 1 排队系统 影响排队系统绩效指标的主要因素: 到达模式、服务模式、服务台数量、系统容量、排队规则以及相关时间参数。 到达模式:指接受服务的顾客到达系统的模式,常用实体到达时间间隔的概率分布表示。排队系统中比较常用的是泊松(possion)到达模式,用来描述排队系统中实体到达的泊松过程。 服务模式:一般用提供服务所需时间的概率分布表示。 系统容量指系统可提供服务的能力。 当有顾客到达而服务台正处于“忙”状态时,顾客需进入“队列”等待服务。顾客在“队列”中是按一定的规则得到服务的。常见的排队规则有:先到先服务(FIFO),后到先服务(LIFO)、优先级服务及随机服务等。

二、 事件调度法 事件:顾客到达、顾客离去(服务完毕) 状态:队列长度、服务机构状态 绩效指标:顾客平均等待时长、服务台忙率、服务顾客数量…

二、 事件调度法 通过如下排队系统,了解决策变量、反应变量、状态变量以及随机过程。 顾客到达等间隔5分钟;服务时间等长4分钟; 单队列单服务台排队系统仿真(参看:第04章 排队系统演示图例.doc) 顾客到达等间隔5分钟;服务时间等长4分钟; 顾客到达等间隔5分钟;服务时间随机数[2 2 2 6 6 6 ],即服务时间均值4分钟; 顾客到达等间隔5分钟;服务时间随机数[6 6 6 2 2 2],即服务时间均值4分钟; 顾客到达间隔随机[3 3 3 7 7];服务时间随机数[6 6 6 2 2 2]; 顾客到达间隔随机[7 7 7 3 3];服务时间随机数[6 6 6 2 2 2]; 求每种情况下服务6位顾客的完工时间,顾客平均等待时间,以及服务员忙率?

二、 事件调度法

二、 事件调度法

顾客到达间隔5分钟,服务时长平均为4分钟,第一个顾客0时刻到达 二、 事件调度法 顾客到达间隔5分钟,服务时长平均为4分钟,第一个顾客0时刻到达 顾客 服务时间 时间 队列人数 服务台状态 事件 1 6 闲 初始化 2 3 4 5 完工时间 顾客平均等待时间 服务员忙率

二、 事件调度法 顾客到达间隔随机[3 3 3 7 7];服务时间随机数[6 6 6 2 2 2]; 顾客到达间隔随机[7 7 7 3 3];服务时间随机数[6 6 6 2 2 2]; IE

二、 事件调度法 事件调度法 事件调度法最早出现在1963年兰德公司的Markowtz等人推出的SIMSCRIPT语言的早期版本中。它的基本思想是: 将事件例程作为仿真模型的基本模型单元,按照事件发生的先后顺序不断执行相应的事件例程。 每一事先可预知其发生时间的确定事件都带有一个事件例程,用以处理事件发生后对实体状态所产生的影响,并安排后续事件;条件事件不具有事件例程,对它的处理隐含在某一确定事件的例程中。 IE

二、事件调度法总控程序的算法结构 扫描事件表,确定下一事件发生时间; 推进仿真时钟至下一事件发生时间; 从事件表中产生当前事件表CEL,CEL中包含了所有当前发生事件的事件记录;

第04讲 仿真模型设计与实现 提纲 一、排队系统概述 三、排队系统事件例程分析 四、仿真模型的EXCEL实现 五、仿真模型的MATLAB实现 第04讲 仿真模型设计与实现 提纲 一、排队系统概述 二、事件调度法 三、排队系统事件例程分析 单队列单服务台SQSS系统事件例程 单队列多服务台SQMS系统事件例程 四、仿真模型的EXCEL实现 SQSS系统手工仿真的Excel实现 SQSS系统仿真的Excel实现 五、仿真模型的MATLAB实现 SQSS系统仿真的Matlab实现 SQMS系统仿真的Matlab实现

三、排队系统事件例程分析 单队列单服务台(Single Queue Single Server,SQSS)系统事件例程分析。 有顾客到达事件E1和服务完毕事件E2两类; 有队列长度和服务员状态。

三、排队系统事件例程分析 单队列多服务台(Single Queue Multiple Server,SQMS)排队系统事件例程分析。 有顾客到达事件E1和服务完毕事件E2两类; 有队列长度和服务员状态。

第04讲 仿真模型设计与实现 提纲 一、排队系统概述 三、排队系统事件例程分析 四、仿真模型的EXCEL实现 五、仿真模型的MATLAB实现 第04讲 仿真模型设计与实现 提纲 一、排队系统概述 二、事件调度法 三、排队系统事件例程分析 单队列单服务台SQSS系统事件例程 单队列多服务台SQMS系统事件例程 四、仿真模型的EXCEL实现 SQSS系统手工仿真的Excel实现 SQSS系统仿真的Excel实现 五、仿真模型的MATLAB实现 SQSS系统仿真的Matlab实现 SQMS系统仿真的Matlab实现

四、仿真模型的EXCEL实现 1. SQSS系统手工仿真的Excel实现 例4.1 考虑只有一个ATM机的银行自动存取款机器的网点,在某个时段顾客到达为等间隔到达,每5分钟到达一位顾客,前6位顾客使用ATM机器的时间(分钟)分别为3、3、3、7、7、7。可以看出顾客到达速率为每5分钟一位,且顾客服务时间平均值也为5分钟一位。使用仿真方法分析第6位顾客使用完ATM机器的时间及截至该时刻顾客的排队等待总时间和ATM机的利用率。 XLS演示

四、仿真模型的EXCEL实现 例4.2 考虑只有一台入库叉车的仓储中心,被仓储物品由客户通过卡车送达仓储中心,然后该入库叉车将卡车上的货物卸载、运输和存放到仓库中对应的货架上。客户卡车到达入库点时,如果入库叉车空闲,则可以立即获得卸货;若果入库叉车正在为其他卡车卸货,则客户卡车进行排队等待,排队服务规则遵循FIFO原则。令客户卡车到达时间间隔服从均值为5分钟的指数分布、卸货入库的服务时间服从U(2, 8)分钟的均匀分布。使用仿真方法分析入库叉车将第100辆卡车货物卸载入库后,该系统的相关绩效指标

第04讲 仿真模型设计与实现 提纲 一、排队系统概述 三、排队系统事件例程分析 四、仿真模型的EXCEL实现 五、仿真模型的MATLAB实现 第04讲 仿真模型设计与实现 提纲 一、排队系统概述 二、事件调度法 三、排队系统事件例程分析 单队列单服务台SQSS系统事件例程 单队列多服务台SQMS系统事件例程 四、仿真模型的EXCEL实现 SQSS系统手工仿真的Excel实现 SQSS系统仿真的Excel实现 五、仿真模型的MATLAB实现 SQSS系统仿真的Matlab实现 SQMS系统仿真的Matlab实现

五 仿真模型的Matlab实现-SQSS 初始化程序 到达例程 总控程序 离开例程 时间程序 报表程序 function sqssMoreReport() %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % calculate the system's performance when 100 customers served % edit by jiannywang@163.com at 2014/2/10 sqss=initData(); runTimes=0; %preventing the unlimited while loop while(sqss.servedCustomers<sqss.totalCustomers) sqss=timeUpdate(sqss); if sqss.nextEvent==1 sqss=arriveProcess(sqss); else sqss=departProcess(sqss); end runTimes=runTimes+1; if runTimes>1000 break; report(sqss); function sqss=initData() sqss=struct(... 'simuClock',0,'totalCustomers',100,'nextEvent',0,... 'arriveMean',5,'serveTimeMin',2,'serveTimeMax',8,... 'event1Time',0,'event2Time',inf,... 'queueLength',0,'serverStatus',0,... 'comingCustomers',0,'servedCustomers',0,... 'eachArriveTime',[],'eachLeaveTime',[],... 'eachServeTime',[],'eachServeStartTime',[],... 'eachQueueLength',[],'eachQueueStartTime',[]); sqss.event1Time=arriveInterval(sqss.arriveMean); function sOut=timeUpdate(sIn) sOut=sIn; if sIn.event2Time<sIn.event1Time sOut.nextEvent=2; sOut.simuClock=sIn.event2Time; sOut.nextEvent=1; sOut.simuClock=sIn.event1Time; function sOut=arriveProcess(sIn) sOut.event1Time=sIn.simuClock+arriveInterval(sIn.arriveMean); sOut.comingCustomers=sIn.comingCustomers+1; % record this customer arrive time sOut.eachArriveTime=[sOut.eachArriveTime;sIn.simuClock]; if sIn.serverStatus==1 sOut.queueLength=sIn.queueLength+1; sOut.serverStatus=1; midServeTime=serveTime(sIn); sOut.event2Time=sIn.simuClock+midServeTime; % update server time data sOut.eachServeTime=[sOut.eachServeTime;midServeTime]; sOut.eachServeStartTime=[sOut.eachServeStartTime;sIn.simuClock]; % update queueLength data sOut.eachQueueLength=[sOut.eachQueueLength;sOut.queueLength]; sOut.eachQueueStartTime=[sOut.eachQueueStartTime;sIn.simuClock]; function sOut=departProcess(sIn) sOut.servedCustomers=sIn.servedCustomers+1; % record this customer leave time sOut.eachLeaveTime=[sOut.eachLeaveTime;sIn.simuClock]; if sIn.queueLength==0 sOut.serverStatus=0; sOut.event2Time=inf; sOut.queueLength=sIn.queueLength-1; function report(sIn) disp('**************************************************'); disp('***** simulation for SQSS is end ****'); midStr=['simulation finish time(min): ' num2str(sIn.simuClock)]; disp(midStr); midStr=['total in customer quantity: ' num2str(sIn.comingCustomers)]; midStr=['served customer quantity: ' num2str(sIn.servedCustomers)]; midStr=['now customer in queue:' num2str(sIn.queueLength)]; midStr=['max queue length:' num2str(max(sIn.eachQueueLength))]; midStr=['average queue length:' num2str(mean(sIn.eachQueueLength))]; midData=mean(sIn.eachLeaveTime(1:sIn.servedCustomers)-sIn.eachArriveTime(1:sIn.servedCustomers)); midStr=['average through time(min):' num2str(midData)]; midData=sIn.eachServeStartTime(1:sIn.servedCustomers)-sIn.eachArriveTime(1:sIn.servedCustomers); midStr=['average wait time(min):' num2str(mean(midData))]; midStr=['longest wait time(min):' num2str(max(midData))]; midStr=['now customer in server:' num2str(sIn.serverStatus)]; midStr=['average serve time(min):' num2str(mean(sIn.eachServeTime))]; midBeforeFinishTime=sIn.eachServeTime(sIn.eachServeStartTime<sIn.simuClock); midStr=['server busy percent:' num2str(sum(midBeforeFinishTime)/sIn.simuClock*100) '%']; function interTime=arriveInterval(mean) interTime=-log(rand(1))*mean; function serveTime=serveTime(sIn) serveTime=sIn.serveTimeMin+(sIn.serveTimeMax-sIn.serveTimeMin)*rand(); 离开例程 时间程序 报表程序

五 仿真模型的Matlab实现-SQMS

思考练习题