Está en la página 1de 20

Optimizacin Matemtica: Ejemplos y aplicaciones

Juan J. Salazar Gonzlez


Profesor Titular de Estadstica e Investigacin Operativa Departamento de Estadstica, Investigacin Operativa y Computacin Universidad de La Laguna http://webpages.ull.es/users/jjsalaza

Resumen Se introducen aqu diversas aplicaciones de la Optimizacin Matemtica, tanto de la Lineal Continua como de la Entera. El objetivo es mostrar algunas de las tantas situaciones reales que demandan mtodos de optimizacin. En cada situacin se propone un Modelo Matemtico, punto de partida fundamental para intentar afrontar su resolucin mediante Programacin Matemtica. En la charla veremos adems algunas herramientas que permiten encontrar soluciones para los problemas a partir de los modelos.

1. Introduccin La Programacin Lineal Continua trata sobre la resolucin de problemas de optimizacin que pueden modelizarse en la forma

min c j x j
j =1

sujeto a
aij x j bi
j =1 n

para todo i = 1,, m,

donde n representa el nmero de variables, m el nmero de restricciones, x j ( j = 1,, n) las variables del problema, y aij , c j , bi (i = 1,, m; j = 1,, n) nmeros reales dados. Al nmero c j se le llama costo asociado a la variable j -sima ( j = 1,, n) , mientras que al nmero bi se le llama recurso asociado a la restriccin i -sima (i = 1,, m) . Utilizando notacin vectorial, el problema anterior puede ser representado en la forma compacta siguiente:
min cT x Ax b, siendo c \ n , b \ m y A una matriz con m filas y n columnas. Observemos que la regin factible es un poliedro.
Curso Universitario Interdisciplinar Sociedad, Ciencia, Tecnologa y Matemticas 2003

Mdulo 1: Matemticas y Sociedad

Optimizacin matemtica: Ejemplos y aplicaciones

Cualquier problema de Programacin Lineal puede reescribirse de la siguiente forma, llamada forma estndar: min cT x Ax = b x 0, aunque la transformacin desde otra forma puede alterar el nmero de variables y/o restricciones del problema. En general, la conversin puede llevarse a cabo como sigue: 1. Una funcin objetivo de tipo max se convierte en min cambiando de signo los valores c j (y de signo la nueva funcin). 2. Una restriccin de tipo

n j =1

a j x j bi se convierte en ecuacin aadiendo una variable

x h 0 , creando

n j =1

a j x j + x h = bi . Esta variable x h se llama variable de holgura.

Una restriccin de tipo

n j =1

a j x j bi se convierte en ecuacin aadiendo una variable

x h 0 , creando

j =1

a j x j x h = bi .

3. Una variable x j no limitada en signo se convierte en dos variables x + j 0, x j 0

mediante la sustitucin x j = x + j xj .

Mediante pautas similares a las anteriores puede demostrarse que las siguientes formas son equivalentes: 1.
2. 3. 4. 5. min{cT x : Ax = b, x 0} min{cT x : Ax b}
min{cT x : Ax b}

min{cT x : Ax b, x 0} min{cT x : Ax b, x 0}

Tambin hay otras formas similares. Sin embargo, ninguna es equivalente a la forma min{c x : Ax = b} , ya que la regin factible de sta es un subespacio afn o el conjunto vaco, y no hay siempre alternativa para hacer desaparecer todas las desigualdades de un sistema lineal de ecuaciones e inecuaciones. Precisamente sta es una de las grandes dificultades que afronta la Programacin Matemtica, y que proceden de las ineludibles limitaciones de recursos existentes en muchos problemas del Mundo Real. Dado que las variables x j son nmeros reales, no necesariamente enteros, se dice que
T

los modelos anteriores pertenecen a la Programacin Lineal Continua. Cuando las variables x j deben ser necesariamente nmeros enteros, entonces se dice que los modelos son de Programacin Lineal Entera.
Curso Universitario Interdisciplinar Sociedad, Ciencia, Tecnologa y Matemticas 2003

Mdulo 1: Matemticas y Sociedad

Optimizacin matemtica: Ejemplos y aplicaciones

En lo que sigue veremos diversos ejemplos concretos que demuestran las numerosas aplicaciones de la Programacin Matemtica, tanto Lineal Continua como Entera. Es conveniente observar que dado un problema real puede haber varios modelos matemticos asociados, pudiendo resultar algunos menos tiles que otros para la resolucin prctica del problema. En este sentido avisamos al lector de que en los ejemplos hemos optado slo por modelos simples de presentar.

2. Problema de optimizar mezclas

Problema real
En la refinera de Santa Cruz de Tenerife (C.E.P.S.A.) se producen 3 tipos de gasolinas que describimos a continuacin:
Tipo A B C Variedad STAR-98 Sin Plomo Sper Octanaje 98 Oct. 95 Oct. 97 Oct.

Para ello se mezclan cuatro productos base, que representaremos con un nmero, y cuyo costo y disponibilidad son:
Producto 1 2 3 4 Disponibilidad 3000 2000 4000 1000 Costo/unidad 3 6 4 5

Para la clasificacin de la mezcla en uno de los tres tipos de gasolina se atiende a la proporcin de los productos que la componen segn la siguiente tabla:
Producto A B C Prod. 1 Prod. 2 Prod. 3 Prod. 4 s.l. s.l. s.l. Beneficio/Unidad 5,5 4,5 3,5

30% 50% 70%

40% 10%
s.l.

50%
s.l. s.l.

donde s.l. significa que no importa la proporcin de ese producto.


Curso Universitario Interdisciplinar Sociedad, Ciencia, Tecnologa y Matemticas 2003

Mdulo 1: Matemticas y Sociedad

Optimizacin matemtica: Ejemplos y aplicaciones

Modelo matemtico
Consideremos las siguientes variables:

y A Cantidad de gasolina de tipo A (STAR-98). yB Cantidad de gasolina de tipo B (Sin Plomo). yC Cantidad de gasolina de tipo C (Sper). z1 Cantidad de producto 1. z2 Cantidad de producto 2. z3 Cantidad de producto 3. z4 Cantidad de producto 4. xij Cantidad de producto i {1, 2, 3, 4} invertido en j { A, B, C} .

Entonces, un modelo matemtico es:

max 5,5 y A + 4,5 yB + 35 , yC 3 z1 6 z2 4 z3 5 z4 sujeto a:

y A = x1 A yB = x1B yC = x1C

+ x2 A + x2 B + x2C

+ x3 A + x3 B + x3C

+ x4 A + x4 B + x4C

z1 = x1 A z2 = x2 A z3 = x3 A z4 = x4 A

+ x1B + x2 B + x3 B + x4 B

+ x1C + x2C + x3C + x4C

z1 3000 z2 2000 z3 4000 z4 1000

x1 A 0,3 y A x2 A 0,4 yA x3 A 0,5 yA x1B 0,5 yB x2 B 01 , yB x1C 0,7 yC para todo i {1, 2, 3, 4} y para todo j { A, B, C}.

xij 0

Notemos que un simple anlisis del modelo nos permite eliminar las variables zi y las variables y j haciendo uso de las ecuaciones. Es siempre muy importante realizar este proceso de simplificacin (generalmente llamado preproceso).
Curso Universitario Interdisciplinar Sociedad, Ciencia, Tecnologa y Matemticas 2003

Mdulo 1: Matemticas y Sociedad

Optimizacin matemtica: Ejemplos y aplicaciones

3. Problema de planificar una cosecha

Problema real Un agricultor tiene 500 hectreas de terreno para cultivar prximamente y desea planificar tal cultivo. Sabe que necesitar disponer de 200 toneladas de trigo y 240 toneladas de maz para alimentar a su ganado, lo que puede obtener mediante su propia cosecha o mediante compra en el mercado. Lo que produzca, y que no dedique a su ganado, lo puede vender. Los precios de venta son de 170 euros y 150 euros por cada tonelada de trigo y de maz, respectivamente. Los precios de compra son un 40% superior debido a las ganancias de intermediarios y a los costos de transporte. Otro cultivo posible es el de caa de azcar, que se vende a 36 euros cada tonelada producida. Sin embargo, normas de la Comisin Europea imponen una cuota mxima para la produccin de azcar, lo que conlleva que cada tonelada de caa de azcar producida sobre tal cuota tendr un precio de venta de 10 euros. Para el prximo cultivo se espera que tal cuota sea 6000 toneladas. Basado en experiencias anteriores, el agricultor conoce que la produccin media es 2,5, 3 y 20 toneladas por hectrea de trigo, maz y caa de azcar, respectivamente. El costo de plantar una hectrea de trigo, maz y caa de azcar es de 150, 230 y 260, respectivamente. Plantear un modelo matemtico cuya solucin pueda ayudar al agricultor en su deseo de maximizar sus beneficios. Modelo matemtico Consideremos las siguientes variables: x1 hectreas que dedicar a trigo, x2 hectreas que dedicar a maz, x3 hectreas que dedicar a azcar, y1 toneladas que comprar de trigo, y2 toneladas que comprar de maz, w1 toneladas que vender de trigo, w2 toneladas que vender de maz, w3 toneladas que vender de azcar a 36 euros, w4 toneladas que vender de azcar a 10 euros.

Un modelo matemtico es:

max 150 x1 230 x2 260 x3 238 y1 210 y2 + 170w1 + 150w2 + 36w3 + 10w4
sujeto a: x1 + x2 + x3 500

2, 5 x1 + y1 w1 200
Curso Universitario Interdisciplinar Sociedad, Ciencia, Tecnologa y Matemticas 2003

Mdulo 1: Matemticas y Sociedad

Optimizacin matemtica: Ejemplos y aplicaciones

3x2 + y2 w2 240 w3 + w4 20 x3 w3 6000 x1 , x2 , x3 , y1 , y2 , w1 , w2 , w3 , w4 0. Este modelo pertenece a la Programacin Lineal, y mediante algn mtodo de resolucin es posible concluir que una solucin ptima es: x1 = 120, x2 = 80, x3 = 300, y1 = 0, y2 = 0, w1 = 100, w2 = 0, w3 = 6000, w4 = 0, con beneficio ptimo 118600. Esto significa que el agricultor deber dedicar 120 hectreas a trigo, 80 a maz y 300 a caa de azcar, y con ello se espera que vender 100 toneladas de trigo y la cuota mxima de azcar (es decir, al precio ms favorable), obteniendo un beneficio total de 118600 euros. Dada la sencillez del ejemplo, resulta evidente que tambin se puede obtener esta misma decisin (ptima) mediante una simple regla lgica: dedicar cada hectrea de terreno a la produccin que ms beneficio conlleve. As, tras producir lo que el ganado necesita, el resto conviene considerarlo en el siguiente orden: azcar al precio favorable, trigo, maz, azcar al precio reducido. Este tipo de tcnicas de resolucin (que se denominan heursticas) no siempre proporcionan una solucin ptima de un problema si ste tiene otras restricciones adicionales ms complejas.
4. Problema de optimizar msicos

Problema real Una banda de msicos consta de 9 msicos (A,B,C,D,E,F,G,H,I) y debe repetir cada tarde un repertorio de 7 sinfonas (1,2,3,4,5,6,7). No todas las sinfonas necesitan de todos los msicos y cada msico recibe un salario proporcional al nmero de sinfonas en las que est presente (tocando o no su instrumento) desde la primera hasta la ltima en la que interviene. Ningn msico recibir sueldo por sinfonas en las que est presente antes de la primera en la que sea necesario ni despus de la ltima en la que sea necesario, pero s por todas las dems. La tabla 1 muestra las sinfonas en las que cada msico debe tocar su instrumento, as como el sueldo que recibe por cada sinfona en la que tenga necesariamente que estar presente. Cmo debe ordenar el director las sinfonas para minimizar el coste total de los salarios?
Msico Sinfonas Coste/sinfona A 1,7 2 B 2,4,7 3 C 1,2,5,7 3 D 1,3,5 2 E F 2,3,5,6 1,2,4,6,7 1 2 G 3,5,7 2 H 4,6 1 I 1,2,3 2

Tabla 1. Sinfonas y coste por msico.

Curso Universitario Interdisciplinar Sociedad, Ciencia, Tecnologa y Matemticas 2003

Mdulo 1: Matemticas y Sociedad

Optimizacin matemtica: Ejemplos y aplicaciones

Modelo matemtico Sea ck el coste por sinfona del msico k . Notemos que para cada msico el coste de las sinfonas en las que toca su instrumento es un valor constante. Por ejemplo, para el msico A su coste concerniente con las dos sinfonas en las que interviene es 4, y luego habr que aadir dos unidades de coste adicional por cada sinfona que el director decida colocar entre las sinfonas 1 y 7. Por tanto, el problema equivale a minimizar el costo por las sinfonas en las que el msico no toca y que estn entre dos en las que s toca. Consideremos la matriz A = [aik ] donde cada fila i corresponde con una sinfona y cada columna k con un msico. Mediante la tabla 1 es fcil notar que: 1 0 0 A = 0 0 0 1 1 1 1 0 0 0 0

0 1 0 1 0 0 1

1 1 0 0 1 0 1

1 0 1 0 1 0 0

0 1 1 0 1 1 0

1 1 0 1 0 1 1

0 0 1 0 1 0 1

0 0 0 1 0 1 0

Entonces, el problema puede ser entendido matemticamente como el problema de reordenar las filas de A de manera que sea mnima la suma del nmero de ceros entre unos en una misma columna k por el costo de dicha columna ck . Un posible modelo consiste en definir, para cada sinfona i y cada posible posicin j en la ordenacin final, la variable decisional

1 si la sinfona i se toca en la posicin j xij := 0 en otro caso, donde i, j {1, 2, 3, 4, 5, 6, 7} . Para cada msico k tambin consideramos la variable uk representando la posicin en la ordenacin final de la primera sinfona donde es necesario, y la variable wk representando la posicin en la ordenacin final de la ltima sinfona donde es necesario, siendo k { A, B, C , D, E, F , G, H , I } . Entonces, un modelo matemtico es:

min

k{ A,, I }

( wk + 1 uk )ck = 18 +

k { A,, I }

( wk uk )ck

Curso Universitario Interdisciplinar Sociedad, Ciencia, Tecnologa y Matemticas 2003

Mdulo 1: Matemticas y Sociedad

Optimizacin matemtica: Ejemplos y aplicaciones

sujeto a:

j{1,, 7}

xij = 1 para todo i {1,, 7} xij = 1 para todo j {1,, 7}

i{1,, 7}

xij {0,1} para todo i, j {1,, 7}


j{1,, 7}

j xij uk j xij wk

para todo i {1,, 7}, k { A,, I } : aik = 1 para todo i {1,, 7}, k { A,, I } : aik = 1.

j{1,, 7}

Ntese que vi := j{1,,7} j xij es la posicin donde conviene tocar la sinfona i . Dado que cuando xij {0,1} , vi ser automticamente entera y, por el carcter de la funcin objetivo, tambin sucede que

uk =
wk =

i{1,, 7}:aik =1

min

vi
vi

i{1,, 7}:aik =1

max

para todo msico k { A,, I } . Conviene observar que este modelo se basa fuertemente en la condicin xij {0,1} , es decir, en lo que distingue a este modelo de Programacin Lineal Entera del modelo de Programacin Lineal Continua que resulta de prescindir de tal condicin. En algunas aplicaciones ambos modelos producen la misma solucin; en otras suelen estar prximos (permitiendo que muchas tcnicas para la Programacin Lineal Entera se apoyen en tcnicas de Programacin Lineal); sin embargo, en este caso no es as. Es fcil notar que olvidando la integrabilidad de las variables xij (es decir, manteniendo slo que deben asumir valores reales no negativos) se obtiene una solucin ptima del problema lineal con valor objetivo cero (todas las uk y wk son iguales). Por tanto, el modelo matemtico presentado es malo si se pretende abordar la resolucin de este problema mediante tcnicas que usen el modelo lineal. Otra alternativa de modelo matemtico es la siguiente. Aadamos una sinfona ficticia 0 que har el papel de apertura y cierre pero que no necesita de ningn msico (es msica de cassette!). Para cada par de sinfonas i, j {0,1, 2, 3, 4, 5, 6, 7} distintas ( i j ) consideremos la variable decisional
1 si cuando acaba i comienza inmediatamente j yij := 0 otro caso,

Curso Universitario Interdisciplinar Sociedad, Ciencia, Tecnologa y Matemticas 2003

Mdulo 1: Matemticas y Sociedad

Optimizacin matemtica: Ejemplos y aplicaciones

y la variable ti que representa el instante en el que debe ser interpretada la sinfona i ( t0 := 0 y ti {1,, 7} ). Adems usamos las variables uk y wk antes definidas. Entonces, otro modelo matemtico (tambin de Programacin Lineal Entera) es:

min sujeto a:

k{ A,, I }

( wk uk )ck

j{0 ,1,, 7}5{i }

yij = 1 para todo i {0,1,, 7} yij = 1 para todo j {0,1,, 7}

i{0,1,, 7}5{ j }

yij {0,1} para todo i, j {0,1,, 7} (i j ) t0 := 0 t j ti + 7 yij 6 para todo i, j {0,1,, 7} (i j, j 0) ti u k ti wk i {1,, 7}, k { A,, I } : aik = 1 i {1,, 7}, k { A,, I } : aik = 1

Aunque innecesaria para el modelo de Programacin Lineal Entera, la siguiente restriccin debe tambin verificarse:

iS , j /S

yij 1

para todo S {0,1,, 7},

ya que las variables yij deben definir una secuencia de las sinfonas. Otro modelo diferente aparece al considerar tambin las variables yij con el sentido antes indicado, y para cada par de sinfonas i, j sea la variable zij que representa el nmero de las sinfonas que faltan por tocar cuando acaba i y empieza j . Adems usamos las variables uk y wk antes definidas. Entonces, otro modelo matemtico (tambin de Programacin Lineal Entera) es:

min

k{ A,, I }

( wk uk )ck

Curso Universitario Interdisciplinar Sociedad, Ciencia, Tecnologa y Matemticas 2003

Mdulo 1: Matemticas y Sociedad

Optimizacin matemtica: Ejemplos y aplicaciones

sujeto a:

j{0 ,1,, 7}5{i }

yij = 1 para todo i {0,1,, 7} yij = 1 para todo j {0,1,, 7} yij 1 para todo S {0,1,, 7}

i{0,1,, 7}5{ j }

iS , jS

yij {0,1} para todo i, j {0,1,, 7} (i j )


j{0,1,, 7}

z0 j = 7

j{0 ,1,, 7}5{i }

( z ji zij ) = 1 para todo i {1,, 7}

j{1,, 7}

zij uk zij wk

i {1,, 7}, k { A,, I }: aik = 1 i {1,, 7}, k { A,, I }: aik = 1 para todo i, j {1,, 7} (i j ) para todo i {1,, 7}

j{1,, 7}

0 zij 7 yij zi 0 = 0 y z0i = 7 y0i

Al igual que el modelo anterior, este modelo puede ser fortalecido mediante restricciones adicionales notando que las variables yij deben definir una secuencia ininterrumpida cclica de todas las sinfonas. Dejamos propuesto al lector comparar la resolucin de este problema mediante el uso de cada uno de los tres modelos. Una solucin ptima de este problema viene dada por la secuencia 5,7,2,8,1,4,6,3, lo que produce 6 huecos.

5. Problema de optimizar la banda de una matriz

Problema real Consideremos cualquier matriz cuadrada simtrica de dimensin n n . Las diagonales de una matriz se numeran atendiendo a su distancia con respecto a la diagonal principal. As la diagonal principal tiene la etiqueta 0 mientras que las esquinas de la matriz que no estn en la diagonal constituyen diagonales con etiqueta n 1 . Se llama ancho de banda de A a la mayor etiqueta de alguna diagonal que contenga algn coeficiente no nulo. Por ejemplo, la matriz

0 1 0 A= 1 0 0

1 0 0 1 0 0

0 0 1 0 1 0

1 1 0 0 0 0

0 0 1 0 0 1

0 0 0 0 1 0

Curso Universitario Interdisciplinar Sociedad, Ciencia, Tecnologa y Matemticas 2003

10

Mdulo 1: Matemticas y Sociedad

Optimizacin matemtica: Ejemplos y aplicaciones

tiene ancho de banda igual a 3. Encontrar una reordenacin que, aplicada tanto a las filas como a las columnas, produzcan una nueva matriz con menor ancho de banda.
Modelo matemtico

Consideremos la variable decisional xij que asume el valor 1 si la fila i (y la columna


i ) es colocada en la j -sima posicin y 0 en otro caso. Entonces, un modelo matemtico es:

min z sujeto a:

j{1,,5} l{1,, 5}

| j l | xij xkl z
j{1,,5}

para todo i, k {1,, 5} : aik 0

xij = 1 para todo i {1,, 5} xij = 1 para todo j {1,, 5}

i{1,,5}

xij {0,1} para todo i, j {1,, 5}.

ste es un ejemplo de un modelo matemtico que no pertenece a la Programacin Lineal Entera. Para presentar un modelo matemtico de Programacin Lineal Entera basta notar que la posicin final de un elemento i cuando se conocen las asignaciones xij viene definida por

jxij . En consecuencia, otro modelo es:

min z sujeto a:

j{1,,5}

j ( xij xkj ) z
j{1,,5}

para todo i, k {1,, 5} : aik 0

xij = 1 para todo i {1,, 5} xij = 1 para todo j {1,, 5}

i{1,,5}

xij {0,1} para todo i, j {1,, 5}. Usando este modelo es posible permutar las filas y columnas de algunas matrices dando lugar a otras matrices anlogas con menor banda. La figura 1 muestra tres matrices de la coleccin MatrixMarket en su formato original y en el formato de banda mnima obtenido mediante el modelo matemtico anterior.

Curso Universitario Interdisciplinar Sociedad, Ciencia, Tecnologa y Matemticas 2003

11

Mdulo 1: Matemticas y Sociedad

Optimizacin matemtica: Ejemplos y aplicaciones

x xxx x x x x x x x x x x x x xxx x x x xx xxx x x x xx x x x x x x x x xx x x x xx x x x x xxx x x x x x x x x x x x xxx x x xx x x xxx x xx x x x x x x x x xxx x x x x x x x xxx x x xx xx x x xxx x x x x xxx x x xxxx x xx xxx x xxx x x xx xxx x x x x xxx x x x xx x xxx xx x x xx xx x x x x xx x x x x x x x x x x x x x xxx xx x xxx x x xx x x x x x x x x x x xxx x x x x x x xxx x x x x x x xx xx x xx x x xxx x x x x x x x x x x x x xxx x x x x x x x x x x x xx xxx x x x xx xxx x x x x x x x x x x x x x x x x xxx x x x xxx x x x x x x x x x x xx x x xxx x xx xxx x x x x x x x x x x x x x xxx x x x x x x xxx x x xx xxx x x x xxx xxx xx x xxx xxx x x xx xxx x x xx x x x x xx x xxx xx x xx x Matriz bcsstk01 de la colecci on MatrixMarket : en la izquierda

x xx xxx x x x x xx x xxxx x x x x xxx x xx xx x x x x xxxxxx x xx xx x x xxx x xxx x x x xx x xxxx x xxx x xx x x xxx x xx xxxxx xx x x x xx x x x xx x xx x xx x xxx xxx xx x x x x x x x xx x x x xx x x x x x x xx x xx xx x xxxx x xx x x xx x x x xx x x x x x xx xx x x x xxx xx xxx x x x xx xx xx x xxx xx x xxx xx xx x xx xx xxx x xx xx xx x x x x x xx xx x x x xx xxx xx x x xxx x x xx x xxx x x xxx x xx xxx xx x x x xx xx x xx xx x x x xx xx x x x x xx xx x x xx x x x xx xxx x x x x x x x x x xx xx x x x x xx xx xx x x x x xx x x x x x xx x x x xx x x x x x x xx xxx x xx xx xx x x x x xxx xx xx x x x xxx x x x x xx x x x x xxx x xx x x xxx xx x x x x xx tiene banda 35, en la derecha 16.

x x xx x x x x x x x x xx x xx x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x xx x x x x x x x x x xx x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x xx xx xx x xx x x x x x x x x xxxx x x x x x x x x x x x x x x x x x x x x x x x x xx x x x x x x x x x xx x x xx x x x x x x x x x x x x x xx x x x x xx x x x x x x x x x x x x x xx xx x xx x x x x x xx x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x xxx xx x x x x x x x x x x x x x x x x x x xx x x x x x x x xx x x x x x x x x x x x x x x x x x x x x x xx x x x x x x x x x x x x xxx x x x x x x x x xx x x x x xx x x x x x x x xx x x x x x x x x x x xx x x x xx x x x x x x x xx x x x x x x x x x x x x x x x x x x x x x x x x x x xx x x xxx x x xx x xx x x x x x x x x x xx x x x x x x xx x x xx x x x xx x x x x x x x xx x x x x x x x xx x x x x x xx x x x x x x x x x x x x x x x x x x x x x x x xx xx x x x x x x x x x x x x x x x x x x x x xx x xx x x x x x x x xx x xx x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x xx x x x x x x x x x x x x x x x x x x x x x x x x xx x x x x xx xx x x x x xx x x x x x x x x x x x xx x x x x x x x x x x x x x x x x x x x x x x x x x x xx x x x x x x x x x x x x x xx x x xx x x x x x x x x x x x x x x x x x x xx x x xx x x x xx x x x x x x xx x x x x x x x x x xx x x x x x x x x x x x x x x x x x x x x x xx x x x x x x xx x x x x xx x x x x x x x x x x x x x x x x x x x x x x x x x x xx x xx x xx x x x x x x x xx x x x x x x x x x x xx xx x x x x x x x x x xxx x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x xx xx x xx x x x xx x xxx x x x x x x x x x x x x x x x xx x x xx x x x x x x xx x x xx xx x x x x x x x xx x x x x x x x x x xxx x x x xx x x x x x x x x xx x x xx x x x xx x x x xx x x x xxx xx x Matriz bcspwr03 de la colecci on MatrixMarket : en la izquierda tiene banda 115, en la derecha 12. x x x x xx xx xx xx xxx xx xx xxx xx xxxx x xxxx xx xxxxx xxxxxxxx x xx xx x x xxx x xxx x xx xx xxx xx xx x xxxxxxxxxxxx x xxxxx x xx x xxx x x xx xx xx xx xxx xx xxxxx x xx x xxxxxxxxxxxx x x xx x xx x xxx x xx x xxx x x xxxxxxxx xxxx x x xx xxxx x xx x x xx xxxx x x xx x x x xxx xxx x xx x x xxx xxx xx xx x x xxx xxx xx xx x x xxx xxx xx xx x x x xx x x x xx xx x x xx xx x xx x x x x x xx x x x x xx xx x x x xx x x xxx xx xx xx xxx xx x x xx xx x x xx x xxx x x xx x x xx x xxx x xx xx xx xxx xx xxx x xx xx xx x xx x xx xx x x xx x xx xx x x xx x xx x x xxx x x xx x x xxx x xx xx xx x x xx xxx x xx xx xxx x x xx xxx x xx xx xx xx x xx x xx x x xx x xx x xx xx x x xx x x xxx x x xx x x xxx x xx xx xx x x xx xxx x xx xx xxx x x xx xxx x xx xx xx xx x xx x xx x x xx x xx x xx xx x x xx x x xxx x x xx x x xxx x xx x xx x xx xxx x xx xx xxx x x xx xxx x xx x xx x xx 61 de la colecci on MatrixMarket : en la izquierda Matriz can xxx xx x xxx xx x xxx xx x xx x x xxxx x xxxxxxx xxx xx xxx xx x xx xxxx xx x xx x xx xxxxxxx x xxx x x xx xxx xx xx xxxx xxx xx xx x x xxxx x x xxx x xxxxx x x xxx x x xx x xx xxxx xx x xx xxxx xxxxxxxxxxxxxxxxxx xx xxxxx xx xxxxxxx x xxxxx xxxxxx xxxxx x xxx x xxxxx x xxxx xx x xxxxxxx x xxx xx x xxxxx x xxxx xx x xx xxx x x x xxx x xxx x xx x xxxxx xxxxxx x xx x xx x xxxxxxxxxxxxxxxxxx x xxxxx x xx x xxxxx x xx x xxxxx x x x xxx x x x xxx xx x x xx x x x xxx xx x xxx x xxxxx xx xx x x xx x xxxxxx xx x x x xx xx xxx xxx x xx xxx x xxxxx xxx xxxxxx xxxxxxxxxxxxxxx x xx x x xxxxx x xxxxxx x x xxxx xxx x x x x x x xx x x x xxxxxx xx x xx xxx xx xxxx xxx x xxxxxx x xx xxx x xxx xxx xx x xxx xxx xx xx x x x x xxx xx xx xx xx x x xxxxx xxx xxx xx xxx xx x x x xxx x x x xxx x x x xxx tiene banda 50, en la derecha 13.

Figura 1. Tres matrices en formatos original (izquierda) y con banda mnima (derecha).

Curso Universitario Interdisciplinar Sociedad, Ciencia, Tecnologa y Matemticas 2003

12

Mdulo 1: Matemticas y Sociedad

Optimizacin matemtica: Ejemplos y aplicaciones

6. Problema de optimizar una inversin

Problema real El C.D. Tenerife ha puesto sus acciones en bolsa y un inversor ha descubierto la clave para sacar el beneficio que en el terreno de juego el resto de los accionistas no han obtenido en toda la temporada. El funcionamiento es el siguiente: al inicio de la temporada se puede invertir en ella una cantidad cualquiera de x euros, al comenzar la siguiente temporada se debe invertir adicionalmente x/ 2 euros, y luego pasada otra temporada se obtienen 2 x euros. Lo obtenido en esas acciones al final de una temporada puede ser reinvertido de nuevo en dichas acciones al principio de la siguiente, si se desea. Si en el momento actual el inversor dispone de 100000 euros, cul debe ser su plan de inversin en tales acciones para disponer de un mximo capital dentro de 6 aos? Modelo matemtico Consideremos la variable xi asociada a la temporada i -sima ( i = 1,, 6 ), representando el dinero invertido al inicio de dicha temporada. Es claro que, por las condiciones de las acciones, conviene que x5 := x6 := 0 , ya que dichas inversiones no producen beneficios dentro de las 6 temporadas. Entonces, un esquema de inversin es:
Temporadas Nueva Inversin Inversin adicional 0 1 2 3 4 5 6 Beneficios 2 x0 2 x1 2 x2 2 x3 2 x4

x0 x1 x2 x3 x4

x0 /2 x1 /2 x2 /2 x3 /2 x4 /2

Por tanto, un posible modelo matemtico es el definido por las restricciones: 1 er 2o 3 er 4o 5o ao: ao: ao: ao: ao:

x1 + x0 / 2 (100000 x0 ) . x2 + x1 / 2 (100000 + x0 / 2 x1 ) . x3 + x2 / 2 (100000 + x0 / 2 + x1/ 2 x2 ) . x4 + x3 / 2 (100000 + x0 / 2 + x1/ 2 + x2 / 2 x3 ) . x4 / 2 (100000 + x0 / 2 + x1/ 2 + x2 / 2 + x3 / 2 x4 ) . x1 0 x2 0 x3 0 x4 0 ,

Curso Universitario Interdisciplinar Sociedad, Ciencia, Tecnologa y Matemticas 2003

13

Mdulo 1: Matemticas y Sociedad

Optimizacin matemtica: Ejemplos y aplicaciones

y su funcin objetivo viene dada por la maximizacin de la funcin lineal: 6o ao : 100000 + x0 / 2 + x1/ 2 + x2 / 2 + x3 / 2 + x4 / 2,

equivalente (como funcin para maximizar) a 2 x0 + 2 x1 + 2 x2 + 2 x3 + 2 x4 .


6. Problema de optimizar un divisor de tensin

Problema real

A la hora de disear un circuito electrnico hay que tener presente que sus componentes estn caracterizadas por diversos parmetros, cada uno de los cuales tiene asociada una cierta tolerancia. Por ejemplo, una resistencia de 48 ohmios puede tener una tolerancia de = 10% , debido a temperatura, tiempo en uso, etc. Al valor dado por el fabricante del componente (en el ejemplo, el nmero 48) lo llamaremos valor centrado. Las tolerancias tambin suelen venir dadas por el fabricante. Es importante tener presente estas tolerancias al tiempo de disear un circuito, y no slo los valores centrados, ya que ellas nos permitirn controlar mejor los lmites bajo los cuales el circuito se mantiene operativo, y en consecuencia optimizar el rendimiento del mismo.

Figura 2. Divisor de tensin.

Consideremos el divisor de tensin de la figura 2. En l se asumen dos generadores de tensin, cada uno de los cuales produce una fuerza electromotriz de E1 y E2 voltios, respectivamente. Asumiremos que E1 > E2 para que el trozo de circuito representado en la figura mueva corriente en el sentido indicado por las flechas. Tambin se asumen conocidas las tolerancias asociadas a dichos potenciales, es decir, se asumen dados valores mnimos E1 , E2 y
+ para E1 , E2 , respectivamente. Se desea determinar los valores centrados de las mximos E1+ , E2 resistencias R1 y R2 de manera que la impedancia resistiva del divisor de tensin sea mnima y el potencial de salida V0 se mantenga siempre dentro de un intervalo predeterminado

[V0min ,V0max ] cuando la corriente I 0 que se desea sacar del divisor (al conectar algn

componente adicional) est entre un mnimo igual a I 0min y un mximo igual a I 0max . Se asumen
+ . conocidas las tolerancias que tendrn las resistencias y que E1 V0max V0min E2

Curso Universitario Interdisciplinar Sociedad, Ciencia, Tecnologa y Matemticas 2003

14

Mdulo 1: Matemticas y Sociedad

Optimizacin matemtica: Ejemplos y aplicaciones

Modelo matemtico

La impedancia resistiva total del divisor viene dada por el valor:


R0 := R1 R2 , R1 + R2

ya que las dos resistencias estn colocadas en paralelo. A fin de obtener un modelo lineal en las variables (las resistencias), conviene trabajar con las admitancias asociadas, es decir, con los valores
Gi := 1/Ri para todo i {0,1, 2}.

Con esta notacin la admitancia total del divisor es G0 := G1 + G2 . Representemos con + y el mayor y menor valor, respectivamente, del valor de cada caracterstica del circuito al considerar su tolerancia. El objetivo del problema propuesto equivale a minimizar el mayor valor R0+ que puede alcanzar la impedancia, o alternativamente a maximizar el menor valor que puede alcanzar su admitancia G0 = G1 + G2 . Si denotamos por G 1 y G 2 los valores centrados de las admitancias
G1 y G2 , respectivamente, es decir, valores tales que G1 := (1 1 )G1 y G2 := (1 2 )G 2 para 1 y 2 dos tolerancias conocidas, entonces el objetivo es:

max

(1 1 )G 1 + (1 2 )G 2

(1)

Para expresar las restricciones sobre las variables G 1 y G 2 , observemos que


V0 = E1G1 + E2 G2 I 0 . G1 + G2

Esto es fcilmente deducible mediante la figura 3, donde se representa el mismo circuito con fuentes de intensidad (la figura 2 dio una representacin del circuito con fuentes de voltaje).

Figura 3. Circuito equivalente con fuentes de intensidad.

Ntese que de esta representacin alternativa se deduce que, si mantenemos fija R2 , V0 aumenta cuando R1 disminuye, es decir, cuando G1 aumenta. En efecto, analticamente tambin se deduce esta misma conclusin observando que la derivada parcial de V0 respecto de G1 es:
V0 G2 ( E1 E2 ) + I 0 = > 0. G1 (G1 + G2 ) 2
Curso Universitario Interdisciplinar Sociedad, Ciencia, Tecnologa y Matemticas 2003

15

Mdulo 1: Matemticas y Sociedad

Optimizacin matemtica: Ejemplos y aplicaciones

De igual forma,

V0

aumenta cuando

G1

se mantiene y

G2

disminuye.

Consecuentemente, V0 asumir su menor valor posible (que se desea sea no inferior a V0min )
+ cuando G1 asuma su menor valor G1 , G2 asuma su mayor valor G2 , y la corriente que se

extraiga I 0 sea I 0max . De este modo la restriccin V0 V0min equivale a imponer


+ E1 G1 + E2 G2 I 0max V0min , + G1 + G2

o, alternativamente,
(1 1 )( E1 V0min )G1 + (1 + 2 )( E2 V0min )G 2 I 0max .

(2)

Anlogamente la restriccin V0 V0max equivale a imponer


+ (1 + 1 )( E1+ V0max )G 1 + (1 2 )( E2 V0max )G 2 I 0min .

(3)

La unin de las expresiones (1), (2) y (3), junto con la no negatividad de las variables y G 1 G 2 , configuran un modelo matemtico de Programacin Lineal.

8. Problema de descubrir datos ocultos

Problema real Supongamos que el Instituto Nacional de Estadstica publica la tabla de datos recogida como tabla 2 con distintos gastos medios de diversos colectivos de una regin. Ntese que se dan tanto datos concretos como sumas marginales y totales. Sin embargo, algunos datos se consideran confidenciales, ya que su publicacin revelara informacin privada. Por ejemplo, se considera que el dato referente al gasto medio en vicios de los obispos de una regin es informacin confidencial, porque en dicha regin slo hay 1 obispo y, por ello, su publicacin estara revelando informacin de un individuo con nombre y apellidos conocidos. No ocurre igual con otros colectivos porque tienen ms miembros. No obstante, algunos deben igualmente ser suprimidos para proteger el caso anterior. Los datos suprimidos son los que aparecen marcados con asterisco. Si slo sabemos que ninguno de los datos ocultos puede ser negativo, cul es el rango ms estrecho de valores que esta tabla revelar a un posible curioso sobre el gasto del obispo en vicios?
polica 5 52 432 34 523 profesor 345 * * 90 576 maestro 130 212 45 85 472 vigilante 15 234 * * 447 obispo 212 * 7 * 321 estudiante 105 234 32 52 423 TOTAL 812 953 726 271 2762

lectura vicios gimnasia ropa TOTAL

Tabla 2. Gastos de diversos colectivos segn distintos conceptos.

Curso Universitario Interdisciplinar Sociedad, Ciencia, Tecnologa y Matemticas 2003

16

Mdulo 1: Matemticas y Sociedad

Optimizacin matemtica: Ejemplos y aplicaciones

Modelo matemtico Consideremos una variable xij asociada a cada celda (es decir, a cada fila i y a cada columna j ) representando el verdadero valor en la tabla. Es claro que las variables no son independientes entre s, sino que estn atadas por ecuaciones: una por cada fila y por cada columna. As cualquier tabla de valores posibles para esta tabla debe cumplir:

x11 + x12 + x13 + x14 + x15 + x16 x21 + x22 + x23 + x24 + x25 + x26 x31 + x32 + x33 + x34 + x35 + x36 x41 + x42 + x43 + x44 + x45 + x46 x51 + x52 + x53 + x54 + x55 + x56 x11 + x21 + x31 + x41 x12 + x22 + x32 + x42 x13 + x23 + x33 + x43 x14 + x24 + x34 + x44 x15 + x25 + x35 + x45 x16 + x26 + x36 + x46 x17 + x27 + x37 + x47 x11 , x12 ,, x56 , x57

= = = = =

x17 x27 x37 x47 x57

= x51 = x52 = x53 = x54 = x55 = x56 = x57 0.

Adems hay variables que en realidad son parmetros (aquellas asociadas a celdas cuyos verdaderos valores sern publicados) y hay otras de las que slo sabemos que son no negativas. Por ello, el conjunto de todas las posibilidades que adems son compatibles con la tabla publicada cumplirn:

x22 + x25 x32 + x34 x44 + x45 x22 + x32 x34 + x44 x25 + x45 x22 , x25 , x32 , x34 , x44 , x45

= 221 = 210 = 10 = 141 = 198 = 102 0.

Ahora el problema planteado consiste en resolver dos problemas lineales, minimizando y maximizando la variable x25 , respectivamente. Ambos valores ptimos definen el rango dentro del cual debe estar el valor no publicado de la celda en fila 2 y columna 5. Este tipo de problemas se llama problema del curioso, y es particularmente relevante en el control de la privacidad durante la publicacin de tablas estadsticas. En este contexto aparecen numerosos problemas diferentes de optimizacin, como el que se plantea un instituto de estadstica cuando desea encontrar las celdas que no debe publicar en una tabla estadstica para asegurar ciertos niveles de proteccin en algunas celdas consideradas sensibles.
Curso Universitario Interdisciplinar Sociedad, Ciencia, Tecnologa y Matemticas 2003

17

Mdulo 1: Matemticas y Sociedad

Optimizacin matemtica: Ejemplos y aplicaciones

9. Problema de redondeos en una tabla

Problema real Supongamos que el anterior Instituto Nacional de Estadstica dispone de la tabla con totales marginales que se muestra como tabla 3, y desea publicarla tras redondear cada valor numrico fraccionario a su entero por exceso o por defecto. Ahora bien, no se admiten cualesquiera redondeos, sino que deben ser tales que en la tabla redondeada se mantengan las mismas relaciones de suma entre las celdas internas y marginales que en la tabla original. Las tablas 4 y 5 son dos posibles tablas redondeadas para la tabla 3 original. En caso de haber varias posibles tablas redondeadas correctas, el Instituto Nacional de Estadstica deseara una que minimice la suma de las diferencias entre los valores redondeados y los valores originales. Plantear un modelo matemtico para resolver el problema.
hombre 1,666666 2,000000 1,250000 4,916666 mujer 2,666666 4,750000 4,250000 11,666666 TOTAL 4,333332 6,750000 5,500000 16,583332

infantil adulto anciano TOTAL

Tabla 3. Tabla a redondear.

infantil adulto anciano TOTAL

hombre 2 2 1 5

mujer 3 5 4 12

TOTAL 5 7 5 17

infantil adulto anciano TOTAL

hombre 2 2 1 5

mujer 2 4 5 11

TOTAL 4 6 6 16

Tablas 4 y 5. Posibles tablas redondeadas.

Modelo matemtico Consideremos una variable decisional xij asociada con la celda (interna o marginal) de la tabla en la fila i y columna j , representando 1 si el redondeo en la celda (i, j ) es por exceso xij = 0 si el redondeo en la celda (i, j ) es por defecto.

Curso Universitario Interdisciplinar Sociedad, Ciencia, Tecnologa y Matemticas 2003

18

Mdulo 1: Matemticas y Sociedad

Optimizacin matemtica: Ejemplos y aplicaciones

Entonces, toda solucin al problema puede identificarse con valores para las variables cumpliendo: primera fila : segunda fila : tercera fila : cuarta fila : primera columna : segunda columna : tercera columna : integrabilidad : (1 + x11 ) + (2 + x12 ) (2) + (4 + x22 ) (1 + x31 ) + (4 + x32 ) (4 + x41 ) + (11 + x42 ) (1 + x11 ) + (2) + (1 + x31 ) (2 + x12 ) + (4 + x22 ) + (4 + x32 ) (4 + x13 ) + (6 + x23 ) + (5 + x33 ) x11 , x12 , x13 , x22 , x23 , x31 , x33 = (4 + x13 ) = (6 + x23 ) = (5 + x33 ) = (16 + x43 ) = (4 + x41 ) = (11 + x42 ) = (16 + x43 ) {0,1},

y la funcin objetivo consiste en minimizar, para cada celda, la contribucin del redondeo considerado, es decir:
0,666666(1 x11 ) + 0,333334 x11 + 0,666666(1 x12 ) + 0,333334 x12 + 0,333332(1 x13 ) + 0,666668 x13 + 0,75(1 x22 ) + 0,25 x22 + 0,75(1 x23 ) + 0,25 x23 + 0,25(1 x31 ) + 0,75 x31 + 0,25(1 x32 ) + 0,75 x32 + 0,5(1 x33 ) + 0,5 x33 + 0,916666(1 x41 ) + 0,083334 x41 + 0,666666(1 x42 ) + 0,333334 x42 + 0,583332(1 x43 ) + 0, 4166668 x43 . Puede demostrarse que cuando la tabla original es de tipo bidimensional la condicin de integrabilidad xij {0,1} para toda celda (i, j ) puede sustituirse simplemente por 0 xij 1 para toda celda (i, j ), con lo que el modelo propuesto pertenece a la Programacin Lineal y adems tiene siempre una solucin ptima entera.
Bibliografa

A.V. Aho, J.E. Hopcroft, J.D. Ullman: Data Structures and Algorithms. Addison-Wesley, Reading (Massachusetts), 1983. M.S. Bazaraa, J.J. Jarvis, H.D. Sherali: Linear Programming and Network Flows. John Wiley & Sons, New York, 1990. V. Chvtal: Linear Programming. Freedman, New York, 1983. W.J. Cook, W.H. Cunningham, W.R. Pulleyblank, A. Schrijver: Combinatorial Optimization. John Wiley & Sons, New York, 1998.
Curso Universitario Interdisciplinar Sociedad, Ciencia, Tecnologa y Matemticas 2003

19

Mdulo 1: Matemticas y Sociedad

Optimizacin matemtica: Ejemplos y aplicaciones

G.L. Nemhauser, L.A. Wolsey: Integer and Combinatorial Optimization. John Wiley & Sons, New York, 1988. C.H. Papadimitriou, K. Steiglitz: Combinatorial Optimization: Algorithms and Complexity. Prentice-Hall, New Jersey, 1982. J.J. Salazar: Programacin Matemtica. Daz de Santos, Madrid, 2001. H.A. Taha: Investigacin de Operaciones, una introduccin. Prentice Hall, Mxico, 1998. H.P. Williams: Model Building in Mathematical Programming. John Wiley & Sons, Chichester, 1999. L.A. Wolsey: Integer Programming. John Wiley & Sons, New York, 1998.
En Internet
http://neos.mcs.anl.gov

NEOS Server for Optimization Servidor web sobre Optimizacin.


http://www.caam.rice.edu/~mathprog

MPS Mathematical Programming Society.


http://www.euro-online.org

EURO Asociacin de las Sociedades Europeas de Investigacin Operativa.


http://www.informs.org

INFORMS Online Institute for Operations Research and the Management Sciences.
http://mat.gsia.cmu.edu

Michael Trick's Operations Research Page


http://www.dash.co.uk

Dash Optimization - Home of Xpress-MP optimisation software Software comercial para Optimizacin.
http://www.lindo.com

LINDO Systems Software comercial para Optimizacin.


http://www.ilog.com/products/cplex

ILOG CPLEX Software comercial para Programacin Matemtica.

Curso Universitario Interdisciplinar Sociedad, Ciencia, Tecnologa y Matemticas 2003

20

También podría gustarte