遗传算法:交叉操作 Inver-over 算子
Inver-over 算子 1998:Inver-over 算子可以看作是GA中交叉和变异的混合方法
Inver-over步骤:
- 随机初始化种群P
- 如果没达到temination,对每一个个体,,随机从 中选择一个city c
- 执行下面的循环,生成随机数,如果rand()<=p,从 剩余的city中随机选择一个;如果rand()>p,从P中随机选择一个个体,然后选择c下一个位置的city。执行上面的循环,直到选择的 是c的下一个city则停止
- 计算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 算子相关推荐
- 遗传算法二进制编码c语言,遗传算法,实数编码的交叉操作之SBX(模拟二进制交叉)...
本文主要介绍遗传算法(实数编码)的交叉操作中的SBX,模拟二进制交叉. 首先,给出个人用python2.7实现的代码,具体模块已上传到: https://github.com/guojun007/sb ...
- 锦标赛算法c语言,多目标遗传算法 ------ NSGA-II (部分源码解析) 交叉操作 crossover.c(示例代码)...
遗传算法中的交叉操作是 对NSGA-II 源码分析的 最后一部分, 这一部分也是我 从读该算法源代码和看该算法论文理解偏差最大的 函数模块. 这里,首先提一下,遗传算法的 交叉操作.变异操作都 ...
- 遗传算法:交叉操作 Merge(12) Crossover、MOX、MIS、ULX
遗传算法基于顺序的交叉操作的集中merge方法:Merge(1&2) Crossover 1993.Merging crossover (MOX) 2004.Merging Independe ...
- matlab遗传算法中的变异操作,遗传算法流程图?遗传算法的基本原理?遗传算法 交叉和变异?简单遗传算法MATLAB实现(4)...
对上一节中的函数进行优化,设置遗传算法相关参数,程序如下 function run_ga() elitism = true;%选择精英操作 pop_size = 20;%种群大小 chromo_siz ...
- 遗传算法:交叉操作 Order Crossover OX1, OX2, OX3, OX4, OX5
OX11985:是最基本的Order Crossover ,执行过程如下: 首先从父代随机选择两个个体P1,P2和两个点 将P1,P2两点之间部分提取出来,放在子代O1,O2相同位置(这里与PMX是相 ...
- 遗传算法:交叉操作 Position-based Crossover (PBX)
Position-based Crossover (PBX) 1990 随机选择父代P1,P2,随机选择几个基因位置,位置可以不连续 将选中的P1基因按照位置复制到O1中 删除P2中P1选中的基因,剩 ...
- 遗传算法:交叉操作 NWOX 2006
Non-Wrapping Order Crossover (NWOX)[1]:NWOX是一种OX的变体,既能够保存相对位置关系,也能够保存绝对位置关系. 执行步骤如下: C1, C2 是其父本 P1, ...
- 遗传算法:交叉操作 UPMX
UPMX(uniform partially-mapped crossover 1996)执行过程如下: 首先复制父代parent1的染色体到子代O1 生成一个随机数pos1(如 2) 然后在父代pa ...
- java 提取轮廓_TensorFlow 卷积操作模拟sobel算子提取图像轮廓
注意: sobel算子不保证结果在0-255,需要做一次归一化处理,再乘以255 输出的数据shape与图像的shape不一样,需要一次转化 效果 代码 import matplotlib.pyplo ...
最新文章
- 怎么判断几行_日语高考作文该怎么写,和汉语作文一样吗?
- Ubuntu下mysql字符集设置
- 数字和数字根的总和_使用8086微处理器查找8位数字的数字总和
- SpringBoot笔记-注册后发送邮箱点击激活(异步)
- 再看2015 --北漂程序员的成长史
- 如何使用Python3连接MySQL
- php 写聊天室源码,php写的简易聊天室代码
- 2021全国省市区街道(乡镇)数据及编码(不包含港澳台)
- java.lang.reflect.Field常用方法
- 系统之家 Win10_21H1 x64位 游戏专业版系统下载 2021.06
- Project 2016 中文版软件快捷键学习
- 苹果备份删除有影响吗_苹果手机短信删除还可以恢复吗?
- 在Chrome、Firefox等高版本浏览器中实现低延迟播放海康、大华RTSP
- 全国大学生数学建模竞赛获奖难度
- Flink ReducingState 实例
- hihoCoder Magic Box
- uboot移植——启动内核
- 实用的ipad财务管理软件-----财务管理和会计师的超级学习软件
- Win11三指触控怎么设置?
- 全球绿色建筑的 10 个最酷的例子
热门文章
- Unity -- 用EasyAR制作出AR红包
- BookCollectionSoftware - 图书管理(知识点糅合::类,对象,抽象类,接口,封装,继承,多态,顺序表)- java - 细节狂魔
- 前端基础学习html部分小结
- 新手怎么做直播卖货?都有哪些卖货成交话术技巧?
- 在Excel中查找/替换时使用换行符
- 那门用Python讲授的程序设计课程能带给学生什么
- 苹果手机群控 ios免越狱中控 非越狱脚本高清投屏
- 微信实时给服务器发送gps位置,你知道吗?微信聊天发原图暴露你的位置信息
- Vue.js+ECharts:切换图表类型(图表工具栏)
- 几款常用装机检测软件