En los siglos XVII y XVIII matemáticos como Newton, Leibniz, Bernouilli y sobre todo Lagrange, que tanto habían contribuido al desarrollo del cálculo infinitesimal, se ocuparon de obtener máximos y mínimos condicionados de determinadas funciones. Posteriormente, el matemático francés Jean Batiste-Joseph Fourier fue el primero en intuir, aunque de forma imprecisa, los métodos de lo que actualmente llamamos Programación Lineal. Si exceptuamos al matemático Gaspar Monge, quien en 1776 se interesó por problemas de este género, debemos remontarnos al año 1939 para encontrar nuevos estudios relacionados con los métodos de la actual Programación Lineal. En este año, el matemático ruso Leonidas Vitalyevich Kantorovitch publica una extensa monografía titulada “Métodos matemáticos de organización y planificación de la producción”, en la que por primera vez se hace corresponder a una extensa gama de problemas una teoría matemática precisa y bien definida llamada, hoy en día, Programación Lineal. En 1941, se formula por primera vez el problema del transporte, estudiado independientemente por Kopmans y por Kantorovitch, razón por la cual se le suele conocer con el nombre de Kopmans-Kantorovitch. Tres años más tarde, G. Stigler plantea otro problema particular conocido con el nombre de “régimen alimenticio opcional”. En estos años posteriores a la II Guerra Mundial, en E.E.U.U. se asumió que la eficaz coordinación de todas las energías y recursos de la nación era un problema de tal complejidad, que su resolución y simplificación pasaban necesariamente por los modelos de optimización que resuelve la Programación Lineal. 1 En 1947, G. B. Dantzig formula, en términos matemáticos, el enunciado estándar al que cabe reducir todo problema de Programación Lineal. Dantzig, junto con una serie de investigadores del United States Departament of Air Force, formarían el grupo que dio en denominarse Scoop, siendo una de las primeras aplicaciones de los estudios del grupo el puente aéreo de Berlín. Posteriormente, se constituyen en E.E.U.U. distintos grupos de estudio para ir desarrollando las diferentes ramificaciones de la Programación Lineal. Respecto al método del Simplex, señalar que su estudio comenzó en 1951 y fue desarrollado por Dantzig. Este algoritmo es básico en la resolución de los problemas de Programación Lineal, fundamentales en economía general, economía de empresas y planificación, aunque en principio sus aplicaciones fueron militares. De forma general, los problemas de optimización lineal tienen la siguiente estructura: • Existe un cierto objetivo a alcanzar, un beneficio máximo, un coste mínimo o mínimo período de tiempo del sistema que se estudia. • Generalmente, hay un gran número de variables que deben manejarse simultáneamente y de diferentes tipos. • Existen muchas interacciones entre las variables. • A veces, existen objetivos contradictorios con el objetivo principal del problema. Dicho de otro modo, un problema de Programación Lineal se caracteriza, como su propio nombre indica, por funciones lineales de las variables que involucra; el objetivo es lineal en las variables, y las restricciones son también ecuaciones o inecuaciones lineales en las variables de decisión. Los campos de aplicación de la Programación Lineal son muy numerosos. Entre otros, se pueden citar: 2 • El campo de las aplicaciones militares. • El campo de las Matemáticas Puras y Aplicadas. • El campo de la Economía y, especialmente, de la Economía de la Empresa. Aquí, las aplicaciones se tienen en numerosos sectores: la industria química y del petróleo, las industrias alimenticias, la metalurgia, la producción y distribución de energía eléctrica, la minería, los transportes, la agricultura y ganadería, etc. También los tipos de problemas son muy variados, entre ellos están: • Las mezclas (industria del petróleo, nutrición de animales, etc.). • La afectación del personal (problemas de asignación de tareas). • La distribución y el transporte. • El almacenaje. • Los planes de producción. • Los problemas compuestos de inversión, producción, almacenaje y distribución. • Los estudios de circulación. • El problema del viajante de comercio. Para la Teoría Económica, en general, la aportación que ha hecho la Programación Lineal es muy valiosa, ya que muchas interrelaciones que en principio podían estar explicadas de forma vaga, están en la actualidad cuantificadas y perfectamente definidas. El atractivo que la Programación Lineal ofrece en cualquier otro tipo de disciplinas, hay que buscarlo en la sencillez de las técnicas matemáticas que utiliza, 3 la riqueza o posibilidades que ofrece su teoría, y la facilidad computacional que se tiene para los problemas lineales en contraposición con los no lineales. Al mismo tiempo, nos permite organizar la información cuantitativa en un modelo de expresión matemática accesible para expertos en otras profesiones. Otra razón de la popularidad de la formulación lineal, tanto para el objetivo como para las restricciones, es que es a menudo la menos difícil de definir, lo cual lleva en múltiples ocasiones a linealizar objetivos no lineales, con la consiguiente aproximación de su óptimo. Por simplicidad en los cálculos y claridad en la exposición, el estudio no se concretará en una aplicación particular. Los ejemplos que utilizaremos para describir la técnica puramente formal son de pequeñas dimensiones y económicamente irreales. 4 El problema general de Programación Lineal consiste en la búsqueda del óptimo (máximo o mínimo) de una función lineal de n variables x j , j = 1, ..., n, ligadas por relaciones lineales (ecuaciones o inecuaciones) llamadas restricciones. Entre las restricciones se distinguen: 1. Las del tipo x j ≥ 0 , imponiendo a una parte o al conjunto de las variables ser no negativas. Usualmente, son llamadas restricciones de no negatividad. 2. El resto de las restricciones, del tipo que sean, a las que a veces de les denomina restricciones verdaderas. Exceptuando el caso de los problemas lineales en números enteros, las variables pueden tomar cualquier conjunto de valores reales que satisfagan las restricciones. Precisamente, se tratará de encontrar, de entre estos posibles valores, aquel que de un mejor valor a la función lineal antes mencionada. Las restricciones son normalmente inecuaciones o ecuaciones. Se puede suponer, siempre que sea necesario, que algunas inecuaciones se han multiplicado por – 1, para que todas las desigualdades tengan el mismo sentido, y que algunas variables se han sustituido por sus opuestas para que las únicas condiciones suplementarias impuestas a estas variables sean restricciones de no negatividad. 5 2.2. MODELIZACIÓN DEL PROBLEMA La traducción algebraica que podemos hacer para la formulación del objetivo, tratará de optimizar (minimizar o maximizar) la función lineal: f (x1 , , xn ) = n ∑c x j j j =1 siendo constantes los coeficientes c j . Del mismo modo, para la formulación del sistema de restricciones: n ∑a x ij j ≥ bi , i = 1, ..., p j = bi , i = p + 1, ..., m j =1 n ∑a x ij j =1 xj ≥ 0, j = 1, ..., q x j cualquiera j = q + 1, ..., n Un significado apropiado para cada una de las cantidades que intervienen sería el siguiente: x j : nivel de actividad j-ésima. cj : Por tanto, n denotará el número de actividades. margen de beneficio o coste que supone producir una unidad de la actividad j-ésima. aij : cantidad del i-ésimo recurso requerido para producir una unidad de la bi : 6 j-ésima avtividad. Por tanto, m denotará el número de recursos. cantidad disponible del i-ésimo recurso o su requerimiento.