MATLAB Answers

0

How to write selection function in genetic algorithm(Global Optimization Toolbox: ga)

Jungeon Kim さんによって質問されました 2019 年 2 月 19 日
最新アクティビティ Jungeon Kim さんによって コメントされました 2019 年 2 月 20 日
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 件のコメント

サインイン to comment.

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

  1 件のコメント

The code is referred to the page above.
He said his problem is solved.
I don't know the structure of parents(I think the parents is vector that consists of cell.)
I want to extract just best parent.
Is there any problem in the line?

サインイン to comment.



Translated by