MATLAB Answers

Optimization solvers change their performance in different programming languages?

1 view (last 30 days)
Jamelão
Jamelão on 3 Jul 2021
Answered: John D'Errico on 3 Jul 2021
I would like to know if any optimization solver depends on the language that it's being implemented.
For example, calling the same version of CPLEX using C and using MATLAB should have different performances?
I've heard the answer is "yes" because each language prepares the optimization problem for the solver in different ways.
But I also have heard the "no" answer; people say that the solver is implemented in C whatever the language we're using to call it, so the performance is the same.
Who should I listen to, guys?

Answers (1)

John D'Errico
John D'Errico on 3 Jul 2021
No. The language makes NO choices. It does not prepare the problem differently. A language is not in itself sufficiently intelligent, if you even want to think of it like that.
However, the interface to a given tool is handled by the PROGRAMMER who writes that interface. Could one programmer have set the problem subtly differently? Yes, possibly. But that just reflects the idea that if you change the input to a software tool, then the output MAY change. In the case of an optimization problem, that is a given. Change the input in a tiny way, and you MAY see the output change in a significant way. Did the software tool choose the starting values for the optimization? (This would be directed by the programmer, NOT the language itself.) This can easily be a programmer choice. Now the output may change by huge amounts on problems with multiple local solutions.

Products

Community Treasure Hunt

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

Start Hunting!