Inver-over 算子 1998:Inver-over 算子可以看作是GA中交叉和变异的混合方法

Inver-over步骤:

  1. 随机初始化种群P
  2. 如果没达到temination,对每一个个体,随机从 中选择一个city c
  3. 执行下面的循环,生成随机数,如果rand()<=p,从 剩余的city中随机选择一个;如果rand()>p,从P中随机选择一个个体,然后选择c下一个位置的city。执行上面的循环,直到选择的 是c的下一个city则停止
  4. 计算eval(si)>eval(),更优则替换

举个例子:如果 如果选择的city c=3,产生的随机数小于p,则从中选择另一个city =8,将c下一个位置与 之间的数字全部逆序,则;;另一种情况,如果产生的随机数大于p,则从种群P中随机选择一个个体,假设选择的个体是 ,则选择c的下一个city,这里是5,作为,然后将中c下一个位置与 之间的数字全部逆序,上面的过程执行多次,直到是c的下一个city。比如当前个体是 ,当前选中的city是6,不管随机数与p比较后选择那种方案生成,如果是8的话,循环结束。

实验部分:种群P=100,random inversion 概率p=0.02,结束条件是如果最后10次迭代最好的solution都没有得到改善。测试数据是TSPLIB。实验比较了simple inversion(p=1.0)和Lin-Kerninghan算法,前者时间和效果相差比较大,后者时间更短但是结果没有达到最优值。

遗传算法:交叉操作 Inver-over 算子相关推荐

  1. 遗传算法二进制编码c语言,遗传算法,实数编码的交叉操作之SBX(模拟二进制交叉)...

    本文主要介绍遗传算法(实数编码)的交叉操作中的SBX,模拟二进制交叉. 首先,给出个人用python2.7实现的代码,具体模块已上传到: https://github.com/guojun007/sb ...

  2. 锦标赛算法c语言,多目标遗传算法 ------ NSGA-II (部分源码解析) 交叉操作 crossover.c(示例代码)...

    遗传算法中的交叉操作是 对NSGA-II  源码分析的  最后一部分, 这一部分也是我 从读该算法源代码和看该算法论文理解偏差最大的  函数模块. 这里,首先提一下,遗传算法的  交叉操作.变异操作都 ...

  3. 遗传算法:交叉操作 Merge(12) Crossover、MOX、MIS、ULX

    遗传算法基于顺序的交叉操作的集中merge方法:Merge(1&2) Crossover 1993.Merging crossover (MOX) 2004.Merging Independe ...

  4. matlab遗传算法中的变异操作,遗传算法流程图?遗传算法的基本原理?遗传算法 交叉和变异?简单遗传算法MATLAB实现(4)...

    对上一节中的函数进行优化,设置遗传算法相关参数,程序如下 function run_ga() elitism = true;%选择精英操作 pop_size = 20;%种群大小 chromo_siz ...

  5. 遗传算法:交叉操作 Order Crossover OX1, OX2, OX3, OX4, OX5

    OX11985:是最基本的Order Crossover ,执行过程如下: 首先从父代随机选择两个个体P1,P2和两个点 将P1,P2两点之间部分提取出来,放在子代O1,O2相同位置(这里与PMX是相 ...

  6. 遗传算法:交叉操作 Position-based Crossover (PBX)

    Position-based Crossover (PBX) 1990 随机选择父代P1,P2,随机选择几个基因位置,位置可以不连续 将选中的P1基因按照位置复制到O1中 删除P2中P1选中的基因,剩 ...

  7. 遗传算法:交叉操作 NWOX 2006

    Non-Wrapping Order Crossover (NWOX)[1]:NWOX是一种OX的变体,既能够保存相对位置关系,也能够保存绝对位置关系. 执行步骤如下: C1, C2 是其父本 P1, ...

  8. 遗传算法:交叉操作 UPMX

    UPMX(uniform partially-mapped crossover 1996)执行过程如下: 首先复制父代parent1的染色体到子代O1 生成一个随机数pos1(如 2) 然后在父代pa ...

  9. java 提取轮廓_TensorFlow 卷积操作模拟sobel算子提取图像轮廓

    注意: sobel算子不保证结果在0-255,需要做一次归一化处理,再乘以255 输出的数据shape与图像的shape不一样,需要一次转化 效果 代码 import matplotlib.pyplo ...

最新文章

  1. 怎么判断几行_日语高考作文该怎么写,和汉语作文一样吗?
  2. Ubuntu下mysql字符集设置
  3. 数字和数字根的总和_使用8086微处理器查找8位数字的数字总和
  4. SpringBoot笔记-注册后发送邮箱点击激活(异步)
  5. 再看2015 --北漂程序员的成长史
  6. 如何使用Python3连接MySQL
  7. php 写聊天室源码,php写的简易聊天室代码
  8. 2021全国省市区街道(乡镇)数据及编码(不包含港澳台)
  9. java.lang.reflect.Field常用方法
  10. 系统之家 Win10_21H1 x64位 游戏专业版系统下载 2021.06
  11. Project 2016 中文版软件快捷键学习
  12. 苹果备份删除有影响吗_苹果手机短信删除还可以恢复吗?
  13. 在Chrome、Firefox等高版本浏览器中实现低延迟播放海康、大华RTSP
  14. 全国大学生数学建模竞赛获奖难度
  15. Flink ReducingState 实例
  16. hihoCoder Magic Box
  17. uboot移植——启动内核
  18. 实用的ipad财务管理软件-----财务管理和会计师的超级学习软件
  19. Win11三指触控怎么设置?
  20. 全球绿色建筑的 10 个最酷的例子

热门文章

  1. Unity -- 用EasyAR制作出AR红包
  2. BookCollectionSoftware - 图书管理(知识点糅合::类,对象,抽象类,接口,封装,继承,多态,顺序表)- java - 细节狂魔
  3. 前端基础学习html部分小结
  4. 新手怎么做直播卖货?都有哪些卖货成交话术技巧?
  5. 在Excel中查找/替换时使用换行符
  6. 那门用Python讲授的程序设计课程能带给学生什么
  7. 苹果手机群控 ios免越狱中控 非越狱脚本高清投屏
  8. 微信实时给服务器发送gps位置,你知道吗?微信聊天发原图暴露你的位置信息
  9. Vue.js+ECharts:切换图表类型(图表工具栏)
  10. 几款常用装机检测软件