0/1背包问题算法研究

来源 :科学导报·学术 | 被引量 : 0次 | 上传用户:Tiffany100
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要: 0/1背包问题是实际当中经常遇到的一类经典NP难组合优化问题之一.本文分别对贪心法、动态规划、回溯法这三种设计方法进行求解和算法分析,并通过公共测试数据集对各种算法的效果进行了对比,得出了0/1背包问题不同算法的适用范围,为该技术的推广应用奠定了基础。
  关键词: 0/1背包问题;贪心法;动态规划;回溯法
  【中图分类号】 TP301 【文献标识码】 A【文章编号】 2236-1879(2018)09-0200-02
  0 引言
  0/1背包问题[1](knapsack problem)是计算机学科中的一个经典的NP难组合优化问题之一.问题可以描述为:假设给定1个背包,背包内可以容纳n种物品(单个物品的重量是,价值为,),背包的总容量为.0/1背包问题就是求从这 n 件物品中选择部分物品且对物品不能重复选择,满足所选择物品的总重量不超过且总价值最大.如果xi表示物品被选择的情况,.当时,表示物品不被选择;当时,表示物品被选择,物品只能被选择一次或者不选.根据问题描述,可以将该问题转化为如下的约束条件(1)(2)和目标函数(3):
  由式(1-3)可知,0/1背包问题可以转化为寻找在满足约束条件(1)(2)条件下,同时使得目标函数式(3)达到最大的解向量
  1.贪心法求解0/1背包问题
  0/1背包问题的三种贪心策略,每种策略都需要经过多个步骤来完成,每一步都要用贪心策略选择一个物品放入背包中.第一种是重量贪心策略,即从剩下的物品中选择重量最轻的装入背包中,一直下去,直到不满足约束条件;第二种是价值贪心策略;第三种是价值重量比vi/wi贪心策略本文对这三种贪心策略进行了测试,并比较了三种策略的优劣.算法步骤如下:
  (1)所有物品按重量从小到大排序(或按价值从大到小排序或计算每种物品的价值重量比vi/wi,然后按价值重量比从大到小排序);
  (2)若将某物品装入背包后,物品总重量不超过W,则选择重量次小的(或价值次高的或价值重量比次高的)物品装入背包.
  (3)以此策略一直进行下去,直到物品总重量超过W,最后一件物品不选择为止.
  (4)计算放入背包中的所有物品的总价值.
  2 动态规划求解0/1背包问题
  (4)根据计算最优值时得到的信息,构造一个最优解.
  3 回溯法求解0/1背包问题
  使用回溯法求解0/1背包问题的算法步骤为:
  (1)排序:将背包内物品按照价值重量比(vi/wi)的非增顺序进行排列.
  (2)初始化:将当前背包重量w的值设置为0,当前物品的总价值v设置为0,当前搜索深度i为0,当前解向量为x[i]=0,当前最优值v为0.
  (3)调用函数:调用限界函数.
  (4)如果返回的物品价值大于当前最优值v,则把物品i装入背包中,直至没有物品可装或装不下物品k为止,并生成部分解.转步骤(5);否则,转步骤(6).
  (5)如果选择的物品数量k大于或等于物品总数量n,则得到一个可行解,并把该可行解的值作为当前最优值,令i=n,转步骤(3),以便回溯搜索其他可行解;否则,令i=k+1,拒绝物品k,从物品k+1继续装入,转步骤(3).
  (6)当k>=0且x[k]=0时,令k=k-1,直至条件不成立.
  (7)如果k<0,算法结束;否则,转步骤8.
  (8)令x[k]=0,W=W-w[k],v=v-v[k],i=k+1,转步骤(3).
  4 实验结果及分析
  4.1实验结果。
  实验选取背包测试数据中的3个背包数据,背包01为n=8,W=200(n为物品数量,W为物品总重量),背包04为n=30, W=300,背包05为n=100,W=1000.对这3个背包中的测试数据采用以上三种算法进行求解,结果如表1-表5所示.
  4.2实验结果分析。
  对于每个背包而言,贪心法基本上都无法得到最优解;对于背包内物品数量和重量相对较小时,动态规划方法和回溯法都得到了最优解,回溯法用时较长,但对于物品数量和重量比较大时回溯法将会耗时数天,算法失效,动态规划方法仍然可以得到最优解;因此,动态规划方法无论在物品数量和背包重量多大的情況下均能表现出优良的性能.
  5 结语
  以上是对贪心方法,动态规划,回溯法这三种常用算法设计方法原理的概要介绍,并分别应用这三种算法求解公共背包测试数据集中的0/1背包问题,根据求解结果对各种设计方法的算法进行了分析.
  参考文献
  [1] 教材编写组.运筹学[M].北京:清华大学出版社,2005.06
  [2] 于秀霞. 求解背包问题的新型算法[J].长春大学学报.2002,4.
其他文献
摘 要: 發动机作为飞机的重要组成部分之一,它不仅能决定飞机的飞行速度,更能彰显国家的科技水平。在发动机的维修中,对维修业务进行数字化的管理是十分常见的。数字化管理以信息技术为中心,能够实现对航空发动机维修的智能化管理。本文以数字化管理系统为着手点,主要列举了如今维修管理系统中存在的一些问题,并结合我国航空发动机的实际情况描述新型管理系统的重要组成部分。  关键词: 航空发动机;维修;数字化管理 
期刊
摘 要: 语言教育是幼儿教育中的重要组成部分,运用正确语言表达自己的意愿打下了幼儿发展的基础,语言教育又是幼儿接触世界、认识世界,培养与他人交流能力的基础。在幼儿教育中,良好的语言教育是必不可少的。但在幼儿教育的现阶段,语言教育的方法存在着改进的空间。  关键词: 幼儿教育;幼儿语言;方法  【中图分类号】 G612 【文献标识码】 A【文章编号】 2236-1879(2018)09-0180-0
期刊
摘 要: 军事院校肩负着培养我国合格军事指挥员及专业技术人员的历史使命,同时也是我军干部生长的基地,而军校文化建设在培养高素质军事人才方面发挥着重要的作用,因此,必须重视军校文化建设工作。  关键词: 军事院校;军校文化;建设;人才培养  【中图分类号】 G251 【文献标识码】 A【文章编号】 2236-1879(2018)09-0184-01  军校文化是军事院校生存和发展的基础和动力源泉,也
期刊
摘 要: 阐述了制造业和制造技术在国民经济发展中的地位,并以长期在焊接领域工作的体会,论述了新型工业化中的焊接工程和焊接产业,采用优质高效节能的焊接技术改进焊接结构生产,利用信息及计算机改造焊接传统产业、焊接系统工程等几个重要问题,并对之进行了分析,提出有关建议。  关键词: 制造技术;焊接工程;焊接产业  【中图分类号】 TG434 【文献标识码】 A【文章编号】 2236-1879(2018)
期刊
摘 要: 介紹了汽车涂装车间底漆输送机的主要类型、结构特点及使用条件,并分析比较了其优缺点。  关键词: 汽车涂装;底涂;输送机;比较分析  【中图分类号】 F407 【文献标识码】 A【文章编号】 2236-1879(2018)09-0190-02  1汽车底涂  随着科技和汽车工业的快速发展和人们生活水平的提高,人们对汽车的舒适性和可靠性提出了越来越高的要求。轿车驾驶室焊缝和底部的防锈密封质量
期刊
摘 要: 对于幼儿全面发展而言,游戏是教育的主要方法,有利于提高幼儿社会交往能力、认知能力及个性化,而且是幼儿成长的真实写照。幼儿园应立足于课程游戏化改革目标,积极组织开展户外游戏活动,使得每一位幼儿都能够在游戏中快乐学习,在学习中快乐游戏。  关键词: 幼儿园;户外游戏;开展  【中图分类号】 G612 【文献标识码】 A【文章编号】 2236-1879(2018)09-0179-01  相比于
期刊
摘 要: 当前,我国社会经济快速发展建设,城市建筑水平也显著增加,城市内底层建筑也逐渐被高层建筑所替代,其中最为突出的为写字楼、商业楼、办公楼等。为了能够为人们提供方便出行,电梯也开始在高层建筑物内应用,进而电梯应用与管理也开始越加重要。根据电梯在实际运行内所存在的问题,结合电梯运行有关标准规范,定期对电梯开展运行状态检测,确保电梯安全运行。除此之外,近几年电梯老龄化问题也越加严重,为了能够提高电
期刊
摘 要: 作为经济管理类人才培养必修的基础课程之一,西方经济学在其教学过程中会因学校的人才培养定位不同而存在差异。结合西方经济学课程的教学现状,本文分析了本课程在应用型教学中存在的不足,并就如何提高其教学效果进行了探讨。  关键詞: 应用型;人才培养;西方经济学;教学改革  【中图分类号】 G642.0 【文献标识码】 A【文章编号】 2236-1879(2018)09-0201-01  近年来,
期刊
摘 要: 语文学科是中职院校的基础学科,虽然不像中学那样课时量多、教学时间长,但学习基础薄弱,素质相对较低时中职院校学生普遍存在的大问题。长期以来,中职语文教学和德育相互促进的。鉴于此,中职学校必须重视语文教学改革,从而实现德育教育与语文教学深度融合、同步协调发展。教师修养的提高,教学因素的利用,教学方式方法的正确,为中职语文与德育教学的融合奠定了基础,充实了条件,完善了保障。  关键词: 中职语
期刊
摘 要: 近年来,新媒体的辐射力日益提升,高校新媒体的影响力随之不断增强。对山东省内六所高校的新媒体进行调查后发现,新媒体语言中蕴含着大量网络词语。这些网络词语形式独特、意义新颖、感染力强、富有魅力,与新媒体传播态势呈现正相关。高校新媒体逐渐成为大学生获取信息的重要媒介,新媒体中的网络词语更新速度快,周期短,数量大。这些语言变异不仅潜移默化地影响着青年学生,也折射出青年学生求新求异、泛娱乐化和泛消
期刊