小编Sir*_*ing的帖子

解决存储问题的最佳方法

在可能的日子里找到最合适的团队组成。一组n位参与者(k天),一个团队有m个位置。参与者指定他想加入多少天以及他有空的时间。

结果约束:

  1. 参加者参加的活动不得超过他们想要的时间
  2. 参与者不得在没有空的日子里安排。
  3. 算法应尽力包括尽可能多的唯一参与者。
  4. 如果当天的参与者少于m人,则不会安排一天。

我发现自己每周都会为足球队的调度工作手动解决此问题,并且我确定有一种聪明的程序化方法可以解决此问题。目前,我们认为每周只有2天,而同事要写下他们想参加的一天的名字,结果每天都有很多大名单,不可能取悦所有人。

我考虑了一种新方法,其中每个同事都写下自己的名字,每周要玩的时间以及有空的日子,例如以下示例:

Kane 3 1 2 3 4 5
Run Code Online (Sandbox Code Playgroud)

上一行表示,凯恩本周想参加3次比赛,并且周一至周五都可以上班。第一个数字代表比赛天数,第二个数字代表可用天数(1到7,周一至周日)。

参加人数少于m(在我的情况下,m = 12)的日子将无法安排。什么是解决此问题的最佳方法,以便找到一种解决方案,使每个参与者至少参与一次,并考虑他们的愿望(何时玩,玩多少)。

我可以进行编程,我只需要知道要实现哪种算法,并可能对选择进行简短的逻辑解释即可。

结果约束:

  1. 参加者的比赛不得超过他们想要的
  2. 参与者不得在不想参加的日子里安排
  3. 算法应尽力包括尽可能多的参与者。
  4. 如果当天的参与者少于m人,则不会安排一天。

algorithm heuristics

8
推荐指数
1
解决办法
184
查看次数

标签 统计

algorithm ×1

heuristics ×1