最小机器质量问题(共11页)

上传人:txadgkn****dgknqu... 文档编号:56221765 上传时间:2022-02-21 格式:DOC 页数:11 大小:83.50KB
收藏 版权申诉 举报 下载
最小机器质量问题(共11页)_第1页
第1页 / 共11页
最小机器质量问题(共11页)_第2页
第2页 / 共11页
最小机器质量问题(共11页)_第3页
第3页 / 共11页
资源描述:

《最小机器质量问题(共11页)》由会员分享,可在线阅读,更多相关《最小机器质量问题(共11页)(11页珍藏版)》请在装配图网上搜索。

1、精选优质文档-倾情为你奉上课 程 设 计 说 明 书设计题目: 最小重量机器设计问题 专业: 班级: 设计人: 山 东 科 技 大 学2012年 12 月 20 日课 程 设 计 任 务 书学院: 专业: 班级: 姓名: 一、 课程设计题目: 最小重量机器设计问题 二、 课程设计主要参考资料(1) (2) 三、课程设计应解决的主要问题(1) (2) (3) 四、课程设计相关附件(如:图纸、软件等): (1) (2) 五、任务发出日期: 2013-11-21 课程设计完成日期: 2013-12-20 指导教师签字: 系主任签字 : 指导教师对课程设计的评语成绩: 指导教师签字: 年 月 日二分查

2、找程序的实现一、 设计目的1、 了解分支限界法的基本思想2、 运用分支限界法解决最小重量机器设计问题二、 设计要求1、问题描述:设某一机器由n个部件组成,每一种部件都可以从m个不同的供应商处购得。设wij是从供应商j处购得的部件i的重量,cij是相应的价格,给出总价格不超过d的最小重量机器设计。三、 设计说明 (一)、需求分析1、分支限界法的基本思想分支限界法常以广度优先或以最小耗费(最大效益)优先的方式搜索问题的解空间树。 在分支限界法中,每一个活结点只有一次机会成为扩展结点。活结点一旦成为扩展结点,就一次性产生其所有儿子结点。在这些儿子结点中,导致不可行解或导致非最优解的儿子结点被舍弃,其

3、余儿子结点被加入活结点表中。 此后,从活结点表中取下一结点成为当前扩展结点,并重复上述结点扩展过程。这个过程一直持续到找到所需的解或活结点表为空时为止。2、常见的两种分支限界法(1)队列式(FIFO)分支限界法按照队列先进先出(FIFO)原则选取下一个节点为扩展节点。 数据结构:队列(2)优先队列式分支限界法按照优先队列中规定的优先级选取优先级最高的节点成为当前扩展节点。数据结构:堆最大优先队列:使用最大堆,体现最大效益优先最小优先队列:使用最小堆,体现最小效益优先3、分支限界法与回溯法的不同(1)求解目标:回溯法的求解目标是找出解空间树中满足的所有解,而分支限界法的求解目标则是找出满足约束条

4、件的一个解,或是在满足约束条件的解中找出在某种意义下的。(2)搜索方式的不同:回溯法以深度优先的方式搜索树,而分支限界法则以广度优先或以最小耗费优先的方式搜索解空间树。4、优先队列式分支限界法程序框架设T为状态空间树的根结点:C(x)为消耗估计函数;初始化优先队列Q计算C(T),并将T入队;循环,直到队列Q空(无解); 结点e出队; 若e是回答结点,则 输出解或求解路径,求解结束; 否则, 检查e的子结点x; 若x满足约束条件,则 计算C(x),并将x入队; 记录搜索路径; (二)、概要设计1、设计思路:解空间为一棵排列树,采用优先队列式分支限界法找出所给的最小重量机器设计,开始时,将排列树的

5、根节点置为当前扩展结点。在初始扩展结点处还设有选定部件是哪个供应商提供的,故cv=0,cw=0,position=0,peer=0,1in。x1:n记录供应商的选择while完成对排列树内部结点的有序扩展。循环体内依次从活结点优先队列中取出具有最小重量的结点,依次为当前扩展结点。并且花费不超过c并加以扩展,队列为空时则结束循环。当peer=n时,此时扩展结点是叶节点,得到当前的最小重量和最优解数组x。2、优先级的设定:优先级的设定,当队列中有两个结点的重量是相同的时候,那么设定为,level大的优先级就更高一点,也就是说,更接近于叶子结点的那个结点更优先。目的就是为了更快的刷新出最小的重量,方

6、便后面的剪枝。如果说没有两个结点重量相同,那就重量更小的优先。 优先级优化思路:类似于旅行售货商问题的优先级设定,记录剩余的未购买原件中的,单个原件购买的最小价值之和。 (三)、详细设计#include #include #define INT_MAX 100using namespace std;int *c = NULL;int *w = NULL;int minValue;/最小重量int n,m,d;/n表示供应商个数,m表示零件个数,d表示价格上限class Node/优先队列的结点public: Node(); int weight;/质量 int val;/价格 int sour

7、ce; Node *father;/父结点 int t; bool operator other.t) return true; else if (t = other.t) if (weight other.weight) return true; else return false; else return false; ;Node *minLeaf;void minMacWei() Node initial; initial.father = NULL; initial.weight = 0; initial.val = 0; initial.t = 0; initial.source =

8、 0; priority_queue Heap; Heap.push(initial); while(!Heap.empty() Node *fartherNode = new Node(Heap.top(); Heap.pop(); if (fartherNode-t = n) if (fartherNode-val val; minLeaf = fartherNode; else for (int i = 1; i weight + wfartherNode-t + 1i t = fartherNode-t + 1; newNode-father = fartherNode; newNod

9、e-source = i; newNode-weight = fartherNode-weight + wnewNode-ti; newNode-val = fartherNode-val + cnewNode-ti; Heap.push(*newNode); ;int main() coutn; coutm; coutd; c = new int *n + 1; w = new int *n + 1; minValue = INT_MAX; minLeaf = NULL; for (int i = 0; i = n; +i) ci = new intm + 1; wi = new intm

10、+ 1; for (int i = 1; i = n; +i) for (int j = 1; j = m; +j) cout第i个供应商的第jcij; for (int i = 1; i = n; +i) for (int j = 1; j = m; +j) cout第i个供应商的第jwij; minMacWei(); cout最小重量为:minValueendl; for (int i = 0; i = n; +i) delete ci; delete wi; delete c; delete w; return 0;四、运行结果及分析算法时间复杂度:程序中最大的循环出现在函数minMacWei()中,而此函数遍历排列树的时间复杂度为O(n!),故该算法的时间复杂度为O(n!)。五、总结通过这次实验我了解到分支限界法是一种在问题的解空间树上搜索问题解的算法。分支限界法的搜索策略是,在扩展结点处,先生成其所有的儿子结点,然后再从当前的活结点中选择下一个扩展结点。为了有效的选择下一个扩展结点,以加速搜索的进程,在每一个结点处,计算一个函数值,并根据这个以计算出的函数值,从当前结点中选择一个最有利的结点作为扩展结点,使搜索朝着解空间树上有最优解的分支推进,以便尽快地找出一个最优解。这些算法思想可以用于其它许多问题的求解。专心-专注-专业

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!