python 遗传算法 排课_基于遗传算法的校园排课方法与流程

本发明涉及教学管理技术领域,具体而言,尤其涉及一种基于遗传算法的校园排课方法。

背景技术:

随着新的高考政策落地,原有的学校教务系统已经不适合新高考政策的学校管理,此处高考政策的最大的变革就是采取3+3的模式,就是语、数、外三科基础学科,加上从历史、地理、政治、化学、物理、生物这六科当中任选的三科参加高考。在这样的背景下,学生们最多可出现20种选择,在“走班选课”成为常态的情况下,学生们几乎人手一张课表。学校根据学生选科结果,在校舍数量、师资配备、课程资源、设施设备等方面做好准备,确定课程安排和选课走班的办法。这也是学校对学生们的自主选择的尊重。

排课问题实际上指的是把学校里面的课程、教师和学生在适当的课节内分配到合适的上课地点内,是一个由多个因素影响的求整体最优解问题,也就是时间表问题。目前解决这一复杂的求解问题,主要有模拟退火算法、寻优搜索,但是排课难度仍然较大。

技术实现要素:

根据上述提出的新高考改革制度下走班难、排课难、管理难的问题的技术问题,本发明的目的是提供一种基于遗传算法的校园排课方法。

本发明的目的是通过以下技术方案实现的:

基于遗传算法的校园排课方法,包括如下步骤:

(1)确定每周上课的节数、授课教师的位数、以及年级的班级数量;

(2)建立直角坐标系XYZ,X轴为上课节数,其轴上等间距设有数个点,每个点代表上课的节数;Y轴为教师的数量,其轴上等间距设有数个点,每个点代表一位教师;Z轴为班级的数量,其轴上等间距设有数个点,每个点代表一个班级;

(3)每个三维坐标确定一个小方块构成一个个体基因,每个个体基因赋予其值,值为0或1,具体公式如下:

a、b、c均取值整数,且不为0,其中a的最大值为每周上课的总节数,b的最大值为授课教师的总数,c的最大值为班级的总数;

(4)给全部的个体基因赋值后对个体基因进行约束得到排课信息。

进一步地,对所述个体基因进行时间间隔、重要度和教师要求评价。

进一步地,所述评价是按照以下评价模型进行模型,

DepCost(j)为班级相同课程之间的间隔代表的赋值,PriCost(j)班级课程重要程度代表的赋值,ReqCost(j)代表教师要求代表的赋值。

进一步地,所述DepCost(j)代表班级相同课程之间的间隔的赋值有0、10、15、20和30,其中0为同一天;10为相邻连天,间隔时间小于等于2;15为相邻两天,间隔时间大于2;20为间隔2~3天;30为间隔1天。

进一步地,所述PriCost(j)代表班级课程重要程度的赋值有4、3、2和1。

进一步地,所述ReqCost(j)代表教师要求的赋值有4、2和0。

进一步地,所述个体基因的赋值总和在20~100。

进一步地,所述个体基因的赋值总和为30。

进一步地,所述约束包括:

约束a:Y坐标和Z坐标确定,ΣXiYZ=1与Y教师在一周内给Z班上课次数相同;

约束b:如果Y坐标和X坐标确定,ΣXYZj≤1;

约束c:如果X坐标和Z坐标确定,ΣXYkZ≤1。

本发明提供的走班教学选排课系统将选课、走班课、基础课等所有的课程输入结果,与智能排课进行完美的结合,通过排课规则的智能设定,经过微调,基本实现排课结果零冲突,呈现给用户计划课程表及实时课程表这两张立体课表,再结合调课请假及课堂考勤解决走班教学的管理难题。

附图说明

图1为本发明的流程结构示意图。

具体实施方式

如图1所示,本实施例提供的基于遗传算法的校园排课方法包括如下步骤:

(1)确定每周上课的节数、授课教师的位数、以及年级的班级数量,授课教师对应授课的课程是确定的;

(2)建立直角坐标系XYZ,X轴为上课节数,其轴上等间距设有数个点,每个点代表上课的节数,例如一天7节课,一周35节,则X包括1~35个点;Y轴为教师的数量,其轴上等间距设有数个点,每个点代表一位教师;Z轴为班级的数量,其轴上等间距设有数个点,每个点代表一个班级;

(3)每个三维坐标确定一个小方块构成一个个体基因,每个个体基因赋予其值,值为0或1,具体公式如下:

a、b、c均取值整数,且不为0,其中a的最大值为每周上课的总节数,b的最大值为授课教师的总数,c的最大值为班级的总数;

所述个体基因的赋值总和范围在20~100,其值越小排课速度越快,则多样性越弱,一般个体基因赋值总和为30,为避免冲突,可在提前给个体基因随机赋予0或1的值;

(4)给全部的个体基因赋值后对个体基因进行约束得到初始排课信息;

所述约束包括:约束a:Y坐标和Z坐标确定,ΣXiYZ=1与Y教师在一周内给Z班上课次数相同;

约束b:Y坐标和X坐标确定,ΣXYZj≤1;

约束c:X坐标和Z坐标确定,ΣXYkZ≤1。

对初始排课信息进行评价,获取更优的排课信息,对所述个体基因评价的因数包括时间间隔、重要度和教师要求。

对班级相同课程之间的时间间隔赋值有0、10、15、20和30,其中0为同一天;10为相邻连天,间隔时间小于等于2;15为相邻两天,间隔时间大于2;20为间隔2~3天;30为间隔1天。

所述重要度是指主要的课程根据其上课时间端的不同为重要度赋权值,按照时间顺序,每日四个时间段重要度的权值为4、3、2和1。

所述教师要求是指教师所代表的课程希望在那个时间段上课,如何符合则赋权值4,若不符且在同在上午或者下午,则赋权值2,如不符且时间间隔远,则赋权值0。

所述评价是按照以下评价模型进行模型,

DepCost(j)为班级相同课程之间的间隔代表的赋值,PriCost(j)班级课程重要程度代表的赋值,ReqCost(j)代表教师要求代表的赋值。

当发生冲突时,使用交叉模型进行交换,其交叉模型的运行步骤(1)从待交叉个体基因中选择两个个体基因;(2)产生0~1随机数,决定两个体基因是否交叉,若随机数小于设定的交叉数,则进行交叉,若大于等于,则将返回上一步。

交叉后产生新的个体基因,通过变异模型对其变异,具体实现:(1)产生0~1之间随机数,判断是否需要变异,如果随机数小于的设定变异数,执行第二步,否则,保留该个体;(2)1~a(a表示时间隔数)之间随机整数m和n,交换X坐标为m和n,而Y、Z坐标相同的个体基因。

以上所述仅是本发明优选的实施方式,但本发明的保护范围并不局限于此,任何基于本发明所提供的技术方案和发明构思进行的改造和替换都应涵盖在本发明的保护范围内。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值