【排队模型】基于粒子群优化核酸检测排队问题附matlab代码

1 简介

xx大学现有师生员工3万余人,需要每天定期核酸检测,当需要采样人员过多时,一部分人就必须排队等待,采样结束的人员便离开检测场地。在不加人为干预的情况下,每一位需要核酸检测的人员来到场地的间隔时间服从参数为的泊松流;采样台的工作人员每隔1小时,需要时间10 min的休息时间,每人采样时间(不含排队时间)服从负指数分布,且平均需要30s,排队按照先来后到规则,队伍长度无限制。

问:

(1) 请分别以考虑降低时间成本(每个人的平均等待时间)和资源成本(采样台的数量)的前提下,建立数学模型,并进行分析。

(2) 假设采样台有N个,第i个需要核酸检测的人员可能的最长等待时间是多少?如果每个人最长等待时间不能超过40min,队伍长度不能超过多少人?

(3) 小张同学准备完善飞书功能,用来帮助学校更好的安排核酸检测时间。小张同学希望飞书可以向师生发送核酸检测通知,当师生接收到核酸检测的通知后就从办公室或宿舍出发前往操场,假设到达操场时间在10-30分钟,且服从均匀分布,又假设志愿者可以每隔15分钟向飞书反馈当前各个队列的排队人数。假设有10个采样台,并且既希望可以尽快让全校师生完成核酸检测任务,又希望让师生减少排队时间。你可以帮助小张同学设计实现该功能的算法吗?

​2 部分代码

clearclcclear global close allglobal index_0 para_relax index_1 para_space para_num use_record%% 数据输入%总人数num_man=30000;%平均等待时间y=mean(index_r(:,4)-index_r(:,8))+t/200;if error_1==1    y=10^9*t;endfigure()hist(index_r(:,4)-index_r(:,8))xlabel('等待时间')ylabel('频率')title('优化后')xlim([0 10])figure()hist(record_index_r{10}(:,4)-record_index_r{10}(:,8))xlabel('等待时间')ylabel('频率')title('优化前')figure()plot(index_r(:,4)-index_r(:,8))xlabel('序号')ylabel('等待时间/h')title('优化后')ylim([0 10])figure()plot(record_index_r{10}(:,4)-record_index_r{10}(:,8))xlabel('序号')ylabel('等待时间/h')title('优化前')disp(['优化后总消耗时间为',num2str(t)])disp(['优化前总消耗时间为',num2str(max(record_index_r

3 仿真结果

4 参考文献

[1]孙文兵, 彭跃辉. 基于PSO-SVR动态模型的车辆排队长度预测[J]. 计算机工程与应用, 2016, 000(002):239-243.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

  • 4
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天天Matlab科研工作室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值