434
社区成员
发帖
与我相关
我的任务
分享
以该题n = 3,m = 3为例,该问题的所有的解空间为:
{(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 2, 1), (1, 2 ,2), (1, 2, 3), (1, 3, 1), (1, 3, 2), (1, 3, 3),
(2, 1, 1), (2, 1, 2), (2, 1, 3), (2, 2, 1), (2, 2, 2), (2, 2, 3), (2, 3, 1), (2, 3, 2), (2, 3, 3),
(3, 1, 1), (3, 1, 2), (3, 1, 3), (3, 2, 1), (3, 2, 2), (3, 2, 3), (3, 3, 1), (3, 3, 2), (3, 3, 3)}
构造如图解空间树,共n层m叉树
每个节点存放当前机器的总价格,当前机器总重量,
我对回溯算法的理解是一个边计算边试探的过程,通过探索所有的解空间来达到不漏解的效果,但为了压缩运算时间,可以通过约束函数和限界函数进行剪枝,即计算一个宽松的解作为上界,预判该节点后续的解空间是否存在最优解,若不存在则不继续试探,返回上一层节点,通过访问-试探-递归-返回 这几个步骤,最终在叶子节点得到最优解