Algorithm 分配工作班次

Algorithm 分配工作班次,algorithm,Algorithm,我面临以下问题: 我(作为输入)有以下信息: 每种类型的可用班次数 每半小时的可用人员期望值 我正在寻找一种算法来帮助我完成这项任务。我可以很好地处理PHP代码,但是整个事情背后的想法有点。。。根本不存在 我会进一步解释这个问题 我有一套轮班安排,例如: 12班,每班4小时 10班,每班6小时 14班,8小时长 3班12小时的轮班制 我的要求是: 9:00我需要3个人工作 9:30 5人工作 10:00 16人工作 等等 现在我知道可能不可能100%编译需求,这是可以的。问题是要使用什么方法来实

我面临以下问题:

我(作为输入)有以下信息:

  • 每种类型的可用班次数
  • 每半小时的可用人员期望值
  • 我正在寻找一种算法来帮助我完成这项任务。我可以很好地处理PHP代码,但是整个事情背后的想法有点。。。根本不存在

    我会进一步解释这个问题

    我有一套轮班安排,例如:

    12班,每班4小时 10班,每班6小时 14班,8小时长 3班12小时的轮班制

    我的要求是: 9:00我需要3个人工作 9:30 5人工作 10:00 16人工作

    等等

    现在我知道可能不可能100%编译需求,这是可以的。问题是要使用什么方法来实现至少某种接近预期的结果


    先谢谢你。非常感谢您的帮助。

    您有什么需要优化的吗?例如,试图确保人们的工作时间大致相同?@seaotternerd通常的目标是尽量减少泄漏。@Klaslindbkäck这是目标是的。任何建议都欢迎。我自己从来没有认真考虑过。Wikipedia告诉我,一般形式的日程安排有点困难(NP难)。我想我实际上可以粗暴地执行整个任务,比如尝试所有可能的选项,输出3个最接近期望的结果,但是如果每天有100多名员工,效率就不会那么高。我很确定有某种数学方法可以解决整个问题,但我似乎找不到任何解释。