- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
实现遗传算法的0-1背包问题求解
目录
摘要 2
一.问题描述 2
二.遗传算法特点介绍 2
三.使用基本遗传算法解决0-1背包问题 3
四.基本遗传算法解决0-1背包问题存在的不足 4
五.改进的遗传算法解决0-1背包问题 6
六.心得体会 9
七.参考文献 10
八.程序代码 10
摘要:研究了遗传算法解决0-1背包问题中的几个问题:
对于过程中不满足重量限制条件的个体的处理,通过代换上代最优解保持种群的进化性
对于交换率和变异率的理解和处理方法,采用逐个体和逐位判断的处理方法
对于早熟性问题,引入相似度衡量值并通过重新生成个体替换最差个体方式保持种群多样性。
一种最优解只向更好进化方法的尝试。
通过实际计算比较表明,本文改进遗传算法在背包问题求解中具有很好的收敛性、稳定性和计算效率。通过实例计算,表明本文改进遗传算法优于简单遗传算法和普通改进的遗传算法。
关键词:遗传算法;背包问题;优化
一、问题描述
0-1背包问题属于组合优化问题的一个例子,求解0-1背包问题的过程可以被视作在很多可行解当中求解一个最优解。01背包问题的一般描述如下:
给定n个物品和一个背包,物品i的重量为Wi,其价值为Vi,背包的容量为C。选择合适的物品装入背包,使得背包中装入的物品的总价值最大。注意的一点是,背包内的物品的重量之和不能大于背包的容量C。在选择装入背包的物品时,对每种物品i只有两种选择:装入背包或者不装入背包,即只能将物品i装入背包一次。称此类问题为0/1背包问题。
其数学模型为:
0-1背包问题传统的解决方法有动态规划法、分支界限法、回溯法等等。传统的方法不能有效地解决0-1背包问题。遗传算法(GeneticAlgorithms)则是一种适合于在大量的可行解中搜索最优(或次优)解的有效算法。
二、遗传算法特点介绍:
遗传算法(GeneticAlgorithm,GA)是1962年Holland教授首次提出了GA算法的思想是近年来随着信息数据量激增,发展起来的一种崭新的全局优化算法,它借用了生物遗传学的观点,通过自然选择、遗传、变异等作用机制,实现各个个体的适应性的提高。
基本遗传算法求解步骤:
Step1参数设置:在论域空间U上定义一个适应度函数f(x),给定种群规模N,交叉率P
P和变异率
P
m
c
},代数T;
}
NStep2初始种群:随机产生U中的N个染色体s
N
置代数计数器t=1;
1,s
2,…,s
,组成初始种群S={s
1,s
2,…,sN,
Step3计算适应度:S中每个染色体的适应度f( );
Step4判断:若终止条件满足,则取S中适应度最大的染色体作为所求结果,算法结束。
iStep5选择-复制:按选择概率P(x)所决定的选中机会,每次从S中随机选定1个染色体并
i
1将其复制,共做N次,然后将复制所得的N个染色体组成群体S;
1
1cStep6交叉:按交叉率P所决定的参加交叉的染色体数c,从S中随机确定c个染色体,
1
c
配对进行交叉操作,并用产生的新染色体代替原染色体,得群体S;
2
2mStep7变异:按变异率P 所决定的变异次数m,从S中随机确定m个染色体,分别进行
2
m
变异操作,并用产生的新染色体代替原染色体,得群体S;
3Step8更新:将群体S
3
作为新一代种群,即用
S3
S
3
代替S,t=t+1,转步3;
遗传算法是一种仿生算法,即模拟生命演化的算法,它从一个代表问题初始解的初始种
群出发,不断重复执行选择,杂交和变异的过程,使种群进化越来越接近某一目标既最优解,如果视种群为超空间的一组点,选择、杂交和变异的过程即是在超空间中进行点集之间的某种变换,通过信息交换使种群不断变化,遗传算法通过模拟达尔文“优胜劣汰,适者生存”的原理激励好的结构,同时寻找更好的结构,作为一种随机的优化与搜索方法,遗传算法有着其鲜明的特点。
—遗传算法一般是直接在解空间搜索,而不像图搜索那样一般是在问题空间搜索,最后才找到解(如果搜索成功的话)。
—遗传算法的搜索随机地始于搜索空间的一个点集,而不像图搜索那样固定地始于搜索空间的初始节点或终止节点,所以遗传算法是一种随机搜索算法。
—遗传算法总是在寻找优解(最优解或次优解),而不像图搜索那样并非总是要求优解,
而一般是设法尽快找到解(当然包括优解),所以遗传算法又是一种优化搜索算法。
—遗传算法的搜索过程是从空间的一个点集(种群)到
您可能关注的文档
最近下载
- 【共识】中国成人失眠伴抑郁焦虑诊治专家共识2020.docx
- 全国青少年文化遗产知识大赛中华诗词专项赛题库.pdf VIP
- 常见的SV300呼吸机介绍及基本操作.ppt
- 芒种节气PPT中国传统二十四节气之芒种课件模板.pptx VIP
- 党员学习党规党纪增强纪律规矩意识的心得体会.doc VIP
- 江苏淮安市2022-2023学年高二下学期期末考试语文试题(含解析).docx VIP
- 术后恶心呕吐专家共识课件.pptx
- 【高考真题】2022年新高考地理真题试卷(广东卷)(附解析).pdf VIP
- 【中考猜想】福建省2023-2024学年中考数学模拟预测题含解析.doc
- 申请材料真实性合法性声明.doc
文档评论(0)