c++如何实现排课系统的算法

c++如何实现排课系统的算法,第1张

我的想法是……

1.首先把最难弄的老师排上,就是说她教的班多,限制多。(这步的实际 *** 作就是把排课顺序按照班数排序)

2.随机安排课(当然要根据人类习惯,您总不能让他一天上七节课),安排方式为先满足部分人需求(当然不太公平),然后剩下的补空

3.这剩下的部分人可能因为班级的关系出现重课的问题,没有关系,先把他安排上去,用repeat循环逐层更改被冲突对象的课节(最后可以选把美术音乐等老师,他们安排到下午的话上午比较好换)

具体跟据实际来定。。……我乱讲讲。这是我的想法模型。

不会写就不写嘛,找个排课的软件,修改下就行了:

我不知道怎样破解源程序,但能根据一些排课软件做点点外科手术:

我到用了一个到现在我认为最好用的排课软件,是测试版的,能导出表格,

排课相当方便。

虽然未注册版本有限制功能,但能导出一个全校总表。

我用EXECL做了一个转换文件,把总表转成个人课表,班课表及个人工作量计算表。

算是补齐了导出限制功能。就算是破解吧。

排课算法是一个复杂程度相当高的算法,穷举是行不通的。不同的班级,不同的教师的课程纵横交错,不可能对每一种组合一一穷举。一间不到三十个班的学校,其课程组合的数量级常常超过整个宇宙质子数的总和。

但在这么多的课程组合中,找出“相对合理”的课程组合,满足学校、教师、学生的要求是可行的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7951330.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存