遗传算法解决医院床位安排问题

基于遗传算法的医院床位优化设计
一、算法介绍:
遗传算法(Genetic Algorithm, GA)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。
其主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好的全局寻优能力;采用概率化的寻优方法,不需要确定的规则就能自动获取和指导优化的搜索空间,自适应地调整搜索方向。
遗传算法以一种群体中的所有个体为对象,并利用随机化技术指导对一个被编码的参数空间进行高效搜索。其中,选择、交叉和变异构成了遗传算法的遗传操作;参数编码、初始群体的设定、适应度函数的设计、遗传操作设计、控制参数设定五个要素组成了遗传算法的核心内容。

二、问题描述:
在给定时间段T内,有BP名已入住病人和WP名待入住的病人,每名病人的癌症类型和对于的治疗方案(即床位需求)已知,医院的各类病房数目和对应的病床数目已知,在BP病人收治完成的基础下,通过优化收治WP病人的首次住院时间,找到H段时间内,在满足医院同时收治病人数不大于床位总数这一基本前提下的最优WP入住方案,使得T时间段内的病床使用率得到优化。
三、求解模型:
1,目标函数
根据需求,模型的目标是使得T时间内的床位使用率尽可能高,故目标函数可设定为:
F=max⁡((∑_1^T▒〖Bed_i 〗)/(Bed_all*T)*100%)
其中,T为决策周期,Bedi为T时间内每天床位的使用数量(i=1,2,3…,T),Bedall为医院的总床数目。
2,初始条件设置
本论文设BP和WP病人的初始入住时间为决策周期T时间段任意日期,随机产生符合要求的时间范围。再根据实际情况的约束,将随机产生的时间范围进行规范化处理,得到满足模型需求的BP病人入住时间和WP病人入住时间范围。在此基础上对模型进行求解。
3.染色体编码
根据WP病人入住时间为周一到周日这一实际情况,本设计将采用整数编码的方式对染色体进行编码。对该问题进行编码,染色体长度为WP病人的数量,基因的数值i表示WP病人在第i天入住(i=1,2,3,…,T)。
4.初始化种群
根据设置的种群数量popnum,根据生成的WP病人入住时间范围,产生初始种群用于后续的遗传进化。
5.操作算子
对种群中的每个染色体应用选择算子,用于产生新子代,主要包含三个部分:
1)选择

本设计采用轮盘赌的选择方法,对每个染色体分别进行交叉和变异操作的选择,若符合条件这进行对应的操作。
2)交叉
交叉操作的频率被交叉概率的选取决定,频率越高,收敛到接近最优解的区域越快,但是为了防止过早的收敛,一般取值0.4—0.9,本设计遗传交叉概率取0.5。
3)变异
因为遗传中变异不是普遍存在的,所以本设计采用较小的变异概率0.1。
(5)终止条件
给定最大迭代次数MAXGEN,当算法迭代次数到达MAXGEN所规定的次数时,算法终止,本设计取MAXGEN=1000。
本设计的算法求解步骤:
STEP1:程序初始化,将该模型的各个参数初始化;
STEP2:根据规则,随机产生popnum个染色体,使种群初始化,并设置迭代次数计数器gen;
STEP3: 对种群进行交叉变异操作,产生子代。
STEP3:将子代和父代合并,计算整个种群每个个体的适应度;
STEP4:排序的方法选择适应度高的前popnum个个体作为下一代的父代
STEP4:判断是否满足gen<MAXGEN,若满足转到STEP3,否则停止计算,选择适应度最优的个体作为结果输出。
四、结果分析
1.GA模型参数
Maxgen=1000;(迭代次数)
popnum=20;(种群规模)
Pm1=0.5;(交叉概率)
Pm2=0.1;(变异概率)
2.结果分析
在这里插入图片描述
在这里插入图片描述

由图可知,随着迭代次数的增加床位利用率不断提高,最终在300代左右的时候目标函数值趋于稳定,其对应的染色体的编码就是最优的WP入住方案。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

蓝色洛特

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

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

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

打赏作者

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

抵扣说明:

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

余额充值