Sei sulla pagina 1di 16

PROGRAMACIÓN NO

LINEAL
Introducción
 Cuando nos encontramos en la vida real, una
diversa cantidad de problemas pueden
resolverse utilizando la programación lineal,
pero otro considerable grupo de problemas se
resuelven mediante otros métodos mucho más
complejos que los de programación lineal, y en
esto se enfoca la programación no lineal.
Métodos para resolver problemas
de programación no lineal
 En el presente curso nos enfocaremos en el
desarrollo de tres métodos para resolver
problemas sobre programación no lineal:
 Método de búsqueda directa (dicotómica).
 Método del gradiente.
 Método de eliminación de regiones (Fibonacci).
Método de búsqueda directa o
búsqueda dicotómica
 Aplicable únicamente a funciones unimodales
(que tiene un solo óptimo local), de una sola
variable.
 Se basa en la identificación de un intervalo que
incluya al óptimo, luego sistemáticamente se
reduce el tamaño del intervalo de forma que se
garantice que el óptimo no se pierda.
 Teóricamente, la longitud del intervalo puede
reducirse tan pequeña como se desee (Infinitas
iteraciones).
Pasos para la resolución del
método de búsqueda dicotómica
 Se define la siguiente función:
Pasos para la resolución del
método de búsqueda dicotómica
1. Definir los límites a y b de nuestra función, en
la cual se encontrará nuestro óptimo.
2. Estos valores a y b serán nuestros valores de
arranque para nuestras iteraciones, siendo
XL=a y XR=b.
3. Definir el valor de nuestra incertidumbre
(traslape), ∆.
4.
5. Reemplazar X1 y X2 en f(x) según sea el
intervalo donde se encuentre.
6. Si f(X1)>f(X2), entonces se reemplaza a XR por X2
para la siguiente iteración, es decir XR nuevo =X2
y se conserva el antiguo X1.
Si f(X2)>f(X1), entonces se reemplaza a XL por X1
para la siguiente iteración, es decir XL nuevo =X1
y se conserva el antiguo X2.
7. Realizar las suficientes iteraciones para obtener
un valor óptimo cercano al valor real.
Método del gradiente
 El método se basa en la derivación doble que se
realizar a una función multivariables f(X1, X2),
se evaluará un solución inicial de partida la
cual se irá optimizando conforme el método
transcurra.
Pasos para la resolución del
método del gradiente
1. Se elige un punto inicial arbitrario X0 =(a,b)
con un contador k=0.
2. En el caso de maximización, definir la
dirección de ascenso como dk = ∇f(Xk), en el
caso de minimización, definir la dirección de
descenso como dk = -∇f(Xk), luego de esto
evaluamos el punto inicial en dk .
3. Si la norma | | dk ||>0, se debe seguir
iterando, pero si | | dk ||=0, parar y el valor
de Xk de la iteración es el óptimo.
4. Búsqueda lineal para seleccionar un paso αk
h(αk)=f(Xk + αk .dk )
Reemplazando los valores de X0 y d0 en h(αk )
luego hallamos α0 .
5. Calculamos Xk+1
Xk+1 = Xk + αk .dk
VOLVEMOS A REPETIR DESDE EL PASO 1
PARA LA SIGUIENTE ITERACIÓN
PROBLEMA APLICATIVO SOBRE EL
MÉTODO DE BÚSQUEDA DIRECTA
 Una empresa petrolera invierte en la explotación de
yacimientos de gas en medio oriente, debido a que el
dinero invertido por parte de la empresa no siempre es
constante, las ganancias percibidas tampoco lo son,
siguiendo la siguiente ecuación:

 Encontrar la máxima ganancia percibida por la


empresa si la inversión y la ganancia están en
USD$ millones de dólares.
 Se realizaron las siguientes iteraciones:
Problema aplicativo sobre el
método del gradiente

Potrebbero piacerti anche