欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2018107631347
申请人: 浙江工业大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2023-12-11
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种基于蒙特卡洛遗传算法的高校排课方法,其特征在于,所述高校排课方法包括以下步骤:

1)编码:获取班级基本信息C={c1,c2,c3,…,cj,…,cn},课程基本信息W={w1,w2,w3,…,wh,…,wm},老师基本信息T={t1,t2,t3,…,tu,…,tv},上课时间信息D={d1,d2,d3,…,dy,…,dl}和教室基本信息P={p1,p2,p3,…,pr,…,pb},其中n表示班级的总数量,m表示课程总数量,v表示老师总数量,l表示上课时间的总数量,b表示教室的总数量,cj、wh、tu、dy、pr内的编码均由4个十进制的数构成。对于时间段dy编码时,dy=dy1dy2dy3dy4,将一天分为五个时间段,其中dy1表示课程这周第一次在周几上课,dy2表示课程第一次上课的时间段,dy3表示课程这周第二次在周几上课,dy4表示课程第二次上课的时间段,如dy=1225表示课程这周第一次上课时间为周一的第二节,第二次上课时间为周二的第五节。对于课程wh编码时,每个课程都有对应一天时间段上课效率值wh={wh1,wh2,wh3,wh4,wh5},其中wh1表示第一个时间段的课程上课效率值。对于老师tu编码时,每个老师都有对应一天时间段上课效率值tu={tu1,tu2,tu3,tu4,tu5}。通过对班级、课程、老师、上课时间和教室信息的分析和分类,最终以Ai=cj~wh~tu~dy~pr形式进行编码,其中Ai称作一个种群中第i个时间条,该时间条表示j班级在y时间段由u老师在r教室教授h课程,种群中个体由j*h个时间条构成;

2)个体的适应度函数如公式(1)所示,

其中fi=k1*fi1+k2*fi2+k3*fi3表示该个体中第i条时间条的适应度,其中

表示一 周内两次上课时间间 距的 影响,

表示一周内课程安排的影响,其中z1,z2分别表示dy2和dy4对应的时间段的

索引,如若dy2代表第二个时间段时,z1则为2,因此 则表示为wh2效率值,

表示一周内老师安排的影响,其中x1,x2分别表示dy2和dy4对应的时间段的索引,如若dy2代表第二个时间段时,x1则为2,因此 则表示为tu2效率值,k1,k2,k3表示其对应的权重;

3)种群初始化,过程如下:

种群规模NP,当前种群代数stage=1,变异概率为mutate,最大迭代次数为N,种群的约束条件:一个教师在同一时间段只能安排一门课程,一个班级在同一时间段只能安排一门课程,同一个教室在同一时间段只能安排一门课,教室的容量应该大于上课班级的人数;随机生成满足约束条件的初始种群Qinit={S1,S2,…,SNP},其中SNP表示第NP个课表,即个体;

4)种群交叉,过程如下:

4.1)计算当前种群Qcurrent中每个个体的适应度,选取最优个体Sbest;

4.2)在最优个体Sbest中随机选取一条时间条SbestArandom,再从种群的其它个体中随机选取时间条SotherAotherrandom,将两个时间条中的上课时间dy和教室pr进行交换;

4.3)在最优个体Sbest中,判断交换后的该个体中是否满足约束条件,若满足,继续执行下一步,若不满足,则返回步骤4.2);

4.4)计算交换后的个体适应度SbestFbehind与交换之前最优个体适应度SbestFfront之间的差值ΔFbehind-front=SbestFbehind-SbestFfront,若ΔFbehind-front>0,表示交叉得到较优的个体,接收作为下一代个体,其它个体不变,最终生成子代种群Qreproduct;若ΔFbehind-front<0,用蒙特卡洛概率 接收,其中KT是温度系数,若ZMonto>rand(0,1),则接收这次时间条的交换;否则,拒绝本次时间条交换;

5)种群变异,过程如下:

计算新生成的子代种群Qreproduct中每个个体的适应度,选取最优个体Sreproductbest,从最优个体中随机选取一条时间条SreproductbestArandom,若mutate>random(0,1),则从上课时间D和教室信息P中随机选取上课时间和教室信息重新对时间条SreproductbestArandom中的上课时间和教室信息进行组装;否则,不做操作;

6)更新当前种群代数stage=stage+1,判断如果stage<N,则返回步骤4);否则表示已经满足最大迭代次数,表示种群优化结束。