MATLAB Answers

How to use simulated annealing to optimize a simulation based, multicriteria Problem?

2 views (last 30 days)
Robin
Robin on 3 Sep 2021
Commented: Robin on 6 Sep 2021
Hello all, I try to optimize some parameters of a Simulink Model which works fine. The outcome of this model are 3 values (energy used, elapsed time and the cost resulting) so this is a multicriteria problem. So far, for this use case, I have used the weighted sums method (all these criteria summed up) in conjunction with a patternsearch algorithm. There are 2 main questions resulting:
1. how can I optimize multicriteria using the simulated annealing algorithm? When I form a struct from the three output functions, simulannealbnd reports errors.
2. is there a possibility to tell the algorithm via constraints that not all values are allowed but that there is a certain step size (say lb=10 - ub=100 in steps of 10)?

Answers (1)

Alan Weiss
Alan Weiss on 6 Sep 2021
Your question confuses me because you talk about having a multiobjective problem but then seem to want to use simulannealbnd to solve it. If you want to solve a multiobjective problem, use gamultiobj or paretosearch. See Multiobjective Optimization.
Alan Weiss
MATLAB mathematical toolbox documentation
  3 Comments
Robin
Robin on 6 Sep 2021
Your advice describes the method I currently use for simulated annealing. Then I will look at GA to determine if the multi-objective view is beneficial in my use case.
On the other point: I am currently optimizing (simulation based) the complete double range. After that i round the result to the points i want them to be (e.g. multiples of 10) and simulate again with those rounded numbers. Is this one of the ways youre reffering to?
Thanks for your answers!

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!