算法设计与分析第五章作业

计科2101沈星如 2022-12-11 23:27:59

1. 请用回溯法的方法分析“最小重量机器设计问题”

题目如下:

设某一机器由n个部件组成,每一种部件都可以从m个不同的供应商处购得。设wij​是从供应商j 处购得的部件i的重量,cij​是相应的价格。
试设计一个算法,给出总价格不超过d的最小重量机器设计。

输入格式:

第一行有3 个正整数n ,m和d, 0<n<30, 0<m<30, 接下来的2n 行,每行m个数。前n行是c,后n行是w。

输出格式:

输出计算出的最小重量,以及每个部件的供应商

输入样例:

3 3 4
1 2 3
3 2 1
2 2 2
1 2 3
3 2 1
2 2 2

输出样例:

在这里给出相应的输出。例如:

4
1 3 1 

1.1 说明“最小重量机器设计问题"的解空间

答:解空间及该问题涉及到的所有解。对于共需n种零件,有m个厂家的“最小重量机器设计问题”,一共有 m^n 种可能解,其中可能有部分解不满足总价小于d;该题样例的解空间为:

(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)

1.2 说明 “最小重量机器设计问题"的解空间树

答:如表格所示:

             A             
    1        2        3    
    B        C        D    
 1  2  3  1  2  3  1  2  3 
 E  F  G  H  I  J  K  L  M 
123123123123123123123123123
111112113121122123131132133211212213221222223231232233311312313321322323331332333

1.3 在遍历解空间树的过程中,每个结点的状态值是什么

答: tmpw 记录当前已选择的零件的总重量;total 用于记录当前已选择的零件的总价格

        最终只有当前最优方案会被记录;

2. 你对回溯算法的理解

回溯法采用深度优先系统式搜索问题,适合解组合数较大的问题;当解空间过大时,我们可以根据题述条件采用一定的限界函数和约束函数对其进行剪枝处理,避免不必要的系统开销;有时函数中常与与贪心算法结合。

...全文
47 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDN-Ada助手 2023-01-13
  • 打赏
  • 举报
回复
您可以前往 CSDN问答-数据结构与算法 发布问题, 以便更快地解决您的疑问

434

社区成员

发帖
与我相关
我的任务
社区描述
广东外语外贸大学信息科学与技术学院
算法 高校
社区管理员
  • brisksea
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧