4.3 某一个加油站能够配给三个级别的燃油:①家庭取暖用的燃油;②轻工业用的燃油;③运输用的燃油。每一级别的燃油都有一个对应的油泵。订单中燃油的数量在3000加仑和5000加仑中变化,每次增加10加仑,是均匀分布。这个站点最多能容纳12辆车。来加油站装油的汽车到达的平均时间间隔是18分钟(服从指数分布),仿真加油站5天的运营情况,假设车辆加满油所需的时间由以下因素决定:

(1)油泵效率(对①②③这三种油分别为每1000加仑需要6,5和7分钟)。

(2)订单的大小。

(3)开始加油时站点已容纳的车辆数量(每一辆车需要额外的30秒)。

(4)两分钟的准备和安装时间。

解:

Station	STORAGE	12
VCT FUNCTION RN1,D3 ;RN1作为自变量返回一个0~1的小数
.333,6/.667,5/1,7 ;等概率进入3种油泵处加油
GENERATE (EXPONENTIAL(1,0,18))
QUEUE q_gas
ENTER Station
ADVANCE ((3000+RN1@201#10)#FN$VCT/1000+0.5#S$Station+2) ;
LEAVE Station
DEPART q_gas
TERMINATE
GENERATE 60
TERMINATE 1
START 120 ;24h*5d

解析:

ADVANCE中分别表示4个因素:

(3000+RN1@201#10)#FN$VCT/1000:订单的大小;油泵效率

0.5#S$Station:每一辆车需要额外的30秒

2:两分钟的准备和安装时间

指数分布函数:

自定义函数:

离散值函数:

SNA码:

运算符:

3.7 A、B、C是三个汽车清洗店,汽车以8±5分钟到达。服务以每15±6分钟完成一辆,每个清洗店同时只能清洗一辆汽车。顾客喜欢A超过喜欢B,喜欢B超过喜欢C。若喜欢的清洗店忙的话,则选择空的清洗店,否则离开,若到达和离开事件同时发生时优先处理离开事件。仿真100小时,估算三家汽车清洗店的利用率。若没有空的清洗店,则要排队等待,又将如何?(提示:对于第二问可以在第一问的基础上增加一个容量为3的存储器来实现)

解:

第一问-both方法

	generate	8,5
transfer both,a,sel1
sel1 transfer both,b,sel2
sel2 transfer both,c,out
out terminate
a seize a1
advance 15,6
release a1
terminate
b seize b1
advance 15,6
release b1
c seize c1
advance 15,6
release c1
terminate
generate 60
terminate 1
start 100

第一问-all方法

	GENERATE	8,5
RANSFER ALL,ADDI,ADD4,4
ADD1 SEIZE 1
ADVANCE 15,6
RELEASE 1
TERMINATE
ADD2 SEIZE 2
ADVANCE 15,6
RELEASE 2
TERMINATE ADD3
ADD3 SEIZE 3
ADVANCE 15,6
RELEASE 3
TERMINATE
ADD4 TERMINATE GENERATE 6000
TERMINATE 1
START 1

第二问-both方法

que	storage	3
generate 8,5
enter que
transfer both,a,sel
sel transfer both,b,c
a seize a1
advance 15,6
release a1
leave que
terminate
b seize b1
advance 15,6
release b1
leave que
terminate
c seize c1
advance 15,6
release c1
leave que
terminate
generate 60
terminate 1
start 100

3.12 顾客进人一个系统,要按序列经过两个服务站。第一站上有三位服务员,其服务质量相同,服务时间为335±160秒。第二站上只有一位服务员,服务时间为110±75秒,顾客以每隔120±50秒到达一位。如果站上服务员全忙,则顾客在相应的队列等待,要求按下列两种情况分别建立GPSSWorld模型,运行24小时,统计顾客逗留在系统中的平均时间情况,第一,假定两个队列的空间不受限制;第二,第二站上队列只有一个位置,以完成第一站服务的顾客发现第二站队列位置被占领时,不能离开第一站服务位置,即后面等待顾客不能进人第一站服务。

解:

FW1_BAR	STORAGE	3
GENERATE 120,50
QUEUE Q_FW1
ENTER FW1_BAR
DEPART Q_FW1
ADVANCE 335,160
LEAVE FW1_BAR
QUEUE Q_FW2
SEIZE S_FW2
DEPART Q_FW2
ADVANCE 110,75
RELEASE S_FW2
TERMINATE
GENERATE 60
TERMINATE 1
START 24

Gpssworld仿真(二):并排排队系统模拟的更多相关文章

  1. vivado与modelsim的联合仿真(二)

     最近在做Zynq的项目,曾经尝试使用ISE+PlanAhead+XPS+SDK组合和Vivado+SDK来搭建工程,使用中发现前者及其不方便后者有诸多不稳定.近期得闻Xilinx退出Vivado20 ...

  2. MFC框架仿真<二>

  3. 下载器Folx如何实现排队下载功能

    用户在下载多个文件时,当然会希望这些文件都能同时下载,以达到短时间内完成下载任务的目的.但另一方面来说,同时下载过多文件,会分散带宽资源,降低了每个文件的下载速度,从而导致下载时间的延长. 为了实现多 ...

  4. 优先队列与TopK

    一.简介 前文介绍了<最大堆>的实现,本章节在最大堆的基础上实现一个简单的优先队列.优先队列的实现本身没什么难度,所以本文我们从优先队列的场景出发介绍topK问题. 后面会持续更新数据结构 ...

  5. Asp.net 面向接口可扩展框架之消息队列组件

    消息队列对大多数人应该比较陌生.但是要提到MQ听说过的人会多很多.MQ就是英文单词"Message queue"的缩写,翻译成中文就是消息队列(我英语差,翻译错了请告知). PS: ...

  6. 建模算法(七)——排队论模型

    (一)基本概念 一.排队过程的一般表示 凡是要求服务的对象称为顾客,凡是为顾客服务的称为服务员 二.排队系统的组成和特征 主要由输入过程.排队规则.服务过程三部分组成 三.排队模型的符号表示 1.X: ...

  7. iOS开发——高级篇——UIDynamic 物理引擎

    一.UIDynamic 1.简介什么是UIDynamicUIDynamic是从iOS 7开始引入的一种新技术,隶属于UIKit框架可以认为是一种物理引擎,能模拟和仿真现实生活中的物理现象重力.弹性碰撞 ...

  8. ARM开发(3)基于STM32的矩阵键盘控制蜂鸣器

    一 矩阵键盘控制蜂鸣器原理:  1.1 本实验实现8*7矩阵键盘上按键控制蜂鸣器响.  1.2 实验思路:根据电路图原理,找出矩阵键盘行列所对应的引脚,赋予对应的按键值,然后控制蜂鸣器响.  1.3 ...

  9. ARM开发(2)基于STM32的蜂鸣器

    基于STM32的蜂鸣器 一 蜂鸣器原理:  1.1 本实验实现1个蜂鸣器间隔1S鸣叫.  1.2 实验思路:根据电路图原理,给蜂鸣器相关引脚赋予高低电平,实现电路的导通,使蜂鸣器实现鸣叫或不鸣.  1 ...

  10. ARM开发(1) 基于STM32的LED跑马灯

    一 跑马灯原理:  1.1 本实验实现2个led的跑马灯效果,即2个led交替闪烁.  1.2 实验思路:根据电路图原理,给led相关引脚赋予高低电平,实现电路的导通,使led灯发光.  1.3 开发 ...

随机推荐

  1. jmeter设置支持https方法

    2020-2-26,疫情影响下第一天上班,今年想把自己学到的测试方面的知识记录下来,方便自己方便有需要的人,废话不多说,开启第一篇随笔,jmeter设置. 最近在测接口性能,涉及https的接口,不知 ...

  2. JXS的基本使用

    1.导入react和react-dom两个包 import React from 'react' import ReactDOM from 'react-dom' 2使用JSX创建react元素 3. ...

  3. OSIDP-并发:互斥和同步-05

    进程和线程的管理 多道程序设计:管理单处理器系统中的多个进程. 多处理器技术:管理多处理器系统中的多个进程. 分布式处理器技术:管理分布式环境下的多个进程. 并发出现的三种环境 多应用程序:多个运行中 ...

  4. MySQL数据库sql_mode导致varchar字段超过长度被截断插入

    django数据库设置sql_mode MySQL的sql_mode解析与设置 mysql中sql_mode的修改 sql_mode:它定义了MySQL应该支持的sql语法,对数据的校验等等. 问题 ...

  5. webpack逆向之报错Cannot read properties of undefined (reading 'call')

    经典报错 记录一下: 1: 缺少模块    补上 2.主模块无法调用子模块   有可能网站用的数组形式的模块包,你用的是对象,调用方法就要改变. 改写过程中 用的是对象方式: 那么3号包调用的4号包 ...

  6. python补全用法,windows环境和linux环境

    一.windows中python tab具体如下: 1.python3环境装好后,初始环境是没有装readline模块的,先装它. pip install pyreadline 2.在在python的 ...

  7. LVS负载均衡 2022年4月

    1. 负载均衡技术简介 2 1.1 负载均衡类型3 1.2 LVS简介4 1.3 Keepalived简介5 2. 负载均衡搭建主要步骤 6 2.1 LVS+Keepalived的负载均衡系统搭建6 ...

  8. selenium 模拟鼠标滚轮,滚动到可见的选项

    self.wrap_driver.move_to_element(locator=const_xpath.monitor_select) #鼠标移动到某个区域target = self.driver. ...

  9. MacOS ssh config 配置

    Host 别名 #password 注释,保存密码 HostName IP User 服务器账号#root Port 端口 IdentityFile ~/.ssh/id_rsa #指定密钥 Remot ...

  10. For循环用法-打印乘法表

      for循环可以遍历某一对象(遍历:通俗点说,就是把这个循环中的第一个元素到最后一个元素依次访问一次).for循环的结构如下 具体例子打印乘法表: #打印乘法表: for i in range(1, ...