课程表的自动安排应该属于排程软件。
排程软件在很多行业都有专业的应用,比如我们熟悉的主球比赛。
在2017年,中超公司不再使用此前的蛇形、贝格尔法排定中超联赛赛程,而是启用了最新型软件,根据设定的100多个小项条件,最终生成2017中超赛程。这套软件在NFL、英超、德甲等被普遍使用,有着比较理想的效果。
最近几年来,中国足协和中超公司一直在改进赛程的编排方式,甲A时代和中超初期用的是蛇形排列,此前几年使用过贝格尔法。不过,这些编排方式都不能满足中超日益增多的“特殊情况”。2017赛季,中国足协和中超公司决定引进最为新型的软件,赛程全部由电脑来生成。
在编排赛程之前,中超公司根据各俱乐部上报的特殊情况、亚冠赛程、是否是全运会年等,确定了20个左右的大项条件,每个大项条件中又包括了多个小项条件,这些小项条件加在一起多达100多项。
各位看官可能非常关心这些条件到底包括哪些。比如:1、亚冠球队如果是客战亚冠,那么当轮中超就安排主场;2、一支球队不能连续打三个主场;3、一支球队不能连续打三个客场;4、东北球队开始阶段需要安排客场;5、同一个电视信号制作商的两支或以上球队不能同时打主场(例如河南建业和河北华夏幸福);6、同城中超球队尽量不安排同时打主场,比如上海、天津、广州等;7、场地有特殊安排的队伍在相关时间段不能安排主场比赛;8、全运会等举办城市的队伍在赛期不能安排主场比赛;9、必须保证第一轮和第十六轮各自8场比赛主客场调换……
当然,最经典最为人们所熟知的排程软件还是制造业的生产规划及高级排程系统(APS),APS指的是利用先进的信息科技及规划技术,例如遗传算法﹝Genetic Algorithm﹞、限制理论﹝Theory of Constraints﹞、运筹学 ﹝Operations Research﹞、生产仿真﹝Simulation﹞及限制条件满足技术﹝Constraint Satisfaction Technique﹞等,在考虑企业资源﹝主要为物料与产能﹞限制条件与生产现场的控制与派工法则下,规划可行的物料需求计划与生产排程计划,以满足顾客需求及面对竞争激烈的市场。
最后,至于说课程表,其算法及约束条件相比我们上面说的肯定要简单的多,所以软件实现是非常容易的。只是,课程表一般制定后可以连续用多年,不会频繁制定,靠人工来排就可以了,所以这类软件相对来说没有太大的需求市场。另一方面,学校一般也不会为了排课程这件事,专门拿出费用来做这件事。所以,市面上一般没有太好的课程排程软件,大多是个人作品。