Está en la página 1de 19

Fundamentos de Investigación de Operaciones

Formulación de Modelos de Programacón Lineal

17 de julio de 2004

La Programación Lineal (LP) es una herramienta para resolver problemas de optimización que se
caracterizan por tener como función objetivo y restricciones combinaciones lineales de las variables de
decisión. La principal ventaja radica en que existe un algoritmo eficiente (SIMPLEX) para resolver
este tipo de modelos.

1. Conceptos Básicos
Consideremos el siguiente ejemplo para describir los términos presentes en todo problema de LP.

Ejemplo 1.

Una mueblerı́a produce mesas y sillas de madera. Cada mesa es vendida en $27000 y requiere $10000
en materiales, además, el costo de unitario por mano de obra se estima en $14000. En el caso de
las sillas, su precio de venta es de $21000 y los costos son de $9000 y $10000, en materiales y mano
de obra respectivamente. La fabricación de cada producto requiere de dos tipos de labores: carpinterı́a
y terminaciones. Una mesa requiere de 1 hora de carpinterı́a y 2 horas de terminaciones. Una silla
requiere de 1 hora de carpinterı́a y 1 hora de terminaciones.
Cada semana, la mueblerı́a puede obtener todos los materiales que desee, sin embargo, se pueden
dedicar hasta 100 horas a las terminaciones y hasta 80 horas a la carpinterı́a. La demanda por mesas
no está limitada, mientras que la demanda semanal máxima por sillas es de 40.
La mueblerı́a desea maximizar sus utilidades (ingresos - costos). Formule un modelo matemático que
permita maximizar las utilidades.

1.1. Variables de Decisión


Se debe comenzar definiendo las variables de decisión relevantes. En un modelo de programación
lineal las variables de decisión deben ser capaces de describir completamente las decisiones que puedan
ser tomadas y todas las variantes que existan.
Antes de definir las variables de decisión es importante definir las unidades involucradas en el problema.
En este caso, se habla de unidades de sillas y mesas, de horas de trabajo por unidad y de demanda
semanal. De acuerdo a ello, una buena opción para definir las variables de decisión consiste en asociar
las variables al número de unidades de sillas y mesas a producir por semana. Por lo tanto, podemos
definir:
x1 = número de mesas producidas por semana.
(1.1)
x2 = número de sillas producidas por semana.

1
F.I.O. Segundo Semestre 2004 Programación Lineal

1.2. Función Objetivo


En un problema de LP, se debe tomar la decisión de maximizar (usualmente las utilidades)
o de minimizar (usualmente los costos) cierta función de las variables de decisión. La función a
maximizar o minimizar se denomina función objetivo. Antes de formular el modelo matemático
conviene resumir los datos del problema (Tabla 1.1).

hVentai Materiales
h i Mano
h de iObra Carpinterı́a
h i Terminaciones
h i Dda. Máxima
$ $ $ hr. hr. £ un. ¤
un. un. un. un. un. sem.
Mesa 27000 10000 14000 1 2 –
Silla 21000 9000 10000 1 1 40
Disponibilidad – – – 80 100 –

Tabla 1.1: Resumen Ejemplo 1

En el ejemplo, los costos e ingresos no dependen del valor de x1 o de x2 , por lo tanto basta
concentrarse en maximizar la diferencia entre:
µ ¶ µ ¶ µ ¶
ingresos costos de costos por
− − (1.2)
semanales materiales mano de obra
Luego, se debe expresar los términos anteriores en función de las variables de decisión x 1 y x2 .
Supondremos que todas las sillas y mesas fabricadas son vendidas (respentando las condiciones
de mercado del enunciado). Ası́:
µ ¶ µ ¶ µ ¶
ingresos ingresos ingresos
= +
semanales por mesas por sillas
³ ´¡ ³ ´³ ´ (1.3)
= $ mesas ¢ + $ sillas
mesa semana silla semana

= 27000x1 + 21000x2
Similarmente:
µ ¶
costos por
= 10000x1 + 9000x2
µ materiales ¶ (1.4)
costos por
= 14000x1 + 10000x2
mano de obra
Por lo tanto la función a maximizar queda (en miles):

(27x1 + 21x2 ) − (10x1 + 9x2 ) − (14x1 + 10x2 ) = 3x1 + 2x2 (1.5)


Otra opción para construir la función objetivo consiste en calcular previamente los ingresos netos
o utilidades de cada uno de los productos de la mueblerı́a. Ası́:

utilidad por mesa = 27 − 10 − 14 = 3


(1.6)
utilidad por silla = 21 − 9 − 10 = 2
Ası́, el objetivo de la mueblerı́a es escoger los valores de x1 y x2 tal que se maximize 3x1 + 2x2 .
Denotando por z el valor de la función objetivo para cualquier LP, la función objetivo de la mueblerı́a
es:

2
F.I.O. Segundo Semestre 2004 Programación Lineal

Maximizar z = 3x1 + 2x2 (1.7)


El coeficiente que acompaña a cada variable en la función objetivo se denomina coeficiente en la
función objetivo de la variable y refleja el aporte unitario de dicha variable a la función objetivo.

1.3. Restricciones
En la medida que las variables x1 y x2 crecen, la función objetivo aumenta su valor. Por lo tanto si
se pudiera escoger arbitrariamente el valor de x1 y x2 , la mueblerı́a podrı́a hacer crecer arbitrariamente
el valor de sus utilidades. Evidentemente, en la práctica esto no es posible. En este ejemplo, el valor
de las variables está limitado por las siguientes tres restricciones:

Restricción 1 : máximo 100 horas semanales para terminaciones


Restricción 2 : máximo 80 horas semanales para carpinterı́a
Restricción 3 : producción máxima de 40 sillas semanales
Se asume que la cantidad disponible de material es ilimitada. Luego, el próximo paso consiste en
formular matemáticamente las restricciones anteriores en función de las variables de decisión. Para
formular la primera restricción en función de las variables x1 y x2 observamos que:
³ ´ ³ ´¡
terminaciones = terminaciones mesas ¢
semana ³ mesa ´³semana ´
+ terminaciones sillas
semana
(1.8)
silla
= 2x1 + 1x2
Por lo tanto la primera restricción queda: 2x1 + x2 ≤ 100

Es importante notar que todos los valores en la expresión anterior son por semana, ya que las variables
de decisión se han escogido con esa referencia.

Análogamente la segunda restricción queda: x1 + x2 ≤ 80

Finalmente, la tercera restricción sólo limita el valor de x2 : x2 ≤ 40

El valor que aparece a la derecha del signo de la desigualdad en cada restricción se denomina the
constraint’s right-hand side (rhs) o coeficiente del lado derecho de la restricción. Usualmente,
representa la cantidad disponible de cierto recurso.

1.4. Restricción de Signo


Para completar la formulación del modelo es importante definir si existe alguna restricción de signo
para cada variable de decisión.

Si una variable de decisión xi debe cumplir condiciones de no-negatividad, debemos agregar la re-
stricción xi ≥ 0. Si la variable de decisión xi puede asumir valores positivos y negativos se dice que la
variable xi no tiene restricción de signo (srs).

En este ejemplo, ambas variables de decisión se refieren a cantidades a producir, por lo tanto son
no-negativas, luego: x1 ≥ 0 y x2 ≥ 0. Sin embargo, en otros ejemplos las varibles pueden ser srs, por
ejemplo en el caso de que xi se refiere al saldo de alguna cuenta.

3
F.I.O. Segundo Semestre 2004 Programación Lineal

Combinando todas las expresiones anteriores, es posible completar el modelo matemático para este
problema de optimización:

Max z = 3x1 + 2x2 (Función Objetivo)


sujeto a (st)
2x1 + x2 ≤ 100 (Restricción de terminaciones)
x1 + x 2 ≤ 80 (Restricción de carpinterı́a) (1.9)
x2 ≤ 40 (Restricción de demanda máxima)
x1 ≥ 0 (Restricción de signo)
x2 ≥ 0 (Restricción de signo)
Se deja como ejercicio al lector determinar las modificaciones sobre el modelo anterior si:

El excedente de horas de terminaciones puede ser empleado para carpinterı́a y viceversa.

La misma hipótesis del punto anterior pero suponiendo que cada hora de terminaciones equivale
a dos horas de carpinterı́a.

La producción de mesas no puede exceder al 40 % del total de unidades producidas de mesas y


sillas.

2. Generalización
Repasemos en primer lugar algunos conceptos de linealidad de funciones y desigualdades.

Definición 1 Una función f (x1 , x2 , · · · , xn ) de x1 , x2 , · · · , xn es una función lineal sı́ y sólo sı́ para
un conjunto de constantes c1 , c2 , · · · , cn , se tiene: f (x1 , x2 , · · · , xn ) = c1 x1 + c2 x2 + · · · + cn xn

Definición 2 Para cualquier función f (x1 , x2 , · · · , xn ) y cualquier número b las desigualdades:

f (x1 , x2 , · · · , xn ) ≤ b

f (x1 , x2 , · · · , xn ) ≥ b

son desigualdades lineales.

Definición 3 Un problema de programación lineal (LP) es un problema de optimización para el cual


debemos tener presente lo siguiente:

1. Se maximiza (o minimiza) una función lineal de las variables de decisión. La función que es
maximizada o minimizada se denomina función objetivo.

2. Los valores de las variables de decisión deben satisfacer un conjunto de restricciones. Cada
restricción debe ser una ecuación o desigualdad lineal.

3. Existe una restricción de signo asociada a cada variable. Para toda variable x i , la res- tricción
de signo especifica si xi debe ser no-negativa (xi ≥ 0)o bien sin restricción de signo (srs).

De acuerdo a las definiciones anteriores, el ejemplo estudiado corresponde efectivamente a un LP,


pues tanto la función objetivo como las restricciones son funciones lineales de x 1 y x2 . El proble-
ma estudiado corresponde a un problema tı́pico de decisión donde se debe obtener el programa de
producción que maximiza las utilidades sujeto a recursos limitados.

4
F.I.O. Segundo Semestre 2004 Programación Lineal

3. Consecuencias y Supuestos
El hecho que la función objetivo de un PL sea una función lineal de las variables de decisión tiene
dos implicancias:

1. La contribución a la función objetivo de cada variable es proporcional al valor de la variable de


decisión.

2. La contribución a la función objetivo para toda variable es independiente de los valores de las
otras variables de decisión.

Análogamente, el hecho de que cada restricción sea una ecuación o desigualdad lineal también
tiene dos implicancias:

1. La contribución de cada variable al coeficiente del lado izquierdo de cada restricción es propor-
cional al valor de la variable.

2. La contribución de cada variable al coeficiente del lado izquierdo de cada restricción es indepen-
diente de los valores de las otras variables.

Las primeras implicancias de la listas anteriores constituyen el Supuesto de Proporción en LP.


Las segundas implicancias de las listas anteriores constituyen el Supuesto de Adición en LP.

Para que un modelo de LP corresponda a una representación adecuada de la realidad, las variables
de decisión deben satisfacer los dos supuestos anteriores. Adicionalmente, se agregan dos supuestos:
el supuesto de Divisibilidad y el de Certeza.

El Supuesto de Divisibilidad requiere que cada variable de decisión pueda tomar valores frac-
cionarios. En el ejemplo anterior, el supuesto se traduce en que es aceptable producir 2.4 sillas ó 1.6
mesas. Evidentemente, el supuesto de divisibilidad no se satisface en el ejemplo. En este caso se puede
proceder a formular el modelo como un problema de programación lineal entera (ILP), problema en el
cual una o más variables deben ser enteras. Este tipo de problema se estudiará más adelante. Cuando
no se satisface el supuesto de divisibilidad, una posibilidad es redondear la solución obtenida a un
valor entero, sin embargo no existen garantı́as que dicha solución sea la mejor.

El Supuesto de Certeza exige que cada parámetro: coeficientes de la función objetivo, coeficientes
del lado derecho, etc. sean conocido con certeza, es decir, no se acepta incertidumbre en sus valores.

Es claro que es muy difı́cil que un problema cumpla exactamente con todos los supuestos. Sin embargo,
un modelo puede ser útil aunque difiera de la realidad si se es consistente con los requerimientos más
estrictos del problema y se tienen presente las limitaciones al interpretar los resultados.

4. Regiones Factibles y Soluciones Óptimas


Dos de los conceptos más fundamentales en LP son el de región factible y de solución óptima de
un problema. Llamaremos punto a la especificación de un valor para cada variable de decisión.

Definición 4 La región factible para un LP es el conjunto de puntos que satisfacen todas las re-
stricciones (incluidas las de signo) de un problema de LP.

5
F.I.O. Segundo Semestre 2004 Programación Lineal

Definición 5 En el caso de un problema de maximización, una solución óptima del LP es un punto


de la región factible que está asociado al mayor valor posible de la función objetivo. Similarmente,
para un problema de minimización, una solución óptima es un punto que está asociado al menor valor
posible de la función objetivo.

La mayorı́a de los problemas de LP tienen sólo una solución óptima. Sin embargo, existen muchos
problemas de LP que no poseen solución óptima o bien poseen varios o infinitos valores óptimos.

5. Algunos Ejemplos
5.1. Problema de la Dieta
Una dieta diaria satisfactoria debe contener al menos 2000 [kCal], 55 [g] de proteı́nas y 800 [mg] de
Calcio. Se pide formular un modelo que permita determinar una dieta satisfactoria de mı́nimo costo
a partir de los alimentos indicados en el Tabla 5.1.
h i £ u ¤
Alimento Porción Energı́a [kCal] Proteı́nas [g] Calcio [mg] Precio u$ Lı́mite dı́a
Avena 28 110 4 2 3 4
Pollo 100 205 32 12 24 3
Huevos 2 160 13 54 13 2
Leche 237 160 8 285 9 8
Pastel 170 420 4 22 20 2
Cerdo 260 260 14 80 29 2

Tabla 5.1: Alimentos disponibles

Modelo:

En este caso resulta natural definir como variable de decisión xi la cantidad de alimento tipo ”i”(i =
1 . . . 6) a consumir. Como cada alimento tiene un costo, basta ponderar cada variable de decisión por
su respectivo coeficiente y construir la función objetivo a minimizar. Las restricciones obedecen a los
lı́mites diarios de consumo por alimento y a las condiciones de energı́a, proteı́nas y calcio que debe
cumplir la dieta. Por lo tanto, el modelo queda:

Min z = 3x1 + 24x2 + 13x3 + 9x4 + 20x5 + 29x6 (Función Objetivo)


st
110x1 + 205x2 + 160x3 + 160x4 + 420x5 + 260x6 ≥ 2000 (Energı́a mı́nima)
4x1 + 32x2 + 13x3 + 8x4 + 4x5 + 14x6 ≥ 55 (Proteinas mı́nimas)
2x1 + 12x2 + 54x3 + 285x4 + 22x5 + 80x6 ≥ 800 (Calcio mı́nimo)
x1 ≤ 4 (Porción lı́mite)
x2 ≤ 3 (Porción lı́mite)
x3 ≤ 2 (Porción lı́mite)
x4 ≤ 8 (Porción lı́mite)
x5 ≤ 2 (Porción lı́mite)
x6 ≤ 2 (Porción lı́mite)
xi ≥ 0 ∀i (Restricción de signo)

6
F.I.O. Segundo Semestre 2004 Programación Lineal

5.2. Problema de Planificación de Personal


Las enfermeras de un hospital llegan cada 4 horas y trabajan en turnos de 8 horas continuas. La
administración ha decidido definir 6 cambios de turno al dı́a para minimizar las distracciones y los
problemas de comunicación que ocurren en los cambios de turno.
El hospital ha realizado un análisis del trabajo requerido durante cada uno de los seis bloques horarios
del dı́a. Las caracterı́sticas de cada bloque se muestran en el Tabla 5.2.

Hora del Dı́a Perı́odo Número mı́nimo de enfermeras


2 AM - 6 AM 1 25
6 AM - 10 AM 2 60
10 AM - 2 PM 3 50
2 PM - 6 PM 4 35
6 PM - 10 PM 5 55
10 PM - 2 AM 6 40

Tabla 5.2: Caracterı́sticas de cada Bloque Horario.

Las enfermeras que empiezan a trabajar en los perı́odos 2, 3 y 4 ganan US$40 al dı́a, y aquellas
que comienzan en los perı́odos 1, 5 y 6 ganan US$50 al dı́a. ¿Cuál es la planificación de los turnos de
las enfermeras que minimizan los costos por salarios?

Modelo:

En este caso podemos identificar como variable de decisión el número de enfermeras N i que comienza
a trabajar en el turno ”i”(i = 1 . . . 6). De esta forma, la función objetivo queda:

z = 50N1 + 40N2 + 40N3 + 40N4 + 50N5 + 50N6

Evidentemente, la función anterior debe ser minimizada. Para construir las restricciones es conveniente
recurrir a una representación gráfica de los turnos (Figura 5.1).

Turno
1 2 3 4 5 6

N1
N2
N3
N4
N5
N6
Figura 5.1: Esquema de los turnos

De la gráfica anterior se observa que en cada bloque trabajan las enfermeras que comenzaron su
turno en dicho bloque, pero también las que empezaron su turno en el bloque anterior. Por lo tanto,
las restricciones de personal mı́nimo por turno quedan:

N1 + N 2 ≥ 60
N2 + N 3 ≥ 50
N3 + N 4 ≥ 35
N4 + N 5 ≥ 55
N5 + N 6 ≥ 40
N6 + N 1 ≥ 25

7
F.I.O. Segundo Semestre 2004 Programación Lineal

Finalmente, el modelo se completa con las restricciones de signo:

Ni ≥ ∀ i

5.3. Problema de Planificación de Producción


La empresa Sil Computer necesita satisfacer la demanda de computadores por parte de sus clientes
(grandes corporaciones e instituciones educacionales) para los próximos 4 trimestres.
Actualmente, Sil Computer tiene 5000 computadores en inventario. La demanda esperada para los
próximos trimestres son 7000, 15000, 10000 y 8000. Sil Computer tiene el material y la capacidad de
producir hasta 10000 computadores cada trimestre, a un costo de US$ 2000 por computador. Emple-
ando personal de sobretiempo se puede producir hasta 2500 computadores más a un costo individual
de US$ 2200. Los computadores producidos en un trimestre pueden ser usados para satisfacer la de-
manda de ese perı́odo, o bien quedar en inventario para ser usados posteriormente. Cada computador
en inventario tiene un costo adicional de US$100 por perı́odo para reflejar los costos de almacenaje.
¿Como puede satisfacer Sil Computer su demanda a costo mı́nimo?

Modelo:

En este caso la decisión a tomar corresponde a la producción de computadores por trimestre. Co-
mo se puede fabricar computadores en horario normal y en sobretiempo es conveniente separar ambos
tipos de producción en variables distintas. Además, se debe decidir en cada perı́odo cuantas unidades
guardar en inventario. Definamos las siguientes variables (∀ t = 1 . . . 4):

xt = producción en el perı́odo t en horario normal


yt = producción en el perı́odo t en sobretiempo
it = inventario al final del perı́odo t
De acuerdo a las variables definidas podemos formular el modelo completo considerando el balance
trimestral entre lo producido, lo proveniente del perı́odo anterior en inventario y la demanda del
trimestre respectivo.

Min z = 2000(x1 + x2 + x3 + x4 ) + 2200(y1 + y2 + y3 + y4 ) + 100(i1 + i2 + i3 )


st
5000 + x1 + y1 = 7000 + i1
i1 + x 2 + y2 = 15000 + i2
i2 + x 3 + y3 = 10000 + i3
i3 + x 4 + y4 = 8000
xt ≤ 10000 ∀t
yt ≤ 2500 ∀t
x t , yt , i t ≥ 0 ∀t
Para la formulación anterior se ha supuesto que cada computador es completamente fabricado
en horario normal o en sobretiempo y que las variables pueden ser no enteras. Evidentemente este
supuesto puede no ser correcto en la situación real, pero constituye una buena aproximación del prob-
lema.

Revisando la formulación propuesta, se observa que no existe la variable i 4 ¿ Porqué no se incluye en


el modelo ? ¿ Qué pasarı́a si se incorporara ?

8
F.I.O. Segundo Semestre 2004 Programación Lineal

5.4. Problema de Transporte


Supongamos un problema de transporte de algún producto desde n orı́genes hacia m destinos. En
cada origen hay una existencia de productos ei (i = 1 . . . n). En cada destino hay una demanda por dj
unidades (j = 1 . . . m). El costo unitario de envı́o desde cada origen i hacia cada destino j es de c ij .
Formule un modelo de programación lineal que permita definir la distribución del producto de modo
de minimizar los costos de transporte.

Modelo:

La decisión consiste simplemente en determinar el número de productos que son transportados desde
cada origen hacia cada destino. Luego, se emplearán las siguientes variables:

xij = cantidad enviada desde origen i a destino j

De acuerdo a las variables definidas, la función objetivo queda:


n X
X m
M in cij xij
i=1 j=1

Las restricciones corresponden a la capacidad máxima en cada origen y a la demanda en cada destino.
Además, como las variables representan cantidades, deben ser positivas.
Pm
xij ≤ ei ∀ i = 1 . . . n (disponibilidad)
Pj=1
n
i=1 xij ≥ dj ∀ j = 1 . . . m (demanda)
xij ≥ 0 ∀i×j (restricción de signo)

El problema anterior se dice balanceado si se satisface que:


n
X m
X
ei = dj
i=1 j=1

El problema anterior admite múltiples variaciones como la incorporación de lı́mites a la capacidad


de cada ruta, incorporación de costos fijos, puntos de transbordo, rutas alternativas entre otras posi-
bilidades. Este tipo de problema es muy versátil y puede ser aplicado a muchas situaciones que no
necesariamente se refieren a transporte, además posee su propio algoritmo de resolución. ¿ Cómo
cambiarı́a la formulación si se incorporaran k puntos de transbordo, es decir, puntos intermedios sin
demanda ni oferta, pero que pueden servir como rutas alternativas para disminuir costos de envı́o
desde un origen i a algún destino j ?

5.5. Problema de Mezcla


Una refinerı́a de petróleos produce dos tipos de gasolina sin plomo: regular y extra, los cuales vende
a su cadena de estaciones de servicio en US$12 y US$14 por barril, respectivamente. Ambos tipos se
preparan del inventario de petróleo nacional refinado y de petróleo importado refinado que tiene la
refinerı́a y deben cumplir las especificaciones que se presentan en el Tabla 5.3.
Las caracterı́sticas del inventario de petróleos refinados se muestran en el Tabla 5.4.
Formule un modelo de programación lineal que permita maximizar la ganancia semanal de la re-
finerı́a.

9
F.I.O. Segundo Semestre 2004 Programación Lineal

Presión máxima Octanaje Demanda máxima Entregas mı́nimas


de vapor mı́nimo [barril/semana] [barril/semana]
Regular 23 88 100.000 50.000
Extra 23 93 20.000 5.000

Tabla 5.3: Especificaciones de las gasolinas

Presión Inventario Costo


Octanaje
de vapor [barril] [US$/barril]
Nacional 25 87 40.000 8
Importado 15 98 60.000 15

Tabla 5.4: Caracterı́sticas de los petróleos

Modelo:

Para poder formular un modelo para el problema supondremos que no existen pérdidas en el pro-
ceso de refinamiento y que tanto el octanaje como la presión de vapor se pueden mezclar linealmente.

De acuerdo al supuesto anterior debemos definir variables que nos permitan controlar que propor-
ción de cada tipo de petróleo se empleará para fabricar cada tipo de gasolina, ası́:

xij = cantidad de petróleo refinado tipo i (i = 1, 2) para fabricar gasolina j (j = 1, 2)


Donde petróleo refinado tipo 1 corresponde a Nacional y tipo 2 a Importado, gasolina 1 equivale a
Regular y gasolina 2 a Extra. Consideremos las variables anteriores en barriles, de modo de emplear
las proporciones entregadas en el enunciado.

Como se conoce el precio de venta de cada gasolina y el costo de cada petróleo, la función objeti-
vo se reduce a maximizar la diferencia entre ingresos y costos, es decir, las utilidades.

M ax 12(x11 + x21 ) + 14(x12 + x22 ) − 8(x11 + x12 ) − 15(x21 + x22 )

A continuación construimos las restricciones. Las restricciones respecto de inventario disponible y de-
manda de cada tipo de gasolina se explican por sı́ solas:

x11 + x12 ≤ 40000 (Inventario petróleo tipo 1)


x21 + x22 ≤ 60000 (Inventario petróleo tipo 2)
x11 + x21 ≥ 50000 (Demanda mı́nima de gasolina tipo 1)
x11 + x21 ≤ 100000 (Demanda máxima de gasolina tipo 1)
x12 + x22 ≥ 5000 (Demanda mı́nima de gasolina tipo 2)
x12 + x22 ≤ 20000 (Demanda máxima de gasolina tipo 2)

Las restricciones de presión de vapor y de octanaje mı́nimo deben ser normalizadas respecto de la

10
F.I.O. Segundo Semestre 2004 Programación Lineal

cantidad total fabricada, que no es necesariamente la cantidad máxima o mı́nima posible de fabricar.
25x11 +15x21
x11 +x21 ≤ 23 (Presión de vapor máxima gasolina tipo 1)
25x12 +15x22
x12 +x22 ≤ 23 (Presión de vapor máxima gasolina tipo 2)
87x11 +98x21
x11 +x21 ≥ 88 (Octanaje mı́nimo gasolina tipo 1)
87x12 +98x22
x12 +x22 ≥ 88 (Octanaje mı́nimo gasolina tipo 2)

Finalmente, el modelo queda completo con las condiciones de signo:

xij ≥ 0 ∀i×j

5.6. Problema de Producción y Asignación de Personal


Un pequeño taller arma dispositivos mecánicos, ya sea como un producto terminado que entrega
al mercado, o como un proceso intermedio para entregar a una gran fábrica. Trabajan 3 personas
en jornadas de 40 horas semanales. Dos de estos obreros no calificados reciben $0,4 por hora, y el
tercero, un obrero calificado recibe $0,6 por hora. Los tres están dispuestos a trabajar hasta 10 horas
adicionales a la semana con un salario 50 % superior durante este perı́odo.

Los costos fijos semanales son de $800. Los gastos de operación variable son de $1,0 por hora de
trabajo de obrero no calificado y $2,4 por hora de obrero calificado. Los dispositivos mecánicos sin
acabar son vendidos a la planta a $6,5 cada uno. El taller tiene un contrato bajo el cual debe entregar
100 de estos dispositivos semanalmente a la empresa. El dueño del taller tiene como polı́tica el producir
no más de 50 dispositivos a la semana por sobre el contrato.

Los dispositivos terminados se venden a $15 cada uno sin restricciones de mercado.

Se requieren 0,5 horas de obrero no calificado y 0,25 horas de obrero calificado para producir un
dispositivo sin acabar listo para entregar a la otra empresa. Uno de estos dispositivos puede ensam-
blarse y dejarlo terminado agregándole 0,5 horas de trabajador calificado.

Un dispositivo listo para entregar al mercado se puede producir con 0,6 horas de obrero no califi-
cado y 0,5 horas de obrero calificado.

Plantear el modelo de Programación Lineal que permita responder la consulta: ¿ Cómo y cuánto
producir para cumpir el contrato de modo de maximizar las utilidades ?

Modelo:

En este caso, es posible establecer tres tipo de productos: intermedio (i = 1), intermedio que se
acaba (i = 2) y acabado (i = 3). Por lo tanto, se puede definir las siguientes variables:

xi = cantidad de productos tipo i fabricados i = 1, . . . 3

De acuerdo al enunciado, los dos obreros no calificados y el obrero calificado trabajan 40 horas se-
manales fijas, por lo tanto, sólo es necesario cuantificar como variables las horas extraordinarias de
trabajo.
zj = horas extraordinarias de los trabajadores tipo j j = 1, 2
Donde tipo 1 corresponde a obreros no calificados y tipo 2 a obreros calificados.

11
F.I.O. Segundo Semestre 2004 Programación Lineal

Como existe información de costos de producción y de precio de venta para razonable plantear el
problema como uno de maximización de utilidades. Luego, debemos expresar la diferencia entre in-
gresos (I) y costos (C) como función de las variables de decisión:

I = 6,5 × x1 + 15 (x2 + x3 )

C = 2 × 40 × 0,4 + 0,6 × z1 + 1 × 40 × 0,6 + 0,9 × z2 +


| {z } | {z }
sueldos o.n.c. sueldos o.c.
1 × (2 × 40 + z1 ) + 2,4 (1 × 40 + z2 ) + 800
|{z}
| {z }
gastos de operación variables costos fijos

Luego, la función objetivo queda:


M ax Z =I −C
De acuerdo al enunciado, existen lı́mite inferior y superior para la demanda de productos intermedios:

x1 ≥ 100
x1 ≤ 150

Las otras restricciones tienen que ver con la disponibilidad de mano de obra para producción:

0,5 (x1 + x2 ) + 0,6 × x3 ≤ 80 + z1


z1 ≤ 20
0,25 × x1 + 0,75 × x2 + 0,5 × x3 ≤ 40 + z2
z2 ≤ 10

Finalmente, se deben incorporar la restricciones de signo:

x i , zj ≥ 0 ∀ i, j

5.7. Ejemplos adicionales


1. Una determinada aerolı́nea, con centro en Santiago, está diseñando un nuevo sistema de aten-
ción a pasajeros que realicen viajes a cuatro destinos especı́ficos: Antofagasta, Temuco, Puerto
Montt y Punta Arenas. Para eso consta de tres tipos de aviones, los que difieren en capacidad,
rendimiento y costos, según se muestra en el Tabla 5.5. Históricamente para esta época se tiene

Tipo de Costo de Operación por viaje en la ruta:


Avión Antofagasta Temuco Puerto Montt Punta Arenas
1 1000 1100 1200 1500
2 800 900 1000 1000
3 600 800 800 900

Tabla 5.5: Costos de operación por viaje

una demanda mı́nima diaria de 90 pasajeros a Antofagasta, 100 a Temuco, 200 a Puerto Montt
y de 120 pasajeros a Punta Arenas. Además, lo que la aerolı́nea recibe por pasajero a cada lugar
es de 40 si el destino es Antofagasta, 40 si el destino es Temuco, 45 si el destino es Puerto Montt
y 70 si se viaja a Punta Arenas.
Los datos tanto de operación y de disponibilidad que actualmente tiene la aerolı́nea se muestran
en el Tabla 5.6. Finalmente, se ha dispuesto (de preferencia, pero no obligatoriamente) atender

12
F.I.O. Segundo Semestre 2004 Programación Lineal

Tipo de Avión Capacidad (pasajeros) Número de Aviones


1 50 5
2 30 8
3 20 10

Tabla 5.6: Capacidad y disponibilidad de aviones

Tipo de Número máximo de viajes diarios a:


Avión Antofagasta Temuco Puerto Montt Punta Arenas
1 3 2 2 1
2 4 3 3 2
3 5 5 4 2

Tabla 5.7: Costos de operación por viaje

más de una ruta por cada tipo de avión, ante lo cual se han planteado condiciones al diseño
del sistema de pasajeros (Tabla 5.7). Determinar el modelo de programación lineal que permita
optimizar la asignación de los aviones a las distintas rutas.

Modelo:

Para plantear el problema, se debe definir variables de decisión que sean capaces de reflejar
el tipo de avión (i = 1, . . . 3) y el destino (j = 1, . . . 4) al que es asignada. Luego, se define:

xij = número de aviones de tipo i asignados al destino j

En este problema, no se conoce el valor exacto de la demanda por pasajes ya que sólo se conoce
el valor mı́nimo de la demanda por pasajes. Por lo tanto, se puede formular la función objetivo
de dos formas: como un un problema de maximización de las utilidades obtenidas de la diferencia
entre el ingreso mı́nimo asociado a la demanda mı́nima conocida y el costo de asignación de los
aviones (ingresos constantes), o bien simplemente como un problema de minimización de costos
de asiganción.

Intuitivamente es claro que maximizar una constante menos unas función frente a minimizar
la misma función es equivalente, por lo que cualquiera de las dos formulaciones conduce a la
misma solución. Luego, la función objetivo queda:
3 X
X 4
Min cij × xij
i=1 j=1

Donde los coeficientes cij corresponden a los datos del Tabla 5.5. Luego, se procede a plantear
las restricciones. En primer lugar se debe garantizar poder satisfacer la demanda mı́nima, por lo
tanto basta ponderar la capacidad de cada tipo de avión por el número asignado a cada destino
j:
50x1j + 30x2j + 20x3j ≥ dj ∀ j = 1, . . . 4
Donde dj representa la demanda de cada destino j, es decir: 90, 100, 200 y 120 para Antofagasta,
Temuco, Puerto Montt y Punta Arenas, respectivamente.

13
F.I.O. Segundo Semestre 2004 Programación Lineal

Por otro lado, no es posible asignar más aviones de los disponibles:


4
X
xij ≤ ni ∀ i = 1, . . . 3
j=1

Donde ni representa la disponibilidad del tipo de avión i, es decir, 5, 7 y 10.

También existe una restricción asociada al número de viajes diarios máximo por tipo de avión i
a cada destino j:
xij ≤ mij ∀i×j
Los coeficientes mij corresponden a los datos del Tabla 5.7.

Finalmente, sólo se debe agregar la restricción de signo:

xij ≥ 0 ∀i×j

2. Un importador de whisky está planificando su negocio considerando que en las próximas tem-
poradas tendrá las siguientes demandas (en miles de botellas):

Tipo Temporadas
1 2 3 4
Seco 10 12 14 8
Frutoso 13 15 17 19
Añejo 21 25 9 11

El whisky seco lo vende a 34 unidades monetarias por botella, el frutoso a 28, 5 y el añejo a
22, 5, en las primeras dos temporadas. En las siguientes temporadas se espera poder venderlos
en un 5 % más caro. Cada tipo de whisky es elaborado mezclando tres materias primas, A, B y
C, de las cuales puede importar un máximo de 2000, 2500 y 1200 botellas por temporada a un
costo de 35, 25 y 20 unidades monetarias, respectivamente. Estos costos, válidos para la primera
temporada, deberı́an aumentar un 2 % en cada temporada. El whisky seco debe contener por lo
menos un 60 % de la materia prima 1 y no más de un 20 % de la materia prima 3, el frutoso
debe contener por lo menos un 15 % de la materia prima 1 y no más de un 60 % de la materia
prima 3, y el añejo debe contener por lo menos un 50 % de la materia prima 2. Cada botella de
whisky fabricada en una temporada puede ser vendida en dicha temporada o almacenada a un
costo unitario por temporada de 0, 5 unidad monetaria para ser vendida posteriormente.
Formule un modelo de programación lineal que permita optimizar las actividades del importador.
Defina claramente variables, función objetivo y restricciones.
Modelo:

Variables:

xijk = cantidad de materia prima k para fabricar whisky i en temporada j


yij = cantidad de whisky tipo i vendido en temporada j
zij = cantidad de whisky tipo i almacenado en temporada j

14
F.I.O. Segundo Semestre 2004 Programación Lineal

Función objetivo:
4
X
máx (1 + (j − 1) × 0,05) (34y1j + 28,8y2j + 22,5y3j )
j=1
4 X
X 3 3 X
X 3
− (1 + (j − 1) × 0,02) (35xijA + 25xijB + 20xijC ) − 0,5 zij
j=1 i=1 j=1 i=1

Restricciones:
• Disponibilidad de materia prima:
3
X
xijA ≤ 2000 ∀ j = 1...4
i=1
3
X
xijB ≤ 2500 ∀ j = 1...4
i=1
X3
xijC ≤ 1200 ∀ j = 1...4
i=1

• Venta máxima por temporada:

y11 ≤ 10 y12 ≤ 12 y13 ≤ 14 y14 ≤ 8


y12 ≤ 13 y22 ≤ 15 y23 ≤ 17 y24 ≤ 19
y13 ≤ 21 y23 ≤ 25 y33 ≤ 9 y34 ≤ 11

• Proporciones de materias primas:


C
X
x1jA ≥ 0,6 x1jk ∀ j = 1...4
k=A
XC
x1jC ≤ 0,2 x1jk ∀ j = 1...4
k=A
XC
x2jA ≥ 0,15 x2jk ∀ j = 1...4
k=A
C
X
x2jC ≤ 0,6 x2jk ∀ j = 1...4
k=A
XC
x3jB ≥ 0,5 x3jk ∀ j = 1...4
k=A

15
F.I.O. Segundo Semestre 2004 Programación Lineal

• Producción, ventas y almacenaje por temporada:


C
X
xi1k = yi1 + zi1 ∀ i = 1...3
k=A
C
X
xi2k + zi1 = yi2 + zi2 ∀ i = 1...3
k=A
XC
xi3k + zi2 = yi3 + zi3 ∀ i = 1...3
k=A
XC
xi4k + zi3 = yi4 ∀ i = 1...3
k=A

• Naturaleza de las variables:

xijk ≥ 0 ∀ i, j, k
yij , zij ≥ 0 ∀ i, j

3. Considere el problema de programación de la producción de un conjunto de m tipos diferentes


de artı́culos para los próximos n meses en una fábrica:

En cuanto al uso de materias primas, el costo de producir un artı́culo de tipo i se estima


en ci .
Producir un artı́culo de tipo i requiere moi horas de mano de obra, disponiendo la fábrica
de hj horas de mano de obra durante el mes j. En ciertos meses, la fábrica puede emplear
horas extras para aumentar sus recursos de mano de obra. En general, se puede denotar
por stj la cantidad máxima de horas extras disponibles en el mes j, cada una con un costo
unitario de cst.
La demanda por artı́culos de tipo i en el mes j se estima en dij , las cuales necesariamente
deben ser satisfechas.
El exceso de producción puede ser almacenado a un costo mensual unitario de s. Existe
capacidad para almacenar un volumen máximo de v, pudiéndose representar por v i el
volumen de un artı́culo de tipo i. Polı́ticas de producción exigen que al final del perı́odo
bajo consideración exista un inventario mı́nimo de si unidades de artı́culos de tipo i.

Formule un modelo de programación lineal que permita planificar la operación de la fábrica du-
rante los próximos n meses de forma tal de minimizar el costo total. Defina claramente variables,
función objetivo y restricciones.
Modelo:

Variables:
xij : Cantidad de artı́culos de tipo i producidos en el mes j; ∀i = 1, . . . , m, j = 1, . . . , n.
sij : Cantidad de artı́culos de tipo i almacenados en el mes j; ∀i = 1, . . . , m, j =
1, . . . , n.
yj : Cantidad de horas extras de mano de obra en el mes j: ∀j = 1, . . . , n.
Función objetivo:

16
F.I.O. Segundo Semestre 2004 Programación Lineal

Minimizar costo total = costo de producción + costo de mano de obra + costo de almace-
namiento

X m
n X n
X n X
X m
M in z = xij × ci + yj × cst + sij × s
j=1 i=1 j=1 j=1 i=1

Restricciones
• Mano de obra:

m
X
xij × moi ≤ hj + yj ∀j = 1, . . . , n
i=1
yj ≤ stj ∀j = 1, . . . , n

• Demanda:

sij = sij−1 + xij − dij ∀i = 1, . . . , m, j = 1, . . . , n


• Almacenamiento:
m
X
sij × vi ≤ v ∀j = 1, . . . , n
i=1

• Inventario final:

sin ≥ si ∀i = 1, . . . , m
• No-negatividad:

xij , sij , yj ≥ 0 ∀i = 1, . . . , m, j = 1, . . . , n

4. El Alto Mando Norteamericano empleó un modelo de programación lineal para planificar la


invasión de sus fuerzas armadas a Irak. El plan consistió en desembarcar tropas y vehı́culos
militares en las proximidades de la ciudad de Basora, para luego avanzar por tierra a la ciudad
de Nasiriya, luego a Karbala, a continuación a Bagdad y finalmente a Mosul.
El número de tropas requeridas para tomar cada una de las cinco ciudades se calculó en T i
(i = 1 . . . 5). Se estimó que en cada asalto podrı́an perecer el 5 % de las tropas y podrı́an
perderse el 2 % de los vehı́culos militares. El costo unitario de trasladar las tropas y vehı́culos
por tierra entre las ciudades i y j se estimó en kij y mij , respectivamente.
Una vez conquistada una ciudad, el número de soldados necesarios para asegurar su control
se estimó en Ci . Evidentemente, las tropas dejadas en una ciudad para asegurar su control no
pueden seguir en la campaña de invasión.
En cada tropa, en las que participan en la invasión y en las que aseguran cada ciudad, se debe
asegurar que al menos exista un vehı́culo cada 10 soldados.
Previo a la invasión de cada ciudad, es posible reforzar el contingente militar enviando para-
caidistas. El costo de enviar cada soldado en avión se estimó en p, independiente del punto de
destino.
Los costos de desembarco se estimaron en b para los soldados y en d para los vehı́culos militares.

17
F.I.O. Segundo Semestre 2004 Programación Lineal

Formule un modelo de programación lineal que permita planificar la invasión de Irak a costo
mı́nimo.
Modelo:

Variables:
xi = número de soldados que llegan por tierra a la ciudad i (i = 1 . . . 5)
yi = número de soldados que llegan por aire a la ciudad i (i = 1 . . . 5)
zi = número de soldados que se quedan en la ciudad i (i = 1 . . . 5)
vi = número de vehı́culos que llegan a la ciudad i (i = 1 . . . 5)
qi = número de vehı́culos que se quedan en la ciudad i (i = 1 . . . 5)

Función objetivo:
5
X 5
X 5
X
M in z = b × x1 + d × y1 + ki−1 i × xi + mi−1 i × vi + p yi
i=2 i=2 i=1

Restricciones:
Basora:
x1 + y 1 ≥ T 1
z1 ≥ C 1
x2 = 0,95(x1 + y1 ) − z1
1
v1 ≥ (x1 + y1 )
10
1
q1 ≥ z1
10
v2 = 0,98v1 − q1

Nasiriya:
x2 + y 2 ≥ T 2
z2 ≥ C 2
x3 = 0,95(x2 + y2 ) − z2
1
v2 ≥ (x2 + y2 )
10
1
q2 ≥ z2
10
v3 = 0,98v2 − q2

Karbala:
x3 + y 3 ≥ T 3
z3 ≥ C 3
x4 = 0,95(x3 + y3 ) − z3
1
v3 ≥ (x3 + y3 )
10
1
q3 ≥ z3
10
v4 = 0,98v3 − q3

18
F.I.O. Segundo Semestre 2004 Programación Lineal

Bagdad:
x4 + y 4 ≥ T 4
z4 ≥ C 4
x5 = 0,95(x4 + y4 ) − z4
1
v4 ≥ (x4 + y4 )
10
1
q4 ≥ z4
10
v5 = 0,98v4 − q4

Mosul:
x5 + y 5 ≥ T 4
z5 ≥ C 5
1
v5 ≥ (x5 + y5 )
10
1
q5 ≥ z5
10
Naturaleza de las variables:

x i , yi , z i , v i , q i ≥ 0

19

También podría gustarte