De forma recurrente se nos pregunta por recomendaciones de material online para aprender optimización matemática (también conocida como optimización o programación matemática). En general, siempre que se habla de optimización en la programación, se hace referencia a la reducción en el tiempo de ejecución. Pero la optimización matemática no tiene nada que ver con este problema y, en muchos casos, la formación que se recibe en las universidades no pasa de explicar el algoritmo SIMPLEX.
Un problema de optimización consiste, a grandes rasgos, en maximizar o minimizar una función real eligiendo sistemáticamente valores de entrada (tomados de un conjunto permitido) y computando el valor de la función. Este problema se vuelve interesante cuando aparecen restricciones, ecuaciones no lineales y variables de decisión en el sistema a optimizar. Dos de los lenguajes de modelado más utilizados para resolver este tipo de problemas matemáticos son GAMS y AMPL.
En nuestro canal de YouTube tenemos tutoriales de uso para GAMS y alternativas libres que hacen uso de Python como Pyomo o CVXOpt.
Si se quiere profundizar en la teoría, recomendamos en español el siguiente material:
- [ES] Libro gratuito de optimización con ejemplos en GAMS: Modelos de Programacion Matemática en Ingeniería y Ciencia
- [EN] Libro gratuito de optimización convexa con aplicaciones, vídeos y código (¡en Python y de la Universidad de Stanford!)
Por último, dale un vistazo a páginas de cursos como edx.org o coursera.org por si tuvieran cursos de «linear programming» u «optimization», como por ejemplo:
¿Y tú, conoces o recomiendas algún material en especial para iniciarse?