Python 寻找部门最佳组合的算法
假设我在医院里有一组科室,每个科室都有自己的运行成本。此外,一些部门可以合并,这将导致运行成本低于这两个部门的单独成本。请注意,并非两个部门的所有组合都可以合并 示例数据:Python 寻找部门最佳组合的算法,python,algorithm,dynamic-programming,linear-programming,Python,Algorithm,Dynamic Programming,Linear Programming,假设我在医院里有一组科室,每个科室都有自己的运行成本。此外,一些部门可以合并,这将导致运行成本低于这两个部门的单独成本。请注意,并非两个部门的所有组合都可以合并 示例数据: +------------+------+ | Department | Cost | +------------+------+ | 1 |5 | | 2 |3 | | 3 |4 | | 4 |5 | | 1,2
+------------+------+
| Department | Cost |
+------------+------+
| 1 |5 |
| 2 |3 |
| 3 |4 |
| 4 |5 |
| 1,2 |6 |
| 3,4 |7 |
+------------+------+
我想最小化总成本,有没有标准的线性规划或算法来解决这个问题?我目前在python中工作,但任何东西都可以帮助我。听起来像是一个最小重量的精确封面问题;这应该是一个NP难问题,但快速搜索并不能找到问题的加权版本。查看哪些部门可以合并的选项是否只包括多个部门对-即没有3个或更多部门可以合并-然后可以将其减少到最大权重匹配问题,方法是为每一对分配与合并该对相关的“成本节约”并最大化成本节约。这个问题在多项式时间内是可解的@kaya3,谢谢你!精确的覆盖问题对我来说很有效。听起来像是最小重量的精确覆盖问题;这应该是一个NP难问题,但快速搜索并不能找到问题的加权版本。查看哪些部门可以合并的选项是否只包括多个部门对-即没有3个或更多部门可以合并-然后可以将其减少到最大权重匹配问题,方法是为每一对分配与合并该对相关的“成本节约”并最大化成本节约。这个问题在多项式时间内是可解的@kaya3,谢谢你!确切的封面问题对我来说很有用。