Ga Results Worse with Each Generation
2 次查看(过去 30 天)
显示 更早的评论
I am trying to use the ga function to optimize a function, but am noticing a strange behavior. My function has 5 variables that are bound to between 0 and -10 and there is a equality constraint that in the form of c(x) -1 = 0. I am using the following options:
options = optimoptions('ga','UseVectorized',true,'PopulationSize',3000,'InitialPopulationMatrix',intpop2,'MaxGenerations',50,...
'FunctionTolerance',1e-4,'ConstraintTolerance',1e-4,'Display','iter');
where the initial poptulaiton is a matrix of all combinations of the five variable (equally spaced along a grid between 0 and -10). The problem I am having is that I frequently notice that after several generation the ga function returns worse results. When exaiminging the output of each iteration, an acceptable answer seems to be found after 5 or so iterations; however the function continues and the results become worse. I have tried to change the function tolerance and constraint tolerance but the results are largely the same or become inconsistent (outside of the normal variations when using optimaztion functions). Below is an example of the output I frequently get.
Generation Func-count Best f(x) Max Constraint Stall Generations
1 162500 0.00106595 0.01563 0
2 314182 0.000272166 0.01934 0
3 473557 0.00190035 0.01894 0
4 632932 0.000113225 0.01067 0
5 792307 4.30226e-05 0.005452 0
6 943989 0.000232475 0.001222 0
7 1103364 1.50892e-06 0.001525 0
8 1262739 1.50892e-06 0.001525 1
9 1422114 1.50892e-06 0.001525 2
10 1581489 1.50892e-06 0.001525 3
11 1740864 1.50892e-06 0.001525 4
12 1900239 6.42236e-05 0.002838 0
13 2059614 5.37465 385 0
14 2218989 3.37523 14.95 0
15 2378364 3.19792 1 0
16 2537739 3.25397 1 0
17 2697114 2.60784 1 0
18 2856489 3.26691 0.9944 0
19 3015864 3.31657 1 0
20 3175239 5.10486 0.5483 0
3 个评论
Alan Weiss
2023-2-28
I'm not sure that I understand your "equality constraint that in the form of"
c(x) - 1 = 0
Usually, I would call this a nonlinear equality constraint
ceq(x) = 1
I am not sure how you have implemented your nonlinear constraint function. Can you show us what inputs and outputs it gives?
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!