"管系统仿真与GPSSJAVA" 本节课程将介绍管系统仿真与GPSSJAVA的相关知识点,其中包括随机数发生器、函数实体、泊松分布、指数分布、均匀分布、爱尔兰分布、正态分布等。 随机数生成是仿真系统中的一个重要组件,它可以用来模拟真实世界中的随机事件。历史上,人们曾经尝试使用兰德公司的方法,即将100万个在(0,1)区间内的实数存入计算机外存储器,以便在仿真过程中进行随机调用。然而,这种方法不久即被淘汰,因为效率太低,并且不能保证均匀分布的性质。 后来,人们开始使用数学算法来生成随机数,这种方法具有简单易行、占用内存少、运行速度快的优点,因此得到广泛的应用。用户只需给定一个初始的任意“随机”数(或称种子值),即可按某个固定的公式计算出下一个“随机”数。随后,以新产生出来的“随机”数作为种子,来计算出新的下一个“随机”数。不断重复以上的计算即可产生出一系列的“随机”数,称为随机数序列或随机数流。 然而,用算法产生“随机”数流时,第i+1个“随机”数是用第i个“随机”数按一个不变的公式进行计算的结果;只要给定初始的种子值,则以后产生的随机数流中的任一个“随机”数都是确定的数值,从本质上来说并不具有真正的随机性,因此被称为“伪随机数” 。伪随机数序列会产生退化,即在产生有限个随机数后,数字序列会重复出现。退化的周期越长越好。 用伪随机数进行仿真所形成的随机过程自然也不能认为是真正的随机过程。然而只要仔细设计产生伪随机数的算法,便能通过比较严格的统计检验,仍然可以产生出一系列近似某种分布并且相对独立的随机数,这种随机数流能满足大多数仿真模型需要。 在GPSS/Java中,随机数生成器是通过Randum类实现的。Randum类提供了一个名为nextDouble的方法,可以产生一个(0,1)间隔均匀分布的双精度实型随机数。Java采用线性同余算法,产生随机数的退化周期为255。 GPSS/Java使用Randum类定义了8个随机数流对象,初始种子值分别为100、200、300、400、500、600、700和800,能够产生8个不同的随机数序列。 GPSS/Java提供了8个随机数发生器,表示为RN$(int n),其中n为随机数发生器编号,例如RN$(1)表示使用1号随机数发生器产生一个(0,1)间隔均匀分布的随机数。 1号随机数发生器是缺省的随机数发生器,例如transfer(double a, Addr b, Addr c)时,由1号随机数发生器RN$(1)产生一个随机数。 在管系统仿真中,随机数生成器扮演着重要的角色,它可以用来模拟真实世界中的随机事件。例如,在随机排队系统中,顾客到达服务时间可以用随机数生成器来模拟。因此,了解随机数生成器的原理和实现细节是非常重要的。
- 粉丝: 2101
- 资源: 803
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助