Algorithm 通过最少的移动次数最小化装满球的桶的最大重量的算法
我有K个桶。每个桶包含一定数量的球B,其中每个球都有一定的重量 我想知道是否有算法可以实现以下功能: 我想一次移动一个位置,将一些重量从一个桶移动到另一个桶,使所有桶的最大重量最小化。我想重复这个过程,直到我通过最少的步骤实现桶中重量的最平衡配置 在解决这个问题时,有哪些算法是有用的 以下是我想到的方法:Algorithm 通过最少的移动次数最小化装满球的桶的最大重量的算法,algorithm,load-balancing,Algorithm,Load Balancing,我有K个桶。每个桶包含一定数量的球B,其中每个球都有一定的重量 我想知道是否有算法可以实现以下功能: 我想一次移动一个位置,将一些重量从一个桶移动到另一个桶,使所有桶的最大重量最小化。我想重复这个过程,直到我通过最少的步骤实现桶中重量的最平衡配置 在解决这个问题时,有哪些算法是有用的 以下是我想到的方法: 天真:检查桶中所有球的组合,并选择最小值(最大值)(所有桶的重量)的变体。这是我的最佳配置。现在一次移动一个球,直到达到此配置。这将起作用,但无法编程,因为我们有num_bucket ^num
有没有已知的算法可以激发出更好的解决方案?(箱子打包在这里不起作用,因为我有固定数量的箱子。)我不是在寻找一个解决方案,而是在寻找一种算法来解决与此类似的平衡问题,即使不完全相同。首先,让我们稍微限制贪婪算法:将球按降序排列,最重的放在第一位 之后,从最重的箱子到最轻的箱子进行操作。对于每个箱子,寻找可以减轻其重量的交换或移动,而不会使移动的另一个箱子达到最大重量。继续此过程,直到最重的箱子无法再改善为止 我无法证明这是否会为您提供最佳解决方案,但它会非常好。:-)