Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Matemáticas Aplicadas
Matemáticas Aplicadas
Reservados todos los derechos. Ni la totalidad ni parte de este libro puede reproducirse o
transmitirse por ningn procedimiento electrnico o mecnico, incluyendo fotocopia, grabacin
magntica o cualquier almacenamiento de informacin o siste ma de reproduccin, sin permiso
previo y por escrito de los titulares del Copyright.
ndice general
Introduccin
13
1. Preliminares
15
1.1. Topologa de Rq . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
19
21
23
. . . . . . . . . . . . . . . . . .
35
35
39
42
52
57
58
61
64
66
67
76
78
II
78
80
83
87
103
105
. . . . . 106
147
ndice general
III
Aplicaciones
171
173
233
289
Bibliografa
295
Smbolos y abreviaturas
297
ndice alfabtico
299
Introduccin
El presente libro versa principalmente sobre el planteamiento y la resolucin
(analtica y con ayuda del programa informtico MATLAB1 ) de problemas de
optimizacin no lineal, con diferentes incursiones en la optimizacin lineal. As
pues, el objetivo fundamental del libro es proporcionar herramientas analticas
y computaciones para la bsqueda de mximos o mnimos de una determinada
funcin objetivo dentro del conjunto de soluciones factibles, el llamado conjunto factible, definido como el conjunto de soluciones de un cierto sistema de
ecuaciones e inecuaciones llamadas restricciones del problema (vase (3.1) para
una formulacin matemtica del modelo). Se considera tambin, en una primera
etapa, el caso de problemas de optimizacin sin restricciones (vase (2.1) para
un planteamiento formal). Cuando tanto la funcin objetivo como el sistema
de restricciones son lineales, estamos ante un problema de Programacin Lineal
(PL para abreviar); en otro caso, en el que alguna de las mencionadas funciones
es no lineal, nos encontramos ante un problema de Programacin No Lineal (que
abreviamos por PNL).
Trabajaremos en el contexto de problemas con una cantidad finita de variables de decisin (cada una de ellas tomando valores en el conjunto de los
nmeros reales) y una cantidad finita de restricciones. Ambas, PL y PNL, son
ramas de la Programacin Matemtica (PM), la cual se ocupa del estudio terico
y prctico de problemas de optimizacin generales, incluyendo tambin la Programacin Entera, Programacin Multiobjetivo, Programacin Semi-Infinita e
Infita, etc. En lo que sigue emplearemos indistintamente los trminos progra1
(vase www.mathworks.com/trademarks)
Introduccin
cho problema especfico, fueron demostradas por Farkas en 18982 . Vase Prkopa
[22] para mayor detalle sobre los comienzos de la teora de la optimizacin tal y
como la conocemos hoy en da.
El tratamiento sistemtico de problemas de PNL con restricciones de desigualdad fue iniciado por Karush en 1939, y Kuhn y Tucker en 1951. Estos
autores obtuvieron de forma independiente las condiciones necesarias de optimalidad (local), referidas en prrafos anteriores como condiciones de KKT.
Desde la publicacin de Kuhn y Tucker [15], diferentes autores han dedicado
un notable esfuerzo a la obtencin de las condiciones de KKT bajo diferentes
hiptesis de cualificacin de restricciones. Un excelente trabajo de recopilacin
de casi una veintena de estas cualificaciones de restricciones y las relaciones
existentes entre ellas lo encontramos en Peterson [20]. Citaremos, por ejemplo,
las hiptesis de cualificacin de restricciones de Slater, Mangasarian, Cottle,
Mangasarian-Fromovitz, Kuhn-Tucker, Arrow-Hurwicz-Uzawa, Abadie y Guignard.
Resumen de contenidos. El libro est estructurado en tres partes bien
diferenciadas y precisamente la composicin de contenidos de estas tres partes
es la principal caracterstica que diferencia a sta de otras obras que podemos
encontrar en la literatura sobre optimizacin matemtica. La seleccin de contenidos del libro est inspirada en la vertiente prctica de las asignaturas de Programacin No Lineal y Modelos de Optimizacin (con un total de 7,5 crditos
tericos y 6 crditos prcticos), impartidas en la Universidad Miguel Hernndez
de Elche (UMH) por M.J. Cnovas, coautora de la presente obra.
La parte I recoge los enunciados fundamentales de la teora de la PNL ilustrados con diferentes ejemplos y ejercicios resueltos. Los autores han prestado especial atencin a los aspectos didcticos y al rigor matemtico a la hora de
introducir los diferentes conceptos y resultados, as como a la completitud de
los mismos. Concretamente, se enuncian las condiciones de KKT bajo determinadas hiptesis de cualificacin de restricciones. Este libro incluye tres de estas
hiptesis, seleccionadas por criterios didcticos y de utilidad prctica. Tambin
2
10
Introduccin
11
incorporando, cada vez ms, a las titulaciones tanto de naturaleza terica, como
los grados en matemticas, como las de corte ms aplicado.
El manuscrito surge con una doble finalidad. Por un lado, pretende servir
de bibliografa bsica en asignaturas de optimizacin aplicada, impartidas en
diferentes ingenieras, en grados y postgrados de economa, estadstica, medicina,
etc. Por otro, se trata de un libro de problemas de PNL y de consulta sobre
diferentes aplicaciones de la PL y la PNL en grados y postgrados relacionados
con la optimizacin terica y aplicada (por ejemplo, en carreras de matemticas).
Al mismo tiempo, los contenidos del manuscrito pretenden ser objeto de consulta
de profesionales de diferentes campos relacionados con la logstica y la toma de
decisiones.
Como se ha comentado anteriormente, hasta donde los autores han podido comprobar, no existe en la literatura otro libro de caractersticas similares.
Se enuncian con todo rigor los conceptos y resultados tericos esenciales de
PNL, se muestran a nivel instrumental las herramientas computaciones que
ofrece el MATLAB para la resolucin de problemas de PL y PNL, y se aplican estos conocimientos al desarrollo terico y la resolucin, con alto grado de
generalidad, de una seleccin de aplicaciones (en ocasiones empleando grandes
bases de datos y programas especficos elaborados por los autores en el lenguaje
del MATLAB). Con todo, la referencia ms cercana a la temtica del presente
libro es Venkataraman [27].
Pueden encontrarse en la literatura excelentes monografas donde se exponen
la teora y los mtodos de la PNL con todo rigor, incluyendo las demostraciones
de las condiciones de optimalidad y las pruebas relacionadas con la convergencia
de algoritmos de PNL. Dentro de este grupo de publicaciones citaremos Bazaraa
et l. [4], Bertsekas [5], Fletcher [9] y Luenberger [16].
Tambin encontramos textos de teora y/o ejercicios dedicados al estudio de
las condiciones de optimalidad y que se caracterizan por su precisin y rigor
matemtico, como son Barbolla et l. [2] y [3], Daz et l. [7] y Novo [17].
Por otro lado, existen textos de carcter general sobre los modelos y mtodos
de la Investigacin Operativa, que dedican alguno de sus temas a dar una breve
introduccin a la PNL, de entre los que podemos citar Hillier y Lieberman [13],
Prawda [21], Taha [26] y Winston [28].
12
Parte I
Captulo 1
Preliminares
1.1.
Topologa de Rq
(q)
En lo que sigue
Rq
z }| {
representa al producto cartesiano R R> siendo
{0 representar su traspuesto; esto es, {0 = ({1 > {2 > ===> {q ). No obstante, cuando
{ = ({1 > ===> {q )0 5 Rq figure como argumento de una funcin i : Rq $ R> por
simplicidad, escribiremos i ({1 > ===> {q ) para denotar a i ({) = i ({1 > ===> {q )0 =
Es bien sabido que Rq es un espacio vectorial con las operaciones suma y
16
g ({> |) = k{ |k =
Ejemplo 1.1 (p-normas) Un caso particular de norma es la llamada s-norma,
kks > para s 5 ]1> +4[ > definida por
k{ks =
q
X
l=1
!1
({l )s
> { 5 Rq =
(1.1)
l=1
Ejemplo 1.2 (Normas kk1 y kk" ) Otras normas de inters en casos prcticos son las definidas de la siguiente forma
k{k1 := |{1 | + |{2 | + === + |{q | y k{k" := max {|{l | : l = 1> 2> ===> q} > { 5 Rq >
donde max representa el mximo. Dichas normas inducen las correspondientes
distancias
g1 ({> |) :=
q
X
l=1
|{l |l | y g" ({> |) := max {|{l |l | : l = 1> 2> ===> q} > {> | 5 Rq =
En general, |{0 || $ k{ks k|kt (desigualdad de Hlder) siendo s> t A 1 tales que 1@s+1@t =
Captulo 1. Preliminares
17
E ({> ) = {| 5 Rq | g ({> |) = k{ |k ? } =
La bola unidad abierta E (0q > 1) asociada a una norma genrica kk se representar simplemente por E= La bola unidad abierta asociada la norma kk1
B
xn
B
Bf
Figura 1.1: Bolas asociadas a las normas kk1 > kk2 y kk" .
Definicin 1.4 (Entornos y abiertos) Dada una norma kk y dado { 5 Rq >
llamamos entorno de { a un subconjunto X Rq tal que
E ({> ) X> para algn A 0=
Un abierto en Rq ser un subconjunto D Rq que tiene la propiedad de ser
entorno de todos sus puntos. En otras palabras, D Rq es abierto si para
cualquier { 5 D existe A 0 tal que E ({> ) D=
Teorema 1.1 Todas las normas de Rq definen la misma topologa (la misma
familia de abiertos).
Definicin 1.5 (Cerrado) Un subconjunto F Rq es cerrado si su complementario, Rq \F> es abierto.
18
Por motivos didcticos, se introducen los compactos como los conjuntos cerrados y acota-
dos. Es bien sabido que la compacidad suele definirse en trminos ms generales, y la propiedad
de ser cerrado y acotado es una caracterizacin de la compacidad en Rq = El hecho de ser una
caracterizacin nos permite adoptarla como definicin alternativa.
Captulo 1. Preliminares
19
1.2.
Ci
C{l
({) y
C2i
C{l C{m
Ci
ui ({) =
({)
C{l
l=1>===>q
ser expresado como vector columna. La matriz hessiana de i en { 5 Rq > ser
denotada por Ki ({) > esto es,
Ki ({) =
C2i
({)
C{l C{m
l>m=1>===>q=
20
F s (D) ;
(ii) (Cociente) Si j> k 5 F s (D) > y D {{ 5 Rq | k ({) 6= 0} entonces
j
k
F s (D) ;
(iii) (Producto por escalar) Si j 5 F s (D) > entonces j 5 F s (D) > siendo
5 R;
(iv) (Composicin) Sean j (j1 > j2 > ===> jp ) : Rq $ Rp y k : Rp $ R tales
que jl 5 F s (D) para todo l = 1> ===> p 5 N> y k es tambin de clase F s en algn
abierto Y verificando Im j Y Rp ; entonces k j 5 F s (D) = Adems, si
i = k j : Rq $ R y { 5 D> se tiene:
p
X Ck
Cjm
Ci
({) =
(j ({))
({) = (Regla de la cadena).
C{l
C|m
C{l
m=1
Captulo 1. Preliminares
21
Rq
q
X
l>m=1
1.3.
Como veremos a continuacin, un detalle clave en la verificacin de las condiciones de optimalidad de segundo orden es la clasificacin de la matriz Ki ({) >
que en nuestro caso siempre ser simtrica (pues supondremos i 5 F 2 (D) > con
{ 5 D Rq > siendo D abierto).
Definicin 1.10 (Clasificacin de matrices y formas cuadrticas) Sea
P = (plm )ql>m=1 una matriz simtrica de orden q con plm 5 R para todo l> m =
1> ===> q y sea t : Rq $ R su forma cuadrtica asociada, esto es,
q
X
X
t ({) = { P { =
pll {2l +
2plm {l {m > { 5 Rq =
0
l=1
l?m
Se dice que:
(i) P (o t) es definida positiva si t ({) = {0 P { A 0> para todo { 5 Rq \{0q };
Rq \{0q };
22
Observacin 1.2 Ntese que los casos (iii) y (iv) no son excluyentes en el sentido de que la matriz nula (con todos sus coeficientes cero) es tanto semidefinida
positiva como semidefinida negativa.
La siguiente proposicin caracteriza cada una de las situaciones de la definicin anterior en trminos de los valores propios de P= En este momento, recordemos un resultado importante de lgebra lineal que establece que toda matriz
simtrica de orden q con coeficientes en R es diagonalizable, esto es, existen una
matriz diagonal G una matriz invertible S tales que S 31 P S = G; los elementos diagonales de la matriz G son los valores propios de P= En particular, si
P es simtrica, siempre existen q valores propios reales (con posibles repeticiones). Recordemos tambin que los valores propios de P coinciden con las
races del polinomio caracterstico s () := det (P L) > donde L representa
a la matriz identidad de orden q> det (P L) denota al determinante de la
matriz caracterstica P L> con 5 R=
Proposicin 1.3 (Criterio de los valores propios) Sea P una matriz simtrica de orden q con coeficientes reales y sean 1 > 2 > ===> q 5 R sus valores
propios. Se tiene:
(i) P es definida positiva si, y solo si, 1 > 2 > ===> q A 0;
(ii) P es semidefinida positiva si, y solo si, 1 > 2 > ===> q 0> y existe algn
l = 0;
(iii) P es definida negativa si, y solo si, 1 > 2 > ===> q ? 0;
(iv) P es semidefinida negativa si, y solo si, 1 > 2 > ===> q 0> y existe algn
l = 0;
(v) P es indefinida si existen l A 0 y m ? 0=
Proposicin 1.4 (Menores y elementos diagonales) Sea P = (plm )ql>m=1
una matriz simtrica de ordenq con coeficientes
reales y sean P1 > P2 > ===> Pq los
menores dados por Pn := det (plm )nl>m=1 ). Se tienen los siguientes enunciados:
(i) P es definida positiva si, y solo si, P1 > P2 > ===> Pq A 0;
(ii) P es definida negativa si, y solo si, sign (Pl ) = (1)l > donde sign ()
representa el signo del nmero real > esto es, sign () = 1 si A 0> sign () =
1 si ? 0 y sign (0) = 0;
Captulo 1. Preliminares
23
1.4.
Definicin 1.11 Un subconjunto [ Rq es convexo si para cualesquiera puntos {> | 5 [ y cualquier 5 [0> 1] se tiene que
{ + (1 ) | 5 [=
Vase la figura 1.2 para una ilustracin de la definicin de conjunto convexo
y su negacin.
24
DxD\
&RQYH[R
1RFRQYH[R
es convexo.
K = { 5 Rq | d0 { = d1 {1 + d2 {2 + === + dq {q = e >
Vd = { 5 Rq | d0 { = d1 {1 + d2 {2 + === + dq {q ? e >
Vf = { 5 Rq | d0 { = d1 {1 + d2 {2 + === + dq {q e >
Captulo 1. Preliminares
25
es un conjunto convexo.
F = { 5 R2 | {21 + {22 1 ,
26
S = { 5 Rq | d0m { em > m = 1> ===> s> d0m { = em > m = s + 1> ===> t >
u
u
X
X
l {l > con
l = 1 y 1 > ==> u 0=
l=1
l=1
Rq >
tada por frqy ([) > al conjunto de todas las combinaciones convexas (finitas) de
elementos de [; esto es,
)
( u
u
X
X
l
l
l { | { 5 [> l 0> l = 1> ===> u>
l = 1> u 5 N =
frqy ([) =
l=1
l=1
\
frqy ([) =
Captulo 1. Preliminares
27
En la figura 1.3 se ilustra la definicin de funcin convexa. En trminos informales, la grfica de una funcin convexa queda por debajo (pudiendo coincidir)
del segmento que une a los puntos ({> i ({)) con (|> i (|)) =
D fxDfy
fDxDy
DxDy
28
y
x
f x f x
x x
x
vase la figura 1.4 donde se muestra que, para una funcin convexa, la aproximacin de Taylor de primer orden (plano tangente) siempre queda por debajo
de la grfica de la funcin.
Observacin 1.4 Cuando digamos simplemente que i es convexa sin especificar sobre qu convexo, se entender que es convexa en todo el espacio Rq =
En este caso el abierto D de la proposicin anterior es el propio Rq = Concretamente, por ejemplo, en el apartado (ii) de la proposicin anterior quedara:
si i 5 F 2 (Rq ) > se tiene que i es convexa si, y solo si, Ki ({) es definida o
semidefinida positiva para todo { 5 Rq =
Ejercicio 1.3 Analizar si cada una de las siguientes funciones es convexa en R2
o no.
(i) i ({) = {21 + 4{22 ;
(ii) i ({) = {1 {2 ;
(iii) i ({) = cos {1 cos {2 ;
(iv) i ({) = log({21 + {22 + 1)=
Solucin. (i) Se tiene que
!
2 0
2{1
ui ({) =
> { 5 R2 =
> y Ki ({) =
8{2
0 8
Ntese que, en este ejemplo, Ki ({) es constante con respecto a {> siendo definida
positiva.
Captulo 1. Preliminares
29
0 1
1 0
> { 5 R2 >
1
0
0
0
> obtenemos
1
>
2{1
{21 +{22 +1
2{2
{21 +{22 +1
2
{21 +{22 +1
3
E
Ki ({) = C
4{21
34{1 {2
2
({21 +{22 +1)
34{1 {2
2
({21 +{22 +1)
2
4{
2
2 22 2
{21 +{22 +1
({ +{ +1)
1
4
F
D=
En situaciones como sta, las condiciones (iv) y (v) de la proposicin 1.4 pueden
proporcionar una forma rpida de comprobar que i no es convexa: se trata de
encontrar un punto fijo en el que algn elemento diagonal sea negativo; en este
caso, no es necesario evaluar el resto de la matriz. Por ejemplo, si consideramos
2
6
4
4
= ? 0>
2
4+1
25
(4 + 1)
30
4
F
F>
D
que es definida o semidefinida positiva para todo { (ntese que al ser diagonal,
los elementos diagonales son los valores propios; vase la proposicin 1.3).
Por otro lado, ! es creciente y convexa en R> pues
!0 (w) = !00 (w) = hw A 0 para todo w 5 R=
Aplicando entonces la proposicin 1.9 (iii) se tiene que i = ! j es convexa.
(ii) Como consecuencia inmediata de la proposicin 1.9(iv) se tiene que i es
convexa.
4
Obviamente si ! est definida sobre algn conjunto convexo que contiene a Im i , el resul-
Captulo 1. Preliminares
31
p
{21 + {22 + {23 = Ntese que si exs
presamos i como composicin i = !j donde j ({) := {21 +{22 +{23 y ! (w) := w>
(iii) Consideremos i : R3 $ R> con i ({) =
no se verifican las hiptesis de la proposicin 1.9 (iii) (! 5 F 2 (]0> +4[) > con
!00 (w) =
1
I
4 w3
Buscaremos otro argumento: podemos observar que i ({) = k{k2 = Veamos di-
donde se han aplicado las propiedades que definen una norma y el hecho de que
y 1 son no negativos; por lo tanto i es convexa.
(iv) Consideremos i ({) = |{1 {2 + 4{3 | y expresemos i = ! j con
Q = {{ 5 F : i ({) } >
es convexo.
Solucin. Situmonos en el caso no trivial en el que Q 6= B= Sean {> | 5 Q
32
Veamos que cada uno por separado son conjuntos convexos. Respecto del primero,
es un nivel inferior de la funcin i1 ({) = {21 + 4{22 + 4{43 > que se comprueba fcilmente que es convexa, pues
4
3
2 0
E
Ki1 ({) = E
C 0 8
0
0
F
F
D
0 0 48{23
es definida o semidefinida positiva para todo { 5 R3 = Por su parte, el segundo, es
un nivel inferior de la funcin i2 ({) = {1 {3 que es convexa, de hecho Ki2 ({)
es la matriz nula. As pues, F es convexo.
(ii) Como en el apartado anterior, basta ver que las funciones j1 ({) =
|{1 + 4{2 + 4{3 | y j2 ({) = h{1 +4{2 son convexas, lo cual se deduce inmedia-
Ejercicio 1.7 Encontrar un ejemplo que muestre que Q puede ser convexo,
aunque i no sea convexa.
Solucin. Considrese la funcin i : ]0> +4[ $ R> i (w) = log (w) = Se tiene
que
Q = {w 5 ]0> +4[ | log (w) }
n
o
= w 5 ]0> +4[ | w = hlog(w) h
i
i
= 0> h >
que es convexo, y i no es convexa.
Observacin 1.5 (Funciones cncavas) Puede hacerse un desarrollo paralelo para funciones cncavas. Si B 6= F Rq convexo, una funcin i : F $ R
es cncava si i es convexa. Para funciones de clase F 2 en un abierto convexo
Captulo 1. Preliminares
33
Captulo 2
2.1.
(2.1)
donde { 5 Rq representa a la variable de decisin y i : Rq $ R es la funcin objetivo de (S ) = A medida que se vayan requiriendo, iremos incorporando
35
36
Se P lq ! (i ({)) >
Se el nuevo problema de
37
(i) { 5 Rq es ptimo local de (S ) si, y solo si, { es ptimo local de Se ;
q
(ii) { 5 R es ptimo global de (S ) si, y solo si, { es ptimo global de
Se =
En lo que sigue diremos que dos problemas de PNL sin restricciones son
(S1 ) P lq 1 + {21 + 4{42 > (S2 ) P lq 1 + {21 + 4{42 > (S3 ) P lq 1 + {21 + 4{42 >
2
4
(S4 ) P lq log 1 + {21 + 4{42 > (S5 ) P lq 21+{1 +4{2 =
En concreto, veamos que todos son equivalente a (S2 ) = Denotemos por il a
s
w=
38
se tiene:
u<"
u<"
u<"
u<"
39
{ : { 5 R es acotado inferior-
3
2
Ejemplo 2.6 (Dos problemas con ptimos locales que no son globales)
Consideremos los problemas, en R>
(S1 ) P lq { vhq {;
(S2 ) P lq
{
{2 +1
vhq {=
sucesin 3
2 + 2u uMN > se tiene que
lm
u<"
3
2
+ 2u vhq 3
m 33
2 + 2u = l
2 2u = 4=
u<"
Luego (S1 ) es no acotado. Por su parte, (S2 ) es resoluble, lo que puede intuirse
en la figura 2.1. Ms adelante veremos que (S1 ) y (S2 ) tienen infinitos ptimos
locales.
2.2.
Condiciones de optimalidad
40
)XQFLyQREMHWLYRGH3
)XQFLyQREMHWLYRGH3
41
{ no ptimo local
ui ({) = 0q , Ki ({) DP
{ ptimo local
{ no ptimo local
42
2.3.
Ejercicios resueltos
0
cos {1 sen {2
=
=
ui ({) =
sen {1 cos {2
0
De la primera ecuacin se deduce:
cos {1 = 0 ( , {1 =
+ n> n 5 Z) sen {2 = 0 ( , {2 = v> v 5 Z)=
2
2
2
+ u> u 5
Z=
Caso 2 : {2 = v> v 5 Z= Sustituyendo en la segunda ecuacin obtenemos
() sen {1 = 0> luego {1 = w> w 5 Z=
43
v
2 + n : n> u 5 Z ^
C=
:
v>
w
5
Z
=
w
2 + u
Estudiemos ahora la matriz hessiana evaluada en cada uno de estos puntos. Se
tiene:
Ki ({) =
sen {1 sen {2
cos {1 cos {2
cos {1 cos {2
sen {1 sen {2
!
A
A
A
+n
A
1 0
A
2
A
A
? 0 1 ; si { = 2 +u y n y u tienen distinta paridad,
!
Ki ({) =
A
0
1
A
A
A
; si { = v
A
w y v y w tienen la misma paridad,
A
A
1 0
A
A
!
A
A
A
0
1
A
A
A
; si { = v
=
w y v y w tienen distinta paridad.
1 0
Aplicando la proposicin 1.5 clasificamos la matriz Ki ({) > obteniendo que en
el primer caso esta matriz es definida negativa, en el segundo es definida positiva
y en los dos ltimos indefinida. Por tanto, el conjunto de ptimos locales est
dado por
L=
2
2
+ n
+ u
tiene:
{1
+ n sen
+ u = 1 sen {1 sen {2 > para todo
i ({) = sen
5 R2 >
2
2
{2
donde la ltima desigualdad se deduce del hecho de que, para cualquier {{12 5
44
En consecuencia
G = L y el valor del problema es y = 1=
Ejercicio 2.2 Resolver el siguiente problema de PNL sin restricciones:
(S ) P lq {1 cos {2 =
Solucin. Consideremos ahora la funcin objetivo i ({) = {1 cos {2 = Determinemos el conjunto de puntos crticos de (S ):
cos {2
0
cos {2 = 0>
ui ({) =
=
,
{1 sen {2 = 0=
{1 sen {2
0
De la primera ecuacin se obtiene: {2 =
2
2
0
+ n
:n5Z =
!
0
sen {2
Ki ({) =
=
sen {2 {1 cos {2
Sea n 5 Z y { =
+n
2
; se tiene:
;
!
A
0 1
A
A
A
> si n es par;
A
?
1 0
!
Ki ({) =
A
0
1
A
A
A
> si n es impar.
A
=
1 0
q<"
En otras palabras:
q
= lm q (1) = 4=
q<"
L = G = B y y = 4=
45
2{1 cos {2
0
2{1 cos {2 = 0>
ui ({) =
=
,
{21 sen {2
0
{21 sen {2 = 0=
De la primera ecuacin se obtiene:
(
Caso 1 : {1 = 0;
Caso 2 : cos {2 = 0 , {2 =
2
+ n> n 5 Z=
2
2 cos {2
2{1 sen {2
2{1 sen {2
{21 cos {2
Ki ({) =
2 cos {2 0
0
y evaluada en { =
no contiene ningn ptimo local. Por otra parte, todos los puntos del conjunto
o
n
0
:
cos
{
0
2
{2
46
0
{2
Caso 2.a: n par. En este caso, obsrvese que, para todo q>
1
1
= cos
+ n +
?0
cos {2 +
q
2
q
Entonces, si consideramos la sucesin {{q }qMN R2 dada por
q
{ :=
2
1
q
+ n +
1 > q 5 N>
se tiene:
1
1
lm { = { y i ({ ) =
+ n +
? 0 = i ({) > q 5 N=
cos
q<"
q
2
q
q
{ :=
2
1
q
+ n
1 > q 5 N>
47
se tiene:
lm {q = { y i ({q ) ? 0 = i ({) > q 5 N=
q<"
n
0
{2
o
: cos {2 A 0 =
Ninguno de los ptimos locales es global, pues de hecho el problema no es acotado. En efecto, si consideramos la sucesin {{q }qMN R2 definida por
q
> q 5 N>
{ :=
q
se tiene:
q<"
As,
q<"
q<"
y = 4 y G = B=
Observacin 2.1 El ejercicio anterior maneja en afirmativo y en negativo la
definicin de ptimo local. La tcnica empleada en dicho ejercicio es estndar:
para probar que { es ptimo local, ha de encontrarse un entorno X de { (o al
menos asegurar su existencia) tal que
i ({) i ({) > para todo { 5 X=
En caso de que { no sea ptimo local, para demostrarlo, esto es, para probar que
no existe ningn entorno en las condiciones anteriores, una posible estrategia
(conveniente en la prctica) consiste en encontrar una sucesin {{q }qMN R2
tal que
q<"
48
2
2
2
2
{2 +{2 {1
2{1 h{1 +{2 + {21 + {22 2{1 h{1 +{2
2
2
1
2
= 2 1 + {1 + {2 h
=
ui ({) =
2
2
2
2
{2
2{2 h{1 +{2 + {21 + {22 2{2 h{1 +{2
2 2
As, puesto que 2 1 + {21 + {22 h{1 +{2 6= 0 para todo {>
(
{1 = 0>
0
ui ({) =
,
0
{2 = 0=
En otras palabras
0
C=
=
0
Ntese que en este caso, un camino ms directo que el de analizar las condiciones
2 2
As, en este caso, dado que { = 00 es el nico candidato a ptimo local y global
0
C=L=G=
y y = 0=
0
{1 +{2
+ ({1 + {2 ) h{1 +{2
1
h
{1 +{2
(1 + {1 + {2 )
=
=h
ui ({) = {1 +{2
{
+{
1
2
1
h
+ ({1 + {2 ) h
Luego el conjunto de puntos crticos coincide con
C = { 5 R2 | 1 + {1 + {2 = 0 =
!
h{1 +{2 (1 + {1 + {2 ) + h{1 +{2 h{1 +{2 (1 + {1 + {2 ) + h{1 +{2
Ki ({) =
h{1 +{2 (1 + {1 + {2 ) + h{1 +{2 h{1 +{2 (1 + {1 + {2 ) + h{1 +{2
!
1
1
=
= (2 + {1 + {2 ) h{1 +{2
1 1
31
Ki ({) = h
49
1 1
1 1
>
(2.2)
Veamos que
(1 + ) h31+ A i ({) = h31 =
De hecho, veamos que la funcin k : R $R> k () := (1 + ) h31+ tiene un
mnimo global en = 0= Calculemos las derivadas primera y segunda
uk () = k0 () = h31+ + (1 + ) h31+ = h31+ =
Kk () = k00 () = h31+ + h31+ = h31+ (1 + ) =
As, el nico punto crtico de k es = 0 y, adems, Kk (0) = h31 A 0> luego,
sabemos que = 0 es un mnimo local de k= Por ser k una funcin de R en R>
para ver que = 0 es mnimo global, basta fijarse en las zonas de crecimiento
y decrecimiento de k :
k0 () ? 0 si ? 0> y k0 () A 0 si A 0>
luego k es decreciente en ]4> 0[ y creciente en ]0> +4[ = Por tanto, = 0 es
un mnimo global de k> lo que significa que
(1 + ) h31+ A i ({) = h31 > para todo =
(2.3)
50
G = L = C = { 5 R2 | 1 + {1 + {2 = 0 =
Ejercicio 2.6 (Revisitado) Demostrar que el siguiente problema tiene infinitos ptimos locales:
(S ) P lq { sen {=
Solucin. Sea i ({) = { sen {= Se tiene:
i 0 ({) = sen { + { cos { = 0=
En este caso, no podemos despejar explcitamente { de la ecuacin anterior,
pero s podemos garantizar la existencia de infinitas soluciones de la ecuacin a
partir del Teorema de Bolzano. En concreto consideremos, para cada n 5 Z> el
+ n i 0
+ (n + 1) = sen
+ n sen
+ (n + 1) = 1>
2
2
2
2
i
2
+ n>
h
+ (n + 1) tal que i 0 {n = 0> para todo n 5 Z=
2
2
i 00 {n = 2 cos {n {n sen {n = 2 cos {n + {n cos {n >
51
donde se ha aplicado el hecho de que i 0 {n = sen {n + {n cos {n = 0= As pues,
2
00
n
n
A0
i { = cos { 2 + {n
si n es impar. Luego, para todo n 5 Z impar, {n es un ptimo local, esto es,
n
o
{n : n 5 Z impar L=
Luego existen infinitos ptimo locales, aunque ninguno es global, como se prob
en el ejemplo 2.6.
Observacin 2.2 En PNL frecuentemente no podrn resolverse las ecuaciones
que proporcionan los candidatos a ptimos locales de forma exacta. En estos
casos, hacemos hincapi en los hechos siguientes: como aplicacin del Teorema
de Bolzano puede garantizarse la existencia de soluciones y los algoritmos de
PNL proporcionarn aproximaciones de dichas soluciones (por ejemplo, en el
programa MATLAB encontramos implementados algunos de estos algoritmos
de PNL).
Ejercicio 2.7 Demostrar que el siguiente problema tiene infinitos ptimos locales:
(S ) P lq
{2
{
sen {=
+1
Solucin. Se tiene:
1
{2 + 1 2{2
{
i ({) =
cos { = 2
sen { + 2
2
{ +1
{ +1
({2 + 1)
0
1 {2
sen { + { cos { =
{2 + 1
52
2.4.
+({2 33)2 =
Solucin. se tiene:
ui ({) = h
As, { =
1
3
0
2 ({1 1)
=
/ {1 = 1> {2 = 3=
0
2 ({2 3)
Ejercicio 2.9 Demostrar que el problema (S ) P lq {21 +{22 +h{1 +{2 es resoluble
(existe algn ptimo global).
Solucin. Se tiene que
2{1 + h{1 +{2
0
ui ({) =
=
, 2{1 = 2{2 = h{1 +{2 =
{
+{
2{2 + h 1 2
0
53
1
h2
{1
ui ({) = 0> siendo { =
5 ]1> 0[ ]1> 0[ .
{1
54
2 2
2 8
1
> e = 0=
> f=
1
!
{1
1
0
=
+
=
1
0
{2
2 8
2 2
55
1
2
= Por tanto, aplicando el apartado (i)
El sistema tiene solucin nica { =
0
del teorema anterior tenemos
1
2
=
C=L=G=
0
El valor ptimo es
1
y = i ({) = {0 T{ + f0 { + e = 0.25=
2
(ii) Para i ({) = {21 + 2{1 {2 + {22 + {1 + {2 + 4> se tiene:
!
2 2
1
T=
> f=
> e = 4=
1
2 2
Ahora T es semidefinida positiva. Los puntos crticos son las soluciones del
sistema T{ + f = 0> esto es,
!
2 2
1
0
{1
+
=
=
{2
1
0
2 2
Se trata de un sistema compatible indeterminado, esto es, con infinitas soluciones. Concretamente, en virtud del teorema anterior,
El valor ptimo
C = L = G = { 5 R2 | 2{1 + 2{2 + 1 = 0 =
y = i ({) = 3.75>
1@2
siendo { cualquier ptimo global (por ejemplo, puede tomarse { =
0
para calcular y).
(iii) Para i ({) = {21 + 2{1 {2 + {22 + {1 {2 + 4> se tiene:
T=
2 2
2 2
> f=
1
> e = 4=
1
!
2 2
1
0
{1
>
+
=
1
0
{2
2 2
56
2 8
> f=
1
> e = 4=
1
T es indefinida, as que
y = 4=
(En este caso existiran puntos crticos, pero ninguno es ptimo local, y por
supuesto, ninguno global).
(v) Para i ({) = {21 + 2{1 {2 4{22 + {1 + {2 + 4 se tiene:
T=
2
8
1
> e = 4=
> f=
1
2
2
1
> e = 4=
> f=
1
Captulo 3
(3.1)
donde { 5 Rq representa a la variable de decisin, i : Rq $ R es la funcin objetivo de (S ), y jl : Rq $ R, con l = 1> 2> ===> p> son las funciones que determinan
las restricciones de (S ) = A medida que se vayan requiriendo, iremos incorporando ciertas hiptesis de continuidad y diferenciabilidad a estas funciones= Por
simplicidad, los enunciados de los diferentes resultados tericos se darn para el
problema (3.1) cuyo sistema de restricciones contiene nicamente desigualdades.
Este tratamiento no supone prdida de generalidad, pues cualquier igualdad del
tipo k ({) = 0> con k : Rq $ R> se puede desdoblar en las desigualdades
k ({) 0> k ({) 0.
Como antecedente de la teora desarrollada en este captulo, a continuacin
recordamos las condiciones de Lagrange, que habitualmente se incluyen en la
materia de clculo en varias variables. Cuando se considera el problema de PNL
con restricciones de igualdad:
(S0 ) P lq i ({)
v=d jl ({) = 0> l = 1> 2> ===> p>
(3.2)
58
entorno de {> para todo l = 1> 2> ===> p> y suponiendo que {ujl ({) : l = 1> 2> ===> p}
p
X
(3.3)
l=1
para ciertos escalares 1 > 2 > ===> p 5 R= Los escalares 1 > 2 > ===> p se denominan
multiplicadores de Lagrange y, de hecho, el sistema de ecuaciones (3.3) determina
el as llamado mtodo de los multiplicadores de Lagrange, presentado en su da
como una herramienta clave para encontrar el estado de equilibrio estable de
un sistema mecnico. Como se comenta en la introduccin, este resultado fue
publicado por Lagrange en 1788, en su libro Mcanique Analytique.
3.1.
Notacin y definiciones
A continuacin, introducimos los conceptos bsicos relacionados con la resolucin de nuestro problema de PNL con restricciones.
Definicin 3.1 Dado el problema (S ) de PNL con restricciones introducido en
(3.1), se definen los siguientes elementos:
(i) El conjunto factible de (S ) > denotado por I> es el conjunto de soluciones
del sistema de restricciones de (S ) > esto es,
I := {{ 5 Rq | jl ({) 0 > l = 1> ===> p} ;
(ii) El valor ptimo de (S ) > denotado por y> est dado por
y := inf {i ({) : { 5 I } ;
(adoptamos el convenio de que y = +4 cuando I = >)=
(iii) Un punto { 5 I es ptimo local de (S ) si existe un entorno de {>
X Rq > tal que
i ({) i ({) para todo { 5 X _ I ;
(iv) Un punto { 5 I es ptimo global de (S ) si
i ({) i ({) para todo { 5 I ;
en otras palabras, si el valor ptimo se alcanza en el punto factible { (i.e.,
y = i ({))=
59
Se el nuevo problema de
60
anterior para problemas cuyos sistemas de restricciones tengan trminos independientes arbitrarios, esto es, para problemas cuyos sistemas de restricciones
asociados sean de la forma
{jl ({) el > l = 1> ===> p} >
con el 5 R para todo l= En este caso, las funciones !l de la proposicin anterior
han de ser estrictamente crecientes en Dl > con (Im jl ^ {el }) Dl R=
En lo que sigue cuando dos problemas tengan los mismos conjuntos factibles,
los mismos ptimos locales y ptimos globales (como es el caso de (S ) y Se
2
3
Se
P lq log {21 + 1 + 3 log (|{2 | + 1)
(S ) P lq {1 + 1 (|{2 | + 1)
p
v=d
{21 + {22 3> y
v=d
{21 + {22 9>
log |{1 | + log |{2 | 0>
|{1 {2 | 1=
las restricciones de Se vienen determinadas por !1 j1 y !2 j2 donde
!1 : R+ $ R> con !1 (w) = w2 > y !2 : R $ R> con !2 (w) = hw =
estrictamente creciente en R=
3.2.
61
p
X
(3.4)
l=1
62
l ujl ({) =
lML({)
Entendemos que
= 0 si L ({) = >=
Ntese que para determinar el conjunto de puntos de KKT han de distinguirse diferentes casos, dependiendo de las diferentes elecciones de conjuntos de
ndices activos. Atendiendo a la definicin 3.3 tambin puede observarse que la
resolucin del sistema de ecuaciones (3.4), concretamente el sistema de ecuaciones {l jl ({) = 0> l = 1> ===> p} > conduce al anlisis de diferentes casos (por
{1 + {2 1>
{1 > {2 0=
0
{2 1
, {1 = {2 = 1=
=
ui ({) =
{1 1
0
1
Puesto que { =
5
@ I> este caso no proporciona ningn punto factible.
1
Caso II: L ({) = {1} = Buscamos soluciones del sistema:
;
{2 1
1
A
A
ui
({)
=
=
>
1
A
?
{1 1
1
{1 + {2 = 1 (pues L ({) = {1})>
A
A
A
=
1 0> { 5 I=
63
;
{2 1
1
A
A
A
? ui ({) = {1 1 = 2 0 >
{1 = 0 (pues L ({) = {2})>
A
A
A
=
2 0> { 5 I=
Del primer bloque se deduce 1 {2 = 2 y {1 = 1> lo que contradice la
igualdad {1 = 0= As pues, este caso no proporciona ninguna solucin.
Caso IV: L ({) = {3} = Buscamos soluciones del sistema:
;
0
{2 1
A
A
= 3
>
A ui ({) =
?
1
{1 1
{2 = 0 (pues L ({) = {3})>
A
A
A
=
3 0> { 5 I=
Del primer bloque se deduce 1 = {2 y 1 {1 = 3 > por lo que se encuentra
una contradiccin con {2 = 0=
Caso V: L ({) = {1> 2} = Buscamos soluciones del sistema:
;
{2 1
1
1
A
A
ui
({)
=
=
+
>
A
1
2
A
A
1
1
0
{
1
A
?
{1 + {2 = 1>
A
A
A
{1 = 0>
A
A
A
=
0> 0> { 5 I=
1
0
Se deduce inmediatamente que { =
= Sustituyendo en el primer bloque,
1
se tiene 0 = 1 2 y 1 = 1 > lo que implica 2 = 1= Puesto que, { 5 I> se trata
de un punto de KKT.
Caso VI: L ({) = {1> 3} = Buscamos soluciones del sistema:
;
{2 1
1
0
A
A
ui ({) =
= 1
+ 3
>
A
A
A
{1 1
1
1
A
?
{1 + {2 = 1>
A
A
A
{2 = 0>
A
A
A
=
0> 0> { 5 I=
1
64
1
En este caso se deduce { =
= Como antes, sustituyendo en el primer
0
bloque, se tiene 1 = 1 y 0 = 1 3 = As pues, 3 = 1= De nuevo, puesto que
{ 5 I> se trata de un punto de KKT.
Caso VII: L ({) = {2> 3} = Buscamos soluciones del sistema:
;
{
1
1
0
2
A
A
ui ({) =
= 2
+ 3
>
A
A
A
{1 1
0
1
A
?
{1 = 0>
A
A
A
{2 = 0>
A
A
A
=
0> 0> { 5 I=
2
0
y sustituyendo en el primer bloque, se
0
tiene 1 = 2 y 1 = 3 > lo que contradice la no negatividad de los multipliInmediatamente se deduce { =
cadores.
Caso VIII: L ({) = {1> 2> 3} = Este caso no proporciona ninguna solucin, pues
entre sus ecuaciones encontramos {1 + {2 = 1> junto con {1 = 0 y {2 = 0> lo
que obviamente constituye una contradiccin.
En resumen, tenemos los siguientes puntos de KKT:
1@2
1
{=
> con 1 = >
1@2
2
0
{=
> con 1 = 1 y 2 = 1> y
1
1
{=
> con 1 = 1 y 3 = 1=
0
Ms adelante analizaremos la optimalidad local y global de cada uno de estos
puntos.
3.2.1.
Bajo ciertas hiptesis, referidas en la literatura como hiptesis de cualificacin de restricciones (que abreviaremos por CQ, del ingls constraint qualification), las condiciones de KKT proporcionan todos los candidatos a ptimos
locales. Formalmente, la siguiente implicacin es cierta cuando se verifica alguna
CQ: si { es un ptimo local del problema (3.1), entonces { es punto de KKT
65
del mismo. Existen en la literatura numerosas hiptesis de cualificacin de restricciones, como puede consultarse en el artculo de Peterson [20]. En este libro
recogemos tres de estas hiptesis:
LCQ (del ingls, Linear Constraint Qualification) se verifica en { 5 I si
las jl > con l 5 L ({) > son lineales;
LICQ (Linear Indepence Constraint Qualification) se verifica en { 5 I si
el sistema de vectores {ujl ({) > l 5 L ({)} es linealmente independiente;
SCQ (Slater Constraint Qualification) se verifica en { 5 I si las jl > con
l 5 L ({) > son convexas y existe {
b 5 Rq tal que jl (b
{) ? 0> l 5 L ({) ; en
66
3.2.2.
0
0
es un p-
verifica LICQ pues uj1 ({) = 20 y uj2 ({) = 32
0 = Las funciones j1 y j2
son convexas; sin embargo, no existe ningn punto de Slater; esto es, no existe
67
g
x
f
x
F
x
g
x
g
x
g
x F ^`
x
x
f
x
y por tanto ptimo local. Sin embargo, no es un punto de KKT de (S ) > pues
0
no es una combinacin lineal de uj1 ({) = 20 y uj2 ({) = 32
ui ({) = 31
0 .
3.3.
68
Veamos que { =
0
0
local. Se tiene que L ({) = {2> 3}> as las condiciones de KKT quedan:
(
0
ui ({) = 10 = 2 31
0 + 3 31 >
2 > 3 0=
Ntese que
1
? 0 = i ({) =
q2
A partir de la observacin 3.1, concluimos que { no es ptimo local.
{{q } I y i ({q ) =
(S ) P lq i ({)
v=d jl ({) 0>
p
X
l=1
l ujl ({) =
69
As pues, las condiciones de KKT para el problema (3.1) pueden alternativamente expresarse como1
;
A
u{ O ({> ) = 0q >
A
?
l jl ({) = 0> l = 1> 2> ===> p> (Condiciones de KKT)
A
A
=
0> j ({) 0 =
l
p
X
l=1
donde Ki ({) > Kjl ({) > l = 1> ===> p> denotan a las matrices hessianas de las
correspondientes funciones. En los siguientes enunciados, dado un subconjunto
D Rq > Dz representa al subespacio vectorial ortogonal a D; esto es:
0
u{ O {> = 0q > y j ({) = 0;
Sp
l=1
l jl ({) = 0 lo que equivale a 0 j ({) = 0= Este hecho es consecuencia de que todos los
70
es definida o semidefinida positiva; esto es, para todo g 5 P ({) > se tiene que
g0 K{ O {> g 0=
KKT). Supongamos que i> jl > l 5 L ({) > son de clase F 2 en un entorno de {>
es definida positiva (esto es, g0 K{ O {> g A 0 para todo g 5 P + {> \ {0q })>
71
es verdadera (un ejemplo de esta situacin aparece en el caso II del ejemplo 3.9).
El siguiente ejemplo pone de manifiesto que las condiciones necesarias del
teorema 3.2 no son suficientes para garantizar la optimalidad local.
Ejemplo 3.7 (La condicin necesaria no es suficiente) Consideremos el
problema, en R3 >
(S ) P lq {21 {22 + {3
v=d
{2 > {3 0=
Veamos que:
a) { = (0> 0> 0)0 es un punto de KKT de (S );
como:
;
0
0
0
A
A
? ui ({) = (0> 0> 1) = 1 (0> 1> 0) + 2 (0> 0> 1) >
{2 = {3 = 0>
A
A
=
> 0=
1
3
4
2 0 0
F
E
F
K{ O {> = E
C0 2 0D =
0 0 0
Por otro lado, dado que j1 ({) = {2 y j2 ({) = {3 > se tiene:
z
P ({) = {ujl ({) : l 5 L ({)}z = (0> 1> 0)0 > (0> 0> 1)0
= y 5 R3 | (y1 > y2 > y3 ) (0> 1> 0)0 = 0> (y1 > y2 > y3 ) (0> 0> 1)0 = 0
= y 5 R3 | y2 = 0> y3 = 0 =
72
As pues, {(1> 0> 0)0 } es una base de P ({) y la matriz asociada a la restriccin
E
FE F
FE F
1 0 0 E
C0 2 0D C0D = (2) >
0 0 0
0
z
z
= (0> 0> 1)0
P + {> = ujl ({) : l 5 L + {>
= y 5 R3 | y3 = 0 =
As pues, {(1> 0> 0)0 > (0> 1> 0)0 } forma una base de P + {> y la matriz aso
!
1 0
FE
F
1 0 0 E
2
0
E0 2 0F E0 1F =
=
DC
D
0 1 0 C
0 2
0 0 0
0 0
cualquier {> {uj1 ({) > uj2 ({)} = (0> 1> 0)0 > (0> 0> 1)0 forman un sistema de
73
1
{ := 0> > 0 > q = 1> 2> ====
q
q
Se tiene que
{q 5 I y i ({q ) =
1
? 0 = i ({) > para todo q=
q2
1 0
2> 2
{1 {2 0=
es un punto de KKT.
2 2
>
K{ O {> =
2 2
y, por otro lado
z
z
= (1> 1)0
P + {> = ujl ({) : l 5 L + {>
= y 5 R2 | y1 y2 = 0 =
Consideramos una base de P + {> > {(1> 1)0 }> y la matriz asociada a la
! !
2 2
1
= (0) =
= 0 0
1 1
1
1
2 2
74
Puesto que dicha matriz no es definida positiva, no se cumple la condicin suficiente de segundo orden.
c) En este apartado se muestra que { es ptimo global de (S ) a pesar de
no cumplir la condicin suficiente de optimalidad, por lo que decimos que dicha
condicin suficiente de optimalidad local no es necesaria. Trataremos este apartado directamente mediante la definicin; esto es, veamos que
i ({) 0 (= i ({)) para todo { 5 I=
En efecto, si { 5 I , se verifica {1 {2 0= Bajo esta hiptesis, esto es, si { 5 I>
se tiene:
i ({) = ({1 {2 )2 {1 + {2 0 {1 + {2 0>
como queramos probar.
Ejemplo 3.9 (Ejemplo 3.2 revisitado) Determinar el conjunto de ptimos
locales del problema:
(S ) P lq ({1 1) ({2 1)
v=d
{1 + {2 1>
{1 > {2 0=
Solucin. Dado que todas las restricciones son lineales, se cumple LCQ en
todos los puntos de I= En este caso, todo ptimo local de (S ) es un punto de
KKT. As pues, las condiciones de KKT proporcionan todos los candidatos
a ptimos locales (candidatos en el sentido de puntos no descartables por el
momento). Los puntos de KKT son (vase el ejemplo 3.2):
1@2
1
{=
> con 1 = y consideramos 2 = 3 = 0>
1@2
2
0
{=
> con 1 = 1> 2 = 1 y consideramos 3 = 0>
1
1
> con 1 = 1> 3 = 1 y consideramos 2 = 0=
{=
0
Ntese que, con el fin de definir el vector completo de multiplicadores de KKT,
@ L ({) =
basta considerar l = 0 si l 5
Analicemos ahora las condiciones de segundo orden en cada uno de los puntos
de KKT.
75
0
con = 12 > 0> 0 = Se tiene que
0 1
K{ O {> =
>
1 0
1 0
2> 2 >
z
P ({) = P + {> = (1> 1)0
= y 5 R2 | y1 + y2 = 0 =
1
0 1
1
= (2) >
= 1 1
1 1
1
1
1 0
que es definida negativa.
As pues, no cumple la condicin necesaria de segundo orden, y por tanto {
no es ptimo local de (S ) = Ntese, adems, que en dicho punto se cumple LICQ,
pues {uj1 ({)} es linealmente independiente. Recurdese que esta hiptesis tambin figura en el teorema 3.2.
Caso II: L ({) = {1> 2}> { = (0> 1)0 con = (1> 1> 0)0 = Se tiene que
!
0 1
>
K{ O {> =
1 0
z
P ({) = P + {> = (1> 1)0 > (1> 0)0
= y 5 R2 | y1 + y2 = 0> y1 = 0 = {02 }=
0 1
>
K{ O {> =
1 0
76
3.4.
x
VRODSD
x3
x
x
x
77
p
1 = 19 f20 = Poniendo = 1 > 0> 0> 0 > se tiene que la restriccin de K{ O {>
I
2 3@2
27 f0 )=
I
3 2 3@2
27 f0
(esto es un
Llegados a este punto nos planteamos la siguiente pregunta: Cunto mejorara nuestro objetivo si pudisemos disponer de una pequea cantidad adicional,
ff0 > de rea total? En otras palabras, si tuvisemos la posibilidad de aumentar
un poco el rea total de la caja, hasta qu precio por unidad de rea (expresado
en las mismas unidades que el objetivo) estaramos dispuestos a pagar por esa
pequea cantidad adicional de rea? La respuesta es sencilla: dicho precio es ,
puesto que el beneficio cambiado de signo es E (f0 ) = i ({) =
tiene:
I
3 2 3@2
27 f0 ,
y se
s
r
2 3 1@2 1 f0
f =
= =
E (f0 ) =
27 2 0
9
2
0
Veremos a continuacin que, bajo hiptesis adecuadas, este resultado se verifica en general: l puede interpretarse como el precio (en las unidades de la
funcin objetivo) que estaramos dispuestos a pagar por unidad de incremento
del miembro derecho de la l-sima restriccin (para incrementos pequeos), pues
esa unidad producira una mejora (disminucin) del objetivo de, aproximadamente, l unidades.
Teorema 3.4 (Interpretacin de los multiplicadores de KKT) Sea { un
punto de KKT del problema (S ) introducido en (3.1), y sea 0p un vector
de multiplicadores asociado a {. Supongamos que i> jl > l 5 L ({) son de clase F 2
en un entorno de {> que jl > l 5
@ L ({) son funciones continuas en {= Supongamos,
adems, que se verifican las siguientes condiciones:
78
3.5.
Optimalidad global
3.5.1.
79
enun-
1
2> 2
1
4
, 0 {1 1> 0 {2 1=
1 1
>
2 2
ptimos globales es
80
3.5.2.
El caso convexo
y supongamos que todas las funciones del modelo, i y jl > l = 1> 2> ===> p> son
convexas en Rq = En este caso estamos ante un problema de programacin convexa. Ntese que en este caso I> supuesto no vaco, es un conjunto convexo, pues
puede escribirse con interseccin de convexos. En efecto,
I =
Tp
l=1 {{
5 Rq | jl ({) 0} >
81
Por otro lado, como sabemos, para garantizar el otro contenido (y por tanto
la igualdad entre PNNW y G) necesitamos alguna cualificacin de restricciones,
(S ) P lq
v=d
En primer lugar, obsrvese que se cumple SCQ en todos los puntos factibles,
pues j1 ({) = {21 + {22 1 y j2 ({) = {21 + 4{22 1 son convexas y, por ejemplo,
1 1 0
es un punto de Slater (solucin estricta) del sistema {j1 ({) 0> j2 ({)
4> 4
0}=
(S ) convexo
GL
CQ en todo I
PNNW =
1
0
ui ({) =
=
2{2
0
;
1
2{1
A
A
=
>
1
A
?
2{2
2{2
{21 + {22 = 1>
A
A
A
=
1 0> { 5 I=
82
analizado ms adelante.
Caso III : L ({) = {2}; esto es {21 + {22 ? 1> {21 + 4{22 = 1= Buscamos las
;
1
2{1
A
A
A
? 2{2 = 2 8{2 >
{21 + 4{22 = 1>
A
A
A
=
2 0> { 5 I=
Las nicas soluciones del sistema {{21 + {22 = 1> {21 + 4{22 = 1} son (1> 0)0 y
(1> 0)0 = En el primer caso, tendremos
1
2
2
= 1
+ 2
>
0
0
0
esto es, 21 + 22 = 1= As pues { = (1> 0)0 es un punto de KKT asociado a
cualquier vector de multiplicadores tal que
83
3.5.3.
El caso cuadrtico
1 0
2 { T{
v=d
+ f0 { + e
D{ E>
(3.5)
84
85
{1 + {2 + {3 1>
{1 {2 {3 1=
2 2 0
1
E
F
E F
1
1
1
1
F
E
F
T=E
>
f
=
>
E
=
=
>
e
=
0>
D
=
C2 2 0D
C1D
1
1 1 1
0 0 2
0
A continuacin, determinamos el conjunto de puntos de KKT, distinguiendo los
diferentes casos de conjuntos de ndices activos.
Caso I: L ({) = >; esto es {1 + {2 + {3 ? 1> {1 {2 {3 ? 1= En este caso
hemos de resolver el sistema
ui ({) = (T{ + f) = 0>
1 2{1
2
= 2{1 +
1
1
1 / {1 =
2
4
1
{ 5 R3 | 2{1 + 2{2 = 1> {3 = 0> {1 ?
=
4
Ntese que se ha considerado el menor estricto en {1 ? 14 para garantizar que
L ({) = >=
Caso II: L ({) = {1}; esto es, {1 + {2 + {3 = 1> {1 {2 {3 1= En este
86
, {3 =
3
3
, 1 = >
4
2
<
A
2{1 + 2{2 + 1 = 0 A
0
@
1 3
> > 0 5 I=
,{=
2{3 = 0
A
4 4
A
{ { { =1 >
1
En consecuencia, el punto { =
0
3
4> 4> 0
Caso IV: L ({) = {1> 2}= En este caso hemos de resolver el sistema
4
3 4
3 4
; 3
A
2{1 + 2{2 + 1
1
1
A
A
E
F
E F
E F
A
A
E
F
E
E
F
A
A C2{1 + 2{2 + 1D = 1 C1D + 2 C1F
D>
?
2{3
1
1
A
A
A
A
{1 + {2 + {3 = 1> {1 {2 {3 = 1>
A
A
A
=
1 > 2 0> { 5 I=
87
1
3
>
G = L = PNNW = { 5 R | 2{1 + 2{2 = 1> {3 = 0> {1
4
puesto que T es semidefinida positiva (sus valores propios son 4, 0 y 2).
3.6.
sobre P + {>
CQ
88
dramos
G L PNNW ^ N >
donde N denota al conjunto de puntos factibles donde no se cumple LCQ, ni
los puntos de KKT como los que no verifican ninguna de las hiptesis LCQ,
LICQ o SCQ.
Caso: (S ) un problema de PNL general con I 6= > compacto. En
2 {1 12 + {22 34 0=
Analizando las diferentes elecciones de conjuntos de ndices activos, obtenemos las siguientes situaciones (obsrvese que, puesto que tenemos tres restricciones, tendremos que contemplar 23 = 8 casos).
Caso I : L ({) = >= Ningn punto verifica ui ({) = 02 =
Caso II : L ({) = {1} = Si { es tal que L ({) = {1} > ha de ser { 6= 02 (pues {21 +
{22 = 1) y, por tanto, se verifica LICQ en dicho punto, puesto que {uj1 ({)} =
89
n
o
32{1
0
1 0
= 1 32{
32{2 = La nica solucin con 1 0 es ({1 > {2 > 1 ) = 0> 1> 2 > que
32{2
0
31
condiciones de KKT, encontramos una solucin ({1 > {2 > 2 )0 = 1> 1> 12 > que
no corresponde a este caso puesto que la tercera restriccin tambin es activa=
I
0
0
0
0
3
3
3
1
1
1
cas soluciones ({1 > {2 > 3 ) = 2 > 2 > I3 > y ({1 > {2 > 3 ) = 2 > 2 > I13 ; el
primero no es punto de KKT pues 3 ? 0= El segundo hace activas tambin a
las dos primeras, as que no corresponde a este caso.
Situaciones anlogas presentan los casos V: L ({) = {1> 2} y VI: L ({) =
{1> 3} =
0
({1 > {2 > 2 > 3 )0 = 1> 1> 12 > 0 =
I 0
I 0
Concretamente, tendramos dos nuevos candidatos: 12 > 32 3 y 12 > +2 3 =
s !0
s !0 )
1 3
1 + 3
>
>
>
2 2
2 2
I 0
I 0
apreciarse intuitivamente que 12 > 32 3 y 12 > +2 3 no son en realidad ptimos
90
F
que {1 :=
I 0
1 3 3
>
2
2
{u :=
!0
r
1 1
3
1
+ >
+
> u = 2> 3===>
2 u
4 u3
I 0
Por otro lado, para comprobar que {2 := 12 > +2 3 tampoco es ptimo local,
1
1
1
1
D > u = 2> 3====
| u := C + > 1
+
2 u
2 u
Puede comprobarse fcilmente que |u 5 I y i (| u ) ? i {2 > para todo u 2=
El punto { = (1> 1)0 > ser un ptimo local de (S ) > y de hecho global. En
este caso particular no hace falta realizar ningn clculo adicional, pues I es un
compacto (se deja al lector la comprobacin de este hecho). En esta situacin,
el Teorema de Weierstrass asegura que debe existir un ptimo global de (S ),
esto es, G 6= >= Puesto que { = (1> 1)0 es el nico candidato, ste ha de ser un
ptimo global de (S ) =
91
h
P
92
!
10 2
2
0
4u2 2uk
=
=
ui (u> k) =
2
u
0
93
1
2
16 u = 16 4 1 + 33
= 4. 6277= Este punto no es factible pues no verifica
la segunda restriccin.
0
4u2 2uk
=
=
4
1
u2
2u
2
4u2 2uk
= 1
+ 2
>
2
u
1
1
(3.6)
94
Adems, han de cumplirse u2 + k 16 y k = 0> lo que conduce a (u> k)0 = (4> 0)0
puesto que ha de ser u 0= Entonces 1 = 8 y 4 = 8 16 ? 0= Luego (4> 0)0
no es punto de KKT.
Caso VII : L ({) = {2> 4}= Obtenemos el sistema
4u2 2uk
2
0
= 2
+ 4
=
2
u
1
1
Adems, 2u + k 10 = 0 y k = 0> lo que nos lleva a (u> k)0 = (5> 0)0 que no es
factible pues no verifica la primera restriccin.
Caso VIII : L ({) = {1> 2> 4}= Este caso no admite ninguna solucin pues no
ns
s 0 o
7 + 1> 8 2 7
= Puesto que ha de ser G 6= > en virtud
Para ello,
hemos de verificar que se satisfacen las hiptesis del teorema. En primer lus 0
s
s 0
s
7 + 1> 8 2 7 y = 8 + 27 7> 12
gar, si denotamos por { =
7 7 >
ntese que L ({) = L + {> = {1> 2}= Ntese, adems, que se cumple LICQ y
segundo orden.
95
Ejercicio 3.3 (I compacto y todos sus puntos verifican SCQ) Se pretende canalizar el cauce de un ro mediante un canal cuya seccin transversal
tendr forma de trapecio, cuya base menor, e, medir 1 m. Si denotamos por E
y k (medidas en metros) a la base mayor y a la altura del trapecio, respectivamente, por razones de resistencia k2 no debe superar a la semisuma de las bases
y, por otro lado, e + E + k 6. Con el fin de determinar las dimensiones que
maximizan el rea del trapecio, resolveremos las siguientes cuestiones:
a) Plantear el modelo de optimizacin (S ) correspondiente, en trminos de
minimizar. Se trata de un problema convexo?
b) Determinar el conjunto de ptimos globales=
Solucin. a) El planteamiento ser
Se P d{ 12 (E + 1) k
v=d k2
1
2
(E + 1) ;
1 + E + k 6;
E> k 0=
12 (E + 1) + k2 0;
5 + E + k 0;
E> k 0=
12 k
12 E
1
2
y Ki (E> k) =
12
12
SCQ en todos los puntos factibles (por ejemplo, el punto 1> 12 es un punto de
Slater). Por tanto
> 6= G L PNNW =
96
12 k
0
=
>
ui (E> k) =
1
1
0
2E 2
lo que conduce a k = 0, y no nos lleva a ningn ptimo global.
Caso II : L ({) = {1}= Resolvemos el sistema
1
12 k
2
=
= 1
1
1
2k
2E 2
La primera ecuacin nos lleva a 1 = k> lo que implica k = 0 (pues 1 0>
k 0)= En estas condiciones la primera restriccin no puede ser activa.
Caso III : L ({) = {2}= Resolvemos el sistema
12 k
1
=
, k = E + 1=
2
1
1
1
2E 2
Adems, ha de ser 5 + E + k = 0 que nos lleva a E = 2> k = 3> que no satisface
la primera restriccin.
Caso IV : L ({) = {1> 2}= Las condiciones de KKT quedan
;
1
12 k
2
1
A
?
+ 2
= 1
;
1
1
2k
1
2E 2
A
= 1 (E + 1) + k2 = 0> 5 + E + k = 0=
2
El segundo bloque de ecuaciones (las dos ltimas) tiene como nica solucin con
coordenadas no negativas E = 72 > k = 32 = Calculemos ahora los multiplicadores
de KKT. Sustituyendo E y k en el primer bloque de desigualdades para obtener
valores para 1 y 2 :
3
4
= 12 1 + 2
9
4
= 31 + 2
3
27
, 1 = > 2 = =
7
28
Ejercicio 3.4 (I no acotado, (S ) no convexo) Se desean determinar las dimensiones ptimas ({> |> } medidas en metros) de una caja, en el sentido de maximizar su volumen, suponiendo que existe una limitacin del material disponible
de 6 m2 . En concreto se pide:
97
{| + {} + |} 3>
{> |> } 0=
{|}
{| + {} + |} 3>
{> |> } 0=
El problema no es convexo pues ni la funcin objetivo ni la primera restriccin lo son. Respecto de la funcin objetivo i ({> |> }) = {|} se tiene:
3
4
3
4
|}
0 } |
E
F
E
F
F > Ki ({> |> }) = E} 0 {F >
ui ({> |> }) = E
{}
C
D
C
D
{|
| { 0
y, por ejemplo, Ki (1> 1> 1) es indefinida.
b) I no es acotado, pues, por ejemplo, la sucesin no acotada
est contenida en I (q q1 + q q1 +
1
q2
n
0 o
q> q1 > q1
En los puntos de este caso se cumple LICQ, pues (| + }> { + }> { + |)0 6= 03 =
98
proporcionan ninguna solucin. Por ejemplo, si L ({) = {2}> estamos bajo las
comprobarse fcilmente que en todos los casos se cumple LICQ. Veamos que no
se obtiene ningn punto de KKT. Analicemos, por ejemplo, el caso L ({) = {1> 2}
(los dems son anlogos por la simetra del problema). Suponemos {|+{}+|} =
3> { = 0> | A 0> } A 0= Las condiciones de KKT conducen a
3
3 4
3 4
4
|+}
1
|}
E
E F
E F
F
E{} F = 1 E{ + } F + 2 E 0 F , |} = 1 (| + }) 2 > 0 = 1 } = 1 |>
C
C D
C D
D
{+|
0
{|
lo que implica 1 = 0> que conduce a la contradiccin 0 ? |} = 2 0=
Casos IX, X y XI : L ({) = {2> 3}> L ({) = {2> 4}> e L({) = {3> 4}= En
todos los casos se cumple LCQ. Adems, estos casos proporcionan, respecti
vamente, los conjuntos de soluciones (0> 0> })0 | } A 0 > (0> |> 0)0 | | A 0 y
99
Caso XII: L ({) = {2> 3> 4}= Puede comprobarse fcilmente que { = (0> 0> 0)0
PNNW = {(1> 1> 1)0 } ^ (0> 0> })0 | } A 0 ^ (0> |> 0)0 | | A 0
(1@2> 0> 0> 0)0 se tiene L ({) = {1} = L + {> y, por tanto,
Caso d.1 )
z
P ({) = P + {> = (2> 2> 2)0
3
4
4 3
1 1
0 1 1
0
F 1E
F E
E
E
F
F E 1
K{ O {> = E
C1 0 1D + 2 C1 0 1D = C 2
12
1 1 0
1 1 0
3
12
0
12
12
F
12 F
D=
0
Consideramos una base de P ({), por ejemplo {(1> 0> 1)0 > (0> 1> 1)0 }, y ana
! 0 1 1
!
1 0
2
2
1
FE
F
1 0 1 E
1
2
E 1 0 1 F E 0 1F =
>
D
2D C
1
0 1 1 C 21
1
2
1
2 2 0
1
1
que es definida positiva. Por tanto, { = (1> 1> 1)0 es ptimo local de (S ) =
Caso d.2 ) En el caso { = (0> 0> })0 con } A 0> = (0> 0> 0> 0)0 > se tiene
z
P ({) = (1> 0> 0)0 > (0> 1> 0)0
= y 5 R3 | y1 = 0> y2 = 0 =
100
Por otro lado, en este caso trivial en el que L + {> = > se define
P + {> = R3 =
Adems, se tiene:
4
} 0
F
E
F
K{ O {> = E
C} 0 0D =
0
0 0
0
La restriccin de K{ O {> sobre P + {> = R3 da lugar a la misma matriz, que es indefinida; luego no podemos aplicar el teorema 3.3 para deducir la
optimalidad local del punto actual.
En esta situacin, hemos de acudir directamente a la definicin de ptimo local. Veamos que { = (0> 0> })0 , con } A 0 no es ptimo local. En efecto,
n
0 o
1 1 0
1 1
>
>
}
y
ntese
que
5 I para q
consideremos la sucesin
q q
q> q> }
qMN
}
}
1
+ + 3> para q suficientemente grande (q q0 ) =
2
q
q q
1 1
> >}
q q
=
1
} ? 0 = i (0> 0> }) > para todo q=
q2
Esto prueba que { = (0> 0> })0 , con } A 0 no es ptimo local (recurdese la
observacin 3.1).
Los casos d.3 ) y d.4 ) correspondientes a { = (0> |> 0)0 con | A 0 y { =
({> 0> 0)0 > con { A 0> respectivamente, se resuelven con argumentos anlogos al
anterior. Ninguno de los casos proporciona un ptimo local.
101
Caso d.5 ) { = (0> 0> 0)0 = Este punto no es ptimo local, como puede comprobarse a partir de la definicin. En efecto,
1 1 1 0
> >
I>
q q q
qMN
pues {| + {} + |} =
3
q2
1 1 1
> >
q q q
1
? 0 = i (0> 0> 0) =
q3
Se puede escribirse como (teniendo en cuenta que
s
wuv=
En trminos de las nuevas variables, el problema Se se traduce en:
e
Se P d{
v=d
s
wuv
w + u + v 3>
w> u> v 0=
e
Adems Se es equivalente (en el sentido de que tiene los mismos ptimos
locales y globales) al problema
Sb P d{
v=d
wuv
w + u + v 3>
w> u> v 0=
102
El nuevo problema Sb tiene conjunto factible acotado (en particular w> u> v 5
[0> 3])> y fcilmente se comprueba que (w> u> v)0 = (1> 1> 1)0 es un ptimo global
1
}
e igualando se llega
Parte II
Captulo 4
106
interactivo donde los elementos bsicos donde se almacenan los datos son matrices (sin necesidad de declarar a priori su dimensin). Para una descripcin
detallada del producto MATLAB puede consultarse The MathWorks Web site
(http://www.mathworks.com). Un amplio material de introduccin al uso de
este programa puede encontrarse en http://www.mathworks.com/access/
helpdesk/help/pdf_doc/matlab/getstart.pdf. Vase tambin el texto [19] para una
introduccin al MATLAB junto con la exposicin de diversas aplicaciones.
Tambin pueden consultarse diferentes tutoriales sobre MATLAB en http://
www.mathworks.com/academia/student_center/tutorials/launchpad.html.
4.1.
107
4.1.1.
4
3
3
+ 5 > empleamos la sintaxis
Una vez escrita la operacin numrica pulsamos ENTER y aparece el resultado almacenado en la variable ans (del ingls, answer ). ans es el nombre
de la variable que crea MATLAB por defecto para almacenar siempre el ltimo
clculo. Vase de nuevo la figura 4.2.
108
Observacin 4.1 (Formatos numricos) Por defecto, los resultados se expresan en formato numrico decimal con 4 cifras decimales. Vanse otros formatos numricos a travs de la opcin Numeric format, dentro de Preferences del men File (el formato por defecto es short; entre otros, podemos
encontrar el formato long que representa los nmeros con 16 cifras decimales,
y el formato rational que los escribe en forma de fraccin).
Para crear una nueva variable, o bien asignamos directamente un valor
numrico o bien la definimos en trminos de otras ya existentes, por ejemplo,
como resultante de ciertas operaciones aritmticas.
Ejemplo 4.1 (Empleo de variables) Obtendremos el beneficio total de una
fbrica de turrones utilizando las variables siguientes: PRECIO_A (precio de una
pastilla de turrn tipo A) = 5, PRECIO_B (precio de una pastilla de turrn
10
(millones de unidades del turrn
(40 + PRECIO_A2 )
10
(millones de unidades del turrn tipo
(100 + PRECIO_B2 )
109
110
4.1.2.
Vectores y matrices
Los datos de una matriz se encierran siempre entre corchetes, los elementos
de una misma fila se separan por un espacio en blanco o una coma, y para
pasar de una fila a otra pondremos punto y coma. Los vectores fila o columna
se introducen del mismo modo (pues son casos particulares de matrices). Por
ejemplo, para introducir los datos siguientes:
3 4
3
4
2
1 4 2
E F
E
F
F > D = E 1@2 6 7 F >
{ = (1> 2> 5) > | = E
3
C D
C
D
6
1 0 1
emplearemos la sintaxis de la figura 4.6. Para referirnos a alguna componente
de {> | o D pondremos { (l) > | (l) > D (l> m) =
Respecto de operaciones bsicas con matrices destacamos las siguientes:
La suma y diferencia de las matrices D y E se representa por D + E y
D E= Estas operaciones requieren que ambas matrices tengan la misma
dimensin.
El producto usual de las matrices D y E se representa por D E= Esta
operacin requiere que el nmero de columnas de D coincida con el nmero
de filas E=
111
m=1>===>q
m=1>===>q
112
D= := dlm l=1>===>p>
m=1>===>q
113
Solucin. a)
3
4
3
4
14 10 2
4
1 4
E
F
E
F
F y D= E = E 2
F=
DE =E
26
20
2
4
10
C
D
C
D
6 8 14
8 15 0
b) det(D) = 42,
3
4
0.2381 0.0238
E
F
F=
inv (D) = E
0.2381
0.0952
0.1905
C
D
0.2143 0.2857 0.0714
0.5952
4
0.0476 1.6667
E
F
F
D\E = E
C 1.0476 0.6190 0.6667D =
0.1429 0.1429 1.0000
0.6190
4.1.3.
114
115
116
117
P lq
118
Observacin 4.6 (Posicin de los argumentos de entrada) En cualquiera de las funciones de MATLAB, lo que identifica a cada uno de los argumentos
de entrada o salida es la posicin que ocupan y no la notacin empleada. As,
por ejemplo, si se escribe:
AA s=quadprog(Q,c,M,N)
s representa a la solucin del problema de minimizar 12 xQx+cx sujeto al sistema de restricciones MxN.
Observacin 4.7 (Comprobacin de la optimalidad global) Como veremos ms adelante, en principio, las soluciones propuestas por MATLAB son
puntos crticos del problema. Para garantizar que el punto considerado es ptimo global, analizamos el carcter de la matriz H (que coincide con la hessiana
de la funcin objetivo). Para ello, escribimos:
AA eig(H)
De este modo obtenemos los valores propios de H> que en nuestro ejemplo
son 1 = 9.2811> 2 = 15.0000> 3 = 20.1898 y 4 = 25.5290= As pues, H es
definida positiva (vase la proposicin 1.3) y en virtud del teorema 2.2, el punto
x es ptimo global de (S ) =
4.1.4.
Grficos en 2 y 3 dimensiones
119
AA x=-2:0.01:2;
AA y=x.*sin(pi*x);
AA plot(x,y)
120
Ejemplo 4.5 (Grficos en 3 dimensiones) Deseamos representar grficamente las siguientes funciones en el rectngulo [1> 1] [1> 1] :
(i) i ({> |) = {2 + | 2 ;
(ii) i ({> |) = {2 | 2 ;
(iii) i ({> |) = {2 | 2 =
(i) En cada coordenada seleccionamos una particin del intervalo [-1,1] empleando un incremento = 0.05 (alternativamente podramos emplear la funcin
linspace). As pues, escribimos:
121
AA x=-1:0.05:1;
AA y=-1:0.05:1;
AA [X,Y]=meshgrid(x,y); (realiza el producto cartesiano de x
por y que define la malla en [1> 1][1> 1] y almacena los resultados
en las nuevas variables X e Y).
AA z=X.^2+Y.^2; (ntese que ha de emplearse la operacin
.^en vez de simplemente ^).
AA surf(X,Y,z)
122
global), un mximo local (de hecho global) y punto crtico que no es mnimo ni
mximo local (se suele llamar punto de silla).
4.1.5.
Ejercicios propuestos
Ejercicio 4.1 Consideremos los siguientes problemas de programacin cuadrtica sin restricciones:
(i) (S1 ) P lq {21 + 2{1 {2 + {22 + {23 + {1 + {2 + {3 ;
(ii) (S2 ) P lq {21 + 2{1 {2 + {22 {23 + {1 + {2 + {3 ;
(iii) (S3 ) P lq {21 + 4{22 + 8{23 + {1 + {2 + {3 =
Conservando la notacin del ejemplo 4.3 (donde la funcin objetivo de un
problema cuadrtico se escribe de la forma 12 xHx+fx), se pide:
a) En cada caso, analizar el carcter de la matriz H, e indicar si la correspondiente funcin objetivo es convexa o no;
b) Emplear la funcin quadprog para proporcionar, si existe, un ptimo
de cada problema. Interprtese en cada caso el mensaje de salida de MATLAB
(recurdense las situaciones que pueden plantearse atendiendo al teorema 2.2).
Ejercicio 4.2 Consideremos las funciones reales de variable real:
i1 ({) =
Se pide:
{2
{
2
cos {> i2 ({) = { cos {> i3 ({) = h3{ y i4 ({) = {4 + 1=
+1
123
4.2.
124
4.2.1.
(4.1)
donde i 0 representa la primera derivada de i= Para ello emplearemos las funciones de MATLAB di y solve. De hecho, para determinar directamente el
conjunto de soluciones de la ecuacin (4.1) basta escribir:
AA solve(diff(f(x))
como se ilustra en el siguiente ejemplo.
Ejemplo 4.6 (Determinacin de puntos crticos) Deseamos determinar el
conjunto de puntos crticos del problema
(S ) P lq {6 3{2 + 6{=
En la figura 4.14 se muestra la sintaxis empleada en la resolucin de la
ecuacin i 0 ({) = 0> i ({) = {6 3{2 + 6{ junto con las soluciones propuestas
por MATLAB= Se trata de una ecuacin polinmica de grado 5. Por tanto,
proporciona 5 races, de las cuales solo una es real,
{ = 1.1673039782614186842560458998548=
Observacin 4.10 Ntese que la funcin objeto de estudio ha de escribirse entre comas. De este modo, x^6-3*x^2+6*x se interpreta como una cadena de
caracteres. (En otro caso, x ha de tener previamente asignado un valor numrico
y x^6-3*x^2+6*x representara el resultado numrico de la operacin correspondiente).
125
126
y obtendremos:
ans =
18.18650181440543
Observacin 4.11 (Anlisis de las condiciones de segundo orden) Para
el anlisis de las condiciones de segundo orden (vase la proposicin 2.3) en el
punto crtico x=c, hemos de sustituir c en la segunda derivada de la funcin objetivo. Esta operacin puede realizarse directamente encadenando las funciones
di y subs como sigue:
AA subs(diff(f(x),2),c)
Vase una ilustracin de este hecho en el siguiente ejemplo.
Ejemplo 4.7 (Ejemplo 4.6 revisitado) Deseamos analizar si el nico punto
crtico del problema (S ) P lq {6 3{2 + 6{> es un ptimo local. Recordemos
que el punto crtico era { = 1.1673= Para ello escribimos la sentencia que se
muestra en la figura 4.15.
127
128
4.2.2.
129
2 2
1 2
{1 + {22 h{1 3{2 =
2
130
131
132
!
1 0
Ki (0> 0) =
=
0 1
Para evaluar la matriz hessiana en (0> 1)0 escribiremos:
AA subs(subs(hess,x,0),y,1)
Finalmente evaluamos la matriz hessiana en (0> 1)0 escribiendo:
AA subs(subs(hess,x,0),y,-1)
Se obtienen los siguientes resultados
!
0.73575888234288
0
=
Ki (0> 1) = Ki (0> 1) =
0
0.73575888234288
En consecuencia, en el punto (0> 0)0 se verifica la condicin suficiente de
optimalidad de segundo orden y, por tanto, podemos afirmar que (0> 0)0 es ptimo
global. Por otro lado, (0> 1)0 y (0> 1)0 no verifican la condicin necesaria de
segundo orden; as pues, estos dos ltimos puntos no son ptimos locales.
4.2.3.
Ejercicios propuestos
Ejercicio 4.6 Utilizar las funciones jacobian, sym, solve y subs para determinar los conjuntos de puntos crticos y ptimos locales del problema
(S ) P lq {31 + {1 {2 + {32 =
4.3.
133
4.3.1.
(4.2)
134
teorema 2.2).
1
2 xQx+cx
v=d
Ax b.
Si deseamos, adems, conocer el valor de la funcin objetivo en la solucin propuesta bastar con escribir:
AA [x,fval]=quadprog(Q,c,A,b)
Como se adelant en la subseccin 4.1.3, puede emplearse la sintaxis anterior
en la resolucin de nuestro problema definiendo las matrices del sistema de
restricciones de la forma:
AA A=[]>b=[]
Para comenzar la implementacin del programa pcsin, desde la barra de herramientas de MATLAB seleccionaremos File, a continuacin New $ M-file.
En este programa se emplearn los siguientes comandos de MATLAB (vase la
figura 4.21):
135
136
137
A In quadprog at 242
In pcsin at 10
Optimization terminated.
Un ptimo global es:
OPTIMO =
-0.50000000000000
-0.00000000000000
El valor ptimo es:
v =
-0.25000000000000
Fin de la ejecucin de pcsin
En consecuencia, el problema (S1 ) es resoluble; una solucin ptima (global)
es { = (0.5> 0)0 y el valor ptimo y = 0.25=
(iii) En el caso de (S3 ) los datos son Q=[2 2;2 2] y c=[1;-1] (vase la
figura 4.22). Ntese que en este caso T es semidefinida positiva, pero los rangos
de Q y [Q c] no coinciden, lo que significa que no existen puntos crticos. As
pues, en este caso el problema es no acotado, como se muestra en la ejecucin
de pcsin.
138
4.3.2.
La presente seccin est dedicada a la resolucin de problemas de optimizacin no lineal sin restricciones con ayuda de la funcin fminunc. En primer
lugar, revisaremos la sintaxis empleada por esta funcin que puede consultarse en la ayuda que ofrece MATLAB escribiendo en la ventana de comandos:
AA help fminunc. La sintaxis ms sencilla es:
AA x=fminunc(fun,x0)
(4.3)
donde x representa la solucin propuesta por MATLAB al problema de minimizar la funcin objetivo fun y donde x0 representa el punto inicial (semilla)
que se emplear en el algoritmo de resolucin.
Sintaxis relativa a la funcin objetivo
La funcin objetivo puede introducirse directamente en el lugar que ocupa
el argumento de entrada fun, o bien puede definirse en un fichero de texto
(recurdese con extensin .m). En este momento, revisaremos estas dos formas
alternativa de introducir la funcin objetivo del problema.
Observacin 4.14 Ntese que en cualquier caso las variables de la funcin
139
objetivo han de ajustarse a la sintaxis x(1),x(2),..., entendiendo que son coordenadas de la variable vectorial x.
Ejemplo 4.10 (Vase el ejercicio 2.1) Resolveremos con MATLAB el problema de optimizacin
(S ) P lq sen {1 sen {2 >
considerando la semilla x0=[1,-1].
Solucin. A continuacin, en la figura 4.23, presentamos la sintaxis empleada, tal y como se indica en (4.3), introduciendo la funcin objetivo directamente
en la ventana de comandos. La misma figura muestra las salidas de MATLAB=
Ntese que la solucin propuesta, x=[1.5708,-1.5708], es una buena aproximacin del ptimo global (@2> @2) (vase el ejercicio 2.1).
De forma alternativa, la funcin objetivo puede ser definida en un fichero .m
como se muestra en la figura 4.24. Esta misma figura ilustra la sintaxis general
que ha de emplearse para definir una funcin nueva. En este caso, hemos llamado
objetivo a dicha funcin, y tiene un argumento (vectorial) de entrada, x, y un
argumento de salida denotado por f.
El fichero se grabar con el mismo nombre de la funcin y con extensin
.m. As pues, el nombre del fichero es objetivo.m. Una vez definida la funcin
140
141
(4.4)
(en concreto de 2 > 2 > que es un ptimo global tal y como se analiz en el
ejercicio 2.1).
Observacin 4.15 (La condicin de punto crtico) Si x es un punto crtico del problema sin restricciones, esto es si kui (x)k" = 0> la condicin (4.4) se
142
podemos aadir uno a uno hasta un total de seis argumentos como se muestra
a continuacin:
AA [x,fval,exitflag,output,grad,hessian]=fminunc(fun,x0)
Recurdese que los nombres asignados a cada argumento pueden modificarse,
pues lo que identifica a cada uno de los argumentos de entrada y salida es la
posicin que ocupa (observacin 4.6).
Atendiendo a la notacin anterior, a continuacin comentamos brevemente
las nuevas salidas:
fval (5 R) representa al valor de la funcin objetivo en la solucin propuesta x (5 Rq );
exitflag muestra diferentes reglas de parada del algoritmo empleado.
Concretamente, exitflag=1 representa la condicin comentada anteriormente relativa a puntos crticos (condicin (4.4)). En el caso en el que
exitflag=2 el proceso se detiene en xl+1 porque se verifica la siguiente
condicin:
l l+1
x -x ? TolX,
(4.5)
143
valor por defecto es 1036 = Por su parte la igualdad exitflag=3 (que puede
darse nicamente en el caso de que se emplee cierto algoritmo llamado de
gran escala) indica que la regla de parada esta dada por la condicin
l l+1
? TolFun,
i x -i x
(4.6)
donde i representa a la funcin objetivo del problema y TolFun es el mismo parmetro que aparece en la condicin (4.4). El mensaje exitflag=0
indica que se ha alcanzado el nmero mximo de evaluaciones de la funcin objetivo o el de iteraciones. Valores negativos para exitflag (concretamente -1 y -2) representan condiciones en las que se entiende que el
proceso se detiene sin xito en la bsqueda de solucin ptima (para detalles adicionales, el lector puede consultar el Optimization ToolboxW P
4, Users Guide que puede encontrarse en la web indicada al comienzo de
la presente seccin).
output contiene informacin acerca del proceso iterativo (por ejemplo,
nmero de iteraciones), el valor de la norma kui (x)k" en la solucin
propuesta, algoritmo empleado, etc.
grad y hessian representan al gradiente y la matriz hessiana en la solucin propuesta por MATLAB= Estos dos elementos son interesantes a la
hora de verificar las condiciones de optimalidad de primer y segundo orden
que se estudiaron en la seccin 2.2.
Observacin 4.16 Los valores asignados a los parmetros TolFun y TolX pueden ser modificados por el usuario mediante la funcin optimset e incluidos
como tercer argumento de entrada de fminunc. Por ejemplo, para asignar los
valores 1033 y 1034 a TolFun y TolX, respectivamente, escribiremos:
AA options=optimset(TolFun,0.001,TolX,0.0001);
AA[...]=fminunc(fun,x0,options)
Ejemplo 4.12 Resolveremos con MATLAB el problema de optimizacin
(S ) P lq sen {1 sen {2 >
144
considerando las semillas X0=[1,1] y X0=[1,-1] y observando todos los argumentos de salida.
Solucin. Ejecutamos fminunc con la semilla X0=[1,1]:
AA [x,f,e,o,g,h]=fminunc(sin(x(1))*sin(x(2)), [1 1])
y obtenemos los elementos (omitiremos los valores del cuarto argumento de
salida denotado aqu por o):
x = [-2.2979e-007, -2.2979e-007];
f = 5.2805e-014;
e = 1 (se verifica la condicin (4.4));
g =[-2.2979e-007 -2.2979e-007] (gradiente de la funcin objetivo en
x);
!
2.8104 10311
1
h =
=
1
2.8104 10311
Ntese que la solucin propuesta aproxima al punto crtico (0> 0)0 que no es
ptimo local como puede apreciarse a partir del hecho de que la matriz hessiana
(h) es indefinida.
Sin embargo, si resolvemos el mismo problema a partir de la semilla X0=[1,-1]
escribiremos:
AA [x,f,e,o,g,h]=fminunc(sin(x(1))*sin(x(2)), [1 -1])
y obtenemos (de nuevo omitimos la informacin del cuarto argumento):
x =[1.5708 -1.5708];
f = -1;
e = 1;
145
!
1
9.0588 1039
h =
(definida positiva)=
9.0588 1039
1
4.3.3.
Ejercicios propuestos
2
2
(S ) P lq {21 + {22 h3{1 3{2 >
a partir de las semillas X0=[0,0], X0=[1,-1] y X0=[1000,1000], comentando en cada caso los argumentos de salida x,fval,exitflag,grad y hessian,
y especificando si la solucin propuesta aproxima a algn ptimo local o no.
Captulo 5
148
Para detalles sobre los aspectos algortmicos, el lector puede consultar el mismo
manual que se encuentra referenciado en la seccin 4.3.
5.1.
5.1.1.
Ax b>
(5.1)
Aeq x = beq,
LB x UB>
donde x5 Rq es el vector de variables de decisin, f5 Rq es el vector de coeficientes de la funcin objetivo, Ax b y Aeqx = beq representan, respectivamente, el sistema de desigualdades lineales y de ecuaciones lineales en formato
matricial, y finalmente LB (del ingls, lower bound ) y UB (del ingls, upper bound)
son vectores de Rq cuyas coordenadas coinciden con las cotas inferiores y las
cotas superiores, respectivamente, de las variables del problema.
Seguidamente se indican algunas modalidades de la sintaxis de la funcin
linprog:
Informalmente hablando, la sintaxis minimal de esta funcin es:
AA x=linprog(f,A,b)
y se emplea en la resolucin de problemas de optimizacin lineal cuyo
sistema de restricciones contiene nicamente desigualdades lineales.
Pueden aadirse otros argumentos de entrada con la sintaxis:
AA x=linprog(f,A,b,Aeq,beq)
149
o x=linprog(f,A,b,Aeq,beq,LB,UB), dependiendo del tipo de restricciones del problema (5.1). Puede escribirse LB=[] o UB=[] cuando el problema no presente cotas inferiores o superiores.
Existe adems la posibilidad de indicar el punto inicial, x0, del algoritmo
de resolucin implementado en MATLAB mediante la sintaxis:
AA x=linprog(f,A,b,Aeq,beq,LB,UB,x0)
y de modificar ciertos parmetros del proceso de resolucin (como determinadas reglas de parada emprica) aadiendo como ltimo argumento de
entrada el vector llamado options (vase de nuevo el manual Optimization ToolboxW P 4, Users Guide indicado en la seccin 4.3).
Junto a cada una de las modalidades anteriores, se dispone de diferentes
opciones respecto de los argumentos de salida: as, por ejemplo si escribimos [x,fval]=linprog(f,A,b,...) obtendremos, adems de la solucin propuesta por MATLAB, el valor del objetivo en dicha solucin
(fval).
En nuestro caso, estaremos especialmente interesados en la sintaxis
AA [x,fval,exitflag,output,lambda]=linprog(f,A,b,...)
puesto que el quinto de los argumentos de salida (denotado aqu por
lambda) proporciona los multiplicadores de KKT asociados al punto x.
Adems, el tercero de los argumentos de salida (exitflag) proporciona
cierta informacin sobre la regla de parada empleada en la solucin propuesta. Por lo general, tanto en sta como en las restantes funciones analizadas en este libro (fminunc, quadprog y fmincon), valores positivos
de exitflag representan situaciones de xito en cuanto al estado de la
solucin; concretamente, representan reglas de parada asociadas a situaciones en las que se verifica alguna condicin deseable (vanse, por ejemplo,
las condiciones (4.4), (4.5) y (4.6) asociadas a los valores exitflag=1, 2
y 3 en relacin con fminunc). En el caso de la funcin linprog, puede
obtenerse el valor exitflag=1 que se interpreta como que el algoritmo
150
{1 + 2{2 2{3
(S2 ) P lq
3{1 2{2 {3
v=d {1 + {2 + {3 1>
v=d {1 + {2 + {3 1>
{1 {2 {3 1>
{1 {3 = 3>
(S3 ) P lq
v=d
{1 + 2{2 4{3
{1 + {2 + {3 1>
1 {1 4> 0 {2 2=
(S4 ) P lq
{1 + 2{2 + 4{3
v=d {1 + {2 + {3 = 1>
{1 > {2 > {3 0=
151
As, obtenemos e=-3 lo que indica que el problema es no acotado. Ntese que,
en cualquier caso MATLAB asigna unos valores numricos a las coordenadas de
x, puesto que muestra el punto en el que se ha detenido el algoritmo de bsqueda
de solucin ptima.
A continuacin, en la figura 5.2 se muestra la sintaxis empleada en la resolucin de (S2 ) =
152
153
En este problema tambin se tiene e=1> la solucin propuesta es una aproximacin de (1> 0> 0)0 > con valor de la funcin objetivo 1. El multiplicador de KKT
asociado a la ecuacin es -1 y los multiplicadores asociados a las cotas inferiores
son 0, 1 y 3. Ntese que el problema no tiene cotas superiores.
5.1.2.
154
P lq
1
2 xHx+fx
v=d
Ax B=
{1 + {2 + {3 1>
{1 {2 + {3 1=
155
156
1
=
G = L = PNNW = { 5 R3 | 2{1 + 2{2 = 1> {3 = 0> {1
4
As pues, las dos soluciones propuestas por MATLAB resultan ser ptimos globales.
El siguiente ejemplo pone de manifiesto que, dependiendo de la semilla elegida, MATLAB puede proporcionar ptimos locales que no sean globales. En
general, la comprobacin de la optimalidad global ha de hacerse por mtodos
analticos, empleando resultados tericos o directamente la definicin de ptimo
global.
Ejemplo 5.3 (ptimo local que no es global) Consideremos el problema
en R2
(S ) P lq
v=d
1 2
2 {1
12 {22
{1 + {2 1>
{1 {2 1>
{1 + {2 5>
{1 {2 1=
Se pide:
(i) Resolver (S ) con ayuda de la funcin quadprog utilizando las semillas
(1> 1) y (1> 1).
(ii) Analizar la optimalidad local y global de las soluciones propuestas por
MATLAB en cada caso.
Solucin. (i) La figura 5.6 muestra la resolucin del problema actual con la
semilla [-1 1].
En este caso, se obtiene la solucin x=[0 -1] con valor de la funcin objetivo f=-0.5.
157
158
i (0> 1) = 0.5 y i (2> 3) = 2.5= Luego (2> 3)0 ha de ser un ptimo global de
(S ) =
Finalmente, queda verificar si (0> 1)0 es un ptimo local. Tmese el entorno
de (0> 1)0 dado por
X := ]1> 1[ ]2> 0[
y ntese que si { 5 X _ I (recurdese que I denota al conjunto factible de (S ))>
en particular se tiene que {2 5 [1> 0[ = En consecuencia,
1
1
1
{ 5 X _ I , i ({) = {21 {22 0 = i (0> 1) =
2
2
2
As pues, hemos comprobado que (0> 1)0 es un ptimo local del problema.
5.2.
fun(x)
v=d
A x B>
Aeq x = Beq,
(5.2)
C(x) 0>
Ceq(x)= 0>
LB x UB=
Concretamente, la sintaxis empleada en la introduccin de los datos del
modelo es la siguiente (vase la ayuda de MATLAB para detalles, escribiendo
AA help fmincon):
La sintaxis ms sencilla es X=fmincon(fun(x),X0,A,B) a travs de la
cual se resuelve el problema de minimizar la funcin objetivo fun(x) en
general no lineal, sujeto al sistema de desigualdades lineales A x B.
El segundo argumento de entrada, X0, representa la semilla del proceso
iterativo.
159
5.2.1.
El siguiente ejemplo ilustra cmo hemos de crear un M-archivo, que llamaremos nonlcon (del ingls, nonlinear constraints), para almacenar las restricciones no lineales de un problema de optimizacin. Este M-archivo contendr una
funcin cuyo argumento de entrada ser x y cuyos argumentos de salida sern
C y Ceq (recordemos que el orden es importante).
Ejemplo 5.4 (Restricciones en un M-archivo) Consideremos el problema
de optimizacin, en R4 :
P lq
v=d
{1 + {2 + {3 + 4{4 = 2>
{21 + {22 + {23 + {24 400>
{21 {24 0>
{1 {2 = 100>
{1 > {2 0=
Recordemos que para crear un nuevo M-archivo desde la barra de herramientas de MATLAB seguiremos los pasos: file $ New $ M-file. De este modo,
entraremos en el editor de textos de MATLAB. La figura 5.7 muestra la sintaxis
empleada en la edicin de las restricciones no lineales del presente ejemplo.
160
Obsrvese que x es la variable de decisin vectorial y x(1),...,x(4) son sus coordenadas. Ntese tambin que la funcin nonlcon tiene dos argumentos de
salida C y Ceq correspondientes a las funciones que definen las restricciones de
desigualdad e igualdad, respectivamente. C y/o Ceq pueden ser vectoriales, en
cuyo caso, se escribirn como vectores columna.
5.2.2.
161
Continuando con el mismo ejemplo anterior, seguidamente definimos la funcin objetivo en un M-archivo que llamaremos fun (vase la figura 5.9).
5.2.3.
La funcin fmincon emplea determinados parmetros para controlar la interrupcin del proceso iterativo que lleva implementado. A continuacin, comentaremos cuatro de estos parmetros; vanse los detalles sobre los algoritmos
implementados y el resto de parmetros de control en el manual Optimization
ToolboxW P 4, Users Guide (vase la seccin 4.3).
162
mencionados parmetros. Estos valores pueden modificarse mediante la funcin optimset. Para comenzar es importante conocer el nombre de dichos
parmetros y para ello puede escribirse en la ventana de comandos AA options=optimset (vase la figura 5.11). De hecho, de este modo estamos almacenando en options el conjunto de todos los valores por defecto de los parmetros.
donde { 5 Rq y todas las funciones del modelo (i> jl > l = 1> ===> p; km > m = 1> ===> s)
estn definidas en Rq y toman sus valores (imgenes) en R=
Los parmetros TolFun y TolCon tienen un valor asignado por defecto
de 1036 y se emplean en la comprobacin de las condiciones de KKT en
163
la solucin propuesta, x. De hecho, uno de los posibles mensajes de parada es Optimization terminated: first-order optimality measure
less than options.TolFun and maximum constraint violation is
less than options.TolCon. Este mensaje se interpreta de la siguiente
forma:
First-order optimality measure less than options.TolFun significa que se cumplen las siguientes desigualdades:
s
p
X
X
ui ({) +
uj
({)
+
uk
({)
l
l
m
m
l=1
m=1
TolFun,
(5.3)
(5.4)
"
para ciertos escalares l 0> l = 1> ===> p> m 5 R> m = 1> ===> s= Por su parte,
el texto maximum constraint violation is less than options.TolCon significa que:
[jl ({)]+ TolCon, para todo l>
(5.5)
(5.6)
donde [jl ({)]+ representa la parte positiva de jl ({) > esto es,
[jl ({)]+ = max{0> jl ({)}=
Los parmetros MaxFunEvals y MaxIter representan, respectivamente,
el nmero mximo de evaluaciones de la funcin objetivo y el nmero mximo de iteraciones. Los valores asignados por defecto son 100q (100*nmero
de variables) y 400, respectivamente. Estos parmetros actan como criterios de parada en el sentido de que si se excede alguno de estos valores
asignados, el algoritmo se detiene. Concretamente, el mensaje Maximum
number of function evaluations exceeded; increase OPTIONS.MaxFunEvals significa que el algoritmo se ha detenido porque se ha excedido
el nmero de evaluaciones de la funcin objetivo y se aconseja incrementar
el parmetro MaxFunEvals. Por su parte, el mensaje Maximum number
of iterations exceeded; increase OPTIONS.MaxIter significa que se
ha excedido el nmero mximo de iteraciones y se aconseja incrementar el
valor del parmetro MaxIter.
164
En este caso, en el punto propuesto { = (10> 10> 0.1250> 4.5313)0 se verifican las condiciones (5.3), (5.4), (5.5) y (5.6); esto es, se verifican aproximadamente las condiciones de KKT en dicho punto. Si se quiere conocer el valor
de los escalares l > l = 1> ===> p> m > m = 1> ===> s> hemos de pedirlo como argumento de salida de forma anloga a como se haca con la funcin quadprog. Si
escribimos:
AA [x,f,e,o,l]=fmincon(fun,x0,A,B,Aeq,Beq,LB,UB,nonlcon)
obtenemos, adems de x, el valor de la funcin objetivo en dicho punto,
f =195.4844, e=1 que significa precisamente que se verifican aproximadamente
las condiciones de KKT, cierta informacin adicional que viene recogida en el
cuarto argumento de salida, o (el nmero de iteraciones empleadas, o.iterations: 11, el nmero de evaluaciones de la funcin objetivo, o.funcCount: 62,
165
el valor mximo de los miembros de la izquierda de (5.3) y (5.4), o.firstorderopt: 6.6542e-007) y los valores de los escalares l > l = 1> ===> p> m > m =
1> ===> s> que viene recogidos en l.lower (correspondientes a las cotas inferiores), l.upper (correspondientes a las cotas superiores), l.eqlin (asociados
a las ecuaciones lineales), l.eqnonlin (asociados a las ecuaciones no lineales),
l.ineqlin (asociados a las inecuaciones lineales) y l.ineqnonlin (asociados
a las inecuaciones no lineales).
En nuestro caso, se obtiene l.lower=l.upper=[0,0,0,0]; l.eqlin=-0.25
(asociado a la restriccin {1 + {2 + {3 + 4{4 = 2)> l.eqnonlin=-1.9750 (asociado a la restriccin {1 {2 = 100)> l.ineqlin: [0x1 double] (no existen inecuaciones lineales), l.ineqnonlin=[0,0], asociados a las restricciones
{21 + {22 + {23 + {24 400 y {21 + {24 0=
Ejemplo 5.6 Consideremos el problema de PNL
P lq
v=d
{1 + {2 + {3 + 4{4 = 2>
{21 + {22 + {43 {24 400>
{1 {2 100>
{21
{24 = 100>
{3 {4 = 200>
{1 > {2 0=
Se pide:
(i) Ejecutar la funcin fmincon con la semilla x0=[1 1 1 1] e indicar el
motivo de parada; se cumplen (aproximadamente) las condiciones de KKT en
la solucin propuesta?
(ii) Asignar a los parmetros MaxFunEvals y MaxIter los valores 1000 y 900,
respectivamente; encuentra algn punto donde se cumplan (aproximadamente)
las condiciones de KKT?
Solucin. (i) La figura 5.13 muestra la edicin de las restricciones no lineales
del presente ejemplo.
Las matrices A, B, Aeq, Beq, LB y UB son idnticas a las del ejercicio anterior.
A continuacin, en la figura 5.14 se muestra el resto de la sintaxis de fmincon,
166
167
significa que
;
s
p
A
P
P
A
? ui ({) +
l ujl ({) +
m ukm ({) >
max
l=1
m=1
"
A
A
=
|l jl ({)| > l = 1> ===> p
<
A
A
@
A
A
>
= 1.732 104 =
168
5.2.4.
Ejercicios propuestos
169
(i) Plantear los problemas de optimizacin que resuelven estas dos cuestiones.
(ii) Resolver (de forma aproximada) los dos problemas anteriores con ayuda
de fmincon.
(iii) Indicar en cada caso los valores correspondientes de los multiplicadores
de KKT.
Parte III
Aplicaciones
Captulo 6
Aplicaciones de la
Programacin Lineal
6.1.
(6.1)
= el > l 5 L>
donde G> L N> G _ L = B> |G| ? 4> |L| ? 4> f> dn 5 Rq > en 5 R > n 5 G ^ L=
As, el conjunto factible de (P) quedara
desigualdad, por lo que cuando sea necesario, podremos suponer sin prdida de
174
que:
f =
m dm +
mMG
0
m (dm {
em )
<
l dl > @
lML
= 0> m 5 G=
>
175
P
m dm +
mMG
l dl =
lML
cin activa. Este hecho es consecuencia directa de las condiciones de KKT, que
en PL caracterizan la optimalidad, como se enuncia en el teorema 6.1.
6.1.1.
Sea un consumidor con renta p que tiene que elegir las cantidades de los
bienes E1 y E2 que desea consumir, de modo que maximice su funcin de
utilidad x y no sobrepase su renta p. Se considera la siguiente notacin:
{1 : cantidad del bien 1 ({1 0),
176
p
s1 ).
Ahora pasamos a resolver el problema, calculando, en primer lugar, el conjunto factible. Para ello solo hay que tener en cuenta que el gasto debe ser menor
que la renta del consumidor, distinguiendo adems cuando se aplica el impuesto:
Si {1 {
1 entonces debe ser s1 {1 + s2 {2 p=
1 entonces debe ser s1 {
1 + (s1 + w)({1 {
1 ) + s2 {2 p> o lo que es
Si {1 A {
lo mismo s1 {1 + w({1 {
1 ) + s2 {2 p=
I = { 5 R2 | {1 {
1 > s1 {1 + s2 {2 p ^
{ 5 R2 | {1 A {
1 > s1 {1 + w({1 {
1 ) + s2 {2 p =
1 ) + s2 {2 p =
Ie = ({1 > {2 ) 5 R2 | s1 {1 + s2 {2 p> s1 {1 + w({1 {
Si {1 {
1 y s1 {1 + s2 {2 p> como w({1 {
1 ) 0, se tiene s1 {1 + w({1
{
1 ) + s2 {2 s1 {1 + s2 {2 p=
1 y s1 {1 + w({1 {
1 ) + s2 {2 p> como w({1 {
1 ) A 0, se tiene
Si {1 A {
1 ) + s2 {2 p.
s1 {1 + s2 {2 ? s1 {1 + w({1 {
177
s1 {1 + s2 {2 p>
1 ) + s2 {2 p>
s1 {1 + w({1 {
{1 > {2 0=
(i) En el caso
(ii) Si
f1
f2
s1
s2 >
s1
1 0
p 0
1{
{1 > p3s
) ]=
s2 > el conjunto de soluciones es el segmento [(0> s2 ) > (
s2
(iii) Si
s1
s2
f1
f2
(iv) Si
f1
f2
s1 +w
s2 >
(v) Si
s1 +w
s2
f1
f2 >
s1 +w
s2 >
1 0
1{
la solucin es (
{1 > p3s
)=
s2
1 0 p+w
1{
el conjunto de soluciones es [(
{1 > p3s
) > ( s1 +w{1 > 0)0 ]=
s2
{1
0
la solucin es ( p+w
s1 +w > 0) =
Las lneas discontinuas representan los conjuntos de nivel de la funcin objetivo; un aumento de grosor indica una disminucin del valor de la funcin.
f1
f2
s1
s2
f1
f2
s1
s2
178
f1
f2
s1 +w
s2
f1
f2
s1 +w
s2
s1 +w
s2
f1
f2
6.1.2.
179
Cuando su conjunto factible no es acotado, el problema puede no ser resoluble. Vamos a ver esto en los dos problemas siguientes:
1. Sean d1 = (2> 1)0 > d2 = (1> 2)0 > d3 = (1> 2)0 > f = (1> 1)0 > e1 =
{ 5 I=
Aplicando el teorema 6.2, (S1 ) tendr solucin si, y solo si, existen 1 > 2 > 3 0
tales que
f = 1 d1 + 2 d2 + 3 d3 =
(6.2)
21 2 3 = 1>
1 + 22 23 = 1>
180
12
5 >
d03 {
= 4> las ecuaciones de complemen-
tariedad quedan
e1 ) = 1 (0 0) = 0;
1 (d01 {
12
2 (d02 {
e2 ) = 2 ( 10) = 0;
5
0
3 (d3 {
e3 ) = 3 (4 + 4) = 0=
Por tanto, 2 = 0 y 1 > 3 quedan libres por el momento. Resolviendo el sistema
!
!
!
1
2
1
>
+ 3
=
1
1
1
2
se obtiene 1 = 15 > 3 = 35 > y entonces f = 15 d1 + 0d2 + 35 d3 = Por tanto, {
es
punto de KKT como queramos probar.
2. Sean f = (3> 1)0 , I el mismo conjunto factible del apartado 1 de este
mismo ejemplo, y (S2 ) el problema
(S2 ) Min f0 {
v=d
{ 5 I=
Por el teorema 6.2, y de la misma forma que en el apartado 1, (S2 ) ser resoluble
si, y solo si, existen 1 > 2 > 3 0 tales que
1 d1 + 2 d2 + 3 d3 =
f=
(6.3)
21 2 3 = 3>
1 + 22 23 = 1>
que es compatible indeterminado (con un grado de libertad). Por tanto, una vez
resuelto el sistema, sus soluciones se pueden escribir en funcin de un parmetro
de la forma
3
1
E
F
E
E 2 F = 1 E
D 3C
C
3
4
11
F
10 F
D > 5 R>
181
6.1.3.
Un problema de transporte
Se supone que cierto producto homogneo est almacenado en distintas localizaciones, con diferentes cantidades en cada una. Se supone que existen p localizaciones y se designa por l ( 0) la cantidad disponible en cada localizacin
l. Las cantidades de producto deben ser transportadas a diferentes destinos.
Suponemos que existen q destinos y m ( 0) designa la cantidad requerida en
el destino m. Emplearemos la siguiente notacin:
{lm : cantidad que es transportada del origen l al destino m;
flm : coste por cada unidad transportada del origen l al destino m; supondremos
flm 0 para todo l = 1> = = = > p> m = 1> = = = > q=
Por ltimo, se supone que la cantidad total almacenada es mayor o igual a la
Pq
P
cantidad total requerida: p
l=1 l
m=1 m (de lo contratrio el problema sera
182
flm {lm =
l=1>===>p
m=1>===>q
Pp
l=1 {lm
= m
(es decir, la suma de todas las cantidades que llegan al destino m debe ser m ).
Adems, hay que tener en cuenta que cada origen l no puede disponer de ms
cantidad de producto que la que tiene almacenada, lo que se traduce en la
P
restriccin: qm=1 {lm l (es decir, la suma de todas las cantidades de producto
v=d
flm {lm
l=1>===>p
m=1>===>q
q
X
m=1
p
X
l=1
183
De este modo,
q
X
m
q
X
m=1
{
lm = l p
l ;
X
m=1
l
l=1
p
X
p
X
l
{
lm = m l=1
= m =
p
X
l=1
l
l=1
6.2.
6.2.1.
184
la ecuacin del plano de regresin> y a ({lm )m=1>===>n como el vector de observaciones experimentales de la variable independiente [l > con l = 1> ===> q= De este
modo, para cada m = 1> ===> n> puede interpretarse 0 + 1 {1m + = = = + q {qm como
el valor estimado de \ (el determinado mediante el plano de regresin) a partir
de los valores {1m > = = = > {qm de las variables [1 > ===> [q (vase una ilustracin del
caso q = 1 en la figura 6.7).
Con la notacin anterior, el problema de ajuste del plano a la nube de puntos considerada, en ltima instancia, conduce a determinar los valores de los
escalares 0 > 1 > = = = > q que, en trminos informales, hacen mnimo el vector
de residuos %() (de diferencias entre los valores observados de \ y los estimados por el plano)= Dependiendo de la norma elegida para medir el tamao
del vector de residuos se obtendr un modelo u otro. As, cuando se utiliza la
norma eucldea, el modelo resultante es conocido como modelo de regresin de
mnimos cuadrados, y se plantea como sigue
(S )
P lq k%()k2 =
MRq+1
n
P
m=1
!1
2
%m ()2
>
s
w una funcin estrictamente cre-
ciente en R+ )
(Spf )
P lq
n
P
MRq+1 m=1
%m ()2 =
(6.4)
185
n
Y
I 1 h3
2
m=1
1
3
1
I
nh
( 2)
Sn
m=1
(%m ())2
2 2
Ntese que el hecho de que \m () Q (0 + 1 {1m + === + q {qm > ) equivale a que la
variable residual Hm () = \m () 3 (0 + 1 {1m + === + q {qm ) se distribuya como la normal de
media 0 y desviacin tpica =
186
Max
MRq+1
1
s
2
h3
Sn
m=1
(%m ())2
2 2
Max
MRq+1
n
X
(%m ())2 >
m=1
n
P
MR m=1
%m ()2 >
(S )
P lq
MRq+1
n
P
m=1
|%m ()|
>
o, equivalentemente, el problema,
(S1 )
P lq k%()k1 :=
MRq+1
n
P
m=1
(6.5)
1 3 |{3|
h e > { 5 R=
2e
187
1 3 |{|
h e > { 5 R=
2e
188
(S2 )
(6.6)
MRq+1
P lq
n
P
MRq+1 m=1
P lq
v=d
n
P
m=1
xm + ym
(6.7)
1
2
({ + |{|) y =
1
2
({ |{|) =
189
Ntese que (
x> y>
) es factible de (S O1 ). Veamos que, de hecho, (
x> y>
)
constituye un ptimo global de (S O1 ). Para ello, sea (
x> y>
) un punto factible
de (S O1 ), esto es,
) = x
m ym > m = 1> = = = > n y x
m > ym 0> m = 1> = = = > n=
%m (
Queremos probar que
n
X
x
m + ym =
m=1
Pn
m
m=1 x
n
X
m=1
n
X
m=1
+ ym
|%m (
)|
n
X
m=1
|
xm ym |
Pn
m
m=1 x
+ ym . En efecto:
|%m (
)| =
n
X
m=1
|
xm | + |
ym | =
n
X
x
m + ym =
m=1
es
(ii) Supongamos que (
x> y>
) es ptimo global de (S O1 ). Veamos que
Pn
Pn
ptimo global de (S1 ). Queremos probar que m=1 |%m (
)| m=1 |%m ()|, para
todo 5 Rq+1 .
Sea
5 Rq+1 arbitrario. Se tiene:
n
X
m=1
|%m (
)| =
n
X
m=1
|
xm ym |
n
X
x
m + ym =
(6.8)
m=1
, y 5 Rn tales que %m (
) =
Por otro lado, asociado a
5 Rq+1 consideramos x
)| = x
m + ym con m = 1> = = = > n. Ntese que (
x> y>
) es un punto
x
m ym y |%m (
factible de (S O1 ).
Entonces,
n
X
m=1
|%m (
)|
n
X
x
m + ym
m=1
n
X
m=1
x
m + ym =
n
X
m=1
|%m (
)| >
MRq+1
190
(6.9)
(i) Si
5 Rq+1 es ptimo global de (S2 ), entonces existe g 5 R tal que
> g
es ptimo global de (S O2 ).
es ptimo
(ii) Si
> g 5 Rq+1 R es ptimo global de (S O2 ), entonces
global de (S2 ).
Veamos que
> g es ptimo global de (S O2 )= Para ello, sea
> g una solucin
En efecto,
factible de (S O2 ) y veamos que g g=
(ii) Sea
> g un ptimo global de (S O2 ) y consideremos
5 Rq+1 arbitrario=
Sea
6.2.2.
191
{11
E .
E .
E .
E
[ := E
E {1m
E .
E ..
C
{1n
..
.
{q1
..
.
..
.
{qm
..
.
{qn
4
F
3
F
|1
F
F
E .
F e \ := E ..
F
C
F
F
|n
D
4
F
F=
D
P lq
v=d
n
P
m=1
xm + ym
D{ e>
Dht { = eht>
OE { X E>
(6.10)
192
q+1
z }| { z }| { z }| {
f = (1> ===> 1> 1> ===> 1> 0> ===> 0)0 5 Rn Rn Rq+1 =
Nuestro modelo incluye un sistema de ecuaciones lineales que viene dado por
{xm ym + 0 + 1 {1m + = = = + q {qm = |m > m = 1> ===> n} >
as, la matriz de coeficientes del correspondiente sistema de ecuaciones quedara
Dht =
Ln | Ln | 1n | [
n(2n+q+1)
>
z }| {
donde Ln es la matriz identidad de orden n y 1n = (1> ===> 1)0 = El vector de trminos
eht = \>
y los vectores que expresan las cotas son
4
3
0n
F
E
F y X E = (+4) 12n+q+1 =
OE = E
0
n
D
C
(4) 1q+1
Ntese que para indicar que no est acotada inferiormente, asignamos 4 a
cada una de las coordenadas correspondientes de OE (as (4) 1q+1 representa
q+1
z
}|
{
a (4> ===> 4)0 )= Adems, puesto que ninguna de las variables est acotada
193
194
195
196
q+1
z }| {
f = (0> ===> 0> 1)0 5 Rq+2 =
!
1n | [ | 1n
D=
1n |
[ | 1n
2n (q+2)
\
e=
=
\
2n 1
197
function [sol,d]=minmaxad(dep,indep)
x=indep;
[n,k]=size(x);
y=dep;
%funcin objetivo
c=[zeros(n+1,1);1];
x=x;
%restricciones de desigualdad
A=[-ones(k,1),-x, -ones(k,1); ones(k,1),x,-ones(k,1)];
%trminos independientes de las ecuaciones de desigualdad
b=[-y;y];
%cota inferior
LB=[zeros(n+2,1)];
[s,t]=linprog(c,A,b,[],[],LB,[]);
sol=s(1:n+1);
disp(desea realizar alguna estimacin particular de y)
o=input(en caso afirmativo, escriba 1; en otro caso,
pulse otro nmero)
while o==1
ob=input(introduzca (en un vector fila) los valores de
la variable independiente);
obs=[1,ob];
disp(el valor estimado de y es:)
z=obs*sol
disp(desea realizar una nueva estimacin)
o=input(en caso afirmativo, escriba 1; en otro caso,
198
6.2.3.
Ejercicios resueltos
Ejercicio 6.1 La siguiente tabla muestra el tiempo de permanencia en un hospital de 20 enfermos antes de ser dados de alta (T, en das), as como sus
respectivas edades (E) y pesos (P en libras). Se pide:
(a) Ajustar un modelo lineal que explique el tiempo de permanencia en el
hospital en funcin de la edad y el peso del paciente mediante los mtodos
MINMAD y MINMAXAD.
(b) Predecir el tiempo en ser dado de alta de un paciente con (32> 157).
T:
45
40
39
30
35
33
41
10
E:
47
44
39
39
29
48
44
42
28
37
P : 163 171 171 133 167 180 151 169 164 165
T:
E:
39
38
34
36
41
23
38
33
35
27
P : 170 143 142 135 165 160 138 151 145 140
Solucin. Con MINMAD.
El primer paso es identificar la variable dependiente y las independientes.
Aqu claramente la variable dependiente es T y las variables independientes son
E y P. Creamos un M-file que llamaremos ejer1.m, donde se almacenan el
vector dep y al matriz indep (vase la figura 6.8).
Ejecutamos ejer1 desde la ventana Command Window (figura 6.9).
La figura 6.10 muestra la ejecucin de la funcin minmad. Recurdese que
se nos preguntar si deseamos hacer alguna estimacin particular.
199
200
201
de las bases de datos del SPSS podran utilizarse otras provenientes de EXCEL (como se
202
bajaremos con las variables consumo (litros cada 100 km), motor (cilindrada
en CC), acel (aceleracin de 0 a 100), cv (potencia en CV), peso (total en
kg) y ao (ao de fabricacin). Se desea conocer la relacin que existe entre el
consumo de los coches de EE.UU. y las variables motor, cv, peso, acel y ao.
Para ello utilizaremos los mtodos MINMAD y MINMAXAD.
Solucin. El primer paso es preparar la base de datos para poder utilizarla en
MATLAB. A continuacin, se explica el modo de proceder para importar una
base de datos del SPSS a MATLAB. Abrimos el SPSS y seleccionamos Abrir un
origen de datos existente$Aceptar. Seleccionamos Coches.sav$Abrir.
Preparamos los datos, esto es, seleccionamos las variables de inters. Podemos
ver una breve descripcin en vista de variables (una de las ventanas del SPSS)
con el fin de decidir qu variable ser la dependiente y cuales las independientes.
A continuacin, eliminamos las que no vayan a ser exportadas. En este ejemplo,
la variable dependiente ser el consumo y las variables independientes sern
motor, cv, peso, acel y ao. La variable origen es categrica, indica el pas de
procedencia de los coches, se han elegido los coches de EE.UU. (codificada con el
nmero 1, como puede apreciarse en la ventana vista de datos). Entonces, Datos
$Seleccionar casos$Si cumple la condicin origen=1$Continuar$Aceptar.
(Vanse las Figuras 6.12 y 6.13).
Ahora habr que eliminar la variable origen y los blancos (en el sentido de
celda vaca). Para eliminar un blanco desde vista de datos nos ponemos sobre
fila y suprimimos, de igual forma se eliminan las variables que no vayan a ser
usadas en el anlisis. Para confirmar que no nos hemos olvidado ninguno, se
puede comprobar mediante Analizar$Frecuencias, aadimos todas las variables
y, en el visor de resultados se muestra si hay algn valor perdido (vase la figura
6.14).
Una vez terminado este proceso guardamos la base de datos en extensin
Excel 2.1(*.xls). Ahora ya estamos en condiciones de trabajar la base de datos
desde MATLAB. Abrimos MATLAB, File$Open, abrimos directamente el documento excel que acabamos de crear. MATLAB nos muestra Import Wizmostrar ms adelante en el prximo captulo, en particuar en la aplicacin de la cartera de
valores).
203
204
Estadsticos
9iOLGRV
3HUGLGRV
&RQVXPR
ONP
&LOLQGUDGD
HQ&&
$FHOHUDFLyQ
DNPK
3RWHQFLD&9 VHJXQGRV
3HVRWRWDO
NJ
$xRGHO
PRGHOR
ard, seleccionamos Create vector from each column using column names, Finish
(vase la figura 6.15). Podemos renombrar la variables directamente pinchando
205
En este caso particular, se aprecia intuitivamente que el ajuste a una exponencial doble es aceptable, por lo que la estimacin del modelo MINMAD
posiblemente tenga buenas propiedades estadsticas (proporcione el estimador
de mxima verosimilitud para los parmetros correspondientes).
Con MINMAXAD, se ha obtenido el siguiente plano de regresin:
consumo = 0.0377cv + 0.0078peso.
6.2.4.
Ejercicios propuestos
Ejercicio 6.3 El departamento de planificacin de una cadena de supermercados ha observado que las ventas logradas dependen sobre todo de la antigedad,
del tamao de la poblacin y de la renta disponible per cpita. Se duda acerca
del lugar idneo donde abrir uno nuevo, existiendo tres emplazamientos posibles
A, B y C. En los casos B y C deberan construirse de nueva planta, mientras que
206
98
520
10
4050
125
680
5200
110
650
5250
80
560
12
4080
150
490
4130
134
620
5700
118
580
5220
106
610
4100
140
517
116
625
135
550
207
208
6.3.
conjunto dado de puntos } 1 > ===> } n de Rq++ :=]0> +4[q . La finalidad ltima
Hay que tener en cuenta que no se busca un orden cualquiera y sin significado (lo que por otra parte sera muy fcil), sino un orden que permita realizar
interpretaciones coherentes del modelo y aplicarlo a situaciones reales. En con
creto sera conveniente que el nuevo orden que establezcamos en } 1 > ===> } n > y
209
Definicin 6.1 Dadas las organizaciones } 1 > = = = > } n > se define el conjunto I de
todas las organizaciones posibles como el menor conjunto convexo que verifica:
(i) } l 5 I> para todo l = 1> ===> n;
(ii) Si } 5 I y } }, entonces } 5 I=
Puesto que I es convexo, del apartado (i) se deduce que I contiene a
organizaciones peor valoradas que otras ya existentes son posibles en el modelo que planteamos. Por ejemplo, en un mercado de oferta y demanda, esto
supondra la posibilidad de realizar transferencia tecnolgica entre los distintos
factores que forman los planes de produccin de una o varias empresas de un
mismo sector, y la posibilidad de realizar siempre ofertas menos competitivas
por parte de dichas empresas.
La siguiente proposicin presenta una descripcin explcita del conjunto I
y recoge algunas de sus propiedades (vase una ilustracin en la figura 6.18).
Proposicin 6.5 En el modelo propuesto se cumple
210
(iii) I es cerrado;
(iv) Si } 5 I y } A } (esto es, }v A }v para todo v 5 {1> ===> q})> entonces
} 5 int(I )=
(6.11)
} 5 conv } 1 > = = = > } n tal que } }, y puesto que conv } 1 > = = = > } n I , se
tiene que } 5 I= Como } }, por (ii) de la definicin de I se tiene que } 5 I .
A continuacin, demostramos el contenido I Ib= Basta probar que Ib es
} 1 } 1 + === + n } n >
para ciertos 1 > = = = > n > 1 > = = = > n 0> con
Pn
l=1 l
Pn
l=1 l
= 1=
211
Luego
} + (1 )
} (1 + (1 )1 )} 1 + === + (n + (1 )n )} n 5
o
n
5 conv } 1 > = = = > } n >
Pn
l=1 (l
o
n
Ib = conv } 1 > = = = > } n + Rq+ =
(ii) Es inmediato al tener por una parte I = conv } 1 > = = = > } n + Rq+ > y por
otra conv } 1 > ===> } n Rq++ al cumplirse } 1 > ===> } n Rq++ y ser Rq++ convexo.
(iii) Sabemos que conv } 1 > = = = > } n es compacto, y que Rq+ es cerrado. Como
la suma de un conjunto compacto y un cerrado da como resultado un cerrado,
por (i) se tiene que I es cerrado.
}v }v ). Evidentemente ser
(iv) Sean } 5 I y } A }= Tomemos % := min (
v=1>===>q
Si tomamos } 5 E2 (
} > 2% ) entonces, para todo v 5 {1> ===> q} se tiene:
%
%
%
}v }v A +% A 0 =, }v A }v >
}v A =, }v }v = }v
}v +
}v }v A +
}v
2
2
2
por lo que } 5 I .
Volviendo de nuevo a las propiedades convenientes para nuestro modelo,
el orden construido no debera despreciar a la ligera puntos vlidos para ser
mnimo: por ejemplo, dados los puntos } 1 = (3> 3)0 > } 2 = (1> 2)0 > } 3 = (2> 1)0 ,
no parece conveniente la ordenacin
}2 ! }3 ! }1>
pues el orden usual de Rq (con qA1) no proporciona ningn motivo para considerar } 2 inferior a } 3 . Parece ms razonable la ordenacin
}2 }3 ! }1=
Para formalizar esta idea, introducimos la nocin de punto no dominado.
212
1
} > = = = > } n Rq++ y I = conv } 1 > = = = > } n + Rq+ =
de nfimo. Adems
e 6= 0> pues de lo contrario podramos encontrar una sucesin
u $ 0> u 5 D> para todo u 5 N. Por tanto, se tendra u } 5 I para todo u>
u } $ 0q y, como por el apartado (iii) de la proposicin 6.5, I es cerrado, se
Veamos que } :=
e} es el nico elemento de ]0q > }] _ bd(I )= En primer lugar,
e nos permite escribir
e = limu u > con u 5 D> para todo u, lo que implica
} =
e} = limu u }=
213
1
}>
e
} = limu
u
0?
e 1u 5
@ D para u suficientemente grande, pongamos para u u0 ; luego,
1
@ I para u u0 = As pues, podemos concluir que } 5 bd(I )= Adems,
e u } 5
se tiene que
b} 5 I> pues I es cerrado y obviamente
b 5 ]0> 1], y por tanto
b 5 D= As pues,
b
e. Pero si
bA
e entonces
b} A } (recordemos que todas
Definicin 6.3 Dados } 1 > = = = > } n Rq++ y I = conv } 1 > = = = > } n + Rq+ > para
214
k
}k
>
k}k
ef (}) =
(6.12)
l }l
ef } = l = min 5 ]0> 1] | } l 5 I =
k} k
h} l 5 I=
215
v=d
n
P
u=1
n
P
u=1
u } u >
u = 1>
Con lo que hemos visto, dada una coleccin de puntos } 1 > = = = > } n Rq++ >
el clculo de la eficiencia del punto } l , ef } l , se reduce a la resolucin del
siguiente problema de PL, que viene de expresar coordenada a coordenada la
desigualdad vectorial del problema anterior:
(Sl ) P lq h
v=d
h}vl
n
P
u=1
n
P
u=1
u = 1>
pio con el objetivo de establecer un orden total en } 1 > = = = > } n para seleccionar
216
decir, } l - } m ).
tacin anterior, sea }l el nico elemento de ]0q > } l [_bd(I )> y definamos anloga
:= min 5 [0> 1] | } m }l A 0=
m = Puesto que }
m }l 5 I> se tiene que }m 5 I .
Ahora definimos }m := }
1
1
Definimos }m :=
}m = Vamos a comprobar que
=min{ 0 |
}m
l
ef(} )
ef(} l )
} l } (con lo que de la misma forma que acabamos de ver, tambin se tendr
1
1
m =
m
l = } l > por la definicin de
y de ef } l =
}
}
}
(a)
ef(} l )
ef(} l )
ef(} l )
(b) Supongamos, con el objetivo de llegar a una contradiccin, que existe 0 ?
1
l )
l )}
?
y ef(}
m=
} m } l = En dicho caso se tiene ef(}
tal que
?
ef(} l )
l )
ef(}
} m ef(} l )} l = }l > lo que constituye una contradiccin con la definicin
Hemos probado que 1 =min{ 0 |
de =
} m } l }= Pero entonces, como
ef(} l )
1 m
1
} = } m } l > debe ser
1 y por tanto
ef(} l )
ef(} l )=
m , }m = ef(} m )} m y } m 5 Rq , si fuera
Ahora observemos que, como }m = }
++
? ef(} m ) se tendra }m ? }m y por el apartado (iv) de la proposicin 6.5
sera }m 5 int(I )> lo cual es una contradiccin, pues por definicin sabemos
217
k}k
= 1=
k}k
6.3.1.
En esta aplicacin se ha implementado la funcin en MATLAB que nos ayuda a resolver el modelo de la eficiencia, para una muestra de n observaciones
218
tenga como entrada la matriz ] = } 1 > = = = > } n > esto es, la matriz que contiene
a los vectores } 1 > = = = > } n por columnas. Como salida proporcionar un vector,
denotado por ef, cuyas coordenadas son las respectivas eficiencias de los } l .
Seguidamente, describimos los pasos dados para la determinacin de ef. El clculo de la coordenada l-sima de ef, esto es, la eficiencia de } l , se hace mediante
la resolucin del problema (6.13) que puede adaptarse al formato del MATLAB
(6.10) que recordamos a continuacin:
(S ) P lq f0 {
v=d
D{ e>
Dht { = eht>
OE { X E>
=
n+1
D = ] | } l q(n+1) =
219
function [ef]=eficiencia(Z)
[n,m]=size(Z);
for i=1:n
A=[Z,-Z(i,:)];
b=zeros(m,1);
c=[zeros(1,n),1];
Aeq=[ones(1,n),0];
beq=1;
LB=zeros(1,n+1);
UB=[];
ef(i,:)=linprog(c,A,b,Aeq,beq,LB,UB);
end
ef=ef(:,n+1);
disp(eficiencia : )
Fin funcin eficiencia
6.3.2.
Ejercicios resueltos
Ejercicio 6.5 Entre todos los huertos solares espaoles se ha seleccionado una
muestra aleatoria de 12 de ellos, y nos disponemos a realizar un estudio de
220
eficiencia, para evaluar de calidad de dichas instalaciones, y establecer una ordenacin entre ellos. Los datos se muestran en la siguiente tabla (han sido consultados en la pgina web www.huertasolares.es, en 2009):
kW
coste
benefi
Lugar
kW
coste
benefi
Lugar
100
796.0
81.049
Badajoz
31.5
233.1
23.661
Toledo
100
748.5
64.907
Alicante
113.4
895.86
91.504
Sevilla
25
188
18.7
Mlaga
100
745.92
84
41.935
3.455
Ciudad Real
95
534.371
63.679
Madrid
7.5
57.675
5.46
Tudela
100
878.85
87.642
Huelva
10
86.2
8.905
Cuenca
50
394.5
29.34
Rioja
Valladolid
1000
i ({) .
+,
guiente tabla:
221
(1/kW) x 1000
coste
(1/benefi) x 1000
Lugar
10
796.0
12.34
Badajoz
10
748.5
15.41
Alicante
40
188
53.48
Mlaga
200
41.935
289.44
Ciudad Real
125
57.675
183.15
Tudela
100
86.2
112.30
Cuenca
31.25
233.1
42.26
Toledo
8.85
895.86
10.93
Sevilla
10
745.92
11.90
Valladolid
10.53
534.371
15.70
Madrid
10
878.85
11.41
Huelva
20
394.5
34.08
La Rioja
222
223
Lugar
EFICIENCIA
Lugar
EFICIENCIA
Badajoz
0.9696
Toledo
Alicante
0.9653
Sevilla
Mlaga
Valladolid
Ciudad Real
Madrid
Tudela
Huelva
0.9783
Cuenca
La Rioja
224
Figura 6.23: Tabla de los datos iniciales del informe La universidad en cifras.
225
Recordemos que otra forma de conseguir este propsito es lo descrito en el ejercicio anterior,
226
Figura 6.24: Tabla del Ejercicio 6.6 con las nuevas variables creadas, sobre las que
haremos el estudio de la eficiencia.
227
Universidad
Eficiencia
Universidad
Eficiencia
U. Almera
0.9946
U. Rovira i Virgili
U. Cdiz
0.9856
U. Alicante
U. Crdoba
0.9910
U. Jaume I de Castelln
0.9980
U. Granada
U. Miguel Hernndez
0.9720
0.8851
1
U Huelva
0.9456
U. Politcnica de Valencia
U. Jan
0.8364
U. Valencia
U. Mlaga
U. Pablo de Olavide
1
0.9608
U. Extremadura
0.9338
U. La Corua
U. Santiago de Compostela
U. Sevilla
U. Oviedo
0.9219
U. Vigo
U. Islas Baleares
0.9473
U. Autnoma Madrid
U. La Laguna
0.9171
0.9391
U. Las Palmas
0.9540
U. Politcnica Madrid
U. Cantabria
0.9427
0.7728
U. Castilla la Mancha
0.8541
U. Murcia
0.8662
U. Valladolid
0.8879
U. Politcnica Cartagena
0.9974
U. Lleida
0.9849
U. Pblica Navarra
U. Pas Vasco
U. Politcnica Catalua
U. Pompeu Fabra
6.3.3.
Ejercicios
Ejercicio 6.7 Se desea construir una carretera para establecer una comunicacin directa entre dos poblaciones vecinas. El Gobierno de la correspondiente
Comunidad Autnoma ha convocado un concurso pblico de presentacin de
propuestas. Diferentes empresas han presentado sus proyectos, y los datos relativos al Coste final (en millones de euros) y Longitud total (en cientos de
kilmetros) se muestran a continuacin en la siguiente tabla:
228
Empresa
Coste final
Longitud total
A1
A2
0.75
A3
0.5
A4
A5
0.75
A6
A7
0.25
Empresa
Eficiencia
A1
0.9286
A2
A3
A4
0.5
A5
A6
0.4643
A7
229
Barco
kg
horas
Barco
kg
horas
b1
306
b11
399
b2
345
10
b12
321
b3
123
b13
419
b4
245
b14
523
b5
643
b15
603
11
b6
354
b16
123
b7
321
b17
501
10
b8
564
13
b18
576
b9
435
b19
433
b10
490
b20
467
13
Barco
Eficiencia
Barco
Eficiencia
Barco
Eficiencia
Barco
Eficiencia
b1
0.9680
b6
0.9736
b11
0.9709
b16
b2
0.9620
b7
0.9620
b12
0.9698
b17
0.9815
b3
0.9400
b8
0.9896
b13
0.9895
b18
b4
0.9691
b9
b14
0.9855
b19
0.9912
b5
b10
0.9896
b15
0.9947
b20
0.9772
230
Barco
1/kg
horas
Barco
1/kg
horas
b1
0.00326
b11
0.00250
b2
0.00289
10
b12
0.00311
b3
0.00813
b13
0.00238
b4
0.00408
b14
0.00191
b5
0.00155
b15
0.00165
11
b6
0.00282
b16
0.00813
b7
0.00311
b17
0.00199
10
b8
0.00177
13
b18
0.00173
b9
0.00229
b19
0.0023
b10
0.00204
b20
0.00214
13
Barco
Eficiencia
Barco
Eficiencia
Barco
Eficiencia
Barco
Eficiencia
b1
0.74695
b6
0.7855
b11
0.79131
b16
b2
0.69799
b7
0.70598
b12
0.74924
b17
0.83661
b3
0.61517
b8
0.87714
b13
0.91526
b18
b4
0.83042
b9
b14
0.8992
b19
0.93176
b5
b10
0.929
b15
0.93779
b20
0.72628
Ejercicio 6.9 Ante una nueva y desconocida afeccin cutnea, un joven investigador en el campo de la dermatologa, experimenta con un total de 350 ratas. El
investigador formula 7 tipos de medicamentos, los cuales curan la afeccin. Como
paso previo a la prueba experimental en humanos el investigador ha dividido las
350 ratas en siete grupos de 50, administrndole a cada grupo un medicamento
diferente. En cada grupo se han medido las variables temperatura (media del
aumento de la temperatura del grupo, medida en grados centgrados), tiempo
231
(media del nmero de das que tarda en desaparecer la afeccin) y coste (coste
de produccin de 100 ml del medicamento correspondiente). El investigador desea establecer una ordenacin entre dichos medicamentos.
MEDICAMENTO
coste
tiempo
temperatura
1.13
10
0.500
1.34
14
0.270
1.23
0.310
1.45
11
0.110
1.51
12
0.230
1.54
10
0.010
1.09
0.056
EFICIENCIA
0.9646
0.8134
0.7956
0.7319
Ntese que tres de los medicamentos tienen eficiencia 1, por lo que la ordenacin final entre ellos, de nuevo, es tarea del investigador.
Captulo 7
Aplicaciones de la
Programacin No Lineal
7.1.
233
234
cada uno de los departamentos, en las localizaciones d1 > = = = > d6 sealadas, y que
toman las siguientes coordenadas (por comodidad se ha colocado el centro de
coordenadas en la esquina inferior izquierda del recinto) en metros:
d1 = (16> 13.5)0 >
d2 = (16> 36.5)0 >
d3 = (44> 26.5)0 >
d4 = (66.5> 44)0 >
(7.1)
P lq
({>%)MR2+1
v=d
Planteamiento general. Con el objetivo de definir una funcin en MATLAB que no se limite solo a este ejemplo particular, vamos a plantear el modelo
general y estudiar algunas de sus propiedades: dado un conjunto de puntos
A = d1 > d2 > = = = > dn del espacio Rq con la norma eucldea, que por simplicidad
radio y centro cualquiera, que contenga a todos los puntos del conjunto A. As
pues, las variables de decisin del modelo son el centro, { 5 Rq > y el radio % A 0
de dicha bola; vase la figura 7.2. Es sabido que este problema tiene solucin
nica cuando se considera la norma eucldea (de hecho, la unicidad se mantiene
235
Figura 7.2: Mnimo crculo que contiene al conjunto d1 > d2 > = = = > dn R2 .
El objetivo de esta seccin es el de plantear un problema de programacin
cuadrtica que resuelva el problema actual de determinacin de la mnima bola
que contiene a A= La resolucin de dicho problema cuadrtico se implementar
en MATLAB.
P lq
({>%)MRq+1
v=d
(7.2)
proposicin 3.1 (tomando !(w) = w2 y !l (w) = w2 > l = 1> = = = > n), se tiene que el
problema (S1 ) es equivalente a este otro
(S2 )
P lq
({>%)MRq+1
v=d
%2
{ dl 2 %2
(7.3)
% 0=
Como podemos observar, el problema (7.3) no es cuadrtico, pues las restricciones no son lineales; sin embargo, veremos que con un cambio de variable
236
biyectiva y
i ({)
(T) P lq
{ 5 I>
v=d
j(})
} 5 J=
{) es ptimo global
Entonces {
es ptimo global de (S ) si, y solo si, } := *31 (
de (T). Adems los valores ptimos de (S ) y (T) coinciden.
Debemos realizar un cambio en el problema (7.3) que transforme las restricciones cuadrticas en lineales. Veamos que un cambio adecuado para esto es el
que proporcionan las ecuaciones
;
? } = {>
= = 12 %2 k{k2 >
(7.4)
puesto que dicho cambio transforma las restricciones del problema (7.3) de la
siguiente manera: dado cualquier l = 1> = = = > n>
{ dl 2 %2 / k{k2 2{0 dl + dl 2 %2 /
1 2
1 2
1 2
% k{k2 dl / } 0 dl + dl =
/ {0 dl +
2
2
2
resultado.
Lema 7.1 Sea I el conjunto factible del problema de Sylvester (7.3), esto es,
o
n
2
2
1
q+1
0 l
l
J := (}> ) 5 R
| + } d d > ;l = 1> = = = > n
2
237
es biyectiva.
$
({> %)
7 $ {> 12 %2 k{k2 >
{k2
Dados ({> %) y (
{> %) de I tales que { = {
y 12 %2 k{k2 = 12 %2 k
se tiene %2 = %2 , por lo que % = % al ser ambos no negativos, lo que prueba la
inyectividad de #.
Veamos que # es sobreyectiva. Dado (}> ) un punto de J se verificar +
2
} 0 dl 12 dl > ;l = 1> = = = > n> o lo que es lo mismo,
l 2
d 2} 0 dl 2=
(7.5)
2
De la desigualdad anterior se deduce tambin que } dl 2 + k}k2 , y por
tanto
2 + k}k2 0>
q
lo que permite definir { := } y % := 2 + k}k2 =
Teniendo en cuenta la ecuacin (7.5), para cada l = 1> = = = > n> podemos es-
cribir
{ dl 2 = } dl 2 = dl 2 2} 0 dl + k}k2 2 + k}k2 = %2 >
q
!!
2
1
1 2
2 + k}k2 k}k2
= }>
#({> %) = {>
% k{k2
= (}> ) >
2
2
lo que prueba la sobreyectividad de #=
El lema anterior asegura la existencia del cambio inverso * = # 31 de (7.4),
definido en J, dado por las ecuaciones
;
? { = }>
q
= % = 2 + k}k2 =
(7.6)
238
Proposicin 7.2 Manteniendo la notacin de la presente seccin, consideremos el problema de programacin cuadrtica
(S3 )
P lq
2 + k}k2
v=d
+ } 0 dl
(}>)MRq+1
1
dl 2 > l = 1> = = = > n=
2
p
p
y(S2 ) = y(S3 )=
Demostracin. Veamos que (S3 ) es resoluble. En efecto, (S3 ) es consistente como consecuencia del lema anterior. En virtud del teorema 3.7, basta comprobar
1 2
que (S3 ) es acotado. Si + } 0 dl dl > entonces
2
2
2
2 + k}k2 k}k2 2} 0 dl + dl = } dl 0>
lo que significa que la funcin objetivo de (S3 ) est acotada inferiormente por 0
sobre el conjunto factible de (S3 ) = As pues, (S3 ) es acotado=
El resto de la prueba de este resultado es consecuencia directa de la proposicin 7.1.
Observacin 7.1 Ntese que (S3 ) es un problema cuadrtico convexo (vase
la seccin 3.6), por lo que las condiciones de KKT son necesarias y suficientes
para la optimalidad global (en virtud de la proposicin 3.2), es decir, G = PNNW .
n
o
239
)
lML (}>
En consecuencia } =
d
=
> con l 0> para todo l 5 L }>
l
1
)
lML (}>
7.1.1.
l l
2 d
)
lML (}>
l
2
= 1=
P lq
xMRq+1
v=d
1 0
x Tx + g0 x
2
Dx e>
considerando
T := 2
Lq
0q
00q
3 2
d1
E
1
..
e := E
.
C
2
n 2
d
>
g :=
0q
2
>
3 0
d1
E .
.
D := E
C .
n 0
d
1n
F
F>
D
F
F > x := (}1 > }2 > = = = > }q > )0 >
D
(n)
Rq
z }| {
y que 1n := (1> ===> 1)0 =
240
por %).
Inicio funcin esfmin
%La funcin esfmin proporciona la mnima esfera que contiene
%al conjunto de puntos introducidos por columnas en la matriz
% MP. Como salida se obtiene el centro, x,
%y el radio, r, de la esfera buscada.
function [x,r]=esfmin(MP)
[n,k]=size(MP);
Q=2*[eye(n),zeros(n,1); zeros(1,n),0]; d=[zeros(n,1);2];
A=-[MP,ones(k,1)]; b=-0.5*(sum(MP.^2));
[u,v]=quadprog(Q,d,A,b); x=u(1:n); r=sqrt(v);
Fin funcin esfmin
Resolucin del problema de localizacin de la antena WIFI. A continuacin, introducimos los datos recogidos en (7.1) y ejecutamos la funcin
esfmin.
AA MP=[16,16,44,66.5,82,82;13.5,36.5,26.5,44,26,11]
AA [x,r]=esfmin(MP)
7.2.
241
Ilustracin. Se desea encontrar la ubicacin ptima de una antena de telefona mvil con el fin de dar cobertura a cinco reas D1 > ===> D5 que, por simplificar, suponemos circulares de 25 km de radio y centradas en los puntos d1 > ===> d5
que se muestran en la siguiente tabla (los datos estn dados en km y se supone
previamente fijado un sistema de coordenadas):
d1
(68> 263)
d2
(251> 340)
d3
(173> 170)
d4
(208> 40)
d5
(312> 190)
P lq
({>%)MR2+1
v=d
que es equivalente a este otro
(S2 )
P lq
({>%)MR2+1
v=d
{ dl + 25 %>
% 25
{ dl % 25=
242
P lq
({>)MR2+1
v=d
{ dl ;
Y si {
3 es ptimo del problema (S3 ) con valor 3 > entonces el ptimo del problema
3 , pero con valor 3 + 25=
original (S1 ) es tambin {
Utilizando la funcin esfmin realizada previamente, resolvemos el problema
= (204.93> 193.52)>
(S3 ), obteniendo la ubicacin ptima de la antena en el punto {
con valor ptimo = 153.55. La figura 7.5 ilustra dicha ubicacin ptima.
7.2.1.
Se desea instalar una plataforma de salvamento martimo para atender posibles emergencias que se produzcan en 5 pequeas islas cuyas posiciones en cierto
sistema de coordenadas son (los datos corresponden a los centros de las islas que,
por simplicidad, se suponen circulares con el mismo radio):
243
Isla
L1
(36.9, 42.8)
L2
(37.6, 30.5)
L3
(87.8, 33.6)
L4
(76.7, 40.8)
L5
(57.5, 63.7)
7.3.
7.3.1.
244
MRq+1
MRq+1
n
X
(%l ())2 =
l=1
P lq
MRq+1
i () :=
1 0
0
2 T + f + g=
(7.7)
245
Dado que T = Ki () > para cualquier > es una matriz simtrica y definida
o semidefinida positiva, pues
} 0 T} = 2} 0 [ 0 [} = 2([})0 ([}) 0 ;} 5 Rq+1 >
se tiene que i es una funcin cuadrtica convexa.
Proposicin 7.3 Consideremos el problema de mnimos cuadrados (Spf ) introducido en (7.7). Se tiene que (Spf ) es resoluble y el conjunto de sus ptimos
globales est dado por
G = 5 Rq+1 | [ 0 [ [ 0 \ = 0 =
(Si [ 0 [ es inversible, es inmediato que (Spf ) tiene un nico ptimo global y
est dado por
= ([ 0 [)31 ([ 0 \ )=)
Demostracin. En primer lugar, ntese que, en virtud del Teorema de Frank y
Wolfe (teorema 3.7), (Spf ) es resoluble por tratarse de un problema acotado de
programacin cuadrtica (vase tambin la observacin 3.8). En efecto, (Spf )
es acotado pues
i () =
n
X
l=1
Adems, puesto que i es convexa, en virtud del teorema 2.1 se tiene que el
conjunto de ptimos globales de (Spf ) est dado por
= 5 Rq+1 | T + f = 0
= 5 Rq+1 | [ 0 [ [ 0 \ = 0 =
246
7.3.2.
107.5
13
67
19
102
11.9
72
23
112.4
6.8
33
15
104.2
51
13
46
84
2.3
59
11
27
110.7
23
46
16
22
113.8
10.1
31
24
25
75.7
2.1
45
54
94.1
9.9
43
15
42
77.9
25.5
61
73.2
7.8
69.9
11
81.9
9.8
33
63
Se desea ajustar un modelo lineal a estos datos, donde se exprese el calor generado N en funcin de las cantidades de los compuestos D, E, F y G. Esto es,
se desean determinar los parmetros 0 > 1 > ===> 4 del modelo lineal:
N = 0 + 1 D + 2 E + 3 F + 4 G>
que mejor se ajusta a los datos anteriores, en el sentido de los mnimos cuadrados.
Adems, se sabe que los parmetros del modelo verifican las restricciones:
1 + 2 + 3 4
21 2 = 0=
Planteamiento general. Manteniendo la notacin de la subseccin anterior, ahora suponemos adicionalmente que se conocen ciertas condiciones para
los parmetros 0 > 1 > = = = > q , que formalmente se traducen como un conjunto de restricciones lineales. De este modo, planteamos el problema de mnimos
247
(Spfu ) P lq
(%l ())2
l=1
v=d
D e>
(7.8)
Dht = eht =
siendo D y Dht matrices de rdenes p (q + 1) y s (q + 1)> respectivamente, y
n
X
l=1
7.3.3.
D e>
Dht = eht =
248
Recurdese que
3
1
E .
.
[=E
C .
1
{11
..
.
..
.
{1n
4
3
{q1
|1
F
E .
..
F > \ = E ..
.
D
C
{qn
|n
4
F
F=
D
function [sol,e]=minres(dep,indep,A,b,Aeq,beq)
x=indep;
[n,k]=size(x);
y=dep;
%funcin cuadrtica
x=x;
249
X=[ones(k,1),x]
Q=2*X*X;
%funcin lineal
c=-2*X*y;
[sol]=quadprog(Q,c,A,b,Aeq,beq);
e=y-X*sol;
Fin funcin minres
Resolucin de la ilustracin del problema de reacciones qumicas.
Seguidamente se muestra la ejecucin de la funcin minres con los datos de la
ilustracin presentada al comienzo de la subseccin anterior.
7.3.4.
250
Formalmente, se desea determinar los parmetros 0 > 1 > ===> 3 que proporcionan
el mejor ajuste del modelo
precio = 0 + 1 valterr + 2 valmejor + 3 valtot
a los datos que se indican a continuacin, mediante el mtodo de mnimos
cuadrados sujeto a la restriccin 3 = 21 =
Emplearemos la base de datos del SPSS contenida en el fichero Ventas de
casas [por barrio].sav. Concretamente, centraremos nuestra atencin en los datos
de los barrios A y B.
Indicacin (vase el ejercicio 6.2 para detalles sobre la creacin de una
base de datos extrados del SPSS). Para comenzar, hemos de crear las dos
bases de datos correspondientes a los barrios A y B; para ello, abrimos el fichero
Ventas de casas [por barrio].sav de la base de datos del SPSS. A travs de
las opciones Analizar$Estadsticos descriptivos$Frecuencias a la variable barrio, vemos que hay 7 barrios designados de la A a la G. Seguidamente mediante Datos$Seleccionar casos, seleccionamos las opciones Eliminar casos no
seleccionados y Si satisface la condicin y pulsamos Si...$ elegimos barrio, barrio=A$Continuar$Aceptar. Ahora de la ventana Vista de variables eliminamos la variable barrio, y guardamos la base de datos con el nombre de barrioA
y el tipo Excel 2.1(*.xls). Repetimos el mismo procedimiento para el barrioB,
de nuevo con la base de datos completa.
Una vez terminado este proceso en el que hemos creado las dos bases de
datos, desde MATLAB abrimos las bases de datos, File$Open, abrimos directamente el documento Excel que acabamos de crear. MATLAB nos muestra
Import Wizard, seleccionamos Create vector from each column using column
names, Finish. Primero trabajamos con una y calculamos su plano de regresin;
una vez hallado, y antes de abrir la otra base de datos eliminamos las variables
de Workspace, mediante Edit$Clear Workspace.
Solucin. Para hallar los parmetros del modelo barrioA tecleamos en MATLAB:
AA dep=precio;
AA indep=[valterr,valmejor,valtot];
251
AA [sol,e]=minres(dep,indep,[],[],[0,0,2,-1,0],0)
7.3.5.
(7.9)
47
46
48
P : 100 93 120
90
98
140
150
97
115
130
V:
50
58
65
79
67
80
65
75
S :
47.5 49.8 51.2 49.3 48.9 57.6 51.9 54.5 48.4 50.5
54
34
P:
95
105
110
97
104
145
125
132
92
104
V:
59
64
69
73
56
79
54
68
75
72
252
5 I>
n
P
m=1
(7.10)
5 I=
0 > 1 > 2 0=
(7.11)
253
Se tiene, e =0 (vase de nuevo la seccin 5.2 para detalles). El punto propuesto es x=[2.5606, 0.4625, 0.1917]> con valor del objetivo f=27.3360.
Seguidamente, hemos optado por introducir una nueva semilla, cercana a la
solucin propuesta anteriormente, en vez de aumentar el valor del parmetro
OPTIONS. MaxFunEvals. Ensayaremos con la semilla (2> 0.5> 0.1) = As ejecuta-
254
l ujl ({)
ui ({) +
l=1
0.0256,
"
7.4.
7.4.1.
255
Para ello se va a instalar una gra torre en dicho recinto con la que se elevarn
{ 5 U>
o equivalentemente
(S ) P lq g(d> {)
v=d
{ 5 U=
256
7.4.2.
Planteamiento general
{ 5 I>
257
7.4.3.
D{ e=
1 0
2 { T{
+ f0 { + g
D{ e>
(7.12)
considerando
T := 2Lq > f := 2d y g := kdk2 =
(Como en ocasiones anteriores, obviaremos la constante g de la funcin objetivo,
lo que no supone cambio alguno en el conjunto de ptimos del problema.)
Presentamos a continuacin la funcin dispol:
Inicio funcin dispol
%La funcin dispol resuelve el problema que minimiza la dis%tancia de un punto a un poliedro dado a travs del sistema
%de desigualdades lineales A*x?=b. Si el punto pertenece
%al poliedro, aparece un mensaje de aviso.
%La sintaxis es [sol,d]=dispol(punto,A,b), donde
%el primer argumento de entrada representa el punto considerado.
%Respecto a los argumentos de salida, sol es el punto
258
U := { 5 R2 | D{ e =
259
4
F
F
F
F
F=
F
F
D
Utilizando la funcin dispol con la sintaxis indicada anteriormente, se obtiene que el punto ptimo para colocar la gra es:
{
= (51.75> 101.94)=
La figura 7.9 ilustra grficamente la situacin.
7.4.4.
Ejercicios
Ejercicio 7.1 Se desea hallar la distancia del punto d = (3> 4) al poliedro dado
por
260
y
5
a
d(a
,
P)
4
3
2
PP(a)
P
0
0
Ejercicio 7.2 Se desea minimizar las distancias de los puntos dados a cada uno
de los correspondientes poliedros, mediante la funcin dispol:
(a) s1 = (4> 6> 7)>
(
)
{ 5 R3 | {1 + 3{2 + {3 12> {1 + 9{2 18> {1 0>
=
I1 =
{2 0> {3 0
(b) s2 = (2> 6> 5> 10)>
;
4
A
A
? { 5 R | {1 + {2 + 4{3 4> {1 + 2{4 7>
I2 =
{1 + {2 3{3 + 5{4 11> {1 0> {2 0>
A
A
=
{ 4> { 0
3
<
A
A
@
A
A
>
261
7.5.
7.5.1.
de llegada. Suponiendo que el coste del material (tubos, cables...) y las obras es
proporcional a la longitud de la zanja, calcular el vector ({> |) que minimiza el
coste de las obras.
262
7.5.2.
Planteamiento general
La situacin anterior se ajusta al problema de determinar la distancia eucldea entre dos poliedros de I1 Rq y I2 Rq = Como en la seccin anterior, los
poliedros sern representados como conjuntos de soluciones de sistemas lineales.
Concretamente,
I1 = { 5 Rq | D1 { e1 y I2 = { 5 Rq | D2 { e2 =
g({> |)
{ 5 I1 >
| 5 I2 >
D1 { e1 >
(7.13)
D2 | e2 =
El siguiente resultado resume las propiedades de (S2 ) =
Proposicin 7.5 Considrese el problema (S2 ) introducido en (7.13). Se tiene
que:
(i) (S2 ) es un problema cuadrtico convexo;
(ii) (S2 ) es resoluble si, y solo si, es consistente.
263
Demostracin. (i) Veamos que la funcin objetivo de (S2 ) > que denotaremos
por i> es convexa. Sea
i ({> |) := {0 { 2{0 | + | 0 |> ({> |) 5 R2q =
Se comprueba fcilmente que la matriz hessiana de i en ({> |) 5 R2q est dada
por
Ki ({> |) =
Lq
Lq
Lq
Lq
Veamos que, para cualquier ({> |) 5 R2q > Ki ({> |) es semidefinida positiva: en
1
efecto, para cualquier } = }} 2 5 R2q se tiene que
!
0
0
0
L
L
q
q
}0
} = } 1 } 1 2 } 1 } 2 + } 2 } 2 = g(} 1 > } 2 )2 0=
Lq
Lq
As pues, i es convexa.
(ii) Es consecuencia inmediata del teorema de Frank y Wolfe (teorema 3.7),
teniendo en cuenta que i ({> |) = g({> |)2 0 para todo ({> |) =
7.5.3.
1 0
} T}
2
D} e>
si consideramos
!
Lq
Lq
{
2q
5 R > T := 2
} :=
>
|
Lq
Lq
!
0pq
D1
e1
D :=
y e :=
>
0sq
D2
e2
donde D1 > D2 > e1 y e2 son las matrices y vectores que aparecen en el problema
(7.13).
A partir de estos ingredientes implementamos la funcin dis2pols que resuelve el problema de la mnima distancia entre dos poliedros mediante la resolucin del problema (S2 ) =
264
%La funcin dis2pols resuelve el problema de minimizar la dis%tancia entre dos poliedros F1 y F2.
%La sintaxis es [x1,x2,d]=dis2pols(A1,b1,A2,b2), donde el par
%(A1,b1) define al poliedro F1 formado por los puntos x que
%cumplen A1*x?=b1 y el par (A2,b2) define al poliedro F2 for%mado por los puntos x que cumplen A2*x?=b2.
%En cuanto a las salidas, x1 y x2 son, respectivamente, los pun%tos de los poliedros F1 y F2 que minimizan la distancia en%tre ambos, y d es la distancia mnima.
function [x1,x2,d]=dist2pols(A1,b1,A2,b2)
[m,n]=size(A1); [p,n]=size(A2);
A=[A1,zeros(m,n);zeros(p,n),A2]; b=[b1;b2];
Q=[eye(n),-eye(n);-eye(n),eye(n)];
[z,fval]=quadprog(Q,zeros(2*n,1),A,b);
x1=z(1:n); x2=z(n+1:2*n); d=sqrt(fval);
Fin funcin dis2pols
A continuacin, resolvemos el problema de la zanja planteado en la subseccin 7.5.1.
En primer lugar, representamos los recintos U y V como los conjuntos de
soluciones de sendos sistemas lineales dados por:
U = { 5 Rq | D1 { e1 y V = { 5 Rq | D2 | e2 =
3
4
E
8
1
F
E 5
E
F
1 F
E
E 2 15 F
F
E
E
F
F
D1 := E 0
F>
1 F > D2 := E
E
E
F
11 F
E 1 1 F
C 4
D
C
D
7
1
11 6
6
11
265
7.5.4.
Ejercicio 7.3 Se pretende construir un paso elevado que una las zonas D y E
representadas en la figura 7.13. Cada posible paso elevado puede ser representado
por un par ({> |) 5 R4 , donde { 5 D e | 5 E representan los puntos inicial y final
del trayecto respectivamente. Calclese el par ({> |) que define el paso elevado
de menor longitud.
Solucin. Utilizando la funcin dis2pols se obtiene que el par
((212.38> 212.49)> (312.12> 262.36))
define el paso elevado de menor longitud, siendo sta de 111.52 m.
266
7.6.
7.6.1.
267
7.6.2.
Planteamiento general
{1 + = = = + {q = p>
{1 > = = = > {q 0=
En general, E1 > = = = > Eq son variables aleatorias y, por tanto, E{ es tambin una
variable aleatoria resultante de una combinacin lineal de las anteriores.
268
q
X
{l H(El ) = f0 {=
l=1
Y du(E{ ) = {0 T{
v=d
{1 + = = = + {q = p>
{1 > = = = > {q 0=
269
f0 { P>
{1 + = = = + {q = p>
(7.14)
{1 > = = = > {q 0=
Por ltimo, queda pendiente la eleccin del valor P con el que se acota
el beneficio esperado. Con el objetivo de dar una respuesta a esta cuestin,
estudiaremos la resolubilidad del problema (SP ).
{1 + = = = + {q = p>
{1 > = = = > {q 0>
270
7.6.3.
K2
k11
..
.
k12
..
.
km1
..
.
km2
..
.
kn1
kn2
Kq
k1q
..
.
kmq
..
.
knq
klm k(l31)m
>
k(l31)m
m=1>===>q >
b
fm =
n
X
glm
l=2
tbuv =
n
X
(glu b
fu )(glv b
fv )
l=2
>
271
b
f0 { P>
(7.15)
{1 + = = = + {q = p>
{1 > = = = > {q 0=
Finalmente, elegimos una serie de valores para el parmetro P= En nuestro caso, hemos seleccionado un determinado nmero de puntos, P1 > ===> Pqs >
equiespaciados en el intervalo
Int: = [max {0> y(Smin )} > y(Smax )] >
donde y(Smin ) y y(Smax ) representan los valores ptimos de los problemas de
optimizacin lineal (Smin ) y (Smax ) siguientes:
(Smin ) P lq b
f0 {
v=d
{1 + = = = + {q = p>
(Smax ) P d{ b
f0 {
v=d
{1 + = = = + {q = p>
{1 > = = = > {q 0=
272
273
end
%beneficio
b=(c*x);
%grfico con np puntos
plot(b,r,r.-,LineWidth,1,MarkerSize,5)
xlabel(Beneficio esperado);ylabel(Riesgo);
title(Beneficio esperado vs Riesgo)
Fin funcin cartera
Resolucin de la ilustracin del problema de inversin en diferentes
empresas del IBEX 35. Para ello, obtenemos los datos referentes a cada una
de las empresas de la pgina www.bolsamadrid.es (vase la figura 7.14).
274
Figura 7.15: Pantalla que nos muestra los distintos formatos para guardar los
datos.
Una vez guardados todos los ficheros, se ha creado una base de datos (vase
el apndice A, para una descripcin detallada del procedimiento seguido para
crear la base de datos) en la que aparecen por columnas las diferentes variables
K1 > = = = > K10 . Concretamente, el l-simo valor de la variable Km que denotaremos
por klm representa el precio medio unitario (diario) de la accin de la empresa
m en el instante (da) l, donde se ha asignado l = 1 al da 02@01@09 e l = 73 al
da 16@04@09=
Ahora, desde MATLAB abrimos la base de datos creada File$Open, abrimos directamente el documento Excel. MATLAB nos muestra Import Wizard,
seleccionamos Create vector from each column using column names, Finish.
Por comodidad, creamos una matriz, H, con los valores histricos de las
variables de inters que denotamos por sant (Banco Santander), enag (Ena-
275
gas), ende (Endesa), ibe (Iberia), indi (Inditex), mapf (Mapfre), rep (Repsol), sacy (Sacyr Valle), t5 (Telecinco) y telf (Telefnica), e introducimos los
parmetros de entrada en la funcin cartera. Recordemos que p = 20000 (cantidad total a invertir) y hemos elegido qs =10 (esto es, asignaremos 10 valores
del parmetro P que figura en el problema (7.15)).
As pues, ejecutamos la funcin cartera con los siguientes datos:
AA H=[sant,enag,ende,ibe,indi,mapf,rep, sacy,t5,telf];
AA [x,b,r,Q,c,Int]=cartera(H,20000,10)
De esta operacin, en pantalla se nos muestra el intervalo, Int= [0> 53.7] >
en el que se tomarn los 10 valores del parmetro P de los beneficios esperados
b de varianzas-covarianzas se encuentra en la figura
equiespaciados. La matriz T
7.16 y el vector b
f de beneficios unitarios esperados en la figura 7.17.
276
Beneficio esperado
Riesgo
(en euros)
(en euros2 )
(0,0,0,0,5048.75,0,0,2665.29,0,12285.96)
112546.64
(0,0,0,0,5338.90,0,0,4303.93,0,10357.17)
5.96
130701.47
(0,0,0,0,5629.04,0,0,5942.58,0,8428.38)
11.93
153281.15
(0,0,0,0,5919.19,0,0,7581.23,0,6499.38)
17.90
180285.65
(0,0,0,0,6209.33,0,0,9219.87,0,4570.8)
23.87
211714.98
(0,0,0,0,6499.47,0,0,10858.52,0,2642.01)
29.84
247569.14
(0,0,0,0,6789.62,0,0,12497.17,0,713.22)
35.80
287848.14
277
Beneficio esperado
Riesgo
(en euros)
(en euros2 )
(0,0,0,0,524.34,0,0,14755.66,0,0)
41.77
333931.15
(0,0,0,0,2622.17,0,0,17377.83,0,0)
47.74
390909.04
0,0,0,0,0,0,0,20000,0,0)
53.71
459256.59
Puesto que el problema planteado no tiene solucin nica, en ltima instancia, quien ha de elegir una cartera de inversin es el propio inversor. Nuestra
labor, entonces, ha consistido precisamente en proporcionar el listado mencionado de 10 soluciones razonables (ptimas en algn sentido) y explicar con claridad
la diferencia que hay entre ellas. Como cabe esperar, a medida que mejora un
objetivo (a medida que aumenta el beneficio), empeora el otro (aumenta tambin
el riesgo), lo que puede apreciarse en la figura 7.18.
Figura 7.18: Grfico del beneficio frente al riesgo del ejercicio de la cartera.
278
7.7.
7.7.1.
El coste de transportar arena de un lugar a otro en un contenedor de dimensiones {> |> } es de 200 euros por cada viaje completo. Suponemos que el precio
del contenedor depende del material empleado en su elaboracin atendiendo a
las siguientes observaciones: suponemos que el precio del material de las paredes
superior e inferior (ambas de dimensiones {|) y de los laterales del contenedor
(ambos de dimensiones | }) son el triple y el doble, respectivamente, de las
50
{|} ):
50
=
{|}
10000
{|}
(7.16)
279
AA [x,f,e,o]=fmincon(conten,[1 2 2],[],[],[],[],
[0.5 0.5 0.5],[],restvol)
En este caso se obtiene
x=[1.4938
e=4,
0.7469
2.2407], f = 1.0025e+004,
o.firstorderopt: 7.2059e-005.
280
2.2407], f = 1.0025e+004,
o.firstorderopt:1.1307e-005.
0.7469
2.2407], f = 1.0025e+004,
o.firstorderopt: 7.8234e-005
l=1
"
281
Una cuestin de anlisis de sensibilidad del modelo. Cmo repercutira en el coste mnimo de transporte la relajacin de las restricciones acerca
del volumen del contenedor? Esto es, qu ocurrira si se permitiera un ligero
aumento del miembro derecho de {|} 5 y una ligera disminucin del miembro
derecho de {|} 2.5=
Para responder a esta cuestin, observamos los valores correspondientes de
los multiplicadores de KKT, que se encuentran en el quinto de los argumentos
de salida. As pues, hemos de ejecutar fmincon con la siguiente sintaxis (de
nuevo, vase la seccin 5.2 para detalles).
282
nulo, por lo que un ligero aumento del miembro derecho, no provocara cambio
en el valor ptimo (coste) del problema; por su parte, el multiplicador asociado
a {|} 2.5 es 6.6391 por lo que, en trminos informales, si relajamos
ligeramente esta restriccin quedando {|} 2.5 % para % suficientemente
pequeo, el objetivo mejorara (disminuira) en 6.6391%=
7.7.2.
Se desea construir una tubera para la canalizacin del cableado de determinado recinto. La tubera se construir uniendo tubos cilndricos (vase la figura
7.21), todos del mismo tamao. Se desea fabricar los tubos de manera que tengan el menor peso posible, sabiendo que el peso de un cm3 de tubo es de 0.45
gramos. En cuanto al tamao del tubo, existen algunas restricciones: la longitud,
o> ha de estar comprendida entre 10 m y 30 m> y el grosor del tubo (u2 u1 ) ha
de estar comprendido entre 0.5 cm y 1.5 cm. Adems, el dimetro exterior debe
estar entre 5 cm y 17 cm y el volumen interior del tubo no debe ser inferior a
0.022 m3 =
l
r
r
1000 o 3000>
0.5 u2 u1 1.5>
5 2u2 17>
ou12 22000>
u1 > u2 > o 0=
(7.17)
283
Resolucin con MATLAB. Se trata de un problema de PNL con restricciones, una de ellas no lineal que se define en el fichero volint.m (vase la
figura 7.22). La funcin objetivo, las restricciones lineales y las cotas (donde se
han evitado redundancias; por ejemplo, se ha introducido la cota o 1000 y
no o 0 que sera redundante) se han introducido directamente en la ventana
de comandos de MATLAB como se muestra en la figura 7.23. La asignacin de
variables es
x(1): = u1 > x(2): = u2 > x(3): = o=
Se ha tomado como semilla el punto [1,1,1]=
Como salidas obtenemos:
x=[2.6 3.1 1000], f=4094.5, e=1,0.firstorderopt: 9.7126e-011.
Aceptamos x como solucin (u1 = 2.6 cm> u2 = 3.1 cm> o = 10 m) puesto que
la regla de parada es satisfactoria: e=exitflag=1, lo que indica que se verifican
284
l ujl ({)
ui ({) +
l=1
"
7.8.
Los modelos que presentamos en esta seccin han sido extrados del trabajo
de Allueva et l. [1] (vanse tambin las referencias que se dan dentro del trabajo). Como se adelant en la subseccin 7.3.5, el proceso de engorde del ganado
vacuno se divide en dos fases: fase de iniciacin (hasta los 300 kg) y fase de
acabado. El objetivo de esta aplicacin es el de minimizar el coste del engorde
de un ternero en cada una de las fases mencionadas, suponiendo que ste depende del pienso empleado en su alimentacin y del coste diario correspondiente
al mantenimiento del animal. Concretamente, en los modelos se consideran tres
variables:
P : cantidad (en kg) de una mezcla de maz en grano con ensilado empleada
en una racin de pienso.
V : cantidad (en kg) de soja empleada en la racin de pienso.
285
El enunciado descrito en los prrafos anteriores se corresponde con el siguiente modelo de optimizacin ([1, pg. 125]):
(S ) P lq 16.15P + 34.67V + 94.86G
v=d
(7.18)
1.024G>
P> V> G 0=
Resolucin con MATLAB (vase la seccin 5.2 para detalles). La figura 7.24 muestra la definicin de las restricciones no lineales en un M-archivo
286
287
uj
({)
ui
({)
+
l
l
l=1
"
donde i representa la funcin objetivo y {jl ({) 0> l = 1> ===> p} el sistema de
restricciones del problema (7.18).
Apndice A
289
290
291
292
293
Por ltimo, guardamos la base de datos; es importante que este libro contenga solo la hoja de la base de datos, para evitar problemas de lectura (a la
hora de importar) desde el MATLAB.
Bibliografa
[1] Allueva, A., Snchez, M., Prez, A., La programacin geomtrica en la
economa de las producciones ganaderas, Trabajos de Investigacin Operativa, vol. 6, n.o 1, pp.117-130, 1991.
[2] Barbolla, R., Cerd, E., Sanz, P., Optimizacin matemtica: teora, ejemplos y contraejemplos, Espasa-Calpe, Madrid, 1991.
[3] Barbolla, R., Cerd, E., Sanz, P., Optimizacin: cuestiones, ejercicios y
aplicaciones a la economa, Pearson Educacin, Madrid, 2000.
[4] Bazaraa, M.S., Sherali, H.D., Shetty, C.M., Nonlinear Programming: Theory and Algorithms, John Wiley & Sons, NY, 1993.
[5] Bertsekas, D.P., Nonlinear programming, Belmont, Mass. Athena Scientific,
1995.
[6] Cobb, C.W., Douglas, P.H., A Theory of Production, American Economic
Review 18 (supplement): 139-165, 1928.
[7] Daz, A., Novo, V., Pern, J., Optimizacin. Casos Prcticos, Universidad
Nacional de Educacin a Distancia, Madrid, 2000.
[8] Farkas, GY., Theorie der einfachen Ungleichungen, J. Reine Angew. Math.,
124, pp.1-27, 1901.
[9] Fletcher, R., Practical Methods of Optimization, John Wiley & Sons, New
York, 1987 / 2nd. Edition.
[10] Frank, M., Wolfe, P., An algorithm for quadratic programming, Naval Research Logistics Quaterly, vol. 3, pp. 95-110, 1956.
[11] Goberna, M.A., Lpez, M.A., Linear Semi-Infinite Optimization, John Wiley and Sons, Chichester (UK), 1998.
[12] Goberna, M.A., Jornet, V., Puente, R., Optimizacin Lineal. Teora, mtodos y modelos. McGraw-Hill / Interamericama de Espaa, Madrid, 2004.
295
296
[13] Hillier, F., Lieberman, G., Introduction to Operations Research, McgrawHill, 2005.
[14] Kelley, J.L., General Topology, D. van Norstrand Company Ind., New York,
1955.
[15] Kuhn, H. W., Tucker, A. W., Nonlinear programming, Proc. 2nd Berkeley
Symposium on Mathematical Statistics and Probability, J. Neyman (Ed.),
University of California Press, Berkeley, Calif., 1951.
[16] Luenberger, D.G., Linear and nonlinear programming, Mass. AddisonWesley, 1984.
[17] Novo, V., Teora de la optimizacin, UNED, Madrid, 1999.
[18] Pelegrn, B., Cnovas, L., An improvement and an extension of the Elziga
& Hearns algorithm to the 1-center problem in Uq with o2e -norms, Top,
vol. 4, n.o 2, pp. 269-284, 1996.
[19] Perez, C., MATLAB y sus Aplicaciones en las Ciencias y la Ingeniera,
Prentice Hall, 2002.
[20] Peterson, D. W., A review of constraint qualifications in finite-dimensional
spaces, SIAM Review, vol. 15 n.o 3, 1973.
[21] Prawda, J., Mtodos y modelos de Investigacin de Operaciones (vol. I),
Limusa, Mxico, 1989.
[22] Prkopa A., On the development of optimization theory, American Mathematical Monthly, 87, pp.527-542, 1980.
[23] Rockafellar, R.T., Convex Analysis, Princeton University Press, NJ, 1970.
[24] Sylvester, J.J., A question in the geometry of situation, Quart. J. Pure
Appl. Math., 1, p. 79, 1857.
[25] Surez, A.S., Decisiones ptimas de Inversin y Financiacin en la Empresa, Madrid: Ediciones pirmide, 1998.
[26] Taha, H. A., Investigacin de Operaciones, Alfaomega, Mxico, 1991 (2.d
ed.).
[27] Venkataraman, P., Applied optimization with MATLAB programming,
John Wiley & Sons, 2009.
[28] Winston, W.L., Investigacin de Operaciones: Aplicaciones y Algoritmos,
Mxico: Thompson, 2005 (4.d ed.).
Smbolos y abreviaturas
E : bola unidad abierta para la norma kk
bd([) : frontera del conjunto [
no lineal
297
298
ndice alfabtico
abierto, 17
funcin cncava, 32
acotado, 18
funcin convexa, 27
funcin objetivo , 7
bola, 17
gradiente, 19
cerrado, 17
hiperplano, 24
clausura, 18
combinacin convexa, 26
imagen, 36
compacto, 18
interior, 18
condiciones de complementariedad,
61
matriz hessiana, 19
condiciones de KKT, 8, 61
multiplicadores de KKT, 69
condiciones de Lagrange, 57
norma, 15
conjunto convexo, 23
conjunto de ndices activos, 61
optimizacin, 8
conjunto de nivel, 31
optimizacin no lineal, 8
conjunto factible, 7, 58
ptimojlobal,36,88
ptimooofal, 36,88
8, 64
poliedro, 26
distancia, 16
entorno, 17
envoltura convexa, 26
58
espacio vectorial, 15
forma cuadrtica, 21
frontera, 18
funcin afn, 30
300
problemas equivalentes, 37, 60
programacin, 8
programacin convexa, 80
programacin cuadrtica, 83
programacin lineal, 7
programacin matemtica, 7
programacin no lineal, 7
punto crtico, 41
punto de KKT, 61
punto de Slater, 65
regresin lineal, 183
restricciones, 7
restricciones dbilmente activas, 70
restricciones fuertemente activas, 70
semiespacio abierto, 24
semiespacio cerrado, 24
supremo, 300
valor ptimo, 36, 58
variables de decisin, 7