www.pudn.com > GA_Toolbar.rar > SIMPLEXO.M, change:1997-04-07,size:778b


function [c1,c2] = simpleXover(p1,p2,bounds,Ops) 
% Simple crossover takes two parents P1,P2 and performs simple single point 
% crossover.   
% 
% function [c1,c2] = simpleXover(p1,p2,bounds,Ops) 
% p1      - the first parent ( [solution string function value] ) 
% p2      - the second parent ( [solution string function value] ) 
% bounds  - the bounds matrix for the solution space 
% Ops     - Options matrix for simple crossover [gen #SimpXovers]. 
% Binary and Real-Valued Simulation Evolution for Matlab  
 
numVar = size(p1,2)-1; 			% Get the number of variables  
% Pick a cut point randomly from 1-number of vars 
cPoint = round(rand * (numVar-2)) + 1; 
c1 = [p1(1:cPoint) p2(cPoint+1:numVar+1)]; % Create the children 
c2 = [p2(1:cPoint) p1(cPoint+1:numVar+1)]; 
end