Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2 de junio de 2005
Tabla de contenido
Introducción__________________________________________________________ 3
Programación no lineal_________________________________________________ 4
Optimización clásica variable unidimensional_______________________________ 4
Utilización de métodos numéricos en la determinación de puntos críticos___________ 10
Optimización clásica variable multidimensional ____________________________ 11
Condiciones necesarias y suficientes para la existencia de puntos óptimos __________ 16
Utilización de métodos numéricos en la determinación de puntos estacionarios______ 19
Método de Newton para sistemas de ecuaciones _____________________________________20
Extremos restringidos. Multiplicadores de Lagrange ___________________________ 23
Método de los multiplicadores de Lagrange ________________________________________24
Optimización no clásica variable multidimensional _________________________ 26
Método del gradiente ______________________________________________________ 26
Programación separable ___________________________________________________ 29
Algoritmos Genéticos: un cambio de paradigma _______________________________ 35
Características de los algoritmos genéticos _________________________________________43
Conclusiones ________________________________________________________ 44
Bibliografía _________________________________________________________ 45
2
Introducción
El trabajo, de carácter exploratorio, ha pretendido ser algo más que una recopilación
muda de resultados ya plenamente establecidos. No se ha dejado escapar la oportunidad
de hacer, lo que se han considerado, pequeños aportes, en su mayoría de tipo
pedagógico. Como su talón de Aquiles puede mencionarse la escasez de los métodos
tratados, muchos de los cuales ni siquiera están dentro de los considerados como de alto
rendimiento, sin embargo, la razón ha sido que, como lo indica el nombre, se trata de
una introducción, que busca llamar la atención tanto sobre resultados teóricos de bajo
nivel que muchas veces se pasan por alto, así como también sobre el empleo de las
herramientas informáticas, tanto como ayuda para las técnicas clásicas, así como cuando
son la base de metodologías que están completamente inspiradas en ellas.
3
Programación no lineal
Se puede dar una definición de programación no lineal (PNL) por contraposición con la
programación lineal (PL). Recuérdese que esta última trata el problema de optimizar
una función lineal f : R n → R sujeta a una serie de restricciones también lineales. Si el
problema se modifica, cambiando la función objetivo y/o, al menos, una de las
restricciones, por no lineales, se cae en el campo de la PNL.
f ( ) ≤ f ( )
para todo x ∈ B (, r ) . El número f ( ) se llama máximo relativo de f en S.
De las definiciones 1 y 2 se concluye que todo máximo absoluto es, a su vez, máximo
relativo.
4
Demostración: si f (c) no existe, entonces c es un punto crítico. Supóngase ahora que
f (c) existe. Defínase la función
f ( x ) − f (c )
para x ≠ c
g ( x) = x−c (1)
f ' (c ) para x = c
Figura 1
Entonces, para determinar el conjunto de puntos óptimos de una función debe hacerse
un trabajo adicional, luego de haber determinado el conjunto de puntos críticos, pues
solo algunos de ellos serán puntos óptimos. El siguiente teorema aporta las herramientas
para realizar este trabajo.
1. Si f es positiva para toda x, con a < x < c, y negativa para toda x, con c < x <
b, entonces f tiene un máximo relativo en c.
5
2. Si f es negativa para toda x, con a < x < c, y positiva para toda x, con c < x <
b, entonces f tiene un mínimo relativo en c.
Solución: según el teorema 1 los candidatos a ser puntos óptimos son los puntos
críticos, en consecuencia, el primer paso es determinarlos:
Figura 2
6
Ejemplo 2: encuentre los puntos en los cuales f ( x) = 3x 2 / 3 + 5 tiene valores
óptimos y determine de que clase son.
2
Solución: f ' ( x) = 2 x −1 / 3 = esta función nunca es cero y no está definida en
x 3
Figura 3
El siguiente teorema, en algunos casos, facilita los cálculos que permiten concluir que
tipo de óptimo se presenta en un punto crítico c. Es aplicable únicamente cuando c es tal
que f (c) = 0 y f (c) 0. Es útil para funciones como la del ejemplo 1; no puede ser
usado en funciones como la del ejemplo 2. Para funciones como la del ejemplo 3, para
la cual f (c) = 0, se expondrá un teorema especial más adelante.
7
Ejemplo 4: En el ejemplo 1 se estableció que x = 4 y x = -2 son los puntos críticos de
f ( x) = x 3 − 3 x 2 − 24 x + 2 , tales que f (-2) = 0 y f (4) = 0. Empleando el teorema 3,
determine que clase de valores óptimos son.
Solución:
f ' ( x) = 3 x 2 − 6 x − 24
y
f ' ' ( x) = 6 x − 6
Teorema 4: Sea f que posee n-ésima derivada continua en el intervalo (a, b).
Supóngase que para un cierto punto c (a, b) se tiene:
( n −1)
f ' (c) = f ' ' (c) = ... = f (c) = 0 , pero f ( n ) (c) ≠ 0 .
Demostración: Como f ( n ) (c) ≠ 0 existe un intervalo (a, b) que contiene a c, tal que
para cada x (a, b) la derivada f ( n ) ( x) tiene el mismo signo que f ( n ) (c) . Por la
fórmula de Taylor con resto (con el resto en la forma de Lagrange) se tiene
(n)
f ( x1 )
f ( x ) − f (c ) = ( x − c) n , donde x1 ∈ (a, b)
n!
Nótese que el teorema 3 es un caso particular del teorema 4. Este hecho puede ser
empleado como nemotecnia para recordar el resultado.
Solución:
f ' ( x) = 3x 2 entonces f (0) = 0
8
f ' ' ( x) = 6 x entonces f (0) = 0
f ( 3) ( x ) = 6 ≠ 0
Solución:
f ' ( x) = 4 x 3 entonces f (0) = 0
f ' ' ( x) = 12 x 2
entonces f (0) = 0
f ( 3) ( x) = 24 x entonces f ( 3)
( 0) = 0
f ( 4)
( x) = 24 ≠ 0
Solución: La figura ilustra el efecto, sobre los puntos óptimos, de restringir el dominio
de una función. En el caso a) el mínimo absoluto es el mismo que cuando no hay
restricción, y aparece un máximo absoluto que no existe en el caso irrestricto. Para b)
tanto el máximo como el mínimo absolutos no existen en el caso irrestricto y, en este
caso, coinciden con los extremos del intervalo.
Figura 4
9
Utilización de métodos numéricos en la determinación de puntos
críticos
En algunos casos la solución de la ecuación f (x) = 0 no puede calcularse por medios
algebraicos y es necesario recurrir a algún método numérico para llevar a cabo esta
labor. En el siguiente ejemplo se ilustra esta situación.
Solución: En primer lugar se grafíca la función para tener una idea de donde pueden
localizarse los óptimos relativos.
Figura 5
g ' ( x) = 3 x 2 - cos(x)
Esta función está definida en todo , entonces, los puntos críticos son las soluciones de
3x² - cos(x) = 0
para resolver esta ecuación es necesario acudir a los métodos numéricos. En este caso se
empleará el método de Newton. Este método consiste en la aplicación de la ecuación
recursiva
f ( xn )
x n +1 = x n −
f ' ( xn )
10
en donde x0 es un número próximo a la raíz buscada. Para este caso se tiene
f ( x) = 3 x 2 - cos(x)
f ' ( x) = 6 x + sen(x)
Iteración xi f ( xi ) f ' ( xi )
0 -0.8 1.22329329 -5.517356091
1 -0.5782827 0.16583011 -4.016282878
2 -0.53699325 0.00583458 -3.733514265
3 -0.53543049 8.3762E-06 -3.722794298
4 -0.53542824 1.7364E-11 -3.722778863
5 -0.53542824 0 -3.722778863
Tabla 1
Se tiene entonces, que x = -0.53542824 es el punto crítico que se encuentra en [-1, 0].
En virtud de la simetría de f se concluye que el punto crítico en [0, 1] es
x = 0.53542824. Para determinar que clase de óptimo es x = -0.53542824 evaluamos g
en puntos cercanos a x uno a la izquierda y el otro a la derecha:
f ( + h ) − f ( )
f ' ( ) = lim , h>0
h →0 h
11
∂f
(a1 ,..., a n ) .
∂x k
Figura 6
las alturas de f (a) y f (a + hy) son perpendiculares a la hoja y pasan por los puntos a y
a + hy respectivamente. Como y es unitario la longitud del segmento que une a con
a + hy tiene una longitud igual a h. Los cuatro puntos: a, a + hy, f (a) y f (a + hy) están
todos contenidos en un plano perpendicular al plano xy que sigue la dirección del
segmento que une a con a + hy. Con esto en mente se puede concluir que la derivada
direccional representa la pendiente de la recta tangente a la curva que se forma al
intersecar la superficie con el plano que es perpendicular al plano xy, que pasa por a y es
paralelo a y.
Definición 5: El vector
∂f () ∂f ( ) ∂f ( )
∇f ( ) = , , ... ,
∂x1 ∂x 2 ∂x n
12
unidimensional, la anulación del gradiente es una condición necesaria, pero no
suficiente, para la existencia de óptimos. La definición 6 introduce la terminología que
se emplea para clasificar los diferentes casos. Mas adelante se establece un criterio,
también análogo al del caso unidimensional, basado en las segundas derivadas para
establecer que clase de óptimo (si lo es) es un punto en el cual se anula el gradiente.
Ejemplo 9 (método de los mínimos cuadrados): Cada planeta, con una única
excepción, se halla entre 1,3 y 2,0 veces tan alejado del Sol en relación al siguiente
planeta más cercano. La única excepción es Júpiter, el quinto planeta, que se halla 3,4
veces más alejado de lo que está Marte. Este hecho intrigó notablemente a los
astrónomos ¿Podría existir un planeta en el hueco entre Marte y Júpiter? Heinrich
Wilhelm Mathias Olbers, astrónomo alemán, reclutó un grupo que planeaba emprender
la búsqueda sistemática del planeta faltante. Sin embargo, en la noche del 31 de
diciembre de 1800 Giuseppe Piazzi, astrónomo italiano, quien desconocía la existencia
y los propósitos del grupo de Olbers, localizó, en el mencionado hueco, un objeto
celeste que variaba de posición de un día al siguiente. Lo denominó Ceres y fue el
primer asteroide de que se tuvo noticia. Un mes después Ceres desapareció detrás del
Sol. En los meses posteriores fue buscado infructuosamente en los cielos. Tres meses
después apareció exactamente en el lugar en el cual Carl Friedrich Gauss, matemático
alemán, empleando un método de su invención para analizar las observaciones hechas,
había predicho que lo haría. El método inventado por Gauss se denomina de los
mínimos cuadrados, y consiste en una técnica que se utiliza para encontrar la curva que
se ajusta mejor a un conjunto de resultados experimentales, de manera que sea mínima
la suma de los cuadrados de las diferencias entre las ordenadas de dichos puntos y las de
la curva que tienen la misma abscisa. El ejemplo que sigue desarrolla la idea del
método.
Figura 7
13
Cualquier método debe, de alguna manera, minimizar el total de los errores cometidos.
En un primer momento podría pensarse en minimizar la suma de todos los errores, esto
es, minimizar
n
f ( xi ) − y i
i =1
La figura 8 muestra que no es una buena idea, pues lo mínimo que se espera de la recta
de ajuste es que, cuando se tienen exactamente dos puntos, pase por ambos. Este no es
el caso, pues cualquier recta que pase por el punto medio, con la única excepción de una
vertical, cumple la condición de minimizar la suma de los errores, haciéndola igual a
cero (nótese que los errores son iguales en magnitud pero de signo contrario).
Figura 8
Una solución alternativa sería intentar minimizar la suma de los valores absolutos de los
errores, o sea, minimizar
n
f ( xi ) − y i
i =1
la dificultad de este enfoque radica en que es necesario calcular derivadas parciales pero
el valor absoluto es una función que se define por partes y que, además, no es derivable
en 0. Todas estas dificultades son superadas con el enfoque de los mínimos cuadrados,
el cual consiste en minimizar la suma de los errores al cuadrado, esto es, minimizar
n n
( f ( x i ) − y i )2 = (mxi + b − yi )2
i =1 i =1
Solución:
∂S n
= 2 (mxi + b − yi )xi
∂m i =1
∂S n
= 2 (mxi + b − y i )
∂b i =1
14
n n n
m xi2 + b xi = xi y i
i =1 i =1 i =1
n n
m xi + nb = yi
i =1 i =1
Este es un sistema lineal de dos ecuaciones con dos incógnitas, resolviendo por el
método de sustitución, de la segunda ecuación se obtiene
n n
yi − m xi
b= i =1 i =1
n
reemplazando en la primera
n n
n
yi − m xi n n
m x +
2
i
i =1 i =1
xi = xi y i
i =1 n i =1 i =1
despejando m
n n
n
xi yi n n n
xi y i − i =1 i =1
n xi y i − xi yi
n
m= i =1
2
= i =1 i =1 i =1
2
n n n
n
xi n x −
2
i xi
i =1 i =1 i =1
x −
2
i
i =1 n
resumiendo
n n n n n
n xi yi − xi yi yi − m xi
m= i =1 i =1 i =1
2
y b= i =1 i =1
n n n
n x −
2
i xi
i =1 i =1
Solución:
n n Λ n
f ( xi ) − y i = Yi − y i = mxi + b − y i =
i =1 i =1 i =1
n n
m xi + nb − yi =
i =1 i =1
15
n n n n
m xi + yi − m xi − yi = 0
i =1 i =1 i =1 i =1
∂ 2 f ( ) ∂ 2 f ( ) ∂ 2 f ()
∂x12 ∂x1∂x 2 ∂x1∂x n
∂ 2 f ( ) ∂ 2 f ( ) ∂ 2 f ()
H ( ) = ∂x ∂x ∂x 22 ∂x 2 ∂x n
2 1
∂ 2 f ( ) ∂ 2 f ( ) ∂ 2 f ()
∂x n ∂x1 ∂x n ∂x 2 ∂x n2
16
Definición 8: Dada la matriz A n x n se define el k-ésimo menor principal de A como
a k1 ak 2 a kk
f ( x1 , x 2 , x3 ) = x1 + 2 x3 + x 2 x3 − x12 − x 22 − x32
Solución: el sistema
∂f
= 1 − 2 x1 = 0
∂x1
∂f
= x3 − 2 x 2 = 0
∂x 2
∂f
= 2 + x 2 − 2 x3 = 0
∂x3
−2 0 0
) =
H ( 0 −2 1
0 1 −2
minimizar f (x, y, z) = x 2 + y 2 + z 2
17
sujeto a
x + 2y + z = 1
∂f
= 2 x − 2(1 − x − 2 y ) = 0
∂x
∂f
= 2 y − 4(1 − x − 2 y ) = 0
∂y
o
∂f
= 4x + 4 y − 2 = 0
∂x
∂f
= 4 x + 10 y − 4 = 0
∂y
que tiene como solución y = 1/3, x = 1/6. En consecuencia z = 1/6. Así, el punto
estacionario a es igual a (1/6, 1/3). Como ya se mencionó, características propias del
problema en particular (en este caso el hecho de que la distancia mínima de un punto a
un plano siempre existe) garantizan que el punto encontrado corresponde a la solución.
Sin embargo, se harán los cálculos que verifican este hecho.
4 4
H () =
4 10
∂f
= 2yz - 4z +2x - 2 = 0
∂x
∂f
= 2xz - 2z + 2y - 4 = 0
∂y
∗
Nota: este problema pude resolverse acudiendo exclusivamente a argumentos geométricos. La distancia
mínima de un punto a un plano es la perpendicular del punto al plano. La solución se halla, entonces,
intersecando la recta (x, y, z) = t (1, 2 ,1) =(t, 2t, t), t – que es perpendicular al plano – con el plano.
Para ello se resuelve para t la ecuación t + 2(2t) + t = 1. La solución es t = 1/6 y el punto es 1/6*(1, 2, 1) =
(1/6, 1/3, 1/6).
18
∂f
= 2xy – 4x - 2y + 2z + 4 = 0
∂z
x = 1 – yz + 2z
reemplazando en la segunda
2(1 – yz + 2z)z - 2z + 2y - 4 = 0
z²(4 - 2y) + 2y – 4 = 0
factorizando de nuevo
y = 2 o z = 1 o z = -1.
simplificando y factorizando
Se escogen las parejas (y, z) de tal manera que se cumplan las 2 condiciones, por
ejemplo, si se escoge y = 3 en la segunda condición entonces, por la primera condición,
z = 1 o z = -1. Se tienen, por lo tanto, las parejas (3, 1) y (3, -1). Consideraciones
análogas dan como resultado las parejas (1, 1), (1, -1) y (2, 0). Tomando, por ejemplo,
la pareja (3, 1) se obtiene x = 1 – 3*1 + 2*1 = 0, con lo cual se tiene la tripla (0, 3, 1).
El mismo procedimiento conduce a la obtención de los puntos (1, 2, 0), (2, 3, -1), (2, 1,
1) y (0, 1, -1) como puntos estacionarios de f.
El ejemplo 13, de fácil solución, ilustra las bondades de un problema artificial, esto es,
un problema que ha sido creado para que tenga una solución relativamente fácil. En este
caso la solución del sistema de ecuaciones, originado al igualar el gradiente a cero, se
pudo realizar acudiendo únicamente al álgebra elemental. Sin embargo, este tipo de
19
problemas constituyen la excepción y no la regla cuando se presentan como parte de la
solución de un problema real de aplicación. En estos casos, de manera similar a lo visto
en el trabajo con variable unidimensional, hay que recurrir a algún método numérico
para resolver el sistema. El método que se tratará aquí es el de Newton para sistemas de
ecuaciones no lineales.
f1 ( )
f 2 ( )
( ) =
f n ( )
k = k −1 − [J ( k −1 )] ( k −1 )
−1
∂f 1 ( ) ∂f1 ( ) ∂f 1 ( )
∂x1 ∂x 2 ∂x n
∂f 2 ( ) ∂f 2 ( ) ∂f 2 ( )
J ( ) = ∂x1 ∂x 2 ∂x n
∂f n ( ) ∂f n ( ) ∂f n ( )
∂x1 ∂x 2 ∂x n
∂f
= 4x + 2yz + 6 = 0
∂x
∂f
= 2y + 2xz + 6 = 0
∂y
∂f
= 2z + 2x y + 6 = 0
∂z
20
4 2z 2 y
J ( ) = 2 z 2 2 x
2 y 2x 2
Comenzando con 0 =(0, 0, 0) se tiene
4 0 0 1/ 4 0 0
J (0,0,0) = 0 2 0 y [J (0,0,0)] −1
= 0 1/ 2 0
0 0 2 0 0 1/ 2
además
6
F(0, 0, 0) = 6
6
se tiene entonces
1/ 4 0 0 6
1 = (0, 0, 0) - 0 1/ 2 0 6 = (-3/2, -3, -3)
0 0 1/ 2 6
Iteración (i) Xi Yi Zi
0 0 0 0
1 -1.5 -3 -3
2 -0.31578947 -1.10526316 -1.10526316
3 6.5843733 6.76180141 6.76180141
4 3.11386779 2.69855772 2.69855772
5 1.82175404 0.11834204 0.11834204
6 -1.38308621 -0.92876013 -0.92876013
7 0.95034839 2.17392051 2.17392051
8 -1.33794065 1.01241321 1.01241321
9 -3.47952806 2.46146365 2.46146365
10 -2.88978861 1.79535061 1.79535061
11 -2.83385015 1.6406222 1.6406222
12 -2.83556311 1.63437 1.63437
13 -2.83557496 1.63436529 1.63436529
14 -2.83557496 1.63436529 1.63436529
Tabla 2
La tabla 2 resume los cálculos. Nótese que los valores en la iteración 14 coinciden con
los de la 13 esto se debe a que F(x) = 0. Así, partiendo del punto (0, 0, 0) se ha
encontrado una solución al sistema consistente en x = -2.83557496, y = 1.63436529 y
z = 1.63436529. Sin embargo, en el ejemplo 13 se encontraron 5 puntos estacionarios (5
soluciones al sistema no lineal de ecuaciones) por lo tanto es probable que también en
este caso existan varias soluciones. Un procedimiento intuitivo consiste en ejecutar las
iteraciones a partir de diferentes puntos en busca de las otras raíces del sistema, por
ejemplo, a partir del punto (15, -15, 5) se obtiene la solución x = 1, y = - 4.1925824 y
z = 1.1925824. Como los papeles de y y z en el sistema son simétricos, a partir de esta
última solución se deduce que x = 1, y = 1.1925824 y z = - 4.1925824 también es
solución. Obviamente esta técnica de ensayo y error no constituye un método de
21
aplicación general y además las simetrías son extrañas. Para evadir estas dificultades, se
puede, en el caso particular del sistema que se está resolviendo, disminuir la dimensión
del problema despejando x en la primera ecuación y reemplazándola en las otras 2 con
lo cual se obtiene:
x = -(yz + 3)/2
y el sistema se reduce a
y(2 - z ²) - 3z + 6 = 0
- y²z - 3y + 2z + 6 = 0
como para una solución cualquiera deben satisfacerse simultáneamente las dos
ecuaciones, las soluciones se localizan en los puntos de intersección de las 2 gráficas.
Esta situación se ilustra en la figura 9
Figura 9
Así, es posible verificar de forma gráfica que las raíces encontradas son todas las
existentes. Es importante insistir que la técnica empleada para la resolución de este
ejemplo no siempre es aplicable. En general es difícil determinar el número exacto de
raíces, como también el lugar aproximado en donde se encuentran. Lo que se desea
indicar es que, en la resolución de cada problema en particular, es aconsejable acudir a
todas las herramientas que sea lícito emplear en el momento.
22
Figura 10
es evidente que presenta un mínimo en (0, 0), punto en el cual las derivadas parciales
∂f x ∂f y
= y =
∂x x +y
2 2 ∂y x + y2
2
no existen. Además f toma un valor máximo de 2 en todos y cada uno de los puntos de
la frontera.
Figura 11
23
Ejemplo 15: Encuentre los puntos de la superficie z² - xy = 1 más próximos al origen.
Sujeto a z² - xy = 1
x² + y² + z² = r²
Esta esfera es una superficie de nivel de la función f(x, y, z) = x² + y² + z² que hay que
minimizar. Como la superficie z² - xy = 1 no pasa por el origen, la idea de la solución
consiste en comenzar con r = 0 e ir aumentando hasta que la esfera sea tangente a la
superficie. Cada punto de contacto será una solución del problema. En el punto de
tangencia las dos superficies tienen el mismo plano tangente y, en consecuencia,
gradientes paralelos. El paralelismo de los gradientes se traduce en que uno es múltiplo
del otro. Definiendo
g ( x, y, z ) = z 2 − xy − 1
∇f = λ ∇g
en consecuencia
( 2 x, 2 y , 2 z ) = λ ( − y , − x, 2 z )
la cuarta ecuación está dada por g(x, y, z) = 0 o sea z 2 − xy − 1 = 0 . Este sistema tiene
como solución: λ = 1, x = y = 0, z = 1 o z = -1. Se tienen, en consecuencia, las dos
soluciones (0, 0, 1) y (0, 0, -1).
24
con m < n, existen entonces m escalares λ1 ,..., λ m tales que
∇f = λ1∇g 1 + + λ n ∇g n
Los escalares λ1 ,..., λ m que se introdujeron para resolver este tipo de problemas se
denominan multiplicadores de Lagrange.
Ejemplo 16: Encuentre las dimensiones de la cubeta que aparece en la figura 12 de tal
manera que se minimice el material empleado y se cumplan las dos restricciones:
1. cada uno de los espacios debe tener una sección horizontal cuadrada.
2. el volumen total (sin tener en cuenta las particiones) debe ser igual a 12 pulgadas
cúbicas.
Figura 12
Solución:
El sistema
∇f = λ1∇g1 + λ2 ∇g 2
g 1 ( x, y , z ) = 0
g 2 ( x, y , z ) = 0
25
1 1 1
3 * 60 3 3 * 60 3 2 * 60 3
x= , y= y z=
2 5 9
Hasta el momento los métodos empleados han sido fruto de la aplicación de resultados
teóricos como, por ejemplo, igualar el gradiente a cero o emplear el método de los
multiplicadores de Lagrange, las dificultades han aparecido al momento de atacar el
problema de resolver los sistemas de ecuaciones no lineales que aparecen al aplicar los
resultados teóricos. Para ello se ha acudido al método de Newton, el cual es un método
iterativo de aproximaciones sucesivas a partir de un punto inicial. Lo que se hará ahora
es emplear una idea similar para encontrar directamente el óptimo: comenzando con un
punto inicial, adecuado según algún criterio, iterar hasta estar lo suficientemente cerca
del óptimo.
Figura 13
26
Al tener la derivada direccional la forma ∇f ( ) cos θ es claro que esta asume un valor
máximo cuando θ = 0 y un valor mínimo cuando θ = π . O sea que, el valor máximo de
la derivada direccional es ∇f ( ) y ocurre cuando y tiene la misma dirección del
gradiente y el valor mínimo es - ∇f ( ) que ocurre cuando y tiene dirección opuesta al
gradiente. En otras palabras, el gradiente de f en a apunta en la dirección de máximo
crecimiento de f a partir de a, en tanto que − ∇f ( ) apunta en la dirección del máximo
decrecimiento de f.
Este importante hecho constituye la base del método del gradiente el cual consiste en
comenzar a partir de un punto inicial, y avanzar en la dirección del gradiente, en el caso
de maximización, o en la dirección contraria, en el caso de minimización. Una vez
determinada la dirección de avance es necesario escoger la longitud de dicho avance (o
tamaño del paso) lo cual constituye, a su vez, un problema de optimización de variable
unidimensional. El siguiente ejemplo ilustra el procedimiento.
entonces el vector f (0,0) = (4, 6) determina la dirección que debe tomarse a partir de
(0, 0). Si p controla la longitud del paso, el punto de llegada será (0, 0) + p(4, 6) = (4p,
6p) para determinar el mejor p se optimiza f (4p, 6p), se tiene entonces
con lo que el nuevo punto es (13/19, 39/38). Evaluando f (13/19, 39/38) = 169/38 =
4.447368421que representa una mejora frente a f (0,0) = 0. Se hacen los cálculos para
dar el siguiente paso.
f (13/19, 39/38) = (-15/19, 10/19)
entonces
27
Este proceso es engorroso, sin embargo, como en este caso en el proceso de
optimización la p se obtiene de manera explícita, pueden hacerse los cálculos para
cualquier punto genérico (a, b), con lo cual se obtiene
(a, b) + p(4 – 4a – 2b, 6 – 2a – 4b) = (4 p +(1– 4 p)a – 2pb, 6p – 2pa + (1– 4 p)b)
evaluando f (4 p +(1– 4 p)a – 2pb, 6p – 2pa + (1– 4 p)b), derivando, igualando a cero y
despejando p se obtiene
5a 2 + 2a (4b − 7) + 5b 2 − 16b + 13
p=
4(7 a 2 + a (13b − 22) + 7b 2 − 23b + 19)
con lo cual el procedimiento se puede automatizar mediante una hoja de cálculo para
obtener la tabla
28
Programación separable
Definición 10: Una función f (x) donde = ( x1 , x 2 ,..., x n ) se dice separable si cumple
la condición:
n
f ( ) = f i ( xi ) (4)
i =1
Maximizar z = f (x)
Sujeto a
<
g j ( ) b j j = 1,..., m (5)
>
xi ≥ 0 i = 1,2,..., n
n
Al hacer la descomposición f ( ) = f i ( xi ) cada f i puede ser lineal o no. En caso de
i =1
no serlo se le hace una aproximación lineal de la siguiente manera: sea f (x), definida en
[a, b], como aparece en la figura 14
29
Figura 14
Se toma la partición a = x0 < x1 < x 2 < < x k < x k +1 < < x r −1 < x r = b . La función
Λ __________ ______ ________________ __________ ______
f ( x) definida por la poligonal f ( x0 ), f ( x1 ), f ( x1 ), f ( x 2 ), , f ( x r −1 ), f ( x r ) es una
aproximación lineal de la función f (x).
Λ
Para estudiar f ( x) se selecciona el intervalo arbitrario [ x k , x k +1 ] para el cual se tiene
Λ f ( x k +1 ) − f ( x k )
f ( x) = f ( x k ) + ( x − x k ) (7)
x k +1 − x k
x = λx k +1 + (1 − λ ) x k 0 ≤ λ ≤ 1 (8)
Λ f ( x k +1 ) − f ( x k )
f ( x) = f ( x k ) + (λx k +1 + (1 − λ ) x k − x k ) 0 ≤ λ ≤ 1
x k +1 − x k
o
Λ f ( x k +1 ) − f ( x k )
f ( x) = f ( x k ) + λ ( x k +1 − x k ) 0 ≤ λ ≤ 1
x k +1 − x k
Simplificando y factorizando
Λ
f ( x) = λf ( x k +1 ) + (1 − λ ) f ( x k ) 0 ≤ λ ≤ 1 (9)
30
x = λ k x k + λ k +1 x k +1
Λ
f ( x) = λ k f ( x k ) + λ k +1 f ( x k +1 )
donde λ k + λ k +1 = 1, λ k , λ k +1 ≥ 0 .
r Λ r
x= λk xk y f ( x) = λk f ( xk )
k =0 k =0
(10)
r
donde λi = 1 y λ k ≥ 0 k = 0,1, ,r
k =0
con la condición de que máximo dos λ k sean positivos, en cuyo caso deben ser
adyacentes.
n r
Maximizar z = λik f i ( xik )
i =1 k = 0
Sujeto a
n r
<
λik g ji ( xik ) b j j = 1,..., m (11)
i =1 k =0 >
r
λik = 1 i = 1, ,n
k =0
λik ≥ 0, k = 0, , r , i = 1, ,n
con la condición de que para cada i máximo dos λik sean positivos, en cuyo caso deben
ser adyacentes. Este problema es casi lineal, no lo es por la propiedad de adyacencia que
se acaba de mencionar, en consecuencia, se resuelve (11) por el método símplex (o
algún método equivalente) y se verifica que la solución satisfaga dicha propiedad.
Maximizar z = 2 x1 − x12 + x 2
Sujeto a
2 x12 + 3 x 22 ≤ 6
x1 , x 2 ≥ 0
31
f 1 ( x1 ) = 2 x1 − x12
f 2 ( x2 ) = x2
g1 ( x1 ) = 2 x12
g 2 ( x 2 ) = 3 x 22
2 x12 + 3 x 22 ≤ 6
se tiene, por una parte
6 − 3 x 22
x1 ≤
2
de donde 6 − 3 x 22 ≥ 0 o x 2 ≤ 2 ≈ 1.4142 .
De manera análoga
6 − 2 x12
x2 ≤
3
0 ≤ xi ≤ 2 i = 1, 2.
Maximizar
z = 0λ10 + 0.4375λ11 + 0.75λ12 + 0.9375λ13 + λ14 + 0.9375λ15 + 0.75λ16 + 0.4375λ17 + 0λ18 +
0λ 20 + 0.25λ 21 + 0.5λ 22 + 0.75λ 23 + λ 24 + 1.25λ 25 + 1.5λ 26 + 1.75λ 27 + 2λ 28
Sujeto a
0λ10 + 0.125λ11 + 0.5λ12 + 1.125λ13 + 2λ14 + 3.125λ15 + 4.5λ16 + 6.125λ17 + 8λ18 +
0λ20 + 0.1875λ21 + 0.75λ22 + 1.6875λ23 + 3λ24 + 4.6875λ25 + 6.75λ26 + 9.1875λ27 + 12λ28 ≤ 6
32
λ10 + λ11 + λ12 + λ13 + λ14 + λ15 + λ16 + λ17 + λ18 = 1
λ 20 + λ 21 + λ 22 + λ 23 + λ 24 + λ 25 + λ 26 + λ 27 + λ 28 = 1
Para resolver este problema se han renombrado las variables de la siguiente manera
con
z = 2.2102 .
El problema también puede ser resuelto por un método gráfico análogo al empleado en
Programación Lineal. En primer lugar se grafica la región factible (conjunto de puntos
que satisfacen simultáneamente todas las restricciones), luego se grafican las diversas
curvas que se obtienen al asignar algunos valores a la función objetivo y, finalmente,
observando el comportamiento de estas últimas se determina la solución. La figura 15
ilustra el procedimiento.
33
Figura 15
Se observa que a medida que z va tomando valores cada vez más grandes la gráfica de
la función objetivo se desplaza hacia arriba, por lo tanto el punto óptimo es el último
punto de contacto que tiene la región factible con la función objetivo en su camino de
ascenso, este punto cumple la condición de que en él las dos gráficas – la de la función
objetivo que asciende y la que delimita la región factible – son tangentes. Aplicando lo
aprendido en la sección dedicada a los Multiplicadores de Lagrange se tiene que en el
punto de tangencia las dos funciones deben tener la misma derivada. Despejando x 2 en
la función objetivo y en la restricción se tiene
6 − 2 x12
x 2 = z − 2 x1 + x2
1 y x2 =
3
entonces
dx 2 dx 2 − 2 x1
= −2 + 2 x1 y =
dx1 dx1 3 6 − 2 x12
2 x1
− 2 + 2 x1 + =0
3 6 − 2 x12
x1 = 0.7905721355
de donde
x 2 = 1.258304599 y z = 2.214444568
La tabla 4 contiene una comparación entre la solución del problema lineal aproximado y
la solución del problema original
34
Tabla 4
En 1962 John Holland sentó las bases para estudios posteriores sobre sistemas
adaptativos, también fue el primero en proponer explícitamente el cruzamiento y otros
operadores de recombinación. Sin embargo, el trabajo fundamental en el campo de los
algoritmos genéticos apareció en 1975, con la publicación del libro “Adaptación en
Sistemas Naturales y Artificiales”. Basado en investigaciones y publicaciones anteriores
del propio Holland y de colegas de la Universidad de Michigan, este libro fue el
primero en presentar sistemática y rigurosamente el concepto de sistemas digitales
adaptativos utilizando la mutación, la selección y el cruzamiento.
35
Estas candidatas prometedoras se conservan y se les permite reproducirse. También se
realizan copias de ellas, pero las copias no son perfectas; se introducen cambios
aleatorios durante el proceso de copia (mutaciones). Esta descendencia constituye un
nuevo conjunto de soluciones candidatas que se convierte en una nueva entrada al AG.
Tras sucesivas generaciones (generalmente una gran cantidad) este proceso evolutivo
debe converger hacia una solución óptima (hasta el momento esta última afirmación es
heurística).
Ejemplo 19 Maximizar
Sujeto a
− 3 ≤ x1 ≤ 12.1
4.1 ≤ x 2 ≤ 5.8
Figura 15
4π x cos(4π x) + sen(4π x) = 0
36
La tabla 5 contiene los resultados obtenidos al emplear el método de Newton así como
los diferentes puntos iniciales usados en cada conjunto de iteraciones
(b − a ) × 10 5
2 m −1 < (b − a ) × 10 5 ≤ 2 m − 1
está en [a, b]. De esta manera se establece una relación entre las cadenas de n bits y el
intervalo [a, b]. En el ejemplo, para el intervalo de x1 se tiene
entonces 217 < 151.000 ≤ 218 − 1 con lo cual se necesitarán 18 bits para codificar el
intervalo [-3, 12.1]. De manera análoga, para el intervalo [4.1, 5.8] serán necesarios 15
bits. Se emplearán cadenas de 33 bits, los 18 primeros para x1 y los 15 restantes para x2.
37
Figura 16
1. 1 1 1 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1 1 0 1 0 1 1 1 0 0 1 1 0 1 1
2. 0 1 0 1 0 1 1 0 1 0 1 0 0 1 1 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0
3. 0 0 0 1 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 0 0 0 1 0 1 1 0 1 0 0 1 0 1
4. 1 1 1 0 0 1 1 1 1 0 1 0 1 0 0 0 0 1 0 0 1 0 0 1 1 1 0 1 0 0 0 1 1
5. 0 1 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 0 1 1 0
6. 0 0 1 1 0 1 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0 0 1 0
7. 0 0 0 0 0 1 1 0 1 0 1 1 1 0 1 1 1 1 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0
8. 1 0 0 1 0 0 1 1 0 0 1 1 1 0 1 1 1 0 1 0 0 0 0 0 0 0 1 1 0 1 1 0 1
9. 1 0 0 0 0 0 1 1 1 0 0 0 1 1 0 1 1 0 0 1 1 1 0 0 1 1 1 0 0 0 0 1 1
10. 1 0 0 0 0 1 0 0 1 1 0 1 1 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1 0 1 1 1 1
1. 232991 27547
2. 88730 6412
3. 31095 17829
4. 237217 5027
5. 66030 14262
6. 53784 22562
7. 6895 402
8. 150766 16493
9. 134710 14787
10. 136062 5551
Mediante la fórmula
1. 10.4208 5.52918
2. 2.11104 4.43266
3. -1.20886 5.02499
4. 10.6642 4.36081
38
5. 0.80347 4.83993
6. 0.098074 5.27055
7. -2.60283 4.12086
8. 5.68445 4.95568
9. 4.75959 4.86717
10. 4.83746 4.38799
Figura 17
Figura 18
Se colocan los segmentos, uno a continuación del otro, de manera que llenen el
intervalo [0, 1]. Acto seguido, se generan 10 números aleatorios en [0, 1], el individuo
al que pertenece el intervalo en el cual “cayó” el número generado de manera aleatoria
pasa a la siguiente generación.
39
Figura 19
Volviendo al ejemplo se tiene que la suma total de las imágenes es 224.018 y para cada
individuo su desempeño escalado (dividido por 224.018) es
1. 0.0807811
2. 0.12279
3. 0.121073
4. 0.12569
5. 0.106514
6. 0.0737738
7. 0.124921
8. 0.106863
9. 0.0742706
10. 0.0633242
1. 0.0807811
2. 0.203571
3. 0.324644
4. 0.450334
5. 0.556848
6. 0.630622
7. 0.755542
8. 0.862405
9. 0.936676
10. 1
1. 0.353679 4
2. 0.562273 6
3. 0.911527 9
4. 0.865902 9
5. 0.714621 7
6. 0.378155 4
7. 0.222755 3
40
8. 0.290262 3
9. 0.462966 5
10. 0.781793 8
1. 1 1 1 0 0 1 1 1 1 0 1 0 1 0 0 0 0 1 0 0 1 0 0 1 1 1 0 1 0 0 0 1 1
2. 0 0 1 1 0 1 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0 0 1 0
3. 1 0 0 0 0 0 1 1 1 0 0 0 1 1 0 1 1 0 0 1 1 1 0 0 1 1 1 0 0 0 0 1 1
4. 1 0 0 0 0 0 1 1 1 0 0 0 1 1 0 1 1 0 0 1 1 1 0 0 1 1 1 0 0 0 0 1 1
5. 0 0 0 0 0 1 1 0 1 0 1 1 1 0 1 1 1 1 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0
6. 1 1 1 0 0 1 1 1 1 0 1 0 1 0 0 0 0 1 0 0 1 0 0 1 1 1 0 1 0 0 0 1 1
7. 0 0 0 1 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 0 0 0 1 0 1 1 0 1 0 0 1 0 1
8. 0 0 0 1 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 0 0 0 1 0 1 1 0 1 0 0 1 0 1
9. 0 1 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 0 1 1 0
10. 1 0 0 1 0 0 1 1 0 0 1 1 1 0 1 1 1 0 1 0 0 0 0 0 0 0 1 1 0 1 1 0 1
Cruce: por cada individuo se genera un número aleatorio en [0, 1], si el resultado es
menor que 0.25 (probabilidad de cruce) el individuo es elegido para ser cruzado. Si se
obtiene un número impar de padres se repite la elección. Por este método fueron
elegidas para ser cruzadas las parejas 3 y 7, 8 y 10. El mecanismo de cruce se ilustra en
la figura 20.
Figura 20
Población luego del cruce de 3 con 7 (punto de corte 5) y 8 con 10 (punto de corte 11).
1. 111001111010100001001001110100011
2. 001101001000011000101100000100010
3. 100000100101110111100010110100101
4. 100000111000110110011100111000011
5. 000001101011101111000000110010010
6. 111001111010100001001001110100011
7. 000111111000110110011100111000011
41
8. 0 0 0 1 1 1 1 0 0 1 0 1 1 0 1 1 1 0 1 0 0 0 0 0 0 0 1 1 0 1 1 0 1
9. 0 1 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 0 1 1 0
10. 1 0 0 1 0 0 1 1 0 0 1 1 1 1 0 1 1 1 1 0 0 0 1 0 1 1 0 1 0 0 1 0 1
Mutación: por cada gen (bit) se genera un número aleatorio, si resulta inferior a 0.01
(probabilidad de mutación) el gen muta. El mecanismo de mutación se ilustra en la
figura 21
Figura 19
1. 1 1 1 0 0 1 1 1 1 0 1 0 1 0 0 0 0 1 0 0 1 0 0 1 1 1 0 1 0 0 0 1 1
2. 0 0 1 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0 0 1 0
3. 1 0 0 0 0 0 1 0 0 1 0 1 1 1 0 1 1 1 1 0 0 0 1 0 1 1 0 1 0 0 1 0 1
4. 1 0 0 0 0 0 1 1 1 0 0 0 1 1 0 1 1 0 0 1 1 1 0 0 1 1 1 0 0 0 0 1 1
5. 0 0 0 0 0 1 1 0 1 0 1 1 1 0 1 1 1 1 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0
6. 1 1 1 0 0 1 1 1 1 0 1 0 1 0 0 0 0 1 0 0 1 0 0 1 1 1 0 1 0 0 0 1 1
7. 0 0 0 1 1 1 1 1 1 0 0 0 1 1 0 1 1 0 0 1 1 1 0 0 1 1 1 0 0 0 0 1 1
8. 0 0 0 1 1 1 1 0 0 1 0 1 1 0 1 1 1 0 1 0 0 0 0 0 0 0 1 1 0 1 1 0 1
9. 0 1 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 0 1 1 0
10. 1 0 0 1 0 0 1 1 0 0 1 1 1 1 0 1 1 1 1 0 0 0 1 0 1 1 0 1 0 0 1 0 1
Con la obtención de esta nueva generación termina una iteración del algoritmo. Los
nuevos valores (convertidos al intervalo de definición) y sus respectivas imágenes por la
función objetivo son:
42
Obtenido en
x y f(x, y) la iteración
11.6302 5.7246 38.8278 381
11.629 5.52438 38.6348 426
11.6273 5.72797 38.7508 490
se ve que el punto óptimo se localiza alrededor de (11.6, 5.7) empleando este punto para
iniciar el método de Newton se obtiene que el algoritmo converge al punto
(11.62554470, 1.425177726) el cual está fuera del dominio. Sin embargo, empleando el
punto inicial (11.6, 5.72) el algoritmo converge a (11.62554470, 5.725044244) y se
tiene que f (11.62554470, 5.725044244) = 38.85029448. Este hecho parece explicar
cual es la razón por la cual, a pesar de que la gráfica revela la existencia de una gran
cantidad de óptimos, el método de Newton converge a puntos por fuera del dominio, y
esta es que el valor inicial debe estar “muy cerca” del óptimo. Hemos encontrado así el
máximo global combinando el algoritmo genético con la teoría clásica.
43
Conclusiones
Otro elemento a tener en cuenta es el hecho de que los textos de cálculo, y los cursos
que con base en ellos se dictan, en un afán pedagógico, emplean problemas artificiales,
esto es, problemas que no presentan dificultad alguna en el momento de aplicar la teoría
para resolverlos. En el desarrollo del trabajo se ha hecho evidente que tales problemas
artificiales son la excepción, y no la regla, en las aplicaciones reales. Este punto es
fundamental, pues el enfoque pedagógico encierra un peligro soterrado: que quien
aprende con él adquiere la certeza de estar dotado con las herramientas suficientes para
enfrentar cualquier tipo de problema. Esta certidumbre lo aleja de ver la necesidad de,
en el momento dado, completar por si mismo la teoría para adaptarla a una situación en
particular o en otras palabras, lo aleja de considerar la posibilidad de convertirse en
investigador.
Karl Popper en alguna ocasión afirmó que: “Los grandes progresos solo tienen lugar
cuando confluyen las disciplinas” esta afirmación motiva llamar la atención sobre otra
gran carencia de la literatura sobre PNL: a diferencia de la forma como es tratada la PL
en la cual se muestran situaciones que al ser modeladas conducen a problemas lineales,
los textos de PNL se limitan, en la mayoría de los casos, a proponer la optimización de
una función objetivo en presencia de algunas restricciones sin previamente mostrar la
realidad cuya modelación condujo a ese planteamiento. Algunos métodos, como el del
gradiente y el de Newton, necesitan comenzar a partir de un punto inicial. Un
conocimiento mas general sobre la realidad modelada permitiría poder inferir la región
en la cual debe ubicarse dicho punto inicial así como sacar conclusiones una vez
obtenida la solución matemática.
Resumiendo: la PNL es un área fascinante, en la cual hay mucho por hacer. Los
requisitos para trabajar de manera exitosa en ella incluyen: conocimientos no
superficiales de análisis matemático y de algoritmia; dominio de herramientas
informáticas; además del conocimiento del área en la cual surgen los problemas de
optimización.
44
Bibliografía
45