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. seleniumUI自动化学习记录

    2019.2.9 尝试了一个启动浏览器并打开指定网址的程序: 这里首先要注意的就是浏览器的版本和selenium jar包的版本必须符合才行,不然会报错 2019.9.16 必须要下载相应的chrom ...

  2. 冲刺总结-day7

    完成任务:前端设计 设计系统前端,利用html和css对登录页面和进入系统操作界面进行界面化设计,使系统看起来美观.简洁. 一.设计思路 利用HTML对整个网页页面进行布局和设计内容,使用CSS对每一 ...

  3. MP逻辑删除

    在实体类中加上@TableLogic注解 在配置类中加入逻辑删除插件

  4. Crypto入门 (五)混合编码

    前言: 这次得题目从本质上说没有什么难点,是多次利用base64和16进制编码,层层解开就好,通过这题得代码编写能很好得锻炼python代码能力,一起加油,尝试着自己写写看看把. 混合编码: 题目:J ...

  5. [Leetcode 701]二叉搜索树BST中插入元素

    题目 BST二叉搜索树中插入元素 二叉搜索树:左边<root<右边 https://leetcode.com/problems/insert-into-a-binary-search-tr ...

  6. loadrunner之录制脚本

    LoadRunner是一款性能测试软件,通过模拟真实的用户行为,通过负载.并发和性能实时监控以及完成后的测试报告,分析系统可能存在的瓶颈,LoadRunner最为有效的手段之一应该就是并发控制,通过在 ...

  7. 《Unix/Linux系统编程》第十周学习笔记

    <Unix/Linux系统编程>第十周学习笔记 块设备I/O和缓冲区管理 解释块设备I/O的原理和I/O缓冲的优点 I/O缓冲区:内核中的一系列NBUF缓冲区用作缓冲区缓存.每个缓冲区用一 ...

  8. 使用redis分布式锁重复执行采坑

    事件:生产环境部署两台,每天凌晨1点,定时任务同步更新(先删除,后全部插入)账号表,使用了redis分布式锁,发现定时任务还是执行了两次,导致数据重复,影响对应业务. 原因分析:定时任务执行的逻辑是调 ...

  9. 在目标服务器Centos7上安装 GitLab Runner

    1.安装提示: 注意:如果你打算通过gitlab-ci,将项目部署到"目标服务器"上,那么这个GitLab Runner就要提前安装到这个"目标服务器"上 (这 ...

  10. windows下配置JDK教程

    1.思路: 首先要确定所要用的应用可以兼容哪个版本jdk,然后开始下载对应的版本,最后安装,配置环境变量,测试,部署完成. 2.jdk下载地址: 如果下载全新的jdk可以直接百度jdk官网下载 如果需 ...