optimizer to use in MEX

I wanted to use an optimizer in a code that I want to MEX it. As far as I know the only suitable optimizer is fmincon but I have faced some problems wiht it. Is there any other optimizers that can be used in a MEX code?

2 comentarios

Jan
Jan el 7 de Nov. de 2021
What do you need? A local or global optimization? What kind of restraints does your problem have? There are dozens of different optimizations tools for the different types of prblems. What das "used in a MEX code mean"? Are you writing a C-Mex function? Do you want to call a Matlab function or coud it be a C or C++ tool also?
Alireza Azampour
Alireza Azampour el 9 de Nov. de 2021
Editada: Alireza Azampour el 9 de Nov. de 2021
I'm writing a function that should be called multiple times. It is a time consuming code and I need to change it to a MEX function to increase the speed (which has a huge effect). The optimizer I'm asking for is used inside this function. It can be a local optimizer cause it's used to refine an answer obtained from an on-gird optimization. It's a C_Mex function but my main purpose is to call in inside Matlab so it does not matter for my purpose.
Also the optimiztion problem has both linaer and non-linear inequality constraints.

Iniciar sesión para comentar.

Respuestas (1)

Matt J
Matt J el 7 de Nov. de 2021
Editada: Matt J el 7 de Nov. de 2021

0 votos

You're not going to get any advantage from including the optimization in the MEX unless possibly the optimizer is also implemented in C-code. If you have Matlab Coder, which supports both fmincon and fminsearch, you can convert the total code to C\C++ including the optimizer,
Be mindful, though, that fminsearch works well only for problems with a handful of unknowns (<=6 approximately).

Categorías

Productos

Versión

R2021b

Preguntada:

el 5 de Nov. de 2021

Editada:

el 9 de Nov. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by