第五次作业
1.1 解空间
解空间是所有可能的采购方案集合,每个解为长度 n 的序列(x₀,x₁,…,xₙ₋₁),xᵢ∈{1,…,m}(第 i 个部件的供应商编号),规模mⁿ。
1.2 解空间树
为 n 层 m 叉树:根结点(0 层,无选择);第 i 层对应第 i 个部件的供应商选择,每个结点有 m 个分支;第 n 层叶子结点对应完整解。
1.3 结点状态值
核心状态:idx(当前决策层):表示当前正在为第idx个部件选择供应商(对应解空间树的第idx层),是递归的 “深度指针”,决定下一步要决策的部件。
price(累计成本):已选定的0~idx-1个部件的采购总成本,用于判断是否违反 “总预算≤d” 的约束(剪枝依据)。
weight(累计重量):已选定的0~idx-1个部件的采购总重量,用于记录当前部分解的重量,后续与全局最优重量min_weight对比。
辅助状态:temp[](临时选择)、min_weight(全局最优重量)、best[](最优方案)。
2.对回溯算法的理解
回溯法(Backtracking)是一种 “试探 - 回退” 的穷举搜索算法,核心是深度优先遍历解空间树,并通过 “剪枝” 避免无效搜索,在组合优化、排列、子集等问题中广泛应用
核心:深度优先遍历解空间树,“试探,剪枝,回退”,有限穷举找最优解;
关键:深度优先搜索,剪枝是核心优化,状态可回溯
回溯法适用于 “解空间规模有限、存在明确约束条件、需要找最优解或所有可行解” 的问题,典型场景包括:组合优化问题(如本次机器设计、0-1 背包);排列/子集问题(如全排列、子集和);约束满足问题(如数独、N 皇后)。
浙公网安备 33010602011771号