Re Cupera Tivo

24
ALGORITMOS PROGRAMACIÓN NO LINEAL Estudiante: Samuel Oviedo C.I V- 21.169.597 Optimización Ing. de Sistema SAIA

description

opt

Transcript of Re Cupera Tivo

Page 1: Re Cupera Tivo

ALGORITMOS PROGRAMACIÓN NO

LINEAL

Estudiante:Samuel Oviedo C.I V-21.169.597OptimizaciónIng. de SistemaSAIA

Page 2: Re Cupera Tivo

ALGORITMOS No Lineales Restringidos

El problema general de programación no lineal con restricciones se define como sigue:

MAXIMIZAR (O MINIMIZAR)

sujeta a g(X) ≤ 0

Las condiciones X ≥0 de no negatividad forman parte de las restricciones. También, al menos una de las funciones f (X) y g(X) es no lineal, y todas las funciones son continuamente diferenciables. No existe algoritmo general para manejar modelos no lineales, por el comportamiento errático de las funciones no lineales. Quizá el resultado más general aplicable al problema es el de las condiciones KKT que a menos que f (X) y g(X) tengan buen comportamiento (condiciones de convexidad y concavidad), las condiciones KKT sólo son necesarias para alcanzar la optimalidad.

Page 3: Re Cupera Tivo

Se presentaran varios algoritmos que se pueden clasificar en general como métodos indirectos y directos.

Con los Métodos Indirectos Métodos Indirectos se resuelve el problema no lineal manejando uno o más programas lineales derivados del programa original.

Los métodos indirectos que se presentan en esta sección incluyen: LA PROGRAMACIÓN

Los métodos métodos directos directos manejan el problema en su forma original.

SeparableSeparable CuadráticaCuadrática

GeométricaGeométrica EstocásticaEstocástica

Page 4: Re Cupera Tivo

PROGRAMACIÓN LINEAL ENTERA

Los programas lineales enteros son aquellos en los que algunas o todas las variables están restringidas a tener valores enteros (o discretos). La programación lineal entera tiene aplicaciones prácticas importantes. Desafortunadamente, a pesar de décadas de extensas investigaciones, laexperiencia en cómputo con programas lineales enteros ha sido menos que satisfactoria. Hasta esta fecha no existe un programa de cómputo para programas lineales enteros que pueda resolverlos en forma consistente.

CARACTERIZACIÓN DE LA PROGRAMACIÓN LINEAL ENTERA

La programación lineal también conocida como optimización lineal, es la maximización o minimización de una función lineal sobre un poliedro convexo definido por un conjunto de restricciones lineales no negativas. La teoría de la programación lineal cae dentro de la teoría de la optimización convexa y es también considerada como parte importante de la investigación de operaciones.

Page 5: Re Cupera Tivo

Un modelo de programación entera es un modelo Un modelo de programación entera es un modelo que contiene restricciones y una función objetivo que contiene restricciones y una función objetivo idénticas a las formuladas por planeación lineal. idénticas a las formuladas por planeación lineal.

La única diferencia es que una o mas de las La única diferencia es que una o mas de las variables de decisión tienen que tomar un valor variables de decisión tienen que tomar un valor

entero en la solución final.entero en la solución final.

Existen tres tipos de modelos de programación Existen tres tipos de modelos de programación entera:entera:

PuraPura

MixtaMixta

BinariaBinaria

Algunas de las variables de decisión tienen valores

enteros. Las demás cumplen con la suposición

de divisibilidad.

Un modelo entero puro (PLE) es, como su

nombre lo indica, un problema en el que se

exige que todas las variables de decisión

tengan valores enteros.

Utiliza variables binariasUtiliza variables binarias

Page 6: Re Cupera Tivo

La programación lineal entera (PLE) es el conjunto de problemas de programación lineal para los cuales todas o parte de sus variables pertenecen a los números enteros.Un problema de PLE puede describirse de la siguiente forma:Un problema de PLE puede describirse de la siguiente forma:Optimizar una función objetivo z=c.xBajo las restricciones Ax = ó = b, x = 0Donde:x -Vector con variables enterasc -Vector de coeficientes de la función objetivoA -Matriz de coeficientes de las restriccionesb -Vector de términos independientesLos modelos de programación lineal entera pudieran clasificarse en tres Los modelos de programación lineal entera pudieran clasificarse en tres grupos:grupos:Entero completamente. Todas las variables de decisión son enteras.Mixto. Algunas de las variables son enteras, las otras no.Binario. Las variables solo toman los valores 0 ó 1.

PROGRAMACIÓN LINEAL ENTERA

Page 7: Re Cupera Tivo

ALGORITMOPROGRAMACIÓN LINEAL

ENTERAPROGRAMACIÓN LINEAL ENTERA PURA

Método de Plano de CorteAlgoritmo Fraccional de Gomory,Algoritmo Entero Puro de Gomory,Método de Ramificación y Acotamiento Algoritmo de Land – Doig, entre otros.

Para PROGRAMACIÓN LINEAL ENTERA BINARIA algunos de los utilizados son: Método de Ramificación y Acotamiento Método Aditivo de Egon BalasMétodo LexicográficoMétodo de Lemke y SpielbergDistancia de Hamming y Retículos y Método de Trubin

En PROGRAMACIÓN LINEAL ENTERA MIXTA se usan el Algoritmo Entero Mixto de Gomory, el Algoritmo de Land – Doig, Método de Benders.

Page 8: Re Cupera Tivo
Page 9: Re Cupera Tivo
Page 10: Re Cupera Tivo
Page 11: Re Cupera Tivo
Page 12: Re Cupera Tivo
Page 13: Re Cupera Tivo

PROGRAMACIÓN SEPARABLE

Page 14: Re Cupera Tivo

No existe un algoritmo único para solucionar problemas de programación convexa; en general los algoritmos conocidos se pueden clasificar así:

Algoritmos de gradiente:Algoritmos de gradiente: En estos casos se modifica de alguna manera el procedimiento de búsqueda del gradiente para evitar que la trayectoria de búsqueda penetre la frontera de restricción.

Algoritmos secuenciales no restringidos: Algoritmos secuenciales no restringidos: Incluye los métodos de función de penalización y de función barrera; estos algoritmos convierten el problema de optimización restringida original en una sucesión de problemas de optimización no restringida.

Algoritmos de Aproximación Secuencial: Algoritmos de Aproximación Secuencial: Incluye métodos de aproximación lineal y aproximación cuadrática; estos algoritmos sustituyen la función objetivo no lineal por una sucesión de aproximaciones lineales o cuadráticas.

Un caso especial de programación separable ocurre cuando las funciones  son convexas , resultando así un espacio convexo de solución; además la función  es convexa en caso de minimización y cóncava en caso de maximización.

Page 15: Re Cupera Tivo

Ejemplo Programación Separable

A continuación resolvemos un problema de programación separable aplicando el método de la base restringida.

El método de aproximación nos sugiere que las variables separables son:

Luego: Entonces el problema original por aproximación se convierte en:

Page 16: Re Cupera Tivo

tablero simplex inicial corresponde a:

Donde S1 es una variable de holgura (relleno).

La solución óptima por el Simplex a este problema equivalente es: 

Luego el óptimo en términos de  es :

Page 17: Re Cupera Tivo

PROGRAMACIÓN CUADRÁTICA

Difiere de la programación lineal nada más en que la función objetivo es una función cuadrática, es decir, incluye también términos cuadrados o productos de variables. 

Page 18: Re Cupera Tivo

Formulación de un Problema CuadráticoConsideremos el siguiente problema cuadrático de dos variables:

Si observamos la función objetivo: 

 Igualando coeficiente a coeficiente con la expresión:

tenemos

Page 19: Re Cupera Tivo

PROGRAMACIÓN GEOMÉTRICA

Un programa geométrico es un problema de optimización de la forma

Tiene múltiples aplicaciones, como el dimensionamiento de circuitos y la estimación paramétrica vía regresión logística en estadística. 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

Page 20: Re Cupera Tivo

PROGRAMACIÓN GEOMÉTRICA

En tales casos, las ci y a ty representan las constantes físicas y las x} son las variables de diseño. Estas funciones por lo general no son ni cóncavas ni convexas, por lo que las técnicas de pro gramación convexa no se pueden aplicar directamente a estos problemas de programación geométrica.  Sin embargo, existe un caso importante en el que el problema se puede transformar en un problema de programación convexa equivalente. Este caso es aquel en el que todos los coeficientes  en cada función son estrictamente positivos, es decir, las funciones son polinomios positivos generalizados (ahora llamados posinomiales), y la función objetivo se tiene que minimizar. El problema equivalente de programación convexa con variables de decisión yx, y2,…, yn se obtiene entonces al establecer

Forma convexaEl programa geométrico no son por regla general problemas de optimización convexa, pero pueden transformarse en ellos mediante un cambio de variables y una transformación de las funciones objetivo y de restricción.

Page 21: Re Cupera Tivo

PROGRAMACIÓN GEOMÉTRICA

La Programación geométrica soluciona un caso especial de problemas de Programación No lineal. Este método resuelve al considerar un problema dual asociando los siguientes dos tipos de Programación No lineal:

Problema geométrico no restringido Problema geométrico restringido

Page 22: Re Cupera Tivo

PROGRAMACIÓN ESTOCÁSTICA

Page 23: Re Cupera Tivo

Problemas de Optimización Estocástica

Los problemas de optimización estocástica son en general mucho más complejos que los que no consideran el azar, principalmente porque el azar implica que no tenemos un solo escenario a optimizar, sino un conjunto de escenarios posibles.

Por ejemplo, si queremos optimizar el diseño de una red de distribución de energía, trabajaremos en un escenario de incertidumbre, en el que desconocemos la demanda real de energía en el momento de uso de la red. En lugar del dato de la demanda tendríamos una estimación, quizás un conjunto finito de demandas posibles con una probabilidad asociada. Con esto ya podemos intuir que  el mundo de la empresa está lleno de problemas estocásticos, ¿qué se suele hacer para resolverlos?. En escenarios con decisiones sencillas, es decir pocas variables de decisión y con pocos estados, se pueden enumerar explícitamente todas las posibilidades utilizando arboles de decisión que además son muy intuitivos.

Page 24: Re Cupera Tivo

Decantándose por la decisión con mayor beneficio esperado. Por ejemplo una señora se entera en la peluquería de que dan un 50% de probabilidad de lluvia y debe decidir si comprar o no comprar un paraguas de pésima calidad.

Si compra el paraguas,Si llueve (probabilidad 0.5) habrá gastado 5 euros en un paraguas de pésima calidad.Si no llueve habrá gastado lo mismo 5 euros.

Si no compra el paraguas,Si llueve tendrá que volver a ir a la peluquería y pagar otros 15 euros.Si no llueve no tiene que pagar ni un euro más.

En conclusión si compra el paraguas la pérdida esperada será de 5 euros y si no lo compra de 7.5 euros. Si la señora está en sus cabales debe comprar el paraguas…aunque a priori parezca un comportamiento pesimista y Espilfarrador, sería el más acertado.

Pero si el problema es más complicado,  se acaba optando por simplificar, por ejemplo, usando el escenario esperado, o el escenario más probable, ya que éstos son deterministas y se pueden resolver usando optimización convencional.