* 分支限界法 * 算法设计与理论 一、基本思想 1. 适用范围 (1)解空间很大。 (2)希望以最小的成本或代价寻找答案解。 第六章 分枝限界法 第一节 方法概述 2.基本思想 相对于回溯法而言,若能使用更有效的约束函数来控制搜索进程,使之能以最小的代价朝着状态空间树上具有答案解(即找这个解将花费的代价最小)的分枝推进,以便尽快地找到一个答案解,这就是分枝限界法。它是使用约束函数的广度优先生成方法。 估值函数 --关键 3.与回溯法的区别(思考:两者的共同点) (1)回溯法是结合规范函数的深度优先节点生成方法,而分枝限界法是结合了估值函数的广度优先生成方法。 (2)回溯法是找一个或全部解,但是分枝限界法是希望用最小的成本或代价找答案解。 问题:规范函数和估值函数的作用有什么不同? 4.应用范围 货郎担问题,0/1背包问题,工作分配问题。 5.两种基本搜索 分枝限界法是限界函数的广度优先生成方法,其中对于儿子结点的存放,可以是队列也可以是堆栈,即宽度优先生成和D-检索或称FIFO和FILO。 (1)FIFO搜索法:它对于状态空间树的搜索是这样的:对于当前扩展节点,先从左到右地产生它的所有儿子,然后按约束函数检查,只要儿子不是死结点,就将它加入活节点表中(按队列的顺序)。然后从活结点表中依次取出一个结点作为当前扩展结点,并产生它的所有儿子加入活结点表的末尾,产生顺序
原创力文档

文档评论(0)