-
Notifications
You must be signed in to change notification settings - Fork 153
Description
Hi everyone,
I’m working on a mono-objective optimization problem with penalties based on constraint violations. Currently, the evaluate function calculates the objectives, then calls __evaluate_constraints, which sets penalties. The full penalty score is stored in solution.constraints[0].
However, this doesn’t seem to guide the search as expected. Would it help to declare one constraint for each variable (I have 5–30 variables) and update solution.constraints[i] based on violations for each associated variable? This might give more precise guidance than a single penalty score.
Also, I’ve found that treating penalties as a second objective works better, achieving a penalty of 0 while keeping good values for the first objective.
Thanks for your support!