metodos de programacion no-lineal
TRANSCRIPT
REPUBLICA BOLIVARIANA DE VENEZUELA INSTITUTO UNIVERSITARIO POLITECNICO
“SANTIAGO MARIÑO” EXTENSION PORLAMAR
Métodos de
programación
no lineal
Doc.: Alejandra Torres
Bachiller: Robert Milt C.I: 21.323.613
Sección: 3G “SAIA”
Porlamar, Marzo de 2017
INTRODUCCION
Los problemas de programación no lineal se presentan de muchas formas
distintas. Al contrario del método simplex para programación lineal, no se
dispone de un algoritmo que resuelva todos estos tipos especiales de
problemas.
Se han desarrollado algoritmos para algunas clases (tipos especiales) de
problemas de programación no lineal. Las variables de decisión se expresan
como funciones no lineales ya sea en la función objetivo o restricciones de un
modelo de optimización.
Esta característica particular de los modelos no lineales permite abordar
problemas donde existen economías o des-economías de escala o en general
donde los supuestos asociados a la proporcionalidad no se cumplen.
PROGRAMACION NO LINEAL
Es la programación basada en la resolución de un sistema de igualdades y
desigualdades sujetas a un grupo de restricciones sobre un conjunto de
variables reales desconocidas, con función de maximizar o minimizar, cuando
alguna de las restricciones o la función objetivo no son lineales.
MÉTODOS DE RESOLUCIÓN DEL PROBLEMA
Si la función objetivo f es lineal y el espacio restringido es un politopo, el
problema es de programación lineal y puede resolverse utilizando alguno de los
bien conocidos algoritmos de programación lineal.
Si la función objetivo es cóncava (problema de maximización), o convexa
(problema de minimización) y el conjunto de restricciones es convexo, entonces
se puede utilizar el método general de optimización convexa.
LOS TIPOS DE PROBLEMAS DE PROGRAMACIÓN NO LINEAL
*OPTIMIZACIÓN NO RESTRINGIDA
Los problemas de optimización no restringida no tienen restricciones, por lo que
la función objetivo es sencillamente
Maximizar f(x)
Sobre todos los valores x= (x1, x2,…,xn). Según el repaso del apéndice 3, la
condición necesaria para que una solución específica x = x* sea óptima
cuando f(x) es una función diferenciable es:
Cuando una variable Xj tiene una restricción de no negatividad, x- > 0, la
condición necesaria (y tal vez) suficiente anterior cambia ligeramente a:
*OPTIMIZACIÓN LINEALMENTE RESTRINGIDA
Los problemas de optimización linealmente restringida se caracterizan por
restricciones que se ajustan por completo a la programación lineal, de manera
que todas las funciones de restricción g¡ (x) son lineales, pero la función
objetivo es no lineal. El problema se simplifica mucho si sólo se tiene que tomar
en cuenta una función no lineal junto con una región factible de programación
lineal. Se han desarrollado varios algoritmos especiales basados en una
extensión del método simplex para analizar la función objetivo no lineal.
*PROGRAMACIÓN CUADRÁTICA
Los problemas de programación cuadrática tienen restricciones lineales, pero
ahora la función objetivo /(x) debe ser cuadrática. Entonces, la única diferencia
entre éstos y un problema de programación lineal es que algunos términos de
la función objetivo incluyen el cuadrado de una variable o el producto de dos
variables.
*PROGRAMACIÓN CONVEXA
La programación convexa abarca una amplia clase de problemas, entre ellos
como casos especiales, están todos los tipos anteriores cuando /(x) es
cóncava. Las suposiciones son
f(x) es cóncava.
Cada una de las g(x) es convexa.
*PROGRAMACIÓN SEPARABLE
La programación separable es un caso especial de programación convexa, en
donde la suposición adicional es
Todas las funciones f(x) y g(x) son funciones separables.
Una función separable es una función en la que cada término incluye una sola
variable, por lo que la función se puede separar en una suma de funciones de
variables individuales. Por ejemplo, si f(x) es una función separable, se puede
expresar como:
Es importante distinguir estos problemas de otros de programación convexa,
pues cualquier problema de programación separable se puede aproximar muy
de cerca mediante uno de programación lineal y, entonces, se puede aplicar el
eficiente método simplex
*PROGRAMACIÓN NO CONVEXA
La programación no convexa incluye todos los problemas de programación no
lineal que no satisfacen las suposiciones de programación convexa. En este
caso, aun cuando se tenga éxito en encontrar un máximo local, no hay garantía
de que sea también un máximo global. Por lo tanto, no se tiene un algoritmo
que garantice encontrar una solución óptima para todos estos problemas; pero
sí existen algunos algoritmos bastante adecuados para encontrar máximos
locales, en especial cuando las formas de las funciones no lineales no se
desvían demasiado de aquellas que se supusieron para programación
convexa.
*PROGRAMACIÓN GEOMÉTRICA
Cuando se aplica programación no lineal a problemas de diseño de ingeniería,
muchas veces la función objetivo y las funciones de restricción toman la forma
*PROGRAMACIÓN FRACCIONAL
Suponga que la función objetivo se encuentra en la forma de una fracción, esto
es, la razón o cociente de dos funciones:
Cuando se puede hacer, el enfoque más directo para resolver un problema de
programación fraccional es transformarlo en un problema equivalente de algún
tipo estándar que disponga de un procedimiento eficiente. Para ilustrar esto,
suponga que f(x) es de la forma de programación fraccional lineal
.
METODO DE NEWTON
• Método para funciones dos veces diferenciables
• Puede usarse para funciones de múltiples variables
• P) de una sola variable: min f(x) con f*(x) y f**(x) conocidas.
• Sea xk un punto factible
OBSERVACIONES AL MÉTODO DE NEWTON
• El método busca puntos extremos sean estos mínimos o máximos.
• Para distinguir hay que mirar el signo de la 2a derivada en cada punto:
– Deberá ser positivo al buscar mínimos y negativo al buscar máximos.
MÉTODO DE BÚSQUEDA DIRECTA
Los métodos de búsqueda directa se aplican principalmente a funciones estrictamente unimodales de una variable. Aunque puede parecer trivial el caso, la sección 21.1.2 muestra que la optimización de funciones de una
variable juega un papel clave en el desarrollo de los algoritmos de varias variables, más generales.
La idea de los métodos de búsqueda directa es identificar el intervalo de incertidumbre que comprenda al punto de solución óptima. El procedimiento localiza el óptimo estrechando en forma progresiva el intervalo de incertidumbre hasta cualquier grado de exactitud que se desee.
En el método dicótomo los valores j c, y x2 se encuentran simétricos respecto del punto medio del actual intervalo de incertidumbre. Esto significa que
La aplicación repetida del algoritmo garantiza que la longitud del intervalo de incertidumbre se acercará al nivel de exactitud deseado, A.
En el método de la sección dorada la idea es de mayor involucramiento. Se puede apreciar que cada iteración del método dicótomo requiere calcular los dos valores/(jc,) y f(x2), Pe” ro termina por descartar alguno de ellos. Lo que propone el método de la sección dorada es ahorrar cálculos mediante el re-uso del valor descartado en la iteración inmediata siguiente. Para definir 0 < a < 1
CONCLUSIONES
Se dispone de una gran variedad de algoritmos que casi siempre tienen un buen desempeño en estos casos. Algunos de estos algoritmos incorporan procedimientos de alta eficiencia para la optimización no restringida en una parte de cada iteración y algunos emplean una sucesión de aproximaciones lineales o cuadráticas al problema original.
No existe un algoritmo eficiente que se pueda utilizar para resolver todos los problemas de programación no lineal. De hecho, algunos de estos problemas no se pueden resolver satisfactoriamente por ningún método, pero se han hecho grandes progresos en ciertas clases importantes de problemas que incluyen programación cuadrática, programación convexa y algunos tipos especiales de programación no convexa.
Los problemas prácticos de optimización con frecuencia incluyen un comportamiento no lineal que debe tomarse en cuenta. A veces es posible reformular las no linealidades para que se ajusten al formato de programación lineal, como se puede hacer con los problemas de programación separable. Sin embargo, es frecuente la necesidad de usar una formulación de programación no lineal.