实验五--箱子装载问题(分支限界法)(共5页).doc
《实验五--箱子装载问题(分支限界法)(共5页).doc》由会员分享,可在线阅读,更多相关《实验五--箱子装载问题(分支限界法)(共5页).doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上实验五 箱子装载问题一、实验目的:1、 理解和复习所学各种算法的概念;2、 掌握和复习所学各种算法的基本要素;3、 掌握各种算法的优点和区别;4、 通过应用范例掌握选择最佳算法的设计技巧与策略;二、实验内容及要求:1、使用贪心算法、回溯法、分支限界法解决箱子装载问题。(任选两种)2、通过上机实验进行算法实现。 3、保存和打印出程序的运行结果,并结合程序进行分析,上交实验报告。三、实验原理:回溯法原理:从开始结点出发,以深度优先方式搜索整个解空间。这个节点成为活结点,同时也成为当前的扩展节点。在当前的扩展节点处,搜索向纵深方向一致一个新节点。贪心算法原理:贪心算法通过一
2、系列的选择来得到问题的解。他所做的每一个选择都是当前状态下局部最好选择,即贪心选择。四、 程序代码:贪心算法:#include#include#define N 100using namespace std;int main()int tN,w0N,wN,n,c,m,i,j;int max=0,weight=0;bool txN;cout请输入轮船的载重量c:c;cout请输入可以装入的集装箱的数目n:n;cout请输入各集装箱的重量wi(1=i=n):endl;for(int i=0;iw0i;wi+1=w0i;txi+1=false;for(i=1;in;i+)for(j=i+1;jwj)
3、 int tem;tem=wj;wj=wi;wi=tem;for(i=1;i=n;i+)printf(%d,wi);printf(n);for(i=1;i=n;i+)int min=weight+wi;if(min=c)weight+=wi;txi=true;m=i-1;cout最优装载情况为:endl;cout装入轮船的集装箱为:;max=0;for(i=1;i=m;i+)if(txi)max+=wi;coutwi-;coutendl;cout装入的集装箱的最大重量为:maxendl;system(pause);回溯法:#includeusing namespace std;class Lo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 箱子 装载 问题 分支 限界
限制150内