欢迎来到天天文库
浏览记录
ID:55412974
大小:345.50 KB
页数:16页
时间:2020-05-12
《人工智能大作业解读.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实现遗传算法的0-1背包问题求解目录摘要.........................................................................................................2一.问题描述..........................................................................................2二.遗传算法特点介绍..................
2、.........................................................2三.使用基本遗传算法解决0-1背包问题..............................................3四.基本遗传算法解决0-1背包问题存在的不足...................................4五.改进的遗传算法解决0-1背包问题..................................................6
3、六.心得体会..........................................................................................9七.参考文献.........................................................................................10八.程序代码...................................................
4、......................................10摘要:研究了遗传算法解决0-1背包问题中的几个问题:1)对于过程中不满足重量限制条件的个体的处理,通过代换上代最优解保持种群的进化性2)对于交换率和变异率的理解和处理方法,采用逐个体和逐位判断的处理方法3)对于早熟性问题,引入相似度衡量值并通过重新生成个体替换最差个体方式保持种群多样性。4)一种最优解只向更好进化方法的尝试。通过实际计算比较表明,本文改进遗传算法在背包问题求解中具有很好的收敛性、稳定性和计算效率。通过实
5、例计算,表明本文改进遗传算法优于简单遗传算法和普通改进的遗传算法。关键词:遗传算法;背包问题;优化一、问题描述0-1背包问题属于组合优化问题的一个例子,求解0-1背包问题的过程可以被视作在很多可行解当中求解一个最优解。01背包问题的一般描述如下:给定n个物品和一个背包,物品i的重量为Wi,其价值为Vi,背包的容量为C。选择合适的物品装入背包,使得背包中装入的物品的总价值最大。注意的一点是,背包内的物品的重量之和不能大于背包的容量C。在选择装入背包的物品时,对每种物品i只有两种选择:装入背包或者不装
6、入背包,即只能将物品i装入背包一次。称此类问题为0/1背包问题。其数学模型为:0-1背包问题传统的解决方法有动态规划法、分支界限法、回溯法等等。传统的方法不能有效地解决0-1背包问题。遗传算法(GeneticAlgorithms)则是一种适合于在大量的可行解中搜索最优(或次优)解的有效算法。二、遗传算法特点介绍:遗传算法(GeneticAlgorithm,GA)是1962年Holland教授首次提出了GA算法的思想是近年来随着信息数据量激增,发展起来的一种崭新的全局优化算法,它借用了生物遗传学的观
7、点,通过自然选择、遗传、变异等作用机制,实现各个个体的适应性的提高。基本遗传算法求解步骤:Step1参数设置:在论域空间U上定义一个适应度函数f(x),给定种群规模N,交叉率Pc和变异率Pm,代数T;Step2初始种群:随机产生U中的N个染色体s1,s2,…,sN,组成初始种群S={s1,s2,…,sN},置代数计数器t=1;Step3计算适应度:S中每个染色体的适应度f();Step4判断:若终止条件满足,则取S中适应度最大的染色体作为所求结果,算法结束。Step5选择-复制:按选择概率P(xi
8、)所决定的选中机会,每次从S中随机选定1个染色体并将其复制,共做N次,然后将复制所得的N个染色体组成群体S1;Step6交叉:按交叉率Pc所决定的参加交叉的染色体数c,从S1中随机确定c个染色体,配对进行交叉操作,并用产生的新染色体代替原染色体,得群体S2;Step7变异:按变异率Pm所决定的变异次数m,从S2中随机确定m个染色体,分别进行变异操作,并用产生的新染色体代替原染色体,得群体S3;Step8更新:将群体S3作为新一代种群,即用S3代替S,t=t+1,转步3;遗传算法是一
此文档下载收益归作者所有