ga integer and nonlinear constraints - penalty value meaning
5 次查看(过去 30 天)
显示 更早的评论
I'm solving a weight minimization problem (wmin) for my master thesis with nonlinear constraint and integer variables. I've read about the penalty method for this type of problems but I can't interpret the results.
Here is an image of the fitness value at each iteration (i had to change the scale on the y axis to logarithmic or all the points before iteration 8 would appear over the x axis, also ignore the y-axis subtitle, it should be penalty value, I changed to fitness)
I know for this type of problems the initial population will be mainly composed of infeasible individuals. I know that the penalty method penalizes infeasible individuals and their fitness value is now the fitness of the worst feasible individual +penalty factor.
At all iterations the fitness function wmin takes values from the order of 1e4.
How come I get values of the order of 10 for the first generations when the fitness values for these generations are of the order 1e4?
Does the penalty factor subtract to the fitness value? That would make no sense, it would create better fitness instead of worst, encouraging the infeasible solutions to multiply...it all makes sense after the 8th iteration, the individuals are feasible and it converges, but that beggining makes no sense
I really need to interpret these results correctly so all help is welcome! Thanks!
0 个评论
采纳的回答
Alan Weiss
2013-9-13
As you can infer from the defintion here, the penalty might not really kick in until at least one individual is feasible. After that, infeasible individuals are penalized by the maximum fitness function of feasible individuals. Before any individual is feasible, the penalty is the constraint violation, and the constraint violation might not be appreciable compared to the fitness function value.
Alan Weiss
MATLAB mathematical toolbox documentation
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!