Programacion Lineal

52
2.1 INTRODUCCIÓN La Programación Lineal (PL) o Linear Programming (LP) es un modelo matemático usado inicialmente en la solución de problemas en el área de la defensa con el objeto de optimizar el efecto de sistemas de armas en caso de guerra; posteriormente se utilizó en las industrias, para ayudar a tomar las mejores decisiones de distribución de recursos productivos escasos entre varios posibles productos, es decir situaciones de planificación y programación de la producción con el objeto de determinar tipos de productos y cantidades a fabricar, de forma de obtener resultados óptimos para la empresa. En el año 1947 G. Dantzig desarrolló el simplex, poderoso algoritmo que permite resolver modelos de PL. A comienzos de la década del cincuenta muchas empresas norteamericanas experimentaron un fuerte crecimiento en sus niveles operacionales y se usó la PL para determinar niveles de actividad y asignación de recursos en forma óptima. La Programación (entiéndase como sinónimo de planificación en forma óptima) Lineal es actualmente una de las herramientas de la Investigación de Operaciones más utilizadas. Además de lo explicado anteriormente, ha ampliado su ámbito de aplicaciones a optimizar una gran variedad de situaciones, entre ellas problemas de portafolio de inversiones, de transporte y distribución de productos, de programación de personal, de manejo de inventarios, de ubicación de instalaciones (plantas, bodegas), combinaciones de las situaciones mencionadas, etc. Una situación de toma de decisión que utiliza PL comprende tres fases, en lo que respecta al uso de la PL misma: Formulación del problema como un modelo de PL. Resolución del modelo de PL. Interpretación de la solución y análisis de sensibilidad asociado a ella. En este apunte se presentan estas tres fases, usando ejemplos típicos que permitirán al lector comprender de mejor manera el tema.

description

Modelos de programación lineal, método gráfico y analitico

Transcript of Programacion Lineal

Page 1: Programacion Lineal

2.1 INTRODUCCIÓN

La Programación Lineal (PL) o Linear Programming (LP) es un modelo matemático usado

inicialmente en la solución de problemas en el área de la defensa con el objeto de optimizar el

efecto de sistemas de armas en caso de guerra; posteriormente se utilizó en las industrias, para

ayudar a tomar las mejores decisiones de distribución de recursos productivos escasos entre

varios posibles productos, es decir situaciones de planificación y programación de la

producción con el objeto de determinar tipos de productos y cantidades a fabricar, de forma de

obtener resultados óptimos para la empresa.

En el año 1947 G. Dantzig desarrolló el simplex, poderoso algoritmo que permite resolver

modelos de PL.

A comienzos de la década del cincuenta muchas empresas norteamericanas experimentaron un

fuerte crecimiento en sus niveles operacionales y se usó la PL para determinar niveles de

actividad y asignación de recursos en forma óptima.

La Programación (entiéndase como sinónimo de planificación en forma óptima) Lineal es

actualmente una de las herramientas de la Investigación de Operaciones más utilizadas.

Además de lo explicado anteriormente, ha ampliado su ámbito de aplicaciones a optimizar una

gran variedad de situaciones, entre ellas problemas de portafolio de inversiones, de transporte

y distribución de productos, de programación de personal, de manejo de inventarios, de

ubicación de instalaciones (plantas, bodegas), combinaciones de las situaciones mencionadas,

etc.

Una situación de toma de decisión que utiliza PL comprende tres fases, en lo que respecta al

uso de la PL misma:

Formulación del problema como un modelo de PL.

Resolución del modelo de PL.

Interpretación de la solución y análisis de sensibilidad asociado a ella.

En este apunte se presentan estas tres fases, usando ejemplos típicos que permitirán al lector

comprender de mejor manera el tema.

Page 2: Programacion Lineal

No debe quedar inadvertido que para la formulación de una situación como un modelo de PL,

alguien deberá darse cuenta que hay un problema entre manos que requiere atención y que por

otra parte la PL es una herramienta adecuada para abordarlo (ver Figura 1.1).

George Dantzig

Page 3: Programacion Lineal

2.2 APLICACIONES TÍPICAS DE LA PL

Algunas situaciones típicas o problemas (las que muchas veces se presentan en forma

combinada) de toma de decisión que utilizan PL se detallan a continuación:

Problemas de Producción de una Mezcla de Productos (Product Mix).

Una planta manufacturera (por ejemplo una fábrica de cemento) puede producir una

cierta variedad de productos (en este caso diversos tipos y calidades de cementos). Cada

producto requiere una cantidad específica de distintos recursos (materias primas, tiempo

de máquinas, horas hombre, bodegaje, etc.). Por otra parte cada producto genera un

beneficio diferente. La formulación de PL busca determinar la cantidad óptima que

se debe producir de cada uno de los productos en el corto plazo, de forma de

maximizar los beneficios en forma global y satisfacer también todas las restricciones de

recursos.

Una situación análoga es la de la carga de un buque mercante portacontenedores, en que

la selección y ubicación de distintas cargas (cada una compuesta por un cierto tipo y

cantidad de contenedores) en las distintas bodegas debe satisfacer contratos de fletes

marítimos, restricciones de peso, volumen, equilibrio o estiba, orden (pensando en

cuales se deberán descargar primero), etc.

Problemas de Planeación agregada.

Es un caso más complejo que el anterior ya que se trata de problemas de producción que

consisten en planificar las cantidades totales a producir de varias categorías de

productos - los que son considerados en forma agregada por categoría - demandados

por distintos clientes en el corto y mediano plazo (típicamente con un horizonte de un

año y actualización mensual) determinando el empleo global de recursos en forma

agregada para las varias categorías de productos (mano de obra normal y en tiempos

extras, subcontratos, maquinaria, inventario necesario de materias primas, de productos

semielaborados y de consumos, embalaje, bodegaje, etc.) que determinan la oferta.

También se puede considerar influir sobre la demanda con variables tales como el

precio, retardo o adelanto de pedidos, promociones y la publicidad.

Page 4: Programacion Lineal

Cuando el problema de producción abarca varios períodos de tiempo, se habla de

planificación multiperíodica. Por ejemplo, si se puede producir en un período más de lo

demandado, lo que sobra puede que sea posible y conveniente almacenarlo para un

próximo período. Esto puede ser representado en PL a través de variables de niveles de

inventario o productos terminados, inventario que tendrá un cierto costo de mantención.

Posterior a la etapa de planeación viene la etapa de programación de la producción

con un horizonte de semanas, donde los recursos y las categorías de productos son

considerados en forma desagregada.

Problemas de Mezclado de Componentes (Blending).

El caso típico es el de una refinería de petróleo que fabrica varios productos

(combustibles) en base a la mezcla de distintos crudos. La refinería desea determinar

las cantidades óptimas de los componentes (crudos), que deben ser mezclados entre sí,

para obtener gasolinas de distintos octanajes y otros productos, maximizando los

beneficios de la venta de los productos, sujeto a la disponibilidad de los componentes, a

la demanda y a la capacidad de producción. Este proceso productivo se conoce como

destilación fraccionada, en que la mezcla es sometida a una elevación paulatina de

temperatura para obtener de la mezcla los distintos productos.

Problemas de Selección de la Publicidad y el Tipo de Medio a Usar.

La formulación de PL busca seleccionar correctamente la combinación de medios (TV,

diarios, revistas, radio, internet, etc.) a usar y la cantidad de comerciales (spots) durante

una campaña publicitaria. Las restricciones son el presupuesto total y la cantidad de

spots que se pueden pasar en cada medio. En este caso se busca la llegada del

mensaje publicitario al máximo de consumidores potenciales, generando la mayor

demanda posible por el producto o servicio publicitado.

Problemas de Dieta.

Es muy similar al caso de mezclado de componentes, con la diferencia que se persigue

minimizar los costos asociados a la producción de alimentos para uso en ganadería,

avicultura, acuicultura, etc. respetando porcentajes mínimos de diversos componentes.

Un problema similar se presenta en agricultura cuando se deben usar fertilizantes y

abonos.

Page 5: Programacion Lineal

Problemas de Selección de Portafolio de Inversiones.

El problema está en determinar la cantidad de dinero a destinar a cada posible inversión,

dado un monto global a invertir. Se persigue maximizar el retorno esperado y/o

minimizar el riesgo del portafolio (o cartera de inversiones), dadas las características

de cada tipo de inversión.

Problemas de Transporte y Distribución.

Permanentemente una multitienda o cadena de supermercados con cobertura geográfica

amplia, debe enviar productos desde sus bodegas o centros de distribución a sus tiendas.

Las cantidades a enviar y los costos asociados son conocidos. El tomador de la decisión

quiere conocer qué cantidad deberá enviar de cada bodega a cada tienda para

minimizar el costo total de transporte sujeto a la disponibilidad en cada tienda y

demanda de cada local.

Situaciones similares se presentan en la distribución de agua, gas, corriente eléctrica,

señal de cable para TV, teléfono, etc.

Los problemas de transporte y distribución también se presentan en el caso de diseño de

redes de transporte que usen transbordo, utilizando ya sea aviones, buques, trenes o

camiones como medio, lo que se conoce como transporte multimodal.

Otra aplicación es en el proceso de la toma de decisiones para ubicar las plantas

industriales, bodegas y centros de distribución de una nueva empresa, considerando los

costos de transporte de las posibles alternativas de ubicación.

Problemas de Asignación de Trabajos.

Los trabajadores tienen distintos tipos de habilidades y se demoran tiempos distintos en

diversos trabajos. La meta es determinar quienes deben realizar cada uno de los

diversos trabajos para minimizar el tiempo total, de tal manera que se aproveche en

forma óptima la disponibilidad de horas hombre. Una situación similar se produce con

respecto a la maquinaria.

Problema de elección de rutas.

Otra aplicación es la elección de rutas de buses, camiones, aviones, buques, etc, al

existir dos o más alternativas; en este caso se tratará de minimizar el costo de la

alternativa elegida.

Page 6: Programacion Lineal

Problema de organización de turnos.

Existen tanto empresas de servicios como manufactureras que deben trabajar más

tiempo que una jornada normal, llegando incluso a requerirse la operación en forma

continua por 24 horas; en este caso se trata de cubrir los requerimientos de fuerza

laboral en cada uno de los períodos de la jornada usando turnos, con el mínimo

costo de personal y respetando la legislación laboral correspondiente.

Page 7: Programacion Lineal

2.3 MODELAMIENTO Y SOLUCIÓN DE PROBLEMAS

DE PL

2.3.1 MODELAMIENTO DE PL

Los pasos para dar forma a un modelo de programación lineal se pueden resumir como sigue:

1.- Definir las variables de decisión, que corresponden a las variables del mundo real, las

que conformarán el problema de una manera matemática; en los modelos de PL se trata de

determinar los valores de estas variables de decisión que hacen que la función objetivo tenga

un valor óptimo.

2.- Determinar la función objetivo (FO), que es una expresión matemática que debe quedar

expresada como función lineal de las variables de decisión, definidas anteriormente. Esta

expresión se deberá optimizar (maximizar o minimizar), sujeta a las restricciones que se

explican en el siguiente párrafo (por ejemplo recursos limitados).

3.- Determinar las restricciones, que limitan o acotan los posibles valores de las variables de

decisión. Estas pueden obtenerse a partir de la disponibilidad de maquinarias, mano de obra,

materias primas, demanda, recursos financieros, etc.

El hecho que existan variables de decisión implica que existen diversos cursos de acción o

alternativas entre los cuales se pueda elegir. Por ejemplo, si una compañía produce 3

productos distintos, la gerencia puede utilizar un modelo de PL para decidir cuales producir

y en que niveles; de paso se aclara como distribuir entre ellos los recursos limitados que

tiene para producirlos, pudiendo resultar algún nivel de holgura (parte de un recurso que no

se empleará), el que puede ser utilizado eventualmente para otro propósito. Si no existieran

alternativas, (caso se pueda producir solamente un tipo de producto), no es necesario

construir un modelo.

Un aspecto importante en PL es el requisito que todas las expresiones matemáticas deben ser

lineales. Obviamente, en la realidad no todos los factores son lineales; a veces expresiones no

lineales son necesarias para modelar situaciones, por ejemplo, en el caso de que existan

Page 8: Programacion Lineal

economías de escala. Afortunadamente se ha demostrado que muchos factores (horas de

trabajo, utilización de maquinaria, beneficios, costos, etc.) son razonablemente lineales o

pueden ser aproximados a expresiones de este tipo. Sin embargo, si se descubre que un factor,

definitivamente, no se puede expresar linealmente entonces el problema no se puede resolver

mediante PL y seguramente se trata de un caso de programación no lineal (PNL).

Los modelos de PL pueden ser utilizados para modelar o resolver situaciones que cumplan con

las siguientes condiciones:

Debe poder expresarse o modelarse la situación en forma matemática.

Todos los factores o términos considerados en la FO y las restricciones deben ser lineales,

es decir deben estar constituidas por la suma de uno o varios términos en que cada uno de

ellos debe ser el producto de un coeficiente por una variable de decisión, debiendo ser el

exponente de esta última de valor uno; si no se cumple esta condición estamos frente a un

problema de programación no lineal (PNL).

Deben existir una o más restricciones sobre las variables de decisión del problema, lo que

determina que existan diversos cursos de acción entre los que se pueda elegir, determinados

por los rangos de valores que pueden tomar las variables de decisión.

Las variables de decisión podrán tomar valores continuos (decimales); si no se cumple esta

condición estamos frente a un problema de programación entera (PE) que estudiaremos más

adelante, y constituye un caso particular de la PL de gran interés.

A continuación se presenta un ejemplo de mezcla de productos, con el objeto de introducirnos a

la programación lineal.

Una empresa puede producir 4 productos y desea maximizar sus beneficios. El beneficio de

cada uno de los productos es de 5, 2, 6 y 4 unidades monetarias por unidad producida. Además,

la empresa emplea 200 trabajadores calificados y 150 no calificados, y la semana tiene 40 horas

de trabajo. El tiempo necesario para producir una unidad de cada producto se presenta en la

tabla 2.1 adjunta. Determinar el modelo lineal con el objeto de decidir sobre los niveles de

producción semanal de cada uno de los productos.

Page 9: Programacion Lineal

Productos

1 2 3 4

HH’s

semanales

Horas de Trabajo Calificado

Horas de Trabajo No Calificado

Beneficio

5 3 1 8

5 7 4 11

5 2 6 4

8000

(200x40)

6000

(150x40)

Tabla 2.1

Solución

Para modelar este problema se deben realizar los 3 pasos señalados anteriormente. Estos son:

definir las variables de decisión, determinar la función objetivo y finalmente las restricciones.

Variables de Decisión: P1’ : cantidad de unidades a producir del prod. 1 (trab. calificados)

P1’’: cantidad de unidades a producir del prod. 1 (trab. no calificados)

P2’: cantidad de unidades a producir del prod. 2 (trab. calificados)

P2’’: cantidad de unidades a producir del prod. 2 (trab. no calificados)

P3’: cantidad de unidades a producir del prod. 3 (trab. calificados)

P3’’: cantidad de unidades a producir del prod. 3 (trab. no calificados)

P4’: cantidad de unidades a producir del prod. 4 (trab. calificados)

P4’’: cantidad de unidades a producir del prod. 4 (trab. no calificados)

Función Objetivo: Maximizar Z = 5 P1’+5P1’’+2 P2’+2P2’’+6P3’+6 P3’’+4 P4’+4P4’’

Restricciones: 5 P1’ + 3 P2’ + P3’ + 8 P4’ 8000 (T. Calificado)

5 P1’’ + 7 P2’’ + 4 P3’’ + 11 P4’’ 6000 (T. No Calificado)

Page 10: Programacion Lineal

P1 = P1’ + P1’’ (cantidad total de unidades a producir del producto 1)

P2 = P2’ + P2’’ (cantidad total de unidades a producir del producto 2)

P3 = P3’ + P3’’ (cantidad total de unidades a producir del producto 3)

P4 = P4’ + P4’’ (cantidad total de unidades a producir del producto 4)

En la página siguiente se presenta la figura 2.1 con la solución de este modelo, la que se obtuvo

usando el programa Mathprog; se debe tener en cuenta que las variables de decisión no se

pueden asociar en forma directa entre el modelo y la salida del Mathprog; esto porque

Mathprog usa la notación X1(P1’), X2(P1’’), X3(P2’), X4(P2’’), X5(P3’), X6(P3’’), X7(P4’),

X8(P4’’) para las variables de decisión. Por otra parte este programa se basa en el algoritmo

simplex.

Page 11: Programacion Lineal

Linear Programming Model:

Number of Decision Variables: 8

Number of Functional Constraints: 2

Max Z = 5 X1 + 5 X2 + 2 X3 + 2 X4 + 6 X5 + 6 X6 + 4 X7 + 4 X8

subject to

1) 5 X1 + 3 X3 + 1 X5 + 8 X7 <= 8000

2) 5 X2 + 7 X4 + 4 X6 + 11 X8 <= 6000

and

X1 >= 0, X2 >= 0, X3 >= 0, X4 >= 0, X5 >= 0, X6 >= 0, X7 >= 0, X8 >= 0.

Solve Automatically by the Simplex Method:

Optimal Solution | Sensitivity Analysis

|

|Objective Function Coefficients

Value of the |

Objective Function: 57000 | | Allowable Range

| Current | To Stay Optimal

Variable | Value | Value | Minimum | Maximum

____________|__________ | ________|_________|_________

X1 | 0 | 5 | - infin | 30

X2 | 0 | 5 | - infin | 7.5

X3 | 0 | 2 | - infin | 18

X4 | 0 | 2 | - infin | 10.5

X5 | 8000 | 6 | 1 | + infin

X6 | 1500 | 6 | 4 | + infin

X7 | 0 | 4 | - infin | 48

X8 | 0 | 4 | - infin | 16.5

|

|

| Right Hand Sides

|

| | Allowable Range

| Slack or | Shadow | Current | To Stay Feasible

Constraint | Surplus | Price | Value | Minimum | Maximum

____________|______________|____________ | ________|_________|__________

1 | 0 | 6 | 8000 | 0 | + infin

2 | 0 | 1.5 | 6000 | 0 | + infin

Figura 2.1

Page 12: Programacion Lineal

En general la estructura de un modelo de PL con “m” recursos y “n” actividades (o productos),

se visualiza ordenando los datos de interés en una tabla (ver tabla 2.2) como sigue:

ACTIVIDAD ACTIVIDAD ACTIVIDAD

RECURSO 1 2 n CANTIDAD DE RECURSO DISPONIBLE

1 A11 A12 A1n B1

2 A21 A22 A2n B2

m Am1 Am2 Amn Bm

EFECTO EN Z POR UNIDAD DE Xj

C1 C2 Cn

Tabla 2.2

MAX Z = C1X1+ C2X2+ C3X3 +..................+ CnXn (LA FO PUEDE SER TAMBIÉN MIN.) SUJETA A (S.A.) A11X1 + A12X2 +...............................….+ A1nXn B1

A21X1 + A22X2 +..................................+ A2nXn B2

Am1X1 + Am2X2 +................................+ AmnXn Bm

(ALGUNAS RESTRICCIONES PUEDEN SER O =)

FINALMENTE PLANTEAREMOS LAS CONDICIONES DE NO NEGATIVIDAD X1 0, X2 0,..............................,Xn 0

Page 13: Programacion Lineal

El modelo anterior en forma tabular (ver tabla 2.3) queda así:

ACT ACT ACT ACT ACT ACT ACT ACT

1’ 1’’ 2’ 2’’ 3’ 3’’ 4’ 4’’ CANTIDAD DE RECURSO DISPONIBLE

RECURSO 1 5 0 3 0 1 0 8 0 8000

RECURSO 2 0 5 0 7 0 4 0 11 6000

EFECTO EN Z POR UNIDAD DE Xj

5 5 2 2 6 6 4 4

Tabla 2.3

Ejemplo de la empresa textil: ver pildorita o prueba solemne

Page 14: Programacion Lineal

2.3.2 RESOLUCIÓN GRÁFICA DE MODELOS DE PL

Un método para resolver los modelos de programación lineal consiste en la representación

gráfica del modelo, la que tiene un valor didáctico para entender la PL y el algoritmo simplex.

Este método puede ser usado sólo para resolver modelos con hasta tres variables de decisión.

Para aquellos que tengan más variables de decisión se deben utilizar otras técnicas, tales como

el algoritmo simplex. Para efectos didácticos se usan modelos con dos variables de decisión.

Las características del método gráfico son:

Puede utilizarse con cualquier cantidad de restricciones, pero a medida que estas aumentan,

la complejidad aumenta, dado que cada restricción agrega una línea recta al gráfico (o

plano, en el caso de tres variables de decisión).

Desde el punto de vista de las restricciones, estas pueden ser =, o .

Desde el punto de vista de la FO los modelos pueden ser de maximización ó de

minimización.

El conjunto de puntos del plano que satisface todas las restricciones en un modelo de

programación lineal, se denomina región factible. Los puntos de esta región cumplen con

todas las restricciones y por otro lado la región factible contiene todas las posibles

soluciones. Generalmente, a medida que se agregan restricciones disminuye el tamaño de

esta región, pudiéndose llegar a la situación que no exista una región factible.

Después de determinada la región factible, y conociendo en especial los vértices de ella (dado

que los óptimos se producirán en los vértices) es necesario determinar el vértice que maximice

o minimice la FO. Esto se hace dibujando la línea recta que representa la FO, para distintos

valores de esta e identificando el vértice en la región factible donde se optimice el valor de la

FO dibujada (alternativamente se puede evaluar la FO en todos los vértices de la región

factible, objeto determinar en cuál de ellos la FO es óptima). Se pueden generar dos tipos de

soluciones:

1. La línea recta asociada a la FO se maximiza en un vértice de la región factible, con

lo cual la solución óptima es única.

2. La línea recta asociada a la FO se maximiza en un segmento de la frontera de la

región factible (arista), donde se producen soluciones óptimas múltiples las que

Page 15: Programacion Lineal

consisten en todos los puntos de la arista. Este es un caso menos frecuente que el

anterior.

También es posible que:

1. No exista una región factible.

2. La región factible no limite el valor de la FO, pudiendo crecer (caso maximización)

o disminuir indefinidamente (caso minimización).

Con el siguiente problema (modelo) se ejemplifica este método gráfico.

Un fabricante manufactura dos productos, puertas y ventanas. Las puertas aportan con 3

unidades monetarias a los beneficios, mientras las ventanas lo hacen con 4, c/u. La gerencia

desea establecer el plan de producción semanal que maximice el beneficio, dado que toda la

producción ofertada se puede vender sin problema de demanda.

La información de la producción se presenta en la siguiente tabla 2.4

Por unidad

Maquinaria

(Horas)

Mano de Obra

(Horas)

Puertas

Ventanas

4

2

4

6

Disponibilidad por

semana

100 180

Tabla 2.4

Solución

Primero se debe modelar el problema. Esto se presenta a continuación:

Variables de Decisión: X1: Cantidad de puertas a fabricar.

X2: Cantidad de ventanas a fabricar.

Función Objetivo: Maximizar Z = 3 X1 + 4 X2

Page 16: Programacion Lineal

Restricciones: 4 X1 + 2 X2 100 (Horas de Maquinaria)

4 X1 + 6 X2 180 (Horas de Mano de Obra)

Considerando las holguras, las restricciones quedan:

4 X1 + 2 X2 + Xh1 = 100 (Horas de Maquinaria)

4 X1 + 6 X2 + Xh2 = 180 (Horas de Mano de Obra)

A continuación se grafican (ver figura 2.2) las restricciones, para determinar la región factible;

luego agregamos la recta asociada a la FO para distintos valores de ella.

X2

X1

Figura 2.2

Es de notar que la pendiente de la recta asociada a la FO es –(3/4), y las pendientes de las rectas

asociadas a las restricciones son -(2) y –(2/3) respectivamente.

Page 17: Programacion Lineal

El programa Mathprog nos permite resolver en forma gráfica este problema, presentándose a

continuación en la figura 2.3 la última pantalla al usar “Solve interactively by the graphical

method”, del menú F3, “Procedure”. Resulta X1 = 15, X2 = 20, Xh1 = 0, Xh2 = 0 y Z* = 125.

Figura 2.3

Es de notar que en la figura 2.3 agregamos al modelo la restricción X1 + X2 40, que para

efectos de la solución gráfica no influye; esta restricción será usada posteriormente para

explicar el concepto de holgura y el concepto de restricción redundante.

Alternativamente se tabulan todos los vértices de la región factible (la solución óptima y el

valor óptimo se encuentra en alguno de los vértices) calculándose el valor de la FO para cada

uno de estos puntos. Esto se presenta en la siguiente tabla 2.5.

Page 18: Programacion Lineal

VERTICES (X1, X2) Z*, Valor de la FO

(0, 0)

(0, 30)

(15, 20)

(25, 0)

Tabla 2.5

De esta manera se obtiene la solución o punto óptimo y el valor óptimo o más favorable de la

FO.

En los próximos pasos introduciremos cambios a nuestro modelo, resolviendo en forma gráfica

para ver los efectos que generan los cambios en los resultados; en otras palabras efectuaremos

un análisis de sensibilidad en forma gráfica.

¿QUÉ PASA SI TENEMOS VARIACIONES EN LOS COEFICIENTES DE LA FO?

En este caso la región factible no cambia, pero si cambia la recta asociada a la FO

Analizaremos lo que sucede con el punto óptimo al variar la expresión de la FO (cambiaremos

el coeficiente de X2) a las siguientes formas indicadas en la primera columna de la siguiente

tabla 2.6:

NUEVA FO Pendiente de

la recta FO

(X1, X2) =

(0, 0)

(X1, X2) =

(0, 30)

(X1, X2) =

(15, 20)

(X1, X2) =

(25, 0)

3X1+ X2

3X1+1,5X2

3X1+ 4X2

3X1+4,5X2

3X1+ 5X2

Tabla 2.6

Nos interesa determinar el intervalo de variación de cada uno de los coeficientes de la función

objetivo, de modo que la actual solución óptima siga siendo la óptima; es de notar que la región

factible se mantiene; la FO cambia, y la recta asociada también, variando su pendiente.

Page 19: Programacion Lineal

Sea Z = C1x1+C2x2 (su pendiente es –(C1/C2))

La solución óptima de la nueva función, seguirá siendo óptima en x1*= 15 ; x2*= 20 ssi:

-2 ≤ -(C1/C2) ≤ -2/3

(recordemos que -2 y -2/3 son las pendientes de las rectas que determinan la solución óptima)

Para C1: -2 ≤ -C1/4 ≤ -2/3

8/3 ≤ C1 ≤ 8

Para C2: -2 ≤ -3/C2 ≤ -2/3

3/2 ≤ C2 ≤ 9/2

Alternativamente para determinar el intervalo de C1 podemos calcular que valores tomará la

función objetivo en el actual óptimo (15, 20) y en (25,0) y (0, 30) que son los vértices más

cercanos y plantear que el valor de la función objetivo sea mayor en (15, 20) en relación a los

vértices más cercanos.

C1x15 + 4x20 ≥ C1x25 + 4x0

C1x15 + 4x20 ≥ C1x0 + 4x30

10xC1 ≤ 80

15xC1 ≥ 40, de donde resulta 8/3 ≤ C1 ≤ 8

En el caso del intervalo para C2, se puede determinar también de la misma forma

Page 20: Programacion Lineal

¿QUÉ PASA SI TENEMOS VARIACIONES EN LOS RECURSOS (LADOS DERECHOS)?

Analizaremos gráficamente que pasa si tenemos variaciones en la cantidad de recursos

disponibles para cada una de las restricciones. En este caso las rectas asociadas a las

restricciones se desplazarán, pudiéndose producir varias situaciones, dependiendo de las

características de la restricción (activa o no activa, redundante o no redundante); asumiremos

que el recurso mano de obra, correspondiente al lado derecho de la segunda restricción, que

está en nivel 180 disminuye a 120 y luego aumenta a 360.

La restricción original es 4 X1 + 6 X2 180.

VARIACIONES (X1, X2)

Z

(X1, X2)

Z

(X1, X2)

Z

(X1, X2)

Z

COMENTARIO

4X1 + 6X2 ≤ 120 (0, 0)

0

(0, 20)

80

(22.5, 5)

87.5

(25, 0)

75

AMBAS REST.

PERMANECEN

ACTIVAS

4X1 + 6X2 ≤ 360 (0, 0)

0

(0, 50)

200

(25, 0)

75

LA SEGUNDA

REST. SE HACE

REDUNDANTE

Nos interesa determinar el intervalo de variación de cada uno de los coeficientes del lado

derecho de las restricciones, de modo de preservar la geometría del problema; esto es, que se

conserven las mismas restricciones activas de la solución óptima inicial y que la solución no

cambia en cuanto a las variables básicas que la conforman (las variables básicas son X1 y X2,

mientras que las no básicas son Xh1 y Xh2).

En primer término determinaremos los precios sombra; el precio sombra de una restricción es

el cuociente entre la variación del valor óptimo de la función objetivo, y la variación del

coeficiente del lado derecho de la restricción (esto dentro de un cierto rango de variación del

lado derecho). Más adelante explicaremos el precio sombra desde el punto de vista de los

resultados de la empresa.

Primera restricción:

4X1 + 2X2 = 100 + ∆1

4X1 + 6X2 = 180

Page 21: Programacion Lineal

Resolvemos el sistema formado por las dos ecuaciones obteniendo:

X1 = 15 + (3/8)∆1 y X2 = 20 - (1/4)∆1; reemplazando en Z se obtiene

Z = 125 + (1/8) ∆1, de donde el precio sombra es 1/8

Segunda restricción:

4X1 + 2X2 = 100

4X1 + 6X2 = 180 + ∆2

Resolvemos el sistema formado por las dos ecuaciones obteniendo:

X1 = 15 - (1/8)∆2 y X2 = 20 +(1/4)∆2, y reemplazando en Z se obtiene

Z = 125 + (5/8) ∆2, de donde el precio sombra es 5/8

Ahora determinaremos el rango de variación de cada uno de los coeficientes del lado derecho

de las restricciones, de modo de preservar la geometría del problema, manteniéndose las

mismas variables básicas X1 y X2.

Primera restricción:

4X1 + 2X2 = 100 + ∆1

4X1 + 6X2 = 180

Debemos considerar que al variar ∆1, desplazamos la recta asociada a la primera restricción y

variamos la región factible; determinaremos hasta donde podemos variar la región factible sin

que varíe la geometría de ella.

X1 = 15 + (3/8)∆1 y X2 = 20 - (1/4)∆1

Page 22: Programacion Lineal

X1 = 15 + (3/8)∆1 ≥ 0

(Si X1 = 0, la solución está ubicada en el eje vertical en (0, 30))

Despejando resulta ∆1 ≥ -40

X2 = 20 -(1/4) ∆1≥ 0

(Si X2 = 0, la solución esta ubicada en el eje horizontal, en (45, 0))

Despejando resulta ∆1 ≤ 80

por lo que el intervalo es [ 100-40, 100+80 ] = [ 60, 180 ]

Alternativamente podemos determinar que valores tomará el lado izquierdo de la primera

restricción (4X1 + 2X2) en los puntos (0,30) y (45, 0); los valores son 60 y 180

respectivamente, los que corresponden a los determinados anteriormente.

Si el lado derecho de la primera restricción se hace menor a 60, la solución óptima estará en el

eje vertical con X1 = 0 y la segunda restricción tendrá una holgura positiva; las variables

básicas son entonces X2 y Xh2, mientras que las no básicas X1 y Xh1.

Por otra parte si el lado derecho de la primera restricción es superior a 180, la solución óptima

estará en el eje horizontal en el punto (45,0) y la primera restricción tendrá una holgura

positiva.

Segunda restricción: 4X1 + 2X2 = 100

4X1 + 6X2 = 180 + ∆2

X1 = 15 - (1/8)∆2 y X2 = 20 +(1/4)∆2

X1 = 15 -(1/8) ∆2 ≥ 0

(Si X1 = 0, la solución esta ubicada en el eje vertical, en (0, 50))

Despejando resulta ∆2 ≤ 120,

X2 = 20 +(1/4)∆2 ≥ 0

(Si X2 = 0, la solución esta ubicada en el eje horizontal en (25, 0))

Despejando resulta ∆2 ≥ -80

Page 23: Programacion Lineal

por lo que el intervalo es [ 180-80, 180+120 ] = [ 100, 300 ]

Alternativamente podemos determinar qué valores tomará el lado izquierdo de la segunda

restricción (4X1 + 6X2) en los puntos (25,0) y (0, 50); los valores son 100 y 300

respectivamente, los que corresponden a los determinados anteriormente.

Si el lado derecho de la segunda restricción se hace menor a 100, la solución óptima estará en

el eje horizontal con X2 = 0 y la primera restricción tendrá una holgura positiva.

Por otra parte si el lado derecho de la segunda restricción es superior a 300, la solución óptima

estará en el eje vertical en el punto (0,50) y la segunda restricción tendrá una holgura positiva.

En la página siguiente presentamos la solución obtenida con el software MATHPROG al

modelo que hemos analizado en forma gráfica, de forma de verificar los resultados obtenidos.

Page 24: Programacion Lineal

Linear Programming Model:

Number of Decision Variables: 2

Number of Functional Constraints: 2

Max Z = 3 X1 + 4 X2

subject to

1) 4 X1 + 2 X2 <= 100

2) 4 X1 + 6 X2 <= 180

and

X1 >= 0, X2 >= 0.

Solve Automatically by the Simplex Method:

Optimal Solution | Sensitivity Analysis

|

| Objective Function

Coefficients

Value of the |

Objective Function: 125 | | Allowable Range

| Current | To Stay Optimal

Variable | Value | Value | Minimum | Maximum

____________|__________ | ________|_________|_________

X1 | 15 | 3 | 2.66667 | 8

X2 | 20 | 4 | 1.5 | 4.5

|

|

| Right Hand Sides

|

| | Allowable Range

| Slack or | Shadow | Current | To Stay Feasible

Constraint | Surplus | Price | Value | Minimum | Maximum

____________|______________|____________ | ________|_________|__________

1 | 0 | 0.125 | 100 | 60 | 180

2 | 0 | 0.625 | 180 | 100 | 300

Page 25: Programacion Lineal

2.3.3 MÉTODO SIMPLEX Y ANÁLISIS DE SENSIBILIDAD.

2.3.3.1 Método Simplex

Tal como se señaló en la sección anterior, para resolver problemas con más de tres variables de

decisión no es posible utilizar el método gráfico. En estas situaciones, el método simplex

aparece como la única alternativa; ya que en la práctica los problemas con menos de cuatro

variables de decisión son muy poco frecuentes (en realidad existe otro algoritmo conocido

como el método del punto interior, el que es más rápido que el simplex en la solución de

modelos grandes, pero entrega poca información para efectuar análisis de sensibilidad).

El algoritmo del método simplex se presenta en los anexos. Este consiste en “viajar” por los

vértices de la región factible hasta llegar al óptimo, generalmente partiendo del origen.

Muchos de los modelos reales de PL son muy extensos, por lo que resolverlos mediante el

método simplex en forma manual es prácticamente imposible. En la realidad se utilizan

programas computacionales (software), tales como el Mathprog, What’sBest!, Lindo, Lingo,

Solver del Excel entre otros, en la resolución de modelos de PL. Por esta razón, la idea más

importante en este apunte es aprender a modelar, luego a introducir el modelo con sus datos en

el formato del software a usar y finalmente a interpretar los resultados obtenidos por los

programas y el análisis de sensibilidad asociado; de ninguna manera a buscar la solución del

modelo, ya que este es trabajo para el software.

A continuación se presenta un problema resuelto (ya analizado geométricamente) usando el

método simplex con el software MATHPROG; nótese que hemos agregado una restricción de

material.

Variables de Decisión: X1: Cantidad de puertas fabricadas.

X2: Cantidad de ventanas fabricadas

Función Objetivo: Maximizar Z = 3 X1 + 4 X2

Restricciones: X1 + X2 + Xh1 = 40 (Kg. de Material)

4 X1 + 2 X2 + Xh2 = 100 (Horas de Maquinaria)

4 X1 + 6 X2 + Xh3 = 180 (Horas de Mano de Obra)

Page 26: Programacion Lineal

Con el problema ya modelado utilizaremos el método simplex. Los resultados obtenidos con el

MATHPROG se presentan a continuación, en la figura 2.4; nótese que hemos agregado las

variables de holgura Xh1, Xh2 y Xh3 para la primera, segunda y tercera restricción

respectivamente, las que MATHPROG genera internamente.

Figura 2.4

De la hoja de solución del método simplex se identifican:

Valor óptimo de la FO (Value of the Objective Function): este corresponde al valor que

toma la FO (normalmente identificado por Z*) cuando se reemplazan los valores óptimos

encontrados para las variables de decisión. Representa al beneficio máximo que se puede

obtener, y asciende a la suma de 125.

Page 27: Programacion Lineal

Solución óptima o valores óptimos de las variables de decisión, X1 y X2 que en este caso

indican que se deben producir puertas y ventanas en niveles de 15 y 20 respectivamente.

Variables de Holgura o de Superávit (slack or surplus respectivamente): al resolver un

modelo mediante el simplex, lo primero que se realiza es transformar todas las

desigualdades de las restricciones en igualdades, agregando variables de holgura (Slack

variables) para las restricciones con , o bien, variables de superávit (Surplus variables)

para las restricciones con . Los valores que adquieren estas variables al obtener la solución

óptima del problema indican la cantidad de recurso no empleado (caso holgura) asociado a

las restricciones y la cantidad en que una restricción del tipo es sobrepasada o superada

(caso superávit). En este caso, se tienen tres variables de holgura (Xh1, Xh2 y Xh3). Dado

que Xh2 = Xh3 = 0, esto implica que todos los recursos asociados a las restricciones (2) y

(3) serán utilizados, mientras que el asociado a la restricción (1) será parcialmente utilizado,

quedando un saldo de Xh1 = 5. El hecho que la holgura de la primera restricción sea

positiva indica que esta restricción no esta activa, es decir no participa en la determinación

de la solución óptima.

Precios Sombra o precios duales (Shadow prices, dual prices): lo podemos entender como

la variación de la FO si se tuviese una unidad más del recurso asociado a una restricción. En

este caso, si se tuviese una unidad más del recurso asociado a la restricción (1) la FO

aumentaría en cero, o bien, si se tuviese una unidad menos la FO disminuiría en cero; esto

se debe a que este recurso no está utilizado en su totalidad (es un recurso abundante), tal

como se señaló anteriormente; Xh1 = 5 es la variable de holgura asociada a esta restricción.

El único efecto que se tiene en este caso al aumentar o disminuir el recurso asociado a la

restricción (1) es la misma variación en Xh1.

Por otra parte, si se tuviese una unidad más o menos del recurso asociado a la restricción (2)

la FO aumentará en 0,125 ó disminuirá en 0,125. En el caso de la restricción (3), la

variación correspondiente es de 0,625, frente a una variación unitaria del recurso. Las

variables de holgura asociadas a la restricción (2) y (3) son cero y estamos frente a recursos

escasos.

Desde un punto de vista de los resultados de la empresa y asumiendo que la FO

corresponde a utilidades o ganancias donde ya está considerado el costo del recurso,

Page 28: Programacion Lineal

un precio sombra positivo para un recurso significa que la utilidad se puede aumentar en

una cantidad igual al precio sombra por el solo hecho de obtener una unidad más del

recurso a su precio normal, que ya se consideró para calcular la utilidad unitaria como la

diferencia entre el precio de venta unitario y el costo unitario. En caso que se deba pagar un

precio mayor al normal por la unidad adicional del recurso, el precio sombra indica la

cantidad máxima adicional sobre el precio normal que vale la pena pagar.

En caso que la FO no incluya el costo del recurso (por ejemplo cuando la FO representa

ingresos por ventas), el precio sombra indica el precio máximo que valdría la pena pagar

por una unidad adicional del recurso. Esto ya que el aumento del ingreso sería igual al

mayor costo y la utilidad no cambia.

El análisis efectuado anteriormente para el precio sombra solamente es válido cuando los

valores de los lados derechos (recursos) de las restricciones varían dentro de los rangos

definidos bajo el título Right Hand Sides.

2.3.3.2 Análisis de Sensibilidad

En el modelo, todos los parámetros tales como la disponibilidad de los materiales (valores del

lado derecho en las restricciones), el aporte a los beneficios de cada producto (los coeficientes

en la FO) son los mejores estimados. En la realidad estos pueden variar por diversas razones.

¿Qué pasaría si la disponibilidad de los materiales (restricción 1) cambia en ± 10 unidades? ¿Se

mantendría la situación óptima?

¿Qué pasaría si el aporte a los beneficios de cada producto aumenta en 2 unidades?

Las respuestas a estas preguntas se pueden obtener del análisis de sensibilidad, el que se

incluye en los resultados de los programas, como los nombrados anteriormente. Una limitación

que poseen las salidas de estos programas es que el análisis de la variación de los parámetros se

debe hacer en forma individual.

A continuación se presenta una explicación de la información presentada en la hoja de

resultados del ejemplo anterior, que fue resuelto a través del Mathprog:

Análisis de Sensibilidad (Sensitivity Analysis), que se puede desglosar en 2 partes:

Page 29: Programacion Lineal

Coeficientes de la FO (Objective Function Coefficient): se presentan los valores

actuales (Current value) de dichos coeficientes, y además el rango permitido entre el

que pueden moverse para que la solución actual siga siendo óptima sin cambiar los

valores de las variables de decisión (Allowable range to stay optimal). Se debe destacar

que al variar los coeficientes de la FO dentro de cualquier rango, la región factible (zona

achurada) no cambia. En el ejemplo, el coeficiente de X1 es 3 y se puede mover entre

2,6667 y 8; el coeficiente de X2 es 4 y se puede mover entre 1,5 y 4,5 (para los valores

extremos se producen soluciones óptimas múltiples, ya que la recta asociada a la FO es

coincidente en cuanto a su pendiente, con una arista de la región factible).

Desde un punto de vista geométrico, corresponde al caso en que la recta asociada a la

FO esta fija al vértice óptimo, cambiando su pendiente, pero sin llegar a desplazar el

óptimo a otro vértice. El valor de la FO si cambia y podemos entonces calcular el nuevo

valor de la FO si el primer coeficiente cambia por ejemplo de 3 a 5, obteniéndose un Z

= 5xX1 + 4xX2 = 5x15 + 4x20 = 155.

En caso que alguno de los coeficientes de la FO se mueva fuera del rango indicado, el

vértice o punto óptimo cambiará y el valor de la FO también. El problema debe ser

resuelto nuevamente usando el software.

Lados Derechos de las Restricciones (Right Hand Sides): estos valores indican en este

ejemplo la cantidad máxima o límite de recursos disponibles. Se presentan los valores

actuales (Current value), y el rango permitido en el que pueden variarse para que la

solución siga siendo óptima en relación a mantener las mismas variables de decisión en

la solución, no obstante los valores de las variables de decisión pueden cambiar.

En el ejemplo tenemos que:

el valor del lado derecho de la restricción 1 es 40 y puede moverse entre 35 y +.

el valor del lado derecho de la restricción 2 es 100 y puede moverse entre 60 y

140.

el valor del lado derecho de la restricción 3 es 180 y puede moverse entre 100 y

220.

Lo primero que debemos tener claro es que al variar los lados derechos de las

restricciones, cambia la región achurada o región factible; esto con la excepción de una

Page 30: Programacion Lineal

restricción que sea no activa y lo siga siendo, en cuyo caso la región factible no cambia;

en el ejemplo es el caso de la restricción de materiales que se puede mover a partir de 40

hasta el infinito, y lo único que pasa es que la holgura de materiales aumenta a partir del

valor 5, a medida que el lado derecho aumenta sobre 40.

Cuando varían los lados derechos de las restricciones que determinan el vértice óptimo

dentro de los rangos indicados (por ejemplo el 100 de la segunda restricción disminuye

a 70 o aumenta a 130), este vértice óptimo se desplaza, pero sigue estando determinado

por las mismas rectas (rectas = restricciones) que se han desplazado producto de la

variación de los lados derechos, las variables de decisión básicas (las que no son cero)

siguen siendo las mismas pero sus valores cambian, con lo cual la FO cambia. Haciendo

una analogía futbolística, el equipo titular no cambia.

En el caso del ejemplo el equipo titular esta compuesto por X1, X2 y la variable de

holgura de la primera restricción, Xh1; la reserva esta compuesta por las otras dos

variables de decisión que tenemos, es decir la variable de holgura de la segunda y de la

tercera restricción, Xh2 y Xh3 respectivamente. Desde el punto de vista algebraico, la

solución óptima esta dada por la solución del siguiente sistema de ecuaciones:

4X1 + 2X2 = 100, 4X1+ 6X2 =180 y X1+ X2 + Xh1=40

Cuando los lados derechos de las restricciones varían más allá de los rangos indicados

(por ejemplo si el 100 de la segunda restricción disminuye a 50 o aumenta a 150), el

vértice óptimo queda determinado no por las mismas rectas y las variables de decisión

básicas (las que no son cero) no son las mismas; lo anterior es por que la región factible

cambio de una forma tal, que ahora las rectas que determinan el vértice óptimo no son

las mismas. El equipo titular cambia, produciéndose la salida de una variable que deja

de ser titular y pasa a la reserva y la entrada de una variable que era reserva y ahora es

titular.

Desde un punto de vista geométrico, el rango indicado para cada restricción

corresponde al caso en que la recta asociada a la restricción se desplaza paralela a la

original, pudiendo cambiar la posición del punto o vértice óptimo (es el mismo vértice

que se desplaza), dependiendo si la restricción esta involucrada o no en la determinación

de ese óptimo; se mantiene la factibilidad y la optimalidad. En este caso la región

Page 31: Programacion Lineal

factible (zona achurada) puede variar, los valores de las variables de decisión básicas

pueden variar, y de variar estos la FO variará.

En caso que alguno de los valores se mueva fuera del rango indicado, el problema debe

ser resuelto nuevamente usando el software.

Podemos entonces analizar que pasa si el recurso mano de obra cambia por ejemplo

desde 180 a 200 ó 120; lo mismo para el recurso materiales si se cambia por ejemplo de

40 a 50 ó 35.

¿Qué sucede con la variación de los coeficientes de las variables de decisión a nivel de

las restricciones? La razón por la cual no se efectúa análisis de sensibilidad para estos

coeficientes, es que son los menos propensos a variar.

El costo reducido no es mostrado en la salida del Mathprog; este valor indica, para una

variable de decisión que resulta con nivel cero en la solución óptima (no se producen en

este ejemplo), el cambio de la FO al forzar una de dichas variables a tener nivel unitario en

la solución óptima; visto de otra forma, agregamos a nuestro modelo una nueva restricción,

en que una variable de decisión debe tener un valor unitario.

2.3.3.3 El modelo dual

Asumamos que deseamos ya sea vender o arrendar (como arrendador), nuestros tres recursos en

vez de ocuparlos productivamente en forma directa; veremos que el modelo dual es una

herramienta que nos ayudará a fijar un precio mínimo para vender o arrendar nuestros recursos.

Este precio mínimo lo podemos visualizar también como un costo de oportunidad.

Otra forma de visualizar este modelo dual es si queremos comprar o arrendar (como

arrendatario) unidades adicionales de los recursos que ya tenemos, o sea hasta cuanto estoy

dispuesto a pagar por una unidad adicional de un determinado recurso.

Lo indicado hasta aquí es válido si la FO de nuestro modelo no incluye los costos de nuestros

recursos, como es el caso del ingreso (en esta situación los coeficientes de la FO son los precios

de venta unitarios).

Si la FO incluye los costos de nuestros recursos (caso la FO corresponda a utilidades), el

modelo dual nos permitirá determinar el valor adicional a dichos costos que determinarán el

Page 32: Programacion Lineal

precio mínimo al que estamos dispuestos a vender o arrendar (como arrendador) y el precio

máximo al que estamos dispuestos a comprar o arrendar (caso arrendatario).

Nuestro modelo original es:

Variables de Decisión: X1: Cantidad de puertas fabricadas.

X2: Cantidad de ventanas fabricadas

Función Objetivo: Maximizar Z = 3 X1 + 4 X2

Restricciones: X1 + X2 ≤ 40 (Kg. de Material) (Y1)

4 X1 + 2 X2 ≤ 100 (Horas de Maquinaria) (Y2)

4 X1 + 6 X2 ≤ 180 (Horas de Mano de Obra) (Y3)

Nuestro modelo dual es:

Variables de Decisión: Y1: Precio mínimo para vender cada Kg. de Material.

Y2: Precio mínimo para vender cada Hora de Maquinaria

Y3: Precio mínimo para vender cada Hora de mano de Obra

Función Objetivo: MIN Yo = 40Y1 + 100Y2 + 180 Y3

Restricciones: Y1 + 4Y2 + 4Y3 ≥ 3

Y1 + 2Y2 + 6Y3 ≥ 4

A continuación presentamos la salida de Mathprog (resolución automática) para el modelo

dual:

Page 33: Programacion Lineal

Linear Programming Model:

Number of Decision Variables: 3

Number of Functional Constraints: 2

Min Z = 40 X1 + 100 X2 + 180 X3

subject to

1) 1 X1 + 4 X2 + 4 X3 >= 3

2) 1 X1 + 2 X2 + 6 X3 >= 4

and X1 >= 0, X2 >= 0, X3 >= 0.

Solve Automatically by the Simplex Method:

Optimal Solution | Sensitivity Analysis

|

| Objective Function

Coefficients

Value of the |

Objective Function: 125 | | Allowable Range

| Current | To Stay Optimal

Variable | Value | Value | Minimum | Maximum

____________|__________ | ________|_________|________

X1 | 0 | 40 | 35 | + infin

X2 | 0.125 | 100 | 60 | 140

X3 | 0.625 | 180 | 100 | 220

|

| Right Hand Sides

|

| | Allowable Range

| Slack or | Shadow | Current | To Stay Feasible

Constraint | Surplus | Price | Value | Minimum | Maximum

____________|______________|____________ | ________|_________|________

1 | 0 | 15 | 3 | 2.66667 | 8

2 | 0 | 20 | 4 | 1.5 | 4.5

Es de notar que la solución al modelo dual son los precio sombra (o precios duales) del modelo

original (o primal). Recordemos que los precios sombra del primal corresponden al aumento en

la FO (considerando FO del tipo ingresos) si yo dispongo de una unidad adicional del recurso y

que por otra parte las variables del dual corresponden a cuanto es lo máximo que estamos

dispuestos a pagar por una unidad adicional del recurso.

Es lógico que dicho máximo sea igual al aumento en la FO.

Page 34: Programacion Lineal

También es de destacar que los valores de las FO de ambos modelos son iguales, y que los

precios sombra del dual son iguales a los valores de la solución del primal (es de notar que en

los modelos de minimización MATHPROG entrega los precios sombra con el signo opuesto;

en nuestro ejemplo entonces los precios sombra son 15 y 20).

Por otra parte debemos aclarar que el dual del dual corresponde al primal.

Aprovecharemos esta última salida del Mathprog para ejemplificar un modelo de

minimización, en este caso de costos. Para dicho efecto consideraremos que nuestro modelo

dual representa la situación en que estamos fabricando un medicamento a partir de tres

productos base de costos unitarios de 40, 100 y 180 por gramo respectivamente. Debemos tener

en cuenta que por cada pastilla de 1 gramo, este medicamento debe contener al menos 3 y 4

mg. de las vitaminas M y N respectivamente; se sabe que por gramo los productos base

contienen 1, 4 y 4 mg. de vitamina M y 1, 2 y 6 mg. de vitamina N respectivamente.

X1, X2 y X3 son las cantidades de gramos de los productos base para producir una pastilla.

La solución es que debemos usar productos base en la siguiente medida: 0,125 gramos del

segundo y 0,625 gramos del tercero (lo anterior implica que debemos usar 0,25 gramos de

“relleno o excipientes” para alcanzar 1 gramo del producto). Las variables de superavit son

cero para ambas restricciones.

En caso que la primera restricción cambia de ≥ 3 a ≥ 5 (o sea es más exigente), el nuevo valor

de la FO será el anterior, más el doble del precio sombra de esta primera restricción, es decir

FO’ = FO + (5-3) x precio sombra = 125 + 2x15 = 155, o sea la FO empeora en 30 (recordemos

que estamos minimizando).

Ahora bien, si por ejemplo la segunda restricción cambia de ≥ 4 a ≥ 3 (o sea es menos

exigente), el nuevo valor de la FO será el anterior, menos el precio sombra de esta segunda

restricción, es decir FO’ = FO + (3-4) x precio sombra = 125 - (20) = 105, o sea la FO mejora

en 20 (recordemos que estamos minimizando).

Si no disponemos de excipientes debemos agregar la restricción X1 + X2 + X3 = 1 para obtener

1 gramo del producto.

Page 35: Programacion Lineal

2.4 ANEXOS

ALGORITMO DEL MÉTODO SIMPLEX

El método simplex es un algoritmo, o conjunto de instrucciones, que examina vértices o puntos

esquina de la región factible en una forma secuencial, calculando el Z correspondiente, hasta

que se obtiene la mejor solución, sea esta la maximización de un beneficio o la minimización

de un costo. Algunos programas computacionales basados en el simplex son capaces de

resolver modelos de PL con varios miles de variables. A continuación se presenta en la figura

2.5 un diagrama de este algoritmo, el que nos permitirá entenderlo en forma global:

Figura 2.5

SI

NO Puedo mejorar

Z?

Seleccionar la más alta contribución e

identificar elemento pivote

Transformar elemento pivote a 1

(dividiéndolo por su valor)

Vía operaciones filas hacer 0 los elementos

en la columna pivote, excepto el 1

Solución

Optima

Interpretación de

Resultados

FIN

Partida

Establecer el PL en formato estándar

Insertar variables de holgura, superávit y

artificiales; armar Tableau inicial con Z = 0

Page 36: Programacion Lineal

Este algoritmo se puede resumir en los siguientes 7 pasos.

Paso 1: Construir el modelo (definir las variables de decisión, FO y restricciones).

Paso 2: Estandarizar el modelo; para ello se deben convertir las desigualdades en igualdades

agregando variables de holgura para las restricciones y de superávit para las restricciones ;

además de deben agregar también variables artificiales para las restricciones = y . Se puede

usar como estandar un modelo de minimización o su equivalente de minimización.

MATHPROG usa como estandar la maximización.

Paso 3: Establecer el Tableau (tabla) inicial del método simplex, a partir de la FO del paso 1 y

las igualdades determinadas en el paso anterior; identificar las variables básicas.

Paso 4: Mejorar el valor de la FO (Z) seleccionando la columna (columna pivote) con el valor

más negativo, es decir con la mayor contribución a la FO (Z). Este paso determina la variable

básica que entra a la base.

Dividir las cantidades del lado derecho por los respectivos números positivos de esta columna

pivote. Seleccionar el cuociente menor para identificar así la fila pivote, el elemento pivote, y la

variable básica que pasa a ser no básica, o sea que sale de la base.

Paso 5: Dividir todos los elementos en la fila pivote por el valor del elemento pivote, y entrar

estos nuevos valores como una nueva fila con una nueva variable básica; en la posición del

pivote aparece un 1.

Paso 6: Restar de cada fila existente en el tableau, la nueva fila determinada en el paso 5

(multiplicada por un coeficiente adecuado), de tal manera de transformar los valores antiguos

que se encuentran en la columna pivote en 0, excepto el 1 en la posición que tenía el pivote.

Paso 7: Chequear si existen valores negativos en la primera fila asociada a Z. Si no existen,

entonces se tiene la solución óptima. Si existen, ir al paso 4

Page 37: Programacion Lineal

A continuación, en la Fig. 2.6, se muestra el desarrollo del método simplex, usando el

Mathprog, para el caso de nuestro ejemplo de las puertas y ventanas.

SALIDA DE MATHPROG (SOLUCIÓN INTERACTIVA)

Linear Programming Model:

Number of Decision Variables: 2

Number of Functional Constraints: 3

Max Z = 3 X1 + 4 X2

subject to

1) 1 X1 + 1 X2 <= 40

2) 4 X1 + 2 X2 <= 100

3) 4 X1 + 6 X2 <= 180

and X1 >= 0, X2 >= 0.

Solve Interactively by the Simplex Method:

Bas|Eq| Coefficient of | Right

Var|No| Z| X1 X2 X3 X4 X5 | side

___|__|__|_______________________________|______

| | | |

Z | 0| 1| -3 -4 0 0 0 | 0

X3| 1| 0| 1 1 1 0 0 | 40

X4| 2| 0| 4 2 0 1 0 | 100

X5| 3| 0| 4 6* 0 0 1 | 180

Bas|Eq| Coefficient of | Right

Var|No| Z| X1 X2 X3 X4 X5 | side

___|__|__|_______________________________|______

| | | |

Z | 0| 1|-0.33 0 0 0 0.667 | 120

X3| 1| 0|0.333 0 1 0 -0.17 | 10

X4| 2| 0|2.667* 0 0 1 -0.33 | 40

X2| 3| 0|0.667 1 0 0 0.167 | 30

Bas|Eq| Coefficient of | Right

Var|No| Z| X1 X2 X3 X4 X5 | side

___|__|__|_______________________________|______

| | | |

Z | 0| 1| 0 0 0 0.125 0.625 | 125

X3| 1| 0| 0 0 1 -0.12 -0.13 | 5

X1| 2| 0| 1 0 0 0.375 -0.13 | 15

X2| 3| 0| 0 1 0 -0.25 0.25 | 20

Figura 2.6

EL –4 INDICA QUE UNA

UNIDAD DE X2 MEJORA

EN CUATRO UNIDADES

LA FO, AL ENTRAR A LA

BASE; X1 MEJORA SOLO TRES UNIDADES

EL PIVOTE SE INDICA

CON UN *; EN ESTE CASO ES SEIS

LAS

VAR.

BAS.

INIC.

SON

X3,

X4 Y

X5

EN LA PRIMERA FILA

TODOS LOS VALORES

SON MAYORES O

IGUALES A CERO, POR

LO QUE NO PODEMOS

MEJORAR MAS EL Z,

CUYO OPTIMO ES 125.

LOS COEFICIENTES 1, 2 y 6 QUE

MULTIPLICAN A X2 EN EL LADO

IZQUIERDO DE LAS

RESTRICCIONES INDICAN LAS

CANTIDADES DE RECURSOS QUE

REQUIERE PRODUCIR UNA UNIDAD

DE X2

LAS

VAR.

BAS.

SON

X3,

X4 Y

X2

LAS

VAR.

BAS.

SON

X3,

X1 Y

X2

Page 38: Programacion Lineal

En la tabla final del método simplex mostrada en la figura 2.6 se identifican:

Valor de la FO y de las variables básicas (X3, X1, X2) : estos valores se observan en la

columna en el lado derecho (Right Side). Las variables que no aparecen son las no básicas,

las que tienen nivel cero.

Precios Sombra (o precio dual). Los valores se observan en la fila Z, inmediatamente bajo

las variables de holgura X3, X4 y X5 (corresponden a las que anteriormente denominamos

como Xh1, Xh2 y Xh3.

Costos Reducido: para una variable de decisión que en la solución óptima tiene nivel cero

es la cantidad en la que la FO disminuirá (en el caso de una maximización) si una unidad de

esa variable de decisión es forzada en la solución. Estos valores se observan en la fila Z,

bajo las variables de decisión X1 y X2. En este caso ambos son cero, ya que ambas

variables de decisión tienen niveles positivos.

A continuación daremos una visión geométrica-algebraica del algoritmo simplex, siempre

usando nuestro ejemplo de las puertas y ventanas.

Función Objetivo: Maximizar Z = 3 X1 + 4 X2

Restricciones: X1 + X2 + Xh1 = 40

4 X1 + 2 X2 + Xh2 = 100

4 X1 + 6 X2 + Xh3 = 180

Nótese que desde un punto de vista algebraico este es un sistema de tres ecuaciones con cinco

incógnitas, el que tiene infinitas soluciones, muchas de ellas no factibles; si agregamos la

condición que todas las variables deben ser ≥ 0, entonces nos restringimos a las soluciones

factibles.

Por otra parte sabemos que tenemos cinco variables, de las cuales tres deben conformar cada

una de las soluciones básicas (el equipo titular) y las otras dos serán no básicas (la reserva, a

nivel cero).

Page 39: Programacion Lineal

Existen 10 formas distintas de escoger las tres variables básicas de entre las cinco variables.

Cada una de estas 10 formas da origen a un vértice del gráfico que ya dibujamos para este

modelo, siendo solamente cuatro de los vértices factibles.

En la siguiente tabla presentamos los diez vértices, siendo solamente los cuatro primeros

factibles:

X1 0 0 15 25 0 0 10 30 40 45

X2 0 30 20 0 40 50 30 10 0 0

Xh1 40 10 5 15 0 -10 0 0 0 -5

Xh2 100 40 0 0 20 0 0 -40 -60 -80

Xh3 80 0 0 80 -60 -120 -40 0 20 0

FACTIBLES NO FACTIBLES

Desde un punto de vista algebraico nuestra solución inicial (primera tabla del simplex) es X1 =

X2 = 0, con lo que automáticamente la base es Xh1 = 40, Xh2 =100, Xh3 = 180. La FO vale

cero.

Luego tenemos que X2 entra a la base (ya que estamos maximizando la FO y en la FO el

coeficiente 4 es mayor que 3) y Xh3 sale de la base, lo que equivale a resolver nuestro sistema

original con X1 = Xh3 = 0.

Xh3 sale de la base por la prueba del cuociente mínimo; para mostrar esta prueba expresamos

nuestras ecuaciones de la siguiente forma:

Xh1 = 40 – X2 0 X2 40

Xh2 = 100 – 2X2 0 X2 100/2

Xh3 = 180 – 6X2 0 X2 180/6;

al aumentar X2, Xh3 llega a cero antes que Xh1 y Xh2; el valor que toma X2 al llegar Xh3 a

cero es treinta.

Page 40: Programacion Lineal

Debemos resolver nuestro sistema con X1 = Xh3 = 0

X1 + X2 + Xh1 = 40

4 X1 + 2 X2 + Xh2 = 100

4 X1 + 6 X2 + Xh3 = 180, lo que nos da X2 = 30, Xh1 = 10, Xh2 = 40; la FO vale 120.

Finalmente X1 entra a la base y Xh2 sale de la base, lo que equivale a resolver nuestro sistema

original con Xh2 = Xh3 = 0.

X1 + X2 + Xh1 = 40

4 X1 + 2 X2 + Xh2 = 100

4 X1 + 6 X2 + Xh3 = 180, lo que nos da X1 = 15, X2 = 20, Xh1 =5; la FO vale 125.

Desde un punto de vista geométrico el simplex viaja por la frontera (o aristas) de la región

factible, desde el vértice (0,0) al vértice (0,30) para llegar finalmente al vértice (15,20) y

quedarse en este último vértice.

Con el objeto de comprender en mejor forma las tres tablas del simplex presentadas en la

página anterior presentaremos la forma apropiada de eliminación de Gauss para este modelo,

en que cada variable básica debe aparecer sólo en una ecuación, debe tener coeficiente 1 y

además las otras variables básicas no deben estar presentes en dicha ecuación. Esta forma se

basa en la ejecución de sumas entre filas.

Xh1, Xh2 y Xh3 constituyen la base o equipo titular

X1 +X2 +Xh1 = 40

4X1 +2X2 +Xh2 = 100

4X1 +6X2 +Xh3 = 180 /6

Page 41: Programacion Lineal

Z - 3X1 - 4X2 = 0 Entra X2 y sale Xh3 de la base

X1 +X2 +Xh1 = 40

4X1 +2X2 +Xh2 = 100

2X1/3 +X2 +Xh3/6 = 30

X1/3 +Xh1 -Xh3/6 = 10

8X1/3 +Xh2 -Xh3/3 = 40 x3/8

2X1/3 +X2 +Xh3/6 = 30

X2 = 30 -2X1/3 – Xh3/6

Z - 3X1 - 4(30 - 2X1/3 – Xh3/6) = 0

Z - X1/3 + 2Xh3/3 = 120 Entra X1 y sale Xh2 de la base

X1/3 +Xh1 -Xh3/6 = 10

X1 +3Xh2/8 -Xh3/8 = 15

2X1/3 +X2 +Xh3/6 = 30

+Xh1 -Xh2/8 -Xh3/8 = 5

X1 +3Xh2/8 -Xh3/8 = 15

+X2 -Xh2/4 +Xh3/4 = 20

X1 = 15 - 3Xh2/8 + Xh3/8

Z - (15 - 3Xh2/8 + Xh3/8)/3 + 2Xh3/3 = 120

Z + Xh2/8 + 15Xh3/24 = 125

Vemos que las tablas del método simplex en la figura 2.6 corresponden a la primera, tercera y

quinta tablas anteriores.

Page 42: Programacion Lineal

2.4.2 EJERCICIOS PROPUESTOS

MODELAMIENTO

1.- PLANIFICACIÓN DE PRODUCCION EN VARIOS PERIODOS, USANDO

SOBRETIEMPO Y MINIMIZANDO COSTOS.

Una fábrica puede elaborar en horario normal 100 unidades de un producto durante cada

uno de cuatro períodos de tiempo consecutivos, con costos que varían de un período a otro.

Adicionalmente puede trabajarse en sobretiempo; en la siguiente tabla se muestran los datos de

demanda, costo de producción en horario normal, capacidad de producción en sobretiempo y

costo de producción en sobretiempo:

Período Dda. (unidades)

Costo de Prod. en

Horario Normal

Capacidad en

sobretiempo

Costo de Prod.

Sobretiempo

1 130 6 60 8

2 80 4 65 6

3 125 8 70 10

4 195 9 60 11

Es posible almacenar hasta 70 unidades en stock de un período a otro, a un costo de $1,5 por

unidad por período.

Se desea determinar la cantidad de unidades a elaborar en cada período en horario normal y en

sobretiempo y los niveles de stock, de modo de satisfacer las demandas a un costo mínimo. Al

inicio del período 1 existen 15 unidades en stock.

2.- PLANIFICACIÓN DE PRODUCCION, MAXIMIZANDO GANANCIA.

Una compañía manufacturera discontinuó cierta línea de productos no rentable. Esto

creó un exceso considerable en la capacidad de producción. La gerencia quiere dedicar esta

capacidad a uno o más de tres productos; llámense productos 1, 2, 3. En la siguiente tabla se

resume la capacidad disponible de cada máquina que puede limitar la producción:

Page 43: Programacion Lineal

Tipo de máquina Tiempo disponible (en horas máquina por semana)

Fresadora 500

Torno 350

Rectificadora 150

El número de horas máquina que se requiere para cada unidad de los productos respectivos es:

Tipo de máquina Producto 1 Producto 2 Producto 3

Fresadora 9 3 5

Torno 5 4 0

Rectificadora 3 0 2

El departamento de ventas ha indicado que la demanda para los productos 1 y 2 es muy grande,

en relación a la capacidad de la compañía y que la demanda del producto 3 es de 20 unidades

por semana. La ganancia unitaria es de $50, $20, $25 respectivamente para los productos 1, 2,

3. El objetivo es determinar cuántos productos de cada tipo debe producir la compañía para

maximizar la ganancia; en el caso del producto 3 se debe vender todo lo que se produce.

3.- PROGRAMACION DE TURNOS.

Una empresa ha determinado sus requerimientos mínimos de trabajadores por período

horario de su departamento de producción en la siguiente tabla; se requiere determinar el

número de trabajadores por turno de 8 horas que minimiza el costo total diario; los trabajadores

de cada turno se desempañan en varios períodos consecutivos de acuerdo a lo indicado en la

tabla. Como alternativa se plantea minimizar el número total de trabajadores por día (la suma

de los trabajadores de los cinco turnos). ¿Es lo mismo?

PERIODO HORARIO TURNO 1 TURNO 2 TURNO 3 TURNO 4 TURNO 5 TRAB.

06 A 08 x 48

08 A 10 x x 79

10 A 12 x x 65

12 A 14 x x x 87

14 A 16 x x 64

16 A 18 x x 73

18 A 20 x x 82

20 A 22 x 43

22 A 24 x x 52

00 A 6 x 15

COSTO DIARIO POR TRAB. 170 160 175 180 195

Page 44: Programacion Lineal

4.- MEZCLA DE COMPONENTES

Un granjero alimenta a sus cerdos con una mezcla de chancado, vitaminas y un alimento

especial.

Posee 1850 cerdos que deben comer como mínimo 20 Kg. de comida por día c/u.

Desea minimizar el costo de alimentar los cerdos asegurándose al mismo tiempo que los

animales reciban una dieta balanceada. Esta dieta y los factores de costos se presentan a

continuación.

Vitaminas

Requerimiento Diario

Mínimo en Dieta por Cerdo

Calorías 1 2 3

40 20 10 30

Contenido de Alimentación Costos

Chancado (Kg.)

Alimento Especial (Kg.)

Vitaminas (Botellas)

1,5

2,0

--

0,5

0,5

0,5

--

--

7

--

1

14

5 ($/Kg.)

10 ($/Kg.)

20 ($/Botella)

Determinar el modelo de programación lineal asociado.

5.- MEZCLA DE COMPONENTES

Una panadería industrial ha recibido una orden urgente de uno de sus distribuidores por

galletas altamente proteicas. El costo debe ser minimizado y la mezcla debe cumplir con los

requerimientos mínimos de nutrición.

La orden requiere 10.000 Kg. de galletas, que son fabricadas en base a la mezcla de 4

ingredientes R, S, T y U, con costos asociados de $8, $2, $3 y $1 por Kg. respectivamente. El

lote debe contener un mínimo de 4000 Kg. de proteínas, 2500 Kg. de grasa, 3000 Kg. de

carbohidratos y 500 Kg. de azúcar. Los ingredientes contienen los siguientes porcentajes por

peso.

Proteínas Grasa Carbohidratos Azúcar Rellenos

R

S

T

U

50%

10%

30%

0%

30%

15%

5%

5%

15%

50%

30%

5%

5%

15%

30%

30%

0%

10%

5%

60%

Formular el modelo de programación lineal asociado.

Page 45: Programacion Lineal

6.- Una empresa ha decidido fabricar un ensamblaje de merlot y cabernet. Se sabe que un litro

de la cepa merlot vale en el mercado USD 10, en cambio la cepa carbernet vale USD 15. Los

costos de producción equivalen a USD 10 por unidad del ensamblaje. Asuma que no hay

pérdida de material en el proceso de mezclado. La cantidad máxima de ensamblaje que se

puede mezclar en forma diaria es de 100 Litros. Se sabe además, que el precio de venta de

este ensamblaje será de USD 30. Por último, por decisión técnica del enólogo a cargo, se ha

determinado que la cantidad de litros de merlot usados en la mezcla debe ser al menos el

doble que la usada de cabernet y además la cantidad de litros disponibles diarios de cada

vino en el mercado asciende a 70 litros de merlot y 30 de cabernet.

Formule un modelo de programación lineal que permita determinar cuánto se debe comprar de

cada cepa de manera de maximizar la utilidad de la operación de fabricación y venta del

ensamblaje.

7.- Una empresa fabrica sillas para escritorios que se arman en su departamento de Ensamblado

Final, cada una de las cuales requiere dos unidades de la parte A, dos unidades de la parte B

y una unidad de la parte C. Estas partes se fabrican en otros dos departamentos (Depto. 1 y

Depto. 2) de la misma planta. La siguiente tabla indica las razones de producción, junto con

la cantidad máxima de horas humanas (HH) disponibles en los Deptos. 1 y 2.

RAZONES DE PRODUCCION

(unidades por HH)

DEPTO. CANTIDAD DE

HH

DISPONIBLES

POR SEMANA

PARTE A PARTE B PARTE C

1 1500 5 10 8

2 1200 12 4 6

Se pide construir un modelo de PL que permita determinar la cantidad máxima de sillas para

Page 46: Programacion Lineal

escritorios que se pueden producir semanalmente, así como también el programa de

producción de las partes A, B y C que permita lograr dicho máximo. En el caso del

departamento de Ensamblado se dispone de horas ilimitadas.

RESOLUCIÓN GRÁFICA

8.- Utilice el método gráfico para resolver este modelo:

Maximizar Z = 2X + Y

Sujeta a X -Y 10

X 20

X 0, Y 0

9.- a) Utilice el método gráfico para resolver este modelo:

Minimizar Z = 3X + 2Y; (alternativamente usar Max.)

Sujeta a X + 2Y 12

2X + Y 8

X 0, Y 0

b) resuelva el modelo de a), agregando la restricción 2X + 3Y = 12

10.- Dos minas productoras de oro, después del proceso de chancado, producen oro que

puede ser clasificado en tres clases (alta, media y baja ley). La compañía dueña de estas dos

minas tiene un contrato en el que debe proveer en una semana 12 toneladas de alta ley como

máximo, 8 toneladas de media ley como mínimo y 24 toneladas de baja ley. Las minas

tienen sus características propias según:

Mina Costo por día Producción (ton/día)

Alta Media Baja

X 180 6 4 3

Y 160 1 1 6

Page 47: Programacion Lineal

¿Cuántos días a la semana debe trabajar cada mina de modo de cumplir con el contrato de

manera eficiente? Modele este problema usando PL y resuélvalo en forma gráfica. Las minas

trabajan como máximo seis días a la semana, pudiendo trabajar cada día en forma fraccional

11.- En forma grafica encuentra la solución del siguiente modelo:

MIN 2X1 + 3X2 – 5X3, sujeto a

3X1 + 7X2 + 21X3 ≥ 42

Xi ≥ 0 i = {1, 2, 3}

Alternativamente usar MIN 2X1 + 3X2 + 5X3

12.- Del Mathprog, estudiar el Demo “Graphical method”; resolver el problema 8.- usando

“Solve interactively by the graphical method”

MÉTODO SIMPLEX Y ANÁLISIS DE SENSIBILIDAD

13.- Para el siguiente modelo de PL, en forma gráfica determina:

la región factible

la solución óptima y el valor óptimo de “Z”

el valor del precio dual (o sombra) de la primera restricción

MAX Z = 6X1 + 7X2

s.a. 2X1 + 3X2 24

2X1 + X2 16 con X1 0, X2 0

14.- Considera el siguiente problema de PL para planificación de la producción de

una industria que fabrica tres productos a partir de dos recursos:

MAX Z = 3X1+2X2+4X3

S.A. 6X1+3X2+5X3 25

3X1+4X2+5X3 20 CON X1 0, X2 0, X3 0

La siguiente es su tabla final, en la que se logró el óptimo:

Page 48: Programacion Lineal

A) Identifica las variables básicas, las de holgura y sus respectivos valores, los precios

sombra de los recursos, los costos reducidos de las variables de decisión y el valor

óptimo de la FO.

B) Determina la resolución que debe tomar la industria frente a cada una de las

siguientes opciones:

1. Comprar una unidad más del primer recurso, del que se tienen 25 unidades, a un

precio de 0,3.

2. Comprar una unidad más del segundo recurso, del que se tienen 20 unidades, a

un precio de 0,5.

3. Vender una unidad del primer recurso, del que se tienen 25 unidades, a un precio

de 0,3.

4. Vender una unidad del segundo recurso, del que se tienen 20 unidades, a un

precio de 0,5.

15 .- Del Mathprog, estudiar los Demos “Interpretation of the Slack Variables”, “Simplex

Method, Algebraic Form”, “Simplex Method, Tabular Form”; resolver el problema

anterior usando “Solve Automatically by the Simplex Method”; también usar “Solve

Interactively by the Simplex Method” (previamente se debe entrar a “Set-up for the

Simplex Method, Interactive Only”).

Page 49: Programacion Lineal

16.- Una empresa tiene 3 productos que aportan con $20, $20 y $15 cada uno a los

beneficios. Cada producto necesita dos materiales para ser manufacturado, presentándose

estos requerimientos en la siguiente tabla:

Material 1 Material 2

Producto 1

Producto 2

Producto 3

7

6

3

5

4

2

Material Total Disponible 100 200

a) Modelar el problema y resolverlo con Mathprog en forma automática e interactiva.

b) Realizar un análisis de sensibilidad, a partir de los resultados obtenidos con la salida de la

resolución automática del MATHPROG. Determinar los costos reducidos con la

información de la solución interactiva.

17.- Usando el método simplex, resolver el siguiente sistema de ecuaciones; explique la

función objetivo elegida para este propósito. Cada una de las ecuaciones puede ser asociada

con una restricción.

4X + 2Y = 17

2X + 3Y = 13,5

Page 50: Programacion Lineal

2.4.3 BIBLIOGRAFÍA

(1) “INVESTIGACIÓN DE OPERACIONES” DE F. HILLIER Y G. LIEBERMAN,

SÉPTIMA EDICIÓN, CAPÍTULOS 3 Y 4.

(2) “INTRODUCTION TO MANAGEMENT SCIENCE” DE F. HILLIER, M. HILLIER Y G.

LIEBERMAN, CAPÍTULOS 2, 3 Y 4.

(3) “ADMINISTRACIÓN DE OPERACIONES” DEL AUTOR ROGER SCHROEDER,

TERCERA EDICIÓN, SUPLEMENTO (PAGS. 365 A LA 378).

(4) “QUANTITATIVE ANALYSIS FOR BUSINESS DECISIONS” DE H. BIERMAN, C.

BONINI Y W. HAUSMAN, OCTAVA EDICIÓN, CAPÍTULOS 10, 11 Y 12.

(5) “OPTIMIZACIÓN Y MODELOS PARA LA GESTIÓN” DE CARMEN ORTIZ,

SAMUEL VARAS Y JORGE VERA, CAPÍTULOS 2 AL 6. ESTE TEXTO FUE

ESCRITO POR CHILENOS, EDITADO E IMPRESO EN CHILE.

(6) “QUANTITATIVE METHODS FOR BUSINESS” DE D. ANDERSON, D. SWEENEY Y

T. WILLIAMS, QUINTA EDICIÓN, CAPÍTULOS 7, 8, 9 Y 10.

(7) “INVESTIGACION DE OPERACIONES EN LA CIENCIA ADMINISTRATIVA” DE G.

EPPEN, F. GOULD, C. SCHMIDT, J. MOORE Y L.WEATHERFORD, QUINTA EDICIÓN,

CAPÍTULOS 2, 3, 4, 5 Y 6.

(8) “INVESTIGACIÓN DE OPERACIONES” DE H. TAHA, SEXTA EDICIÓN,

CAPÍTULOS 2, 3 Y 4.

(9) “PRINCIPLES OF CORPORATE FINANCE” POR R. BREALEY Y C. MYERS,

CUARTA EDICIÓN, CAPITULO 28.

(10) “DIRECCIÓN DE OPERACIONES” DE J. A. DOMÍNGUEZ, M. J. ALVAREZ, S.

GARCIA, M. A. DOMÍNGUEZ, A. RUIZ. PAGS. 85 A 88 DEL TOMO “ASPECTOS

TÁCTICOS Y OPERATIVOS EN LA PRODUCCIÓN Y LOS SERVICIOS”.

(11) “INVESTIGACIÓN DE OPERACIONES” DE K. MATHUR Y D. SOLOW,

CAPÍTULOS 3, 4, 5 Y 6.

Page 51: Programacion Lineal

2.4.4 SOFTWARE PARA MODELOS DE PL Y PE (PROGRAMACIÓN

ENTERA)

a) Mathprog; este software acompañó al libro de Hillier y Lieberman indicado en la

Bibliografía 1) hasta la sexta edición.

NOTA: El comando PRINT TO FILE permite generar archivos de texto (extensión .txt),

los que pueden ser abiertos con Word u otro procesador de texto. Por otra parte el comando

SAVE genera archivos con extensión “.dat”, que es el formato usado por Mathprog.

b) Solver; este se encuentra en el menú del Excel, bajo la columna Herramientas.

c) Lindo (Linear INteractive and Discrete Optimizar); este software (al igual que Lingo y

What’sBest!) se puede obtener en versiones demostrativas desde http://www.lindo.com

sitio de la empresa LINDO SYSTEMS INC., la que desarrolló y actualmente comercializa

LINDO, LINGO Y WHAT’SBEST. Estos son programas para resolver modelos de

Programación Matemática. Para obtener programas demostrativos, se debe seleccionar la

lengueta Download.

What’sBest! es, al igual que el Solver un add-in (complemento) para el Excel.

Con respecto a Lindo y Lingo, el primero esta limitado a modelos de PL y PE, mientras

que el segundo permite resolver adicionalmente modelos de programación no lineal (PNL),

tema fuera del programa de nuestro curso.

d) En la página http://lionhrtpub.com/orms/ormssurveys.html hay varias listas de software

usados para resolver diversos modelos empleados en IO, entra ellas una para resolver

modelos de PL; esta página pertenece a la revista OR/MS Today, publicada por INFORMS

(Institute for Operations Research and the Management Sciences), cuya página es

http://www.informs.org

e) La gran disponibilidad de soluciones computacionales existentes para los modelos de

programación lineal puede ser también apreciada en el registro que posee el Servidor Neos

perteneciente a OTC (Optimization Technology Center, que funciona con el apoyo del

Departamento de Energía y de la Universidad Nortwestern de Estados Unidos) en la

siguiente dirección electrónica:

http://www-fp.mcs.anl.gov/otc/Guide/SoftwareGuide/Categories/linearprog.html

“OTC is devoted to research in numerical optimization, Internet and distributed

computing, problem-solving environments, and to the study of optimization in a wide

range of applications.

Page 52: Programacion Lineal

One of the central projects is NEOS - the Network Enabled Optimization System.

NEOS consists of the NEOS Guide, a comprehensive guide to optimization models,

algorithms and software, and the NEOS Server, which is capable of solving optimization

problems automatically over the Internet.”