problem in optimization using Genetic algorithm

1 view (last 30 days)
Dear friends, I am trying to minimize a function using Genetic Algorithm. 1. But as per the attached snapshot as the number of iterations is increasing the function value is increasing. I hope it has to reduce since my objective is to minimize, not maximize. 2. What is the meaning of generation, stall generation and maximum constraint.

Accepted Answer

Walter Roberson
Walter Roberson on 28 Jan 2018
In that display, so far ga has not managed to find any points that are completely within the constraints. If ga has not seen any points yet that are completely within the constraints, then it does not just completely reject the points it has found: instead it keeps working with the points it has found, hoping that one of them will move into completely inside the constraints. As it goes, when it finds a point that is less outside the constraints than the point before, then it grabs that point, even if it has a higher objective value. That is why the function value can increase.
Consider, for example, a function of the form
|
\ /+++\
\v \
\
\
\
and suppose that you had put on a boundary constraint that effectively ruled out the right hand tail. If ga always accepted the lowest function value then if happened to generate points towards the right it would keep moving down down down getting further and further away from the boundaries you had set. For ga to get into the left side, it has to accept the right hand point that violates the boundary least, and keep doing that, a process that would result in the objective function increasing until finally it managed to find a point inside the boundary, at which point it can start minimizing in the basin to the left.
Generation is the number of rounds of the mutate/generate/move cycle that it has done.
Stall generation is the number of rounds it has gone since the last time a better value was found. A stall generation of 0 means the function is still actively finding better values. But at some point it is going to find a local minima or get stuck not able to find something that violates the constraints less, and after a while it gives up (this is typically set to 50 generations without improvement.)
maximum constraint is maximum constraint violation, a measure of how badly the points are outside the boundaries you have asked for. When this value is 0, the points are firmly inside the range you want them to be.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!