- 我有从 1 到 7 的名为“资源”的项目。
- 我必须在从 1 到 10 标识的不同操作中使用它们。
- 我每次最多可以做4个动作。这称为“操作”。
- 即使使用了 4 次,每次“操作”的资源使用成本为 1。
- 下表显示了执行相关操作所需的资源:
| | Resources | |--------|----------------------------------| | Action | 1 | 2 | 3 | 4 | 5 | 6 | 7 | |--------|----------------------------------| | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | | 2 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | | 3 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | | 4 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | | 5 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | | 6 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | | 7 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | | 8 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | | 9 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | | 10 | 1 | 1 | 1 | 0 | 0 | 0 | 1 |
目标是将“操作”中的所有“操作”分组以最小化总成本。例如,由动作 {3,7,9} 组成的组需要资源 {1,2,3,4,6},因此成本为 5,但由动作 {4,7,9} 组成的组需要资源 {2, 4},因此成本为 2。
需要以最经济的方式完成所有行动。
哪种算法可以解决这个问题?