You are on page 1of 302

Optimizacin matemtica aplicada.

Enunciados, ejercicios y aplicaciones del mundo real con MATLAB


Mara Josefa Cnovas, Vctor Huertas, Mara Sempere
Optimizacin matemtica aplicada.
Enunciados, ejercicios y aplicaciones del mundo real con MATLAB.
Mara Josefa Cnovas
Vctor Huertas
Mara Sempere
ISBN: 9788499485447
e-book v.1.0
ISBN edicin en Papel: 978-84-9948-243-9
Edita: Editorial Club Universitario. Telf.: 96 567 61 33
C/. Cottolengo, 25 San Vicente (Alicante)
www.ecu.fm
Maqueta y diseo: Gamma. Telf.: 965 67 19 87
C/. Cottolengo, 25 San Vicente (Alicante)
www.gamma.fm
gamma@gamma.fm
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 7
I Esquemas tericos y ejercicios 13
1. Preliminares 15
1.1. Topologa de R
a
. . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.2. Algunos preliminares de anlisis matemtico . . . . . . . . . . . . 19
1.3. Preliminares de lgebra lineal . . . . . . . . . . . . . . . . . . . . 21
1.4. Preliminares de anlisis convexo . . . . . . . . . . . . . . . . . . 23
2. Optimizacin sin restricciones 35
2.1. Deniciones y primeros ejemplos . . . . . . . . . . . . . . . . . . 35
2.2. Condiciones de optimalidad . . . . . . . . . . . . . . . . . . . . . 39
2.3. Ejercicios resueltos . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.4. Los casos convexo y cuadrtico . . . . . . . . . . . . . . . . . . . 52
3. Optimizacin con restricciones 57
3.1. Notacin y deniciones . . . . . . . . . . . . . . . . . . . . . . . . 58
3.2. Las condiciones de Karush, Kuhn y Tucker . . . . . . . . . . . . 61
3.2.1. Hiptesis de cualicacin de restricciones . . . . . . . . . 64
3.2.2. Condicin de optimalidad de primer orden . . . . . . . . . 66
3.3. Condiciones de optimalidad de segundo orden . . . . . . . . . . . 67
3.4. Interpretacin de los multiplicadores de KKT . . . . . . . . . . . 76
3.5. Optimalidad global . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3
4 Optimizacin matemtica aplicada
3.5.1. Aplicacin del Teorema de Weierstrass . . . . . . . . . . . 78
3.5.2. El caso convexo . . . . . . . . . . . . . . . . . . . . . . . . 80
3.5.3. El caso cuadrtico . . . . . . . . . . . . . . . . . . . . . . 83
3.6. Esquema de resultados y ejercicios resueltos . . . . . . . . . . . . 87
II Prcticas de optimizacin con MATLAB 103
4. Prcticas de optimizacin sin restricciones 105
4.1. Clculo matricial y grcos con MATLAB (prctica 1) . . . . . 106
4.1.1. Clculos directos y variables . . . . . . . . . . . . . . . . . 107
4.1.2. Vectores y matrices . . . . . . . . . . . . . . . . . . . . . . 110
4.1.3. Cmo pedir ayuda . . . . . . . . . . . . . . . . . . . . . . 113
4.1.4. Grcos en 2 y 3 dimensiones . . . . . . . . . . . . . . . . 118
4.1.5. Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . 122
4.2. Optimizacin sin restricciones con la herramienta de matemtica
simblica (prctica 2) . . . . . . . . . . . . . . . . . . . . . . . . 123
4.2.1. Optimizacin de funciones de una variable . . . . . . . . . 124
4.2.2. Optimizacin de funciones de varias variables . . . . . . . 128
4.2.3. Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . 132
4.3. Funciones bsicas de optimizacin sin restricciones (prctica 3) . 133
4.3.1. Optimizacin cuadrtica sin restricciones con ayuda de
quadprog . . . . . . . . . . . . . . . . . . . . . . . . . . 133
4.3.2. Optimizacin no lineal sin restricciones con ayuda de fmi-
nunc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
4.3.3. Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . 145
5. Prcticas de optimizacin con restricciones 147
5.1. Optimizacin lineal y cuadrtica con linprog y quadprog (prc-
tica 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
5.1.1. Sintaxis de la funcin linprog . . . . . . . . . . . . . . . 148
5.1.2. Sintaxis de la funcin quadprog . . . . . . . . . . . . . . 153
5.2. Optimizacin no lineal con fmincon (prctica 5) . . . . . . . . . 158
5.2.1. Denicin de las restricciones en un M-archivo . . . . . . 159
ndice general 5
5.2.2. Denicin de la funcin objetivo en un M-archivo . . . . . 161
5.2.3. Algunos parmetros y mensajes de parada . . . . . . . . . 161
5.2.4. Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . 168
III Aplicaciones 171
6. Aplicaciones de la Programacin Lineal 173
6.1. Introduccin: resultados bsicos de Programacin Lineal y primeros
ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
6.1.1. Un modelo bsico del consumidor . . . . . . . . . . . . . . 175
6.1.2. Resolubilidad con conjunto factible no acotado . . . . . . 178
6.1.3. Un problema de transporte . . . . . . . . . . . . . . . . . 181
6.2. Regresin lineal: Modelos MINMAD y MINMAXAD . . . . . . . 183
6.2.1. Planteamiento del modelo . . . . . . . . . . . . . . . . . . 183
6.2.2. Resolucin con MATLAB . . . . . . . . . . . . . . . . . . 191
6.2.3. Ejercicios resueltos . . . . . . . . . . . . . . . . . . . . . . 198
6.2.4. Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . 205
6.3. Aplicacin al clculo de la eciencia. . . . . . . . . . . . . . . . . 208
6.3.1. Resolucin con MATLAB . . . . . . . . . . . . . . . . . . 217
6.3.2. Ejercicios resueltos . . . . . . . . . . . . . . . . . . . . . . 219
6.3.3. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
7. Aplicaciones de la Programacin No Lineal 233
7.1. Localizacin de una antena WIFI . . . . . . . . . . . . . . . . . . 233
7.1.1. Resolucin con MATLAB . . . . . . . . . . . . . . . . . . 239
7.2. Ubicacin de una antena de telefona mvil . . . . . . . . . . . . 240
7.2.1. Ejercicio propuesto: Instalacin de una plataforma de sal-
vamento martimo . . . . . . . . . . . . . . . . . . . . . . 242
7.3. Ajuste por mnimos cuadrados . . . . . . . . . . . . . . . . . . . 243
7.3.1. Ajuste a modelos lineales sin restricciones . . . . . . . . . 243
7.3.2. Ajuste a modelos lineales con restricciones: un problema
de reacciones qumicas . . . . . . . . . . . . . . . . . . . . 246
7.3.3. Resolucin con MATLAB . . . . . . . . . . . . . . . . . . 247
6 Optimizacin matemtica aplicada
7.3.4. Ejercicio propuesto: Un modelo explicativo del precio de
la vivienda . . . . . . . . . . . . . . . . . . . . . . . . . . 249
7.3.5. Ajuste a modelos no lineales: Un modelo de produccin
basado en la funcin de produccin de Cobb-Douglas . . . 251
7.4. Distancia de un punto a un poliedro . . . . . . . . . . . . . . . . 254
7.4.1. Ilustracin: El problema de la gra . . . . . . . . . . . . . 254
7.4.2. Planteamiento general . . . . . . . . . . . . . . . . . . . . 256
7.4.3. Resolucin con MATLAB . . . . . . . . . . . . . . . . . . 257
7.4.4. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
7.5. Distancia entre dos poliedros . . . . . . . . . . . . . . . . . . . . 261
7.5.1. Ilustracin: Construccin de una zanja para conectar dos
recintos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
7.5.2. Planteamiento general . . . . . . . . . . . . . . . . . . . . 262
7.5.3. Resolucin con MATLAB . . . . . . . . . . . . . . . . . . 263
7.5.4. Ejercicio propuesto: Construccin de un paso elevado . . . 265
7.6. Problema de la cartera ptima . . . . . . . . . . . . . . . . . . . 266
7.6.1. Ilustracin: Un problema de inversin en diferentes em-
presas del IBEX35 . . . . . . . . . . . . . . . . . . . . . . 266
7.6.2. Planteamiento general . . . . . . . . . . . . . . . . . . . . 267
7.6.3. Resolucin con MATLAB . . . . . . . . . . . . . . . . . . 270
7.7. Dos modelos sencillos de diseo industrial . . . . . . . . . . . . . 278
7.7.1. Diseo de un contenedor para transportar arena . . . . . 278
7.7.2. Construccin de una tubera . . . . . . . . . . . . . . . . 282
7.8. Un problema de engorde del ganado vacuno . . . . . . . . . . . . 284
A. Creacin de una base de datos con Excel 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 MATLAB
1
) 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 con-
junto factible, denido 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 nita de va-
riables de decisin (cada una de ellas tomando valores en el conjunto de los
nmeros reales) y una cantidad nita 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 Pro-
gramacin Entera, Programacin Multiobjetivo, Programacin Semi-Innita e
Inta, etc. En lo que sigue emplearemos indistintamente los trminos progra-
1
MATLAB es marca registrada de The MathWorks, Inc.
(vase www.mathworks.com/trademarks)
7
8 Optimizacin matemtica aplicada
macin y optimizacin; as por ejemplo, PNL y optimizacin no lineal sern
empleados como sinnimos.
A efectos de la teora, por simplicidad en los resultados, el problema de
optimizacin siempre ser considerado en el formato de minimizar con res-
tricciones expresadas en trminos de desigualdades en el sentido de _. Ntese
que no es restrictivo adoptar siempre este formato, pues todo problema escrito
en trminos de maximizar es equivalente al de minimizar el opuesto de la fun-
cin objetivo original. Adems, obviamente toda restriccin del tipo _ puede
escribirse en el formato de _ sin ms que multiplicar ambos miembros de la
desigualdad por 1 y toda igualdad = puede expresarse en trminos de dos
desigualdades.
Breves notas histricas. Es bien sabido que el teorema de las condiciones
de Karush, Kuhn y Tucker (vase la seccin 3.2) constituye un pilar bsico en la
teora y los mtodos de la PNL, y que ste se verica bajo una amplia coleccin
de hiptesis, llamadas hiptesis de cualicacin de restricciones; de hecho, la
bsqueda de nuevas hiptesis de cualicacin de restricciones constituye actual-
mente una lnea activa de investigacin.
Conceptualmente, el antecedente directo a las condiciones de Karush, Kuhn
y Tucker (KKT por brevedad) lo encontramos en el llamado mtodo de los multi-
plicadores de Lagrange, publicado por este autor en 1788, en su libro Mcanique
Analytique. El mtodo de los multiplicadores de Lagrange se aplica a problemas
de optimizacin con restricciones de igualdad, mientras que las condiciones de
KKT se establecen para problemas de optimizacin con desigualdades. A pesar
de que, en primera instancia, puede parecer que el salto conceptual de problemas
con igualdades a problemas con desigualdades no es muy grande, la teora de
las condiciones de KKT no aparece hasta mediados del siglo XX. Seguidamente
se indican algunas fechas clave en el desarrollo de la PNL.
El caso de problemas de PNL con restricciones de desigualdad fue ya con-
siderado por Fourier en 1798, tambin en el contexto de la Mecnica Analtica,
aportando algunas ideas fundamentales acerca de condiciones necesarias de opti-
malidad para cierto problema de equilibrio mecnico. Estas condiciones, para di-
Introduccin 9
cho problema especco, fueron demostradas por Farkas en 1898
2
. 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 de-
sigualdad fue iniciado por Karush en 1939, y Kuhn y Tucker en 1951. Estos
autores obtuvieron de forma independiente las condiciones necesarias de op-
timalidad (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 cualicacin de restricciones. Un excelente trabajo de recopilacin
de casi una veintena de estas cualicaciones de restricciones y las relaciones
existentes entre ellas lo encontramos en Peterson [20]. Citaremos, por ejemplo,
las hiptesis de cualicacin de restricciones de Slater, Mangasarian, Cottle,
Mangasarian-Fromovitz, Kuhn-Tucker, Arrow-Hurwicz-Uzawa, Abadie y Guig-
nard.
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 con-
tenidos del libro est inspirada en la vertiente prctica de las asignaturas de Pro-
gramacin 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 ilustra-
dos con diferentes ejemplos y ejercicios resueltos. Los autores han prestado es-
pecial 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 determi-
nadas hiptesis de cualicacin de restricciones. Este libro incluye tres de estas
hiptesis, seleccionadas por criterios didcticos y de utilidad prctica. Tambin
2
Aunque la prueba de este resultado se encuentra en un trabajo de este autor publicado en
hngaro en 1898, la referencia ms extendida es Farkas [8].
10 Optimizacin matemtica aplicada
se enuncian las condiciones de optimalidad local de segundo orden, un teorema
sobre la interpretacin de los llamados multiplicadores de KKT y diferentes re-
sultados sobre la optimalidad global. Adems de los contenidos propios sobre
PNL, por motivos de completitud, la obra incorpora un captulo de preliminares
donde se recogen las herramientas bsicas necesarias provenientes del anlisis
matemtico, del lgebra lineal y del anlisis convexo.
La parte II presenta las instrucciones bsicas del manejo de MATLAB rela-
tivas a la resolucin de problemas de PL y PNL. Los contenidos de esta parte,
agrupados en dos captulos, estn pensados para ser impartidos en diferentes
sesiones de prcticas con ordenador (en un total de 5 sesiones como se indi-
ca en las secciones correspondientes) con una duracin total aproximada de 10
horas. Concretamente, esta parte presenta las instrucciones bsicas para la re-
presentacin grca de funciones en 2 y 3 dimensiones, el clculo diferencial y
resolucin de sistemas de ecuaciones en el formato de la matemtica simbli-
ca, y las funciones implementadas en MATLAB que resuelven problemas de
optimizacin con y sin restricciones.
En relacin con estas dos primeras partes, los autores han optado por incluir
los enunciados tericos de optimizacin clsica sin demostracin, y la descripcin
a nivel de usuario de las instrucciones bsicas de MATLAB, sin entrar en los
detalles tcnicos de los algoritmos empleados, con el n de dar cabida a la tercera
parte del libro.
La parte III recoge diferentes aplicaciones de la PL y la PNL expuestas con
detalle. La mayor parte de estas aplicaciones incluyen motivaciones y justi-
caciones tericas expuestas con rigor, as como un tratamiento sistemtico de
su resolucin con la correspondiente implementacin en el lenguaje de progra-
macin de MATLAB.
La conjuncin en esta obra de las tres partes que la componen la hacen,
hasta donde hemos podido comprobar, diferente de las diversas opciones que
encontramos en la literatura.
Finalidad y ubicacin de la obra en la literatura existente. En los
ltimos aos, paralelamente al desarrollo de los ordenadores, el estudio de la
optimizacin ha experimentado un notable auge. De hecho, esta materia se va
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 nalidad. 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 podi-
do 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 apli-
can 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 especcos 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 Optimizacin matemtica aplicada
Finalmente, comentamos que tambin existen manuales sobre MATLAB con
aplicaciones a diferentes campos, y que dedican algn captulo a la resolucin
de problemas de optimizacin. Citamos, por ejemplo, Prez [19].
El programa MATLAB en la enseanza de la PNL. Desde el pun-
to de vista didctico, MATLAB presenta diferentes virtudes: adems de incluir
una herramienta especica de optimizacin (optimization toolbox), permite re-
presentar las grcas y curvas de nivel de funciones de una o dos variables, lo
que ayuda a desarrollar la intuicin del alumno en relacin con los conceptos de
ptimo local y global. Adems, contiene herramientas de matemtica simblica
que permiten ilustrar los resultados tericos sobre condiciones de optimalidad
mediante la resolucin de ejercicios, tal y como se hara de forma analtica con
lpiz y papel. Adems, MATLAB permite desarrollar nuevos programas, por
ejemplo, para sistematizar la bsqueda de soluciones ptimas en determinadas
situaciones reales (tal y como se hace en la parte III del libro). Tambin, permite
implementar algoritmos de optimizacin, aunque ste no es uno de los objetivos
del libro. Finalmente, es destacable la presencia del MATLAB en el mbito uni-
versitario, puesto que presenta numerosas utilidades, no solo para matemticos,
sino tambin para ingenieros, qumicos, informticos, etc.
Agradecimientos. Los autores agradecen al profesor Jos Mara Amig, en
calidad de director del Departamento de Estadstica, Matemticas e Informtica
de la Universidad Miguel Hernndez de Elche, el apoyo prestado durante la
elaboracin de este libro, formalizado a travs del contrato de prcticas internas
de Mara Sempere bajo la tutela de Mara Josefa Cnovas. Por otro lado, los
autores maniestan su agradecimiento al profesor Juan Parra por su inestimable
ayuda en el proceso de revisin de la obra, tanto por su minuciosa correccin de
los contenidos matemticos como por sus comentarios y sugerencias sobre los
aspectos didcticos. Asimismo, los autores desean agradecer la supervisin y los
consejos del profesor Marco A. Lpez en relacin con el enfoque y la seleccin
de contenidos del libro. Finalmente, los autores agradecen a Pascual Bonmat
su ayuda y conanza depositadas en este proyecto.
Parte I
Esquemas tericos y ejercicios
Captulo 1
Preliminares
1.1. Topologa de R
:
En lo que sigue R
a
representa al producto cartesiano
(a)
z }| {
R R, siendo
R = ], +[ el conjunto de los nmeros de reales. Las diferentes coordenadas
de r R
a
, cuando sea : 1, se distinguirn mediante subndices; as escribire-
mos r = (r
i
)
i=1,...,a
. En general, los superndices se emplearn para distinguir
diferentes elementos de R
a
, as, por ejemplo, r
1
=

r
1
i

i=1,...,a
. Por defecto en-
tenderemos que cualquier vector r R
a
est expresado como vector columna y
r
0
representar su traspuesto; esto es, r
0
= (r
1
, r
2
, ..., r
a
). No obstante, cuando
r = (r
1
, ..., r
a
)
0
R
a
gure como argumento de una funcin ) : R
a
R, por
simplicidad, escribiremos ) (r
1
, ..., r
a
) para denotar a ) (r) = )

(r
1
, ..., r
a
)
0

.
Es bien sabido que R
a
es un espacio vectorial con las operaciones suma y
producto por escalar dadas por
r +j = (r
i
+j
i
)
i=1,...,a
, cr = (cr
i
)
i=1,...,a
, con r, j R
a
, c R.
Denicin 1.1 Una norma denida en R
a
es una aplicacin kk : R
a

[0, +[ que verica las propiedades:


(i) krk = 0 si, y solo si, r = 0;
(ii) kcrk = |c| krk , para todo c R y todo r R
a
;
(iii) kr +jk _ krk + kjk , para cualesquiera r, j R
a
.
15
16 Optimizacin matemtica aplicada
Denicin 1.2 Una distancia denida en R
a
es una aplicacin d : R
a
R
a

[0, +[ que verica las propiedades:


(i) d (r, j) = 0 si, y solo si, r = j;
(ii) d (r, j) = d (j, r) , para cualesquiera r, j R
a
.
(iii) d (r, .) _ d (r, j) +d (j, .) , para cualesquiera r, j, . R
a
.
Observacin 1.1 Cualquier norma en R
a
, kk , permite denir una distancia
dada por
d (r, j) = kr jk .
Ejemplo 1.1 (p-normas) Un caso particular de norma es la llamada j-norma,
kk
j
, para j ]1, +[ , denida por
krk
j
=

a
X
i=1
(r
i
)
j
!1
>
, r R
a
.
Un caso especialmente importante es el de la norma kk
2
, tambin llamada
norma eucldea. Es la norma usual de R
a
para medir distancias en lnea recta:
d
2
(r, j) = kr jk
2
=
2
v
u
u
t
a
X
i=1
(r
i
j
i
)
2
, para cualesquiera r, j R
a
.
El producto escalar usual entre dos vectores de R
a
guarda la siguiente relacin
con las normas eucldeas de ambos
1
:
r
0
j =
a
X
i=1
r
i
j
i
_ krk
2
kjk
2
(1.1)
Ejemplo 1.2 (Normas kk
1
y kk

) Otras normas de inters en casos prc-


ticos son las denidas de la siguiente forma
krk
1
:= |r
1
| + |r
2
| +... + |r
a
| y krk

:= max{|r
i
| : i = 1, 2, ..., :} , r R
a
,
donde max representa el mximo. Dichas normas inducen las correspondientes
distancias
d
1
(r, j) :=
a
X
i=1
|r
i
j
i
| y d

(r, j) := max {|r


i
j
i
| : i = 1, 2, ..., :} , r, j R
a
.
1
En general, |r
0
| krk
>
kk
q
(desigualdad de Hlder) siendo j, q 1 tales que 1j+1q =
1, siendo j = q = 2 un caso particular.
Captulo 1. Preliminares 17
En lo que sigue 0
a
denotar al vector de R
a
que tiene todas sus coordenadas
nulas.
Denicin 1.3 (Bolas) Dada una norma kk : R
a
[0, +[, y dados r R
a
y c 0, la bola abierta centrada en r y de radio c (asociada a la norma kk)
es el subconjunto de R
a
dado por
1(r, c) = {j R
a
| d (r, j) = kr jk < c} .
La bola unidad abierta 1(0
a
, 1) asociada a una norma genrica kk se re-
presentar simplemente por 1. La bola unidad abierta asociada la norma kk
1
(respectivamente, kk
2
y kk

) se representa por 1
1
(respectivamente 1
2
y 1

);
vase una ilustracin en la gura 1.1.
x
B

B
1
B
2
0n
1
Figura 1.1: Bolas asociadas a las normas kk
1
, kk
2
y kk

.
Denicin 1.4 (Entornos y abiertos) Dada una norma kk y dado r R
a
,
llamamos entorno de r a un subconjunto l R
a
tal que
1(r, c) l, para algn c 0.
Un abierto en R
a
ser un subconjunto R
a
que tiene la propiedad de ser
entorno de todos sus puntos. En otras palabras, R
a
es abierto si para
cualquier r existe c 0 tal que 1(r, c) .
Teorema 1.1 Todas las normas de R
a
denen la misma topologa (la misma
familia de abiertos).
Denicin 1.5 (Cerrado) Un subconjunto C R
a
es cerrado si su comple-
mentario, R
a
\C, es abierto.
18 Optimizacin matemtica aplicada
Denicin 1.6 (Punto interior y frontera) Dados r R
a
, A R
a
se dice
que:
(i) El punto r es interior a A si existe algn c 0 tal que 1(r, c) A;
(ii) El punto r est en la frontera de A si para cualquier c 0 se tiene que
1(r, c) A 6= y 1(r, c) (R
a
\A) 6= .
El conjunto de todos los puntos interiores a A se representa por int (A) y el de
los puntos de la frontera por bd(A) (del ingls, boundary). La clausura de un
conjunto A R
a
es la unin de su interior y su frontera:
cl (A) = int (A) ' bd(A) .
Denicin 1.7 (Acotado) Un subconjunto A R
a
se dice acotado si existe
alguna constante ' 0 tal que
A 1(0
a
, ') .
Denicin 1.8 Un subconjunto A R
a
es compacto
2
si es cerrado y acotado.
Denicin 1.9 (Funcin continua) Una funcin / : R
a
R
n
es continua
si para cualquier abierto R
n
se tiene que
/
1
() := {r R
a
| /(r) } es abierto.
La denicin anterior puede enunciarse tambin en trminos de conjuntos
cerrados: / : R
a
R
n
es continua si para cualquier cerrado C R
n
se tiene
que /
1
(C) es tambin cerrado.
Ejemplo 1.3 (Cerrados como solucin de sistemas) En la formulacin de
problema de PNL con restricciones se considerarn conjuntos descritos de la
siguiente manera
1 := {r R
a
| q
i
(r) _ 0, i = 1, 2, ..., :} ,
2
Por motivos didcticos, se introducen los compactos como los conjuntos cerrados y acota-
dos. Es bien sabido que la compacidad suele denirse en trminos ms generales, y la propiedad
de ser cerrado y acotado es una caracterizacin de la compacidad en R
n
. El hecho de ser una
caracterizacin nos permite adoptarla como denicin alternativa.
Captulo 1. Preliminares 19
donde, para todo i, q
i
: R
a
R es una funcin continua. Veamos que 1 es un
cerrado. Si consideramos la funcin
q = (q
1
, ..., q
n
) : R
a
R
n
,
ntese que otra forma de expresar 1 es como sigue:
1 := q
1
(], 0]
n
) = {r R
a
| q
i
(r) ], 0] , i = 1, ..., :} .
Puesto que ], 0]
n
R
n
es cerrado, tenemos que 1 es cerrado.
1.2. Algunos preliminares de anlisis matemtico
Dada una funcin ) : R
a
R, siendo abierto, y dado r , como es
habitual,
0)
0a
.
(r) y
0
2
)
0a
.
0a

(r) representan, respectivamente, la derivada parcial


de ) con respecto a r
i
en el punto r y la derivada parcial segunda de ) con
respecto a r
i
y r
)
en r. Recordemos que ) es de clase C
1
en , lo que se escribe
como ) C
1
() , si todas las derivadas parciales de ) son continuas en , y
) es de clase C
2
en , ) C
2
() , si todas las derivadas parciales segundas
son continuas en . Siguiendo con las derivadas parciales de orden superior, en
general, ) C
j
() representa el hecho de que existan las derivadas parciales de
orden j N de ) y sean continuas en . Para indicar que existen las derivadas
parciales de cualquier orden y son continuas en , se escribe ) C

() .
El vector gradiente de ) en r R
a
,
\) (r) =

0)
0r
i
(r)

i=1,...,a
ser expresado como vector columna. La matriz hessiana de ) en r R
a
, ser
denotada por H) (r) , esto es,
H) (r) =

0
2
)
0r
i
0r
)
(r)

i,)=1,...,a.
Las siguientes proposiciones enuncian resultados bien conocidos de anlisis de
varias variables.
Proposicin 1.1 (Simetra de la matriz hessiana) Sean ) : R
a
R,
y r , siendo abierto, y supongamos que ) C
2
() . Entonces H) (r) es
simtrica.
20 Optimizacin matemtica aplicada
Proposicin 1.2 (Propiedades de las funciones de clase C
j
) Sea j N'
{}. Se tienen las siguientes propiedades:
(i) (Suma y producto) Si q, / C
j
() , entonces q + / C
j
() y q/
C
j
() ;
(ii) (Cociente) Si q, / C
j
() , y {r R
a
| /(r) 6= 0} entonces
g
I

C
j
() ;
(iii) (Producto por escalar) Si q C
j
() , entonces cq C
j
() , siendo
c R;
(iv) (Composicin) Sean q = (q
1
, q
2
, ..., q
n
) : R
a
R
n
y / : R
n
R tales
que q
i
C
j
() para todo i = 1, ..., : N, y / es tambin de clase C
j
en algn
abierto \ vericando Imq \ R
n
; entonces / q C
j
() . Adems, si
) = / q : R
a
R y r , se tiene:
0)
0r
i
(r) =
n
X
)=1
0/
0j
)
(q (r))
0q
)
0r
i
(r) . (Regla de la cadena).
Ejemplo 1.4 Ejemplos de funciones de clase C
2
en R (de hecho de clase C

)
son:
(i) ) : R R dada por ) (r) = a
0
+ a
1
r + ... + a
I
r
I
, con a
0
, a
1
, ..., a
I
R
(funciones polinmicas);
(ii) ) : R R dada por ) (r) = senr (tambin ) (r) = cos r);
(iii) ) : R R dada por ) (r) = c
a
.
Ejemplo 1.5 Un ejemplo de funcin de clase C
2
en R\ {0} es ) : R R dada
por ) (r) =
3
_
r (y, de hecho cualquier raz de ndice impar).
Ejemplo 1.6 Ejemplos de funciones de clase C
2
en ]0, +[ son la funciones
logaritmo () (r) = log r) y raz cuadrada () (r) =
_
r).
Ejemplo 1.7 Las funciones dadas a travs de un cociente de polinomios, ) (r) =
o
0
+o
1
a+...+o
I
a
I
b
0
+b
1
a+...+b
I
a
I
con a
I
6= 0, /
I
6= 0, / N, son de clase C
2
sobre el abier-
to = R\

r R |/
0
+/
1
r +... +/
I
r
I
= 0

(ntese que es abierto, pues el


conjunto de races reales del denominador es nito, de hecho, a lo sumo tiene /
races).
Captulo 1. Preliminares 21
Ejemplo 1.8 A partir de los ejemplos anteriores, aplicando las propiedades
de clculo de las funciones de clase C
j
, puede comprobarse fcilmente que las
siguientes funciones son de clase C
2
(de hecho C

) en R
a
(: se precisa en cada
caso):
(i) ) : R
2
R, ) (r) = senr
1
senr
2
;
(ii) ) : R
a
R dada por ) (r) =
a
X
i,)=1
a
i)
r
i
r
)
, con a
i)
R para todo
i, , = 1, ..., :;
(iii) ) : R
2
R, ) (r) = r
4
2
c
a
3
1
+sena
1
sena
2
;
(iv) ) : R
2
R, ) (r) =
3
q
1 +r
2
1
+ 3 log

r
2
1
+r
2
2
+ 1

.
1.3. Preliminares de lgebra lineal
Como veremos a continuacin, un detalle clave en la vericacin de las condi-
ciones de optimalidad de segundo orden es la clasicacin de la matriz H) (r) ,
que en nuestro caso siempre ser simtrica (pues supondremos ) C
2
() , con
r R
a
, siendo abierto).
Denicin 1.10 (Clasicacin de matrices y formas cuadrticas) Sea
' = (:
i)
)
a
i,)=1
una matriz simtrica de orden : con :
i)
R para todo i, , =
1, ..., : y sea : R
a
R su forma cuadrtica asociada, esto es,
(r) = r
0
'r =
a
X
i=1
:
ii
r
2
i
+
X
i<)
2:
i)
r
i
r
)
, r R
a
.
Se dice que:
(i) ' (o ) es denida positiva si (r) = r
0
'r 0, para todo r R
a
\{0
a
};
(ii) ' (o ) es semidenida positiva si (r) = r
0
'r _ 0, para todo r R
a
,
existiendo algn j 6= 0
a
tal que (j) = 0;
(iii) ' (o ) es denida negativa si (r) = r
0
'r < 0, para todo r
R
a
\{0
a
};
(iv) ' (o ) es semidenida negativa si (r) = r
0
'r _ 0, para todo r R
a
,
existiendo algn j 6= 0
a
tal que (j) = 0;
(v) ' (o ) es indenida si existen r, j 6= 0
a
tales que (r) 0 y (j) < 0.
22 Optimizacin matemtica aplicada
Observacin 1.2 Ntese que los casos (iii) y (iv) no son excluyentes en el sen-
tido de que la matriz nula (con todos sus coecientes cero) es tanto semidenida
positiva como semidenida negativa.
La siguiente proposicin caracteriza cada una de las situaciones de la deni-
cin anterior en trminos de los valores propios de '. En este momento, recorde-
mos un resultado importante de lgebra lineal que establece que toda matriz
simtrica de orden : con coecientes en R es diagonalizable, esto es, existen una
matriz diagonal 1 una matriz invertible 1 tales que 1
1
'1 = 1; los elemen-
tos diagonales de la matriz 1 son los valores propios de '. En particular, si
' es simtrica, siempre existen : valores propios reales (con posibles repeti-
ciones). Recordemos tambin que los valores propios de ' coinciden con las
races del polinomio caracterstico j (`) := det (' `1) , donde 1 representa
a la matriz identidad de orden :, det (' `1) denota al determinante de la
matriz caracterstica ' `1, con ` R.
Proposicin 1.3 (Criterio de los valores propios) Sea ' una matriz sim-
trica de orden : con coecientes reales y sean `
1
, `
2
, ..., `
a
R sus valores
propios. Se tiene:
(i) ' es denida positiva si, y solo si, `
1
, `
2
, ..., `
a
0;
(ii) ' es semidenida positiva si, y solo si, `
1
, `
2
, ..., `
a
_ 0, y existe algn
`
i
= 0;
(iii) ' es denida negativa si, y solo si, `
1
, `
2
, ..., `
a
< 0;
(iv) ' es semidenida negativa si, y solo si, `
1
, `
2
, ..., `
a
_ 0, y existe algn
`
i
= 0;
(v) ' es indenida si existen `
i
0 y `
)
< 0.
Proposicin 1.4 (Menores y elementos diagonales) Sea ' = (:
i)
)
a
i,)=1
una matriz simtrica de orden : con coecientes reales y sean '
1
, '
2
, ..., '
a
los
menores dados por '
I
:= det

(:
i)
)
I
i,)=1

). Se tienen los siguientes enunciados:


(i) ' es denida positiva si, y solo si, '
1
, '
2
, ..., '
a
0;
(ii) ' es denida negativa si, y solo si, sign('
i
) = (1)
i
, donde sign(c)
representa el signo del nmero real c, esto es, sign(c) = 1 si c 0, sign(c) =
1 si c < 0 y sign(0) = 0;
Captulo 1. Preliminares 23
(iii) Si '
1
, '
2
, ..., '
a1
0 y '
a
= 0, entonces ' es semidenida positiva;
(iv) Si ' es denida positiva, entonces sus elementos diagonales :
ii
0
para todo i;
(v) Si ' es semidenida positiva, entonces sus elementos diagonales :
ii
_ 0
para todo i, y adems det (') = 0.
Observacin 1.3 Ntese que el criterio de los signos de los menores princi-
pales permite caracterizar los casos de matrices denidas positivas y denidas
negativas, sin embargo, en el caso de semidenida positiva solo se tiene una
condicin suciente. Por otra parte, destacamos las condiciones (iv) y (v) que
proporcionan condiciones necesarias (que no son sucientes) operativas desde el
punto de vista prctico.
El caso de matrices de orden 2 es especialmente simple, y con el valor del
determinante y de la traza (suma de los elementos de la diagonal principal)
pueden caracterizarse todas las situaciones como se especica en el siguiente
resultado.
Proposicin 1.5 (El caso de matrices 2 2) Sea ' simtrica de orden 2 y
sea tr (') su traza. Se tiene:
(i) ' es denida positiva si, y solo si, det (') 0 y tr (') 0;
(ii) ' es semidenida positiva si, y solo si, det (') = 0 y tr (') _ 0;
(iii) ' es denida negativa si, y solo si, det (') 0 y tr (') < 0;
(iv) ' es semidenida negativa si, y solo si, det (') = 0 y tr (') _ 0;
(v) ' es indenida si, y solo si, det (') < 0.
1.4. Preliminares de anlisis convexo
Denicin 1.11 Un subconjunto A R
a
es convexo si para cualesquiera pun-
tos r, j A y cualquier c [0, 1] se tiene que
cr + (1 c) j A.
Vase la gura 1.2 para una ilustracin de la denicin de conjunto convexo
y su negacin.
24 Optimizacin matemtica aplicada
y
x
x (1-)y
Convexo
x
No convexo
Figura 1.2: Ilustracin de un conjunto convexo y otro no convexo.
Ejercicio 1.1 (Hiperplanos y semiespacios) Demostrar los siguientes enun-
ciados:
(i) (Hiperplanos) Sea 0
a
6= a R
a
y / R. El hiperplano asociado,
H =

r R
a
| a
0
r = a
1
r
1
+a
2
r
2
+... +a
a
r
a
= /

,
es convexo.
(ii) (Semiespacios abiertos y cerrados) Sea 0
a
6= a R
a
y / R. Los
semiespacios abierto y cerrado asociados,
o
o
=

r R
a
| a
0
r = a
1
r
1
+a
2
r
2
+... +a
a
r
a
< /

,
o
c
=

r R
a
| a
0
r = a
1
r
1
+a
2
r
2
+... +a
a
r
a
_ /

,
son conjuntos convexos.
Solucin. (i) Sean r, j H, esto es, a
0
r = a
0
j = /; y sea c [0, 1] . Se
tiene:
a
0
(cr + (1 c) j) = ca
0
r + (1 c) a
0
j = c/ + (1 c) / = /,
luego cr+(1 c) j H (pues verica la ecuacin lineal que dene al hiperplano
H).
(ii) Veamos que o
o
es convexo. Sean r, j o
o
, esto es, a
0
r < / y a
0
j < /; y
sea c [0, 1] , en otras palabras c _ 0 y (1 c) _ 0 y al menos uno de ellos es
positivo. Entonces
a
0
(cr + (1 c) j) = ca
0
r + (1 c) a
0
j < c/ + (1 c) / = /,
Captulo 1. Preliminares 25
luego cr + (1 c) j o
o
. Ntese que se ha aplicado el hecho de que c _ 0 y
(1 c) _ 0 para conservar el sentido de la desigualdad _ y el que al menos uno
sea positivo para garantizar que al menos una de las desigualdades es estricta.
La prueba de que o
c
es convexo es anloga a la anterior (de hecho ms
sencilla) reemplazando < por _.
Ejercicio 1.2 Demostrar que el crculo, dado por
C =

r R
2
| r
2
1
+r
2
2
_ 1

,
es un conjunto convexo.
Solucin. Sean r, j C; esto es
r
2
1
+r
2
2
_ 1 e j
2
1
+j
2
2
_ 1.
Sea c [0, 1] . Veamos que
cr + (1 c) j = (cr
1
+ (1 c) j
1
, cr
2
+ (1 c) j
2
) C;
esto es, que
(cr
1
+ (1 c) j
1
)
2
+ (cr
2
+ (1 c) j
2
)
2
_ 1.
En efecto,
(cr
1
+ (1 c) j
1
)
2
+ (cr
2
+ (1 c) j
2
)
2
= c
2

r
2
1
+r
2
2

+ (1 c)
2

j
2
1
+j
2
2

+ 2c(1 c) (r
1
j
1
+r
2
j
2
)
_ c
2
+ (1 c)
2
+ 2c(1 c) (r
1
j
1
+r
2
j
2
)
_ c
2
+ (1 c)
2
+ 2c(1 c) krk
2
kjk
2
= c
2
+ (1 c)
2
+ 2c(1 c)
q
r
2
1
+r
2
2
q
j
2
1
+j
2
2
_ c
2
+ (1 c)
2
+ 2c(1 c) = (c + (1 c))
2
= 1,
donde la primera y la ltima de las desigualdades se obtienen como aplicacin
directa de la hiptesis y la segunda desigualdad viene de (1.1). As pues, cr +
(1 c) j C y por tanto C es convexo.
En lo que sigue emplearemos el smbolo := para denir elementos, conjuntos
y funciones; as pues, A := se lee A se dene como (o A es igual, por
denicin, a...).
26 Optimizacin matemtica aplicada
Proposicin 1.6 Sean A
1
, A
2
, ..., A
I
R
a
convexos. Entonces:
(i) A
1
A
2
... A
I
es convexo;
(ii) A
1
+ A
2
+ .. + A
I
:=
(
I
X
i=1
r
i
R
a
: r
i
A
i
, i = 1, ..., /
)
es convexo.
(denimos A
1
+A
2
+... +A
I
= si algn A
i
= ).
Ejemplo 1.9 (Poliedros) Las intersecciones de semiespacios e hiperplanos dan
lugar a conjuntos convexos llamados poliedros. En nuestro caso estaremos espe-
cialmente interesados en poliedros cerrados. Formalmente, sean a
)
R
a
, /
)
R,
, = 1, ..., , y consideremos el conjunto:
1 =

r R
a
| a
0
)
r _ /
)
, , = 1, ..., j, a
0
)
r = /
)
, , = j + 1, ...,

,
suponiendo j, N con 1 < j _ (si j = , solo tendremos inecuaciones). A
partir del ejemplo y la proposicin anterior se deduce inmediatamente que 1 es
convexo.
Denicin 1.12 (Envoltura convexa) Sean r
1
, ..., r
v
R
a
. Se dice que r
R
a
es una combinacin convexa de r
1
, ..., r
v
si existen escalares c
1
, .., c
v
tales
que
r =
v
X
i=1
c
i
r
i
, con
v
X
i=1
c
i
= 1 y c
1
, .., c
v
_ 0.
Dado un conjunto arbitrario A R
a
, llamamos envoltura convexa de A, deno-
tada por co: (A) , al conjunto de todas las combinaciones convexas (nitas) de
elementos de A; esto es,
co: (A) =
(
v
X
i=1
c
i
r
i
| r
i
A, c
i
_ 0, i = 1, ..., r,
v
X
i=1
c
i
= 1, r N
)
.
(co: () := ).
Proposicin 1.7 Sea A R
a
. La envoltura convexa de A es el menor
3
con-
vexo que contiene a A.
3
En el sentido de que con (A) es convexo y cualquier otro convexo Y A verica
Y con (A) .
Captulo 1. Preliminares 27
Denicin 1.13 Sea 6= C R
a
convexo y sea ) : C R. Se dice que ) es
convexa en C si para cualesquiera r, j C y cualquier c [0, 1] , se tiene:
) (cr + (1 c) j) _ c) (r) + (1 c) ) (j) .
En la gura 1.3 se ilustra la denicin de funcin convexa. En trminos infor-
males, la grca de una funcin convexa queda por debajo (pudiendo coincidir)
del segmento que une a los puntos (r, ) (r)) con (j, ) (j)) .
x y
x (1-)y
f(x (1-)y)
f(x) (1-) f(y)
Figura 1.3: Ilustracin de la denicin de funcin convexa.
Proposicin 1.8 (Convexidad bajo hiptesis de diferenciabilidad) Sea
6= R
a
un abierto convexo. Se tiene:
(i) Supongamos que ) C
1
() . Entonces ) es convexa en si, y solo si,
) (r) _ ) (r) +\) (r)
0
(r r) , para cualesquiera r, r ;
(ii) Supongamos que ) C
2
() . Entonces ) es convexa en si, y solo si,
para cualquier r ,
H) (r) es denida o semidenida positiva.
La segunda de las caracterizaciones anteriores ser utilizada frecuentemente
en ejercicios prcticos (bajo la hiptesis requerida). Se incluye la primera de las
caracterizaciones por motivos de completitud, adems de favorecer la intuicin:
28 Optimizacin matemtica aplicada
x
x
x x x f x f y
'
y
Figura 1.4: Ilustracin del apartado (i) de la proposicin 1.8.
vase la gura 1.4 donde se muestra que, para una funcin convexa, la aproxi-
macin de Taylor de primer orden (plano tangente) siempre queda por debajo
de la grca de la funcin.
Observacin 1.4 Cuando digamos simplemente que ) es convexa sin especi-
car sobre qu convexo, se entender que es convexa en todo el espacio R
a
.
En este caso el abierto de la proposicin anterior es el propio R
a
. Concre-
tamente, por ejemplo, en el apartado (ii) de la proposicin anterior quedara:
si ) C
2
(R
a
) , se tiene que ) es convexa si, y solo si, H) (r) es denida o
semidenida positiva para todo r R
a
.
Ejercicio 1.3 Analizar si cada una de las siguientes funciones es convexa en R
2
o no.
(i) ) (r) = r
2
1
+ 4r
2
2
;
(ii) ) (r) = r
1
r
2
;
(iii) ) (r) = cos r
1
cos r
2
;
(iv) ) (r) = log(r
2
1
+r
2
2
+ 1).
Solucin. (i) Se tiene que
\) (r) =

2r
1
8r
2

, y H) (r) =

2 0
0 8
!
, r R
2
.
Ntese que, en este ejemplo, H) (r) es constante con respecto a r, siendo denida
positiva.
Captulo 1. Preliminares 29
(ii) Para ) (r) = r
1
r
2
se tiene:
H) (r) =

0 1
1 0
!
, r R
2
,
que es indenida (vase por ejemplo la proposicin 1.5).
(iii) Para ) (r) = cos r
1
cos r
2
se tiene, para todo r R
2
,
\) (r) =

senr
1
cos r
2
cos r
1
senr
2

, y H) (r) =

cos r
1
cos r
2
senr
1
senr
2
senr
1
senr
2
cos r
1
cos r
2
!
.
Si evaluamos la matriz hessiana en r =

0
0

, obtenemos
H) (r) =

1 0
0 1
!
,
que es denida negativa, luego ) no es convexa;
(iv) Para ) (r) = log(r
2
1
+r
2
2
+ 1) se tiene:
\) (r) =

2a
1
a
2
1
+a
2
2
+1
2a
2
a
2
1
+a
2
2
+1

y
H) (r) =
_
_
_
2
a
2
1
+a
2
2
+1

4a
2
1
(a
2
1
+a
2
2
+1)
2
4a
1
a
2
(a
2
1
+a
2
2
+1)
2
4a
1
a
2
(a
2
1
+a
2
2
+1)
2
2
a
2
1
+a
2
2
+1

4a
2
2
(a
2
1
+a
2
2
+1)
2
_
_
_
.
En situaciones como sta, las condiciones (iv) y (v) de la proposicin 1.4 pueden
proporcionar una forma rpida de comprobar que ) no es convexa: se trata de
encontrar un punto jo en el que algn elemento diagonal sea negativo; en este
caso, no es necesario evaluar el resto de la matriz. Por ejemplo, si consideramos
r =

2
0

, el elemento a
11
de H) (r) toma el valor
a
11
=
2
4 + 1
4
4
(4 + 1)
2
=
6
25
< 0,
luego H) (r) no es denida ni semidenida positiva, y por tanto, ) no es convexa.
En ocasiones, las siguientes propiedades pueden resultar de utilidad a la hora
de comprobar la convexidad de determinadas funciones.
30 Optimizacin matemtica aplicada
Proposicin 1.9 (Propiedades) Sea 6= R
a
un abierto convexo. Se
tiene:
(i) Si ), q : R son convexas en , entonces ) +q es convexa en ;
(ii) Si ) : R es convexa en y c _ 0, entonces c) es convexa en ;
(iii) Si ) : R es convexa en , Im) 6= y c : Im)R es convexa y
creciente
4
, entonces c ) es convexa en ;
(iv) Si ) : R es de la forma ) (r) = a
0
r+/, con a R
a
, / R (funcin
afn) y c : Im)R es convexa, entonces c ) es convexa en .
Ejercicio 1.4 Analizar si las siguientes funciones son convexas.
(i) ) : R
3
R, dada por ) (r) = c
a
2
1
+4a
4
2
+5a
6
3
;
(ii) ) : R
3
R, dada por ) (r) = (r
1
+ 3r
2
4r
3
+ 1)
2
;
(iii) ) : R
3
R, ) (r) =
p
r
2
1
+r
2
2
+r
2
3
;
(iv) ) : R
3
R, ) (r) = |r
1
r
2
+ 4r
3
| .
Solucin. (i) Podemos expresar ) de la forma ) = c q donde q : R
3
R
y c : R R vienen dadas por
q (r) := r
2
1
+ 4r
4
2
+ 5r
6
3
y c(t) = c
t
.
Es fcil comprobar que q es convexa, pues
Hq (r) =
_
_
_
_
2 0 0
0 48r
2
2
0
0 0 150r
4
3
_
_
_
_
,
que es denida o semidenida positiva para todo r (ntese que al ser diagonal,
los elementos diagonales son los valores propios; vase la proposicin 1.3).
Por otro lado, c es creciente y convexa en R, pues
c
0
(t) = c
00
(t) = c
t
0 para todo t R.
Aplicando entonces la proposicin 1.9 (iii) se tiene que ) = c q es convexa.
(ii) Como consecuencia inmediata de la proposicin 1.9(iv) se tiene que ) es
convexa.
4
Obviamente si c est denida sobre algn conjunto convexo que contiene a Im), el resul-
tado es igualmente vlido.
Captulo 1. Preliminares 31
(iii) Consideremos ) : R
3
R, con ) (r) =
p
r
2
1
+r
2
2
+r
2
3
. Ntese que si ex-
presamos ) como composicin ) = cq donde q (r) := r
2
1
+r
2
2
+r
2
3
y c(t) :=
_
t,
no se verican las hiptesis de la proposicin 1.9 (iii) (c C
2
(]0, +[) , con
c
00
(t) =
1
4

t
3
< 0), luego, en principio, no podemos concluir que ) es convexa.
Buscaremos otro argumento: podemos observar que ) (r) = krk
2
. Veamos di-
rectamente aplicando la denicin que ) es convexa. Dados r, j R
3
y dado
c [0, 1] se tiene:
) (cr + (1 c) j) = kcr + (1 c) jk
2
_ kcrk
2
+ k(1 c) j
2
k
2
= |c| krk
2
+ |1 c| kjk
2
= c) (r) + (1 c) ) (j) ,
donde se han aplicado las propiedades que denen una norma y el hecho de que
c y 1 c son no negativos; por lo tanto ) es convexa.
(iv) Consideremos ) (r) = |r
1
r
2
+ 4r
3
| y expresemos ) = c q con
q (r) := r
1
r
2
+ 4r
3
y c(t) = |t| . La convexidad de ) se deriva entonces
de la proposicin 1.9 (iv). Basta comprobar que c es convexa, lo cual se obtiene
por un razonamiento anlogo al del apartado anterior: si t, : R, c [0, 1] ,
c(ct + (1 c) :) = |ct + (1 c) :| _ |ct| + |(1 c) :|
= c|t| + (1 c) |:| = cc(t) + (1 c) c(:) .
El estudio de la convexidad de funciones en ocasiones puede ser de utili-
dad para analizar la convexidad de determinados conjuntos, en concreto de los
conjuntos de nivel inferior de una funcin convexa.
Ejercicio 1.5 Sea 6= C R
a
convexo y sea ) : C R convexa. Demostrar
que el conjunto de nivel inferior `, dado por

A
= {r C : ) (r) _ `} ,
es convexo.
Solucin. Situmonos en el caso no trivial en el que
A
6= . Sean r, j
A
y sea c [0, 1] , veamos que cr + (1 c) j
A
. En efecto:
) (cr + (1 c) j) _ c) (r) + (1 c) ) (j) _ c` + (1 c) ` = `,
lo que prueba cr + (1 c) j
A
.
32 Optimizacin matemtica aplicada
Ejercicio 1.6 Demostrar que los siguientes conjuntos son convexos:
(i) C =

r R
3
| r
2
1
+ 4r
2
2
+ 4r
4
3
_ 1, r
1
r
3
_ 0

;
(ii) C =

r R
3
| |r
1
+ 4r
2
+ 4r
3
| _ 1, c
a
1
+4a
2
_ 0

.
Solucin. (i) C =

r R
3
| r
2
1
+ 4r
2
2
+ 4r
4
3
_ 1

r R
3
| r
1
r
3
_ 0

.
Veamos que cada uno por separado son conjuntos convexos. Respecto del primero,
es un nivel inferior de la funcin )
1
(r) = r
2
1
+ 4r
2
2
+ 4r
4
3
, que se comprueba f-
cilmente que es convexa, pues
H)
1
(r) =
_
_
_
_
2 0 0
0 8 0
0 0 48r
2
3
_
_
_
_
es denida o semidenida positiva para todo r R
3
. Por su parte, el segundo, es
un nivel inferior de la funcin )
2
(r) = r
1
r
3
que es convexa, de hecho H)
2
(r)
es la matriz nula. As pues, C es convexo.
(ii) Como en el apartado anterior, basta ver que las funciones q
1
(r) =
|r
1
+ 4r
2
+ 4r
3
| y q
2
(r) = c
a
1
+4a
2
son convexas, lo cual se deduce inmedia-
tamente de la proposicin 1.9 (iii) y (iv).
Ejercicio 1.7 Encontrar un ejemplo que muestre que
A
puede ser convexo,
aunque ) no sea convexa.
Solucin. Considrese la funcin ) : ]0, +[ R, ) (t) = log (t) . Se tiene
que

A
= {t ]0, +[ | log (t) _ `}
=
n
t ]0, +[ | t = c
log(t)
_ c
A
o
=
i
0, c
A
i
,
que es convexo, y ) no es convexa.
Observacin 1.5 (Funciones cncavas) Puede hacerse un desarrollo parale-
lo para funciones cncavas. Si 6= C R
a
convexo, una funcin ) : C R
es cncava si ) es convexa. Para funciones de clase C
2
en un abierto convexo
Captulo 1. Preliminares 33
se tiene que: ) es cncava si, y solo si, H) (r) es denida o semidenida
negativa para todo r . Los conjuntos de nivel superior
o
A
:= {r C : ) (r) _ `}
son convexos, si ) : C R es cncava. En estos prelimiminares hemos presta-
do especial atencin a las funciones convexas pues juegan un papel destaca-
do en el estudio de problemas de optimizacin en el formato de minimizar y
donde las restricciones estn expresadas mediante desigualdades en el sentido
_. Anlogamente, la concavidad sera una propiedad destacada si el formato
fuese de maximizar con restricciones de _.
Captulo 2
Optimizacin sin restricciones
A lo largo de este captulo consideramos un problema de optimizacin sin
restricciones, que denotamos por (1), consistente en minimizar una determina-
da funcin objetivo ) denida en R
a
y con valores en R; formalmente (1) se
representa de la siguiente manera:
(1) 'i: ) (r) .
La seccin 2.1 introduce la notacin y deniciones bsicas relativas al problema
(1) , y precisa qu entendemos por resolver (1) . En la seccin 2.2 presentare-
mos un resumen de resultados tericos bsicos (condiciones de optimalidad) que
pueden resultar de utilidad en la tarea de resolver (1) . Apoyndonos en los
resultados tericos, resolveremos diferentes ejemplos de forma exacta. En esta
seccin, adems, los problemas convexos y los problemas cuadrticos ocupan un
lugar destacado debido a sus buenas propiedades en relacin con la optimalidad.
2.1. Deniciones y primeros ejemplos
Consideremos el problema de PNL sin restricciones dado por:
(1) 'i: )(r), (2.1)
donde r R
a
representa a la variable de decisin y ) : R
a
R es la fun-
cin objetivo de (1) . A medida que se vayan requiriendo, iremos incorporando
35
36 Optimizacin matemtica aplicada
ciertas hiptesis de diferenciabilidad a ). Seguidamente presentamos diferentes
elementos destacados asociados al problema (1) .
Denicin 2.1 Dado el problema (2.1) de PNL sin restricciones, se denen los
siguientes elementos:
(i) El valor ptimo de (1) , denotado por , est dado por:
:= inf {) (r) : r R
a
} ;
(ii) Un punto r R
a
es ptimo local de (1) si existe un entorno de r,
l R
a
, tal que
) (r) _ ) (r) para todo r l;
(iii) Un punto r R
a
es ptimo global de (1) si
) (r) _ ) (r) para todo r R
a
;
en otras palabras, si el valor ptimo se alcanza en r (i.e., = ) (r)).
En lo que sigue, por resolver (1) entenderemos determinar estos elementos
destacados: su valor ptimo, el conjunto de ptimos locales y ptimos globales.
Atendiendo a estos elementos haremos la siguiente clasicacin.
Denicin 2.2 Consideremos el problema de PNL sin restricciones (2.1).
(i) Se dice que (1) es acotado si su valor ptimo es nito ( ), esto
es, si ) est acotada inferiormente;
(ii) Se dice que (1) es resoluble si existe algn ptimo global.
La siguiente proposicin puede resultar de utilidad a la hora de simplicar
determinados problemas de optimizacin.
Proposicin 2.1 Sea (1) el problema (2.1) y sea

e
1

el nuevo problema de
optimizacin dado por

e
1

'i: c() (r)) ,


donde c : R es una funcin estrictamente creciente en , siendo un
subconjunto de nmeros reales que contiene a Im), la imagen de ). Se tienen
las siguientes equivalencias:
Captulo 2. Optimizacin sin restricciones 37
(i) r R
a
es ptimo local de (1) si, y solo si, r es ptimo local de

e
1

;
(ii) r R
a
es ptimo global de (1) si, y solo si, r es ptimo global de

e
1

.
En lo que sigue diremos que dos problemas de PNL sin restricciones son
equivalentes si, como en el caso de la proposicin anterior, ambos problemas
tienen los mismos conjuntos de ptimos locales y ptimos globales (aunque no
el mismo valor ptimo)
1
. Veamos algunos ejemplos de problemas equivalentes:
Ejemplo 2.1 (Problemas equivalentes) Veamos que los siguientes proble-
mas son equivalentes:
(1
1
) 'i:
q
1 +r
2
1
+ 4r
4
2
, (1
2
) 'i: 1 +r
2
1
+ 4r
4
2
, (1
3
) 'i:

1 +r
2
1
+ 4r
4
2

2
,
(1
4
) 'i: log

1 +r
2
1
+ 4r
4
2

, (1
5
) 'i: 2
1+a
2
1
+4a
4
2
.
En concreto, veamos que todos son equivalente a (1
2
) . Denotemos por )
i
a
la funcin objetivo de (1
i
) , i = 1, 2, ..., 5. Ntese que
Im)
2
= [1, +[ .
Veamos que las funciones objetivo del resto de problemas resultan de componer
)
2
con alguna funcin estrictamente creciente. En efecto,
)
1
= c
1
)
2
, con c
1
: R
+
R dada por c
1
(t) =
_
t.
Obsrvese que c
1
es estrictamente creciente en R
+
Im)
2
. Por su parte,
)
3
= c
3
)
2
,
donde podemos considerar c
3
: R
+
R denida por c
3
(t) = t
2
y de este modo
c
3
es estrictamente creciente en R
+
Im)
2
. Respecto del problema (1
4
) se
tiene:
)
4
= c
4
)
2
, con c
4
: ]0, +[ R dada por c
4
(t) = log t,
que tambin es estrictamente creciente en ]0, +[ . Finalmente,
)
5
= c
5
)
2
, con c
5
: R R dada por c
5
(t) = 2
t
,
siendo c
5
estrictamente creciente en R.
1
En este sentido el problema de maximizar ) (r) equivale al de minimizar ) (r) ; por lo
que desarrollaremos la teora en trminos de minimizar.
38 Optimizacin matemtica aplicada
Los siguientes ejemplos muestran diferentes situaciones que pueden ocurrir
en el contexto de la PNL sin restricciones. Por simplicidad, estos ejemplos estn
planteados en R. En lo que sigue N y Z representan, respectivamente, al conjunto
de nmeros naturales {1, 2, ...} y al de los enteros.
Ejemplo 2.2 (Un problema no acotado) Consideremos el problema, en R,
(1) 'i: r
3
,
esto es, ) (r) = r
3
, r R. Si consideramos, por ejemplo, la sucesin {r}
vN
,
se tiene:
lm
v
) (r) = lm
v
r
3
= .
Por tanto, el conjunto de imgenes {) (r) : r R} no est acotado inferiormente,
lo que equivale a = .
Ejemplo 2.3 (Un problema acotado, pero no resoluble) Consideremos el
problema, en R,
(1) 'i: c
a
.
As, en este caso, el conjunto de imgenes {) (r) : r R} = {c
a
: r R} est
acotado inferiormente por cero; de hecho, c
a
0 para todo r R. Adems
= 0, puesto que si consideramos la sucesin {r}
vN
se tiene que
lm
v
) (r) = lm
v
c
v
= 0.
En resumen, el conjunto {c
a
: r R} est acotado inferiormente por 0 y existe
alguna sucesin contenida en el conjunto con lmite 0. Entonces,
= inf {c
a
: r R} = 0.
En consecuencia, (1) es acotado. Sin embargo, no es resoluble, pues no existe
ningn r Rtal que c
a
= 0 (no se alcanza el nmo).
Ejemplo 2.4 (Un problema con un nico ptimo global) Consideremos el
problema, en R,
(1) 'i: r
2
.
Captulo 2. Optimizacin sin restricciones 39
El conjunto de imgenes {) (r) : r R} =

r
2
: r R

es acotado inferior-
mente por 0, y adems, ) (0) = 0, luego = 0 y r = 0 es un ptimo global de
(1) . La unicidad es inmediata, pues r
2
= 0 si, y solo si, r = 0.
Ejemplo 2.5 (Un problema con innitos ptimos globales) Considere-
mos el problema, en R,
(1) 'i: :c: r.
El conjunto de imgenes {) (r) : r R} = {:c: r : r R} es acotado infe-
riormente por 1, y adems )

3
2
+ 2/

= 1 para todo / Z. Por tanto,


= 1 y, para cualquier / Z,
3
2
+ 2/ es un ptimo global de (1) .
Ejemplo 2.6 (Dos problemas con ptimos locales que no son globales)
Consideremos los problemas, en R,
(1
1
) 'i: r :c: r; (1
2
) 'i:
a
a
2
+1
:c: r.
Volveremos sobre estos problemas ms adelante, cuando hayamos introducido las
condiciones de optimalidad; en este momento, observemos que el valor ptimo
de (1
1
) , denotado por
1
, es , dado que si consideramos, por ejemplo, la
sucesin

3
2
+ 2r

vN
, se tiene que
lm
v

3
2
+ 2r

:c:

3
2
+ 2r

= lm
v

3
2
2r

= .
Luego (1
1
) es no acotado. Por su parte, (1
2
) es resoluble, lo que puede intuirse
en la gura 2.1. Ms adelante veremos que (1
1
) y (1
2
) tienen innitos ptimos
locales.
2.2. Condiciones de optimalidad
Consideremos de nuevo el problema de PNL sin restricciones:
(1) 'i: )(r),
siendo ) : R
a
R. En realidad los resultados de esta seccin son vlidos para
funciones denidas en un abierto R
a
.
40 Optimizacin matemtica aplicada
-50 -40 -30 -20 -10 0 10 20 30 40 50
-50
0
50
-30 -20 -10 0 10 20 30
-0.4
-0.2
0
0.2
0.4
0.6
Funcin objetivo de (P2)
Funcin objetivo de (P1)
Figura 2.1: Ilustracin de dos problemas con innitos ptimos locales.
Captulo 2. Optimizacin sin restricciones 41
A continuacin, se enuncian las condiciones de optimalidad relativas a un
punto dado r R
a
. Por motivos didcticos, la condicin de primer orden (que
involucra derivadas parciales) se enuncia bajo la hiptesis ) C
1
() y las de
segundo orden (que involucran a las derivadas parciales de segundo orden) bajo
la hiptesis ) C
2
() , siendo un abierto que contiene a r (estos resultados
pueden obtenerse bajo hiptesis ms dbiles como puede consultarse en el texto
de Bazaraa et l. [4]).
Proposicin 2.2 (Condicin necesaria de optimalidad de primer orden)
Sea r R
a
, con abierto, y supongamos que ) C
1
() . Si r es un p-
timo local de (1) , entonces
\) (r) = 0
a
.
Un punto r R
a
que verica la condicin \) (r) = 0
a
se llama punto
crtico.
Proposicin 2.3 (Condiciones de optimalidad de segundo orden) Sea
r R
a
, con abierto, y supongamos que ) C
2
() . Se tiene:
(i) (Condicin necesaria) Si r R
a
es un ptimo local de (1) , entonces
(adems de vericar \) (r) = 0
a
) se tiene que H) (r) es denida positiva o
semidenida positiva.
(ii) (Condicin suciente) Si \) (r) = 0
a
y H) (r) es denida positiva,
entonces r es un ptimo local de (1) .
Esquema de casos posibles
\) (r) 6= 0
a
= r no ptimo local
\) (r) = 0
a
, H) (r) DP = r ptimo local
\) (r) = 0
a
, H) (r) SDP = ?
\) (r) = 0
a
, H) (r) 6= 0
aa
no DP ni SDP = r no ptimo local
En el esquema, y de aqu en adelante, 0
aa
representa a la matriz cuadrada
de orden : con todos sus coecientes nulos. Por otro lado, DP y SDP representan
las abreviaturas de denida positiva y semidenida positiva.
42 Optimizacin matemtica aplicada
2.3. Ejercicios resueltos
En lo que sigue C, L y G representarn, respectivamente los conjuntos de
puntos crticos, ptimos locales y ptimos globales de nuestro problema (1) . C,
L y G son tres subjuntos de R
a
que verican las relaciones:
G L,
lo cual es inmediato a partir de las correspondientes deniciones de ptimo local
y ptimo global; adems, si la funcin objetivo de (1) , ), es de clase C
1
en
algn abierto que contenga a L, entonces
L C.
Seguidamente presentamos diferentes ejercicios acadmicos con el n de aanzar
y adquirir destreza en el manejo de las condiciones de optimalidad resumidas en
el esquema anterior.
Ejercicio 2.1 Resolver el siguiente problema de PNL sin restricciones, esto
es, determinar los conjuntos de ptimos locales y ptimos globales, y su valor
ptimo:
(1) 'i: senr
1
senr
2
.
Solucin. En primer lugar determinamos el conjunto de puntos crticos.
Para ello hemos de resolver el sistema
\) (r) =

cos r
1
senr
2
senr
1
cos r
2

0
0

.
De la primera ecuacin se deduce:
cos r
1
= 0 ( =r
1
=

2
+/, / Z) senr
2
= 0 ( =r
2
= :, : Z).
Analicemos los dos casos por separado:
Caso 1: r
1
=

2
+/, / Z. Sustituyendo este valor en la segunda ecuacin,
se deduce (1) cos r
2
= 0. Luego cos r
2
= 0, lo que implica que r
2
=

2
+r, r
Z.
Caso 2: r
2
= :, : Z. Sustituyendo en la segunda ecuacin obtenemos
() senr
1
= 0, luego r
1
= t, t Z.
Captulo 2. Optimizacin sin restricciones 43
En resumen el conjunto de puntos crticos es:
C =

2
+/

2
+r

: /, r Z

'

:
t

: :, t Z

.
Estudiemos ahora la matriz hessiana evaluada en cada uno de estos puntos. Se
tiene:
H) (r) =

senr
1
senr
2
cos r
1
cos r
2
cos r
1
cos r
2
senr
1
senr
2
!
.
Evaluemos H) (r) en cada uno de los casos:
H) (r) =
_

1 0
0 1
!
; si r =
r
2
+I
r
2
+v

y / y r tienen la misma paridad,

1 0
0 1
!
; si r =
r
2
+I
r
2
+v

y / y r tienen distinta paridad,

0 1
1 0
!
; si r =

c
t

y : y t tienen la misma paridad,

0 1
1 0
!
; si r =

c
t

y : y t tienen distinta paridad.


Aplicando la proposicin 1.5 clasicamos la matriz H) (r) , obteniendo que en
el primer caso esta matriz es denida negativa, en el segundo es denida positiva
y en los dos ltimos indenida. Por tanto, el conjunto de ptimos locales est
dado por
L =

2
+/

2
+r

: /, r Z tienen distinta paridad

,
(ntese que el resto de casos no cumplen la condicin necesaria de segundo
orden). Veamos, adems que todos los ptimos locales son globales en este caso.
En efecto, sean /, r Z con distinta paridad y consideremos r =
r
2
+I
r
2
+v

. Se
tiene:
) (r) = sen

2
+/

sen

2
+r

= 1 _ senr
1
senr
2
, para todo

r
1
r
2

R
2
,
donde la ltima desigualdad se deduce del hecho de que, para cualquier

a
1
a
2

R
2
, |senr
1
senr
2
| = |senr
1
| |senr
2
| _ 1, y por tanto
1 _ senr
1
senr
2
_ 1.
44 Optimizacin matemtica aplicada
En consecuencia
G = L y el valor del problema es = 1.
Ejercicio 2.2 Resolver el siguiente problema de PNL sin restricciones:
(1) 'i: r
1
cos r
2
.
Solucin. Consideremos ahora la funcin objetivo ) (r) = r
1
cos r
2
. Deter-
minemos el conjunto de puntos crticos de (1):
\) (r) =

cos r
2
r
1
senr
2

0
0

cos r
2
= 0,
r
1
senr
2
= 0.
De la primera ecuacin se obtiene: r
2
=

2
+/, / Z. Sustituyendo este valor
en la segunda ecuacin, se tiene r
1
(1) = 0. Luego el conjunto de puntos
crticos es:
C =

0

2
+/

: / Z

.
Analicemos las condiciones de segundo orden. Para cualquier r R
2
,
H) (r) =

0 senr
2
senr
2
r
1
cos r
2
!
.
Sea / Z y r =

0
r
2
+I

; se tiene:
H) (r) =
_

0 1
1 0
!
, si / es par;

0 1
1 0
!
, si / es impar.
En cualquier caso H) (r) es indenida (vase la proposicin 1.5) y, por tanto,
ninguno de los puntos crticos es ptimo local. As pues, (1) no tiene ptimos
locales y por tanto no tiene ptimos globales. El problema, de hecho, es no
acotado dado que
lm
a
)

= lm
a
:(1) = .
En otras palabras:
L = G = y = .
Captulo 2. Optimizacin sin restricciones 45
Ejercicio 2.3 Resolver el siguiente problema de PNL sin restricciones:
(1) 'i: r
2
1
cos r
2
.
Solucin. Determinemos el conjunto de puntos crticos de (1):
\) (r) =

2r
1
cos r
2
r
2
1
senr
2

0
0

2r
1
cos r
2
= 0,
r
2
1
senr
2
= 0.
De la primera ecuacin se obtiene:
(
Caso 1: r
1
= 0;
Caso 2: cos r
2
= 0 =r
2
=

2
+/, / Z.
En el caso 1, sustituyendo el valor r
1
= 0 en la segunda ecuacin, sta se satisface
independientemente de los valores de r
2
(pues se obtiene 0 = 0). En el caso 2,
sustituyendo r
2
=

2
+/, / Z, en la segunda ecuacin se tiene r
2
1
(1) = 0,
luego r
1
= 0. En denitiva, el conjunto de puntos crticos es
C =
n

0
a
2

: r
2
R
o
.
Por otro lado H) (r) =

2 cos r
2
2r
1
senr
2
2r
1
senr
2
r
2
1
cos r
2
!
y evaluada en r =

0
a
2

, con r
2
R, se tiene:
H) (r) =

2 cos r
2
0
0 0
!
.
A partir de la condicin necesaria de segundo podemos asegurar que el conjunto:
n

0
a
2

: cos r
2
< 0
o
no contiene ningn ptimo local. Por otra parte, todos los puntos del conjunto
n

0
a
2

: cos r
2
_ 0
o
verican la condicin necesaria de optimalidad pero no la suciente, luego por
el momento no puede asegurarse si son o no ptimos locales (vase el esquema
resumen tras la proposicin 2.3). Analizaremos si son ptimos o no directamente
por la denicin. Distinguiremos dos casos:
46 Optimizacin matemtica aplicada
Caso 1: r =

0
a
2

con cos r
2
0. Ntese que de la continuidad de la fun-
cin coseno, sabemos que cos r
2
0 para r
2
sucientemente prximo a r
2
(se
conserva el signo en un entorno de r
2
), pongamos que
cos r
2
0, si |r
2
r
2
| < -, para cierto - 0.
Entonces
) (r) = r
2
1
cos r
2
_ 0, si |r
2
r
2
| < -.
Puesto que
) (r) = 0 cos r
2
= 0,
si consideramos como entorno de r el subconjunto l = R]r
2
-, r
2
+-[ , se
tiene:
) (r) = 0 _ ) (r) , para todo r l,
en conclusin, en este caso, r es un ptimo local de (1) .
Caso 2: r =

0
a
2

con cos r
2
= 0, esto es, r
2
=

2
+/, / Z. Veamos que r
no es ptimo local. Distnguimos dos casos:
Caso 2.a: / par. En este caso, obsrvese que, para todo :,
cos

r
2
+
1
:

= cos

2
+/ +
1
:

< 0
Entonces, si consideramos la sucesin {r
a
}
aN
R
2
dada por
r
a
:=

1
a

2
+/ +
1
a

, : N,
se tiene:
lm
a
r
a
= r y ) (r
a
) =

1
:

2
cos

2
+/ +
1
:

< 0 = ) (r) , : N.
En estas condiciones r no puede ser ptimo local de (1) .
Caso 2.b: / impar, en cuyo caso, cos

r
2

1
a

= cos

2
+/
1
a

< 0 para
todo :. Entonces, dada {r
a
}
aN
R
2
denida por
r
a
:=

1
a

2
+/
1
a

, : N,
Captulo 2. Optimizacin sin restricciones 47
se tiene:
lm
a
r
a
= r y ) (r
a
) < 0 = ) (r) , : N.
Por tanto, r no es ptimo local de (1) .
En resumen, el conjunto de ptimos locales coincide con
L =
n

0
a
2

: cos r
2
0
o
.
Ninguno de los ptimos locales es global, pues de hecho el problema no es aco-
tado. En efecto, si consideramos la sucesin {r
a
}
aN
R
2
denida por
r
a
:=

, : N,
se tiene:
lm
a
) (r
a
) = lm
a
:
2
cos = lm
a

:
2

= .
As,
= y G = .
Observacin 2.1 El ejercicio anterior maneja en armativo y en negativo la
denicin de ptimo local. La tcnica empleada en dicho ejercicio es estndar:
para probar que r es ptimo local, ha de encontrarse un entorno l de r (o al
menos asegurar su existencia) tal que
) (r) _ ) (r) , para todo r l.
En caso de que r 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 {r
a
}
aN
R
2
tal que
lm
a
r
a
= r y ) (r
a
) < ) (r) , para todo :.
Ejercicio 2.4 Resolver el problema de PNL sin restricciones
(1) 'i:

r
2
1
+r
2
2

c
a
2
1
+a
2
2
.
48 Optimizacin matemtica aplicada
Solucin. Se tiene que
\) (r) =

2r
1
c
a
2
1
+a
2
2
+

r
2
1
+r
2
2

2r
1
c
a
2
1
+a
2
2
2r
2
c
a
2
1
+a
2
2
+

r
2
1
+r
2
2

2r
2
c
a
2
1
+a
2
2

= 2

1 +r
2
1
+r
2
2

c
a
2
1
+a
2
2

r
1
r
2

.
As, puesto que 2

1 +r
2
1
+r
2
2

c
a
2
1
+a
2
2
6= 0 para todo r,
\) (r) =

0
0

=
(
r
1
= 0,
r
2
= 0.
En otras palabras
C =

0
0

.
Ntese que en este caso, un camino ms directo que el de analizar las condiciones
de segundo orden es simplemente comprobar que r =

0
0

es un ptimo global.
En efecto,
) (r) = 0 _

r
2
1
+r
2
2

c
a
2
1
+a
2
2
para cualesquiera r
1
, r
2
.
As, en este caso, dado que r =

0
0

es el nico candidato a ptimo local y global


(recurdese que G L C), se tiene:
C = L = G =

0
0

y = 0.
Ejercicio 2.5 Resolver el problema de PNL sin restricciones
(1) 'i: (r
1
+r
2
) c
a
1
+a
2
.
Solucin. Se tiene que
\) (r) =

c
a
1
+a
2
+ (r
1
+r
2
) c
a
1
+a
2
c
a
1
+a
2
+ (r
1
+r
2
) c
a
1
+a
2

= c
a
1
+a
2
(1 +r
1
+r
2
)

1
1

.
Luego el conjunto de puntos crticos coincide con
C =

r R
2
| 1 +r
1
+r
2
= 0

.
Analicemos las condiciones de segundo orden:
H) (r) =

c
a
1
+a
2
(1 +r
1
+r
2
) +c
a
1
+a
2
c
a
1
+a
2
(1 +r
1
+r
2
) +c
a
1
+a
2
c
a
1
+a
2
(1 +r
1
+r
2
) +c
a
1
+a
2
c
a
1
+a
2
(1 +r
1
+r
2
) +c
a
1
+a
2
!
= (2 +r
1
+r
2
) c
a
1
+a
2

1 1
1 1
!
.
Captulo 2. Optimizacin sin restricciones 49
Si r C, esto es, 1 +r
1
+r
2
= 0, se tiene:
H) (r) = c
1

1 1
1 1
!
,
que es una matriz semidenida positiva, luego se cumple la condicin necesaria
de segundo orden pero no la suciente. Luego, hemos de acudir directamente a
las deniciones para averiguar si cada uno de los puntos crticos es ptimo local.
Consideremos r C; por un lado
) (r) = c
1
,
y por otro, veamos que
) (r) _ c
1
para r sucientemente prximo a r.
Sea r R
a
, y sea c := r
1
+r
2
(r
1
+r
2
) . Se tiene que
) (r) = (r
1
+r
2
) c
a
1
+a
2
= (r
1
+r
2
+c) c
a
1
+a
2
+c
= (1 +c) c
1+c
. (2.2)
Veamos que
(1 +c) c
1+c
) (r) = c
1
.
De hecho, veamos que la funcin / : R R, /(c) := (1 +c) c
1+c
tiene un
mnimo global en c = 0. Calculemos las derivadas primera y segunda
\/(c) = /
0
(c) = c
1+c
+ (1 +c) c
1+c
= c
1+c
c.
H/(c) = /
00
(c) = c
1+c
c +c
1+c
= c
1+c
(1 +c) .
As, el nico punto crtico de / es c = 0 y, adems, H/(0) = c
1
0, luego,
sabemos que c = 0 es un mnimo local de /. Por ser / una funcin de R en R,
para ver que c = 0 es mnimo global, basta jarse en las zonas de crecimiento
y decrecimiento de / :
/
0
(c) < 0 si c < 0, y /
0
(c) 0 si c 0,
luego / es decreciente en ], 0[ y creciente en ]0, +[ . Por tanto, c = 0 es
un mnimo global de /, lo que signica que
(1 +c) c
1+c
) (r) = c
1
, para todo c. (2.3)
50 Optimizacin matemtica aplicada
A partir de (2.2) y (2.3), si jamos arbitrariamente r R
2
, y denotamos por
c := r
1
+r
2
(r
1
+r
2
) se tiene:
) (r) = (1 +c) c
1+c
c
1
= ) (r) ,
lo que prueba que r es un ptimo global de (1) . En consecuencia, todos los
puntos crticos son ptimo globales, esto es,
G = L = C =

r R
2
| 1 +r
1
+r
2
= 0

.
Ejercicio 2.6 (Revisitado) Demostrar que el siguiente problema tiene inni-
tos ptimos locales:
(1) 'i: rsenr.
Solucin. Sea ) (r) = rsenr. Se tiene:
)
0
(r) = senr +rcos r = 0.
En este caso, no podemos despejar explcitamente r de la ecuacin anterior,
pero s podemos garantizar la existencia de innitas soluciones de la ecuacin a
partir del Teorema de Bolzano. En concreto consideremos, para cada / Z, el
intervalo

2
+/,

2
+ (/ + 1)

y ntese que
)
0

2
+/

)
0

2
+ (/ + 1)

= sen

2
+/

sen

2
+ (/ + 1)

= 1,
pues / y / + 1 tienen distinta paridad. As, )
0
cambia de signo en los extremos
del intervalo

2
+/,

2
+ (/ + 1)

y, entonces, el Teorema de Bolzano asegura


la existencia de
r
I

2
+/,

2
+ (/ + 1)
h
tal que )
0

r
I

= 0, para todo / Z.
Por otro lado,
)
00
(r) = cos r + cos r +r(senr) = 2 cos r rsenr,
luego
)
00

r
I

= 2 cos r
I
r
I
senr
I
= 2 cos r
I
+

r
I

2
cos r
I
,
Captulo 2. Optimizacin sin restricciones 51
donde se ha aplicado el hecho de que )
0

r
I

= senr
I
+r
I
cos r
I
= 0. As pues,
)
00

r
I

= cos r
I

2 +

r
I

0
si / es impar. Luego, para todo / Z impar, r
I
es un ptimo local, esto es,
n
r
I
: / Z impar
o
L.
Luego existen innitos 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 innitos ptimos lo-
cales:
(1) 'i:
r
r
2
+ 1
senr.
Solucin. Se tiene:
)
0
(r) =
r
2
+ 1 2r
2
(r
2
+ 1)
2
senr +
r
r
2
+ 1
cos r =
1
r
2
+ 1

1 r
2
r
2
+ 1
senr +rcos r

.
Para cada / N impar se tiene:
)
0
(/) =
/ cos (/)
(/)
2
+ 1
=
/
(/)
2
+ 1
< 0,
)
0
((/ + 1) ) =
(/ + 1) cos ((/ + 1) )
((/ + 1) )
2
+ 1
=
(/ + 1)
((/ + 1) )
2
+ 1
0.
Esto es, cuando / es impar, para algn - 0, ) es decreciente en el intervalo
]/, / +-[ y creciente en ](/ + 1) -, (/ + 1) [ . En esta situacin ha de exis-
tir un mnimo local de ) en el intervalo ]/, (/ + 1) [ , para cada / impar, lo
que prueba que existen innitos ptimos locales.
52 Optimizacin matemtica aplicada
2.4. Los casos convexo y cuadrtico
En esta seccin se analizan dos casos particulares de problemas de PNL sin
restricciones: problemas con funcin objetivo convexa y problemas con funcin
objetivo cuadrtica. El primer caso tiene inters fundamentalmente por el buen
comportamiento de estos problemas con respecto a la optimalidad global, y el
segundo, por su simplicidad en el clculo.
Teorema 2.1 (Problemas convexos) Sea r R
a
, consideremos el problema
(1) 'i: ) (r)
con ) : R
a
R convexa. Se tiene:
(i) Si r es un ptimo local de (1) , entonces r es un ptimo global de (1) ;
(ii) Supongamos que ) C
1
(R
a
) . Si \) (r) = 0
a
, entonces r es un ptimo
global de (1) .
Ejercicio 2.8 Resolver el problema (1) 'i: c
(a
1
1)
2
+(a
2
3)
2
.
Solucin. se tiene:
\) (r) = c
(a
1
1)
2
+(a
2
3)
2

2 (r
1
1)
2 (r
2
3)

0
0

=r
1
= 1, r
2
= 3.
As, r =

1
3

es el nico punto crtico de (1) . Puede comprobarse fcilmente


que ) es convexa a partir de la proposicin 1.9(iii). Para ello, basta expresar
) = cq con c(t) = c
t
que es convexa y creciente y q (r) = (r
1
1)
2
+(r
2
3)
2
que es convexa.
Finalmente, como aplicacin del apartado (ii) del teorema anterior se deduce
que r =

1
3

es el nico ptimo local, siendo de hecho ptimo global.


Ejercicio 2.9 Demostrar que el problema (1) 'i: r
2
1
+r
2
2
+c
a
1
+a
2
es resoluble
(existe algn ptimo global).
Solucin. Se tiene que
\) (r) =

2r
1
+c
a
1
+a
2
2r
2
+c
a
1
+a
2

0
0

=2r
1
= 2r
2
= c
a
1
+a
2
.
Captulo 2. Optimizacin sin restricciones 53
Dado que ha de ser r
1
= r
2
, nuestro problema se traduce en encontrar una
solucin de la ecuacin:
2r
1
+c
2a
1
= 0.
Sin embargo, en esta ecuacin no nos es posible despejar explcitamente r
1
.
As pues, probaremos la existencia de solucin sin llegar a determinarla explci-
tamente. En efecto, sea /(r
1
) = 2r
1
+ c
2a
1
. Ntese que /(0) = c
0
= 1, y
/(1) = 2 +
1
c
2
< 0. En virtud del teorema de Bolzano, podemos asegurar la
existencia de r
1
]1, 0[ tal que
/(r
1
) = 2r
1
+c
2a
1
= 0.
Entonces
\) (r) = 0, siendo r =

r
1
r
1

]1, 0[ ]1, 0[ .
Adems, r es el nico punto crtico, pues r
1
es la nica raz de la ecuacin
/(r
1
) = 0. En efecto, /
0
(r
1
) = 2 + 2c
2a
1
0 para todo r
1
R, y por tanto
/ es estrictamente creciente en R, por lo que no puede anularse en ms de un
punto. Por otro lado, se comprueba fcilmente que ) es convexa pues es suma de
convexas () = q +/ con q (r) = r
2
1
+r
2
2
y /(r) = c
a
1
+a
2
), vase la proposicin
1.9. As pues, r es el nico ptimo global de (1).
Teorema 2.2 (Problemas cuadrticos) Consideremos el problema
(1) 'i: ) (r)
con ) : R
a
R cuadrtica expresada de la forma
) (r) :=
1
2
r
0
Qr +c
0
r +/,
siendo Q una matriz simtrica de orden :, c R
a
, / R. Pueden presentarse
los siguiente casos:
(i) Si el sistema \) (r) = Qr+c = 0
a
es compatible y Q (= H) (r) para todo
r) es denida o semidenida positiva, entonces, (1) es resoluble y adems los
conjuntos de puntos crticos, de ptimos locales y de ptimos globales coinciden,
esto es,
C = L = G ={r R
a
| Qr +c = 0
a
} .
54 Optimizacin matemtica aplicada
(ii) Si el sistema \) (r) = Qr + c = 0
a
es compatible y Q, supuesta no
nula, es denida o semidenida negativa, el problema (1) es no acotado, esto
es, = . (El conjunto de puntos crticos coincide con el de mximos locales
y mximos globales).
(iii) Si el sistema \) (r) = Qr + c = 0
a
es compatible y Q es indenida,
el problema (1) es no acotado. En este caso, los puntos crticos son puntos de
silla;
(iv) Si el sistema \) (r) = Qr +c = 0
a
es incompatible (no existen puntos
crticos), entonces (1) es no acotado.
Observacin 2.3 Ntese que, como consecuencia directa de la proposicin 1.8
(ii), la funcin objetivo del teorema anterior () (r) :=
1
2
r
0
Qr+c
0
r+/, r R
a
)
es convexa si, y solo si, Q es denida o semidenida positiva.
Ejercicio 2.10 Resolver los siguientes problemas cuadrticos:
(i) (1) 'i: r
2
1
+ 2r
1
r
2
+ 4r
2
2
+r
1
+r
2
;
(ii) (1) 'i: r
2
1
+ 2r
1
r
2
+r
2
2
+r
1
+r
2
+ 4;
(iii) (1) 'i: r
2
1
+ 2r
1
r
2
+r
2
2
+r
1
r
2
+ 4;
(iv) (1) 'i: r
2
1
+ 2r
1
r
2
4r
2
2
+r
1
+r
2
+ 4;
(v) (1) 'i: r
2
1
+ 2r
1
r
2
4r
2
2
+r
1
+r
2
+ 4;
(vi) (1) 'i: r
2
1
+ 2r
1
r
2
r
2
2
+r
1
r
2
+ 4.
Solucin. (i) Adaptemos la funcin objetivo ) (r) = r
2
1
+2r
1
r
2
+4r
2
2
+r
1
+r
2
al formato
) (r) :=
1
2
r
0
Qr +c
0
r +/,
tomando
Q =

2 2
2 8
!
, c =

1
1

, / = 0.
Ntese que Q es denida positiva. Ahora hemos de resolver el sistema
Qr +c = 0, esto es,

2 2
2 8
!

r
1
r
2

1
1

0
0

.
Captulo 2. Optimizacin sin restricciones 55
El sistema tiene solucin nica r =

1
2
0

. Por tanto, aplicando el apartado (i)


del teorema anterior tenemos
C = L = G =

1
2
0

.
El valor ptimo es
= ) (r) =
1
2
r
0
Qr +c
0
r +/ = 0.25.
(ii) Para ) (r) = r
2
1
+ 2r
1
r
2
+r
2
2
+r
1
+r
2
+ 4, se tiene:
Q =

2 2
2 2
!
, c =

1
1

, / = 4.
Ahora Q es semidenida positiva. Los puntos crticos son las soluciones del
sistema Qr +c = 0, esto es,

2 2
2 2
!

r
1
r
2

1
1

0
0

.
Se trata de un sistema compatible indeterminado, esto es, con innitas solu-
ciones. Concretamente, en virtud del teorema anterior,
C = L = G =

r R
2
| 2r
1
+ 2r
2
+ 1 = 0

.
El valor ptimo
= ) (r) = 3.75,
siendo r cualquier ptimo global (por ejemplo, puede tomarse r =

1,2
0

para calcular ).
(iii) Para ) (r) = r
2
1
+ 2r
1
r
2
+r
2
2
+r
1
r
2
+ 4, se tiene:
Q =

2 2
2 2
!
, c =

1
1

, / = 4.
En este caso el sistema Qr +c = 0 dado por

2 2
2 2
!

r
1
r
2

1
1

0
0

,
56 Optimizacin matemtica aplicada
es incompatible (no tiene solucin). As pues,
= .
(iv) Para ) (r) = r
2
1
+ 2r
1
r
2
4r
2
2
+r
1
+r
2
+ 4 se tiene:
Q =

2 2
2 8
!
, c =

1
1

, / = 4.
Q es indenida, as que
= .
(En este caso existiran puntos crticos, pero ninguno es ptimo local, y por
supuesto, ninguno global).
(v) Para ) (r) = r
2
1
+ 2r
1
r
2
4r
2
2
+r
1
+r
2
+ 4 se tiene:
Q =

2 2
2 8
!
, c =

1
1

, / = 4.
La matriz Q es denida negativa, por tanto
= .
(En este caso existir un nico punto crtico que ser un mximo global).
(vi) Sea ) (r) = r
2
1
+ 2r
1
r
2
r
2
2
+r
1
r
2
+ 4. Se tiene:
Q =

2 2
2 2
!
, c =

1
1

, / = 4.
La matriz Q es semidenida negativa, por tanto
= .
(Puede comprobarse que existen innitos puntos crticos, y en este caso, todos
seran mximos globales).
Captulo 3
Optimizacin con restricciones
A lo largo de este captulo consideramos el problema de PNL con restricciones
dado por:
(1) 'i: )(r)
:.a q
i
(r) _ 0, i = 1, 2, ..., :,
(3.1)
donde r R
a
representa a la variable de decisin, ) : R
a
R es la funcin obje-
tivo de (1), y q
i
: R
a
R, con i = 1, 2, ..., :, son las funciones que determinan
las restricciones de (1) . A medida que se vayan requiriendo, iremos incorpo-
rando 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 /(r) = 0, con / : R
a
R, se puede desdoblar en las desigualdades
/(r) _ 0, /(r) _ 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:
(1
0
) 'i: )(r)
:.a q
i
(r) = 0, i = 1, 2, ..., :,
(3.2)
si r es un ptimo local de (1
0
) , siendo ) diferenciable en r, q
i
de clase C
1
en un
57
58 Optimizacin matemtica aplicada
entorno de r, para todo i = 1, 2, ..., :, y suponiendo que {\q
i
(r) : i = 1, 2, ..., :}
forma un sistema linealmente independiente, se tiene que
\) (r) +
n
X
i=1
`
i
\q
i
(r) = 0
a
, (3.3)
para ciertos escalares `
1
, `
2
, ..., `
n
R. Los escalares `
1
, `
2
, ..., `
n
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 deniciones
A continuacin, introducimos los conceptos bsicos relacionados con la re-
solucin de nuestro problema de PNL con restricciones.
Denicin 3.1 Dado el problema (1) de PNL con restricciones introducido en
(3.1), se denen los siguientes elementos:
(i) El conjunto factible de (1) , denotado por 1, es el conjunto de soluciones
del sistema de restricciones de (1) , esto es,
1 := {r R
a
| q
i
(r) _ 0 , i = 1, ..., :} ;
(ii) El valor ptimo de (1) , denotado por , est dado por
:= inf {) (r) : r 1} ;
(adoptamos el convenio de que = + cuando 1 = O).
(iii) Un punto r 1 es ptimo local de (1) si existe un entorno de r,
l R
a
, tal que
) (r) _ ) (r) para todo r l 1;
(iv) Un punto r 1 es ptimo global de (1) si
) (r) _ ) (r) para todo r 1;
en otras palabras, si el valor ptimo se alcanza en el punto factible r (i.e.,
= ) (r)).
Captulo 3. Optimizacin con restricciones 59
Observacin 3.1 En los ejercicios prcticos, cuando se trate de demostrar que
un punto r 1 no es ptimo local, lo haremos mediante la caracterizacin
secuencial de esta propiedad. Concretamente, el que r 1 no sea ptimo local
de (1) equivale a la existencia de una sucesin {r
a
} 1 tal que
lmr
a
= r y ) (r
a
) < ) (r) , : = 1, 2, ....
Como en los captulos anteriores, L y G representan los conjuntos de ptimos
locales y ptimos globales de (1) . Obviamente se tiene la relacin
G L 1.
En este contexto, por resolver (1) entenderemos determinar estos elementos
destacados: su valor ptimo, el conjunto de ptimos locales y ptimos globales.
Por su parte, la clasicacin de problemas de PNL con restricciones queda de
la siguiente manera.
Denicin 3.2 Sea (1) un problema de PNL con restricciones.
(i) Se dice que (1) es consistente si existe algn punto factible (1 6= );
(ii) Se dice que (1) es acotado si su valor ptimo es nito (< < +);
(iii) Se dice que (1) es resoluble si existe algn ptimo global (G 6= ).
Seguidamente presentamos la contrapartida de la proposicin 2.1 en el m-
bito de la optimizacin con restricciones.
Proposicin 3.1 Sea (1) el problema (3.1) y sea

e
1

el nuevo problema de
optimizacin dado por
(
e
1) 'i: c()(r))
:.a c
i
(q
i
(r)) _ c
i
(0) , i = 1, 2, ..., :,
donde c : R es una funcin estrictamente creciente en , con Im)
R; y donde, para cada i = 1, 2, ..., :, c
i
:
i
R es una funcin estric-
tamente creciente en
i
, con (Imq
i
' {0})
i
R. Se tienen las siguientes
equivalencias:
60 Optimizacin matemtica aplicada
(i) r R
a
es punto factible de (1) si, y solo si, r es punto factible de

e
1

;
(ii) r R
a
es ptimo local de (1) si, y solo si, r es ptimo local de

e
1

;
(iii) r R
a
es ptimo global de (1) si, y solo si, r es ptimo global de

e
1

.
Observacin 3.2 Se puede establecer un resultado anlogo al de la proposicin
anterior para problemas cuyos sistemas de restricciones tengan trminos inde-
pendientes arbitrarios, esto es, para problemas cuyos sistemas de restricciones
asociados sean de la forma
{q
i
(r) _ /
i
, i = 1, ..., :} ,
con /
i
R para todo i. En este caso, las funciones c
i
de la proposicin anterior
han de ser estrictamente crecientes en
i
, con (Imq
i
' {/
i
})
i
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 (1) y

e
1

en la proposicin anterior), diremos que son problemas equivalentes.


Ejemplo 3.1 Veamos que los siguientes problemas son equivalentes:
(1) 'i:

r
2
1
+ 1

(|r
2
| + 1)
3
:.a
p
r
2
1
+r
2
2
_ 3,
log |r
1
| + log |r
2
| _ 0,
y

e
1

'i: log

r
2
1
+ 1

+ 3 log (|r
2
| + 1)
:.a r
2
1
+r
2
2
_ 9,
|r
1
r
2
| _ 1.
En efecto, si ) representa a la funcin objetivo de (1) , la funcin objetivo de

e
1

coincide con la composicin c), donde c : ]0, +[ R, con c(t) = log t.


Ntese que ]0, +[ Im) = [1, +[ . Respecto de las restricciones, si q
1
y q
2
denotan a las funciones que guran en las restricciones de (1) , esto es,
q
1
(r) =
q
r
2
1
+r
2
2
y q
2
(r) = log |r
1
| + log |r
2
| ,
las restricciones de

e
1

vienen determinadas por c


1
q
1
y c
2
q
2
donde
c
1
: R
+
R, con c
1
(t) = t
2
, y c
2
: R R, con c
2
(t) = c
t
.
Ntese que c
1
es estrictamente creciente en R
+
Imq
1
' {3} = R
+
, y c
2
es
estrictamente creciente en R.
Captulo 3. Optimizacin con restricciones 61
3.2. Las condiciones de Karush, Kuhn y Tucker
Desde la aparicin de las condiciones de Karush, Kuhn y Tucker en 1951
(vase la introduccin para detalles adicionales), la teora y los mtodos de la
programacin no lineal han experimentado un notable desarrollo. Bajo ciertas
hiptesis sobre las restricciones de un problema, las condiciones de Karush,
Kuhn y Tucker (KKT, para abreviar) proporcionan todos los candidatos a p-
timos locales del mismo. Las condiciones de KKT se formulan en trminos de
un sistema de igualdades (vase la denicin 3.3) que en ocasiones es fcilmente
resoluble de forma exacta, en cuyo caso constituyen un mtodo directo de resolu-
cin de problemas de optimizacin. Diversas aplicaciones en esta lnea pueden
encontrarse, por ejemplo, en Barbolla et l. [2], Bertsekas [5] y Luenberger [16].
A continuacin, se introducen formalmente las condiciones de KKT.
En lo que sigue cada vez que aparezca el gradiente de una funcin asumiremos
implcitamente que ste existe. As, por ejemplo, en la siguiente denicin asu-
mimos implcitamente que existen los gradientes \) (r) y \q
i
(r) , i = 1, ..., :.
Denicin 3.3 Consideremos el problema (1) de PNL con restricciones intro-
ducido en (3.1). Se dice que r 1 es un punto de Karush, Kuhn y Tucker
(KKT, para abreviar) de (1) si existen escalares `
i
_ 0, con i = 1, 2, ..., :,
tales que
\) (r) =
n
X
i=1
`
i
\q
i
(r) , (3.4)
`
i
q
i
(r) = 0, i = 1, ..., :.
En ocasiones, nos referiremos a las condiciones anteriores (3.4) como condi-
ciones de KKT y, en particular, a las igualdades del segundo bloque (`
i
q
i
(r) =
0, i = 1, ..., :) como condiciones de complementariedad.
La denicin de punto de KKT puede escribirse, alternativamente, haciendo
uso del llamado conjunto de ndices activos 1 (r), que se dene como
1 (r) = {i {1, ..., :} | q
i
(r) = 0} .
62 Optimizacin matemtica aplicada
As pues, el enunciado alternativo de la denicin de punto de KKT quedara:
r 1 es un punto de KKT si existen escalares `
i
_ 0, i 1 (r), tales que
\) (r) =
X
i1(a)
`
i
\q
i
(r) .
Entendemos que
P
i1(a)
`
i
\q
i
(r) = 0 si 1 (r) = O.
Ntese que para determinar el conjunto de puntos de KKT han de distin-
guirse diferentes casos, dependiendo de las diferentes elecciones de conjuntos de
ndices activos. Atendiendo a la denicin 3.3 tambin puede observarse que la
resolucin del sistema de ecuaciones (3.4), concretamente el sistema de ecua-
ciones {`
i
q
i
(r) = 0, i = 1, ..., :} , conduce al anlisis de diferentes casos (por
ejemplo, q
1
(r) = 0 q
1
(r) 6= 0, etc). En ltima instancia, la resolucin prc-
tica de las ecuaciones (3.4) conduce al mismo procedimiento de distinguir los
posibles conjuntos de ndices activos.
Ejemplo 3.2 Determinar el conjunto de puntos de KKT del problema:
(1) 'i: (r
1
1) (r
2
1)
:.a r
1
+r
2
_ 1,
r
1
, r
2
_ 0.
Como se ha comentado anteriormente, distinguiremos diferentes casos. Puesto
que (1) tiene tres restricciones (q
1
(r) = r
1
+ r
2
1 _ 0, q
2
(r) = r
1
_ 0,
q
3
(r) = r
2
_ 0) analizaremos un total de 2
3
combinaciones.
Caso I: 1 (r) = O. En este caso, se trata de determinar el conjunto de puntos
crticos del problema sin restricciones que sean factibles para (1). En concreto,
\) (r) =

r
2
1
r
1
1

0
0

=r
1
= r
2
= 1.
Puesto que r =

1
1

, 1, este caso no proporciona ningn punto factible.


Caso II: 1 (r) = {1} . Buscamos soluciones del sistema:
_

_
\) (r) =

r
2
1
r
1
1

= `
1

1
1

,
r
1
+r
2
= 1 (pues 1 (r) = {1}),
`
1
_ 0, r 1.
Captulo 3. Optimizacin con restricciones 63
Del primer bloque se deduce 1 r
2
= `
1
= 1 r
1
, lo que implica r
1
= r
2
.
Sustituyendo en el segundo bloque, obtenemos r
1
= r
2
=
1
2
, y por tanto `
1
=
1
1
2
=
1
2
_ 0. Puesto que r =

1,2
1,2

1, se trata de un punto de KKT.


Caso III: 1 (r) = {2} . Buscamos soluciones del sistema:
_

_
\) (r) =

r
2
1
r
1
1

= `
2

1
0

,
r
1
= 0 (pues 1 (r) = {2}),
`
2
_ 0, r 1.
Del primer bloque se deduce 1 r
2
= `
2
y r
1
= 1, lo que contradice la
igualdad r
1
= 0. As pues, este caso no proporciona ninguna solucin.
Caso IV: 1 (r) = {3} . Buscamos soluciones del sistema:
_

_
\) (r) =

r
2
1
r
1
1

= `
3

0
1

,
r
2
= 0 (pues 1 (r) = {3}),
`
3
_ 0, r 1.
Del primer bloque se deduce 1 = r
2
y 1 r
1
= `
3
, por lo que se encuentra
una contradiccin con r
2
= 0.
Caso V: 1 (r) = {1, 2} . Buscamos soluciones del sistema:
_

_
\) (r) =

r
2
1
r
1
1

= `
1

1
1

+`
2

1
0

,
r
1
+r
2
= 1,
r
1
= 0,
`
1
_ 0, `
2
_ 0, r 1.
Se deduce inmediatamente que r =

0
1

. Sustituyendo en el primer bloque,


se tiene 0 = `
1
`
2
y 1 = `
1
, lo que implica `
2
= 1. Puesto que, r 1, se trata
de un punto de KKT.
Caso VI: 1 (r) = {1, 3} . Buscamos soluciones del sistema:
_

_
\) (r) =

r
2
1
r
1
1

= `
1

1
1

+`
3

0
1

,
r
1
+r
2
= 1,
r
2
= 0,
`
1
_ 0, `
3
_ 0, r 1.
64 Optimizacin matemtica aplicada
En este caso se deduce r =

1
0

. Como antes, sustituyendo en el primer


bloque, se tiene 1 = `
1
y 0 = `
1
`
3
. As pues, `
3
= 1. De nuevo, puesto que
r 1, se trata de un punto de KKT.
Caso VII: 1 (r) = {2, 3} . Buscamos soluciones del sistema:
_

_
\) (r) =

r
2
1
r
1
1

= `
2

1
0

+`
3

0
1

,
r
1
= 0,
r
2
= 0,
`
2
_ 0, `
3
_ 0, r 1.
Inmediatamente se deduce r =

0
0

y sustituyendo en el primer bloque, se


tiene 1 = `
2
y 1 = `
3
, lo que contradice la no negatividad de los multipli-
cadores.
Caso VIII: 1 (r) = {1, 2, 3} . Este caso no proporciona ninguna solucin, pues
entre sus ecuaciones encontramos r
1
+r
2
= 1, junto con r
1
= 0 y r
2
= 0, lo
que obviamente constituye una contradiccin.
En resumen, tenemos los siguientes puntos de KKT:
r =

1,2
1,2

, con `
1
=
1
2
,
r =

0
1

, con `
1
= 1 y `
2
= 1, y
r =

1
0

, con `
1
= 1 y `
3
= 1.
Ms adelante analizaremos la optimalidad local y global de cada uno de estos
puntos.
3.2.1. Hiptesis de cualicacin de restricciones
Bajo ciertas hiptesis, referidas en la literatura como hiptesis de cuali-
cacin de restricciones (que abreviaremos por CQ, del ingls constraint quali-
cation), las condiciones de KKT proporcionan todos los candidatos a ptimos
locales. Formalmente, la siguiente implicacin es cierta cuando se verica alguna
CQ: si r es un ptimo local del problema (3.1), entonces r es punto de KKT
Captulo 3. Optimizacin con restricciones 65
del mismo. Existen en la literatura numerosas hiptesis de cualicacin de res-
tricciones, como puede consultarse en el artculo de Peterson [20]. En este libro
recogemos tres de estas hiptesis:
LCQ (del ingls, Linear Constraint Qualication) se verica en r 1 si
las q
i
, con i 1 (r) , son lineales;
LICQ (Linear Indepence Constraint Qualication) se verica en r 1 si
el sistema de vectores {\q
i
(r) , i 1 (r)} es linealmente independiente;
SCQ (Slater Constraint Qualication) se verica en r 1 si las q
i
, con
i 1 (r) , son convexas y existe b r R
a
tal que q
i
(b r) < 0, i 1 (r) ; en
este caso se dice que b r es un punto de Slater (solucin estricta) del sistema
{q
i
(r) _ 0, i 1 (r)} .
El siguiente ejemplo publicado en 1951 por Kuhn y Tucker proporciona un
modelo de optimizacin con un ptimo global en el que no se verica ninguna
de las tres cualicaciones anteriores.
Ejemplo 3.3 (Kuhn y Tucker, 1951) Consideremos el problema de PNL,
en R
2
, dado por:
(1) 'i: r
1
:.a r
2
r
3
1
_ 0,
r
2
_ 0.
Puede comprobarse fcilmente que r =

0
0

es ptimo local; de hecho es ptimo


global, pues todo punto factible verica r
3
1
_ r
2
_ 0, y entonces
) (r) = r
1
_ 0 = ) (r) para todo r 1.
Por otro lado, 1 (r) = {1, 2}. Obviamente no se cumple LCQ (la primera restric-
cin es no lineal). Tampoco se cumple LICQ pues
\q
1
(r) =

0
1

y \q
2
(r) =

0
1

,
que forman un sistema linealmente dependiente. Finalmente, tampoco se verica
SCQ, pues la primera restriccin no es convexa.
66 Optimizacin matemtica aplicada
3.2.2. Condicin de optimalidad de primer orden
El siguiente teorema recoge el enunciado que venimos anunciando y que
constituye un resultado fundamental en programacin no lineal.
Teorema 3.1 (Las condiciones de KKT) Consideremos el problema (1) de
PNL con restricciones introducido en (3.1). Sea r 1 y supongamos que las
funciones ) y q
i
, con i 1 (r) , son diferenciables en r, y que las q
i
,con i , 1 (r) ,
son continuas en r. Supongamos, adems, que se cumple al menos una de las
condiciones LCQ, LICQ o SCQ en r. Si r es un ptimo local de (1), entonces
r es un punto de KKT.
Los siguientes ejemplos ponen de maniesto que las hiptesis de cualica-
ciones de restricciones no son superuas en el teorema anterior.
Ejemplo 3.4 (Ejemplo 3.3 revisitado) Recurdese que r =

0
0

es un p-
timo global, y por tanto local, del problema de optimizacin presentado en el
ejemplo 3.3. En este punto, ya se comprob que no se verica ninguna de las
tres cualicaciones de restricciones anteriores. De hecho, r es un ptimo local
que no es punto de KKT (vase la gura 3.1). En efecto,
\) (r) =

1
0

, mientras que \q
1
(r) =

0
1

y \q
2
(r) =

0
1

,
luego \) (r) no es combinacin lineal de \q
1
(r) y \q
2
(r) .
Ejemplo 3.5 Consideremos el problema de PNL, en R
2
, dado por:
(1) 'i: r
2
:.a r
2
1
+r
2
2
_ 1,
(r
1
2)
2
+r
2
2
_ 1.
Puede comprobarse fcilmente que 1 se reduce a un punto, en concreto 1 =
{

1
0

} (vase la gura 3.2). En este punto, r =



1
0

, el conjunto de ndices activos


es 1 (r) = {1, 2}. No se verica LCQ (restricciones no lineales). Tampoco se
verica LICQ pues \q
1
(r) =

2
0

y \q
2
(r) =

2
0

. Las funciones q
1
y q
2
son convexas; sin embargo, no existe ningn punto de Slater; esto es, no existe
Captulo 3. Optimizacin con restricciones 67
F
x
-f ( )
x
g
1
( )
x
g
2
( )
x
Figura 3.1: Ilustracin del ejemplo 3.4.
g
2
( )
x F }
x
-f ( ) x
g
1
( )
x x
Figura 3.2: Ilustracin del ejemplo 3.5.
ningn b r R
a
tal que q
i
(b r) < 0, i = 1, 2. Por tanto, no se verica SCQ. Por
ser r =

1
0

el nico punto factible, trivialmente es un ptimo global de (1) ,


y por tanto ptimo local. Sin embargo, no es un punto de KKT de (1) , pues
\) (r) =

0
1

no es una combinacin lineal de \q


1
(r) =

2
0

y \q
2
(r) =

2
0

.
3.3. Condiciones de optimalidad de segundo orden
El siguiente ejemplo muestra que las condiciones de KKT no son sucientes
para garantizar la optimalidad local del punto considerado.
68 Optimizacin matemtica aplicada
Ejemplo 3.6 (Las condiciones de KKT no son sucientes) Considere-
mos el problema
(1) 'i: r
2
1
r
2
2
+r
1
:.a r
2
1
+r
2
2
_ 1,
r
1
_ 0, r
2
_ 0.
Veamos que r =

0
0

es un punto de KKT y, sin embargo, no es un ptimo


local. Se tiene que 1 (r) = {2, 3}, as las condiciones de KKT quedan:
(
\) (r) =

1
0

= `
2

1
0

+`
3

0
1

,
`
2
, `
3
_ 0.
Obviamente `
2
= 1 y `
3
= 0 proporcionan una solucin del sistema anterior.
Por tanto, r es un punto de KKT. Veamos que r no es un ptimo local de (1) .
Consideremos la sucesin
r
a
=

0
1
a

, : = 1, 2, ....
Ntese que
{r
a
} 1 y ) (r
a
) =
1
:
2
< 0 = ) (r) .
A partir de la observacin 3.1, concluimos que r no es ptimo local.
Con el n de profundizar un poco ms en el anlisis de la optimalidad,
enunciamos dos nuevos resultados que involucran derivadas parciales de segundo
orden. Consideremos la funcin de Lagrange, 1 : R
a
R
n
+
R, asociada al
problema (1) introducido en (3.1):
(1) 'i: )(r)
:.a q
i
(r) _ 0, i = 1, 2, ..., :,
que viene dada por
1(r, `) = )(r) +`
0
q (r)
donde q representa a la funcin vectorial que tiene a las q
i
como sus funciones
coordenadas. Asimismo denotaremos por \
a
1(r, `) al gradiente, respecto de r,
de 1; esto es,
\
a
1(r, `) := \) (r) +
n
X
i=1
`
i
\q
i
(r) .
Captulo 3. Optimizacin con restricciones 69
As pues, las condiciones de KKT para el problema (3.1) pueden alternativa-
mente expresarse como
1
_

_
\
a
1(r, `) = 0
a
,
`
i
q
i
(r) = 0, i = 1, 2, ..., :,
`
i
_ 0, q
i
(r) _ 0
n
.
(Condiciones de KKT)
Al vector ` _ 0
n
formado por los escalares que intervienen en las condiciones
de KKT se le llama vector de multiplicadores de KKT.
En lo que sigue denotaremos por H
a
1(r, `) a la matriz hessiana, respecto
de r, de 1; esto es:
H
a
1(r, `) := H) (r) +
n
X
i=1
`
i
Hq
i
(r) ,
donde H) (r) , Hq
i
(r) , i = 1, ..., :, denotan a las matrices hessianas de las
correspondientes funciones. En los siguientes enunciados, dado un subconjunto
R
a
,

representa al subespacio vectorial ortogonal a ; esto es:

R
a
:
0
a = 0, para todo a

.
Teorema 3.2 (Condicin necesaria de segundo orden) Sea r un ptimo
local del problema (1) , introducido en (3.1). Supongamos que ), q
i
, i 1 (r) ,
son de clase C
2
en un entorno de r, que q
i
, i , 1 (r) son funciones continuas
en r, y que {\q
i
(r) , i 1 (r)} forma un sistema linealmente independiente
2
.
Entonces se verican los siguientes enunciados:
(i) Existen un nico , ` _ 0
n
vericando
\
a
1

r, `

= 0
a
, y `
0
q (r) = 0;
(ii) Adems, la restriccin de H
a
1

r, `

(en rigor la restriccin de la forma


cuadrtica asociada) al subespacio
' (r) := {\q
i
(r) : i 1 (r)}

1
Las condiciones de complementariedad tambin podran expresarse en una nica ecuacin

r
.=1
`
.
j
.
(r) = 0 lo que equivale a `
0
j (r) = 0. Este hecho es consecuencia de que todos los
sumandos `
.
j
.
(r) son negativos o nulos.
2
Recordemos que esta hiptesis constituye la cualicacin de restricciones que abrevibamos
por LICQ. En esta situacin, se dice que r es un punto regular de (1) .
70 Optimizacin matemtica aplicada
es denida o semidenida positiva; esto es, para todo d ' (r) , se tiene que
d
0
H
a
1

r, `

d _ 0.
Observacin 3.3 En el caso en el que ' (r) = {0
a
} la condicin (ii) del
teorema anterior se satisface trivialmente.
En el siguiente enunciado distinguiremos entre dos clases de restricciones
activas asociadas a un punto de KKT r, y al vector ` que recoge los multi-
plicadores de KKT. Siguiendo la terminologa de Fletcher [9], llamaremos res-
tricciones fuertemente activas (o tambin, no degeneradas) a las asociadas al
conjunto de ndices
1
+

r, `

:=

i 1 (r) | `
i
0

,
mientras que el resto de restricciones de desigualdad activas son denominadas
restricciones dbilmente activas. En trminos informales, esta distincin viene
motivada por el hecho de que esta ltima clase de restricciones activas no desem-
pean ningn papel en las condiciones de KKT (estas condiciones se verican,
aun eliminando del planteamiento dichas restricciones).
Teorema 3.3 (Condicin suciente de segundo orden) Sea r 1 un
punto de KKT del problema (1) introducido en (3.1) y sea ` _ 0
n
un vec-
tor de multiplicadores asociados a r (esto es,

r, `

verica las condiciones de


KKT). Supongamos que ), q
i
, i 1 (r) , son de clase C
2
en un entorno de r,
y que q
i
, i , 1 (r) son funciones continuas en r. Si, adems, se verica que la
restriccin de H
a
1

r, `

al subespacio
'
+

r, `

:=

\q
i
(r) : i 1
+

r, `

es denida positiva (esto es, d


0
H
a
1

r, `

d 0 para todo d '


+

r, `

\ {0
a
}),
entonces r es un ptimo local de (1).
Observacin 3.4 Si '
+

r, `

= {0
a
}, se verica trivialmente la condicin
suciente de optimalidad enunciada en el teorema anterior, pues '
+

r, `

\ {0
a
}
= O y entonces la implicacin lgica
d '
+

r, `

\ {0
a
} =d
0
H
a
1

r, `

d 0,
Captulo 3. Optimizacin con restricciones 71
es verdadera (un ejemplo de esta situacin aparece en el caso II del ejemplo 3.9).
El siguiente ejemplo pone de maniesto que las condiciones necesarias del
teorema 3.2 no son sucientes para garantizar la optimalidad local.
Ejemplo 3.7 (La condicin necesaria no es suciente) Consideremos el
problema, en R
3
,
(1) 'i: r
2
1
r
2
2
+r
3
:.a r
2
, r
3
_ 0.
Veamos que:
a) r = (0, 0, 0)
0
es un punto de KKT de (1);
b) Si ` un vector de multiplicadores asociado a r, la matriz H
a
1

r, `

es
denida positiva sobre ' (r) .
c) Se cumple la condicin necesaria de optimalidad segundo orden? Y la
suciente?
d) Es r un ptimo local del problema?
Solucin.
a) Se tiene que 1 (r) = {1, 2} y las condiciones de KKT en r se escriben
como:
_

_
\) (r) = (0, 0, 1)
0
= `
1
(0, 1, 0)
0
+`
2
(0, 0, 1)
0
,
r
2
= r
3
= 0,
`
1
, `
2
_ 0.
La nica solucin del sistema anterior es `
1
= 0, `
2
= 1. Ambos escalares son
no negativos y, por tanto, r = (0, 0, 0)
0
es un punto de KKT con vector de
multiplicadores asociado ` = (0, 1)
0
.
b) En este caso
H
a
1

r, `

=
_
_
_
_
2 0 0
0 2 0
0 0 0
_
_
_
_
.
Por otro lado, dado que q
1
(r) = r
2
y q
2
(r) = r
3
, se tiene:
' (r) = {\q
i
(r) : i 1 (r)}

=

(0, 1, 0)
0
, (0, 0, 1)
0

=

R
3
| (
1
,
2
,
3
) (0, 1, 0)
0
= 0, (
1
,
2
,
3
) (0, 0, 1)
0
= 0

=

R
3
|
2
= 0,
3
= 0

.
72 Optimizacin matemtica aplicada
As pues, {(1, 0, 0)
0
} es una base de ' (r) y la matriz asociada a la restriccin
de H
a
1

r, `

a ' (r) , expresada en dicha base, quedara:

1 0 0

_
_
_
_
2 0 0
0 2 0
0 0 0
_
_
_
_
_
_
_
_
1
0
0
_
_
_
_
= (2) ,
que obviamente es denida positiva.
c) Se cumple la condicin necesaria de segundo orden (vase el teorema 3.2),
sin embargo, veamos que no se cumple la suciente. Para ello, hemos de analizar
la restriccin de H
a
1

r, `

a '
+

r, `

(tal y como se indica en el teorema 3.3).


Puesto que 1
+

r, `

= {2} (pues `
2
es el nico multiplicador de KKT no nulo),
se tiene:
'
+

r, `

=

\q
i
(r) : i 1
+

r, `

=

(0, 0, 1)
0

=

R
3
| (
1
,
2
,
3
) (0, 0, 1)
0
= 0

=

R
3
|
3
= 0

.
As pues, {(1, 0, 0)
0
, (0, 1, 0)
0
} forma una base de '
+

r, `

y la matriz aso-
ciada a la restriccin de H
a
1

r, `

a '
+

r, `

, en dicha base, es

1 0 0
0 1 0
!
_
_
_
_
2 0 0
0 2 0
0 0 0
_
_
_
_
_
_
_
_
1 0
0 1
0 0
_
_
_
_
=

2 0
0 2
!
.
Dicha restriccin es indenida, y por tanto no se satisface la condicin suciente
de segundo orden.
d) Como consecuencia del estudio realizado en los apartados previos, no
podemos concluir si r es o no ptimo local, pues se cumplen las condiciones
necesarias de primer y segundo orden pero no la suciente. Ntese, adems,
que en este ejemplo se cumple LICQ en todos los puntos factibles pues, para
cualquier r, {\q
1
(r) , \q
2
(r)} =

(0, 1, 0)
0
, (0, 0, 1)
0

forman un sistema de
vectores linealmente independiente.
En esta situacin, analizaremos la optimalidad de r a partir de la denicin.
Concretamente, haremos uso de la observacin 3.1. Consideremos la sucesin
Captulo 3. Optimizacin con restricciones 73
{r
a
} dada por
r
a
:=

0,
1
:
, 0

0
, : = 1, 2, ....
Se tiene que
r
a
1 y ) (r
a
) =
1
:
2
< 0 = ) (r) , para todo :.
En esta situacin, r no es un ptimo local de (1) .
Ejemplo 3.8 (La condicin suciente no es necesaria) Consideremos el
problema, en R
2
,
(1) 'i: (r
1
r
2
)
2
r
1
+r
2
:.a r
1
r
2
_ 0.
Se pide:
a) Comprobar que r =

1
2
,
1
2

0
es un punto de KKT.
b) Se cumple en r la condicin suciente de segundo orden?
c) Comprobar que r es un ptimo global de (1) .
Solucin. a) En efecto, 1 (r) = {1} y se cumplen las condiciones de KKT:
\) (r) =

1
1

= `
1

1
1

,
con `
1
= 1.
b) Veamos que no se cumple la condicin suciente de segundo orden:
H
a
1

r, `

2 2
2 2
!
,
y, por otro lado
'
+

r, `

=

\q
i
(r) : i 1
+

r, `

=

(1, 1)
0

=

R
2
|
1

2
= 0

.
Consideramos una base de '
+

r, `

, {(1, 1)
0
}, y la matriz asociada a la
restriccin de H
a
1

r, `

a dicho subespacio, en dicha base, es

1 1

2 2
2 2
!
1
1
!
=

0 0

1
1
!
= (0) .
74 Optimizacin matemtica aplicada
Puesto que dicha matriz no es denida positiva, no se cumple la condicin su-
ciente de segundo orden.
c) En este apartado se muestra que r es ptimo global de (1) a pesar de
no cumplir la condicin suciente de optimalidad, por lo que decimos que dicha
condicin suciente de optimalidad local no es necesaria. Trataremos este aparta-
do directamente mediante la denicin; esto es, veamos que
) (r) _ 0 (= ) (r)) para todo r 1.
En efecto, si r 1, se verica r
1
r
2
_ 0. Bajo esta hiptesis, esto es, si r 1,
se tiene:
) (r) = (r
1
r
2
)
2
r
1
+r
2
_ 0 r
1
+r
2
_ 0,
como queramos probar.
Ejemplo 3.9 (Ejemplo 3.2 revisitado) Determinar el conjunto de ptimos
locales del problema:
(1) 'i: (r
1
1) (r
2
1)
:.a r
1
+r
2
_ 1,
r
1
, r
2
_ 0.
Solucin. Dado que todas las restricciones son lineales, se cumple LCQ en
todos los puntos de 1. En este caso, todo ptimo local de (1) 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):
r =

1,2
1,2

, con `
1
=
1
2
y consideramos `
2
= `
3
= 0,
r =

0
1

, con `
1
= 1, `
2
= 1 y consideramos `
3
= 0,
r =

1
0

, con `
1
= 1, `
3
= 1 y consideramos `
2
= 0.
Ntese que, con el n de denir el vector completo de multiplicadores de KKT,
basta considerar `
i
= 0 si i , 1 (r) .
Analicemos ahora las condiciones de segundo orden en cada uno de los puntos
de KKT.
Captulo 3. Optimizacin con restricciones 75
Caso I: 1 (r) = {1}, r =

1
2
,
1
2

0
, con ` =

1
2
, 0, 0

0
. Se tiene que
H
a
1

r, `

0 1
1 0
!
,
y los subespacios ' (r) y '
+

r, `

coinciden, pues 1
+

r, `

= {1} = 1 (r) .
' (r) = '
+

r, `

=

(1, 1)
0

=

R
2
| (
1
,
2
) (1, 1)
0
= 0

=

R
2
|
1
+
2
= 0

.
Consideremos {(1, 1)
0
} como base de ' (r) (= '
+

r, `

). La matriz asociada
a la restriccin de H
a
1

r, `

al subespacio ' (r) , en dicha base, es

1 1

0 1
1 0
!
1
1
!
=

1 1

1
1
!
= (2) ,
que es denida negativa.
As pues, no cumple la condicin necesaria de segundo orden, y por tanto r
no es ptimo local de (1) . Ntese, adems, que en dicho punto se cumple LICQ,
pues {\q
1
(r)} es linealmente independiente. Recurdese que esta hiptesis tam-
bin gura en el teorema 3.2.
Caso II: 1 (r) = {1, 2}, r = (0, 1)
0
con ` = (1, 1, 0)
0
. Se tiene que
H
a
1

r, `

0 1
1 0
!
,
y los subespacios ' (r) y '
+

r, `

se reducen al origen. En efecto,


' (r) = '
+

r, `

=

(1, 1)
0
, (1, 0)
0

=

R
2
|
1
+
2
= 0,
1
= 0

= {0
2
}.
En este caso, se cumple trivialmente la condicin suciente de optimalidad (vase
la observacin 3.4), y por tanto r = (0, 1)
0
es un ptimo local.
Caso III: 1 (r) = {1, 3}, r = (1, 0)
0
con ` = (1, 0, 1)
0
. Se tiene que
H
a
1

r, `

0 1
1 0
!
,
76 Optimizacin matemtica aplicada
y, como antes, los subespacios ' (r) y '
+

r, `

se reducen al origen. As
pues, se cumple trivialmente la condicin suciente de optimalidad, y por tanto
r = (1, 0)
0
es un ptimo local.
En resumen, el conjunto de ptimos locales est dado por
L = {(0, 1)
0
, (1, 0)
0
}.
3.4. Interpretacin de los multiplicadores de KKT
Imaginemos que deseamos construir una caja de cartn como la de la gura:

x
2
/2
x
2
/2
x
3
x
1
x
2
solapa
Supongamos que el benecio que reporta para nosotros la construccin de
dicha caja es proporcional a su volumen una vez cerrada, de forma que nos
interesa minimizar ) (r
1
, r
2
, r
3
) = r
1
r
2
r
3
(lo que equivale a maximizar el
volumen). Supongamos asimismo que tenemos restringida la cantidad de mate-
rial (rea total), estando sujetos a la restriccin
q (r
1
, r
2
, r
3
) = 2 (r
1
+r
2
) (r
2
+r
3
) c
0
_ 0,
siendo c
0
una constante positiva, y por supuesto r
1
_ 0, r
2
_ 0 y r
3
_ 0.
Dada la naturaleza del problema, en un ptimo local tendrn que ser posi-
tivos r
1
, r
2
y r
3
(pues si alguno de ellos fuese cero el volumen de la caja sera
Captulo 3. Optimizacin con restricciones 77
nulo, y evidentemente no tendramos un ptimo local). Esto signica que, con
el n de buscar puntos de KKT que pudieran ser ptimos locales, podremos
considerar r
1
_ 0, r
2
_ 0 y r
3
_ 0 como restricciones inactivas.
As, considerando la restriccin de material como la nica activa, encon-
tramos que el nico punto de KKT es r =

2
3
p
c
0
2
,
1
3
p
c
0
2
,
2
3
p
c
0
2

0
, tenindose
adems que \q (r) =
_
2c
0
(1, 2, 1)
0
6= 0
3
. El multiplicador de KKT asociado es
`
1
=
1
9
p
c
0
2
. Poniendo ` =

`
1
, 0, 0, 0

0
, se tiene que la restriccin de H
a
1

r, `

al subespacio

R
3
|
1
+ 2
2
+
3
= 0

es denida positiva, por lo que en


virtud de la condicin suciente de segundo orden, el problema considerado pre-
senta en r un ptimo local (puede comprobarse a partir de la denicin que,
de hecho, se trata de un ptimo global), tenindose ) (r) =

2
27
c
32
0
(esto es un
volumen mximo de

2
27
c
32
0
).
Llegados a este punto nos planteamos la siguiente pregunta: Cunto mejo-
rara nuestro objetivo si pudisemos disponer de una pequea cantidad adicional,
cc
0
, 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 benecio cambiado de signo es 1(c
0
) = ) (r) =

2
27
c
32
0
, y se
tiene:
1
0
(c
0
) =

_
2
27
3
2
c
12
0
=
1
9
r
c
0
2
= `.
Veremos a continuacin que, bajo hiptesis adecuadas, este resultado se ve-
rica en general: `
i
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 i-sima restriccin (para incrementos pequeos), pues
esa unidad producira una mejora (disminucin) del objetivo de, aproximada-
mente, `
i
unidades.
Teorema 3.4 (Interpretacin de los multiplicadores de KKT) Sea r un
punto de KKT del problema (1) introducido en (3.1), y sea ` _ 0
n
un vector
de multiplicadores asociado a r. Supongamos que ), q
i
, i 1 (r) son de clase C
2
en un entorno de r, que q
i
, i , 1 (r) son funciones continuas en r. Supongamos,
adems, que se verican las siguientes condiciones:
78 Optimizacin matemtica aplicada
(/1) {\q
i
(r) , i 1 (r)} forma un sistema linealmente independiente (LICQ);
(/2) 1 (r) = 1
+

r, `

(lo que implica que ' (r) = '


+

r, `

);
(/3) H
a
1

r, `

es denida positiva sobre el subespacio '


+

r, `

(condicin
suciente de segundo orden).
Entonces existe un entorno \ R
a
de r, y un entorno \ R
n
de 0
n
,
tales que para todo , \ el problema parametrizado
(1 (,)) 'i: )(r)
:.a q(r) _ ,,
presenta en \ un nico ptimo local, que adems es estricto, r(,) ; en particular
r(0
n
) = r. Adems r() es de clase C
1
en \, y
\
o
) (r(,))|
o=0
r
= `.
3.5. Optimalidad global
Los resultados presentados en las secciones anteriores presentan condiciones
necesarias y una condicin suciente relativas a la propiedad de optimalidad
local. Esta seccin recoge determinados resultados que, en ocasiones, pueden
resultar de utilidad a la hora de vericar la optimalidad global.
3.5.1. Aplicacin del Teorema de Weierstrass
Recordemos el siguiente resultado clsico del anlisis matemtico.
Teorema 3.5 (Teorema de Weierstrass) Sea R
a
un subconjunto com-
pacto no vaco, y sea ) : R continua. Entonces, existen r
1
, r
2
tales
que:
)

r
1

_ ) (r) para todo r (existe mnimo global), y


)

r
2

_ ) (r) para todo r (existe mximo global).


Observacin 3.5 En los ejemplos y ejercicios de este libro las funciones q
i
sern continuas, lo que garantiza que nuestro conjunto factible 1 es siempre
cerrado (vase el ejemplo 1.3). As pues, para poder aplicar el teorema anterior
Captulo 3. Optimizacin con restricciones 79
nos quedar por vericar si 1 es acotado (recurdese que en R
a
un subconjunto
es compacto si, y solo si, es cerrado y acotado).
Observacin 3.6 (1 6= O compacto junto con CQ en todo 1) El enun-
ciado del Teorema de Weierstrass es especialmente til en la resolucin de
ejercicios cuando, adems de ser 1 compacto y no vaco, en todos los puntos
factibles se verica alguna cualicacin de restricciones. En este caso se tienen
las siguientes condiciones (recordemos que L representa el conjunto de ptimos
locales, G el de ptimos globales):
G6= O (Teorema de Weierstrass),
G L P
11T
,
donde P
11T
denota al conjunto de puntos de KKT. Ntese que la hiptesis de
cualicacin de restricciones en todos los puntos factibles garantiza la veracidad
del ltimo contenido.
En este caso, una vez determinados los ptimos locales o los puntos de KKT,
basta comparar sus imgenes para decidir cuales son ptimos globales.
Esta es la situacin del ejemplo 3.2: se cumple LCQ en todos los puntos
factibles. Adems, 1 es acotado, pues
r
1
+r
2
_ 1
r
1
, r
2
_ 0
)
=0 _ r
1
_ 1, 0 _ r
2
_ 1.
En este caso
P
11T
=

1
2
,
1
2

0
, (1, 0)
0
, (0, 1)
0

.
Puesto que )

1
2
,
1
2

=
1
4
y ) (1, 0) = ) (0, 1) = 0, se tiene que el conjunto de
ptimos globales es
G =

(1, 0)
0
, (0, 1)
0

.
En este caso particular ya habamos determinado el conjunto de ptimos locales
(L ={(1, 0)
0
, (0, 1)
0
}) en el ejemplo 3.9, as pues, bastaba comparar las imgenes
de dichos ptimos locales.
80 Optimizacin matemtica aplicada
3.5.2. El caso convexo
Consideremos el problema de PNL con restricciones (3.1),
(1) 'i: )(r)
:.a q
i
(r) _ 0, i = 1, 2, ..., :,
y supongamos que todas las funciones del modelo, ) y q
i
, i = 1, 2, ..., :, son
convexas en R
a
. En este caso estamos ante un problema de programacin con-
vexa. Ntese que en este caso 1, supuesto no vaco, es un conjunto convexo, pues
puede escribirse con interseccin de convexos. En efecto,
1 =
T
n
i=1
{r R
a
| q
i
(r) _ 0} ,
y cada uno de los conjuntos de nivel inferior, {r R
a
| q
i
(r) _ 0} , es convexo
como se demostr en el ejercicio 1.5.
Los problemas de programacin convexa constituyen un caso particular de
problemas de PNL de especial inters, fundamentalmente por su buen com-
portamiento en relacin con la optimalidad global. Concretamente, se tiene el
siguiente resultado:
Teorema 3.6 (Optimalidad global en el caso convexo) Consideremos el
problema (1) de PNL con restricciones (3.1), y supongamos ) y q
i
, i = 1, 2, ..., :,
son convexas en R
a
. Se verican los siguientes enunciados:
(i) Si r es ptimo local de (1) , entonces r es ptimo global de (1) ; en otros
trminos:
G = L.
(ii) Si asumimos que ) y las q
i
, con i 1 (r) , son diferenciables en r y r es
punto de KKT de (1) , entonces r es ptimo global de (1) .
Observacin 3.7 Ntese que, bajo la diferenciabilidad de ) y las q
i
, i = 1, .., :
en todos los puntos factibles, del apartado (ii) del teorema anterior se deduce
que
P
11T
G.
Captulo 3. Optimizacin con restricciones 81
Por otro lado, como sabemos, para garantizar el otro contenido (y por tanto
la igualdad entre P
11T
y G) necesitamos alguna cualicacin de restricciones,
como es el caso del siguiente ejemplo.
Ejemplo 3.10 Determinar el conjunto de puntos de KKT, ptimos locales y
ptimos globales del siguiente problema, en R
2
:
(1) 'i: r
2
2
r
1
:.a r
2
1
+r
2
2
_ 1,
r
2
1
+ 4r
2
2
_ 1.
En primer lugar, obsrvese que se cumple SCQ en todos los puntos factibles,
pues q
1
(r) = r
2
1
+r
2
2
1 y q
2
(r) = r
2
1
+ 4r
2
2
1 son convexas y, por ejemplo,

1
4
,
1
4

0
es un punto de Slater (solucin estricta) del sistema {q
1
(r) _ 0, q
2
(r) _
0}.
Puesto que la funcin objetivo ) (r) = r
2
2
r
1
es tambin convexa, estamos
ante un problema de programacin convexa en el que se verica alguna CQ en
todo punto factible. En este caso
P
11T
= L = G,
como consecuencia de la siguiente cadena de contenidos (debajo de las inclu-
siones primera y ltima se indican la hiptesis bajo las cuales son ciertas):
P
11T

(1) convexo
G L
CQ en todo 1
P
11T
.
En denitiva, la resolucin del problema actual se reduce al clculo de los
puntos de KKT:
Caso I : 1 (r) = O. El sistema
\) (r) =

1
2r
2

0
0

no tiene solucin (ocurre la contradiccin 1 = 0).


Caso II : 1 (r) = {1}; esto es r
2
1
+ r
2
2
= 1, r
2
1
+ 4r
2
2
< 1. Buscamos las
soluciones del sistema
_

1
2r
2

= `
1

2r
1
2r
2

,
r
2
1
+r
2
2
= 1,
`
1
_ 0, r 1.
82 Optimizacin matemtica aplicada
Del primer bloque de igualdades tenemos 1 = 2`
1
r
1
y 2r
2
= 2`
1
r
2
. De aqu,
se deduce que `
1
= 1 si r
2
6= 0, lo que contradice la no negatividad de `
1
. Por
otro lado, si r
2
= 0, entonces de la igualdad r
2
1
+r
2
2
= 1 concluimos que r
1
= 1
(la otra posibilidad r
1
= 1, conduce a `
1
=
1
2
, por lo que no es solucin de
nuestro sistema). En rigor, el punto r = (1, 0)
0
no pertenece a este caso, pues
verica las dos restricciones con igualdad; esto es, 1 (r) = {1, 2}, por lo que ser
analizado ms adelante.
Caso III : 1 (r) = {2}; esto es r
2
1
+ r
2
2
< 1, r
2
1
+ 4r
2
2
= 1. Buscamos las
soluciones del sistema
_

1
2r
2

= `
2

2r
1
8r
2

,
r
2
1
+ 4r
2
2
= 1,
`
2
_ 0, r 1.
De primer bloque de igualdades tenemos 1 = 2`
2
r
1
y 2r
2
= 8`
2
r
2
. De aqu,
se deduce que `
2
=
1
4
si r
2
6= 0, lo que contradice la no negatividad de `
2
. Por
otro lado, si r
2
= 0, entonces de la igualdad r
2
1
+4r
2
2
= 1 concluimos que r
1
= 1
(la otra posibilidad r
1
= 1, conduce a `
2
=
1
2
, por lo que no es solucin de
nuestro sistema). Como en el caso anterior, el punto r = (1, 0)
0
no pertenece al
caso actual, se analizar a continuacin.
Caso IV: 1 (r) = {1, 2}; esto es r
2
1
+ r
2
2
= 1, r
2
1
+ 4r
2
2
= 1. Buscamos
soluciones del sistema
_

1
2r
2

= `
1

2r
1
2r
2

+`
2

2r
1
8r
2

,
r
2
1
+r
2
2
= 1, r
2
1
+ 4r
2
2
= 1,
`
1
, `
2
_ 0.
Las nicas soluciones del sistema {r
2
1
+ r
2
2
= 1, r
2
1
+ 4r
2
2
= 1} son (1, 0)
0
y
(1, 0)
0
. En el primer caso, tendremos

1
0

= `
1

2
0

+`
2

2
0

,
esto es, 2`
1
+ 2`
2
= 1. As pues r = (1, 0)
0
es un punto de KKT asociado a
cualquier vector de multiplicadores ` tal que
`

` R
2
| 2`
1
+ 2`
2
= 1, `
1
, `
2
_ 0

( 6= O).
Captulo 3. Optimizacin con restricciones 83
En el segundo caso, si r = (1, 0)
0
, se tiene:

1
0

= `
1

2
0

+`
2

2
0

,
esto es, 2`
1
2`
2
= 1. Puesto que no existe ningn ` que verique simultnea-
mente las condiciones 2`
1
2`
2
= 1, `
1
y `
2
_ 0, r = (1, 0)
0
no es punto de
KKT.
Finalmente, concluimos que
P
11T
= L = G =

(1, 0)
0

.
3.5.3. El caso cuadrtico
Un problema de programacin cuadrtica (PC para abreviar) es aquel cuya
funcin objetivo es cuadrtica y las restricciones son lineales. Formalmente puede
escribirse de la forma:
(1C) 'i:
1
2
r
0
Qr +c
0
r +/
:.a r _ 1,
(3.5)
donde r R
a
es la variable de decisin, Q es una matriz simtrica de orden :,
c R
a
, / R, es una matriz de orden :: (: N), y 1 R
n
.
La programacin cuadrtica tambin constituye un caso particular de inters
dentro de la PNL. De hecho, pueden consultarse en la literatura algoritmos
especcos de resolucin de problemas cuadrticos (vase, por ejemplo, [4] y
[5]). Entre sus propiedades destacamos el hecho de que
L P
11T
,
por tener las restricciones lineales (se cumple LCQ). Adems, la determinacin
del conjunto de puntos de KKT se reduce a la resolucin de diferentes sistemas de
ecuaciones lineales. Por ejemplo, para el subconjunto de ndices activos 1 (r) =
{i
1
, .., i
j
} {1, ..., :} las condiciones de KKT conducen al sistema:
_
_
_
(Qr +c) =
X
j
)=1
`
i

a
i

a
0
i

r 1
i

= 0, , = 1, ..., j,
donde a
i

representa la i
)
-sima la de .
84 Optimizacin matemtica aplicada
Otro resultado destacado de la programacin cuadrtica viene recogido en el
siguiente teorema que puede encontrarse en [10]. En l se emplea la terminologa
(de problema consistente, acotado y resoluble) dada en la denicin 3.2.
Teorema 3.7 (Frank y Wolfe, 1956) Consideremos el problema (1C) de pro-
gramacin cuadrtica dado en (3.5). Si (1C) es consistente, esto es, si existen
soluciones factibles, entonces (1C) es resoluble si, y solo si, (1C) es acotado.
Observacin 3.8 El resultado anterior puede aplicarse obviamente a proble-
mas de programacin cuadrtica sin restricciones, que pueden ser vistos como
problemas con restricciones donde el conjunto factible 1 = R
a
(por ejemplo,
basta tomar y / con todos sus coecientes nulos).
La siguiente proposicin presenta un caso especialmente sencillo, el de la
programacin cuadrtica convexa. Ntese que, si ) es la funcin objetivo de
(1C) , entonces
H) (r) = Q, para todo r R
a
.
As pues, en el caso en el que Q es denida o semidenida positiva, ) es convexa
(vase la proposicin 1.8). Puesto que las restricciones tambin son convexas
(por ser lineales), bajo estas condiciones se tiene que
P
11T
L,
como consecuencia del teorema 3.6(ii). Estos comentarios conducen al siguiente
resultado:
Proposicin 3.2 (Problemas cuadrticos convexos) Consideremos el pro-
blema (1C) de programacin cuadrtica introducido en (3.5) y supongamos que
Q es denida o semidenida positiva. Entonces, se tiene que
G = L = P
11T
.
(Adems, G 6= O si, y solo si, el valor ptimo de (1C) es nito, en virtud del
teorema 3.7).
Captulo 3. Optimizacin con restricciones 85
Ejemplo 3.11 Resolver el siguiente problema de optimizacin en R
3
, esto es,
determinar los conjuntos de puntos de KKT, ptimos locales y ptimos globales.
(1C) 'i: r
2
1
+ 2r
1
r
2
+r
2
2
+r
2
3
+r
1
+r
2
:.a r
1
+r
2
+r
3
_ 1,
r
1
r
2
r
3
_ 1.
Adaptamos nuestro problema al formato (3.5) considerando
Q =
_
_
_
_
2 2 0
2 2 0
0 0 2
_
_
_
_
, c =
_
_
_
_
1
1
0
_
_
_
_
, / = 0, =

1 1 1
1 1 1
!
, 1 =

1
1

.
A continuacin, determinamos el conjunto de puntos de KKT, distinguiendo los
diferentes casos de conjuntos de ndices activos.
Caso I: 1 (r) = O; esto es r
1
+r
2
+r
3
< 1, r
1
r
2
r
3
< 1. En este caso
hemos de resolver el sistema
\) (r) = (Qr +c) = 0,
cuyo conjunto de soluciones es o :=

r R
3
| 2r
1
+ 2r
2
= 1, r
3
= 0

. Veamos
cules de estos puntos son factibles. Si 2r
1
+ 2r
2
= 1 y r
3
= 0, entonces
r
1
+ r
2
+ r
3
=
1
2
_ 1, luego la primera restriccin se satisface en todos los
puntos de o. Respecto de la segunda, si r o, se tiene:
r
1
r
2
r
3
= r
1

1 2r
1
2

= 2r
1
+
1
2
_ 1 =r
1
_
1
4
.
En resumen, en este caso, el conjunto de puntos de KKT est dado por

r R
3
| 2r
1
+ 2r
2
= 1, r
3
= 0, r
1
<
1
4

.
Ntese que se ha considerado el menor estricto en r
1
<
1
4
para garantizar que
1 (r) = O.
Caso II: 1 (r) = {1}; esto es, r
1
+ r
2
+ r
3
= 1, r
1
r
2
r
3
_ 1. En este
86 Optimizacin matemtica aplicada
caso, las condiciones de KKT se escriben como:
_

_
_
_
_
2r
1
+ 2r
2
+ 1
2r
1
+ 2r
2
+ 1
2r
3
_
_
_
_
= `
1
_
_
_
_
1
1
1
_
_
_
_
,
r
1
+r
2
+r
3
= 1,
`
1
_ 0, r 1.
Del primer bloque de igualdades deducimos 2r
3
= `
1
y 2r
1
+ 2r
2
+ 1 = 2r
3
.
Por otro lado
r
1
+r
2
+r
3
= 1
2r
1
+ 2r
2
+ 1 = 2r
3
)
=r
3
=
3
4
=`
1
=
3
2
,
lo que contradice la no negatividad de `
1
. As pues, este caso no produce ningn
punto de KKT.
Caso III: 1 (r) = {2}; esto es, r
1
+ r
2
+ r
3
< 1, r
1
r
2
r
3
= 1. Las
condiciones de KKT se escriben como sigue:
_

_
_
_
_
2r
1
+ 2r
2
+ 1
2r
1
+ 2r
2
+ 1
2r
3
_
_
_
_
= `
2
_
_
_
_
1
1
1
_
_
_
_
,
r
1
r
2
r
3
= 1,
`
2
_ 0, r 1.
Del primer bloque de igualdades deducimos (2r
1
+ 2r
2
+ 1) = `
2
= `
2
, y
por tanto `
2
= 0. As pues,
2r
1
+ 2r
2
+ 1 = 0
2r
3
= 0
r
1
r
2
r
3
= 1
_

_
=r =

1
4
,
3
4
, 0

0
1.
En consecuencia, el punto r =

1
4
,
3
4
, 0

0
es punto de KKT con `
2
= 0.
Caso IV: 1 (r) = {1, 2}. En este caso hemos de resolver el sistema
_

_
_
_
_
2r
1
+ 2r
2
+ 1
2r
1
+ 2r
2
+ 1
2r
3
_
_
_
_
= `
1
_
_
_
_
1
1
1
_
_
_
_
+`
2
_
_
_
_
1
1
1
_
_
_
_
,
r
1
+r
2
+r
3
= 1, r
1
r
2
r
3
= 1,
`
1
, `
2
_ 0, r 1.
Captulo 3. Optimizacin con restricciones 87
Del primer bloque de ecuaciones se deduce, (2r
1
+ 2r
2
+ 1) = `
1
+ `
2
=
`
1
`
2
= 2r
3
. As pues `
2
= 0 y junto con el segundo bloque obtenemos el
sistema de 3 ecuaciones y 3 incgnitas siguiente:
2r
1
+ 2r
2
+ 1 = 2r
3
r
1
+r
2
+r
3
= 1
r
1
r
2
r
3
= 1
_

_
=r
1
= 1, r
2
=
3
4
, r
3
=
3
4
.
A continuacin, sustituyendo en el primer bloque de igualdades obtenemos `
1
=

3
2
lo que contradice la no negatividad de los escalares. Por tanto, este caso,
tampoco produce ningn nuevo punto de KKT.
En resumen, se tiene que
G = L = P
11T
=

r R
3
| 2r
1
+ 2r
2
= 1, r
3
= 0, r
1
_
1
4

,
puesto que Q es semidenida positiva (sus valores propios son 4, 0 y 2).
3.6. Esquema de resultados y ejercicios resueltos
Seguidamente, por motivos didcticos, presentamos los siguientes esquemas
donde se resume la informacin ms relevante de este captulo. En cada mo-
mento se asumir que se verican las hiptesis de diferenciabilidad necesarias:
por ejemplo, cuando se haga referencia a la condicin r es punto de KKT
asumiremos implcitamente que ) y las q
i
, con i 1 (r) son diferenciables en
r y cuando se haga referencia a condiciones de segundo orden, asumiremos que
dichas funciones son de clase C
2
en un entorno del punto considerado.
Caso: (1) un problema de PNL general. El siguiente esquema resume
la informacin contenida en los teoremas 3.1, 3.2 y 3.3.
r ptimo local de (1)
_

_
=
CQ
r punto de KKT de (1)
=
LICQ
H
a
1

r, `

DP o SDP sobre ' (r)


=r punto de KKT de (1) y H
a
1

r, `

DP
sobre '
+

r, `

Recurdese que DP y SDP son abreviaturas de denida postiva y semidenida


positiva.
88 Optimizacin matemtica aplicada
En trminos de contenidos, obviando las condiciones de segundo orden, ten-
dramos
G L P
11T
' N,
donde N denota al conjunto de puntos factibles donde no se cumple LCQ, ni
LICQ, ni SCQ. En otros trminos, los candidatos a ptimos locales, en sentido
de puntos no descartables a priori , apoyndonos en el teorema 3.1, seran tanto
los puntos de KKT como los que no verican ninguna de las hiptesis LCQ,
LICQ o SCQ.
Caso: (1) un problema de PNL general con 1 6= O compacto. En
este caso, se aade la propiedad de que G 6= O (Teorema de Weierstrass):
(
En general: O 6= G L P
11T
' N,
Bajo CQ en todo punto factible: O 6= G L P
11T
Caso: (1) un problema de programacin convexa. A continuacin, se
resume la informacin del teorema 3.6:
(
En general: G = L P
11T
' N y P
11T
G,
Bajo CQ en todo punto factible: G = L = P
11T
.
Caso: (1) un problema de programacin cuadrtica. Se tiene:
(
En general: G L P
11T
,
Si Q es DP o SDP: G = L = P
11T
.
Ejercicio 3.1 Consideremos el problema de PNL, en R
2
, dado por:
(1) 'i: r
2
:.a r
2
1
r
2
2
+ 1 _ 0,
(r
1
1)
2
+r
2
2
1 _ 0,
2

r
1

1
2

3
+r
2
2

3
4
_ 0.
Analizando las diferentes elecciones de conjuntos de ndices activos, obtene-
mos las siguientes situaciones (obsrvese que, puesto que tenemos tres restric-
ciones, tendremos que contemplar 2
3
= 8 casos).
Caso I : 1 (r) = O. Ningn punto verica \) (r) = 0
2
.
Caso II : 1 (r) = {1} . Si r es tal que 1 (r) = {1} , ha de ser r 6= 0
2
(pues r
2
1
+
r
2
2
= 1) y, por tanto, se verica LICQ en dicho punto, puesto que {\q
1
(r)} =
Captulo 3. Optimizacin con restricciones 89
n

2a
1
2a
2

o
es linealmente independiente si r 6= 0
2
. As pues, planteamos el sistema

0
1

= `
1

2a
1
2a
2

. La nica solucin con `


1
_ 0 es (r
1
, r
2
, `
1
)
0
=

0, 1,
1
2

0
, que
proporciona un punto no factible. As pues, no tenemos ningn candidato.
Caso III : 1 (r) = {2} . En este caso se verica la cualicacin de restricciones
de Slater (q
2
es convexa, y por ejemplo q
2
(1, 0) = 1 < 0). Planteando las
condiciones de KKT, encontramos una solucin (r
1
, r
2
, `
2
)
0
=

1, 1,
1
2

0
, que
no corresponde a este caso puesto que la tercera restriccin tambin es activa.
Caso IV: 1 (r) = {3} . Se verica la cualicacin de restricciones de inde-
pendencia lineal, pues la nica solucin de \q
3
(r) = 0
2
es r =

1
2
, 0

0
, que
no es un punto factible. Del sistema \) (r) = `
3
\q
3
(r) , obtenemos las ni-
cas soluciones (r
1
, r
2
, `
3
)
0
=

1
2
,

3
2
,
1

0
, y (r
1
, r
2
, `
3
)
0
=

1
2
,

3
2
,
1

0
; 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: 1 (r) = {1, 2} y VI: 1 (r) =
{1, 3} .
Caso VII : 1 (r) = {2, 3} . Se verica LICQ, y las condiciones de KKT
proporcionan como nico candidato (realmente correspondiente a este caso) a
(r
1
, r
2
, `
2
, `
3
)
0
=

1, 1,
1
2
, 0

0
.
Caso VIII : Finalmente, en el caso 1 (r) = {1, 2, 3} no se verican SCQ,
ni LICQ, y por supuesto no se verica LCQ. As pues, no pueden emplearse
ninguno de los resultados sobre condiciones necesarias de optimalidad (teoremas
3.1 y 3.2) para descartar nuevos puntos. En este sentido, automticamente,
todos los puntos que pertenezcan a este caso son candidatos a ptimos locales.
Concretamente, tendramos dos nuevos candidatos:

1
2
,

3
2

0
y

1
2
,
+

3
2

0
.
En resumen, disponemos de tres candidatos a ptimos locales; esto es, con
la notacin de esta seccin:
G L P
11T
' N =
(
(1, 1)
0
,

1
2
,

_
3
2
!
0
,

1
2
,
+
_
3
2
!
0
)
En la gura 3.3, en la que hemos representado el conjunto factible de (1) , puede
apreciarse intuitivamente que

1
2
,

3
2

0
y

1
2
,
+

3
2

0
no son en realidad ptimos
locales (recurdese que se est minimizando r
2
). Formalmente, para comprobar
90 Optimizacin matemtica aplicada

-1
-0.5 0 0.5 1 1.5 2
-1.5
-1
-0.5
0
0.5
1
1.5
F
Figura 3.3: Ilustracin del ejercicio 3.1.
que r
1
:=

1
2
,

3
2

0
no es ptimo local tomemos, por ejemplo, la sucesin
r
v
:=

1
2
+
1
r
,
r
3
4
+
1
r
3
!
0
, r = 2, 3...,
que converge a r
1
y verica:
r
v
1 y ) (r
v
) < )

r
1

, para todo r _ 2.
Por otro lado, para comprobar que r
2
:=

1
2
,
+

3
2

0
tampoco es ptimo local,
basta considerar la sucesin
j
v
:=
_
_
1
2
+
1
r
,
s
1

1
2
+
1
r

2
_
_
0
, r = 2, 3....
Puede comprobarse fcilmente que j
v
1 y ) (j
v
) < )

r
2

, para todo r _ 2.
El punto r = (1, 1)
0
, ser un ptimo local de (1) , y de hecho global. En
este caso particular no hace falta realizar ningn clculo adicional, pues 1 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 (1),
esto es, G 6= O. Puesto que r = (1, 1)
0
es el nico candidato, ste ha de ser un
ptimo global de (1) .
Captulo 3. Optimizacin con restricciones 91
h
r
10 m
Figura 3.4: Ilustracin del ejercicio 3.2.
Ejercicio 3.2 (1 compacto y todos sus puntos verican SCQ) Se desea
construir un depsito con forma cilndrica acabado en dos semiesferas (vase la
gura 3.4) con el n de albergar la mayor cantidad posible de combustible. Co-
mo se muestra en la gura, el depsito se transportar sobre un remolque de
10 m de longitud, por lo que la longitud de este depsito no debe exceder los
10 m. Adems, por motivos de estabilidad en el transporte, las dimensiones del
depsito, r y /, han de vericar r
2
+/ _ 16. Se pide:
a) Plantear un modelo de optimizacin (1) en trminos de minimizar, cuya
solucin nos proporcione las medidas del depsito de mayor volumen posible.
b) Determinar un ptimo global de (1). Se trata de un problema convexo?
c) Qu ocurrira si se pudiera disponer de un ligero incremento en la longitud
del remolque?
Solucin. a) El objetivo del problema claramente consiste en maximizar el
volumen, el cual viene dado por la suma del volumen de una esfera de radio r,
y un cilindro de radio r y altura /; esto es,

e
1

'ar
4
3
r
3
+r
2
/
:.a r
2
+/ _ 16;
2r +/ _ 10;
r, / _ 0.
Escrito en trminos de minimizar nos lleva al modelo
(1) 'i:
4
3
r
3
r
2
/
:.a r
2
+/ _ 16;
2r +/ _ 10;
r, / _ 0.
92 Optimizacin matemtica aplicada
b) El problema no es convexo. En efecto, veamos que la funcin objetivo
) (r, /) =
4
3
r
3
r
2
/ no es convexa. Para ello determinamos la matriz hes-
siana:
\) (r, /) =

4r
2
2r/
r
2

, H) (r, /) =

8r 2/ 2r
2r 0
!
.
Por ejemplo,
H) (1, 1) =

10 2
2 0
!
es indenida, luego ) no es convexa (en virtud de la proposicin 1.8).
Ntese que el conjunto factible es acotado pues, por ejemplo, de las restric-
ciones 1, 3 y 4 obtenemos:
r
2
+/ _ 16
r, / _ 0
)
=0 _ / _ 16, r
2
_ 16, r _ 0 =0 _ / _ 16, 0 _ r _ 4.
Por ser adems cerrado, 1 es compacto. Adems, se cumple SCQ en todos los
puntos factibles, pues todas las restricciones son convexas y existe un punto de
Slater para el sistema completo, por ejemplo, (r, /)
0
= (1, 1)
0
. En estas condi-
ciones podemos asegurar la veracidad de la siguiente cadena de inclusiones
O 6= G L P
11T
.
Por tanto, el conjunto de puntos de KKT proporciona todos los candidatos a
ptimos locales y globales.
Con el n de agilizar la resolucin de este problema, veamos en primer lugar
que no es necesario analizar todas las combinaciones de ndices activos (en este
caso habra un total de 2
4
combinaciones) puesto que a priori podemos descartar
aquellas combinaciones que contienen al ndice 3 (entendemos que q
1
(r, /) =
r
2
+/16, q
2
(r, /) = 2r +/10, q
3
(r, /) = r, q
4
(r, /) = /). Formalmente,
si 3 1 (r, /) , entonces r = 0 y el punto (0, /)
0
no es ptimo global de (1) para
ningn valor de / pues ) (0, /) = 0 ) (1, 1) , siendo (1, 1)
0
1. Seguidamente
determinamos los puntos de KKT distinguiendo los 8 casos restantes.
Caso I : 1 (r) = O. En este caso hemos de resolver el sistema
\) (r, /) =

4r
2
2r/
r
2

0
0

.
Captulo 3. Optimizacin con restricciones 93
De aqu se deduce r = 0 y como hemos comprobado anteriormente, un punto
de la forma (0, /) no puede ser ptimo global.
Caso II : 1 (r) = {1}. Resolvemos el sistema

4r
2
2r/
r
2

= `
1

2r
1

=
(
2r (2r +/) = 2r`
1
,
r
2
= `
1
.
Puesto que ha de ser r 6= 0, se tiene (2r +/) = `
1
y r
2
= `
1
. Adems, en el
caso actual ha de cumplirse r
2
+/ = 16. As pues, queda el sistema
2r +/ = r
2
r
2
+/ = 16
)
=r =
1
2

1
_
33

.
Si nos quedamos con la raz positiva r =
1
2

1 +
_
33

~
= 3. 3723, entonces / =
16r
2
= 16
1
4

1 +
_
33

2
~
= 4. 6277. Este punto no es factible pues no verica
la segunda restriccin.
Caso III : 1 (r) = {2}. Resolvemos el sistema

4r
2
2r/
r
2

= `
2

2
1

=
(
2r (2r +/) = 2`
2
,
r
2
= `
2
.
De donde se deduce 2r (2r +/) = 2r
2
. Puesto que ha de ser r 6= 0, se tiene
(2r +/) = r luego r +/ = 0. Si r 6= 0, entonces / < 0, lo cual no puede ser.
Caso IV: 1 (r) = {4}. En este caso hemos de resolver el sistema

4r
2
2r/
r
2

= `
4

0
1

.
Puesto que estamos suponiendo que / = 0, se tiene de la primera ecuacin r = 0
y como se ha comentado anteriormente (0, 0)
0
no es ptimo global del problema
(de hecho no lo es ningn punto de la forma (0, /)
0
).
Caso V: 1 (r) = {1, 2}. Resolvemos el sistema

4r
2
2r/
r
2

= `
1

2r
1

+`
2

2
1

, (3.6)
junto con r
2
+ / = 16 y 2r + / = 10. La nica solucin de coordenadas no
negativas es r =
_
7 + 1, / = 8 2
_
7. Sustituyendo estos valores en (3.6)
obtenemos los escalares `
1
= 8 +
2
7

_
7, `
2
=
12
7

_
7 ambos no negativos.
94 Optimizacin matemtica aplicada
Caso VI : 1 (r) = {1, 4}. Hemos de resolver el sistema

4r
2
2r/
r
2

= `
1

2r
1

+`
4

0
1

=
(
2r (2r +/) = 2r`
1
,
r
2
= `
1
`
4
.
Adems, han de cumplirse r
2
+/ 16 y / = 0, lo que conduce a (r, /)
0
= (4, 0)
0
puesto que ha de ser r _ 0. Entonces `
1
= 8 y `
4
= 816 < 0. Luego (4, 0)
0
no es punto de KKT.
Caso VII : 1 (r) = {2, 4}. Obtenemos el sistema

4r
2
2r/
r
2

= `
2

2
1

+`
4

0
1

.
Adems, 2r + / 10 = 0 y / = 0, lo que nos lleva a (r, /)
0
= (5, 0)
0
que no es
factible pues no verica la primera restriccin.
Caso VIII : 1 (r) = {1, 2, 4}. Este caso no admite ninguna solucin pues no
existe ningn punto vericando simultneamente r
2
+/16 = 0, 2r +/1 = 0
y / = 0.
En resumen, tenemos como nico candidato a ptimo global al punto
(r, /)
0
=

_
7 + 1, 8 2
_
7

0
.
Formalmente G
n
_
7 + 1, 8 2
_
7

0
o
. Puesto que ha de ser G 6= O en virtud
del teorema de Weierstrass, nalmente concluimos que
G =
n
(
_
7 + 1, 8 2
_
7)
0
o
.
c) Responderemos a este apartado aplicando el teorema 3.4. Para ello,
hemos de vericar que se satisfacen las hiptesis del teorema. En primer lu-
gar, si denotamos por r =
_
7 + 1, 8 2
_
7

0
y ` =

8 +
2
7

_
7,
12
7

_
7

0
,
ntese que 1 (r) = 1
+

r, `

= {1, 2}. Ntese, adems, que se cumple LICQ y


que '
+

r, `

= {0
2
}, luego se cumple trivialmente la condicin suciente de
segundo orden.
Respecto de la pregunta de este apartado podemos responder en trminos
informales diciendo que un ligero incremento en el remolque (miembro derecho
de la restriccin 2), pongamos un incremento de - 0, modica el objetivo de
(1) en `
2
- =
12
7

_
7-. En trminos del problema original de maximizar el
volumen, podramos decir que el volumen aumenta en
12
7

_
7-.
Captulo 3. Optimizacin con restricciones 95
Ejercicio 3.3 (1 compacto y todos sus puntos verican SCQ) Se pre-
tende canalizar el cauce de un ro mediante un canal cuya seccin transversal
tendr forma de trapecio, cuya base menor, /, medir 1 m. Si denotamos por 1
y / (medidas en metros) a la base mayor y a la altura del trapecio, respectiva-
mente, por razones de resistencia /
2
no debe superar a la semisuma de las bases
y, por otro lado, / + 1 + / _ 6. Con el n de determinar las dimensiones que
maximizan el rea del trapecio, resolveremos las siguientes cuestiones:
a) Plantear el modelo de optimizacin (1) correspondiente, en trminos de
minimizar. Se trata de un problema convexo?
b) Determinar el conjunto de ptimos globales.
Solucin. a) El planteamiento ser

e
1

'ar
1
2
(1 + 1) /
:.a /
2
_
1
2
(1 + 1) ;
1 +1 +/ _ 6;
1, / _ 0.
En trminos de minimizar con restricciones de _ escribimos el modelo equiva-
lente
(1) 'i:
1
2
(1 + 1) /
:.a
1
2
(1 + 1) +/
2
_ 0;
5 +1 +/ _ 0;
1, / _ 0.
El problema no es convexo pues, aunque las restricciones son convexas, la
funcin objetivo no lo es. En efecto, si ) (1, /) =
1
2
(1 + 1) /, se tiene:
\) (1, /) =


1
2
/

1
2
1
1
2

y H) (1, /) =

0
1
2

1
2
0
!
.
Ntese que H) (1, /) es indenida para cualquier (1, /) .
b) Puede comprobarse fcilmente que 1 es compacto y no vaco, y se verica
SCQ en todos los puntos factibles (por ejemplo, el punto

1,
1
2

0
es un punto de
Slater). Por tanto
O 6= G L P
11T
.
96 Optimizacin matemtica aplicada
Luego las condiciones de KKT proporcionan todos los candidatos a ptimos
globales. Por otro lado, por un argumento anlogo al del ejercicio anterior, puede
comprobarse que en un ptimo global no pueden ser activas ninguna de las
restricciones 3 y 4. As pues, hemos de analizar cuatro combinaciones.
Caso I : 1 (r) = O. En este caso, ha de ser
\) (1, /) =


1
2
/

1
2
1
1
2

0
0

,
lo que conduce a / = 0, y no nos lleva a ningn ptimo global.
Caso II : 1 (r) = {1}. Resolvemos el sistema


1
2
/

1
2
1
1
2

= `
1

1
2
2/

.
La primera ecuacin nos lleva a `
1
= /, lo que implica / = 0 (pues `
1
_ 0,
/ _ 0). En estas condiciones la primera restriccin no puede ser activa.
Caso III : 1 (r) = {2}. Resolvemos el sistema


1
2
/

1
2
1
1
2

= `
2

1
1

=/ = 1 + 1.
Adems, ha de ser 5+1+/ = 0 que nos lleva a 1 = 2, / = 3, que no satisface
la primera restriccin.
Caso IV: 1 (r) = {1, 2}. Las condiciones de KKT quedan
_


1
2
/

1
2
1
1
2

= `
1

1
2
2/

+`
2

1
1

1
2
(1 + 1) +/
2
= 0, 5 +1 +/ = 0.
El segundo bloque de ecuaciones (las dos ltimas) tiene como nica solucin con
coordenadas no negativas 1 =
7
2
, / =
3
2
. Calculemos ahora los multiplicadores
de KKT. Sustituyendo 1 y / en el primer bloque de desigualdades para obtener
valores para `
1
y `
2
:
3
4
=
1
2
`
1
+`
2
9
4
= 3`
1
+`
2
)
=`
1
=
3
7
, `
2
=
27
28
.
Ejercicio 3.4 (1 no acotado, (1) no convexo) Se desean determinar las di-
mensiones ptimas (r, j, . medidas en metros) de una caja, en el sentido de ma-
ximizar su volumen, suponiendo que existe una limitacin del material disponible
de 6 m
2
. En concreto se pide:
Captulo 3. Optimizacin con restricciones 97
a) Plantear el problema de optimizacin que resuelve esta cuestin; se trata
de un problema convexo?
b) Comprobar que 1 no es acotado.
c) Determinar el conjunto de puntos de KKT del problema analizando la
vericacin de LCQ, LICQ o SCQ.
d) Determinar el conjunto de optimos locales.
e) Determinar el conjunto de ptimos globales.
Solucin. a) El planteamiento del problema quedara:

e
1

'ar rj.
:.a rj +r. +j. _ 3,
r, j, . _ 0.
En trminos de minimizar lo escribios como sigue
(1) 'i: rj.
:.a rj +r. +j. _ 3,
r, j, . _ 0.
El problema no es convexo pues ni la funcin objetivo ni la primera restric-
cin lo son. Respecto de la funcin objetivo ) (r, j, .) = rj. se tiene:
\) (r, j, .) =
_
_
_
_
j.
r.
rj
_
_
_
_
, H) (r, j, .) =
_
_
_
_
0 . j
. 0 r
j r 0
_
_
_
_
,
y, por ejemplo, H) (1, 1, 1) es indenida.
b) 1 no es acotado, pues, por ejemplo, la sucesin no acotada
n

:,
1
a
,
1
a

0
o
est contenida en 1 (:
1
a
+:
1
a
+
1
a
2
_ 3, para todo : N).
c) Puesto que se nos pide el conjunto de puntos de KKT, analizaremos todas
las posibilidades.
Caso I : 1 (r) = O; esto es, suponemos que rj + r. + j. < 3, r, j, .
0. Entendemos que se cumple trivialmente, por ejemplo, LCQ. Este caso no
proporciona ninguna solucin.
Caso II : 1 (r) = {1}; esto es, suponemos que rj +r. +j. = 3, r, j, . 0.
En los puntos de este caso se cumple LICQ, pues (j +., r +., r +j)
0
6= 0
3
.
98 Optimizacin matemtica aplicada
Para determinar los puntos de KKT, resolvemos el sistema
_
_
_
_
j.
r.
rj
_
_
_
_
= `
1
_
_
_
_
j +.
r +.
r +j
_
_
_
_
=`
1
=
j.
j +.
=
r.
r +.
=
rj
r +j
.
Puesto que r, j, . 0, se obtiene
r = j = ..
Teniendo en cuenta adems que rj +r. +j. = 3, la nica solucin es
r = j = . = 1, con `
1
=
1
2
,
que es un punto de KKT.
Casos III,IV y V: 1 (r) = {2}, 1 (r) = {3}, e 1(r) = {4}. Estos casos no
proporcionan ninguna solucin. Por ejemplo, si 1 (r) = {2}, estamos bajo las
hiptesis r = 0, j 0, . 0. En este caso,
_
_
_
_
j.
r.
rj
_
_
_
_
= `
2
_
_
_
_
1
0
0
_
_
_
_
.
La primera ecuacin conduce a la contradiccin 0 < j. = `
2
_ 0. De forma
anloga se analizan los dos casos restantes.
Casos VI, VII y VIII : 1 (r) = {1, 2}, 1 (r) = {1, 3} e 1(r) = {1, 4}. Puede
comprobarse fcilmente que en todos los casos se cumple LICQ. Veamos que no
se obtiene ningn punto de KKT. Analicemos, por ejemplo, el caso 1 (r) = {1, 2}
(los dems son anlogos por la simetra del problema). Suponemos rj+r.+j. =
3, r = 0, j 0, . 0. Las condiciones de KKT conducen a
_
_
_
_
j.
r.
rj
_
_
_
_
= `
1
_
_
_
_
j +.
r +.
r +j
_
_
_
_
+`
2
_
_
_
_
1
0
0
_
_
_
_
=j. = `
1
(j +.) `
2
, 0 = `
1
. = `
1
j,
lo que implica `
1
= 0, que conduce a la contradiccin 0 < j. = `
2
_ 0.
Casos IX, X y XI : 1 (r) = {2, 3}, 1 (r) = {2, 4}, e 1(r) = {3, 4}. En
todos los casos se cumple LCQ. Adems, estos casos proporcionan, respecti-
vamente, los conjuntos de soluciones

(0, 0, .)
0
| . 0

(0, j, 0)
0
| j 0

(r, 0, 0)
0
| r 0

, con multiplicadores nulos en todos ellos.


Captulo 3. Optimizacin con restricciones 99
Caso XII: 1 (r) = {2, 3, 4}. Puede comprobarse fcilmente que r = (0, 0, 0)
0
es punto de KKT con `
2
= `
3
= `
4
= 0 (y consideramos tambin `
1
= 0) y que
se verica LICQ (o LCQ).
El resto de casos (hasta XVI) dan lugar, inmediatamente, a contradicciones.
Por ejemplo, el caso 1 (r) = {1, 2, 3} conduce a la contradiccin 0 = 3 (pues
rj +r. +j. = 3, r = 0, j = 0).
En resumen, en todos los puntos de 1 se cumple alguna cualicacin de
restricciones y el conjunto de puntos de KKT es
P
11T
= {(1, 1, 1)
0
} '

(0, 0, .)
0
| . 0

'

(0, j, 0)
0
| j 0

'

(r, 0, 0)
0
| r 0

' {(0, 0, 0)
0
}.
d) Analizaremos las condiciones de segundo orden en cada uno de puntos de
KKT. Distinguiremos los casos correspondientes:
Caso d.1) r = (1, 1, 1)
0
, con vector de multiplicadores de KKT ` =
(1,2, 0, 0, 0)
0
se tiene 1 (r) = {1} = 1
+

r, `

y, por tanto,
' (r) = '
+

r, `

=

(2, 2, 2)
0

=

R
3
| 2
1
+ 2
2
+ 2
3
= 0

.
Por otro lado,
H
a
1

r, `

=
_
_
_
_
0 1 1
1 0 1
1 1 0
_
_
_
_
+
1
2
_
_
_
_
0 1 1
1 0 1
1 1 0
_
_
_
_
=
_
_
_
_
0
1
2

1
2

1
2
0
1
2

1
2

1
2
0
_
_
_
_
.
Consideramos una base de ' (r), por ejemplo {(1, 0, 1)
0
, (0, 1, 1)
0
}, y ana-
lizamos la matriz asociada a las restricciones de H
a
1

r, `

sobre ' (r) :

1 0 1
0 1 1
!
_
_
_
_
0
1
2

1
2

1
2
0
1
2

1
2

1
2
0
_
_
_
_
_
_
_
_
1 0
0 1
1 1
_
_
_
_
=

1
1
2
1
2
1
!
,
que es denida positiva. Por tanto, r = (1, 1, 1)
0
es ptimo local de (1) .
Caso d.2) En el caso r = (0, 0, .)
0
con . 0, ` = (0, 0, 0, 0)
0
, se tiene
1 (r) = {2, 3}, 1
+

r, `

= O y, por tanto,
' (r) =

(1, 0, 0)
0
, (0, 1, 0)
0

=

R
3
|
1
= 0,
2
= 0

.
100 Optimizacin matemtica aplicada
Por otro lado, en este caso trivial en el que 1
+

r, `

= O se dene
'
+

r, `

= R
3
.
Adems, se tiene:
H
a
1

r, `

=
_
_
_
_
0 . 0
. 0 0
0 0 0
_
_
_
_
.
Para la comprobacin de la condicin necesaria de segundo orden, seleccionamos
una base de ' (r) , por ejemplo (0, 0, 1)
0
, y calculamos
(0, 0, 1)
_
_
_
_
0 . 0
. 0 0
0 0 0
_
_
_
_
_
_
_
_
0
0
1
_
_
_
_
= (0) .
Por tratarse de matriz nula, verica la condicin necesaria, por lo que r =
(0, 0, .)
0
sigue siendo candidato a ptimo local. Veamos si cumple la suciente.
La restriccin de H
a
1

r, `

sobre '
+

r, `

= R
3
da lugar a la misma ma-
triz, que es indenida; 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 denicin de pti-
mo local. Veamos que r = (0, 0, .)
0
, con . 0 no es ptimo local. En efecto,
consideremos la sucesin
n

1
a
,
1
a
, .

0
o
aN
y ntese que

1
a
,
1
a
, .

0
1 para :
sucientemente grande, puesto que
rj +r. +j. =
1
:
2
+
.
:
+
.
:
_ 3, para : sucientemente grande (: _ :
0
) .
Por otro lado,
)

1
:
,
1
:
, .

=
1
:
2
. < 0 = ) (0, 0, .) , para todo :.
Esto prueba que r = (0, 0, .)
0
, con . 0 no es ptimo local (recurdese la
observacin 3.1).
Los casos d.3) y d.4) correspondientes a r = (0, j, 0)
0
con j 0 y r =
(r, 0, 0)
0
, con r 0, respectivamente, se resuelven con argumentos anlogos al
anterior. Ninguno de los casos proporciona un ptimo local.
Captulo 3. Optimizacin con restricciones 101
Caso d.5) r = (0, 0, 0)
0
. Este punto no es ptimo local, como puede com-
probarse a partir de la denicin. En efecto,

1
:
,
1
:
,
1
:

aN
1,
pues rj +r. +j. =
3
a
2
_ 3, r, j, . _ 0 y, por otro lado
)

1
:
,
1
:
,
1
:

=
1
:
3
< 0 = ) (0, 0, 0) .
En resumen, el conjunto de ptimos locales de (1) , equivalentemente de

e
1

, es
L =

(1, 1, 1)
0

.
e) Veamos que (1, 1, 1) es un ptimo global de

e
1

, lo que equivale a que


sea ptimo global de (1). Para ello, acudiremos directamente a la denicin.
Denotemos por t := rj, r := r., : = j.. Ntese que
tr: = rjr.j. = (rj.)
2
.
As pues, el objetivo de

e
1

puede escribirse como (teniendo en cuenta que


todas las variables toman valores no negativos):
rj. =
_
tr:.
En trminos de las nuevas variables, el problema

e
1

se traduce en:

e
e
1

'ar
_
tr:
:.a t +r +: _ 3,
t, r, : _ 0.
Adems

e
e
1

es equivalente (en el sentido de que tiene los mismos ptimos


locales y globales) al problema

b
1

'ar tr:
:.a t +r +: _ 3,
t, r, : _ 0.
102 Optimizacin matemtica aplicada
El nuevo problema

b
1

tiene conjunto factible acotado (en particular t, r, :


[0, 3]), y fcilmente se comprueba que (t, r, :)
0
= (1, 1, 1)
0
es un ptimo global
(el nico punto de KKT con conjunto de ndices activos {1}).
Por tanto, (t, r, :)
0
= (1, 1, 1)
0
es el ptimo global de

e
1

. En particular, el
ptimo global de nuestro problema (1) ha de vericar
t = rj = 1, r = r. = 1, : = j. = 1,
de donde se deduce r = j = . = 1 (ntese que r =
1
j
, r =
1
:
e igualando se llega
a j = .; utilizando entonces j. = 1 se llega a j = . = 1 =r = 1). En resumen,
el ptimo global de

e
1

se alcanza en (r, j, .)
0
= (1, 1, 1)
0
.
Observacin 3.9 Para el anlisis de la optimalidad local, en ocasiones las
condiciones necesaria y suciente de segundo orden en el punto considerado
r, no ayudan ni a descartar r como ptimo local ni a conrmar que se trata de
un ptimo local. En este caso, como ocurre en los casos d.2) a d.5) del apartado
d) del ejercicio anterior, tendremos que acudir directamente a la denicin.
Parte II
Prcticas de optimizacin con
MATLAB
Captulo 4
Prcticas de optimizacin sin
restricciones
El objetivo de este captulo es doble. Por un lado, pretende desarrollar la
intuicin (en 2 y 3 dimensiones) acerca de las diferentes situaciones que pueden
presentarse en relacin con un problema de optimizacin. Con este n, la seccin
4.1 nos introduce en los primeros clculos con el programa MATLAB orientados
principalmente a la elaboracin de grcas en 2 y 3 dimensiones, previamente
se introducen las nociones bsicas de clculo matricial necesarias.
Por otro lado, un objetivo fundamental consiste en adquirir destreza en la
resolucin de problemas de optimizacin sin restricciones. A ello estn dedicadas
las secciones 4.2 y 4.3. La seccin 4.2 presenta diferentes funciones bsicas de
matemtica simblica, concretamente, aquellas que pueden ayudar en la re-
solucin de (1) apoyndose en las condiciones de optimalidad. Por su parte,
la seccin 4.3 presenta las funciones bsicas de la herramienta de optimizacin
(en ingls optimization toolbox) de MATLAB correspondientes a problemas de
optimizacin sin restricciones.
Las presentes prcticas estn elaboradas con la versin 7.1 de MATLAB, si
bien el material que aqu se presenta puede ser utilizado tanto para versiones
anteriores como posteriores. Como se ha comentado en el prrafo anterior, se
har uso, adems, de la llamada optimization toolbox que contiene una amplia
coleccin de algoritmos de optimizacin ya implementados en MATLAB.
105
106 Optimizacin matemtica aplicada
El nombre MATLAB viene de Matrix Laboratory. Se trata de un sistema
interactivo donde los elementos bsicos donde se almacenan los datos son ma-
trices (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. Clculo matricial y grcos con MATLAB(prc-
tica 1)
Iniciamos el programa con doble click sobre el icono de MATLAB. Aparece
entonces la pantalla inicial de MATLAB (vase de la gura 4.1) donde podemos
encontrar las ventanas: Workspace, Command History y Command Win-
dow.
Figura 4.1: Pantalla inicial de MATLAB.
Captulo 4. Prcticas de optimizacin sin restricciones 107
En realidad, la coleccin de ventanas que aparece por defecto se selecciona
en el men Desktop de la barra de herramientas de MATLAB. Nuestra ventana
de trabajo ser esta ltima, Command window, que traduciremos por ventana
de comandos.
En la ventana de comandos pueden realizarse clculos directos, o bien ejecu-
tarse las funciones y los programas elaborados con el lenguaje de programacin
de MATLAB.
4.1.1. Clculos directos y variables
Comenzaremos realizando clculos directos con nmeros reales mediante las
operaciones tpicas: suma (+), diferencia (-), producto (*), cociente (/ o \ ; por
ejemplo, 3/2=2\3) y potencia (^).
Por ejemplo, para realizar la operacin 2+3

4
3
+ 5

3
, empleamos la sintaxis
que encontramos en la gura 4.2.
Figura 4.2: Clculos directos con MATLAB.
Una vez escrita la operacin numrica pulsamos ENTER y aparece el re-
sultado 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 gura 4.2.
108 Optimizacin matemtica aplicada
Observacin 4.1 (Formatos numricos) Por defecto, los resultados se ex-
presan en formato numrico decimal con 4 cifras decimales. Vanse otros for-
matos numricos a travs de la opcin Numeric format, dentro de Prefe-
rences 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 denimos en trminos de otras ya existentes, por ejemplo,
como resultante de ciertas operaciones aritmticas.
Ejemplo 4.1 (Empleo de variables) Obtendremos el benecio 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
tipo B) = 4, DEMANDA_A =
10
(40 + PRECIO_A
2
)
(millones de unidades del turrn
tipo A) y DEMANDA_B =
10
(100 + PRECIO_B
2
)
(millones de unidades del turrn tipo
B). Introduciremos los datos en MATLAB y obtendremos el ingreso total, tal y
como se muestra en las guras 4.3 y 4.4.
Figura 4.3: Introduccin de variables.
Captulo 4. Prcticas de optimizacin sin restricciones 109
Figura 4.4: Resultado nal del ejemplo 4.1.
Observacin 4.2 (Acerca del nombre de una variable) En relacin con
el nombre de una variable, no estn permitidos los espacios en blanco; adems,
MATLAB es sensible al empleo de maysculas.
Observacin 4.3 En la gura 4.3 puede apreciarse la diferencia que existe en-
tre escribir o no un punto y coma al nal de la sentencia. Concretamente, el
punto y coma hace que no se muestren las salidas correspondientes en patalla,
aunque permanecen guardadas en la memoria del programa.
Comandos bsicos en relacin con las variables existentes:
clear: elimina todas variables; para eliminar una sola variable escribiremos
el nombre de dicha variable a continuacin (por ejemplo, clear PRECIO_A).
who: muestra en pantalla las variables actuales (gura 4.5); whos propor-
ciona una informacin ms detallada del tamao de las variables.
save y load nos permite guardar y recuperar variables.
Observacin 4.4 (Cursores) Los cursores del teclado ( y |) nos permiten
avanzar o retroceder por las diferentes sentencias introducidas en la ventana de
comandos.
110 Optimizacin matemtica aplicada
Figura 4.5: Comando who.
4.1.2. Vectores y matrices
Los datos de una matriz se encierran siempre entre corchetes, los elementos
de una misma la se separan por un espacio en blanco o una coma, y para
pasar de una la a otra pondremos punto y coma. Los vectores la o columna
se introducen del mismo modo (pues son casos particulares de matrices). Por
ejemplo, para introducir los datos siguientes:
r = (1, 2, 5) , j =
_
_
_
_
2
3
6
_
_
_
_
, =
_
_
_
_
1 4 2
1,2 6 7
1 0 1
_
_
_
_
,
emplearemos la sintaxis de la gura 4.6. Para referirnos a alguna componente
de r, j o pondremos r(i) , j (i) , (i, ,) .
Respecto de operaciones bsicas con matrices destacamos las siguientes:
La suma y diferencia de las matrices y 1 se representa por + 1 y
1. Estas operaciones requieren que ambas matrices tengan la misma
dimensin.
El producto usual de las matrices y 1 se representa por + 1. Esta
operacin requiere que el nmero de columnas de coincida con el nmero
de las 1.
Captulo 4. Prcticas de optimizacin sin restricciones 111
Figura 4.6: Introduccin de vectores y matrices.
El producto de una matriz por la inversa de otra, en los sentidos 1
1
(1 ha de ser inversible) y
1
1 ( ha de ser inversible), se representan
por ,1 y \1.
La potencia
c
, con c R, suponiendo que existe (lo que implica en
particular que sea cuadrada) se representa por

c.
La matriz resultante del producto elemento a elemento de las matrices
y 1 (que han de tener la misma dimensin) se representa por . + 1; esto
es,
. + 1 := (a
i)
/
i)
)
i=1,...,n, )=1,...,a
.
La matriz resultante del cociente elemento a elemento de las matrices
y 1, se representa por .,1; esto es,
.,1 := (a
i)
,/
i)
)
i=1,...,n, )=1,...,a
.
112 Optimizacin matemtica aplicada
La matriz resultante de elevar cada elemento de a c R se denota por
.c, as:
.c :=

a
c
i)

i=1,...,n, )=1,...,a
.
La matriz inversa de , supuesta inversible, se representa, o bien por
inv() , o simplemente (1) .
El determinante de se denota por det() .
La traspuesta de se denota por
0
.
La matriz diagonal cuya diagonal principal contiene a los valores propios
de , se denota por eig() .
Si es diagonalizable en R, esto es, si existen una matriz diagonal 1 y
una matriz inversible 1 tales que
1
1
1 = 1,
esta matrices 1 y 1 se obtienen mediante la sintaxis
[1, 1] = eig () .
Ejemplo 4.2 (Clculos matriciales) Dadas la matrices
=
_
_
_
_
2 1 2
1 2 5
2 5 0
_
_
_
_
y 1 =
_
_
_
_
2 1 2
2 2 2
4 3 0
_
_
_
_
,
se pide:
a) Determinar + 1 y . + 1 (obsrvese la diferencia entre ellas).
b) Calcular el determinante y matriz inversa de .
c) Expresar los coecientes de
1
en formato de fraccin y como nmeros
con 12 cifras decimales.
d) Calcular los valores propios de y clasicar la matriz.
e) Calcular el determinante de 1; qu ocurre cuando escribimos inv(1)?
f) Calcular \1.
g) Qu ocurre cuando escribimos ,1?
Captulo 4. Prcticas de optimizacin sin restricciones 113
Solucin. a)
+ 1 =
_
_
_
_
14 10 2
26 20 2
6 8 14
_
_
_
_
y . + 1 =
_
_
_
_
4 1 4
2 4 10
8 15 0
_
_
_
_
.
b) det() = 42,
inv() =
_
_
_
_
0.5952 0.2381 0.0238
0.2381 0.0952 0.1905
0.2143 0.2857 0.0714
_
_
_
_
.
c) Cambiamos el formato numrico a long y rational y obtenemos
inv() =
_
_
_
_
25,42 5,21 1,42
5,21 2,21 4,21
3,14 2,7 1,14
_
_
_
_
=
_
_
_
_
0.59523809523810 0.23809523809524 0.02380952380952
0.23809523809524 0.09523809523810 0.19047619047619
0.21428571428571 0.28571428571429 0.07142857142857
_
_
_
_
.
d) Los valores propios de son 3.7595, 1.9098 y 5.8497, luego es in-
denida.
e) det(1) = 0, luego 1 no es inversible. Si escribimos inv(1) obtenemos lo
que se muestra en la gura 4.7. Ntese que aparece un mensaje indicando que
la matriz es singular y los clculos producen Inf (innito).
f) El resultado de \1 (recurdese que signica
1
1) en el formato numri-
co short es:
\1 =
_
_
_
_
0.6190 0.0476 1.6667
1.0476 0.6190 0.6667
0.1429 0.1429 1.0000
_
_
_
_
.
g) El resultado de ,1 se muestra en la gura 4.8. NaN (del ingls, Not a
Number) aparece en expresiones cuyo valor es indeterminado (por ejemplo,
0
0
).
4.1.3. Cmo pedir ayuda
Emplearemos dos comandos bsicos para activar la ayuda del MATLAB
(alternativamente puede emplearse la ayuda del men Help).
114 Optimizacin matemtica aplicada
Figura 4.7: Matriz no inversible (o singular).
Figura 4.8: Resultado de ,1 (1 es singular).
Captulo 4. Prcticas de optimizacin sin restricciones 115
En primer lugar, help muestra en pantalla la ayuda especca de un comando
en particular. Vase en la gura 4.9 la sintaxis empleada para pedir informacin
acerca de inv. Ntese que el empleo de help para obtener informacin sobre un
determinado comando, requiere conocer el nombre exacto de dicho comando.
Figura 4.9: Sintaxis del comando help.
Para solicitar informacin acerca de los comandos existentes relacionados
con cierta palabra clave, emplearemos lookfor seguido de dicha palabra clave
(escrita en ingls). De este modo, se mostrar en pantalla el listado de comandos
en cuya ayuda gura dicha palabra clave.
En ocasiones, la manera ms operativa de obtener la informacin deseada
pasa por combinar lookfor y help, como se muestra en el siguiente ejemplo.
Ejemplo 4.3 (Ayuda sobre problemas cuadrticos) Se desea determinar
un ptimo global del siguiente problema de programacin cuadrtica sin restric-
ciones
(1) 'i: 5r
2
1
+ 2r
1
r
2
+ 10r
2
2
+ 3r
2
r
3
+ 10r
2
3
+
5
2
r
1
r
4
+ 4r
2
r
4
+ 10r
2
4
+ 2r
3
,
y suponemos que no conocemos o no recordamos en este momento qu funcin
de MATLAB hemos de emplear.
116 Optimizacin matemtica aplicada
En primer lugar, utilizaremos lookfor para buscar funciones relacionadas.
En este caso hemos escrito:
lookfor quadratic
(del ingls quadratic programming). Aparece entonces un listado de funciones,
junto con una breve descripcin de cada una. A la vista del listado de fun-
ciones, seguidamente pediremos ayuda especca sobre la funcin quadprog,
escribiendo para ello:
help quadprog
La gura 4.10 muestra, parcialmente, la informacin que aparece en pantalla
acerca de quadprog.
Figura 4.10: Resultado de la bsqueda help quadprog.
Obsrvese que existen diferentes opciones en relacin con los argumentos de
entrada (datos del problema) y con los de salida. En nuestro caso, emplearemos
la versin ms sencilla, pues, como salida, deseamos conocer un ptimo global
Captulo 4. Prcticas de optimizacin sin restricciones 117
de (1) , y como argumentos entrada, nicamente disponemos de los coecientes
que determinan la funcin objetivo, pues el problema no tiene restricciones.
Concretamente, emplearemos la sintaxis x= quadprog(H,f,A,b) para
obtener un ptimo global, x, del problema
'i:
1
2
xHx+fx
:.a Ax _ b,
deniendo en este caso A y b como matrices vacas (sin elementos) a travs de
la sintaxis A=[] y b=[]. Vase la seccin 2.4 para detalles tericos sobre los
problema cuadrticos sin restricciones.
Observacin 4.5 En lo que sigue emplearemos un tipo de letra especco (type-
writer), semejante al que aparece en la pantalla de MATLAB, en la notacin
de los diferentes elementos (matrices, vectores, puntos, etc.) empleados como
argumentos de entrada o salida en el programa MATLAB.
Por ejemplo, en adelante, x y r representan al mismo elemento (variable
de decisin del problema de optimizacin) y se emplear uno u otro formato
dependiendo del contexto; del mismo modo, por ejemplo, [0 0 2 0] y (0, 0, 2, 0)
representan al mismo vector.
As pues, escribiremos:
H=[10 2 0 5/2;2 20 3 4;0 3 20 0;5/2 4 0 20];
f=[0 0 2 0];
A=[],b=[];
x=quadprog(H,f,A,b)
La solucin propuesta por MATLAB es:
x =
-0.0025
0.0162
118 Optimizacin matemtica aplicada
-0.1024
-0.0029
Observacin 4.6 (Posicin de los argumentos de entrada) En cualquie-
ra de las funciones de MATLAB, lo que identica 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:
s=quadprog(Q,c,M,N)
s representa a la solucin del problema de minimizar
1
2
xQx+cx sujeto al sis-
tema de restricciones Mx_N.
Observacin 4.7 (Comprobacin de la optimalidad global) Como vere-
mos ms adelante, en principio, las soluciones propuestas por MATLAB son
puntos crticos del problema. Para garantizar que el punto considerado es pti-
mo global, analizamos el carcter de la matriz H (que coincide con la hessiana
de la funcin objetivo). Para ello, escribimos:
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
denida positiva (vase la proposicin 1.3) y en virtud del teorema 2.2, el punto
x es ptimo global de (1) .
4.1.4. Grcos en 2 y 3 dimensiones
Para representar grcamente funciones reales de variable real emplearemos
la funcin plot (para detalles sobre las diferentes opciones admitidas escrbase
help plot). La opcin ms sencilla consiste en introducir, como argumentos de
entrada, dos vectores, x=(r
i
)
i=1,...,j
e y=(j
i
)
i=1,..,j
, de la misma dimensin, y
escribir plot(x,y). De esta forma, aparecen representados grcamente los pares
(r
i
, j
i
)
i=1,...,j
.
Para representar grcamente una funcin, ), hemos de elegir un intervalo
[a,b] sobre el que se mostrar la grca. Elegimos una particin de [a,b] y alma-
cenamos en el vector x los elementos de dicha particin. En la prctica, podemos
Captulo 4. Prcticas de optimizacin sin restricciones 119
emplear las siguientes funciones de MATLAB para denir automticamente el
vector x:
x=linspace(a,b,p) dene un vector cuyas coordenadas constituyen una
particin de [a,b] formada por p puntos equiespaciados;
x=a : c : b dene el vector (a,a+c, ...,a+pc), siendo
p = max{, N |a +,c _ b}.
Una vez denido el vector x=(r
i
)
i=1,..,j
, denimos
y = (j
i
)
i=1,..,j
, donde j
i
= ) (r
i
) para todo i.
Ejemplo 4.4 (Grcas de funciones de R en R) Se desea representar gr-
camente la funcin ) (r) = rsinr en el intervalo [2, 2].
Atendiendo a los comentarios anteriores escribiremos:
x=-2:0.01:2;
y=x.*sin(pi*x);
plot(x,y)
Aparece entonces la gura 4.11.
En la denicin de x podra emplearse alternativamente la funcin linspace;
por ejemplo,
linspace(-2,2,200);
La eleccin del incremento, en el primer formato, y la eleccin del nmero
de puntos, en el segundo, la realiza el ususario.
Observacin 4.8 (Empleo de la operacin .*) Ntese que en la denicin
de y, ha de emplearse la operacin .* para que el producto se haga coordenada a
coordenada. Por otro lado, en el producto pi*x no es necesario pues pi es una
constante (el nmero ).
120 Optimizacin matemtica aplicada
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
-2
-1.5
-1
-0.5
0
0.5
1
Figura 4.11: Ilustracin del ejemplo 4.4.
Para representaciones grcas en 3 dimensiones (funciones de R
2
en R, por
ejemplo) emplearemos la funcin surf con tres argumentos de entrada, esto es,
escribiremos surf (x,y,z). Para representar ) : R
2
R hemos de elegir un rec-
tngulo [a,b][c,d] R
2
donde visualizar la grca. En realidad, tendremos que
considerar una malla (en ingls, grid) de puntos en [a,b][c,d] que deniremos
mediante la funcin meshgrid, como se ilustra en el ejemplo siguiente.
Ejemplo 4.5 (Grcos en 3 dimensiones) Deseamos representar grca-
mente las siguientes funciones en el rectngulo [1, 1] [1, 1] :
(i) ) (r, j) = r
2
+j
2
;
(ii) ) (r, j) = r
2
j
2
;
(iii) ) (r, j) = r
2
j
2
.
(i) En cada coordenada seleccionamos una particin del intervalo [-1,1] em-
pleando un incremento c = 0.05 (alternativamente podramos emplear la funcin
linspace). As pues, escribimos:
Captulo 4. Prcticas de optimizacin sin restricciones 121
x=-1:0.05:1;
y=-1:0.05:1;
[X,Y]=meshgrid(x,y); (realiza el producto cartesiano de x
por y que dene la malla en [1, 1][1, 1] y almacena los resultados
en las nuevas variables X e Y).
z=X.^2+Y.^2; (ntese que ha de emplearse la operacin
.^en vez de simplemente ^).
surf(X,Y,z)
De este modo, obtenemos el grco de la gura 4.12.
-1
-0.5
0
0.5
1
-1
-0.5
0
0.5
1
0
0.5
1
1.5
2
Figura 4.12: Ilustracin del ejemplo 4.5(i).
Para los apartados (ii) y (iii) repetimos la sintaxis anterior cambiando sim-
plemente la denicin de z (matriz de imgenes), de este modo obtenemos los
grcos de la gura 4.13.
Observacin 4.9 Las ilustraciones de estas tres funciones corresponden clara-
mente a situaciones donde se tiene, respectivamente, un mnimo local (de hecho
122 Optimizacin matemtica aplicada
-1
-0.5
0
0.5
1
-1
-0.5
0
0.5
1
-2
-1.5
-1
-0.5
0
-1
-0.5
0
0.5
1
-1
-0.5
0
0.5
1
-1
-0.5
0
0.5
1
Figura 4.13: Ilustracin del ejemplo 4.5(ii) y (iii).
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 cuadrti-
ca sin restricciones:
(i) (1
1
) 'i: r
2
1
+ 2r
1
r
2
+r
2
2
+r
2
3
+r
1
+r
2
+r
3
;
(ii) (1
2
) 'i: r
2
1
+ 2r
1
r
2
+r
2
2
r
2
3
+r
1
+r
2
+r
3
;
(iii) (1
3
) 'i: r
2
1
+ 4r
2
2
+ 8r
2
3
+r
1
+r
2
+r
3
.
Conservando la notacin del ejemplo 4.3 (donde la funcin objetivo de un
problema cuadrtico se escribe de la forma
1
2
xHx+fx), se pide:
a) En cada caso, analizar el carcter de la matriz H, e indicar si la co-
rrespondiente 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:
)
1
(r) =
r
r
2
+ 1
cos r, )
2
(r) = rcos r, )
3
(r) = c
a
2
y )
4
(r) = r
4
+ 1.
Se pide:
Captulo 4. Prcticas de optimizacin sin restricciones 123
a) En cada caso, elegir un entorno apropiado de 0 donde visualizar la grca
de cada funcin; apropiado en el sentido de que nos permita apreciar su forma
global, incluyendo su tendencia cuando r y r .
b) De forma intuitiva, atendiendo a la representacin grca de cada una
de las funciones, indquese si el correspondiente problema (1
i
) 'i: )
i
(r) , i =
1, ..., 4, es acotado o no, resoluble o no, si tiene ptimos locales que no son
globales, y si tiene puntos crticos que no son ptimos locales.
Ejercicio 4.3 Consideremos las funciones de R
2
en R :
)
1
(r) = r
2
1
+ 2r
1
r
2
+r
2
2
, )
2
(r) = sinr
1
sinr
2
, )
3
(r) = r
3
1
+r
3
2
.
Se pide:
a) En cada caso, elegir un entorno apropiado de 0
2
donde visualizar la grca
de cada funcin; apropiado en el sentido de que nos permita apreciar su forma
global, incluyendo su tendencia cuando krk .
b) De forma intuitiva, atendiendo a la representacin grca de cada una
de las funciones, indquese si el correspondiente problema (1
i
) 'i: )
i
(r) , i =
1, 2, 3, es acotado o no, resoluble o no, si tiene ptimos locales que no son glo-
bales, y si tiene puntos crticos que no son ptimos locales.
c) De nuevo, atendiendo a la grca, indquese en cada caso si el punto
r = 0
2
es punto crtico, ptimo local u ptimo global.
4.2. Optimizacin sin restricciones con la herramien-
ta de matemtica simblica (prctica 2)
El objetivo de esta seccin es resolver problemas de optimizacin sin restric-
ciones de la forma
(1) 'i: ) (r) ,
donde r R
a
y ) : R
a
R, con ayuda de la herramienta (en ingls, toolbox)
de MATLAB denominada symbolic mathematic. Esta herramienta nos per-
mitir calcular derivadas, gradientes, resolver ecuaciones y sistemas, etc., tal y
como lo haramos de forma analtica (en contraste con la resolucin por mto-
dos numricos que veremos en la seccin siguiente). De este modo, podremos
124 Optimizacin matemtica aplicada
resolver problemas de PNL sin restricciones siguiendo los pasos de la seccin
2.3.
4.2.1. Optimizacin de funciones de una variable
A lo largo de esta subseccin consideramos el problema
(1) 'i: ) (r) ,
donde r R y ) : R R es de clase C
2
en R. Nuestro primer paso consistir
en la determinacin del conjunto de puntos crticos de (1), esto es, en resolver
la ecuacin, en general no lineal,
)
0
(r) = 0, (4.1)
donde )
0
representa la primera derivada de ). Para ello emplearemos las fun-
ciones de MATLAB di y solve. De hecho, para determinar directamente el
conjunto de soluciones de la ecuacin (4.1) basta escribir:
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
(1) 'i: r
6
3r
2
+ 6r.
En la gura 4.14 se muestra la sintaxis empleada en la resolucin de la
ecuacin )
0
(r) = 0, )(r) = r
6
3r
2
+ 6r 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,
r = 1.1673039782614186842560458998548.
Observacin 4.10 Ntese que la funcin objeto de estudio ha de escribirse en-
tre 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 correspon-
diente).
Captulo 4. Prcticas de optimizacin sin restricciones 125
Figura 4.14: Ilustracin del ejemplo 4.6.
La funcin di admite como segundo argumento de entrada el orden de la
derivada solicitada. Por ejemplo, para calcular la segunda derivada de la funcin
) (r) = r
2
c
a
+ sinr,
escribiremos:
diff((x^2)*exp(x)+sin(x),2)
La salida de MATLAB en este caso es:
ans=
2*exp(x)+4*x*exp(x)+x^2*exp(x)-sin(x)
Otra funcin que nos ser de utilidad es subs, la cual permite sustitutir
en una expresin simblica la variable x por un nmero real. Por ejemplo, si
deseamos sustituir en la expresin simblica anterior,
2*exp(x)+4*x*exp(x)+x^2*exp(x)-sin(x),
la variable x por 1, escribiremos:
126 Optimizacin matemtica aplicada
subs(2*exp(x)+4*x*exp(x)+x^2*exp(x)-sin(x),1)
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 ob-
jetivo. Esta operacin puede realizarse directamente encadenando las funciones
di y subs como sigue:
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 (1) 'i: r
6
3r
2
+ 6r, es un ptimo local. Recordemos
que el punto crtico era r = 1.1673. Para ello escribimos la sentencia que se
muestra en la gura 4.15.
Figura 4.15: Comprobacin de la condicin de segundo orden.
Captulo 4. Prcticas de optimizacin sin restricciones 127
Vase la solucin en la misma gura, esto es,
)
00
(1.1673)
~
= 49.6995 0,
luego, r = 1.1673 es un ptimo local (cumple la condicin suciente de segundo
orden).
Ejemplo 4.8 Deseamos determinar el conjunto de puntos crticos y ptimos
locales del problema
(1) 'i: (r 1) c
a
r.
Determinamos, en primer lugar, el conjunto de puntos crticos como se mues-
tra en la gura 4.16.
Figura 4.16: Determinacin del conjunto de puntos crticos.
Ntese que, en este ejemplo, en principio, no se obtiene un valor numrico,
sino la expresin lambertw(1). Puede consultarse en la ayuda de esta funcin
que en general lambertw(c) denota a la solucin de la ecuacin
rc
a
= c.
En nuestro ejemplo la ecuacin viene de )
0
(r) = rc
a
1 = 0. Un hecho destaca-
ble en relacin con este punto es que en esta ecuacin no podemos despejar
la variable r. De hecho, MATLAB proporcionar una aproximacin numrica
128 Optimizacin matemtica aplicada
(obtenida mediante algoritmos de resolucin de ecuaciones). En la gura 4.17
se muestra cmo determinar el valor numrico de lambertw(1).
Figura 4.17: Aproximacin numrica de la funcin lambertw.
A continuacin, analizamos las condiciones de segundo orden en dicho punto,
escribiendo:
subs(diff(x*exp(x)-exp(x)-x,2),0.56714329040978)
y obtenemos:
ans =
2.76322283435188
As pues, )
00
(0.56714329040978) = 2.76322283435188 0 y por tanto
r = 0.56714329040978 es un ptimo local de (1) .
4.2.2. Optimizacin de funciones de varias variables
A lo largo de esta subseccin consideramos el problema
(1) 'i: ) (r) ,
donde r R
a
y ) : R
a
R es de clase C
2
en R
a
. Las funciones de MATLAB
que emplearemos para la resolucin de (1) sern:
Captulo 4. Prcticas de optimizacin sin restricciones 129
jacobian junto con sym: determina el traspuesto del gradiente de ) (r)
respecto de las variables simblicas declaradas a travs de la funcin sym.
solve: resuelve sistemas de ecuaciones.
subs: para sustituir cada variable por un valor numrico.
Veamos a travs del siguiente ejemplo cmo se emplean las funciones an-
teriores para determinar el conjunto de puntos crticos de (1) y analizar las
condiciones de segundo orden. A diferencia de lo que ocurra en el caso de fun-
ciones de una variable, las funciones jacobian y solve no pueden encadenarse
para determinar en una sola sentencia el conjunto de puntos crticos. Tampoco
podrn encadenarse las funciones jacobian y subs.
Ejemplo 4.9 (Anlisis de las condiciones de optimalidad) Deseamos
determinar el conjunto de puntos crticos y ptimos locales del siguiente proble-
ma de optimizacin, empleando para ello las funciones jacobian, sym, solve
y subs:
(1) 'i:
1
2

r
2
1
+r
2
2

c
a
2
1
a
2
2
.
En primer lugar, calculamos \) (r)
0
mediante la funcin jacobian (vase
la gura 4.18).
Ntese que hemos de declarar las variables respecto de la cuales calcular las
derivadas parciales a travs de la funcin sym (en este caso hemos empleado la
notacin x e y para las variables, aunque poda haberse elegido, por ejemplo x1
y x2).
A continuacin, para obtener el conjunto de puntos crticos (soluciones del
sistema \) (r) = 0
a
) copiamos (Ctrl+C) el resultado anterior de la funcin
jacobian sin los corchetes y empleamos la funcin solve como se muestra a
continuacin:
[x1,x2]=solve(1.0*x*exp(x^2-y^2)+ 1.0*(x^2+y^2)*x*
exp(x^2-y^2), 1.0*y*exp(x^2-y^2)- 1.0*(x^2+y^2)*y*exp(x^2-y^2))
Respecto de la sintaxis de la funcin solve en el contexto de sistemas de
ecuaciones, es importante declarar los argumentos de salida; por ejemplo, en
130 Optimizacin matemtica aplicada
Figura 4.18: Clculo del gradiente mediante la funcin jacobian.
nuestro caso hemos escrito:
[x1,x2]=solve(...)
En este ejemplo los argumentos de salida de solve se han denominado x1 y x2
aunque podra haberse empleado otra notacin (vase la observacin 4.6) .
As, la solucin propuesta por MATLAB es (por motivos de espacio, presentamos
la solucin como vector la, en vez de columna como aparece en la pantalla de
MATLAB):
x1 =[0. 1.*i -1.*i 0. 0.] y x2 =[0. 0. 0. 1. -1.].
En consecuencia, existen tres soluciones del sistema con coordenadas reales,
que son [x1,x2] = [0,0], [x1,x2] = [0, 1] y [x1,x2] = [0, 1].
Seguidamente analizamos las condiciones de segundo orden. Calculamos la
matriz hessiana de la funcin objetivo, H) (r) , como se muestra en la gura
4.19.
A continuacin, sustituimos cada uno de los puntos crticos en la matriz
hessiana, denotada en este caso por hess, como se muestra en la gura 4.20.
Captulo 4. Prcticas de optimizacin sin restricciones 131
Figura 4.19: Clculo de la matriz hessiana.
Figura 4.20: Sustitucin de las variables en la matriz hessiana.
132 Optimizacin matemtica aplicada
En otros trminos, hemos comprobado que
H) (0, 0) =

1 0
0 1
!
.
Para evaluar la matriz hessiana en (0, 1)
0
escribiremos:
subs(subs(hess,x,0),y,1)
Finalmente evaluamos la matriz hessiana en (0, 1)
0
escribiendo:
subs(subs(hess,x,0),y,-1)
Se obtienen los siguientes resultados
H) (0, 1) = H) (0, 1) =

0.73575888234288 0
0 0.73575888234288
!
.
En consecuencia, en el punto (0, 0)
0
se verica la condicin suciente de
optimalidad de segundo orden y, por tanto, podemos armar que (0, 0)
0
es ptimo
global. Por otro lado, (0, 1)
0
y (0, 1)
0
no verican la condicin necesaria de
segundo orden; as pues, estos dos ltimos puntos no son ptimos locales.
4.2.3. Ejercicios propuestos
Ejercicio 4.4 Encontrar todas las soluciones reales del sistema
(
r
3
1
r
1
r
2
1 = 0,
r
1
+r
2
2
1 = 0.
Ejercicio 4.5 Encontrar una solucin real del sistema
(
r
1
c
a
1
+a
2
= 1,
r
2
c
a
1
+a
2
= 1.
Ejercicio 4.6 Utilizar las funciones jacobian, sym, solve y subs para deter-
minar los conjuntos de puntos crticos y ptimos locales del problema
(1) 'i: r
3
1
+r
1
r
2
+r
3
2
.
Captulo 4. Prcticas de optimizacin sin restricciones 133
4.3. Funciones bsicas de optimizacin sin restriccio-
nes (prctica 3)
El objetivo de esta prctica es resolver problemas de optimizacin con ayuda
de las utilidades que ofrece optimization toolbox. Concretamente, empleare-
mos las siguientes funciones:
quadprog: resuelve problemas de programacin cuadrtica.
fminunc: resuelve problemas no lineales generales sin restricciones.
Concretamente, a lo largo de esta seccin, se comentar la sintaxis que ha de
emplearse en la ejecucin de estas funciones, describiendo los argumentos de en-
trada de las mismas (inputs) y los de salida (outputs). Respecto de las salidas,
adems de proporcionar una propuesta de solucin ptima y de valor ptimo,
pueden informar acerca de ciertos detalles tcnicos de los algoritmos emplea-
dos en la resolucin, incluyendo la regla de parada empleada en cada caso. De
entre estos aspectos tcnicos, describiremos brevemente las reglas de parada
empleadas en cada caso, aunque no entraremos en otros detalles tcnicos sobre
eleccin del algoritmo de resolucin y la descripcin de las iteraciones realizadas.
Para detalles sobre estos aspectos puede consultarse el documento Optimiza-
tion Toolbox
TA
4, Users Guide que puede encontrarse en la direccin de inter-
net: http://www.mathworks.com/access/ helpdesk/ help/pdf_doc/optim/optim_
tb.pdf.
4.3.1. Optimizacin cuadrtica sin restricciones con ayuda de
quadprog
El objetivo de esta subseccin es resolver problemas de optimizacin de la
forma
(1) 'i:
1
2
r
0
Qr +c
0
r +d, (4.2)
con ayuda de la funcin quadprog y aplicando el teorema 2.2 para distinguir
aquellos casos en los que el problema (4.2) es resoluble y aquellos en los que
no lo es. Esta funcin fue ya utilizada en la subseccin 4.1.3 para resolver al-
gunos problemas de programacin cuadrtica sin restricciones. En esta seccin
implementaremos un sencillo programa, denominado pcsin.m, con ayuda del
134 Optimizacin matemtica aplicada
lenguaje de programacin de MATLAB con las siguientes caractersticas:
El programa pcsin.m comienza su ejecucin solicitando al usuario los
datos Q, c y d.
A continuacin, el programa analiza si el problema (4.2) es resoluble o no;
esto es, analiza si se cumple que Q es denida o semidenida positiva y
si el rango de Q coincide con el de la matriz ampliada (Q | c) (vase el
teorema 2.2).
Si se cumplen las condiciones anteriores, el programa proporcionar una
solucin numrica apelando a la funcin quadprog. En caso contrario se
mostrar el mensaje El problema es no acotado.
La modalidad ms sencilla de la sintaxis de quadprog es:
x=quadprog(Q,c,A,b)
con la que se resuelve el problema
'i:
1
2
xQx+cx
:.a Ax _ b.
Si deseamos, adems, conocer el valor de la funcin objetivo en la solucin pro-
puesta bastar con escribir:
[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 deniendo las matrices del sistema de
restricciones de la forma:
A=[],b=[]
Para comenzar la implementacin del programa pcsin, desde la barra de he-
rramientas de MATLAB seleccionaremos File, a continuacin New M-le.
En este programa se emplearn los siguientes comandos de MATLAB (vase la
gura 4.21):
Captulo 4. Prcticas de optimizacin sin restricciones 135
clear (vase tambin la subseccin 4.1.1) para borrar de la memoria
cualquier asignacin anterior que tuvieran los elementos Q,c,A y b.
disp (...) para mostrar en pantalla el texto escrito entre las comillas.
I=input (...) para pedir al usuario la asignacin numrica (vector o
matriz) de I.
Recurdese que eig(Q) proporciona el vector cuyas coordenadas son los
valores propios de Q.
if en combinacin con else y end crea la estructura condicional tpica
segn la cual el programa ejecuta determinadas sentencias si se cumplen
determinadas condiciones (las escritas tras if ) u otras en caso contrario
(obsrvese el texto escrito tras else en la gura 4.21).
Una vez redactado el nuevo programa se ha grabado (a travs de la opcin
Filesave as) con el nombre pcsin.m.
Observacin 4.12 La extensin .m es la empleada por este tipo de archivos
creados mediante el editor de textos de MATLAB, y por defecto se almacena en
el directorio work.
Una vez creado y guardado el nuevo programa, para ejecutarlo basta escribir
en la ventana de comandos:
pcsin
Como ilustracin, presentamos el siguiente ejercicio.
Ejercicio 4.7 (Ejercicio 2.10 revisitado) Resolver con MATLAB, en con-
creto mediante el programa pcsin, los siguientes problemas cuadrticos:
(i) (1
1
) 'i: r
2
1
+ 2r
1
r
2
+ 4r
2
2
+r
1
+r
2
;
(ii) (1
2
) 'i: r
2
1
+ 2r
1
r
2
+r
2
2
+r
1
+r
2
+ 4;
(iii) (1
3
) 'i: r
2
1
+ 2r
1
r
2
+r
2
2
+r
1
r
2
+ 4;
(iv) (1
4
) 'i: r
2
1
+ 2r
1
r
2
4r
2
2
+r
1
+r
2
+ 4;
(v) (1
5
) 'i: r
2
1
+ 2r
1
r
2
4r
2
2
+r
1
+r
2
+ 4;
(vi) (1
6
) 'i: r
2
1
+ 2r
1
r
2
r
2
2
+r
1
r
2
+ 4.
136 Optimizacin matemtica aplicada
Figura 4.21: Implementacin del nuevo programa pcsin.
Solucin. Resolveremos (1
1
), (1
3
) y (1
4
). La resolucin de los restantes es
completamente anloga.
(i) Escribimos pcsin en la ventana de comandos y comienza la eje-
cucin. A continuacin, se muestran los detalles:
Ejecucin de pcsin
pcsin
Este programa resuelve problemas de la forma
Minimizar (1/2)*xQx+cx+d
Introduzca la matriz (simtrica) Q [2 2;2 8]
Introduzca el vector (columna) c [1;1]
Introduzca el trmino independiente d 0
Warning: Large-scale method does not currently solve this problem
formulation,
switching to medium-scale method.
Captulo 4. Prcticas de optimizacin sin restricciones 137
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 (1
1
) es resoluble; una solucin ptima (global)
es r = (0.5, 0)
0
y el valor ptimo = 0.25.
(iii) En el caso de (1
3
) los datos son Q=[2 2;2 2] y c=[1;-1] (vase la
gura 4.22). Ntese que en este caso Q es semidenida positiva, pero los rangos
de Q y [Q c] no coinciden, lo que signica que no existen puntos crticos. As
pues, en este caso el problema es no acotado, como se muestra en la ejecucin
de pcsin.
Figura 4.22: Ilustracin de la resolucin de (1
3
) .
138 Optimizacin matemtica aplicada
(iv) En este caso los datos son Q=[2 2;2 -8] y c=[1;1]. Puesto que Q es
indenida, el problema (1
4
) es tambin no acotado. La ejecucin de pcsin es
completamente anloga a la del apartado anterior.
Observacin 4.13 La funcin quadprog puede proporcionar otros argumen-
tos de salida, ampliando la informacin sobre los mtodos numricos empleados
y otros detalles acerca de la regla de parada empleada en cada caso. De he-
cho, los cuatro primeros argumentos de salida de quadprog son comunes a los
de las funciones fminunc y fmincon. Estos argumentos de salida se vern
con un poco ms de detalle en la seccin siguiente (puede escribirse help
quadprog en la ventana de comandos de MATLAB para detalles adicionales).
4.3.2. Optimizacin no lineal sin restricciones con ayuda de fmi-
nunc
La presente seccin est dedicada a la resolucin de problemas de opti-
mizacin no lineal sin restricciones con ayuda de la funcin fminunc. En primer
lugar, revisaremos la sintaxis empleada por esta funcin que puede consul-
tarse en la ayuda que ofrece MATLAB escribiendo en la ventana de comandos:
help fminunc. La sintaxis ms sencilla es:
x=fminunc(fun,x0) (4.3)
donde x representa la solucin propuesta por MATLAB al problema de mini-
mizar 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 denirse en un chero 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
Captulo 4. Prcticas de optimizacin sin restricciones 139
Figura 4.23: Resolucin con MATLAB del ejemplo 4.10.
objetivo han de ajustarse a la sintaxis x(1),x(2),..., entendiendo que son coor-
denadas de la variable vectorial x.
Ejemplo 4.10 (Vase el ejercicio 2.1) Resolveremos con MATLAB el pro-
blema de optimizacin
(1) 'i: senr
1
senr
2
,
considerando la semilla x0=[1,-1].
Solucin. A continuacin, en la gura 4.23, presentamos la sintaxis emplea-
da, tal y como se indica en (4.3), introduciendo la funcin objetivo directamente
en la ventana de comandos. La misma gura muestra las salidas de MATLAB.
Ntese que la solucin propuesta, x=[1.5708,-1.5708], es una buena aproxi-
macin del ptimo global (,2, ,2) (vase el ejercicio 2.1).
De forma alternativa, la funcin objetivo puede ser denida en un chero .m
como se muestra en la gura 4.24. Esta misma gura ilustra la sintaxis general
que ha de emplearse para denir 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 chero se grabar con el mismo nombre de la funcin y con extensin
.m. As pues, el nombre del chero es objetivo.m. Una vez denida la funcin
140 Optimizacin matemtica aplicada
Figura 4.24: Denicin de una nueva funcin.
objetivo, basta escribir en la ventana de comandos:
x=fminunc(objetivo,[1,-1])
y obtendremos el mismo resultado anterior. La gura 4.25 muestra la correspon-
diente ejecucin en MATLAB.
Figura 4.25: Sintaxis de fminunc.
Acerca de las reglas de parada de la funcin fminunc
Como se coment anteriormente, no entraremos en los detalles del algorit-
mo de resolucin empleado aunque s comentaremos los mensajes relativos a la
regla de parada empleada. En el caso del ejemplo anterior aparece el mensaje
Optimization terminated: relative innity-norm of gradient less than
Captulo 4. Prcticas de optimizacin sin restricciones 141
options. TolFun. Este mensaje indica que el mtodo numrico se ha detenido
en el punto x por cumplirse el hecho de que la norma innito de la funcin
objetivo en x es menor que el valor de determinado parmetro llamado TolFun
(que por defecto toma el valor de 10
6
), en trminos formales
k\) (x)k

< TolFun, (4.4)


siendo ) la funcin objetivo actual. En este caso, la solucin propuesta por
MATLAB, x=[1.578,-1.578], es una buena aproximacin de un ptimo global
(en concreto de

2
,

0
, 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 crti-
co del problema sin restricciones, esto es si k\) (x)k

= 0, la condicin (4.4) se
cumple trivialmente. De hecho, si ) es de clase C
1
, la condicin (4.4) se cumplir
en un entorno del punto crtico x (como consecuencia de la continuidad de la
funcin . 7 \) (.)). As pues, si la iteracin /-sima (/ N) del algoritmo
empleado por MATLAB proporciona un punto xk lo sucientemente cercano de
un punto crtico (formalmente, si verica (4.4)), dicho punto ser propuesto
como solucin. Ilustraremos esta situacin con el siguiente ejemplo.
Ejemplo 4.11 Resolveremos con MATLAB el problema de optimizacin
(1) 'i: senr
1
senr
2
,
considerando la semilla x0=[1,1].
Solucin. Seguidamente se muestra la resolucin con MATLAB. Ntese que
el nico cambio con respecto al ejemplo anterior se encuentra en la semilla x0,
y en este caso el proceso iterativo nos conduce hacia una aproximacin de un
punto crtico (una aproximacin de (0, 0)
0
) que no es ptimo (ni siquiera local)
del problema.
El resto de la seccin est dedicada a especicar nuevos argumentos de entra-
da y de salida de la funcin fminunc, prestando especial atencin a los relativos
a nuevas reglas de parada. Respecto de los argumentos de salida, adems de x,
142 Optimizacin matemtica aplicada
Figura 4.26: Resolucin del ejemplo 4.11.
podemos aadir uno a uno hasta un total de seis argumentos como se muestra
a continuacin:
[x,fval,exitflag,output,grad,hessian]=fminunc(fun,x0)
Recurdese que los nombres asignados a cada argumento pueden modicarse,
pues lo que identica 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 ( R) representa al valor de la funcin objetivo en la solucin pro-
puesta x ( R
a
);
exitflag muestra diferentes reglas de parada del algoritmo empleado.
Concretamente, exitflag=1 representa la condicin comentada anterior-
mente relativa a puntos crticos (condicin (4.4)). En el caso en el que
exitflag=2 el proceso se detiene en x
i+1
porque se verica la siguiente
condicin:

x
i
-x
i+1

< TolX, (4.5)


donde x
i
y x
i+1
representan dos puntos consecutivos generados por el
algoritmo correspondiente, y TolX (0) denota a cierto parmetro cuyo
Captulo 4. Prcticas de optimizacin sin restricciones 143
valor por defecto es 10
6
. 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

x
i

-)

x
i+1

< TolFun, (4.6)


donde ) representa a la funcin objetivo del problema y TolFun es el mis-
mo parmetro que aparece en la condicin (4.4). El mensaje exitflag=0
indica que se ha alcanzado el nmero mximo de evaluaciones de la fun-
cin objetivo o el de iteraciones. Valores negativos para exitflag (con-
cretamente -1 y -2) representan condiciones en las que se entiende que el
proceso se detiene sin xito en la bsqueda de solucin ptima (para de-
talles adicionales, el lector puede consultar el Optimization Toolbox
TA
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 k\) (x)k

en la solucin
propuesta, algoritmo empleado, etc.
grad y hessian representan al gradiente y la matriz hessiana en la solu-
cin propuesta por MATLAB. Estos dos elementos son interesantes a la
hora de vericar 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 pue-
den ser modicados por el usuario mediante la funcin optimset e incluidos
como tercer argumento de entrada de fminunc. Por ejemplo, para asignar los
valores 10
3
y 10
4
a TolFun y TolX, respectivamente, escribiremos:
options=optimset(TolFun,0.001,TolX,0.0001);
[...]=fminunc(fun,x0,options)
Ejemplo 4.12 Resolveremos con MATLAB el problema de optimizacin
(1) 'i: senr
1
senr
2
,
144 Optimizacin matemtica aplicada
considerando las semillas X0=[1,1] y X0=[1,-1] y observando todos los argu-
mentos de salida.
Solucin. Ejecutamos fminunc con la semilla X0=[1,1]:
[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 verica la condicin (4.4));
g =[-2.2979e-007 -2.2979e-007] (gradiente de la funcin objetivo en
x);
h =

2.8104 10
11
1
1 2.8104 10
11
!
.
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 indenida.
Sin embargo, si resolvemos el mismo problema a partir de la semilla X0=[1,-1]
escribiremos:
[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;
Captulo 4. Prcticas de optimizacin sin restricciones 145
g =[2.2293e-007 -2.2293e-007] (prximo al vector nulo);
h =

1 9.0588 10
9
9.0588 10
9
1
!
(denida positiva).
4.3.3. Ejercicios propuestos
Ejercicio 4.8 (Ejercicio 2.2 revisitado) Resolver con MATLAB el siguiente
problema de PNL sin restricciones
(1) 'i: r
1
cos r
2
a partir de las semillas X0=[0,pi/2], X0=[0,-pi/2] y X0=[pi,0] comentan-
do en cada caso los argumentos de salida x,fval,exitflag,grad y hessian,
y especicando si la solucin propuesta aproxima a algn ptimo local o no.
Ejercicio 4.9 (Ejercicio 2.4 revisitado) Resolver con MATLAB el proble-
ma de PNL sin restricciones
(1) 'i:

r
2
1
+r
2
2

c
a
2
1
+a
2
2
,
a partir de las semillas X0=[0,0], X0=[1,-1] y X0=[100,100] comentando
en cada caso los argumentos de salida x,fval,exitflag,grad y hessian, y
especicando si la solucin propuesta aproxima a algn ptimo local o no.
Ejercicio 4.10 Resolver con MATLAB el problema de PNL sin restricciones
(1) 'i:

r
2
1
+r
2
2

c
a
2
1
a
2
2
,
a partir de las semillas X0=[0,0], X0=[1,-1] y X0=[1000,1000], comentan-
do en cada caso los argumentos de salida x,fval,exitflag,grad y hessian,
y especicando si la solucin propuesta aproxima a algn ptimo local o no.
Captulo 5
Prcticas de optimizacin con
restricciones
El presente captulo se ocupa de la resolucin con MATLAB de problemas
de optimizacin con restricciones. Prestaremos especial atencin a los problemas
de optimizacin no lineal, aunque dedicaremos parte de la primera seccin a los
problemas de programacin lineal. Concretamente, revisaremos las funciones de
MATLAB:
linprog (del ingls linear programming), empleada en la resolucin de
problemas de programacin lineal;
quadprog (quadratic programming), de la que haremos uso para resolver
problemas de programacin cuadrtica;
fmincon, dedicada a la resolucin de problemas de programcin no lineal
con restricciones.
Las tres funciones forman parte de la herramienta Optimization Toolbox
ya comentada en el captulo anterior. En este libro nos ocuparemos de los aspec-
tos relacionados con la sintaxis requerida en cada una de estas funciones, y el
anlisis de las soluciones propuestas por dichas funciones (y en particular de las
reglas de parada empleadas en cada caso); sin embargo, no es objeto de estudio
del presente libro el anlisis del algoritmo de resolucin empleado en cada caso.
147
148 Optimizacin matemtica aplicada
Para detalles sobre los aspectos algortmicos, el lector puede consultar el mismo
manual que se encuentra referenciado en la seccin 4.3.
5.1. Optimizacin lineal y cuadrtica con linprog y
quadprog (prctica 4)
5.1.1. Sintaxis de la funcin linprog
A travs de la ayuda, help linprog, obtendremos la informacin
necesaria sobre la sintaxis que debemos emplear para ejecutar correctamente la
funcin linprog. Esta funcin resuelve problemas adaptados al formato:
'i: f
0
x
:.a Ax _ b,
Aeq x = beq,
LB _ x _ UB,
(5.1)
donde x R
a
es el vector de variables de decisin, f R
a
es el vector de coe-
cientes de la funcin objetivo, Ax _ b y Aeqx = beq representan, respectiva-
mente, el sistema de desigualdades lineales y de ecuaciones lineales en formato
matricial, y nalmente LB (del ingls, lower bound) y UB (del ingls, upper bound)
son vectores de R
a
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:
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:
x=linprog(f,A,b,Aeq,beq)
Captulo 5. Prcticas de optimizacin con restricciones 149
o x=linprog(f,A,b,Aeq,beq,LB,UB), dependiendo del tipo de restric-
ciones del problema (5.1). Puede escribirse LB=[] o UB=[] cuando el pro-
blema 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:
x=linprog(f,A,b,Aeq,beq,LB,UB,x0)
y de modicar ciertos parmetros del proceso de resolucin (como deter-
minadas reglas de parada emprica) aadiendo como ltimo argumento de
entrada el vector llamado options (vase de nuevo el manual Optimiza-
tion Toolbox
TA
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 escribi-
mos [x,fval]=linprog(f,A,b,...) obtendremos, adems de la solu-
cin propuesta por MATLAB, el valor del objetivo en dicha solucin
(fval).
En nuestro caso, estaremos especialmente interesados en la sintaxis
[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 pro-
puesta. Por lo general, tanto en sta como en las restantes funciones ana-
lizadas 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 situa-
ciones en las que se verica 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 Optimizacin matemtica aplicada
empleado converge hacia x, exitflag=0 signica que se ha alcanzado el
nmero mximo de iteraciones, exitflag=-2 aparece cuando no se ha en-
contrado una solucin factible, exitflag=-3 indica que el problema es no
acotado, etc. Por su parte, el argumento de salida output proporciona
cierta informacin relativa a la implementacin del algoritmo (para de-
talles el lector puede consultar la ayuda del programa o el manual sobre
Optimization Toolbox referido al comienzo de este captulo).
Respecto del ltimo argumento de salida, lambda, para obtener los mul-
tiplicadores de KKT asociados a las distintas restricciones pondremos:
lambda.ineqlin para obtener los multiplicadores asociados al sistema
de desigualdades Ax _ b, escribiremos lambda.eqlin para los asocia-
dos al sistema de ecuaciones Aeqx = beq, lambda.lower, para los co-
rrespondientes a las cotas inferiores LB _ x y lambda.upper, para los
correspondientes a las cotas superiores x _ UB. En cualquiera de estos
casos, si la dimensin del vector correspondiente es 1, muestra directa-
mente el multiplicador (esto es, cuando existe una nica desigualdad, o
una nica igualdad, o una cota).
Ilustraremos los comentarios anteriores con los siguientes ejemplos.
Ejemplo 5.1 Resolver con MATLAB los siguientes problemas de programacin
lineal, indicando en cada caso la solucin propuesta, el valor de la funcin obje-
tivo en dicha solucin, los multiplicadores de KKT correspondientes y la regla
de parada empleada.
(1
1
) 'i: r
1
+ 2r
2
2r
3
:.a r
1
+r
2
+r
3
_ 1,
r
1
r
2
r
3
_ 1,
(1
2
) 'i: 3r
1
2r
2
r
3
:.a r
1
+r
2
+r
3
_ 1,
r
1
r
3
= 3,
(1
3
) 'i: r
1
+ 2r
2
4r
3
:.a r
1
+r
2
+r
3
_ 1,
1 _ r
1
_ 4, 0 _ r
2
_ 2.
(1
4
) 'i: r
1
+ 2r
2
+ 4r
3
:.a r
1
+r
2
+r
3
= 1,
r
1
, r
2
, r
3
_ 0.
Solucin. La gura siguiente muestra la sintaxis empleada en la resolucin
de (1
1
) .
Captulo 5. Prcticas de optimizacin con restricciones 151
Figura 5.1: Sintaxis de (1
1
) en el ejemplo 5.1.
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 gura 5.2 se muestra la sintaxis empleada en la re-
solucin de (1
2
) .
Figura 5.2: Sintaxis de la resolucin (1
2
) en el ejemplo 5.1.
En este caso se tiene:
e=1, lo que indica que el algoritmo converge con xito.
La solucin propuesta es x = [-1.0679, 6.1358, -4.0679].
El valor de la funcin objetivo es f=-5.
152 Optimizacin matemtica aplicada
Respecto de los multiplicadores aparece la siguiente informacin:
l =
ineqlin: 2 (multiplicador de KKT asociado a la nica desigualdad)
eqlin: 1 (multiplicador e KKT asociado a la nica ecuacin)
upper: [3x1 double]
lower: [3x1 double]
A continuacin, abordamos la resolucin de (1
3
) , vase la gura 5.3.
Figura 5.3: Sintaxis de la resolucin (1
3
) en el ejemplo 5.1.
En este caso se tiene:
e=1, luego el algoritmo converge.
La solucin propuesta es x = [1, 2.4683e-011, -7.131e-011].
El valor de la funcin objetivo es f=1.
Respecto de los multiplicadores aparece la siguiente informacin:
l =
ineqlin: 4 (multiplicador de KKT asociado a la nica desigualdad)
eqlin: [0x1 double] (el modelo no tiene ecuaciones)
upper: [3x1 double]
lower: [3x1 double]
Captulo 5. Prcticas de optimizacin con restricciones 153
Para obtener los valores numricos de los multiplicadores asociados a las
cotas superiores e inferiores pondremos: l.upper y l.lower.
Obtenemos los siguientes resultados: para l.upper,
[2.3191e-010, 2.7215e-010,0]
y para l.lower, [5,6,0].
Resolucin de (1
4
) :
Figura 5.4: Sintaxis de la resolucin de (1
4
) en el ejemplo 5.1.
En este problema tambin se tiene e=1, la solucin propuesta es una aproxi-
macin 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. Sintaxis de la funcin quadprog
Seguidamente comentamos algunos aspectos de la sintaxis de la funcin
quadprog en relacin con la resolucin de problemas cuadrticos con restriccio-
nes (vase la subseccin 4.3.1 en relacin con el caso de problemas cuadrticos
sin restricciones).
Como sabemos, la funcin quadprog admite diferentes argumentos de en-
trada y salida (escrbase help quadprog para ms detalles). La versin
ms sencilla es x=quadprog(H,f,A,B), donde x es la solucin propuesta
por MATLAB del problema:
154 Optimizacin matemtica aplicada
'i:
1
2
xHx+fx
:.a Ax _ B.
Como en el caso de la funcin linprog puede ampliarse el nmero de argumentos
de entrada en los formatos:
x=quadprog(H,f,A,B,Aeq,Beq), que resuelve el problema anterior
aadiendo como restricciones el sistema de ecuaciones Aeq x = Beq,
x=quadprog(H,f,A,B,Aeq,Beq,LB,UB) aade al anterior el vector
de cotas inferiores LB y de cotas superiores UB; esto es, LB <= x <= UB.
x=quadprog(H,f,A,B,Aeq,Beq,LB,UB,x0) ampla los argumentos
de entrada con el punto semilla x0. Adems, pueden modicarse ciertos
parmetros del proceso de resolucin (por ejemplo, reglas de parada del
algoritmo) aadiendo como ltimo argumento de entrada el vector llamado
options (vase el manual Optimization Toolbox
TA
4, Users Guide
comentado anteriormente).
Respecto de los argumentos de salida, vase la subseccin anterior referida
a la funcin linprog. La nica diferencia se encuentra en el tercer argumento
de salida, exitflag, que en este caso puede tomar los valores positivos 1, 3 y
4, asociados con reglas de parada satisfactorias, 0 en el caso de en el que se
excede el nmero mximo de iteraciones, y los valores negativos -2,-3,-4 y -7,
asociados con reglas de parada del algoritmo insatisfactorias en el sentido de
que no parece haberse alcanzado un ptimo local, por ejemplo, -2 indica que no
se ha encontrado punto factible y -3 indica que posiblemente el problema es no
acotado (de nuevo vanse detalles en el manual indicado en el prrafo anterior).
Ejemplo 5.2 (Ejemplo 3.11 revisitado) Resolver el siguiente problema de
optimizacin en R
3
con ayuda de la funcin quadprog utilizando las semillas [0
0 0] y [1 0 0]:
(1C) 'i: r
2
1
+ 2r
1
r
2
+r
2
2
+r
2
3
+r
1
+r
2
:.a r
1
+r
2
+r
3
_ 1,
r
1
r
2
+r
3
_ 1.
Captulo 5. Prcticas de optimizacin con restricciones 155
Solucin. Emplearemos la notacin Q y c en vez de H y f con el n de
mantener la notacin de la subseccin 3.5.3 dedicada a la teora de los problemas
cuadrticos. La gura 5.5 muestra la sintaxis empleada en la resolucin de este
ejemplo con la semilla x0=[0 0 0].
Figura 5.5: Sintaxis de la funcin quadprog.
Se obtienen los siguientes resultados:
x=[-7.8505e-017,-0.5,0]
y su imagen mediante la funcin objetivo es f=-0.25. El indicador de la regla de
parada toma el valor e=1. Respecto de los multiplicadores de KKT, se muestra
la salida siguiente:
l =
lower: [3x1 double]
upper: [3x1 double]
eqlin: [0x1 double]
ineqlin: [2x1 double]
Para obtener los valores numricos de los multiplicadores de KKT asociados
a las dos desigualdades pondremos l.ineqlin y aparece en pantalla:
ans =
0
0
156 Optimizacin matemtica aplicada
Seguidamente resolvemos el mismo problema con la semilla x0=[1 0 0].
En este caso obtenemos la solucin x=[0.25,-0.75, 2.4652e-032], con valor
de la funcin objetivo f=-0.25. El valor de e es tambin 1 y los multiplicadores
de KKT asociados a las dos desigualdades son nulos.
En este momento recordamos que el conjunto de soluciones ptimas es (como
se comprob en el ejemplo 3.11):
G = L = P
11T
=

r R
3
| 2r
1
+ 2r
2
= 1, r
3
= 0, r
1
_
1
4

.
As pues, las dos soluciones propuestas por MATLAB resultan ser ptimos glo-
bales.
El siguiente ejemplo pone de maniesto que, dependiendo de la semilla elegi-
da, 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 denicin de ptimo
global.
Ejemplo 5.3 (ptimo local que no es global) Consideremos el problema
en R
2
(1) 'i:
1
2
r
2
1

1
2
r
2
2
:.a r
1
+r
2
_ 1,
r
1
r
2
_ 1,
r
1
+r
2
_ 5,
r
1
r
2
_ 1.
Se pide:
(i) Resolver (1) 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 gura 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 obje-
tivo f=-0.5.
Captulo 5. Prcticas de optimizacin con restricciones 157
Figura 5.6: Resolucin del ejemplo 5.3 con x0=[-1 1].
Puede comprobarse que partiendo de la semilla [1 1] se obtiene la solucin
x=[2 3] con f=-2.5.
Ntese que tenemos soluciones distintas con valores de la funcin objetivo
distintos. Obviamente, como consecuencia de la comparacin de ambos valores,
se desprende que x=[0 -1] no es ptimo global. En cualquier caso, con la in-
formacin que proporciona MATLAB no tenemos elementos de juicio sucientes
para garantizar si x=[2 3] es o no ptimo global.
(ii) Para analizar la optimalidad local y global hemos de recurrir a los conoci-
mientos tericos. Por ejemplo, en este caso, se comprueba fcilmente que el
conjunto factible es compacto y, por tanto, existe algn ptimo global (en virtud
del Teorema de Weierstrass, vase la subseccin 3.5.1). De hecho, sumando los
dos miembros de las restricciones 1 y 4 se deduce que r
1
_ 1. Realizando la
misma operacin con las restricciones 2 y 3 se deduce r
1
_ 3. De las restricciones
1 y 3 se deduce r
2
_ 3, y de las restricciones 2 y 4 se deduce r
2
_ 1.
Adems, puesto que se cumple alguna cualicacin de restricciones en cada
uno de los puntos factibles (pues todas las restricciones son lineales), todo ptimo
global es punto de KKT. En este caso, puede comprobarse siguiendo los pasos
descritos en el captulo 3 que el conjunto de puntos de KKT es
P
11T
=

(0, 0)
0
, (0, 1)
0
, (2, 3)
0

.
158 Optimizacin matemtica aplicada
Adems, si ) representa a la funcin objetivo, se tiene que ) (0, 0) = 0,
) (0, 1) = 0.5 y ) (2, 3) = 2.5. Luego (2, 3)
0
ha de ser un ptimo global de
(1) .
Finalmente, queda vericar si (0, 1)
0
es un ptimo local. Tmese el entorno
de (0, 1)
0
dado por
l := ]1, 1[ ]2, 0[
y ntese que si r l 1 (recurdese que 1 denota al conjunto factible de (1)),
en particular se tiene que r
2
[1, 0[ . En consecuencia,
r l 1 =) (r) =
1
2
r
2
1

1
2
r
2
2
_ 0
1
2
= ) (0, 1) .
As pues, hemos comprobado que (0, 1)
0
es un ptimo local del problema.
5.2. Optimizacin no lineal con fmincon (prctica 5)
La presente seccin est dedicada a la resolucin de problemas de PNL con
restricciones con ayuda de la funcin fmincon de MATLAB. Esta funcin re-
suelve problemas de optimizacin adaptados al formato:
'i: fun(x)
:.a A x _ B,
Aeq x = Beq,
C(x)_ 0,
Ceq(x)= 0,
LB _ x _ UB.
(5.2)
Concretamente, la sintaxis empleada en la introduccin de los datos del
modelo es la siguiente (vase la ayuda de MATLAB para detalles, escribiendo
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.
Captulo 5. Prcticas de optimizacin con restricciones 159
Si el problema de optimizacin contiene entre sus restricciones un sistema
de ecuaciones lineales de la forma Aeq x = Beq (vase (5.2)), puede es-
cribirse X=fmincon(fun,X0,A,B,Aeq,Beq).
A continuacin, se introducen las cotas inferiores y superiores mediante la
sintaxis X=fmincon(fun,X0,A,B,Aeq,Beq, LB,UB).
Finalmente, se aaden al modelo las restricciones no lineales C(x)_ 0 y
Ceq(x)= 0. Se recomienda denir estas restricciones no lineales en un
M-archivo como se explica a continuacin. As, por ejemplo, si grabamos
el chero de las restricciones no lineales con el nombre nonlcon.m, para
ejecutar entonces la funcin fmincon escribiremos:
X=fmincon(fun,X0,A,B,Aeq,Beq,LB,UB,nonlcon).
5.2.1. Denicin de las restricciones en un M-archivo
El siguiente ejemplo ilustra cmo hemos de crear un M-archivo, que llamare-
mos nonlcon (del ingls, nonlinear constraints), para almacenar las restriccio-
nes 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 R
4
:
'i: r
2
1
+r
2
2
+r
2
3
+r
4
:.a r
1
+r
2
+r
3
+ 4r
4
= 2,
r
2
1
+r
2
2
+r
2
3
+r
2
4
_ 400,
r
2
1
r
2
4
_ 0,
r
1
r
2
= 100,
r
1
, r
2
_ 0.
Recordemos que para crear un nuevo M-archivo desde la barra de herramien-
tas de MATLAB seguiremos los pasos: le New M-le. De este modo,
entraremos en el editor de textos de MATLAB. La gura 5.7 muestra la sintaxis
empleada en la edicin de las restricciones no lineales del presente ejemplo.
160 Optimizacin matemtica aplicada
Obsrvese que x es la variable de decisin vectorial y x(1),...,x(4) son sus co-
ordenadas. Ntese tambin que la funcin nonlcon tiene dos argumentos de
salida C y Ceq correspondientes a las funciones que denen las restricciones de
desigualdad e igualdad, respectivamente. C y/o Ceq pueden ser vectoriales, en
cuyo caso, se escribirn como vectores columna.
Figura 5.7: Edicin de las restricciones no lineales.
La funcin objetivo puede denirse tambin en un M-archivo independiente,
lo que resulta conveniente en el caso de funciones de cierta envergadura, o bien
puede ser introducida directamente en la ventana de comandos. En la gura
5.8 se muestra como introducir la funcin objetivo siguiendo la segunda opcin.
Ntese que tanto la funcin objetivo como el nombre del chero nonlcon han
de escribirse entre comillas. Respecto de la semilla, x0=[1 2 3 4], se ha elegido
arbitrariamente.
Figura 5.8: Sintaxis de la funcin fmincon.
Captulo 5. Prcticas de optimizacin con restricciones 161
5.2.2. Denicin de la funcin objetivo en un M-archivo
Continuando con el mismo ejemplo anterior, seguidamente denimos la fun-
cin objetivo en un M-archivo que llamaremos fun (vase la gura 5.9).
Figura 5.9: Edicin de la funcin objetivo en un M-archivo.
As pues, resolvemos el problema de optimizacin que nos ocupa mediante
la sintaxis que se muestra en la gura 5.10.
Figura 5.10: Sintaxis de la resolucin del ejemplo 5.4.
5.2.3. Algunos parmetros y mensajes de parada
La funcin fmincon emplea determinados parmetros para controlar la in-
terrupcin del proceso iterativo que lleva implementado. A continuacin, co-
mentaremos cuatro de estos parmetros; vanse los detalles sobre los algoritmos
implementados y el resto de parmetros de control en el manual Optimization
Toolbox
TA
4, Users Guide (vase la seccin 4.3).
162 Optimizacin matemtica aplicada
La funcin fmincon tiene asignados determinados valores por defecto a los
mencionados parmetros. Estos valores pueden modicarse mediante la fun-
cin optimset. Para comenzar es importante conocer el nombre de dichos
parmetros y para ello puede escribirse en la ventana de comandos op-
tions=optimset (vase la gura 5.11). De hecho, de este modo estamos alma-
cenando en options el conjunto de todos los valores por defecto de los parme-
tros.
Figura 5.11: Nombre de los parmetros de fmincon.
En esta subseccin comentaremos los parmetros TolFun, TolCon, Max-
FunEvals y MaxIter.
En el resto de esta subseccin, por simplicidad en la notacin, trabajaremos
con el problema de PNL en el formato siguiente:
'i: ) (r)
:.a q
i
(r) _ 0, i = 1, ..., :,
/
)
(r) = 0, , = 1, ..., j,
donde r R
a
y todas las funciones del modelo (), q
i
, i = 1, ..., :; /
)
, , = 1, ..., j)
estn denidas en R
a
y toman sus valores (imgenes) en R.
Los parmetros TolFun y TolCon tienen un valor asignado por defecto
de 10
6
y se emplean en la comprobacin de las condiciones de KKT en
Captulo 5. Prcticas de optimizacin con restricciones 163
la solucin propuesta, x. De hecho, uno de los posibles mensajes de para-
da 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 signi-
ca que se cumplen las siguientes desigualdades:

\) (r) +
n
X
i=1
`
i
\q
i
(r) +
j
X
)=1
j
)
\/
)
(r)

_ TolFun, (5.3)
y para todo i, se tiene |`
i
q
i
(r)| _ TolFun, (5.4)
para ciertos escalares `
i
_ 0, i = 1, ..., :, j
)
R, , = 1, ..., j. Por su parte,
el texto maximum constraint violation is less than options.Tol-
Con signica que:
[q
i
(r)]
+
_ TolCon, para todo i, (5.5)
|/
)
(r)| _ TolCon, para todo ,, (5.6)
donde [q
i
(r)]
+
representa la parte positiva de q
i
(r) , esto es,
[q
i
(r)]
+
= max{0, q
i
(r)}.
Los parmetros MaxFunEvals y MaxIter representan, respectivamente,
el nmero mximo de evaluaciones de la funcin objetivo y el nmero mxi-
mo de iteraciones. Los valores asignados por defecto son 100: (100*nmero
de variables) y 400, respectivamente. Estos parmetros actan como cri-
terios 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.Max-
FunEvals signica 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 signica que se
ha excedido el nmero mximo de iteraciones y se aconseja incrementar el
valor del parmetro MaxIter.
164 Optimizacin matemtica aplicada
Seguidamente se presentan ilustraciones de estos mensajes.
Ejemplo 5.5 (Ejemplo 5.4 revisitado) La gura 5.12 muestra el mensaje
de salida en la resolucin del ejemplo 5.4.
Figura 5.12: Mensaje relativo a las condiciones de KKT.
En este caso, en el punto propuesto r = (10, 10, 0.1250, 4.5313)
0
se veri-
can las condiciones (5.3), (5.4), (5.5) y (5.6); esto es, se verican aproximada-
mente las condiciones de KKT en dicho punto. Si se quiere conocer el valor
de los escalares `
i
, i = 1, ..., :, j
)
, , = 1, ..., j, hemos de pedirlo como argu-
mento de salida de forma anloga a como se haca con la funcin quadprog. Si
escribimos:
[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 signica precisamente que se verican aproximadamente
las condiciones de KKT, cierta informacin adicional que viene recogida en el
cuarto argumento de salida, o (el nmero de iteraciones empleadas, o.itera-
tions: 11, el nmero de evaluaciones de la funcin objetivo, o.funcCount: 62,
Captulo 5. Prcticas de optimizacin con restricciones 165
el valor mximo de los miembros de la izquierda de (5.3) y (5.4), o.firstorder-
opt: 6.6542e-007) y los valores de los escalares `
i
, i = 1, ..., :, j
)
, , =
1, ..., j, que viene recogidos en l.lower (correspondientes a las cotas inferi-
ores), 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 r
1
+r
2
+r
3
+ 4r
4
= 2), l.eqnonlin=-1.9750 (aso-
ciado a la restriccin r
1
r
2
= 100), l.ineqlin: [0x1 double] (no existen inecua-
ciones lineales), l.ineqnonlin=[0,0], asociados a las restricciones
r
2
1
+r
2
2
+r
2
3
+r
2
4
_ 400 y r
2
1
+r
2
4
_ 0.
Ejemplo 5.6 Consideremos el problema de PNL
'i: r
2
1
+ 4r
4
2
+ 3r
6
3
+r
4
:.a r
1
+r
2
+r
3
+ 4r
4
= 2,
r
2
1
+r
2
2
+r
4
3
r
2
4
_ 400,
r
1
r
2
_ 100,
r
2
1
r
2
4
= 100,
r
3
r
4
= 200,
r
1
, r
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 gura 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 gura 5.14 se muestra el resto de la sintaxis de fmincon,
166 Optimizacin matemtica aplicada
Figura 5.13: Edicin de las restricciones no lineales del ejemplo 5.6.
el mensaje de salida, la solucin propuesta, x, y el valor de la funcin objetivo
en dicha solucin, f. Ntese que el mensaje de salida indica que la parada del
proceso iterativo de resolucin se debe a que se ha excedido el nmero mximo
de evaluaciones de la funcin objetivo.
Figura 5.14: Resolucin del ejemplo 5.6.
Podemos comprobar, adems, que no se cumplen de forma aproximada las
condiciones de KKT. Concretamente, que no se cumplen las condiciones (5.3) y
(5.4).
Captulo 5. Prcticas de optimizacin con restricciones 167
En la gura 5.15 puede observarse que o.firstorderopt=1.73210
4
, lo que
signica que
max
_

\) (r) +
n
P
i=1
`
i
\q
i
(r) +
j
P
)=1
j
)
\/
)
(r)

,
|`
i
q
i
(r)| , i = 1, ..., :
_

_
= 1.732 10
4
.
En la misma gura puede observarse que el nmero de iteraciones empleadas es
de 20 y el de evaluaciones de la funcin objetivo es 404 (cuando el lmite est
en 100: = 400).
Figura 5.15: Valores de exitag y output en el ejemplo 5.6.
(ii) En general, la asignacin de nuevos valores a los parmetros contenidos
en options se hace mediante la funcin optimset. La gura 5.16 muestra la
sintaxis empleada en la asignacin de los valores 1000 y 900 a los parmetros
MaxFunEvals y MaxIter. La sintaxis sera anloga si se quisieran modicar
TolFun o TolCon. Ntese que mediante la sintaxis:
options=optimset(Nombre del parmetro, asignacin,...)
se crean nuevas asignaciones para los parmetros aqu nombrados, dejando las
168 Optimizacin matemtica aplicada
Figura 5.16: Asignacin de nuevos valores a los parmetros mediante optimset.
asignaciones por defecto para el resto de parmetros. Posteriormente, ha de
introducirse options en el lugar 10 de los argumentos de entrada de fmincon.
Finalmente comentamos que, de nuevo, valores positivos de exitag (el ter-
cero de los argumentos de salida de fmincon) se corresponden con reglas de
parada satisfactorias (por ejemplo, exitag=1 signica que se cumple la apro-
ximacin de las condiciones de KKT especicadas en (5.3), (5.4), (5.5) y (5.6)),
el valor nulo signica que se ha excedido el nmero mximo de evaluaciones de
la funcin objetivo o el nmero mximo de iteraciones. Por su parte, valores
negativos indican que la solucin propuesta no es satisfactoria (por ejemplo,
exitag=-2 signica que no se ha encontrado una solucin factible).
5.2.4. Ejercicios propuestos
Ejercicio 5.1 Se desea minimizar la cantidad de cartn (en m
2
) empleado en la
elaboracin de una caja de dimensiones r
1
, r
2
y r
3
(donde r
1
y r
2
representan
las dimensiones de la base y r
3
la altura), suponiendo que desea albergarse un
volumen de al menos 1 m
3
. Adems, por razones de resistencia de la caja, debe
ponerse doble capa de cartn en su base. Se pide:
(i) Plantear el modelo que resuelve esta cuestin.
(ii) Resolver el modelo anterior con ayuda de la funcin fmincon partiendo
de diferentes semillas (ensayar con 5 semillas distintas); en cada caso comentar
si la solucin propuesta por MATLAB verica aproximadamente las condiciones
de KKT.
(iii) Cmo cambiara el valor ptimo del problema si se relajara ligeramente
Captulo 5. Prcticas de optimizacin con restricciones 169
la restriccin de volumen (esto es, si se deseara albergar un volumen de al menos
1 -, con - 0 sucientemente pequeo)?
Ejercicio 5.2 Se pretende construir un depsito con forma de cilindro sin tapa-
dera para albergar un volumen de al menos 2 m
3
y se desea determinar las di-
mensiones ptimas del cilindro en el sentido de minimizar la cantidad de material
necesario para su construccin. Se pide:
(i) Plantear el modelo de optimizacin correspondiente.
(ii) Encontrar con ayuda de fmincon alguna solucin que verique las condi-
ciones de KKT (aproximadamente).
(iii) Cmo repercutira en el valor ptimo del problema una ligera variacin
en el volumen mnimo que se desea albergar?
Ejercicio 5.3 Se desea determinar el punto ms cercano y el ms alejado de
(0, 2, 2) a la regin
=

(r, j, .) | r
2
+j
2
+.
2
_ 2, r
2
+j
2
_ 1, r +j +. _ 0

.
Para ello se pide:
(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. Introduccin: resultados bsicos de Programacin
Lineal y primeros ejemplos
Un problema de PL puede escribirse de la siguiente forma:
(1) 'i: )(r) = c
0
r
:.a a
0
)
r _ /
)
, , 1,
a
0
i
r = /
i
, i 1,
(6.1)
donde 1, 1 N, 11 = , |1| < , |1| < , c, a
I
R
a
, /
I
R , / 1'1.
As, el conjunto factible de (P) quedara
1 =

r R
a
| a
0
)
r _ /
)
, , 1, a
0
i
r = /
i
, i 1

.
Las |1| restricciones de igualdad se pueden desdoblar en 2 |1| restricciones de
desigualdad, por lo que cuando sea necesario, podremos suponer sin prdida de
generalidad que no existen restricciones de igualdad en el problema. Por tanto
en la PL, el conjunto factible resulta ser la interseccin de semiespacios cerrados,
esto es, un poliedro (vase la ilustracin de la gura 6.1 para un poliedro acotado
y otro no acotado).
A continuacin, se enuncian un par de resultados bsicos de la PL que sern
de utilidad para las aplicaciones de las secciones siguientes.
173
174 Optimizacin matemtica aplicada
Conjunto factible acotado Conjunto factible no acotado
Figura 6.1: Conjunto factible de un problema de PL.
Puesto que la linealidad es una cualicacin de restricciones, y los problemas
de PL son un caso particular de los problemas convexos, sabemos (vese la
seccin 3.5.2) que coincidirn los ptimos globales, ptimos locales y puntos de
KKT del problema (6.1): G = L = P
11T
. Teniendo en cuenta la forma que
adoptan las condiciones de KKT para el caso particular de la PL, se tiene el
siguiente teorema:
Teorema 6.1 Dado el problema de PL (6.1) y dado r 1, son equivalentes:
(i) r es ptimo local;
(ii) r es ptimo global;
(iii) r es punto de KKT, esto es, existen `
)
_ 0, , 1, `
i
R, i 1 tales
que:
c =
P
)1
`
)
a
)
+
P
i1
`
i
a
i
,
`
)
(a
0
)
r /
)
) = 0, , 1.
_
_
_
Es bien sabido que en PL la resolubilidad y la acotacin son propiedades
equivalentes. El siguiente teorema recoge este enunciado aadiendo adems una
caracterizacin algebraica de estas propiedades.
Teorema 6.2 Dado el problema de PL (6.1) con conjunto factible no vaco,
son equivalentes:
(i) (1) es resoluble;
(ii) (1) es acotado (< < +) ;
Captulo 6. Aplicaciones de la Programacin Lineal 175
(iii) Existen `
)
_ 0, , 1, `
i
R, i 1 tales que c =
P
)1
`
)
a
)
+
P
i1
`
i
a
i
.
Observacin 6.1 En un problema de programacin lineal con c 6= 0
a
, los pti-
mos, si existen, se alcanzan siempre en la frontera, donde existe alguna restric-
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.
Resolucin grca de los problemas de PL bidimensionales
Puesto que son representables en el plano, los problemas de PL bidimensiona-
les admiten una resolucin grca de forma sencilla. Los pasos a seguir son los
siguientes:
1. Se representan las rectas que denen las restricciones y se localiza el
conjunto factible.
2. Se representan el gradiente, c, y los conjuntos de nivel (lneas rectas per-
pendiculares a c) de la funcin objetivo.
3. Finalmente, en trminos informales, la solucin o soluciones del problema
(1) se encontrarn en el conjunto de nivel de valor ms bajo que intersecta al
conjunto factible.
A continuacin, presentamos tres ejemplos con la nalidad de ilustrar dife-
rentes aspectos de la PL. El primero, adems de por la modelizacin en s mis-
ma, se introduce con el objetivo de ilustrar la resolucin grca de problemas
bidimensionales. El segundo presenta una ilustracin del teorema 6.2 de ca-
racterizacin de la resolubilidad. El tercero constituye un problema clsico de
aplicacin de la PL, donde se hace hincapi en la modelizacin y en la com-
probacin terica de la resolubilidad (de nuevo como ilustracin del teorema
6.2)
6.1.1. Un modelo bsico del consumidor
Sea un consumidor con renta : que tiene que elegir las cantidades de los
bienes 1
1
y 1
2
que desea consumir, de modo que maximice su funcin de
utilidad n y no sobrepase su renta :. Se considera la siguiente notacin:
r
1
: cantidad del bien 1 (r
1
_ 0),
176 Optimizacin matemtica aplicada
r
2
: cantidad del bien 2 (r
2
_ 0),
j
1
: precio unitario del bien 1 (j
1
0),
j
2
: precio unitario del bien 2 (j
2
0).
Supondremos que las preferencias del consumidor pueden ser representadas
por una funcin de utilidad lineal:
n(r
1
, r
2
) = c
1
r
1
+c
2
r
2
.
Supongamos, adems, que existe un impuesto sobre el bien 1 de t 0 unidades
por cada unidad consumida que exceda la cantidad r
1
(con r
1
_
n
j
1
).
Ahora pasamos a resolver el problema, calculando, en primer lugar, el con-
junto 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 r
1
_ r
1
entonces debe ser j
1
r
1
+j
2
r
2
_ :.
Si r
1
r
1
entonces debe ser j
1
r
1
+(j
1
+t)(r
1
r
1
) +j
2
r
2
_ :, o lo que es
lo mismo j
1
r
1
+t(r
1
r
1
) +j
2
r
2
_ :.
Por tanto, el conjunto factible se puede describir como
1 =

r R
2
| r
1
_ r
1
, j
1
r
1
+j
2
r
2
_ :

'

r R
2
| r
1
r
1
, j
1
r
1
+t(r
1
r
1
) +j
2
r
2
_ :

.
Veamos que 1 coincide con el siguiente conjunto expresado ya en el formato
de la PL:
e
1 =

(r
1
, r
2
) R
2
| j
1
r
1
+j
2
r
2
_ :, j
1
r
1
+t(r
1
r
1
) +j
2
r
2
_ :

.
Como la inclusin
e
1 1 es inmediata, solo queda probar que 1
e
1:
Si r
1
_ r
1
y j
1
r
1
+ j
2
r
2
_ :, como t(r
1
r
1
) _ 0, se tiene j
1
r
1
+ t(r
1

r
1
) +j
2
r
2
_ j
1
r
1
+j
2
r
2
_ :.
Si r
1
r
1
y j
1
r
1
+ t(r
1
r
1
) + j
2
r
2
_ :, como t(r
1
r
1
) 0, se tiene
j
1
r
1
+j
2
r
2
< j
1
r
1
+t(r
1
r
1
) +j
2
r
2
_ :.
Captulo 6. Aplicaciones de la Programacin Lineal 177
Por tanto, el problema que tiene que resolver el consumidor quedara
(1) 'i: n(r
1
, r
2
) = c
1
r
1
c
2
r
2
:.a j
1
r
1
+j
2
r
2
_ :,
j
1
r
1
+t(r
1
r
1
) +j
2
r
2
_ :,
r
1
, r
2
_ 0.
Seguidamente indicamos el conjunto de soluciones de (1) distinguiendo cinco
casos (ilustrados en las guras 6.2, 6.3 y 6.4):
(i) En el caso
c
1
c
2
<
j
1
j
2
, la solucin es (0,
n
j
2
)
0
.
(ii) Si
c
1
c
2
=
j
1
j
2
, el conjunto de soluciones es el segmento [(0,
n
j
2
)
0
, ( r
1
,
nj
1
a
1
j
2
)
0
].
(iii) Si
j
1
j
2
<
c
1
c
2
<
j
1
+t
j
2
, la solucin es ( r
1
,
nj
1
a
1
j
2
)
0
.
(iv) Si
c
1
c
2
=
j
1
+t
j
2
, el conjunto de soluciones es [( r
1
,
nj
1
a
1
j
2
)
0
, (
n+t a
1
j
1
+t
, 0)
0
].
(v) Si
j
1
+t
j
2
<
c
1
c
2
, la solucin es (
n+t a
1
j
1
+t
, 0)
0
.
Las lneas discontinuas representan los conjuntos de nivel de la funcin ob-
jetivo; un aumento de grosor indica una disminucin del valor de la funcin.
c
1
c
2
<
j
1
j
2
c
1
c
2
=
j
1
j
2
Figura 6.2: Casos (i) y (ii).
178 Optimizacin matemtica aplicada
j
1
j
2
<
c
1
c
2
<
j
1
+t
j
2
c
1
c
2
=
j
1
+t
j
2
Figura 6.3: Casos (iii) y (iv).
j
1
+t
j
2
<
c
1
c
2
Figura 6.4: Caso (v).
6.1.2. Resolubilidad con conjunto factible no acotado
Se sabe que el conjunto factible de un problema de PL es siempre cerrado,
por ser la interseccin de semiespacios cerrados (vase el ejemplo 1.9). Si adems
es acotado, el conjunto factible ser compacto y por el Teorema de Weierstrass
se sabe que existe al menos un mnimo. Por tanto, el problema ser resoluble.
Captulo 6. Aplicaciones de la Programacin Lineal 179
Cuando su conjunto factible no es acotado, el problema puede no ser reso-
luble. Vamos a ver esto en los dos problemas siguientes:
1. Sean a
1
= (2, 1)
0
, a
2
= (1, 2)
0
, a
3
= (1, 2)
0
, c = (1, 1)
0
, /
1
=
0, /
2
= 10, /
3
= 4, 1 =

r R
2
| a
0
1
r _ 0, a
0
2
r _ 10, a
0
3
r _ 4

y el problema
(1
1
) Min c
0
r
:.a r 1.
Aplicando el teorema 6.2, (1
1
) tendr solucin si, y solo si, existen `
1
, `
2
, `
3
_ 0
tales que
c = `
1
a
1
+`
2
a
2
+`
3
a
3
. (6.2)
Pero observemos que la ecuacin (6.2) dene el sistema
(
2`
1
`
2
`
3
= 1,
`
1
+ 2`
2
2`
3
= 1,
que es compatible indeterminado. Una de las innitas soluciones es `
1
=
1
5
, `
2
=
0, `
3
=
3
5
. Por el hecho de existir una solucin del sistema (6.2) con todas las
coordenadas no negativas, el problema (1
1
) es resoluble.
Se puede resolver (1
1
) grcamente (vase la gura 6.5) y se comprueba que
el ptimo del problema es r = (
4
5
,
8
5
)
0
.
Figura 6.5: Problema resoluble con 1 no acotado.
180 Optimizacin matemtica aplicada
Se puede utilizar el teorema 6.1 para probar que r es ptimo del problema
(1
1
) : Puesto que a
0
1
r = 0, a
0
2
r =
12
5
, a
0
3
r = 4, las ecuaciones de complemen-
tariedad quedan
`
1
(a
0
1
r /
1
) = `
1
(0 0) = 0;
`
2
(a
0
2
r /
2
) = `
2
(
12
5
10) = 0;
`
3
(a
0
3
r /
3
) = `
3
(4 + 4) = 0.
Por tanto, `
2
= 0 y `
1
, `
3
quedan libres por el momento. Resolviendo el sistema
`
1

2
1
!
+`
3

1
2
!
=

1
1
!
,
se obtiene `
1
=
1
5
, `
3
=
3
5
, y entonces c =
1
5
a
1
+ 0a
2
+
3
5
a
3
. Por tanto, r es
punto de KKT como queramos probar.
2. Sean c = (3, 1)
0
, 1 el mismo conjunto factible del apartado 1 de este
mismo ejemplo, y (1
2
) el problema
(1
2
) Min c
0
r
:.a r 1.
Por el teorema 6.2, y de la misma forma que en el apartado 1, (1
2
) ser resoluble
si, y solo si, existen `
1
, `
2
, `
3
_ 0 tales que
`
1
a
1
+`
2
a
2
+`
3
a
3
= c. (6.3)
La ecuacin (6.3) dene el sistema
(
2`
1
`
2
`
3
= 3,
`
1
+ 2`
2
2`
3
= 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
c de la forma
_
_
_
_
`
1
`
2
`
3
_
_
_
_
=
1
3
_
_
_
_
11
10
c
_
_
_
_
, c R,
Captulo 6. Aplicaciones de la Programacin Lineal 181
Figura 6.6: Problema no resoluble con 1 no acotado.
donde se observa que la primera coordenada es siempre negativa. Luego no
existen parmetros `
1
, `
2
y `
3
que cumplan la ecuacin (6.3) y sean a la vez no
negativos, por lo que (1
2
) no es resoluble.
Como ilustracin observemos que la funcin objetivo de (1
2
) decrece en la
direccin del eje r (vase la gura 6.6). En primer lugar, se comprueba inmedia-
tamente que (, 0) es factible para cualquier _ 4. Adems, para cualesquiera
, _ 4, con , se tiene c
0

= 3 < 3 = c
0

.
6.1.3. Un problema de transporte
Se supone que cierto producto homogneo est almacenado en distintas loca-
lizaciones, con diferentes cantidades en cada una. Se supone que existen : locali-
zaciones y se designa por c
i
(_ 0) la cantidad disponible en cada localizacin
i. Las cantidades de producto deben ser transportadas a diferentes destinos.
Suponemos que existen : destinos y ,
)
(_ 0) designa la cantidad requerida en
el destino ,. Emplearemos la siguiente notacin:
r
i)
: cantidad que es transportada del origen i al destino ,;
c
i)
: coste por cada unidad transportada del origen i al destino ,; supondremos
c
i)
_ 0 para todo i = 1, . . . , :, , = 1, . . . , :.
Por ltimo, se supone que la cantidad total almacenada es mayor o igual a la
cantidad total requerida:
P
n
i=1
c
i
_
P
a
)=1
,
)
(de lo contratrio el problema sera
182 Optimizacin matemtica aplicada
no resoluble directamente). El problema del transporte consiste en encontrar las
organizaciones (r
i)
)
)=1,...,a
i=1,...,n
, que satisfacen las demandas de cada localizacin, al
tiempo que se minimiza el coste del transporte.
Dada la organizacin (r
i)
)
)=1,...,a
i=1,...,n
, el coste que suponen los transportes a
realizar es
X
i=1,...,n
)=1,...,a
c
i)
r
i)
.
La satisfaccin de la demanda se traduce en la restriccin
P
n
i=1
r
i)
= ,
)
(es decir, la suma de todas las cantidades que llegan al destino , debe ser ,
)
).
Adems, hay que tener en cuenta que cada origen i no puede disponer de ms
cantidad de producto que la que tiene almacenada, lo que se traduce en la
restriccin:
P
a
)=1
r
i)
_ c
i
(es decir, la suma de todas las cantidades de producto
que salen del origen i no puede superar c
i
). Finalmente, se tiene en cuenta
tambin la no negatividad de las variables para que el problema tenga sentido.
Por tanto, el problema de minimizacin se puede formular como
(1) Min
X
i=1,...,n
)=1,...,a
c
i)
r
i)
:.a
a
X
)=1
r
i)
_ c
i
, i = 1, . . . , :,
n
X
i=1
r
i)
= ,
)
, , = 1, . . . , :,
r
i)
_ 0, i = 1, . . . , :, , = 1, . . . , :.
Aplicando el teorema 6.2 se puede comprobar que el problema del transporte
siempre es resoluble: las :+: restricciones,
r
i)
_ 0, i = 1, . . . , :, , = 1, . . . , :,
garantizan de forma evidente que se cumpla la condicin (iii) del teorema 6.2
(recurdese que los c
i)
son no negativos). Solo falta probar que el conjunto
factible es no vaco. Pero para probar esto basta tomar
r
i)
:=
c
i
,
)
P
n
i=1
c
i
.
Captulo 6. Aplicaciones de la Programacin Lineal 183
De este modo,
a
X
)=1
r
i)
= c
i
a
X
)=1
,
)
n
X
i=1
c
i
_ c
i
;
n
X
i=1
r
i)
= ,
)
n
X
i=1
c
i
n
X
i=1
c
i
= ,
)
.
Lo que quiere decir que ( r
i)
)
)=1,...,a
i=1,...,n
pertenece al conjunto factible del pro-
blema del transporte.
6.2. Regresin lineal: Modelos MINMAD y MIN-
MAXAD
6.2.1. Planteamiento del modelo
La nalidad de esta prctica es determinar la ecuacin del plano (de regre-
sin)
Y = c
0
+c
1
A
1
+... +c
a
A
a
,
que mejor se ajusta (en el sentido que precisamos ms adelante) a la nube de
puntos
{(j
)
, r
1)
, r
2)
, ..., r
a)
) , , = 1, ..., /} .
Para ello, consideramos el vector de parmetros c = (c
0
, c
1
, . . . , c
a
) R
a+1
y
denimos para cada c R
a+1
el correspondiente vector de residuos
-(c) := (-
)
(c))
)=1,...,I
,
con
-
)
(c) := j
)
(c
0
+c
1
r
1)
+. . . +c
a
r
a)
), , = 1, ..., /.
A efectos interpretativos, en ocasiones nos referiremos a (j
)
)
)=1,...,I
como el
vector de observaciones experimentales de la variable Y, variable dependiente en
184 Optimizacin matemtica aplicada
la ecuacin del plano de regresin, y a (r
i)
)
)=1,...,I
como el vector de observa-
ciones experimentales de la variable independiente A
i
, con i = 1, ..., :. De este
modo, para cada , = 1, ..., /, puede interpretarse c
0
+c
1
r
1)
+. . . +c
a
r
a)
como
el valor estimado de Y (el determinado mediante el plano de regresin) a partir
de los valores r
1)
, . . . , r
a)
de las variables A
1
, ..., A
a
(vase una ilustracin del
caso : = 1 en la gura 6.7).
Figura 6.7: Recta de regresin j = c
0
+c
1
r.
Con la notacin anterior, el problema de ajuste del plano a la nube de pun-
tos considerada, en ltima instancia, conduce a determinar los valores de los
escalares c
0
, c
1
, . . . , c
a
que, en trminos informales, hacen mnimo el vector
de residuos -(c) (de diferencias entre los valores observados de Y y los estima-
dos 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
(1) 'i:
cR
n+1
k-(c)k
2
=

I
P
)=1
-
)
(c)
2
!1
2
,
o equivalentemente (por ser la funcin t 7
_
t una funcin estrictamente cre-
ciente en R
+
)
(1
nc
) 'i:
cR
n+1
I
P
)=1
-
)
(c)
2
. (6.4)
Captulo 6. Aplicaciones de la Programacin Lineal 185
Por razones de antigedad histrica y por las buenas propiedades estadsticas
y computacionales que presenta, el de los mnimos cuadrados es un mtodo
destacado en el estudio de la regresin.
Con la nalidad de dar una interpretacin estadstica a la solucin ptima
del modelo de mnimos cuadrados (6.4), introducimos el siguiente resultado.
Concretamente, se especican ciertas hiptesis bajo las cuales la solucin ptima
del problema (6.4) proporciona la estimacin de mxima verosimilitud para
los parmetros correspondientes. En lo que sigue (j, o) denota a la variable
aleatoria normal de media j y desviacin tpica o.
Proposicin 6.1 Consideremos los siguientes elementos:
a) Sean r
i)
R con i = 1, ..., :, , = 1, ..., / y o 0 conocidos.
b) Para cada , = 1, ..., /, sea Y
)
(c) la variable aleatoria
1
Y
)
(c) = (c
0
+c
1
r
1)
+. . . +c
a
r
a)
, o) ,
que depende del parmetro desconocido c = (c
0
, c
1
, . . . , c
a
) R
a+1
.
c) Supongamos adems que las variables Y
)
(c) , , = 1, ..., /, son indepen-
dientes.
d) Consideremos unas realizaciones concretas de las variables Y
)
(c) , , =
1, ..., /, denotadas por j
)
, , = 1, ..., /, y sean
-
)
(c) := j
)
(c
0
+c
1
r
1)
+. . . +c
a
r
a)
), para , = 1, ..., /.
Entonces la solucin ptima del problema de mnimos cuadrados (6.4) pro-
porciona la estimacin de mxima verosimilitud para el parmetro c.
Demostracin. Ntese que la verosimilitud de la muestra (j
)
)
)=1,...,I
para el
parmetro c R
a+1
puede escribirse como
1(j
1
, . . . , j
I
; c) =
I
Y
)=1
1

2o
c

(o
0
+o
1
i
1
+...+o
n
i
n
))
2
2
2
=
1
(

2o)
I
c

I
=1
(s

(o))
2
2
2
;
1
Ntese que el hecho de que Y

(c) ` (c
0
+c
1
r
1
+... +c
n
r
n
, o) equivale a que la
variable residual 1

(c) = Y

(c) (c
0
+c
1
r
1
+... +c
n
r
n
) se distribuya como la normal de
media 0 y desviacin tpica o.
186 Optimizacin matemtica aplicada
as, el planteamiento del problema de mxima verosimilitud puede escribirse
como sigue
(1
cn
) Max
cR
n+1

1
_
2o

I
c

I
=1
(s

(o))
2
2
2
.
Puesto que las funciones t 7 at (con a 0) y t 7 c
t
son estrictamente
crecientes en R, el problema (1
cn
) es equivalente (en el sentido de que tiene
los mismos ptimos locales y globales) a
(1
0
cn
) Max
cR
n+1

I
X
)=1
(-
)
(c))
2
,
que, a su vez, resulta ser equivalente a
(1
nc
) Min
cR
I
P
)=1
-
)
(c)
2
,
con lo que concluye la demostracin.
El objetivo principal de esta aplicacin es proponer dos mtodos alternativos
al de los mnimos cuadrados, que se resuelven con la ayuda de la PL.
1.- El primer mtodo es conocido como modelo MINMAD (Minimize the
Mean of Absolute Desviation): consiste en la resolucin del problema
(1) 'i:
cR
n+1
I
P
)=1
|-
)
(c)|
/
,
o, equivalentemente, el problema,
(1
1
) 'i:
cR
n+1
k-(c)k
1
:=
I
P
)=1
|-
)
(c)| , (6.5)
es decir, que se ha usado la norma k.k
1
para estimar el error.
El siguiente resultado proporciona la contrapartida de la proposicin 6.1
en relacin con el modelo MINMAD. En lo que sigue L(j, /) representa a la
distribucin de Laplace de parmetros j R (que coincide con su esperanza) y
/ 0, cuya funcin de densidad est dada por
)(r) =
1
2/
c

|i|
l
, r R.
Captulo 6. Aplicaciones de la Programacin Lineal 187
Proposicin 6.2 Consideremos los siguientes elementos:
a) Sean r
i)
R con i = 1, ..., :, , = 1, ..., / y / 0 conocidos.
b) Para cada , = 1, ..., /, sea Y
)
(c) la variable aleatoria
Y
)
(c) = L(c
0
+c
1
r
1)
+. . . +c
a
r
a)
, /) ,
que depende del parmetro desconocido c = (c
0
, c
1
, . . . , c
a
) R
a+1
.
c) Supongamos, adems, que las variables Y
)
(c) , , = 1, ..., /, son indepen-
dientes.
d) Consideremos una realizacin concreta de la muestra (Y
)
(c))
)=1,...,I
, de-
notada por (j
)
)
)=1,...,I
, y sean
-
)
(c) := j
)
(c
0
+c
1
r
1)
+. . . +c
a
r
a)
), para , = 1, ..., /.
Entonces la solucin ptima del modelo MINMAD (6.5) proporciona la es-
timacin de mxima verosimilitud para el parmetro c.
Demostracin. Un argumento anlogo al de la proposicin 6.1 conduce al
siguiente planteamiento del problema de estimacin por mxima verosimilitud
(1
cn
) Max
cR
n+1

1
2/

I
c

I
=1
|
s

(o)
|
l ,
que resulta ser equivalente al problema (6.5).
Observacin 6.2 El hecho de que la variable Y
)
(c) siga una distribucin de
Laplace de parmetros c
0
+c
1
r
1)
+. . . +c
a
r
a)
y /, es equivalente a decir que
la variable residual 1
)
(c) := Y
)
(c) (c
0
+c
1
r
1)
+. . . +c
a
r
a)
) se distribuye
segn una exponencial doble de parmetro /. Recurdese que la funcin de den-
sidad de una exponencial doble de parmetro / puede escribirse como sigue
) (r) :=
1
2/
c

|i|
l
, r R.
Este detalle se tendr en cuenta en la subseccin 6.2.2, cuando se superpone la
curva de la exponencial doble al histograma de residuos correspondientes.
2.- La segunda alternativa se conoce como modelo MINMAXAD (Minimize
the Maximum of Absolute Desviation): en este modelo se utiliza la norma del
supremo para estimar el error y el problema queda
188 Optimizacin matemtica aplicada
(1
2
) 'i:
cR
n+1
'ar{|-
)
(c)| , , = 1, . . . , /}
. (6.6)
Estas dos alternativas se pueden transformar en modelos de PL. Procedemos
a explicar las tranformaciones realizadas a cada modelo:
En primer lugar, respecto del modelo MINMAD, veremos que las soluciones
ptimas del problema (6.5), que vena dado por
(1
1
) 'i:
cR
n+1
I
P
)=1
|-
)
(c)| ,
pueden encontrarse fcilmente a travs de las soluciones del nuevo problema de
PL denido por
(11
1
) 'i:
&,R
I
, cR
n+1
I
P
)=1
n
)
+
)
:.a -
)
(c) = n
)

)
, , = 1, . . . , /,
n
)
,
)
_ 0, , = 1, . . . , /.
(6.7)
La siguiente proposicin formaliza la relacin entre las soluciones ptimas
de (11
1
) y las de (1
1
). Dicha proposicin hace uso frecuente de la siguiente
observacin.
Observacin 6.3 Sea r R, existen dos nicos c, , _ 0 con c, , R tales
que r = c , y |r| = c + ,. En efecto, dado r R, los nicos c, , R que
verican las condiciones anteriores son c =
1
2
(r + |r|) y , =
1
2
(r |r|) .
Proposicin 6.3 Se tienen las siguientes condiciones:
(i) Si c R
a+1
es ptimo global de (1
1
), entonces existen n, R
I
, con n,
_ 0 tales que ( n, , c) es ptimo global de (11
1
).
(ii) Si ( n, , c) R
I
R
I
R
a+1
es ptimo global de (11
1
), entonces c es
ptimo global de (1
1
).
Demostracin. (i) Supongamos que c es ptimo global de (1
1
). Para cada
, = 1, . . . , /, sean n
)
,
)
_ 0 los nicos nmeros no negativos tales que,
-
)
( c) = n
)

)
,
|-
)
( c)| = n
)
+
)
.
)
Captulo 6. Aplicaciones de la Programacin Lineal 189
Ntese que ( n, , c) es factible de (11
1
). Veamos que, de hecho, ( n, , c)
constituye un ptimo global de (11
1
). Para ello, sea ( n, , c) un punto factible
de (11
1
), esto es,
-
)
( c) = n
)

)
, , = 1, . . . , / y n
)
,
)
_ 0, , = 1, . . . , /.
Queremos probar que
P
I
)=1
n
)
+
)
_
P
I
)=1
n
)
+
)
. En efecto:
I
X
)=1
n
)
+
)
=
I
X
)=1
|-
)
( c)| _
I
X
)=1
|-
)
( c)| =
=
I
X
)=1
| n
)

)
| _
I
X
)=1
| n
)
| + |
)
| =
I
X
)=1
n
)
+
)
.
(ii) Supongamos que ( n, , c) es ptimo global de (11
1
). Veamos que c es
ptimo global de (1
1
). Queremos probar que
P
I
)=1
|-
)
( c)| _
P
I
)=1
|-
)
(c)|, para
todo c R
a+1
.
Sea c R
a+1
arbitrario. Se tiene:
I
X
)=1
|-
)
( c)| =
I
X
)=1
| n
)

)
| _
I
X
)=1
n
)
+
)
. (6.8)
Por otro lado, asociado a c R
a+1
consideramos n, R
I
tales que -
)
( c) =
n
)

)
y |-
)
( c)| = n
)
+
)
con , = 1, . . . , /. Ntese que ( n, , c) es un punto
factible de (11
1
).
Entonces,
I
X
)=1
|-
)
( c)| _
I
X
)=1
n
)
+
)
_
I
X
)=1
n
)
+
)
=
I
X
)=1
|-
)
( c)| ,
donde la primera desigualdad viene de (6.8) y la segunda se deduce del hecho
de que ( n, , c) es solucin ptima de (11
1
) y ( n, , c) una solucin factible del
mismo problema. Queda entonces probada la tesis del apartado (ii).
Por ltimo, en el modelo MINMAXAD, hemos procedido de la siguiente
forma. Partimos del problema (6.6), que recordamos a continuacin
(1
2
) 'i:
cR
n+1
'ar{|-
)
(c)| , , = 1, . . . , /} .
190 Optimizacin matemtica aplicada
La siguiente proposicin establece que las soluciones ptimas de (1
2
) pueden
obtenerse a partir de las soluciones del siguiente problema, en trminos de las
variables c R
a+1
, d R:
(
e
1
2
) 'i: d
:.a |-
)
(c)| _ d, , = 1, . . . , /,
que inmediatamente conduce al problema de PL
(11
2
) 'i: d
:.a -
)
(c) _ d, , = 1, . . . , /,
-
)
(c) _ d, , = 1, . . . , /.
(6.9)
Proposicin 6.4 Se tienen las siguientes condiciones:
(i) Si c R
a+1
es ptimo global de (1
2
), entonces existe

d R tal que

c,

d

es ptimo global de (11


2
).
(ii) Si

c,

d

R
a+1
R es ptimo global de (11
2
), entonces c es ptimo
global de (1
2
).
Demostracin. (i) Sea c R
a+1
un ptimo global de (1
2
). Denimos

d :=
max {|-
)
( c)| , , = 1, . . . , /} . Obviamente,

c,

d

es una solucin factible de (11


2
).
Veamos que

c,

d

es ptimo global de (11


2
). Para ello, sea

c,

d

una solucin
factible de (11
2
) y veamos que

d _

d. En efecto,

d = max {|-
)
( c)| , , = 1, . . . , /} _ max {|-
)
( c)| , , = 1, . . . , /} _

d,
donde la primera desigualdad se tiene por ser c un ptimo global de (1
2
) y la
segunda se deduce de la factibilidad de

c,

d

con respecto al problema (11


2
).
(ii) Sea

c,

d

un ptimo global de (11


2
) y consideremos c R
a+1
arbitrario.
Sea

d := max{|-
)
( c)| , , = 1, . . . , /} .
Entonces, es inmediato que

c,

d

una solucin factible de (11


2
), lo que implica
max {|-
)
( c)| , , = 1, . . . , /} =

d _

d = max {|-
)
( c)| , , = 1, . . . , /} ,
lo que prueba que c es ptimo global de (1
2
).
Captulo 6. Aplicaciones de la Programacin Lineal 191
6.2.2. Resolucin con MATLAB
Seguidamente implementamos las funciones que nos ayudan a resolver los
modelos MINMAD y MINMAXAD para una muestra de / observaciones y :
variables. Se ha aadido un pequeo comentario en cada una de ellas, que apare-
cer como ayuda simplemente tecleando, en la ventana Co::a:d \i:don, help
seguido del nombre de la funcin. Por ejemplo:
>> help minmad
En la implementacin de estos modelos se ha empleado la notacin:
A :=
_
_
_
_
_
_
_
_
_
_
r
11
r
a1
.
.
.
.
.
.
.
.
.
r
1)
r
a)
.
.
.
.
.
.
.
.
.
r
1I
r
aI
_
_
_
_
_
_
_
_
_
_
e Y :=
_
_
_
_
j
1
.
.
.
j
I
_
_
_
_
.
Comenzaremos con la implementacin del modelo MINMAD en MATLAB .
Partimos del problema (6.7) que recordamos a continuacin
(11
1
) 'i:
&,R
I
, cR
n+1
I
P
)=1
n
)
+
)
:.a -
)
(c) = n
)

)
, , = 1, . . . , /,
n
)
,
)
_ 0, , = 1, . . . , /,
donde recordemos, adems, que
-
)
(c) := j
)
(c
0
+c
1
r
1)
+. . . +c
a
r
a)
), , = 1, . . . , /.
Nuestro objetivo inicial es adaptar el problema (11
1
) al formato de MATLAB
que tiene la siguiente estructura:
(1) 'i: c
0
r
:.a r _ /,
c r = /c,
11 _ r _ l1,
(6.10)
192 Optimizacin matemtica aplicada
donde r representa la variable de decisin del modelo, c el vector de coecientes
de la funcin objetivo, r _ / el sistema de desigualdades lineales en formato
matricial, c r = /c el sistema de ecuaciones lineales, tambin en fomato
matricial, y nalmente 11 _ r _ l1 las acotaciones inferior y superior de la
variable (11 viene del ingls lower bound, y l1 de upper bound).
En nuestro caso, consideramos la variable
r = (n, , c) R
I
R
I
R
a+1
;
as el vector de coecientes de la funcin objetivo de (11
1
) coincide con
c = (
I
z }| {
1, ..., 1,
I
z }| {
1, ..., 1,
a+1
z }| {
0, ..., 0)
0
R
I
R
I
R
a+1
.
Nuestro modelo incluye un sistema de ecuaciones lineales que viene dado por
{n
)

)
+c
0
+c
1
r
1)
+. . . +c
a
r
a)
= j
)
, , = 1, ..., /} ,
as, la matriz de coecientes del correspondiente sistema de ecuaciones quedara
c =

1
I
| 1
I
| 1
I
| A

I(2I+a+1)
,
donde 1
I
es la matriz identidad de orden / y 1
I
= (
I
z }| {
1, ..., 1)
0
. El vector de trminos
independientes est dado por
/c = Y,
y los vectores que expresan las cotas son
11 =
_
_
_
_
0
I
0
I
() 1
a+1
_
_
_
_
y l1 = (+) 1
2I+a+1
.
Ntese que para indicar que c no est acotada inferiormente, asignamos a
cada una de las coordenadas correspondientes de 11 (as () 1
a+1
representa
a (
a+1
z }| {
, ..., )
0
). Adems, puesto que ninguna de las variables est acotada
Captulo 6. Aplicaciones de la Programacin Lineal 193
superiormente, cada una de las coordenadas de l1 es +(lo que se representa
simblicamente por l1 = (+) 1
2I+a+1
).
Para crear la nueva funcin minmad se han utilizado las siguientes funciones
predenidas de MATLAB:
ones(n,k) crea una matriz de unos con n las y k columnas.
eye(k) crea una matriz identidad de oden kk.
min(x) y max(x) nos devuelve el mmimo y mximo, respectivamente, de
los elementos del vector x. Si fuese una matriz, mostrara el mnimo y el
mximo de cada una de las columnas.
var(x) nos devuelve la varianza de los elementos del vector x. Si x fuese una
matriz, mostrara la varianza por columnas.
abs(x) muestra el valor absoluto de x.
size(X) proporciona el nmero de las y columnas, en este orden, de X.
La nueva funcin minmad requiere dos argumentos de entrada, que deno-
taremos por dcj e i:dcj, y que contienen los valores observados de la variable
dependiente (Y ) y las independientes (A
1
, .., A
a
) del plano de regresin; esto es,
dcj := Y
0
e i:dcj := A
0
,
(se ha optado por introducir los datos por las para mayor comodidad del
usuario).
A partir de estos datos, la funcin minmad proporciona dos salidas: :o|,
que es la solucin ptima del modelo MINMAD, esto es, :o| = (c
0
, c
1
, ..., c
a
)
0
y c, el vector de residuos para los valores dados de los parmetros.
En ambas funciones se ha aadido la opcin de realizar una estimacin par-
ticular de j a partir de unos valores observados de las variables independientes.
La funcin minmad, se presenta a continuacin:
Inicio funcin minmad
%La funcin minmad proporciona una alternativa al mtodo
%de mnimos cuadrados en modelos de regresin lineal. Mien-
194 Optimizacin matemtica aplicada
%tras el mtodo de los mnimos cuadrados minimiza la Norma 2
%del vector de residuos, el minmad minimiza la suma de los
%valores absolutos de los residuos, esto es, de la Norma 1.
%Aqu se resuelve mediante su equivalente, un modelo de PL.
%La sintaxis es [sol,e]=minmad(dep,indep), donde dep es el
%vector (fila) que contiene las observaciones experimentales
%de la variable dependiente del modelo, e indep es la matriz
%que contiene por filas las observaciones experimentales de
%cada una de las variables independientes. Respecto de los
%argumentos de salida, sol es el vector que tiene los valo-
%res ptimos de los parmetros del modelo y e es el vector
%de residuos correspondiente. Tambin se representa el his-
%tograma correspondiente a la distribucin de los errores y
%se superpone la grfica de la funcin de densidad (ajustada
%en escala) de la variable aleatoria exponencial doble, con
%el fin de establecer una comparativa a nivel intuitivo,
%entre ambos. Para evitar errores a la hora de introducir
%los datos se aconseja crear un M-file con dep e indep.
function [sol,e]=minmad(dep,indep)
x=indep;
[n,k]=size(x);
y=dep;
%funcin objetivo
c=[ones(2*k,1); zeros(n+1,1)];
x=x;
%restricciones de igualdad
Aeq=[eye(k), -eye(k), ones(k,1),x];
%trminos independientes de las ecuaciones de igualdad
beq=y;
%cota inferior
LB=[zeros(2*k,1);-inf*ones(n+1,1)];
[s,t]=linprog(c,[],[],Aeq,beq,LB,[]);
Captulo 6. Aplicaciones de la Programacin Lineal 195
sol=s((2*k+1):(2*k+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,
pulse otro nmero)
end
disp(estos son los parmetros del plano de regresin)
disp(estimados con el mtodo MINMAD)
%grfico de los errores
u=s(1:k);
v=s((k+1):(2*k));
e=u-v;
subplot(2,1,1),plot(e,r.,LineWidth,1,MarkerSize,5);
%Regla de Sturges, para saber el n
c
de intervalos
q=floor(3/2+log10(n*k)/log10(2));
subplot(2,1,2);
hist(e,q);
hold on
%varianza =2/lambda^2
p=min(e):0.01:max(e);
va=var(e);
lambda=sqrt(2/va);
plot(p,((lambda/2)*exp(-lambda*abs(p)))*k,r,LineWidth,2)
hold off
Fin funcin minmad
196 Optimizacin matemtica aplicada
Ahora implementamos el modelo MINMAXAD en MATLAB de una muestra
de / observaciones y : variables. Partimos del problema (6.9), que recordamos
a continuacin
(11
2
) 'i: d
:.a -
)
(c) _ d, , = 1, . . . , /,
-
)
(c) _ d, , = 1, . . . , /.
Seguidamente adaptamos (11
2
) al formato de MATLAB (6.10). La variable
de decisin es r = (c, d) R
a+1
R; as el vector de coecientes de la funcin
objetivo es:
c = (
a+1
z }| {
0, ..., 0, 1)
0
R
a+2
.
La matriz de coecientes de las desigualdades, , es:
=

1
I
| A | 1
I
1
I
| A | 1
I
!
2I (a+2)
.
El vector de trminos independientes de las desigualdades , /, es:
/ =

Y
Y
!
2I 1
.
La funcin minmaxad es la siguiente:
Inicio funcin minmaxad
%La funcin minmaxad proporciona una alternativa al mtodo
%de mnimos cuadrados en modelos de regresin lineal. Mien-
%tras el mtodo de los mnimos cuadrados minimiza la Norma 2
%del vector de residuos, el minmaxad minimiza el mximo de
%los valores absolutos de los residuos (Norma supremo).
%Aqu se resuelve mediante su equivalente, un modelo de PL.
%La sintaxis es la siguiente [sol,d]=minmaxad(dep,indep),
%donde dep es el vector (fila) que contiene las observaci-
%ones de la variable dependiente del modelo, e indep es la
%matriz que contiene por filas las observaciones experimen-
%tales de cada una de las variables independientes. Respecto
Captulo 6. Aplicaciones de la Programacin Lineal 197
%de los argumentos de salida, sol es el vector que tiene los
%valores ptimos de los parmetros del modelo y d es la nor-
%ma del vector de residuos correspondiente a dichos parmetros.
%Para evitar errores a la hora de introducir los datos es acon-
%sejable crear un M-file con dep e indep.
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 Optimizacin matemtica aplicada
pulse otro nmero)
end
disp(estos son los parmetros del plano de regresin)
disp(estimados con el mtodo MINMAXAD)
d=s(n+2);
Fin funcin minmaxad
6.2.3. Ejercicios resueltos
Ejercicio 6.1 La siguiente tabla muestra el tiempo de permanencia en un hos-
pital 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 3 1
E : 47 44 39 39 29 48 44 42 28 37
P : 163 171 171 133 167 180 151 169 164 165
T : 8 4 5 9 7 4 8 3 1 3
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 identicar la variable dependiente y las independientes.
Aqu claramente la variable dependiente es T y las variables independientes son
E y P. Creamos un M-le que llamaremos ejer1.m, donde se almacenan el
vector dep y al matriz indep (vase la gura 6.8).
Ejecutamos ejer1 desde la ventana Command Window (gura 6.9).
La gura 6.10 muestra la ejecucin de la funcin minmad. Recurdese que
se nos preguntar si deseamos hacer alguna estimacin particular.
Captulo 6. Aplicaciones de la Programacin Lineal 199
Figura 6.8: Matrices de datos en un M-le.
Figura 6.9: Muestra de la carga del M-le.
200 Optimizacin matemtica aplicada
Figura 6.10: Solucin con la funcin minmad.
As pues, el plano de regresin quedara (vase de nuevo la gura 6.10):
T = 75.9851 + 1.2910E+ 0.2612P,
y la distribucin de los errores se encuentra en la gura 6.11.
Se estima que un paciente con (32, 157) tardar 6.3358 das en ser dado de
alta.
En este caso el ajuste de los errores a una distribucin exponencial doble
no es lo sucientemente claro (en trminos intuitivos) como para garantizar que
la estimacin sea de mxima verosimilitud (vase la proposicin 6.2).
Captulo 6. Aplicaciones de la Programacin Lineal 201
0 2 4 6 8 10 12 14 16 18 20
-20
-10
0
10
20
30
-15 -10 -5 0 5 10 15 20 25 30
0
2
4
6
8
Figura 6.11: Distribucin de los errores en la solucin del modelo minmad.
Con el modelo MINMAXAD escribimos:
[sol,d]=minmaxad(dep,inde)
Y obtenemos el modelo:
T = 0.5476E.
Posiblemente un paciente con (32, 157) tardar 17.5238 das en ser dado de
alta, es decir, entre 17 y 18 das.
Ejercicio 6.2 En este ejercicio vamos a usar una base de datos externa al MAT-
LAB, la base de datos del SPSS, con el propsito de usar gran cantidad de
variables y de datos
2
. Concretamente, emplearemos el chero Coches.sav y tra-
2
El programa MATLAB permite insertar datos provenientes de diferentes fuentes. Adems
de las bases de datos del SPSS podran utilizarse otras provenientes de EXCEL (como se
202 Optimizacin matemtica aplicada
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 existenteAceptar. Seleccionamos Coches.savAbrir.
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 n 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. (codicada con el
nmero 1, como puede apreciarse en la ventana vista de datos). Entonces, Datos
Seleccionar casosSi cumple la condicin origen=1ContinuarAceptar.
(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
la y suprimimos, de igual forma se eliminan las variables que no vayan a ser
usadas en el anlisis. Para conrmar que no nos hemos olvidado ninguno, se
puede comprobar mediante AnalizarFrecuencias, aadimos todas las variables
y, en el visor de resultados se muestra si hay algn valor perdido (vase la gura
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, FileOpen, abrimos directamente el do-
cumento excel que acabamos de crear. MATLAB nos muestra Import Wiz-
mostrar ms adelante en el prximo captulo, en particuar en la aplicacin de la cartera de
valores).
Captulo 6. Aplicaciones de la Programacin Lineal 203
Figura 6.12: Seleccin de casos de inters en SPSS.
Figura 6.13: Condicin de seleccin.
204 Optimizacin matemtica aplicada
Estadsticos
244 244 244 244 244 244
0 0 0 0 0 0
Vlidos
Perdidos
N
Consumo
(l/100 km)
Cilindrada
en CC Potencia (CV)
Aceleracin
0 a 100 km/h
(segundos)
Peso total
(kg)
Ao del
modelo
Figura 6.14: Nmero de valores perdidos de las variables de la base de datos
Coches.sav.
ard, seleccionamos Create vector from each column using column names, Finish
(vase la gura 6.15). Podemos renombrar la variables directamente pinchando
Figura 6.15: Muestra de variables importadas.
en el \or/:jacc sobre la variable que deseemos, aqu hemos renombrado ao
por any, ya que en MATLAB no existe la .
Con MINMAD, se ha obtenido el siguiente plano de regresin y la distribu-
cin de los errores (vase la gura 6.16 ) son:
consumo = 21.6682 + 0.0001motor + 0.0180cv + 0.0078peso+
+ 0.1382acel 0.3005any.
Captulo 6. Aplicaciones de la Programacin Lineal 205
En este caso particular, se aprecia intuitivamente que el ajuste a una ex-
ponencial 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.
0 50 100 150 200 250
-5
0
5
10
-6 -4 -2 0 2 4 6
0
50
100
150
Figura 6.16: Distribucin de los errores de los coches.
6.2.4. Ejercicios propuestos
Ejercicio 6.3 El departamento de planicacin de una cadena de supermerca-
dos 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 Optimizacin matemtica aplicada
en A se comprara un hipermercado que viene operando desde hace 7 aos. Se
poseen datos acerca de 8 hipermercados de la cadena que viene operando en lo-
calidades semejantes las variables son P:=poblacin en miles, R:=renta familiar
per cpita en unidades monetarias (u.m.), A:=antigedad (aos) y V:=ventas
(u.m.). Se muestran en la siguiente tabla:
P R A V
98 520 10 4050
125 680 3 5200
110 650 8 5250
80 560 12 4080
150 490 2 4130
134 620 6 5700
118 580 9 5220
106 610 5 4100
Los datos relativos a la poblacin y a la renta en cuestin son:
Localidad P R
A 140 517
B 116 625
C 135 550
Se pide: ajustar los datos mediante los mtodos MINMAD y MINMAXAD,
utilizando para ello sendos modelos de PL, y predecir donde se abrir el prximo
supermercado.
Solucin. Con MINMAD, se obtiene el plano de regresin:
V = 8137.2 + 45P+ 10.3R+ 237.7A.
Predicciones de ventas: 5147 u.m. en A (con P=140, R=517, A=7), 3515.5
u.m. en B (con P=116, R=625, A=0) y 3597.7 u.m. en C (con P=135, R=550,
A=0), luego el departamento de planicacin escoger el emplazamiento A ya
que se espera mayor volumen de ventas.
Con MINMAXAD, se obtiene el plano de regresin:
Captulo 6. Aplicaciones de la Programacin Lineal 207
V = 17.1065P+ 3.8539R+ 86.7405A.
Predicciones de ventas: 4994.6 u.m. en A (con P=140, R=517, A=7), 4393
u.m. en B (con P=116, R=625, A=0) y 4429 u.m. en C (con P=135, R=550,
A=0), luego el departamento de planicacin escoger el emplazamiento A ya
que se espera mayor volumen de ventas.
En ambos mtodos se elije el emplazamiento A.
Ejercicio 6.4 Se pide, a partir de la base de datos empleados.sav del SPPS, y
empleando el modelo MINMAD, la relacin que existe entre la variable salario
actual (salario, medido en dolares) y salario inicial (salini, medido en dolares),
experencia previa en meses (expprev) y meses de contrato (tiempemp), dis-
tinguiendo los siguientes casos:
a) En la muestra de hombres.
b) En la muestra de mujeres.
c) En la muestra total sin distinguir por sexo.
Solucin. Usando el mtodo MINMAD se obtiene:
a) Para la muestra de hombres, el plano de regresin:
salario = 8870.6 + 1.9salini 17.8expprev + 154.0tiempemp.
b) Para la muestra de mujeres, el plano de regresin:
salario = 4520 + 1.7salini 18.1expprev + 115.1tiempemp.
c) Sin distinguir por sexos, el plano de regresin:
salario = 10976 + 2salini 15expprev + 166tiempemp.
208 Optimizacin matemtica aplicada
6.3. Aplicacin al clculo de la eciencia.
Planteamiento del modelo.
Consideramos el espacio (R
a
, _), donde el orden _ est denido de la forma:
\r\j (r _ j == r
c
_ j
c
\: = 1, ..., :).
Es sabido que esta relacin de orden no es total, es decir, hay elementos que
no son comparables. Basta considerar en R
2
los puntos .
1
= (1, 2) y .
2
= (3, 1)
para los cuales no se cumple ninguna de las dos desigualdades .
1
_ .
2
ni .
2
_ .
1
.
El objetivo de esta aplicacin es construir una medida unidimensional, con
ayuda de la programacin lineal, que permita establecer un orden total en un
conjunto dado de puntos

.
1
, ..., .
I

de R
a
++
:=]0, +[
a
. La nalidad ltima
es seleccionar un mnimo o un conjunto de mnimos en

.
1
, ..., .
I

en base a
dicho orden. La construccin que aqu se propone es una versin simplicada
del modelo BCC de Banker, Charnes y Cooper, en el que la medida construida
se conoce como eciencia, que nosotros designaremos por ef().
Figura 6.17: Conjunto de organizaciones a ordenar.
Hay que tener en cuenta que no se busca un orden cualquiera y sin signi-
cado (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
, ..., .
I

, y
Captulo 6. Aplicaciones de la Programacin Lineal 209
que designaremos con los smbolos -, -, -, fuera compatible con el de R
a
:
ms precisamente, si .
i
_ .
)
entonces debera ser .
i
- .
)
.
La construccin de la eciencia, que iniciamos a continuacin, est intuiti-
vamente motivada por las consideraciones anteriores y otras que introduciremos
posteriormente.
Dados .
1
, . . . , .
I
R
a
++
, interpretamos cada .
i
como el vector que contiene
diferentes datos de una determinada organizacin (por ejemplo coste, mano de
obra ...) que interesa minimizar. As identicamos .
i
con la i-sima organizacin
existente. A partir de las organizaciones ya existentes .
1
, . . . , .
I
, el modelo va a
admitir la existencia de otras, que forman el llamado conjunto de organizaciones
posibles, 1, denido de la siguiente manera.
Denicin 6.1 Dadas las organizaciones .
1
, . . . , .
I
, se dene el conjunto 1 de
todas las organizaciones posibles como el menor conjunto convexo que verica:
(i) .
i
1, para todo i = 1, ..., /;
(ii) Si . 1 y . _ ., entonces . 1.
Puesto que 1 es convexo, del apartado (i) se deduce que 1 contiene a
cualquier combinacin convexa de

.
1
, ..., .
I

, es decir, conv

.
1
, ..., .
I

1.
La interpretacin de esto es que todas las organizaciones intermedias y
organizaciones peor valoradas que otras ya existentes son posibles en el mo-
delo 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 1
y recoge algunas de sus propiedades (vase una ilustracin en la gura 6.18).
Proposicin 6.5 En el modelo propuesto se cumple
(i) 1 =

. R
a
| . conv

.
1
, . . . , .
I

tal que . _ .

= conv

.
1
, . . . , .
I

+R
a
+
;
(ii) 1 R
a
++
;
210 Optimizacin matemtica aplicada
Figura 6.18: Conjunto de organizaciones 1.
(iii) 1 es cerrado;
(iv) Si . 1 y . . (esto es, .
c
.
c
para todo : {1, ..., :}), entonces
. int(1).
Demostracin. (i) Denimos
b
1 :=
n
. R
a
| . conv
n
.
1
, . . . , .
I
o
tal que . _ .
o
. (6.11)
Comprobemos que 1 =
b
1.
Veamos que se cumple el contenido
b
1 1. Si .
b
1 entonces existe un
. conv

.
1
, . . . , .
I

tal que . _ ., y puesto que conv

.
1
, . . . , .
I

1, se
tiene que . 1. Como . _ ., por (ii) de la denicin de 1 se tiene que . 1.
A continuacin, demostramos el contenido 1
b
1. Basta probar que
b
1 es
convexo y que cumple (i) y (ii) de la denicin de 1 (cambiando 1 por
b
1),
pues en dicho caso, por ser 1 el menor convexo que cumple (i) y (ii), se tendr
1
b
1. Es inmediato comprobar que
b
1 cumple (i) y (ii). Por otro lado, dados
., .
b
1 y c [0, 1], se tiene:
. _ `
1
.
1
+... +`
I
.
I
,
. _ j
1
.
1
+... +j
I
.
I
,
para ciertos `
1
, . . . , `
I
, j
1
, . . . , j
I
_ 0, con
P
I
i=1
`
i
=
P
I
i=1
j
i
= 1.
Captulo 6. Aplicaciones de la Programacin Lineal 211
Luego
c. + (1 c) . _ (c`
1
+ (1 c)j
1
).
1
+... + (c`
I
+ (1 c)j
I
).
I

conv
n
.
1
, . . . , .
I
o
,
ya que
P
I
i=1
(c`
i
+ (1 c)j
i
) = c + (1 c) = 1. Por tanto
b
1 es convexo.
En consecuencia, hemos probado que 1 =
b
1. Finalmente, se comprueba de
forma directa que
b
1 (denido en (6.11)) puede expresarse como
b
1 = conv
n
.
1
, . . . , .
I
o
+R
a
+
.
(ii) Es inmediato al tener por una parte 1 = conv

.
1
, . . . , .
I

+R
a
+
, y por
otra conv

.
1
, ..., .
I

R
a
++
al cumplirse

.
1
, ..., .
I

R
a
++
y ser R
a
++
convexo.
(iii) Sabemos que conv

.
1
, . . . , .
I

es compacto, y que R
a
+
es cerrado. Como
la suma de un conjunto compacto y un cerrado da como resultado un cerrado,
por (i) se tiene que 1 es cerrado.
(iv) Sean . 1 y . .. Tomemos - := min
c=1,...,a
( .
c
.
c
). Evidentemente ser
- 0. Vamos a comprobar que 1
2
( .,
.
2
) 1 :
Si tomamos . 1
2
( .,
.
2
) entonces, para todo : {1, ..., :} se tiene:
.
c
.
c

-
2
== .
c
.
c
= .
c
.
c
+ .
c
.
c

-
2
+ .
c
.
c

-
2
+- 0 == .
c
.
c
,
por lo que . 1.
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 R
a
(con :1) no proporciona ningn motivo para con-
siderar .
2
inferior a .
3
. Parece ms razonable la ordenacin
.
2
- .
3
- .
1
.
Para formalizar esta idea, introducimos la nocin de punto no dominado.
212 Optimizacin matemtica aplicada
Denicin 6.2 (punto no dominado) Se dir en nuestro modelo que . 1
es un punto no dominado si no existe . 1 que cumpla . _ . a la vez que
.
c
< .
c
para algn : {1, . . . , :}.
Formalmente, el prrafo previo a la denicin se traduce en que todo punto
no dominado debera encontrarse en el conjunto de mnimos de la nueva or-
denacin, propiedad que vericar el modelo, como muestra la proposicin 6.7
(iii). Otra propiedad deseable sera el recproco de la anterior, a saber, que todo
mnimo de la nueva ordenacin fuera punto no dominado. Pero veremos que el
modelo tiene sus limitaciones y el conjunto de mnimos podr contener puntos
dominados.
El modelo BCC simplicado establece un orden de preferencias midiendo
cuanto se aleja cada alternativa de bd(1). Pero en lugar de utilizar la distancia
eucldea se usar una distancia radial de la forma que vamos a ver a continuacin.
Proposicin 6.6 Sean

.
1
, . . . , .
I

R
a
++
y 1 = conv

.
1
, . . . , .
I

+ R
a
+
.
Para cualquier . 1 el conjunto
]0
a
, .] bd(1) := {c. | 0 < c _ 1} bd(1)
se reduce a un punto . 6= 0
a
.
Demostracin. Denimos := {c ]0, 1] | c. 1}. contiene al 1 y es aco-
tado inferiormente por denicin, luego sabemos que existe el nmo, e c :=inf ,
por el axioma del supremo de R; claramente se cumplir e c _ 1 por la denicin
de nmo. Adems e c 6= 0, pues de lo contrario podramos encontrar una sucesin
c
v
0, c
v
, para todo r N. Por tanto, se tendra c
v
. 1 para todo r,
c
v
. 0
a
y, como por el apartado (iii) de la proposicin 6.5, 1 es cerrado, se
tendra que 0
a
1, lo que contradice el apartado (ii) de la proposicin 6.5. Por
tanto, podemos asegurar que 0 < e c _ 1.
Veamos que . := e c. es el nico elemento de ]0
a
, .] bd(1). En primer lugar,
comprobaremos que . bd(1), encontrando dos sucesiones que convergen al
punto ., una contenida en 1 y la otra en su complementario. La denicin de
e c nos permite escribir e c = lim
v
c
v
, con c
v
, para todo r, lo que implica
. = e c. = lim
v
c
v
..
Captulo 6. Aplicaciones de la Programacin Lineal 213
Puesto que c
v
. 1 para todo r y 1 es cerrado, se tiene que e c. 1. Adems,
teniendo en cuenta que 0 < e c _ 1, esto quiere decir que e c , es decir,
e c =min().
Por otro lado, podemos escribir
. = lim
v

e c
1
r

.,
donde, de nuevo por la denicin de e c y teniendo en cuenta que e c 0, se tiene
0 < e c
1
v
, para r sucientemente grande, pongamos para r _ r
0
; luego,

e c
1
v

. , 1 para r _ r
0
. As pues, podemos concluir que . bd(1). Adems,
. es el nico punto de ]0
a
, .] bd(1). En efecto, dado otro b c. ]0
a
, .] bd(1)
se tiene que b c. 1, pues 1 es cerrado y obviamente b c ]0, 1], y por tanto
b c . As pues, b c _ e c. Pero si b c e c entonces b c. . (recordemos que todas
las componentes de los . son positivas), con . 1, y por el apartado (iv) de la
proposicin 6.5 se tiene que b c. int(1), lo que contradice la hiptesis inicial
de que b c. bd(1) (la frontera, el interior y el exterior de un conjunto forman
una particin del espacio). Para evitar la contradiccin debe ser b c = e c.
Figura 6.19: Ilustracin de la proposicin 6.5.
La proposicin anterior permite introducir la siguiente denicin.
Denicin 6.3 Dados

.
1
, . . . , .
I

R
a
++
y 1 = conv

.
1
, . . . , .
I

+R
a
+
, para
214 Optimizacin matemtica aplicada
cada . 1 denimos la eciencia de ., denotada por ef (.) , como
ef (.) =
k .k
k.k
,
siendo . 6= 0
a
el nico elemento de ]0
a
, .] bd(1).
Obsevemos que por denicin la eciencia ser un valor comprendido en
el intervalo ]0, 1]. Adems, pueden existir perfectamente varios puntos con la
misma eciencia.
Utilizando la eciencia, se dene en

.
1
, . . . , .
I

un orden, que designaremos


por - de la siguiente forma:
.
i
- .
)
==ef(.
i
) _ ef(.
)
),
lo que quiere decir que en el modelo construido se buscan los puntos con mayor
eciencia (los menores respecto al nuevo orden).
Por otro lado, la demostracin de la proposicin 6.6 nos proporciona la
siguiente frmula
ef (.) =
k .k
k.k
= inf {c ]0, 1] | c. 1} =
= min{c ]0, 1] | c. 1} .
(6.12)
Por tanto, para cada i {1, ..., /} se tiene:
ef

.
i

.
i

k.
i
k
= min

c ]0, 1] | c.
i
1

.
De hecho, ntese que la condicin c ]0, 1] es redundante en el sentido de que
min

c ]0, 1] | c.
i
1

= min

c R | c.
i
1

,
puesto que 1

c R | c.
i
1

y, por otro lado, se comprueba fcilmente


que si c.
i
1, entonces c 0 (recurdese que 1 R
a
++
).
En otros trminos, jado i {1, ..., /}, la eciencia de .
i
coincide con el
valor ptimo del siguiente problema de PL:
(1
i
) 'i: c
:.a c.
i
1.
Captulo 6. Aplicaciones de la Programacin Lineal 215
Teniendo en cuenta que 1 = conv

.
1
, . . . , .
I

+ R
a
+
, podemos expresar
el problema de minimizacin anterior como el siguiente problema de variables
`
1
, ..., `
I
, c :
(1
i
) 'i: c
:.a c.
i
_
I
P
v=1
`
v
.
v
,
I
P
v=1
`
v
= 1,
`
v
_ 0, r = 1, 2, . . . , /.
Clculo de la eciencia mediante un modelo de PL
Con lo que hemos visto, dada una coleccin de puntos

.
1
, . . . , .
I

R
a
++
,
el clculo de la eciencia del punto .
i
, ef

.
i

, se reduce a la resolucin del


siguiente problema de PL, que viene de expresar coordenada a coordenada la
desigualdad vectorial del problema anterior:
(1
i
) 'i: c
:.a c.
i
c
_
I
P
v=1
`
v
.
v
c
, : = 1, . . . , :,
I
P
v=1
`
v
= 1,
`
v
_ 0, r = 1, 2, . . . , /.
(6.13)
Observemos que por el hecho de haber planteado el modelo desde un princi-
pio con el objetivo de establecer un orden total en

.
1
, . . . , .
I

para seleccionar
unos mnimos, y por la forma en que se ha denido el concepto de punto domina-
do, a la hora de aplicar el modelo ser necesario que la valoracin en la situacin
real de las organizaciones decrezca con el aumento de la magnitud de sus compo-
nentes. En los ejemplos prcticos se propondrn varios mtodos razonables para
transformar, cuando sea necesario, los datos reales conforme a la apreciacin
anterior.
Finalmente, vamos a probar que la eciencia cumple aquellas propiedades
deseables, indicadas a lo largo de la construccin del modelo.
Proposicin 6.7 Sean

.
1
, . . . , .
I

R
a
++
, 1 el conjunto de la Denicin 6.1
y ef() la eciencia denida en 1. Entonces se cumple:
216 Optimizacin matemtica aplicada
(i) Para cualesquiera i, , {1, . . . , /}, .
i
_ .
)
implica ef(.
i
) _ ef(.
)
) (es
decir, .
i
- .
)
).
(ii) Para todo . 1, ef(.) = 1 si, y solo si, . bd(1).
(iii) Para cualquier punto . 1 no dominado se tiene que ef(.) = 1; el
recproco no se cumple en general.
Demostracin. (i) Sean i, , {1, . . . , /} tales que .
i
_ .
)
. Conservando la no-
tacin anterior, sea .
i
el nico elemento de ]0
a
, .
i
[bd(1), y denamos anloga-
mente .
)
. Denimos :=

` [0, 1] | `.
)
_ .
i

. Ntese que es cerrado por


ser la antiimagen del cerrado R
a

:= {r R
a
| r
c
_ 0, : = 1, ..., :} mediante la
funcin continua q : [0, 1] R
a
dada por q (`) = .
i
`.
)
.
Adems, es evidente que 1 , pues .
)
_ .
i
_ .
i
. Por tanto, podemos
armar que es no vaco y compacto, por tratarse de un cerrado contenido en
el compacto [0, 1]. Adems 0 , por ser .
i
R
a
++
. En consecuencia, podemos
armar que existe el valor

` := min

` [0, 1] | `.
)
_ .
i

0.
Ahora denimos .
)
:=

`.
)
. Puesto que

`.
)
_ .
i
1, se tiene que .
)
1.
Denimos .
)
:=
1
ef(.
i
)
.
)
. Vamos a comprobar que
1
ef(.
i
)
=min{` _ 0 | ` .
)
_
.
i
} (con lo que de la misma forma que acabamos de ver, tambin se tendr
.
)
1). Realizaremos la prueba en dos pasos:
(a)
1
ef(.
i
)
.
)
=

`
ef(.
i
)
.
)
_
1
ef(.
i
)
.
i
= .
i
, por la denicin de

` y de ef

.
i

.
(b) Supongamos, con el objetivo de llegar a una contradiccin, que existe 0 <

` <
1
ef(.
i
)
tal que

` .
)
_ .
i
. En dicho caso se tiene

`ef(.
i
)

` <

` y

`ef(.
i
)

`.
)
=

`ef(.
i
) .
)
_ ef(.
i
).
i
= .
i
, lo que constituye una contradiccin con la denicin
de

`. Hemos probado que
1
ef(.
i
)
=min{` _ 0 | ` .
)
_ .
i
}. Pero entonces, como
1

`
.
)
= .
)
_ .
i
, debe ser
1
ef(.
i
)
_
1

A
y por tanto

` _ ef(.
i
).
Ahora observemos que, como .
)
=

`.
)
, .
)
= ef(.
)
).
)
y .
)
R
a
++
, si fuera

` < ef(.
)
) se tendra .
)
< .
)
y por el apartado (iv) de la proposicin 6.5
sera .
)
int(1), lo cual es una contradiccin, pues por denicin sabemos
Captulo 6. Aplicaciones de la Programacin Lineal 217
Figura 6.20: La eciencia preserva el orden parcial de R
a
.
que .
)
bd(1). Por tanto, debe ser

` _ ef(.
)
), y teniendo en cuenta que era

` _ ef(.
i
), se tiene ef(.
)
) _ ef(.
i
). Esto concluye la demostracin del primer
apartado.
(ii) Si ef(.) = 1 entonces, de acuerdo con nuestra notacin, . = . bd(1).
Recprocamente, dado . bd(1) se tiene que . ]0
a
, .] bd(1). Esto quiere
decir que . es el nico punto de dicha interseccin y por denicin de eciencia
se tiene:
ef(.) =
k.k
k.k
= 1.
(iii) Sea . 1 no dominado, y supongamos, con el objetivo de llegar a un
absurdo, que ef(.) < 1. Si deninimos . := ef(.). se tiene por un lado que
. 1 por la ecuacin (6.12), y por otro que . < .. Esto quiere decir que . es
dominado, lo que contradice la hiptesis inicial. Por tanto, ef(.) = 1.
Para comprobar que el recproco no se cumple en general, basta considerar
un ejemplo en R
2
en el que existan dos puntos distintos en la frontera de 1,
pero que coincidan en una de sus componentes.
6.3.1. Resolucin con MATLAB
En esta aplicacin se ha implementado la funcin en MATLAB que nos ayu-
da a resolver el modelo de la eciencia, para una muestra de / observaciones
218 Optimizacin matemtica aplicada
.
1
, . . . , .
I
en R
++
. Concretamente disearemos una funcin en MATLAB que
tenga como entrada la matriz 7 =

.
1
, . . . , .
I

, esto es, la matriz que contiene


a los vectores .
1
, . . . , .
I
por columnas. Como salida proporcionar un vector,
denotado por ef, cuyas coordenadas son las respectivas eciencias de los .
i
.
Seguidamente, describimos los pasos dados para la determinacin de ef. El cl-
culo de la coordenada i-sima de ef, esto es, la eciencia de .
i
, se hace mediante
la resolucin del problema (6.13) que puede adaptarse al formato del MATLAB
(6.10) que recordamos a continuacin:
(1) 'i: c
0
r
:.a r _ /,
c r = /c,
11 _ r _ l1,
a travs de las siguientes asignaciones. En primer lugar, hemos de tener en cuenta
que las variables de nuestro problema (6.13) son `
1
, . . . , `
I
, c, que elegiremos en
este orden, esto es, r = (`
1
, . . . , `
I
, c).
En consecuencia, el vector de coecientes de la funcin objetivo es:
I
c =

z }| {
0, ..., 0, 1

0
I+1
.
La matriz de coecientes de las desigualdades, , es:
=

7 | .
i

a(I+1)
.
El vector de trminos independientes de la matriz de desigualdades es / = 0
a
.
La matriz de coecientes de las igualdades, c, es:
c =
I

z }| {
1, . . . , 1

I
.
El vector de trminos independientes de la matriz de igualdades, /c, es:
/c = (1) .
A continuacin, mostramos la funcin eciencia.
Captulo 6. Aplicaciones de la Programacin Lineal 219
Inicio funcin eciencia
%Esta funcin trata de disear una ordenacin entre un serie
%de puntos en R^n, (ntese que (R^n ,<=) no es un orden total)
%a travs de una medida unidimensional llamada eficiencia. La
%coleccin de puntos objeto de nuestro estudio se introduce
%en una matriz Z. As, la sintaxis de la presente funcin es
%[ef]=eficiencia(Z) donde Z es la matriz que contiene por
%colunmas la coleccin de puntos a los que se desea calcular
%la eficiencia. Por su parte ef es el vector cuya i-sima
%coordenada coincide con la eficiencia del i-simo punto.
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 eciencia
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 Optimizacin matemtica aplicada
eciencia, para evaluar de calidad de dichas instalaciones, y establecer una or-
denacin entre ellos. Los datos se muestran en la siguiente tabla (han sido con-
sultados en la pgina web www.huertasolares.es, en 2009):
kW coste bene Lugar kW coste bene 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 Valladolid
5 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
En cada uno de los huertos solares se han analizado 3 caractersticas que se
representan por kW (kW/h producidos al da, en horas de sol), coste (coste
inicial de la instalacin en miles de euros) y bene (es el benecio en miles
euros al ao).
Solucin.
En primer lugar, para establecer una ordenacin, basada en el estudio de la
eciencia, puesto que el modelo presentado est basado en la idea de minimizar
en cada uno de los objetivos trabajaremos con los inversos de kW y bene-
. Adems, por cuestiones computacionales, multiplicaremos cada uno de estos
inversos por 100 (de este modo, informalmente hablando, los datos de las diferen-
tes columnas presentan magnitudes similares). Ntese que 'ar )(r) ==
'i:
1000
)(a)
. As, los datos que manejaremos nalmente se presentan en la si-
guiente tabla:
Captulo 6. Aplicaciones de la Programacin Lineal 221
(1/kW) x 1000 coste (1/bene) 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
Creamos una matriz Z en MATLAB (vase la gura 6.21).
Figura 6.21: Creamos una matriz Z.
222 Optimizacin matemtica aplicada
Introducimos dicha matriz Z como argumento de entrada en la funcin e-
ciencia (vase la gura 6.22).
Figura 6.22: Uso de la funcin eciencia.
Finalmente, se obtienen los siguientes resultados (vase de nuevo la gura
6.22):
Captulo 6. Aplicaciones de la Programacin Lineal 223
Lugar EFICIENCIA
Badajoz 0.9696
Alicante 0.9653
Mlaga 1
Ciudad Real 1
Tudela 1
Cuenca 1
Lugar EFICIENCIA
Toledo 1
Sevilla 1
Valladolid 1
Madrid 1
Huelva 0.9783
La Rioja 1
Ejercicio 6.6 La gura 6.23 muestra una coleccin de universidades pblicas
espaolas junto con los datos relativos a ciertos indicadores, extraidos del in-
forme La universidad en cifras 2008, CRUE, dirigido por Juan Hrnandez Ar-
menteros (que puede consultarse en http://www.crue.org/export/ sites/Crue/
Publicaciones/ Documentos/ UEC/UEC_2008.pdf). A partir de estos datos,
correspondientes al curso acadmico 2006/2007, se desea realizar un estudio
comparativo entre dichas universidades basado en el modelo de eciencia des-
crito en la presente seccin y en las nuevas variables que se denen en los prrafos
siguientes, las cuales vienen recogidas en la gura 6.24.
A continuacin, describimos brevemente las variables que aparecen en la
gura 6.23:
PDI:= personal docente e investigador.
PAS:= personal de administracin y servicios.
Benecio:= benecio anual en millones de euros.
Precre:= precio medio del crdito.
Alumci:= alumnos matriculados en 1.
er
y 2.
c
ciclo.
Tituofre:= n.
c
de titulaciones ofrecidas.
Posgrad:= n.
c
alumnos posgrado.
Ntilposg:= n.
c
de titulaciones posgrado ofrecidas.
224 Optimizacin matemtica aplicada
Figura 6.23: Tabla de los datos iniciales del informe La universidad en cifras.
Captulo 6. Aplicaciones de la Programacin Lineal 225
A partir de las variables anteriores, a continuacin denimos unas nuevas,
y trabajaremos bajo el supuesto de que estamos interesados en los valores que
minimizan cada una de estas nuevas variables. De este modo, encontramos una
formulacin adaptada al modelo de eciencia que se describe en la presente
seccin (vase, en particular, la subseccin 6.3).
Rposgrad:= Ntilposg/Posgrad.
Titaluci:= Tituofre/Alumci.
Alupdi:= Alumci/PDI.
Pdipas:= PDI/PAS.
Benemin:= 63Benecio.
Los valores numricos de estas variables se encuentran en la gura 6.24.
Respecto de la ltima variable Benemin, comentamos que su denicin viene
motivada por un procedimiento empleado en el contexto de la Programacin
Multiobjetivo denominado mtodo de la programacin por metas. En primer
lugar, el mtodo consiste en elegir un valor mayor (mejor) que todos los exis-
tentes (valor utpico en el contexto de la programacin por metas), que en este
caso ha sido 63 millones. Posteriormente, se anotan las distancias entre cada
uno de los valores existentes y dicho valor utpico. En este caso, basta restar a
63 cada uno de dichos valores. De este modo, se ha denido una nueva variable,
la cual estamos interesados en minimizar en vez de maximizar
3
.
3
Recordemos que otra forma de conseguir este propsito es lo descrito en el ejercicio anterior,
que consiste en invertir las cantidades originales.
226 Optimizacin matemtica aplicada
Figura 6.24: Tabla del Ejercicio 6.6 con las nuevas variables creadas, sobre las que
haremos el estudio de la eciencia.
Captulo 6. Aplicaciones de la Programacin Lineal 227
Solucin. Mediante la funcin eciencia hemos obtenido los siguientes resul-
tados:
Universidad Eciencia
U. Almera 0.9946
U. Cdiz 0.9856
U. Crdoba 0.9910
U. Granada 1
U Huelva 0.9456
U. Jan 0.8364
U. Mlaga 1
U. Pablo de Olavide 0.9608
U. Sevilla 1
U. Oviedo 0.9219
U. Islas Baleares 0.9473
U. La Laguna 0.9171
U. Las Palmas 0.9540
U. Cantabria 0.9427
U. Castilla la Mancha 0.8541
U. Valladolid 0.8879
U. Lleida 0.9849
U. Politcnica Catalua 1
U. Pompeu Fabra 1
Universidad Eciencia
U. Rovira i Virgili 0.8851
U. Alicante 1
U. Jaume I de Castelln 0.9980
U. Miguel Hernndez 0.9720
U. Politcnica de Valencia 1
U. Valencia 1
U. Extremadura 0.9338
U. La Corua 1
U. Santiago de Compostela 1
U. Vigo 1
U. Autnoma Madrid 1
U. Carlos III Madrid 0.9391
U. Politcnica Madrid 1
U. Rey Juan Carlos 0.7728
U. Murcia 0.8662
U. Politcnica Cartagena 0.9974
U. Pblica Navarra 1
U. Pas Vasco 1
6.3.3. Ejercicios
Ejercicio 6.7 Se desea construir una carretera para establecer una comuni-
cacin 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 rela-
tivos al Coste nal (en millones de euros) y Longitud total (en cientos de
kilmetros) se muestran a continuacin en la siguiente tabla:
228 Optimizacin matemtica aplicada
Empresa Coste nal Longitud total
A1 1 1
A2 2 0.75
A3 0.5 1
A4 1 2
A5 3 0.75
A6 2 2
A7 0.25 3
Se desea establecer un orden de preferencia (menor coste y menor longitud
de trazado) entre las diferentes empresas.
Solucin. Realizamos el estudio de la eciencia y obtenemos:
Empresa Eciencia
A1 0.9286
A2 1
A3 1
A4 0.5
A5 1
A6 0.4643
A7 1
En este caso, cuatro de las siete empresas presentadas tienen eciencia 1, y
la ordenacin nal entre ellas es tarea del decisor correspondiente.
Ejercicio 6.8 Analizar la eciencia, en un determinado da, de los 20 barcos
pesqueros cuyos datos guran en la siguiente tabla. Concretamente, los datos
correspondientes a las variables kg y horas que recogen, respectivamente, los
kilos de pesca y las horas empleadas en pesca en ese da considerado.
Captulo 6. Aplicaciones de la Programacin Lineal 229
Barco kg horas
b
1
306 8
b
2
345 10
b
3
123 9
b
4
245 7
b
5
643 9
b
6
354 8
b
7
321 9
b
8
564 13
b
9
435 6
b
10
490 8
Barco kg horas
b
11
399 9
b
12
321 8
b
13
419 7
b
14
523 9
b
15
603 11
b
16
123 5
b
17
501 10
b
18
576 8
b
19
433 7
b
20
467 13
Solucin. Con el n de emplear la funcin de MATLAB eciencia hemos de
considerar una nueva variable en vez de kg para la cual el orden de preferencia
est dado en el sentido minimizar. A continuacin, se presentan dos modos
distintos de elegir dicha variable.
a) Siguiendo el mismo procedimiento empleado en la denicin de la variable
Benemin del ejercicio 6.6, hemos denido una nueva variable con la expresin:
8191-kg (en este caso 8191 corresponde a la suma de los 20 datos de la variable
kg). As pues, a partir de la variable 8191-kg y horas se han obtenido los
siguientes resultados:
Barco Eciencia
b
1
0.9680
b
2
0.9620
b
3
0.9400
b
4
0.9691
b
5
1
Barco Eciencia
b
6
0.9736
b
7
0.9620
b
8
0.9896
b
9
1
b
10
0.9896
Barco Eciencia
b
11
0.9709
b
12
0.9698
b
13
0.9895
b
14
0.9855
b
15
0.9947
Barco Eciencia
b
16
1
b
17
0.9815
b
18
1
b
19
0.9912
b
20
0.9772
b) Un segundo planteamiento consistira en tomar el inverso de kg, como ya
se hizo en el ejercicio 6.5, obtenindose la siguiente tabla:
230 Optimizacin matemtica aplicada
Barco 1/kg horas
b
1
0.00326 8
b
2
0.00289 10
b
3
0.00813 9
b
4
0.00408 7
b
5
0.00155 9
b
6
0.00282 8
b
7
0.00311 9
b
8
0.00177 13
b
9
0.00229 6
b
10
0.00204 8
Barco 1/kg horas
b
11
0.00250 9
b
12
0.00311 8
b
13
0.00238 7
b
14
0.00191 9
b
15
0.00165 11
b
16
0.00813 5
b
17
0.00199 10
b
18
0.00173 8
b
19
0.0023 7
b
20
0.00214 13
A continuacin, se muestran las eciencias de los diferentes barcos a partir
de las variables 1/kg y horas:
Barco Eciencia
b
1
0.74695
b
2
0.69799
b
3
0.61517
b
4
0.83042
b
5
1
Barco Eciencia
b
6
0.7855
b
7
0.70598
b
8
0.87714
b
9
1
b
10
0.929
Barco Eciencia
b
11
0.79131
b
12
0.74924
b
13
0.91526
b
14
0.8992
b
15
0.93779
Barco Eciencia
b
16
1
b
17
0.83661
b
18
1
b
19
0.93176
b
20
0.72628
En ambos casos los barcos ms ecientes en ese da en concreto son: b
5
, b
9
,
b
16
y b
18
.
Ejercicio 6.9 Ante una nueva y desconocida afeccin cutnea, un joven investi-
gador 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
Captulo 6. Aplicaciones de la Programacin Lineal 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 de-
sea establecer una ordenacin entre dichos medicamentos.
MEDICAMENTO coste tiempo temperatura
1 1.13 10 0.500
2 1.34 14 0.270
3 1.23 7 0.310
4 1.45 11 0.110
5 1.51 12 0.230
6 1.54 10 0.010
7 1.09 9 0.056
Solucin. Realizamos el estudio de la eciencia y obtenemos:
MEDICAMENTO EFICIENCIA
1 0.9646
2 0.8134
3 1
4 0.7956
5 0.7319
6 1
7 1
Ntese que tres de los medicamentos tienen eciencia 1, por lo que la orde-
nacin nal entre ellos, de nuevo, es tarea del investigador.
Captulo 7
Aplicaciones de la
Programacin No Lineal
7.1. Localizacin de una antena WIFI
Ilustracin (vase la subseccin 7.1.1 para la resolucin numrica).
Consideremos una empresa formada por distintos departamentos, alojados en
distintos edicios y distribuidos en un recinto como muestra la gura 7.1.
Figura 7.1: Distribucin de los edicios y localizaciones.
233
234 Optimizacin matemtica aplicada
Se precisa instalar un servicio de conexin a la red inalmbrica, WIFI, para
cada uno de los departamentos, en las localizaciones a
1
, . . . , a
6
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:
a
1
= (16, 13.5)
0
,
a
2
= (16, 36.5)
0
,
a
3
= (44, 26.5)
0
,
a
4
= (66.5, 44)
0
,
a
5
= (82, 26)
0
,
a
6
= (82, 11)
0
.
(7.1)
Debido a las caractersticas de la antena WIFI que se va a instalar, se con-
sidera que a partir de 40 metros la seal es demasiado dbil para garantizar
una buena conexin. Se desea calcular el mejor lugar del recinto para instalar la
antena, de modo que la calidad de la seal sea lo mejor posible para el conjunto
de localizaciones.
Vamos a plantear el problema en trminos matemticos: puesto que la cali-
dad de la seal decrece con el aumento de la distancia, el objetivo es encontrar
el centro del crculo que hace menor el radio necesario para contener a todas las
localizaciones, es decir, el menor crculo que contiene los puntos a
1
, . . . , a
6
. El
problema matemtico que describe la situacin planteada es el siguiente:
(

1
1
) 'i:
(a,.)R
2+1
-
:.a

r a
i

_ -, i = 1, . . . , 6.
Planteamiento general. Con el objetivo de denir una funcin en MAT-
LAB 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 =

a
1
, a
2
, . . . , a
I

del espacio R
a
con la norma eucldea, que por simplicidad
en la notacin representaremos por kk, se desea encontrar la bola de mnimo
radio y centro cualquiera, que contenga a todos los puntos del conjunto A. As
pues, las variables de decisin del modelo son el centro, r R
a
, y el radio - 0
de dicha bola; vase la gura 7.2. Es sabido que este problema tiene solucin
nica cuando se considera la norma eucldea (de hecho, la unicidad se mantiene
Captulo 7. Aplicaciones de la Programacin No Lineal 235
en situaciones de normas ms generales como se prueba en [18]). Este problema
fue planteado originalmente por Sylvester en 1857 (vase [24]) para el caso de 3
puntos en el plano.
Figura 7.2: Mnimo crculo que contiene al conjunto

a
1
, a
2
, . . . , a
I

R
2
.
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.
En trminos formales, el problema a resolver es el siguiente
(1
1
) 'i:
(a,.)R
n+1
-
:.a

r a
i

_ -, i = 1, . . . , /.
(7.2)
Puesto que la funcin t 7 t
2
es estrictamente creciente en R
+
, por la
proposicin 3.1 (tomando c(t) = t
2
y c
i
(t) = t
2
, i = 1, . . . , /), se tiene que el
problema (1
1
) es equivalente a este otro
(1
2
) 'i:
(a,.)R
n+1
-
2
:.a

r a
i

2
_ -
2
i = 1, . . . , /,
- _ 0.
(7.3)
Como podemos observar, el problema (7.3) no es cuadrtico, pues las res-
tricciones no son lineales; sin embargo, veremos que con un cambio de variable
236 Optimizacin matemtica aplicada
adecuado podemos transformarlo en un problema cuadrtico convexo.
Hagamos antes un breve recordatorio acerca de los cambios de variable inde-
pendiente y la relacin existente entre las soluciones del problema original y del
transformado. La comprobacin del siguiente resultado es inmediata a partir de
la biyectividad de ,.
Proposicin 7.1 Sean 1, G R
a
, ) : 1 R, , : G 1 biyectiva y
q := ) ,. Sean los problemas
(1) 'i: )(r)
:.a r 1,
(Q) 'i: q(.)
:.a . G.
Entonces r es ptimo global de (1) si, y solo si, . := ,
1
( r) es ptimo global
de (Q). Adems los valores ptimos de (1) y (Q) coinciden.
Debemos realizar un cambio en el problema (7.3) que transforme las restric-
ciones cuadrticas en lineales. Veamos que un cambio adecuado para esto es el
que proporcionan las ecuaciones
_
_
_
. = r,
` =
1
2

-
2
krk
2

,
(7.4)
puesto que dicho cambio transforma las restricciones del problema (7.3) de la
siguiente manera: dado cualquier i = 1, . . . , /,

r a
i

2
_ -
2
=krk
2
2r
0
a
i
+

a
i

2
_ -
2
=
=r
0
a
i
+
1
2

-
2
krk
2

_
1
2

a
i

2
=.
0
a
i
+` _
1
2

a
i

2
.
(Recurdese que en esta aplicacin kk representa a la norma eucldea.)
Teniendo en cuenta esta cadena de equivalencias probaremos el siguiente
resultado.
Lema 7.1 Sea 1 el conjunto factible del problema de Sylvester (7.3), esto es,
1 :=
n
(r, -) R
a+1
|

r a
i

2
_ -
2
, i = 1, . . . , /, - _ 0
o
,
y sea
G :=

(., `) R
a+1
| ` +.
0
a
i
_
1
2

a
i

2
, \i = 1, . . . , /

Captulo 7. Aplicaciones de la Programacin No Lineal 237


entonces G 6= O y la funcin que dene el cambio (7.4), dada por
c : 1 G
(r, -) 7

r,
1
2

-
2
krk
2

,
es biyectiva.
Demostracin. En primer lugar, el hecho de que c (1) G es consecuencia
directa de la cadena de equivalencias dada tras la frmula (7.4). En particular,
G 6= O como consecuencia de que 1 6= O (dado que todo conjunto nito de puntos
es acotado; formalmente el par (0,max{

a
i

, i = 1, . . . , /}) pertenece a 1).


Dados (r, -) y ( r, -) de 1 tales que r = r y
1
2

-
2
krk
2

=
1
2

-
2
k rk
2

se tiene -
2
= -
2
, por lo que - = - al ser ambos no negativos, lo que prueba la
inyectividad de c.
Veamos que c es sobreyectiva. Dado (., `) un punto de G se vericar ` +
.
0
a
i
_
1
2

a
i

2
, \i = 1, . . . , /, o lo que es lo mismo,

a
i

2
2.
0
a
i
_ 2`. (7.5)
De la desigualdad anterior se deduce tambin que

. a
i

2
_ 2` +k.k
2
, y por
tanto
2` + k.k
2
_ 0,
lo que permite denir r := . y - :=
q
2` + k.k
2
.
Teniendo en cuenta la ecuacin (7.5), para cada i = 1, . . . , /, podemos es-
cribir

r a
i

2
=

. a
i

2
=

a
i

2
2.
0
a
i
+ k.k
2
_ 2` + k.k
2
= -
2
,
de donde se deduce que (r, -) 1. Entonces,
c(r, -) =

r,
1
2

-
2
krk
2

.,
1
2

q
2` + k.k
2

2
k.k
2
!!
= (., `) ,
lo que prueba la sobreyectividad de c.
El lema anterior asegura la existencia del cambio inverso , = c
1
de (7.4),
denido en G, dado por las ecuaciones
_
_
_
r = .,
- =
q
2` + k.k
2
.
(7.6)
238 Optimizacin matemtica aplicada
Proposicin 7.2 Manteniendo la notacin de la presente seccin, considere-
mos el problema de programacin cuadrtica
(1
3
) 'i:
(:,A)R
n+1
2` + k.k
2
:.a ` +.
0
a
i
_
1
2

a
i

2
, i = 1, . . . , /.
Se tiene que (1
3
) es resoluble. Adems, si ( .,

`) es solucin ptima de (1
3
)
entonces ( r, -) denido por
_
_
_
r := .,
- :=
q
2

` + k .k
2
,
es solucin ptima del problema (1
2
), cumplindose adems
(1
1
) =
p
(1
2
) =
p
(1
3
).
Demostracin. Veamos que (1
3
) es resoluble. En efecto, (1
3
) es consistente co-
mo consecuencia del lema anterior. En virtud del teorema 3.7, basta comprobar
que (1
3
) es acotado. Si ` +.
0
a
i
_
1
2

a
i

2
, entonces
2` + k.k
2
_ k.k
2
2.
0
a
i
+

a
i

2
=

. a
i

2
_ 0,
lo que signica que la funcin objetivo de (1
3
) est acotada inferiormente por 0
sobre el conjunto factible de (1
3
) . As pues, (1
3
) es acotado.
El resto de la prueba de este resultado es consecuencia directa de la proposi-
cin 7.1.
Observacin 7.1 Ntese que (1
3
) es un problema cuadrtico convexo (vase
la seccin 3.6), por lo que las condiciones de KKT son necesarias y sucientes
para la optimalidad global (en virtud de la proposicin 3.2), es decir, G = P
11T
.
Como consecuencia directa de este hecho se tiene que el centro de la esfera
mnima que contiene a A =

a
1
, a
2
, . . . , a
I

se encuentra en la envoltura convexa


de A. Formalmente, se tiene que

.,

G = . conv
n
a
1
, a
2
, . . . , a
I
o
.
Captulo 7. Aplicaciones de la Programacin No Lineal 239
En efecto, si

.,

G = P
11T
, se tiene:

2 .
2

=
X
i1( :,

A)
c
i

a
i
1

, con c
i
_ 0, para todo i 1

.,

.
En consecuencia . =
P
i1( :,

A)
c
.
2
a
i
conv

a
1
, a
2
, . . . , a
I

, ya que
P
i1( :,

A)
c
.
2
= 1.
7.1.1. Resolucin con MATLAB
En primer lugar, ntese que (1
3
) puede adaptarse al formato estndar de
(3.5) ; esto es, podemos escribir
(1
3
) 'i:
&R
n+1
1
2
n
0
Qn +d
0
n
:.a n _ /,
considerando
Q := 2

1
a
0
a
0
0
a
0
!
, d :=

0
a
2
!
, :=
_
_
_
_

a
1

0
.
.
. 1
I

a
I

0
_
_
_
_
,
/ :=
1
2
_
_
_
_

a
1

2
.
.
.

a
I

2
_
_
_
_
, n := (.
1
, .
2
, . . . , .
a
, `)
0
,
donde recurdese que 0
a
es el vector nulo de R
a
y que 1
I
:=
(I)
(
z }| {
1, ..., 1)
0
.
A continuacin, presentamos la funcin de MATLAB que calcula la mnima
bola mediante la resolucin del problema (1
3
). La notacin empleada ha sido la
siguiente:
MP: matriz que contiene a los puntos a
i
por columnas.
Q, d: Matriz y vector que denen la funcin objetivo de (1
3
) .
A, b: Matriz y vector que denen las restricciones del problema (1
3
) , esto
es, n _ /.
x: centro de la esfera (r
1
, . . . , r
a
) que se busca.
u: es el vector (r
1
, . . . , r
a
, `), de variables del problema (1
3
).
240 Optimizacin matemtica aplicada
r: radio de la bola buscada (valor ptimo de (1
1
) , denotado anteriormente
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 con-
tinuacin, introducimos los datos recogidos en (7.1) y ejecutamos la funcin
esfmin.
MP=[16,16,44,66.5,82,82;13.5,36.5,26.5,44,26,11]
[x,r]=esfmin(MP)
Con lo que se obtiene el resultado:
r = (49, 23.75), r = 35.3774,
y al ser el radio menor que 40 m quedar garantizada una buena seal en todas
las localizaciones. En la gura 7.3 se muestra grcamente la solucin obtenida.
7.2. Ubicacin de una antena de telefona mvil
El problema que se aborda en esta seccin constituye una ligera modicacin
del problema tratado en la seccin anterior.
Captulo 7. Aplicaciones de la Programacin No Lineal 241
Figura 7.3: Punto ptimo para la colocacin de la antena WIFI.
Ilustracin. Se desea encontrar la ubicacin ptima de una antena de tele-
fona mvil con el n de dar cobertura a cinco reas
1
, ...,
5
que, por simpli-
car, suponemos circulares de 25 km de radio y centradas en los puntos a
1
, ..., a
5
que se muestran en la siguiente tabla (los datos estn dados en km y se supone
previamente jado un sistema de coordenadas):
a
1
(68, 263)
a
2
(251, 340)
a
3
(173, 170)
a
4
(208, 40)
a
5
(312, 190)
En la gura 7.4 se ilustra la situacin actual.
Solucin. El problema a resolver es el siguiente:
(1
1
) 'i:
(a,.)R
2+1
-
:.a

r a
i

+ 25 _ -,
que es equivalente a este otro
(1
2
) 'i:
(a,.)R
2+1
- 25
:.a

r a
i

_ - 25.
242 Optimizacin matemtica aplicada
Figura 7.4: Localizaciones del problema de la antena de telefona.
Como en la aplicacin anterior, en sta kk representa a la norma eucldea de
R
a
. Si llamamos c := -25, el problema (1
2
) queda como un problema estndar
de la bola de mnimo radio:
(1
3
) 'i:
(a,c)R
2+1
c
:.a

r a
i

_ c;
Y si r
3
es ptimo del problema (1
3
) con valor

c
3
, entonces el ptimo del problema
original (1
1
) es tambin r
3
, pero con valor

c
3
+ 25.
Utilizando la funcin esfmin realizada previamente, resolvemos el problema
(1
3
), obteniendo la ubicacin ptima de la antena en el punto r = (204.93, 193.52),
con valor ptimo

c = 153.55. La gura 7.5 ilustra dicha ubicacin ptima.
7.2.1. Ejercicio propuesto: Instalacin de una plataforma de sal-
vamento martimo
Se desea instalar una plataforma de salvamento martimo para atender posi-
bles 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):
Captulo 7. Aplicaciones de la Programacin No Lineal 243
Figura 7.5: Ubicacin ptima de la antena de telefona.
Isla Coordenadas (en km)
1
1
(36.9, 42.8)
1
2
(37.6, 30.5)
1
3
(87.8, 33.6)
1
4
(76.7, 40.8)
1
5
(57.5, 63.7)
Calclese la ubicacin ptima de la plataforma de salvamento.
Solucin. En primer lugar, ntese que el modelo es anlogo al anterior,
de ubicacin de una antena de telefona mvil. Ntese adems, que no es nece-
sario conocer el radio de las islas para determinar la localizacin ptima de la
plataforma. Utilizando la funcin esfmin se obtiene que la ubicacin ptima de
la plataforma en el punto (62.3, 38.2).
7.3. Ajuste por mnimos cuadrados
7.3.1. Ajuste a modelos lineales sin restricciones
Recordemos que dada una nube de puntos
{(j
)
, r
1)
, r
2)
, ..., r
a)
), , = 1, ..., /} R
a+1
,
244 Optimizacin matemtica aplicada
el objetivo del modelo de los mnimos cuadrados es determinar la ecuacin del
hiperplano
t = c
0
+c
1
:
1
+c
2
:
2
+. . . +c
a
:
a
,
que minimiza la norma eucldea el vector de residuos -(c) = (-
)
(c))
)=1,...,I
,
siendo
-
)
(c) = j
)
(c
0
+c
1
r
1)
+c
2
r
2)
+. . . +c
a
r
a)
), , = 1, . . . , /,
donde c = (c
0
, c
1
, ..., c
a
)
0
R
a+1
. En otros trminos, se trata de resolver el
problema
'i:
cR
n+1
k-(c)k
2
,
que resulta ser equivalente al problema
(1
nc
) 'i:
cR
n+1
I
X
i=1
(-
i
(c))
2
.
Este planteamiento fue introducido anteriormente en (6.4), en la seccin 6.2.
Si denotamos por Y := (j
1
, ..., j
I
)
0
, por A
i
:= (r
i1
, . . . , r
iI
)
0
, y por A :=
(1
I
|A
1
| |A
a
) , se tiene que
-(c) = Y c
0
+c
1
A
1
+c
2
A
2
+. . . +c
a
A
a
=
= Y (1
I
|A
1
| |A
a
)
_
_
_
_
_
_
_
c
0
c
1
.
.
.
c
a
_
_
_
_
_
_
_
= Y Ac.
Entonces,
-(c)
0
-(c) = (Y Ac)
0
(Y Ac) = c
0
A
0
Ac 2Y
0
Ac +Y
0
Y,
que es claramente una funcin cuadrtica en la variable vectorial c. Si adoptamos
la notacin Q := 2A
0
A, c := 2A
0
Y, d := Y
0
Y , el problema (1
nc
) queda
planteado como sigue:
(1
nc
) 'i:
cR
n+1
)(c) :=
1
2
c
0
Qc +c
0
c +d.
(7.7)
Captulo 7. Aplicaciones de la Programacin No Lineal 245
Dado que Q = H) (c) , para cualquier c, es una matriz simtrica y denida
o semidenida positiva, pues
.
0
Q. = 2.
0
A
0
A. = 2(A.)
0
(A.) _ 0 \. R
a+1
,
se tiene que ) es una funcin cuadrtica convexa.
Proposicin 7.3 Consideremos el problema de mnimos cuadrados (1
nc
) in-
troducido en (7.7). Se tiene que (1
nc
) es resoluble y el conjunto de sus ptimos
globales est dado por
G =

c R
a+1
| A
0
Ac A
0
Y = 0

.
(Si A
0
A es inversible, es inmediato que (1
nc
) tiene un nico ptimo global y
est dado por c = (A
0
A)
1
(A
0
Y ).)
Demostracin. En primer lugar, ntese que, en virtud del Teorema de Frank y
Wolfe (teorema 3.7), (1
nc
) es resoluble por tratarse de un problema acotado de
programacin cuadrtica (vase tambin la observacin 3.8). En efecto, (1
nc
)
es acotado pues
) (c) =
I
X
i=1
-
2
i
(c) _ 0 para todo c R
a+1
.
Adems, puesto que ) es convexa, en virtud del teorema 2.1 se tiene que el
conjunto de ptimos globales de (1
nc
) est dado por
G =

c R
a+1
| \)(c) = 0
a+1

=

c R
a+1
| Qc +c = 0

=

c R
a+1
| A
0
Ac A
0
Y = 0

.
246 Optimizacin matemtica aplicada
7.3.2. Ajuste a modelos lineales con restricciones: un problema
de reacciones qumicas
Ilustracin (vase la resolucin numrica en la subseccin 7.3.3).
Se han realizado 12 experimentos de obtencin de determinado material a partir
de cuatro compuestos , 1, C y 1. En cada uno de los experimentos se han
utilizado diferentes cantidades de los cuatro compuestos y se ha anotado el
calor generado, 1, por la reaccin qumica. La siguiente tabla muestra los datos
correspondientes a los 12 experimentos; esto es, las cantidades empleadas de ,
1, C y 1 (medidas en gramos) y el calor generado 1 (medido en caloras por
gramo):
1 1 C 1
107.5 13 67 8 19
112.4 6.8 33 9 15
84 2.3 59 11 27
113.8 10.1 31 24 25
94.1 9.9 43 15 42
73.2 7.8 69.9 11 7
1 1 C 1
102 11.9 72 9 23
104.2 3 51 13 46
110.7 23 46 16 22
75.7 2.1 45 8 54
77.9 7 25.5 7 61
81.9 9.8 33 7 63
Se desea ajustar un modelo lineal a estos datos, donde se exprese el calor ge-
nerado 1 en funcin de las cantidades de los compuestos , 1, C y 1. Esto es,
se desean determinar los parmetros c
0
, c
1
, ..., c
4
del modelo lineal:
1 = c
0
+c
1
+c
2
1 +c
3
C +c
4
1,
que mejor se ajusta a los datos anteriores, en el sentido de los mnimos cuadrados.
Adems, se sabe que los parmetros del modelo verican las restricciones:
c
1
+c
2
+c
3
_ 4 y 2c
1
c
2
= 0.
Planteamiento general. Manteniendo la notacin de la subseccin ante-
rior, ahora suponemos adicionalmente que se conocen ciertas condiciones para
los parmetros c
0
, c
1
, . . . , c
a
, que formalmente se traducen como un conjun-
to de restricciones lineales. De este modo, planteamos el problema de mnimos
Captulo 7. Aplicaciones de la Programacin No Lineal 247
cuadrados restringidos como sigue:
(1
ncv
) 'i:
I
X
i=1
(-
i
(c))
2
:.a c _ /,

cq
c = /
cq
.
(7.8)
siendo y
cq
matrices de rdenes :(:+1) y j(:+1), respectivamente, y
donde / R
n
y /
cq
R
j
. Ntese que la funcin objetivo de (1
ncv
) es la misma
que la de (1
nc
) y como antes se tiene que
) (c) =
I
X
i=1
(-
i
(c))
2
_ 0, para todo c R
a+1
.
En particular, se tiene el siguiente resultado.
Proposicin 7.4 Consideremos el problema (1
ncv
) introducido en (7.8). Se
tiene que:
(i) (1
ncv
) es resoluble si, y solo si, (1
ncv
) es consistente.
(ii) El conjunto de ptimos globales de (1
ncv
) coincide con el de sus puntos
de KKT, esto es,
G = P
11T
.
Demostracin. El apartado (i) es consecuencia directa del teorema de Frank
y Wolfe (teorema 3.7) teniendo en cuenta que la funcin objetivo de (1
ncv
) , ),
est acotada inferiormente, como se ha indicado anteriormente.
Por su parte, el apartado (ii) se deduce del hecho de que (1
ncv
) es un pro-
blema cuadrtico convexo.
7.3.3. Resolucin con MATLAB
A continuacin, implementamos la funcin minres que resuelve el modelo
de los mnimos cuadrados restingidos, para una muestra de / observaciones y :
variables.
(1
ncv
) 'i: c
0
Qc +c
0
c +d
:.a c _ /,

cq
c = /
cq
.
248 Optimizacin matemtica aplicada
donde
Q = 2A
0
A, c = 2A
0
Y y d = Y
0
Y.
Recurdese que
A =
_
_
_
_
1 r
11
r
a1
.
.
.
.
.
.
.
.
.
.
.
.
1 r
1I
r
aI
_
_
_
_
, Y =
_
_
_
_
j
1
.
.
.
j
I
_
_
_
_
.
Inicio funcin minres
%La funcin minres resuelve el problema de los mnimos cuadrados
%restringidos.
%La sintaxis es [sol, e]=minres(dep, indep, A, b, Aeq, beq),
%donde dep es el vector (fila) que contiene las observaciones
%experimentales de la variable dependiente del modelo,
%indep es la matriz que contiene por filas las observaciones
%experimentales de cada una de las variables independientes,
%A es la matriz de coeficientes de las restricciones de
%desigualdad, b es el vector de trminos independientes de las
%desigualdades, Aeq es la matriz de coeficientes de las
%restricciones de igualdad, y beq vector de
%trminos independientes de las igualdades.
%Los argumentos de salida son: sol, que es el vector que tiene
%los valores ptimos de los parmetros del modelo,
%e es el vector de residuos correspondiente.
%Para evitar errores se recomienda introducir los datos en un
%M-file con dep, indep, A, b, Aeq y beq.
function [sol,e]=minres(dep,indep,A,b,Aeq,beq)
x=indep;
[n,k]=size(x);
y=dep;
%funcin cuadrtica
x=x;
Captulo 7. Aplicaciones de la Programacin No Lineal 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.
K=[107.5, 112.4, 84, 113.8, 94.1, 73.2, 102, 104.2, 110.7,
75.7, 77.9, 81.9];
A=[13, 6.8, 2.3, 10.1, 9.9, 7.8, 11.9, 3,23, 2.1, 7, 9.8];
B=[67, 33, 59, 31, 43, 69.9, 72,51, 46,45, 25.5, 33];
C=[8, 9, 11, 24, 15, 11, 9, 13, 16, 8, 7, 7];
D=[19, 15, 27, 25, 42, 7, 23, 46, 22, 54, 61, 63];
dep=K;
indep=[A;B;C;D];
[sol,e]=minres(dep,indep,[0,1,1,1,0],[4],[0,2,-1,0,0],[0])
Recordemos que el argumento de salida sol contiene los valores ptimos
de los parmetros c
0
, c
1
, ..., c
4
, obtenindose la siguiente solucin:
1 = 103.8332 0.08910.17821 + 1.1144C 0.37211.
7.3.4. Ejercicio propuesto: Un modelo explicativo del precio de
la vivienda
Se desea ajustar un modelo lineal que explique el precio de venta de una
vivienda (precio) en funcin del valor de tasacin del terreno (valterr), el va-
lor de tasacin de las mejoras (valmejor) y el valor de tasacin total (valtot).
250 Optimizacin matemtica aplicada
Formalmente, se desea determinar los parmetros c
0
, c
1
, ..., c
3
que proporcionan
el mejor ajuste del modelo
precio = c
0
+c
1
valterr +c
2
valmejor +c
3
valtot
a los datos que se indican a continuacin, mediante el mtodo de mnimos
cuadrados sujeto a la restriccin c
3
= 2c
1
.
Emplearemos la base de datos del SPSS contenida en el chero 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 chero
Ventas de casas [por barrio].sav de la base de datos del SPSS. A travs de
las opciones AnalizarEstadsticos descriptivosFrecuencias a la variable ba-
rrio, vemos que hay 7 barrios designados de la A a la G. Seguidamente me-
diante DatosSeleccionar casos, seleccionamos las opciones Eliminar casos no
seleccionados y Si satisface la condicin y pulsamos Si... elegimos barrio, ba-
rrio=AContinuarAceptar. Ahora de la ventana Vista de variables elimi-
namos 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, FileOpen, abrimos direc-
tamente 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 EditClear Workspace.
Solucin. Para hallar los parmetros del modelo barrioA tecleamos en MAT-
LAB:
dep=precio;
indep=[valterr,valmejor,valtot];
Captulo 7. Aplicaciones de la Programacin No Lineal 251
[sol,e]=minres(dep,indep,[],[],[0,0,2,-1,0],0)
7.3.5. Ajuste a modelos no lineales: Un modelo de produccin
basado en la funcin de produccin de Cobb-Douglas
En el proceso de engorde del ganado vacuno en Allueva et l. [1] se consideran
dos fases diferentes: la fase de iniciacin (hasta 300 kg de peso) y la de acabado.
En la fase de iniciacin aparece el siguiente modelo de engorde del ganado en
funcin del tipo de alimentacin empleada
1 = c
0
'
c
1
o
c
2
, (7.9)
donde 1 representa la ganancia de peso en kg de un ternero con una racin
de pienso, ' y o representan, respectivamente, las cantidades (en kg) de cierta
mezcla de maz en grano con ensilado y de soja, empleada en la racin de pienso.
Por su parte c
0
, c
1
y c
2
son los parmetros del modelo, que han de tomar valores
no negativos. Dicho modelo se ajusta al clsico modelo de produccin de Cobb
y Douglas (analizado por estos autores en la publicacin [6] de 1928).
Nuestro objetivo es determinar los valores ptimos de los parmetros c
0
, c
1
y
c
2
en el sentido de que proporcionen el mejor ajuste por mnimos cuadrados del
modelo (7.9) a la siguiente muestra de datos relativos al engorde de 20 terneros:
1 : 47 46 48 46.5 48.7 56.8 56.9 49.8 51.6 54.9
' : 100 93 120 90 98 140 150 97 115 130
o : 50 54 34 58 65 79 67 80 65 75
1 : 47.5 49.8 51.2 49.3 48.9 57.6 51.9 54.5 48.4 50.5
' : 95 105 110 97 104 145 125 132 92 104
o : 59 64 69 73 56 79 54 68 75 72
Planteamiento general. Consideremos el siguiente modelo no lineal que
expresa a la variable Y como funcin de las variables independientes A
1
, ..., A
a
y que, adems, depende del parmetro c 1 R
n
,
Y = )
c
(A
1
, ..., A
a
) ,
252 Optimizacin matemtica aplicada
donde )
c
: R
a
R, c 1, es una funcin en general no lineal.
Supongamos dada una muestra experimental de tamao / de las variables
involucradas en el modelo, Y, A
1
, ..., A
a
:
{(j
)
, r
1)
, r
2)
, ..., r
a)
), , = 1, ..., /} R
a+1
.
El mtodo de ajuste por mnimos cuadrados pretende determinar el valor del
parmetro (vectorial) c que minimiza la norma eucldea del vector de residuos
correspondiente
- (c) := (j
)
)
c
(r
1)
, r
2)
, ..., r
a)
))
)=1,...,I
;
esto es, se trata de resolver el siguiente problema de optimizacin, en la variable
vectorial c R
n
,
(1) 'i: k-(c)k
2
:.a. c 1,
o, equivalentemente, de resolver el problema de mnimos cuadrados no lineal
(1
nca|
) 'i:
I
P
)=1
(j
)
)
c
(r
1)
, r
2)
, ..., r
a)
))
2
:.a. c 1.
(7.10)
El problema (1
nca|
) ser de PNL con restricciones si 1 est dado como el
conjunto de soluciones de cierto sistema de restricciones. Si 1 = R
n
, el problema
(1
nca|
) puede verse como un problema de PNL sin restricciones.
Resolucin con MATLAB. En el ejemplo del problema de engorde del
ganado, la funcin no lineal que describe el modelo es
)
c
(', o) = c
0
'
c
1
o
c
2
,
y el problema (1
nca|
) puede escribirse de la forma (se indica el primer y ltimo
sumando de la funcin de mnimos cuadrados)
(1
nca|
) 'i: (47 c
0
100
c
1
50
c
2
)
2
+.... + (50.5 c
0
104
c
1
72
c
2
)
2
:.a. c
0
, c
1
, c
2
_ 0.
(7.11)
Por motivos didcticos y de generalidad en el planteamiento, hemos optado
por trabajar directamente con el modelo no lineal (7.9); aunque en este caso
Captulo 7. Aplicaciones de la Programacin No Lineal 253
Figura 7.6: Funcin objetivo del problema (7.11).
particular, podramos haber linealizado dicho modelo tomando logaritmos, pues
los valores experimentales de 1, ' y o son positivos.
A continuacin, introducimos el modelo en MATLAB y lo resolvemos con
ayuda de la funcin fmincon descrita en la seccin 5.2. La gura 7.6 muestra
la edicin de la funcin objetivo del modelo como un M-archivo que hemos
denominado sumcuad (suma de cuadrados).
Una vez creada la funcin objetivo, ejecutamos la funcin fmincon con
la sintaxis que gura a continuacin. Hacemos hincapi en el hecho de que la
eleccin inicial de la semilla la hacemos de forma arbitraria. En este caso se ha
considerado la semilla (1, 1, 1) .
[x,f,e,o]=fmincon(sumcuad,[1 1 1],[],[],[],[],[0 0 0],[]);
Se tiene, e =0 (vase de nuevo la seccin 5.2 para detalles). El punto pro-
puesto 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 Optimizacin matemtica aplicada
mos de nuevo la funcin fmincon con la sintaxis:
[x,f,e,o]=fmincon(sumcuad,[2 0.5 0.1],[],[],[],[],
[0 0 0],[]);
En este caso obtenemos el mensaje de salida correspondiente a e =5 (recorde-
mos que valores positivos de e=exitflag se correspondan con reglas satisfacto-
rias de parada). Por otro lado, a partir del valor de o.firstorderopt=0.0256,
podemos decir que no se cumplen las condiciones de KKT para la toleran-
cia empleada de 10
6
, aunque s se tiene cierta aproximacin. Formalmente
o.firstorderopt=0.0256 signica que

\) (r) +
n
X
i=1
`
i
\q
i
(r)

_ 0.0256,
|`
i
q
i
(r)| _ 0.0256, para todo i,
donde aqu ) representa la funcin objetivo del problema y q
i
la funcin que
determina la i-sima restriccin de desigualdad (q
i
(r) _ 0).
Por otro lado, la solucin propuesta es:
x=[5.1633, 0.3644, 0.1369], con f=0.4642.
Ntese que se ha producido una mejora (disminucin) en el valor de la funcin
objetivo con respecto a la ejecucin anterior de fmincon.
Hemos ensayado con diferentes semillas y no hemos encontrado una mejora
signicativa en el valor de la funcin objetivo. Con todo, admitiremos el punto
anterior como solucin aceptable del problema. As pues, aceptamos el siguiente
modelo de engorde del ganado vacuno:
1 = 5.1633 '
0.3644
o
0.1369
.
7.4. Distancia de un punto a un poliedro
7.4.1. Ilustracin: El problema de la gra
Se quiere transportar una cantidad de materiales pesados de construccin
desde el punto a = (14, 120) al recinto 1 (vase una ilustracin en la gura 7.7).
Captulo 7. Aplicaciones de la Programacin No Lineal 255
Para ello se va a instalar una gra torre en dicho recinto con la que se elevarn
Figura 7.7: Representacin grca problema de la gra.
los materiales. Suponemos que el coste de la gra torre depende linealmente de
la longitud del brazo (llamado pluma o echa) de sta. Formalmente, suponemos
que el coste viene dado por:
coste = cd (a, r) +,,
siendo r el punto donde se instalar la gra, y siendo c y , dos nmeros posi-
tivos.
El objetivo del problema es calcular el punto r donde instalar la gra con el
n de minimizar el coste. Esto es, el planteamiento ser
(1) 'i: cd(a, r) +,
:.a r 1,
o equivalentemente
(

1) 'i: d(a, r)
:.a r 1.
La resolucin numrica de este problema se encuentra en la subseccin 7.4.3.
Seguidamente, abordamos este problema desde una perspectiva ms general.
256 Optimizacin matemtica aplicada
7.4.2. Planteamiento general
La ilustracin anterior corresponde a una situacin particular del problema
de hallar la distancia eucldea de un punto a R
a
a un poliedro 1 R
a
. Es
sabido que un poliedro en R
a
admite diferentes tipos de representaciones. En
esta aplicacin, por simplicidad, trabajaremos con la representacin de 1 como
solucin de un sistema de desigualdades lineales; esto es,
1 = {r R
a
| r _ /} ,
siendo una matriz de orden :: y / R
n
. Se considera entonces el problema
de optimizacin
(1
1
) 'i: d(a, r)
:.a r 1,
donde d(a, r) representa la distancia eucldea entre a y r. En otros trminos, la
nalidad de (1
1
) es determinar la mejor aproximacin (o proyeccin) del punto
a en el poliedro 1, que ser representada por 1
1
(a) como se ilustra en la gura
7.8.
Figura 7.8: Proyeccin del punto a sobre el poliedro 1.
Puesto que 1 es un convexo cerrado (ejemplo 1.9), un resultado clsico del
anlisis convexo (que puede consultarse, por ejemplo, en el texto de Rockafellar
[23]) establece la existencia y unicidad de 1
1
(a) cuando se trabaja con la distan-
cia eucldea (en general, con otras distancias no est garantizada la unicidad).
Captulo 7. Aplicaciones de la Programacin No Lineal 257
En otros trminos, el problema (1
1
) es resoluble y tiene un nico ptimo
global. Aunque no es necesario suponer a , 1, obviamente, el caso contrario es
trivial, en el sentido de que si a 1, entonces 1
1
(a) = a y el valor ptimo (1
1
)
es cero.
Por otro lado, puesto que la funcin t 7 t
2
es estrictamente creciente en
R
+
, y teniendo en cuenta que
d(a, r)
2
= kr ak
2
2
= r
0
r 2a
0
r +a
0
a,
el problema (1
1
) es equivalente al problema de programacin cuadrtica:
(1
2
) 'i: r
0
r 2a
0
r +a
0
a
:.a r _ /.
7.4.3. Resolucin con MATLAB
Seguidamente implementamos una funcin con MATLAB, que llamaremos
dispol, que resuelve el problema (1
2
) anterior. Expresamos dicho problema en
el formato estndar:
(1
2
) 'i:
1
2
r
0
Qr +c
0
r +d
:.a r _ /,
(7.12)
considerando
Q := 21
a
, c := 2a y d := kak
2
.
(Como en ocasiones anteriores, obviaremos la constante d 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 Optimizacin matemtica aplicada
% donde se alcanza la distancia mnima deseada (proyeccin)
% y d el valor de dicha distancia.
function [sol,d]=dispol(punto,A,b)
[m,t]=size(A);
%Primero se comprueba si el punto pertenece a F
D=[];
for i=1:m
C=A(i,:)*punto;
D=[D,C];
end
if D<=b
disp(El punto pertenece al poliedro)
sol=[];
d=[];
return
else
n=length(punto);
Q=eye(n);
c=-2*punto;
[sol]=quadprog(2*Q,c,A,b);
d=sqrt((sol-punto)*(sol-punto));
end
Fin funcin dispol
A continuacin, retomamos nuestra ilustracin del problema de la gra. Con
el n de ajustarnos al planteamiento general, en primer lugar, representaremos
el recinto 1 como solucin de un sistema de desigualdades lineales. Inicialmente,
sabemos que:
1 = conv {(52.5, 103.5) , (119.5, 100) , (138, 51) , (59.5, 17) , (36, 69)} .
A partir de las ecuaciones de las rectas que conectan cada par de vrtices con-
secutivos llegamos a la representacin deseada:
1 :=

r R
2
| r _ /

.
Captulo 7. Aplicaciones de la Programacin No Lineal 259
Puede comprobarse que una posible eleccin de y / es:
:=
_
_
_
_
_
_
_
_
_
3.5 67
49 18.5
34 78.5
52 23.5
34.5 16.5
_
_
_
_
_
_
_
_
_
j / :=
_
_
_
_
_
_
_
_
_
7118.2
7705.5
688.5
3493.5
103.5
_
_
_
_
_
_
_
_
_
.
Utilizando la funcin dispol con la sintaxis indicada anteriormente, se ob-
tiene que el punto ptimo para colocar la gra es:
r = (51.75, 101.94).
La gura 7.9 ilustra grcamente la situacin.
Figura 7.9: Solucin del problema de la gra.
7.4.4. Ejercicios
Ejercicio 7.1 Se desea hallar la distancia del punto a = (3, 4) al poliedro dado
por
1 :=

r R
2
| r
1
+r
2
_ 4, r
1
+ 2r
2
_ 5, r
1
_ 0, r
2
_ 0

.
Utilcese la funcin dispol.
260 Optimizacin matemtica aplicada
Solucin. Ejecutamos la funcin dispol con los datos actuales:
A=[1,1;1,2;-1,0;0,-1];
b=[4,5,0,0];
[sol,d]=dispol([3,4],A,b)
Obtenemos la solucin: sol= (1.8, 1.6), con distancia mnima d= 2.6833.
La gura 7.10 ilustra grcamente la situacin.
0 1 2 3 4 5
0
1
2
3
4
5
x
y
a
P a
P
( )
P
d
(
a
,
P
)
Figura 7.10: Distancia del punto a al poliedro 1.
Ejercicio 7.2 Se desea minimizar las distancias de los puntos dados a cada uno
de los correspondientes poliedros, mediante la funcin dispol:
(a) j
1
= (4, 6, 7),
1
1
=
(
r R
3
| r
1
+ 3r
2
+r
3
_ 12, r
1
+ 9r
2
_ 18, r
1
_ 0,
r
2
_ 0, r
3
_ 0
)
.
(b) j
2
= (2, 6, 5, 10),
1
2
=
_

_
r R
4
| r
1
+r
2
+ 4r
3
_ 4, r
1
+ 2r
4
_ 7,
r
1
+r
2
3r
3
+ 5r
4
_ 11, r
1
_ 0, r
2
_ 0,
r
3
_ 4, r
4
_ 0
_

_
.
Captulo 7. Aplicaciones de la Programacin No Lineal 261
Solucin. (a) sol= (3.5122, 1.6098, 7); d = 4.4173.
(b) sol= (0, 2.0928, 0.4768, 2.0675); d= 10.1316.
7.5. Distancia entre dos poliedros
7.5.1. Ilustracin: Construccin de una zanja para conectar dos
recintos
Una gran empresa localizada en el recinto 1 esquematizado en la gura 7.11
(las magnitudes vienen dadas en metros), ha decidido ampliar sus dependencias
al recinto o, que acaba de adquirir recientemente. Se quiere comunicar ambos
recintos por cable bajo tierra, para lo cual se realizar una zanja en lnea recta
que una un recinto con otro. Cada posible zanja puede ser representada por un
par (r, j) R
2
R
2
, donde r 1 representa el punto de salida e j o el punto
de llegada. Suponiendo que el coste del material (tubos, cables...) y las obras es
proporcional a la longitud de la zanja, calcular el vector (r, j) que minimiza el
coste de las obras.
Figura 7.11: Esquema que muestra la localizacin de los recintos.
262 Optimizacin matemtica aplicada
Vase la subseccin 7.5.3 para la resolucin numrica de este problema. A
continuacin, presentamos un planteamiento general en el que ubicar la ilus-
tracin actual.
7.5.2. Planteamiento general
La situacin anterior se ajusta al problema de determinar la distancia eu-
cldea entre dos poliedros de 1
1
R
a
y 1
2
R
a
. Como en la seccin anterior, los
poliedros sern representados como conjuntos de soluciones de sistemas lineales.
Concretamente,
1
1
=

r R
a
|
1
r _ /
1

y 1
2
=

r R
a
|
2
r _ /
2

.
As pues, el planteamiento del problema sera
(1
1
) 'i: d(r, j)
:.a r 1
1
,
j 1
2
,
donde d(r, j) representa la distancia eucldea entre r e j.
Atendiendo a la representacin de los poliedros 1
1
y 1
2
, teniendo en cuenta
que la funcin t 7t
2
es estrictamente creciente en R
+
, y que
d(r, j)
2
= r
0
r 2r
0
j +j
0
j,
el problema (1
1
) es equivalente al siguiente problema de programacin cuadrti-
ca en la variable (r, j) R
2a
:
(1
2
) 'i: r
0
r 2r
0
j +j
0
j
:.a
1
r _ /
1
,

2
j _ /
2
.
(7.13)
El siguiente resultado resume las propiedades de (1
2
) .
Proposicin 7.5 Considrese el problema (1
2
) introducido en (7.13). Se tiene
que:
(i) (1
2
) es un problema cuadrtico convexo;
(ii) (1
2
) es resoluble si, y solo si, es consistente.
Captulo 7. Aplicaciones de la Programacin No Lineal 263
Demostracin. (i) Veamos que la funcin objetivo de (1
2
) , que denotaremos
por ), es convexa. Sea
) (r, j) := r
0
r 2r
0
j +j
0
j, (r, j) R
2a
.
Se comprueba fcilmente que la matriz hessiana de ) en (r, j) R
2a
est dada
por
H) (r, j) =

1
a
1
a
1
a
1
a
!
.
Veamos que, para cualquier (r, j) R
2a
, H) (r, j) es semidenida positiva: en
efecto, para cualquier . =

:
1
:
2

R
2a
se tiene que
.
0

1
a
1
a
1
a
1
a
!
. =

.
1

0
.
1
2

.
1

0
.
2
+

.
2

0
.
2
= d(.
1
, .
2
)
2
_ 0.
As pues, ) es convexa.
(ii) Es consecuencia inmediata del teorema de Frank y Wolfe (teorema 3.7),
teniendo en cuenta que ) (r, j) = d(r, j)
2
_ 0 para todo (r, j) .
7.5.3. Resolucin con MATLAB
Ntese que el problema (1
2
) introducido en (7.13) se puede ajustar al formato
(1
2
) 'i:
1
2
.
0
Q.
:.a . _ /,
si consideramos
. :=

r
j

R
2a
, Q := 2

1
a
1
a
1
a
1
a
!
,
:=


1
0
na
0
ja

2
!
y / :=

/
1
/
2
!
,
donde
1
,
2
, /
1
y /
2
son las matrices y vectores que aparecen en el problema
(7.13).
A partir de estos ingredientes implementamos la funcin dis2pols que re-
suelve el problema de la mnima distancia entre dos poliedros mediante la re-
solucin del problema (1
2
) .
264 Optimizacin matemtica aplicada
Inicio funcin dis2pols
%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 subsec-
cin 7.5.1.
En primer lugar, representamos los recintos 1 y o como los conjuntos de
soluciones de sendos sistemas lineales dados por:
1 =

r R
a
|
1
r _ /
1

y o =

r R
a
|
2
j _ /
2

.
Los coecientes de los respectivos sistemas se han calculado determinando las
ecuaciones de las rectas que unen a cada par de vrtices consecutivos de 1 y o.
Consideramos:

1
:=
_
_
_
_
_
_
_
_
_
6 11
5 1
0 1
1 1
11 6
_
_
_
_
_
_
_
_
_
,
2
:=
_
_
_
_
_
_
_
8 1
2 15
4 11
7 1
_
_
_
_
_
_
_
,
/
1
= (2290, 790, 10, 70, 250)
0
y /
2
= (1360, 4000, 5280, 2670)
0
.
Captulo 7. Aplicaciones de la Programacin No Lineal 265
Figura 7.12: Representacin grca de la solucin del problema.
Ejecutamos la funcin dis2pols y obtenemos la solucin:
r = (140.7643, 131.4013) 1 e j = (200, 240) o,
con distancia

d = 87.4716 m; vase una ilustracin en la gura 7.12.
7.5.4. Ejercicio propuesto: Construccin de un paso elevado
Ejercicio 7.3 Se pretende construir un paso elevado que una las zonas y 1
representadas en la gura 7.13. Cada posible paso elevado puede ser representado
por un par (r, j) R
4
, donde r e j 1 representan los puntos inicial y nal
del trayecto respectivamente. Calclese el par (r, j) que dene el paso elevado
de menor longitud.
Solucin. Utilizando la funcin dis2pols se obtiene que el par
((212.38, 212.49), (312.12, 262.36))
dene el paso elevado de menor longitud, siendo sta de 111.52 m.
266 Optimizacin matemtica aplicada
Figura 7.13: Representacin de los poliedros que denen las zonas y 1.
7.6. Problema de la cartera ptima
7.6.1. Ilustracin: Un problema de inversin en diferentes em-
presas del IBEX35
Supongamos que un inversor dispone de 20000 euros para comprar acciones
de diferentes compaas que cotizan en Bolsa, en particular en algunas de las
empresas del IBEX35. Por simplicidad se han elegido 10 compaas de diferentes
sectores y r
1
, ..., r
10
representan las cantidades que el inversor destinar a la
compra de acciones de cada una; estas cantidades sern las variables de decisin
del modelo. El vector que las rene, que denotaremos por r = (r
1
, r
2
, . . . , r
10
),
constituye la llamada cartera de inversin. Concretamente, r
1
, ..., r
10
se des-
criben de la siguiente manera:
r
1
: cantidad invertida en la compra de acciones del Banco Santander,
r
2
: cantidad invertida en la compra de acciones de Enagas,
r
3
: cantidad invertida en la compra de acciones de Endesa,
r
4
: cantidad invertida en la compra de acciones de Iberia,
r
5
: cantidad invertida en la compra de acciones de Inditex,
r
6
: cantidad invertida en la compra de acciones de Mapfre,
r
7
: cantidad invertida en la compra de acciones de Repsol YPF,
r
8
: cantidad invertida en la compra de acciones de Sacyr Valle,
Captulo 7. Aplicaciones de la Programacin No Lineal 267
r
9
: cantidad invertida en la compra de acciones de Telecinco,
r
10
: cantidad invertida en la compra de acciones de Telefnica.
As pues, las primeras restricciones del modelo son: todas las variables toman
valores no negativos (r
1
, r
2
, . . . , r
10
_ 0) y la suma total r
1
+r
2
+. . . +r
10
ha
de coincidir con 20000 euros.
La verdadera dicultad de esta aplicacin aparece en la seleccin de un obje-
tivo que represente elmente el deseo del inversor, suponiendo que dicho inversor
centra su inters en obtener el mayor benecio posible por la compra/venta de
acciones (lo que se llama ganancias del capital). El primer obstculo que encon-
tramos es que dicho benecio no es determinstico sino aleatorio (por tanto, no
puede preverse con exactitud).
La resolucin numrica de esta ilustracin se encuentra en la subseccin
7.6.3. Seguidamente, centramos nuestra atencin en el planteamiento general de
la situacin.
7.6.2. Planteamiento general
Denotemos por : 0 a la cantidad total que se desea invertir y por r
i
a
la cantidad empleada en la compra de acciones de la i-sima compaa, con
i = 1, 2, ..., :. De este modo r = (r
1
, . . . , r
a
)
0
R
a
+
constituye nuestra cartera
de inversin. Denotaremos por 1
1
, . . . , 1
a
a los benecios por unidad monetaria
invertida en un determinado periodo de tiempo y por 1
a
el benecio total de la
cartera en dicho periodo. Se tiene que:
1
a
:= r
1
1
1
+. . . +r
a
1
a
.
As pues, un primer planteamiento del modelo es:
(1) 'ar 1
a
:.a r
1
+. . . +r
a
= :,
r
1
, . . . , r
a
_ 0.
En general, 1
1
, . . . , 1
a
son variables aleatorias y, por tanto, 1
a
es tambin una
variable aleatoria resultante de una combinacin lineal de las anteriores.
268 Optimizacin matemtica aplicada
Con el n de trabajar con un objetivo determinstico, una tcnica estn-
dar consiste en considerar la esperanza matemtica (en trminos informales el
valor promedio) del benecio, que denotamos por 1(1
a
), lo que desde luego
supone una primera simplicacin de la realidad. Si denotamos por c al vector
(1(1
1
), . . . , 1(1
a
))
0
R
a
se tiene que
1(1
a
) =
a
X
i=1
r
i
1(1
i
) = c
0
r.
Otro aspecto a tener en cuenta es la variablidad que presentan los benecios
diarios con respecto a sus valores promedio. Es razonable interpretar esta varia-
bilidad en trminos de riesgo, en el sentido de que una alta variabilidad puede
conducir a la situacin particular de tener benecios sensiblemente inferiores a
los valores esperados. Formalmente, como medida de la variabilidad del benecio
1
a
, (y por tanto medida de riesgo) puede considerarse un nuevo estadstico, la
varianza, que denotamos por \ ar(1
a
). Podemos expresar dicha varianza de la
siguiente manera (puede consultarse en los manuales de estadstica)
\ ar(1
a
) = r
0
Qr,
donde Q es la llamada matriz de varianzas y covarianzas, la cual, en la posicin
(i, ,) con i 6= ,, tiene la covarianza de las variables 1
i
y 1
)
, y en la posicin
diagonal (i, i), la varianza de 1
i
.
Modelo de Markovitz. Con todo, el siguiente modelo, llamado modelo de
Markovitz, formaliza los deseos de maximizar el benecio esperado y minimizar
el riesgo de la cartera de inversin (vase el texto de Surez [25]):
(11O) 'ar 1(1
a
) = c
0
r
'i: \ ar(1
a
) = r
0
Qr
:.a r
1
+. . . +r
a
= :,
r
1
, . . . , r
a
_ 0.
Se trata de un modelo biobjetivo (un objetivo lineal, el benecio promedio,
y otro cuadrtico, el riesgo) con restricciones lineales. Una metodologa tpica de
resolucin de problemas biobjetivo consiste en optimizar uno de los objetivos y
acotar el otro (vanse detalles adicionales en el texto de Novo [17]). Por ejemplo,
Captulo 7. Aplicaciones de la Programacin No Lineal 269
en nuestra ilustracin elegimos como objetivo minimizar el riesgo y aadimos
la condicin de que deseamos un benecio esperado superior a determinada
cantidad '. De este modo, llegamos al siguiente problema de programacin
cuadrtica, que depende del parmetro ':
(1
A
) 'i: r
0
Qr
:. a c
0
r _ ',
r
1
+. . . +r
a
= :,
r
1
, . . . , r
a
_ 0.
(7.14)
Por ltimo, queda pendiente la eleccin del valor ' con el que se acota
el benecio esperado. Con el objetivo de dar una respuesta a esta cuestin,
estudiaremos la resolubilidad del problema (1
A
).
Proposicin 7.6 Si llamamos ' al mximo valor de ' para el cual (1
A
) es
consistente, o lo que es es lo mismo, si ' es el valor ptimo del problema
(1) 'ar c
0
r
:.a r
1
+. . . +r
a
= :,
r
1
, . . . , r
a
_ 0,
entonces ' < + y el problema (1
A
) es resoluble si, y solo si, ' _ '.
Demostracin. En primer lugar, ' < +, de hecho (1) es resoluble en virtud
del teorema de Weierstrass (vase la subseccin 3.5.1) por tener un conjunto fac-
tible no vaco (por ejemplo (:, 0, ..., 0) es un punto factible de (1)) y compacto
(ntese que todo punto factible, r, de (1) verica 0 _ r
i
_ :, i = 1, ..., :).
Si ' _ ', entonces (1
A
) es obviamente consistente y, de hecho, resoluble
como consecuencia del Teorema de Weierstrass. Ntese que, de hecho el conjunto
factible de (1
A
) est contenido en el de (1).
Por otro lado, dado ' ', el conjunto factible de (1
A
) es vaco, como
consecuencia directa de la denicin de '. As, el problema 1
A
no es resoluble,
lo que prueba la implicacin recproca.
270 Optimizacin matemtica aplicada
7.6.3. Resolucin con MATLAB
En primer lugar, observaremos que, en la prctica, suele ser desconocida
la distribucin de la variable vectorial (1
1
, ..., 1
a
) y en particular suelen ser
desconocidos tanto el vector c = (1(1
1
), 1(1
2
), . . . , 1(1
a
))
0
como la matriz de
varianzas y covarianzas, Q. As pues, nos encontramos ante una nueva diculdad
en el planteamiento del modelo (7.14) que comienza con la estimacin de c y Q
a partir de determinados datos histricos que se recogen en la matriz H, cuyas
columnas denotamos por H
1
, H
2
, ..., H
a
:
H
1
H
2
H
a
/
11
/
12
/
1a
.
.
.
.
.
.
.
.
.
/
)1
/
)2
/
)a
.
.
.
.
.
.
.
.
.
/
I1
/
I2
/
Ia
Concretamente, /
i)
representa el precio medio de la accin de la ,-sima
compaa en el periodo i. A partir de aqu calculamos una matriz de rentabi-
lidades (benecios) por unidad monetaria invertida en acciones de la ,-sima
compaa en el periodo i, 1 = (d
i)
)
i=2,...,I; )=1,...,a
, denida como sigue
d
i)
:=
/
i)
/
(i1))
/
(i1))
, para todo i = 2, ..., /; , = 1, ..., :.
Finalmente, empleamos esta matriz 1 para realizar nuestras estimaciones. As
pues, estimamos 1(1
1
), 1(1
2
), . . . , 1(1
a
) por las medias aritmticas de los
datos contenidos en las columnas de 1; esto es, consideramos:
bc
)
=
I
X
i=2
d
i)
/
, jara , = 1, . . . , :.
Del mismo modo, estimamos Q por las varianzas y covarianzas muestrales de
las columnas de 1; as, denimos
b
Q = (b
vc
)
v,c=1,...,a
,
b
vc
=
I
X
i=2
(d
iv
bc
v
)(d
ic
bc
c
)
/
, r, : = 1, . . . , :.
Captulo 7. Aplicaciones de la Programacin No Lineal 271
En consecuencia, el problema que realmente resolveremos est dado por
(
b
1
A
) 'i: r
0
b
Qr
:. a bc
0
r _ ',
r
1
+. . . +r
a
= :,
r
1
, . . . , r
a
_ 0.
(7.15)
Finalmente, elegimos una serie de valores para el parmetro '. En nues-
tro caso, hemos seleccionado un determinado nmero de puntos, '
1
, ..., '
a
>
,
equiespaciados en el intervalo
Int: = [max {0, (1
min
)} , (1
max
)] ,
donde (1
min
) y (1
max
) representan los valores ptimos de los problemas de
optimizacin lineal (1
min
) y (1
max
) siguientes:
(1
min
) 'i: bc
0
r
:.a r
1
+. . . +r
a
= :,
r
1
, . . . , r
a
_ 0,
(1
max
) 'ar bc
0
r
:.a r
1
+. . . +r
a
= :,
r
1
, . . . , r
a
_ 0.
Seguidamente presentamos la implementacin con MATLAB de la resolucin
del modelo (
b
1
A
) descrito en (7.15) para los valores '
1
, ..., '
a
>
del parmetro
' indicados en el prrafo anterior. Los problemas (1
min
) y (1
max
) se resuelven
con ayuda de la funcin linprog y cada uno de los problemas (
b
1
A

) con ayuda
de quadprog.
Ntese que en la sintaxis de MATLAB se ha omitido el smbolo b en los
elementos bc y
b
Q.
Inicio funcin cartera
%Esta funcin resuleve el modelo de la cartera de optimizacin
%(modelo de Markovitz).
%La sintaxis es la siguiente [x,b,r,Q,c,Int]=cartera(H,m,np).
%Los parmetros de entrada son: H matriz de datos histricos
%(por columnas); m es la cantidad a invertir;
%np es el nmero de puntos o carteras que queremos observar.
%Los parmetros de salida son: x es la cartera ptima; b es
272 Optimizacin matemtica aplicada
%el beneficio esperado para dicha cartera; r es el riesgo de la
%misma; Q es la matriz de estimaciones de las varianzas-covarianzas
%de las rentabilidades; c es el vector de beneficios esperados
%e Int es el intervalo de beneficios esperados.
function [x,b,r,Q,c,Int]=cartera(H,m,np)
[k,n]=size(H);
%matriz de diferencias
D=(H(2:k,:)-H(1:k-1,:))./H(1:k-1,:);
%beneficios medios estimados
c=mean(D);
%matriz de varianzas-covarianzas
Q=cov(D);
%acotamos el beneficio medio esperado
[aux,cmax1]=linprog(-c,[],[],ones(1,n),m,zeros(1,n),[]);
cmax=-cmax1;
if cmax<0 then
disp(No hay beneficio esperado positivo);
disp(para ninguna cartera!!!);
return
end
[aux,cmin]=linprog(c,[],[],ones(1,n),m,zeros(1,n),[]);
cmin=max(0,cmin);
Int=[cmin,cmax];
%calculo de cada uno de los puntos equiespaciados Mj
%para su posterior resolucin
Mj=cmin+(cmax-cmin)/(np-1)*[0:1:np-1];
x=[];r=[];
for i=1:np
[x1,r1]=quadprog(2*Q,[],-c,-Mj(i),ones(1,n),m,zeros(1,n),[]);
%riesgo
r=[r;r1];
%cartera
x=[x;x1];
Captulo 7. Aplicaciones de la Programacin No Lineal 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 gura 7.14).
Figura 7.14: Pgina web de la bolsa de Madrid.
Seguidamente, de nuestras variables seleccionamos la informacin histrica
en el rango que nos interesa. En nuestro caso, hemos considerado datos del
02/01/09 al 16/04/09. En la pgina web se nos da la opcin de mostrar dichos
274 Optimizacin matemtica aplicada
datos histricos en pantalla en formato html o guardar esta informacin como
un chero .dat; seleccionamos esta ltima (vase la gura 7.15).
Figura 7.15: Pantalla que nos muestra los distintos formatos para guardar los
datos.
Una vez guardados todos los cheros, 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
H
1
, . . . , H
10
. Concretamente, el i-simo valor de la variable H
)
que denotaremos
por /
i)
representa el precio medio unitario (diario) de la accin de la empresa
, en el instante (da) i, donde se ha asignado i = 1 al da 02,01,09 e i = 73 al
da 16,04,09.
Ahora, desde MATLAB abrimos la base de datos creada FileOpen, abri-
mos 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-
Captulo 7. Aplicaciones de la Programacin No Lineal 275
gas), ende (Endesa), ibe (Iberia), indi (Inditex), mapf (Mapfre), rep (Rep-
sol), sacy (Sacyr Valle), t5 (Telecinco) y telf (Telefnica), e introducimos los
parmetros de entrada en la funcin cartera. Recordemos que : = 20000 (can-
tidad total a invertir) y hemos elegido :
j
=10 (esto es, asignaremos 10 valores
del parmetro ' que gura en el problema (7.15)).
As pues, ejecutamos la funcin cartera con los siguientes datos:
H=[sant,enag,ende,ibe,indi,mapf,rep, sacy,t5,telf];
[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 ' de los benecios esperados
equiespaciados. La matriz
b
Q de varianzas-covarianzas se encuentra en la gura
7.16 y el vector bc de benecios unitarios esperados en la gura 7.17.
Figura 7.16: Matriz
b
Q del problema de la cartera (7.15).
276 Optimizacin matemtica aplicada
Figura 7.17: Vector bc del problema de la cartera (7.15).
A continuacin, se muestra una tabla con los resultados obtenidos de esta
operacin, es decir, las 10 carteras ptimas que hemos pedido junto con benecio
y el riesgo asociado a cada una.
Cartera ptima (en euros) Benecio esperado
(en euros)
Riesgo
(en euros
2
)
(0,0,0,0,5048.75,0,0,2665.29,0,12285.96) 0 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
Captulo 7. Aplicaciones de la Programacin No Lineal 277
Cartera ptima (en euros) Benecio esperado
(en euros)
Riesgo
(en euros
2
)
(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 instan-
cia, quien ha de elegir una cartera de inversin es el propio inversor. Nuestra
labor, entonces, ha consistido precisamente en proporcionar el listado menciona-
do 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 benecio), empeora el otro (aumenta tambin
el riesgo), lo que puede apreciarse en la gura 7.18.
Figura 7.18: Grco del benecio frente al riesgo del ejercicio de la cartera.
278 Optimizacin matemtica aplicada
7.7. Dos modelos sencillos de diseo industrial
7.7.1. Diseo de un contenedor para transportar arena
El coste de transportar arena de un lugar a otro en un contenedor de dimen-
siones r, j, . 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 rj) y de los laterales del contenedor
(ambos de dimensiones j .) son el triple y el doble, respectivamente, de las
paredes anterior y posterior (de dimensiones r .). El precio por m
2
de estas
ltimas paredes asciende a 300 euros.
Se desea determinar las dimensiones ptimas del contenedor en el sentido de
minimizar el coste que supone el transporte de 50 m
3
de arena, sabiendo que
por cuestiones operativas el volumen del contenedor ha de estar entre 2.5 m
3
y
5 m
3
, y todas las dimensiones (r, j, .) han de ser mayores o iguales que 0.5 m.
Ntese que el coste total es la suma del coste del contenedor, C
C
y del coste
del total de portes necesarios, C
1
. El coste del contenedor asciende a:
C
C
= 300(2r.) + 600(2j.) + 900(2rj) = 600(r. + 2j. + 3rj),
y el de los portes (aproximamos el nmero entero de portes por
50
aj:
):
C
1
= 200
50
rj.
.
Como restricciones, el enunciado establece que:
2.5 _ rj. _ 5, r _ 0.5, j _ 0.5, . _ 0.5.
As pues, el problema de optimizacin que hemos de resolver es el siguiente:
(1) 'i: 600(r. + 2j. + 3rj) +
10000
aj:
:.a 2.5 _ rj. _ 5,
r, j, . _ 0.5.
(7.16)
Resolucin con MATLAB. Las guras 7.19 y 7.20 muestran las deni-
ciones de la funcin objetivo y de las restricciones no lineales del problema (7.16)
Captulo 7. Aplicaciones de la Programacin No Lineal 279
Figura 7.19: Funcin objetivo del problema (7.16).
Figura 7.20: Restricciones no lineales del problema (7.16).
en los correspondientes M-archivos denominados conten y restvol, respectiva-
mente.
Seguidamente, ejecutamos la funcin fmincon (vase la seccin 5.2) emple-
ando diferentes semillas:
Con la semilla [1 2 2]:
[x,f,e,o]=fmincon(conten,[1 2 2],[],[],[],[],
[0.5 0.5 0.5],[],restvol)
En este caso se obtiene
x=[1.4938 0.7469 2.2407], f = 1.0025e+004,
e=4, o.firstorderopt: 7.2059e-005.
280 Optimizacin matemtica aplicada
Con la semilla [2 1 2]:
[x,f,e,o]=fmincon(conten,[2 1 2],[],[],[],[],[0.5 0.5 0.5],
[],restvol)
Se obtiene:
x=[1.4938 0.7469 2.2407], f = 1.0025e+004,
e=5, o.firstorderopt:1.1307e-005.
Con la semilla [1 1.5 2]:
[x,f,e,o]=fmincon(conten,[1 1.5 2],[],[],[],[],[0.5 0.5
0.5],[],restvol)
Se obtiene:
x=[1.4938 0.7469 2.2407], f = 1.0025e+004,
e=5, o.firstorderopt: 7.8234e-005
En todos los casos se obtiene el mismo punto x, con el mismo valor de
la funcin objetivo. Adems, e (=exitag) toma valores positivos, lo que se
corresponde con la presencia de reglas de parada satisfactorias. En todos los
casos o.rstorderopt toma valores del orden de 10
5
, lo que signica que se
producen buenas aproximaciones de las condiciones de KKT. Por ejemplo, en el
ltimo caso, o.rstorderopt: 7.8234e-005 signica que:

\) (r) +
n
X
i=1
`
i
\q
i
(r)

_ 7.8234 10
5
,
|`
i
q
i
(r)| _ 7.8234 10
5
, para todo i,
donde aqu ) representa la funcin objetivo del problema y q
i
la funcin que
determina la i-sima restriccin de desigualdad (q
i
(r) _ 0).
Captulo 7. Aplicaciones de la Programacin No Lineal 281
Una cuestin de anlisis de sensibilidad del modelo. Cmo reper-
cutira 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 rj. _ 5 y una ligera disminucin del miembro
derecho de rj. _ 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).
[x,f,e,o,l]=fmincon(conten,[1 1.5 2],[],[],[],[],[0.5 0.5
0.5],[],restvol)
Como salida obtenemos:
l =
lower: [3x1 double]
upper: [3x1 double]
eqlin: [0x1 double]
eqnonlin: [0x1 double]
ineqlin: [0x1 double]
ineqnonlin: [2x1 double]
Seguidamente escribimos:
l.ineqnonlin
Y obtenemos:
ans=
0
6.6391
Atendiendo a la posicin en la que hemos introducidos las restricciones (vase
la gura 7.20), el multiplicador de KKT asociado a la restriccin rj. _ 5 es
282 Optimizacin matemtica aplicada
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 rj. _ 2.5 es 6.6391 por lo que, en trminos informales, si relajamos
ligeramente esta restriccin quedando rj. _ 2.5 - para - sucientemente
pequeo, el objetivo mejorara (disminuira) en 6.6391-.
7.7.2. Construccin de una tubera
Se desea construir una tubera para la canalizacin del cableado de determi-
nado recinto. La tubera se construir uniendo tubos cilndricos (vase la gura
7.21), todos del mismo tamao. Se desea fabricar los tubos de manera que ten-
gan el menor peso posible, sabiendo que el peso de un cm
3
de tubo es de 0.45
gramos. En cuanto al tamao del tubo, existen algunas restricciones: la longitud,
|, ha de estar comprendida entre 10 m y 30 m, y el grosor del tubo (r
2
r
1
) 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 m
3
.
r
1
r
2
l
Figura 7.21: Ilustracin de la forma de un tubo.
Con todo, el planteamiento del problema sera
(1) 'i: 0.45|

r
2
2
r
2
1

:.a 1000 _ | _ 3000,


0.5 _ r
2
r
1
_ 1.5,
5 _ 2r
2
_ 17,
|r
2
1
_ 22000,
r
1
, r
2
, | _ 0.
(7.17)
Captulo 7. Aplicaciones de la Programacin No Lineal 283
Figura 7.22: Restriccin no lineal del problema 7.17.
Figura 7.23: Resolucin del problema 7.17.
Resolucin con MATLAB. Se trata de un problema de PNL con res-
tricciones, una de ellas no lineal que se dene en el chero volint.m (vase la
gura 7.22). La funcin objetivo, las restricciones lineales y las cotas (donde se
han evitado redundancias; por ejemplo, se ha introducido la cota | _ 1000 y
no | _ 0 que sera redundante) se han introducido directamente en la ventana
de comandos de MATLAB como se muestra en la gura 7.23. La asignacin de
variables es
x(1): = r
1
, x(2): = r
2
, x(3): = |.
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 (r
1
= 2.6 cm, r
2
= 3.1 cm, | = 10 m) puesto que
la regla de parada es satisfactoria: e=exitag=1, lo que indica que se verican
284 Optimizacin matemtica aplicada
aproximadamente las condiciones de KKT. Formalmente, si denotramos por )
a la funcin objetivo y por q
i
(r) _ 0 a la i-sima restricciones, i = 1, ..., :, se
tiene que

\) (r) +
n
X
i=1
`
i
\q
i
(r)

_ 9.7126 10
11
,
|`
i
q
i
(r)| _ 9.7126 10
11
, para todo i.
El peso del tubo sera f=4094.5 gramos.
Una cuestin de anlisis de sensibilidad: Cmo repercutira en el peso
ptimo el hecho de relajar ligeramente la restriccin acerca del volumen interior?
Para responder a esta cuestin, observamos el multiplicador de KKT aso-
ciado a dicha restriccin; esto es,
l.ineqnonlin=0.0850,
lo que podemos interpretar en trminos informales de la siguiente forma: si
cambiamos el miembro derecho de la restriccin |r
2
1
_ 22000 por 22000 -
cm
3
, para - sucientemente pequeo, el peso ptimo mejorara (disminuira) en
0.0850- gramos.
7.8. Un problema de engorde del ganado vacuno
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 traba-
jo). 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 de-
pende del pienso empleado en su alimentacin y del coste diario correspondiente
al mantenimiento del animal. Concretamente, en los modelos se consideran tres
variables:
' : cantidad (en kg) de una mezcla de maz en grano con ensilado empleada
en una racin de pienso.
o : cantidad (en kg) de soja empleada en la racin de pienso.
Captulo 7. Aplicaciones de la Programacin No Lineal 285
1 : nmero de das necesarios para alcanzar el nivel mnimo de peso exigido.
Seguidamente, presentamos el modelo de optimizacin que se considera en
la fase de iniciacin (puede consultarse el mismo trabajo [1, pg. 125] para la
descripcin del modelo de la fase de acabado).
Fase de iniciacin. En esta fase, los costes de un kg de la mezcla de maz
y de soja empleada en la racin de pienso tienen un coste de 16.15 y 34.67
unidades monetarias (u.m.), respectivamente. Por su parte, el coste de mante-
nimiento diario del animal es de 94.86 u.m. Adems, se desea que la ganancia de
peso del ternero sea de al menos 55.74 kg. Dicha ganancia se modeliza segn la
siguiente funcin de produccin de Cobb-Douglas (vase de nuevo la subseccin
7.3.5 para detalles relacionados):
(', o) 75.3572'
0.36315
o
0.12994
.
Por otro lado, una componente importante de la racin de pienso es cantidad de
protena aportada. El porcentaje de protena de la mezcla de maz en la fase de
iniciacin es del 8.43 % y el porcentaje de protena de la soja es de 51.5 %. Con
todo, en la fase de iniciacin se exige que el contenido de protena de la racin
de pienso sea de al menos 26.73 kg.
Finalmente, el nmero de das que deben transcurrir (1) ha de ser, al
menos, el necesario para que se alcance un cierto incremento de peso diario
que viene determinado por la funcin de ganancia de peso. Concretamente,
en esta fase, este comentario se formaliza a travs de la restriccin 10241 _
5.3572
1.69
'
0.36315
o
0.12994
.
El enunciado descrito en los prrafos anteriores se corresponde con el si-
guiente modelo de optimizacin ([1, pg. 125]):
(1) 'i: 16.15' + 34.67o + 94.861
:.a 5.3572'
0.36315
o
0.12994
_ 55.74,
0.843' + 0.515o _ 26.73,
5.3572
1.69
'
0.36315
o
0.12994
_ 1.0241,
', o, 1 _ 0.
(7.18)
Resolucin con MATLAB (vase la seccin 5.2 para detalles). La gu-
ra 7.24 muestra la denicin de las restricciones no lineales en un M-archivo
286 Optimizacin matemtica aplicada
Figura 7.24: Restricciones no lineales del problema 7.18.
Figura 7.25: Sintaxis de la resolucin del problema 7.18.
(engorde.m) y, a continuacin, en la gura 7.25 se encuentra el resto de la
sintaxis empleada en la resolucin del problema 7.18. La asignacin de variables
es x(1):=', x(2)=o y x(3)=1.
De entre las salidas que produce MATLAB destacamos las siguientes:
x=[185.3622 30.8956 32.2092],
esto es, ' = 185.3622 kg, o = 30.8956 kg y 1 = 32.2092 das.
El valor de la funcin objetivo es:
f=7.1201e+003,
esto es, el coste asciende a 7120.1 unidades monetarias.
Adems,
e (=exitflag)=1,
Captulo 7. Aplicaciones de la Programacin No Lineal 287
lo que indica que se cumplen aproximadamente las condiciones de KKT. De
hecho, puesto que:
o.firstorderopt: 5.0558e-007,
se tiene que:

\) (r) +
n
X
i=1
`
i
\q
i
(r)

_ 5.0558 10
7
,
|`
i
q
i
(r)| _ 5.0558 10
7
, para todo i,
donde ) representa la funcin objetivo y {q
i
(r) _ 0, i = 1, ..., :} el sistema de
restricciones del problema (7.18).
Una cuestin de anlisis de sensibilidad. Cmo repercute en el coste
una ligera relajacin de la restriccin relativa al engorde mnimo exigido, esto
es, de la restriccin 5.3572'
0.36315
o
0.12994
_ 55.74?
Atendiendo al valor del correspondiente multiplicador de KKT:
l.ineqnonlin=202.7053,
si se admitiera un engorde mnimo de 55.74 -, para - 0 sucientemente
pequeo, el coste disminuira en 202.7053- unidades monetarias.
Apndice A
Creacin de una base de datos
con Excel
Este apndice recoge algunos detalles sobre la creacin de la base de datos
empleada en la resolucin del problema de la cartera ptima que se encuentra
en la subseccin 7.6.3. Una forma de proceder es la siguiente: desde Excel vamos
a Datosdesde texto, y abrimos uno de los cheros que hemos guardado como
.dat (por ejemplo, SAN088635), seleccionamos importar.
Aparece, entonces, el asistente para importar texto. Realizamos tres pasos:
Paso 1. Seleccionamos las opciones Delimitados, Comenzar a importar en la
la 4 y Origen del archivo Windows (ANSI), siguiente.
289
290 Optimizacin matemtica aplicada
Paso 2. Seleccionamos Tabulacin y Punto y coma, y pulsamos siguiente.
Apndice A. Creacin de una base de datos con Excel 291
Paso 3. Seleccionamos de Formato de los datos en columnas General, -
nalizar.
Y nos aparece en pantalla la siguiente ventana, le damos a aceptar.
292 Optimizacin matemtica aplicada
Obtenemos el siguiente resultado de esta operacin.
La ltima columna es la de inters, procedemos de igual forma en todas las
variables, por comodidad las pondremos cada una en una hoja del libro de Excel.
Seguidamente, abrimos un libro nuevo, aadimos en orden alfabtico la ltima
columna de cada variable, que es la correspondiente a los valores medios (pues
en esta ilustracin hemos trabajado con los valores medios diarios de las acciones
de las diferentes compaas). De este modo llegamos a la siguiente ventana:
Apndice A. Creacin de una base de datos con Excel 293
Por ltimo, guardamos la base de datos; es importante que este libro con-
tenga 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 Opera-
tiva, vol. 6, n.
o
1, pp.117-130, 1991.
[2] Barbolla, R., Cerd, E., Sanz, P., Optimizacin matemtica: teora, ejem-
plos 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: The-
ory and Algorithms, John Wiley & Sons, NY, 1993.
[5] Bertsekas, D.P., Nonlinear programming, Belmont, Mass. Athena Scientic,
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 Re-
search Logistics Quaterly, vol. 3, pp. 95-110, 1956.
[11] Goberna, M.A., Lpez, M.A., Linear Semi-Innite Optimization, John Wi-
ley and Sons, Chichester (UK), 1998.
[12] Goberna, M.A., Jornet, V., Puente, R., Optimizacin Lineal. Teora, mto-
dos y modelos. McGraw-Hill / Interamericama de Espaa, Madrid, 2004.
295
296 Optimizacin matemtica aplicada
[13] Hillier, F., Lieberman, G., Introduction to Operations Research, Mcgraw-
Hill, 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. Addison-
Wesley, 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 1
a
with |
2b
-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 qualications in nite-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 Math-
ematical 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 Empre-
sa, Madrid: Ediciones pirmide, 1998.
[26] Taha, H. A., Investigacin de Operaciones, Alfaomega, Mxico, 1991 (2.
o
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.
o
ed.).
Smbolos y abreviaturas
1 : bola unidad abierta para la norma kk
bd(A) : frontera del conjunto A
c : vector de coecientes de la funcin objetivo del problema (1) de PL
c|(A) : clausura (o adherencia) del conjunto A
conv(A) : envoltura convexa del conjunto 6= A R
I
CQ: (del ingls, constraint qualication) cualicacin de restricciones
d : distancia en R
I
, / N
1 : conjunto factible
G : conjunto de ptimos globales
\) (r) : gradiente de ) en r
H) (r) : matriz hessiana de ) en r
inf A : nmo del conjunto A R (inf := +)
int(A) : interior del conjunto A
L : conjunto de ptimos locales
LCQ: (del ingls, linear constraint qualication) cualicacin de restricciones
de linealidad
LICQ: (del ingls, linear independence constraint qualication) cualicacin
de restricciones de independencia lineal
N : conjunto de puntos donde no se cumple LCQ, ni LICQ, ni SCQ
N : conjunto de los nmeros naturales {1,2,...}
kk : norma arbitraria en R
I
, / N
kk
j
: j-norma en R
I
, / N, j [1, +] (j = + norma de Chebyshev)
PC, PL, PNL : programacin cuadrtica, programacin lineal, programacin
no lineal
297
298 Optimizacin matemtica aplicada
P
11T
: conjunto de puntos de Karush-Kuhn-Tucker
R (= ], +[) : conjunto de los nmeros reales
SCQ : (del ingls, Slater constraint qualication) cualcacin de restricciones
de Slater
supA : supremo del conjunto A R (sup := )
: valor ptimo
Z : conjunto de los nmeros enteros
ndice alfabtico
abierto, 17
acotado, 18
bola, 17
cerrado, 17
clausura, 18
combinacin convexa, 26
compacto, 18
condiciones de complementariedad,
61
condiciones de KKT, 8, 61
condiciones de Lagrange, 57
conjunto convexo, 23
conjunto de ndices activos, 61
conjunto de nivel, 31
conjunto factible, 7, 58
cualicacin de restricciones (CQ),
8, 64
distancia, 16
entorno, 17
envoltura convexa, 26
espacio vectorial, 15
forma cuadrtica, 21
frontera, 18
funcin afn, 30
funcin cncava, 32
funcin convexa, 27
funcin objetivo , 7
gradiente, 19
hiperplano, 24
imagen, 36
interior, 18
matriz hessiana, 19
multiplicadores de KKT, 69
norma, 15
optimizacin, 8
optimizacin no lineal, 8
ptimo lobal, 36, 8
ptimo oal, 36, 8
poliedro, 26
problema acotado, 36, 59
problema consistente, 59
problema de PNL con restricciones,
58
problema de PNL sin restricciones,
35
problema lineal, 173
problema resoluble, 36, 59
299
300 Optimizacin matemtica aplicada
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

You might also like