第9章 最小重量机器设计问题.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5-3 最小重量机器设计问题 问题描述 最小重量机器设计问题: 设某一机器由n个部件组成,每一种部件可以从m个不同的供应商处购得。设wij是从供应商j处购得的部件i的重量,cij是相应的价格。 试设计一个算法,给出总价格不超过c的最小重量机器设计。 算法设计:对于给定的机器部件重量和机器部件价格,计算总价格不超过d的最小重量机器设计。 数据输入:由文件input.txt给出输入数据。第一行有3个正整数n,m和d。接下来的2n行,每行n个数。前n行是c,后n行是w。 结果输出:将计算的最小重量及每个部件的供应商输出到文件output.txt。 回溯法 在包含问题的所有解的解空间树中,按照深度优先搜索的策略,从根结点出发深度探索解空间树。当探索到某一结点时,要先判断该结点是否包含问题的解,如果包含,就从该结点出发继续探索下去,如果该结点不包含问题的解,则逐层向其祖先结点回溯。若用回溯法求问题的所有解时,要回溯到根,且根结点的所有可行的子树都要已被搜索遍才结束。 而若使用回溯法求任一个解时,只要搜索到问题的一个解就可以结束 算法思想 本题的实质是在解析空间进行搜索,进行深度优先搜索,但是为了节省空间与时间资源,使用数组以及条件判断来模拟基于深度优先的回溯法。 对于搜索中的每一步,有如下情况: 1.不是最后一个零件还没有考虑完所有商家,选择每一个零件的商家不是最后一个商家,只有两种情况,该商家的零件型号符合要求(即包括该零件,已经选择的零件总价格没有超过价格上限),则确定该零件选择该商家,并进入下一个零件的选择,或者该商家的零件型号不符合要求,跳过该商家,该零件开始选择下一个商家。 2. 每一个零件的最后一个商家已经被考虑过,返回上一个零件的选择。 其中对于最后一个零件,一旦商家的零件型号被选中,比较已经记录的最优总重量与该采购清单的总重量,如果比最优总重量要小,更改最优采购清单及最优总重量,不再进入下一个零件的选择。 对于第一个零件,当其所有商家都已被考虑后,就终止。 这里使用i表示正在选择第i个零件,使用a[i]表示第i个零件选择的商家,i++和i--表示递进或回溯,由于最后判断终止条件时需要判断第一个零件选择到了最后一个商家时,是不是从下层回溯回来的,如果是,则终止,否则,则是第一个零件选择了最后一个商家,而且将要进入下面的零件的选择,所以使用bool型变量direction表示是否是回溯(false表示由下一层回溯)。 实验代码 结果截图 Thank you

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档