计算机模拟GPSS六PPT课件_第1页
计算机模拟GPSS六PPT课件_第2页
计算机模拟GPSS六PPT课件_第3页
计算机模拟GPSS六PPT课件_第4页
计算机模拟GPSS六PPT课件_第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一零件加工过程的模拟有一零件加工车间,主要是进行零件的钻孔工作。零件的到达间隔时间为103分钟,但零件在进入车间后应先进行打毛刺等光滑处理,然后在进行画线工作,最后才能钻孔。上述每道工序都可能进行排队,我们分别用1、2、3表示这3个队列。为了简单起见,我们仍假设所有的过程都呈均匀分布,其均值和方差分别为:打毛刺等光滑处理102分钟画线93分钟钻孔81分钟,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,15ADVANCE10

温馨提示

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

评论

0/150

提交评论