优化分配以最大化输出
Optimal assignment to maximize output
所以某公司有n个可用项目和k名员工在替补席上。每个项目都有一个与之关联的 "number of hours"。每个员工都有一个小时费率,如果他在一个项目上,母公司就会得到报酬。并非所有员工都可以分配到任何项目,即每个员工都有他可以从事的 n 个项目的子集。我想将员工分配给项目,以便我可以最大限度地提高公司从任务中获得的收益。每个项目只能分配给一名员工,每位员工只能处理一个项目。
我正在考虑使用动态规划,但无法实现可用于填充 table 的递归。 I 为 m x n 矩阵,其中 m 是项目,n 是员工。 Matrix[i][j]= 如果将项目 i 分配给员工 j,公司赚取的金额。我坚持如何最大化这一点。
任何帮助将不胜感激!
这看起来像一个 'assignment problem' 可以表示为线性规划问题。这是一个示例公式:
第一部分只是发明一些随机数据。变量 x 是一个二进制变量,这通常意味着我们需要将模型求解为混合整数规划模型。但是这个赋值问题有一个属性,其中变量自动为整数,所以我们实际上可以作为一个LP来解决。 (我在这里作为 'RMIP' 解决,这意味着:放弃 x 上的完整性条件)。
公式有点复杂,因为我不想在模型中包含不允许的 x(i,k)。
这是一个简单的 LP,因此您应该能够快速解决大问题。
所以某公司有n个可用项目和k名员工在替补席上。每个项目都有一个与之关联的 "number of hours"。每个员工都有一个小时费率,如果他在一个项目上,母公司就会得到报酬。并非所有员工都可以分配到任何项目,即每个员工都有他可以从事的 n 个项目的子集。我想将员工分配给项目,以便我可以最大限度地提高公司从任务中获得的收益。每个项目只能分配给一名员工,每位员工只能处理一个项目。
我正在考虑使用动态规划,但无法实现可用于填充 table 的递归。 I 为 m x n 矩阵,其中 m 是项目,n 是员工。 Matrix[i][j]= 如果将项目 i 分配给员工 j,公司赚取的金额。我坚持如何最大化这一点。
任何帮助将不胜感激!
这看起来像一个 'assignment problem' 可以表示为线性规划问题。这是一个示例公式:
第一部分只是发明一些随机数据。变量 x 是一个二进制变量,这通常意味着我们需要将模型求解为混合整数规划模型。但是这个赋值问题有一个属性,其中变量自动为整数,所以我们实际上可以作为一个LP来解决。 (我在这里作为 'RMIP' 解决,这意味着:放弃 x 上的完整性条件)。
公式有点复杂,因为我不想在模型中包含不允许的 x(i,k)。
这是一个简单的 LP,因此您应该能够快速解决大问题。