【问题标题】:How to optimize assignment of tasks to agents with these constraints?如何优化具有这些约束的代理的任务分配?
【发布时间】:2014-08-09 11:55:52
【问题描述】:

作为硕士论文的一部分,我有一个作业问题,我正在寻找解决该问题的总体方向。

因此,有一个代理列表和一个任务列表,其中任务的数量大于代理的数量。

代理提交他们可以/想要执行的任务的优先排序列表。列表的长度固定为远小于任务总数的数字。

必须为每个代理分配一个任务。任务一旦分配就不能再分配给其他代理。

目标是找到分配任务的平均优先级/偏好最低的分配。此外,如果它是完整的解决方案,即为每个代理分配一个任务,那就更好了。

我已经查看了广义分配问题和匈牙利算法,但这些并不适合任务有成本的特定情况以及代理无法完成某些任务的可能性。

请帮忙。谢谢。

【问题讨论】:

  • 您是否尝试过创建空的“什么都不做”任务,以便答案可以包括“这个代理什么都不做”和空的“外包”工人,这样答案可以包括“这里没有代理做这个任务“?
  • 如果我们将优先级建模为成本,则问题与分配问题相同(最优先的成本为 1,然后是 2,然后是 3,对于不在优先级列表中的任务,成本是无穷大)。然后,您可以添加虚拟代理以使代理和任务的数量相等,并使用匈牙利算法解决它。

标签: algorithm optimization np


【解决方案1】:

如果您想要一个通用的方法,您可以将问题建模为混合整数程序,引入二进制变量以将任务分配给代理,并将优先级成本和(非常高的)非分配成本放入目标函数中。混合整数程序可以使用各种求解程序来求解,包括免费用于学术目的的 CPLEX 或 Gurobi。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-21
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    相关资源
    最近更新 更多