CN114781806A - 基于多目标进化算法的多组合排课方法及装置及可读介质 - Google Patents
基于多目标进化算法的多组合排课方法及装置及可读介质 Download PDFInfo
- Publication number
- CN114781806A CN114781806A CN202210300601.9A CN202210300601A CN114781806A CN 114781806 A CN114781806 A CN 114781806A CN 202210300601 A CN202210300601 A CN 202210300601A CN 114781806 A CN114781806 A CN 114781806A
- Authority
- CN
- China
- Prior art keywords
- population
- class
- course
- chromosome
- chromosomes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 76
- 238000000034 method Methods 0.000 title claims abstract description 59
- 210000000349 chromosome Anatomy 0.000 claims abstract description 187
- 230000035772 mutation Effects 0.000 claims description 24
- 239000011159 matrix material Substances 0.000 claims description 22
- 238000004364 calculation method Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 10
- 108090000623 proteins and genes Proteins 0.000 claims description 9
- 238000012163 sequencing technique Methods 0.000 claims description 8
- 238000005457 optimization Methods 0.000 claims description 6
- 238000009395 breeding Methods 0.000 claims description 5
- 230000001488 breeding effect Effects 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 3
- 239000002131 composite material Substances 0.000 claims description 2
- 238000009396 hybridization Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 56
- 238000010586 diagram Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 8
- 238000012216 screening Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000011156 evaluation Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003203 everyday effect Effects 0.000 description 3
- 239000000126 substance Substances 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000002354 daily effect Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000002068 genetic effect Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000035 biogenic effect Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000002922 simulated annealing Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06315—Needs-based resource requirements planning or analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06316—Sequencing of tasks or work
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/20—Education
- G06Q50/205—Education administration or guidance
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Health & Medical Sciences (AREA)
- Tourism & Hospitality (AREA)
- Educational Administration (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Operations Research (AREA)
- General Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Educational Technology (AREA)
- Genetics & Genomics (AREA)
- Physiology (AREA)
- Primary Health Care (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于多目标进化算法的多组合排课方法、装置及可读介质,通过根据选课信息和学生综合能力将学生分类至各个行政班,根据多组合排课要求将学生课程分为走班课程和非走班课程,将具有相同的走班课表行政班分为多个组;基于走班课程和非走班课程进行种群初始化,获得父代种群,父代种群经过种群交叉及种群变异产生子代种群,将父代种群和子代种群合并得到合种群;将合种群中每条染色体进行多目标函数值计算,得到多目标值元组,建立与合种群中染色体一一对应的多目标值元组列表;并采用多目标进化算法迭代种群,重复上述步骤直至满足进化截止条件,得到最优排课方案。本发明从多个目标维度对排课方案进行整合优化,使课表更加合理。
Description
技术领域
本发明涉及智能排课领域,具体涉及一种基于多目标进化算法的多组合排课方法、装置及可读介质。
背景技术
高考作为承接高中教育和大学教育的桥梁,既承担着检验高中生学业能力的考核任务,也肩负着为高等教育筛选和输送人才的使命。在以高中生选科改革为突破口背景下,教育部持续推行着高考改革,截止2022年,已经有广东、江苏、福建等8省实行“3+1+2”模式。
“3+1+2”模式包括国家统一高考语文、数学、外语3门必修科目,及考生自主选择的普通高中学业水平选择性考试3门选修科目。其中,选择性考试科目包括物理、化学、生物、政治、历史、地理6门科目,考生首先在历史、物理2门科目中自主选择1门作为首选考试科目,然后在化学、生物、政治、地理4门科目中自主选择2门作为再选考试科目。
由于“3+1+2”选课模式下,相比传统文理分科,具有了更多选课组合的情况,经过对传统高中学生的选课调查,各种选课组合的学生人数差别较大,如果按照传统分班方法将相同选课组合学生划分到同一班中集体上课,将出现班级人数不均,年级教室不足、师资协调困难等情况,因此走班上课模式应运而生。例如在同一班级中,必修科目在本班级所属教室上课,选修科目根据课表安排,学生移动到指定教室上课。在本方法中,需要学生走班上课的课程为化学、生物、政治、地理四门,之后统称为走班课程。此外,由于教室资源有限性、师生需求的多样性,显著增加了走班课表排课的复杂性,远远超过手动排课所能完成的范围,对教务老师是非常大的挑战,因此需要运用一定的计算机技术,通过设计合理的排课算法实现走班课表的生成。目前针对走班排课的算法有:禁忌搜索算法、模拟退火算法等。
现有技术存在的一些不足体现在:
1.在考虑走班课程组合时,没有很好的适配到“3+1+2”模式,特别是在“物理、历史”二选一这一特殊改革方案点;
2.采用传统进化算法时,面对多个评价指标,依靠经验设计权值,将它们组合为单一目标的方法限制了染色体的筛选,缺少多维度、有针对性的的优化方案,因此在保留精英个体、扩大搜索解空间范围上存在局限性。
3.分配学生所属走班班级的方法不完善,缺乏对学生学习能力的综合考量。
发明内容
针对上述提到的如何针对“3+1+2”模式下走班课表提出适配的解决方法、如何保证种群多样性前提下,从多个目标维度优化课表,使课表更具有扩展性以及如何平衡同一走班教室内学生们的学习能力等问题。本申请的实施例的目的在于提出了一种基于多目标进化算法的多组合排课方法、装置及可读介质,来解决以上背景技术部分提到的技术问题。
第一方面,本申请的实施例提供了一种基于多目标进化算法的多组合排课方法,包括以下步骤:
S1,根据选课信息和学生综合能力将学生分类至各个行政班,根据多组合排课要求将学生课程分为走班课程和非走班课程,基于同一组内的所有行政班采用相同的走班课表将行政班分为多个组;
S2,基于走班课程和非走班课程进行种群初始化,获得父代种群,父代种群经过种群交叉及种群变异产生子代种群,将父代种群和子代种群合并得到合种群;
S3,将合种群中每条染色体进行多目标函数值计算,得到每条染色体的多目标值元组,并建立与合种群中染色体一一对应的多目标值元组列表;
S4,基于多目标值元组列表采用多目标进化算法迭代种群,重复步骤S2-S4直至满足进化截止条件,得到最优排课方案。
在具体的实施例中,步骤S2中基于走班课程和非走班课程进行种群初始化,具体包括:
S21,采用三维矩阵形式对染色体进行编码,三维矩阵中包含多个坐标点(x,y,z),其中,x表示当前年段的班级序号,y表示当前课程在一周内的星期数,z表示当前课程在当天的节次,在排课过程中,将教师、科目和课时数拼接成字符串表示为一个基因块,基因块与对应的坐标点建立映射关系;
S22,基于走班课程的教学安排对走班课程对应的染色体进行初始化,得到走班课表,并分别填入对应组内所有行政班的三维矩阵的坐标点中;
S23,根据非走班课程的优先级和教学安排对非走班课程对应的染色体进行初始化,得到非走班课表,并分别填入步骤S22得到的三维矩阵的坐标点中的剩余空位处。
在具体的实施例中,步骤S22和步骤S23中的初始化过程中均包括:构建具有随机顺序的天次列表,根据教学安排中的教学计划课时数得到上课时数,根据上课时数按顺序选取天次列表得到上课课时安排,并根据随机数确定上课节次,响应于产生冲突则重新随机生成上课节次。
在具体的实施例中,步骤S2中的父代种群经过种群交叉及种群变异产生子代种群具体包括:
在父代种群随机选择两条染色体,根据交叉概率判断是否执行交叉操作,若是则在多个组的行政班中随机选择其中一组,并交换两条染色体上其中一组的行政班内的所有课表,将交换产生的新染色体加入到子代种群中,重复交叉操作直至子代种群规模达到2T/3为止,T为种群规模;
在父代种群中随机选择一条染色体,根据变异概率判断是否执行变异操作,若是则循环遍历每个行政班的每一天,根据变异概率判断是否将当天的两节非走班课程互换,若是则生成新的染色体,将变异产生的新染色体加入到子代种群中,重复变异操作直至子代种群规模达到T为止。
在具体的实施例中,步骤S3中具体包括:
采用下式计算硬约束目标函数值:
F1=(h1+h2)×Pv;
其中,h1为该课表中出现同一老师在同一时间出现在不同班级上课的次数,h2为出现同一班级同一课程在一周内安排了不同老师上课的次数,Pv为每次违反的惩罚值;
采用下式计算软约束目标函数值:
其中,X为班级总数,Y为一周上课天数,Z为一天的上课节数,qxyz为班级x在星期y的第z节课所上课程,ωqz代表课程q在第z节课上课时的权值;
同一染色体的不同目标函数值构成该染色体的多目标值元组;
将每条染色体的多目标值元组按照合种群中对应染色体顺序进行排列,得到与合种群中染色体一一对应的多目标值元组列表。
在具体的实施例中,步骤S4中的多目标进化算法包括NSGA-Ⅱ算法、NSGA-Ⅲ算法或PSO算法;当多目标进化算法为NSGA-Ⅱ算法时,步骤S4中的基于多目标值元组列表采用多目标进化算法迭代种群,具体包括:
S41,基于染色体间的支配关系将合种群划分为多个非支配集:
Pmerge={P1∪P2∪…∪Pn∪…∪Pm},
其中,Pmerge为合种群,P1、P2、…、Pn、…、Pm为非支配集;
S42,在非支配集内基于多目标值元组列表计算不同染色体的拥挤距离,拥挤距离的计算公式为:
其中,n为多目标函数值的个数,Fki表示染色体Xi的第k个目标函数值,Fk(i+1)表示按照染色体Xi的第k个目标函数值排序后处于染色体Xi后一个染色体的第k个目标函数值,Fk(i-1)表示按照染色体Xi的第k个目标函数值排序后处于染色体Xi前一个染色体的第k个目标函数值,分别表示当前非支配集内所有染色体的第k个目标函数值的最大值和最小值;
S43,根据非支配集的排序和非支配集内不同染色体的拥挤距离进行种群的选择。
在具体的实施例中,种群的选择方式包括精英保留、二元锦标赛、随机选择和轮盘赌中的一种或多种,选择出下一代种群进行迭代,迭代过程中采用基于Pareto最优化的方法找到最优染色体,重复步骤S2-S4,不断迭代直至进化代数达到预设值Ge或者当前最优染色体保持了0.1Ge代,输出最优排课方案。
第二方面,本申请的实施例提供了一种基于多目标进化算法的多组合排课装置,包括:
分类模块,被配置为根据选课信息和学生综合能力将学生分类至各个行政班,根据多组合排课要求将学生课程分为走班课程和非走班课程,基于同一组内的所有行政班采用相同的走班课表将行政班分为多个组;
种群获取模块,被配置为基于走班课程和非走班课程进行种群初始化,获得父代种群,父代种群经过种群交叉及种群变异产生子代种群,将父代种群和子代种群合并得到合种群;
多目标函数值计算模块,被配置为将合种群中每条染色体进行多目标函数值计算,得到每条染色体的多目标值元组,并建立与合种群中染色体一一对应的多目标值元组列表;
迭代模块,被配置为基于多目标值元组列表采用多目标进化算法迭代种群,重复执行种群获取模块至迭代模块直至满足进化截止条件,得到最优排课方案。
第三方面,本申请的实施例提供了一种电子设备,包括一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法。
第四方面,本申请的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。
相比于现有技术,本发明具有以下有益效果:
(1)本发明创新性地提出多目标进化算法来解决“3+1+2”模式下走班排课问题的方案,并且可以延伸扩展至多种组合排课的模式。
(2)本发明针对“3+1+2”模式,在排课前先根据学生选课情况、学习能力等综合因素进行行政班分配与分组,确保同一走班教室内学生具有相近的学习能力。
(3)本发明采用多目标进化算法实现在多目标维度上对课表的进化迭代,保证种群多样性前提下,通过种群内个体的支配关系以及拥挤度,结合精英保留等筛选策略,快速优化迭代出最优排课方案。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请的一个实施例可以应用于其中的示例性装置架构图;
图2为本发明的实施例的基于多目标进化算法的多组合排课方法的流程示意图;
图3为本发明的实施例的基于多目标进化算法的多组合排课方法的整体流程框图;
图4为本发明的实施例的基于多目标进化算法的多组合排课方法的分班分组的流程示意图;
图5为本发明的实施例的基于多目标进化算法的多组合排课方法的三维矩阵形式的染色体编码示意图;
图6为本发明的实施例的基于多目标进化算法的多组合排课方法的多目标值元组及选择策略的示意图;
图7为本发明的实施例的基于多目标进化算法的多组合排课装置的示意图;
图8为本发明的实施例的基于多目标进化算法的多组合排课方法的最优排课方案;
图9是适于用来实现本申请实施例的电子设备的计算机装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1示出了可以应用本申请实施例的基于多目标进化算法的多组合排课方法或基于多目标进化算法的多组合排课装置的示例性装置架构100。
如图1所示,装置架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种应用,例如数据处理类应用、文件处理类应用等。
终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上传的文件或数据进行处理的后台数据处理服务器。后台数据处理服务器可以对获取的文件或数据进行处理,生成处理结果。
需要说明的是,本申请实施例所提供的基于多目标进化算法的多组合排课方法可以由服务器105执行,也可以由终端设备101、102、103执行,相应地,基于多目标进化算法的多组合排课装置可以设置于服务器105中,也可以设置于终端设备101、102、103中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。在所处理的数据不需要从远程获取的情况下,上述装置架构可以不包括网络,而只需服务器或终端设备。
图2示出了本申请的实施例提供的一种基于多目标进化算法的多组合排课方法,包括以下步骤:
S1,根据选课信息和学生综合能力将学生分类至各个行政班,根据多组合排课要求将学生课程分为走班课程和非走班课程,基于同一组内的所有行政班采用相同的走班课表将行政班分为多个组。
在具体的实施例中,参考图3,本申请的实施例中以高中“3+1+2”选课方式为例,根据学生综合信息,进行行政班的分配分组,走班排课过程中,在为学生分配班级及课表时,考虑到学生的选课组合多样化,为了能够平衡相同教室内学生的学习能力,同时针对“3+1+2”选课的特点,采取如图4所示的分班分组方式,具体步骤如下:
由于在“3+1+2”模式下,学生需要在“物理/历史”中二选一,因此将所有学生分为物理、历史两类,按照物理、历史的选课人数比和教室数量划分行政班,再根据各类学生数量和班级数量计算出各个行政班内分配到的学生人数。
由于高中选课发生在高二及高三阶段,因此在汇总学生高一阶段的综合能力水平后,在物理、历史两类班级中各自排序,根据排序将学生划分到各个行政班中,至此每个学生都归属于各自的行政班内。
由于相邻班级中学生的综合能力相近,因此可以将行政班分为若干组。同一组内的所有行政班采用相同的走班课表,非走班课表各班级不尽相同,在走班课程上课时,选择该课程的同学移步到本组的开课教室上课,非走班课程在各自行政班中上课。
本申请的实施例提出的分班方案可以根据各校自身教学特色、考核指标、教学资源等实际情况进一步调整,目标都为保证同一班级内的学生具有相近的学习能力,便于教师制定教学计划和学生完成课程学习。
S2,基于走班课程和非走班课程进行种群初始化,获得父代种群,父代种群经过种群交叉及种群变异产生子代种群,将父代种群和子代种群合并得到合种群。
在具体的实施例中,步骤S2中基于走班课程和非走班课程进行种群初始化,具体包括:
S21,采用三维矩阵形式对染色体进行编码,三维矩阵中包含多个坐标点(x,y,z),其中,x表示当前年段的班级序号,y表示当前课程在一周内的星期数,z表示当前课程在当天的节次,在排课过程中,将教师、科目和课时数拼接成字符串表示为一个基因块,基因块与对应的坐标点建立映射关系;
S22,基于走班课程的教学安排对走班课程对应的染色体进行初始化,得到走班课表,并分别填入对应组内所有行政班的三维矩阵的坐标点中;
S23,根据非走班课程的优先级和教学安排对非走班课程对应的染色体进行初始化,得到非走班课表,并分别填入步骤S22得到的三维矩阵的坐标点中的剩余空位处。
具体地,采用如图5所示的三维矩阵形式,对染色体进行编码,X轴上每个单位长度表示当前年段的每个班级,Y轴表示一周的上课天数,Z轴为当天上课的节数。初始化一个空的三维矩阵M,填入方式就是M[i,j,k]=字符串;例如一个字符串“016_2_6”可以表示编号为016的教师,教授科目2(数学),一周上6节课,这个字符串便是一个基因块,把它放入一个三维矩阵中,比如放到矩阵坐标为(1,2,3)的位置:M[1,2,3]=“016_2_6”。三维矩阵的形式如下所示:
[[[111,112,113],
[121,122,016_2_6]],
[[211,212,213],
[221,222,223]],
[[311,312,313],
[321,322,323]]]
M[1,2,3]=“016_2_6”表明,编号为016的教师会在1班,周二,当天第3节课上课,所上课程的科目为2,课时为6小时。当然也可以从最内部括号开始读取节次、天次、班级。
在具体的实施例中,步骤S22和步骤S23中的初始化过程中均包括:构建具有随机顺序的天次列表,根据教学安排中的教学计划课时数得到上课时数,根据上课时数按顺序选取天次列表得到上课课时安排,并根据随机数确定上课节次,响应于产生冲突则重新随机生成上课节次。
具体地,由于学生的课程分为走班课程“化学、生物、地理、政治”和非走班课程“语文、数学、外语、历史、物理”,对于学校本身提供的“美术、音乐、体育”等课程也一律归类为非走班课程,并且走班课程为同组行政班共同上课,因此对走班课程和非走班课程的初始化有所不同,先进行走班课表初始化,再进行非走班课表初始化。
E1、走班课表初始化:针对具体行政班的四门走班课程,根据教学计划对应的课时数,尽可能均匀的分散到一周中的每天,即将每个课程所对应的基因填入三维矩阵中。由于同组行政班共享同一份走班课表,因此根据步骤S1中确定的行政班分组数量生成对应数量的走班课表,随后复制到同组内的各个行政班课表中,完成走班课表的初始化。
E2、走班课表初始化:经过步骤E1后,三维矩阵中每个班级都填充了走班课程,开始对剩余空缺位置填入非走班课程。针对具体行政班,开始对逐个非走班课程排课,排课顺序依据非走班课程的重要程度(“语数英”>“物理/历史”>“体育等课程”),重要程度高的课程优先排课,重要程度相同的随机选择,结合该课程的教学课时数,尽可能均匀的填充到一周中的每天。在按照班级顺序逐个填充后,将得到一个完整的三维矩阵,进而完成了一条染色体的初始化。
重复步骤E1-E2直至生成的染色体数量达到设定好的种群规模T为止,至此完成了种群初始化过程,生成的种群称为父代种群。
在具体的实施例中,步骤S2中的父代种群经过种群交叉及种群变异产生子代种群具体包括:
在父代种群随机选择两条染色体,根据交叉概率判断是否执行交叉操作,若是则在多个组的行政班中随机选择其中一组,并交换两条染色体上其中一组的行政班内的所有课表,将交换产生的新染色体加入到子代种群中,重复交叉操作直至子代种群规模达到2T/3为止,T为种群规模;
在父代种群中随机选择一条染色体,根据变异概率判断是否执行变异操作,若是则循环遍历每个行政班的每一天,根据变异概率判断是否将当天的两节非走班课程互换,若是则生成新的染色体,将变异产生的新染色体加入到子代种群中,重复变异操作直至子代种群规模达到T为止。
具体地,种群交叉通过随机两条染色体和其上的某一位点,交换双方位点所在的课表组合,从而生成两条新的染色体,并将其加入到子代种群中。种群变异通过随机选择某条染色体,遍历染色体上的每个班级,随机选择同一班级内的两节非走班课程,执行交换变异生成一条新的染色体,加入到子代种群中。本申请的实施例中涉及到的交叉概率、变异概率可以采取固定值,也可以更改为自适应策略,通过所选染色体的多目标函数值相对于整个种群的优劣自适应更改交叉、变异的概率,同理种群数量的大小也可根据当前种群整体多目标函数值的波动情况实现自适应调整。
S3,将合种群中每条染色体进行多目标函数值计算,得到每条染色体的多目标值元组,并建立与合种群中染色体一一对应的多目标值元组列表。
在具体的实施例中,步骤S3中具体包括:
采用下式计算硬约束目标函数值:
F1=(h1+h2)×Pv;
其中,h1为该课表中出现同一老师在同一时间出现在不同班级上课的次数,h2为出现同一班级同一课程在一周内安排了不同老师上课的次数,Pv为每次违反的惩罚值;
采用下式计算软约束目标函数值:
其中,X为班级总数,Y为一周上课天数,Z为一天的上课节数,qxyz为班级x在星期y的第z节课所上课程,ωqz代表课程q在第z节课上课时的权值;
同一染色体的不同目标函数值构成该染色体的多目标值元组;
将每条染色体的多目标值元组按照合种群中对应染色体顺序进行排列,得到与合种群中染色体一一对应的多目标值元组列表。
具体地,对合种群中的每条染色体,从多个维度计算目标函数值,例如硬约束目标函数值F1、软约束目标函数值F2等。多目标函数值的设定可不局限于软、硬约束,亦可以从其他需求方面考虑。如图6所示为同一染色体的不同目标函数值构成这一染色体的多目标值元组(Fh,Fs),采用基于Pareto最优化的方法,为后续构造非支配集,并使非支配集通过迭代不断逼近最优Pareto边界,找到最优染色体,为最优排课方案提供评价基础。
S4,基于多目标值元组列表采用多目标进化算法迭代种群,重复步骤S2-S4直至满足进化截止条件,得到最优排课方案。
在具体的实施例中,步骤S4中的多目标进化算法包括NSGA-Ⅱ算法、NSGA-Ⅲ算法或PSO算法;当多目标进化算法为NSGA-Ⅱ算法(带精英策略的非支配排序的遗传算法)时,步骤S4中的基于多目标值元组列表采用多目标进化算法迭代种群,具体包括:
S41,基于染色体间的支配关系将合种群划分为多个非支配集:
Pmerge={P1∪P2∪…∪Pn∪…∪Pm},
其中,Pmerge为合种群,P1、P2、…、Pn、…、Pm为非支配集;
S42,在非支配集内基于多目标值元组列表计算不同染色体的拥挤距离,拥挤距离的计算公式为:
其中,n为多目标函数值的个数,Fki表示染色体Xi的第k个目标函数值,Fk(i+1)表示按照染色体Xi的第k个目标函数值排序后处于染色体Xi后一个染色体的第k个目标函数值,Fk(i-1)表示按照染色体Xi的第k个目标函数值排序后处于染色体Xi前一个染色体的第k个目标函数值,分别表示当前非支配集内所有染色体的第k个目标函数值的最大值和最小值;
S43,根据非支配集的排序和非支配集内不同染色体的拥挤距离进行种群的选择。
具体地,多目标值元组列表的形式为[(12,45),(44,13),(65,21)…],将所有染色体的多目标值元组(F1,F2)按染色体顺序组成的列表形式,方便后续查找、计算。计算不同染色体的拥挤距离时,需要根据每个染色体自身的多目标值元组(F1,F2)中各个元素综合计算得出拥挤距离。例如:染色体I1的目标值元组为(10,50),表示染色体I1的第一个目标函数值F1=10,第二个目标函数值为F2=50,则计算染色体I1的拥挤距离的过程如下:
对每个染色体遍历并将它们的拥挤距离初始化为0;
比如当前为染色体I1,遍历该染色体I1的每个目标函数值,比如先遍历其第一个目标函数F1;
将所有染色体按照F1值进行排序,比如此时染色体I1排在第6个位置;
则染色体I1的拥挤距离=(排在第5位染色体Im的F1值+排在第7位染色体In的F1值)/所有染色体的F1值范围,即执行归一化操作;
然后开始对I1的第二个目标函数F2进行循环;
根据各染色体多目标值元组中的F1,F2值,从而计算得到所有染色体的拥挤距离。
在具体的实施例中,种群的选择方式包括精英保留、二元锦标赛、随机选择和轮盘赌中的一种或多种,选择出下一代种群进行迭代,迭代过程中采用基于Pareto最优化的方法找到最优染色体,重复步骤S2-S4,不断迭代直至进化代数达到预设值Ge或者当前最优染色体保持了0.1Ge代,输出最优排课方案。
具体地,合并父代种群与子代种群得到合种群Pmerge,由步骤S3计算得到父代种群和子代种群中每条染色体的多目标值元组,将该元组按照合种群Pmerge中对应染色体顺序进行排列,得到与合种群Pmerge中染色体一一对应的多目标值元组列表。
将合种群Pmerge分为m个非支配集P1∪P2∪…∪Pn∪…∪Pm,其中每个非支配集内的染色体都不被后一个非支配集内的染色体所支配,非支配集P1内保留着当前种群的最优染色体。
在同一非支配集Pi内,计算不同染色体的拥挤距离,并将非支配集内的染色体按照拥挤距离从大到小排序,即优先考虑拥挤距离大或者聚集密度小的染色体。
如图6所示,采用精英保留、二元锦标赛等策略选择出下一代种群,之后重复步骤S2至步骤S4直至满足迭代截至条件,导出当前种群的最优染色体,即输出最优排课方案。
本申请的实施例中采用的多目标进化算法不仅限于NSGA-Ⅱ算法,还可以用NSGA-Ⅲ、PSO算法等替代,涉及的种群选择方案,不仅限于精英保留、二元锦标赛策略,还可以通过随机选择、轮盘赌等策略实现,涉及的多目标函数评价指标,也可根据学校的排课需求进行增减,例如增加评价课程间隔的目标函数等。
进一步参考图7,作为对上述各图所示方法的实现,本申请提供了一种基于多目标进化算法的多组合排课装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
本申请实施例提供了一种基于多目标进化算法的多组合排课装置,包括:
分类模块1,被配置为根据选课信息和学生综合能力将学生分类至各个行政班,根据多组合排课要求将学生课程分为走班课程和非走班课程,基于同一组内的所有行政班采用相同的走班课表将行政班分为多个组;
种群获取模块2,被配置为基于走班课程和非走班课程进行种群初始化,获得父代种群,父代种群经过种群交叉及种群变异产生子代种群,将父代种群和子代种群合并得到合种群;
多目标函数值计算模块3,被配置为将合种群中每条染色体进行多目标函数值计算,得到每条染色体的多目标值元组,并建立与合种群中染色体一一对应的多目标值元组列表;
迭代模块4,被配置为基于多目标值元组列表采用多目标进化算法迭代种群,重复执行种群获取模块至迭代模块直至满足进化截止条件,得到最优排课方案。
实施例
基于高中普遍的教育资源及生源情况,本实施例中一周内的上课时间为周一至周五,每天8节课,同一年段的教室资源为12个。走班课程为“生物、化学、地理、政治”,非走班课程为“语文,数学,英语,历史/物理,体育,自习”。
步骤1:根据学生综合信息,进行行政班的分配分组。
本年段共有学生545人,其中选择物理的同学有285人,选择历史有260,根据物理和历史的学生人数比例以及总教室数量12个,确定分班为:物理、历史各6班,每班人数在43到48范围内,本实施例中采用穿插式排班,将奇数班级定为物理班,偶数班级定为历史班。
根据学生的选课组合结合学生在本年级之前的考核成绩、表现水平等综合因素,加权计算后进行排序得到物理序列名单和历史序列名单。随后按照已分配好的班级容量进行学生的行政班划分,得到学生与班级多对一的分班表,每个学生都定好各自所属班级情况。
本分班方法仅作为学校的一种分班建议,实际在方案实施中可根据具体实情再做调整,目的是为保证同一班级内的学生有相近的学习能力,利于教师教学设计及有针对性的补足加强。
本实施例中采用目前高中普遍的分组方式,将所有班级分为三组,对应的各组内行政班为:拔尖组(物理1、3班,历史2、4班),平行组(物理5、7班,历史6、8班),提高组(物理9、11班,历史10、12班),同一组内的所有行政班采用相同的走班课表,非走班课程各班级独立上课。
步骤2:构建初始化种群。
采用如图5所示的三维矩阵形式,对染色体进行编码。X轴上每个单位长度表示当前年段的每个班级,Y轴表示一周的上课天数,Z轴为当天上课的节数,例如:坐标(6,3,3)定位到6班在星期三的第3节课。实际算法中会初始化一个三维矩阵,在每个坐标点内填入空字符串占位。在之后的排课中,会将“教师+科目+课时数”等信息拼接成字符串来表示一个基因块,并填入到对应的坐标点中。
由于走班课程为同组行政班共同上课,因此对走班课程和非走班课程的初始化有所不同,先进行走班课表初始化,再进行非走班课表初始化。首先将四门走班课程的排课顺序随机打乱后,按顺序逐个选出进行排课;然后用1-5表示周一至周五,构成一个天次列表dayList,随机打乱列表顺序,根据当前走班课程的教学计划课时数,从天次列表dayList中按顺序循环选取,构成了一周内该课程的上课天次;最后具体当天的上课节次由随机数确定,若冲突则重新随机。例如首先排生物课,随机打乱天次列表得到dayList=[3,2,4,5,1],根据生物教学计划的安排,生物要求的课时数为6,按顺序循环选取天次列表得到生物的上课课时安排为:周三两节,其余每天一节,最后根据随机数确定安排在当天的第几节课。若当天课程排满,则根据dayList按顺序选取下一天次,若随机的节次上已安排课程,则重新随机生成节次,从而完成生物课的走班课表。由于将班级分为三组,因此初始化三组走班课表,分别填入对应组内所有班级的三维矩阵中。经过以上步骤,三维矩阵中每个班级都填充了走班课程,剩余空字符串处将填入非走班课程。非走班课程的排课方式与走班课程相同,冲突的处理方法也一样。区别在于非走班课程较多,需要按照非走班课程的重要程度决定非走班课程排课的优先级。例如在“语文”、“物理”中优先安排语文课程,在“语文”、“数学”中随机选择课程进行排课。在按照班级顺序逐个填充后,将得到一个完整的三维矩阵,进而完成了一条染色体的初始化。重复上述步骤直至生成的染色体数量达到设定好的种群规模T为止,至此完成了种群初始化过程,生成的种群为父代种群。
步骤3:种群交叉、变异产生子代种群。
在父代种群中随机选择两条染色体,根据交叉概率判断是否执行交叉操作。在执行交叉操作时,在三组行政班中随机选择一组,交换两条染色体上该组行政班内的所有课表。例如随机选择了平行班,则交换两条染色体上平行班的所有课表。将交换产生的两条新染色体加入到子代种群中,重复交叉操作直至子代种群规模达到2T/3为止。
在父代种群中随机选择一条染色体,根据变异概率判断是否执行变异操作。在执行变异操作时,循环遍历每个班级的每一天,根据变异概率判断是否将当天的两节非走班课互换,从而生成新的染色体。将新染色体加入到子代种群中,重复变异操作直至子代种群规模达到T为止。
步骤4:多目标函数值计算。
在本案例中,采用惩罚值的设计思路,数值越小,代表该课表越合理。为此设计了两个目标F1、F2,对应的计算公式为:
硬约束目标函数值:F1=(h1+h2)×Pv;
其中,h1为该课表中出现同一老师在同一时间出现在不同班级上课的次数,由于采用三维编码的方式排课,因此避免了出现同一班级同一时间安排了两节课的现象,h2为出现同一班级同一课程在一周内安排了不同老师上课的次数,Pv为每次违反的惩罚值;
其中,X为班级总数,Y为一周上课天数,Z为一天的上课节数,qxyz为班级x在星期y的第z节课所上课程,ωqz代表课程q在第z节课上课时的权值,它的定值根据课程属性以及当天的上课时段来设定,可以参考表1:
表1
目标函数值的设定可不局限于软、硬约束,亦可以从其他需求方面考虑。如图6所示同一染色体的不同目标值构成这一染色体的目标值元组(Fh,Fs),采用基于Pareto最优化的方法,为后续构造非支配集,并使非支配集通过迭代不断逼近最优Pareto边界,找到最佳染色体,为最佳排课方案提供评价基础。
步骤5:调用多目标进化算法迭代种群。
由于本实施例中,设定的目标数不大于5,便采用NSGA-Ⅱ算法(带精英策略的非支配排序的遗传算法)作为多目标进化算法。合并父代种群与子代种群得到合种群Pmerge,由步骤4计算得到得父代种群和子代种群中每条染色体的多目标值元组(Fh,Fs),将其与合种群Pmerge中染色体按照一一对应的序列构成多目标值元组列表。
根据染色体间的支配关系构建非支配集,若染色体Xi的所有目标函数值都不比染色体Xj的差,并且Xi存在至少一个目标函数值优于Xj,则认为染色体Xi支配染色体Xj,染色体Xi为非支配的,Xj为被支配的。
构建非支配集,便是在将合种群Pmerge进行子集划分的过程:
a.将当前种群P的所有非支配的染色体筛选出来,构成子集P1;
b.将子集P1从种群P中剥离后得到剩余种群P′;
c.重复步骤a,b直至所有染色体都被分到子集中去。
此时Pmerge={P1∪P2∪…∪Pn∪…∪Pm},其中每个子集内的染色体都不被后一个子集内的染色体所支配,并且当前种群的最优染色体存在于子集P1内,划分完成后所有的子集为非支配集。
对于一个子集内的染色体Xi,需要用到拥挤距离D[i]来表示它的拥挤程度,用于评判它和子集内其他染色体的优劣。对于同一个子集内的所有染色体,会按照不同的目标函数值由小到大进行多次排序,为保证差异最大的边界个体能够被选择,只要染色体在任意一次排序中处于序列的开始/结尾位置,则将该染色体的拥挤距离设为无穷大。
拥挤距离的计算公式为:
其中,n为多目标函数值的个数,本实施中,n=2,Fki表示染色体Xi的第k个目标函数值即Fk值。Fk(i+1)表示按照Fk值排序后处于染色体Xi后一个染色体的Fk值,同理Fk(i-1)为前一个染色体的Fk值,分别表示当前子集内所有染色体Fk值的最大值和最小值。
根据构建的非支配集和计算的拥挤距离,从而将合种群Pmerge中每条染色体都标记上了所属非支配集序号和自身的拥挤距离。
新种群的初步筛选采用精英保留策略:预设种群规模T,然后按照非支配集的序号从小到大选择非支配集。假设当非支配集Pn加入到选择序列后,新构成的种群内染色体数量刚好超过种群规模T时,开始对非支配集Pn内的染色体进行筛选。
再次筛选采用二元锦标赛策略对非支配集Pn内染色体进行筛选:随机选择非支配集Pn内的两条染色体,比较两者的拥挤距离,将拥挤距离大的染色体加入到新种群中。重复锦标赛选择直至新的种群规模达到T为止。由此,产生了新一代的父代种群。
重复步骤3至步骤5,直至满足进化截止条件:进化代数达到预设值Ge=1000或者当前最优个体保持了0.1Ge代时,输出当前种群的最优的染色体,通过解码得到最优排课方案。在本实施例中,最终输出得到的课表方案如图8所示。
本申请的实施例面向“3+1+2”模式下的高中选课方案提出了一种先分班再排课的方案,充分利用该模式的选课特点以及学生的综合信息进行分班分组。再运用多目标进化算法,保证课表种群多样性的前提下,从多个目标维度对排课方案进行整合优化,从而得到更为合理的班级划分及更为科学的排课方案。
下面参考图9,其示出了适于用来实现本申请实施例的电子设备(例如图1所示的服务器或终端设备)的计算机装置900的结构示意图。图9示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图9所示,计算机装置900包括中央处理单元(CPU)901和图形处理器(GPU)902,其可以根据存储在只读存储器(ROM)903中的程序或者从存储部分909加载到随机访问存储器(RAM)904中的程序而执行各种适当的动作和处理。在RAM 904中,还存储有装置900操作所需的各种程序和数据。CPU 901、GPU902、ROM 903以及RAM904通过总线905彼此相连。输入/输出(I/O)接口906也连接至总线905。
以下部件连接至I/O接口906:包括键盘、鼠标等的输入部分907;包括诸如、液晶显示器(LCD)等以及扬声器等的输出部分908;包括硬盘等的存储部分909;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分910。通信部分910经由诸如因特网的网络执行通信处理。驱动器911也可以根据需要连接至I/O接口906。可拆卸介质912,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器911上,以便于从其上读出的计算机程序根据需要被安装入存储部分909。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分910从网络上被下载和安装,和/或从可拆卸介质912被安装。在该计算机程序被中央处理单元(CPU)901和图形处理器(GPU)902执行时,执行本申请的方法中限定的上述功能。
需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读介质或者是上述两者的任意组合。计算机可读介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的装置、装置或器件,或者任意以上的组合。计算机可读介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行装置、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行装置、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的装置来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:根据选课信息和学生综合能力将学生分类至各个行政班,根据多组合排课要求将学生课程分为走班课程和非走班课程,基于同一组内的所有行政班采用相同的走班课表将行政班分为多个组;基于走班课程和非走班课程进行种群初始化,获得父代种群,父代种群经过种群交叉及种群变异产生子代种群,将父代种群和子代种群合并得到合种群;将合种群中每条染色体进行多目标函数值计算,得到每条染色体的多目标值元组,并建立与合种群中染色体一一对应的多目标值元组列表;基于多目标值元组列表采用多目标进化算法迭代种群,重复上述步骤直至满足进化截止条件,得到最优排课方案。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种基于多目标进化算法的多组合排课方法,其特征在于,包括以下步骤:
S1,根据选课信息和学生综合能力将学生分类至各个行政班,根据多组合排课要求将学生课程分为走班课程和非走班课程,基于同一组内的所有行政班采用相同的走班课表将所述行政班分为多个组;
S2,基于走班课程和非走班课程进行种群初始化,获得父代种群,所述父代种群经过种群交叉及种群变异产生子代种群,将所述父代种群和所述子代种群合并得到合种群;
S3,将所述合种群中每条染色体进行多目标函数值计算,得到每条染色体的多目标值元组,并建立与所述合种群中染色体一一对应的多目标值元组列表;
S4,基于所述多目标值元组列表采用多目标进化算法迭代种群,重复步骤S2-S4直至满足进化截止条件,得到最优排课方案。
2.根据权利要求1所述的基于多目标进化算法的多组合排课方法,其特征在于,所述步骤S2中基于走班课程和非走班课程进行种群初始化,具体包括:
S21,采用三维矩阵形式对染色体进行编码,所述三维矩阵中包含多个坐标点(x,y,z),其中,x表示当前年段的班级序号,y表示当前课程在一周内的星期数,z表示当前课程在当天的节次,在排课过程中,将教师、科目和课时数拼接成字符串表示为一个基因块,所述基因块与对应的坐标点建立映射关系;
S22,基于所述走班课程的教学安排对所述走班课程对应的染色体进行初始化,得到走班课表,并分别填入对应组内所有行政班的三维矩阵的坐标点中;
S23,根据所述非走班课程的优先级和教学安排对所述非走班课程对应的染色体进行初始化,得到非走班课表,并分别填入步骤S22得到的三维矩阵的坐标点中的剩余空位处。
3.根据权利要求2所述的基于多目标进化算法的多组合排课方法,其特征在于,所述步骤S22和步骤S23中的初始化过程中均包括:构建具有随机顺序的天次列表,根据教学安排中的教学计划课时数得到上课时数,根据所述上课时数按顺序选取天次列表得到上课课时安排,并根据随机数确定上课节次,响应于产生冲突则重新随机生成上课节次。
4.根据权利要求1所述的基于多目标进化算法的多组合排课方法,其特征在于,所述步骤S2中的所述父代种群经过种群交叉及种群变异产生子代种群具体包括:
在所述父代种群随机选择两条染色体,根据交叉概率判断是否执行交叉操作,若是则在多个组的行政班中随机选择其中一组,并交换两条染色体上其中一组的行政班内的所有课表,将交换产生的新染色体加入到所述子代种群中,重复交叉操作直至所述子代种群规模达到2T/3为止,T为种群规模;
在父代种群中随机选择一条染色体,根据变异概率判断是否执行变异操作,若是则循环遍历每个行政班的每一天,根据变异概率判断是否将当天的两节非走班课程互换,若是则生成新的染色体,将变异产生的新染色体加入到所述子代种群中,重复变异操作直至所述子代种群规模达到T为止。
5.根据权利要求2所述的基于多目标进化算法的多组合排课方法,其特征在于,所述步骤S3中具体包括:
采用下式计算硬约束目标函数值:
F1=(h1+h2)×Pv;
其中,h1为该课表中出现同一老师在同一时间出现在不同班级上课的次数,h2为出现同一班级同一课程在一周内安排了不同老师上课的次数,Pv为每次违反的惩罚值;
采用下式计算软约束目标函数值:
其中,X为班级总数,Y为一周上课天数,Z为一天的上课节数,qxyz为班级x在星期y的第z节课所上课程,ωqz代表课程q在第z节课上课时的权值;
同一染色体的不同目标函数值构成该染色体的多目标值元组;
将每条染色体的多目标值元组按照所述合种群中对应染色体顺序进行排列,得到与所述合种群中染色体一一对应的多目标值元组列表。
6.根据权利要求1所述的基于多目标进化算法的多组合排课方法,其特征在于,所述步骤S4中的所述多目标进化算法包括NSGA-Ⅱ算法、NSGA-Ⅲ算法或PSO算法;当所述多目标进化算法为NSGA-Ⅱ算法时,所述步骤S4中的基于所述多目标值元组列表采用多目标进化算法迭代种群,具体包括:
S41,基于染色体间的支配关系将所述合种群划分为多个非支配集:
Pmerge={P1∪P2∪…∪Pn∪…∪Pm},
其中,Pmerge为合种群,P1、P2、…、Pn、…、Pm为非支配集;
S42,在所述非支配集内基于多目标值元组列表计算不同染色体的拥挤距离,拥挤距离的计算公式为:
其中,n为多目标函数值的个数,Fki表示染色体Xi的第k个目标函数值,Fk(i+1)表示按照染色体Xi的第k个目标函数值排序后处于染色体Xi后一个染色体的第k个目标函数值,Fk(i-1)表示按照染色体Xi的第k个目标函数值排序后处于染色体Xi前一个染色体的第k个目标函数值,分别表示当前非支配集内所有染色体的第k个目标函数值的最大值和最小值;
S43,根据非支配集的排序和所述非支配集内不同染色体的拥挤距离进行种群的选择。
7.根据权利要求6所述的基于多目标进化算法的多组合排课方法,其特征在于,种群的选择方式包括精英保留、二元锦标赛、随机选择和轮盘赌中的一种或多种,选择出下一代种群进行迭代,迭代过程中采用基于Pareto最优化的方法找到最优染色体,重复步骤S2-S4,不断迭代直至进化代数达到预设值Ge或者当前最优染色体保持了0.1Ge代,输出最优排课方案。
8.一种基于多目标进化算法的多组合排课装置,其特征在于,包括:
分类模块,被配置为根据选课信息和学生综合能力将学生分类至各个行政班,根据多组合排课要求将学生课程分为走班课程和非走班课程,基于同一组内的所有行政班采用相同的走班课表将所述行政班分为多个组;
种群获取模块,被配置为基于走班课程和非走班课程进行种群初始化,获得父代种群,所述父代种群经过种群交叉及种群变异产生子代种群,将所述父代种群和所述子代种群合并得到合种群;
多目标函数值计算模块,被配置为将所述合种群中每条染色体进行多目标函数值计算,得到每条染色体的多目标值元组,并建立与所述合种群中染色体一一对应的多目标值元组列表;
迭代模块,被配置为基于所述多目标值元组列表采用多目标进化算法迭代种群,重复执行种群获取模块至迭代模块直至满足进化截止条件,得到最优排课方案。
9.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2022102239153 | 2022-03-07 | ||
CN202210223915 | 2022-03-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114781806A true CN114781806A (zh) | 2022-07-22 |
Family
ID=82425449
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210300601.9A Pending CN114781806A (zh) | 2022-03-07 | 2022-03-25 | 基于多目标进化算法的多组合排课方法及装置及可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114781806A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117574008A (zh) * | 2024-01-16 | 2024-02-20 | 成都泰盟软件有限公司 | 一种课程数据排布的处理方法、装置、服务器及存储介质 |
-
2022
- 2022-03-25 CN CN202210300601.9A patent/CN114781806A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117574008A (zh) * | 2024-01-16 | 2024-02-20 | 成都泰盟软件有限公司 | 一种课程数据排布的处理方法、装置、服务器及存储介质 |
CN117574008B (zh) * | 2024-01-16 | 2024-04-02 | 成都泰盟软件有限公司 | 一种课程数据排布的处理方法、装置、服务器及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109255512B (zh) | 一种基于蒙特卡洛遗传算法的高校排课方法 | |
CN109165799A (zh) | 基于遗传算法的走班教学排课系统 | |
CN108122179A (zh) | 分层教学排课方法和装置、分层教学选课方法和系统 | |
Page | On incentives and updating in agent based models | |
CN110503269A (zh) | 走班教学下的分班排课方法及装置 | |
Diveev et al. | Variational genetic algorithm for np-hard scheduling problem solution | |
Wen-jing | Improved Adaptive Genetic Algorithm for Course Scheduling in Colleges and Universities. | |
CN111539581A (zh) | 智能分班排课方法及系统 | |
Eiben et al. | Evolutionary computing: The origins | |
CN114781806A (zh) | 基于多目标进化算法的多组合排课方法及装置及可读介质 | |
Datta et al. | Multi-objective evolutionary algorithm for university class timetabling problem | |
CN113610678A (zh) | 基于启发式方法和自适应策略的新高考教学班分班方法 | |
Mirrazavi et al. | A two-phase multiple objective approach to university timetabling utilising optimisation and evolutionary solution methodologies | |
Thepphakorn et al. | A new multiple objective cuckoo search for university course timetabling problem | |
Xiang et al. | Exact and heuristic methods for a university course scheduling problem | |
Austero et al. | Solving course timetabling problem using Whale Optimization Algorithm | |
Hosny et al. | A mutation-based genetic algorithm for room and proctor assignment in examination scheduling | |
Sosa et al. | Genetic algorithm-based solution of multi-objective stochastic transportation problem | |
Ding | Prediction analysis of college Teachers’ happiness based on the graph convolutional network | |
Long | A genetic algorithm based method for timetabling problems using linguistics of hedge algebra in constraints | |
Yang et al. | Mathematical modeling and system design of timetabling problem based on improved GA | |
Aldasht et al. | University course scheduling using evolutionary algorithms | |
Zheng et al. | Course scheduling algorithm based on improved binary cuckoo search | |
Herath | Genetic Algorithm For University Course Timetabling Problem | |
Khandelwal et al. | Framework and Evolution of Task Orientation using Fuzzy and GA |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |