Using GA for optimization of expensive fitness function with constraints
Show older comments
Hi All,
I am using Genetic Algorithm for optimization of a computationally expensive fitness function which also has constraints . I am right now imposing constraints in the form of penalty in to the objective function since constraint violation can only be calculated at the end of the function evaluation. I wanted to use nonlcon rather to satisfy the constraints.
But my problem is that the fitness function evaluation is expensive and I cant afford to do it again for checking of constraint violation. I have seen some nested function formulations where using output function I can accumulate all the individual variable values for every generation.
As per what I was thinking, would it be possible to have sort of a matrix in which I can store all the individual values at the beginning of a generation update that matrix while my fitness evaluations and when I call nonlcon for constraint evaluation, then to look up that updated matrix for constraint violation. While I am trying to implement this, I have some doubts.
1) I remember reading in some forum that outputfcn for Genetic algo can be called either at the beginning of a generation or at the end. By default, it is at the end. I wont be able to execute my method if it calls at the end. Sadly I am not able to find how to call the outputfcn at the beginning rather than the end of a generation. Really need help on this!!!
2) Since my fitness function is computationally expensive, I am using Parallel evaluations. So Would it be possible to implement the above mentioned idea while using parallel option in matlab or it would create some difficulties??
Answers (0)
Categories
Find more on Problem-Based Optimization Setup in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!