Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sesion 1 Mie 13 Mayo
Sesion 1 Mie 13 Mayo
Notas
Profesora Elsa Báez
Tema 1. Preliminares.
La programación lineal tiene sus raíces en el año de 1826 con el estudio de desigualdades lineales.
Varios matemáticos de esa época demostraron casos especiales del teorema de dualidad, el cual es
uno de los resultados más importantes relacionados con PL. En 1939 L. V. Kantorovich,
matemático ruso, advirtió la importancia práctica de cierto tipo de problemas de programación
lineal y desarrollo un algoritmo para resolverlos. Desafortunadamente, debido a la guerra fría que
imperaba entre diversas potencias mundiales, las aportaciones de Kantorovich no fueron conocidas
en occidente y por lo tanto no tuvieron mayor repercusión fuera de Rusia.
Uno de los principales impulsores de la programación lineal fue George Bernard Dantzig profesor
norteamericano de computación, física y matemáticas, cuyo padre fue un matemático ruso, que
trabajó con Poincaré en París, y que emigró a los Estados Unidos.
Se considera que la mayor contribución que Dantzig hizo a la humanidad fue la creación del
algoritmo Simplex para resolver problemas de optimización lineal, Durante la segunda guerra
mundial, la programación lineal se planteó como un modelo matemático, cuando se buscaba reducir
los altos costos de los ejércitos de los Estados Unidos y sus aliados, y aumentar las pérdidas del
enemigo. En esa época Dantzig trabajaba como consejero matemático para la Fuerza Aérea
norteamericana en problemas relacionados con el desarrollo de un sistema automático de
planificación temporal de despliegue, entrenamiento y abastecimiento logístico. fue entonces que
desarrolló el método Simplex para resolver problemas de optimización lineal. Se dice que el
algoritmo Simplex fue usado en secreto por el ejército norteamericano hasta que su publicación.
A partir de su trabajo con el ejército, Dantzig se percató que muchos problemas relacionados con
recursos limitados y más de una demanda, se podrían establecer en términos de una serie de
ecuaciones y desigualdades, y aplicarles el método Simplex.Debido a que la Fuerza Aérea
denomina programas a diversos planes y proyectos que va a implementar, en el primer artículo
publicado por Dantzig se refiere a este problema como programación en una estructura lineal. En
1948 T.C. Koopmans, un colaborador de Dantzig, denominó programación lineal a la aplicación de
este tipo de estructuras . En 1949, Dantzig publicó el método Simplex para resolver programas
lineales, el cual fue ampliamente aceptado y logró gran popularidad por su capacidad de resolver
problemas a gran escala y producir soluciones óptimas en un tiempo razonable, mediante el uso
potentes computadoras. Desde entonces, la programación lineal y sus métodos de aplicación,
especialmente el algoritmo Simplex, se han utilizado extensamente en el área militar, industrial,
gubernamental y de planificación urbana, entre muchas. Algunos campos específicos donde ha
tenido amplia aplicación la programación lineal son las matemáticas puras y aplicadas, donde la PL
ha permitido obtener resultados teóricos y métodos de cálculo en la teoría de gráficas, el análisis
combinatorio y en la solución de algunos problemas de la Teoría de juegos; asimismo, en la
economía, particularmente en la economía de empresas y en diversos sectores de las industrias
alimenticia, química, petrolera, eléctrica, minera, del papel, del transporte (aéreo, marítimo,
ferroviario y carretero), de la construcción, agrícola y pesquera, entre otras.
Así de manera general e intuitiva, podemos decir que la programación lineal estudia la optimización
(minimización o maximización) de una función lineal que satisface un conjunto de restricciones
lineales de igualdad y/o desigualdad.
De entre el tipo de problemas de aplicación que atiende la PL, dentro de los campos de aplicación
señalados arriba, se pueden mencionar la distribución de personal, la elaboración de mezclas
(involucrados frecuentemente en la industria del petróleo, en la elaboración de planes de nutrición
humana, así como en la elaboración de alimento para animales), el transporte de mercancía, el
almacenamiento de productos, los planes de producción o fabricación de productos, la distribución
de bienes y servicios, el problema del viajero y las relaciones entre industrias.
Finalmente, desde la creación del método simplex muchos investigadores han contribuido al
desarrollo de la programación lineal, desarrollando la teoría matemática correspondiente, diseñando
códigos y métodos computacionales eficientes, experimentando nuevas aplicaciones, o utilizando la
programación lineal como una herramienta auxiliar para resolver problemas más complejos,
mismos que caen dentro de ámbitos que tienen cierta relación con la PL, tales como la
programación entera, la programación no lineal, la programación estocástica, problemas
combinatorios, problemas discretos y problemas de control óptimo. En ciertos campos, la PL ha
tenido una amplio uso para lograr minimizar costos, como en la planeación en las industrias del
petróleo y química; o maximizar ganancias, como en la industria automotriz. Si bien la PL ha
ofrecido un gran e invaluable servicio en diversas áreas, en algunos otros aún no ha sido apreciada,
o explotada, en todo su potencial, ejemplo de esto es el caso del modelado de la dinámica del
crecimiento poblacional del mundo para la cual se tienen recursos limitados, o incluso decrecientes.
1.1 Ejemplos de problemas de dos variables, que dan lugar a la búsqueda de una solución
óptima de una función en un conjunto definido por igualdades o desigualdades.
A continuación se presentan algunos problemas prácticos sencillos (simplificados) que pueden ser
modelados como un problema de programación lineal en dos variables. Los primeros dos se
describen con mayor detalle, con objeto de identificar los elementos que lo componen y poder
plantear el correspondiente modelo matemático.
Problema 1
La Compañía Arcoiris cuenta con una pequeña fábrica de pinturas para interiores y exteriores de
casa, para distribución al mayoreo. Para su proceso de producción de pinturas se utilizan dos
materiales básicos, llamémosles A y B. La disponibilidad máxima de A es de 6 toneladas diarias; la
de B es de 8 toneladas por día. Las necesidades de materia prima por toneladas de pintura para
interiores y exteriores se resumen en la Tabla I.
Un estudio del mercado ha establecido que la demanda diaria de pintura para interiores no puede ser
mayor que la de pintura para exteriores en más de una tonelada. Asimismo, el estudio señala que la
demanda máxima de pintura para interiores está limitada a dos toneladas diarias.
El precio al mayoreo por tonelada es de $3000 (dólares) para la pintura de exteriores y de $2000
(dólares) para la pintura de interiores1.
¿Cuánta pintura para exteriores e interiores debe producir la compañía todos los días para
maximizar el ingreso bruto?
1
Investigación de Operaciones. Taha H. Quinta edición. Alfaomega. pp. 18-21.
Toneladas de materia prima
por tonelada de pintura
Materia Disponibilidad
Exterior Interior
prima máxima (toneladas)
A 1 2 6
B 2 1 8
Tabla I. Requerimientos y disponibilidad de materia prima para la
elaboración de las pinturas de exteriores e interiores.
Ahora que el problema ha sido planteado, debemos proceder a elaborar el correspondiente modelo
matemático. De manera general, las siguientes preguntas serán de gran ayuda, incluso
fundamentales, para lograr obtener el modelo matemático de cualquier problema de programación
lineal.
a) ¿Qué busca determinar el modelo?, o en otras palabras ¿cuáles son las variables
(incógnitas del problema?
b) ¿Qué restricciones deben imponerse a las variables a fin de satisfacer las limitaciones
del sistema representando por el modelo?
c) ¿Cuál es la meta u objetivo que se necesita o desea alcanzar para determinar la mejor
solución (solución óptima) de entre todos los valores factibles de las variables?
Una manera efectiva de responder a estas preguntas consiste en hacer un resumen del problema:
La compañía busca determinar las cantidades (en toneladas) de pintura para exteriores e interiores
que se producirán para maximizar (incrementar hasta donde sea factible) el ingreso bruto total (en
miles de unidades monetarias, es decir en miles de dólares para este problema), a la vez que se
satisfacen las restricciones de la demanda y el uso de materias primas.
El punto central y, quizá el más importante para poder obtener el modelo matemático
correspondiente, consiste en identificar, en primer término, las variables o incógnitas a determinar,
y después expresar el objetivo y las restricciones como funciones de las variables. Para el caso de la
Compañía Arcoiris tenemos:
Variables. Dado que se desea determinar las cantidades de pintura para exteriores e interiores que se
producirán, las variables del modelo se pueden definir como
Función objetivo. Si cada tonelada de pintura para exteriores se vende en $3,000, el ingreso bruto
obtenido de la venta de toneladas es 3 miles de unidades monetarias (miles de dólares). De
manera similar, el ingreso bruto que se obtiene de vender toneladas de pintura para interiores es
2 miles de unidades monetarias. Bajo la suposición de que las ventas de pintura para exteriores e
interiores son independientes, el ingreso bruto total se convierte en la suma de los dos ingresos.
Si llamamos z al total de ingreso brutos (en miles de dólares), la función objetivo se puede escribir
en términos matemáticos como
así, la meta u objetivo consiste en determinar los valores (factibles) de y que maximizarán el
valor de z.
Restricciones. El problema de la Compañía Arcoiris impone restricciones sobre el uso de materias
primas y sobre la demanda. La restricción del uso de materias primas se puede expresar en forma
abreviada como
( ) ( )
Esto nos lleva a las siguientes restricciones, a partir de los datos del problema sintetizados en la
tabla de arriba:
(materia prima A)
(materia prima B)
Por otra parte, las restricciones sobre la demanda se expresan en forma simplificada como
Una restricción implícita, que no debe pasarse por alto, y que por tanto debe incluirse es que la
cantidad que se produce de cada pintura no puede ser negativa (menor que cero). Para evitar obtener
una solución como ésta, se imponen restricciones de no negatividad, que por lo general se escriben
como
(pinturas para interiores)
(pinturas para exteriores)
(restricciones)
Problema 2
Químicos Clean es una empresa que produce diversos productos químicos. En un proceso de
producción en particular se utilizan tres materias primas para elaborar dos productos: un aditivo
para combustible, y una base disolvente. El aditivo para combustible se vende a empresas petroleras
y se utiliza en la producción de gasolina y otros combustibles relacionados. La base disolvente se
vende a varias empresas químicas y se utilizan tanto para productos de limpieza para el hogar como
industriales. Para formar el aditivo para combustible y la base disolvente se mezclan las tres
materias primas, como se indica en la Tabla II. Como se observa de la tabla, una tonelada de aditivo
para combustible requiere de una mezcla de de tonelada de la materia prima 1, y de tonelada de
la materia prima 3. Una tonelada de disolvente requiere de una mezcla de de tonelada de la
materia prima 1, de tonelada de la materia prima 2, y de tonelada de la materia prima 3.
Base disolvente
La producción de Químicos Clean está limitada por la disponibilidad de las tres materias primas las
cuales, para el período de producción actual, la empresa tiene disponibles las cantidades señaladas
en la Tabla III:
Debido al deterioro y a la naturaleza del proceso de producción, cualquier materia prima que no se
utilice para la producción actual resulta inútil y debe descartarse.
El departamento de control de calidad ha analizado las cifras de producción, asignando todos los
costos correspondientes y, para ambos productos, llegó a precios que resultarán en una contribución
a la utilidad de 40 dólares por cada tonelada de aditivo para combustible producida, y de 30 dólares
por cada tonelada de base disolvente producida. La administración de Químicos Clean, después de
un análisis de la demanda potencial, ha concluido que los precios establecidos asegurarán la venta
de todo el aditivo para combustible y de toda la base disolvente que se produzca.
La empresa Químicos Clean desea determinar cuántas toneladas de cada producto deberá producir
para maximizar la contribución total a la utilidad.
De acuerdo con lo que comentamos en el primer ejemplo, podemos resumir el problema como que
la empresa desea determinar las cantidades de aditivo para combustible y de base disolvente que
debe producir para maximizar la contribución total a la utilidad. Ahora podemos definir cuáles son
las variables, la función objetivo y las restricciones del problema.
Variables. Con base en el resumen anterior, podemos definir las variables del problema como:
Restricciones: Dado que las cantidades de materias primas disponibles con que cuenta Químicos
Clean, se tienen tres condiciones que limitan las cantidades de fabricación de aditivo para
combustible y de base disolvente que la empresa puede producir. De la Tabla II se observa que, de
acuerdo con los requerimientos de producción, cada tonelada de aditivo para combustible requiere
de toneladas de la materia prima 1, por lo que para producir toneladas de aditivo para
combustible se requerirá de toneladas de la materia prima 1. Por otra parte, cada tonelada de
base disolvente requiere de de toneladas de la materia prima 1, así que para fabricar toneladas
de base disolvente se requerirá de . De lo anterior se tiene que el total de toneladas que se
usarán de la materia prima 1 para producir toneladas de aditivo para combustible y toneladas
de base disolvente es y, dado que solo existen 20 toneladas disponibles de la materia
prima 1, entonces se debe cumplir que . De manera similar, se puede analizar la
cantidad total de toneladas que se requiere utilizar de las materias primas 2 y 3, considerando la
disponibilidad que hay de éstas. Así, estas relaciones se pueden expresar de manera general como
( ) ( )
Finalmente, como es claro no es posible producir cantidades negativas de toneladas de aditivo para
combustible de base disolvente, lo cual queda representado por las restricciones o condiciones de no
negatividad
y
Con estas restricciones de no negatividad aseguramos que la solución del problema contendrá solo
valores no negativos para las variables de decisión. Las restricciones de no negatividad son una
característica general de todos los problemas de programación lineal.
De esta manera, podemos concluir que el modelo matemático de programación lineal que se debe
resolver para dar atender el problema de la empresa Químicos Clean esta dado por
sujeto a
Problema 3
Una compañía fabrica dos tipos de aparatos, manuales y eléctricos. Cada uno de ellos requiere en su
fabricación de el uso de tres máquinas: A, B y C. Un aparato manual requiere de usar 2 hrs. la máquina A,
1 hr. la máquina B y de 1 hr. la máquina C. Un aparato eléctrico requiere de usar 1 hr. La máquina A, 2
hrs. la máquina B y 1 hr. La máquina C. Además, el número máximo de horas disponibles por mes para el
uso de cada una de las tres máquinas es de 180, 160 y 100, respectivamente. La utilidad que se obtiene
con los aparatos manuales es de $4 (dólares) , mientras que con los eléctricos es de $6 (dólares). Si la
compañía vende todos los aparatos que fabrica, ¿cuántos aparatos de cada tipo debe fabricar la compañía
para maximizar la utilidad mensual?
Máquina Utilidad
A B C
Aparato por unidad
Eléctrico 1 h. 2 h. 1h. $6
Horas totales
180 160 100
disponibles
Tabla IV. Requerimientos y disponibilidad de los recursos.
sujeto a
Problema 4
Una dieta debe contener cuando menos 16 unidades de carbohidratos y 20 de proteína. El alimento A
contiene 2 unidades de carbohidratos y 4 de proteína; el B contiene 2 unidades de carbohidratos y 1 de
proteína. Si el alimento A cuesta $1.20 euros por unidad y B cuesta $0.80 euros por unidad ¿cuántas de
cada alimento deben adquirirse para minimizar los costos?
B 2 u. 1 u. $ 0.80
Requerimientos 16 u. 20 u.
totales de nutrimentos
De donde el correspondiente problema de programación lineal que deberá resolverse para dar respuesta al
problema está dado por
sujeto a
(total de carbohidratos aportados)
Problema 5.
Una compañía extrae minerales de ciertas minas. El número de libras de los minerales y que se
pueden extraer de cada tonelada que se saca de las minas I y II puede representarse mediante la Tabla VI,
junto con los costos por cada tonelada extraída de estas minas. Si la compañía desea obtener cuando
menos 3000 libras del mineral de y 2500 libras del mineral , ¿cuántas toneladas de cada mina se deben
procesar para minimizar los costos de extracción?
Mina
I II
Mineral
100 lb. 200 lb.
sujeto a
Si bien estos ejemplos involucran solo dos variables de decisión, proporcionan una idea general bastante
clara de lo que es un problema de programación lineal, así como los elementos que lo componen. Con
esto, estamos en posición de definir lo que es un problema de programación lineal. Finalmente, tres
observaciones muy importantes que debemos de asegurarnos de no perder de vista cuando tratemos con
problemas de programación lineal:
1) Definir con todo detalle y claridad lo que representa cada una de las variables involucradas, y
asegurarse de usar una notación adecuada, ayudará en gran medida a describir correctamente el
modelo matemático correspondiente. Por ejemplo, en el caso del problema 4 que habla sobre los
nutrimentos que debe tener contener una dieta, usar las letras A y B (en lugar de y u otras
adecuadas) para indicar la cantidad de unidades de los alimentos a comprar no es una buena elección
para las variables, ya que en principio los alimentos involucrados son llamados A y B, y no es
conveniente utilizarlas nuevamente estas para representar las cantidades de unidades de cada uno de
estos mismos alimentos que se requieren. Es importante ser muy cuidadoso con los nombres de las
variables que utilicemos, eso ahorrará muchos problemas y confusiones innecesarios creados por caer
en este error. Se sugiere utilizar nombres y o subíndices que indique lo que representa cada variable,
para evitar tener que estar regresando a ver lo que representa.
2) Es importante asegurarse que las unidades que involucren, tanto en la función objetivo como en
ambos lados de las restricciones sean consistentes, en caso contrario los resultados obtenidos al
resolver el problema de programación lineal (PL) no serán correctos. En caso de requerirse, se deberá
hacer las conversiones necesarias para asegurar que todos los elementos (función objetivo y
restricciones) del problema sean consistentes en cuanto a sus unidades.