启发式算法求解背包问题研究

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

科教之窗

启发式算法求解背包问题研究

黄林峰

(淄博职业学院 信息工程系,山东 淄博 255314)

摘 要:背包问题自提出以来引起学者广泛研究,积累了许多优秀求解算法。精确求解算法主要有动态规划法,分枝限界法。这些

算法能精确得到问题的解。但是由于这类算法的时间复杂度通常都是问题规模的指数级,因此当问题的规模变大时,这些算法花

费的时间让人无法忍受。针对这种现象,研究者提出了启发式的方法。求解背包问题的启发式算法非常多,本文主要介绍两种典型

的确定性启发算法来求解背包问题。

关键词:背包问题;启发式算法;贪心法;动态规划

1 启发式算法

启发式是这样一种技术:它在能接受的时间下寻找问题的最优解,但不保证解的最优性,甚至有些时候无法说明找到的解和最优解的近似程度。即便如此,它在解决问题仍然很有优势,因为:(1)许多模型的构造是近似的;(2)有些难的问题无法用精确算法求解;(3)有时候计算时间比结果更重要。

启发式算法可分为确定性启发算法和不确定启发算法。确定性启发算法是多同个问题求解多次结果不变的算法,这类算法没有随机性,对同一问题的多次求解是完全一样的。这类算法包括贪心法,基于动态规划的启发式方法等传统启发式算法。

2 贪心法

贪心法(Greedy algorithms)是采用与问题相关的贪心准则,每次调用贪心准则都会作出一个不可撤销的决策,这些决策序列组成问题的解。对KP问题,一直沿用的贪心准则为价值重量比(伪有效值,pseudo-utility),该值越大,表示该问题消耗单位资源创造的价值越大,越应优先装入。对MKP,通常会采用相似的操作,只不过计算伪有效值时采用不同的方式。几乎所有启发式算法都会有这个过程,这个过程也被称为算法的预处理过程。

上述为传统的贪心算法,主要时间用在对伪有效值排序上。该算法不能保证得到算法的近似程度。例如对下面的问题,贪心算法的近似度可以无穷趋于1。如果将贪心策略作为一个子过程,在背包问题的一个子问题上调用贪心策略一般会得到较好的理论近似界。

ε-APPROX产生的解的近似程度为ε=1/K,K为要求的精度的倒数。算法用了一种枚举加贪心的方式来搜索最优解。算法先按单位消耗产生的价值非增序排列。对所有小于或等于K个物品的组合,装入这K个物品的,然后用贪心策略装剩下的物品,选择总价值最大的一组作为最优解。该算法能达到预定的近似度主要在枚举这个阶段。对于任意K,算法都会枚举出所有小于等于K个物品的组合来。如果最优解中选择装入的物品数目小于等于K,则毫无疑问,上述枚举操作一定会找到这个最优解。如果最优解中选择装入的物品数目大于K,前K个物品创造的价值精度达到ε=1/K。3 基于动态规划的启发式方法

动态规划解背包问题通常时间复杂度很高,实际运用很少,但它有很高的理论价值,很多近似算法通过动态规划得到问题的较好近似度。动态规划是一种隐枚举,它会枚举出问题的所有可行解,并在其中找到目标值最优的一个。

在文献[1]中提出了基于动态规划的启发式方法,这两个算法都是将原问题分割成离散的段,在每

列宽的设置等。学生通过小组讨论、观看微课等活动来完成课程表框架的制作,练习表格插入、斜线表头绘制、单元格操作和表格美化。教师展示学生提交的部分班级课表进行点评,归纳总结作品制作过程及注意事项,指出学生模仿过程中可能出错和已经出错的知识点,并进行重点评析,强化记忆。组织学生对作品进行相互评价,要求学生从表格框架、表格美化等不同角度发表自己的看法。

5 教学反思

进行信息化教学设计时,要通过对教学效果的评定来评价信息化教学的设计方案,找出其中的成功与

不足之处,从而进一步对信息化教学设计的各个环节进行修正和完善。

表格制作采用问题引导及自我探究学习方法,引导学生一步步去思考、探索,并通过将动画、视频、课件等信息化技术引入教学,突破了传统教学的局限,更生动直观地展示教学内容,突破教学重点和难点,激发了学生的学习热情,培养了自主学习能力。

参考文献:

[1]张一春.信息化教学技术与方法[M]. 北京:高等教育出版社,2014.

[2]景亚琴.信息化教学[M]. 北京:国防工业出版社2014.

科教之窗

段上决策以降低搜索空间,过程如下,

以价值为索引,将可以达到的价值V分成N份,以后的每次更新操作都在这N份索引上操作,这使得问题的搜索空间变成原来的1/N。分割有几种选择,(1)均匀分割,即每个索引对应的价值区间是同样大的,记为VS,此时问题规模变为原来的1/VS;(2)指数分割,即相邻两个索引对应的价值区间相差一个引子(1+ε);(3)其他分割。

文献[1]中提出的算法基于方案1中的均匀分割的思想。该算法是快速近似算法(Fast Approximate),能够达到任意要求的精度ε。算法开始也会对数据预处理,使物品按单位消耗创造的价值排序,然后用贪心计算出伪价值上界。对每个物品,如果其价值达不到设置的基准,则不装入,放入Small队列;对于达到的物品,用动态规划选择装入。这个基准就是上文中

的V/N。上述过程结束后,再按贪心策略将Small队列中物品装入,理论上能达到任意精度ε。

文献[2]中提出的算法基于方案1中的指数分割思想,不过该算法用来求解多目标单约束的背包问题(Multiobjective Knapsack Problem)。在各个目标函数分别求解后,再反复迭代以找到组合目标函数的最优解。4 结束语

背包问题是一种典型的NP问题,在现实中有着广泛的应用。针对背包问题有多种算法求解,本文介绍了几种典型的确定性启发式算法,对研究背包问题的求解有着重要的实际意义。

参考文献:

[1]O.Ibarra and C.Kim,“Fast approximation algorithms for the knapsack and sum of subset problems”,J.ACM,vol.22,pp.463-468,1975.

[2]J.Puchinger,G.R.Raidl and U.Pferschy,“The core concept for the multidi-mensional knapsack problem”.

高职教育可持续发展的探讨

梅建安

(江西财经职业学院,江西 九江 332000)

摘 要:高职教育在现代教育中有着不可忽视极其重要的地位,它的发展体现了一个地方乃至一个国家的现代化程度。高职教育要坚持可持续发展策略,以科学的发展观为指导,大力推进,以人为本,健全机制,创新模式,为国家社会培养造就出大量高素质人才,实现国家社会经济整体的可持续发展。本文对高职教育可持续发展存在的问题和促进发展进行了探讨。

关键词:高职教育;可持续发展;科学发展

1 高职教育的现状及重要性

自改革开放以来,我国高职教育经过不断发展而逐步完善,渐渐走向成熟。高职教育规模也大幅度扩张、蓬勃发展,为适应高职院校大幅度扩张后高职教育工作的需求,添置大量教学硬件设备、科研仪器设备。高职教育办学规模与高等教育平分秋色,高职教育的发展促进了我国高职教育走向大众化的局面,基本满足了社会公众接受高等教育的迫切需求,满足了社会各界服务人才的渴望。国家明确地指导高职院校办学思想,要坚持以就业为方向、突出专业性、走生产服务与科学知识研究相结合的人才培养目标,逐渐落实到高职教学的每个环节中。现如今高职院校数量上来了,那么质也是需要明确保证的,质量是立学之本这个意识依然要保持,以工学相结合为入口点,专业课程建设、高职教育教学内容和方法改革等各方面进行探索创新,加强建设、强化特色、提高质量是保证高职教育可持续发展的主要措施。

2 高职教育发展的问题及促进措施

我国高职教育经历了几十年的发展过程,取得了很大的进步,但是,高职教育在高等教育发展中依然处于弱势。高职教育在长期发展进程中,必然也带出了各种问题,有问题就得解决,不然不但会影响到高职学校的发展,也会阻碍高职教育可持续发展的路线。

2.1 高职教育观念改革

由于现代高职教育的特点还没有深入人心,很多人仍旧持有轻视高职教育的观念,观念的改变是高职教育改革的前提。高职教育应从内容及方法中着手,重点突出基础性、普遍接受性高、实践性强的内容,来达到改变人们对高职教育的观念态度,从而让高职教育走出去的人成为受社会欢迎的人才。高职教育改革内容方法必须以坚持高职教育的可持续发展为中心,为国家社会贡献有用人才。社会公众之所以对高职教育有轻视的看法,其根本还是高职教育本身存在问题,首先高职教育体制要完善,培养定位要明确,高职教育的核心理念是为社会提供适应各种岗位需求的技能型人才,教学相应也就更看重技术及实践能力的培养。有一部分高职教育院校照搬普通高校的做法,学科教学一大堆,科技实践被忽视,这完全是本末

相关文档
最新文档