求----关于汽车加油站工作模拟算法

本文通过建立循环队列模型,模拟汽车加油站的工作流程,详细阐述了如何处理汽车排队、油泵工作状态以及监控结果输出这三个关键部分。利用随机数产生器模拟汽车到达,根据概率计算来车情况,并动态更新油泵工作状态。每隔固定时间输出当前队列和油泵状态,以观察模拟效果。
摘要由CSDN通过智能技术生成

       日常生活中的各种配对问题,是队列应用的典型例子.以加油站为例,假设某加油站有两台有泵,每台油泵的加油时间为d分钟,若已知该站的到车率为g分钟一辆,则该加油站的工作情况可用以下列队模型描述.

       定义一个循环队列,容量为M(足够大,不发生队列满的问题),用语组织等待加油的汽车序列.按照先到先加油的原则进行处理;整个模拟过车工内的时间为Time,每隔t分钟见空一次,获取并输出实际情况.

       出事状态设为:队列为空(front=rear=M),每台油泵为空闲(pump(1)=pump(2)=0),油泵未服务过(auto(1)=auto(2)=-1).

       整个问题可分为三部分:

       1)  汽车排队:已知一分钟来一辆车的概率为1/g,则每隔t分钟来一辆车的概率为t/g.由于来车的问题是随机的,因此,实际处理时,每隔t分钟产生一个随机数rnd,若它小于等于t/g,则认定有一辆车进站,应将它加入队列中.

       2)  油泵工作状态:用pump(i)表示第i(i=1,2)每抬油泵工作进程,用auto(i)表示第i台油泵的服务对象.则当第i台油泵开始为一辆车工作时,置pump9i0=d-t,以后每t分钟,令pump(i)=pump(i)-t.若pump(i)<0,说明第i台已完成加油工作,可以继续为下一辆车服务,因此,应从队列中取出一个元素继续处理;若队列为空,置pump(i)=0,表示空状态.

       3)  监控结果输出:每隔t分钟输出一次汽车队列现状和每台油泵的工作状态.输出空闲状态.

  • 当auto(i)>0时,若pump(i)>0表示油泵i正在为auto(i)加油;若pump(i)<0表示油泵i刚为auto(i)加完油;若pump(i)=0表示油泵i已经为auto(i)加完油.
  • 当auto(i)= -1时,表示油泵i尚未工作过.

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值