1. 请用回溯法的方法分析“最小重量机器设计问题
1.1 说明“最小重量机器设计问题"的解空间
解空间:即选取不同零部件在不同供应商的所有排列组合。
所有解的可能结果为:
{1, 1, ……,1}、{2, 1, ……,1}、{3, 1, ……, 1}
……
{m,m,……,m}
1.2 说明 “最小重量机器设计问题"的解空间树
为n个零部件选不同的m个供应商。是一个m叉树,每层代表选的第几个零部件。
1.3 在遍历解空间树的过程中,每个结点的状态值是什么
节点的层数 i 代表是第 i 个零部件。节点的值 j 表示正在选择第 j 个供应商。
2. 你对回溯算法的理解
首先要定义解空间,然后根据题目要求选择解空间结构,到代码实现
其中我感觉比较重要的就是子集树和排列树。
子集树更多给我的感觉更像是这个节点遍历过了就不能再遍历,而排列树则相反,它是所有的排列组合都要遍历一遍直至找到最优解。
根据这些来确定代码,再增添一些剪枝和限界函数。