【问题标题】:What is the point of matrix reduction in Branch & Bound problems?Branch & Bound 问题中矩阵约简的意义何在?
【发布时间】:2019-11-29 04:04:00
【问题描述】:

正如标题所说的那样。

这是在分支定界问题中完成的,特别是旅行推销员。

我了解矩阵约简的工作原理,但我真的不明白您为什么需要这样做。

谢谢。

【问题讨论】:

    标签: algorithm matrix traveling-salesman reduction branch-and-bound


    【解决方案1】:

    从技术上讲,您需要这样做,但它使算法的其余部分更简单、更高效。

    分支定界算法是一种用于优化问题的backtracking search,您不必在回溯之前探索整个子树。当我们知道某些子树(即部分解决方案)不能导致比目前最好的解决方案更好的解决方案时,可以拒绝它们。

    对完成部分解决方案的成本有一个下限是很有用的。例如,如果我们有一条从节点 A → B → C 的路径,那么我们知道该路径必须离开节点 C,并且在将来的某些时间点它必须离开节点 D、E 和 F(不一定按照那个顺序)。如果我们知道离开 C、D、E 和 F 的最小成本,那么我们可以将它们添加到不完整路径的成本中,以获得从 A → B → C 开始的完整路径的最小可能成本。如果该成本是高于我们最佳解决方案的成本,那么我们可以拒绝部分解决方案 A → B → C 而无需探索它的任何进一步分支。

    如果我们首先应用矩阵约简,那么离开每个节点的最小成本将为零,因此我们不需要在当前成本上添加任何东西来计算下限。拒绝 A → B → C 的规则只是该部分解决方案的成本是否高于迄今为止最佳完整解决方案的成本。这不仅简化了代码,还节省了进行这些添加所需的时间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-01
      • 1970-01-01
      相关资源
      最近更新 更多