Optimization solvers change their performance in different programming languages?

1 visualización (últimos 30 días)
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?

Respuestas (1)

John D'Errico
John D'Errico el 3 de Jul. de 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.

Categorías

Más información sobre Get Started with Optimization Toolbox en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by