Genetic Algorithm - Relation between Population and Fitness Function
2 views (last 30 days)
Show older comments
When using a Custom Population Function and specifically Custom Binary Population. How does the population relate to the Fitness Function?
I have both coded out but and have somewhat knowledge but lack the critical understanding of how they work together. Should my fitness function have a input variable which takes in the population and computes the fitness of the individuals?
I have not found and detailed reading material on this relation. Are there any such reading materials available on these relations or could anyone explain them please.
Thanks.
0 Comments
Accepted Answer
Alan Weiss
on 27 Jan 2014
Edited: Alan Weiss
on 27 Jan 2014
As described in the documentation, the creation function creates a population, and the fitness function evaluates how good each member of the population is. There is a specific syntax for the creation function, and there is a syntax for the fitness function. There is more information about fitness functions here.
For the creation function, the syntax is
function population = creationfcn(nvars,fitnessfcn,options)
GA passes the arguments nvars, fitnessfcn, and options to your creation function. What you do with those arguments is up to you. You will certainly need the nvars argument so that your population has the right number of elements, but you can use the other two arguments or ignore them as you see fit.
I hope this helps.
Alan Weiss MATLAB mathematical toolbox documentation
12 Comments
Alan Weiss
on 21 Feb 2014
Sam, I suggest that you try going through the introductory documentation on how to set up an optimization in Optimization Problem Setup. The link I gave to Linear Inequality Constraints should show you how to include these constraints. Here is an extensive example in the context of linear programming.
Basically, to make a linear inequality constraint
A*x <= b
you simply pass the A matrix and b vector in the solver. For ga,
x = ga(objective,numvariables,A,b,...)
Then ga will automatically ensure that the constraints are satisfied. Please do not use any custom creation, mutation, or crossover functions, or ga might not keep the linear inequalities.
Good luck,
Alan Weiss
MATLAB mathematical toolbox documentation
More Answers (0)
See Also
Categories
Find more on Genetic Algorithm in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!