Is it possible to do code generation with quadprog() ?

10 views (last 30 days)
I know quadprog() is not supported for code generation. But is there a workaround to use the quadprog() fucntion for code generation? I am trying to generate c code from my Simulink model which can be used to integrate with CANoe platform on another pc which may or may not have a MATLAB compiler.

Accepted Answer

Walter Roberson
Walter Roberson on 1 Aug 2018
Edited: Walter Roberson on 1 Aug 2018
No, there is no work-around. Very little of the Optimization Toolbox can have code generated.
However, all command line functionality is supported for the Optimization Toolbox with MATLAB Compiler, which would create standalone .exe rather than C or C++ code. That is, you could have your Simulink model use TCP blocks to communicate with some code built using MATLAB Compiler to do the quadprog() .
I would worry that the response time for quadprog() might well be too long for realistic use with a Simulink model.

More Answers (1)

Mary Fenelon
Mary Fenelon on 21 Apr 2020
Code generation for quadprog is supported in R2020a, following on support for fmincon added in R2019b.
  1 Comment
Clemens Troll
Clemens Troll on 20 Jul 2021
Edited: Clemens Troll on 20 Jul 2021
As documanted in https://de.mathworks.com/help/optim/ug/code-generation-in-quadprog.html code generation for quadprog() is only possible if the 'active-set' solver is applied. Unfortunetaly, my optimization problem is large-scaled and hence is only solvable with the 'interior-point' solver in an accaeptable calculation time.
Is there an outlook that the other solvers are also usable of the code generation in a future release? If not, does anyone know a good alternative of a quadprog solver which one can use in Simulink?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!