【调度】基于遗传算法实现医院资源静态和动态调度优化附matlab代码

简介: 【调度】基于遗传算法实现医院资源静态和动态调度优化附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法       神经网络预测       雷达通信      无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机

⛄ 内容介绍

FJSP算法操作说明:

1 静态数据表格(按照hospitaldata.xlsx文件格式填入预处理数据)

1.1病人表格

* 病人表格中包含病人个数,每位病人需要处理的时间长度和处理时占用的医疗资源,以及最早开始和最晚结束时间;

* 此处医疗资源填写的医疗资源类别,1是指医生,2是指护士,也可按实际情况增删

* 病人数量可以按实际情况增删

* 此表格中最早开始,最晚结束和处理时长都是以小时为单位,30分钟需要填写成0.5小时


1.2 医疗资源表格

* 此表格中代表医疗资源类别,与病人表格中对应

* 表格第一行第一列代表病人表格中1(医生)类别的个数

* 表格第一行第二列代表病人表格中2(护士)类别的个数

* 增加医疗资源类别时,需按顺序一次后续增加


1.3 医疗资源坐标表格

* 此表是对医疗资源表格的详细表达,即展示每种资源的坐标信息

2 动态数据表格(按照changedata.xlsx文件格式填入变动信息的数据)

(**重点:动态事件表格中的新增患者,删除患者,删除医疗资源 三个表格都能单独处理,而新增医疗资源表格需要和其他表格配合,因为没有患者增删等信息时,默认会按照静态方案执行)

2.1 新增患者表格

* 表格中包含病人个数,每位病人需要处理的时间长度和处理时占用的医疗资源,以及最早开始和最晚结束时间,与hospitaldata.xlsx文件中病人表格格式一致

* 此表格信息会累加到初始化病人数据信息中,譬如初始化病人个数是5,id标志是1,2,3,4,5,新增的2位患者的id标志将会是6和7

2.2 删除患者表格

* 此表格中包含需删除患者id信息和从该患者哪个任务开始进行删除

* 如果患者有4个待处理的任务,如果此表格中填写的处理阶段是2,则2,3,4三个任务都会删除掉,即从该任务开始,包含后续任务都会被删除(先默认如此)

* 如果需要删除的任务在已经在动态事件发生前处理或正在处理,则忽略此删除信息

2.3 新增医疗资源表格

* 此表格中包含新增资源的类别,和该类别新增的资源数量

* 新增资源的id会在已有资源的基础上累计,譬如原始资源信息是3位医生(在甘特图的id:1,2,3)和5位护士(在甘特图的id:4,5,6,7,8),如果新增2位医生,则对应甘特图的id信息为(9,10),再新增1位护士,则对应甘特图的id信息为11

2.4 删除医疗资源表格

* 此表格中包含删除资源的ID信息,此ID信息与甘特图中的纵坐标一致

* 如果在动态时刻开始前,该医疗资源已经处理和正在处理的任务将不受影响

⛄ 部分代码

%job_waittime 等待时间

%  

% 获取mac的个数

nb_mac = mac_max_num(mac);


% 获取job个数

job_num = length(job);


job_start = cell(1,job_num);

job_end = cell(1,job_num);

for i = 1:job_num

   job_start{i} = zeros(1, length(job{i}));

   job_end{i} = zeros(1, length(job{i}));

end


job_wait = zeros(1,job_num);


for i=1:nb_mac

   for j=1:length(mac_start{i})

       job_start{mac_serial{i}(j,1)}(mac_serial{i}(j,2)) = mac_start{i}(j);

       job_end{mac_serial{i}(j,1)}(mac_serial{i}(j,2)) = mac_end{i}(j);

   end

end

       

for k = 1:job_num

   for j = 2:length(job_start{k})

       if job_start{k}(j) > job_end{k}(j-1)

           job_wait(1,k) = job_wait(1,k) + job_start{k}(j) - job_end{k}(j-1);

       end

   end

end


end


⛄ 运行结果

⛄ 参考文献

[1]连芳. 基于遗传算法的自动化立体仓库调度优化研究[D]. 河北大学.

[2]杨晶, 曾斌. 基于遗传算法的维修任务调度优化及仿真[J]. 计算机工程, 2009, 35(18):4.

[3]于文超. 城市公共自行车系统智能调度优化算法研究[D]. 上海交通大学, 2015.

⛄ 完整代码

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料


相关文章
|
8天前
|
机器学习/深度学习 数据采集 算法
基于GA遗传优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真
本项目基于MATLAB2022a实现时间序列预测,采用CNN-GRU-SAM网络结构。卷积层提取局部特征,GRU层处理长期依赖,自注意力机制捕捉全局特征。完整代码含中文注释和操作视频,运行效果无水印展示。算法通过数据归一化、种群初始化、适应度计算、个体更新等步骤优化网络参数,最终输出预测结果。适用于金融市场、气象预报等领域。
基于GA遗传优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真
|
6天前
|
移动开发 算法 计算机视觉
基于分块贝叶斯非局部均值优化(OBNLM)的图像去噪算法matlab仿真
本项目基于分块贝叶斯非局部均值优化(OBNLM)算法实现图像去噪,使用MATLAB2022A进行仿真。通过调整块大小和窗口大小等参数,研究其对去噪效果的影响。OBNLM结合了经典NLM算法与贝叶斯统计理论,利用块匹配和概率模型优化相似块的加权融合,提高去噪效率和保真度。实验展示了不同参数设置下的去噪结果,验证了算法的有效性。
|
5天前
|
算法 决策智能
基于SA模拟退火优化算法的TSP问题求解matlab仿真,并对比ACO蚁群优化算法
本项目基于MATLAB2022A,使用模拟退火(SA)和蚁群优化(ACO)算法求解旅行商问题(TSP),对比两者的仿真时间、收敛曲线及最短路径长度。SA源于金属退火过程,允许暂时接受较差解以跳出局部最优;ACO模仿蚂蚁信息素机制,通过正反馈发现最优路径。结果显示SA全局探索能力强,ACO在路径优化类问题中表现优异。
|
10天前
|
传感器 算法
基于GA遗传优化的WSN网络最优节点部署算法matlab仿真
本项目基于遗传算法(GA)优化无线传感器网络(WSN)的节点部署,旨在通过最少的节点数量实现最大覆盖。使用MATLAB2022A进行仿真,展示了不同初始节点数量(15、25、40)下的优化结果。核心程序实现了最佳解获取、节点部署绘制及适应度变化曲线展示。遗传算法通过初始化、选择、交叉和变异步骤,逐步优化节点位置配置,最终达到最优覆盖率。
|
7天前
|
算法 数据安全/隐私保护
室内障碍物射线追踪算法matlab模拟仿真
### 简介 本项目展示了室内障碍物射线追踪算法在无线通信中的应用。通过Matlab 2022a实现,包含完整程序运行效果(无水印),支持增加发射点和室内墙壁设置。核心代码配有详细中文注释及操作视频。该算法基于几何光学原理,模拟信号在复杂室内环境中的传播路径与强度,涵盖场景建模、射线发射、传播及接收点场强计算等步骤,为无线网络规划提供重要依据。
|
20天前
|
机器学习/深度学习 算法
基于改进遗传优化的BP神经网络金融序列预测算法matlab仿真
本项目基于改进遗传优化的BP神经网络进行金融序列预测,使用MATLAB2022A实现。通过对比BP神经网络、遗传优化BP神经网络及改进遗传优化BP神经网络,展示了三者的误差和预测曲线差异。核心程序结合遗传算法(GA)与BP神经网络,利用GA优化BP网络的初始权重和阈值,提高预测精度。GA通过选择、交叉、变异操作迭代优化,防止局部收敛,增强模型对金融市场复杂性和不确定性的适应能力。
156 80
|
8天前
|
算法
基于龙格库塔算法的锅炉单相受热管建模与matlab数值仿真
本设计基于龙格库塔算法对锅炉单相受热管进行建模与MATLAB数值仿真,简化为喷水减温器和末级过热器组合,考虑均匀传热及静态烟气处理。使用MATLAB2022A版本运行,展示自编与内置四阶龙格库塔法的精度对比及误差分析。模型涉及热传递和流体动力学原理,适用于优化锅炉效率。
|
13天前
|
机器学习/深度学习 算法
基于遗传优化的双BP神经网络金融序列预测算法matlab仿真
本项目基于遗传优化的双BP神经网络实现金融序列预测,使用MATLAB2022A进行仿真。算法通过两个初始学习率不同的BP神经网络(e1, e2)协同工作,结合遗传算法优化,提高预测精度。实验展示了三个算法的误差对比结果,验证了该方法的有效性。
|
16天前
|
机器学习/深度学习 数据采集 算法
基于PSO粒子群优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真
本项目展示了基于PSO优化的CNN-GRU-SAM网络在时间序列预测中的应用。算法通过卷积层、GRU层、自注意力机制层提取特征,结合粒子群优化提升预测准确性。完整程序运行效果无水印,提供Matlab2022a版本代码,含详细中文注释和操作视频。适用于金融市场、气象预报等领域,有效处理非线性数据,提高预测稳定性和效率。
|
12天前
|
算法
基于梯度流的扩散映射卡尔曼滤波算法的信号预处理matlab仿真
本项目基于梯度流的扩散映射卡尔曼滤波算法(GFDMKF),用于信号预处理的MATLAB仿真。通过设置不同噪声大小,测试滤波效果。核心代码实现数据加载、含噪信号生成、扩散映射构建及DMK滤波器应用,并展示含噪与无噪信号及滤波结果的对比图。GFDMKF结合非线性流形学习与经典卡尔曼滤波,提高对非线性高维信号的滤波和跟踪性能。 **主要步骤:** 1. 加载数据并生成含噪测量值。 2. 使用扩散映射捕捉低维流形结构。 3. 应用DMK滤波器进行状态估计。 4. 绘制不同SNR下的轨迹示例。