经典的分配问题涉及将 N 个代理分配给 M 个工作,同时最小化每个工作所花费的时间。该问题在多项式时间内有一个解决方案,称为匈牙利算法,它以成本矩阵 C 作为输入并返回最佳分配列表。
就我而言,我遇到了同样的问题,但有一点不同。每个工作都需要分配给它的两个工作。选择代理的数量,使得 N 是偶数,以便使这成为可能。
我对分配问题相关的问题相当陌生,所以我不确定如何解决这个问题。
如何解决这个问题?
编辑:请注意,一个代理最多可以分配给一个任务,它不能分配给多个任务。可以假设 M(jobs) = 2N(agents),否则会引入虚拟代理或任务。