分支限界法是利用 广度优先搜索 的策略或者以 最小耗费(最大效益)优先 的方式搜索问题的解空间树,对于解空间树中的活节点 只有一次 机会成为拓展节点,活节点一旦成为扩展节点,那么将 一次性 产生其所有儿子节点。
对于优先队列式的分支限界法,这些儿子节点中,不可行解或者一定不能成为最优解的儿子节点会被舍弃,其余儿子节点将会 按照优先级依次存入一个活节点表(队列) ,此后会挑出活节点表 优先级最高 的节点作为下次扩展节点,重复此过程,直至找到问题的最优解。
我们需要利用上界和下界来对BFS进行剪枝,通过不断更新上界和下界,尽可能的排除不符合需求的child,以实现剪枝。最终,当上限和下限等同时,我们可以获得最优的BFS解,以解决TSP问题。
一开始对该问题的分支限界法的解决办法没有一点思路,但是通过CSDN上博主的解决办法我一点点的找出了解决办法,并在此基础上加上了我们自己的思路,最终利用分支限界法解决了旅行商问题