资源简介
PMX算法,部分匹配交叉算法.
代码片段和文件信息
function [newVanewVb]=PMX(VaVb)
startXorPoint=mod(ceil(rand(1)*10)length(Va) );
if startXorPoint==0
startXorPoint=startXorPoint+1;
end
xorLength=mod(floor(rand(1)*10)length(Va));
endXorPoint=startXorPoint+xorLength;
while(endXorPoint>length(Vb) )
xorLength=mod(floor(rand(1)*10)length(Va));
endXorPoint=startXorPoint+xorLength;
end
tempa=Va(startXorPoint:endXorPoint);
tempb=Vb(startXorPoint:endXorPoint);
%找出映射关系
for ix=1:length(tempa)
aMappingb(ix1:2)=[Va(startXorPoint+ix-1)Vb(startXorPoint+ix-1)];
end
for ix=1:length(tempa)
bMappinga(ix1:2)=[Vb(startXorPoint+ix-1)Va(startXorPoint+ix-1)];
end
%交换子串
Va(startXorPoint:endXorPoint)=tempb;
Vb(startXorPoint:endXorPoint)=tempa;
%对Va进行冲突检测
indexVa = 1;
while(indexVa singleGene = Va(indexVa);
while( ismember(singleGenetempb) == 1 )
conflictIndex = find(tempb==singleGene);
singleGene = bMappinga(conflictIndex2);
end
V
- 上一篇:矩阵的QR分解基于施密特正交化
- 下一篇:能量算子解调程序
相关资源
- 矩阵的QR分解基于施密特正交化
- 红外图像的处理及其MATLAB实现.zip
- 基于MATLAB的人脸识别源代码
- MATLAB最小错误率贝叶斯决策
- 水平集方法的matlab源代码
- 伪距差分定位MATLAB
- sigm激活函数
- 头部CTmatlab三维重建源代码.rar
- matlab中Copula理论及应用
- 矢量控制Matlab仿真图
- KPCA的MATLAB程序1
- 基于matlab的图像篡改检测2
- Matlab实现QR二维码的生成与识别
- lbp MATLAB代码
- 雅克比迭代+高斯迭代+SOR迭代法Matla
- matlab潮流计算PQ解耦法14节点计算程序
- K近邻算法MATLAB
- 光谱拟合matlab代码
- matlab自检模块
- MATLAB QR分解
- 一个类似小球倒立摆的matlab建模及相
- canny边缘检测算法的matlab实现
- k-中心点算法Matlab代码实现
- 分形维数MATLAB程序
- Matlab基于阈值的图像分割直方图算法
- KCF加尺度matlab代码
- 基于LCL滤波器单相并网逆变器matlab电
- 几种典型的混沌吸引子
- 读EEG的MATLAB
- 风机 直驱永磁同步风力发电机 最大功
评论
共有 条评论