首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态调度系统使用什么算法?

动态调度系统使用什么算法?
EN

Stack Overflow用户
提问于 2011-01-22 01:04:50
回答 4查看 3.1K关注 0票数 3

我计划开发一个专家系统,自动适应学校教员的工作量(时间,教学负荷等),并生成课程部分,房间至少90%的准确性与某个系主任想要分配的某个学期的时间表。

使用什么算法?启发式?优化?如有任何建议或帮助,我们将非常感谢!

EN

回答 4

Stack Overflow用户

发布于 2011-01-22 01:32:05

我的两个朋友为一个班级项目做了类似的事情。他们使用了simulated annealing启发式。他们得出结论,这可能不是完成这项工作的最佳工具。

嘿,知道什么不该做是很有用的,对吧?:)

票数 1
EN

Stack Overflow用户

发布于 2011-01-22 14:05:30

以下是一些一般性的观察结果:

1)很少尝试从头开始进行手动调度。相反,有人从前一年的时间表开始,并根据需求的变化对其进行修改。用计算机模拟这一过程的一种方法是使用爬山算法,到目前为止,该算法反复尝试一些小的改变来改进解决方案。然后,可以按照当前计划启动此工作。

2)手动过程是否会最终得出这样的结论:需求是集体无法实现的,并且其中一些需求必须被删除?在这种情况下,你的算法必须足够透明,以便故障能够被理解,或者至少能够提出这样的改变(例如,通过最大化惩罚函数,允许它产生一个不满足所有原始约束的“最小不良”解决方案)。我知道有一种情况,复杂的基于约束的方法被一种简单得多的算法所取代,因为基于约束的系统的故障没有给出足够的用户反馈。

3)奇怪的是,下一代系统根本没有使用复杂的调度。事实证明-粗略地说-在必须做出决策的时候,复杂的日程决策的所有后果都是可以预见的,从长远来看,一个简单的可预测的日程安排可以无限期地维持下去,比不断地重新安排日程安排来抓住短暂的小优势更有效率。

票数 1
EN

Stack Overflow用户

发布于 2011-02-03 23:42:53

看看Drools Plannercurriculum course lesson scheduling示例(恐怕是开源的java )。它使用元启发式算法,如simulated annealingtabu search

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4761593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档