杨文杰-对遗传算法解决TSP问题的简单改进分解.pptVIP

杨文杰-对遗传算法解决TSP问题的简单改进分解.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
杨文杰-对遗传算法解决TSP问题的简单改进分解

遗传算法的提出 遗传算法的基本操作 简单遗传算法的遗传操作主要有有三种:选择(selection)、交叉(crossover)、变异(mutation)。改进的遗传算法大量扩充了遗传操作,以达到更高的效率。 选择操作实现从群体中选择存活的个体(染色体)。根据个体的适应度函数值所度量的优劣程度决定它在下一代是被淘汰还是被遗传。 交叉操作的简单方式是将被选择出的两个个体P1和P2作为父母个体,将两者的基因进行交换,产生新个体的染色体。 变异操作的简单方式是改变数码串的某个位置上的数码。二进制编码表示的简单变异操作是将0与1互换:0变异为1,1变异为0。 遗传算法的基本流程 适应度函数 为了评价染色体的适应能力,引入了对问题中的每一个染色体都能进行评价的函数,叫适应度函数(fitness function)。 一般情况下,可以直接选取问题的指标函数作为适应度函数。 例1:求f(x)的最大值问题,可以直接采用f(x)作为适应度函数,即F(x)=f(x)。 例2:TSP问题,目标是路径总长度最短,因此可以将路径总长度作为TSP问题的适应度函数。 适应度函数要有效反映每一个染色体与问题的最优解染色体之间的差距。 适应度函数 某些情况下,f(x)在最大值附近的变化可能非常小,以至于很难区分哪个染色体更优,这时应如何定义适应度函数,才能有效反映染色体与最优解染色体的差异? 非线性加速适应函数 线性加速适应函数 利用染色体指标函数值从小到大的排列号作为适应函数值。 按定义,选择概率计算式为: 二进制交配操作的例子 如下表所示,第0代种群为:01101,11000,11000,10011。假定交配概率的100%,即种群中所有染色体均参与交配,并按顺序两两交配。 交配后得到的子群为: 01100,11001,11011,10000 遗传算法的特点 遗传算法是对参数集合的编码而非针对参数本身进行进化; 遗传算法是从问题解的编码组开始而非从单个解开始搜索; 遗传算法利用目标函数的适应度这一信息而非利用导数或其它辅助信息来指导搜索; 遗传算法利用选择、交叉、变异等算子而不是利用确定性规则进行随机操作。 随机性:遗传算法是一个随机搜索算法,每一次运行得到的结果可能是不一样的。 通用性:遗传算法经过编码表示后除适应值计算外几乎不需要任何与问题有关的知识,而且对待求解问题的指标函数没有什么特殊的要求; 并行性:遗传算法具有天然的并行性,适用于并行求解; 遗传算法的收敛性定理 如果在代的进化过程中,遗传算法每次保留到目前为止的最好解,并且算法以交配和变异为其随机化操作,则对于一个全局最优化问题,当进化代数趋于无穷时,遗传算法找到最优解的概率为1。 该定理从理论上保证了只要进化代数足够多,则遗传算法找到最优解的可能性非常大。 实际使用中,要考虑在可接受的有限时间内终止算法,因此解的质量与算法的控制参数,如群体的规模、进化代数等有很大的关系。 遗传算法的描述 给定群体规模N,交配概率pc和变异概率pm 随机生成一个N个初始解组成的初始群体; 计算当前初始群体各染色体xi的适应度函数值F(xi); 如果满足停止准则,则转10; 对群体中的每一个染色体xi计算概率p(xi); 依据概率值从群体中随机选择N个染色体,得到种群; 依交配概率pc按交叉算子Oc进行交配,其子代进入新的群体,未进行交配的染色体直接复制到新群体中; 依变异概率pm从种群中选择染色体按变异算子Om进行变异,用变异后的染色体代替新群体中的原染色体; 用新群体代替旧群体,t=t+1,转3 进化过程中适应值最大的染色体,经解码后作为最优解输出; 结束。 用于求解函数优化问题 例如:求函数f(x)=x2的最大值,其中x为[0,31]间的整数。 利用遗传算法进行求解,关键要解决如下问题: 编码与解码:染色体由五个二进制位组成,可能的染色体有:00000~11111共32个。 适应度函数:F(x)= f(x) 选择操作:轮盘赌 交配操作:单点交配 变异操作:位翻转 控制参数:N=4,Pc=100%,Pm=1% 求解过程: 二进制编码的交配规则 双亲双子法 参与交配的两个双亲染色体确定后,随机地产生一个交配位,双亲染色体交换各自的交配位后的基因给对方,得到两个子染色体。 变化交配法 随机产生交配位时,排除与双亲一样的交配位。 多交配位法 产生多个交配位进行交配,在交配时采用交配区间交替进行的方法。 双亲单子法 两个染色体交配后只得到一个子染色体。一般选择适应值大的。 256 10000 2 3 10011 4 729 11011 2 4 11000 3 625 11001 4 1 11000 2 144 01100 4 2 01101 1 适应值 子代 交

文档评论(0)

bbnnmm885599 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档