用遗传算法解决0-1背包问题要点.pdf

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实现遗传算法的 0-1 背包问题 求解及其改进 姓名: 学号: 班级: 提交日期: 2012 年 6 月 27 日 实现遗传算法的 0-1 背包问题求解 摘要: 研究了遗传算法解决 0-1 背包问题中的几个问题: 1) 对于过程中不满足重量限制条件的个体的处理 , 通过代换上代最优解保持种群的进化性 2) 对于交换率和变异率的理解和处理方法 , 采用逐个体和逐位判断的处理方法 3) 对于早熟性问题 , 引入相似度衡量值并通过重新生成个体替换最差个体方式保持种群多样性。 4) 一种最优解只向更好进化方法的尝试。 通过实际计算比较表明 , 本文改进遗传算法在背包问题求解中具有很好的收敛性、 稳定性和计算 效率。通过实例计算,表明本文改进遗传算法优于简单遗传算法和普通改进的遗传算法。 关键词: 遗传算法;背包问题 ;优化 1. 基本实现原理: 一、问题描述 0-1 背包问题属于组合优化问题的一个例子,求解 0-1 背包问题的过程可以被视作在很 多可行解当中求解一个最优解。 01 背包问题的一般描述如下: 给定 n 个物品和一个背包,物品 i 的重量为 Wi ,其价值为 Vi ,背包的容量为 C。选择合适 的物品装入背包, 使得背包中装入的物品的总价值最大。 注意的一点是, 背包内的物品的重 量之和不能大于背包的容量 C。在选择装入背包的物品时,对每种物品 i 只有两种选择:装 入背包或者不装入背包,即只能将物品 i 装入背包一次。称此类问题为 0/1 背包问题。 其数学模型为: 0-1 背包问题传统的解决方法有动态规划法、分支界限法、回溯法等等。传统的方法不能有 效地解决 0-1 背包问题。遗传算法( Genetic Algorithms)则是一种适合于在大量的可行解中 搜索最优(或次优)解的有效算法。 二、遗传算法特点介绍 : 遗传算法 (Genetic Algorithm, GA)是 1962 年 Holland 教授首次提出了 GA算法的思想是近 年来随着信息数据量激增, 发展起来的一种崭新的全局优化算法, 它借用了生物遗传学的观 点,通过自然选择、遗传、变异等作用机制,实现各个个体的适应性的提高。 基本遗传算法求解步骤: Step 1 参数设置: 在论域空间 U 上定义一个适应度函数 f(x),给定种群规模 N,交叉率 Pc 和变异率 P ,代数 T; m Step 2 初始种群: 随机产生 U 中的 N 个染色体 s , s , …s, ,组成初始种群 S={s , s , …s, } , 1 2 N 1 2 N 置代数计数器 t =1; Step 3 计算适应度 :S 中每个染色体的适应度 f( ) ; Step 4 判断: 若终止条件满足,则取 S 中适应度最大的染色体作为所求结果,算法结束。 Step 5 选择 -复制: 按选择概率 P(x )所决定的选中机会,每次从 S 中随机选定 1 个染色体并 i 将其复制,共做 N 次,然后将复制所得的 N 个染色体组成群体 S ; 1 Step 6 交叉: 按交叉率 P 所决定的参加交叉的染色体数 c,从 S 中随机确定 c 个染色体,

您可能关注的文档

文档评论(0)

tianya189 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档