Algorithm 工作人员排班算法

Algorithm 工作人员排班算法,algorithm,scheduling,rostering,Algorithm,Scheduling,Rostering,我们正在着手研发员工排班系统,我知道有一些建议的算法,如memetic算法等,但我在网上找不到任何其他信息 有人知道有什么研究期刊或伪代码能更好地解释这些算法吗 谢谢, Devan以下是一份有用的文档: 它包含一些理论和伪代码 调度问题是NP难问题,通常使用遗传算法(GA)进行求解。 你可以从维基百科[/P>>P]开始学习GA,在建立一个名册时间表时要考虑很多很多问题,所以AKU关于遗传算法的提示是最好的。 你需要一个很好的评估函数来确定这样一个算法的名册的质量,你可以并且应该考虑如下的事情(

我们正在着手研发员工排班系统,我知道有一些建议的算法,如memetic算法等,但我在网上找不到任何其他信息

有人知道有什么研究期刊或伪代码能更好地解释这些算法吗

谢谢,
Devan

以下是一份有用的文档:

它包含一些理论和伪代码

调度问题是NP难问题,通常使用遗传算法(GA)进行求解。

你可以从维基百科[/P>>P]开始学习GA,在建立一个名册时间表时要考虑很多很多问题,所以AKU关于遗传算法的提示是最好的。

你需要一个很好的评估函数来确定这样一个算法的名册的质量,你可以并且应该考虑如下的事情(但不限于):

  • 你用这个花名册解决了工作量问题了吗?(也就是说,你是否一直有足够的人在工作?)
  • 如果没有,你能承受后果吗?(对于医院来说,为了有足够的人吃午饭,你可能不得不一天推迟15分钟,或者只是稍微拖一点时间)
  • 考虑到每个人的轮班稳定性、休息日、周末是否有规律地休息等因素,花名册是一份好的名册吗
  • 名册合法吗?考虑到当地法规,这些法规规定了一个班次和另一个班次之间必须经过的时间(停机时间),每个人在给定的时间间隔(天、周、月)内可以工作多少

    • 您可能还想了解一种称为“模拟退火”的技术。与遗传算法一样,它使用一个评估函数来确定候选解的质量——但候选解的生成往往更简单。每种类型的算法在某些情况下都能给出更好的结果——从谷歌的一项简短调查中可以看出,遗传算法具有优势,但退火算法的实现速度更快

      这是一份比较报告(针对不同的领域,而不是计划):

      我们已经在一个大型调度应用程序中使用了模拟退火,并且效果很好


      老实说,如果工作人员数量少于40人,我建议提供名册的可视化表示,并让用户最终确定时间表。也许您可以使用一个算法来生成一个候选时间表,然后让用户使用它。您仍然可以使用评估功能检查用户的工作,并反馈他们的解决方案有多好。

      或使用;)

      不久前,我读了一篇盖伊的排班算法论文。

      -1尽管问题与运筹学有关,但仅仅提及或不详述都不是答案。这就像说为什么不使用人工智能、数学或算术,我感到很尴尬。但是为了我的辩护,OR是alink,并且有一个关于问题域没有任何限制的简短问题,很难给出详细的答案。是的,作为惩罚,你需要找到一些好的GA示例代码并发布链接;-)好吧,为什么停下来,我通常更喜欢混合动力车:但现在我们遇到了商业上的事情,所以我最好保持安静。