434
社区成员
发帖
与我相关
我的任务
分享一、题目描述
设某一机器由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,1),(1,2),(1,3),(2,1),(2,2),(2,3),(3,1),(3,2),(3,3)。
2 说明 “最小重量机器设计问题"的解空间树
此时的解空间树如下:(两个部件,三个供应商)

3 在遍历解空间树的过程中,每个结点的状态值是什么
每个节点都有状态值:当前的重量,当前的价格。
回溯法就是把所有的解都一一列出来,排成解空间树,再用深度优先搜索来遍历解空间树。所以回溯法是一个通用的解题方法,用它可以系统的搜索一个问题的任意解或唯一解,是一种即系统又跳跃的搜索算法。