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. 从零开始:在树莓派上安装OpenEuler

    树莓派(Raspberry Pi)是一款基于ARM架构的小型电脑,它的便携性和低功耗性能使它成为制作物联网设备或运行嵌入式系统的理想选择.在这篇博客中,我们将介绍如何在树莓派上安装OpenEuler操 ...

  2. JS变量之间赋值,修改变量值,原变量会随之改变的问题

    现象: 开发vue项目的过程中,需要多次用到一份基础数据,为减少代码量,提高一下复用效果,便用变量A来定义,在项目中需要用到时就用变量A进行赋值. 在项目中调用时,我新定义一个变量B,再将变量A赋值给 ...

  3. SpringMVC配置文件applicationContext.xml头信息

    applicationContext.xml头信息 <?xml version="1.0" encoding="UTF-8"?> <beans ...

  4. MacOS使用iTerm2 tab不区分大小写解答

    打开控制台 输入 vim ~/.zshrc 按下 i 之后  // i == insert插入字符 粘贴以下代码 复制到该文件中 autoload -Uz compinit && co ...

  5. 关于PLC的脉冲输出(S7-300)

    1.   关于脉冲输出 脉冲输出的方法有很多: 如果要产生占空比为50%的脉冲信号: ①     用S7-300PLC的时钟存储器 右键点击PLC,选中时钟存储器,默认存储字节为0. 各时钟存储器的周 ...

  6. K8s+Docker 学习笔记系列

    学前知识 你需要掌握 Linux 的常用命令.你可以通过Linux 教程 来学习相关命令. Docker应用场景 Web 应用的自动化打包和发布. 自动化测试和持续集成.发布. 在服务型环境中部署和调 ...

  7. Edge 访问网站强制HTTPS

    edge://net-internals/#hsts 1)開啟Edge chromium 瀏覽器,輸入edge://net-internals/#hsts,開啟設定介面2)找到 Delete doma ...

  8. pod进阶

    一.Lifecycle 官网:https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/ 通过前面的分享,关于pod是什么相信看 ...

  9. Java8中Stream()流的用法总结

    简单的集合遍历 foreach遍历 import java.util.ArrayList; import java.util.List; /** * @author rx * @date 2022/6 ...

  10. Unity ContentSizeFitter组件

    Content Size Fitter组件,它可以动态改变物体的宽高,但它有一个非常需要注意的点就是,它不是即时刷新,是帧末刷新,这个特性如果没注意会出现一个问题 就是你拿到加了这个组件的宽高本不是你 ...