434
社区成员
发帖
与我相关
我的任务
分享1.1 说明“最小重量机器设计问题"的解空间
答:3个部件,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) }
(3, 1, 1)表示3个部件分别在供货商3、1、1购买。
1.2 说明 “最小重量机器设计问题"的解空间树
答:解空间树如图:每一次层节点对应一个物品

1.3 在遍历解空间树的过程中,每个结点的状态值是什么
答:每个结点的状态值有:累计重量,剩余价格,当前选择的供货商,当前为第几个物品(判断选择是否结束)。
答:回溯法是一种可以搜索问题所有解的算法。用回溯法求解时需要明确问题的解空间,解空间往往组织成图或者树的形式。回溯法的步骤就是从解空间的根节点出发,按照深搜法,一层一层往叶子节点搜索下去,搜索至任意节点时,要判断该节点是否包含问题的解,是的话更新节点的状态值以及需要记录的值并继续搜索子树,不是的话,则跳过以该节点为根的子树的搜索,向上一层即祖先节点回溯。在搜索过程中,可以用剪枝函数来避免无效搜索,缩短时间,提高效率。