How to use simulated annealing to optimize a simulation based, multicriteria Problem?
조회 수: 2 (최근 30일)
이전 댓글 표시
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)?
댓글 수: 0
답변 (1개)
Alan Weiss
2021년 9월 6일
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
Alan Weiss
2021년 9월 6일
I didn't say there was no way. But it is ill-advised to use simulannealbnd for most purposes. It is a very slow solver, generally providing no benefit compared to patternsearch.
You can use a single-objective solver to find a Pareto front. See Generate and Plot Pareto Front for an example. That example uses fgoalattain, but you could use simulannealbnd as the scalar optimizer. You will have to extend the example from 2-D to 3-D, but that should not prove to be too difficult.
Bottom line: you CAN do it, but it seems to me to be a waste of time and resources. There are better ways.
Alan Weiss
MATLAB mathematical toolbox documentation
참고 항목
카테고리
Help Center 및 File Exchange에서 Simulated Annealing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!