问题描述
某售货员要到若干城市去推销产品,已知各城市之间的路程(或旅费)。他要选定一个城市出发,经过每个城市一遍,最后回到出发的城市,使总的路程(或旅费)最小。
分支限界基本思想
分支限界法常以广度优先或以最小耗费优先的方式搜索问题的解空间树。
分支限界中存在限界函数也是剪枝函数,即当搜索到某一节点发现它的价值以及大于了目前的最优值,那么该节点就没有必要扩展下去,可以剪掉,以提高搜索效率。
广度优先:搜索树的节点过程是从左到右的顺序的
深度优先:搜索树的节点过程是从上到下的顺序的
解空间树:表示问题解空间的一颗有序树,在下面会详细说到。树分为子集树和排列树。
子集树:当所给问题是从n个元素的集合S中找出S满足某种性质的子集时,相应的解空间称为子集树。也就是它的结果中是n个元素的某个子集,不需要包括全部的元素
排列树:当所给问题的确定n个元素满足某种性质的排列时,相应的解空间树称为排列树。它的结果要包括全部元素,只是排列方式不同,例如元素为1,2,3,4;那他的结果都是1,3,2,4或2,3,1,4等等
分支限界的搜索策略
在扩展节点处,先生成其所有的儿子节点(分支),再从当前的活结点表中选择下一个扩展节点。