Optimización de Procesos

36
Optimización de Procesos

description

Optimización de Procesos. Tier II: Casos de Estudio. Sección 1: Software de Optimización Lingo. Software de Optimización. - PowerPoint PPT Presentation

Transcript of Optimización de Procesos

Page 1: Optimización  de Procesos

Optimización de Procesos

Page 2: Optimización  de Procesos

Tier II: Casos de Estudio

Sección 1:

Software de Optimización Lingo

Page 3: Optimización  de Procesos

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

Page 4: Optimización  de Procesos

• 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

Software de Optimización

Page 5: Optimización  de Procesos

• 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

Software de Optimización

Page 6: Optimización  de Procesos

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

Page 7: Optimización  de Procesos

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.

Page 8: Optimización  de Procesos

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

Page 9: Optimización  de Procesos

• 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

Operadores Lingo(Continuación)

Page 10: Optimización  de Procesos

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

Page 11: Optimización  de Procesos

Pantalla de LingoSolve – para resolver

el grupo de problemas actuales

Si se requiere ayuda adicional

Estas son las funciones más importantes de Lingo, y probablemente las únicas que necesitarás;

Page 12: Optimización  de Procesos

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”

Page 13: Optimización  de Procesos

Solución

Nota: Lingo no distingue entre letras mayúsculas y minúsculas

Solución Factible encontrada en la iteración:Solución Factible encontrada en la iteración:

Page 14: Optimización  de Procesos

Solver de Ecuaciones #2

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

Page 15: Optimización  de Procesos

Solución #2

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.

Solución Factible encontrada en la iteración:Solución Factible encontrada en la iteración: 116116

Page 16: Optimización  de Procesos

Solución #2

-5

0

5

10

15

20

-5 0 5 10 15

X

Y

3.2087

3.2087

7.791

7.791

Page 17: Optimización  de Procesos

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

Page 18: Optimización  de Procesos

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;

Page 19: Optimización  de Procesos

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

Page 20: Optimización  de Procesos

Ejemplo de Planta Química

• Objetivo: Maximizar 1000x1 + 1500x2

• Restricciones:4x1 + 2x2 <= 80

2x1 + 5x2 <= 60

4x1 + 4x2 <= 75

x1, x2 >= 0

Page 21: Optimización  de Procesos

Ejemplo de Planta Química

! Restricciones;

! Problema# 1;! Función Objetivo;

Page 22: Optimización  de Procesos

Solución de Lingo

Solución, incluyendo el valor

de la función objetivo en el óptimo y en el punto óptimo

Page 23: Optimización  de Procesos

Problema de Esquema de Transportación

! Restricciones;

! Problema# 2;! Función Objetivo;

Page 24: Optimización  de Procesos

Solución del Problema #2

Page 25: Optimización  de Procesos

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

Page 26: Optimización  de Procesos

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

Page 27: Optimización  de Procesos

Intentando Obtener una Solución Negativa

! Restricciones;

! Muestra # 6;

! Función Objetivo;

Page 28: Optimización  de Procesos

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

Page 29: Optimización  de Procesos

Estos enunciados permiten el uso de valores negativos para

estas variables

Intentando Obtener una Solución Negativa

! Restricciones;

! Muestra # 6;! Función Objetivo;

Page 30: Optimización  de Procesos

Ahora el óptimo verdadero es obtenido, con

variables negativas

Intentando Obtener una Solución Negativa

Page 31: Optimización  de Procesos

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

Page 32: Optimización  de Procesos

Ejemplo de < o >

! Restricciones;

! Muestra # 3;! Función Objetivo;

Page 33: Optimización  de Procesos

Claramente, este valor no es

correcto puesto que X1 está restringida a

valores mayores que 0

Ejemplo de < o >

Page 34: Optimización  de Procesos

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.

Ejemplo de < o >

! Restricciones;

! Muestra # 3;! Función Objetivo;

Page 35: Optimización  de Procesos

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 >

Page 36: Optimización  de Procesos

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