Optimize Multiple Targets with Minimizer
5 views (last 30 days)
Show older comments
Thomas Bauer on 4 Dec 2017
Answered: Elizabeth Reese on 6 Dec 2017
i am currently minimizing a function via simulated annealing. The way I do this is by summing up the deviations from the desired result into one number F. This number then gets minimized by the simulated annealing. My problem is that i now want to optimize not only with respect to my desired target, but also minimize the result outside of my target region.
In short, my function is supposed to have a desired shape inside the target region, and be 0 outside of it. The way i do this now is to just weigh these two goals and sum them together, but somehow this always is a trade off between "agreement with the target" and "0-ness" outside the ROI. is there a way to have a minimizer look at both these aspects at the same time and optimize them together?
Elizabeth Reese on 6 Dec 2017
I am not sure that I fully understand why you have the two goals in this case.
If you want to constrain the minimization to within your region of interest, then you can change the upper and lower bounds for the design variable in the inputs to simulannealbnd. If you want the objective function to be 0 outside the region of interest, then you can encode that in the objective function by testing if the x at that step is within the region. If it is not, you can return 0 or some factor of the distance from the x to the region.
Another option for global optimization for multiple object functions is gamultiobj which finds the Pareto front of multiple fitness functions using genetic algorithm. The documentation for that function is here.
Find more on Simulated Annealing 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!