Introducción a la optimización matemática en Python |  de Zolzaya Luvsandorj |  diciembre de 2023

Fundamentos de la ciencia de datos

Guía práctica para principiantes sobre optimización discreta en Python

Los científicos de datos abordan una amplia gama de problemas de la vida real utilizando datos y diversas técnicas. La optimización matemática, una técnica poderosa que se puede aplicar a una amplia gama de problemas en muchos dominios, constituye una gran inversión para el conjunto de herramientas de los científicos de datos. En esta práctica publicación introductoria, nos familiarizaremos con tres bibliotecas de optimización populares en Python: Google Herramientas ORIBM DOcplex y la Fundación COIN-OR Pulpa.

Foto por Akhilesh Sharma en desempaquetar

La optimización matemática consiste en encontrar elección óptima para problema cuantitativo dentro límites predefinidos. Tiene tres componentes:

  • Función(es) objetivo: Nos dice qué tan buena es una solución y nos permite comparar soluciones. Una solución óptima es aquella que maximiza o minimiza la función objetivo según el caso de uso.
    ▶️En algunos casos, pueden existir múltiples funciones objetivo. Esto añade complejidad a la hora de determinar cuál es una solución óptima.
    ▶️En algunos casos, puede que no exista una función objetiva. Estos problemas de optimización se denominan problemas de viabilidad.
  • Variables de decisión): Representa un valor o valores que queremos averiguar, la respuesta que buscamos en un problema cuantitativo. La optimización se puede dividir en dos tipos según el tipo de variables de decisión:
    ▶️ Optimización discreta: Las variables de decisión son discretas. Asignar horarios y encontrar la ruta de viaje más corta entre dos ubicaciones son algunos ejemplos de optimización discreta. Si desea obtener más información sobre la optimización discreta, este curso y/o esta guía podría ser de su interés.
    ▶️Optimización continua: Las variables de decisión son continuas. Es posible que ya haya oído hablar del término optimización en el contexto del aprendizaje automático. El aprendizaje automático es un área de ejemplo donde se utiliza la optimización continua. Si desea obtener más información sobre la optimización continua, puede encontrar este tutorial útil.
  • Restricciones: Define un rango factible de soluciones para las variables de decisión.
    ▶ ️En algunos problemas de optimización continua, es posible que no existan restricciones. A esto se le llama optimización sin restricciones.