首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C代码,将应填入 (n) 处的字句。 [说明] 设某一机器由n个部件组成,每一个部件都可以从m个不同的供应商处购得。供应商j供应的部件i具有重量wij和价格cij。设计一个算法,求解总价格不超过上限cc的最小重量的机器组成。
阅读下列说明和C代码,将应填入 (n) 处的字句。 [说明] 设某一机器由n个部件组成,每一个部件都可以从m个不同的供应商处购得。供应商j供应的部件i具有重量wij和价格cij。设计一个算法,求解总价格不超过上限cc的最小重量的机器组成。
admin
2012-03-21
42
问题
阅读下列说明和C代码,将应填入 (n) 处的字句。
[说明]
设某一机器由n个部件组成,每一个部件都可以从m个不同的供应商处购得。供应商j供应的部件i具有重量wij和价格cij。设计一个算法,求解总价格不超过上限cc的最小重量的机器组成。
采用回溯法来求解该问题:
首先定义解空间。解空间由长度为n的向量组成,其中每个分量取值来自集合{1,2,…,m),将解空间用树形结构表示。
接着从根结点开始,以深度优先的方式搜索整个解空间。从根结点开始,根结点成为活结点,同时也成为当前的扩展结点。向纵深方向考虑第一个部件从第一个供应商处购买,得到一个新结点。判断当前的机器价格(c11)是否超过上限(cc),重量(w11)是否比当前已知的解(最小重量)大,若是,应回溯至最近的一个活结点;若否,则该新结点成为活结点,同时也成为当前的扩展结点,根结点不再是扩展结点。继续向纵深方向考虑第二个部件从第一个供应商处购买,得到一个新结点。同样判断当前的机器价格(c11+c21)是否超过上限(cc),重量(w11+w21)是否比当前已知的解(最小重量)大。若是,应回溯至最近的一个活结点;若否,则该新结点成为活结点,同时也成为当前的扩展结点,原来的结点不再是扩展结点。以这种方式递归地在解空间中搜索,直到找到所要求的解或者解空间中已无活结点为止。
[C代码]
下面是该算法的C语言实现。
(1)变量说明
n:机器的部件数
m:供应商数
cc:价格上限
w[][]:二维数组,w
[j]表示第j个供应商供应的第i个部件的重量
c[][]:二维数组,c
D]表示第j个供应商供应的第i个部件的价格
bestW:满足价格上限约束条件的最小机器重量
bestC:最小重量机器的价格
bestX[]:最优解,一维数组,bestX
表示第i个部件来自哪个供应商
cw:搜索过程中机器的重量
cp:搜索过程中机器的价格
x[]:搜索过程中产生的解,x
表示第i个部件来自哪个供应商
i:当前考虑的部件,从0到n-1
j:循环变量
(2)函数backtrack
int n=3;
int m=3;
int cc=4;
int w[3][3]={{1,2,3},{3,2,1},{2,2,2}};
int c[3][3]={{1,2,3},{3,2,1},{2,2,2}};
int bestW=8;
int bestC=0;
int bestX[3]={0,0,0};
int cw=0;
int cp=0;
int x[3]={0,0,0};
int backtrack (int i){
int j=0;
int found=0;
if(i>n-1){ /*得到问题解*/
bestW=cw;
bestC=cp;
for(j=0; j<n; j++){
(1) ;
}
return 1;
}
if (cp<=cc)(/*有解*/
found=1;
}
for(j=0; (2) ; j++){
/*第i个部件从第j个供应商购买*/
(3) ;
cw=cw+w
[j];
cp=cp+c
[j];
if (cp<=cc&& (4) ){/*深度搜索,扩展当前结点*/
if (backtrack(i+1)){ found -1; )
}
/*回溯*/
cw=cw - w
[j];
(5) ;
}
return found;
}
(4)
选项
答案
cw<bestW
解析
转载请注明原文地址:https://kaotiyun.com/show/XeDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
统一过程(UP)是一种用例驱动的迭代式增量开发过程,每次迭代过程中主要的工作流包括捕获需求、分析、设计、实现和测试等。这种软件过程的用例图(Use Case Diagram)是通过(19)得到的。
与设计测试用例无关的文档是______。A.项目开发计划B.需求规格说明书C.设计说明书D.源程序
某汽车维修公司有部门、员工和顾客等实体,各实体对应的关系模式如下:部门(部门代码,部门名称,电话)员工(员工代码,姓名,部门代码)顾客(顾客号,姓名,年龄,性别)维修(顾客号,故障情况,维修日期,员工代码)假设每个部门允许有多部电话,则电话属性为
某软件系统无需在线容错,也不能采用冗余设计,如果对可靠性要求较高,故障有可能导致严重后果,一般采用()。
在结构化分析模型中,______描述了所有在目标系统中使用的和生成的数据对象。
网络系统中,通常把()置于DMZ区。
软件可靠性管理把软件可靠性活动贯穿于软件开发的全过程,成为软件工程管理的一部分。确定软件的可靠性目标在()阶段。
下图是一个软件项目的活动图,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,边上的权重表示活动的持续时间(天),则里程碑C在关键路径上。在其他活动按时完成的情况下,活动FJ最多可以晚_______天开始而不影响工期。
给出关系R(A,B,C)和S(A,B,C),R和S的函数依赖集F={A→B,B→C}。若R和S进行自然连接运算,则结果集有3个属性。关系R和S________。
根据图3-1所给出的网络连接方式及相关的网络参数,区域(A)与区域(B)中计算机的网络参数配置(如图3-2所示)为:区域(A)计算机“IP地址”(范围):(1):区域(A)计算机“子网掩码”;(2);区域(A)计算机“默认网关”:(
随机试题
()在《企业再造——管理革命宣言》中提出业务流程再造理论。
女性,50岁。外阴奇痒难忍,分泌物不多,热水洗后暂时缓解,外院诊断为外阴白斑和外阴白色病变。前来咨询。妇科检查:外阴皮肤增厚、色素减退、湿疹样变。下列哪项回答是正确的
腰麻时引起血压下降的原因
患者女,65岁。咽痛1个月余,查体:右侧扁桃体肿大,鼻咽部未见异常,双肺呼吸音清晰,心脏听诊无异常。腹软,无压痛,未触及腹部包块,肝脾肋下未及,移动性浊音阴性。双下肢无浮肿。扁桃体活检示弥漫大B细胞淋巴瘤,胸部CT及腹部CT未见异常。该患者下一步如果进
下列合同中,不属于印花税征税对象的有()。
蛋白质在等电点时,溶解度和导电性分别是()。
法的调整对象是()
美国近期发射了“帕克太阳探测器”。该探测器比之前的任何探测器飞得离太阳表面更近,在严酷的高温和辐射条件下,将深入探索太阳,希冀解开重大谜团。下面说法与这段文字相符的是_________。
生理性根尖孔(physiologicalforamen)
第一次喊出了“振兴中华”这个时代的最强音的人是
最新回复
(
0
)