Qué es la programación lineal en la ciencia de datos: descripción general
Publicado: 2022-09-21La ciencia de datos ha crecido como un campo verdaderamente interdisciplinario que toma prestado de la informática, las matemáticas, el análisis de datos, las estadísticas, etc. Sus avances han ayudado a las empresas de todo el mundo a tomar decisiones mucho más informadas y respaldadas por datos. Como resultado, hoy en día, las empresas se dan cuenta de la importancia de los datos que han adquirido a lo largo de los años.
Los científicos de datos usan herramientas avanzadas para evaluar los escenarios comerciales actuales utilizando datos existentes, derivar relaciones y encontrar patrones perspicaces. Este método se conoce como análisis descriptivo. Además, los científicos de datos también estudian los efectos y sus causas, teniendo en cuenta varias variables dependientes e independientes, conocidas como análisis predictivo.
Dado que Predictive Analytics funciona mediante la identificación de relaciones de causa y efecto, es beneficioso para tomar decisiones perspicaces para el futuro. Sin embargo, esto no es tan sencillo como podría parecer. Cualquier negocio tiene muchas variables con las que lidiar, incluidos los conocimientos actuales, las limitaciones y más.
Consulte nuestras certificaciones de ciencia de datos para mejorar sus habilidades.
Para predecir con precisión, debe considerar estas variables y llegar a la solución óptima. Aquí es donde la Programación Lineal entra en escena. La programación lineal es una técnica importante que funciona algorítmicamente y ayuda a los científicos de datos a encontrar la solución más óptima para varios problemas. La Programación Lineal considera todas las variables esenciales, igualdades y desigualdades para llegar a la solución final, lo que asegura que la predicción sea infalible.
En este artículo, veamos qué es la programación lineal, los diferentes métodos de programación lineal y un problema de programación lineal de muestra.
Explore nuestros títulos populares de ciencia de datos
Programa Ejecutivo de Postgrado en Data Science del IIITB | Programa de Certificado Profesional en Ciencia de Datos para la Toma de Decisiones Empresariales | Maestría en Ciencias en Ciencia de Datos de la Universidad de Arizona |
Programa de Certificado Avanzado en Ciencia de Datos de IIITB | Programa de certificado profesional en ciencia de datos y análisis empresarial de la Universidad de Maryland | Grados en ciencia de datos |
Programación lineal en análisis predictivo
Antes de comenzar con los tecnicismos, es crucial tener en cuenta que la programación en el contexto de la programación lineal no se refiere a la programación de computadoras o software. Por otro lado, la Programación Lineal es esencialmente una técnica de optimización (Optimización Lineal) útil para encontrar los mejores resultados de los modelos matemáticos. Para formular un programa lineal, es importante comprender los elementos básicos de la programación lineal, que incluyen:
- Variables de Decisión: Se refiere a las variables que nos gustaría determinar, las incógnitas.
- Función objetivo: se refiere a la función lineal que representa las cantidades que deben minimizarse o maximizarse.
- Restricciones: Este es un conjunto de desigualdades o igualdades que representan todas las restricciones sobre nuestra variable de decisión.
- Restricciones no negativas: Esto se refiere a un punto esencial de restricción en el que los valores de las variables de decisión no son negativos.
Con los términos básicos resueltos, veamos ahora qué enfoques se pueden tomar al resolver un problema de programación lineal.
Principales habilidades esenciales de ciencia de datos para aprender en 2022
SL. No | Principales habilidades de ciencia de datos para aprender en 2022 | |
1 | Certificaciones de análisis de datos | Certificaciones de Estadística Inferencial |
2 | Certificaciones de prueba de hipótesis | Certificaciones de Regresión Logística |
3 | Certificaciones de regresión lineal | Álgebra lineal para certificaciones de análisis |
Resolver Programación Lineal
Podemos seguir estos cuatro pasos para resolver con éxito un problema de Programación Lineal:
- Identificación de variables de decisión
- Desarrollo de la función objetivo
- Especificación de las restricciones
- Indicando las restricciones de no negatividad
Profundizaremos en estos pasos más adelante cuando veamos un ejemplo resuelto de programación lineal. Pero antes de eso, veamos las diversas formas en que puede abordar un problema de programación lineal. En términos generales, hay cuatro enfoques para elegir:
- Método Gráfico: El método gráfico es el método más básico utilizado para resolver un problema de Programación Lineal en dos variables. Se usa principalmente cuando solo hay dos variables de decisión a considerar. El método gráfico consiste en formar un conjunto de desigualdades lineales y someterlas a las condiciones o restricciones pertinentes. Luego, las ecuaciones se grafican en el plano XY y el área de intersección formada al graficar todas las ecuaciones lineales es el área factible. Esta área indica los valores de un modelo y proporciona la solución óptima.
- Método Simplex: Este es un método poderoso para resolver problemas de Programación Lineal, y sigue un procedimiento iterativo para llegar a la solución óptima. En este enfoque, las variables esenciales se modifican hasta que se alcanza el valor máximo o mínimo (según se requiera) para la función objetivo inicial.
- Esquina noroeste y método de menor costo: estos son tipos específicos de métodos que se utilizan esencialmente para problemas de transporte para determinar la mejor manera de transportar productos o mercancías. Como resultado, este es un método de optimización útil para problemas de oferta y demanda. La suposición de este método es que solo hay un producto. Sin embargo, la demanda de este producto proviene de varias fuentes, que acumuladamente conforman la oferta total. Por lo tanto, este método tiene como objetivo minimizar el costo de transporte.
- Resolver usando R: R es una de las herramientas más utilizadas para la ciencia de datos y el análisis de datos. R hace que sea muy fácil realizar la optimización en solo unas pocas líneas de código utilizando el paquete IpSolve.
- Resolver usando herramientas de código abierto: el último método usa una de las muchas herramientas de código abierto disponibles para problemas de optimización. Un ejemplo de una herramienta de código abierto es OpenSolve, un optimizador lineal para Excel y funciona perfectamente para hasta 100 variables. Aparte de eso, CPLEX, MATLAB, Gurobi, etc., son otras herramientas útiles de código abierto.
Lea nuestros populares artículos de ciencia de datos
Trayectoria profesional en ciencia de datos: una guía profesional completa | Crecimiento profesional en ciencia de datos: el futuro del trabajo ya está aquí | ¿Por qué es importante la ciencia de datos? 8 formas en que la ciencia de datos aporta valor al negocio |
Relevancia de la ciencia de datos para los gerentes | La última hoja de trucos de ciencia de datos que todo científico de datos debería tener | Las 6 razones principales por las que debería convertirse en científico de datos |
Un día en la vida del científico de datos: ¿Qué hacen? | Mito reventado: la ciencia de datos no necesita codificación | Business Intelligence vs Data Science: ¿Cuáles son las diferencias? |
Ejemplo de resolución gráfica de programación lineal
Durante las temporadas festivas anuales, una empresa tiene en cuenta dos factores, X e Y, para crear un paquete de usuario. El peso del paquete total debe ser de 5 kg, y no debe haber más de 4 kg de Y, y al menos 2 kg de X. X e Y contribuyen a la ganancia total de la siguiente manera: Rs. 5/kg para X y 6/kg para Y.
Intentemos resolver este problema de Programación Lineal para llegar a la mejor combinación que resulte en las mayores ganancias para la empresa.
1. Trabajar con nuestra función principal
El objetivo de optimización de nuestro problema es la maximización de beneficios. La contribución a las ganancias de X e Y se nos da en el enunciado del problema. Ahora,
- Sea un kg de X
- Sea b kg de Y
- Nuestra función objetivo entonces se convierte en -> c = 5*a + 6*b, y necesitamos maximizar c.
Tenemos a, b como variables de decisión, mientras que c es nuestra función requerida.
2. Desarrollo de las restricciones del problema
Tenemos las siguientes restricciones en el problema:
- El peso del paquete de regalo debe ser de 5 kg => a + b = 5
- Menos de 4 kg de Y y al menos 2 kg de X => x>=2; y<=4
3. Restricciones no negativas
Las cantidades para X e Y deben ser positivas => a, b>0
Ahora, resumamos rápidamente todo el problema tal como lo hemos expuesto hasta ahora:
Necesitamos optimizar c = 5a+6b bajo las siguientes dos condiciones:
- a+b=5
- a>=2
- b<=4
Estamos usando el método gráfico para resolver este problema, así que consideremos un gráfico de 2 dimensiones con el eje XY e intentemos trazar las ecuaciones e inecuaciones. Tendremos las siguientes cosas con nosotros:
- a + b = 5 es una línea recta que corta el eje x en (5,0) y el eje y en el punto (0,5). Como tenemos un signo de igualdad en nuestra expresión, estamos seguros de que nuestra región factible se encuentra en el área de la intersección de estas líneas.
- a >= 2 es una línea recta que corta el eje x como (2,0). Dado que nuestra expresión tiene una restricción mayor que, nuestra región factible cae a la derecha de nuestra línea.
- b <= 4 es una línea recta que corta el eje y en (0,4). Como tenemos una restricción menor, nuestra región factible es el área debajo de la línea.
- Finalmente, dado que a y b son valores positivos, nuestra área de interés es el primer cuadrante.
Si ha trazado estas líneas y restricciones en una hoja de gráficos, tendrá la región final que satisface todas las condiciones requeridas. Los dos puntos que se encuentran en el extremo más extremo de esta línea son posibles consideraciones para la maximización de beneficios. Estos son los puntos (2,3) y (5,0). Para encontrar cuál de estos dos da mejores ganancias, simplemente podemos poner los puntos en nuestra función objetivo y ver cuál produce la mejor salida:
- c = 5a + 6b ⬄ c = (5*2) +(6*3) = 28
- c = 5a + 6b ⬄ z = (5*5) +(6*0) = 25
Como puede ver, obtenemos un mayor valor de beneficio para la opción A. Entonces, nuestra solución que brinda los mejores beneficios es la siguiente => ¡2 kg de factor X y 3 kg de factor Y!
En conclusión
Los problemas de optimización no tienen fin, especialmente cuando hablamos en un contexto empresarial. Las empresas enfrentan desafíos de optimización con más frecuencia de lo que les gustaría. Como resultado, solo el método gráfico no es suficiente para resolver problemas de optimización más técnicos.
Debe comprender herramientas o lenguajes de programación importantes para realizar con éxito la optimización lineal en problemas de múltiples variables. Pero la buena noticia es que no es tan difícil acostumbrarse a trabajar con herramientas o lenguajes de programación relevantes. Todo el campo de la ciencia de datos es muy acogedor, lo que facilita que las personas de cualquier origen desarrollen una carrera en ciencia de datos, si tienen interés.
En upGrad, hemos guiado a estudiantes de todo el mundo con diversos antecedentes y los hemos ayudado a desarrollar el conocimiento teórico relevante y la experiencia práctica necesaria para tener éxito en la ciencia de datos. ¡ Consulte nuestro Programa Ejecutivo de Posgrado en Ciencia de Datos para obtener más información sobre la estructura de nuestro curso, el plan de estudios y la ventaja de upGrad!
1. ¿La programación lineal está relacionada con la programación de computadoras?
No, la programación lineal se refiere a realizar optimizaciones bajo restricciones. No está relacionado con la programación informática en el sentido tradicional de la palabra.
2. ¿Cuándo se necesita más la programación lineal?
Necesita programación lineal al optimizar algunas variables de decisión bajo varias restricciones. Resulta útil durante el análisis predictivo y ayuda a las empresas a hacer mejores predicciones.
3. ¿Es necesario realizar manualmente la programación lineal?
No, existen varias herramientas, tanto de código abierto como de otro tipo, que pueden ayudarlo a realizar la programación lineal.