版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
简介问题描述实现原理贪心性质代码实现致谢简介问题描述1问题描述有一批集装箱要装上一艘载重量为c的轮船。第i个集装箱的重量为Wi。最优装载问题要求在装载体积不受限制的情况下,将尽可能多的集装箱装上轮船。
问题描述有一批集装箱要装上一艘载重量为c的轮船。第i个集2问题描述问题可形式化描述为: 设:
xi表示第i个集装箱是否装载,xi=0or1,i=1ton;
求:
Max(x1+x2+…+xn)
约束条件:
W1*x1+W2*x2+…+Wn*xn<=c
问题描述问题可形式化描述为:3实现原理每次选择时,从剩下的集装箱中,选择重量最小的集装箱。通过这样的选择可以保证已经选出来的集装箱总重量最小,装载的集装箱数量最多,直到船只不能再继续装载为止。实现原理每次选择时,从剩下的集装箱中,选择重量最小的集装箱。4证明考虑任意装载容量为K的非空子问题Sk,令am是Sk中重量最小的集装箱,则am在Sk的某个集装箱装载数量最多且总重量最少的最优子集中。 证明:令Ak是Sk的一个最优子集,且aj是Ak中重量最小的集装箱。若aj=am,则证明am在Sk的某个最优子集中。若aj≠am,则将Ak中的aj替换为am得到Ak’,am<=aj。由于|Ak’|=|Ak|,所以Ak’也是Sk的一个集装箱装载数量最多的的最优子集,且它包含am。证明考虑任意装载容量为K的非空子问题Sk,令am是Sk中重量5贪心性质通过上述证明我们可以知道,每次比较计算得到最小的集装箱,它在最优解中,选出来之后,对余下的集装箱(子问题)采取同样的策略选取最轻的集装箱,放入最优解当中,得到局部最优解,这样逐步缩小问题规模即缩小剩余载重量。最终得到全局最优解。贪心性质通过上述证明我们可以知道,每次比较计算得到最小的集装6代码实现系统环境:Win7操作系统开发平台:DEV-C++代码实现系统环境:7代码实现问题实例假设集装箱数量n=8,
八个集装箱的重量是
[W0,W2,…,W7]=[100,200,50,90,150,50,20,80],
船只载重c=400。求该条件下的最优装载问题。代码实现问题实例8代码实现—数据结构//集装箱结构体typedefstructbox{intweight;//重量
intindex;//初始序号};代码实现—数据结构9代码实现//比较子函数intcmp(constvoid*a,constvoid*b){if(((structbox*)a)->weight>((structbox*)b)->weight)return1;elsereturn0;}//按集装箱重量对集装箱进行快速排序qsort(boxes,8,sizeof(structbox),cmp);时间复杂度为O(n2)代码实现//比较子函数10代码实现//累加重量计算可装载集装箱数量maxLoad=500;countLoad=0;quantity=0;for(i=0;i<8;i++){//如果还能继续装载if(boxes[i].weight<=maxLoad-countLoad){countLoad=countLoad+boxes[i].weight;//计算最大装载数量quantityquantity++;//获取装载标记flag[boxes[i].index]=1;}}时间复杂度O(n)代码实现//累加重量计算可装载集装箱数量11代码实现编号为6,2,5,7,3,0的集装箱总重量为390单位且已被装载,剩余的装载容量为10个单位,小于剩余任一集装箱的重量。问题结束。在这个贪心解决算法中通过flag数组中的结果可以得到
[x0,x1,…,x7]=[1,0,1,1,0,1,1,1],且∑xi=6,i=0to7总的时间复杂度为O(n2)+c*O(n),即O(n2)
([W0,W2,…,W7]=[100,200,50,90,150,50,20,80],船只载重c=400)代码实现编号为6,2,5,7,3,0的集装箱总重量为390单12代码实现—截图代码实现—截图13致谢感谢刘东林老师
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安徽六安皋城中学2026-2027学年九年级上学期阶段性目标检测语文试题(一)(含答案)
- 海水淡化工常识能力考核试卷含答案
- 电器附件零部件制造工岗中安全强化考核试卷含答案
- 印花电脑分色工安全应急能力考核试卷含答案
- 电切削工安全知识竞赛评优考核试卷含答案
- 电商平台客户关系管理实务手册
- 物联网安装调试员岗位技能掌握考核试卷含答案
- 白蚁防治工岗中应急响应预案考考核试卷含答案
- 巧克力塑形师安全宣教竞赛考核试卷含答案
- 矿用高空作业车司机岗中水平强化考核试卷含答案
- T-CECS 486-2017《数据中心供配电设计规程》
- 儿科护理工作压力管理
- 员工调动管理制度
- 链家员工合同
- CAM制造软件厂商竞争格局研究市场调研报告
- 四不伤害及反三违安全培训课件
- 建筑工程技术课程
- 量力而行议论文
- 《心灯录》完整版
- 2026届新高考英语热点冲刺复习:定语从句
- 《盗窃案件的侦查》课件
评论
0/150
提交评论