




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、GPSS 语言概述,1. GPSS 语言的基本格式 2. GPSS 程序的基本组成 3. GPSS 程序举例 4. GPSS 程序框图 5. GPSS/PC 程序的运行 6. GPSS 语言的基本模块 7. GPSS 控制语句 8. GPSS 程序的标准输出,本章主要内容:,1 GPSS 语言的基本格式,GPSS 语言程序块的基本格式: 地址 操作码 数据场 注解,地址即语句号,最多由五个字母, 数字组成, 必须由字母打头. 从第一列开始. 必要时才用,操作码即模块或语句名称, 可用前四个字母简写,由多个数据组成, 各数据间用逗号分开,语句注释,可有可无,3-1 GPSS 语言的基本格式,语句
2、模块举例: 例如一个延时模块应书写如下:,F5 ADVANCE 5, 2 服务时间,地址 操作码 数据场 注解,或可写成:,F5 ADVA 5, 2 服务时间 ADVA 5, 2 服务时间,3-2 GPSS 程序的基本组成,GPSS 模拟程序 : SIMULATE LINE EQU 1 JOE EQU 1 GENERATE 18,6 QUEUE LINE SEIZE JOE DEPART LINE ADVANCE 16,4 RELEASE JOE TERMINATE 1 START 25 END,控制语句: 控制模拟过程,定义语句: 定义函数, 实体,变量,开关等,程序语句(模)块: GPSS
3、 语言模块,控制语句:控制模拟过程,3-3 GPSS 程序举例,下面给出的程序是某机械加工中心系统的模拟模型。该机械加工中心有 9 名技工和 4 台同样的机器, 每台机器需二位技工来操作。 当一件工作到达时, 先由一位职员进行记录工作, 然后将工作交给一位技工进行准备工具等工作, 当加工工作开始时, 第二名技工过来帮助操作机器。 在工作完成之前, 职员应完成记录及收款的工作。 车间每天八小时工作, 但只在前七小时收活, 最后一小时只完成已收下的活。 其它参数及其所编程序如下: (1)职员做记录工作时间为 4 2 分钟, 收尾工作时间为 94 分钟。 (2)加工工作到达间隔时间为 15 3 分钟
4、。 (3)技工准备工具时间为 10 3 分钟, 操作机械时间为 5530 分钟。 (4)以上时间均为均匀分布。,控制语句,定义语句,SIMULATE RMULT 1111,2222,3333,4444,5555,6666 LINE EQU 1 总队列 ( 1 号队列 ) CLERK EQU 1 职员 ( 1 号设施 ) OPER EQU 1 技工 ( 1 号存储器) MACH EQU 2 机器 ( 2 号存储器 ) OPER STORAGE 9 MACH STORAGE 4 1 FUNCTION RN$2,C2 工件到达间隔时间 (12 - 18) 0,720/1,1081 2 FUNCTIO
5、N RN$3,C2 职员初步记录时间 (2 - 6) 0,120/1,361 3 FUNCTION RN$4,C2 技工准备工具时间 (7 - 13 ) 0,420/1,781 4 FUNCTION RN$5,C2 机器操作时间 ( 25 - 85 ) 0,1500/1,5101 5 FUNCTION RN$6,C2 职员的最后处理时间 ( 5 - 13 ) 0,300/1,781,程序 模块,GENERATE FN$1 工件到达 QUEUE LINE 排总队列 SEIZE CLERK 占用职员 ADVANCE FN$2 登记与记录 RELEASE CLERK 释放职员 ENTER OPER,
6、 1 占用一个技工 ADVANCE FN$3 技工准备工具 ENTER OPER, 1 占用第二个技工 ENTER MACH, 1 占用一台机器 ADVANCE FN$4 加工工件 LEAVE MACH, 1 释放机器 LEAVE OPER, 2 释放二个技工 SEIZE CLERK 占用职员 ADVANCE FN$5 最后记录 RELEASE CLERK 释放职员 DEPART LINE 离开总队列 TERMINATE GENERATE 3600 每班时间 TERMINATE 1 START 7,NP 七小时关门 GENERATE 3601 一小时收尾 START 1 END,按研究目的的要
7、求,我们利用模拟求解平均每件工作周转时间不能超过 1.5 小时的情况下, 求出机械与技工的最佳组合方案。读者可从中看到 GPSS 语言和程序的基本格式和组成。因为 GPSS 程序是 ASCII 文件,所以可在 WORD 或 WPS 环境下观察或编辑。,3-3 GPSS 程序举例,3-4 GPSS 程序框图,GPSS 语言有独特的框图符号:,产生活动实体,排队,离队,延时,占用设施,释放设施,离开系统,GPSS建模步骤,简例: MMl排队、服务系统,来说明 GPSS建模步骤: 第一步,将问题抽象为直观的思维模型流程图,如图1所示。 第二步,对上一步流程图的各种事件或活动,选用能体现其含义的适当的
8、 GPSS的功能模块,构成功能模块流图,如图2所示。 第三步,按照功能模块流图及有关参数,编写功能模块语句。 第四步,再补充必要的函数、变量等的定义语句以及控制模拟 运行的控制语句形成 GPSS模型初稿,供上机调试,修改完善。 第五步,设计模拟方案、重复模拟次数及随机数种子数等参数。 第六步,上机模拟运行,分析结果,编写试验报告。,3-4 GPSS 程序框图,GENERATE 18,6 QUEUE LINE SEIZE JOE DEPART LINE ADVANCE 16,4 RELEASE JOE TERMINATE 1,GENERATE,QUEUE,SEIZE,DEPART,ADVANCE
9、,RELEASE,TERMINATE,LINE,LINE,JOE,JOE,16, 4,18, 6,1,图1,图2,3-5 GPSS/PC 程序的运行,1.进入系统: CCD GPSS C:GPSSGPSS 回车 GPS 进入GPSS 系统 2.执行程序: GPSCON:=NAME.GPS 回车 (屏幕显示) GPSIN1.OUT=NAME.GPS 回车 (结果存盘) GPSS NAME.GPS (直接运行程序) 应同时给出路径 输出文件 *.OUT 可用文本编辑软件观察 3.退出系统 QUIT 回车,执行的程序,输出文件,3-6 GPSS 语言的基本模块,1. 与活动(流动)实体有关的模块 5
10、. 与逻辑开关有关的模块 2. 与设施有关的模块 6. . 3. 与队列有关的模块 4. 与存储器有关的模块,管理系统内设备及人的分类:,1. 活动(流动)实体 系统中移动的人, 设备等 2. 资源实体 设施 系统中固定的人, 设备等 存储器 可存储动态实体的仓库, 物料场, 煤仓等 逻辑开关 只具有两种工作状态的开关型设备 队列 需排队等候之处 3. 统计实体 表 各类统计表,基本模块的分类:,3.6.1 与活动实体有关的模块,1. GENERATE 产生活动实体的模块,格式: GENERATE A, B, C, D, E, F, G A 到达间隔时间均值 B 到达间隔时间方差, 缺省为零
11、C 第一个动态实体产生的时间 D 应产生动态实体的总数 E 被产生动态实体的优先级, 1- 127 F 实体携带参数的个数, 缺省为 12 G 参数类型, 缺省为半字参数,例: GENERATE 5, 3, 25 在第25 时间单位产生第一个活动实体 GENERATE 5, 2, , ,15 优先级为 15 GENE 18, 4, , 25 共产生 25 个活动实体,2. ADVANCE 活动实体延时模块 格式: ADVANCE A, B A 延迟时间均值 B 延迟时间方差 例: ADVANCE 18, 6 ADVA 25,3.6.1 与活动实体有关的模块,ADVANCE,3.6.1 与活动实
12、体有关的模块,3. TRANSFER 活动实体的转向模块。 TRANSFER A, B, C 其中: A 转向方式, 有三种情况: (1) , 逗号为无条件转向 B 域给出的地址。 (2) BOTH 先企图进入 B 域地址, 不成就去 C 域地址, 两个地址都不通,就保留在此模块中。 (3) 小数 表示去 C 域的百分比,1-A 为去 B 址的百分比, 通路是随机的。 B, C 为按 A 域条件应去的地址号,例: 无条件转向语句: TRANSFER , L1 无条件转向 L1 有条件转向语句: TRANSFER .75, L1, L2 表示 75% 去 L2,25% 去L1。 TRANSFER
13、 BOTH, L1, L2 表示先去L1, 不行就去 L2,若 L1与L2都出不去,则活动实体只能在本模块中等候。,3.6.1 与活动实体有关的模块,4. TERMINATE 活动实体消失模块 格式: TERMINATE A A 离开系统的活动实体的个数 例: TERMINATE 1 TERMINATE 10 TERM 活动实体离开,但不统计,3.6.1 与活动实体有关的模块,3.6.1 与活动实体有关的模块,5. ASSIGN 活动实体参数的赋值语句。,ASSIGN A, B 其中: A 需要赋值或改变参数的参数号,A值后 部可加写 +, - 号, A 域中的 +, - 号 表示从原有参数中
14、加上或减去 B B 需要赋给参数 A 或从参数 A 中 + 或 - 的数值,A,B,下面是一个汽车装卸过程的程序示例,GENERATE 18, 6, , , , 2 每个实体有二个参数 ASSIGN 1, 25 一号参数为汽车载重量, 赋值 25 吨 ASSIGN 2, 2 二号参数为空,重车标记 1 为空车, 2 为重车 : (程序的其他过程) . ASSIGN 1+, 10 汽车载重量变为 35 吨 : (程序的其他过程) . ENTER 1, 35 卸入1号矿仓 ASSIGN 1, 0 汽车载重量变为 0 吨 ASSIGN 2, 1 变成空车 : . TERMINATE,3.6.1 与活
15、动实体有关的模块,3.6.2 与设施有关的模块,1. SEIZE 活动实体获得设施控制权的模块 格式: SEIZE A A 活动实体所要控制的设施号或名称 例: SEIZE 2 SEIZE JON,2. RELEASE 活动实体释放(离开)设施的模块 格式: RELEASE A A 被释放(离开)设施的号或名称 例: RELEASE 1 RELEAE JON RELE 5,3.6.2 与设施有关的模块,格式: QUEUE A, B A 活动实体所要排的队号或名称 B 活动实体排队后, 队长所增加的量. 缺省时为 1 例: QUEUE 2 QUEUE LINE QUEUE 3, 15,1. QU
16、EUE 活动实体排队的模块,3.6.3 与队列有关的模块,格式: DEPART A, B A 活动实体所在的队列号或名称 B 活动实体离开队列后, 队长减少的量, 缺省时为 1. 例: DEPART 2 DEPART LINE DEPART 3, 15,2. DEPART 活动实体离开队列的模块,3.6.3 与队列有关的模块,1. ENTER 把活动实体放入某个存储器的模块 格式: ENTER A, B A 进入存储器的号 (存储器的容量应事先定义) B 进入 A 存储器后, 存储器增加的量, 缺省时为 1. 例: ENTER 2 ENTER STORE, 25 ENTE S2, 2,3.6.
17、4 与存储器有关的模块,2. LEAVE 活动实体离开某存储器的模块 格式: LEAVE A, B A 离开存储器的号 B 离开 A 存储器后, 存储器减少的量, 缺省时为 1. 例: LEAVE 2 LEAVE STORE, 25 LEAV S2, 2,3.6.4 与存储器有关的模块,基本模块小结,与活动实体有关的模块: 1. GENERATE 2. TERMINATE 3. ADVANCE 4. ASSIGN 5. TRANSFER,与设施有关的模块: 1. SEIZE 2. RELEASE,与队列有关的模块: 1. QUEUE 2. DEPART,与存储器有关的模块: 1. ENTER
18、2. LEAVE,3.7 GPSS 语言的控制语句,控制语句是用来控制模拟过程的, 常用的语句如下: 1. SIMULATE 执行模拟 2. START A, B, C, D 控制模拟状态 A 使模拟终止的动态实体计数 B 从多少个活动实体开始打印统计报告 C 生成输出报告的计数间隔 D 输出动态实体的链状态 3. END 终止模拟 4. RESET 清除积累统计,3.8 GPSS 语言基本模块编程举例,1.模拟的终止 例一: 利用 TERMINATE 和 START 控制 : : TERMINATE 1 START 25 END : : TERMINATE 2 : : TERMINATE 1
19、 START 50 END,: : TERMINATE 1 : : TERMINATE START 25 END,例二: 利用时间控制 GENERATE 18, 6 : TERMINATE GENERATE 3600 TERMINATE 1 START 2 模拟二小时 END,一个程序中 可有多个 GENE 模块,3.8 GPSS 语言基本模块编程举例,例三: 利用终止语句控制 GENERATE 18, 6 : : TERMINATE : TM TERMINATE 1000 START 1000 END 程序中需要终止的地方就转向 TM 语句,GOTO,3.8 GPSS 语言基本模块编程举例,
20、例四: RESET 的使用 GENERATE 18, 6 : : TERMINATE 1 START 10 RESET START 100 END,例五: QUEUE 的使用 : : QUEUE 1 QUEUE 1 SEIZE 2 SEIZE 2 DEPART 1 ADVANCE 5 ADVANCE 5 RELEASE 2 RELEASE 2 DEPART 1 : :,设施 2,设施2,队列 1,队列 1,3.8 GPSS 语言基本模块编程举例,3.9 GPSS 的标准输出,GPSS 标准输出的组成: 1. 扩充程序表 2. 模拟钟及模块计数表 (BLOCK) 3. 各类统计表 1) 设施统计
21、 (FACILITY) 2) 队列统计 (QUEUE) 3) 存储器统计 (STORAGE) 4) 开关状态统计 ( SWITCH) 5) 模块链统计 6) 用户表 7) 内存变量表,RELATIVE CLOCK 144000 ABSOLUTE CLOCK 144000 BLOCK COUNTS BLOCK CURRENT TOTAL BLOCK CURRENT TOTAL BLOCK CURRENT TOTAL 1 0 15 2 0 15 3 0 15 4 0 19054 5 0 18683 6 0 263 7 0 371 8 0 188 9 0 183 10 0 446 11 0 446
22、12 0 446 13 0 446 14 0 188 15 0 188 16 0 188 17 0 634 18 0 634 19 0 5 20 0 5 21 0 5 22 0 634 23 0 634 24 0 634 25 0 634 26 0 634 27 0 634 28 0 634 29 15 634 30 0 619 31 0 619 32 0 619 33 0 619 34 0 619 35 0 619 36 0 619 37 0 18420 38 0 18420 39 0 0 40 1 14400 41 0 14399 42 0 10868 43 0 10711 44 0 10
23、569 45 0 10421 46 0 465 47 0 465 48 31 465 49 0 434 50 0 434 51 0 434 52 0 434 53 0 434 54 0 14368,模拟钟及模块计数,FACILITY AVERAGE NUMBER AVERAGE SEIZING PREEMPTING UTILIZATION ENTRIES TIME/TRAN TRANS.NO. TRANS.NO. 1 0.01 188 5.19 2 0.02 446 5.63,STORAGE CAPACITY AVERAGE AVERAGE ENTRIES AVERAGE CURRENT MAXIMUM CONTENT UTILIZ. TIME/TR CONTENT CONTENT 1 120 97.00 0.81 28474 494.60 109 120 2 1165 56.00 0.05 26474 306.63 42 1165 3 24000 31.00 0.00 26432 173.53 32 616 4 1937 1752.00 0.90 28365 8894.37 1891 189
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025届上海市金山区高三下学期4月二模政治试题(原卷版+解析版)
- 员工培训财务制度
- 汽车产品上市培训
- 广告服务代理服务合同模板二零二五年
- 二零二五幼儿园用工合同模板
- 基辛格对中国的告诫
- 离婚冷静期离婚协议模板二零二五年
- 全新公司股权期权协议书二零二五年
- 全新办理协议离婚程序
- 李大小学创建民族团结示范校工作方案
- JJG 4-2015钢卷尺行业标准
- 《公路桥涵养护规范》(JTG5120-2021)
- 晋升羽毛球一级裁判员考试试题
- 2024年全民国家安全教育日知识竞赛考试题库300题(含答案)
- 艾滋病保密制度
- 认知行为疗法讲解
- 史丹利行业分析
- H3C全系列产品visio图标库
- 恩赐测试完整版本
- “科学与文化论著研习”任务群教学:以《改造我们的学习》为例
- canva可画行业分析
评论
0/150
提交评论