Está en la página 1de 93

1

CONSTRUCCIN DE MODELOS
DE PROGRAMACIN LINEAL
Escuela Superior de Ingenieros
Universidad de Sevilla






GRUPO DE TECNOLOGAS DE LA INFORMACIN
E INGENIERA DE ORGANIZACIN



David Canca
Ignacio Egua
J ess Racero














2



CAPTULO X
MODELADO DE PROBLEMAS LINEALES

X.1. Introduccin. ...................................................................................................................3
X.2. Modelos en Programacin Matemtica. .......................................................................4
X.3. Construccin de un modelo lineal. ...............................................................................4
X.4. Programacin lineal entera. ..........................................................................................5
X.5. El uso habitual de las variables enteras. .....................................................................5
X.6. Algunas relaciones frecuentes. ....................................................................................6
X.6.1. Relacines entre una variable continua y una variable auxiliar..........................6
X.6.2. Uso de variables auxiliares en el modelado de costes de setup. .......................7
X.6.3. Uso de variables auxiliares para activar o desactivar restricciones. .................7
X.6.4. Aproximacin lineal de una funcin no lineal.....................................................10
X.6.5. Restricciones disyuntivas.....................................................................................12
X.6.6. Modelando implicaciones lgicas sencillas........................................................12
X.6.7. Objetivos de tipo Minimax y Maximin. .................................................................14
X.6.8. Regiones no convexas. .........................................................................................14
CASOS..................................................................................................................................17
Planificacin .....................................................................................................................17
1. Plan de incorporaciones en un servicio de urgencias..........................................17
2. Elaboracin de pizzas en hora punta. ....................................................................23
3. Programacin de una cadena de televisin...........................................................28
4. Planificacin de una explotacin minera ...............................................................32
5. Estudio de la compra de aviones por una compaa............................................39
6. Fabricacin de bobinas............................................................................................45
Asignacin ........................................................................................................................48
7. Asignacin de alumnos a institutos .......................................................................48
8. Reparto de trabajos ..................................................................................................52
9. Red de comunicaciones de ordenadores...............................................................55
Cobertura ..........................................................................................................................60
10. Vigilancia de las salas de un museo.....................................................................60
11. Localizacin de cmaras de TV.............................................................................63
Localizacin......................................................................................................................66
12. Localizacin continua de Hospitales ....................................................................66
13. Ubicacin estaciones de bomberos .....................................................................69
Distribucin ......................................................................................................................73
14. Planificacin de la distribucin de un producto..................................................73
Secuenciacin ..................................................................................................................81
15. Peridicos ...............................................................................................................81
Equilibrado de cadenas ...................................................................................................84
16. Embalaje de objetos con relaciones de precedencia..........................................84
Tcnicas de modelado.....................................................................................................87
17. Regresin lineal. .....................................................................................................87
18. Funciones lineales a trozos. ..................................................................................90
Construccin de modelos de Programacin Lineal
3
X.1. Introduccin.

El trmino modelo es usado de forma habitual en diversas disciplinas cientficas. Al hablar
de modelo nos referiremos a cierta estructura construida con el propsito de reflejar
determinadas caractersticas y analizar el comportamiento de un determinado objeto o
sistema ante ciertos agentes.

Normalmente, slo algunas caractersticas del objeto o sistema real se incorporan al
modelo, dependiendo del fin para el que ha sido creado.

En una primera clasificacin podramos hablar de modelos concretos y abstractos, en
funcin de la esencia propia del modelo. Un modelo concreto supone una realizacin fsica,
normalmente a escala, del objeto o sistema que se desea analizar. Un modelo abstracto
utiliza, de forma general, relaciones y definiciones matemticas con el fin de representar
relaciones internas del sistema que est siendo modelado.

En lo que a este texto se refiere, nuestra atencin se centrar de forma exclusiva en un tipo
particular de modelos abstractos, construido en base a relaciones matemticas (ecuaciones,
desigualdades, relaciones lgicas, etc..) que se correspondern con condiciones
tecnolgicas, limitaciones en los recursos disponibles, eleccin de alternativas u otro tipo de
relaciones en el mundo real.

La utilizacin de modelos responde principalmente a dos motivos. El primero de ellos
consiste en la imposibilidad habitual de experimentar con el sistema real, no slo por la
complejidad que esto supondra, sino tambin por los efectos perjudiciales que pudieran
derivarse de esta experimentacin. Por otro lado, el proceso de construccin de modelos
ayuda a profundizar en el estudio del sistema real, permitiendo un mayor conocimiento del
sistema u objeto de anlisis.

Los modelos matemticos estudiados en este libro utilizan una forma estndar. Muchos de
los modelos usados en el mbito de los mtodos cuantitativos aplicados a la gestin utilizan
formas estndar. Esta caracterstica es comn al caso de numerosos modelos usados en
ingeniera. Existen no obstante muchas situaciones que no pueden ser modeladas de la
manera que describiremos, y que precisaran modelos diferentes tales como modelos de
simulacin, economtricos, modelos de previsin, etc...

En la actualidad existe cierta controversia sobre la utilidad de los modelos matemticos en
el mbito de la gestin. En un extremo se encuentran los que opinan que carecen de valor
en relacin con sus propsitos. Sus crticas se centran en la dificultad o imposibilidad de
cuantificar de forma satisfactoria algunos conceptos, tales como asociar un coste o una
utilidad a ciertos bienes o valores de carcter social. Otras criticas se deben a la
desconfianza respecto a los resultados finales del modelo como consecuencia de falta de
precisin en la estimacin de los datos de partida.

Frente a la primera crtica cabe decir que muchas de las decisiones que involucran
conceptos no cuantificables en el mbito de la gestin necesitan de cierta cuantificacin,
mas o menos formal, de la que es imposible prescindir, a veces una simple ordenacin. El
esfuerzo por conseguir una formulacin explcita de esta cuantificacin resulta
evidentemente mas cientfico.

El segundo aspecto debe ser discutido en relacin con cada modelo especfico. Aunque
muchos de los datos de un modelo sean poco precisos, es posible que la estructura del
Construccin de modelos de Programacin Lineal
4
modelo permita obtener resultados aceptables, disminuyendo el ruido introducido por los
datos iniciales.

En el otro extremo se encuentran los que lejos de criticar los modelos, confan ciegamente
en su validez y especialmente en sus resultados, especialmente si la resolucin de los
mismos implica el uso del ordenador.

Es preciso sealar que en el caso de un modelo de programacin lineal, la formulacin de la
funcin objetivo afecta claramente a su resultado. La falta de crticas a un modelo es una
actitud desaconsejable que disminuye las expectativas de xito del mismo. Aceptar la
primera solucin obtenida tras la resolucin de un modelo sin llevar a cabo un posterior
anlisis es una prctica poco acertada.

Un modelo debe ser usado como una de entre otras herramientas de ayuda para la toma de
decisiones. El proceso de construccin de un modelo debe verse realimentado a partir de
un anlisis crtico derivado de las soluciones obtenidas.

X.2. Modelos en Programacin Matemtica.

Los modelos de programacin matemtica mantienen una relacin indirecta con la
computacin. El trmino Programacin no debe ser confundido con el utilizado en la
ciencia de los computadores.

En el campo de la programacin matemtica, Programacin resulta equivalente a
planificacin, en el sentido ms amplio de este trmino. No obstante, la magnitud de
muchos de los problemas tratados, el elevado nmero de datos y relaciones, hace
impensable su resolucin sin el soporte informtico.

Tal vez la caracterstica comn a todos los modelos de programacin matemtica radica en
su finalidad: son modelos de optimizacin. Cada modelo de programacin matemtica es
concebido con el objetivo de encontrar, para el problema que representa, la solucin (o las
soluciones), de entre las existentes, que alcance el valor mximo o mnimo de acuerdo a
cierto criterio que denominamos objetivo.

De forma particular, este captulo se centrar en la construccin de modelos de
programacin lineal continuos, enteros, mixtos, y en algn caso modelos que presentan no
linealidades, analizando para ellos alguna posible formulacin lineal aproximada.

Los modelos lineales, como ya se vio en los primeros captulos del libro, exigen que la
funcin objetivo y las restricciones del problema sean lineales. En algunas situaciones esta
consideracin resulta excesiva y supone ciertamente una limitacin a la hora de modelar.
En algunas ocasiones, las expresiones no lineales pueden ser tratadas, obtenindose un
modelo final lineal.

A pesar de estas observaciones, resulta ms fcil, de forma general, resolver modelos
lineales, de aqu su importancia y su amplia utilizacin.

X.3. Construccin de un modelo lineal.

De manera especfica, un modelo lineal consta de tres bloques diferenciados. La funcin
Construccin de modelos de Programacin Lineal
5
objetivo, las restricciones y la definicin de signo o tipo de las variables. El proceso de
modelado consiste en la especificacin de estos tres bloques. No existe ninguna
metodologa especfica para modelar problemas, la experiencia resulta fundamental, es en
este sentido en el que el proceso de modelar es a veces llamado arte de modelar. No
obstante, en el presente captulo se reflejarn las situaciones ms comunes que se
presentan en el modelado de problemas lineales. Posteriormente se complementar lo
expuesto desarrollando de forma minuciosa algunos casos concretos.

En los diferentes modelos expuestos se ha seguido una procedimiento de modelado similar.
As, analizaremos el horizonte temporal para el que se construye el modelo, en el caso de
situaciones que presentan variaciones a lo largo del tiempo. Definiremos en cada caso las
variables de decisin del problema. Para ello nos basaremos principalmente en los datos
disponibles, a veces en los costes unitarios de las variables y en otros casos en los
relacionados con la estructura de las restricciones del problema.

Conocidas las variables de decisin, formularemos las restricciones del problema, a partir
de la descripcin formal del mismo, incluyendo las variables auxiliares que resulten
necesarias. De forma adicional surgirn restricciones implcitas al modelo como
consecuencia de la eleccin inicial de determinadas variables, de procesos de linealizacin
y de la relacin entre variables de decisin y auxiliares.

En ltimo lugar, aunque no siempre ser as, formularemos el objetivo del problema.

X.4. Programacin lineal entera.

Una amplia variedad de situaciones reales necesitan ser modeladas haciendo uso de
variables enteras (Integer Linear Programming, ILP). A veces estos modelos contienen
variables contnuas y enteras (Mixed Integer Linear Programming, MILP).

La aplicacin de modelos de programacin entera es especialmente necesaria cuando las
variables de decisin del problema representan bienes que no pueden ser fraccionados,
tales como aviones, vehculos, casas, etc... o en algunos casos en los que se trata de medir
recursos humanos para la realizacin de un trabajo.

Existen adems muchas otras situaciones donde el uso de la programacin entera resulta
menos obvio pero igualmente necesario. Tal es el caso de situaciones en las que se hace
preciso tomar decisiones. En estos casos se utilizan variables binarias (0-1) que
representan decisiones tipo SI,
NO, o verdadero, falso. Las relaciones que involucran este tipo de variables se pueden
modelar en muchas ocasiones de forma lineal. Posteriormente al estudio del modelado de
problema con variables enteras se propondrn mtodos para su resolucin.

Modelar problemas haciendo uso de variables enteras y binarias supone una mayor
complejidad frente al modelado continuo. Por este motivo, en general, estudiaremos
modelos de programacin lineal mixta-entera, con la confianza de que una vez aportadas
las herramientas para modelar situaciones complejas resulte sencillo adquirir dominio en la
construccin de modelos continuos.

X.5. El uso habitual de las variables enteras.

Construccin de modelos de Programacin Lineal
6
Como se comento anteriormente, las variables enteras se usan de forma muy frecuente en
el modelado de situaciones reales. Estas variables suelen ser de dos tipos, comentados en
la tabla siguiente:

Cantidades indivisibles Variables de decisin
Variables binarias directamente
relacionadas con la toma de decisiones.
(Construir o no un almacn, ampliar
capacidad, etc...)
Variables auxiliares Variables binarias usadas para indicar
valores o estados determinados de
ciertas variables continuas.

Cuando una variable continua condiciona otras restricciones del problema se usa una
variable auxiliar binaria para recoger el estado de la primera y se relaciona con las
restricciones afectadas.

X.6. Algunas relaciones frecuentes.

Este apartado no pretende mostrar todos los tipos de restricciones que puede aparecer en
el modelado de problemas de programacin lineal entera. La simple pretensin de hacerlo
resulta absurda. El objetivo de los siguientes epgrafes es el de plasmar algunas relaciones
y situaciones comunes que se presentan con frecuencia en el modelado lineal de
problemas, con la esperanza de que estas explicaciones permitan mejorar la comprensin
de los modelos que se expondrn con posterioridad.

X.6.1. Relaciones entre una variable continua y una variable auxiliar.

Considrese una variable continua Z y una variable auxiliar . La variable auxiliar deber
tomar valor 1 cuando Z sea estrictamente mayor que cero. La variable auxiliar, por tanto,
indica el estado, positivo de la variable continua.

Supngase que Z representa el nmero de Kg. de grano almacenados en un silo. En el
caso en que esta cantidad sea positiva es necesario considerar por ejemplo la posterior
decisin de contratacin de un operario. Nos interesa disponer de una variable binaria que
considere el estado de existencia de grano en el silo.

Las implicaciones que vamos a modelar se muestran a continuacin.

1 0 = > Z

La primera de ellas se puede modelar acotando superiormente la variable continua
mediante el producto de la variable binaria auxiliar y una cota superior de Z.

S Z

De esta forma, un valor positivo de Z obliga a la variable auxiliar a tomar el valor 1. El valor
de S debe ser el de una cota superior de la variable Z. Este valor puede extraerse de las
restricciones del problema, anulando todas las dems variables y despejando las
acotaciones de Z.
Construccin de modelos de Programacin Lineal
7

En algunas ocasiones puede ser interesante imponer tambin la implicacin

0 0 = = Z

Esta implicacin puede formularse en sentido contrario usando la negacin de cada uno de
los predicados
0 1 > = Z

que se puede modelar como sigue:

i Z

Ahora, cuando la variable auxiliar toma valor 1 la variable Z es mayor que i. Esta constante
representa un valor infinitesimal, de manera que obliga a Z a ser positiva.

X.6.2. Uso de variables auxiliares en el modelado de costes de setup.

En determinadas ocasiones el coste unitario de una actividad se ve gravado con un coste
inicial constante, independiente del valor de la actividad, debido exclusivamente al hecho de
iniciarla. Es el caso de los costes de setup al inicio de la fabricacin de un determinado
producto.

Un caso, similar en la estructura de modelado, surge al modelar funciones lineales a trozos
no convexas, en este caso, cada segmento corta al eje de ordenadas en un determinado
punto que debe ser explcitamente considerado en la funcin objetivo.

Volviendo al caso de coste inicial, si Cu es el coste por unidad de producto X y Cs es el
coste de setup, o de lanzamiento de la nueva serie, el coste total se expresa de forma lineal
como sigue:
Coste = Cu X + Cs

Ahora bien, puesto que en este coste inicial slo se incurre cuando X >0, es decir, se
fabrica al menos una unidad, la funcin objetivo del problema debe recoger el trmino Cs
multiplicado por una variable auxiliar . Esta variable tomar valor 1 cuando la actividad X
sea estrictamente mayor que cero. Es decir el coste queda modelado:

Coste = Cu X + Cs

Siendo necesario aadir la restriccin

S X

tal y como se coment en el punto precedente.

X.6.3. Uso de variables auxiliares para activar o desactivar restricciones.

A) Consideremos una restriccin genrica de un modelo de programacin lineal como la
formulada a continuacin
Construccin de modelos de Programacin Lineal
8

=

m
j
i j ij
b x a
1

donde los coeficientes a
ij
representan el consumo unitario que cada actividad x
j
(0) supone
sobre cierto recurso i, limitado de forma global por una disponibilidad de b
i
unidades.

Deseamos condicionar el cumplimiento de esta restriccin mediante una variable auxiliar ,
de manera que cuando =1 la restriccin se debe satisfacer, mientras que si =0 la
restriccin no debe actuar.

La implicacin que deseamos formular puede escribirse como:

=
=
m
j
i j ij
b x a
1
1
Para modelar esta condicin basta sumar al trmino independiente el producto de una cota
superior para la restriccin por (1-).

=
+
m
j
i j ij
M b x a
1
) 1 (

De esta forma cuando la variable auxiliar toma el valor 1 el termino de la derecha queda
reducido a b
i
. Por otra parte, cuando =0, la restriccin resultante es

=
+
m
j
i j ij
M b x a
1


Seleccionando un valor adecuado para la constante M se consigue que la restriccin se
desplace fuera de la regin de admisibilidad descrita por el resto de las restricciones del
problema, y por tanto deja de ser una restriccin activa.

B) Supongamos ahora que deseamos modelar el caso contrario, es decir, la variable auxiliar
debe tomar valor unitario cuando se satisface la restriccin.

1
1
=

=

m
j
i j ij
b x a

Para modelar esta condicin transformamos el predicado de la izquierda de manera que su
resultado sea una cantidad mayor que cero, obteniendo la implicacin equivalente:

1 0
1
=

=

m
j
j ij i
x a b

Cuando el trmino de la izquierda es estrictamente positivo el problema queda resuelto
haciendo uso de lo visto en el punto X.6.1.

=

m
j
j ij i
M x a b
1


El problema de esta acotacin surge cuando la restriccin se cumple con signo de igualdad.
En este caso el trmino de la izquierda vale cero y no queda implicado el valor unitario de .
Construccin de modelos de Programacin Lineal
9

Para evitar este problema se recurre a considerar un valor infinitesimal > que se suma al
termino independiente. Ahora la implicacin queda

1 0
1
= +

=

m
j
j ij i
x a b

y la formulacin de la restriccin pasa a ser



=
+ +
m
j
j ij i
M x a b
1
) (

Es decir, cuando la restriccin inicial se cumple con signo de igualdad, el trmino de la
izquierda toma el valor positivo >, y por tanto la variable tiene que ser estrictamente
positiva. El valor de la constante M ser la mayor cota superior para la diferencia

m
j
j ij i
x a b
1


C) Activacin de una restriccin con signo de mayor o igual en funcin de una variable
auxiliar.
Se trata en esta ocasin de forzar el cumplimiento de una restriccin del tipo

=

m
j
i j ij
b x a
1


cuando una variable auxiliar tome valor 1. Como en otras ocasiones mostramos la
implicacin que se desea modelar:

=
=
m
j
i j ij
b x a
1
1

La formulacin es similar a la descrita en el caso A. Basta ahora restar al termino
independiente el producto de cierta constante m por (1-), obtenindose:

) 1 (
1

=
m b x a
m
j
i j ij


As cuando =1 la restriccin se satisface, y cuando la variable auxiliar es nula se consigue
desplazar la restriccin adecuadamente fuera de la regin de admisibilidad descrita por el
resto de restricciones del problema.

D) Si se desea formular la implicacin contraria encontramos algo mas de dificultad. El
procedimiento a seguir es similar al descrito en el apartado B.
1
1
=

=

m
j
i j ij
b x a

Resultando una restriccin del tipo:
Construccin de modelos de Programacin Lineal
10
) (
1
+ +

=
M b x a
m
j
i j ij


donde M es la mayor cota superior para el trmino

=

m
j
i j ij
b x a
1
.
X.6.4. Aproximacin lineal de una funcin no lineal.

Existen diferentes mtodos para aproximar una funcin no lineal mediante segmentos
lineales de forma que el resultado de lugar a un conjunto de restricciones lineales a
incorporar en el modelo. En este apartado veremos dos posibles alternativas. En ambos
casos es necesario recurrir al uso variables auxiliares binarias.

Consideremos una funcin y=f(x) tal como la mostrada en la figura. Para el intervalo de
estudio se selecciona un conjunto de pares (x
k
,f(x
k
)), tantos como se desee.(k=1...n) A
medida que aumenta el nmero de pares, la aproximacin lineal es ms exacta.

A) Se definen ahora x e y de la siguiente manera:

1
) (
1
1
1
=
=
=

=
=
=
n
k
k
n
k
k k
n
k
k k
x f y
x x



Siendo 8
k
un conjunto de pesos que multiplican a los pares (x
k
,f(x
k
)), de manera que 0 # 8
k

#1 k, y la suma de todos ellos es igual a 1.

x
1
x
2
x
3
x
4
x
k
f(x
k
)
f(x
4
)
f(x
3
)
f(x
2
)
f(x
1
)
.
Para que la aproximacin sea coherente, es necesario obligar que slo dos variables 8
k
(k=1...n) consecutivas sean distintas de cero. De esta manera x pertenecer a uno slo de
los segmentos que aproximan la curva e y tomar el valor de f(x).

Para obligar esta condicin es preciso utilizar variables auxiliares binarias
k
(k=1...n-1) que
Construccin de modelos de Programacin Lineal
11
acotan a los pesos de la siguiente manera:

1
3 2 3
2 1 2
1 1

+
+

n n




M


Imponiendo adems la condicin de que slo una de las variables binarias sea positiva:
1
1
1
=

=
n
k
k


B) Se expone a continuacin un enfoque diferente que tambin utiliza variables binarias.
Ahora se divide la variable x en la suma de un conjunto de variables continuas, tantas como
intervalos

=
=
1
1
n
k
k
z x

Cada una de estas variables z
k
continuas se acota dentro de su intervalo (x
k
,x
k+1
), y slo una
de ellas puede ser positiva. Para lograr esto, al acotar cada variable dentro de su intervalo,
se multiplican los extremos de cada intervalo por una variable auxiliar binaria. Finalmente la
suma de todas las variables binarias debe ser igual a 1.

1
1
1
1 1 1 1
2 3 2 2 2
1 2 1 1 1
=


=

n
k
k
n n n n n
x z x
x z x
x z x




M

Queda no obstante por modelar el valor de la variable y. Para ello basta sumar las
diferentes rectas de la aproximacin lineal, teniendo en cuenta la ordenada en el origen
para cada una de ellas.

Para el segmento (x
s
,x
s+1
), la recta que aproxima la funcin no lineal pasa por los puntos
(x
s
,f(x
s
)), (x
s+1
,f(x
s+1
)), de acuerdo a la expresin:

) (
) ( ) (
) (
1
1
s
s s
s s
s
x x
x x
x f x f
x f y

+ =
+
+


es decir

s
s s
s s
s
s s
s s
x
x x
x f x f
x f x
x x
x f x f
y

=
+
+
+
+
1
1
1
1
) ( ) (
) (
) ( ) (

Construccin de modelos de Programacin Lineal
12

Por tanto la variable y se puede obtener como:

s
n
s s s
s s
s
n
s
s
s s
s s
x x
x f x f
x f z
x x
x f x f
y


= +
+

= +
+

=
1
1 1
1
1
1 1
1
) ( ) (
) (
) ( ) (


X.6.5. Restricciones disyuntivas.

El modelado lineal de ciertos problemas, tal como el problema de secuenciacin de tareas o
la representacin de regiones no convexas, presenta la necesidad de formular restricciones
que no se satisfacen de forma simultnea.

Nos referimos pues a situaciones en que dos (o ms) restricciones no se pueden cumplir a
la vez, (se debe satisfacer una u otra), pero que exigen la inclusin de ambas (todas) ya
que a priori se desconoce cual de ellas se va a satisfacer.

Consideremos dos restricciones genricas que no pueden cumplirse al mismo tiempo

=
=

n
j
j j
n
j
j j
d x c
b x a
1
1


La forma de satisfacer una o la otra consiste en usar una variable binaria al estilo de la
formulacin considerada en el punto X.6.3, apartado A.

2
1
1
1
) 1 (
M d x c
M b x a
n
j
j j
n
j
j j
+
+

=
=


De esta manera, cuando =1 la primera restriccin se cumple, mientras que la segunda
restriccin se desplaza paralelamente a s misma en una cantidad M
2
que la sita fuera de
la regin de admisibilidad, de manera que no contribuye a la definicin de la misma.

En el caso en que =0, la segunda restriccin se satisface y es la primera restriccin,
modificado convenientemente su trmino independiente, la que no contribuye a la formacin
de la regin de admisibilidad.

Con posterioridad se analizar algn caso en el que es preciso formular restricciones
disyuntivas, comentando el procedimiento para la obtencin de las cotas M
1
y M
2
.
X.6.6. Modelando implicaciones lgicas sencillas.

Este apartado presenta una metodologa para modelar implicaciones lgicas entre variables
binarias. Se trata en definitiva de introducir el modelado de tablas de verdad, donde la
combinacin de ciertos valores de unas variables implica que otra variable (auxiliar o de
Construccin de modelos de Programacin Lineal
13
decisin) binaria tome un valor determinado.

Para comenzar pensemos en una tabla de verdad que recoge los valores posibles de dos
variables de decisin de un problema
1
y
2
. En la tercera columna se representa el valor
de una tercera variable en funcin de los valores de las anteriores.

1

2

0 0 0
1 0 1
0 1 0
1 1 0

La forma de modelar estas implicaciones depende en gran medida de la forma de la funcin
objetivo del problema. Si la funcin objetivo tiene como criterio minimizar y el coste unitario
de es positivo, si es posible la variable tomar valor nulo. Por tanto nicamente es
necesario modelar la implicacin que le otorga valor 1, correspondiente a la segunda fila de
la tabla de verdad.

Cada fila se modela mediante una restriccin. As pues introduciremos una restriccin que
obliga a a tomar valor 1 cuando
1
vale 1 y
2
es cero. Para ello procedemos de la
siguiente manera:

La primera parte de la restriccin esta formada por las variables
1
y
2
. Si el valor de la
variable
i
es 1 se suma un trmino igual a la variable. Si el valor de
i
es cero se suma un
trmino igual a (1-
i
). A continuacin se escribe el signo . El trmino de la derecha de la
restriccin comienza con una constante igual al nmero de variables
i
menos uno. A
continuacin se suma la variable implicada si sta ha de tomar valor 1 o el complemento a
uno de la variable si esta ha de tomar valor cero.

En el ejemplo anterior se tiene:

1
+(1-
2
) 1+

Cuando
1
=1 y
2
es cero el trmino de la izquierda toma valor 2 y la variable
necesariamente debe ser 1. En cualquier otro caso la variable puede tomar los
valores 0 y 1, y puesto que su peso en la funcin objetivo es positivo y estamos
minimizando, valdr cero.

Supongamos ahora que la funcin objetivo del problema fuera maximizar y el coste
unitario de es positivo. En este caso, siempre que sea posible la variable tomar
valor 1. Es preciso modelar la primera, tercera y cuarta filas de la tabla de verdad. El
procedimiento es similar al descrito, as pues:

(1-
1
) +(1-
2
) 1+(1- )
(1-
1
) +
2
1+(1- )

1
+
2
1+(1- )

En cualquiera de los casos, para la combinacin correspondiente, una de las restricciones
obliga a la variable a tomar valor cero, mientras las dems permiten que tome valor cero
Construccin de modelos de Programacin Lineal
14
o uno.

X.6.7. Objetivos de tipo Minimax y Maximin.

En determinadas situaciones podemos encontrar objetivos no lineales que responden a
expresiones de tipo MaxiMin o MiniMax. Es el caso, por ejemplo, en el que se desea que el
tiempo mximo de finalizacin de un conjunto de N tareas (i=1...N) sea lo menor posible. La
funcin objetivo de este problema tendra una apariencia tal como

{ } { }
i
t Max Min
1...N i

=


Evidentemente, las variables t
i
(i=1...N) estarn posiblemente relacionadas con otras
variables del problema, variables de decisin o auxiliares.

En este tipo de casos es preciso eliminar de la funcin objetivo el criterio compuesto. En el
ejemplo anterior bastara con definir una variable Z que se define como el mximo de las t
i
.

{ }
i
t Max Z
1...N i=
=

La funcin objetivo del problema consiste ahora en la minimizacin de la variable Z. (Min Z).
Siendo necesario incluir N restricciones que relacionan la variable Z con cada una de las t
i
.
Puesto que Z es el mximo de ellas, bastar escribir:

N i Z t
i
... 1 ; =

Disponiendo as de una formulacin lineal.

De la misma manera, en el caso MaxiMin, se podra formular linealmente el problema como:

N i t Z
sa
Z Max
i
... 1
:
=

X.6.8. Regiones no convexas.

Considrese el siguiente problema de maximizar, en el que dependiendo del valor de las
variables de decisin se obtiene una regin de admisibilidad diferente:

Max 2x
1
+x
2

sa:
-x
1
+ x
2
1, s x
1
1
x
1
x
2
1, s x
2
1

x
1
,x
2
>=0

Si representamos grficamente el problema, al tratarse de un modelo con dos variables de
decisin, tendremos:
Construccin de modelos de Programacin Lineal
15
-x
1
+ x
2
=1
x
1
1
x
1
x
2
=1
x
2
x
1
x
2
1
Regin admisible
cuando x
1
1
Regin admisible
cuando x
2
1


Que define una regin no convexa dependiendo de los valores de las variables x
1
y x
2
. La
forma de modelar esta situacin pasa necesariamente por la inclusin de variables binarias
auxiliares. En definitiva existen dos conjuntos de restricciones diferentes que no se pueden
satisfacer de forma conjunta. Para resolver este problema utilizamos una formulacin similar
a la de conjuntos de restricciones disyuntivas.

A) x
1
1

En este caso se satisfacen las restricciones

-x
1
+ x
2
1: x
1
1

las modelamos incluyendo en el trmino independiente una variable auxiliar
1
,
cuando toma valor cero las restricciones actan.

-x
1
+ x
2
1+M
1

1

x
1
1+N
1

1

Cuando toma valor 1 las restricciones no deben actuar, esto se consigue para ciertos
valores de las constantes N
1
y M
1
, concretamente los valores que desplazan
convenientemente las restricciones hasta fuera de la regin de admisibilidad descrita
por el caso x2 2.

En el grfico se observa el desplazamiento realizado sobre las restricciones con el
objetivo de que no interfieran en la regin de admisibilidad.

Construccin de modelos de Programacin Lineal
16
x
2
x
1
4
-x
1
+ x
2
=1/2
x
2
x
1
x
1
1
x
1
-x
1
+ x
2
=1 -x
1
+ x
2
=1 -x
1
+ x
2
=1

Por tanto su formulacin sera
-x
1
+ x
2
1-
1

x
1
1+3
1

B) x2 1
De la misma manera, cuando x2 1 se deben satisfacer las restricciones

x
1
x
2
1
x
2
1

Pero no las dos primeras (-x
1
+ x
2
1, x
1
1). Para lograr este efecto se incluye una
segunda variable auxiliar
2
.
x
1
x
2
1+M
2

2

x
2
1+N
2

2

cuya finalidad es exactamente la misma que en el caso de
1
. Adems como las
variables auxiliares no pueden ser positivas al mismo tiempo, es posible sustituir
2

por 1-
1
.

De esta forma, una vez sustituidas N
2
y M
2
de forma conveniente, el caso analizado puede
ser formulado como:
Max 2x
1
+x
2

sa:

-x
1
+ x
2
1-
1

x
1
1+3
1

x
1
x
2
1-1/
2

2

x
2
1+3
2

x
1
,x
2
0

1
,
2
(0,1)
Construccin de modelos de Programacin Lineal
17
CASOS
Planificacin

1. Plan de incorporaciones en un servicio de urgencias


1.1.- Descripcin.

Las necesidades de un servicio de urgencias sanitarias, en trminos del nmero de ATS
necesarios durante cada hora del da, se ha estimado en d
i
ATS entre la hora i-sima y la
i+1, para una particin del da en intervalos de una hora.

Cada ATS ha de iniciar un servicio a una hora dada, disponiendo de un descanso de una
hora de duracin que podr ser tomado despus de tres, cuatro o cinco horas de haber
comenzado su trabajo. Posteriormente continuar su jornada laboral hasta completar las 8
horas de trabajo recogidas en su contrato. Incluyendo el descanso, cada ATS permanece
pues en el centro durante 9 horas consecutivas.

El coste de un/a ATS que inicia su jornada laboral en la hora i-sima es de c
i
pts/da.

Se desea obtener un calendario de incorporaciones al servicio de manera que el coste
diario del mismo sea mnimo. Supngase que se dispone de una plantilla mxima de M
ATS.

1.2.- Formulacin del modelo.

1.2.1.- Horizonte.

Se plantean dos posibles horizontes. En primer lugar se podra considerar un horizonte
correspondiente a un nico da. En este caso la demanda de las primeras horas del da
debe ser cubierta por la incorporacin de ATS en la primera hora. Del mismo modo, no se
podrn realizar incorporaciones en las ltimas horas del da, pues los ATS incorporados no
cumpliran sus 8 horas de trabajo durante el horizonte del problema.

Otra posibilidad consiste en considerar un horizonte temporal infinito, en el que se planifica
un da de trabajo. En este caso los ATS incorporados en las ltimas horas del da anterior
estaran disponibles al inicio de una nueva jornada laboral. La formulacin del problema en
este caso corresponde a un plan diario de incorporaciones que se repetira da tras da de
forma indefinida.

El horizonte infinito sugiere el modelado del problema en rgimen permanente. Esto es, se
considerara un da cualquiera, precedido de un comportamiento similar en el da anterior y
al que sigue un plan exactamente igual el da posterior. La dificultad de la puesta en
prctica de la solucin del modelo radica en el primer da de trabajo, que no podr tener en
cuenta incorporaciones realizadas en las ltimas horas del da anterior.

En principio se realizar el modelado del problema considerando un horizonte infinito,
posteriormente se ajustar el primer da de funcionamiento.
Construccin de modelos de Programacin Lineal
18



1.2.2.- Variables.

Las variables propias del problema representan el nmero de ATS que se deben incorporar
en la hora i-sima, y que representaremos mediante X
i
(i=0,...,23). El nmero de ATS
incorporados en la i-sima hora se compone de aquellos que descansan despus de tres
(X
i3
), cuatro (X
i4
) y cinco (X
i5
) horas del inicio de su jornada laboral.

Puesto que el nmero total de ATS incorporados en la hora i se obtiene como suma de
aquellos que descansan tras trabajar tres, cuatro y cinco de horas, se usarn nicamente
las variables X
ij
(j=3,4,5), que proporcionan mayor informacin.


1.2.3.- Restricciones.


1.2.3.1.- Restricciones de satisfaccin de la demanda.

Para cada hora del da se debe satisfacer la demanda de Asistentes Tcnicos
Sanitarios. La ilustracin 1 muestra un esquema del nmero de ATS que se
encuentran trabajando durante la hora i-sima. Son todos aquellos incorporados
desde la hora i-8 hasta la i-sima excepto los que se encuentran descansando, es
decir, los incorporados en i-3 que descansan en la tercera hora, los que comienzan
su jornada en i-4 y descansan tras cuatro horas y los que comenzaron a trabajar en
i-5 y descansan despus de cinco horas de trabajo.




X
+
X
+
X
=
X i5 i4 i3 i

i i-1 i-2 i-3 i-4 i-5 i-6 i-7 i-8
x
i-8, j
j=3,4,5
x
i-7, j
j=3,4,5
x
i-6, j
j=3,4,5
x
i-4, j
j=3,4,5
x
i-2, j
j=3,4,5
x
i, j
j=3,4,5
x
i-5, j
j=3,4,5
x
i-3, j
j=3,4,5
x
i-1, j
j=3,4,5
Incorporaciones
hasta la hora
i-sima
Descansan
durante la hora
i-sima
x
i-3, 3
x
i-4, 4
x
i-5, 5
Construccin de modelos de Programacin Lineal
19
As pues, el nmero de ATS que se encuentra disponible en la hora i-sima, deber
satisfacer la demanda de dicha hora d
i
. Esta restriccin se puede expresar como:

En el caso en que se considere como horizonte un nico da, esta restriccin slo
tendra validez para i=8,...,15. Siendo necesaria su particularizacin para las
restantes horas del da. Para i <8 el primer sumatorio deber comenzar para k=0.
Si i <3 ningn ATS se encuentra en su hora de descanso. En el caso i >15 el
primer sumatorio finalizara en K=15, ya que la incorporacin de ATS en horas
posteriores supondra el incumplimiento de su jornada laboral de 8 horas (trabajaran
un nmero menor de horas).

En el caso de horizonte infinito es necesario extender la restriccin a un nmero de
horas mayor de 24, concretamente desde i=8,...,31. Permitiendo as la
incorporacin de ATS durante la ltima hora del da (i=23) que finalizan su jornada
tras 9 horas de trabajo, es decir en i=31. Adicionalmente ser necesario imponer
X
ij
=X
kj
(i=0,...,7 ; k=24,...31; j=3,4,5), es decir, el nmero de ATS que se incorporan
en las primeras horas del da coincide con el nmero de los que se incorporan en
esas mismas horas del da siguiente.

1.2.3.2.- Limitacin de la plantilla de ATS.

El enunciado del caso indica la existencia de una cota superior M para el nmero de
ATS que se pueden contratar durante un da. En este caso, la suma de los ATS
incorporados durante cada una de las 24 horas del da no podr superar el valor M.
Esta acotacin se puede expresar como sigue:

En el caso de realizar la planificacin para un nico da, la restriccin anterior
debera ser modificada. El primero de los sumatorios finalizara para i=15.
Recordemos que en este caso no se pueden realizar incorporaciones a partir de la
diecisieteava hora del da (i=16), pues los ATS no podran finalizar su jornada laboral
en el horizonte de planificacin.


1.2.4.- Objetivo.
8,...,23 = i
d X X X X
- - -
i 5,5 - i 4,4 - i 3,3 - i kj
5
3 j=
i
8 - i = k



3,4,5 = j ; 24,...,31 = k ; 0,...,7 = s X X
8,...,31 = i
d X X X X
=
- - -
kj sj
i 5,5 - i 4,4 - i 3,3 - i kj
5
3 j=
i
8 - i = k



M
X

ij
5
3 j=
23
=0 i



Construccin de modelos de Programacin Lineal
20

El objetivo del problema consiste en la minimizacin del coste diario de contratacin de
personal sanitario en el servicio de urgencias. Un ATS que se incorpore en la hora i-sima
supone un coste diario de c
i
pts.

En el caso de horizonte infinito:


1.2.5.- Modelo.

A continuacin se muestra el modelo completo para la situacin descrita en el enunciado,
en el caso de considerar la planificacin de la contratacin diaria dentro de un horizonte
infinito (rgimen permanente).
X c

ij i
5
3 j=
23
=0 i


MIN
3,4,5 = j ; 24,...,31 = k ; 0,...,7 = s X X
8,...,31 = i
d X X X X
=
- - -
kj sj
i 5,5 - i 4,4 - i 3,3 - i kj
5
3 j=
i
8 - i = k




M
X

ij
5
3 j=
23
=0 i



3,4,5 = j 0,...,31, = i 0;
Xij



1.3.- Mejoras sobre el modelo.

1.3.1.- Variables.

Hasta el momento no se ha comentado nada acerca de la integridad de las variables del
problema. En principio, el nmero de ATS que se incorporan durante una hora del da se ha
tomado simplemente 0. En realidad puede no tener excesivo sentido el hecho de
incorporar un nmero fraccionario de ATS. En este caso sera preciso forzar un
comportamiento entero para todas las variables del problema X
ij
i=8,...,31; j=3,4,5. Esto
supone la resolucin de un problema con 72 variables enteras de las que nicamente
conocemos una cota inferior de valor cero y una no muy buena cota superior de valor M
(aunque se sospecha que todas las variables quedarn muy alejadas del valor de dicha
cota superior).

El esfuerzo computacional necesario para la resolucin del problema quizs no compense
la exactitud aportada por una solucin entera. Posiblemente baste con la obtencin casi
inmediata de la solucin ptima continua y su posterior redondeo hasta alcanzar una
solucin entera. Este dilema exactitud-rapidez se presentar con frecuencia en la resolucin
de problemas lineales mixto-enteros. La eleccin adecuada depender de las necesidades
y condicionantes concretos de cada situacin.
X c

ij i
5
3 j=
23
=0 i


MIN
Construccin de modelos de Programacin Lineal
21

1.3.2.- Modelado del primer da.

Como se coment anteriormente, la solucin del modelo propuesto minimiza el coste de
contratacin de personal durante un da. Se ha considerado la planificacin diaria dentro de
un horizonte infinito, de manera que se conecta el plan de un da con las contrataciones
realizadas en las ltimas horas del da anterior y primeras del siguiente. Sin embargo, el
modelo no aporta una solucin para la puesta en marcha del plan de contratos, ya que la
solucin considera que en las primeras horas del da trabajan algunos ATS incorporados en
el da anterior. Por ello es preciso modelar aparte la situacin del primer da, hacindola
encajar con la solucin permanente de que disponemos.

Sean X
ij
* los valores ptimos de las variables para el modelo descrito en el apartado 2.5.
En ese caso, para el primer da (puesta en marcha del plan de contratacin) se puede
formular un modelo similar al descrito en el citado apartado:

X c

ij i
5
3 j=
23
=0 i


MIN
3,4,5 = j ; 16,...,23 = i X X
0,..,2 = i d X
3 = i d X X
4 = i d X X X
5,...,7 = i d X X X X
8,...,15 = i
d X X X X
* =


-
- -
- - -
- - -
ij ij
i kj
5
3 j=
i
=0 k
i 3,3 - i kj
5
3 j=
i
=0 k
i 4,4 - i 3,3 - i kj
5
3 j=
i
=0 k
i 5,5 - i 4,4 - i 3,3 - i kj
5
3 j=
i
=0 k
i 5,5 - i 4,4 - i 3,3 - i kj
5
3 j=
i
8 - i = k



M
X

ij
5
3 j=
23
=0 i




1.4.- Consideraciones finales.

Merece la pena destacar la simplicidad de la situacin que se est modelando, y pese a
esto, la complejidad de la formulacin propuesta. Posiblemente una situacin ms realista
conllevara la posibilidad de realizar guardias (lo que se traducira en la permanencia de
3,4,5 = j 0,...,23, = i 0;
Xij

Construccin de modelos de Programacin Lineal
22
ciertos ATS durante dos turnos de trabajo as como un aumento de los emolumentos
percibidos por los mismos, usualmente mayor al que les correspondera por un segundo
turno).

Tampoco se han tenido en cuenta posibles costes fijos como los debidos al alta en plantilla
de los ATS. Su consideracin podra suponer un aumento en el nmero guardias solicitadas
a los ATS, en detrimento del nmero de ATS que se mantienen en plantilla.
Construccin de modelos de Programacin Lineal
23
2. Elaboracin de pizzas en hora punta.

2.1. Descripcin.
La cadena de Pizzeras Mamma Ma ha observado que durante una hora determinada del
da la venta de Pizzas alcanza un valor muy importante, concentrndose la misma en tres tipos
de productos, Pizzas tipo A, B, C. La demanda de pizzas A supone un 50%, y las de tipos B y
C un 30% y 20% respectivamente. La cadena dispone de un tipo estndar de establecimiento,
de manera que en cada uno de ellos, la elaboracin de pizzas queda encargada a un operario
que dispone de dos hornos, llamados H1 y H2. Con el fin de evitar mezclas de sabores, la
directriz de la compaa consiste en que en los hornos H1 se elaboren nicamente pizzas A y
B, mientras en los H2 se prepararn tipos A y C.
Los tiempos de paso por horno de los productos son conocidos, T
1A
, T
B
, T
C
y T
2A
. Cada
establecimiento dispone de un nmero mximo de bases para pizzas, NP, con el objetivo de
atender las necesidades de la hora en cuestin.
Se desea construir el plan de produccin para esa hora punta, para cada establecimiento, de
manera que se satisfaga en lo mayor posible la demanda. Es necesario tener en cuenta que
en ningn caso se deben producir ms de dos Pizzas del mismo tipo consecutivas (en el
mismo horno), para evitar que se enfren, pues la experiencia demuestra que esto supone
elevada prdidas al ser rechazadas por los clientes.

2.2. Discusin.

En un primer momento supondremos que un nico operario se encarga de los dos hornos.
De esta manera, cuando un horno procesa una pizza, el otro horno est vaco. Esta
consideracin facilita el modelado de restricciones de consecutividad en la elaboracin de
pizzas, es decir, resulta sencillo impedir que no se horneen dos pizzas consecutivas del
mismo tipo en el mismo horno, entendiendo que el turno de descanso en el horno rompe la
consecutividad. La dificultad que presenta esta condicin queda de manifiesto en el
siguiente ejemplo:
H1
H2
A
A
A A
C

Se procesan tres pizzas tipo A de forma consecutiva en el horno H1. Es imposible conocer a
priori el numero de bases a tener en cuenta para evitar este problema. El modelado que se
formula a continuacin impedir que mas de dos pizzas consecutivas de la cadena de
bases de pizzas vayan al mismo horno, pero podra ocurrir algo como lo que se muestra en
el gfico anterior, esto es, en el horno 1 entran tres pizzas seguidas del tipo A, aunque en la
cadena no ocupen lugares consecutivos. Para evitar este problema se formular
posteriormente un modelo mas complejo.

2.3. Formulacin del modelo simple.

2.3.1. Variables.

Tomaremos como variables de decisin las siguientes
Construccin de modelos de Programacin Lineal
24

0
1
caso otro En
pizzas para bases de cadena la de sima - j posicin la ocupa i tipo pizza la Si
ij


donde el ndice i toma los valores recogidos en la siguiente tabla

i Tipo de Pizza Horno
1 A 1
2 A 2
3 B 1
4 C 2

y j=1.....NP, siendo NP el nmero de bases de pizzas disponibles, NP D para una
demanda conocida de D pizzas en hora punta.

2.3.2. Restricciones.

2.3.2.1. Cada base da origen a una pizza.

Por cada posicin de la cadena slo se producir un tipo de pizza. es decir, la
posicin j-sima dar lugar a una pizza de uno de los tipos y en uno de los hornos.

=
= =
4
1
.... 1 1
i
ij
NP j

2.3.2.2. Satisfaccin de fracciones de demanda.

En principio podra parecer conveniente modelar las demandas como pesos de los
distintos tipos de pizzas en la funcin objetivo del modelo. Sin embargo, esta
solucin no conlleva la satisfaccin de la demanda, por tanto resulta mas
conveniente incluir restricciones que obliguen a producir pizzas en las proporciones
requeridas.

Pizzas tipo A

= =

2
1 1
5 . 0
i
NP
J
ij
D
Pizzas tipo B

=

NP
J
j
D
1
3
3 . 0
Pizzas tipo C

=

NP
J
j
D
1
4
2 . 0




2.3.2.3. Restriccin de tiempo de procesado.

Construccin de modelos de Programacin Lineal
25
Esta restriccin obliga a que se termine la fabricacin de pizzas dentro del intervalo
temporal de la hora de mxima venta. En realidad no es preciso formular esta
restriccin, salvo que se desee comprobar si es posible realizar todo el trabajo en el
plazo de una hora. Suponiendo que los tiempos de procesado estn expresados en
minutos, de acuerdo a la siguiente tabla, la restriccin se formula como:


Datos de tiempo de procesado
Tipo A Tipo B Tipo C
Horno 1 t
1A
t
B
-
Horno 2 t
2A
- t
C


60 ) (
1
4 3 2 2 1 1
+ + +

=
NP
j
j C j B j A j A
t t t t



2.3.2.4. Restricciones de consecutividad.

Para formular esta restriccin, estamos suponiendo que mientras una pizza se
elabora en un horno, el otro horno descansa, por eso tiene sentido la suma
acumulada de tiempos en la restriccin anterior. Posteriormente veremos un
modelado ms realista de esta situacin. Con la suposicin anterior la restriccin se
formula impidiendo que mas de dos pizzas consecutivas en la cadena de bases sean
del mismo tipo:

NP j i
ij ij ij
... 1 ; 4 , 3 , 2 , 1 2
2 1
= = + +
+ +


Si la pizza j-sima es de tipo i y la j+1-sima tambin, entonces la pizza j+2-sima no
podr ser del mismo tipo.

2.3.3. Funcin Objetivo.

El objetivo consiste en minimizar el nmero de pizzas necesarias para satisfacer la
demanda.

= =
NP
j i
ij
Min
1
4
1


2.4. Modelo realista.

Se trata de un modelo alternativo formulado para conseguir que no se procesen dos pizzas
consecutivas en el mismo horno aunque ocupen lugares distantes en la cadena de bases
de pizzas. Ahora se considera que los dos hornos trabajan simultneamente, lo que resulta
mas realista a la vez que disminuye el tiempo total de elaboracin del conjunto de pizzas.
Consideraremos dos filas o cadenas de pizzas, una para cada horno. La suma del nmero
de bases de pizzas de las dos filas ser igual al nmero de bases disponibles NP. Nuestro
problema radica ahora en la determinacin de la longitud de cada una de las cadenas, de
manera que puedan ser usadas como lmites en los sumatorios correspondientes.

El clculo de las longitudes de las filas de pizzas se realizar de manera que ambos hornos
Construccin de modelos de Programacin Lineal
26
terminen su trabajo al mismo tiempo, siempre que esto sea posible. Adems, todas las
pizzas tipo B se elaborarn en el horno 1 y las de tipo C en el horno 2. para ello
supondremos inicialmente que se ha de satisfacer la demanda de pizzas tipo B y C,
posteriormente repartiremos las pizzas tipo A entre las dos filas.

El nmero de pizzas tipo B que denotaremos por NB ser igual al entero superior a 0,3 D.


D NB 3 , 0 =

El nmero de bases reservadas para pizzas tipo C, NC, ser el entero superior al 20% de la
demanda de la hora punta.


D NC 2 , 0 =

Denotaremos mediante NA1 el nmero de pizzas tipo A que se elaborarn en el horno 1, y
sea NA2 el nmero de pizzas tipo A que se procesan en el horno 2. Entonces, si se desea
equilibrar los tiempos de trabajo en los dos hornos:

C A B A
t NC t NA t NB t NA + = +
2 1
2 1

Adems

D NA NA 5 , 0 2 1 + . Podremos suponer en un principio que se cumple con signo
de igualdad, tendremos as una cota inferior del nmero de pizzas tipo A. Las dos
ecuaciones anteriores permiten despejar el valor de NA1 y NA2.

Sean NP1 y NP2 las longitudes de las dos filas de pizzas correspondientes a los hornos 1 y
2. La suma de ambas debe ser igual a NP, adems NP1 NA1+NB y NP2 NA2 +NC.

Tomaremos NP1=NA1+NB+(NP-T)/2 y NP2=NA2+NC+(NP-T)/2 donde T recoge la suma
de NA1, NA2, NB y NC, siendo T NP. Posteriormente, si es necesario, se redondean NP1
y NP2 de manera que sumen NP.

2.4.1. Variables.

Ahora para cada una de las filas escogeremos un tipo de variable de decisin binaria, de
acuerdo a:

0
1
caso otro En
1 horno en pizzas para bases de cadena la de sima - j posicin la ocupa B) (A, i tipo pizza la Si
ij

0
1
caso otro En
2 horno en pizzas para bases de cadena la de sima - j posicin la ocupa C) (A, i tipo pizza la Si
ij


donde el ndice i toma los valores recogidos en la siguiente tabla


i Tipo de Pizza Horno
1 A 1
2 A 2
3 B 1
4 C 2
Construccin de modelos de Programacin Lineal
27

2.4.2. Restricciones.

2.4.2.1. Cada base en cada fila se destina a un nico tipo de pizza.

1
2
1
1
1

= = i
NP
j
ij
1
2
1
1
1

= = i
NP
j
ij


2.4.2.2. Satisfaccin de la demanda de cada tipo de pizza.

Pizzas tipo A

= =
+
1
1
2
1
2 1
5 . 0
NP
J
NP
j
j j
D
Pizzas tipo B

=

1
1
3
3 . 0
NP
J
j
D
Pizzas tipo C

=

2
1
4
2 . 0
NP
J
j
D


2.4.3.3. Restricciones de consecutividad en cada una de las filas.

1 ... 1 ; 3 , 1 2
2 1
NP j i
ij ij ij
= = + +
+ +


2 ... 1 ; 4 , 2 2
2 1
NP j i
ij ij ij
= = + +
+ +


2.4.3. Funcin Objetivo.

El objetivo consiste en minimizar el nmero total de pizzas elaboradas:


= = = =
+
3 , 1
1
1 4 , 2
2
1 i
NP
j i
NP
j
ij ij
Min
Construccin de modelos de Programacin Lineal
28
3. Programacin de una cadena de televisin

3.1. Descripcin.

Una cadena de T.V. pretende realizar la programacin de espacios para 8 horas. Para ello
dispone de un conjunto de programas de los que se conoce su duracin (vase la tabla 1).

Por otra parte, para cada una de las 8 horas, se conoce el nmero de personas que hay
viendo la televisin, es decir, la audiencia total (vase la tabla 2). Adems, se disponen de
datos sobre la cuota (en tanto por cien) de audiencia que obtiene dicha cadena de T.V. si un
determinado programa se proyecta una hora dada de las ocho en cuestin (vase la tabla
3).

El problema que se plantea es decidir qu programa se transmite cada hora con el criterio
de maximizar la audiencia durante las ocho horas consideradas.


Tabla 1
Program Duracin
1 3
2 4
3 3
4 1
5 1
6 2
7 1
8 2
9 1
10 1


Tabla 2
Hora Audiencia
1 500000
2 450000
3 400000
4 450000
5 450000
6 500000
7 550000
8 550000



Tabla 3
H H H H H H H H
P1 33 20 40 50 60 21 19 14
P2 56 45 32 23 25 78 90 21
P3 76 12 23 43 56 76 34 23
P4 87 28 25 24 34 54 74 33
P5 21 32 43 54 65 76 56 34
P6 16 19 21 23 25 32 34 35
P7 76 14 24 28 65 45 34 90
P8 10 8 9 11 12 15 23 24
P9 25 34 33 36 37 56 45 34
P10 44 54 56 76 87 76 65 54
Construccin de modelos de Programacin Lineal
29
Se desea modelar el problema mediante programacin lineal en notacin compacta. Se
considerar que los programas se emiten sin cortes, es decir, una vez que un programa
comienza a emitirse no se interrumpe su emisin.

3.2. Formulacin del modelo.

3.2.1. Horizonte.

Se modelar el problema con un horizonte temporal correspondiente a las 8 horas de
emisin de la cadena de televisin. De esta manera se considerar el ndice i para
representar las horas a programar, el ndice j para los diferentes programas. Denotaremos
mediante A
i
al valor de la audiencia total, en nmero de personas, en la hora i-sima . D
j

representar la duracin del programa j-simo. Finalmente representaremos por c
ij
al valor
de la cuota de audiencia, en tanto por ciento, que obtiene la cadena de televisin al emitir el
programa j-simo durante la hora i-sima.

Datos
I Horas de programacin (i=1...8)
J Programa a emitir (j=1...10)
Ai Audiencia total correspondiente a la hora i-sima
Dj Duracin del programa j-esimo
Cij


3.2.2. Variables.

Para modelar el problema usaremos dos conjuntos de variables binarias, tal y como se
definen a continuacin.

=
caso otro En 0
isima hora la durante emisin su comienza simo - j programa el Si 1
ij

=
caso otro En 0
simo - j programa del emisin la por cubierta est sima - i hora la Si 1
ij


De esta manera se podr conocer la hora de emisin de cada programa y que programa se
est emitiendo durante cada una de las ocho oras de programacin.

3.2.3. Restricciones.

3.2.3.1. Emisin nica de programas

En primer lugar, cada programa se emite a lo sumo una vez, por tanto, sumando
para todas las horas de programacin, la suma de variables que indican el inicio de
cada programa debe ser 1. El signo corresponde a la posibilidad de que un
determinado programa no se emita.

=
=
8
1
10 ... 1 1
i
ij
j

Construccin de modelos de Programacin Lineal
30
3.2.3.2. Acotacin de la longitud de programas segn hora de inicio.

La duracin de un determinado programa, cuando comienza su emisin, debe ser
menor que el nmero de horas que restan para que finalice la programacin. De otra
manera algn programa tendra que alargar su emisin fuera de las 8 horas de
programacin de la cadena.

10 ... 1 ; 8 ... 1 1 8 = = + j i i D
ij j


3.2.3.3. Cada hora de programacin se aprovecha para emitir algn programa.

Cada hora de programacin debe quedar cubierta por uno y solo uno de los
programas preparados para emisin. Basta igualar a 1 la suma en j (para todos los
programas) de las variables que indican que programa cubre la hora i-sima.

=
= =
10
1
8 ... 1 1
j
ij
i

3.2.3.4. Continuidad en la emisin de cada programa.

Cuando un programa comienza a emitirse en la hora i-esima, todas las horas que
van desde i hasta la de finalizacin del programa deben quedar cubiertas por el
programa que est siendo emitido. De otra forma podra existir discontinuidad en la
emisin de programas. Esta restriccin de continuidad se formula:

10 ... 1 ; ) 1 8 ...( 1
1
= + =

+
=
j D i D
j
D i
i k
kj ij j
j


3.2.3.5. Prohibicin de emisin de programas incompletos.

Por ltimo hay que garantizar que si un programa no comienza a emitirse en ninguna
hora no pueda ser visto en otras horas. La falta de esta restriccin podra acarrear la
aparicin de un programa que se ha decidido no emitir en determinadas horas.

10 ... 1
8 8
1
=


= =
j D
i i
ij
i
ij j


3.2.4. Funcin objetivo.

Consiste en maximizar la audiencia total durante las ocho horas de programacin de la
cadena de televisin. Se usan las variables
ij
ya que indican el programa que esta siendo
visto en cada una de las horas de programacin.



= =

8
1
10
1
100
i j
ij ij
i
c
A
Max



Construccin de modelos de Programacin Lineal
31
3.2.5. Modelo del caso.


= =

8
1
10
1
100
i j
ij ij
i
c
A
Max
sa:

=
=
8
1
10 ... 1 1
i
ij
j

10 ... 1 ; 8 ... 1 1 8 = = + j i i D
ij j

=
= =
10
1
8 ... 1 1
j
ij
i

10 ... 1 ; ) 1 8 ...( 1
1
= + =

+
=
j D i D
j
D i
i k
kj ij j
j


10 ... 1
8 8
1
=


= =
j D
i i
ij
i
ij j


=
caso otro En 0
isima hora la durante emisin su comienza simo - j programa el Si 1
ij

=
caso otro En 0
simo - j programa del emisin la por cubierta est sima - i hora la Si 1
ij

Construccin de modelos de Programacin Lineal
32
4. Planificacin de una explotacin minera

4.1.- Descripcin.

Una compaa minera desea componer un plan de explotacin de minas para los prximos
5 aos. La zona geogrfica objeto del estudio contiene cuatro minas. Durante cada ao la
compaa podr extraer mineral de a lo sumo tres de las minas.

A efectos de la empresa, las minas pueden estar declaradas AExplotable@ o ANo
explotable@. En el primer caso, por cada mina con posibilidad de explotacin, la compaa
debe pagar determinados royalties a la propiedad. El valor de los mismos para el primer ao
de planificacin se muestran en la Tabla 1. Si una mina est declarada como AExplotable@
la compaa puede o no realizar extraccin de material durante cada uno de los aos del
horizonte de planificacin.

Si la compaa no ha adquirido derechos de explotacin de una mina, sta queda declarada
como ANo explotable@, con lo que no se podr extraer material durante los cinco aos que
dura cada plan de extracciones. En el caso de que la empresa declare ANo explotable@una
mina abierta, dejara de pagar royalties a la propiedad y no podra extraer material durante
los aos que resten hasta finalizar el perodo de planificacin.

Los lmites de extraccin de las diferentes minas se recogen en la Tabla 2, y permanecen
constantes durante el perodo de explotacin.




Mina

Royalties



Mina

Capacidad
M Toneladas







1

5

1 2







2

4



2

2,5







3

5



3

1,3







4

5



4

3







Tabla 1



Tabla 2




La calidad del mineral (% mineral puro sobre material extrado) que se extrae de cada una
de las minas se resume en la Tabla 3. La calidad prevista que exige el mercado puede
resumirse para cada ao del horizonte de extracciones en la Tabla 4.




Mina

Calidad



Ao

Calidad exigida







1

0.95



1

0.9







2

0.7

2 0.8







3

0.99



3

0.85







4

0.5



4

0.6







Tabla 3



5

0.95





Tabla 4

Construccin de modelos de Programacin Lineal
33


El precio de venta de material extrado es de 10$/Ton. y los royalties se incrementan
anualmente en un 10%. Supngase conocida la demanda mnima del mercado y con valor
d
t
(t=1,..,5).

4.2.- Formulacin del modelo.

4.2.1.- Horizonte.

El horizonte de planificacin se extiende a cinco aos. Parece necesario utilizar en la
definicin de las variables un ndice t (t=1,..,5) que recoja el ao en curso. Durante este
perodo ser necesario identificar aquellas minas sobre las que la compaa debe adquirir
derecho de explotacin as como la posibilidad de renunciar al mismo cuando no convenga
continuar con la extraccin de mineral.

Para cada mina con posibilidad de extraccin es preciso determinar la cantidad de mineral
extrado de manera que la mezcla de mineral procedente de las diferentes minas satisfaga
las demanda del mercado y la calidad exigida por el mismo.

4.2.2.- Variables.

Las variables naturales del modelo representan la cantidad de mineral que debe ser
extrado de cada mina durante cada uno de los aos que durar el plan de explotacin.
Dichas cantidades se representarn mediante la letra X afectada de dos subndices, el
primero de ellos (i) hace referencia a cada una de las minas y el segundo (t) al ao dentro
del horizonte de planificacin.

As pues contaremos con 20 variables X
it
; i =1,...,4 ; t =1,...,5. Las cantidades extradas
sern mayores o iguales a cero, y en principio parece adecuado considerar estas variables
como continuas, pues no se deduce del modelo la necesidad de extraer un nmero entero
de toneladas de mineral.

La compaa se debe plantear adicionalmente algunas decisiones de carcter todo o nada.
Al inicio del horizonte de explotacin debe considerar la idea de conseguir los derechos de
explotacin de algunas de las minas, sin el que sera imposible la extraccin de mineral en
dichas minas. Del mismo modo, aunque posea derecho de explotacin sobre una
determinada mina, la compaa debe decidir si extrae o no mineral de la misma. El
modelado de este tipo de decisiones obliga al uso de variables enteras que representen el
carcter todo-nada (si-no). Estas tipo variables de decisin se denominan variables 0-1.

De forma concreta, se necesita un conjunto de variables 0-1 para la adquisicin de
derechos de explotacin y otro para decidir si se realiza o no la extraccin de mineral. Las
primeras variables se representarn mediante
it
y las segundas como
it
. Los subndices
empleados mantienen el mismo significado que en el caso de las variables X
it
.
Formalmente:

Construccin de modelos de Programacin Lineal
34

4.2.3.- Restricciones.

4.2.3.1.- Imposibilidad de extraccin de mineral.

Si la compaa no adquiere el derecho de explotacin de una mina ( o no dispone de
l por no haberlo adquirido con anterioridad) no podr extraer mineral de dicha mina.
Esta restriccin relaciona dos de las decisiones estratgicas de la empresa, la
adquisicin de derecho de explotacin y la decisin de extraer o no material.

Si la correspondiente variable toma valor cero (No existe derecho de explotacin
de una mina en un determinado ao) entonces la variable debe valer cero (No es
posible la extraccin de mineral). Este tipo de relacin entre variables responde a la
implicacin lgica: ASi =0 entonces =0". Adems, en el caso en que =1 no se
impone restriccin alguna sobre la variable .

El modelado lineal de este tipo de implicaciones es sencillo, basta con acotar
superiormente la variable con . As, si la segunda toma valor cero necesariamente
tomar valor cero.

En el caso en estudio se formularn 20 restricciones de este tipo, una para cada
mina y ao del perodo de planificacin.


4.2.3.2.- Acotacin en el nmero de minas activas.

Durante cada uno de los aos del horizonte de planificacin, la compaa puede, a lo
sumo, extraer mineral de tres de las minas. Puesto que es la variable indicativa de
extraccin, la suma extendida a todas las minas de dicha variable debe ser menor o
igual a 3.
5 ,..., 1 = t ; 4 ,..., 1 = i


caso otro En 0
t ao el en i mina la de
mineral extrae compaia la Si 1
=


caso otro En 0
t ao el en i mina la para n explotacio de derecho
adquiere o tiene compaia la Si 1
=
it
it


5 , ... , 1 = t ; 4 , ... , 1 = i
it
it


5 , ... , 1 = t 3
it
4
1 = i


Construccin de modelos de Programacin Lineal
35
4.2.3.3.- Prdida de derecho de explotacin.

Una de las decisiones clave de la planificacin de extracciones consiste en la
adquisicin o no de derecho de explotacin de las minas, as como mantener o no
ese derecho durante los cinco aos que dura el plan de explotacin. Si inicialmente
(ao 1) no se adquiere el derecho sobre una mina, no ser posible hacerlo hasta que
finalice el quinquenio. Por este motivo podra ser interesante comprar el derecho de
todas las minas para posteriormente, el segundo o tercer ao de explotacin,
renunciar al mismo con el consiguiente ahorro en el pago de royalties. En cualquier
caso esta opcin y todas las posibles debern quedar recogidas en el modelo
propuesto. La resolucin del mismo proporcionar la estrategia ptima.

En lo que respecta a la formulacin de una restriccin para la prdida de derecho de
explotacin de las minas, nicamente sabemos que la renuncia al derecho de
explotacin durante un ao supone la renuncia hasta el final del perodo de
explotacin. Se trata pues de ligar la misma decisin en cada par de aos
consecutivos.

Tcnicamente la implicacin a formular es similar a la anterior, usando en esta
ocasin variables con el mismo significado para aos consecutivos. Es decir:

Si en el ao t la compaa no dispone de derecho para explotar la mina i, tampoco
lo tendr en el ao t+1. Un valor cero para
it
obliga a la variable
i t+1
a tomar
tambin el valor cero.


4.2.3.4.- Limitacin en las cantidades extradas.

La capacidad anual de extraccin para cada mina (miles de toneladas) se muestra
en la Tabla 2. Para simplificar la formulacin, llamaremos C
i
al lmite mximo de
extraccin en la mina i. En principio esta cantidad se mantiene constante durante el
perodo de planificacin. La restriccin tpica de limitacin en la cantidad a producir
se formulara de la siguiente forma:


Es decir, la cantidad de mineral extrado de la mina i en el ao t debe ser menor o
igual que la cantidad mxima que es posible extraer de la mina i, C
i
. Sin embargo,
este tipo de restricciones puede ser mejorado.

Cuando la compaa no realiza extraccin en una mina, o cuando no se dispone de
derecho de explotacin de la misma, la correspondiente variable
it
toma valor cero.
En este caso no se extrae mineral de la mina i (X
it
=0). Parece lgico incluir esta
limitacin en las restricciones anteriormente comentadas. Para ello, puesto que el
5 , ... , 1 = t ; 4 , ... , 1 = i
it 1 + t i

5 , ... , 1 = t ; 4 , ... , 1 = i
Ci

Xit

Construccin de modelos de Programacin Lineal
36
trmino independiente es una constante, basta con multiplicarlo por la variable
it
.
As, cuando
it
=0 se fuerza que X
it
=0.

Este tipo de restricciones, acotacin de una variable continua mediante el producto
entre una variable binaria y una constante, aparece con mucha frecuencia en el
modelado lineal de problemas. La dificultad habitual consiste en fijar el valor de la
constante que acta como cota superior cuando la variable binaria toma valor 1.

4.2.3.5.- Satisfaccin de la demanda del mercado.

La suma de las cantidades de mineral extrado debern satisfacer la demanda anual
prevista de mineral, que representaremos mediante d
t
(t=1,...,5) como se sugiere en
el ltimo prrafo de la descripcin.

Tendremos cinco restricciones, cada una correspondiente a un ao del horizonte de
planificacin.

4.2.3.6.- Satisfaccin de la exigencia de calidad del mercado.

Adicionalmente a la demanda anual del mercado (que suponemos expresada en
miles de toneladas) existe una exigencia anual prevista respecto a la calidad del
mineral demandado. Esta exigencia puede actuar elevando la cantidad de mineral a
extraer de algunas minas en particular (aquellas que producen un mineral ms puro,
de mayor calidad), de manera que la mezcla final adquiera mayor pureza.
El conjunto anterior de restricciones relaciona, para cada ao, la calidad exigida por
el mercado con las cantidades y calidades de mineral extradas de cada una de las
minas. Obsrvese la formulacin lineal de cada una de las restricciones. Se ha
considerado que la calidad del mineral obtenido tras la mezcla (de los minerales
procedentes de cada mina activa) se obtiene de forma aproximada como una media
ponderada de las calidades de cada mina. Puesto que la demanda (2.3.5) puede no
satisfacerse con signo de igualdad, pude ser mas exacto considerar una
restricciones del tipo:

5 , ... , 1 = t ; 4 , ... , 1 = i
C it i

Xit

5 , ... , 1 = t
d

t

X

it
4
=1 i


5 , ... , 1 = t
d
Q
X
Q
t
t
it
i

4
=1 i

5 , ... , 1 = t
X
Q
X
Q
it
4
1 = i
t
it
i

4
1 = i

Construccin de modelos de Programacin Lineal
37
Que utiliza la suma de cantidades extradas para calcular la calidad media del
mineral obtenido tras la mezcla. Ambas restricciones coinciden cuando las
cantidades extradas satisfacen exactamente la demanda. La equivalencia de ambos
tipos de restricciones se podr analizar con mayor profundidad tras la formulacin de
la funcin objetivo.

Si un aumento de las cantidades extradas supone un aumento de los beneficios
esperados, es decir, es posible la venta del exceso sobre la demanda, la cantidad
total extrada ser superior a la demanda. En este caso la formulacin tipo (2) para
las restricciones de calidad es ms adecuada.

Si la funcin objetivo del problema consiste en la minimizacin de costes asociados
al proceso de extraccin, por ejemplo cuando el exceso de mineral extrado no se
puede vender y su almacenaje supone un coste adicional o cuando es preciso
abandonarlo, la cantidad de mineral extrado ser igual a la demanda. En este caso
ambos conjuntos de restricciones son equivalentes.


4.2.4.- Objetivo.

El objetivo del problema consiste en la minimizacin de los royalties a pagar a la propiedad
de las minas. En principio no existe informacin sobre el coste de extraccin de mineral en
cada mina, parece adecuado suponer que este coste es similar en una u otra mina y por lo
tanto no es preciso su consideracin en la funcin objetivo del problema.

El mineral extrado en exceso no supone ningn beneficio para la compaa. Si es posible la
extraccin de mineral satisfar con exactitud la demanda del mercado, por lo que el
beneficio esperado es conocido.

As pues, la funcin objetivo se puede formular como sigue:

donde R
it
se puede expresar en funcin del royalty del primer ao R
i1


4.2.5.- Modelo.

sa:
5 , ... , 1 = t ; 4 , ... , 1 = i
it
it

it
it

R
Min

5
=1 t
4
=1 i

5 , ... , 1 = t ) 1.1 (
R
=
R
1 - t
i1 it

it
it

R
Min

5
=1 t
4
=1 i

Construccin de modelos de Programacin Lineal
38
5 , ... , 1 = t 3
it
4
1 = i


5 , ... , 1 = t ; 4 , ... , 1 = i
it 1 + t i

5 , ... , 1 = t ; 4 , ... , 1 = i
C it i

Xit

5 , ... , 1 = t
d

t

X

it
4
=1 i


5 , ... , 1 = t
X
Q
X
Q
it
4
1 = i
t
it
i

4
1 = i


binarias , 0,
X it
it
it



4.3.- Consideraciones finales.

Se ha formulado un modelo matemtico para la planificacin de la extraccin de mineral
durante un perodo de cinco aos. Las decisiones de la compaa consisten en la
adquisicin de derechos de explotacin de las minas (variables ), la extraccin o no de
mineral (variables ) y las cantidades de mineral a extraer de cada mina en cada ao, X
it
.
Las decisiones de tipo Asi/no@se modelan mediante variables binarias.

La situacin planteada responde a una simplificacin de la realidad. Se ha considerado que
el coste de extraccin es comn para todas las minas, lo que permite su no inclusin en el
modelo. De esta forma, y dado que el mineral extrado en exceso no reporta beneficios para
la compaa, el objetivo consiste nicamente en la minimizacin de costes asociados a la
explotacin (royalties).

En el caso en que el mineral extrado en exceso pudiera ser vendido a un precio residual de
m $/Ton, la restriccin de demanda podra ser formulada:

donde E
t
(t=1,...,5) son variables continuas que miden el exceso de mineral extrado para
cada ao. En este caso, la funcin objetivo del problema queda:

5 , ... , 1 = t
d

t
=
E
-
X

t it
4
=1 i


( )



E
m -
R
Min
t
it
it

5
=1 t
4
=1 i

Construccin de modelos de Programacin Lineal
39
5. Estudio de la compra de aviones por una compaa

5.1.- Descripcin

Hispania Aviacin (HA) ha decidido la ampliacin de su flota mediante la adquisicin de
nuevos aviones, a lo que ha asignado un presupuesto de 75.000 millones. Las aeronaves
consideradas son el tipo Airbus 310 (A), que tiene un coste unitario de 3.000 millones, el
Boeing 767 (B), con un coste de 4.200 millones por unidad y el Mc Douglas (M), 2.750
millones por aeronave. Los estudios realizados indican que cada avin aportara unos
beneficios anuales netos de 280 millones en el caso de A, 350 en el B y 300 en el M.

Para facilitar el mantenimiento y los repuestos se desea que del nuevo grupo de aeronaves
que se adquiera, uno de los tipos de avin sea dominante, adquiriendo al menos 10
unidades del mismo. Adems, por razones de diversificacin y de especializacin de la flota,
en el caso de que se adquiera un tipo de avin, la cantidad mnima que se compre debe ser
al menos de 2 unidades.

Desde el punto de vista de las necesidades de personal para el mantenimiento de los
aviones, los aviones del tipo A suponen 18 millones de coste anual de personal cada uno,
los de tipo B requieren 20 millones cada uno y 19 millones los de tipo M. En cuanto a las
instalaciones de mantenimiento y al tiempo necesario para realizarlo, cada avin del tipo A
requiere un mantenimiento anual de 38 das, 45 das los de tipo B y 42 los M. La empresa
HA ha asignado 1000 millones anuales de presupuesto propio para el coste del personal de
mantenimiento (presupuesto independiente del asignado a la adquisicin de aviones) y las
instalaciones actuales tienen una capacidad de mantenimiento para los nuevos aviones de
800 das. Podra ampliarse la capacidad de las instalaciones de mantenimiento dedicada a
los aviones nuevos desde los 800 das anuales hasta un total de 1250 das. Dicha decisin
requerira una inversin adicional de 1000 millones, que se habra de detraer de los 75000
asignados para la adquisicin de los nuevos aviones. En cualquier caso, no se puede
ampliar el presupuesto dedicado al personal de mantenimiento de los aviones.

Construya un modelo para estudiar la recomendacin sobre qu aviones compondrn la
ampliacin de la flota, con el criterio de maximizar los beneficios anuales netos que
aportarn los aviones adquiridos.

5.2.- Modelado


5.2.1.- Horizonte.

Se considera un ao. Con respecto a un ao se analizan los costes de personal, las
limitaciones presupuestarias de mantenimiento, de capacidad de mantenimiento y los
beneficios netos aportados por los nuevos aviones. La adquisicin de los aviones est
limitada por la limitacin global (no temporal) del presupuesto de compra.


5.2.2.- Variables.

Son de dos tipos, variables propias y variables auxiliares.

Variables propias: Las que representan lo que se desea conocer, que en este caso son
Construccin de modelos de Programacin Lineal
40
el nmero de aviones que se adquieren de cada tipo. Precisando, A,
B y M reflejarn en el modelo el nmero de aviones de cada tipo que
se recomienda adquirir.

Variables auxiliares: Surgirn durante el modelado, si es que se considera
conveniente.


5.2.3. Restricciones.

Las condiciones que describen las polticas de adquisicin admisibles en la situacin
considerada.

5.2.3.1.- Limitaciones en el presupuesto para la compra de aviones.
5.2.3.2.- Limitacin en el presupuesto de mantenimiento
5.2.3.3.- Limitaciones en la capacidad de mantenimiento de los aviones
5.2.3.4.- Caracterizacin de las soluciones:

- Un avin dominante: De uno de los tipos de avin, al menos diez
unidades
- De ninguno de los tipos de avin se puede comprar una unidad: o
bien no se compran aviones de ese tipo o al menos se compran dos.


5.2.4.- Criterio(s).

Las soluciones admisibles se valoran con respecto al beneficio anual neto que aportar el
empleo de los aviones comprados.

5.2.5 Datos.

Valores conocidos que relacionan las variables con las limitaciones.

5.2.5.1.- En relacin con el presupuesto, el coste de adquisicin de cada tipo de avin,
medido en millones de unidades monetarias (u.m.).

5.2.5.2.- En relacin con la capacidad de mantenimiento, medido en das de
mantenimiento anual por cada tipo de avin.

5.2.5.3.- En relacin con el presupuesto anual de mantenimiento, el coste anual de
mantenimiento de cada tipo de avin en millones de unidades monetarias.

5.2.5.4.- En relacin con el criterio de evaluacin, la aportacin de cada tipo de avin
medida como el beneficio unitario neto anual por avin. La unidades son millones de
unidades monetarias por avin y ao.


Con estos elementos se puede construir un primer modelo aproximado:


F. Objetivo: Maximizar 280 A +350 B +300 M

Restricciones:
Compra (u.m.) 3000 A +4200 B +2750 M #75000
Construccin de modelos de Programacin Lineal
41
Mantenimiento (das) 38 A +45 B +42 M #800
Mantenimiento (u.m.) 18 A +20 B +19 M #1000
A , B , M 0


5.3.- Completar el modelo.

Este modelo no tiene en cuenta ciertas consideraciones de la situacin descrita.


5.3.1.- Ampliacin de la capacidad de mantenimiento.

Primero consideramos la posibilidad de aumentar la capacidad en das de mantenimiento,
desde 800 a 1250 das anuales, aplicando 1000 millones de u.m. detraibles del presupuesto
inicial de compra de 75000 millones de u.m. Para ello introducimos una variable auxiliar
indicadora de la aplicacin de los 1000 millones de presupuesto a mantenimiento (en cuyo
caso toma el valor 1) o bien de que no se aplique a ampliar la capacidad de mantenimiento
(valor 0 de la variable). Con ello, las restricciones de compra y capacidad de mantenimiento
se modifican a:

Compra (u.m.) 3000 A +4200 B +2750 M #75000 - 1000
Mantenimiento (das) 38 A +45 B +42 M #800 +450


5.3.2.- Tipo de avin dominante.

Para recoger en el modelo la especificacin de que al menos de un tipo de avin se han de
comprar 10 unidades, introducimos variables auxiliares indicadoras
A
,
B
,
M
. Una de ellas
tomar el valor 1, indicando cul es el tipo de avin dominante, y las otras dos el valor 0.
Las restricciones lineales auxiliares que obligan a ello se pueden escribir como,

A 10
A
B 10
B
M 10
M

A
+
B
+
M
=1

De esta forma se obliga a que haya un tipo de avin dominante y no se impone ninguna otra
limitacin sobre el nmero de aviones adquiridos de cada tipo.


5.3.3.- No se puede comprar una sola unidad de un tipo de avin.

Se ha de imponer la condicin de que en caso de comprar unidades de un tipo de avin, se
compren al menos dos unidades del mismo. Para representarlo, empleamos variables
auxiliares binarias
A
,
B
,
M
que intervienen en las relaciones lgicas,

A
=1 implica A 2 y
A
=0 implica A =0

mediante restricciones lineales en las variables. As,

A 2
A


B 2
B
M 2
M


recoge la primera implicacin, mientras que para la segunda implicacin escribimos las
relaciones,

Construccin de modelos de Programacin Lineal
42

A Cota
A
B Cota
B
M Cota
M


Si no se escriben estas ltimas relaciones el modelo considerara admisible la compra de un
solo avin de cualquiera de los tipos. Pero tampoco debe imponerse una limitacin
involuntariamente. Para ello Cota representa un nmero suficientemente grande como para
que, por ejemplo, cuando
A
sea 1, la correspondiente relacin A Cota
A
sea redundante
y no imponga una limitacin no deseada. Es decir, Cota debe ser un nmero mayor que el
mximo nmero de aviones tipo A que se pueden adquirir debido a las limitaciones del resto
de las restricciones. As, observando la limitacin del presupuesto de compra ya implica que
A no supera 25 unidades, con lo que se puede escoger Cota =25 para esta restriccin. El
mismo argumento aplicado a los dems tipos de aviones da lugar a,

A 25
A
B 18
B
M 28
M



5.4.- El modelo completo.


F. Objetivo: Maximizar 280 A +350 B +300 M

Restricciones

Compra (u.m.): 3000 A +4200 B +2750 M #75000 - 1000
Mantenimiento (das): 38 A +45 B +42 M #800 +450
Mantenimiento (u.m.): 18 A +20 B +19 M #1000

Avin dominante:

A 10
A
B 10
B
M 10
M

A
+
B
+
M
=1

Nunca un solo avin:

A 2
A


B 2
B
M 2
M

A 25
A
B 18
B
M 28
M


Caractersticas de las variables:

i
,
i
binarias para i =A, B, M; binaria; A, B, M 0 (continuas)


5.5.- Consideraciones a posteriori.

Una vez obtenido el modelo completo, es conveniente sealar sus caractersticas, las
limitaciones del modelo propuesto y lo que se puede esperar de su anlisis y resolucin.

Se ha construido un modelo lineal en sus variables. Para ello se ha optado por una
expresin lineal de las condiciones. En este sentido, la descripcin de las relaciones que
obligan a la existencia de un avin dominante tambin pueden intentarse mediante otras
expresiones alternativas:

Construccin de modelos de Programacin Lineal
43
5.5.1.- La suma de las variables indicadores es, al menos, la unidad.

A 10
A
B 10
B
M 10
M

A
+
B
+
M
1

El resultado de la resolucin del modelo con estas restricciones no difiere en el valor de la
funcin objetivo del obtenido con la representacin anterior. Sin embargo, seran
alternativamente ptimas soluciones con varios indicadores tomando el valor 1 en el caso
de que de varios tipos de avin se compraran mas de 10 unidades, lo que no suceda en la
formulacin anterior. Esta formulacin tambin es correcta.

5.5.2.- Empleando solo dos restricciones:

A
A
+B
B
+M
M
10
A
+
B
+
M
=1

Esta formulacin es correcta, pero su representacin es no lineal.

5.5.3.- Tambin empleando solo dos restricciones, podra intentarse:

A
A
+B
B
+M
M
10
A
+
B
+
M
1

para que varias variables indicadores puedan ser 1. Pero esta formulacin es incorrecta, ya
que valores del nmero de aviones inferiores a 10 haran que se cumplieran las
restricciones sin que respetaran la imposicin de un tipo de avin dominante. As, por
ejemplo, A =B =M =4 con todos los valores de las variables indicadoras a la unidad
satisfacen la expresin pero no existe avin dominante (ntese que estos valores no
satisfacen la restriccin 5.2).

5.5.4.- La expresin A A 2 es vlida para A = 1, pero invlida cuando A = 0. Esto obliga a
escribir A A 2 A , que no es lineal.

Otro aspecto es la decisin de obligar a que las variables A, B y M que recogen el nmero
de aviones que se compran sean enteras o no. Obviamente, los valores fraccionarios de
estas variables no tienen significado en un sentido estricto. Sin embargo, la complejidad
aadida para el anlisis y resolucin del modelo que supondra el considerarlas como
variables enteras es probablemente superior al incremento en la precisin y realismo del
modelo que con ello se conseguira. Por estas consideraciones se prefiere modelarlas como
variables continuas y redondear convenientemente a posteriori su significado. En cuanto a
las variables empleadas para escribir, mediante restricciones lineales, las condiciones
lgicas que ha de satisfacer el nmero de aviones adquiridos, stas son intrnsecamente
binarias y no tiene sentido aproximarlas a partir de valores fraccionarias. Sera una
distorsin fundamental en el modelo, por lo que se asume la complejidad aadida y se
tratan explcitamente como variables enteras.

Finalmente, comentar el realismo del modelo. Se ha elegido un horizonte de un ao para
una gran inversin global en la adquisicin de aviones, considerando limitaciones rigurosas
en las nuevas necesidades de mantenimiento que ello supondr. La importancia relativa de
los tres tipos de restricciones (presupuestarias de adquisicin, presupuestarias de
mantenimiento y capacidad de las instalaciones de mantenimiento) es la misma en el
modelo, y todas ellas rigurosas: no se considera en principio ninguna poltica de compra que
supere los lmites impuestos. Adems, no supondr ningn beneficio para la empresa el
ahorro en el desembolso sobre los presupuestos disponibles. Esto es, una poltica de
compras que utilice menos de los 75.000 millones de presupuesto no es mejor que otra que
los agote debido a este ahorro en el desembolso, puesto que el nico criterio de valoracin
Construccin de modelos de Programacin Lineal
44
de las compras es el de maximizar los beneficios anuales netos segn la aportacin que
cada aeronave. Los mismos comentarios son ciertos con respecto a las otras dos
limitaciones de los recursos.
Construccin de modelos de Programacin Lineal
45
6. Fabricacin de bobinas

6.1.- Descripcin.

Cierta empresa dedica su proceso de produccin a la fabricacin de bobinas de papel de
250 c.m. de ancho.

Las rdenes de los clientes se refieren a bobinas de papel de distintos anchos e igual
longitud que la bobina producida. Debido al carcter de los pedidos, la fbrica dispone de
una seccin de corte longitudinal de las bobinas, de acuerdo al ancho de los diferentes
pedidos. El problema se plantea a la hora de decidir de qu forma se efectuarn los cortes,
pues las bobinas resultantes de menos de 55 c.m. de ancho suponen elevadas prdidas.

En particular, en el ltimo pedido se han solicitado las siguientes bobinas:



Anchura en c.m.

N1 de bobinas

55

100

60

200

178

150


El objetivo es minimizar los trozos de bobina que tras el corte no satisfacen el pedido.

6.2.- Formulacin del modelo.

6.2.1.- Problemtica.

El problema planteado es decidir cmo se cortan longitudinalmente las bobinas para
satisfacer los requerimientos, en cuanto a nmero de bobinas, de un determinado pedido.

El pedido especifica el nmero de bobinas requeridas para los anchos de 55 c.m., 60 c.m. y
178 c.m. Por lo tanto, dada una bobina los cortes a efectuar debern conseguir alguno de
los anchos anteriores.

Analizando los posibles cortes a realizar sobre una bobina, identificamos 7 cortes (A,...,G),
dando lugar cada uno de ellos a un determinado nmero de bobinas de los tipos requeridos
en el pedido (55 c.m., 60 c.m. y 178 c.m.). Adems, el corte puede dar lugar a un AResto@
no aprovechable en el pedido.

A continuacin se muestra, para cada uno de los siete tipos de corte, el nmero de bobinas
de cada uno de los anchos a que da lugar. En la columna AResto@se especifica el ancho
del resto no aprovechable en el corte correspondiente:





Construccin de modelos de Programacin Lineal
46



55 c.m.

60 c.m.

178 c.m.

Resto

A

4

-

-

30

B

-

4

-

10

C

3

1

-

25

D

2

2

-

20

E

1

3

-

15

F

1

-

1

17

G

-

1

1

12


En este contexto, la problemtica se reduce a decidir el nmero de cortes a realizar de cada
uno de los siete tipos. El criterio de optimizacin ser el de minimizar los trozos de bobina
que tras el corte no satisfacen el pedido (ancho menor de 55 c.m.).

6.2.2.- Variables.

Asociado a cada uno de los siete tipos de corte se definir una variable representativa del
nmero de cortes a realizar de ese tipo. En concreto, las variables sern: X
A
, X
B
, X
C
, X
D
,
X
E
, X
F
y X
G
. Obviamente, estas variables son enteras ya que el nmero de cortes no
puede ser un nmero fraccionario.

6.2.3.- Restricciones.

6.2.3.1.- Cumplimiento de los requerimientos del pedido.

El nmero de cortes a realizar de cada tipo vendr condicionado por la necesidad de
conseguir para los anchos de 55 c.m., 60 c.m. y 178 c.m., un nmero de bobinas
igual a 100, 200 y 150 respectivamente. Expresando lo anterior matemticamente:

En el primer trmino de las restricciones anteriores, se expresa el nmero de
bobinas obtenidas de cada uno de los tipos del pedido al realizar el nmero de
cortes de cada tipo especificado por las variables.

6.2.4.- Objetivo.

El objetivo del problema consiste en la minimizacin de los restos no aprovechables. En el
caso de que se desee la minimizacin del nmero de trozos sobrantes, esto es, se
penalizan de igual forma los restos independientemente del ancho que tengan, la funcin
objetivo se puede expresar segn:

c.m. 178 150
X
+
X
c.m. 60 200
X
+
X
3 +
X
2 +
-
X +
X
4
c.m. 55 100
X
+
X
+
X
2 +
X
3 +
X
4
G F
G E D C B
F E D C A


Construccin de modelos de Programacin Lineal
47
6.2.5.- Modelo.

sa:

6.3.- Consideraciones finales.

Se ha realizado un modelo de programacin lineal entera para decidir la forma en que se
cortan las bobinas en una empresa que requiere cubrir la demanda de unos determinados
tipos de anchos. Se ha analizado los posibles cortes que se pueden dar a una bobina, a
partir de los cuales se han definido las variables del modelo.

En cuanto al criterio, se ha utilizado el de minimizar el nmero de restos
independientemente de su ancho. Una posible modificacin a la funcin objetivo es
penalizar cada resto con su ancho, dando lugar a:

Con esta funcin objetivo se penalizan ms aquellos cortes que dan lugar a un mayor ancho
en el resto.

Otra posible modificacin a introducir en el modelo es el tipo de las variables. Es claro que
el nmero de cortes a realizar de cada tipo es entero, no obstante si el valor de las variables
es elevado no se comete mucho error en cuanto a optimalidad suponerlas continuas y
realizar a posteriori un Aredondeo@a valores enteros.
X
+
X
+
X
+
X
+
X
+
X
+
X G F E D C B A
Min
enteras 0
X
,
X
,
X
,
X
,
X
,
X
,
X
c.m. 178 150
X
+
X
c.m. 60 200
X
+
X
3 +
X
2 +
-
X +
X
4
c.m. 55 100
X
+
X
+
X
2 +
X
3 +
X
4
G F E D C B A
G F
G E D C B
F E D C A


X
+
X
+
X
+
X
+
X
+
X
+
X G F E D C B A
Min
X
12 +
X
17 +
X
15 +
X
20 +
X
25 +
X
10 +
X
30
G F E D C B A
Min
Construccin de modelos de Programacin Lineal
48
Asignacin
7. Asignacin de alumnos a institutos

7.1.- Descripcin.
En una poblacin residen dos comunidades A y B de caractersticas muy distintas. El
sistema educativo consta de tres institutos a los que acceden todos los alumnos de 8 de
E.G.B. Se pretende una integracin de ambas comunidades mediante el equilibrio de los
alumnos que asisten a cada uno de los institutos. La situacin de la poblacin y los institutos
se muestra en la tabla adjunta. En el modelo de planificacin, debe plantearse como
objetivo minimizar la distancia total acumulada que realizan los alumnos debido a los
desplazamientos. Debe tenerse en cuenta las limitaciones de los institutos y la poblacin
(equilibrada en cuanto a comunidades) de las zonas. Adems se pretende conseguir que en
los institutos exista un equilibrio entre los estudiantes de las dos comunidades.
Construya un modelo para la asignacin de alumnos por zonas a los institutos.
Zona Alumnos de 8 de E.G.B.
por comunidad
Distancia media a los institutos
A B 1 2 3
1 300 100 1,2 1,5 3,3
2 400 - 2,6 4,0 5,5
3 200 300 0,7 1,1 2,8
4 - 500 1,8 1,3 2,0
900 900 600 800 500
Total de alumnos de
E.G.B.
Capacidad del instituto
7.2.-Modelado.
7.2.1.- Horizonte.
El horizonte para el problema de planificacin planteado es el de un curso escolar. Con
respecto al curso escolar se analizan la total escolarizacin de los alumnos, capacidad de
los institutos, equilibrado de las dos comunidades en los institutos y la distancia acumulada
recorrida por los alumnos.
7.2.2.- Variables.
Son de dos tipos, variables propias y variables auxiliares.
Variables propias: Estn asociadas a las decisiones a tomar, esto es, lo que se desea
conocer. En este caso son el nmero de alumnos que de cada una de las zonas es
asignado a cada uno de los institutos. Precisando, si con el subndice i denotamos zonas
(i=1,2,3,4.) y con el j institutos (j=1,2,3), las variables sern x
ij
i, j.
Variables auxiliares: En caso de ser necesarias, surgirn durante el diseo del modelo.
Construccin de modelos de Programacin Lineal
49

7.2.3.- Restricciones
Sern las condiciones que deben cumplir las distintas asignaciones de alumnos a institutos.
7.2.3.1.- Toda la poblacin de 8 de E.G.B. debe tener asignado instituto.
7.2.3.2.- Limitaciones de capacidad de los distintos institutos.
7.2.3.3.- Equilibrado de las comunidades A y B en los distintos institutos.
7.2.4.- Criterio(s)
Las soluciones admisibles se valorarn segn la distancia acumulada a que dan lugar.
7.2.5.- Datos.
7.2.5.1.- En relacin a cada uno de los institutos, la capacidad de cada uno de ellos.
7.2.5.2.- En relacin a las zonas, el nmero de alumnos de 8 de E.G.B. en las comunidades A y
B.
7.2.5.3.- En relacin con el criterio de evaluacin, la distancia de cada zona a cada uno de los
institutos.
7.2.5.4.- Debido a que en las variables de asignacin de alumnos a institutos no se especifica la
comunidad a la que pertenecen los mismos, ser necesario definir la mezcla entre
comunidades en las asignaciones. Parece lgico suponer que en dichas asignaciones se
mantiene la proporcin entre comunidades que en la zona correspondiente.
Con estos elementos se puede construir un primer modelo aproximado:
Funcin Objetivo Min 1.2 x +1.5 x + 3.3 x +2.6 x +4.0 x +5.5 x +
0.7 x +1.1 x +2.8 x +1.8 x +1.3 x +2.0 x
11 12 13 21 22 23
31 32 33 41 42 43

Restricciones
Escolarizacin de
todos los alumnos
x
x
x
x
11
21
31
41
400
400
500
500
+x +x
+x +x
+x +x
+x +x
12 13
22 23
32 33
42 43
=
=
=
=

Capacidad de
institutos
x +x +x +x
x +x +x +x
x +x +x +x
11 21 31 41
12 22 32 42
13 23 33 43

600
800
500

Signo de
variables
x
11 31
0 , x , x , x , x , x x , x , x , x , x , x
12 13 21 22 23 32 33 41 42 43
,
7.3.- Completar el modelo.
Este modelo no tiene en cuenta el equilibrado de ambas comunidades en cada uno de los
institutos. Esta caracterstica va a ser modelada mediante restricciones del modelo. Para
ello impondremos cotas inferiores (en %), I=50-p, y cotas superiores, S=50+p, para cada
Construccin de modelos de Programacin Lineal
50
comunidad en cada instituto, donde p es un parmetro del modelo que define el porcentaje
de desviacin permitido frente al equilibrado total (ambas comunidades estn al 50% en
cada uno de los institutos). Dada una asignacin de alumnos de una zona a un instituto, los
mismos se distribuyen entre las comunidades A y B en igual proporcin en que coexisten
las comunidades en la zona correspondiente.
Para la comunidad A en los institutos 1, 2 y 3 quedan respectivamente:
( ) ( )
50
100
3
4
1
50
100
11 11 11

p
x x x +x +x +x + x +
2
5
x
+p
+x +x +x
21 31 41 21 31 21 31 41

( ) ( )
50
100
3
4
1
50
100
12 12 12

p
x x x +x +x +x + x +
2
5
x
+p
+x +x +x
22 32 42 22 32 22 32 42

( ) ( )
50
100
3
4
1
50
100
13 13 13

p
x x x +x +x +x + x +
2
5
x
+p
+x +x +x
23 33 43 23 33 23 33 43

De igual forma se impondran las condiciones de equilibrio para la comunidad B en cada
uno de los institutos. No obstante, al existir nicamente dos comunidades e imponer las
restricciones para una de ellas, implcitamente quedan impuestas para la otra.
7.4.-El modelo completo.
Funcin Objetivo Min 1.2 x +1.5 x + 3.3 x +2.6 x +4.0 x +5.5 x +
0.7 x +1.1 x +2.8 x +1.8 x +1.3 x +2.0 x
11 12 13 21 22 23
31 32 33 41 42 43

Restricciones
Escolarizacin de
todos los alumnos
x
x
x
x
11
21
31
41
400
400
500
500
+x +x
+x +x
+x +x
+x +x
12 13
22 23
32 33
42 43
=
=
=
=

Capacidad de
institutos
x +x +x +x
x +x +x +x
x +x +x +x
11 21 31 41
12 22 32 42
13 23 33 43

600
800
500

Equilibrado de
comunidad A en
instituto 1
( )
( )
3
4
1
50
100
3
4
1
50
100
11 11
11 11
x x
x
p
x
+ x +
2
5
x
+p
+x +x +x
+ x +
2
5
x +x +x +x
21 31 21 31 41
21 31 21 31 41


Equilibrado de
comunidad A en
instituto 2
( )
( )
42 32 22 12 32 22 12
42 32 22 12 32 22 12
x + x + x +
100
50
x
5
2
+ x 1 +
4
3
x + x + x +
100
p + 0 5
x
5
2
+ x 1 +
4
3
x
p
x
x x


Construccin de modelos de Programacin Lineal
51
Equilibrado de
comunidad A en
instituto 3
( )
( )
3
4
1
50
100
3
4
1
50
100
13 13
13 13
x x
x
p
x
+ x +
2
5
x
+p
+x +x +x
+ x +
2
5
x +x +x +x
23 33 23 33 43
23 33 23 33 43


Signo de
variables
x
11 31
0 , x , x , x , x , x x , x , x , x , x , x
12 13 21 22 23 32 33 41 42 43
,

7.5.- Consideraciones a posteriori.
El modelo construido es lineal en sus variables Para ello se ha optado por una expresin
lineal de las condiciones. La caracterstica del equilibrado de las comunidades en cada uno
de los institutos se ha modelado como restricciones del modelo. No obstante, se podran
haber introducido como otro criterio, que junto con el de minimizar la distancia acumulada
recorrida por los alumnos habra dado lugar a un problema de programacin multiobjetivo.
Se ha optado por la solucin propuesta debido a su mayor simplicidad para una posterior
resolucin.
El parmetro p introducido en las restricciones de equilibrado permite desviaciones de las
soluciones respecto del equilibrado perfecto. Para la resolucin del modelo ser necesario
fijar el valor de p, siendo necesario realizar posteriormente un anlisis de sensibilidad sobre
el valor del mismo.
Otra caracterstica del modelo es el carcter continuo de las variables de asignacin
x
ij
i, j. Es obvio que el nmero de alumnos que van de una zona a un instituto es entero.
Sin embargo, este carcter entero de las variables es conseguido sin necesidad de
imponerlo debido a la propiedad de unimodularidad (caracterstica de los problemas de
redes) que presentan las restricciones del problema.
Por ltimo, comentar el nivel de agregacin utilizado en el modelo. En un problema de
planificacin como el propuesto, las decisiones planteadas no son asignarle instituto a cada
alumno individualmente (propias de problemticas de menor horizonte) sino realizar un
reparto de los alumnos generados por cada una de las zonas (fuentes de produccin)
entre los institutos de capacidad limitada (centros de demanda).
Construccin de modelos de Programacin Lineal
52
8. Reparto de trabajos

8.1.- Descripcin.
Un grupo de n alumnos de Investigacin Operativa se plantean realizar conjuntamente una
coleccin de problemas.
La coleccin de problemas est compuesta por m captulos, constando cada uno de ellos
de un nmero de problemas conocido. De igual forma se conoce el tiempo que tarda cada
uno de los alumnos en realizar los problemas de los distintos captulos. Se supone que los
problemas de cada captulo son de igual dificultad por lo que un mismo alumno, tardara el
mismo tiempo en resolver cualquiera de ellos.
El problema que se les plantea es repartir el trabajo a realizar entre los alumnos, de forma
que el tiempo de trabajo invertido por los distintos alumnos est lo ms equilibrado posible.
Para ello, construya un modelo que describa la situacin planteada.
8.2.-Modelado.
8.2.1.- Horizonte.
En la situacin planteada no se fija un horizonte para la terminacin de la coleccin de
problemas, esto es, en funcin del reparto del trabajo que se haga entre los alumnos, la
coleccin se terminar en un determinado tiempo. En definitiva, el horizonte viene marcado
por la terminacin de la coleccin de problemas.
8.2.2.- Datos.
En la tabla adjunta se presenta una codificacin de los datos de la situacin planteada:
Subndices
i (i=1,...,n) alumnos
j (j=1,...,m) captulos
Parmetros
p
j
nmero de problemas del captulo j
t
ij
tiempo invertido por el alumno i en realizar un problema del
captulo j
Obsrvese que debido a que todos los problemas de un captulo son de igual complejidad,
el tiempo en que un alumno realiza cada uno de ellos es el mismo.
8.2.3.- Variables.
Son de dos tipos, variables propias y variables auxiliares.
Variables propias: Estn asociadas a las decisiones a tomar, esto es, el reparto de los
problemas de los distintos captulos entre los alumnos. Para modelar las decisiones
anteriores se utilizan las variables x
ij
i, j que denotan la fraccin de problemas que
Construccin de modelos de Programacin Lineal
53
cada alumno realiza de cada uno de los captulos.
Variables auxiliares: En caso de ser necesarias, surgirn durante el diseo del modelo.
8.2.4.- Restricciones
Sern las condiciones que deben cumplir los distintos repartos de trabajo.
8.2.4.1.- Terminacin de todos los problemas de los distintos captulos.
8.2.5.- Criterio(s)
Las soluciones admisibles se valorarn atendiendo al equilibrado de los tiempos de trabajo
invertido por los alumnos.
Debido a que el criterio de evaluacin de soluciones obliga a comparar tiempos de trabajo
invertidos por los alumnos, definiremos una variable auxiliar para cada alumno (u
i
), que
represente el tiempo de trabajo del mismo.
Para modelar el criterio de equilibrar los tiempos de trabajo invertidos por los distintos
alumnos se puede introducir una variable auxiliar u
max
, que sea una cota superior de los
tiempos de trabajo de los distintos alumnos. Minimizando esta cota superior, aparentemente
equilibraremos los tiempos de trabajo de los alumnos.
Con estos elementos se puede construir un primer modelo aproximado:
Funcin Objetivo Min u
max

Restricciones
Realizacin de todos los
problemas de todos los
captulos
x
ij
i
n
=
=
1
1 j
Tiempo de trabajo invertido
por cada alumno
t p x u
ij j
j
m
ij i
=
=
1
i
Definicin de tiempo del
alumno que ms trabaja

u u
i max
i
Signo de las variables x
ij

0 0
0
i, j u i
u
i
max

El primer grupo de restricciones impone para cada captulo, que la suma de las fracciones
que los alumnos hacen del mismo sea la unidad. En el segundo grupo se fija el valor de la
variable u
i
, para ello se suman los tiempos que el alumno invierte en cada captulo, que
sern el producto del tiempo invertido en un problema (t
ij
) por el nmero de problemas que
realiza del mismo (p
j
t
ij
). Por ltimo, en el ltimo grupo se impone que u
max
sea una cota
superior de los tiempos invertidos por los alumnos. La funcin objetivo asegura que u
max
es
el mayor tiempo de trabajo correspondiente a un alumno. La minimizacin del mismo hace
que la coleccin de problemas se termine lo antes posible, adems parece intuitivo que
equilibra los tiempos de los alumnos.
8.3.- Completar el modelo.
Construccin de modelos de Programacin Lineal
54
El modelo anterior puede no ser totalmente correcto en determinadas situaciones debido a
la forma de la funcin objetivo. En la funcin objetivo anterior no aparece ninguna forma del
desequilibrio, el cual queremos minimizar.
En situaciones donde la carga total a repartir no es constante, puede que el modelo anterior
no proporcione la solucin ms equilibrada. En definitiva, parece lgico modelar el
equilibrado de tiempos de trabajo de tal forma que se minimice una forma del desequilibrio.
Para ello, introduciremos una nueva variable auxiliar u
min
, que representa una cota inferior
del menor tiempo invertido por un alumno:
u u
min i
i
Una forma de medir el desequilibrio es mediante la diferencia entre los tiempos invertidos
por el alumno que ms trabaja y el que menos, minimizando dicha diferencia:
Min u
max
u
min

Obsrvese que con esta funcin objetivo se minimiza directamente una forma del
desequilibrio, es decir, la solucin totalmente equilibrada coincide con el ptimo del modelo
con esta nueva funcin objetivo.
8.4.-El modelo completo.
Funcin Objetivo Min u
max
u
min

Restricciones
Realizacin de todos los
problemas de todos los
captulos
x
ij
i
n
=
=
1
1 j
Tiempo de trabajo
invertido por cada alumno
t p x u
ij j
j
m
ij i
=
=
1
i
Definicin de tiempo del
alumno que ms trabaja

u u
i max
i
Definicin de tiempo del
alumno que menos trabaja

u u
min i
i
Signo de las variables x
u
ij
min

0 0
0
i, j u i
u
i
max
,

8.5.- Consideraciones a posteriori.
El modelo construido para representar la situacin descrita es lineal en sus variables.
En cuanto a las variables de decisin utilizadas para modelar el reparto de problemas,
hemos optado por ellas por su carcter continuo. Otra posibilidad hubiese sido utilizar
variables enteras para representar el nmero de problemas que cada alumno hace de cada
captulo. No obstante, cuando el nmero de problemas por captulo es alto, la aproximacin
utilizada difiere poco de las variables enteras, obviando la mayor complejidad que para una
posterior resolucin requieren estas.
Finalmente, comentar que la situacin planteada no requiere el anlisis de los problemas
individualmente, el cual requerira un elevado nmero de variables binarias.
Construccin de modelos de Programacin Lineal
55
9. Red de comunicaciones de ordenadores: asignacin de tareas a
procesadores

9.1. Descripcin.

Se pretende disear una red de comunicaciones compuesta por un conjunto de
procesadores y tareas de comunicacin. EL problema planteado consiste en la asignacin
de N tareas de comunicacin a un nmero indeterminado a priori de procesadores. Cada
procesador dispone de un rea de memoria de R unidades de RAM. La asignacin de la
tarea k-sima a un procesador cualquiera requiere de ste una cantidad de memoria
conocida que se representa mediante r
k
. Se considera de forma ideal que dos tareas
ubicadas en el mismo procesador intercambian informacin de forma instantnea, mientras
que si dos tareas (i,j) se encuentran en procesadores diferentes se incurre en un tiempo de
comunicacin c
ij
.

Suponiendo que no existe limitacin en el nmero de procesadores a utilizar, se debe
modelar el problema de asignacin propuesto, de forma lineal, con el objetivo de minimizar
el tiempo total de comunicacin entre tareas.

9.2. Formulacin del modelo.

9.2.1.Horizonte.

El caso propuesto expone una situacin que no se desarrolla a lo largo de un conjunto de
etapas o perodos. Una vez modelada la situacin, para unos datos concretos (r
k
, memoria
consumida por la tarea k-sima; C
ij
, tiempo de comunicacin entre tareas i,j en
procesadores distintos), la resolucin del problema dara lugar a una solucin que resultara
aplicable mientras no se produzcan modificaciones en los datos de partida.

9.2.2. Variables.

Como en todo problema de modelado, la eleccin o definicin de las variables a considerar
se convierte en un problema delicado. Dado que se trata de asignar tareas a procesadores,
parecera en principio adecuado considerar variables binarias del tipo:

=
contrario caso En 0
j procesador al asignada es i taraea la Si 1
ij


Sin embargo, el nmero de procesadores es desconocido a priori. Esto obligara a
considerar una cota superior para el nmero de procesadores, tal como el nmero de tareas
(Es decir, suponer que en el peor de los casos cada tarea es asignada a un procesador
diferente), con el consiguiente aumento en el nmero de variables del modelo N
2
, de las
cuales, slo N tomaran valor 1 y el resto seran N(N-1) nulas.

No obstante, formularemos el modelo haciendo uso de este tipo de variables.
Posteriormente discutiremos un modelo alternativo que obvia el clculo de una cota superior
del nmero de procesadores.

Evidentemente, la cota propuesta para el nmero de procesadores puede ser mejorada.
Consideremos } {
..... 1
k
L k
s
r max r
=
= , el mximo requerimiento de memoria por parte de una tarea.
Construccin de modelos de Programacin Lineal
56
Supongamos que todas las tareas necesitan r
s
unidades de memoria, entonces =R/ r
s

proporciona el nmero mximo de tareas que se pueden asignar a cada procesador. As
pues, =N/ es una cota superior del nmero de procesadores.

Por tanto, depende de los datos del problema. Conocidos stos, podremos formular el
modelo. El nmero de variables
ij
es N, de las cuales, tras su resolucin, en el ptimo, N
variables tomarn valor 1 y N(-1) sern nulas.

9.2.3. Restricciones.

La memoria total de cada procesador es igual a R unidades. La memoria consumida por las
tareas asignadas a cada uno de ellos debe ser inferior al valor antes indicado. As pues:

=
=
N
i
ij i
j R r
1
.... 1

Es decir, la suma de la necesidad de memoria para todas las tareas asignadas al
procesador j-simo, donde J =1......, debe ser menor que R unidades de RAM.

Cada tarea debe ser asignada a uno y slo uno de los procesadores, por tanto:

=
= =

1
.... 1 1
j
ij
N i

9.2.4. Funcin Objetivo.

Si las tareas (i,j) se encuentran en el mismo procesador no se incurre en un aumento del
tiempo de comunicacin, es decir, el tiempo de comunicacin entre ambas t
ij
tareas es nulo.
Por tanto, cuando
ij
=1 y
kj
=1 se tiene que t
ij
=0, y en otro caso t
ij
= c
ij
.

Para modelar esta consideracin en la funcin objetivo del problema es necesario utilizar
una variable auxiliar
ik
que tome valor 1 cuando las tareas (i,k) se ejecuten en
procesadores distintos , y valor cero si lo hacen en el mismo procesador. Cualquier intento
de modelado prescindiendo de este tipo de variables complicara enormemente la
formulacin de la funcin objetivo.

Si tenemos en cuenta las variables auxiliares, la formulacin de la funcin objetivo resulta
inmediata.

= + =
1
1 1
N
i
N
i j
ij ij
c Min

Ntese que el sumatorio recoge slo una vez cada uno de los tiempos de comunicacin c
ij

(esto resulta vlido siempre que los tiempos de comunicacin sean simtricos c
ij
= c
ji
).

Para finalizar el modelo de este caso es necesario relacionar las variables de decisin
ij

(i=1...N,j=1... .) y las variables auxiliares
ik
(i=1....N,k=1....N). Para ello consideremos la
siguiente tabla que relaciona los valores que pueden tomar dichas variables:

Construccin de modelos de Programacin Lineal
57







Puesto que la funcin objetivo responde al criterio Minimizar con coeficientes c
ij
0 (pues
representan tiempos), las filas primera y cuarta de la tabla anterior no necesitan un
modelado explcito, ya que si es posible, las variables tomarn valor cero. Sin embargo es
necesario forzar mediante nuevas restricciones los casos recogidos en las filas segunda y
tercera de la tabla de relacin.

Este tipo de implicaciones se modelan de acuerdo a lo visto en el apartado 6.6. de este
captulo.



..... 1 , .... 1 , 1 .... 1
1 ) 1 (
1 ) 1 (
= + = =

+ +
+ +
j N i k N i
ij kj ij
ij kj ij


As, cuando una de las variables de decisin es positiva y la otra es nula el trmino de la
izquierda para una de las restricciones toma valor cero y para la otra toma valor dos. En
ltimo este caso la variable auxiliar se ve obligada a tomar el valor uno.

9.2.5. Modelo completo.

= + =
1
1 1
N
i
N
i j
ij ij
c Min
sa:

=
=
N
i
ij i
j R r
1
.... 1

=
= =

1
.... 1 1
j
ij
N i



..... 1 , .... 1 , 1 .... 1
1 ) 1 (
1 ) 1 (
= + = =

+ +
+ +
j N i k N i
ij kj ij
ij kj ij


=
contrario caso En 0
j procesador al asignada es i taraea la Si 1
ij

=
contrario caso En 0
es procesador distintos a asignan se k i, tares de par el Si 1
ik



ij

kj

ik

0 0 0
1 0 1
0 1 1
1 1 0
Construccin de modelos de Programacin Lineal
58

9.3. Modelo alternativo.

El modelo que se formula a continuacin se basa en el uso de variables de decisin
parecidas a las usadas con anterioridad como variables auxiliares. Es decir, ahora las
variables de decisin del problema sern

=
contrario caso En 0
procesador mismo al asignada es k i, tares de par el Si 1
ik


Recordemos que este tipo de variables facilita enormemente la formulacin de los trminos
que aparecen en la funcin objetivo. Se trata pues de N(N-1)/2 variables, para i=1....N-1,
j=i+1....N.

9.3.1. Restricciones.

La restriccin que se deduce del enunciado del problema es la de limitacin de la capacidad
de memoria de cada procesador. Ahora la restriccin se formula de forma diferente, debido
a la eleccin de otro tipo de variables. Como ocurra en el caso anterior se desconoce el
nmero de procesadores, pero ahora se puede formular la condicin de no sobrepasar la
capacidad de memoria sin la necesidad de hacer explcito el nmero de los mismos.

Supongamos que la tarea k-sima se asigna a cierto procesador, entonces la memoria
disponible para asignar otras tareas ser R-r
k
, y se debe repartir entre el resto de tareas
que se asignen a dicho procesador, de esta manera tendremos:

N k r R x r x r
k ik
N
k i
i ik
k
i
i
..... 1
1
1
1
= +

+ =

=


Adems es necesario obligar ciertas relaciones de transitividad entre variables. Es decir, si
la tarea i-sima se ejecuta en un procesador conjuntamente con la tarea k-sima y la tarea
r-sima se ejecuta conjuntamente con la tarea i-sima, entonces es imprescindible imponer
que las tareas r-sima y k-sima se ejecuten en el mismo procesador, analticamente se
x
ik
=1 y x
ir
=1 entonces necesariamente x
rk
tiene que tomar valor unidad.

Estas relaciones se formulan mediante tres restricciones para cada tro de tareas, del modo:

N j r
N j
N i
xir xrk xik
xik xrk xir
xrk xik xir
...... 1
1 ... 1 1
2 ..... 1
1
1
1
+ =
+ =
=

+ +
+ +
+ +


9.3.2. Funcin Objetivo.

La funcin objetivo es parecida a la del modelado anterior ya que entonces slo intervenan
variables auxiliares, ahora convertidas en variables de decisin.

= + =

1
1 1
) 1 (
N
i
N
i j
ij ij
c Min

La diferencia radica en que se suma el coste cuando la variable toma el valor cero (las
Construccin de modelos de Programacin Lineal
59
tareas se encuentran en distintos procesadores) y no se suma (1-
ij
) cuando la variable
toma valor uno, es decir las tareas comparten procesador.

9.3.3. Modelo completo.

= + =

1
1 1
) 1 (
N
i
N
i j
ij ij
c Min
sa:

N k r R x r x r
k ik
N
k i
i ik
k
i
i
..... 1
1
1
1
= +

+ =

=


N j r
N j
N i
xir xrk xik
xik xrk xir
xrk xik xir
...... 1
1 ... 1 1
2 ..... 1
1
1
1
+ =
+ =
=

+ +
+ +
+ +

=
contrario caso En 0
procesador mismo al asignada es k i, tares de par el Si 1
ik



9.4. Comentarios.

En cuanto a tamao de los modelos, la siguiente tabla recoge la diferencia entre ambos:

Variables Restricciones
N
N N
+

2
) 1 (

+ + N N N ) 1 (
2
) 1 ( N N
N
N N N
+

2
) 2 )( 1 (


Es decir el primer modelo tiene siempre un nmero mayor de variables al utilizar las
variables de decisin ms las auxiliares, as mismo, el nmero de restricciones suele ser
mayor en el primer modelo, dependiendo de los datos del problema, pues se calcula a
partir del nmero mximo de tareas que se pueden albergar en un procesador, por tanto
dependen del mximo valor de r
k
para valores de k entre 1 y N. A priori parece que el
segundo modelo presentar una resolucin mas sencilla, en este sentido sera el modelo
recomendado para esta situacin.
Construccin de modelos de Programacin Lineal
60
Cobertura
10. Vigilancia de las salas de un museo.

10.1. Descripcin.

En la figura adjunta se observa la planta de un museo con once salas comunicadas por
catorce puertas. Un guardia situado en una puerta vigila las dos salas adyacentes que dicha
puerta comunica. Determinar el nmero mnimo de guardias que se requiere para vigilar todas
las salas del museo. Cual sera la distribucin de guardas si se desea que en ningn caso
haya ms de un guardia por habitacin?


10.2. Discusin.

Al igual que el problema anterior, este problema plantea una situacin de cobertura. Es
necesario localizar un conjunto de servicios en una serie de localizaciones conocidas de
manera que quede cubierta una superficie. A partir de los datos del problema se construye
una matriz de cobertura. cuyas filas representan las habitaciones a vigilar, para las filas
usaremos el ndice i (i=1...25). Las columnas de la matriz son las posibles localizaciones de
los guardias, en este caso son 14, y las representaremos mediante el ndice j. Los
elementos a
ij
de la matriz toman valor 1 si la habitacin i queda cubierta por el guardia
ubicado en la puerta j. Se trata de encontrara el mnimo nmero de guardias que pueden
vigilar el conjunto salas del museo.

10.3. Variables.

Para cada puerta j (j=1...14) usaremos una variable binaria con el significado siguiente:

=
sima - j puerta la en guardia un ubica se no Si 0
sima - j puerta la en guardia un ubica se Si 1
j


10.4. Restricciones.

El conjunto de restricciones bsicas del problema de cobertura se obtiene multiplicando la
matriz de cobertura por el vector de variables. Los trminos independientes se recogen en
un vector columna (11 elementos, tantos como habitaciones o salas tiene el museo) cuyo
Construccin de modelos de Programacin Lineal
61
valor ser el nmero mnimo de veces que la zona debe quedar cubierta.

As pues:

=
=
14
1
11 .... 1 1
j
j ij
i a

10.5. Funcin Objetivo.

El objetivo consiste en minimizar el nmero de cmaras a instalar y por tanto:

=
14
1 j
j
Min

10.6. Modelo completo.

=
14
1 j
j
Min
sa:

=
=
14
1
11 .... 1 1
j
j ij
i a

=
sima - j puerta la en guardia un ubica se no Si 0
sima - j puerta la en guardia un ubica se Si 1
j


10.7. Algunas mejoras.

En el caso en que se desea que ninguna sala quede vigilada por mas de dos guardias el
modelado anterior no es vlido. En este caso es necesario permitir que algn guardia quede
en el interior de alguna de las salas. Para modelar esta situacin necesitaramos incluir
variables binarias que recojan la existencia de un guardia en cada una de las salas, adems
de las variables binarias que indican la existencia de guardias en cada puerta.

Sean pues:

=
sima - j puerta la en guardia un ubica se no Si 0
sima - j puerta la en guardia un ubica se Si 1
j

=
sima - k sala la en guardia un ubica se no Si 0
sima - k sala la en guardia un ubica se Si 1
k


Puesto que es preferible situar guardias en puertas en lugar del interior de las salas, ya que
en una puerta vigilan todas las salas que se comunican a travs de la puerta, usaremos un
peso superior en la funcin objetivo para las variables
k
.

Ampliamos la matriz con 11 columnas correspondientes a las 11 salas. Los elementos de
Construccin de modelos de Programacin Lineal
62
esta nueva submatriz tienen el mismo significado que los iniciales,
ik
a toman valor 1 cuando
se sita un guardia en la sala k-sima. La nueva submatriz es diagonal, pues en cada sala
se considera una nica ubicacin. Las nuevas restricciones del problema son similares a las
anteriores, ahora con signo de igualdad e incluyendo la variable propia de la sala.

=
= = +
14
1
11 .... 1 1
j
i j ij
i a

La funcin objetivo ser entonces


= =
+
11
1
14
1 k
k
j
j
M Min

Siendo M un valor positivo mayor que la unidad que penaliza la colocacin de guardias en el
interior de las salas.

Construccin de modelos de Programacin Lineal
63
11. Localizacin de cmaras de TV

11.1.Descripcin.

Cplus tiene que televisar el partido del ao. Los productores han identificado 12 posibles
localizaciones para las cmaras y 25 reas del estadio que requieren ser cubiertas por las
cmaras. La tabla indica la relacin entre ambas:

LOCALIZACIN DE CMARA REA DEL ESTADIO
1 1, 3, 4, 6, 7
2 8, 4, 7, 12
3 2, 5, 9, 11, 13
4 1, 2, 18, 19, 21
5 3, 6, 10, 12, 14
6 8, 14, 15, 16, 17
7 18, 21, 24, 25
8 2, 10, 16, 23
9 1, 6, 11
10 20, 22, 24, 25
11 2, 4, 6, 8
12 1, 6, 12, 17

Se desea minimizar el nmero de cmaras empleadas. Adems, la localizacin 9 ha de
tener una cmara y las reas 1 y 2 requieren cobertura de al menos dos cmaras.
Obviamente, no deben situarse dos cmaras en la misma localizacin

Formule el problema, indicando el significado de las variables, representando la matriz de
coeficientes de las restricciones y el vector de trminos independientes.

11.2. Discusin.

Este problema plantea una situacin frecuente en programacin lineal denominada situacin
o problema de cobertura. Es necesario localizar un conjunto de servicios en una serie de
localizaciones conocidas de manera que quede cubierta una superficie. Los problemas de
cobertura se modelan siempre de una forma estndar. En primer lugar, a partir de los datos
del problema se construye una matriz de cobertura. cuyas filas representan las zonas a
cubrir, en este caso las zonas del estadio, para las filas usaremos el ndice i (i=1...25). Las
columnas de la matriz son las posibles localizaciones de las cmaras, en este caso son 12,
y las representaremos mediante el ndice j. Los elementos a
ij
de la matriz toman valor 1 si la
zona i queda cubierta por la cmara ubicada en la localizacin j. Se trata de encontrara el
mnimo numero de localizaciones que cubren el conjunto de las zonas.

En nuestro caso la matriz de cobertura es:

1 2 3 4 5 6 7 8 9 10 11 12
1 1 0 0 1 0 0 0 0 1 0 0 1
2 0 0 1 1 0 0 0 1 0 0 1 0
3 1 0 0 0 1 0 0 0 0 0 0 0
4 1 1 0 0 0 0 0 0 0 0 1 0
5 0 0 1 0 0 0 0 0 0 0 0 0
Construccin de modelos de Programacin Lineal
64
6 1 0 0 0 1 0 0 0 1 0 1 1
7 1 1 0 0 0 0 0 0 0 0 0 0
8 0 1 0 0 0 1 0 0 0 0 1 0
9 0 0 1 0 0 0 0 0 0 0 0 0
10 0 0 0 0 1 0 0 1 0 0 0 0
11 0 0 1 0 0 0 0 0 1 0 0 0
12 0 1 0 0 1 0 0 0 0 0 0 1
13 0 0 1 0 0 0 0 0 0 0 0 0
14 0 0 0 0 1 1 0 0 0 0 0 0
15 0 0 0 0 0 1 0 0 0 0 0 0
16 0 0 0 0 0 1 0 1 0 0 0 0
17 0 0 0 0 0 1 0 0 0 0 0 1
18 0 0 0 1 0 0 1 0 0 0 0 0
19 0 0 0 1 0 0 0 0 0 0 0 0
20 0 0 0 0 0 0 0 0 0 1 0 0
21 0 0 0 1 0 0 1 0 0 0 0 0
22 0 0 0 0 0 0 0 0 0 1 0 0
23 0 0 0 0 0 0 0 1 0 0 0 0
24 0 0 0 0 0 0 1 0 0 1 0 0
25 0 0 0 0 0 0 1 0 0 1 0 0

Cada columna contiene un coeficiente unitario en la posicin correspondiente a las zonas
que cubre la cmara. La denotaremos mediante la letra A.

11.3. Variables.

Para cada localizacin j (j=1...12) usaremos una variable binaria con el significado
siguiente:

=
sima - j n localizaci la en cmara una ubica se no Si 0
sima - j n localizaci la en cmara una ubica se Si 1
j


11.4. Restricciones.

El conjunto de restricciones bsicas del problema de cobertura se obtiene multiplicando la
matriz de cobertura por el vector de variables. Los trminos independientes se recogen en
un vector columna (25 elementos, tantos como filas) cuyo valor ser el nmero mnimo de
veces que la zona debe quedar cubierta.

As pues:

=
=
=
=
12
1
12
1
25 .... 3 1
2 , 1 2
j
j ij
j
j ij
i a
i a



Adems, el enunciado del caso nos indica que la localizacin novena debe disponer de una
cmara, por tanto es preciso aadir:

Construccin de modelos de Programacin Lineal
65
1
9
=

11.5. Funcin Objetivo.

El objetivo consiste en minimizar el nmero de cmaras a instalar y por tanto:

=
12
1 j
j
Min

11.6. Modelo completo.

=
12
1 j
j
Min
sa:

=
=
=
=
12
1
12
1
25 .... 3 1
2 , 1 2
j
j ij
j
j ij
i a
i a



1
9
=

=
sima - j n localizaci la en cmara una ubica se no Si 0
sima - j n localizaci la en cmara una ubica se Si 1
j

Construccin de modelos de Programacin Lineal
66
Localizacin
12. Localizacin continua de Hospitales

12.1. Descripcin.

Conocida la ubicacin geogrfica, coordenadas (a
i
, b
i
) {i=1,...,n}, de un conjunto de n
ciudades, se desea conocer el emplazamiento idneo para la construccin de un hospital de
manera que la distancia hasta la ciudad mas alejada sea lo menor posible.

Considrese una definicin de distancia rectangular. Es decir, la distancia entre dos puntos
X (x
1
,x
2
) e Y(y
1
,y
2
) responde a la expresin:

d(X,Y) =x
1
-y
1
+ x
2
-y
2


12.2. Consideraciones iniciales.

El enunciado descrito plantea un problema de tipo MinMax, consistente en la minimizacin
de la distancia existente entre la ciudad mas lejana y el hospital. En principio las
coordenadas que fijan la ubicacin de las ciudades no tienen por que ser positivas
(depender del origen de coordenadas tomado). Considerando el par (X,Y) como la
ubicacin del hospital, variables contnuas y libres en el signo, el objetivo del problema se
puede formular como sigue:

Que corresponde a un problema no lineal sin restricciones.

12.3. Formulacin inicial.

Con el fin de disponer de una funcin objetivo lineal, siempre es posible traducir el mximo
anterior en un conjunto no lineal de restricciones. Para ello basta con definir una variable Z
que representar la distancia mxima.
Entonces, la funcin objetivo del problema se puede expresar:
y resulta necesario aadir el conjunto de restricciones que establecen la acotacin superior
de la distancias:


( )

|
b
- Y | + |
a
- X |
i i
n 1,..., = i
Max
Min
( ) |
b
- Y | + |
a
- X | = Z
i i
n 1,..., = i
Max

Z Min
n 1,..., = i Z |
b
- Y | + |
a
- X |
i i

Construccin de modelos de Programacin Lineal
67
12.4. Conversin en un modelo lineal.

El modelo anterior dispone ya de una funcin objetivo lineal y un conjunto no lineal de
restricciones. La conversin de los valores absolutos en restricciones lineales se puede
llevar a cabo de dos formas.

La primera de ellas consiste en la realizacin de un cambio de variables. Si x es una
variable libre, entonces x = u - v, siendo u y v variables mayores o iguales a cero. El valor
absoluto x puede ser sustituido por la suma de las variables u y v. Esto se debe a que la
inclusin de estas dos variables en el conjunto de restricciones supone la aparicin de dos
columnas idnticas en la matriz de coeficientes tecnolgicos, con diferente signo para cada
coeficiente. De esta forma slo una de ellas podr ser bsica en cualquier solucin bsica
admisible.

La segunda forma de eliminar la no linealidad introducida por el valor absoluto consiste en la
consideracin de dos restricciones:
x <=a
es equivalente a:
x <=a y -x <=a ( x >=-a)

En el caso que nos ocupa se optar por la segunda posibilidad. El conjunto de restricciones

pasa a ser formulado como:
convirtindose en un conjunto de 4n restricciones con 3 variables, X, Y, Z libres en el signo.
Reagrupando variables y pasando las constantes a la derecha de las desigualdades, se
dispone de un modelo lineal para la localizacin del hospital.

n 1,..., = i Z |
b
- Y | + |
a
- X |
i i

n 1,..., = i Z
b
+ Y -
a
+ X -
n 1,..., = i Z
b
+ Y -
a
- X
n 1,..., = i Z
b
- Y +
a
+ X -
n 1,..., = i Z
b
- Y +
a
- X
i i
i i
i i
i i


libres Z Y, X,

n 1,..., = i
b
-
a
- Z - Y - X -
n 1,..., = i
b
-
a
Z - Y - X
n 1,..., = i
b
+
a
- Z - Y + X -
n 1,..., = i
b
+
a
Z - Y + X

: sa
Z
i i
i i
i i
i i

Min

Construccin de modelos de Programacin Lineal
68
12.5. Simplificaciones.

Ntese que las primeras y ltimas de las restricciones tienen el mismo trmino
independiente cambiado de signo. Lo mismo ocurre con las restricciones segundas y
terceras. Multiplicando por -1 las restricciones segundas y ltimas, se tiene:

Cada uno de los conjuntos de restricciones consiste en n restricciones idnticas en las que
vara exclusivamente el trmino independiente. Se trata pues de un conjunto de hiperplanos
paralelos. Por ello, para cada conjunto, n-1 restricciones resultan redundantes.
Considrense las siguientes definiciones:

Entonces, las restricciones del problema pueden simplificarse, formulndose como sigue:
12.6. Modelo final del problema.

libres Z Y, X,

S Z + Y + X
d Z - Y - X
D Z + Y - X
s Z - Y + X

: sa
Z

Min

n 1,..., = i
b
+
a
Z + Y + X
n 1,..., = i
b
-
a
Z - Y - X
n 1,..., = i
b
-
a
Z + Y - X
n 1,..., = i
b
+
a
Z - Y + X
i i
i i
i i
i i


S Z + Y + X
d Z - Y - X
D Z + Y - X
s Z - Y + X


}
b
-
a
{ = d
}
b
-
a
{ = D
}
b
+
a
{ = S
}
b
+
a
{ = s
i i
i
i i
i
i i
i
i i
i
min
max
max
min

Construccin de modelos de Programacin Lineal
69
13. Ubicacin estaciones de bomberos

13.1.- Descripcin.

En una ciudad se ha realizado una zonificacin en M distritos. Tras un anlisis preliminar se
han seleccionado N posibles localizaciones en las que se han de ubicar B estaciones de
bomberos (B<N). Adems, cada uno de los distritos han de ser asignados a las estaciones
de bomberos que se abran. Los datos disponibles son las distancias del centro de cada
distrito a la posible localizacin.

Disee un modelo que permita localizar las estaciones de bomberos, hasta un mximo de
B, asigne los distritos a las estaciones de bomberos que se abran (una sola estacin
asignada a cada distrito, si bien varios distritos pueden ser cubiertos desde la misma
estacin de bomberos) de forma que se minimice la mxima distancia que se haya de viajar
desde uno de los (centros de los) distritos hasta la estacin de bomberos que se le ha
asignado.

13.2.- Formulacin del modelo.

13.2.1.- Problemtica.

El problema planteado engloba dos tipos de decisiones: localizacin de las estaciones de
bomberos y asignacin de cada distrito a una estacin abierta en una posible localizacin.
El criterio de valoracin de las soluciones es el de minimizar el mayor desplazamiento entre
una estacin y un distrito.

13.2.2.- Codificacin de los datos.

Con los subndices i y j representaremos respectivamente los distritos (i = 1,...,M) y las
posibles localizaciones de estaciones de bomberos (j = 1,...,N). Las distancias entre
distritos y posibles localizaciones vendr dada por d
ij
i,j .

13.2.3.- Variables.

Las variables modelarn los dos tipos de decisiones a adoptar. En primer lugar, y asociado
a cada localizacin se introducir una variable que modele si se abre o no una estacin de
bomberos (Y
j
). En segundo lugar, dadas una localizacin y un distrito se tendr que decidir
si se asigna dicho distrito a la posible estacin que se abra en la localizacin (X
ij
). En total
tendremos M+M x N variables binarias.

Formalmente:
Construccin de modelos de Programacin Lineal
70

N ,..., 1 = j ; M ,..., 1 = i


caso otro En 0
j en) (abierta n estaci la a
asignado es i distrito el Si 1
=
X


caso otro En 0
j n localizaci la
en n estaci una abre se Si 1
=
Y
ij
j




13.2.4.- Restricciones.

13.2.4.1.- Como mximo se localizarn B estaciones de bomberos.

De las N posibles localizaciones de estaciones de bomberos, a lo sumo en B de
ellas se localizar una estacin. Puesto que Y
j
es la variable indicativa de la
localizacin de una estacin en j, la suma de estas variables para las N posibles
localizaciones debe ser menor o igual a B:
13.2.4.2.- Cada distrito asignado a una nica estacin.

Para cada distrito, de las posibles estaciones a las que puede ser asignado, slo lo
ser a una de ellas. Como las variables que modelan la asignacin de distritos a
estaciones abiertas en localizaciones son las X
ij
, para cada i tendremos que
imponer que la suma en j de estas variables sea la unidad:
Ahora bien, las relaciones anteriores no impiden que un distrito se asigne a una
localizacin en la que no se abre estacin. Esto es, se deber cumplir que si Y
j
= 0
entonces X
ij
= 0 i.

El modelado lineal de estas implicaciones se puede realizar acotando superiormente
las M x N variables X
ij
con las correspondientes Y
j
.



B
Y j
N
j=1


M , ... , 1 = i 1
X
=
ij
N
j=1


N , ... , 1 = j ; M , ... , 1 = i
Y

X j ij

Construccin de modelos de Programacin Lineal
71
13.2.4.3.- Mxima distancia entre un distrito y su estacin de bomberos.

Como el criterio de valoracin de las soluciones maneja la mxima distancia entre un
distrito y su estacin, introduciremos una variable U, que ser una cota superior de
las distancias entre los distritos y sus respectivas estaciones.

Para modelar lo anterior se introduce para cada distrito una restriccin en donde se
impone que la distancia desde el mismo a su estacin sea menor o igual a U. Para
expresar la distancia entre un distrito y su estacin, se realiza la suma extendida a
las N localizaciones del producto de la distancia entre el distrito y cada localizacin:
El primer trmino de las relaciones anteriores recoge las distancias de los distritos a
sus respectivas estaciones ya que con las restricciones 2.4.2 se impone que cada
distrito se asigna a una sola estacin.


13.2.4.- Objetivo.

El objetivo del problema consiste en la minimizacin de la mxima distancia entre un distrito
y su correspondiente estacin. Minimizando la variable U conseguiremos lo anterior. As
pues, la funcin objetivo se puede formular como sigue:



13.2.5.- Modelo.

sa:


M , ... , 1 = i
U

X d ij ij
N
j=1


U Min
U Min
B
Y j
N
j=1


M , ... , 1 = i 1
X
=
ij
N
j=1


N , ... , 1 = j ; M , ... , 1 = i
Y

X j ij

Construccin de modelos de Programacin Lineal
72


binarias
Y
,
X
0, U
j ij



13.3.- Consideraciones finales.

Se ha formulado un modelo matemtico para la localizacin de estaciones de
bomberos en una ciudad y la asignacin de los distritos de la misma a las estaciones
abiertas. Las decisiones de tipo Asi/no@se modelan mediante variables binrias.

Las M x N restricciones que evitan la asignacin de un distrito a una localizacin
donde no se abre estacin de bomberos (si Y
j
= 0 entonces X
ij
= 0 i) pueden
ser reformuladas con nicamente N restricciones:

N , ... , 1 = j
Y
M
j

X

ij
M
=1 i



M , ... , 1 = i
U

X d ij ij
N
j=1



Construccin de modelos de Programacin Lineal
73
Distribucin
14. Planificacin de la distribucin de un producto

14.1. Descripcin.

Cierta empresa dispone de dos fbricas F1 y F2 cuya produccin abastece seis zonas
geogrficas Z1,...,Z6. La empresa cuenta asimismo con cuatro almacenes A1,..,A4
geogrficamente dispersos que son usados como almacenamiento del producto y como
fuente para satisfacer la demanda.

Las capacidades mensuales de produccin de las fbricas y la capacidad de los almacenes
intermedios (en unidades de producto) se muestran en la Tabla 1.


F1

F2

A1

A2

A3

A4

Total

150000

200000

70000

30000

10000

40000

500000

Tabla 1

El nmero mensual de productos demandado en cada una de las zonas se ha estimado de
acuerdo al contenido de la Tabla 2.


Z1

Z2

Z3

Z4

Z5

Z6

Total

30000

10000

40000

35000

60000

20000

195000

Tabla 2

Los costes asociados al transporte de fbricas a almacenes y de estos a las diferentes
zonas de distribucin se proporcionan en las Tablas 3 y 4.




A1

A2

A3

A4

F1

0,5

0,5

1

0,2

F2



0,3

0,5

0,8

Tabla 3




Z1

Z2

Z3

Z4

Z5

Z6

F1

1



2

2



6

F2

2











A1



0,5

1,5

1,5



1

A2

1

0,5

1

1

0,5



A3



2





0,5

1,5

A4



0,2

1,5

1,5

0,5

1,5

Construccin de modelos de Programacin Lineal
74
Tabla 4


Se desea planificar la distribucin de producto de manera que el coste asociado resulte
mnimo. Formlese un modelo alternativo que recoja las siguientes preferencias.

La zona 1 debe ser servida por la fbrica F1.
La zona 2 debe ser servida por el almacn A1.
El almacn A2 debe atender la demanda de la zona 5.
La zona 6 debe ser atendida por el almacn 3 el 4.

Tras cierto tiempo de operacin, la empresa se plantea la posibilidad de abrir dos nuevos
almacenes M1 y M2 as como la ampliacin del segundo de sus almacenes A2. En
cualquier caso se desea que el nmero de almacenes abiertos no supere el nmero inicial,
pues esto supondra la contratacin de personal nuevo. En el caso en que fuese necesario
cerrar uno o dos almacenes, se deber elegir entre A3 y A4.

La apertura de M1 supondr un coste fijo de 12.000.000 de pts. La de M2 se estima en
6.000.000 de pts. Las capacidades de estos nuevos almacenes son 100.000 y 150.000
unidades respectivamente y los costes de transporte de fabricas a almacenes y de estos a
las zonas de distribucin se consideran conocidos.

La ampliacin de A2 en 20.000 unidades exige un desembolso de 3.000.000 de pts.
Mientras el cierre de A3 y A4 generara unos beneficios por la venta de material auxiliar de
10.000.000 y 5.000.000 pts respectivamente.

Se desea conocer un nuevo plan de distribucin que proponga adicionalmente la apertura,
ampliacin o cierre de los almacenes afectados.


14.2. Modelo.

14.2.1. Horizonte.

Como horizonte para el plan de distribucin de considerar un mes. Se supondr un solo
viaje desde cada fabrica a almacenes y zonas y de cada almacn hacia las diferentes
zonas. Se considerar que inicialmente los almacenes se encuentran vacos.

14.2.2. Variables.

Las variables naturales del problema se refieren a las cantidades a enviar desde fabricas a
almacenes y zonas as como desde los almacenes a las zonas de demanda. Al igual que en
otros casos se considerarn variables de tipo contnuo para representar el nmero de
productos enviados. Si el valor o tamao de los productos es elevado convendra utilizar
variables enteras.

A lo largo de la exposicin se usar el ndice i para representar fbricas, j para almacenes y
k para las zonas de demanda. De esta forma, el nmero de productos enviados de fbricas
a almacenes se denotar mediante X
ij
(i=1,2; j=1,...,4), las cantidades de productos
enviados directamente de fbricas a zonas se representan mediante las variables Y
ik
(i=1,2;
k=1,...,6) y para los envos desde almacenes a zonas de demanda se usarn variables Z
jk

(j=1,...,4; k=1,...,6).
Construccin de modelos de Programacin Lineal
75

A lo largo del proceso de modelado surgirn otras variables que se comentarn en su
momento.

14.2.3. Restricciones.

14.2.3.1. Limitacin de capacidad de produccin en las fbricas.

El primer tipo de restricciones del problema se refiere a la limitacin en la capacidad
de produccin de las dos fbricas de la empresa. Para cada fbrica, la suma de
productos enviados a los almacenes y zonas de demanda debe ser menor que la
capacidad mxima, esto es:

Donde C
i
es conocido e igual a la capacidad mxima de la fabrica i, de acuerdo al
contenido de la Tabla 1.

14.2.3.2. Limitacin de capacidad de los almacenes.

La formulacin de estas restricciones depender de ciertas consideraciones. En
primer lugar es necesario saber si existe un stock inicial de producto en los
almacenes. En este caso, la capacidad efectiva de almacenamiento es menor que la
recogida, para cada almacn, en la Tabla 1.

En segundo lugar es preciso definir la forma de funcionamiento del almacn. Una
posibilidad consiste en esperar la llegada de productos de las fbricas para
posteriormente, una vez finalizado este proceso, iniciar el envo de almacenes a
zonas de distribucin. La segunda posibilidad supone un comportamiento mas
inteligente en la gestin del almacn. A medida que los productos van llegando de
las fabricas son enviados hacia las zonas de consumo, liberando el espacio
ocupado. En ambos casos es posible que queden productos en los almacenes al
finalizar la distribucin mensual.

Bajo el segundo comportamiento en la gestin de almacenes, si se considera la no
existencia inicial de productos en stock, las restricciones de capacidad en almacenes
se podran formular como sigue:.
Donde CA
j
representan los valores de las capacidades de almacenes recogidos en
la tabla 1.

Si se tiene en cuenta un stock inicial en almacenes Io
j
, las restricciones anteriores se
escribiran:
4 , ... , 1 = j
Io CA Z X
- -
j j jk
6
=1 k
ij
4
=1 i



2 , 1 = i
C Y X
+
i ik
6
=1 k
ij
4
j=1



4 , ... , 1 = j
CA Z X
-
j jk
6
=1 k
ij
4
=1 i



Construccin de modelos de Programacin Lineal
76

Las restricciones de capacidad de almacenamiento suponen un balance de
productos en cada almacn. El nmero de productos que entran menos el nmero
de productos que salen debe ser menor o igual que la capacidad de los almacenes.

Como se ver posteriormente la funcin objetivo consistir en la minimizacin de
costes de transporte de productos. Debido a esto, es previsible que los productos
que llegan a almacenes sean enviados en su totalidad a las fbricas, pues el
almacenamiento en exceso supondra un coste adicional de transporte desde
fbricas a almacenes.

14.2.3.3. satisfaccin de la demanda en zonas de distribucin y consumo.

El nmero de productos enviado a cada una de las zonas deber superar el valor
mnimo demandado. Puesto que se minimizan costes de transporte parece
adecuado enviar hasta las zonas de consumo el nmero exacto de productos. Las
restricciones de demanda, una para cada zona de distribucin, se formulan a
continuacin:

Siendo D
k
la demanda prevista para la zona k-sima, cuyo valor se recoge en la
tabla 2.

14.2.4. Funcin objetivo.

Consiste en la minimizacin de los costes de distribucin de productos.

Siendo C
ij
, C=
ik
y C@
jk
los costes asociados a los desplazamientos fbrica-almacn, fbrica-
zona y almacn-zona respectivamente, cuyos valores aparecen en las tablas 3 y 4.

14.2.5. Modelo completo.

sa:

6 , ... , 1 = k
D Z X
+
k jk
4
j=1
ik
2
=1 i



+ +
Z C Y C X C

jk jk
6
=1 k
4
j=1
ik ik
6
=1 k
2
=1 i
ij ij
4
j=1
2
=1 i


Min
+ +
Z
"
C Y C X C

jk jk
6
=1 k
4
j=1
ik ik
6
=1 k
2
=1 i
ij ij
4
j=1
2
=1 i


Min
2 , 1 = i
C Y X
+
i ik
6
=1 k
ij
4
j=1



Construccin de modelos de Programacin Lineal
77


14.3. Rutas prohibidas.

Las tablas de costes (Tablas 3 y 4) muestran algunas casillas sin ningn valor. Esta
circunstancia debe interpretarse como la existencia de rutas prohibidas, es decir pares
origen-destino no permitidos. El modelado de esta situacin puede realizarse considerando
costes muy altos en las rutas implicadas o forzando las respectivas variables a un valor
cero, lo que supone la inclusin de nuevas restricciones.

14.4. Anlisis de preferencias.

En el caso en que se deseen satisfacer algunas preferencias, como las recogidas en el
enunciado del caso propuesto, se puede optar por efectuar modificaciones en los costes de
las rutas preferidas, reducindolos, de manera que la resolucin del modelo conlleve a la
eleccin de los caminos elegidos. Posteriormente se calcular el coste global real, utilizando
los valores recogidos en las tablas 3 y 4.

14.5. Modificacin de las instalaciones.

La empresa se plantea, tras cierto tiempo de operacin, la posibilidad de abrir dos nuevos
almacenes M1 y M2 y la ampliacin del almacn A2. En ningn caso el nmero total de
almacenes exceder el inicial, esto es, cuatro almacenes. Si fuese preciso cerrar alguno de
los almacenes existentes se optar entre A3, A4 o ambos.

La apertura de los nuevos almacenes y la ampliacin de A2 supone un coste fijo conocido.
El cierre de A3 y A4 proporcionara ciertos beneficios, debido a la venta de material auxiliar.

La empresa desea estudiar un nuevo plan de distribucin teniendo en cuenta las decisiones
sobre apertura, ampliacin y cierre de los almacenes afectados.

Las decisiones de apertura y cierre de almacenes se modelarn mediante variables 0-1. Se
definen con este fin las siguientes variables:

1
: Tomar valor 1 si se decide abrir el almacn M1. Cero en caso contrario.

2
: Tomar valor 1 si se decide abrir el almacn M2. Cero en caso contrario.

3
: Tomar valor 1 si se mantiene abierto el almacn A3. Cero en caso contrario.

4
: Tomar valor 1 si se mantiene abierto el almacn A4. Cero en caso contrario.

5
: Tomar valor 1 si se decide ampliar el almacn A2. Cero en caso contrario.


14.5.1. Limitacin en el nmero de almacenes abiertos.

4 , ... , 1 = j
Io CA Z X
- -
j j jk
6
=1 k
ij
4
=1 i



6 , ... , 1 = k
D Z X
+
k jk
4
j=1
ik
2
=1 i



Construccin de modelos de Programacin Lineal
78
La empresa no desea mantener ms de cuatro almacenes abiertos de forma simultnea.
Puesto que los almacenes involucrados en esta decisin son M1, M2, A3 y A4, y de acuerdo
a la definicin anterior para las variables binarias.

Es decir, de los cuatro almacenes (dos nuevos y dos antiguos), solamente dos podrn
quedar abiertos.


14.5.2. Limitacin del nmero de productos que llega o sale de cada almacn.


La decisin final de la empresa supondr la no existencia de dos de los almacenes M1, M2,
A3 y A4. Si alguno de ellos no se construye (M1, M2), o se cierra (A3, A4), la cantidad de
productos que le llega desde las fbricas debe ser nula. Del mismo modo, al no existir, no
se podrn envos desde l hacia las zonas de consumo.

Para modelar estas restriccin es (para cada almacn) basta con acotar la suma de
cantidades enviadas desde las fabricas (o las cantidades a enviar hacia zonas de demanda)
mediante el producto de la correspondiente variable binaria y cierta constante. Si la variable
binaria toma valor cero (almacn cerrado) las variables X
ij
y Z
jk
sern nulas.

Las constantes se denotan en las restricciones mediante
s
y
s
. Estas constantes
debern ser tales que cuando la variable binaria tome valor 1 no acte la restriccin.

Para el caso de envos de fbricas a almacenes.

En el caso de envos de almacenes a zonas de demanda.

En el primer caso la constante
s
de cada restriccin puede ser sustituida por la suma de
las producciones de todas las fbricas. Quedando la restriccin como:
En el segundo caso se puede usar la suma de todas las demandas como cota para las
restricciones:
2 + + +
4 3 2 1



A4) , A3 , M2 , (M1 4 , 3 2, , 1 = s
X

s s is
2
=1 i



A4) , A3 , M2 , (M1 4 , 3 2, , 1 = s
Z

s s sk
6
=1 k



A4) , A3 , M2 , (M1 4 , 3 2, , 1 = s
C X

i
2
=1 i
s is
2
=1 i



A4) , A3 , M2 , (M1 4 , 3 2, , 1 = s
D Z

k
6
=1 k
s sk
6
=1 k



Construccin de modelos de Programacin Lineal
79

14.5.3. Restricciones de capacidad de los almacenes.

Estas restricciones mantienen su formulacin para todos los almacenes, incluyendo los
almacenes M1 y M2.

El ndice j recoge los almacenes A1,A3,A4 y los nuevos M1 y M2. Para el almacn A2 es
preciso formular una nueva restriccin que considere la ampliacin de capacidad:

14.6. Funcin objetivo.

La funcin objetivo del problema se ver modificada con los costes debidos a la apertura de
nuevos almacenes as como los posibles beneficios derivados del cierre de los almacenes
A3 y A4 (si es que tiene lugar).

14.7. Modelo mejorado.

sa:
6 , ,... 3 , 1 = j
Io CA CA Z X
- + -
j 2 2 2 2k
6
=1 k
i2
4
=1 i




A4) , A3 , M2 , (M1 4 , 3 2, , 1 = s
C X

i
2
=1 i
s is
2
=1 i



6 , ,... 3 , 1 = j
Io CA Z X
- -
j j jk
6
=1 k
ij
4
=1 i



6 , ,... 3 , 1 = j
Io CA CA Z X
- + -
j 2 2 2 2k
6
=1 k
i2
4
=1 i




5 2 3 2
1 jk jk
6
=1 k
4
j=1
ik ik
6
=1 k
2
=1 i
ij ij
4
j=1
2
=1 i
+ - -
+ + + +
) 10
6
x 3 ( ) 10
6
x 5 ( ) 10
6
x 10 ( ) 10
6
x 6 (
)
10
6
x 12 (
Z
"
C Y C X C



Min

5 2 3 2
1 jk jk
6
=1 k
4
j=1
ik ik
6
=1 k
2
=1 i
ij ij
4
j=1
2
=1 i
+ - -
+ + + +
) 10
6
x 3 ( ) 10
6
x 5 ( ) 10
6
x 10 ( ) 10
6
x 6 (
)
10
6
x 12 (
Z
"
C Y C X C



Min

6 , ,... 3 , 1 = j
Io CA Z X
- -
j j jk
6
=1 k
ij
4
=1 i



Construccin de modelos de Programacin Lineal
80
A4) , A3 , M2 , (M1 4 , 3 2, , 1 = s
D Z

k
6
=1 k
s sk
6
=1 k



2 + + +
4 3 2 1



2 , 1 = i
C Y X
+
i ik
6
=1 k
ij
4
j=1




6 , ... , 1 = k
D Z X
+
k jk
4
j=1
ik
2
=1 i



) 1 , 0 ( , 0
Z
,
Y
,
X i jk ik ij

Construccin de modelos de Programacin Lineal
81
Secuenciacin
15. Peridicos

15.1. Descripcin.

Cuatro estudiantes que comparten piso se levantan temprano para asistir a las clases
matinales. A las 8.00 de la maana reciben su suscripcin a cuatro peridicos de tirada
nacional (El Pas, ABC, El Mundo y Diario 16). Desayunan a las 9.00 (como ms tarde),
disponiendo pues de una hora para ojear los distintos diarios. Los tiempos que cada uno de los
lectores dedica a cada uno de los peridicos aparecen en la siguiente tabla:

Lector El
Pas
ABC El Correo Diario 16
Lector 1 20' 5' - 15'
Lector 2 10' 10' 10' 10'
Lector 3 - 15' 15' 10'
Lector 4 5' 10' 20' 5'

En qu orden deben leer los peridicos para que queden libres lo antes posible?

15.2. Horizonte.

El horizonte temporal del caso se inscribe en una hora, tiempo del que disponen los lectores
para disfrutar de la lectura de los diarios hasta el momento del desayuno a las 9:00 horas.
En principio se podra pensar en discretizar el intervalo en perodos de 5 minutos, al ser la
menor fraccin de tiempo dedicada a lectura y puesto que los tiempos de lectura son
mltiplos de 5 minutos. De esta forma se dispondra de 12 intervalos. El modelado se
reducira a ocupar cada uno de estos intervalos para cada uno de los lectores. este punto
de vista implica la consideracin de restricciones de continuidad, de forma que cuando un
lector comienza la lectura de un diario no pude alternar otro diario hasta haber finalizado
completamente el tiempo dedicado al primero. El enfoque que se sigue a continuacin es
diferente, no se discretizar el tiempo, en su lugar usaremos variables continuas que indican
el instante de comienzo de cada peridico por cada lector. Posteriormente se relacionarn
estas variables para evitar simultaneidad en la lectura de dos peridicos y que varios
lectores usen un mismo diario. Utilizaremos los ndice i, r para lectores y los ndices j, k
para peridicos.

15.3.Variables.

En principio las variables de decisin del problema son continuas y representan el inicio de
lectura de cada peridico por parte de cada lector.

j peridico del lectura la comienza i lector el que en Instante
ij
t

Como dato de partida se conocen los tiempos que cada lector dedica a cada peridico,
aparecen en la tabla del apartado 1 del caso y los representaremos mediante d
ij
.

15.4. Restricciones.

Construccin de modelos de Programacin Lineal
82
15.4.1. Un lector slo lee un peridico de forma simultnea.

Entonces para cada lector i (i=1..4) y cada par de peridicos j, k (j=1..3, k=j+1...4) se
cumple una de las siguientes relaciones:

ij ij ik
ik ik ij
d t t
o
d t t
+
+


Dependiendo de si el lector i toma el peridico j despus del k o al contrario. Se trata de un
par de restricciones disyuntivas. El modelado de este tipo de situaciones se trat con
anterioridad en este captulo. Su formulacin lineal pasa por la consideracin de una
variable auxiliar binaria.

Sea
4 ... 1 , 3 ... 1 , 4 ... 1
contrario caso En 0
k el que antes j peridico el lee simo - i lector el Si 1
+ = = =

= j k j i
i
jk


en este caso, las restricciones de no simultaneidad en la lectura de dos peridicos se
pueden escribir como:

ij ij ik
i
jk
ik ik ij
i
jk
d t t M
d t t M
+ +
+ +
) 1 (



Esto es, si i lee j antes que k se satisface la segunda restriccin, es decir el instante de
inicio de lectura del peridico k es posterior a la finalizacin de la lectura del diario j-simo.
La primera restriccin no acta para un valor conveniente de la cota M. Pinsese que un
valor adecuado para M sera, por ejemplo, el de 60 minutos, en este caso la primera
restriccin dice que el instante de inicio de lectura del peridico k +60 minutos es mayor
que el instante de finalizacin de lectura del peridico j, o de otra forma, la primera
desigualdad no restringe el espacio de decisin (regin de admisibilidad del problema) al ser
desplazada fuera de la misma.

15.4.2. Dos lectores no pueden leer un mismo peridico al mismo tiempo.

Nuevamente se plantean dos restricciones disyuntivas, esta vez para dos lectores y un
nico peridico.
ij ij rj
rj rj ij
d t t
o
d t t
+
+


Para linealizar esta situacin se define una nueva variable auxiliar:

4 ... 1 , 3 ... 1 , 4 ... 1
contrario caso En 0
r lector el que antes j peridico el lee i lector el Si 1
+ = = =

= i r i j
ir
j


Las restricciones de no simultaneidad de lectores se escriben entonces de la siguiente
Construccin de modelos de Programacin Lineal
83
forma:

ij ij rj
ir
j
rj rj ij
ir
j
d t t N
d t t N
+ +
+ +
) 1 (



Que tienen una lectura similar al caso del apartado anterior. La constante N puede ser fijada
al mismo valor que M, es decir 60 minutos.

15.5. Funcin Objetivo.

La funcin objetivo consiste en minimizar el mximo tiempo de finalizacin de lectura.

Formalmente:

{ }

+
ij ij
j i
d t Max Min
,


Para linealizar esta expresin se define T= { }
ij ij
j i
d t Max +
,
. Entonces la funcin objetivo del
problema consiste en la minimizacin de T. Ahora es necesario introducir como
restricciones del problema la relacin existente entre T y las dems variables de decisin, y
puesto que T es su mximo se tiene:

4 ... 1 , 4 .... 1 = = + j i T d t
ij ij


15.6. Modelo completo.

T Min
sa:
4 ... 1 , 4 .... 1 = = + j i T d t
ij ij


ij ij ik
i
jk
ik ik ij
i
jk
d t t M
d t t M
+ +
+ +
) 1 (



ij ij rj
ir
j
rj rj ij
ir
j
d t t N
d t t N
+ +
+ +
) 1 (



4 ... 1 , 3 ... 1 , 4 ... 1
contrario caso En 0
k el que antes j peridico el lee simo - i lector el Si 1
+ = = =

= j k j i
i
jk


4 ... 1 , 3 ... 1 , 4 ... 1
contrario caso En 0
r lector el que antes j peridico el lee i lector el Si 1
+ = = =

= i r i j
ir
j

4 ... 1 , 4 ... 1 0 , 0 = = j i t T
ij

Construccin de modelos de Programacin Lineal
84
Equilibrado de cadenas
16. Embalaje de objetos con relaciones de precedencia.

16.1.Descripcin.

Una empresa de transporte pretende embalar siete objetos, para ello dispone de siete cajas
(numeradas del 1 al 7) con una capacidad de 17 m
3
cada una de ellas.

El grafo de la figura representa en los nodos cada uno de los siete objetos, indicando
encima de stos el volumen (en m
3
) requerido por cada uno de ellos. Los arcos representan
relaciones de precedencia a verificar por la ordenacin en la que se embalan los objetos en
las cajas. Por ejemplo, para embalar el objeto 2 en la caja 2, el objeto 1 ha tenido que
ser embalado en las cajas 1 2.

El problema que se plantea es decidir en qu caja se embala cada objeto, de tal forma que
el nmero de cajas utilizadas sea lo ms pequeo posible. Modele la problemtica mediante
programacin lineal.
2 5
4 1 7
5 4
7 6
3 6
12 5 8


16.2. Variables.

Para modelar este problema utilizaremos un conjunto de variables binarias que indicarn si
el objeto i-simo ha sido embalado en la caja j-sima. El ndice i se reserva para objetos y el
j para las cajas, ambos varan de 1 a 7.

=
contrario caso En 0
sima - j caja a asignado es simo - i objeto Si 1
ij
Resulta conveniente definir las relaciones de precedencia mediante dos conjuntos de datos
para cada objeto. el primero de ellos denominado A(i) (antes de i), es el conjunto de objetos
que preceden al i-simo en el grafo que muestra las precedencias. El conjunto N(i)
contendr para cada objeto el nmero de objetos que lo preceden. As para el grafo de la
figura se tiene:

i A(i) N(i)
1 - 0
2 1 1
3 1 1
4 1,2,3 3
5 1,2,3,4 4
6 1,2,3,4 4
7 1,2,3,4,5,6 6
Construccin de modelos de Programacin Lineal
85

Estos conjuntos resultarn de utilidad a la hora de formular las restricciones del problema.

16.3.Restricciones.

16.3.1.Asegurando el embalaje de cada objeto.

En primer lugar, todos los objetos deben ser envasados en alguna de las cajas, por tanto, la
suma de las variables
ij
extendida al nmero de cajas debe ser igual a 1 para cada uno de
los objetos.

7 ... 1 1
7
1
= =

=
i
j
j i


16.3.2. Limitacin de volumen de las cajas.

Cada una de las cajas tiene un volumen de 17 m
3
que no puede ser superado. Por tanto la
suma de los volmenes de objetos en cada caja debe ser menor que la capacidad de la
caja.
7 ... 1 17
7
1
=

=
j p
ij
i
i


16.3.3.Restricciones de precedencia.

Si analizamos la pertenencia del objeto i-simo a la caja nmero s, todos los objetos
precedentes (por tanto pertenecientes al conjunto A(i)) deben haber sido embalados en
cajas que van desde la 1 a la nmero s incluida sta. La suma de objetos precedentes debe
coincidir con N(i), si no es as, el objeto i-simo no puede ser envasado en la caja nmero s.
Esta condicin se puede establecer mediante la siguiente restriccin:

7 ... 1 ), ( ) (
1
=

=
s i A k i N
s
j
kj is



16.4. Funcin Objetivo.

La funcin objetivo consiste en minimizar el nmero de cajas que se deben usar para
envasar los siete objetos. Para su formulacin definimos S como el nmero mximo de
cajas, con lo cual el objetivo consiste en minimizar S. Es necesario relacionar las variables
binarias del problema con la variable S. Para ello se introduce la siguiente restriccin:

=
=
7
1
7 ... 1
j
ij
i j S

Para cada uno de los objetos, S debe ser mayor que el nmero de caja en que ha sido
embalado, recordemos que slo una de las
ij
que aparecen sumadas en la restriccin
anterior ser igual a 1. El ndice j nos ndica a que caja pertenece el objeto i-simo. As
pues, el objetivo se reduce a minimizar el nmero mximo de cajas usadas.

Construccin de modelos de Programacin Lineal
86
S Min

16.5. Modelo.

S Min
sa:

7 ... 1 1
7
1
= =

=
i
j
j i


7 ... 1 17
7
1
=

=
j p
ij
i
i


7 ... 1 ), ( ) (
1
=

=
s i A k i N
s
j
kj is

=
=
7
1
7 ... 1
j
ij
i j S

=
contrario caso En 0
sima - j caja a asignado es simo - i objeto Si 1
ij


Construccin de modelos de Programacin Lineal
87
Tcnicas de modelado
17. Regresin lineal.

17.1. Descripcin.

Al realizar un conjunto de experimentos se considera una variable independiente x cuyos
valores se fijan voluntariamente, midiendo el resultado del experimento en trminos de la
variable dependiente y. Una vez realizados 1 experiencias se han obtenido los siguientes
resultados:

Exp 1 2 3 4 5 6 7 8 9 10
x 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
y 0.9 0.7 1.5 2.0 2.4 3.2 2 2.7 3.5 1

Se desea efectuar una aproximacin cuadrtica del tipo y=cx
2
+bx+a que refleje la relacin
funcional entre la variable independiente x y la variable dependiente y, de forma que se
minimice el mximo error absoluto obtenido, teniendo en cuenta los diez experimentos
realizados.

17.2. Discusin.

La figura adjunta muestra de forma esquemtica los resultados del conjunto de
experimentos y la aproximacin cuadrtica, sealando las desviaciones obtenidas.


y
x
Aproximacin
cuadrtica
Desviacin


La formulacin inicial de este problema responde a un objetivo del tipo MiniMax. Se trata de
minimizar la mxima de las desviaciones en valor absoluto, esto es:

{ } { } ) (
2
c bx ax y Max Min
i i i
i
+ +

Donde a,b y c son las variables a determinar, x
i
(i=1...10) los valores de la variable
independiente e y
i
(i=1...10) los valores de la variable dependiente. Los pares (x
i
,y
i
) son
datos conocidos como resultado de los experimentos realizados.

Construccin de modelos de Programacin Lineal
88
Se trata de una expresin no lineal. La linealizacin de la misma dar lugar al modelo de
programacin lineal deseado. En el apartado 6.7. del presente captulo se analiz la manera
de tratar expresiones del tipo MiniMax. Para ello se define una variable Z como el mximo
de las expresiones entre valores absolutos.

{ } ) (
2
c bx ax yi Max Z
i i
i
+ + =

Ahora la funcin objetivo ser simplemente

Z Min

Y es preciso relacionar Z con los trminos entre valores absolutos teniendo en cuenta que al
ser Z su mximo, se debe satisfacer:

10 .... 1 ) (
2
= + + i Z c bx ax yi
i i


Por tanto el modelo, an no lineal, que resuelve el problema de aproximacin queda:

Z Min
sa:
10 .... 1 ) (
2
= + + i Z c bx ax yi
i i


a,b,c libres

17.3. Variables.

Al tratarse de variables libres, si se desea tipificar el problema es necesario realizar para
cada una de ellas un cambio de variables, de manera que cada variable libre se obtiene
como diferencia de dos variables positivas.

0 2 , 1 , 2 , 1 , 2 , 1
2 1
2 1
2 1

=
=
=
C C B B A A
C C c
B B b
A A a


A la hora de modelar linealmente el modelo no es necesario tipificarlo, por tanto, en aras a
una mayor economa de variables, no introduciremos los cambios de variable anteriores.
Adems la prctica totalidad de software comercial de optimizacin trata perfectamente el
caso de variables libres, realizando de forma interna la descomposicin indicada.

17.4. Restricciones.

Las restricciones que aparecen en el modelo son no lineales como consecuencia de la
aparicin de valores absolutos. Para convertirlas en restricciones lineales es necesario
deshacer los valores absolutos. Para conseguirlo se pueden aplicar dos tcnicas:


Construccin de modelos de Programacin Lineal
89
A) Consiste en duplicar las restricciones de manera que se cumplan tanto si el contenido del
valor absoluto es positivo como si es negativo, es decir:

10 .... 1 ) (
2
= + + i Z c bx ax yi
i i

10 .... 1 ) (
2
= + + + i Z c bx ax yi
i i


B) Deshacer los valores absolutos mediante un cambio de variables, para ello se iguala el
contenido de los valores absoluto a la diferencia de dos variables positivas y se toma el
valor absoluto igual a la suma de dichas variables.-

10 .... 1 ) (
2
= = + + i v u c bx ax yi
i i i i

10 ... 1 = + i Z v u
i i

u
i
, v
i
0
a,b,c libres

Este mtodo se basa en que cada par de variables (u
i
,v
i
) se corresponde en cada iteracin
de la tabla simplex con dos columnas iguales pero con signo contrario, por tanto u
i
es
bsica no puede serlo v
i
y viceversa. Este es el motivo por el que se sustituye el valor
absoluto por la suma de variables, ya que como mximo slo una de cada par es positiva,
siendo nula su pareja.

17.5. Modelo 1.

Cada uno de los conjuntos de restricciones anteriores pueden formar el cuerpo del modelo
lineal solicitado, por tanto un primer modelo lineal para el caso propuesto sera:


Z Min
sa:


10 .... 1 ) (
2
= + + i Z c bx ax yi
i i

10 .... 1 ) (
2
= + + + i Z c bx ax yi
i i


a,b,c libres

17.6. Modelo alternativo.

Z Min
sa:
10 .... 1 ) (
2
= = + + i v u c bx ax yi
i i i i

10 ... 1 = + i Z v u
i i

u
i
, v
i
0
a,b,c libres
Construccin de modelos de Programacin Lineal
90
18. Funciones lineales a trozos.

18.1. Descripcin del problema.

A) Considrese un problema de optimizacin en el que la funcin objetivo depende de una
variable como muestra la siguiente expresin:
Modele la funcin objetivo como una expresin lineal entera, incorporando las restricciones
que considere oportunas para un problema de minimizacin.

B) Considrese el problema de minimizacin anterior con una nueva funcin objetivo de la
forma:

Modelar la funcin objetivo de forma lineal y continua.
) Qu diferencia existe entre ambos casos ?. ) Cuando y por qu es posible un modelado
continuo de la funcin ?.


18.2. Formulacin del modelo.

18.2.1. Caso A.

18.2.1.1. Variables.



10 x 4 - 3x
10 x 4 16 + x
4 x 0 5x
= f(x)

Puesto que las pendientes de los
diferentes tramos de la funcin no
siguen un comportamiento
montono, y dado que se trata de un
problema con objetivo de minimizar, ser necesario considerar de forma separada
cada uno de los intervalos de comportamiento diferente. La variable x, se obtendr
como suma de tres variables continuas x
1
, x
2
y x
3
. Slo una de ellas ser positiva y
de valor igual a x. Para conseguirlo se emplearn tres variables binarias
1
,
2
y
3
,
cada una de ellas correspondiente a uno de los intervalos en que est definida ala
funcin objetivo.



10 x 4 - 3x
10 x 4 16 + x
4 x 0 5x
= f(x)



10 x 38 - 6x
10 x 4 8 - 3x
4 x 0 x
= f(x)
20
40
26
4 5 10
Construccin de modelos de Programacin Lineal
91

Cuando
i
=0 (i=1,2,3) la variable x
i
deber tomar valor cero, adems, necesariamente una
de las variables valdr 1.


18.2.1.2. Restricciones.

nicamente una variable
i
puede tomar valor 1:
Si
i
es cero, la correspondiente x
i
debe ser nula. En caso contrario estar acotada
por los extremos de su intervalo:
La variable x es una de las variables x
i
. Puesto que nicamente una de ellas es
positiva se tiene
En realidad no es necesario incluirla en el modelo, ya que se entiende que x es igual
al valor de la x
i
positiva, es decir de la x
i
correspondiente a la
i
=1. En este caso, si
aparece en otras restricciones del problema se deber sustituir por la suma de las x
i
.


18.2.1.3. Funcin objetivo.

La funcin objetivo se obtiene como suma de las correspondientes a los distintos
intervalos

Obsrvese como las constantes aparecen multiplicadas por las correspondientes
variables
i
dependiendo del intervalo de que se trate.


18.2.2. Caso B.

18.2.2.1. Variables y restricciones.


caso otro en 0
x)] (10 3 = i 10), x (4 2 = i 4), x (0 1 = [i i intervalo x si 1
=
i

1 = + +
3 2 1

x
10
10
x
4
4
x
0
3 3
2 2 2
1 1




x
+
x
+
x
= x
3 2 1

) 4 -
x
3 ( + ) 16 +
x
( +
x
5
3 3 2 2 1
Min
Construccin de modelos de Programacin Lineal
92








Como se observa en la figura, la
pendiente de los tramos es
creciente. Puesto que el objetivo
del problema consiste en
minimizar, es posible modelar el
problema sin necesidad de
variables binarias.

Para ello se considera que la variable x se obtiene como suma de x
1
, x
2
y x
3
, cada
una de ellas >= 0 y acotada por la longitud del correspondiente intervalo de
comportamiento de la funcin objetivo, es decir.

Puesto que las pendientes de las rectas son crecientes, y el objetivo consiste en
minimizar, si es posible (si lo permite el resto de restricciones del problema) la
variable x quedar especificada por el valor de x
1
. Al diferencia del problema
anterior, es posible que ms de una x
i
sean estrictamente positivas. La variable x
ser la suma de las x
i
. La variable x
2
podr ser >0 nicamente cuando x
1
tome su
valor mximo (x
1
=4).

18.2.2.2. Funcin objetivo.


El comportamiento creciente de
las pendientes de los diferentes
segmentos lineales permite
modelar la variable x de forma
aditiva, y garantiza que si una x
i

es estrictamente >0 las x
j
(j<i)
necesariamente toman su valor
mximo.




10 x 38 - 6x
10 x 4 8 - 3x
4 x 0 x
= f(x)

x
0
6
x
0
4
x
0
x
+
x
+
x
= x
3
2
1
3 2 1




x
6 +
x
4 +
x 3 2 1
Min
20
40
22
4 5 10
4
15
40
22
4 5 10
4
1
4
6
Construccin de modelos de Programacin Lineal
93
20
40
22
4 5 10
4
15

Ntese que cada variable x
i
se ve afectada de un coste unitario igual a la pendiente
correspondiente a su segmento.

18.2.2.3. Modelado alternativo.

En la figura adjunta se han
representado los
diferentes segmentos
de la funcin objetivo
como si de restricciones se
tratara. La regin
sombreada representa un
conjunto convexo para la
minimizacin de f(x).

Un modelado alternativo al
descrito para el caso de
pendientes crecientes
con objetivo minimizar (o
pendientes
decrecientes con
objetivo maximizar) consiste en la minimizacin (maximizacin) de una nueva
variable Z que debe ser mayor que cada una de las rectas descritas por los
diferentes segmentos de la funcin objetivo. As pues, se podra solventar el
problema mediante el siguiente modelado:

Cada segmento de la funcin objetivo original se convierte en una restriccin que se
aade al resto de restricciones del problema.

0 Z

38 - 6x Z
8 - 3x Z
x Z

: sa

Z


Min

También podría gustarte