What variable type is "Population" in a Genetic Algorthim and how to store individuals with long genomes?
조회 수: 2 (최근 30일)
이전 댓글 표시
I am coding a genetic algorithm where each individual will be made up of several points, ie
Individual1 = [1 2 3 4 5];
Individual2 = [6 7 8 9 10];
on through all the indviduals. I have a custom creation function for the initial population, but I am unsure if I can store each individual in a seperate cell or row, or what to do. The documentation also seemed to say to call the fitness function in my creation function which I don't fully understand, which leads to another question, does my fitness function just output the fitness, or does it need to output the population and fitness in a matrix? Feel free to ask more questions to clarify, this is my first time asking one.
Here is the Documentation on creation functions
function Population = myfun(GenomeLength, FitnessFcn, options)
I am interpreting GenomeLength to be the number of points in each individual and assume that my output Population will look something like follows-
%for k number of individuals
k = 10;
for i = 1:k
Population{i} = IndividualGeneration(GenomeLength); %calls the function for generating the individual and stores that individual in a cell in Population
end
In my mind this ouputs something like this- Population = {1 2 3 4 5}, {6 7 8 9 10}, with each individual in a cell. can the GA work with this format?
댓글 수: 0
채택된 답변
Alan Weiss
2022년 5월 16일
Yes, it is possible to use ga with a custom population. For an example see Custom Data Type Optimization Using the Genetic Algorithm.
Alan Weiss
MATLAB mathematical toolbox documentation
댓글 수: 2
Alan Weiss
2022년 5월 17일
You can put each individual into a ROW and use Mixed Integer ga Optimization for an integer-valued population.
Alan Weiss
MATLAB mathematical toolbox documentation
추가 답변 (0개)
참고 항목
카테고리
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!