Genetic Algorithm (ga) terminating after a few generations

I am running a minimization calculation using the ga function. I've noticed that the ga function continually terminates after ~3 generations. This seems to be premature; however, the results I am getting are consistent. I have 6 design variables and a population of 1000 that is evenly gridded across reasonable values for each variable. In total the ga usually calls the objective function 10^5 times before terminating and meets the function and constraint tolerances (both 10^-6). I am curious to know if terminating after 3 generations is a "normal" behavior or if this indicates a problem with my objective function. Any help is greatly appreciated.

 채택된 답변

Star Strider
Star Strider 2023년 8월 15일

0 개 추천

That is certainly consistent if it converges quickly, and especially if it produces a reasonable result. If your 'InitialPopulationMatrix' is (1000x6) then it is quite possible that it finds a good fit in 3 generations. (I generally use smaller matrices.)

댓글 수: 4

That is what I was thinking. I've tried to reduce the number of the initial population to ~200 and the solver behaves the same, retruing a result in 3 generations with similar function counts.
That works. Your problem must be relatively straightforward.
You can ‘fine-tune’ the results using a hybrid function (see: ga Hybrid Function) if you so choose.
Thank you for the information. I will take a look at those options.
As always, my pleasure!

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

추가 답변 (1개)

Alan Weiss
Alan Weiss 2023년 8월 16일

0 개 추천

Almost certainly this is because you use nonlinear constraints. When you use nonlinear constraints, there are very few major iterations in the solver. For an example, see https://www.mathworks.com/help/gads/constrained-minimization-using-ga.html.
Alan Weiss
MATLAB mathematical toolbox documentation

카테고리

제품

릴리스

R2022b

질문:

2023년 8월 15일

답변:

2023년 8월 16일

Community Treasure Hunt

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

Start Hunting!

Translated by