127
社区成员
1.1 解空间:(1, 1, 1), (1, 1, 2), (1, 1, 3)......(m, m, m-1), (m, m, m)
1.2 解空间树:
定义一个最优解bestw,定义cc和cw为当前解,初始化状态下,cc=0,cw=0。使用回溯法按深度优先搜索排列树,若cc>d,则为不可行的解,进行剪枝,不再搜索其子树,若cw>bestw,则不是最优解,进行剪枝,不再搜索其子树,只有当同时满足cc<d 和 cw<bestw 时,才能更新节点状态,向下递归(执行t+1层),否则返回t-1层继续执行。若此时 t>n,则此时遍历到了根节点,用bestw对最优解进行纪录。
1.3 每个节点的状态值:每个节点存放当前机器的总价格,以及当前机器总重量
回溯法就是把问题的解空间转化成了图或者树的结构表示,然后使用深度优先搜索策略进行遍历,遍历的过程中记录和寻找所有可行解或者最优解。搭配限界函数和约束函数进行剪枝可以减少无效搜索次数,提高算法的效率。