计算机模拟GPSS第六章_第1页
计算机模拟GPSS第六章_第2页
计算机模拟GPSS第六章_第3页
计算机模拟GPSS第六章_第4页
计算机模拟GPSS第六章_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

管理系统模拟与GPSS语言 绪论系统 模型与模拟输入数据的分析GPSS语言概述GPSS常用语句及其使用随机数发生器及随机变量的产生中级GPSS程序设计输出数据的分析高级GPSS程序设计 在一家只有一位理发师的理发店里 顾客到达时间间隔 分钟 在整数20 5 之间均匀分布 服务时间在23 10 之间均匀分布 为理发店的一个9小时工作日编写一个GPSS程序 SIMULATEGENERATE20 5QUEUE1SEIZE1DEPART1ADVANCE23 10RELEASE1TERMINATEGENERATE60TERMINATE1START9END Lfs gps 第6章中级GPSS程序设计 本章主要内容 6 1一家电修理部模型的建立及其模拟6 2中级GPSS语言模块6 2 1LOGIC逻辑开关6 2 2INITIAL初始化语句6 2 3GATE测试模块6 2 4TEST比较测试模块6 2 5SAVEVALUE保存值模块6 2 6LOOP循环模块6 3中级GPSS语言程序举例 中级GPSS LOGIC逻辑开关INITIAL初始化语句GATE测试模块TEST比较测试模块SAVEVALUE保存值模块LOOP循环模块 6 2中级GPSS语言模块 第6章中级GPSS程序设计 LOGIC逻辑开关的设置对于系统中具有二态性质的设施或设备可用逻辑开关表示 逻辑开关为1时表示合 逻辑开关为0时 表示断 逻辑开关的置位或变位由LOGIC模块完成 LOGIC 辅助码A其中 辅助码表示逻辑开关的置位情况 A表示逻辑开关号R表示逻辑开关置0S表示逻辑开关置1I表示逻辑开关反转 例 LOGIC S2将2号逻辑开关置1 开 LOGIC IP 3将由3号参数确定的逻辑开关反转LOGIC R2将2号逻辑开关置0 关 6 2中级GPSS语言模块 INITIAL初始化语句如果逻辑开关事先没有进行初始化设置 程序中第一次使用它之前该逻辑开关是处于关闭 即0 的状态 在需要对逻辑开关进行初始化设置时 可以使用INITIAL语句进行 基本格式如下 INITIALLS 逻辑开关号 LS 逻辑开关号 LS 逻辑开关号 可以同时给6个逻辑开关进行初始化 将开关的状态设置为1比如 INITIALLS 1 LS 12 LS 15 6 2中级GPSS语言模块 SIMULATE TELLERSTORAGE5INITIAL1GENERATE10 5GATE LSDOOR GOAWAYQUEUELINEENTERTELLERDEPARTLINEADVANCE45 15LEAVETELLERGOAWAYTERMINATEGENERATE480LOGIC R1TEST EN3 N7TERMINATE1START1 GATE实体状态的测试模块GATE模块是用来测试各类实体的当前状态的 格式如下 GATE 辅助码A B其中 A要测试的实体号B当测试结果为假时流动实体应去的模块标号辅助码表示实体类型及状态NU表示设施没有使用状态U表示设施在使用状态SE表示存储器空状态SF表示存储器满状态 6 2中级GPSS语言模块 SNE表示存储器不空状态SNF表示存储器不满状态LR表示逻辑开关处于0状态LS表示逻辑开关处于1状态 等等例 GATE NUP 1 CON测试1号参数指定的设施是否在空闲 若不空闲则去CON语句GATE SE2测试2号存储器是否空 INITIALLS 1GATE LS1 6 2中级GPSS语言模块 SIMULATE1STORAGE3GENERATE10 5GATE SNF1 GOAWAYENTER1ADVANCE25 10LEAVE1TERMINATE1GOAWAYTERMINATESTART50END 55 GPS TEST比较测试模块通过测试来比较二个标准数字属性码SNA的大小 并可按结果来控制活动实体的运行格式 TEST 辅助码A B C辅助码有 E相等NE不相等L小于LE小于或等于G大于GE大于或等于A B二个相比较的SNAC比较结果为假时动态实体所要进入的模块号 6 2中级GPSS语言模块 例 TEST GEP 1 2 D1TEST LEQ 1 P 2 ABCTEST LFN 1 P 3 DONE注意 其中下划线为 而不是 6 2中级GPSS语言模块 SIMULATE TELLERSTORAGE5INITIALLS DOORGENERATE10 5GATE LSDOOR GOAWAYQUEUELINEENTERTELLERDEPARTLINEADVANCE45 15LEAVETELLERGOAWAYTERMINATEGENERATE480LOGIC RDOORTEST EN3 N7TERMINATE1START1 SAVEVALUE保存值模块SAVEVALUE模块可将任一个值 包括SNA 存放在指定的保存值地址中 保持值的地址是用数字来定义的 如1 2 或21等 其SNA码为X j 在程序中可随时使用各保存值 只调用其SNA码X j即可 在标准输出中按地址号的顺序输出 SAVEVALUEA B C其中 A 保存值的地址号及 号 号表示要在原值上增加或减少的要求B 要存放的值或SNA码C 保存值的类型 F XF H XH 缺省时为F全字长 6 2中级GPSS语言模块 例 SAVEVALUE2 P 1将一号参数的值存入2号保存值中SAVEVALUE3 Q 3将三号队列的长度存入3号保存值中SAVEVALUE3 5在三号保存值上再加5SAVEVALUEP 2 P 1在二号参数所表示的保存值号的保存值中减去一号参数值SAVEVALUE5 X 3在5号保存值上再加上三号保存值的值 6 2中级GPSS语言模块 6 2中级GPSS语言模块 保存值的初始化INITIALX j 数值 X i 数值 X k 数值未经初始化的保存值的缺省值为0可以依次定义3个保存值 INITIALX 1 30GENERATE40 X 1 6 2中级GPSS语言模块 LOOP循环模块循环是各类程序编制中所不可缺少的 GPSS语言的循环过程是由LOOP模块完成的 GPSS语言的循环过程是由计数和转向二个动作完成 它总是先确定循环次数 并将循环次数存在活动实体的某个参数中 然后当活动实体进入LOOP模块后 就开始了循环的进程 循环模块LOOP的基本格式是 LOOPA B其中 A控制循环次数的参数号B将A的值减去1 A的值大于零时 活动实体应转去的语句标号 SIMULATEGENERATE10ASSIGN1 5设定循环次数P 1LPPRINTP 1 P 2循环开始ASSIGN2 P 1LOOP1 LP循环计数PRINTP 1 P 2TERMINATE1START1END 举例 6 2中级GPSS语言模块 Loop1 gps LOGIC逻辑开关的设置LOGIC 辅助码AINITIAL初始化语句INITIALLS 逻辑开关号 LS 逻辑开关号 LS 逻辑开关号 INITIALX j 数值 X i 数值 X k 数值GATE实体状态的测试模块GATE 辅助码A BTEST比较测试模块TEST 辅助码A B CSAVEVALUE保存值模块SAVEVALUEA B CLOOP循环模块LOOPA B 中级GPSS语言模块 SAVEVALUE5 P 1INITIALX 1 200 X 2 500TEST LEFN 1 P 3 DONELOGIC RP 2GATE SNEP 1GATE NUP 1 CONINITIALLS 2 LS 4 LS 7 GENERATE5 2RELEASEP1LEAVEF3 20ADVANCE6 2DEPARTL1 2SAVEVALUE1 P 1TERMINATE1TEST NEQ 1 P 2LOGIC R2INITIALls 6 ls 7GATE SF5TEST LFN 1 P 3 AASAVEVALUE3 Q 1LOGIC RP 1RMULT111 22 555 1 TRANSFER CON2 SAVEVALUE2 353 LEAVE2 04 ENTER2 351STORAGE20001FUNCTIONRN 1 D3 5 10 8 50 1 1007 ADVANCE16 48 LOGIC R1TEST EN 2 N 710 INITIALLS 111 LOOP1 LP12 TEST LEQ 1 P 2 ABC13 GATE SE214 GATE NUP 1 CON15 INITIALX 1 3 X 5 9 一单理发师的理发店 顾客到达时间为18 6 理发时间为16 4 理发店营业8小时关门 但关门之前进入的顾客要理完发才走 提示 1 设置一逻辑开关 控制关门及顾客的进入2 理发店不许顾客进入之后 还需测试已进入的顾客是否都理发完毕 6 3中级GPSS语言程序举例 SIMULATEGENERATE18 6QUEUE1SEIZE1DEPART1ADVANCE16 4RELEASE1TERMINATEGENERATE480理发店营业8小时TERMINATE1所有顾客理发完毕 关门START1模拟一个班 SIMULATEINITIALLS 1GENERATE18 6GATE LS1是否处于打开状态TRANQUEUE1若不处于0态则不再进人SEIZE1DEPART1ADVANCE16 4DONERELEASE1TERMINATEGENERATE480理发店营业8小时LOGIC R1使1号逻辑开关关闭TEST EN TRAN N DONE测试最后关门条件TERMINATE1所有顾客理发完毕 关门START1模拟一个班END 6 3中级GPSS语言程序举例 L6 3 GPS RELATIVECLOCK493ABSOLUTECLOCK493FACILITYAVERAGENUMBERAVERAGESEIZINGPREEMPTINGUTILIZATIONENTRIESTIME TRANTRANS NO TRANS NO 10 882716 11QUEUEMAXIMUMAVERAGETOTALZEROPERC AVERAGE AVERAGETABLECURRENTCONTENTCONTENTENTRIESENTRIESZEROTIME TRTIME TRNUMBRCONTENT120 33271037 046 119 710 理发店模型输出结果 RELATIVECLOCK493ABSOLUTECLOCK493FACILITYAVERAGENUMBERAVERAGESEIZINGPREEMPTINGUTILIZATIONENTRIESTIME TRANTRANS NO TRANS NO 10 882716 11QUEUEMAXIMUMAVERAGETOTALZEROPERC AVERAGE AVERAGETABLECURRENTCONTENTCONTENTENTRIESENTRIESZEROTIME TRTIME TRNUMBRCONTENT120 33271037 046 119 710 理发店模型输出结果 车间有8名技工加工零件 零件到达间隔时间服从均值10分钟 方差为5分钟的均匀分布 零件加工时间服从均值40分钟 方差为10分钟的均匀分布 工人每天工作8小时 但是下班前必须完成手头的工作 模拟工人一天的工作 SIMULATE1STORAGE8GENERATE10 5QUEUE1ENTER1DEPART1ADVANCE40 10LEAVE1TERMINATEGENERATE480TERMINATE1START1END LG1 GPS SIMULATE1STORAGE8INITIALLS 1GENERATE10 5GATE LS1 GOAWAYQUEUE1ENTER1DEPART1ADVANCE40 10LEAVE1GOAWAYTERMINATEGENERATE480LOGIC R1TEST EN 3 N 7TERMINATE1START1END JG GPS 6 3中级GPSS语言程序举例 例6 2假设有一个募捐站点接受各类民众的现金募捐 在募捐的人中大约有50 的人捐10元 有30 的人捐50元 有20 的人捐100元 请通过模拟实验来统计以上各类人的捐款数及总捐款数 统计100个捐献者 L6 2A GPSL6 2 GPSL6 2b gps SIMULATE1FUNCTIONRN 1 D3 5 10 8 50 1 1002FUNCTIONP 1 D310 1 50 2 100 3GENERATE5ASSIGN1 FN 1SAVEVALUEFN 2 P 1SAVEVALUE4 P 1TERMINATE1START100END L6 2 GPS 上面的程序模拟了100个捐款人 有关保存值部分的标准输出如下 CONTENTSOF NONZERO FULLWORDSAVEVALUESXFLOCVALUELOCVALUELOCVALUELOCVALUE1520215003180043820从输出中可见 一类捐款人为52人 捐款50元 二类捐款人为30人 捐款1500元 三类捐款人为18人 捐款1800元 总捐款3820元 6 3中级GPSS语言程序举例 一露天矿模拟模型 已知一露天矿剥离和采煤分别由二台电铲来完成 一台以4 2 分钟间隔时间装满一车矿石 另一台以5 2 分钟间隔时间装满一车煤 卡车各运行15分钟后分别卸入矿石场和储煤仓 卸矿时间为8分钟 矿石场和储煤仓的容量分别为20000吨及2000吨 矿石卡车载重量为35吨 而运煤卡车载重量为18吨 模拟这一过程 并记录矿石和煤的产量 模型 动态实体 运矿石卡车和运煤卡车存储器 1号矿石场2号储煤仓保存值 1号产煤量2号矿石剥离量 6 3中级GPSS语言程序举例 模型示意图 例6 4一露天矿模拟模型 本例题用三个方式编程 1 详细方法即每一步都表示清楚 程序A 2 使用流动实体的参数 程序B 3 使用SNA码简化程序 程序C 一般方法 A SIMULATE 程序A 1STORAGE20002STORAGE20000GENERATE5 2装煤ADVANCE15ENTER1 18ADVANCE8卸煤SAVEVALUE1 18统计煤产量LEAVE1TERMINATEGENERATE4 2装矿石ADVANCE15ENTER2 35ADVANCE8卸矿石SAVEVALUE2 35统计矿石产量LEAVE2TERMINATEGENERATE480TERMINATE1START1END L6 4 gpsL6 4a gpsL6 4d gpsEE GPS 使用参数 B 1 将代号或码用SNA表示 一号参数表示煤 1 或矿石车 2 二号参数表示载重量 SIMULATE 程序B STORAGE2000STORAGE20000GENERATE5 2装煤ASSIGN1 1ASSIGN2 18ADVANCE15ENTERP 1 P 2ADVANCE8卸煤SAVEVALUEP 1 P 2统计煤产量LEAVEP 1 0TERMINATE GENERATE4 2装矿石ASSIGN1 2ASSIGN2 35ADVANCE15ENTERP 1 P 2ADVANCE8卸矿石SAVEVALUEP 1 P 2统计矿石产量LEAVEP 1 0TERMINATEGENERATE480TERMINATE1START1END 使用参数 B 2 L6 4e gpsL6 4b gps 利用SNA码将相同程序段合并可简化程序 SIMULATE 程序C STORAGE2000STORAGE20000GENERATE5 2装煤ASSIGN1 1ASSIGN2 18TRANSFER CONGENERATE4 2装矿石ASSIGN1 2ASSIGN2 35CONADVANCE15ENTERP 1 P 2ADVANCE8卸车SAVEVALUEP 1 P 2统计产量LEAVEP 1 0TERMINATEGENERATE480TERMINATE1START1END 例6 5一零件加工过程的模拟有一零件加工车间 主要是进行零件的钻孔工作 零件的到达间隔时间为10 3分钟 但零件在进入车间后应先进行打毛刺等光滑处理 然后在进行画线工作 最后才能钻孔 上述每道工序都可能进行排队 我们分别用1 2 3表示这3个队列 为了简单起见 我们仍假设所有的过程都呈均匀分布 其均值和方差分别为 打毛刺等光滑处理10 2分钟画线9 3分钟钻孔8 1分钟 6 3中级GPSS语言程序举例 SIMULATEGENERATE10 3零件到达QUEUE1排队打毛刺等光滑处理SEIZE1DEPART1ADVANCE10 2RELEASE1QUEUE2排队画线SEIZE2DEPART2ADVANCE9 3RELEASE2QUEUE3排队钻孔SEIZE3DEPART3ADVANCE8 1RELEASE3TERMINATE1START50END 初步结构 L6 5a gps SIMULATEMEANEQU1DEFEQU2MEANFUNCTIONP 1 D3服务间隔时间均值1 10 2 9 3 8DEFFUNCTIONP 1 D3服务间隔时间方差1 2 2 3 3 1GENERATE10 3 3ASSIGN2 3设循环次数BACKASSIGN1 1设置P 1为工序代号QUEUEP 1SEIZEP 1DEPARTP 1ASSIGN3 FN DEF求方差ADVANCEFN MEAN P 3RELEASEP 1LOOPP 2 BACK循环判断TERMINATE1START50END 使用标准数字属性码简化程序 L6 5b gps 30 50 10 10 CPU队列 1 2 3 系统示意图 CPU 分时处理计算机系统 例6 6分时处理计算机系统的模拟分析 系统简述一台分时处理计算机系统有三个终端 每个终端能送四种信息 信息到达时按FIFO原则接受处理 每一种信息的处理时间与它的来源类型有关 如下面表中所示 到达间隔时间和处理时间与终端的关系终端号到达间隔时间处理时间14500 2000 35023000 800 32032000 700 240 例6 6分时处理计算机系统的模拟分析 每类信息产生的频率及附加处理时间信息类型产生频率附加处理时间130500 300 250400 100 310250 50 410900 200 例一号终端来的三号信息的处理时间为 350 250 50 600 50 例6 6分时处理计算机系统的模拟分析 求解 对中央处理器CPU进行模拟分析 求平均等待时间 队列平均长度 CPU的利用率及每个终端的响应时间 提示 动态实体三种信息分别由三个终端产生设施CPU队列1一号终端信息队列2二号终端信息队列3三号终端信息队列4CPU队列函数使用离散型函数FN 1 FN 4模拟时间90000 例6 6分时处理计算机系统的模拟分析 要求 1 设计说明2 绘出框图3 编制程序并上机调试通过4 尽量使用SNA技术5 输出结果6 结论及其讨论 例6 6分时处理计算机系统的模拟分析 SIMULATECPUEQU41FUNCTIONP 2 D4附加处理时间均值1 500 2 400 3 250 4 9002FUNCTIONP 2 D4附加处理时间方差1 300 2 100 3 50 4 2003FUNCTIONRN 1 D4信息类型及概率0 3 1 0 8 2 0 9 3 1 44FUNCTIONP 1 D3固定处理时间1 350 2 320 3 240GENERATE90000模拟时间TERMINATE1GEN1GENERATE4500 20001号终端ASSIGN1 1TRANSFER CONTGEN2GENERATE3000 8002号终端 例6 6分时处理计算机系统的模拟分析 ASSIGN1 2TRANSFER CONTGEN3GENERATE2000 7003号终端ASSIGN1 3CONTQUEUEP 1QUEUE4CPU队列SEIZECPUDEPART4ASSIGN2 FN 3确定信息类型ASSIGN3 FN 2将方差存入P 3ADVANCEFN 1 P 3附加处理时间ADVANCEFN 4固定处理时间RELEASECPUDEPARTP 1TERMINATESTART1END 例6 6分时处理计算机系统的模拟分析 FACILITYAVERAGENUMBERAVERAGESEIZINGPREEMPTINGUTILIZATIONENTRIESTIME TRANTRANS NO TRANS NO 40 7492725 822QUEUEMAXIMUMAVERAGETOTALZEROPERC AVERAGE AVERAGECONTENTCONTENTENTRIESENTRIESZEROTIME TRTIME TR110 251900 001187 741187 74210 363000 001075 431075 43320 464400 00943 20943 20520 33934447 31317 81603 18 例6 6分时处理计算机系统的模拟分析 一个拥有3条线路的电话交换台 新电话的到达时间间隔呈指数分布 均值为2分钟 电话对话的时间呈均匀分布 均值和偏差为2分钟和1 2分钟 25 没打通电话的人等待一段时间 指数分布 均值为10分钟 然后再一次打电话 模拟该交换台一天的工作情况 GENERATE120 FN 1ADVANCE120 30TEST L0 R LINE REDIALTEST E1 P 1 DONE GENERATE120 FN 1SAVEVALUE1 1DIALASSIGN1 1TEST L0 R LINE REDIALENTERLINEADVANCE120 30LEAVELINETEST E1 P 1 DONESAVEVALUE2 1DONETERMINATEREDIALADVANCE600 FN 1TRANSFER 75 DIAL AWAYAWAYSAVEVALUE3 1TERMINATEGENERATE3600TERMINATE1START8END DH GPS SIMULATEGENERATE10ASSIGN1 5ASSIGNP 1 15ADVA

温馨提示

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

评论

0/150

提交评论