1 / 36

Optimización de Procesos

Optimización de Procesos. Tier II: Casos de Estudio. Sección 1: Software de Optimización Lingo. Software de Optimización.

berit
Download Presentation

Optimización de Procesos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Optimización de Procesos

  2. Tier II: Casos de Estudio Sección 1: Software de Optimización Lingo

  3. Software de Optimización • Muchos de los métodos de optimización previamente vistos pueden ser tediosos y requieren mucho trabajo para resolverse, especialmente cuando los modelos se vuelven más complejos y tienen dos o tres variables, que será el caso frecuentemente. • Un Software puede ser usado para resolver estos problemas más eficientemente

  4. Software de Optimización • Los Softwares disponibles comúnmente usan los métodos revisados previamente, pero por supuesto llevan a cabo los cálculos más rápido, permitiendo fácilmente el efecto de variaciones en el modelo a ser estudiado

  5. Software de Optimización • Ya se han mostrado algunos ejemplos de optimización usando Excel • Otro programa, Lingo, será mostrado a continuación • Una versión de prueba de ese software puede ser descargada en el sitio www.lindo.com/cgi/frameset.cgi?leftlingo.html;lingof.html

  6. Lingo • Lingo es un programa diseñado específicamente para resolver problemas de optimización • Usa una sintaxis que es similar a lo que sería escrito a mano, o a lo que sería usado en Excel, sin requerir variables a ser declaradas • Por ejemplo, y = 3*x^2 es y = 3x2

  7. Operadores Lingo • Muchos de los operadores Matemáticos de Lingo son similares a los que usa Excel: • Adición: + - Multiplicación: * • Sustracción: - - División: / • Para exponentes: X^n • Igual: = • Mayor o menor que: > o < • Nota: Lingo acepta ‘<’ como ‘<=’. Esto no es estrictamente menor que o mayor que.

  8. Operadores Lingo(Continuación) • Valor absoluto de x: @abs(x) • Logaritmo Natural de x: @log(x) • Funciones Trigonométricas: @sin(x), @cos(x), @tan(x) (x in radians) • Exponenciales: @exp(x) • Dar la porción entera de un número decimal: @floor(x) • @sign(x): da -1 si x < 0, de otra manera da 1

  9. Operadores Lingo(Continuación) • Encontrar el valor mayor o menor en un grupo: @smax(x1,x2…,xn) o @smin(x1,x2…,xn) • Encontrar el máximo o mínimo de una función: max o min • Permitir variables negativas: @free(x) • Lingo contiene otros operadores, pero estos son los operadores matemáticos probablemente más usados

  10. Usando Lingo • Otros operadores, como los operadores lógicos, pueden encontrarse en la lista completa de operadores en el archivo ayuda (help) • Ahora que tenemos los operadores matemáticos más usados, podemos demostrar como Lingo trabaja con algunos ejemplos • Lingo puede ser usado estrictamente como un solver de ecuaciones o como un optimizador

  11. Estas son las funciones más importantes de Lingo, y probablemente las únicas que necesitarás; Pantalla de Lingo Si se requiere ayuda adicional Solve – para resolver el grupo de problemas actuales

  12. Exclamación para una línea de comentario; Cada línea debe terminar con un punto y coma; Solver de Ecuaciones Básicas Este encontrará la intersección de las líneas “y = 3x + 4” y “y = 5x + 1”

  13. Solución Solución Factible encontrada en la iteración: Nota: Lingo no distingue entre letras mayúsculas y minúsculas

  14. Solver de Ecuaciones #2 ! Esto es para encontrar donde la línea “y = x” cruza la parábola “y = (x – 5) ^ 2” ;

  15. Solución #2 Solución Factible encontrada en la iteración: 116 Solo una solución fue encontrada. Deben existir dos soluciones para este problema. El solver automáticamente se detiene cuando encuentra la primera solución.

  16. Solución #2

  17. Dificultades No Lineales • Lingo no está diseñado para tratar con ecuaciones no lineales • No puede encontrar soluciones múltiples • Existe un inconveniente al resolver problemas no lineales, especialmente si la solución se encuentra en el dominio negativo

  18. Máximo y Mínimo • Las funciones máximo y mínimo son las funciones más importantes necesarias para problemas de optimización • Estas funciones son usadas como sigue: max = función objetivo; min = función objetivo;

  19. Resolviendo Problemas de Optimización • Varios ejemplos de optimización que se trabajaron en secciones previas ahora serán resueltos usando Lingo • El primer ejemplo es de la sección de introducción

  20. Ejemplo de Planta Química • Objetivo: Maximizar 1000x1 + 1500x2 • Restricciones: 4x1 + 2x2 <= 80 2x1 + 5x2 <= 60 4x1 + 4x2 <= 75 x1, x2 >= 0

  21. Ejemplo de Planta Química ! Problema# 1; ! Función Objetivo; ! Restricciones;

  22. Solución, incluyendo el valor de la función objetivo en el óptimo y en el punto óptimo Solución de Lingo

  23. Problema de Esquema de Transportación ! Problema# 2; ! Función Objetivo; ! Restricciones;

  24. Solución del Problema #2

  25. Valores Negativos • Lingo no puede resolver automáticamente para una variable negativa • Si se sospecha que una solución será negativa, entonces esa variable necesitará ser declarada específicamente como libre (free) : @free(x); • Es una buena idea declarar todas las variables como se indicó arriba, a menos por supuesto que un valor negativo no sea factible

  26. Intentando Obtener una Solución Negativa • El siguiente ejemplo demostrará que pasa si un valor negativo es requerido para obtener una solución óptima • Lingo automáticamente resolverá para la solución óptima obtenida solo de variables positivas, incluso si éste no es el verdadero óptimo

  27. Intentando Obtener una Solución Negativa ! Muestra # 6; ! Función Objetivo; ! Restricciones;

  28. Esta solución es viable si los valores de la variable deben ser positivos, pero éste no es el óptimo verdadero Intentando Obtener una Solución Negativa

  29. Estos enunciados permiten el uso de valores negativos para estas variables Intentando Obtener una Solución Negativa ! Muestra # 6; ! Función Objetivo; ! Restricciones;

  30. Ahora el óptimo verdadero es obtenido, con variables negativas Intentando Obtener una Solución Negativa

  31. Mayor que o Menor que • Otro problema potencial que será encontrado al usar Lingo es que éste maneja < de igual manera que <=, y > igual que >= • Por lo tanto, si una variable debe ser estrictamente mayor que un valor, la restricción debe ser tratada como sigue: • Para x > A, donde A es una solución diferente usa x > A + b; donde b es un valor arbitrario, como 0.1, que cubre una porción donde la solución no se encuentra

  32. Ejemplo de < o > ! Muestra # 3; ! Función Objetivo; ! Restricciones;

  33. Claramente, este valor no es correcto puesto que X1 está restringida a valores mayores que 0 Ejemplo de < o >

  34. Ejemplo de < o > ! Muestra # 3; ! Función Objetivo; ! Restricciones; Ahora se forzará a X1 y X2 a ser mayores que 0. Podemos hacer esto porque sabemos que X1 y X2 también son mayores que 0.1.

  35. Las variables ahora obedecen las restricciones deseadas. Es una coincidencia que el valor objetivo sea el mismo que en el caso anterior. Ejemplo de < o >

  36. Conclusiones • Lingo es efectivo y eficiente para la resolución de problemas de optimización si éstos son lineales • No está diseñado para trabajar con problemas no lineales • No es muy bueno para trabajar con problemas no lineales, por lo que éstos deben ser atacados con precaución • No maneja muy bien los puntos múltiples máximos o mínimos en casos no lineales

More Related