Parallel Gradient Based Optimizer, Objective Function Uses Simulink

31 次查看(过去 30 天)
Hello,
I am working on an optimization problem. I currently have a simulink model what I would like to do is to find the right parameters in the Simulink model so that the results it gives matches the test data.
I have managed to use ga, with UseVectorized=true to parallelize it, my objective function calls simulink model to calculate the error between test data and simulation results. What I would like to do is the same but I want to use a gradient based optimizer like fmincon, but I could not make it work. Can anyone explain how to do this with fmincon, there is no UseVectorized option. Any other gradient based optimizer can also work.
Kind Regards

采纳的回答

Sadi CESUR
Sadi CESUR 2024-11-14,11:54
Hi Ayush,
Thank you for your answer. I have tried what you have said and encountered some problems. For the objective function I am using a Simulink model not a matlab function. I have constructed the simulink model of the example you have given and it works fine. However, my original simulink model is a bit complex when I try to run it, some constants and fromworkspace blocks seems to be not getting the data from the matlab workspace, do you have any workarounds for this ?
Kind Regards
  1 个评论
Sadi CESUR
Sadi CESUR 2024-11-18,5:27
Hello,
I have found the solution by passing the workspace variables in objective function. Use set_params function in the objective function to define the required workspace variables in simulink.

请先登录,再进行评论。

更多回答(1 个)

Ayush Aniket
Ayush Aniket 2024-11-14,9:05
编辑:Ayush Aniket 2024-11-14,9:06
Hi Sadi,
I understand that your objective is to use gradient based optimization function like fmincon with parallel computing options. You can use the UseParallel argument of the optimoptions funtion and then supply it to the fmincon function. Refer to the following documentation link that shows an example for the same: https://www.mathworks.com/help/optim/ug/minimizing-an-expensive-optimization-problem-using-parallel-computing-toolbox.html#d126e83518

类别

Help CenterFile Exchange 中查找有关 Solver Outputs and Iterative Display 的更多信息

产品


版本

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by