Vectorizing the fitness function of a genetic algorithm

조회 수: 1 (최근 30일)
Atamert Arslan
Atamert Arslan 2017년 4월 1일
편집: Stephen23 2017년 4월 9일
Dear MATLAB Community,
I am currently trying to solve a binary nonlinear problem through ga, but it just takes too long. I came across the following page (see vectorize for speed): https://www.mathworks.com/help/gads/vectorizing-the-fitness-function.html
I understand the logic, however; I have 6210 dimensions in the decision vector and I was wondering if there was another way to write the function in detail as expressed on that page.
My fitness function currently looks as follows:
A = abs(X-X_Stern);
y = c*A';
where X, X_Stern and c are vectors (1x6210).
Is there a way to vectorize for speed without having to write in open format?
I appreciate your time and answer.

채택된 답변

Carl
Carl 2017년 4월 4일
편집: Carl 2017년 4월 4일
Hi Atamert, I believe the way you have it structured now should work fine. If pop is the population size, the input to your fitness function will be popx6210. The output of that calculation is a vector of length pop, which is what's required from a vectorized fitness function.
  댓글 수: 1
Atamert Arslan
Atamert Arslan 2017년 4월 8일
Thanks for the answer Carl! I had to convert the vectors into matrix depending on the size of the matrix ga each time passes (sometimes it indeed passes only a row vector and not a matrix for the whole population) so I implemented it dynamically and it works now!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Genetic Algorithm에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by