How to write selection function in genetic algorithm(Global Optimization Toolbox: ga)
2 次查看(过去 30 天)
显示 更早的评论
Hi guys.
I have some problem to use the genetic algorithm.
I want to use customized selection function, but I can only see error message: Index exceeds matrix dimensions
Here is my code below:
function parents=AGAselection(expectation, nParents, options)
% nParents= the number of parents
% A= sorted expectation
% B= expectation of nParents top parents
% GBparents= global best parents
%
expectation=(expectation(:,1));
parents=zeros(1,nParents);
%% Sorting accordance with fitness value
A=sort(expectation);
B=A(1);
%% Select Global Best
GBparents(1,1)=find(expectation==B(1,1));
%% Select Parents Randomly
RN=randperm(nParents);
parents=[GBparents RN(1:nParents-1)];
end
Please check my code and tell me what is the problem.
Thank you.
0 个评论
回答(1 个)
Alan Weiss
2019-2-19
I am not sure, but I am suspicious of the line
GBparents(1,1)=find(expectation==B(1,1));
What makes you think that expectation==B(1,1) has just one element?
Alan Weiss
MATLAB mathematical toolbox documentation
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Genetic Algorithm 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!