algorithm - 在约束下最大化子集选择
问题描述
我正在为一组志愿者解决日程安排问题。我将我的问题归结为以下算法问题:
我有一个矩阵,其中约 60 行代表志愿者,约 14 列代表天。每个条目都是一个介于 0 到 3 之间的整数,代表当天志愿者的空闲程度。我想从每列中准确选择 4 个条目(每天 4 个志愿者),这样(按重要性排序)
- 永远不会选择 0 条目。
- 工作量尽可能分散(先给每个人一个班,然后开始给第二班,等等。我们可以预期大多数志愿者每两周只有一个班,有些甚至可能没有。)
- 所选条目的总和最大化(志愿者获得他们喜欢的天数)。
我想在选择一天的志愿者时,输出具有1个具有1的决策矩阵,否则为0。我相信这是护士排班问题的一个例子,所以我不期待一个快速的解决方案,但我只想制作一个蛮力算法,可以在合理的时间内为我的约 60 人团队工作。我只是真的不确定如何开始解决这个问题。它是否适合回溯,或者有什么方法可以根据每个志愿者的日分分布计算出每个志愿者的最佳位置?
解决方案
推荐阅读
- google-cloud-platform - 连接断开时,Google Cloud Platform 无法运行长时间运行的进程
- javascript - Async/Await 不等待响应,返回 Promise 对象
- osgi - 无法部署包含 ComponentFactory OSGi 声明性服务的 Karaf kar 文件
- react-native - 使用 StackNavigator 将用户输入从第二个屏幕传递到第一个屏幕。
- azure-functions - Azure 函数缩放
- c# - 更新到新的 csproj 格式后无法打开 Windows 窗体设计器
- delphi - 显示组件的模态表单
- sql - 对交叉表查询 sql 中的聚合字段进行排序
- php - 在多任务数组php中使用array_push添加数组
- python - 将 numpy 数组作为函数参数传递