Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 寻找部门最佳组合的算法_Python_Algorithm_Dynamic Programming_Linear Programming - Fatal编程技术网

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,谢谢你!确切的封面问题对我来说很有用。