La programación lineal (LP, también conocida como optimización lineal) es el campo de la programación matemática dedicado a maximizar o minimizar (optimizar) una función lineal, denominada función objetivo, de tal forma que las variables de dicha función estén sujetas a una serie de restricciones expresadas mediante un sistema de ecuaciones o inecuaciones también lineales.
Los programas lineales son problemas que pueden ser expresados en su forma canónica como donde
es el vector de variables que se desea determinar,
son usados como una matriz de un solo renglón para que el producto matricial esté definido) y
La función cuyo valor se va a maximizar o minimizar (en este caso
La programación lineal se plantea como un modelo matemático desarrollado durante la Segunda Guerra Mundial para planificar los gastos y los retornos, a fin de reducir los costos al ejército y aumentar las pérdidas del enemigo.
Los fundadores de la técnica son George Dantzig, quien publicó el algoritmo simplex, en 1947, John von Neumann, que desarrolló la teoría de la dualidad en el mismo año, y Leonid Kantoróvich, un matemático de origen ruso, que utiliza técnicas similares en la economía antes de Dantzig y ganó el premio Nobel en economía en 1975.
En 1979, otro matemático ruso, Leonid Khachiyan, diseñó el llamado Algoritmo del elipsoide, a través del cual demostró que el problema de la programación lineal es resoluble de manera eficiente, es decir, en tiempo polinomial.
[2] Más tarde, en 1984, Narendra Karmarkar, un matemático de origen indio, introduce un nuevo método del punto interior para resolver problemas de programación lineal, lo que constituiría un enorme avance en los principios teóricos y prácticos en el área.
Sin embargo, toma sólo un momento encontrar la solución óptima mediante el planteamiento del problema como una programación lineal y la aplicación del algoritmo simplex.
La forma más usual e intuitiva de describir un problema de programación lineal es en su forma estándar, el cual consiste de tres partes: El problema es usualmente representado en forma matricial como que también puede ser escrito como o simplemente como Otras formas, como problemas de minimización, problemas con restricciones de otra forma, así como problemas que involucran variables negativas pueden se escritos mediante un problema equivalente en su forma estándar.
como formas no estándar, se tienen los siguientes casos Geométricamente, las restricciones lineales definen la región factible, que es un poliedro convexo.
Como las funciones lineales no son ni estrictamente convexas ni estrictamente cóncavas, las soluciones óptimas no son necesariamente únicas.
Si la región factible es acotada y no vacía, entonces existirá al menos una solución óptima, puesto que una función lineal es continua y por lo tanto alcanza un máximo en cualquier región cerrada y acotada.
En primer lugar, si la región factible es vacía, es decir, si ningún punto verifica todas las restricciones, entonces el problema es no factible.
En segundo lugar, si la región factible no está acotada en la dirección del gradiente de la función objetivo, el problema es no acotado, y se pueden encontrar puntos que verifican todas las restricciones y con un valor tan alto como queramos de la función objetivo.
Muchas veces la solución del programa lineal truncado está lejos de ser el óptimo entero, por lo que se hace necesario usar algún algoritmo para hallar esta solución de forma exacta.
El más famoso es el método de 'Ramificar y Acotar' o Branch and Bound por su nombre en inglés.
Del mismo modo, la programación lineal es muy usada en la microeconomía, la ingeniería y la administración de empresas, ya sea para aumentar al máximo los ingresos o reducir al mínimo los costos de un sistema de producción.
El aprendizaje de la metodología programación lineal es importante en la formación del ingeniero industrial y el administrador porque le da herramientas para mejorar la toma de decisiones en las empresas, lo que llevará a mejorar los procesos de las mismas.
Existen tres minas de carbón cuya producción diaria es: En la zona hay dos centrales termoeléctricas que consumen: Los costos de mercado, de transporte por tonelada son: Si se preguntase a los pobladores de la zona cómo organizar el transporte, tal vez la mayoría opinaría que debe aprovecharse el precio ofrecido por el transportista que va de "a" a "d", porque es más conveniente que los otros, debido a que es el de más bajo precio.
En este caso, el costo total del transporte es: Sin embargo, formulando el problema para ser resuelto por la programación lineal se tienen las siguientes ecuaciones: La solución de costo mínimo de transporte diario resulta ser: 120 monedas menos que antes.
Ahora bien, las aplicaciones,por ejemplo, en productos de combinaciones convexas y desigualdades (de Kantorovich) pueden ser retratadas de la siguiente forma: Sean λi y μi (i = 1,2,…, N) constantes reales y θi (i = 1,2,…, N) variables no negativas que satisfagan Σθi = 1.
Se muestra que el problema del extremo (N - 1) -dimensional de encontrar el máximo y mínimo globales del producto (Σθiλi) (Σθiμi) se puede reducir a un problema unidimensional definido en el límite del polígono convexo atravesado por el pares ordenados (λi, μi).
Para un conjunto dado de λi′s positivos (λ1⩾λ2⩾ ⋯ ⩾λN> 0), la desigualdad de Kantorovich establece que max {(Σθiλi) (Σθiμi)} = (λ1 + λN) 24λ1λN y min {(Σθiλi) (Σθiμi )} = 1 si μi = 1λi, i = 1,2,…, N. Se muestra que la nueva técnica anterior se puede utilizar para identificar exactamente cuánto pueden variar los μi de los valores de Kantorovich μi = 1 / λi sin invalidar los límites de Kantorovich.