Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

RESUMEN

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 35

1

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

CONCEPTOS BASICOS D E PROGRAMACION NO LINEAL

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

Como ejemplo considere el siguiente problema de programación 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 •..•

,x,, que satisfacen las restricciones y que minimicen la función f.

La función f es llamada usualmente la función objetivo o la función criterio. Cada una

de las restricciones 𝑔1 (𝑥) para i l.2 ..... m es llamada restricción de desigualdad y cada una

de las restricciones h,(.r) para j-1,2, ... ,l es llamada restricción de igualdad.

-
Un vector X que satisface todns la, restricciones es ll,1111ad11 una solución lactiblc al

problema.
8

La colección de todas las posibles soluciones forman la región factible. E l problema

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

problema. Si existe mas de un punto óptimo, estos son referidos como

soluciones alternativas óptimas.

Asimismo, un problema de programación no lineal puede expresarse como un problema

de maximización y las restricciones de desigualdad pueden estar escritas en la

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

desigualdades lineales y/o ecuaciones lineales, el problema anterior es llamado un

problema lineal.

Lo anterior indica que la programación lineal es un caso particular de la

programación no lineal. Por tal motivo. los problemas no lineales son mucho mas

difíciles de resolver que los de programación lineal. Haciendo un análisis de las

características de los problemas lineales y no lineales tenemos la siguiente comparación

entre ambos prohlemas.

Programación no lineal
PROGRAMACION LINEAL

1. La solución óptima se encuentra en l. no siempre la solución óptima se

un punto extremo de la región de encuentra en un punto extremo de la

factibilidad. región de factibilidad.

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

3. Sus métodos de optimización 3. Generalmente se encuentra un

generan óptimos absolutos ó óptimo local ó relativo, mas no el

globales. óptimo global ó absoluto.

4. La región de factibilidad es un 4. Se pueden generar regiones de

conjunto convexo. factibilidad que no son


necesariamente convexas.

Como ilustración. considere el siguiente problema

2 2
Minimizar (x, - 3) + (x, - 2)
sujeta a

La figura muestra la región factible

1-:l problema es encontrar un punto en la región faclihk ,011 el valor mas


pequeño

posible de (x, - 3)2 + (x, - 2) 2


10

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

óptima se obtiene en el punto (2, 1) y tiene un valor objetivo igual a 2.

E I método utilizado en el ejemplo anterior consiste en encontrar una solución óptima

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

modelos. los de programación lineal y los de programación no lineal:

l. Al aumentar ( disminuir) el lado derecho de una restricción ≤ 0 ≥ relaja la


restricción. Esta no ruede contraer y si puede expandir al conjunto factible

2. Aumentar (disminuir) el lado derecho de una restricción estrecha restricción. Esto


no puede expandir pero si contraer el conjunto no restringido.

3. Una restricción no puede perjudicar, sino quizá ayudar, al valor óptimo de la función
objetivo,

4. Estrechar una restricción no puede ayudar. sino quizá perjudicar, al v a l o r ó ptimo de

la función objetivo.
14

Planteamiento de problemas

Analicemos ahora el planteamiento de problemas, obteniendo modelos de programación

no lineal. para buscar luego métodos de solución a problemas no lineales en los

siguientes capítulos.

Ejemplo 1: A una compañía le cuesta e dólares por unidad fabricar un producto. Si la

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

Función objetivo: Maximizar z - (x – c) D(x) sin restricciones.

Ejemplo 2: Si se utilizan x1 unidades de capital y 𝑥2 unidades de trabajo, una compañía


puede producir x1x2 unidades de un bien manufacturado. Se puede c o n s e gu i r el capital
a N$30 /unidad y el trabajo a N$7/unidad . Se d i s p o n e de un total de N$600
para conseguir capital y trabajo. ¿Como puede la compañía maximizar la cantidad de
bienes

que se pueden febricar


O

Variables: x1 unidades de capital


𝑥2 unidades Je trabajo

Función objetivo: Maximizar z= x1x2


Restricciones 30𝑥1 + 7𝑥2 ≤ 600
𝑥1 ≥0 𝑥2 ≥0

O
C 4
A
P
I
T
U
L
12

CONDI ente como sigue:


CIONE Para cada par de
S DE
OPTIM puntos x1 y x2 en X. el
ALIDA
D Y segmento de recta
DUALI que los une, debe
DAD
LAGRA pertenecer a X.
NGIAN
A Ejemplo:

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

Si las desigualdades de esta definición son estrictas, se dice que la función es

estrictamente convexa y estrictamente cóncava, respectivamente.

En base a esta definición se tiene que fes convexa si y solo si -f es cóncava y


viceversa. Geométricamente en dos dimensiones.

Figura 1: Ejemplos de funciones cóncavas y convexas

La figura 1 muestra que fes convexa si y solo si el segmento de recta que une dos

puntos cualesquiera de la curva y = f(x) nunca se encuentra por debajo de la curca

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.

Trabajando ú n i c a m e n t e con funciones cóncavas y convexas, se caeria en el campo

de la programación convexa, de donde se tienen ciertas propiedades importantes

referentes a este tipo de [unciones. Veamos los siguientes resultados.

Teorema: Para el problema no lineal

si X es un conjunto convexo y si res convexa sobre X, entonces cualquier mínimo local

del problema no lineal anterior es una solución óptima de este problema.


14

Ahora bien, la manera de saber si f(x) es cóncava o convexa es mediante la segunda

derivada de f(x). es decir, analizando el signo de f'(x) como se efectuaba en calculo

diferencial para funciones de una sola variable y mediante la matriz hessiana de f para

funciones de mas de una variable.

Partiendo de este concepto tenemos los dos teoremas siguientes para funciones

de una sola variable.

Teorema: Supóngase que f"(x) existe para toda x en X. Entonces f{x) es una función

convexa sobre X si y solo sí f''(x) ≥ O para roda x en X.

Teorema: Supóngase que f(x) existe para toda x en X. Enionces f(x) es una función

cóncava sobre X si) solo si f"(x) < ll para tuda x en X.

Y para funciones de mas de una sola variable se tiene:

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.

Definición: El i-ésimo menor principal de una matriz nxn es el determinante de


cualquier matriz ixi que se obtiene al quitar renglones y las n - i columnas
correspondiente a la matriz.

Definición: E 1 k-ésimo menor principal dominante de una matriz nxn es el determinante


de la matriz k-k que se obtiene al quitar los últimos n - k renglones y columnas de la
matriz.
15

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)𝑘 .

Las funciones convexas y cóncavas desempeñan un papel muy importante en el estudio

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

optimalidad partiendo de estos conceptos fundamentales.

Generalización de funciones cóncavas y convexas

funciones cuasiconv exas y cuasi-cóncavas

Definición: Una función f es una función cuasi-convexa bajo un conjunto convexo

X en 1-:,, si para cada x1, x2 en X


t(i,x1� [ l-1,Jx2) <; mínimo {f(x1), f(x1))
La función f es llamada cuasi-cóncava si-fes cuasi-convexa, es decir si
i(i,x1+[ 1-,.Jx,);,, mínimo {f(x1), f(x2)} para todo, >e tal que O<;,,<; 1

La figura 2 muestra un ejemplo de una función cuasi-convexa, una función cuasi- cóncava

y una que no cumple ninguna de las dos condiciones.

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

estos punto-, en f. por la definición de función cuasi-convexa. Similarmente, la definición

de la funcion cuasi-cóncava indica que si f es cuasi-cóncava e� imposible encontrar

tres puntos, colineales tales que el punto del centro tenga el mas pequeño valor objetivo que

los otros puntos.

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.

Una función lineal es simultáneamente cóncava, convexa, cuasi-cóncava y cuasi-

convexa.

Una función si es cuasi-convexa no necesariamente es convexa, pero el reciproco no es

cierto, porque si f es convexa entonces es también cuasi-convexa. Este mismo criterio

puede ser aplicado para funciones cóncavas y cuasi-cóncavas.

Funciones Pseudo-convexas y Pseudo-cóncavas

Antes de definir estos dos nuevos tipos de funciones, es necesario conocer cuando
una función convexa es diferenciable.

Definición: Sea X un conjunto no vacío en En. el espacio Euclidiano en n dimensiones y


Definición: Sea X un conjunto no vacío en En y sea f: X--->E1 diferenciable en X_ La función
fes llamada pseudo-convexa si para cada Xi, x2 en X con Vf(x,)' (x2 - x.) ;:,,_ O se tiene que
f(x2) 2:.. t{x1) o equivalentemente, si f(x2) < f(x1) entonces
1
'f(x1 ) (X2 - X1) < O

La función f es llamada pseudo-concava si-fes una función pseudo-convexa .

La figura 3 muestra algunos tipos de funciones pseudo-convexas y pseudo-


cóncavas. así como una que no es ninguna de las dos

Figura 3

a) Función pseudo-convexa . b) Función pseudo-concava y p .seudoconvexa, c) Función

que no es ni pseudo-convexa ni pseudo-concava,

Estas definiciones de Funciónes cuasi-convexas. cuasr-concavas, pseudo- convexas y

pseudo-concavas se convienen en estrictas cada una de ellas si la desigualdad

correspondiente de la definición de cada tipo de Función es estricta.

Habiendo definido estos conceptos Fundamentales analicemos las condiciones para

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

función convexa y X es un conjunto convexo no vacío en E,,; se tiene que x es una


solución óptima a este problema si y solo si ftiene un subgradiente E, en x tal que
18

E,' (x) (x - x) ¿ o para todo X en X.


Asimismo, en base a lo anterior. si el problema es de maximización, x es una

solución óptima si y solo si é,' (x) (X - X)<: o para todo X en X


Corolario: El conjunto de soluciones óptimas alternativas puede ser definido

equivalentemente como x'


x' = { X E X: Vf(x )1 (x - X) - o y Vf(x) = (x) }

Ejemplo: Para el siguiente problema:

Solución: La función objetivo es una función


convexa que representa el cuadrado de la distancia dél punto (3/2,5). E I conjunto
poliedrico convexo X es representado
19

De la figura, se observa claramente que el punto óptimo es (1,3). El vector gradiente en

el punto (1,3) es:

Vf(x) = (2 [x1 - 3/2]. 2[x2 - S])'

con x = (1.3)

Se observa geométricamente que el vector (-1. -4) forma un ángulo 5 90º con cada

vector de la forma (x¡ - 1. x, - 3), donde (x, x2) E X. Entonces la condición de


optimalidad establecida anteriormente fue verificada. Sustituyendo en el vector
gradiente

x = ( l. 3) tenemos

lo cual indica que (1.3) es el punto óptimo.

Condiciones de Optirnalidad de Fritz - Jehn

Antes de d e f i n i r la s condiciones de optimalidad de Fritz-John, para problemas

de programación no lineal. analicemos el concepto de lo, multiplicadores de

Lagrange.

Metodo de optimización por lagrnngianos

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

que complican bastante la situación). es utilizando los multiplicadores de Lagrange (A;),

Esto se realiza definiendo de la siguiente manera una nueva función objetivo, llamada el

lagrangiano
20

E I lagrangiano F con m+n variables independientes, es equivalente a la función objetivo

original f con n variables independientes porque se están restando únicamente ceros.

es decir que A¡g;(x) - O para i= l.. .. , m. Como el lagrangiano no tiene restricciones,

para resolver este problema en teoría (dado que ocasionalmente es imposible

resolverlo por métodos exactos y se requieren métodos de aproximación a analizar

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

Además, supóngase que f y g, son difercnciables en x y que g¡ para i e I son continuas

en x. Si x resuelve localmente el problema. P. entonces existen escalares u0 y u¡ para


iE 1, tales que

donde u, es el vector cuyas componentes son u, para i E l. Además, si g¡ para i E I son

también diferenciables en x.
21

Condiciones de Optimalidad de Karush-kuhn-Tucker (KKT)


En problemas de programación lineal el método Simplex se puede interpretar corno

un procedimiento sistemático para alcanzar un punto extremo óptimo de la región de

factibilidad que satisface las condiciones de KKT. Para cualquier problema de programación

lineal si un punto es óptimo es porque cumple con estas condiciones.

Para problemas de programación no lineal las condiciones de Fritz-John y de KKT son


necesarias ) suficientes para optimalidad cuando la función objetivo, las
restricciones de igualdad se encuentran bajo apropiadas suposiciones de convexidad. Tcorcman

Condrciones de Karush-Kuhn- Tucker).


31

Minimizar flx) x E x

sujeta a g;(x) S: O i=l.. ..•m

deben existir escalares ui para i E I tal que

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 g;(x) :2: O i = I. .... m


donde f) g, tienen las mismas características que el problema de minimización.

Ejemplo: Para el problema

Minimizar 10x1-2x; -x'. +8x, -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

o no óptimo. Fl conjunto de restricciones activas 1 = { l }. Calculando los gradiente,

(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.

Ejemplo: Minimizar x; + x; + 12x¡ + 6x! - x,x, - x, - x2

sujeta a

Para el punto (3.3) verifiquemos las condiciones de KKT. Para


1- { L 2}

vr = ( '.'''"',
-t•12
,, ')
JJ-( L
1
Vf(x) - (176, 140)

Vf¡(x) = (2. -1 )'

Resol, ienr.lo el sistema resultante

-U¡ - 2u¡ = -176


1|

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

l).idu un problema de programación no lineal llamado primal, existe un problema que es

estrechamente asociado con este llamado dual lagrungiano.


"
. ).)

Estos dos problemas son dados a continuación

Problema Primal P: Minimizar f(x)

sujeta a gi(x) 5 O i=l, .... m


hi(x) = O i=I, ... .1

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

vectoriales con componentes i-ésimos g; y h., respectivamente.

Problema Dual lagrangiano D: Maximizar 8(u, v)

sujeta a u ;?. O

donde 8(u. Y) -- inf { f(x) + v.s, (x) + v,h,:x Ex} t


Losvectores u y v pertenecen a Em y E1• respectivamente. En este problema. las
restricciones g,(x) 5 O y h¡(x) pueden ser incorporadas en la función objetivo usando los
multiplicadores de Lagrange u, y v.. E 1 multiplicador u, asociado con la restricción de

desigualdad t;,tx) 5 O es no negativo. en tanto que el multiplicador v; asociado con la

restricción h,h) = O es no restringido en signo.


Entonces el problema dual consiste de maximizar el lnfimum (máxima cota

interior) de la función
111 1

f(x)+ ¿u,g,(x)+ L.
v,h (x)
1 1

Asimismo, dado un problema de programación no lineal, algunos problemas duales

lagrangiano-. pueden concebirse dependiendo en cuales restricciones son tomadus


como

g,Cx) < O y h,(x) - O


25

y cuales restricciones son tomadas por el conjunto X. Esta elección puede afectar el

valor óptimo de D (en un problema no convexo) y complicar el procedimiento que

consiste en evaluar y actualizar la función dual e durante el curso de la resolución del

problema dual.

Mediante esta técnica pueden resolverse problemas no lineales convexos o no

convexos, También en problemas de optimización discreta donde todas o algunas de las

variables pueden ser restringidas a ser números enteros.

Ejemplo: Para el siguiente problema primal


. , · 2 2
M mmuzar x1 + x2

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.

La rnáxuna cota inferior se obtiene para 8(u) de la siguiente forma: Para x, , ,.


deriv ando de la función anterior

2x1 - u= O
X1 u/2

0(u) = inf { ,' ul + 4u} = --f u2 + 4u

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

de los problemas primal y dual son ambos iguales a 8.

Bajo ciertas suposiciones de convexidad y teniendo como requisito apropiadas

restricciones. los problemas primal y dual tienen el mismo valor objetivo óptimo y por lo

tanto es posible resolver el problema primal indirectamente resolviendo el problema

dual. como en el ejemplo anterior. pero esto, en la mayoría de los casos no es valido.
26

Aqui surge otra diferencia entre los problemas de programación lineal y no

lineal. que mientras en programación lineal los problemas primal y dual tienen los

mismos valores objetivos óptimos. en programación no lineal. en general el valor


objetivo óptimo del primal es mayor o igual que el miar óptimo del problema dual.

La función objetivo dual es dada por

0(v) = inf {(-2x1 + x2) + v(x1 + x2 - 3): (x¿ x2) E X}

inf {-2x1 + vx¡: x1 E X1} + inf {x, + vx2: x, E:\ l-3v con
X1 = X2 = {0,1, 2, 4}
38

CAPITULO 5

OPTIMIZACION NO LINEAL SIN RESTRICCIONES

Métodos de búsqueda

Uno de los principales campos de la programación no lineal es el de la

optimización no restringida u optimización libre, que trata el problema de minimizar o

maximizar una función en ausencia de cualquier restricción. Fxistcn métodos de

búsqueda del valor óptimo de una función f(x) que pueden ser aplicados para funciones

de una =variasvariables. usando derivadas o sin usar derivadas.


ó

A continuación analizaremos algunos de los métodos de búsqueda que existen para

resolver problemas de programación no lineal no restringidos. después de presentar

algunos conceptos fundamentales.

Métodos de optimización de funciones unimodales de una sola I ariable en problemas

no restringidos

Definición: Se dice que una función de una sola , ariablc ,, unirnodal. cuando

tiene un solo punto mínimo o máximo.


Si lb) es estrictamente unimodal, entonce, el caso para x, < x2 < x* entonces f(x1) <
f(x2) < f(x*) x" < x, < x , entonces tú,*)> f(x_1) > f(x,)

siendo x• el valor que optimiza la función ft

Dada una función f(x) estrictamente unirnodal y dos punto


existen tres posibilidades a analizar para efectuar la culminación del ejemplo para el

cu-o de maximización
39

a) Si f(x1) > f(x2) entonces x" < x2

b) Si f(x1) < f(x2) entonces x1 < x"

e) Si f(x1) = f(x2) entonces x1 < x" < x2

Suponiendo que se requieren hacer k evaluaciones de una función f(x), que es

estrictamente unimodal, sean x0 y x, los extremos izquierdo y derecho del intervalo de

búsqueda. respectivamente. sea xr el mejor punto obtenido y sean x, y x, los puntos a la

izquierda y derecha de xr. respectivamente. Obviamente el punto óptimo x" debe

encontrarse en el intervalo x, < x• < x., La distancia x, - x, se denomina intervalo de

incertidumbre.

Una medida de la efectividad de los métodos de búsqueda de puntos óptimos en

funciones unirnodules de una sola variable es la siguiente:


E� x1 - x1
X1, X11

Búsqueda en un intervalo con derivadas

Método de búsqueda de Fibonacci

E I método de libonacci e; un método de búsqueda en un intervalo para

minimizar una función estrictamente coasi-convcxa.

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

la ventaja de que, como no utiliza derivadas, puede calcular puntos óptimos en

funciones no diferenciables. Este método supone que se conoce un rango inicial de

búsqueda.
45

Método de búsqueda de la Sección de Oro

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:

Supóngase que se esta examinando el intervalo de búsqueda a $ x $ b con dos

valores x1 y x2 conocidos. tales que a � x $ b


Gráficamente
Método de Interpolación Cuadrada

Los métodos de Fibonacci y de la sección de oro son utilizados para funciones

unimodales, pero si una función no es de este tipo, no pueden aplicarse los métodos

anteriores, como en las funciones multimodalcs.

Definición: Una función de una sola variable es multimodal si tiene mas de un valor
óptimo. ya sea máximo ó mínimo.

Para funciones multimodales no di ferenciables en los puntos de discontinuidad. se utiliza

para resolver estos problemas de programación no lineal el método de interpolación

cuadrada.

Procedimiento

1.- Dados valoresdel punto arbitrario x y una dirección arbitraria s. evalúe

g(a.) = f{x + as)

El punto x es el punto de partida de la búsqueda del óptimo local, mientras que ses la

dirección de búsqueda.

2.- Evalúe g(a.} para i= O. 1. 2. 4. 8. 16 ..... a. b. c. donde e es el primer valor de a para el

cual g(a) se ha incrementado. El valor óptimo de i. a< ex* < c. se encuentra en el

rango a< a* < c.


3.- Lna vez que se conocen los valores de g(a). g(bJ y g(c) se ajusta un polinomio

cuadrado a f(xJ y se calcula el mínimo local del polinomio. a,. dado por:

Búsqueda en un intervalo con derivadas

Método de bisecciones sucesivas.

Supóngase que se desea minimizar una función f bajo un intervalo cerrado y acotado.

Además supóngase que f(x) es pseudo-convexa y diferenciable. En la k-esima iteración.

sea el intervalo de incertidumbre [ a., bl ].Supóngase que la derivada f(xl) es conocida

y considere los siguientes tres casos posibles:

1.- Si f(xd = O, entonces por pseudo-convexidad de la función f, xk es un punto mínimo.


2.- Si f(x,)>O, entonces para x > x,. se tiene que f(x,)(x - x,) > O y por pseudo-

convexidad de f tenemos que f(x)?. f(x,). En otras palabras. el mínimo se encuentra a

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

se encuentra a la derecha de x,. tal que el nuevo intervalo de incertidumbre [a,+l,

bk+l] es dado por [x,, b.].

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

ser elegida tal que minimice el máximo de x, - al y bk - x,. Obviamente la localización

óptima de x, es el punto medio l/2(a, + b,).

Ejemplo: Minimizar f(x) = x"' + 2x

sujeta a -3 S x s 6

Reducir el intervalo de incertidumbre a un intervalo cuya longitud fes menor o igual a

0.2.

El numero de observaciones n satisface

( l /2)n S f/b1-a1 = 0.2/6 - (-3) = 0.2/9 - 0.0222

paran= 6.

La siguiente tabla resume los cálculos usando el método de bisecciones sucesivas.


Interacción k a, b, xk f(xk)
1 -3.000 6.0000 1.500 5.0000
2 -3.000 1.5000 -0.750 0.5000
= =.,
' -3.000 -O 7500 -1.8750 -1.7500
4 -1.875 -0. 7500 -1.3125 -0.6250
5 -1.3125 -0. 7500 -1.0313 -0.6250
6 -1.0313 -0.7500 -0.8907 0.2186
7 -1.0313 -0.8907

El intervalo final de incertidumbre es [-1.0313. -0.8907], tal que el mínimo puede ser

tomado como el punto medio del intervalo -0.961.


Método de Interpolación Cubica

Este método a diferencia del de interpolación cuadrática requiere que la función sea

diferenciable. El método consiste en encontrar un valor óptimo de una variable a.

denominada ci*. tal que la función

g(u.) f{x + ns)


obtenga un mínimo local. donde X y s son valores iniciales arbitrarios. L 1 punto X es el

punto de partida de la búsqueda de los óptimos. mientras que s es lu dirección de

búsqueda. Leste mínimo lucu] se obtiene en tres pasos o fases.


Método de Newton-Raphson

Este método es también llamado "Método de Newton de Primer Orden" o "Método

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

Para obtener la ecuación que representa el algoritmo de solución. se procede de la siguiente

forma:

1 .- Para encontrar el valor x2 (ver figura) considere que el punto (x¿ f\x1 )) esta

razonablemente cerca de la solución exacta y que la pendiente en dicho punto es

diferente de cero. Trazando una tangente en el punto (x1, f(x1)) de tal forma que

cruce el eje X. el \ alor de la pendiente de dicha tangente esta dada por:

Pendiente Je la tangente

Corno para x1 el valor de y = O, y la pendiente de la tangente en el punto (x1, rrx1)) esta

dada por la primera derivada de la función evaluada en x1• entonces:


53

Pendientedelatangente= f(x¡) =f(x1)


X1 -x2

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

por la siguiente ecuación:


f{x1)
X =X ---
1 , f'(x,)

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

este método esta dada por:

f(x,,_,)
X =X --�-
11 n-1 rtxn-1)

Aunque el método de Newton-Raphson es utilizado para encontrar la raíz de una ecuación,

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

función. en un problema no restringido.

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

graficamos la función f(x) = g'(x) y aplicarnos el método de Newton-Raphson para

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

óptimo de la función g(x).


Si a partir de un valor conocido de "x" se desea encontrar un valor que optimice la
función dada g(x), entonces aplicando el método de Newton-Raphson, se procederá a

hacer:
f(x) e-, g'(x)

y aplicar la ecuacion general:

f{x,._,)
x, = x, l - t'� )
�X" 1

o bien, a partir de la función g(x) esta ecuación puede expresarse como:


g(x •• ,)
X =X
n ,,-1 - '(x )
g 11-1

E I diagrama de flujo del método de Newton-Raphson se presenta a continuación.


56

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'

Los resultados se resumen en la siguiente tabla:

1 X, 1 PDX, JSDX,J X, I PDX, J D


1
R
1
R-1 I IPDX,1-E I s 1
g(X,)
1 1 0000 -60 OOOOll 16U 00 1.3750 -21 ]1405 O 37500 0.0037) -O 99b::!S 2231404 O 3750 10568182

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

para x = 2, el valor Óptimo de g(x) sera I OO.


Ejemplo: Encontrar un valor Óptimo de la funcion g(x) = 2x4 - 7,:' -+ 4x - 2, a partir de los
siguientes datos x1 =-l,E=0.00001. N-15 yS= 100

3 2
f(x) = g'Ix) - 8x - 21 x2 + 4 f(x) = 24x • 42x

Resumiendo las iteraciones y resultados. tenemos la siguiente tabla a continuación:


57

x, PDX1 SDX, x, PDX, D R R-1 IPDX,l·E s g(X,)


J -J 0000
-2, ººººº 66.00 -0.6212 -6.02182 0.37879 o.oo_,7Q --0 99621 6.02181 0.37879 -2.50890
2 -(J.6212 -6 02182 3;_35 --0 4509 -1.00234 0.17034 110017() --0 9')829 1.0023] 0.17034 -J.07249
3 -U 4500 -1.00234 2JS2 -0.4088 -0.05577 0.04209 O 00042 -O 99957 0.05576 0.04209 .J.10111
4 -IJ.408! -O 0.5577 21 1g -0.4062 -0.00021 0.00263 O 0(100) -O 99997 0.00020 0.00263 -J.10119
5 -0.4062 --0 OIIOll 21 02 -0.4061 0.00000 0.00001 o.ur�1110 -11.99999 -0.0000] -3.10119

Para x = -0.4061, el valor óptimo de g(x) sera: -3.10119

Metodos de busqueda multidimensional


Optimización de funciones sin usar derivadas

Una de las grandes desventajas de los métodos que emplean derivadas para

funciones de varias variables es que en estos es necesario evaluar el gradiente y en varios

casos, tambien el Hessiano.

Otro problema en consideración, en el caso de que la función sea diferenciable,

es el evaluar analíticamente en cada iteración las funciones contenidas en el gradiente

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

acumulado en un gran número de operaciones e iteraciones, puede generar resultados

bastante alejados de los Óptimos reales.

Por este motivo, se han desarrollado una serie de metodos iterativos que. sin ser tan

eficientes en cuanto al número de iteraciones necesarias para alcanzar un óptimo

corno los rnetodos basados en el gradiente (que veremos posteriormente), tienen las

siguientes ventajas:

a) No requieren de gradientes y Hessianos, por lo que sirven tanto para funciones

dilcrcnciables como no diferenciablcs


58

b) No requieren de métodos numéricos y por lo tanto su error de redondeo se reduce

considerablemente.

Analizaremos ahora algunos de estos métodos.

Metodo de Coordenadas Cíclicas

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.

Si la función es diferenciable, entonces el metodo converge a un punto


estacionario.

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

manera, si j n. continuar con el paso 2.

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).

La tabla siguiente muestra un resumen de los calculos para el metodo de coordenadas


cíclicas. En cada iteración los vectores y1 y y, son obtenidos mediante la representacion

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;

k l{x,) j d¡ Y, ¡,_; Y;-+-1

(0.00, 3.00) ( 1.0, O.O) (0.00, 3.00) 3.13 (3. 13, 3.00)

52.00 2 (O.O, l.O) (3.13, 3.00) -1.44 (3.13, 1.56)

2 (3.13, 1.56) ( I.U. O.O) (3. 13, 1.56) -0.50 (2.63. 1 .56)

1.63 2 (O.O, 1.0) (2.63, 1.56) ·0.25 (2.63, 1.31)

3 (2.63, 1.31) (1.0. O.O) (2.63, 1.31) -0.19 (2.44, 1.3 1 )

0.16 2 (O O, 1.0) (2.44, 1.31) -0.09 (2.44. 1.22)


4 (�.44, 1 .22) ( 1.0, O.O) (2.44, 1.22) -0.09 (2.35, 1.22)

004 2 (O.U, 1.0) (2.35, 1.22) ·0.05 (2.35, 1.17)

5 (2.35, 1.17) (1.0. O.O) (2.35, 1.17) -0.06 (2.29, 1.17)

0.015 2 (O O. 1.0) (2.29, 1.17) -0.03 (2.29, 1.14)


6 (2.29. 1.14) ( I JI. O.O) (2.29, 1.14) -0.04 (2.25. 1.14)

La ilustración de este método, para este ejemplo, se presenta en la siguiente figura.


60

Metodo de Hooke y Jeeves

El metodo de Hooke y Jeeves representa dos tipos de búsqueda exploratoria : patron


de busqueda. Dado Xi, una busqueda exploratoria a lo largo de de las direccione,
coordenadas produce el punto :12. Un patron de busqueda a lo largo de la direccion x2 x1
conduce al punto y. Otra busqueda exploratoria a partir del punto y conduce al punto x3.
El siguiente patron de busqueda es a lo largo de la direccion x3 x2, obteniéndose y'. 1: 1
proceso es repetido. La figura 3 muestra las primeras dos iteraciones del metudo. La,

lineas que van de x1 a x2 y las que van de y a x3 representan I a búsqueda exploratoria a


lo largo de los ejes coordenados y la linea que une a x2 y x3 y la que une a x2 y }
representan el patron de busqueda.

También podría gustarte