MATLAB Answers


ga integer and nonlinear constraints - penalty value meaning

Asked by Pedro
on 13 Sep 2013

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 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!


Log in to comment.

1 Answer

Answer by Alan Weiss
on 13 Sep 2013
 Accepted Answer

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

  1 Comment

Thank you ! After asking the question I took a guess and concluded the first points in the graph were correspondent to the constraint violation only. I had read that definition before and the referenced theory too but it isn't very clear what happens if all the individuals are infeasible !

Thank you, I will mention you in the acknowledgements of the thesis ! haha

Best regards

Log in to comment.

Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!