本发明属于数据处理技术领域,具体来说是一种基于局部搜索算法的医院排课方法。
背景技术:
大量企业依然采用人工排课方式,通过excel利用阶梯式思想排课,这种排课方式极为死板,如果新增一门课程,需要将排课结果清空重来,且容易产生时间、空间、人员三者之前的冲突问题。也有部分企业采用了自动化排课系统,但仅局限于课程数量少,学员人数少,课程之间无关联性这些条件下,无法满足企业复杂的实际排课需求。
技术实现要素:
1.发明要解决的技术问题
本发明的目的在于解决现有的施肥装置难以自动计算施肥量来判断施肥量是否满足需求的问题。
2.技术方案
为达到上述目的,本发明提供的技术方案为:
本发明的一种基于局部搜索算法的医院排课方法,分别获取医院的排课时间数据t、教室数量j、课程数量c、导师数量d和学生数量x,匹配建立教室-时间、课程-导师、学生三个数据集合,对教室-时间、课程-导师、学生三个数据集合进行随机两两合并,并对合并产生的组合进行条件检测,当符合条件检测时记录该组合,统计所有符合条件检测的组合数量l,当l=c*x时,停止计算,输出组合集,该组合集为最终结果。
优选的,所述条件检测具体为判断导师同一天内上课地点相同且教室-时间、课程-导师、学生三个数据集合不冲突。
优选的,所述方法具体包括如下步骤:
s100、数据收集,收集医院的排课时间数据t、教室数量j、课程数量c、导师数量d和学生数量x;
s200、降维处理,建立教室-时间、课程-导师、学生三个数据集合;
s300、合并检测,对教室-时间、课程-导师、学生三个数据集合进行随机两两合并,并对合并产生的组合进行条件检测,当符合条件检测时记录该组合,进行步骤s500,当不符合条件检测时删除该组合,继续合并进行条件检测,当全部不满足条件检测时,进行步骤s400;
s400、重新设定排课时间数据为t加1,执行步骤s100;
s500、计算记录的组合数量l,当l<c*x时,继续执行s300,当l=c*x时,停止计算,输出组合集,该组合集为最终结果。
优选的,所述排课时间数据t具体为排课时间t周。
3.有益效果
采用本发明提供的技术方案,与现有技术相比,具有如下有益效果:
本发明的一种基于局部搜索算法的医院排课方法,分别获取医院的排课时间数据t、教室数量j、课程数量c、导师数量d和学生数量x,匹配建立教室-时间、课程-导师、学生三个数据集合,对教室-时间、课程-导师、学生三个数据集合进行随机两两合并,并对合并产生的组合进行条件检测,当符合条件检测时记录该组合,统计所有符合条件检测的组合数量l,当l=c*x时,停止计算,输出组合集,该组合集为最终结果。与现有技术相比,本发明为了使用各种复杂环境,内置了多种变量,供使用者自行调整。在局部计算中搜索最优值,最大程度确保排课结果的适用性。本算法通过降维、下探等措施,尽可能的减少了迭代次数,大大减少了耗时。
具体实施方式
为了便于理解本发明,下面对本发明进行更全面的描述,但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例,相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同;本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明;本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
实施例1
本实施例的一种基于局部搜索算法的医院排课方法,分别获取医院的排课时间数据t、教室数量j、课程数量c、导师数量d和学生数量x,匹配建立教室-时间、课程-导师、学生三个数据集合,对教室-时间、课程-导师、学生三个数据集合进行随机两两合并,并对合并产生的组合进行条件检测,当符合条件检测时记录该组合,统计所有符合条件检测的组合数量l,当l=c*x时,停止计算,输出组合集,该组合集为最终结果。
本实施例的条件检测具体为判断导师同一天内上课地点相同且教室-时间、课程-导师、学生三个数据集合不冲突。
本实施例的方法具体包括如下步骤:
s100、数据收集,收集医院的排课时间数据t、教室数量j、课程数量c、导师数量d和学生数量x;
s200、降维处理,建立教室-时间、课程-导师、学生三个数据集合;
s300、合并检测,对教室-时间、课程-导师、学生三个数据集合进行随机两两合并,并对合并产生的组合进行条件检测,当符合条件检测时记录该组合,进行步骤s500,当不符合条件检测时删除该组合,继续合并进行条件检测,当全部不满足条件检测时,进行步骤s400;
s400、重新设定排课时间数据为t加1,执行步骤s100;
s500、计算记录的组合数量l,当l<c*x时,继续执行s300,当l=c*x时,停止计算,输出组合集,该组合集为最终结果。
本实施例的排课时间数据t具体为排课时间t周。
与现有技术相比,本发明为了使用各种复杂环境,内置了多种变量,供使用者自行调整。在局部计算中搜索最优值,最大程度确保排课结果的适用性。本算法通过降维、下探等措施,尽可能的减少了迭代次数,大大减少了耗时。
以上所述实施例仅表达了本发明的某种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制;应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围;因此,本发明专利的保护范围应以所附权利要求为准。
1.一种基于局部搜索算法的医院排课方法,其特征在于:分别获取医院的排课时间数据t、教室数量j、课程数量c、导师数量d和学生数量x,匹配建立教室-时间、课程-导师、学生三个数据集合,对教室-时间、课程-导师、学生三个数据集合进行随机两两合并,并对合并产生的组合进行条件检测,当符合条件检测时记录该组合,统计所有符合条件检测的组合数量l,当l=c*x时,停止计算,输出组合集,该组合集为最终结果。
2.根据权利要求1所述的一种基于局部搜索算法的医院排课方法,其特征在于:所述条件检测具体为判断导师同一天内上课地点相同且教室-时间、课程-导师、学生三个数据集合不冲突。
3.根据权利要求2所述的一种基于局部搜索算法的医院排课方法,其特征在于,所述方法具体包括如下步骤:
s100、数据收集,收集医院的排课时间数据t、教室数量j、课程数量c、导师数量d和学生数量x;
s200、降维处理,建立教室-时间、课程-导师、学生三个数据集合;
s300、合并检测,对教室-时间、课程-导师、学生三个数据集合进行随机两两合并,并对合并产生的组合进行条件检测,当符合条件检测时记录该组合,进行步骤s500,当不符合条件检测时删除该组合,继续合并进行条件检测,当全部不满足条件检测时,进行步骤s400;
s400、重新设定排课时间数据为t加1,执行步骤s100;
s500、计算记录的组合数量l,当l<c*x时,继续执行s300,当l=c*x时,停止计算,输出组合集,该组合集为最终结果。
4.根据权利要求3所述的一种基于局部搜索算法的医院排课方法,其特征在于:所述排课时间数据t具体为排课时间t周。