Introducción a la Programación Lineal

Anuncio
Introducción a la Programación Lineal
Claudia Liliana Daza Garzón
[email protected]
Trabajo de Grado para Optar por el Título de Matemático
Director: Pervys Rengifo Rengifo
Ingeniero Universidad Nacional de Colombia
Fundación Universitaria Konrad Lorenz
Facultad de Matemáticas
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
Las matemáticas prestan su servicio a la sociedad mediante la elaboración de modelos
matemáticos de la realidad. Esta modelación consiste en crear un objeto conceptual que
refleje las características relevantes de un fenómeno para, a partir de tal simplificación,
llegar a extraer conclusiones que enriquezcan, en algún sentido, el conocimiento que
hasta el momento se tiene del fenómeno. Una modelación de gran importancia y utilidad
el la modelación lineal, la cual acude al empleo de funciones lineales para conseguir sus
objetivos. Sin embargo, a medida que crece la complejidad de los fenómenos que nos
rodean, comienza a hacerse necesario modelar fenómenos con los cuales las
aproximaciones lineales son notoriamente ineficaces. Por esta razón es necesario
emplear modelos no lineales que se ajustan de una manera más precisa a las realidades
de alto grado de complejidad.
Uno de los propósitos fundamentales con los cuales se construyen modelos
matemáticos es el de obtener respuestas a problemas de óptimización, esto es, a la toma
de decisiones inmejorables. La modelación lineal tiene en los métodos símplex y del
punto interior (de Karmarkar) unas herramientas de gran poder que le permiten resolver
problemas con grandes cantidades de variables y restricciones. Este no es el caso de los
modelos no lineales, en los cuales, como se verá, los caminos de fácil recorrido
constituyen más la excepción que la norma. Sin embargo, el trabajo realizado en este
campo ha estado guiado por unas grandes dosis de ingenio, que han llevado a la
creación de algoritmos de base puramente matemática, a otros que mezclan resultados
matemáticos con procesos heurísticos y, finalmente, como es el caso de los algoritmos
genéticos, a emular los procesos de evolución biológica, que han llevado a muchas
formas de vida a elevados niveles de complejidad y sosfisticación, como estrategia para
la resolución de problemas.
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.
El campo es extenso y fascinante. El trabajo realizado es de dimensiones modestas, pero
aspira a reflejar, al menos en algún momento, algo de la belleza que se encontró en la
etapa exploratoria.
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.
La teoría clásica de la optimización acude al empleo del cálculo diferencial para
determinar los puntos en los cuales la función f : R n → R asume valores óptimos
(máximos o mínimos).
Luego de unas definiciones esenciales se expondrán algunos resultados teóricos así
como ejemplos de solución de problemas mediante la aplicación de esta teoría. Se
inicia con la teoría propia de las variables unidimensionales, pues este campo permite la
comprensión intuitiva de los conceptos y procedimientos empleados, y también, porque
algunos de sus resultados tiene aplicación directa en la extensión de la teoría a las
variables multidimensionales.
Definición 1: se dice que una función f : S → R, S ⊂ R n tiene un máximo absoluto
(o global) en un punto
∈ S si
f ( ) ≤ f ( )
para todo x de S. El número f (
) se llama máximo absoluto de f en S.
Definición 2: se dice que una función f : S → R, S ⊂ R n tiene un máximo relativo (o
local) en un punto
∈ S si existe r > 0 tal que
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.
Las definiciones de mínimo absoluto (o global) y mínimo relativo (o local) se hacen
de manera equivalente.
Optimización clásica variable unidimensional
Definición 3: Un punto crítico de una función f : R → R es un número c para el cual
f (c) = 0 o f (c) no existe.
Teorema 1: Si una función f : R → R tiene un máximo o mínimo relativo en un punto
c, entonces c es un punto crítico.
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
g ( x) =
f ( x ) − f (c )
para x ≠ c
x−c
f ' (c )
para x = c
(1)
entonces lim g ( x) = g (c) y, en consecuencia , g es continua en c. Se debe demostrar
x →c
que g(c) = 0, para ello se procede por contradicción: si g(c) > 0, por la propiedad de la
conservación del signo para funciones continuas, existe un intervalo que contiene a c en
el cual g(x) es positiva. Por lo tanto en (1), para x en el intervalo mencionado, x ≠ c, el
numerador tiene el mismo signo que el denominador, lo cual implica que si x > c
entonces f(x) > f(c), y si x < c entonces f(x) < f(c). Esto contradice la hipótesis de que f
tiene un extremo en c. De manera similar se demuestra que suponer que g(c) < 0
conduce a la misma contradicción, por lo tanto g(c) = 0 y como g(c) = f ' (c) ha
concluido la demostración.
El resultado anterior garantiza que si f tiene un óptimo en c, entonces c es un punto
crítico. El recíproco no es cierto, como lo demuestra el conocido contraejemplo
f ( x) = x 3 , pues f ' ( x) = 3 x 2 y entonces f ' (0) = 0 , con lo cual 0 es un punto crítico de
f y, sin embargo, f no tiene un óptimo en 0 como se ve en la figura 1.
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.
Teorema 2 (criterio de la primera derivada para extremos en un punto
crítico): Supóngase que f : R → R es continua en un intervalo [a, b] y que existe f '
en todo punto de (a, b), excepto posiblemente en c
(a, b), entonces:
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.
3. Si f es positiva (negativa) para toda x, con a < x < b, x
un óptimo relativo en c.
c, entonces f no tiene
Demostración: en el caso 1. f es estrictamente creciente en [a, c] y estrictamente
decreciente en [c, b]. Entonces f(x) < f(c) para todo x c en [a, b] y por lo tanto f
tiene un máximo relativo en c. El caso 2 se demuestra de manera análoga. La
hipótesis del caso 3 implica que f es estrictamente creciente (decreciente) en [a, b] y,
en consecuencia, no puede tener óptimos relativos en el punto interior c.
Ejemplo 1: encuentre los puntos en los cuales f ( x) = x 3 − 3 x 2 − 24 x + 2 tiene
valores óptimos y determine de que clase son.
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:
f ' ( x) = 3 x 2 − 6 x − 24 = 3( x + 2)( x − 4) (2)
la derivada está definida en todo , en consecuencia, se buscan aquellos puntos
críticos para los cuales f (x) = 0.
3( x + 2)( x − 4) = 0 (3)
tiene como soluciones x = 4 y x = -2. El producto en (2) es positivo cuando los dos
términos variables son ambos negativos, o ambos positivos, por lo tanto, f (x) > 0
en (- , -2) y en (4, ), y f (x) < 0 en (-2, 4). Entonces, es posible construir un
intervalo alrededor de -2 tal que f (x) > 0 para x < -2 y, f (x) < 0 para x > -2 en
consecuencia, según el teorema 2, f tiene un máximo en x = -2, con un valor f(-2) =
30. Un razonamiento análogo lleva a concluir que f tiene un mínimo en x = 4, con
f(4) = -78. La figura 2 muestra una comprobación gráfica de este hecho.
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
esta función nunca es cero y no está definida en
x
x = 0. En consecuencia x = 0 es el único punto crítico. Es evidente que para x < 0,
f (x) < 0, y para x > 0, f (x) > 0. Aplicando el teorema 2 se concluye que f tiene un
mínimo en x = 0. La figura 3 ilustra la situación.
Solución: f ' ( x) = 2 x −1 / 3 =
3
Figura 3
Ejemplo 3: encuentre los puntos críticos de f ( x) = x 3 y establezca si en ellos f tiene
óptimos relativos.
Solución: f ' ( x) = 3x 2 entonces f está definida en todo . El único punto crítico de f
es entonces x = 0. Sin embargo, f (x) es positiva para todo x
, x 0. Y por el caso
3 del teorema 2 se concluye que f no tiene óptimos relativos en 0, pues es estrictamente
creciente en toda vecindad de 0. Véase la figura 1.
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.
Teorema 3 (criterio de la segunda derivada para extremos en un punto
crítico): Supóngase que c (a, b) y que f (c) = 0. Supóngase, además, que f (c)
existe, entonces:
1. Si f (c) < 0, f tiene un máximo relativo en c.
2. Si f (c) > 0, f tiene un mínimo relativo en c.
Demostración: En el caso 1, al ser f negativa en c, f es estrictamente decreciente
en una vecindad alrededor de c y como f (c) = 0 entonces f pasa de positivo a negativo
en c, aplicando el caso 1 del teorema 2 se concluye que f tiene un máximo relativo en c.
El caso 2 se demuestra de manera análoga.
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
f (4) = 18 > 0, entonces f tiene un mínimo relativo en 4.
f (-2) = -18 < 0, entonces f tiene un máximo relativo en -2.
El teorema 3 no dice que ocurre en el caso de que f’ (c) = 0. Este es el caso de
f ( x) = x 3 y f ( x) = x 4 . El siguiente teorema resuelve este problema.
Teorema 4: Sea f que posee n-ésima derivada continua en el intervalo (a, b).
(a, b) se tiene:
Supóngase que para un cierto punto c
f ' (c) = f ' ' (c) = ... = f
( n −1)
(c) = 0 , pero f ( n ) (c) ≠ 0 .
entonces para n par, f posee un mínimo local en c si f
c si f
(n)
(n)
(c) > 0 , y un máximo local en
(c) < 0 . Si n es impar, no existe óptimo en c.
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
f ( x ) − f (c ) =
f
(n)
( x1 )
( x − c) n , donde x1 ∈ (a, b)
n!
Si n es par, esta ecuación implica que f(x) ≥ f(c) cuando f
(n)
(n)
(c) > 0, y f(x) ≤ f(c)
(n)
cuando f (c) < 0. Si n es impar y f (c) > 0, entonces f(x) > f(c) cuando x > c, y
f(x) < f(c) cuando x < c, en consecuencia no existe óptimo en c. Se llega a una
conclusión análoga cuando n es impar y f ( n ) (c) < 0.
Nótese que el teorema 3 es un caso particular del teorema 4. Este hecho puede ser
empleado como nemotecnia para recordar el resultado.
Ejemplo 5: En el ejemplo 3 se estableció que 0 es el único punto crítico de f ( x) = x 3 ,
emplee el teorema 4 para determinar que clase de punto crítico es.
Solución:
f ' ( x) = 3x 2
entonces
8
f (0) = 0
f ' ' ( x) = 6 x
entonces
f (0) = 0
f ( 3) ( x ) = 6 ≠ 0
como 3 es impar y la función constante 6 es continua se concluye que en x = 0 no se
presentan óptimos relativos.
Ejemplo 6: Determine los puntos críticos de f ( x) = x 4 y establezca de que clase son.
Solución:
f ' ( x) = 4 x 3
f ' ' ( x) = 12 x
entonces
2
entonces
f ( 3) ( x) = 24 x
f
entonces
( 4)
f (0) = 0
f (0) = 0
f
( 3)
( 0) = 0
( x) = 24 ≠ 0
como 4 es par y como, además f ( 4) (0) > 0 , entonces en x = 0 la función tiene un
mínimo relativo.
Hasta el momento no se ha tratado el caso en el cual la función a optimizar se encuentra
restringida en su dominio. En tales casos los extremos del intervalo, o los intervalos, son
candidatos a ser puntos óptimos. Este caso es tratado en el ejemplo siguiente.
Ejemplo 7: Determine los puntos óptimos de
f ( x) = x 2 cuando su dominio se
restringe según los casos: a) [-1, 2] b) [2,3].
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.
Ejemplo 8: Determine los puntos en los cuales la función g ( x) = x 3 − sen( x) presenta
óptimos relativos.
Solución: En primer lugar se grafíca la función para tener una idea de donde pueden
localizarse los óptimos relativos.
Figura 5
La figura 5 permite concluir que, efectivamente, existen óptimos y que estos se
encuentran, el primero en [-1, 0] y el segundo en [0, 1]. El procedimiento a seguir es
similar al de los ejemplos anteriores.
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)
tomando x1 = -0.8 los cálculos son los siguientes:
Iteración
0
1
2
3
4
5
xi
f ( xi )
-0.8
1.22329329
-0.5782827 0.16583011
-0.53699325 0.00583458
-0.53543049 8.3762E-06
-0.53542824 1.7364E-11
-0.53542824
0
Tabla 1
f ' ( xi )
-5.517356091
-4.016282878
-3.733514265
-3.722794298
-3.722778863
-3.722778863
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:
g (-0.54) = 1.7*10 −2 > 0 y g (-0.52) = -5.6*10 −2 < 0
haciendo analogía con el caso 2 del teorema 2 se concluye que en x = -0.53542824
g tiene un máximo local. Un procedimiento análogo permite concluir que en
x = 0.53542824 g tiene un mínimo local. Estos resultados confirman lo observado en la
figura 5. (En este ejemplo hemos incurrido en una imprecisión teórica al afirmar que x
es igual al número encontrado con el método numérico, sin embargo, para efectos
prácticos, este hecho es irrelevante pues la solución puede ser calculada con la
precisión requerida por el problema que se este resolviendo en el momento. Como
ejemplo se muestra el resultado que se obtiene al emplear Matemática con una precisión
de 40 decimales: x = -0.5354282441646569523641119303647428750992).
Optimización clásica variable multidimensional
Definición 4 (Derivadas direccional y parcial): Sea f : S → R, S ⊂ R n . Si y es
un vector unitario y a es un punto interior a S, la derivada
f ' ( ) = lim
h →0
f ( + h ) − f ( )
, h>0
h
se llama derivada direccional de f en a en la dirección de y. Si y = k (el k-ésimo
f ' (a; k ) se denomina
derivada parcial respecto a x k y se representa mediante el símbolo
vector de la base canónica de R n ) la derivada direccional
11
∂f
(a1 ,..., a n ) .
∂x k
En el caso de la variable bidimensional el significado geométrico de esta derivada es
una generalización del caso unidimensional. La figura 6 ilustra la situación
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
se conoce como el gradiente de f en a.
Teorema 5: Sea f : S → R, S ⊂ R n . Una condición necesaria para que f tenga un
óptimo en a es que ∇f ( ) = .
Demostración : Si f tiene un óptimo en a, al dejar constantes n-1 variables y analizar
la situación en la variable restante, digamos x k , debe tenerse que, para esta, la
proyección de la función tiene un óptimo en a k y, como se estaría en el caso
unidimensional, según el teorema 1 la derivada de la función proyección debe ser igual
a cero. Como este resultado se tiene para todas y cada una de las variables,
necesariamente ∇f ( ) = .
El teorema 5 motiva un método, análogo al empleado en el caso de variable
unidimensional, para encontrar puntos óptimos. Este método consiste en determinar los
puntos en los cuales el gradiente se hace cero. Sin embargo, como en el caso
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.
Definición 6: Un punto a para el cual ∇f () = se conoce como punto estacionario
de f. Un punto estacionario se llama de silla (o de ensilladura) si toda n-bola B(a)
contiene puntos x tales que f(x) < f(a) y otros para los cuales f(x) > f(a).
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.
Dadas n parejas ordenadas distintas ( x1 , y1 ), ( x 2 , y 2 ), ... , ( x n , y n ) no siempre es posible
encontrar una recta f ( x) = mx + b que pase por todos los puntos ( xi , y i ) . Sin embargo,
pueden calcularse las constantes m y b de tal manera que la recta f ( x) = mx + b se
ajuste de la mejor manera a la colección de puntos.
Antes de resolver el problema se considerará el mejor criterio según el cual se puede
afirmar que la recta “se ajusta de la mejor manera”. En cada punto el error cometido
será igual a la diferencia entre el valor generado por la fórmula f ( x) = mx + b y el valor
tabulado, esto es, ei = f ( xi ) − y i = mxi + b − y i . Véase la figura 7.
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
i =1
f ( xi ) − y i
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
i =1
f ( xi ) − y i
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
i =1
( f ( x i ) − y i )2 =
n
i =1
(mxi + b − yi )2
El problema se concreta entonces a determinar las constantes m y b de tal manera que se
minimice
S(m, b) =
n
i =1
Solución:
(mxi + b − yi )2
n
∂S
= 2 (mxi + b − yi )xi
∂m
i =1
n
∂S
= 2 (mxi + b − y i )
∂b
i =1
igualando estas derivadas parciales a cero se obtiene
14
m
n
n
xi2 + b
i =1
n
m
xi =
i =1
xi + nb =
i =1
n
xi y i
i =1
n
yi
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
b=
yi − m
i =1
n
m
x +
i =1
2
i
yi − m
i =1
xi
i =1
n
reemplazando en la primera
n
n
n
xi
i =1
n
n
xi =
i =1
n
xi y i
i =1
despejando m
n
n
m=
xi y i −
i =1
i =1
i =1
yi
i =1
n
n
xi
i =1
x −
2
i
=
2
n
n
n
xi
n
i =1
n
xi y i −
n
x −
i =1
2
i
n
i =1
xi
n
i =1
n
i =1
yi
2
xi
n
resumiendo
n
n
m=
i =1
n
xi yi −
n
i =1
n
xi
i =1
x −
i =1
i =1
n
yi
y
2
n
2
i
n
b=
xi
i =1
yi − m
n
i =1
xi
n
es la solución pedida. Cualquier hoja de cálculo o calculadora científica genera estás
cantidades a partir de los datos introducidos. En consecuencia, la recta de regresión es
Λ
f ( xi ) = Yi = mxi + b
Ejemplo 10: Demuestre que para la recta de regresión encontrada en el ejemplo
anterior se tiene
n
f ( xi ) − y i = 0
i =1
Solución:
n
f ( xi ) − y i =
i =1
m
n
i =1
xi + nb −
n
i =1
n
i =1
Λ
Yi − y i =
yi =
15
n
i =1
mxi + b − y i =
m
n
i =1
xi +
n
i =1
yi − m
n
i =1
xi −
n
i =1
yi = 0
Aunque se ha trabajado únicamente la regresión de tipo lineal en dos variables, el
enfoque de los mínimos cuadrados puede extenderse directamente a polinomios de
grado n (en el caso de que se tengan n + 1 puntos el polinomio de regresión será
precisamente el polinomio de colocación), el grado del polinomio puede establecerse
por algún resultado teórico, alguna expectativa o por la aplicación que se le pretenda
dar. Mediante transformaciones, problemas no lineales pueden adaptarse para hacer
regresión lineal a datos que, por ejemplo, se ajusten aproximadamente a una
exponencial del tipo y = ab cx , ya que, evaluando en ambos lados logaritmos de base b
se obtiene log b y = log b a + cx y haciendo las sustituciones Y = log b y y A = log b a se
llega a una ecuación de tipo lineal. También es posible trabajar en más de dos
dimensiones encontrando, ya no la recta, sino el hiperplano que mejor se ajusta a una
“nube” de puntos en R n .
Condiciones necesarias y suficientes para la existencia de puntos
óptimos
El método empleado en el ejemplo 9 se limitó a determinar un punto estacionario de f.
Las derivadas parciales están definidas en todo el plano y, en consecuencia, este punto
estacionario es único. Consideraciones teóricas propias del caso particular que se estaba
tratando permitían concluir que la solución existía. Por lo tanto se asumió que en este
punto se presenta el mínimo buscado. Este procedimiento es lícito. Sin embargo, este no
es siempre el caso: la existencia de varios puntos estacionarios puede hacer necesario
que se clasifiquen en máximos, mínimos o puntos de silla. También puede ocurrir que el
modelo matemático no garantice la existencia de la solución y, en consecuencia, en los
puntos estacionarios hallados pueden presentarse puntos de silla u óptimos de naturaleza
contraria a los buscados. Estas consideraciones hacen que sea necesario contar con un
criterio de clasificación de los puntos estacionarios. Las definiciones y el teorema, sin
demostración, que se presentan en seguida suplen esta necesidad.
Definición 7: La matriz n x n de las segundas derivadas parciales de f es llamada
matriz hessiana y se designa por H(x). Así, se tiene
∂ 2 f ( )
∂x12
∂ 2 f ( )
H ( ) = ∂x ∂x
2
1
∂ 2 f ( )
∂x1∂x 2
∂ 2 f ( )
∂x 22
∂ 2 f ()
∂x1∂x n
∂ 2 f ()
∂x 2 ∂x n
∂ 2 f ( )
∂x n ∂x1
∂ 2 f ( )
∂x n ∂x 2
∂ 2 f ()
∂x n2
16
Definición 8: Dada la matriz A n x n se define el k-ésimo menor principal de A como
a11
a 21
a12
a 22
a1k
a2k
a k1
ak 2
a kk
k = 1,2, . . . , n
Definición 9: Dada la matriz simétrica A n x n se dice que A es:
1. definida positiva si los valores de los menores principales de A son positivos
(no negativos).
2. definida negativa si el valor del k-ésimo menor principal tiene signo (−1) k
Teorema 6: sea a un punto estacionario de f entonces
1. Si H(a) es definida positiva f tiene un mínimo en a.
2. Si H(a) es definida negativa f tiene un máximo en a.
Ejemplo 11: encuentre los puntos óptimos de la función
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
tiene como solución el vector a = (1/2, 2/3, 4/3), entonces
−2
H (
) =
0
0
0
0
−2 1
1 −2
los menores principales de H tienen valores -2, 4, -6. Según la definición 9, H es
definida negativa. Aplicando el teorema 6 se concluye que f tiene un máximo en a.
Ejemplo 12: Determine el punto del plano x + 2y + z = 1 más cercano al origen.
Solución: El problema puede representarse como
minimizar f (x, y, z) = x 2 + y 2 + z 2
17
sujeto a
x + 2y + z = 1
despejando z en la restricción se tiene z = 1- x - 2y , reemplazándola en la función
objetivo queda
f = x 2 + y 2 + (1 − x − 2 y ) 2
calculando las derivadas parciales e igualando a cero
∂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.
H () =
4
4
4 10
Los menores principales de H son 4 y 24. Por consiguiente H es definida positiva y f
tiene un mínimo en a. Hecha esta confirmación se puede afirmar que el punto solución
es (1/6, 1/3, 1/6).∗
Ejemplo 13: encuentre los puntos estacionarios de
f (x, y, z) = 2xyz - 4xz - 2yz + x² + y² + z² - 2x - 4y + 4z.
Solución: calculando las derivadas parciales e igualando a cero
∂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
Para resolver este sistema no lineal de 3 ecuaciones con 3 incógnitas se emplea el
método de sustitución.
Despejando x en la primer ecuación
x = 1 – yz + 2z
reemplazando en la segunda
2(1 – yz + 2z)z - 2z + 2y - 4 = 0
haciendo el producto, simplificando y factorizando
z²(4 - 2y) + 2y – 4 = 0
factorizando de nuevo
(4 – 2y)(z² - 1) = (4 – 2y)(z - 1)(z + 1) = 0
de esta última igualdad se concluye que
y = 2 o z = 1 o z = -1.
Reemplazando x en la segunda ecuación
2(1 – yz + 2z)y – 4(1 – yz + 2z) - 2y + 2z + 4 = 0
simplificando y factorizando
en consecuencia
z(y² - 4y + 3) = z(y – 3)(y - 1) = 0
z = 0 o y = 3 o y = 1.
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.
Utilización de métodos numéricos en la determinación de puntos
estacionarios
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.
Método de Newton para sistemas de ecuaciones
Dado el sistema de n ecuaciones F(x) = 0, donde
( ) =
f1 ( )
f 2 ( )
f n ( )
El método de Newton para sistemas consiste en la aplicación de la ecuación recursiva
k = k −1 − [J ( k −1 )] ( k −1 )
−1
en donde 0 es un punto próximo a la raíz buscada y
∂f 1 ( )
∂x1
∂f 2 ( )
J ( ) = ∂x1
∂f1 ( )
∂x 2
∂f 2 ( )
∂x 2
∂f 1 ( )
∂x n
∂f 2 ( )
∂x n
∂f n ( )
∂x1
∂f n ( )
∂x 2
∂f n ( )
∂x n
Ejemplo 14: Encuentre los puntos estacionarios de
f (x, y, z) = 2x² + y² + z² + 6(x + y + z) + 2xyz
Solución: Calculando las derivadas parciales e igualando a cero
∂f
= 4x + 2yz + 6 = 0
∂x
∂f
= 2y + 2xz + 6 = 0
∂y
∂f
= 2z + 2x y + 6 = 0
∂z
Para aplicar el método de Newton se construye la matriz J
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
J (0,0,0) = 0 2 0
0 0 2
y
1/ 4
[J (0,0,0)]
−1
=
0
0
0
0
1/ 2 0
0 1/ 2
además
6
F(0, 0, 0) = 6
6
se tiene entonces
1/ 4
1 = (0, 0, 0) -
Iteración (i)
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
0
0
0
0
1/ 2 0
0 1/ 2
Xi
0
-1.5
-0.31578947
6.5843733
3.11386779
1.82175404
-1.38308621
0.95034839
-1.33794065
-3.47952806
-2.88978861
-2.83385015
-2.83556311
-2.83557496
-2.83557496
6
6 = (-3/2, -3, -3)
6
Yi
0
-3
-1.10526316
6.76180141
2.69855772
0.11834204
-0.92876013
2.17392051
1.01241321
2.46146365
1.79535061
1.6406222
1.63437
1.63436529
1.63436529
Tabla 2
Zi
0
-3
-1.10526316
6.76180141
2.69855772
0.11834204
-0.92876013
2.17392051
1.01241321
2.46146365
1.79535061
1.6406222
1.63437
1.63436529
1.63436529
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.
De manera análoga al caso unidimensional los óptimos de una función f de variable
multidimensional, f : S → R, S ⊂ R n , también pueden presentarse en aquellos puntos
para los cuales no existen las derivadas parciales o que corresponden a la frontera. El
propósito del ejemplo 15 es ilustrar esta situación.
Ejemplo 15: Dada f ( x, y ) = x 2 + y 2 definida en {(x, y) / x² + y² ≤ 4} que aparece
graficada en la figura 10
22
Figura 10
es evidente que presenta un mínimo en (0, 0), punto en el cual las derivadas parciales
∂f
=
∂x
x
x +y
2
2
y
∂f
=
∂y
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.
Extremos restringidos. Multiplicadores de Lagrange
De la misma manera que la derivada unidimensional f (a) representa la pendiente de la
recta tangente a la curva f(x) en el punto (a, f(a)), el vector gradiente tiene una
interpretación geométrica que es útil en el momento de dar una motivación del método
conocido como de los multiplicadores de Lagrange. El vector gradiente ∇f ( ) es un
vector normal (perpendicular) al plano tangente a la superficie f(x) en el punto (a, f(a)).
Este hecho se ilustra en la figura 11.
Figura 11
Se introducen las ideas del método mediante la solución de un problema de aplicación.
23
Ejemplo 15: Encuentre los puntos de la superficie z² - xy = 1 más próximos al origen.
Solución: Al plantear el problema de la forma
1
Minimizar (x² + y² + z²) 2
Sujeto a z² - xy = 1
Se hace evidente que se trata de un problema de optimización con restricciones. Un
punto (x, y, z) se encuentra a una distancia r del origen si, y solo si, está en la esfera
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
se tiene que la superficie queda definida por g(x, y, z) = 0 y que
∇f = λ ∇g
en consecuencia
( 2 x, 2 y , 2 z ) = λ ( − y , − x, 2 z )
que equivale a las 3 ecuaciones
2x = -λy
2y = -λx
2z = 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).
El método empleado en la solución del ejemplo 15 se generaliza de la siguiente manera.
Método de los multiplicadores de Lagrange
Si f : S → R, S ⊂ R n tiene un óptimo relativo cuando está sometida a m condiciones
g1 ( x1 ,..., x n ) = 0,..., g m ( x1 ,..., x n ) = 0
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 problema se plantea de la siguiente manera:
Minimizar 3xz + xy + 6yz
Sujeto a
x/5-y/2=0
xyz-12 = 0
en donde f (x, y, z) = 3xz + xy + 6yz, g1 ( x, y, z ) = x / 5 − y / 2 y g 2 ( x, y, z ) = xyz − 12 .
Entonces
∇f = (3 z + y, x + 6 z ,3 x + 6 y ) , ∇g1 = (1 / 5,−1 / 2,0) y ∇g 2 = ( yz , xz , xy )
El sistema
∇f = λ1∇g1 + λ2 ∇g 2
g 1 ( x, y , z ) = 0
g 2 ( x, y , z ) = 0
es un sistema de 5 ecuaciones con 5 incógnitas de solución dispendiosa. Sin embargo,
empleando un paquete matemático (en este caso Derive) se obtiene la solución:
25
1
1
1
3 * 60 3
3 * 60 3
2 * 60 3
x=
, y=
y z=
2
5
9
Al no contarse con un paquete matemático este problema puede simplificarse
despejando x en la primera restricción y reemplazándola en la función objetivo y en la
segunda restricción, con lo cual se obtiene un problema en dos variables con una
restricción. Aún más, este nuevo problema puede a su vez simplificarse despejando z y
se tiene un problema en una sola variable sin restricciones. Sin embargo, el método de
los multiplicadores de Lagrange está concebido para resolver problemas en los cuales es
imposible hacer tales simplificaciones.
Optimización no clásica variable multidimensional
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.
Método del gradiente
Existe una relación fundamental entre la derivada direccional y el gradiente la cual es
expresada en la siguiente fórmula
f ' (; ) = ∇f ( ) ⋅ = ∇f ( ) cos θ = ∇f ( ) cos θ
donde θ es el ángulo formado por f (a) e y. La figura 13 proporciona una ilustración
gráfica del hecho
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.
Ejemplo 17: Maximice la función
f(x, y) = 4x + 6y – 2x² -2xy – 2y²
Solución: comenzando en el punto inicial (0, 0) y considerando que
f (x, y) = (4 – 4x – 2y, 6 – 2x – 4y)
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
f (4p, 6p) = 16p + 36p – 32p² - 48p² - 72p² = 52p – 152p²
derivando e igualando a cero
52 – 304p = 0 entonces p = 52/304 = 13/76
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)
con lo que el nuevo punto es
(13/19, 39/38) + p(-15/19, 10/19) = (13/19 - 15p/19, 39/38 + 10p/19)
entonces
f (13/19 - 15p/19, 39/38 + 10p/19) = -( 700p² - 650p – 3211) / 722
derivando, igualando a cero y despejando se obtiene p = 13/28 con lo que el nuevo
punto es (169/532, 169/133) con f (169/532, 169/133) = 169/38 = 4.656361297.
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
f (a, b) = (4 – 4a – 2b, 6 – 2a – 4b)
entonces el nuevo punto es
(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
p=
5a 2 + 2a (4b − 7) + 5b 2 − 16b + 13
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
Iteración
0
1
2
3
4
5
6
7
8
9
10
11
12
f(X)
X
0
0.68421053
0.54916898
0.47572532
0.42700188
0.39495765
0.37387564
0.3600059
0.35088108
0.3448779
0.34092844
0.33833012
0.33662069
0
1.02631579
1.11634349
1.19097172
1.23966398
1.27170903
1.29279102
1.30666076
1.31578559
1.32178876
1.32573822
1.32833655
1.33004598
0
4.44736842
4.57299572
4.62612436
4.64911892
4.65907156
4.66337931
4.66524381
4.66605082
4.66640011
4.6665513
4.66661673
4.66664505
f(X)
p
4
-0.78947368
-0.42936288
-0.28484473
-0.1873355
-0.12324868
-0.08108462
-0.05334514
-0.03509549
-0.02308914
-0.01519022
-0.00999357
-0.00657472
6
0.52631579
0.43628809
0.28466249
0.1873403
0.12324856
0.08108462
0.05334514
0.03509549
0.02308914
0.01519022
0.00999357
0.00657472
32
0.33333409 1.33333257 4.66666667
-1.52E-06
1.52E-06
33
0.33333383 1.33333283 4.66666667
-9.98E-07
9.98E-07
Tabla 3
0.1710526
0.4642857
0.499936
0.4999999
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.5
En la tabla 3 se ve que el algoritmo converge efectivamente hacia la solución (1/3, 4/3)
–la cual puede encontrarse de forma analítica- mientras que el gradiente tiende a cero
como es de esperarse que ocurra en un punto óptimo.
28
Programación separable
La idea de la programación separable para resolver un problema de P.N.L. es construir
una aproximación lineal del problema, esto es, un problema de programación lineal, y
resolver este para encontrar una aproximación a la solución de aquel.
Definición 10: Una función f (x) donde = ( x1 , x 2 ,..., x n ) se dice separable si cumple
la condición:
n
f ( ) =
Ejemplo 18:
escribirse
donde
La función
i =1
f i ( xi )
(4)
f ( x1 , x 2 ) = 2 x12 + 3 x1 + 4 x 2 es separable pues puede
f ( x1 , x 2 ) = f 1 ( x1 ) + f 2 ( x 2 )
f 1 ( x1 ) = 2 x12 + 3 x1 y f 2 ( x 2 ) = 4 x 2
Supongamos que en el problema de optimización
Maximizar z = f (x)
Sujeto a
<
g j ( ) b j j = 1,..., m
>
xi ≥ 0 i = 1,2,..., n
(5)
la función objetivo y las restricciones son separables. El problema adquiere entonces la
forma
Maximizar z =
n
i =1
f i ( xi )
Sujeto a
n
i =1
Al hacer la descomposición f ( ) =
<
g ji ( xi ) b j j = 1,..., m
>
xi ≥ 0 i = 1,2,..., n
n
i =1
(6)
f i ( xi ) cada f i puede ser lineal o no. En caso de
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 ),
aproximación lineal de la función f (x).
__________ ______
, f ( x r −1 ), f ( x r ) es una
Λ
Para estudiar f ( x) se selecciona el intervalo arbitrario [ x k , x k +1 ] para el cual se tiene
Λ
f ( x) = f ( x k ) +
f ( x k +1 ) − f ( x k )
( x − x k ) (7)
x k +1 − x k
Por otra parte si x
[ x k , x k +1 ] entonces x puede ser representado como combinación
convexa de los extremos del intervalo. Se tiene entonces
x = λx k +1 + (1 − λ ) x k 0 ≤ λ ≤ 1 (8)
Sustituyendo (8) en (7) queda
Λ
f ( x) = f ( x k ) +
f ( x k +1 ) − f ( x k )
(λx k +1 + (1 − λ ) x k − x k ) 0 ≤ λ ≤ 1
x k +1 − x k
o
Λ
f ( x) = f ( x k ) +
f ( x k +1 ) − 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)
Como se está analizando el intervalo [ x k , x k +1 ] se definen λ k +1 = λ y λ k = 1 − λ con lo
cual (8) y (9) toman la forma
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 .
En general para cualquier x
[a, b] se puede escribir
x=
r
k =0
r
Λ
λk xk y
f ( x) =
k =0
λk f ( xk )
(10)
r
donde
k =0
λi = 1 y λ k ≥ 0 k = 0,1,
,r
con la condición de que máximo dos λ k sean positivos, en cuyo caso deben ser
adyacentes.
Empleando (10) en el problema (6) se obtiene un problema aproximado de naturaleza
lineal el cual tiene la siguiente representación:
n
Maximizar z =
r
i =1 k = 0
λik f i ( xik )
Sujeto a
n
r
i =1
r
k =0
k =0
<
>
λik g ji ( xik ) b j j = 1,..., m
λik = 1 i = 1,
λik ≥ 0, k = 0,
(11)
,n
, 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.
Ejemplo 18: Dado el problema separable
Maximizar z = 2 x1 − x12 + x 2
Sujeto a
2 x12 + 3 x 22 ≤ 6
x1 , x 2 ≥ 0
constrúyase y resuélvase el problema lineal aproximado.
Solución: en primer lugar se separan la función objetivo y la restricción así:
31
f 1 ( x1 ) = 2 x1 − x12
f 2 ( x2 ) = x2
g1 ( x1 ) = 2 x12
g 2 ( x 2 ) = 3 x 22
es necesario también encontrar los intervalos de definición de x1 y x 2 . De la restricción
2 x12 + 3 x 22 ≤ 6
se tiene, por una parte
6 − 3 x 22
2
x1 ≤
de donde 6 − 3 x 22 ≥ 0 o x 2 ≤ 2 ≈ 1.4142 .
De manera análoga
x2 ≤
6 − 2 x12
3
de donde 6 − 2 x12 ≥ 0 o x1 ≤ 3 ≈ 1.7320 . Por comodidad se toman los rangos
0 ≤ xi ≤ 2 i = 1, 2.
Para r = 8 se tiene la tabla 4
k
0
1
2
3
4
5
6
7
8
Xk
0
0.25
0.5
0.75
1
1.25
1.5
1.75
2
f1(x1)
0
0.4375
0.75
0.9375
1
0.9375
0.75
0.4375
0
f2(x2)
0
0.25
0.5
0.75
1
1.25
1.5
1.75
2
Tabla 4
g1(x1)
0
0.125
0.5
1.125
2
3.125
4.5
6.125
8
g2(x2)
0
0.1875
0.75
1.6875
3
4.6875
6.75
9.1875
12
con lo cual (11) para este caso particular asume la forma:
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
x0 = λ10 ,
, x8 = λ18 , x9 = λ 20 ,
, x17 = λ 28
La salida de MPL con la solución de este problema es:
se tiene entonces que
λ13 = 1, λ 2 5 = 0.9091 y λ 2 6 = 0.0909
se ve que la solución satisface la propiedad de adyacencia. De acuerdo con (10) se tiene
entonces que la solución aproximada es:
x1 = 1 × 0.75 = 0.75 y x 2 = 0.9091 × 1.25 + 0.0909 × 1.5 = 1.272725
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
x 2 = z − 2 x1 + x
2
1
entonces
dx 2
= −2 + 2 x1
dx1
x2 =
y
6 − 2 x12
3
dx 2
− 2 x1
=
dx1
3 6 − 2 x12
y
igualando las derivadas se obtiene la ecuación
− 2 + 2 x1 +
2 x1
3 6 − 2 x12
=0
aplicando el método de Newton con un valor inicial de 1 se obtiene
de donde
x1 = 0.7905721355
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
La precisión del método puede mejorarse resolviendo dos problemas consecutivos, el
primero con menos divisiones en los intervalos de definición de las variables (una
aproximación no tan refinada) con el objetivo de determinar una aproximación al
óptimo. El segundo, con divisiones más finas, en un entorno del punto encontrado en el
primer problema, incluyendo las restricciones necesarias.
Algoritmos Genéticos: un cambio de paradigma
A finales de los 50 y comienzos de los 60 del siglo pasado, biólogos evolutivos, en un
intento de simular los mecanismos de la evolución biológica, programaron los primeros
algoritmos que hoy se conocen como genéticos. Sin embargo, en un primer momento no
pensaron que estas técnicas podrían emplearse en la solución de problemas de búsqueda
u optimización. En 1965 surgió un desarrollo más exitoso, cuando Ingo Rechenberg,
entonces de la Universidad Técnica de Berlín, introdujo una técnica que llamó estrategia
evolutiva. En esta técnica no había población ni cruzamiento; un padre mutaba para
producir un descendiente, y se conservaba el mejor de los dos, convirtiéndose en el
padre de la siguiente ronda de mutación.
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.
Un algoritmo genético (AG) es una técnica de programación que imita a la evolución
biológica como estrategia para resolver problemas. Dado un problema específico a
resolver, la entrada del AG es un conjunto de soluciones potenciales a ese problema,
codificadas de alguna manera, y una función de aptitud que permite evaluar
cuantitativamente a cada candidata. Estas candidatas pueden ser soluciones que ya se
sabe que funcionan, con el objetivo de que el AG las mejore, pero también pueden
haber sido generadas de manera aleatoria.
Luego el AG evalúa cada candidata de acuerdo con la función de aptitud. En un
conjunto de candidatas generadas de manera aleatoria, muchas tendrán desempeños
poco satisfactorios y serán eliminadas. Sin embargo, por puro azar, unas pocas pueden
ser prometedoras.
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).
Los conceptos de codificación, cruzamiento y mutación, así como algunas de las
ventajas de los AG serán discutidos de manera simultánea con la solución de un
ejemplo.
Ejemplo 19 Maximizar
f ( x1 , x 2 ) = 21.5 + x1 sen(4πx1 ) + x 2 sen(20πx 2 )
Sujeto a
− 3 ≤ x1 ≤ 12.1
4.1 ≤ x 2 ≤ 5.8
Solución: en primer lugar se hace una gráfica de la función objetivo
Figura 15
En la figura 15 puede apreciarse la gran cantidad de máximos y mínimos relativos que
presenta la función en su dominio. El procedimiento clásico nos lleva a igualar las
derivadas parciales a cero, con lo cual se tiene el sistema no lineal
4π x cos(4π x) + sen(4π x) = 0
20π x cos(20π x) + sen(20π 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
Punto inicial (x, y)
Solución encontrada
Clase de P. Est
-3
4.1 -0.390978477 1.025247045 Fuera del dominio
-2.5
4.5 -0.634922044 1.125225098 Fuera del dominio
-2.5
4.7 -0.634922044 1.175215524 Fuera del dominio
0
5
0 0.625404935 Fuera del dominio
5
5 0.634922044 0.625404935 Fuera del dominio
12.1
5.8 12.12552224 0.725349159 Fuera del dominio
Tabla 5
A pesar de que la gráfica indica la existencia de una gran cantidad de óptimos en el
dominio, para todos los puntos iniciales dados el método de Newton converge en puntos
que están por fuera del dominio.
Ahora se mostrará la manera de emplear un algoritmo genético para resolver el
problema.
Codificación: la codificación se hace mediante numeración binaria (cadenas de bits).
Para el intervalo [a, b] con una precisión de cinco cifras decimales, se tiene un total de
(b − a ) × 10 5
puntos a codificar. Para ello se determina m tal que
2 m −1 < (b − a ) × 10 5 ≤ 2 m − 1
Lo cual puede hacerse fácilmente empleando logaritmos en base 2. Si x
[ a, b]
entonces x puede escribirse como x = a + λ(b - a) donde 0 ≤ λ ≤ 1 (combinación
convexa). El mayor valor decimal que puede tener una cadena de n bits es 2n – 1, por
lo tanto 0 ≤ valor decimal(cadena n bits) / (2n – 1) ≤ 1, entonces, para cualquier cadena
de n bits, se tiene que el número
x= a+
valor _ decimal (cadena n bits )
(b − a )
2n − 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
(12.1 − (−3)) × 10 5 = 151.000
log 2 (151.000) = 17.204189
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
Población inicial: se empleará una población inicial de 10 individuos generada de
manera aleatoria
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
Cada cadena de 33 bits es descompuesta en dos, una de 18 y otra de 15 bits
respectivamente y para cada una de ellas se calcula su valor decimal.
1. 232991
2. 88730
3. 31095
4. 237217
5. 66030
6. 53784
7.
6895
8. 150766
9. 134710
10. 136062
27547
6412
17829
5027
14262
22562
402
16493
14787
5551
Mediante la fórmula
x= a+
valor _ decimal (cadena n bits )
(b − a )
2n − 1
cada número de la lista anterior es llevado al correspondiente intervalo de definición. Se
obtiene:
1. 10.4208 5.52918
2. 2.11104 4.43266
3. -1.20886 5.02499
4. 10.6642 4.36081
38
5. 0.80347
6. 0.098074
7. -2.60283
8. 5.68445
9. 4.75959
10. 4.83746
4.83993
5.27055
4.12086
4.95568
4.86717
4.38799
Evaluación: la función objetivo es evaluada en cada pareja para medir su desempeño.
1. f(10.4208 , 5.52918 ) = 18.0964
2. f(2.11104 , 4.43266 ) = 27.5072
3. f(-1.20886 , 5.02499 ) = 27.1225
4. f(10.6642 , 4.36081 ) = 28.1568
5. f(0.80347 , 4.83993 ) = 23.8611
6. f(0.098074 , 5.27055 ) = 16.5267
7. f(-2.60283 , 4.12086 ) = 27.9845
8. f(5.68445 , 4.95568 ) = 23.9393
9. f(4.75959 , 4.86717 ) = 16.638
10. f(4.83746 , 4.38799 ) = 14.1858
Selección: la aptitud de un individuo se determina de acuerdo a su comportamiento en
la función objetivo. Si se representa el desempeño de acuerdo a la longitud de un
segmento de recta se tiene, para el caso de 3 individuos
Figura 17
luego se escalan las cantidades para que la suma sea 1.
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
Para el caso de la figura 19 el individuo elegido para pasar a la siguiente generación es
b.
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
Ahora se coloca un intervalo a continuación del otro sumando sus longitudes
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
Se generan 10 números aleatorios y de acuerdo a su valor se indica que individuo pasa a
la siguiente generación.
1.
2.
3.
4.
5.
6.
7.
0.353679
0.562273
0.911527
0.865902
0.714621
0.378155
0.222755
40
4
6
9
9
7
4
3
8. 0.290262 3
9. 0.462966 5
10. 0.781793 8
Se tiene la nueva población
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
Se determina de manera aleatoria un punto de corte y a partir de él las cadenas padres
intercambian sus bits para obtener las cadenas hijos. Los hijos reemplazan a los padres
en la población. En este caso se seleccionaron los puntos de corte 5 y 11.
Población luego del cruce de 3 con 7 (punto de corte 5) y 8 con 10 (punto de corte 11).
1.
2.
3.
4.
5.
6.
7.
111001111010100001001001110100011
001101001000011000101100000100010
100000100101110111100010110100101
100000111000110110011100111000011
000001101011101111000000110010010
111001111010100001001001110100011
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
y consiste simplemente en trocar el bit elegido de 0 a 1 o viceversa (puede hacerse
simplemente aplicando la fórmula gen_nuevo = 1-gen_original). En este caso fue
elegido para mutar el gen 6 del cromosoma (individuo) 2.
Población luego de la mutación
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:
1. f(10.6648 , 4.36109 )= 28.0581
2. f(-0.137743 , 5.27078 )= 16.5494
3. f(4.68953 , 5.02526 )= 29.755
4. f(4.7602 , 4.8674 )= 16.569
5. f(-2.60279 , 4.12111 )= 28.0005
6. f(10.6642 , 4.36108 )= 28.0984
7. f(-1.13902 , 4.86738 )= 18.3006
8. f(-1.20905 , 4.95594 )= 20.2886
9. f(0.803744 , 4.84019 )= 23.7965
10. f(5.68524 , 5.02522 )= 30.6572
Se ha ejecutado el algoritmo 3 veces y en cada una de ellas se han realizado 1000
generaciones (iteraciones), el resultado se muestra en la tabla 5
42
x
11.6302
11.629
11.6273
Obtenido en
f(x, y)
la iteración
38.8278
381
38.6348
426
38.7508
490
y
5.7246
5.52438
5.72797
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.
Las probabilidades de cruce y mutación no son restrictivas, al resolver un problema en
particular puede ejecutarse varias veces el algoritmo, variando estos parámetros y
observando los resultados.
Características de los algoritmos genéticos
1.
2.
3.
4.
Son independientes del problema particular que se esté resolviendo.
El proceso de mutación evita que caigan en mínimos locales.
Son de fácil programación.
Solo pueden emplearse cuando la optimización se restringe a un área concreta.
43
Conclusiones
Durante el desarrollo del trabajo fue surgiendo, de manera natural, la necesidad de
emplear hojas de cálculo, paquetes matemáticos y lenguajes de programación, para
lograr aplicar la teoría desarrollada. Este hecho permite concluir que la PNL está
compuesta, fundamentalmente, de dos elementos complementarios: el análisis
matemático y la implementación de algoritmos en herramientas informáticas. La
carencia de uno de estos elementos, así este acompañada de una abundante dosis del
otro, tendrá como consecuencia el fracaso de todo intento de lograr resultados
fructíferos.
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
1. [All88] Allen W, Análisis Numérico, Naucalpan de Juárez, Edo. de
Méjico: Prentice Hall (1988).
2.
[Apo77] Apostol Tom, Análisis matemático, Barcelona España: Reverté
(1977).
3. [Apo86] Apostol Tom, Calculus, Barcelona España: Reverté
(1986).
4. [Arm85]Armitano Orlando, Programación no lineal, Méjico, D.F.: Limusa
(1985).
5. [Bur98] Burden Richard, Análisis Numérico, Méjico, D.F.: Thomsom
(1998).
6. [Pra00] Prawda Juan, Métodos y modelos de Investigación de Operaciones,
Méjico, D.F.: Limusa (2000).
7. [Tah95] Taha Hamdy, Investigación de Operaciones, Méjico, D.F.:
Alfaomega (1995).
45
Descargar