释义 |
通用模拟系统general purpose simulation system,GPSS一种专门用于模拟离散事件的程序设计语言。它的最早文本由戈登(G.Gordon)于1961年发表。这种语言最适于排队系统。由于许多问题可以转化为排队问题,故使用范围很广。 GPSS把一个离散事件系统的现实过程(如理发服务)抽象为动态实体(如理发店的顾客)在该系统中的流程,然后用一系列专用程序块来表示并模拟这种过程,每个程序块有特定的功能、名称、符号和参数意义。不同文本的程序块数量不尽相同,如表1所示。常用的基本程序块见表2。 表1 不同文本的GPSS程序块数 文 本 | 程序块数 | 所用计算机 | GPSSV和GPSS/360 GPSS/66 GPSS/1100 GPSS/X GPSS/PC | 48 53 55 56 38 | IBM DPS-8 UNIVAC M-150 IBM-PC |
在不同的模拟系统中,动态实体有不同的定义和内涵,它可以是理发店的顾客、待入库的物资或通讯系统中的信号等。模拟的动态实体在GENERATE程序块产生开始后,便在流程图中按顺序移动或转移,直到通过TER-MINATE程序块终止结束。模拟顾客(动态实体)接受服务(占用服务台)时,按规定顺序进行。常用的排队规则是FIFO(先进先出)、LIFO(后进先出)和随机服务。为此>GPSS中设置了一个时钟,刻度为整数,单位是隐含的,模型中所有时间都用同一个时间单位。上图为一线一服务台的排队系统GPSS模型。
GPSS模型 根据这一GPSS模型,可直接写出模型的GPSS程序:*SAMPLE | | SIMVLATE | | *BLOCK DEFINITION | | GENERATE | 18,6 | QUEUE | LINE | SEIZE | J | DEPART | LINE | ADVANCE | 16,4 | RELEASE | J | TERMINATE | 1 | *CONTROL CARDS | | START | 25 | END | |
程序中的*号行为注解行,SIMULATE语句表示模拟开始,END语句表示模拟结束,START语句表示控制模拟的长度(这里为25个动态实体),用以控制终止计数器。顾客(动态实体)以平均值为18分钟,偏差为6分钟的均匀分布产生,然后进入到排队线为A的队列中。如服务台J(设备)空闲,则顾客离队得到服务,顾客进入服务台得到服务时被延迟一段时间,其平均值为16分钟,偏差为4分钟。服务完毕顾客释放服务台。顾客离开,终止计数器减1。 GPSS同样可模拟串联队(即一个顾客连续通过几种服务设备接受服务)和多线服务台及带优先级队列等较复杂排队系统。表2 常用程序块表 
GPSS已成功地应用于:❶服务人员和设备规划分析; ❷运输系统设计; ❸作业进程安排; ❹库存管理; ❺资金周转预测; ❻资源分配; ❼劳力配置; ❽牧畜再生产等方面。 |