gpss 课件.ppt

上传人:罗晋 文档编号:8571037 上传时间:2020-11-26 格式:PPT 页数:71 大小:159.50KB
返回 下载 相关 举报
gpss 课件.ppt_第1页
第1页 / 共71页
gpss 课件.ppt_第2页
第2页 / 共71页
gpss 课件.ppt_第3页
第3页 / 共71页
亲,该文档总共71页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《gpss 课件.ppt》由会员分享,可在线阅读,更多相关《gpss 课件.ppt(71页珍藏版)》请在三一文库上搜索。

1、1. GPSS 语言的基本格式 2. GPSS 程序的基本组成 3. GPSS 程序举例 4. GPSS 程序框图 5. GPSS/PC 程序的运行 6. GPSS 语言的基本模块 7. GPSS 控制语句 8. GPSS 程序的标准输出,本章主要内容:,第3章 GPSS 语言概述,GPSS 语言程序块的基本格式: 地址 操作码 数据域 注解,地址即语句号,最多由五个字母, 数字组成, 必须由字母打头. 从第一列开始. 必要时才用,操作码即模块或语句名称, 反映语句的基本功能和所模拟的过程,可用前四个字母简写,不能从第一列输入,数据场,由多个数据组成, 各数据间用逗号分开,语句注释,可有可无,

2、3-1 GPSS 语言的基本格式,每个语句由4部分组成,但通常只用其中的 两部分,即操作码和数据域, 地址或注释仅在 需要时才使用. 4部分之间至少用1个空格分开,注意地址码 必须从第一列开始输入,操作码必须至少从第 二列开始. 数据域中每个数据的位置和含义不同,要 分别记忆.,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,模拟开始控制语句: 开始控制模拟过程,必须

3、写在整个程序的最前面,定义语句: 定义函数, 实体,变量,开关等,应置于模拟程序之前,模拟模块部分: GPSS 语言模块,是整个程序的主体,反映整个模型的基本过程.,模拟结束控制语句:用来控制模拟的长度或模拟终止过程,同时控制部分输出.,3-2 GPSS 程序的基本组成,下面给出的程序是某机械加工中心系统的模拟模型。该机械加工中心有 9 名技工和 4 台同样的机器, 每台机器需二位技工来操作。 当一件工作到达时, 先由一位职员进行记录工作, 然后将工作交给一位技工进行准备工具等工作, 当加工工作开始时, 第二名技工过来帮助操作机器。 在工作完成之前, 职员应完成记录及收款的工作。 车间每天八小

4、时工作, 但只在前七小时收活, 最后一小时只完成已收下的活。 其它参数及其所编程序如下: (1)职员做记录工作时间为 4 2 分钟, 收尾工作时间为 94 分钟。 (2)加工工作到达间隔时间为 15 3 分钟。 (3)技工准备工具时间为 10 3 分钟, 操作机械时间为 5530 分钟。 (4)以上时间均为均匀分布。,3-3 GPSS 程序举例,GPSS 语言有独特的框图符号:,GENERATE,QUEUE,DEPART,ADVANCE,SEIZE,RELEASE,TERMINATE,产生活动实体,排队,离队,延时,占用设施,释放设施,离开系统,3-4 GPSS 程序框图,GENERATE 1

5、8,6 QUEUE LINE SEIZE JOE DEPART LINE ADVANCE 16,4 RELEASE JOE TERMINATE 1,3-4 GPSS 程序框图,1.进入系统: CCD GPSS C:GPSSGPSS 回车 GPS 进入GPSS 系统 2.执行程序: GPSCON:=NAME.GPS 回车 (屏幕显示) GPSIN1.OUT=NAME.GPS 回车 (结果存盘) GPSS NAME.GPS (直接运行程序) 应同时给出路径 输出文件 *.OUT 可用文本编辑软件观察 3.退出系统 QUIT 回车,执行的程序,输出文件,3-5 GPSS/PC 程序的运行,管理系统内

6、设备及人的分类:,活动(流动)实体 系统中移动的人, 设备等 2. 资源实体:系统中具有资源性能的设备或设施 设施 系统中可提供服务性质工作的人, 设备或 设施 存储器 可存储动态实体或系统元素的设备或设 施,如:仓库, 物料场, 煤仓等 逻辑开关 只具有两种工作状态的开关型设备 队列 需排队等候之处 3. 统计实体:系统中用来进行统计计算的各类工具 各类统计表 统计的自由变量,3-6 GPSS 语言的基本模块,基本模块的分类,1.与活动(流动)实体有关的模块 2.与设施有关的模块 3.与队列有关的模块 4.与存储器有关的模块 5.与逻辑开关有关的模块 6.与统计实体有关的模块,1. GENE

7、RATE:产生活动实体 2. TERMINATE:活动实体消失 3. ADVANCE:活动实体延时 4. ASSIGN:活动实体参数赋值 5. TRANSFER:活动实体转向,3.6.1 与活动实体有关的模块,3.6.1 与活动实体有关的模块,1. GENERATE 产生活动实体的模块,格式: GENERATE A, B, C, D, E, F, G A 到达间隔时间均值 B 到达间隔时间方差, 缺省为零 C 第一个动态实体产生的时间,缺省为模拟钟零时开始 经过一个时间间隔A后产生 D 应产生动态实体的总数,缺省为不限制 E 被产生动态实体的优先级, 1 127,缺省为1 F 实体携带参数的个

8、数, 缺省为 12 G 参数类型, 缺省为半字参数,GENERATE 5, 3, 25 在第25 时间单位产生第一个活动实体 GENERATE 5, 2, , ,15 优先级为 15 GENE 18, 4, , 25 共产生 25 个活动实体,GENERATE 18, 6 QUEUE 1 SEIZE 2 DEPART 1 ADVANCE 5 RELEASE 2,2. ADVANCE 活动实体延时模块 格式: ADVANCE A, B A 延迟时间均值 B 延迟时间方差(缺省为0) ADVANCE 18, 6 ADVA 25,3.6.1 与活动实体有关的模块,GENERATE 18, 6 QUE

9、UE 1 SEIZE 2 DEPART 1 ADVANCE 5 ,2 RELEASE 2,3.6.1 与活动实体有关的模块,3. TRANSFER 活动实体的转向模块 TRANSFER A, B, C 其中: A 转向方式, 有三种情况: , 为无条件转向 B 域给出的地址 BOTH 先企图进入 B 域地址, 不成就去 C 域地址, 两个地址都不通,就保留在此模块中。 小数 表示去 C 域的百分比,1-A 为去 B 址的百分比, 通路是随机的 B, C 为按 A 域条件应去的地址号,例: 无条件转向语句: TRANSFER , L1 无条件转向 L1 有条件转向语句: TRANSFER 0.7

10、5, L1, L2 表示 75% 去 L2,25% 去L1 TRANSFER BOTH, L1, L2 表示先去L1, 不行就去 L2,若 L1与L2都出不去,则活动实体只能在本模块中等候,3.6.1 与活动实体有关的模块,例1: GENERATE 80,10 TRANSFER ,QU GENERATE 80,10 QU QUEUE 1 ENTER S1 DEPART 1 ADVANCE 80,8 LEAVE S1 TERMINATE 1 START 100 END,例2 GENERATE 5 ADVANCE 4, 3 TRANSFER .1, ACC, REJ ACC TERMINATE 1

11、 REJ TERMINATE 1 START 1000 END,例3 GENERATE 5 ADVANCE 2 TRANSFER BOTH, NET1, CON1 NET1 SEIZE 1 ADVANCE 12, 9 RELEASE 1 TERMINATE 1 CON1 ADVANCE 2 TRANSFER BOTH, NET2, CON2 NET2 SEIZE 2 ADVANCE 12, 9 RELEASE 2 CON2 ADVANCE 2 :,4. TERMINATE 活动实体消失模块 格式: TERMINATE A A 离开系统的活动实体的个数 例: TERMINATE 1 TERMIN

12、ATE 10 TERM 活动实体离开,但不统计,3.6.1 与活动实体有关的模块,例1 GENERATE 80,10 TRANSFER ,QU GENERATE 80,10 QU QUEUE LINE ENTER S1 DEPART LINE ADVANCE 80,8 LEAVE S1 TERMINATE 1 START 100 END,例2 GENERATE 18, 6 : : TRANSFER ,TM TERMINATE : TM TERMINATE 1 START 1 END,3.6.1 与活动实体有关的模块,5. ASSIGN 活动实体参数的赋值语句,ASSIGN A, B 其中: A

13、 需要赋值或改变参数的参数号,A值后 部可加写 +, - 号, A 域中的 +, - 号 表示从原有参数中加上或减去 B B 需要赋给参数 A 或从参数 A 中 + 或 - 的数值,下面是一个汽车装卸过程的程序示例,GENERATE 18, 6, , , , 2 每个实体有二个参数 ASSIGN 1, 25 一号参数为汽车载重量, 赋值 25 吨 ASSIGN 2, 2 二号参数为空,重车标记 1 为空车, 2 为重车 : (程序的其他过程) . ASSIGN 1+, 10 汽车载重量变为 35 吨 : (程序的其他过程) . ENTER 1, 35 卸入1号矿仓 ASSIGN 1, 0 汽车

14、载重量变为 0 吨 ASSIGN 2, 1 变成空车 : . TERMINATE,3.6.1 与活动实体有关的模块,与活动实体有关的模块 1. GENERATE:产生活动实体 2. TERMINATE:活动实体消失 3. ADVANCE:活动实体延时 4. ASSIGN:活动实体参数赋值 5. TRANSFER:活动实体转向,1. SEIZE 活动实体获得设施控制权的模块 格式: SEIZE A A 活动实体所要控制的设施号或名称 例: SEIZE 2 SEIZE JON,3.6.2 与设施有关的模块,SIMULATE GENERATE 18, 6 QUEUE 1 SEIZE 2 DEPART

15、 1 ADVANCE 5 RELEASE 2,2. RELEASE 活动实体释放(离开)设施的模块 格式: RELEASE A A 被释放(离开)设施的号或名称 例: RELEASE 1 RELEAE JON RELE 5,3.6.2 与设施有关的模块,GENERATE 18, 6 QUEUE 1 SEIZE 2 DEPART 1 ADVANCE 5 RELEASE 2,格式: QUEUE A, B A 活动实体所要排的队号或名称 B 活动实体排队后,队长所增加的量. 缺省时为 1 QUEUE 2 QUEUE LINE QUEUE 3, 15,活动实体排队的模块,3.6.3 与队列有关的模块,

16、格式: DEPART A, B A 活动实体所在的队列号或名称 B 活动实体离开队列后, 队长减少的量, 缺 省时为 1. DEPART 2 DEPART LINE DEPART 3, 15,活动实体离开队列的模块,3.6.3 与队列有关的模块,GENERATE 18, 6 QUEUE 1 SEIZE 2 DEPART 1 ADVANCE 5 RELEASE 2,活动实体进入某个存储器的模块 格式: ENTER A, B A 进入存储器的号 (存储器的容量应事先定义) B 进入 A 存储器后,存储器增加的量,缺省时为1 ENTER 2 ENTER STORE, 25 ENTE S2, 2,3.

17、6.4 与存储器有关的模块,汽车装卸过程的程序示例,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,活动实体离开某存储器的模块 格式: LEAVE A, B A 离开存储器的号 B

18、离开 A 存储器后, 存储器减少的量, 缺省时为 1. LEAVE 2 LEAVE STORE, 25 LEAV S2, 2,3.6.4 与存储器有关的模块,S1 EQU 1 S1 STORAGE 2 GENERATE 40,10 QUEUE 1 ENTER S1 DEPART 1 ADVANCE 80,8 LEAVE S1 TERMINATE 1 START 100 END,与活动实体有关的模块: 1. GENERATE 2. TERMINATE 3. ADVANCE 4. ASSIGN 5. TRANSFER,与设施有关的模块: 1. SEIZE 2. RELEASE,与队列有关的模块:

19、1. QUEUE 2. DEPART,与存储器有关的模块: 1. ENTER 2. LEAVE,基本模块小结,控制语句是用来控制模拟过程的, 常用的语句如下: 1. SIMULATE 执行模拟 2. START A, B, C, D 控制模拟过程的终止或部分输出内容 A 使模拟终止的动态实体计数 B 从多少个活动实体开始打印统计报告 C 生成输出报告的计数间隔,为0是产生标准输出 D 输出动态实体的链状态,3.7 GPSS 语言的控制语句,TERMINATE 1 START 100 START 100,NP START 10, ,2,SIMULATE GENERATE 80,10 TRANSF

20、ER ,QU GENERATE 80,10 QU QUEUE 1 ENTER 1 DEPART 1 ADVANCE 80,8 LEAVE 1 TERMINATE 1 START 100 END,SIMULATE GENERATE 80,10 TRANSFER ,QU GENERATE 80,10 QU QUEUE 1 ENTER 1 DEPART 1 ADVANCE 80,8 LEAVE 1 TERMINATE 2 START 100 END,演示看结果,3.7 GPSS 语言的控制语句,3. END 终止模拟 4. RESET 清除积累统计 将所有统计值和模拟钟的相对时间恢复到零,但不改变模

21、拟的当前状态,系统中的保存值逻辑开关和活动实体的状态保留不变,多用于模拟的预热过程.,START 10 RESET START 100 END,3.8 GPSS 语言基本模块编程举例,SIMULATE GENERATE 18,6 QUEUE 1 排1号队列 SEIZE 1试图占用1号设施(理发师) DEPART 1 离开1号队列 ADVANCE 16,4 进行均值为16,方差为4的理发服务 RELEASE 1 完成服务,释放1号设施(理发师) TERMINATE 1 1个顾客离开系统 START 25 模拟25 个顾客 END,1.模拟的终止 例一: 利用 TERMINATE 和 START

22、控制 : : TERMINATE 1 START 25 END : : TERMINATE 2 : : TERMINATE 1 START 25 END,3.8 GPSS 语言基本模块编程举例,: : TERMINATE 1 : : TERMINATE START 25 END,3.8 GPSS 语言基本模块编程举例,例二: 利用时间控制 GENERATE 18, 6 : TERMINATE GENERATE 3600 TERMINATE 1 START 2 模拟二小时 END,一个程序中 可有多个 GENE 模块,如何模拟8小时?修改理发店的程序,统计一天的顾客数,例三: 利用终止语句控制

23、GENERATE 18, 6 : : TRANSFER ,TM : TERMINATE : TM TERMINATE 1000 START 1000 END 程序中需要终止的地方就转向 TM 语句,3.8 GPSS 语言基本模块编程举例,与活动实体有关的模块: 1. GENERATE 2. TERMINATE 3. ADVANCE 4. ASSIGN 5. TRANSFER,与设施有关的模块: 1. SEIZE 2. RELEASE,与队列有关的模块: 1. QUEUE 2. DEPART,与存储器有关的模块: 1. ENTER 2. LEAVE,基本模块小结,例四: RESET 的使用 GE

24、NERATE 18, 6 : : TERMINATE START 10 RESET START 100 END,L4a.gps 预热 L4b.gps 无预热,3.8 GPSS 语言基本模块编程举例,在一家只有一位理发师的理发店里,顾客到 达时间间隔(分钟)在整数20(5)之间均匀分布, 服务时间在23(10)之间均匀分布,为理发店的 一个9小时工作日编写一个GPSS程序,SIMULATE GENERATE 20,5 QUEUE 1 SEIZE 1 DEPART 1 ADVANCE 23,10 RELEASE 1 TERMINATE GENERATE 60 TERMINATE 1 START 9

25、 END,Lfs.gps,在一家只有一位理发师的理发店里,顾客到 达时间间隔(分钟)在整数20(5)之间均匀分布, 有85%只理发,其余15%除理发外还要烫发. 假设理发服务时间在20 (7)之间均匀分布,烫 发需要20(5)之间均匀分布.为理发店在这种 情况下的一个9小时工作日编写一个GPSS 程序,SIMULATE GENERATE 20,5 QUEUE 1 SEIZE 1 DEPART 1 TRANSFER 0.85,L1,L2 L1 ADVANCE 40,12 RELEASE 1 TERMINATE,L2 ADVANCE 20,7 RELEASE 1 TERMINATE GENERAT

26、E 60 TERMINATE 1 START 9 END,Lfs2.gps,如上题中,顾客到达的时间间隔如下:只需 理发的为18(5),既需理发又需烫发的为102(30). 服务时间与上题相同.在这些条件下,编定一个 9小时GPSS程序,LFS3.GPS,SIMULATE GENERATE 18,5 TRANSFER ,L1 GENERATE 102,30 TRANSFER ,L2 L1 QUEUE 1 SEIZE 1 DEPART 1 ADVANCE 20,7 RELEASE 1 TERMINATE,L2 QUEUE 1 SEIZE 1 DEPART 1 ADVANCE 40,13 RELE

27、ASE 1 TERMINATE GENERATE 60 TERMINATE 1 START 9 END,Lfs3.gps,例五: QUEUE 的使用 : : QUEUE 1 QUEUE 1 SEIZE 2 SEIZE 2 DEPART 1 ADVANCE 5 ADVANCE 5 RELEASE 2 RELEASE 2 DEPART 1 : :,L3-3A.gps,L3-3b.gps,某汽车加油站只有一台加油器,加油的汽车到达间隔 时间为100(10)秒的均匀分布,到达加油站后先排队再加 油,加油服务时间为80(8)秒的均匀分布.加油后司机要去 交费窗口排队交费,交费时间为50(30)秒的均匀分

28、布. 求解: 1.加油站与交费窗口的利用率; 2.加油与交费的平均等待时间. 求解: 1.在加油站的平均滞留时间;,SIMULATE GENERATE 100,10 QUEUE 1 SEIZE 1 DEPART 1 ADVANCE 80,8 RELEASE 1 QUEUE 2 SEIZE 2 DEPART 2 ADVANCE 50,30 RELEASE 2 TERMINATE 1 START 10000 END,L3-4.GPS,某汽车加油站有两台加油器,加油的汽车到达间隔 时间为100(10)秒的均匀分布,到达加油站后先排队再加 油,加油服务时间为80(8)秒的均匀分布.加油后司机要去 交费

29、窗口(只有一个)排队交费,交费时间为50(30)秒的均 匀分布. 求解: 1.加油站与交费窗口的利用率; 2.加油与交费的平均等待时间. 求解: 1.在加油站的平均滞留时间;,GPSS 标准输出的组成: 1. 扩充程序表 2. 模拟钟时间统计 3. 模块状态及计数表 (BLOCK) 3. 各类统计表 设施统计 (FACILITY) 队列统计 (QUEUE) 存储器统计 (STORAGE) 开关状态统计 ( SWITCH) 模块链统计 用户表 内存变量表,L4a.out为例,3.9 GPSS 的标准输出,FACILITY AVERAGE NUMBER AVERAGE SEIZING PREEMP

30、TING 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 12

31、0 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 1891 5 300 9.00 0.03 26432 50.00 0 280,设施与存储器统计,设施,存储器,QUEUE MAXIMUM AVERAGE TOTAL ZERO PERC. AVERAGE $AVERAGE TABLE CURRENT CONTENT CONTENT ENTRIES ENTRIES ZERO TIME/TR TIME/TR NUM

32、BR CONTENT 队列号 最大队长 平均队长 总排队实体 零等待实体 零等待百分比 平均排队时间 1 14 0.01 188 80 42.55 7.76 13.50 0 2 10 0.02 446 204 45.74 7.20 13.26 0 3 15 10.71 634 41 6.47 2432.53 2600.72 15 变量: CONTENTS OF (NONZERO) FULLWORD SAVEVALUES XF LOC VALUE LOC VALUE LOC VALUE LOC VALUE 变量号 变量值 11 26474 12 26432 13 26400 16 28474,队

33、列与变量统计,队列:,LOGIC SWITCH - SET (ON) STATUS SWITCH NAME NAME NAME NAME NAME NAME NAME NAME NAME 1 2 7 8 9 输出逻辑开关处于ON状态的逻辑开关号码,开关状态统计,逻辑开关,一间顾问办公室里有一个专家和一个见习 顾问.80%的客户可由见习顾问服务,剩下的20% 需动用专家. 假设:1.客户相继到达的时间间隔为22(12)分钟. 2.不需动用专家的客户需占用见习顾问 22(15)分钟;需请教专家的客户需要先在见习 顾问那里用5(3)分钟,然后排专家队, 最后和专 家谈45(20)分钟. 作一项关于这

34、家办公室的研究,确定: 1.顾问的忙碌程度(即客户在一起的时间比例) 2.客户必须等多久才能见到顾问?,GWGS.GPS,在一家有两位理发师的理发店里,顾客到 达时间间隔(分钟)在整数20(5)之间均匀分布, 服务时间在23(10)之间均匀分布,为理发店的 一个8小时工作日编写一个GPSS程序. (lfd1.gps) (LFD1A.GPS) 在一家有两位理发师的理发店里,顾客到 达时间间隔(分钟)在整数20(5)之间均匀分布, 服务时间在23(10)之间均匀分布, 编写一个GPSS程序模拟共200个顾客到达的情况. (LFD2.GPS),在一家有两位理发师的理发店里,顾客到 达时间间隔(分钟)

35、在整数20(5)之间均匀分布, 有50%只需理发, 25%除理发外还要烫发,其 余25%除理发烫发外还要染发. 假设理发服务时间在20 (7)之间均匀分布,烫 发需要20(5)之间均匀分布.染发需要15(10) 的均匀分布,为理发店在这种情况下的一个9 小时工作日编写一个GPSS程序 (LFD4.GPS LFD6.GPS) (LFD4A.GPS),某理发店有两名工作效率不同的理发师,顾客 到达的间隔为均匀分布,均值为40,方差为10,两 名理发师理发的时间也为均匀分布,分别为 80(10)和80(20),模拟100名顾客被服务的过程,Lfd5.gps,如上题中,顾客到达的时间间隔如下:只需 理发的为18(5),既需理发又需烫发的为102(30), 既需理发烫发又需染发的为150(30). 服务时间与上题相同.在这些条件下,编定一个 9小时GPSS程序,作业要求,1. 题目及求解分析 2. 编制程序 3. 上机实验模拟 可进行不同方案的模拟. 4. 输出结果及其分析,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1