Creo que depende del tamaño de tu organización/equipo, ya que para organizaciones más pequeñas necesitarías manipular tus variables y datos de entrada mucho más que las grandes, y por lo tanto necesitarías algo más ágil como Python. A nivel más empresarial, que generalmente tienen tablas de datos y equipos/herramientas predefinidas, los equipos preferirían que trabajaras con C++ o Java como programador, con el raro C#
Prefiero trabajar con Python que, aunque no es el lenguaje más rápido, es el más portable y permite una manipulación/preprocesamiento/recuperación más dinámica, y la mayoría de los problemas de optimización matemática bien definidos se han implementado con las API de Python. Además, Jupyter Notebooks permite una codificación muy visual e iterativa para el trabajo analítico.
Sin embargo, sería difícil encontrar escenarios específicos de optimización y probablemente requeriría que usted implementara esa lógica. Por ejemplo, puede ejecutar una serie de optimizaciones de varianza media configurando los solucionadores CVXOPT ( http://cvxopt.org/userguide/index.html ) en Python, como la creación de una cartera cubierta, pero no encontrará optimizaciones de "cobertura selectiva" fácilmente disponibles (y gratuitas), preimplementadas fuera de GAMS.
1 votos
Creo que esta pregunta se cerrará por estar fuera de tema, pero por si sirve de algo, la mayoría de esto se hace en lenguajes de programación de propósito general en la industria. Por lo que he visto en términos de mi trabajo y de los anuncios de trabajo estos serán R, python, C ++ y java. En algunos lugares también se utiliza Haskell o Scala y he oído hablar de lugares que utilizan Matlab. Todos ellos son tan buenos para resolver problemas de optimización como el programador.
2 votos
Yo aprendería R y C++ si intentara llegar a donde estoy ahora.
0 votos
@MD-Tech ¡Gracias por el aviso! Buscaré las documentaciones de los idiomas que has recomendado :)
2 votos
Utilizo C#, Java, Python y VBA. Sin embargo, como se ha mencionado anteriormente, los lenguajes son tan buenos como el desarrollador. Sin embargo, encontrarás muchas opiniones y actitudes fuertes dentro del mundo de la programación... Es como si un curso de arrogancia fuera un prerrequisito hoy en día.
0 votos
@amdopt ¡Es estupendo saberlo! Espero estar expuesto a una mayor variedad de estos lenguajes a su debido tiempo también.
3 votos
Por cierto, utilizo python no porque crea que es el mejor lenguaje de optimización (R, c++, MATLAB, etc. pueden implementar los algoritmos necesarios, como han dicho otros), sino porque me resulta más fácil manipular las entradas y salidas en una interfaz de usuario, o por ejemplo con la interacción web.
2 votos
La mayoría de las rutinas de optimización que existen están escritas en Fortran/C/C++. Los lenguajes como R y Python suelen llamar a estas bibliotecas de Fortran/C/C++. Se puede escribir una función de optimización en casi cualquier lenguaje. ¿Cuál tiene el mejor rendimiento? Fortran/C++. Sin embargo, puede ser más productivo en lenguajes de alto nivel como R/Python.