Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introducción A La Programación Lineal: Claudia Liliana Daza Garzón
Introducción A La Programación Lineal: Claudia Liliana Daza Garzón
2 de junio de 2005
Tabla de contenido
Introduccin__________________________________________________________ 3
Programacin no lineal_________________________________________________ 4
Optimizacin clsica variable unidimensional_______________________________ 4
Utilizacin de mtodos numricos en la determinacin de puntos crticos___________ 10
Conclusiones ________________________________________________________ 44
Bibliografa _________________________________________________________ 45
Introduccin
Las matemticas prestan su servicio a la sociedad mediante la elaboracin de modelos
matemticos de la realidad. Esta modelacin consiste en crear un objeto conceptual que
refleje las caractersticas relevantes de un fenmeno para, a partir de tal simplificacin,
llegar a extraer conclusiones que enriquezcan, en algn sentido, el conocimiento que
hasta el momento se tiene del fenmeno. Una modelacin de gran importancia y utilidad
el la modelacin lineal, la cual acude al empleo de funciones lineales para conseguir sus
objetivos. Sin embargo, a medida que crece la complejidad de los fenmenos que nos
rodean, comienza a hacerse necesario modelar fenmenos con los cuales las
aproximaciones lineales son notoriamente ineficaces. Por esta razn es necesario
emplear modelos no lineales que se ajustan de una manera ms precisa a las realidades
de alto grado de complejidad.
Uno de los propsitos fundamentales con los cuales se construyen modelos
matemticos es el de obtener respuestas a problemas de ptimizacin, esto es, a la toma
de decisiones inmejorables. La modelacin lineal tiene en los mtodos smplex 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 fcil recorrido
constituyen ms la excepcin 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
creacin de algoritmos de base puramente matemtica, a otros que mezclan resultados
matemticos con procesos heursticos y, finalmente, como es el caso de los algoritmos
genticos, a emular los procesos de evolucin biolgica, que han llevado a muchas
formas de vida a elevados niveles de complejidad y sosfisticacin, como estrategia para
la resolucin de problemas.
El trabajo, de carcter exploratorio, ha pretendido ser algo ms que una recopilacin
muda de resultados ya plenamente establecidos. No se ha dejado escapar la oportunidad
de hacer, lo que se han considerado, pequeos aportes, en su mayora de tipo
pedaggico. Como su taln de Aquiles puede mencionarse la escasez de los mtodos
tratados, muchos de los cuales ni siquiera estn dentro de los considerados como de alto
rendimiento, sin embargo, la razn ha sido que, como lo indica el nombre, se trata de
una introduccin, que busca llamar la atencin tanto sobre resultados tericos de bajo
nivel que muchas veces se pasan por alto, as como tambin sobre el empleo de las
herramientas informticas, tanto como ayuda para las tcnicas clsicas, as como cuando
son la base de metodologas que estn completamente inspiradas en ellas.
El campo es extenso y fascinante. El trabajo realizado es de dimensiones modestas, pero
aspira a reflejar, al menos en algn momento, algo de la belleza que se encontr en la
etapa exploratoria.
Programacin no lineal
Se puede dar una definicin de programacin no lineal (PNL) por contraposicin con la
programacin lineal (PL). Recurdese que esta ltima trata el problema de optimizar
una funcin lineal f : R n R sujeta a una serie de restricciones tambin lineales. Si el
problema se modifica, cambiando la funcin objetivo y/o, al menos, una de las
restricciones, por no lineales, se cae en el campo de la PNL.
La teora clsica de la optimizacin acude al empleo del clculo diferencial para
determinar los puntos en los cuales la funcin f : R n R asume valores ptimos
(mximos o mnimos).
Luego de unas definiciones esenciales se expondrn algunos resultados tericos as
como ejemplos de solucin de problemas mediante la aplicacin de esta teora. Se
inicia con la teora propia de las variables unidimensionales, pues este campo permite la
comprensin intuitiva de los conceptos y procedimientos empleados, y tambin, porque
algunos de sus resultados tiene aplicacin directa en la extensin de la teora a las
variables multidimensionales.
(o global) en un punto
S si
f ( [ ) f (D )
local) en un punto
f ( [ ) f (D )
para todo x B (D, r ) . El nmero f (D ) se llama mximo relativo de f en S.
De las definiciones 1 y 2 se concluye que todo mximo absoluto es, a su vez, mximo
relativo.
Las definiciones de mnimo absoluto (o global) y mnimo relativo (o local) se hacen
de manera equivalente.
g ( x) =
f ( x ) f (c )
para x c
xc
f ' (c )
para x = c
(1)
que g(c) = 0, para ello se procede por contradiccin: si g(c) > 0, por la propiedad de la
conservacin 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 hiptesis de que f
tiene un extremo en c. De manera similar se demuestra que suponer que g(c) < 0
conduce a la misma contradiccin, por lo tanto g(c) = 0 y como g(c) = f ' (c) ha
concluido la demostracin.
El resultado anterior garantiza que si f tiene un ptimo en c, entonces c es un punto
crtico. El recproco 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 crtico 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 funcin debe hacerse
un trabajo adicional, luego de haber determinado el conjunto de puntos crticos, pues
solo algunos de ellos sern 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 mximo 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 mnimo 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
Solucin: segn el teorema 1 los candidatos a ser puntos ptimos son los puntos
Figura 2
6
Solucin: f ' ( x) = 2 x 1 / 3 =
Figura 3
existe, entonces:
Solucin:
f ' ( x) = 3 x 2 6 x 24
f ' ' ( x) = 6 x 6
Teorema 4: Sea f que posee n-sima derivada continua en el intervalo (a, b).
(a, b) se tiene:
( n 1)
(n)
(n)
Demostracin: 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
frmula de Taylor con resto (con el resto en la forma de Lagrange) se tiene
f ( x ) f (c ) =
(n)
( x1 )
( x c) n , donde x1 (a, b)
n!
(n)
(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
conclusin anloga cuando n es impar y f ( n ) (c) < 0.
Ntese que el teorema 3 es un caso particular del teorema 4. Este hecho puede ser
empleado como nemotecnia para recordar el resultado.
Solucin:
f ' ( x) = 3x 2
entonces
f (0) = 0
f ' ' ( x) = 6 x
entonces
f (0) = 0
f ( 3) ( x ) = 6 0
como 3 es impar y la funcin constante 6 es continua se concluye que en x = 0 no se
presentan ptimos relativos.
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
f ( x) = x 2 cuando su dominio se
Solucin: La figura ilustra el efecto, sobre los puntos ptimos, de restringir el dominio
Figura 4
Solucin: En primer lugar se grafca la funcin 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 funcin est definida en todo , entonces, los puntos crticos son las soluciones de
3x - cos(x) = 0
para resolver esta ecuacin es necesario acudir a los mtodos numricos. En este caso se
emplear el mtodo de Newton. Este mtodo consiste en la aplicacin de la ecuacin
recursiva
f ( xn )
x n +1 = x n
f ' ( xn )
10
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 crtico que se encuentra en [-1, 0].
En virtud de la simetra de f se concluye que el punto crtico 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 analoga con el caso 2 del teorema 2 se concluye que en x = -0.53542824
g tiene un mximo local. Un procedimiento anlogo permite concluir que en
x = 0.53542824 g tiene un mnimo local. Estos resultados confirman lo observado en la
figura 5. (En este ejemplo hemos incurrido en una imprecisin terica al afirmar que x
es igual al nmero encontrado con el mtodo numrico, sin embargo, para efectos
prcticos, este hecho es irrelevante pues la solucin puede ser calculada con la
precisin requerida por el problema que se este resolviendo en el momento. Como
ejemplo se muestra el resultado que se obtiene al emplear Matemtica con una precisin
de 40 decimales: x = -0.5354282441646569523641119303647428750992).
f ( D + h\ ) f ( D )
, h>0
h
11
f
(a1 ,..., a n ) .
x k
En el caso de la variable bidimensional el significado geomtrico de esta derivada es
una generalizacin del caso unidimensional. La figura 6 ilustra la situacin
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) estn
todos contenidos en un plano perpendicular al plano xy que sigue la direccin 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.
Definicin 5: El vector
f ( D ) =
f (D) f (D )
f (D )
,
, ... ,
x1
x 2
x n
12
Ejemplo 9 (mtodo de los mnimos cuadrados): Cada planeta, con una nica
excepcin, se halla entre 1,3 y 2,0 veces tan alejado del Sol en relacin al siguiente
planeta ms cercano. La nica excepcin es Jpiter, el quinto planeta, que se halla 3,4
veces ms alejado de lo que est Marte. Este hecho intrig notablemente a los
astrnomos Podra existir un planeta en el hueco entre Marte y Jpiter? Heinrich
Wilhelm Mathias Olbers, astrnomo alemn, reclut un grupo que planeaba emprender
la bsqueda sistemtica del planeta faltante. Sin embargo, en la noche del 31 de
diciembre de 1800 Giuseppe Piazzi, astrnomo italiano, quien desconoca la existencia
y los propsitos del grupo de Olbers, localiz, en el mencionado hueco, un objeto
celeste que variaba de posicin de un da al siguiente. Lo denomin Ceres y fue el
primer asteroide de que se tuvo noticia. Un mes despus Ceres desapareci detrs del
Sol. En los meses posteriores fue buscado infructuosamente en los cielos. Tres meses
despus apareci exactamente en el lugar en el cual Carl Friedrich Gauss, matemtico
alemn, empleando un mtodo de su invencin para analizar las observaciones hechas,
haba predicho que lo hara. El mtodo inventado por Gauss se denomina de los
mnimos cuadrados, y consiste en una tcnica que se utiliza para encontrar la curva que
se ajusta mejor a un conjunto de resultados experimentales, de manera que sea mnima
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
mtodo.
Figura 7
13
Cualquier mtodo debe, de alguna manera, minimizar el total de los errores cometidos.
En un primer momento podra 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 mnimo 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 excepcin de una
vertical, cumple la condicin de minimizar la suma de los errores, hacindola igual a
cero (ntese que los errores son iguales en magnitud pero de signo contrario).
Figura 8
Una solucin alternativa sera 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 funcin que se define por partes y que, adems, no es derivable
en 0. Todas estas dificultades son superadas con el enfoque de los mnimos 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
S(m, b) =
n
i =1
Solucin:
(mxi + b yi )2
n
S
= 2 (mxi + b yi )xi
m
i =1
n
S
= 2 (mxi + b y i )
b
i =1
xi2 + b
i =1
xi =
i =1
xi + nb =
i =1
xi y i
i =1
n
yi
i =1
Este es un sistema lineal de dos ecuaciones con dos incgnitas, resolviendo por el
mtodo de sustitucin, de la segunda ecuacin se obtiene
n
b=
yi m
i =1
x +
i =1
2
i
yi m
i =1
xi
i =1
reemplazando en la primera
n
xi
i =1
xi =
i =1
xi y i
i =1
despejando m
n
n
m=
xi y i
i =1
i =1
i =1
yi
i =1
n
xi
i =1
x
2
i
n
n
xi
n
i =1
xi y i
n
i =1
2
i
n
i =1
xi
n
i =1
n
i =1
yi
2
xi
resumiendo
n
n
m=
i =1
xi yi
n
i =1
xi
i =1
i =1
i =1
yi
y
2
i
b=
xi
i =1
yi m
n
i =1
xi
f ( xi ) = Yi = mxi + b
f ( xi ) y i = 0
i =1
Solucin:
f ( xi ) y i =
i =1
n
i =1
xi + nb
n
i =1
n
i =1
Yi y i =
yi =
15
n
i =1
mxi + b y i =
n
i =1
xi +
n
i =1
yi m
n
i =1
xi
n
i =1
yi = 0
2 f ([ )
x1x 2
2 f ([ )
2
x 2
2 f ([)
x1x n
2 f ([)
x 2 x n
2 f ([ )
x n x1
2 f ([ )
x n x 2
2 f ([)
2
x n
16
a12
a 22
a1k
a2k
a k1
ak 2
a kk
k = 1,2, . . . , n
Solucin: 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
H (D) =
D
0
0
2 1
1 2
17
sujeto a
x + 2y + z = 1
f
= 4x + 4 y 2 = 0
x
f
= 4 x + 10 y 4 = 0
y
que tiene como solucin 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, caractersticas propias del
problema en particular (en este caso el hecho de que la distancia mnima de un punto a
un plano siempre existe) garantizan que el punto encontrado corresponde a la solucin.
Sin embargo, se harn los clculos que verifican este hecho.
H (D) =
4 10
Nota: este problema pude resolverse acudiendo exclusivamente a argumentos geomtricos. La distancia
mnima de un punto a un plano es la perpendicular del punto al plano. La solucin 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 ecuacin t + 2(2t) + t = 1. La solucin 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 incgnitas se emplea el
mtodo de sustitucin.
Despejando x en la primer ecuacin
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
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 condicin entonces, por la primera condicin,
z = 1 o z = -1. Se tienen, por lo tanto, las parejas (3, 1) y (3, -1). Consideraciones
anlogas 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 obtencin de los puntos (1, 2, 0), (2, 3, -1), (2, 1,
1) y (0, 1, -1) como puntos estacionarios de f.
19
)( [ ) =
f1 ( [ )
f 2 ([ )
f n ([ )
[ k = [ k 1 [J ( [ k 1 )] )( [ k 1 )
1
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
20
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
1/ 4
[J (0,0,0)]
0
0
1/ 2 0
0 1/ 2
adems
6
F(0, 0, 0) = 6
6
se tiene entonces
1/ 4
[ 1 = (0, 0, 0) -
Iteracin (i)
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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 clculos. Ntese que los valores en la iteracin 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 solucin 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 tambin en
este caso existan varias soluciones. Un procedimiento intuitivo consiste en ejecutar las
iteraciones a partir de diferentes puntos en busca de las otras races del sistema, por
ejemplo, a partir del punto (15, -15, 5) se obtiene la solucin x = 1, y = - 4.1925824 y
z = 1.1925824. Como los papeles de y y z en el sistema son simtricos, a partir de esta
ltima solucin se deduce que x = 1, y = 1.1925824 y z = - 4.1925824 tambin es
solucin. Obviamente esta tcnica de ensayo y error no constituye un mtodo de
21
aplicacin general y adems las simetras son extraas. Para evadir estas dificultades, se
puede, en el caso particular del sistema que se est resolviendo, disminuir la dimensin
del problema despejando x en la primera ecuacin y reemplazndola 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
- yz - 3y + 2z + 6 = 0
como para una solucin cualquiera deben satisfacerse simultneamente las dos
ecuaciones, las soluciones se localizan en los puntos de interseccin de las 2 grficas.
Esta situacin se ilustra en la figura 9
Figura 9
As, es posible verificar de forma grfica que las races encontradas son todas las
existentes. Es importante insistir que la tcnica empleada para la resolucin de este
ejemplo no siempre es aplicable. En general es difcil determinar el nmero exacto de
races, como tambin el lugar aproximado en donde se encuentran. Lo que se desea
indicar es que, en la resolucin de cada problema en particular, es aconsejable acudir a
todas las herramientas que sea lcito emplear en el momento.
De manera anloga al caso unidimensional los ptimos de una funcin f de variable
multidimensional, f : S R, S R n , tambin pueden presentarse en aquellos puntos
para los cuales no existen las derivadas parciales o que corresponden a la frontera. El
propsito del ejemplo 15 es ilustrar esta situacin.
22
Figura 10
es evidente que presenta un mnimo en (0, 0), punto en el cual las derivadas parciales
f
=
x
x
x +y
2
f
=
y
y
x + y2
2
no existen. Adems f toma un valor mximo de 2 en todos y cada uno de los puntos de
la frontera.
Figura 11
Se introducen las ideas del mtodo mediante la solucin de un problema de aplicacin.
23
Minimizar (x + y + z) 2
Sujeto a z - xy = 1
Se hace evidente que se trata de un problema de optimizacin 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 funcin 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 solucin
consiste en comenzar con r = 0 e ir aumentando hasta que la esfera sea tangente a la
superficie. Cada punto de contacto ser una solucin 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 mltiplo
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 )
2x = -y
2y = -x
2z = 2z
la cuarta ecuacin est dada por g(x, y, z) = 0 o sea z 2 xy 1 = 0 . Este sistema tiene
como solucin: = 1, x = y = 0, z = 1 o z = -1. Se tienen, en consecuencia, las dos
soluciones (0, 0, 1) y (0, 0, -1).
El mtodo empleado en la solucin del ejemplo 15 se generaliza de la siguiente manera.
24
f = 1g 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 seccin horizontal cuadrada.
2. el volumen total (sin tener en cuenta las particiones) debe ser igual a 12 pulgadas
cbicas.
Figura 12
Solucin:
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 = 1g1 + 2 g 2
g 1 ( x, y , z ) = 0
g 2 ( x, y , z ) = 0
25
3 * 60 3
3 * 60 3
2 * 60 3
x=
, y=
y z=
2
5
9
Al no contarse con un paquete matemtico este problema puede simplificarse
despejando x en la primera restriccin y reemplazndola en la funcin objetivo y en la
segunda restriccin, con lo cual se obtiene un problema en dos variables con una
restriccin. An ms, este nuevo problema puede a su vez simplificarse despejando z y
se tiene un problema en una sola variable sin restricciones. Sin embargo, el mtodo de
los multiplicadores de Lagrange est concebido para resolver problemas en los cuales es
imposible hacer tales simplificaciones.
Figura 13
26
Al tener la derivada direccional la forma f (D ) cos es claro que esta asume un valor
mximo cuando = 0 y un valor mnimo cuando = . O sea que, el valor mximo de
la derivada direccional es f (D ) y ocurre cuando y tiene la misma direccin del
gradiente y el valor mnimo es - f (D ) que ocurre cuando y tiene direccin opuesta al
gradiente. En otras palabras, el gradiente de f en a apunta en la direccin de mximo
crecimiento de f a partir de a, en tanto que f (D ) apunta en la direccin del mximo
decrecimiento de f.
Este importante hecho constituye la base del mtodo del gradiente el cual consiste en
comenzar a partir de un punto inicial, y avanzar en la direccin del gradiente, en el caso
de maximizacin, o en la direccin contraria, en el caso de minimizacin. Una vez
determinada la direccin de avance es necesario escoger la longitud de dicho avance (o
tamao del paso) lo cual constituye, a su vez, un problema de optimizacin de variable
unidimensional. El siguiente ejemplo ilustra el procedimiento.
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 clculo para
obtener la tabla
Iteracin
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)
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
-1.52E-06
1.52E-06
33
-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
28
Programacin separable
La idea de la programacin separable para resolver un problema de P.N.L. es construir
una aproximacin lineal del problema, esto es, un problema de programacin lineal, y
resolver este para encontrar una aproximacin a la solucin de aquel.
Definicin 10: Una funcin f (x) donde [ = ( x1 , x 2 ,..., x n ) se dice separable si cumple
la condicin:
n
f ([ ) =
Ejemplo 18:
escribirse
donde
La funcin
i =1
f i ( xi )
(4)
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
(5)
n
i =1
f i ( xi )
Sujeto a
n
i =1
Al hacer la descomposicin f ( [ ) =
<
g ji ( xi ) b j j = 1,..., m
>
xi 0 i = 1,2,..., n
n
i =1
(6)
no serlo se le hace una aproximacin lineal de la siguiente manera: sea f (x), definida en
[a, b], como aparece en la figura 14
29
Figura 14
Se toma la particin a = x0 < x1 < x 2 <
__________ ______
________________
__________ ______
, f ( x r 1 ), f ( x r ) es una
f ( x) = f ( x k ) +
f ( x k +1 ) f ( x k )
( x x k ) (7)
x k +1 x k
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
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
x=
r
k =0
k xk y
f ( x) =
k =0
k f ( xk )
(10)
donde
k =0
i = 1 y k 0 k = 0,1,
,r
con la condicin de que mximo 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 representacin:
n
Maximizar z =
i =1 k = 0
ik f i ( xik )
Sujeto a
n
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 condicin de que para cada i mximo 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 mtodo smplex (o
algn mtodo equivalente) y se verifica que la solucin satisfaga dicha propiedad.
31
f 1 ( x1 ) = 2 x1 x12
f 2 ( x2 ) = x2
g1 ( x1 ) = 2 x12
2
g 2 ( x2 ) = 3x2
2
6 3x 2
2
x1
2
de donde 6 3 x 2 0 o x 2 2 1.4142 .
De manera anloga
x2
6 2 x12
3
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
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
13 = 1, 2 5 = 0.9091 y 2 6 = 0.0909
z = 2.2102 .
El problema tambin puede ser resuelto por un mtodo grfico anlogo al empleado en
Programacin Lineal. En primer lugar se grafica la regin factible (conjunto de puntos
que satisfacen simultneamente todas las restricciones), luego se grafican las diversas
curvas que se obtienen al asignar algunos valores a la funcin objetivo y, finalmente,
observando el comportamiento de estas ltimas se determina la solucin. La figura 15
ilustra el procedimiento.
33
Figura 15
Se observa que a medida que z va tomando valores cada vez ms grandes la grfica de
la funcin objetivo se desplaza hacia arriba, por lo tanto el punto ptimo es el ltimo
punto de contacto que tiene la regin factible con la funcin objetivo en su camino de
ascenso, este punto cumple la condicin de que en l las dos grficas la de la funcin
objetivo que asciende y la que delimita la regin factible son tangentes. Aplicando lo
aprendido en la seccin 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 funcin objetivo y en la restriccin se tiene
x 2 = z 2 x1 + x
2
1
entonces
dx 2
= 2 + 2 x1
dx1
x2 =
6 2 x12
3
dx 2
2 x1
=
dx1
3 6 2 x12
2 + 2 x1 +
2 x1
3 6 2 x12
=0
de donde
x1 = 0.7905721355
x 2 = 1.258304599
y z = 2.214444568
La tabla 4 contiene una comparacin entre la solucin del problema lineal aproximado y
la solucin del problema original
34
Tabla 4
La precisin del mtodo puede mejorarse resolviendo dos problemas consecutivos, el
primero con menos divisiones en los intervalos de definicin de las variables (una
aproximacin no tan refinada) con el objetivo de determinar una aproximacin al
ptimo. El segundo, con divisiones ms finas, en un entorno del punto encontrado en el
primer problema, incluyendo las restricciones necesarias.
35
Ejemplo 19 Maximizar
f ( x1 , x 2 ) = 21.5 + x1 sen(4x1 ) + x 2 sen(20x 2 )
Sujeto a
3 x1 12.1
4.1 x 2 5.8
Figura 15
En la figura 15 puede apreciarse la gran cantidad de mximos y mnimos relativos que
presenta la funcin en su dominio. El procedimiento clsico 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
Tabla 5
x= a+
est en [a, b]. De esta manera se establece una relacin 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
37
Figura 16
27547
6412
17829
5027
14262
22562
402
16493
14787
5551
Mediante la frmula
x= a+
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
Figura 17
Figura 18
Se colocan los segmentos, uno a continuacin del otro, de manera que llenen el
intervalo [0, 1]. Acto seguido, se generan 10 nmeros aleatorios en [0, 1], el individuo
al que pertenece el intervalo en el cual cay el nmero generado de manera aleatoria
pasa a la siguiente generacin.
39
Figura 19
Para el caso de la figura 19 el individuo elegido para pasar a la siguiente generacin es
b.
Volviendo al ejemplo se tiene que la suma total de las imgenes es 224.018 y para cada
individuo su desempeo 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 continuacin 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 nmeros aleatorios y de acuerdo a su valor se indica que individuo pasa a
la siguiente generacin.
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 poblacin
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 nmero 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 nmero impar de padres se repite la eleccin. Por este mtodo 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
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
Mutacin: por cada gen (bit) se genera un nmero aleatorio, si resulta inferior a 0.01
(probabilidad de mutacin) el gen muta. El mecanismo de mutacin 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 frmula gen_nuevo = 1-gen_original). En este caso fue
elegido para mutar el gen 6 del cromosoma (individuo) 2.
Poblacin luego de la mutacin
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 obtencin de esta nueva generacin termina una iteracin del algoritmo. Los
nuevos valores (convertidos al intervalo de definicin) y sus respectivas imgenes por la
funcin 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 iteracin
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 mtodo 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 razn por la cual, a pesar de que la grfica revela la existencia de una gran
cantidad de ptimos, el mtodo 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
mximo global combinando el algoritmo gentico con la teora clsica.
Las probabilidades de cruce y mutacin no son restrictivas, al resolver un problema en
particular puede ejecutarse varias veces el algoritmo, variando estos parmetros y
observando los resultados.
43
Conclusiones
Durante el desarrollo del trabajo fue surgiendo, de manera natural, la necesidad de
emplear hojas de clculo, paquetes matemticos y lenguajes de programacin, para
lograr aplicar la teora desarrollada. Este hecho permite concluir que la PNL est
compuesta, fundamentalmente, de dos elementos complementarios: el anlisis
matemtico y la implementacin de algoritmos en herramientas informticas. La
carencia de uno de estos elementos, as este acompaada de una abundante dosis del
otro, tendr como consecuencia el fracaso de todo intento de lograr resultados
fructferos.
Otro elemento a tener en cuenta es el hecho de que los textos de clculo, y los cursos
que con base en ellos se dictan, en un afn pedaggico, emplean problemas artificiales,
esto es, problemas que no presentan dificultad alguna en el momento de aplicar la teora
para resolverlos. En el desarrollo del trabajo se ha hecho evidente que tales problemas
artificiales son la excepcin, y no la regla, en las aplicaciones reales. Este punto es
fundamental, pues el enfoque pedaggico 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 teora para adaptarla a una situacin en
particular o en otras palabras, lo aleja de considerar la posibilidad de convertirse en
investigador.
Karl Popper en alguna ocasin afirm que: Los grandes progresos solo tienen lugar
cuando confluyen las disciplinas esta afirmacin motiva llamar la atencin 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 mayora de los casos, a proponer la optimizacin de
una funcin objetivo en presencia de algunas restricciones sin previamente mostrar la
realidad cuya modelacin condujo a ese planteamiento. Algunos mtodos, como el del
gradiente y el de Newton, necesitan comenzar a partir de un punto inicial. Un
conocimiento mas general sobre la realidad modelada permitira poder inferir la regin
en la cual debe ubicarse dicho punto inicial as como sacar conclusiones una vez
obtenida la solucin matemtica.
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 anlisis matemtico y de algoritmia; dominio de herramientas
informticas; adems del conocimiento del rea en la cual surgen los problemas de
optimizacin.
44
Bibliografa
45