贪心算法解决最优装载问题_第1页
贪心算法解决最优装载问题_第2页
贪心算法解决最优装载问题_第3页
贪心算法解决最优装载问题_第4页
贪心算法解决最优装载问题_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

辉彩园林绿化工程有限公司网站中期课程设计报告PAGE4PAGE7算法设计与分析实验报告//author:KevinBlack//这个是我刚刚做好的作业,我觉得应该上传一些文档到豆丁//老师···假如你看到我的作业跟网上的这个文章一样···你别以为我是抄的啊···//记得看看作者的名字啊!!贪心算法之最优装载问题一.实验目的掌握贪心算法的基本思想(具体阐述)掌握贪心算法的基本要素:贪心选择性质和最优子结构性质二.实验内容贪心算法基本思想:整体划分成部分,分而治之。每个部分中寻找最优解,然后综合所有部分最优解。这是,可能得到整体的最优解,但往往得到的是近似的最优解。贪心算法基本要素:1.贪心选择性质所谓贪心选择性质是指所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来达到。这是贪心算法可行的第一个基本要素,也是贪心算法与动态规划算法的主要区别。2.最优子结构性质当一个问题的最优解包含其子问题的最优解时,称此问题具有最优子结构性质。最优装载问题1.问题描述:有一批集装箱要装上一艘载重量为c的轮船。其中集装箱i的重量为Wi。最优装载问题要求确定在装载体积不受限制的情况下,将尽可能多的集装箱装上轮船。2.数学描述:三.实验程序及运行结果#include<iostream.h>#include<stdlib.h>voidSwap(int&x,int&y)//交换{ intt; t=x; x=y; y=t;}voidsort(intw[],intt[],intn)//排序,由小到大{ for(intm=0;m<n;m++)//为每个物品编序号 { t[m]=m; } inti,j; intlastExchangeIndex; i=n-1; while(i>0) { lastExchangeIndex=0; for(j=0;j<i;j++) { if(w[j+1]<w[j]) { Swap(w[j+1],w[j]);//物品重量交换 lastExchangeIndex=j; Swap(t[j],t[j+1]);//物品序号交换 } } i=lastExchangeIndex;//当不存在交换的时候,lastExchangeIndex=0,循环结束 }}voidLoading(intx[],intw[],intc,intn,int*t)//传址{ sort(w,t,n); for(inti=0;i<n;i++)x[i]=0; for(intj=0;j<n&&w[t[j]]<=c;j++) { x[t[j]]=1;//装入 c-=w[t[j]]; }}intmain(){ intn,c; cout<<"请输入物品个数:"<<endl; cin>>n; cout<<"请输入最大容量:"<<endl; cin>>c; int*t=newint[n];//存储物品编号 int*w=newint[n];//存储每个物品重量 for(inti=0;i<n;i++) { cout<<"请输入第"<<i<<"个物品重量:"<<endl; cin>>w[i]; } int*x=newint[n];//物品是否装入 for(intj=0;j<n;j++)//初始化所有物品均为不装入 { x[j]=0; } Loading(x,w,c,n,t); cout<<"装入物品编号为:"<<endl; for(intk=0;k<n;k++) { if(x[k]==1) cout<<t[k]+1<<""; } //释放数组资源空间 delete[]t; delete[]w; delete[]x; return0;}四.实验分析证明:1.最优装在问题具有贪心选择性质:分析:当载重量为定值c时,Wi越小时,可装载的集装箱数量n越大。问题划分为i个子问题,只要依次选择最小重量集装箱,满足小于等于c。原问题即可由i个子问题的最优解得到整体的最优解。所以,最优装在问题具有贪心选择性质。y=max(x1w1+x2w2+…+xiwi+…+xnwn)具体的做法:首先排序整个集装箱(依照重量从小到大的顺序),然后尽可能多地选出前i个集装箱,要求y=(x1w1+x2w2+…+xiwi)<=c.输出所选集装箱编号。任务完成。2.最优装载问题具有最优子结构性质:分析:由2中的分析可以看出,一个问题的最优解包含其子问题的最优解,所以,最优装载问题具有最优子结构性质。3.由于最优装载问题的贪心选择性质和最优子结构性质,最优装载问题符合贪心算法。参考文献[1]/sfzx/jpsykc/xlcad/xu04.html#(18)内容总结

(1)//author:KevinBlack

//这个是我刚刚做好的作业,我觉得应该上传一些文档到豆丁

//老师···假如你看到我的作业跟网上的这个文章一样···你别以为我是抄的啊···

//记得看看作者的名字啊

温馨提示

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

评论

0/150

提交评论