第五次作业

一、回溯法分析 “最小重量机器设计问题”首先明确最小重量机器设计问题:有n个部件,每个部件有m个可选供应商,第i个部件选第j个供应商的重量为(w_{ij})、成本为(c_{ij}),要求选择每个部件的一个供应商,使得总成本不超过预算C,且总重量最小。1.1 解空间解空间是所有可能的部件供应商选择组合,形式为n元组((x_1, x_2, ..., x_n)),其中(x_i \in {1,2,...,m})((x_i)表示第i个部件选择的供应商编号)。解空间的大小为(m^n)(每个部件有m种选择,共n个部件)。1.2 解空间树解空间树是一棵 **m叉树 **:根节点:表示 “未选择任何部件” 的初始状态;第i层节点((1 \leq i \leq n)):表示 “已确定前i个部件的供应商” 的状态;每个节点的子节点:对应下一个部件的m种供应商选择;叶节点:对应一个完整的n元组解(所有部件的供应商均已选定)。1.3 遍历解空间树时每个节点的状态值节点状态需记录以下信息:已选部件的数量:即当前处于解空间树的层数i;已产生的总成本:前i个部件选择对应的成本之和(\sum_{k=1}^i c_{k,x_k});已产生的总重量:前i个部件选择对应的重量之和(\sum_{k=1}^i w_{k,x_k});当前最优总重量(剪枝用):已找到的合法解的最小重量,用于判断当前节点是否可能产生更优解。二、回溯法的理解回溯法是一种基于深度优先搜索的暴力枚举优化算法,核心特点如下:解空间遍历:通过遍历问题的解空间树(通常是子集树、排列树或m叉树),枚举所有可能的解;剪枝策略:在遍历过程中,若判断当前节点对应的部分解不可能扩展为合法解或更优解,则剪去该节点的所有子树,避免无效搜索;适用场景:适用于 “求解可行解 / 最优解” 的组合优化问题(如旅行商问题、0-1 背包问题),尤其适合解空间规模较大但可通过剪枝大幅缩小搜索范围的场景;时间复杂度:最坏情况下仍为指数级(如(O(2n))或(O(mn))),但剪枝后实际效率通常远高于纯暴力枚举。

posted @ 2025-12-24 12:10  Chenz111  阅读(3)  评论(0)    收藏  举报