第6章 中级GPSSWorld 程序设计 本章主要内容: 6.1 一家电修理部模型的建立及其模拟 6.2 中级 GPSSWorld 语言模块

Slides:



Advertisements
Similar presentations
台南市立後甲國中 訓導工作簡報 報告人:訓導主任 傅寶源 歡迎蒞臨指導. 訓導處是一個關懷學生生活問題、處理 學生生活事務的溫馨園地,舉凡生活常 規、安全防護、交通安全之教育,民主 法治、社團活動、訓育活動之訓練,衛 生習慣、飲食健康、預防疾病之培養, 體育活動,運動競賽、身心健康之鍛練, 均有專人專責為同學服務。
Advertisements

鄉土報告 台灣出甜粿 指導老師 : 孫扶志 老師 組員 : 陳昀蓁 劉伊妮 張雅淇 沈秀真
阻塞操作. 在 linux 里,一个等待队列由一个 wait_queue_head_t 类型的结构来描述 等待队列的初始化: static wait_queue_head_t testqueue; init_waitqueue_head(&testqueue);
2015 年 4 月 (第一期) 初中数学 14 班 简报 惠州市 2015 年初中教师全员培训.
8月1日后全国营改增我们怎么办? 营改增新政策深度解析 得法网财税讲师 樊剑英.
行政法 之 行政救济篇.
第4章 GPSSWorld 常用语句及其使用 本章主要内容:
第二冊 第五課 行政法與生活 師大附中 陳采妍.
2011年10月31日是一个令人警醒的日子,世界在10月31日迎来第70亿人口。当日凌晨,成为象征性的全球第70亿名成员之一的婴儿在菲律宾降生。 ?
初级会计实务 第八章 产品成本核算 主讲人:杨菠.
逻 辑 学 主讲:李贤军.
中考阅读 复习备考交流 西安铁一中分校 向连吾.
第八課 蓼莪.
大规模的海水运动 OCEAN CURRENT
矩阵定义命令 NAME MATRIX A,B,C,D,E,F,G NAME :矩阵名称 A :必须为空值,是为了与以前的版本兼容
中央广播电视大学开放教育 成本会计(补修)期末复习
人教版义务教育课程标准实验教科书 小学数学四年级上册第七单元《数学广角》 合理安排时间 248.
市级个人课题交流材料 《旋转》问题情境引入的效果对比 高淳县第一中学 孔小军.
第三章 科学把握人生的方向和道路 教学目标 主要内容 第一节 追求高尚的人生目的 第二节 培养正确的人生态度 第三节 创造有价值的人生
内部审计准则讲解
崇拜即將開始,請大家安靜片刻, 預備心靈敬拜上帝。
Oracle数据库 Oracle 子程序.
走自立自强之路 自己的事情自己做.
中考语文积累 永宁县教研室 步正军 2015.9.
人類的循環系統.
小学数学知识讲座 应用题.
初中数学八年级下册 (苏科版) 10.4 探索三角形 相似的条件(2).
倒装句之其他句式.
在PHP和MYSQL中实现完美的中文显示
三角形的邊角關係 大綱:三角形邊的不等關係 三角形邊角關係 樞紐定理 背景知識:不等式 顧震宇 台灣數位學習科技股份有限公司.
第 22 课 孙中山的民主追求 1 .近代变法救国主张的失败教训: “师夷之长技以制 夷”“中体西用”、兴办洋务、变法维新等的失败,使孙中山
Basis基本操作、使用者 管理與權限設定
Chapter 5 Verilog硬體描述語言
第六講 函數極值之求法與均值定理 (Extrema & The Mean Value Theorem)
走进编程 程序的顺序结构(二).
辅导课程六.
第1章 GPSSWorld 语言概述 本章主要内容: 1. GPSSWorld 语言的基本格式 2. GPSSWorld 程序的基本组成
第二章 Java语言基础.
本节内容 模拟线程切换 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
规范教学,提升质量,迎接评估 ——学校教学管理制度解读
網路遊戲版 幸福農場168號.
第4章 PHP流程控制语句.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
C语言程序设计 主讲教师:陆幼利.
EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则
★ ★ ★ ★ ★如有教务问题,课后统一提问或者到服务QQ提问
实数与向量的积.
某广告公司拥有一个具有八条线路的电话交换台,为广告业务服务。系统工作程序及数据如下:
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月13日.
本节内容 Win32 API中的宽字符 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
信号量(Semaphore).
第4章 Excel电子表格制作软件 4.4 函数(一).
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
第九节 赋值运算符和赋值表达式.
iSIGHT 基本培训 使用 Excel的栅栏问题
3.16 枚举算法及其程序实现 ——数组的作用.
▲重合的概念 ▲對應頂點、對應邊、對應角 ▲全等的記法 ▲全等性質 ▲三角形全等性質
College of Computer Science & Technology
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
Visual Basic程序设计 第13章 访问数据库
2016台中市不動產高峰論壇 房地合一稅與房市政策 德明財經科技大學 花敬群
3张饼平均分给我们师徒4人,怎么分呢?每人分( )张。
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第二节 函数的极限 一、函数极限的定义 二、函数极限的性质 三、小结 思考题.
滤波减速器的体积优化 仵凡 Advanced Design Group.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
畢氏定理(百牛大祭)的故事 張美玲 製作 資料來源:探索數學的故事(凡異出版社).
第二次课后作业答案 函数式编程和逻辑式编程
102年人事預算編列說明 邁向頂尖大學辦公室製作.
Presentation transcript:

第6章 中级GPSSWorld 程序设计 本章主要内容: 6.1 一家电修理部模型的建立及其模拟 6.2 中级 GPSSWorld 语言模块 6.1 一家电修理部模型的建立及其模拟 6.2 中级 GPSSWorld 语言模块 6.2.1 LOGIC 逻辑开关 6.2.2 INITIAL 初始化语句 6.2.3 GATE 测试模块 6.2.4 TEST 比较测试模块 6.2.5 SAVEVALUE 保存值模块 6.2.6 LOOP 循环模块 6.3 中级 GPSSWorld 语言程序举例 中级 GPSSWorld

第6章 中级GPSSWorld 程序设计 6-1 一家电修理部模型的建立及其模拟 已知一家电修理部, 除管理人员外, 有一名普通修理工干各种另活,以及二个有经验的专家负责较难的工作. 普通修理工能完成 70% 的修理工作, 其余 30% 难一些的工作由专家完成. 修理部原始记录表明: 1. 顾客到达间隔时间为 11 (5) 分钟, 均匀分布. 2. 不用专家服务顾客的服务时间为 13 (5) 分钟, 均匀分布. 3. 需要专家服务的顾客应先由普通修理工修 4 (2) 分钟, (均 匀分布) 再由专家修 62 (20) 分钟, 均匀分布. 4. 模拟60000分钟。

求解 模型的建立 6-1 一家电修理部模型的建立及其模拟 A.普通修理工及专家的平均利用率 B. 普通修理工及专家队列的平均等待时间 C. 普通修理工及专家队列的平均队长 D. 普通修理工修理一件设备的平均时间 模型的建立 1. 设施 普通修理工 HANDYM 2. 存储器 二名专家 SPCLST 3. 队列 A. 普通修理工队列 GENQ B. 专家队列 SPECQ 4. 模拟模拟60000分钟

模型示意图 6-1 一家电修理部模型的建立及其模拟 70% 到达 离开 30% 专家 普通修理工 需要专家修理的设备 GENQ SPECQ HANDYM SPCLST 离开 需要专家修理的设备 需要普通修理工修理的设备

模型程序 6-1 一家电修理部模型的建立及其模拟 SPEC SEIZE HANDYM DEPART GENQ ADVANCE 4, 2 RELEASE HANDYM QUEUE SPECQ ENTER SPCLST, 1 DEPART SPECQ ADVANCE 62, 20 LEAVE SPCLST, 1 DONE TERMINATE 1 SPCLST STORAGE 2 GENERATE 11, 5 QUEUE GENQ TRANSFER .7, SPEC, HANDY HANDY SEIZE HANDYM DEPART GENQ ADVANCE 13, 5 RELEASE HANDYM TRANSFER , DONE

模拟输出结果 6-1 一家电修理部模型的建立及其模拟 FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY HANDYM 5456 0.937 10.301 1 5457 0 0 0 0 QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY GENQ 9 0 5456 864 1.597 17.559 20.863 0 SPECQ 13 4 1628 393 1.600 58.953 77.713 0 STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY SPCLST 2 0 0 2 1624 1 1.671 0.835 0 4

模拟结果: 6-1 一家电修理部模型的建立及其模拟 A.普通修理工的平均利用率 0.937 B. 专家的平均利用率 0.835 C. 普通修理工队列的平均等待时间 17.559 D. 专家队列的平均等待时间 58.959 E. 普通修理工队列的平均队长 1.597 F. 专家队列的平均队长 1.600 G. 普通修理工修理一件设备的平均时间 10.301

第6章 中级 GPSSWorld 程序设计 6-2 中级GPSSWorld 语言模块 6.2.1. LOGIC 逻辑开关的设置 对于系统中具有二态性质的设施或设备可用逻辑开关 表示。逻辑开关为 1 时表示合,逻辑开关为 0 时,表示断。 逻辑开关的置位或变位由 LOGIC 模块完成。 LOGIC 模块的基本结构为: LOGIC 辅助码 A 其中: 辅助码表示逻辑开关的置位情况,A 表示逻辑开关变量名 R 表示逻辑开关变量置 0 S 表示逻辑开关变量置 1 I 表示逻辑开关变量反转

6-2 中级GPSSWorld 语言模块 例: LOGIC S LOGIC2 将逻辑开关 变量LOGIC2 置 1 LOGIC R LOG3 将逻辑开关 变量LOG3 置 0 LOGIC I PowerSwitch 将逻辑开关 变量PowerSwitch反转

6.2.2 SAVEVALUE 保存值模块 6-2 中级GPSSWorld 语言模块 SAVEVALUE A, B SAVEVALUE 模块可将任一个值 (包括 SNA) 存放在指定变是名中, SAVEVALUE 模块的格式: SAVEVALUE A, B 其中: A ---- 保存值的地址号及 +, - 号, +, - 号表示要在原 值上增加或减少的要求 B ---- 要存放的值或 SNA 码

SAVEVALUE The_Bard,“Arose by any other name …“ 6-2 中级GPSSWorld 语言模块 例: SAVEVALUE Account,99.95 SAVEVALUE The_Bard,“Arose by any other name …“ SAVEVALUE Account+,88.5 SAVEVALUE Account-,55.4

6-2 中级GPSSWorld 语言模块 6.2.3 INITIAL 初始化语句 基本格式如下: A:矩阵, 逻辑,保存值或矩阵的一个元素。 INITIAL A,B A:矩阵, 逻辑,保存值或矩阵的一个元素。 B: 必须是Null(空), Number(数字), String(字符串), Name(变量名), 或者UNSPECIFIED(未定义)之一。 例如: INITIAL X$Power_X, 100.98 INITIAL X$Note_X, “Note Message!” INITIAL MX$MyMartix(3,6), 33.5 INITIAL LS$L_Power, 1 ;将逻辑开关实体L_Power的初值设为1.

6-2 中级GPSSWorld 语言模块 6.2.4 GATE 实体状态的测试模块 GATE 模块是用来测试各类实体的当前状态的。其格式 如下: GATE 辅助码 A, B 其中: 辅助码 表示实体类型及状态,如: NU 表示设施没有处于使用状态 U 表示设施在使用状态 SE 表示存储器空状态 SF 表示存储器满状态

6-2 中级GPSSWorld 语言模块 SNE 表示存储器不空状态 SNF 表示存储器不满状态 LR 表示逻辑开关处于 0 状态 LS 表示逻辑开关处于 1 状态 …… 等等 A 要测试的实体变量名 B 当测试结果为假时流动实体应去的模块标号 例: GATE SE Storege2 测试Storege2号存储器是否空 ? GATE NU F_1, CON 测试 f_1设施 是否在空闲?若不空则去 CON 语句

6.2.5 TEST 比较测试模块 6-2 中级GPSSWorld 语言模块 通过测试来比较二个标准数字属性码 SNA 的大小. 格式: TEST 辅助码 A, B, C 其中: 辅助码有: E 相等 NE 不相等 L 小于 LE 小于或等于 G 大于 GE 大于或等于

A , B 二个相比较的 变量名或SNA以及表达式 C 比较结果为假时动态实体所要进入 的模块号 6-2 中级GPSSWorld 语言模块 A , B 二个相比较的 变量名或SNA以及表达式 C 比较结果为假时动态实体所要进入 的模块号 例: TEST GE P$MY_1, 2, D1 TEST LE Q$q_1, P$MY_2, ABC TEST L FN$FUN_1, P$MY_3, DONE 注意: 在Windows版本中下划线 _已取消,不再需要

6-2 中级GPSSWorld 语言模块 6.2.6 LOOP 循环模块 循环是各类程序编制中所不可缺少的。GPSSWorld 语 言的循环过程是由LOOP模块完成的。GPSSWorld 语言的循 环过程是由计数和转向二个动作完成,它总是先确定循环 次数,并将循环次数存在活动实体的某个参数中,然后当 活动实体进入LOOP模块后,就开始了循环的进程,因此对 于不同的活动实体,在同一个循环中的循环次数有可能是 不相同的。循环模块LOOP的基本格式是: LOOP A, B 其中: A 控制循环次数的参数号。 B 当 A 场参数的值大于零时,活动实体应转去的语句标号,同时将A的值减去 1。

6-2 中级GPSSWorld 语言模块 举例: GENERATE 10 ASSIGN par_1,5 设定循环次数par_1 L_P ASSIGN par_2,P$par_1 ;循环开始 LOOP par_1,L_P ;循环计数 TERMINATE 1

6.3 中级 GPSSWorld 语言程序举例 例 6.2 假设有一个募捐站点接受各类民众的现金募捐。在募捐的人中大约有50%的人捐10元,有30%的人捐50元,有20%的人捐100元,请通过模拟实验来统计以上各类人的捐款数及总捐款数。(到达的人平均间隔5分钟) FUN1 FUNCTION RN3,D3 0.5,10/0.8,50/1,100 FUN2 FUNCTION P$vx_1,E3 10,PAR_1/50,PAR_2/100,PAR_3 INITIAL X$PAR_1,0 INITIAL X$PAR_2,0 INITIAL X$PAR_3,0 INITIAL X$ACC_MONEY,0 GENERATE 5 ASSIGN vx_1,FN$FUN1 SAVEVALUE FN$FUN2+,P$vx_1 SAVEVALUE ACC_MONEY+,P$vx_1 TERMINATE 1

6.3 中级 GPSSWorld 语言程序举例 上面的程序模拟了100个捐款人,有关保存值部分的标准输出如下: SAVEVALUE RETRY VALUE PAR_1 0 620.000 ( 10元的捐款总数 ) PAR_2 0 1550.000 ( 50元的捐款总数 ) PAR_3 0 2600.000 ( 100元的捐款总数 ) ACC_MONEY 0 4770.000 ( 全部捐款总数 ) CEC XN PRI M1 ASSEM CURRENT NEXT PARAMETER VALUE 121 0 600.000 121 0 1 FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE 122 0 1200.000 122 0 6 从输出中可见,一类捐款人为62人,捐款620元; 二类捐款人为31人,捐款1550元; 三类捐款人为26人,捐款2600元; 合计119人总捐款4770元。

6.3 中级 GPSSWorld 语言程序举例 例 6.3 一单理发师的理发店,顾客到达时间为 18(6),理发时间 例 6.3 一单理发师的理发店,顾客到达时间为 18(6),理发时间 为 16(4),理发店营业 8 小时关门,但关门之前进入的顾客 要理完发才走。 提示: 1. 设置一逻辑开关,控制关门 及顾客的进入 2. 理发店不许顾客进入后,测 试已进入的顾客是否都理发 完毕?都完后关门。

6.3 中级 GPSSWorld 语言程序举例 GENERATE 18,6 GATE LR LOG_1 ; 测试 LOG_1 号逻辑开关是否关闭 TRAN QUEUE L_1 ; 若已关则不再进人 SEIZE F_1 DEPART L_1 ADVANCE 16,4 DONE RELEASE F_1 TERMINATE GENERATE 480 ; 理发店营业 8 小时 LOGIC S LOG_1 ; 使 1 号逻辑开关关闭 TEST E N$TRAN,N$DONE ;测试最后关门条件 TERMINATE 1 ;所有顾客理发完毕,关门

理发店模型输出结果 RELATIVE CLOCK 493 ABSOLUTE CLOCK 493 FACILITY AVERAGE NUMBER AVERAGE SEIZING PREEMPTING UTILIZATION ENTRIES TIME/TRAN TRANS.NO. TRANS.NO. 1 0.88 27 16.11 LOGIC SWITCH - SET (ON) STATUS SWITCH NAME NAME NAME NAME NAME NAME NAME NAME NAME 1 QUEUE MAXIMUM AVERAGE TOTAL ZERO PERC. AVERAGE $AVERAGE TABLE CURRENT CONTENT CONTENT ENTRIES ENTRIES ZERO TIME/TR TIME/TR NUMBR CONTENT 1 2 0.33 27 10 37.04 6.11 9.71 0

6.3 中级 GPSSWorld 语言程序举例 例 6.4 一露天矿模拟模型 例 6.4 一露天矿模拟模型 已知一露天矿剥离和采煤分别由二台电铲来完成。 一台以 4 (2) 分钟间隔时间装满一车矿石, 另一台以 5 (2) 分钟间隔时间装满一车煤,卡车各运行 15 分钟后分别卸入矿石场和储煤仓, 卸矿时间为 8分钟, 矿石场和储煤仓的容量分别为 20000 吨及 2000 吨, 矿石卡车载重量为 35 吨, 而运煤卡车载重量为 18 吨。 模拟这一过程, 并记录矿石和煤的产量。 模型: 动态实体 ---- 运矿石卡车和运煤卡车 存储器 ----- S_1 号 矿石场 S_2 号 储煤仓 保存值 ------ V_1 号 产煤量 V_2 号 矿石剥离量

模型示意图 4/2 35 吨 5/2 储矿场 18 吨 15 20000 储煤仓 2000

例 6.4 一露天矿模拟模型 本例题用三个方式编程: 1. 详细方法 即每一步都表示清楚 (程序 A) 例 6.4 一露天矿模拟模型 本例题用三个方式编程: 1. 详细方法 即每一步都表示清楚 (程序 A) 2. 使用流动实体的参数 (程序 B) 3. 使用 SNA 码简化程序 (程序 C)

一般方法 (程序A) S_1 STORAGE 2000 S_2 STORAGE 20000 GENERATE 5,2 ;装煤 ADVANCE 15 ENTER S_1,18 ADVANCE 8 ;卸煤 SAVEVALUE V_1+,18 ;统计煤产量 LEAVE S_1,0 TERMINATE GENERATE 4,2 ;装矿石 ENTER S_2,35 ADVANCE 8 ;卸矿石 SAVEVALUE V_2+,35 ;统计矿石产量 LEAVE S_2,0 GENERATE 480 TERMINATE 1

使用参数 (B) 将代号或码用 SNA 表示. V_1参数表示煤或矿石车,V_2号参数表示载重量,V_3表示T_1或T_2存储值。 S_1 STORAGE 2000 S_2 STORAGE 20000 INITIAL X$T_1,0 INITIAL X$T_2,0 GENERATE 5,2 ;装煤 ASSIGN V_1,S_1 ;S_1表示目的仓库 ASSIGN V_2,18 ASSIGN V_3,T_1 ADVANCE 15 ENTER P$V_1,P$V_2 SAVEVALUE P$V_3+,P$V_2 ;统计煤产量 ADVANCE 8 ;卸煤 LEAVE P$V_1,0 TERMINATE GENERATE 4,2 ;装矿石 ASSIGN V_1,S_2 ASSIGN V_2,35 ASSIGN V_3,T_2 ENTER P$V_1,(P$V_2) SAVEVALUE P$V_3+,P$V_2 ;统计矿石产量 ADVANCE 8 ;卸矿石 GENERATE 480 TERMINATE 1

利用 SNA 码将相同程序段合并可简化程序: 利用 SNA 码 (C) S_1 STORAGE 2000 S_2 STORAGE 20000 INITIAL X$T_1,0 INITIAL X$T_2,0 GENERATE 5,2 ;装煤 ASSIGN V_1,S_1 ASSIGN V_2,18 ASSIGN V_3,T_1 TRANSFER ,NEXT_C GENERATE 4,2 ;装矿石 ASSIGN V_1,S_2 ASSIGN V_2,35 ASSIGN V_3,T_2 NEXT_C ADVANCE 15 ENTER P$V_1,(P$V_2) SAVEVALUE P$V_3+,P$V_2 ;统计矿石产量 ADVANCE 8 ;卸矿石 LEAVE P$V_1,0 TERMINATE GENERATE 480 TERMINATE 1

6.3 中级 GPSSWorld 语言程序举例 例6.5 一零件加工过程的模拟 有一零件加工车间,主要是进行零件的钻孔工作。零件的到达间隔时间为10±3分钟,但零件在进入车间后应先进行打毛刺F_1等光滑处理,然后在进行画线F_2工作,最后才能钻孔F_3。上述每道工序都可能进行排队,我们分别用L_1、L_2、L_3表示这3个队列。为了简单起见,我们仍假设所有的过程都呈均匀分布,其均值和方差分别为: 打毛刺等光滑处理 10±2 分钟 画线 9±3 分钟 钻孔 8±1 分钟

初步结构6_5A GENERATE 10,3 ;零件到达 QUEUE L_1 ;排队打毛刺等光滑处理 SEIZE F_1 DEPART L_1 ADVANCE 10,2 RELEASE F_1 QUEUE L_2 ;排队画线 SEIZE F_2 DEPART L_2 ADVANCE 9,3 RELEASE F_2 QUEUE L_3 ;排队钻孔 SEIZE F_3 DEPART L_3 ADVANCE 8,1 RELEASE F_3 TERMINATE 1

使用系统数字属性码简化程序 MEAN FUNCTION P$S_T,D3 ;服务间隔时间均值,,S_T为工序代码 1,10/2,9/3,8 DEF FUNCTION P$S_T,D3 ;服务间隔时间方差,,S_T为工序代码 1,2/2,3/3,1 W_Q FUNCTION P$S_T,E3 1,L_1/2,L_2/3,L_3 W_F FUNCTION P$S_T,E3 1,F_1/2,F_2/3,F_3 GENERATE 10,3 ASSIGN Loop_C,3 ;设循环次数 B_ACK ASSIGN S_T+,1 ;设置 P$S_T 为工序代号 QUEUE FN$W_Q SEIZE FN$W_F DEPART FN$W_Q ADVANCE FN$MEAN,FN$DEF RELEASE FN$W_F LOOP Loop_C,B_ACK ;循环判断 TERMINATE 1

课 后 练 习 1. 读懂上述例题 2. 上机练习及实验 3. 改动部分参数, 多次实验, 分析结果 4. 若煤仓或储矿场满了怎么办?