RESUMEN
RESUMEN
RESUMEN
CAPITULO 1
INTRODUCCION
El objetivo de esta tesis esta encaminado a que cualquier persona familiarizada con los
conceptos d e programación lineal pueda de una manera comprensible entender las técnicas
de programación no lineal. eliminando las demostraciones matemáticas que ofrecen la mayoría
de los textos especializados en el tema, sin perder la continuidad de las ideas. enfocándose
mas en la aplicación de tales técnicas.
El contenido de esta tesis es contemplado hacia la investigación y/o docencia referente al
área de investigación de operaciones, concretamente a la programación no
lineal.
La metodología de esta tesis consiste en desarrollar bases técnicas de los algoritmos y
modelos no lineales considerados y ejemplos de su aplicación.
La programación lineal cuenta con los algoritmos Simplex y Karmarkar para la resolución de
cualquier problema lineal. siempre y cuando este tenga solución. Desgraciadamente en
programación no lineal no existe un algoritmo matemático que pueda resolver cualquier
problema no lineal. sino que dependiendo de la naturaleza del problema, ya sea de la
función objetivo o de las restricciones si existen en el problema, se aplica un método en
particular para la solución de tal problema.
La teoría de la convergencia de algoritmos, aunque por si misma constituye un tópico
muy importante, no ha sido incluida en esta tesis. enfocada a los aspectos intuitivos
en el desarrollo y formulación de dichos algoritmos. para motivar a la posible aplicación
de kls rnivmos en las diferentes áreas de trabajo.
Un factor que motivo al tema de esta tesis es el no encontrar ninguna elaborada anteriormente
que trate en su totalidad el tema de programación no lineal. donde la literatura que existe
actualmente del tema, especializada. son obras en ingles en su gran mayoría
2
CAPITULO 3
Programación no lineal
Se considera· como tal al conjunto de métodos utilizados para optimizar una función
objetivo, sujeta a una serie de restricciones en los que una o mas de las variables incluidas
es no lineal
Minimizar f(x)
donde f. g1. g, gm. h., h2, •••• , h, son funciones definidas en L,,. el espacio euclidiano
de n dimensiones. X es un subconjunto de E,. y x es un vector de componentes x.,
El problema anterior puede ser resuelto para los valores de las variuhlcs x1,x2 •..•
de las restricciones 𝑔1 (𝑥) para i l.2 ..... m es llamada restricción de desigualdad y cada una
-
Un vector X que satisface todns la, restricciones es ll,1111ad11 una solución lactiblc al
problema.
8
d e programación no lineal es encontrar un punto factible x tal que para cada punto
factible x. Un punto tal x es llamado una solución óptima o simplemente una solución al
forma g;(x) ::> O para i = 1.2, ... .m. En el caso especial cuando la función objetivo es lineal
y cuando tocas las restricciones. incluyendo al conjunto .Y, puede ser representado por
problema lineal.
programación no lineal. Por tal motivo. los problemas no lineales son mucho mas
Programación no lineal
PROGRAMACION LINEAL
2. El punto óptimo nunca esta dentro 2. Hay casos donde el punto óptimo es
de la región de factibilidad.
en el interior de la región
factible.
9
2 2
Minimizar (x, - 3) + (x, - 2)
sujeta a
2 2
Nótese que los puntos (xi, xi) con (x, -
3) + (x, -
2) representan un circulo con radio √𝑐 y
centro (3,2). Este círculo es llamado curva de nivel de la función objetivo teniendo el
valor c.
Puesto que deseamos minimizar e, debemos encontrar el círculo con el radio mas pequeño
que intersecte la región factible. Como muestra la figura el tal circulo mas pequeño
tiene c=2 e intersecta a la región factible en el punto (2.1 ). Por lo tanto la solución
determinando la curva de nivel con el mas pequeño valor objetivo que intersecta la región
factible.
Por otra parte existen algunas condiciones o postulados que se cumplen para los dos
3. Una restricción no puede perjudicar, sino quizá ayudar, al valor óptimo de la función
objetivo,
la función objetivo.
14
Planteamiento de problemas
siguientes capítulos.
compañía cobra x dólares por unidad del producto, los clientes pedirán D(x) unidades.
Para maximizar las ganancias, ¿ Que precio tendrá que poner la compañía?:
Variable:
x
O
C 4
A
P
I
T
U
L
12
Conjuntos
Convexos
Definición:
Un conjunto
X en En se
llnrna un
conjunto
convexo si
dados dos
puntos Xi, x2
en x entonces
,lx1 + (1 - -l.)x2
pertenece al
conjunto X
para cada
AE[O. J].
La
convexidad
de X se puede
interpretar
geométricam
13
La figura 1 muestra que fes convexa si y solo si el segmento de recta que une dos
y=f(x). De manera similar. f(x) es una función cóncava si y solo si el segmento rectilíneo
que une dos puntos cualesquiera de la curva y -f{x), nunca se encuentra por arriba de
esta curva.
diferencial para funciones de una sola variable y mediante la matriz hessiana de f para
Partiendo de este concepto tenemos los dos teoremas siguientes para funciones
Teorema: Supóngase que f"(x) existe para toda x en X. Entonces f{x) es una función
Teorema: Supóngase que f(x) existe para toda x en X. Enionces f(x) es una función
Teorema: supóngase que f(x) tienen derivadas parciales continuas, de segundo orden para
cada punto x (x¡ x, ..... x,) en X. entonces f(x) es una función convexa sobre X si y solo
si para cada x en X los menores principales de H(x) son no negativos.
Teorema: Supóngase que t1x) tiene derivadas parciales continuas de segundo orden para
cada punto x = (x1,x, .... ,x.) en X.
Entonces f(x) es una función cóncava sobre X si y solo si para cada x en X y k : 1.2 .... n,
los menores principales diferentes de cero, tienen el mismo signo que (−1)𝑘 .
de los problemas de programación no lineal, así como también algunos otros tipos de
funciones que son similares a estas, que son generalizaciones de estos conceptos.
Analizaremos estos nuevos conceptos, para luego pasar a analizar las condiciones de
La figura 2 muestra un ejemplo de una función cuasi-convexa, una función cuasi- cóncava
Figura 2
La figura 2a muestra que f es una función cuasi-convexa si es imposible encontrar
tres punto, colineales tal que el punto del centro tiene el mayor valor objetivo al evaluar
tres puntos, colineales tales que el punto del centro tenga el mas pequeño valor objetivo que
La figura 2b) muestra una función que es cuasi-convexa y cuasi-cóncava. dado que
cumple estas dos definiciones, al tomar tres puntos en el eje x1, la imagen del punto
central no es ni mayor ni menor que la de los otros dos puntos colineales.
La figura 2c) muestra una función que no cumple con mnguna de estas
condiciones.
convexa.
Antes de definir estos dos nuevos tipos de funciones, es necesario conocer cuando
una función convexa es diferenciable.
Figura 3
funciones convexas.
Condiciones de optimalidad
Teorema: Sea la función f: E0 ---+ Ei, el problema Min f(x) sujeto a x E X, donde fes una
con x = (1.3)
Se observa geométricamente que el vector (-1. -4) forma un ángulo 5 90º con cada
x = ( l. 3) tenemos
Lagrange.
El método clásico para resolver este problema, cuando las restricciones están
igualadas a cero (cuando son desigualdades este método requiere de ciertos ajustes
Esto se realiza definiendo de la siguiente manera una nueva función objetivo, llamada el
lagrangiano
20
en los capítulos siguientes) hay que obtener todas las derivadas parciales de primer
orden para cada variable e igualarlas a cero y resolver el sistema de ecuaciones
resultantes
también diferenciables en x.
21
factibilidad que satisface las condiciones de KKT. Para cualquier problema de programación
Minimizar flx) x E x
Vf(x)+ Iu,Vg,(x)=o
1=d
U;g,(x) = Ü parai=l, m
parai=l, m
Estas mismas condiciones también son validas para que x sea punto óptimo para el
problema
Maximizar f(x)
sujeta a x¡ + x2:, O
X¡:S Ü
Ver: ficarcm«- ,i xe cumplen las condiciones de KKT en el punto (l. l l para determinar si es
(umo "'l" l.1 primera restricción es activa. tenemos que u, U;-0. De la primera
condición
'\'I(,) Iu,g,(x)=O
.'
1
Como debe ser u1 ;,, O se describe un sistema incompatible. Por lo tanto el punto x = (l. 1)
no es óptimo.
sujeta a
vr = ( '.'''"',
-t•12
,, ')
JJ-( L
1
Vf(x) - (176, 140)
Se tiene que u, � 152 y u2 - 12. dando a estos parámetros estos valore, <e cumplen las
condiciones de KKT en el punto (3,3).
l)ualidad Lagrnngiana
donde L g;. h.: En 7E1 y X es un conjunto no vacío en En- Sean g y h las m y 1 funciones
sujeta a u ;?. O
interior) de la función
111 1
f(x)+ ¿u,g,(x)+ L.
v,h (x)
1 1
y cuales restricciones son tomadas por el conjunto X. Esta elección puede afectar el
problema dual.
sujeta a -x, - x2 + 4 s O
x1.x!:>:O
Para este problema. la solución óptima ocurre en el punto (2, 2) con valor objetivo igual
a 8.
2x1 - u= O
X1 u/2
Si u <O
8(u)= inr(o' +o' +11(-0-0+4)) = inf{4u} =411
, ..
El valor máximo de 8 (u) se obtiene para u= 4 , entonces 8(u) = 8. Los valores óptimos
restricciones. los problemas primal y dual tienen el mismo valor objetivo óptimo y por lo
dual. como en el ejemplo anterior. pero esto, en la mayoría de los casos no es valido.
26
lineal. que mientras en programación lineal los problemas primal y dual tienen los
inf {-2x1 + vx¡: x1 E X1} + inf {x, + vx2: x, E:\ l-3v con
X1 = X2 = {0,1, 2, 4}
38
CAPITULO 5
Métodos de búsqueda
búsqueda del valor óptimo de una función f(x) que pueden ser aplicados para funciones
no restringidos
Definición: Se dice que una función de una sola , ariablc ,, unirnodal. cuando
cu-o de maximización
39
incertidumbre.
Este método es bastante eficiente para aproximar, bajo cierta tolerancia de error, un
punto mínimo o máximo en funciones unimodales de una sola variable. Este método tiene
búsqueda.
45
Este método también requiere que la función sea de una sola variable y unimodal
que sea estrictamente cuasi-convexa. Si el rango de incertidumbre original es: a�
x � b. el proceso reduce este intervalo en cada evaluación, en un valor constante T
(representa la letra griega tao)
Este valor constante llamado "Sección de Oro" se calcula de la siguiente manera:
unimodales, pero si una función no es de este tipo, no pueden aplicarse los métodos
Definición: Una función de una sola variable es multimodal si tiene mas de un valor
óptimo. ya sea máximo ó mínimo.
cuadrada.
Procedimiento
El punto x es el punto de partida de la búsqueda del óptimo local, mientras que ses la
dirección de búsqueda.
cuadrado a f(xJ y se calcula el mínimo local del polinomio. a,. dado por:
Supóngase que se desea minimizar una función f bajo un intervalo cerrado y acotado.
la
izquierda de x,. tal que el nuevo intervalo de incertidumbre [a¡_+ 1, b, + l] es dado por
[a., b.].
3.- Si f(x,) < O. ento=nces para x <x¿ f(x,)(x - xk)>O. tal que f(x) ?. f(xk)- Entonces el mínimo
La posición de xk en el intervalo (a,. b_] puede ser elegida tal que la máxima
longitud posible del nuevo intervalo de incertidumbre es minimizado. Esto es, x, puede
sujeta a -3 S x s 6
0.2.
paran= 6.
El intervalo final de incertidumbre es [-1.0313. -0.8907], tal que el mínimo puede ser
Este método a diferencia del de interpolación cuadrática requiere que la función sea
de las Tangentes" y se utiliza para encontrar la raíz de una ecuación. Para su aplicación
se requiere conocer un valor de "x'' cercano a la solución y que para este punto el
valor de la primera derivada sea diferente de cero, tal y como se ilustra en la figura I
f(x}'i'
f (X¡ )
'1
1
xz X
forma:
1 .- Para encontrar el valor x2 (ver figura) considere que el punto (x¿ f\x1 )) esta
diferente de cero. Trazando una tangente en el punto (x1, f(x1)) de tal forma que
Pendiente Je la tangente
Por lo tanto, el nuevo valor x2 mas cercano a la raíz puede ser calculado si se conoce el
valor de la primera derivada en el punto donde se trazo la tangente, dicho valor esta dado
2.- En forma similar se tiene que, trazando una tangente en el punto (x2• f(x2)) se obtiene:
f(x,)
X1 = X¡ - f'(x-,)
3.- Generalizando el procedimiento anterior, se tiene que la formula del algoritmo para
f(x,,_,)
X =X --�-
11 n-1 rtxn-1)
también puede ser utilizada para determinar el punto en el que se optimiza una función
no lineal.
Supóngase que se tiene una función no lineal de una sola variable que puede ser
multimodal. para la cual interesa determinar alguno de los valores que optimizan la
Entonces. podemos afirmar que en el punto en el que la función toma un , valor óptimo.
ya sea mínimo o máximo, la pendiente de la función g(x) es cero. De tal forma que si
encontrar la rai� o uia de las raíces de l(x) . esto equivaldría a que para el valor de "x"
para e) cual f(x] e, igual a cero, )a pendiente de la función g(x) también es cero (g'(x) - O)
y si para ese , alor de "x" la pendiente de g(x) eg cero, entonces se trata de un valor
hacer:
f(x) e-, g'(x)
f{x,._,)
x, = x, l - t'� )
�X" 1
Ejemplo: Encontrar tlll valor Óptimo de la función g(x) = (&0/x) + 20x + 20, a partir de
los siguientes datost x¡ = l,E=0.00001, N =.15 ys= 100
-&O 160
f(x) = g'(x) = - + 20 f(x) = g''(x) = -
x' x'
2 1 3750 -22.31405 61.55 l.737S -6 49817 O 36255 0.96680 -0.03320 6 49816 0.3625 100 79285
J 1 7375 -6.49817 ]0.50 1.9506 -1.02587 0.21305 0.58765 -0.41235 1.02586 0.21)0 100.02502
4 1 9506 -1 02587 21 :56 1.9982 --0.03635 O 0--1759 0.22335 -O 7766:5 O 03634 0-<)475 100 00001
5 L9982 -0.03635 2005 2.0000 --0.00005 000181 0.03810 -O 9619{) O 00004 0.0018 100.00000
6 �.0000 --0 00005 20 00 2.0000 0.00000 O 00000 000136 --O 99864 -0 00001 100 00000
3 2
f(x) = g'Ix) - 8x - 21 x2 + 4 f(x) = 24x • 42x
Una de las grandes desventajas de los métodos que emplean derivadas para
y el Hessiano. Esta tarea de evaluación analítica, puede ser mu) laboriosa y en ocasiones
imposible. sobre lodo cuando se trate de funciones complejas con muchas variables
independientes. Hay métodos numéricos que permiten expresar estas derivadas por
procesos que no son analíticos.,· por lo tanto se puede eliminar este problema. La gran
desventaja con los metodos numericos es el error de redondeo que introducen y. que
Por este motivo, se han desarrollado una serie de metodos iterativos que. sin ser tan
corno los rnetodos basados en el gradiente (que veremos posteriormente), tienen las
siguientes ventajas:
considerablemente.
Este método usa los ejes coordenados como direcciones de búsqueda. Mas
específicamente, el método busca a lo largo de las direcciones d., ... ,dn, donde di es un
vector de ceros, excepto por un I en la coordenada j. Asi, a lo largo de la dirección de
búsqueda dj, la variable x; es cambiada mientras todas las otras variables quedan fijas.
Procedimiento
Paso O: Elegir un escalar s >O para ser usado para saber cuando terminar el algoritmo
como margen de incertidumbre y sean d, ..... d, las direcciones coordenadas. Elegir un
punto inicial x., sea y1 = Xi, k = j � 1 y continuar con el paso 1
Paso 1: Sea ,,, una solución Óptima n el problema de minimizar la funcion f(y, + í.d,J
sujeta a AE E1 y sea y/1 = Yj +J,.A· Si j<m, reemplazar j por j+l y repetir el paso l. De otra
Paso 2 : Sea x, ,i - y n+t- Si I\Xk+o - xdl'-t:, parar. De lo contrario sea y 1 = x,+h sea j = 1,
reemplazar k por k + l y repetir el paso l.
59
Ejemplo: Minimizar (x, - 2)2 + (x, - 2x2/ partiendo del punto inicial (0,3).
de una linea de búsqueda en las direcciones (1, O) y (O, 1), respectivamente. Para el
punto (2.22, 1.11) la función objetivo tiene un valor de 0.0023, muy cercano del valor
Óptimo O. con punto óptimo (O, O). De hecho, podernos hacer que el valor Óptimo sea
mas aproximado a O, haciendo E mas pequeño, pero utilizando un numero mayor de ite-
raciones.
iteración X;
(0.00, 3.00) ( 1.0, O.O) (0.00, 3.00) 3.13 (3. 13, 3.00)
2 (3.13, 1.56) ( I.U. O.O) (3. 13, 1.56) -0.50 (2.63. 1 .56)