python - 主机中任务的指派/分配

标签 python variable-assignment hungarian-algorithm

我有一组主机和一组任务。
每个主机都有 cpu、mem 和任务容量,每个任务都有 cpu、mem 要求。
每个主机都属于一个延迟类别,并且可以与具有特定延迟值的其他主机通信。
每个任务可能需要以等于或小于特定值的延迟与另一个任务通信。
下图显示了我的问题输入的示例。 Task and host graphs. 其中任务 t1 需要与任务 t2、t3 和 t4 进行通信,延迟分别等于或小于 3、3 和 5,主机 h1 属于延迟类别 3,并与 h2、h3 和 h4 进行通信,延迟分别为 2、5 和分别为 3 个。
我正在考虑使用匈牙利/munkres算法来解决这个问题,但是如何正确设置成本函数? 有没有更好的分配算法来解决这个问题?
谢谢。

最佳答案

Munkres 有一个 Python 包:http://software.clapper.org/munkres/ 。你可以引用他们的实现:https://github.com/bmc/munkres/blob/master/munkres.py

关于python - 主机中任务的指派/分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24382417/

相关文章:

python - 使用外键和 SQLAlchemy 导入装置?

python - 切片 numpy 数组时使用 python 的逻辑运算符

c - 为什么我不能分配结构参数? (C)

C++ 我可以使用 string::at 分配一个 int 吗?

algorithm - 匈牙利算法将一组与自身匹配

python - 使用 Python 的匈牙利算法约束

python - 使用向量作为另一个矩阵的索引

python - SqlAlchemy TIMESTAMP 'on update' 额外

java - Java 数组越界错误

graph-algorithm - 匈牙利算法-任意选择