Introducción a la Programación Programación Matemática Matemática
Programación Programación Cuadrática
PROGRAMACIÓN CUADRÁTICA ¿Qué es Programación Cuadrática? Programación cuadrática es una técnica de optimización no lineal que obtiene el valor máximo /
mínimo de una función objetivo cuadrática, la cual satisface un conjunto de restricciones lineales. La programación cuadrática conforma la base para algunos otros algoritmos de programación no lineal. El modelo general de programación cuadrática (QP), se representa de la siguiente manera:
f x
Min
n
c x j
j
1
j 1
Sujeto a
2
n
n
q x x ij
i
j
i 1 j 1
n
aij x j
bi
i 1,, m
j 1
0
x j
El modelo general de QP, representado en forma matricial es: Min Z = c x + x Qx ’
’
Sujeto a
A x ⋚ b x ≥ 0 donde:
c j = precios netos; bi es el vector de disponibilidades o requerimientos; aij son los
coeficientes tecnológicos ; xij son las actividades. Q es una matriz n x n (cuadrada), la cual se asume simétrica y positiva semidefinida. Cuando las variables son aleatorias y se busca minimizar el riesgo o desvío respecto a una meta, esta matriz Q se constituye de varianzas y covarianzas. Note que comparte muchos elementos con la programación lineal. Resumiendo: la única diferencia con respecto a la programación lineal es la función objetivo, que ya no es lineal, sino cuadrática. Ejemplos de funciones cuadráticas son x1 x2
- 461 -
Introducción a la Programación Programación Matemática Matemática
1/ 2
x
1 2
6 x1
2
3 x1
x
Programación Programación Cuadrática
3/ 2
2
4 x1
4 x1 x 2
7 2
12 x2
20 x1
15 x 2 14
( x1 – 6) 6)2+ ( x2 – 8) 8)2 Cualquier función cuadrática que se someta a un conjunto de restricciones lineales se convierte en un problema de programación programación cuadrática. Aplicaciones de la Programación Cuadrática en Ciencias Económico-Administrativas.
La programación cuadrática tiene una amplia y variada gama de aplicaciones, en la vida y el quehacer humano. A continuación se menciona solo una muestra de tales aplicaciones. Aplicaciones típicas son:
Cartera de inversión de mínimo riesgo
Modelos de inventarios
Modelos de equilibrio espacio-temporal espacio- temporal
Problema de localización localizac ión
Problemas de planificación de producción
Teoría del consumidor
Métodos de solución de problemas de P. Cuadrática 1. Método de Wolfe 2. Programación cuadrática secuencial (SQP) 3. Método de pivote complementario Aunque el más aceptado es el método de Wolfe, que incluye a las condiciones Kuhn-Tucker y las condiciones de holgura complementaria. La geometría de los problemas no lineales –cuadráticos como este- también cambia respecto de lo observado en programación lineal, específicamente la función objetivo, que ya no es una recta. El espacio de puntos factibles es un polígono como de costumbre, pero las funciones objetivo frecuentemente son curvas, elipses o círculos concéntricos. La solución óptima es el punto donde la
- 462 -
Introducción a la Programación Matemática
Programación Cuadrática
curva o contorno de la función objetivo toca a la región factible, aunque puede ser que el punto óptimo sea cualquier punto de la frontera o interior, incluidos los vértices.
El punto óptimo de los problemas cuadráticos no siempre ocurre en un punto extremo.
La solución óptima de este problema se alcanza en el punto frontera x 1* = 2, x 2* = 3 correspondiente al menor y único punto donde la curva de nivel hace tangencia con la región factible. En ese punto, Z* = x - 6 x1 + x - 8 x2 + 25
= (2)2 - 6(2) + (3)2 - 8(3) + 25 = - 23 + 25 Z* = 2
Solución de Problemas Mediante el Método de Wolfe
Se puede utilizar el método de Wolfe para resolver problemas de programación cuadrática para los cuales todas las variables tienen que ser no negativas. El método de Wolfe sigue con la reescritura del problema original como un problema de programación lineal con holguras complementarias; éste último problema es equivalente al problema original. El problema de programación lineal a resolver será de 2(m + n)n variables, m + n restricciones lineales y m + n restricciones de holgura complementaria. Min
f x c T x x T Qx
s.a.
g 1 ( x) x 0 g 2 ( x) Ax b 0
- 463 -
Introducción a la Programación Matemática
Programación Cuadrática
Condiciones de Kuhn – Tucker f ( x) c xT (Q QT )
c xT (Q QT ) A 0
1 g 1 ( x) ... 1 g 2 ( x) AT
Ax b 0 x 0 x 0 0 T ( Ax b) 0 0
Ejemplo: Resolver el siguiente problema de p. cuadrática por el método de Wolfe:
Max Z = 10 x1 + 25 x2 – 10 x - x - 4 x1 x2 Sujeto a x1 + 2 x2 ≤ 10 x1 + x2 ≤ 9
Observe que el grado del término 4 x1 x2
.
también es 2
x1≥ 0 x2 ≥ 0
A continuación se escribe el problema en notación algebraica, formando la función ampliada de Lagrange la cual incorpora los ponderadores “λ i ” llamados multiplicadores de Lagrange. De esta función se derivan y verifican las condiciones necesarias y suficientes de Kuhn - Tucker que deben existir en un óptimo global. Aplicando los multiplicadores de Lagrange tenemos: F( x, λ , μ) = 10 x1 + 25 x2 - 10 x - x - 4 x1 x2 - λ 1( x1 + 2 x2 - 10) - λ 2( x1 + x2 - 9) - μ1(- x1) - μ2(- x2) Las primeras derivadas parciales son: F x1 F x 2
10 - 20 x1- 4 x2
- λ 1 - λ 2 + μ1 = 0
25 - 2 x2 - 4 x1 - 2λ 1
- λ 2 + μ2 = 0
El problema de programación lineal equivalente al original de acuerdo al método Wolfe es: Min W = v1 + v2 - 464 -
Introducción a la Programación Matemática
Programación Cuadrática
Sujeto a 20 x1 + 4 x2 + λ 1 + λ 2 - μ1 + v1 = 10 4 x1 + 2 x2 + 2λ 1 + λ 2 - μ2 + v2 = 25 + y1 = 10 x1 + 2 x2 + y2 = 9 x1 + x2 !Restricciones de holgura complementaria: x1˙μ1 = 0 x2˙μ2 = 0 λ 1 ˙y1 = 0 λ 2 ˙y2 = 0 Utilizando el método Simplex se tiene que la solución básica inicial es: W = - 35; v1 = 10; v2 = 25; y1 = 10; y2 = 9. En la primera iteración entra x2 (2 = 0) y sale x1 (es de aclarar que aunque el Simplex escoge 1 y 2 para entrar a la base antes que lo haga x2, 1 y 2 no son aceptables, ya que y1 y y2 son positivos). El punto extremo luego de recalcular es: W = - 20; x2 = 5/2; v2 = 20; y1 = 5; y2 = 13/2. En la tercera iteración no pueden entrar a la base λ 1 y λ 2, y y1 y y2 son positivas; el Simplex elige a μ1 como siguiente candidato a entrar, y a y1 como variable de salida; el punto extremo después de iterar es: W = - 15; x2 = 5; v2 = 15; μ1 = 10; y2 = 4. En la última iteración (v1 = 0 y v2 = 0) debe entrar x1 pero no puede porque μ1 es positivo; el siguiente elemento a entrar a la base es λ 1 el cual reemplaza a v2. Luego de recalcular (pivotear) el punto extremo es: W = 0; x2 = 5; λ 1 = 15/2; μ1 = 35/2; y1 = 4. La solución anterior corresponde al óptimo: x1 = 0, x2 = 5;
Z* = 100
- 465 -
Introducción a la Programación Matemática
Programación Cuadrática
Los problemas de cartera de mínimo riesgo son aquellos donde un inversor dispone de una cantidad fija de dinero la cual se desea invertir en varias alternativas. Se sabe que el riesgo es medido por la varianza del rendimiento ganado por el portafolio, y que las alternativas más redituables también son aquellas que incorporan el riesgo más alto. Estos modelos buscan obtener rendimientos altos a través de minimizar el riesgo total de las alternativas seleccionadas. Se trata entonces de seleccionar un portafolio que proporcione el mayor rendimiento aceptable y cuya varianza de alcanzar ese rendimiento sea mínima. (Markowitz, 1959) El modelo de cartera de varianza mínima puede ser escrito: Min xT Q x Sujeto a T
r x
algunos llaman a esta expresión línea de presupuesto
n
x
i
1
i
x
0
DONDE: Q es la matriz de varianzas y covarianzas r i son los rendimientos individuales de los instrumentos de inversión ρ
es el rendimiento o devolución del portafolio completo.
Recuérdese antes las reglas básicas sobre medias, esperanzas y varianzas de sumas de variables aleatorias. Dadas las variables aleatorias: x1 , x 2 ,
..., xn
y las constantes: a, b y k
- 466 -
Introducción a la Programación Matemática
Programación Cuadrática
La esperanza de una suma de variables aleatorias es la suma de las esperanzas de las variables individuales:
E x1
x2
... xn
x E x .... E x E 1
2
n
La varianza de una suma de variables aleatorias es la suma de las varianzas de las variables individuales más sus covarianzas: var x1 x2 ... xn var x1 var x2 ... var xn
cov x , x i
j
i j
La esperanza de una variable aleatoria afectada por una constante k es el producto de la constante por la esperanza de dicha variable:
E k xi k E xi
La varianza de una variable aleatoria afectada por una constante k es el cuadrado de la constante por la varianza de dicha variable: var k xi
k
2
var xi
La covarianza de dos variables aleatorias afectadas por dos constantes a y b es el producto de estas constantes por la covarianza de dichas variables.
cov axi ,
bx j
a b cov xi , x j
Ejemplo 1. Cartera de inversión de mínimo riesgo
Una empresa dispone de un capital de $100000 para invertir en su totalidad en tres títulos: Sean r 1, r 2 y r 3 variables aleatorias que corresponde al interés anual para $1.0 invertido en los títulos 1, 2 y 3 respectivamente. Nos dan la siguiente información: De acuerdo a datos históricos, se espera que los rendimientos de estos títulos sean 0.14, 0.11 y 0.10, por cada dólar invertido, respectivamente. Así, si r 1 = 0.14 indica que por cada $1.0 invertido en el título i al inicio del año, después de un año valdrá $1.14. La variabilidad del riesgo de invertir en estos tres títulos se muestra en la siguiente matriz de varianzas y covarianzas: - 467 -
Introducción a la Programación Matemática
Programación Cuadrática
cov (r 1 , r 2 ) cov(r 1 , r 3 ) 0.20 0.05 0.02 var (r 1 ) cov(r , r ) var (r ) cov(r 2 , r 3 ) 0.05 0.08 0.03 2 1 2 cov (r 3 , r 1 ) cov (r 3 , r 2 ) var (r 3 ) 0.02 0.03 0.18
El inversionista desea que el rendimiento anual del portafolio sea de por lo menos 12%. Formule y resuelva en PC un problema de programación cuadrática que proporcione respuestas acerca de las cantidades de dinero a invertir encada uno de los títulos y varianza total del portafolio de inversiones. Solución
Sea x j la cantidad de dinero ($) invertida en el título j ( j =1, 2, 3). Se tiene la siguiente información:
E r 1
var (r 1 ) cov
0.14; E r 2
0.11; E r 3
0.20; var (r 2 )
1, 2 r
r
0.05; covr 1 ,
0.10
0.08; var (r 3 ) r
3
0.18
0.02; covr 2 ,
r
3
0.03
El interés o retorno anual de la cartera está dado por: x1 r 1 x 2 r 2
x3 r 3
100 000
El retorno anual esperado para la cartera o portafolio es:
x
x1 E r 1
2
x
E r 2
3
100 000
E r 3
0.14 x1
0.11 x 2
0.10 x 3
100 000
Este retorno anual esperado de la cartera debe ser por lo menos 12 %: 0.14 x1
0.11 x 2 0.10 x3 12 000
La varianza de la cartera
está definida por la expresión:
Var( x1 r 1 + x2r 2 + x3 r 3) = var ( x1r 1)+ var ( x2 r 2) + var ( x3r 3) + 2cov( x1r 1, x2 r 2) + 2cov( x1r 1, x3 r 3) + 2cov( x2r 2, x3r 3) = x var (r 1) + x var (r 2)+ x var ( r 3) + 2 x1 x2cov(r 1, r 2) + 2 x1 x3cov(r 1, r 3) + 2 x2 x3cov(r 2, r 3) 2
1
2
2
2
3
= 0.20 x + 0.08 x + 0.18 x + 0.10 x1 x2 + 0.04 x1 x3 + 0.06 x2 x3 2
1
2
2
2
3
- 468 -
Introducción a la Programación Matemática
Programación Cuadrática
Entonces, el modelo completo es el siguiente: Min Z = 0.20 x + 0.08 x + 0.18 x + 0.10 x1 x2 + 0.04 x1 x3 + 0.06 x2 x3 Sujeto a 2
1
2
2
2
3
0.14 x1 0.11 x 2 0.10 x3 12 000 x
1
x 2 x3 100
x
1
,
x
2
,
x
3
000
0
La solución óptima para este problema de programación cuadrática es: x
1
38 095.24 ,
x
2
47 619.05 y
x
3
14285.71
Así, la cartera de varianza mínima que tiene un interés esperado de por lo menos 12%, consiste en invertir $38095.24 en el título 1, $47619.05 en el título 2 y $14285.71 en el título 3. La varianza de esta cartera es $752,380,928. - 469 -
Introducción a la Programación Matemática
Programación Cuadrática
Esta cartera tiene una desviación estándar de 752380928
$27429.56
La cartera produce un interés esperado de: [0.14*(38095.24) + 0.11*(47619.05) + 0.10*(14285.71)]/100 000 = 0.12 = 12%. Por cada unidad monetaria invertida, se tendrá una retribución de $0.12. La edición y solución de este problema en LINGO es la siguiente:
Los modelos de equilibrio espacio temporales son aquellos que buscan maximizar una función de bienestar llamada valor social neto (VSN), de tipo cuadrático que satisface un conjunto de restricciones de distribución de la oferta y de abastecimiento de las necesidades de demanda de un producto homogéneo determinado. Es una extensión del modelo de transporte, pero a diferencia del problema de transpo rte tradicional, aquí los datos de las cantidades disponibles de producto en zonas de producción y de las cantidades demandadas de producto en zonas de consumo no son datos conocidos, sino que ahora dependen del precio, esto es, hay una función de oferta y una función de demanda de ese producto en cada región, y estas son determinadas intrínsecamente al resolverse el modelo. Ahora las variables son además de los flujos de producto xij, las capacidades o excedentes de producción xi y las cantidades requeridas de producto y j. F unción de demanda P d d
wd y d
donde P d precio al consumidor en la región d
yd
consumo en la región d
- 470 -
Introducción a la Programación Matemática
d
0, wd
Programación Cuadrática
0
F unción de oferta P s
s s x s
donde
precio al productor en región s
P s
x s
s
producción en región s
⋛
s
0
y
Área bajo curva de demanda = Área bajo la curva de oferta =
0
x
0
( d d y d ) dy d d y d ( s s x s ) dx s
1
2 Valor Social Neto (VSN ) = d y d d y d s x s
2
s x s
1 2
1 2 1 2
2
d y d 2
s x s
s x s2 - Costos de comercialización
VSN = área bajo curva de demanda – área bajo curva de oferta – costos de comercialización
Formulación del modelo n
Max VSN = d 1
n
n
n
[ y - w y ] [ x + x ] t d
d
d
2 d
2
s
s
1
s
s s
x sd
sd
s 1 d 1
- 471 -
Introducción a la Programación Matemática
Programación Cuadrática
Sujeto a n
x
sd
x s
d 1
n
x sd y d s 1
X sd 0
Donde: x sd =
cantidad de producto enviado desde la región s a la región d . t = costo de transporte de una unidad de producto desde región s a región d . x = oferta o producción en la región s. y d = consumo o demanda en la región d . sd
s
Por lo que la función lagrangeana sería: n
L( x, y, σ ) =
n
n
n
[ y - w y ] [ x + ] t 2
d
d
d
s
d
d 1
s
s
s
x
2
x sd
sd
s
1
s 1 d 1
n n n s x s x sd d x sd y d s 1 d 1 d 1 s 1 n
Donde los σ i son los multiplicadores indeterminados de Lagrange. Esta función se deriva con respecto a las xs, las yd, los y los . Se forman así las condiciones d
s
de primer orden, que en este caso por tratarse de desigualdades las restricciones se les llama las condiciones de Kuhn - Tucker. L x s
( s s x s )
precio existente
s
0,
y
precio optimo
L x s
para todo s.
x s 0
Para que x ≥ 0, el precio existente debe igualar al precio óptimo s
L y d
d
W d
y d
precio existente
d
0,
L
y
x d
precio optimo
y d 0
para todo d
Para que y d ≥ 0, el precio existente debe igualar al precio óptimo L x sd
t sd d s 0 ,
y
L x sd
x sd 0
para todo s, d .
- 472 -
Introducción a la Programación Matemática
Programación Cuadrática
Para que x sd ≥ 0 (que haya comercio), los costos de transporte t sd debe igualar al diferencial de precios de equilibrio. L d L s
n
x sd y d 0 ,
L
y
n
x s x sd 0 ,
d 0
para todo d
s 0
para todo s
d
s 1
L
y
d 1
s
Ejemplo. Modelo de Equilibrio Espacial para un producto homogéneo ; tres regiones , las cuales pueden ser productoras y consumidoras a la vez , un solo mercado.
Las funciones de demanda para las regiones 1, 2 y 3, respectivamente, son:
P1 = 20 - 0.1 y1 1
P2 = 20 - 0.2 y2 2
w
1
P3 = 20 - 0.125 y3 3
w
2
w3
Las funciones de oferta para las regiones 1, 2, 3, respectivamente, son:
P1 = 5 + 0.1 x1 1
P2 = 2.5 + 0.05 x2
1
2
P3 = 5 + 0.1 x3
2
3
3
Los costos de transporte son
t11 = 0 t21 = 2 t31 = 2
t12 = 2 t22 = 0 t32 = 1
t13 = 2 t23 = 1 t33 = 0
La función objetivo para este problema de tres regiones queda de la siguiente manera: 2 VSN = [ 1 y1 - w1 y12 + 2 y2 - w2 y 2 + 3 y3 - w3 y32 ]
- 473 -
Introducción a la Programación Matemática
Programación Cuadrática
[ 1 x1 + 1 x12 + 2 x2 + 2 x22 + 3 x3 + 3 x32 ]
t
x11 t 12 x12 t 13 x13 t 21 x21 t 22 x 22 t 23 x23 t 31 x31 t 32 x32 t 33 x33
11
Por lo que el modelo de equilibrio espacial a resolver es: Max VSN = [20y1 - (0.1) y12 + 20y2 - (0.2) y 22 + 20y3 - (0.125) y 32 ]
- [ 5 x1 + (0.1) + 2.5 x2 + (0.05) + 5 x3 + (0.1) ] - [ 0 x11 + 2 x12 + 2 x13 + 2 x21 +0 x22 + x23 + 2 x31 + x32 + 0 x33 ] x
2
x
1
2
x
2
2
3
Sujeto a x11 + x12 + x13 ≤ x1 x21 + x22 + x23 ≤ x2 x31 + x32 + x33 ≤ x3 x11 + x21 + x31 ≥ y1 x12 + x22 + x32 ≥ y2 x13 + x23 + x33 ≥ y3
y1, y2, y3, x1, x2, x3, x11, x12, …, x33 ≥ 0
La función Lagrangeana para este problema es:
L( x, y, σ ) = {[20y1 - (0.1) y + 20y2 - (0.2) y + 20y3 - (0.125) y ] 2
2
2
3
2
1
- [ 5 x1 + (0.1) + 2.5 x2 + (0.05) + 5 x3 + (0.1) ] - [ 0 x11 + 2 x12 + 2 x13 + 2 x21 +0 x22 + x23 + 2 x31 + x32 + 0 x33 ] } x
2
x
1
2
x
2
2
3
+ s [ x1 - x11 - x12 - x13] + [ x2 - x21 - x22 - x23] + [ x3 - x31 - x32 - x33] + d [ y1 - x11 - x21 - x31] + d [ y2 - x12 - x22 - x32] + d [ y3 - x13 - x23 - x33] s 2
1
1
Donde los
σ i
s 3
3
2
son los multiplicadores indeterminados de Lagrange.
Esta función se deriva con respecto a las xs, las yd, los d y los
s
. Se forman así las condiciones
de primer orden, que en este caso por tratarse de desigualdades las restricciones se les llama las condiciones de Kuhn-Tucker.
L y1 L y 2
20 - 0.1 y1 + d 1 =
0
20 - 0.2 y2 + d 2 =
0
L d 1 L d 2
y1 - x11 - x21 - x31 = 0
y2
- x12 - x22 - x32 = 0 - 474 -
Introducción a la Programación Matemática
L y 3 L x1
L x 2 L x3
20
Programación Cuadrática
- 0.125 y3 + = 0 d 3
-
5 - 0.1 x1 + = 0
-
2.5 - 0.05 x2 + s
-
5 - 0.1 x3 + = 0
s1
L d 3 L s1 L
2
s 3
s 2 L s 3
y3
- x13 - x23 - x33 = 0
x1 - x11 - x12 - x13 = 0
x2
- x21 - x22 - x23 = 0
x3
- x31 - x32 - x33 = 0
Entonces se resuelven el sistema de 12 ecuaciones simultáneas compuestas, para determinar los valores de las 21 variables involucradas. Para esta tarea es recomendable auxiliarse de un software como Lingo, GAMS, Maple, etc.
Explicación de resultados: La región consumidora 1 demanda 92.38 unidades, la región consumidora 2 demanda 56.19 unidades, la región consumidora 3 demanda 81.90. La región productora 1 debe producir 57.62 unidades de producto, la región productora 2 debe producir 125.24 unidades y la región productora 3 debe producir 47.62 unidades. La región productora 1 envía 57.62 unidades a la región consumidora 1; la región productora 2 debe enviar 34.76 unidades a la región consumidora 1; la región productora 2 debe enviar 56.19 unidades a la región consumidora 2; la región productora 2 envía 34.19 unidades a la región consumidora 3; la región productora 3 envía 47.62 unidades a la región consumidora 3.
- 475 -
Introducción a la Programación Matemática
Programación Cuadrática
El bienestar social para los productores y consumidores de las tres regiones es de $1,833.21 Análisis de las condiciones de optimización: Para que
Y 1
= 92.381 > 0, se tuvo que haber dado que, precio existente igualase a precio óptimo
1
1
2
3
2
si
Y 1 =92.382
:
10.762
8.762
9.762
3
1
1
* y1
1
0
20-0.1(92.381)-10.762 = 0
Muchos problemas consisten en hacer la mejor elección de un lugar para establecer una ‘ facilty’ o instalación, como puede ser una planta productiva, hospital, aeropuerto, etc., ó si ya existen estas, para establecer un almacén, o bodega de distribución, esto con el fin de minimizar costos de distribución. La ubicación es crítica en muchos casos para el éxito del negocio, de ahí que es importante determinar donde establecer las instalaciones para lograr los objetivos de la empresa. Se utilizan las coordenadas ( x, y ) para identificar la ubicación de una instalación respecto a un punto fijo (a, b). Las componentes ‘ x’, ó ‘a’, representan la longitud o distancia Este - Oeste; las componente ‘ y’, y ‘b’, representan la longitud Norte - Sur. Un algoritmo de localización trata de encontrar las coordenadas ( x, y) de una instalación nueva que minimice los costos de transporte hacia una o varias instalaciones ya existentes (a i, bi), con un costo por unidad de distancia de wi.1 En la solución del problema es necesario especificar un modelo apropiado de distancia. Se debe tener claro lo que es distancia, y si la medición es por tierra o por aire.
1 Leer el siguiente vinculo
http://people.brunel.ac.uk/~mastjjb/jeb/or/facloc.html
- 476 -
Introducción a la Programación Matemática
Programación Cuadrática
Si ( xi, yi) son las coordenadas de una locación ” i ” y ( x j, y j) las coordenadas de una locación ” j ”, entonces la medida de distancia en un modelo de localización puede ser:
Rectilineal
δij = |xi - x j| + |yi - y j|
Euclidiana
δij =
( xi
x j )
2
( yi
y j )
2
Rectangular Euclidiana – δij = ( xi - x j)2 + ( yi - y j)2 Si se dibuja un triángulo rectángulo donde un punto está en un extremo de la hipotenusa y el otro punto en el otro extremo, la longitud de la hipotenusa será la distancia Euclidiana y la suma de las longitudes de los catetos será la distancia rectangular. Tome en cuenta que en la realidad existen curvas, subidas y bajadas, etc. Así es que se debe escoger la que mejor se acerque a la situación.
La medición Euclidiana de distancia es la más común, y se usa donde un viaje en línea recta genuina es posible. Así, si la distancia es por aire, la fórmula euclidiana para calcular la distancia en línea recta es:
D (ai x) 2
(bi
y) 2
Los datos a i y bi son las coordenadas de la ubicación de los centros ya existentes, que se toman como puntos de referencia. Si son varios puntos o instalaciones ya existentes, hay que sacar la distancia hacia todos ellos. La distancia total hacia los puntos ya existentes es la suma: n
(ai x) 2 (bi y ) 2
i 1
- 477 -
Introducción a la Programación Matemática
Programación Cuadrática
Por lo que la función objetivo que hace mínimo el costo de transporte hacia los almacenes es: n
wi
Min Z =
(ai x) 2 (bi y ) 2
i 1
Estos problemas podrían estar condicionados a que cierta área de r kilómetros de radio y cuyo centro son las coordenadas ( kx, ky) quede incluida ó excluida para el establecimiento de la instalación. (k x
x )
2
(k y
y )
2
r 2
De lo contrario, si no hay esta condición, se trata de un problema de optimización libre. Hay que indicar al modelo las coordenadas del área donde no está permitido que se establezca la instalación. La más indicada para este caso es una ecuación de distancia circular. Así, si la condición es “no se puede establecer la instalación en un radio de 2 k ilómetros desde el punto de coordenadas (10, 9)”, lo que se está excluyendo es el área del circulo cuyo centro es (h, k ) = (10, 9) y su radio es de
2. El área comprendida dentro del círculo de exclusión está definida por la inecuación ( x 10) 2
( y 9) 2
22
Entonces, el modelo a optimizar cuando hay un área de exclusión es: n
wi
Min Z =
2
(ai x) (bi y )
2
i 1
Sujeto a (k x
x )
2
(k y y )
2
r 2
Donde k x y k y son las coordenadas del centro de un área que necesariamente debe excluirse como posible ubicación de la instalación. Si fuera un área de inclusión, el símbolo de desigualdad debería ser “≤ “. Si no existe tal área de exclusión, entonces no hay restricciones, y solo se optimiza la función objetivo.
Obtener la solución óptima es hallar los valores de las coordenadas ( X, Y).
- 478 -
Introducción a la Programación Matemática
Programación Cuadrática
La solución a estos problemas de localización de instalaciones, al ser funciones cuadráticas, se pueden ser con una gran cantidad de sofware’s de programación no lineal, como Quadratic Programming (QSB), LINGO, GAMS, EXCEL, etc.
Ejemplo 1.- La empresa de fertilizantes ‘Fermat’ quiere encontrar la mejor ubicación para establecer
una nueva planta productiva que haga más económicos los costos de distribución hacia 5 almacenes ya existentes en la zona. Las coordenadas de estos almacenes y costos unitarios de transporte son los siguientes:
Instalación Almacén 1 Almacén 2 Almacén 3 Almacén 4 Almacén 5
ai
(km) bi (km) wi ($/km) 0 0 5 3 16 22 18 2 41 8 18 60 20 2 34
Encontrar las coordenadas ‘ x, y’ de la nueva instalación que haga mínima la suma de los costos de transporte hacia los puntos (ai, bi). Observe que la ubicación de la nueva planta de fertilizantes no está restringida a quedar comprendida o excluida de un área específica. Se trata pues de un problema no restringido. Entonces, la función objetivo es n
Min Z wi (ai x) 2 (bi y ) 2 i 1
5 * (0 x) 2
60 * (8 x) 2
(0 y) 2
(18 y ) 2
22 * (3 x) 2
(16 y ) 2
34 * (20 x) 2
41* (18 x) 2
(2 y ) 2
(2 y ) 2
En este caso, no hay restricción acerca de una zona que deba ser excluida. Las coordenadas óptimas de la nueva expansión son: x = 9.79, y = 13.57. Con estas coordenadas se obtiene el costo de transporte sustituyendo en la función objetivo:
- 479 -
Introducción a la Programación Matemática
Programación Cuadrática
n
Min Z wi (ai x) 2 (bi y ) 2 i 1
5 * (0 9.8) 2
60 * (8 9.8) 2 = $1635.31
(0 13.57) 2
(18 13.57) 2
22 * (3 9.8) 2
34 * (20 9.8) 2
(16 13.57) 2
41 * (18 9.8) 2
(2 13.57) 2
(12 13.57) 2
costo total detransporte desde y hacia la planta.
La distancia desde la planta hasta los almacenes 1, 2, 3, 4 y 5, son 16.74km, 7.22km, 14.18km, 4.78km y 15.43km respectivamente.
EDICIÓN Y SOLUCIÓN CON EL MÓDULO “LOCATION” DE QM-POM Hay cuatro submódulos disponibles bajo el módulo de ‘Location’ de la instalación. La ubicación cualitativa (con ponderación) se utiliza para asignar ponderaciones a varios factores de localización y puntuaciones a sitios potenciales. El programa calcula la puntuación ponderada total. La ubicación Unidimensional y ubicación bi-dimensional se utiliza para encontrar el "centro" de un conjunto de ubicaciones que se especifican mediante coordenadas horizontales (eje X / Este-Oeste) y / o verticales (eje Y, Norte-Sur). También está disponible un modelo de análisis del punto de equilibrio para la ubicación.
- 480 -
Introducción a la Programación Matemática
Programación Cuadrática
Resultados
Las COORDENADAS PONDERADAS a la derecha son simplemente las coordenadas multiplicadas por los ponderadores. La fila TOTAL contiene la suma simple, mientras que la fila AVERAGE contiene la coordenada “x” y la coordenada “y” divididas por el número de coordenadas, mientras que para las coordenadas
ponderadas son las mismas coordenadas “x” y “y” divididas por el peso total. NOTA: Para distinguir Norte de Sur (o Este de Oeste) us ar coordenadas negativas para una de las direcciones. p.ej. -2 = 2S mientras que 2 = 2N
- 481 -
Introducción a la Programación Matemática
Programación Cuadrática
LOCALIZACIÓN RESTRINGIDA La ubicación de la nueva instalación podría estar condicionada a que las coordenadas óptimas quede incluida ó excluida de una determinada área o demarcación con r kilómetros de radio y cuyas coordenadas de centro (k x, k y), para el establecimiento de la instalación . (k x
x)
2
(k y y )
2
2
r
Hay que indicar al modelo las coordenadas del área no permitida. Para tal efecto se usa una ecuación de distancia circular. Así, si la condición es “no se puede establecer la instalación en un radio de 2 kilómetros desde el punto de coordenadas (10, 9)”, lo que se está excluyendo es el área del circulo
cuyo centro es (h, k ) = (10, 9) y su radio es de 2. El área comprendida dentro del círculo de exclusión está definida por la inecuación ( x 10) 2
( y 9)
2
22
Entonces, el modelo a optimizar cuando hay un área de exclusión es: Min Z =
n
wi
2 2 (ai x) (bi y)
i 1
Sujeto a
- 482 -
Introducción a la Programación Matemática
(k x
x)
2
(k y y )
Programación Cuadrática
2
r 2
Donde k x y k y son las coordenadas del centro de un área que necesariamente debe excluirse como posible ubicación de la instalación. Si fuera un área de inclusión, el símbolo de desigualdad debería ser “≤ “.Qué pasa si P debe estar comprendido entre una región especifica?
Ejemplo 2.- La compañía Trucko tiene cinco nuevos clientes, y desea establecer un nuevo
‘warehouse’ para atender mediante envíos de producto a estos clientes. Las posiciones de estos
cinco clientes en el plano X - Y son (5, 10), (10, 5), (0, 12), (12, 0) y (2,4). Se asume que los envíos a los clientes no pueden ser combinados en un mismo viaje. Determine las coordenadas óptimas dónde debería ubicarse el nuevo warehouse que garantice que la distancia total recorrida por los camiones transportistas sea mínima. Procedamos primero a obtener las coordenadas óptimas de la ubicación aún sin limitantes:
Solución Con El Paquete LINGO:
Las coordenadas donde debe construirse el almacén son ( x , y ) = (5.4, 6.7).
Ahora considere esta restricción: El nuevo warehouse debe quedar excluido del área de radio 3 del centro cuyas coordenadas son (5, 5). Explique nuevamente los resultados.
- 483 -
Introducción a la Programación Matemática
Programación Cuadrática
La representación gráfica (pictorial) de la situación anterior es la siguiente:
En la figura anterior se aprecia la nueva ubicación del almacén, que satisface la condición de no estar dentro del área del círculo de radio 3 y centro (5,5). Se observe que la distancia total aumenta, aunque marginalmente: de 29.54 km. aumenta a 29.85 km. Fuentes
de información: Winston, Wayne L., Investigación de Operaciones, Grupo Editorial Iberoamérica, S. A. De C. V., México, 1.994, ISBN 970-625-029-8.
- 484 -