• No se han encontrado resultados

Optimización de Procesos

N/A
N/A
Protected

Academic year: 2021

Share "Optimización de Procesos"

Copied!
36
0
0

Texto completo

(1)

Optimización

de Procesos

(2)

Tier II: Casos de Estudio

Sección 1:

(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

(4)

• 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)

• 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.h tml;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

(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)

• 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)

(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)

Pantalla de Lingo

Solve – 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;

(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

(13)

Solución

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

Soluci

(14)

Solver de Ecuaciones #2

(15)

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

(16)

Solución #2

-5 0 5 10 15 20 -5 0 5 10 15 X Y 3.2087 3.2087 7.791 7.791

(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

(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;

(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

! Restricciones;

! Problema# 1; ! Función Objetivo;

(22)

Solución de Lingo

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

(23)

Problema de Esquema de

Transportación

! Restricciones;

! Problema# 2; ! Función Objetivo;

(24)
(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

(27)

Intentando Obtener una

Solución Negativa

! Restricciones;

! Muestra # 6; ! Función Objetivo;

(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

! Restricciones;

! Muestra # 6; ! Función Objetivo;

(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 >

! Restricciones;

! Muestra # 3; ! Función Objetivo;

(33)

Claramente, este valor no es correcto puesto que X1 está restringida a valores mayores que 0

Ejemplo de < o >

(34)

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;

(35)

Las variables ahora obedecen las restricciones deseadas. Es una coincidencia que el

valor objetivo sea el mismo que en el

caso anterior.

(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

Referencias

Documento similar

“Eso sí, es que los hombres acá se apartan más de eso [de la transmisión de los saberes ancestrales], primero pues porque la mayoría tiene que trabajar, y el

No conozco ninguna palabra castellana capaz de juntar cosas tan dispares como la gratitud, el favor, la belleza, la complacencia y la alegría [para nosotros, el placer que

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

diabetes, chronic respiratory disease and cancer) targeted in the Global Action Plan on NCDs as well as other noncommunicable conditions of particular concern in the European

Para dar solución al problema existente se traza como objetivo general: Desarrollar una solución informática para la caracterización de la elaboración y ejecución del Plan anual

Fuente de emisión secundaria que afecta a la estación: Combustión en sector residencial y comercial Distancia a la primera vía de tráfico: 3 metros (15 m de ancho)..

Tras establecer un programa de trabajo (en el que se fijaban pre- visiones para las reuniones que se pretendían celebrar los posteriores 10 de julio —actual papel de los

b) El Tribunal Constitucional se encuadra dentro de una organiza- ción jurídico constitucional que asume la supremacía de los dere- chos fundamentales y que reconoce la separación