我们正在为员工排班系统开展一些R& D,我知道有一些建议的算法,如模因算法等,但我在网上找不到任何其他信息。
有没有人知道任何研究期刊,或那些更好地解释这些算法的伪代码?
谢谢, 德万
答案 0 :(得分:11)
这是一份有用的文件:
Memetic Algorithms for Nurse Rostering (pdf)
它包含一些理论和伪代码。
调度问题是NP难的,通常使用遗传算法(GA)来解决 您可以从维基百科article
开始学习GA答案 1 :(得分:6)
您可能还想看一种名为“模拟退火”的技术。与遗传算法一样,这使用评估函数来确定候选解决方案的质量 - 但候选者的生成往往更简单。每种类型的算法在某些情况下都能提供更好的结果 - 从简短的谷歌调查来看,它感觉遗传具有优势,但退火将更快实施。
这是一份比较文件(针对不同的域,而非调度): http://www.ee.utulsa.edu/~tmanikas/Pubs/gasa-TR-96-101.pdf
我们在大型调度应用程序中使用了模拟退火,它确实运行良好。
说实话,如果员工人数少于40人,我建议给出名单的直观表示,并让用户最终确定时间表。也许您会使用算法来生成候选计划,然后让用户使用它。您仍然可以使用评估功能来检查用户的工作,并提供有关其解决方案有多好的反馈。
答案 2 :(得分:1)
在制定名册时间表时要考虑很多问题,因此aku关于遗传算法的提示是最好的。
您需要一个好的评估函数来确定此类算法的名单质量,您可以而且应该考虑以下内容(但不限于此):
答案 3 :(得分:0)
我在前一段时间看过these家伙的一张名册。
答案 4 :(得分:-1)
或者使用OR;)