You are on page 1of 93

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 Jess Racero

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

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 3

Construccin de modelos de Programacin Lineal

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 4

Construccin de modelos de Programacin Lineal

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

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: Variables de decisin Cantidades indivisibles Variables binarias directamente relacionadas con la toma de decisiones. (Construir o no un almacn, ampliar capacidad, etc...) Variables binarias usadas para indicar valores o estados determinados de ciertas variables continuas.

Variables auxiliares

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.

Z > 0 =1
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.

Z S
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. 6

Construccin de modelos de Programacin Lineal

En algunas ocasiones puede ser interesante imponer tambin la implicacin

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

=1 Z > 0

que se puede modelar como sigue:

Z i
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

X S
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 7

Construccin de modelos de Programacin Lineal

a
j =1

ij

x j bi

donde los coeficientes aij representan el consumo unitario que cada actividad xj (0) supone sobre cierto recurso i, limitado de forma global por una disponibilidad de bi 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:

= 1 aij x j bi
j =1

Para modelar esta condicin basta sumar al trmino independiente el producto de una cota superior para la restriccin por (1-).

a
j =1

ij

x j bi + M (1 )

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

a
j =1

ij

x j bi + M

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.

a
j =1

ij

x j bi = 1

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:

bi aij x j 0 = 1
j =1

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

bi aij x j M
j =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 . 8

Construccin de modelos de Programacin Lineal

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

+ bi aij x j 0 = 1
j =1

y la formulacin de la restriccin pasa a ser

+ bi aij x j ( M + )
j =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

bi aij x j
j =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

a
j =1

ij

x j bi

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

= 1 aij x j bi
j =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:

a
j =1

ij

x j bi m(1 )

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.

a
j =1

ij

x j bi = 1

Resultando una restriccin del tipo: 9

Construccin de modelos de Programacin Lineal

+ aij x j bi ( M + )
j =1

donde M es la mayor cota superior para el trmino

a
j =1

ij

x j bi .

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 (xk,f(xk)), 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:

x = xk k
k =1 n

y = f ( x k ) k
k =1

k =1

=1

Siendo 8k un conjunto de pesos que multiplican a los pares (xk,f(xk)), de manera que 0 # 8k #1 k, y la suma de todos ellos es igual a 1.

f(xk) f(x4) f(x3) f(x2)

f(x1)

. Para que la aproximacin sea coherente, es necesario obligar que slo dos variables 8k (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 10

x1

x2

x3

x4

xk

Construccin de modelos de Programacin Lineal

acotan a los pesos de la siguiente manera:

1 1 2 1 + 2 3 2 + 3
M

n n1

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

k =1

n 1

=1

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

x = zk
k =1

n 1

Cada una de estas variables zk continuas se acota dentro de su intervalo (xk,xk+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.

x1 1 z1 x 2 1 x 2 2 z 2 x 3 2 M x n 1 n 1 z n 1 x n n 1
n 1 k =1 k

=1

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 (xs,xs+1), la recta que aproxima la funcin no lineal pasa por los puntos (xs,f(xs)), (xs+1,f(xs+1)), de acuerdo a la expresin:

y = f ( xs ) +
es decir

f ( x s +1 ) f ( x s ) ( x xs ) x s +1 x s

y=

f ( x s +1 ) f ( x s ) f ( x s +1 ) f ( x s ) x + f ( xs ) xs x s +1 x s x s +1 x s
11

Construccin de modelos de Programacin Lineal

Por tanto la variable y se puede obtener como:


n 1 n 1 f ( x s +1 ) f ( x s ) f ( x s +1 ) f ( x s ) z s + f ( xs ) s y = x s +1 x s x s +1 x s s =1 s =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

a
j =1 n

xj b xj d

c
j =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.

a
j =1 n

x j b + M 1 (1 ) x j d + M 2

c
j =1

De esta manera, cuando =1 la primera restriccin se cumple, mientras que la segunda restriccin se desplaza paralelamente a s misma en una cantidad M2 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 M1 y M2. 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 12

Construccin de modelos de Programacin Lineal

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
0 1 0 1

2
0 0 1 1

0 1 0 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 13

Construccin de modelos de Programacin Lineal

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

Min

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

Evidentemente, las variables ti (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 ti.

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

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 ti. Puesto que Z es el mximo de ellas, bastar escribir:

ti Z ;
Disponiendo as de una formulacin lineal.

i = 1...N

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

Max sa : Z ti
X.6.8. Regiones no convexas.

Z i = 1...N

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 2x1+x2 sa: -x1 + x2 1, s x1 1 x1 x2 1, s x2 1 x1,x2 >= 0


Si representamos grficamente el problema, al tratarse de un modelo con dos variables de decisin, tendremos: 14

Construccin de modelos de Programacin Lineal

-x1 + x2 =1
Regin admisible cuando x11 x2

x1 x2 = 1 x2 1
x1

x1 1

Regin admisible cuando x21

Que define una regin no convexa dependiendo de los valores de las variables x1 y x2. 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) x1 1 En este caso se satisfacen las restricciones -x1 + x2 1: x1 1 las modelamos incluyendo en el trmino independiente una variable auxiliar 1, cuando toma valor cero las restricciones actan. -x1 + x2 1+M1 1 x1 1+N1 1 Cuando toma valor 1 las restricciones no deben actuar, esto se consigue para ciertos valores de las constantes N1 y M1, 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.

15

Construccin de modelos de Programacin Lineal

-x1 + x2 =1
x2

x1 4

x1

x1 1

-x1 + x2 =1/ 2
Por tanto su formulacin sera -x1 + x2 1- 1 x1 1+3 1 B) x2 1 De la misma manera, cuando x2 1 se deben satisfacer las restricciones x1 x2 1 x2 1 Pero no las dos primeras (-x1 + x2 1, x1 1). Para lograr este efecto se incluye una segunda variable auxiliar 2. x1 x2 1+M2 2 x2 1+ N2 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 N2 y M2 de forma conveniente, el caso analizado puede ser formulado como: Max 2x1+x2 sa: -x1 + x2 1- 1 x1 1+3 1 x1 x2 1-1/2 2 x2 1+ 3 2 x1,x2 0 1, 2 (0,1) 16

Construccin de modelos de Programacin Lineal

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 di 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 ci 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. 17

Construccin de modelos de Programacin Lineal

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 Xi (i=0,...,23). El nmero de ATS incorporados en la i-sima hora se compone de aquellos que descansan despus de tres (Xi3), cuatro (Xi4) y cinco (Xi5) horas del inicio de su jornada laboral.

X i = X i3 + X i4 + X i5

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 Xij (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.

i-7, j i-5, j i-3, j i-1, j Incorporaciones j=3,4,5 j=3,4,5 j=3,4,5 j=3,4,5 hasta la hora x i-8, j x i-6, j x i-4, j x i-2, j x i, j i-sima
j=3,4,5 j=3,4,5 j=3,4,5 j=3,4,5 j=3,4,5

i-8 i-7 i-6 i-5 i-4 i-3 i-2 i-1 i


Descansan durante la hora i-sima

x i-3, 3 x i-4, 4 x i-5, 5

18

Construccin de modelos de Programacin Lineal

As pues, el nmero de ATS que se encuentra disponible en la hora i-sima, deber satisfacer la demanda de dicha hora di. Esta restriccin se puede expresar como:

k =i - 8 j=3

kj

X i -3,3

X i -4,4

X i -5,5

di

i = 8,...,23

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 Xij = Xkj (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.

k =i - 8 j= 3

kj

X i -3,3 X kj

X i -4,4

X i -5,5

di

i = 8,...,31 j = 3,4,5

X sj

s = 0,...,7 ; k = 24,...,31 ;

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:

X
i=0 j=3

23

ij

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.

19

Construccin de modelos de Programacin Lineal

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 ci pts. En el caso de horizonte infinito:

MIN

c
i=0 j=3

23

X ij

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).

MIN

c
i=0 j=3

23

X ij

k =i - 8 j= 3

kj

X i -3,3 X kj

X i -4,4

X i -5,5

di

i = 8,...,31 j = 3,4,5

X sj

s = 0,...,7 ; k = 24,...,31 ;

X
i=0 j=3

23

ij

X ij 0;

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

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 Xij 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. 20

Construccin de modelos de Programacin Lineal 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 Xij* 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:

MIN

c
i=0 j=3

23

X ij

k =i - 8 j=3 i 5

X X
k =0 j=3

kj

i 5

X i -3,3 X i -3,3
kj 5

X i -4,4 X i -4,4

X i -5,5 X i -5,5


di

di di

i = 8,...,15 i = 5,...,7 i= 4 i= 3

kj

X
k =0 j=3 i

kj 5

X i -3,3

X i -3,3

X i -4,4

di

X
k =0 j=3 i

kj

di

X
k =0 j=3

i = 0,..,2

X ij

X ij*

i = 16,...,23 ; j = 3,4,5

X
i=0 j=3

23

ij

X ij 0;

i = 0,...,23, j = 3,4,5

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 21

Construccin de modelos de Programacin Lineal

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.

22

Construccin de modelos de Programacin Lineal

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, T1A, TB, TC y T2A. 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: A A A

H1 H2 C A
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 23

Construccin de modelos de Programacin Lineal

ij

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

donde el ndice i toma los valores recogidos en la siguiente tabla i 1 2 3 4 Tipo de Pizza A A B C Horno 1 2 1 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.

i =1

ij

=1

j = 1....NP

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


i =1 J =1

NP

ij

0.5D

Pizzas tipo B

J =1 NP

NP

3j

0.3D

Pizzas tipo C

J =1

4j

0.2 D

2.3.2.3. Restriccin de tiempo de procesado.

24

Construccin de modelos de Programacin Lineal

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:

Horno 1 Horno 2

Datos de tiempo de procesado Tipo A Tipo B Tipo C t1A tB t2A tC

(t
j =1

NP

1A 1 j

+ t 2 A 2 j + t B 3 j + t C 4 j ) 60

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:

ij + ij +1 + ij + 2 2

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

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.

Min
2.4. Modelo realista.


j =1 i =1

NP

ij

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 25

Construccin de modelos de Programacin Lineal

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.

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

NC = 0,2 D
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:

NA1 t A1 + NB t B = NA2 t A2 + NC t C
Adems NA1 + NA2 0,5 D . 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:

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

ij

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

i 1 2 3 4

Tipo de Pizza A A B C 26

Horno 1 2 1 2

Construccin de modelos de Programacin Lineal 2.4.2. Restricciones.

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

ij 1
i =1 j =1

2 NP1


i =1 j =1

2 NP1

ij

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

J =1

NP1

1j

+ 2 j 0 .5 D
j =1

NP 2

Pizzas tipo B

J =1

NP1

3j

0.3D

Pizzas tipo C

J =1

NP 2

4j

0.2 D

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

ij + ij +1 + ij + 2 2

i = 1,3; j = 1...NP1

ij + ij +1 + ij + 2 2
2.4.3. Funcin Objetivo.

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

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

Min

i =1, 3 j =1

ij +

NP1

i = 2 , 4 j =1

NP 2

ij

27

Construccin de modelos de Programacin Lineal

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

P1 P2 P3 P4 P5 P6 P7 P8 P9 P10

H 33 56 76 87 21 16 76 10 25 44

H 20 45 12 28 32 19 14 8 34 54

Tabla 3 H H 40 50 32 23 23 43 25 24 43 54 21 23 24 28 9 11 33 36 56 76

H 60 25 56 34 65 25 65 12 37 87

H 21 78 76 54 76 32 45 15 56 76

H 19 90 34 74 56 34 34 23 45 65

H 14 21 23 33 34 35 90 24 34 54

28

Construccin de modelos de Programacin Lineal

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 Ai al valor de la audiencia total, en nmero de personas, en la hora i-sima . Dj representar la duracin del programa j-simo. Finalmente representaremos por cij 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 J Ai Dj Cij

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

3.2.2. Variables.

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

ij = ij =

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

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

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.

i =1

ij

j = 1...10

29

Construccin de modelos de Programacin Lineal 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.

D j ij 8 i + 1

i = 1...8; j = 1...10

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.

j =1

10

ij

=1

i = 1...8

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:

D j ij

i + D j 1 k =i

kj

i = 1...(8 D j + 1) ; j = 1...10

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.

8 8 D j ij ij i =1 i =i
3.2.4. Funcin objetivo.

j = 1...10

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.

Max

Ai 10 100 cij ij i =1 j =1
8

30

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

Max
sa:
8

Ai 10 100 cij ij i =1 j =1
8

i =1

ij

j = 1...10 i = 1...8; j = 1...10


i = 1...8

D j ij 8 i + 1

j =1

10

ij

=1

D j ij

i + D j 1 k =i

kj

i = 1...(8 D j + 1) ; j = 1...10

8 8 D j ij ij i =1 i =i

j = 1...10

ij = ij =

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

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

31

Construccin de modelos de Programacin Lineal

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 1 2 3 4 Tabla 1 Royalties 5 4 5 5 Mina 1 2 3 4 Capacidad M Toneladas 2 2,5 1,3 3 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 1 2 3 4 Tabla 3 Calidad 0.95 0.7 0.99 0.5 Ao 1 2 3 4 5 Calidad exigida 0.9 0.8 0.85 0.6 0.95 Tabla 4

32

Construccin de modelos de Programacin Lineal

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 dt (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 Xit ; 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 Xit. Formalmente:

33

Construccin de modelos de Programacin Lineal

it

1 Si la compaia tiene o adquiere = derecho de explotacion para la mina i en el ao t 0 En otro caso 1 Si la compaia extrae mineral = de la mina i en el ao t 0 En otro caso i = 1 ,..., 4 ; t = 1 ,..., 5

it

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.

it it

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

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.

i=1

it

t = 1 , ... , 5

34

Construccin de modelos de Programacin Lineal 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:

i t+1 it

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

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 Ci 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:

X it Ci

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

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, Ci. 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 (Xit=0). Parece lgico incluir esta limitacin en las restricciones anteriormente comentadas. Para ello, puesto que el 35

Construccin de modelos de Programacin Lineal

trmino independiente es una constante, basta con multiplicarlo por la variable it. As, cuando it=0 se fuerza que Xit=0.

X it Ci it

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

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 dt (t=1,...,5) como se sugiere en el ltimo prrafo de la descripcin.

i=1

X it

dt

t = 1 , ... , 5

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.

Q
i=1

Xit Qt d t

t = 1 , ... , 5

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:

Qi Xit Qt
i=1

X
i =1

it

t = 1 , ... , 5

36

Construccin de modelos de Programacin Lineal

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:

Min R it it
i=1 t=1

donde Rit se puede expresar en funcin del royalty del primer ao Ri1

R it = R i1 ( 1.1 )
4.2.5.- Modelo.

t -1

t = 1 , ... , 5

Min R it it
i=1 t=1

sa:

it it

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

Construccin de modelos de Programacin Lineal

i t+1 it
i=1

it

t = 1 , ... , 5

X it Ci it

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

i=1 4 i=1

X it

dt

t = 1 , ... , 5
it

Qi Xit Qt

X
i =1

t = 1 , ... , 5

X it 0, it , it binarias
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, Xit. 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:

i=1

X it - E t =

dt

t = 1 , ... , 5

donde Et (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:

4 Min i=1

(
5 t=1

R it it - m E t

38

Construccin de modelos de Programacin Lineal

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 39

Construccin de modelos de Programacin Lineal

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.5.2.3.2.5.2.3.3.5.2.3.4.Limitaciones en el presupuesto para la compra de aviones. Limitacin en el presupuesto de mantenimiento Limitaciones en la capacidad de mantenimiento de los aviones 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: Restricciones: Compra (u.m.)

Maximizar

280 A + 350 B + 300 M

3000 A + 4200 B + 2750 M # 75000 40

Construccin de modelos de Programacin Lineal

Mantenimiento (das) Mantenimiento (u.m.)

38 A + 45 B + 42 M # 800 18 A + 20 B + 19 M # 1000 A,B,M0

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.) Mantenimiento (das) 3000 A + 4200 B + 2750 M # 75000 - 1000 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, 41

Construccin de modelos de Programacin Lineal

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 5.4.B 18 B M 28 M

El modelo completo.

F. Objetivo: Restricciones Compra (u.m.): Mantenimiento (das): Mantenimiento (u.m.): Avin dominante: A 10 A B 10 B

Maximizar

280 A + 350 B + 300 M

3000 A + 4200 B + 2750 M # 75000 - 1000 38 A + 45 B + 42 M # 800 + 450 18 A + 20 B + 19 M # 1000

M 10 M

A + B + M = 1

Nunca un solo avin: A 2 A A 25 A B 2 B B 18 B M 2 M 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: 42

Construccin de modelos de Programacin Lineal 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 43

Construccin de modelos de Programacin Lineal

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.

44

Construccin de modelos de Programacin Lineal

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. 55 60 178

N1 de bobinas 100 200 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:

45

Construccin de modelos de Programacin Lineal

55 c.m. A B C D E F G 4 3 2 1 1 -

60 c.m. 4 1 2 3 1

178 c.m. 1 1

Resto 30 10 25 20 15 17 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: XA, XB, XC, XD, XE, XF y XG. 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:

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


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: 46

Construccin de modelos de Programacin Lineal

Min X A + X B + X C + X D + X E + X F + X G
6.2.5.- Modelo.

Min X A + X B + X C + X D + X E + X F + X G
sa:

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


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:

Min 30 X A + 10 X B + 25 X C + 20 X D + 15 X E + 17 X F + 12 X G
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.

47

Construccin de modelos de Programacin Lineal

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 A 1 2 3 4 300 400 200 900 B 100 300 500 900 Distancia media a los institutos 1 1,2 2,6 0,7 1,8 600 2 1,5 4,0 1,1 1,3 800 Capacidad del instituto 3 3,3 5,5 2,8 2,0 500

Total de alumnos de E.G.B.

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. 48

Construccin de modelos de Programacin Lineal

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 11 + 1.5 x 12 + 3.3 x 13 + 2.6 x 21 + 4.0 x 22 + 5.5 x 23 + 0.7 x 31 + 1.1 x 32 + 2.8 x 33 + 1.8 x 41 + 1.3 x 42 + 2.0 x 43

x 21 + x 22 + x 23 = 400 x 31 + x 32 + x 33 = 500 x 41 + x 42 + x 43 = 500 x 11 + x 21 + x 31 + x 41 600 Capacidad de institutos x 12 + x 22 + x 32 + x 42 800 x 13 + x 23 + x 33 + x 43 500 Signo de x 11 , x 12 , x 13 , x 21 , x 22 , x 23 , x 31 , x 32 , x 33 , x 41 , x 42 , x 43 0


variables 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 49

Restricciones Escolarizacin de x 11 + x 12 + x 13 = 400 todos los alumnos

Construccin de modelos de Programacin Lineal

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:

3 2 50 p 50 + p ( x 11 + x 21 + x 31 + x 41 ) x 11 + 1 x 21 + x 31 ( x + x 21 + x 31 + x 41 ) 100 100 11 4 5
2 3 50 + p 50 p ( x 12 + x 22 + x 32 + x 42 ) x 12 + 1 x 22 + x 32 ( x + x 22 + x 32 + x 42 ) 100 12 100 5 4 2 3 50 + p 50 p ( x 13 + x 23 + x 33 + x 43 ) x 13 + 1 x 23 + x 33 ( x + x 23 + x 33 + x 43 ) 100 13 100 5 4
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 11 + 1.5 x 12 + 3.3 x 13 + 2.6 x 21 + 4.0 x 22 + 5.5 x 23 + 0.7 x 31 + 1.1 x 32 + 2.8 x 33 + 1.8 x 41 + 1.3 x 42 + 2.0 x 43 x 21 + x 22 + x 23 = 400 x 31 + x 32 + x 33 = 500 x 41 + x 42 + x 43 = 500 x 11 + x 21 + x 31 + x 41 600 x 12 + x 22 + x 32 + x 42 800 x 13 + x 23 + x 33 + x 43 500 2 3 50 + p ( x + x 21 + x 31 + x 41 ) x 11 + 1 x 21 + x 31 100 11 5 4
2 3 50 p ( x + x 21 + x 31 + x 41 ) x 11 + 1 x 21 + x 31 100 11 5 4 3 2 50 + p x12 + 1 x 22 + x 32 (x12 + x 22 + x 32 + x 42 ) 4 5 100 3 2 50 p x12 + 1 x 22 + x 32 (x12 + x 22 + x 32 + x 42 ) 4 5 100

Restricciones Escolarizacin de x 11 + x 12 + x 13 = 400 todos los alumnos

Capacidad de institutos Equilibrado de comunidad A en instituto 1

Equilibrado de comunidad A en instituto 2

50

Construccin de modelos de Programacin Lineal

Equilibrado de comunidad A en instituto 3

3 2 50 + p ( x + x 23 + x 33 + x 43 ) x 13 + 1 x 23 + x 33 100 13 4 5 3 2 50 p ( x + x 23 + x 33 + x 43 ) x 13 + 1 x 23 + x 33 100 13 4 5 x 11 , x 12 , x 13 , x 21 , x 22 , x 23 , x 31 , x 32 , x 33 , x 41 , x 42 , x 43 0

Signo de variables

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).

51

Construccin de modelos de Programacin Lineal

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) j (j=1,...,m) Parmetros pj tij alumnos captulos nmero de problemas del captulo j 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 52

Construccin de modelos de Programacin Lineal

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 (ui), 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 umax, 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 Restricciones Realizacin de todos los problemas de todos los captulos Tiempo de trabajo invertido por cada alumno Definicin de tiempo del alumno que ms trabaja Signo de las variables

Min u max

x
i =1 m

ij

= 1 j

t
j= 1

ij

p j x ij = u i i

u i u max i

x ij 0 i, j u i 0 i u max 0

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 ui, para ello se suman los tiempos que el alumno invierte en cada captulo, que sern el producto del tiempo invertido en un problema (tij) por el nmero de problemas que realiza del mismo (pjtij). Por ltimo, en el ltimo grupo se impone que umax sea una cota superior de los tiempos invertidos por los alumnos. La funcin objetivo asegura que umax 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. 53

Construccin de modelos de Programacin Lineal

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 umin, que representa una cota inferior del menor tiempo invertido por un alumno:

u min u 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 Restricciones Realizacin de todos los problemas de todos los captulos Tiempo de trabajo invertido por cada alumno Definicin de tiempo del alumno que ms trabaja

Min u max u min

x
i =1 m

ij

= 1 j

t
j= 1

ij

p j x ij = u i i

u i u max i

Definicin de tiempo del alumno que menos trabaja u min u i i Signo de las variables

x ij 0 i, j u i 0 i u max , u min 0

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. 54

Construccin de modelos de Programacin Lineal

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 rk. 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 cij. 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 (rk, memoria consumida por la tarea k-sima; Cij, 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:

ij =

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

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 N2, 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 rs = max {rk } , el mximo requerimiento de memoria por parte de una tarea.
k =1..... L

55

Construccin de modelos de Programacin Lineal

Supongamos que todas las tareas necesitan rs unidades de memoria, entonces =R/ rs 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:

r
i =1 i

ij

j = 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:

j =1

ij

=1

i = 1....N

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 tij tareas es nulo. Por tanto, cuando ij=1 y kj=1 se tiene que tij=0, y en otro caso tij= cij. 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.

Min

c
i =1 j =i +1 ij

N 1 N

ij

Ntese que el sumatorio recoge slo una vez cada uno de los tiempos de comunicacin cij (esto resulta vlido siempre que los tiempos de comunicacin sean simtricos cij= cji). 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:

56

Construccin de modelos de Programacin Lineal

ij 0 1 0 1

kj 0 0 1 1

ik 0 1 1 0

Puesto que la funcin objetivo responde al criterio Minimizar con coeficientes cij 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 ij ) + kj 1 + ij i = 1....N 1, k = i + 1....N , j = 1..... ij + (1 kj ) 1 + 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.

Min
sa:

c
i =1 j =i +1 ij

N 1 N

ij

r
i =1 i

ij

j = 1....

j =1

ij

=1

i = 1....N

(1 ij ) + kj 1 + ij i = 1....N 1, k = i + 1....N , j = 1..... ij + (1 kj ) 1 + ij

ij = ik =

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

1 Si el par de tares i, k se asignan a distintos procesadores 0 En caso contrario

57

Construccin de modelos de Programacin Lineal

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

ik =

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

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-rk, y se debe repartir entre el resto de tareas que se asignen a dicho procesador, de esta manera tendremos:

ri xik +
i =1

k 1

i = k +1

r x
i

ik

R rk

k = 1.....N

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 xik=1 y xir = 1 entonces necesariamente xrk tiene que tomar valor unidad. Estas relaciones se formulan mediante tres restricciones para cada tro de tareas, del modo:

xir + xik 1 + xrk i = 1.....N 2 xir + xrk 1 + xik j = 1 + 1...N 1 xik + xrk 1 + xir r = j + 1......N
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.

Min

c
i =1 j =i +1

N 1 N

ij

(1 ij )

La diferencia radica en que se suma el coste cuando la variable toma el valor cero (las 58

Construccin de modelos de Programacin Lineal

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.

Min
sa:

c
i =1 j =i +1

N 1 N

ij

(1 ij )

r x
i =1 i

k 1

ik

i = k +1

r x
i

ik

R rk

k = 1.....N

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

ik =

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

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

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

Variables

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

Restricciones

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 rk 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.

59

Construccin de modelos de Programacin Lineal

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 aij 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:

j =
10.4. Restricciones.

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

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 60

Construccin de modelos de Programacin Lineal

valor ser el nmero mnimo de veces que la zona debe quedar cubierta. As pues:

a
j =1 ij

14

i = 1....11

10.5. Funcin Objetivo. El objetivo consiste en minimizar el nmero de cmaras a instalar y por tanto:

Min j
j =1

14

10.6. Modelo completo.

Min j
j =1

14

sa:

a
j =1 ij

14

i = 1....11

j =
10.7. Algunas mejoras.

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

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:

j =

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

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 61

Construccin de modelos de Programacin Lineal

esta nueva submatriz tienen el mismo significado que los iniciales, aik 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.

a
j =1 ij

14

+ i = 1

i = 1....11

La funcin objetivo ser entonces

Min j + M k
j =1 k =1

14

11

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

62

Construccin de modelos de Programacin Lineal

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 1 2 3 4 5 6 7 8 9 10 11 12 REA DEL ESTADIO 1, 3, 4, 6, 7 8, 4, 7, 12 2, 5, 9, 11, 13 1, 2, 18, 19, 21 3, 6, 10, 12, 14 8, 14, 15, 16, 17 18, 21, 24, 25 2, 10, 16, 23 1, 6, 11 20, 22, 24, 25 2, 4, 6, 8 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 aij 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 1 0 1 1 0 2 0 0 0 1 0 3 0 1 0 0 1 4 1 1 0 0 0 5 0 0 1 0 0 6 0 0 0 0 0 63 7 0 0 0 0 0 8 0 1 0 0 0 9 1 0 0 0 0 10 0 0 0 0 0 11 0 1 0 1 0 12 1 0 0 0 0

1 2 3 4 5

Construccin de modelos de Programacin Lineal

6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

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

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

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

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

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

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

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

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

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

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

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

1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 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:

j =
11.4. Restricciones.

1 Si se ubica una cmara en la localizacin j - sima 0 Si no se ubica una cmara en la localizacin j - sima

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:

a
j =1
12

12

ij

2 1

i = 1,2 i = 3....25

a
j =1 ij

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

Construccin de modelos de Programacin Lineal

9 =1
11.5. Funcin Objetivo. El objetivo consiste en minimizar el nmero de cmaras a instalar y por tanto:

Min j
j =1

12

11.6. Modelo completo.

Min j
j =1

12

sa:

a
j =1
12

12

ij

2 1

i = 1,2 i = 3....25

a
j =1 ij

9 =1 j =
1 Si se ubica una cmara en la localizacin j - sima 0 Si no se ubica una cmara en la localizacin j - sima

65

Construccin de modelos de Programacin Lineal

Localizacin 12. Localizacin continua de Hospitales


12.1. Descripcin. Conocida la ubicacin geogrfica, coordenadas (ai, bi) {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 (x1,x2) e Y(y1,y2) responde a la expresin: d(X,Y) = x1-y1 + x2-y2 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:

Min Max ( | X - ai | + | Y - bi | ) i=1,...,n


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

Z = Max ( | X - ai | + | Y - bi | )
i=1,...,n

que representar la distancia mxima.

Min Z
Entonces, la funcin objetivo del problema se puede expresar: y resulta necesario aadir el conjunto de restricciones que establecen la acotacin superior

| X - a i | + | Y - bi | Z
de la distancias:

i = 1,..., n

66

Construccin de modelos de Programacin Lineal

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

| X - a i | + | Y - bi | Z

i = 1,..., n

X -X X -X

- ai + Y - bi Z i = 1,..., n + ai + Y - bi Z i = 1,..., n - ai - Y + bi Z i = 1,..., n + ai - Y + bi Z i = 1,..., n

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.

Min Z sa : X + -X + X -X Y Y Y Y Z ai + bi i = 1,..., n Z - ai + bi i = 1,..., n Z ai - bi i = 1,..., n Z - ai - bi i = 1,..., n libres

X, Y, Z

67

Construccin de modelos de Programacin Lineal

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:

X + Y - Z ai + bi i = 1,..., n X - Y + Z ai - bi i = 1,..., n X - Y - Z ai - bi i = 1,..., n X + Y + Z ai + bi i = 1,..., n


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:

s = min { ai + bi }
i

S = max { ai + bi }
i

D = max { ai - bi }
i

d = min { ai - bi }
i

Entonces, las restricciones del problema pueden simplificarse, formulndose como sigue:

X + Y - Zs X - Y + ZD X - Y - Z d X + Y + Z S
12.6. Modelo final del problema.

Min Z sa : X + Y - Zs X - Y + ZD X - Y - Z d X + Y + Z S X,Y, Z libres


68

Construccin de modelos de Programacin Lineal

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 dij
13.2.3.- Variables.

i,j .

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 (Yj). 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 (Xij). En total tendremos M+M x N variables binarias. Formalmente:

69

Construccin de modelos de Programacin Lineal 1 Si se abre una estaci n en = la localizaci n j Yj 0 En otro caso

X ij

1 Si el distrito i es asignado = a la estaci n (abierta en) j 0 En otro caso i = 1 ,..., M ; j = 1 ,..., N

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 Yj 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:

Y
j=1

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 Xij, para cada i tendremos que

X =
ij j=1

i = 1 , ... , M

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 Yj = 0 entonces Xij

=0

i.

El modelado lineal de estas implicaciones se puede realizar acotando superiormente las M x N variables Xij con las correspondientes Yj.

X ij Y j

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

70

Construccin de modelos de Programacin Lineal 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:

d
j=1

ij

X ij

i = 1 , ... , M

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:

Min U

13.2.5.- Modelo.

Min U
sa:

Y
j=1 N

X =
ij j=1

i = 1 , ... , M

X ij Y j

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

Construccin de modelos de Programacin Lineal

d
j=1

ij

X ij

i = 1 , ... , M

U 0, X ij , Y j binarias
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.

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

X
i=1

ij

Yj

j = 1 , ... , N

72

Construccin de modelos de Programacin Lineal

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 150000 F2 200000 A1 70000 A2 30000 Tabla 1 A3 10000 A4 40000 Total 500000

El nmero mensual de productos demandado en cada una de las zonas se ha estimado de acuerdo al contenido de la Tabla 2.
Z1 30000 Z2 10000 Z3 40000 Z4 35000 Tabla 2 Z5 60000 Z6 20000 Total 195000

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 F1 F2 0,5 A2 0,5 0,3 Tabla 3 A3 1 0,5 A4 0,2 0,8

Z1 F1 F2 A1 A2 A3 A4 1 1 2

Z2

Z3 2

Z4 2

Z5

Z6 6

0,5 0,5 2 0,2

1,5 1

1,5 1 0,5 0,5

1,5 1,5

1,5

1,5

0,5

73

Construccin de modelos de Programacin Lineal


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 Xij (i=1,2; j=1,...,4), las cantidades de productos enviados directamente de fbricas a zonas se representan mediante las variables Yik (i=1,2; k=1,...,6) y para los envos desde almacenes a zonas de demanda se usarn variables Zjk (j=1,...,4; k=1,...,6). 74

Construccin de modelos de Programacin Lineal

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:

X
j=1

ij

+ Y
6 ik k =1

Ci i = 1 , 2

Donde Ci 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

X
i=1

ij

- Z
6 jk k =1

CA j

j = 1 , ... , 4

se podran formular como sigue:. Donde CAj representan los valores de las capacidades de almacenes recogidos en la tabla 1. Si se tiene en cuenta un stock inicial en almacenes Ioj, las restricciones anteriores se escribiran:

X
i=1

ij

- Z
6 jk k =1

CA j
75

Io j

j = 1 , ... , 4

Construccin de modelos de Programacin Lineal

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:

X ik
i=1

+ Z
4 jk j=1

Dk

k = 1 , ... , 6

Siendo Dk 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.

Min

C
i=1 j=1

ij

X ij

+ C
i=1 k =1

Y ik ik

+ C
j=1 k =1

jk

Z jk

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

Min

C
i=1 j=1

ij

X ij

+ C
i=1 k =1

Y ik ik

+ C
j=1 k =1

jk

" Z jk

X
j=1

ij

+ Y
6 ik k =1

Ci

i= 1 , 2

sa: 76

Construccin de modelos de Programacin Lineal

X ij
i=1 2

- Z
6 jk k =1 4

CA j

Io j

j = 1 , ... , 4

X + Z
ik jk i=1 j=1

Dk

k = 1 , ... , 6

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.

77

Construccin de modelos de Programacin Lineal

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.

1 + 2 + 3 + 4 2
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 Xij y Zjk 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.

X
2 is i=1

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

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

Z
6 sk k =1

s s

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

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:

X
2 is i=1

C
i=1

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

En el segundo caso se puede usar la suma de todas las demandas como cota para las restricciones:

Z
k =1

sk

D
k =1

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

Construccin de modelos de Programacin Lineal 14.5.3. Restricciones de capacidad de los almacenes.

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

X - Z
4 6 ij jk i=1 k =1

CA j

Io j

j = 1 , 3 ,... , 6

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:

X i2
i=1

- Z
6 2k k =1

CA2

CA 2

Io j

j = 1 , 3 ,... , 6

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).

Min

C
i=1 j=1

ij

X ij

+ C
i=1 k =1

ik

Y ik
3

+ C
j=1 k =1

jk

" Z jk
2

+ ( 12 x 106 ) +
1 5

( 6 x 10 6 ) 2
14.7. Modelo mejorado.

- ( 10 x 106 ) - ( 5 x 106 ) + ( 3 x 106 )

Min

C ij X ij
i=1 j=1

+ C
i=1 k =1

ik

Y ik

+ C
j=1 k =1 3

jk

" Z jk
2

+ ( 12 x 106 ) +
1 5

( 6 x 10 6 ) 2

- ( 10 x 10 6 ) - ( 5 x 10 6 ) + ( 3 x 10 6 ) - Z
6 jk k =1

X
i=1

ij

CA j

Io j

j = 1 , 3 ,... , 6

sa:

X
i=1 2 i=1

i2

- Z
6 2k k =1

CA2
i

CA 2

Io j

j = 1 , 3 ,... , 6

X is

C
i=1

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

79

Construccin de modelos de Programacin Lineal

Z sk
k =1

s
4

D
k =1 ij

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

1 + 2 + 3 + 4 2

X
j=1

+ Y
6 ik k =1 4 jk

Ci i = 1 , 2

X ik
i=1

+ Z
j=1

D k k = 1 , ... , 6

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

80

Construccin de modelos de Programacin Lineal

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 Lector 1 Lector 2 Lector 3 Lector 4 El Pas 20' 10' 5' ABC 5' 10' 15' 10' El Correo 10' 15' 20' Diario 16 15' 10' 10' 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.

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


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 dij. 15.4. Restricciones. 81

Construccin de modelos de Programacin Lineal 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:

t ij t ik + d ik o t ik t ij + d ij
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

ijk =

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

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

M ijk + t ij t ik + d ik M (1 ijk ) + t ik t ij + d ij
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.

t ij t rj + d rj o t rj t ij + d ij

Para linealizar esta situacin se define una nueva variable auxiliar:

ir = j

1 Si el lector i lee el peridico j antes que el lector r 0 En caso contrario

j = 1...4 , i = 1...3, r = i + 1...4

Las restricciones de no simultaneidad de lectores se escriben entonces de la siguiente 82

Construccin de modelos de Programacin Lineal

forma:

N ir + t ij t rj + d rj j N (1 ir ) + t rj t ij + d ij j
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:

Min Max{ ij + d ij } t i, j
Para linealizar esta expresin se define T= Max t ij + d ij . Entonces la funcin objetivo del
i, j

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:

t ij + d ij T
15.6. Modelo completo.

i = 1....4, j = 1...4

Min T
sa:

t ij + d ij T

i = 1....4, j = 1...4

M ijk + t ij t ik + d ik M (1 ijk ) + t ik t ij + d ij N ir + t ij t rj + d rj j N (1 ir ) + t rj t ij + d ij j

ijk =

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

ir = j

Construccin de modelos de Programacin Lineal

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 m3 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 m3) 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.
5 2 4 5

1 12 3 7

4 5 6 6

7 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.

ij =

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

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 1 2 3 4 5 6 7 A(i) 1 1 1,2,3 1,2,3,4 1,2,3,4 1,2,3,4,5,6 84 N(i) 0 1 1 3 4 4 6

Construccin de modelos de Programacin Lineal

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.

j =1

ij

=1

i = 1...7

16.3.2. Limitacin de volumen de las cajas.

Cada una de las cajas tiene un volumen de 17 m3 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.

p
i =1 i

ij

17

j = 1...7

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:

N (i ) is kj
j =1

k A(i ), s = 1...7

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:

S j ij
j =1

i = 1...7

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.

85

Construccin de modelos de Programacin Lineal

Min S
16.5. Modelo.

Min S

sa:

j =1 7 i

ij

=1

i = 1...7

p
i =1 s

ij

17

j = 1...7

N (i ) is kj
j =1

k A(i ), s = 1...7

S j ij
j =1

i = 1...7

ij =

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

86

Construccin de modelos de Programacin Lineal

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 x y 1 0 0.9 2 0.5 0.7 3 1 1.5 4 1.5 2.0 5 2 2.4 6 2.5 3.2 7 3 2 8 3.5 2.7 9 4 3.5 10 4.5 1

Se desea efectuar una aproximacin cuadrtica del tipo y=cx2+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.

Aproximacin cuadrtica Desviacin

x 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:

Min Max
i

{ { y (ax
i

2 i

+ bxi + c)

}}

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

Construccin de modelos de Programacin Lineal

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.

Z = Max yi (axi + bxi + c)


2 i

Ahora la funcin objetivo ser simplemente

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

yi (axi + bxi + c) Z
2

i = 1....10

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

Min Z
sa:

yi (axi + bxi + c) Z
2

i = 1....10

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.

a = A1 A2 b = B1 B 2 c = C1 C 2 A1, A2, B1, B 2, C1, C 2 0


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:

88

Construccin de modelos de Programacin Lineal

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:

yi (axi + bxi + c) Z
2

i = 1....10 i = 1....10

yi + (axi + bxi + c) Z
2

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.-

yi (axi + bxi + c) = u i vi
2

i = 1....10

u i + vi Z

i = 1...10

ui, vi 0 a,b,c libres Este mtodo se basa en que cada par de variables (ui,vi) se corresponde en cada iteracin de la tabla simplex con dos columnas iguales pero con signo contrario, por tanto ui es bsica no puede serlo vi 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:

Min Z
sa:

yi (axi + bxi + c) Z
2

i = 1....10 i = 1....10

yi + (axi + bxi + c) Z
2

a,b,c libres
17.6. Modelo alternativo.

Min Z
sa:

yi (axi + bxi + c) = u i vi
2

i = 1....10

u i + vi Z

i = 1...10

ui, vi 0 a,b,c libres

89

Construccin de modelos de Programacin Lineal

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

5x 0 x 4 f(x) = x + 16 4 x 10 3x - 4 x 10
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:

x 0x4 f(x) = 3x - 8 4 x 10 6x - 38 x 10
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.

40

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

26 20

Puesto que las pendientes de los diferentes tramos de la funcin no siguen un comportamiento 4 5 10 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 x1, x2 y x3. 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. 90

Construccin de modelos de Programacin Lineal

i=

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

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

1+ 2 + 3 = 1
nicamente una variable i puede tomar valor 1: Si i es cero, la correspondiente xi debe ser nula. En caso contrario estar acotada por los extremos de su intervalo:

0 x1 4 1 4 2 x 2 10 2 10 3 x3
La variable x es una de las variables xi. Puesto que nicamente una de ellas es positiva se tiene

x = x1 + x 2 + x 3
En realidad no es necesario incluirla en el modelo, ya que se entiende que x es igual al valor de la xi positiva, es decir de la xi correspondiente a la i = 1. En este caso, si aparece en otras restricciones del problema se deber sustituir por la suma de las xi.
18.2.1.3. Funcin objetivo.

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

Min 5 x1 + ( x 2 + 16 2 ) + ( 3 x3 - 4 3 )
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.

91

Construccin de modelos de Programacin Lineal

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

40

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

4 5

10

15

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

x = x1 + x 2 + x 3 0 x1 4 0 x2 6 0 x3
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 x1. Al diferencia del problema anterior, es posible que ms de una xi sean estrictamente positivas. La variable x ser la suma de las xi. La variable x2 podr ser >0 nicamente cuando x1 tome su valor mximo (x1=4).
18.2.2.2. Funcin objetivo.

El comportamiento creciente de las pendientes de los diferentes 40 segmentos lineales permite modelar la variable x de forma aditiva, y garantiza que si una xi es estrictamente >0 las xj (j<i) 22 necesariamente toman su valor mximo.

4
Min x1 + 4 x2 + 6 x3

1 4 5

10

92

Construccin de modelos de Programacin Lineal

Ntese que cada variable xi 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 40 de la funcin objetivo como si de restricciones se tratara. La regin sombreada representa un conjunto convexo para 22 minimizacin de f(x). 20

la

Un modelado alternativo al descrito para el caso de pendientes crecientes 4 con objetivo minimizar (o pendientes 4 5 10 15 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:

Min Z sa : Zx Z 3x - 8 Z 6x - 38 Z 0
Cada segmento de la funcin objetivo original se convierte en una restriccin que se aade al resto de restricciones del problema.

93