- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十五章近似算法
第十五章 近似算法
输入数据本身就是近似的
很多问题的最优解,允许有一定程度的近似
采用近似算法可以在很短的时间内得到问题的解(特别是与指数时间相比较)
15.1 近似算法的性能
一、近似算法的基本要求
对于规模为的问题,
1. 算法能以的多项式时间内完成;
2. 算法的近似解满足一定的精度。
二、近似比率
1、近似算法的近似比率
是最小化问题,是的一个实例,是解的一个近似算法, 是用算法对的实例求解时得到的近似值;是解的最优算法, 是算法对的实例求解时所得到准确值。则近似算法的近似比率为:
如果是最大化问题,则为:
2、与近似比率相关的问题
1)对最小化问题,有:;
对最大化问题,有:。
2)近似算法的近似比率总大于或等于1。
3)近似算法的近似比率越小,则算法的性能越好。
三、相对误差
1、相对误差的定义
相对误差表示近似算法的精确度,相对误差定义为:
2、相对误差的界
若对输入规模为的问题,存在函数,使得:
称函数为近似算法的相对误差的界。
3、相对误差与近似比率的关系
。
四、优化问题的近似方案(approximation scheme)
1、很多难解的问题,可以增加近似算法的计算量,来改善近似算法的性能。
2、优化问题的近似方案
把满足的一类近似算法,称为优化问题的近似方案
算法的性能比率会聚于1。
3、多项式近似方案(polynomial approximation scheme PAS)
近似方案中的每一个算法,以输入实例的规模的多项式时间运行,称该近似方案为多项式近似方案。
算法的计算时间,不随的减少而增长太快。
4、完全多项式近似方案(fully polynomial approximation scheme FPAS)
减少常数倍,近似方案中算法的计算时间的增长不超过个常数倍。
近似方案中算法的计算时间是和的多项式
15.2 装箱问题
一、装箱问题(BIN PACKING)
给定个物体,体积分别为,容量为的箱子,满足,。要求物体不能分割,把所有物体装进箱子,使所装入的箱子尽可能少。
二、装箱问题的四种算法
1、 First Fit(首次适宜FF)算法:
把箱子按下标标记,所有的箱子初始化为空;
按物体顺序装入箱子。
装入过程如下:
把第一个物体装入第一个箱子,
如果还容纳得下第二个物体,继续把第二个物体装入;
否则,把装入。
一般地,为了装入物体,先找出能容纳得下的下标最小的箱子,
再把物体装入箱子,
重复这些步骤,直到把所有物体装入箱子为止。
2、Best Fit(最适宜BF)算法:
与FF算法类似,
不同点:为了装入物体,首先检索能容纳得下、剩余容量最小的箱子,
再把物体装入箱子,
重复这些步骤,直到把所有物体装入箱子为止。
3、First Fit Decreasing(首次适宜降序FFD)算法:
首先把物体按体积大小递减的顺序排序,
然后用FF算法装入物体。
4、Best Fit Decreasing(最适宜降序BFD)算法:
首先把物体按体积大小递减的顺序排序,
然后用BF算法装入物体。
15.2.1 首次适宜算法
一、FF算法的描述:
算法15.1 装箱问题的首次适宜算法
输入:n个物体的体积s[],箱子的容量C
输出:装入箱子的个数k,每个箱子中装入的物体累计体积b[]
1. void first_fit(float s[],int n,float C,float b[],int k)
2. {
3. int i,j;
4. k = 0; /* 装入物体的箱子下标 */
5. for (i=0;in;i++) /* 箱子初始化为空 */
6. b[i] = 0;
7. for (i=0;in;i++) { /* 按物体顺序装入 */
8. j = 0;
9. while ((C-b[j])s[i])) /* 检索能容纳物体i的下标最小的箱子j */
10. j++;
11. b[j] += s[i];
12. k = max(k,j); /* 已装入物体的箱子最大下标 */
13. }
14. k++; /* 箱子的最大下标转换为箱子的个数 */
15. }
二、FF算法的分析
1、时间复杂性: 时间。
2、算法性能估计:
假定,为一个单位体积,,。
令表示在实例下,使用算法FF装入物体时,所使用的箱子数目;
令为最优装入时所使用的箱子数目。
至多有一个非空的箱子所装的物体体积小于。
否则,如果有两个以上的箱子所装的物体体积小于,
假设这两个箱
您可能关注的文档
最近下载
- 雷州市卫生健康局下属事业单位招聘考试真题2024.docx VIP
- 第十章 分式(小结与思考)(单元复习课件)-2023-2024学年八年级数学下册同步课堂(苏科版).pptx VIP
- 儿童故事绘本《嘻哈农场-吱咕、吱咕、嘎》.ppt VIP
- BSEN206-2013欧标欧洲规范.pdf VIP
- 2025年山东发展投资控股集团有限公司人员招聘笔试备考试题含答案详解.docx VIP
- 第二届全国健康照护行业职业技能竞赛(健康照护师)理论试题库-下(判断题汇总).docx VIP
- 2025年人工智能训练师(五级)初级资格理论考试练习题库(460题)含答案.docx VIP
- 重庆市西南师大附中高一上学期期末考试(化学).doc VIP
- 一种人工沙滩.pdf VIP
- 广汽丰田C-HR EV_车型手册电子版下载_非汽车用户车主车辆使用操作驾驶说明书.pdf VIP
文档评论(0)