Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.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
Algorithm 算法设计:你能为背包问题提供一个没有最大重量约束的解决方案吗?_Algorithm_Knapsack Problem - Fatal编程技术网

Algorithm 算法设计:你能为背包问题提供一个没有最大重量约束的解决方案吗?

Algorithm 算法设计:你能为背包问题提供一个没有最大重量约束的解决方案吗?,algorithm,knapsack-problem,Algorithm,Knapsack Problem,我无法找到适合我的问题的算法。我的问题如下: 有n个任务。每个任务的复制次数不同。同一任务的两个副本不应位于同一代理上。将副本分配给代理,使每个代理上的副本总数大致相同。代理没有重量限制。 背包能解决这个问题吗?一个没有权重的背包问题就是按值降序排序,取多少就取多少。因此,如果没有重量约束,它就没有多大意义——因为现在不需要优化 我也看不到你和这里的代理有任何联系 这个问题很容易解决: 按代理的队列长度对代理进行升序排序 并将下一个作业交给尚未具有该任务副本的第一个作业 重复此操作,直到分配完所

我无法找到适合我的问题的算法。我的问题如下: 有n个任务。每个任务的复制次数不同。同一任务的两个副本不应位于同一代理上。将副本分配给代理,使每个代理上的副本总数大致相同。代理没有重量限制。

背包能解决这个问题吗?

一个没有权重的背包问题就是按值降序排序,取多少就取多少。因此,如果没有重量约束,它就没有多大意义——因为现在不需要优化

我也看不到你和这里的代理有任何联系

这个问题很容易解决:

  • 按代理的队列长度对代理进行升序排序
  • 并将下一个作业交给尚未具有该任务副本的第一个作业
  • 重复此操作,直到分配完所有任务

  • 背包问题假定物品的值和权重不同。任务(副本)是否具有不同的权重?同一任务的副本具有相同的权重我希望将副本安排在代理上,以最小化代理上的最大负载。我希望所有代理都有大致相同的负载。我发现最大完工时间最小化算法与我需要的类似。但我很难按照我的要求来写。