[发明专利]一种基于蒙特卡洛遗传算法的高校排课方法有效
申请号: | 201810763134.7 | 申请日: | 2018-07-12 |
公开(公告)号: | CN109255512B | 公开(公告)日: | 2021-08-03 |
发明(设计)人: | 张贵军;陈安;谢腾宇;孙科;宋焦朋;魏遥;周晓根 | 申请(专利权)人: | 浙江工业大学 |
主分类号: | G06Q10/06 | 分类号: | G06Q10/06;G06Q50/20;G06N3/12 |
代理公司: | 杭州斯可睿专利事务所有限公司 33241 | 代理人: | 王利强 |
地址: | 310014 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种基于蒙特卡洛遗传算法的高校排课方法,首先对获取的班级、课程、老师、时间以及教室信息进行随机拼接形成一条时间条,然后,由多个满足约束条件的时间条来形成一个个体即课表,多个个体形成一个种群;选取当前种群最优适应度的个体,对该个体进行交叉变异,交叉过程中采用蒙特卡洛概率接收的方法;最后根据设定的迭代次数进行变换,以最后一代种群中的最优个体作为最终预测结果。本发明提供一种可以合理配置各种教学资源的高校排课方法。 | ||
搜索关键词: | 一种 基于 蒙特卡洛 遗传 算法 高校 方法 | ||
【主权项】:
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);否则表示已经满足最大迭代次数,表示种群优化结束。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江工业大学,未经浙江工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810763134.7/,转载请声明来源钻瓜专利网。
- 同类专利
- 专利分类
G06 计算;推算;计数
G06Q 专门适用于行政、商业、金融、管理、监督或预测目的的数据处理系统或方法;其他类目不包含的专门适用于行政、商业、金融、管理、监督或预测目的的处理系统或方法
G06Q10-00 行政;管理
G06Q10-02 .预定,例如用于门票、服务或事件的
G06Q10-04 .预测或优化,例如线性规划、“旅行商问题”或“下料问题”
G06Q10-06 .资源、工作流、人员或项目管理,例如组织、规划、调度或分配时间、人员或机器资源;企业规划;组织模型
G06Q10-08 .物流,例如仓储、装货、配送或运输;存货或库存管理,例如订货、采购或平衡订单
G06Q10-10 .办公自动化,例如电子邮件或群件的计算机辅助管理
G06Q 专门适用于行政、商业、金融、管理、监督或预测目的的数据处理系统或方法;其他类目不包含的专门适用于行政、商业、金融、管理、监督或预测目的的处理系统或方法
G06Q10-00 行政;管理
G06Q10-02 .预定,例如用于门票、服务或事件的
G06Q10-04 .预测或优化,例如线性规划、“旅行商问题”或“下料问题”
G06Q10-06 .资源、工作流、人员或项目管理,例如组织、规划、调度或分配时间、人员或机器资源;企业规划;组织模型
G06Q10-08 .物流,例如仓储、装货、配送或运输;存货或库存管理,例如订货、采购或平衡订单
G06Q10-10 .办公自动化,例如电子邮件或群件的计算机辅助管理