分支机构

时间:2009-05-09 04:08:56

标签: algorithm search branch-and-bound

有人可以为我解释分支和绑定搜索技术吗?我需要使用分支定界搜索算法找到从任何起始节点到任何随机图的结束节点的最小成本的路径。

4 个答案:

答案 0 :(得分:6)

B& B的基本理念B是:

  1. 在解决优化问题时(“找到满足标准Y的X以便最小化成本f(X)”),您逐个构建解决方案 - 在任何时间点,您都有部分解决方案,具有成本
  2. 如果问题的性质使得部分解决方案的成本只能保持不变或者继续向其添加部分,那么您就知道没有必要继续向部分解决方案,如果已经有一个成本较低的完整解决方案。在这种情况下,您可以放弃(或“修剪”或“深入”)进一步处理此部分解决方案。
  3. 许多问题都有后一种特性,使得B& B广泛适用的算法技术。

    搜索解决方案的过程可以用搜索树表示,其中根节点表示尚未做出决策的起点,并且从节点引出的每个边表示关于部分解决方案中包含的内容。每个节点都是一个部分解决方案,包括从根到该节点的决策(边缘)。

    示例:如果我们想要解决数独谜题,根节点将代表最初提供的数字填充的电路板;此根可能有9条边,每条边代表决定将数字1-9分配给左上角的单元格。这9个部分解节点中的每一个可以具有8个分支,表示对位置(1,2)处的单元的有效分配,等等。通常,每个边表示程序中的递归步骤。

    B& B,在最好的情况下,很早就找到了一个好的解决方案,这意味着可以在根部附近修剪搜索树中没有希望的区域;但在最坏的情况下,将生成整个有效解决方案树。出于这个原因B& B通常仅用于解决没有更快算法的问题(例如NP难问题)。

答案 1 :(得分:1)

This link提供了与B& B相关的概念的图形表示。乙

This link在可下载的zip文件中提供了算法和示例C#代码的说明。

希望这有帮助。

答案 2 :(得分:0)

网上有很多关于分支和绑定算法的参考资料。

here你可以找到一些理论上的解释。

而C#中的代码是here

答案 3 :(得分:0)

很棒的回答@j_random_hacker !!!!

见Papadimitriou和Steiglitz,组合优化中的第439页(例18.2)。

这本书是经典之作,它讨论了你的确切问题。