Manejo herramientas optimizacion lineal

16
T ALLER MANEJO DE HERRAMIENTAS DE OPTIMIZACIÓN LINEAL LINDO 6.1 WinQSB 2.0 Ing. Zamantha González Asesora Área de Sistemas UNA Cl Cojedes

description

Taller para el manejo de herramientas de optimizaciòn lineal (Lindo y Winqsb)

Transcript of Manejo herramientas optimizacion lineal

Page 1: Manejo herramientas optimizacion lineal

TALLER MANEJO DE HERRAMIENTAS DE OPTIMIZACIÓN LINEAL

LINDO 6.1

WinQSB 2.0

Ing. Zamantha González

Asesora Área de Sistemas

UNA Cl Cojedes

Page 2: Manejo herramientas optimizacion lineal

LINDO 6.1

Es un paquete de optimización muy fácil de manejar, es muy flexible y tiene la ventaja de permitir introducir la función objetivo y las restricciones en forma natural sin necesidad de insertar las entradas con coeficientes iguales a cero. Acepta hasta 150 restricciones y hasta 300 variables. Para mayor información consulte la siguiente dirección:

http:// www.lindo.com

Page 3: Manejo herramientas optimizacion lineal

EJEMPLOS

Vamos a ingresar el modelo de PL: Max Z = 2x + 3y Sujeto a: 4 x + 3 y ≤ 10 3x + 5y ≤ 12 x,y > 0

1. Abrimos LINDO

Page 4: Manejo herramientas optimizacion lineal

EJEMPLOS

Seguidamente se ingresan las restricciones (aunque pueden estar separadas por espacios, se suelen ingresar en líneas separadas para mejorar la legibilidad). El modelo finaliza con la expresión END. !Restricciones MP) 4X + 3Y < 10 MO) 3X + 5Y < 12 END

El modelo debe comenzar por la función objetivo precedida de MAX o MIN según se la quiera maximizar o minimizar respectivamente. Puede constar de una o más líneas y se separa del resto del modelo mediante la expresión SUBJECT TO (puede abreviarse como ST) que indica que la función objetivo esta “sujeta a” las restricciones que se indicarán a continuación. MAX 2X + 3Y ST

Page 5: Manejo herramientas optimizacion lineal

EJEMPLOS Las reglas a considerar para formular un modelo PL usando LINDO son: • Cada término, en cualquier restricción (o en la función objetivo), contiene:

[+|–] [coef.] [nombre_variable], siempre en ese orden (no necesariamente separados por blancos). El signo más (+) también es opcional, así como el coeficiente, si fuera 1.

• El nombre de la variable debe comenzar con una letra y puede contener hasta

8 caracteres alfanuméricos. • Todos los términos variables deben ir a la izquierda de la inecuación y cada

término independiente a la derecha. Si el modelo no estuviera formulado de esta manera, se deberá operar y pasar de términos hasta llegar a la misma.

Page 6: Manejo herramientas optimizacion lineal

EJEMPLOS • Como no se pueden utilizar desigualdades estrictas LINDO admite el uso de

estos signos en vez de los que incluyen igualdad (“<” equivale a “≤” y “>” equivale a “≥”.

• Las ecuaciones se pueden rotular con un nombre que debe seguir las reglas

usadas para denominar las variables. Luego del mismo se incluye un paréntesis de cierre. Esto simplifica notablemente la comprensión de los reportes.

• Pueden incluirse comentarios para mejorar la legibilidad del modelo anteponiendo un signo de admiración (cierre) a los mismos para que LINDO lo ignore al compilar el modelo.

Page 7: Manejo herramientas optimizacion lineal

EJEMPLOS EL RESULTADO DE LA CORRIDA Una vez completado el modelo se compila mediante la opción Compile Model del menú Solve y se ejecuta con la opción Solve del mismo menú. Puede omitirse el paso de la compilación (Solve compila automáticamente en caso de ser necesario) aunque el mismo evita la mayoría de los “cuelgues” en los últimos sistemas Windows.

Page 8: Manejo herramientas optimizacion lineal

EJEMPLOS Los posibles estados (status) son: • Infeasible: el modelo es incompatible (no tiene solución válida). Previamente

se presenta un cuadro que explica la situación (NO FEASIBLE SOLUTION…). • Unbounded: el modelo es un poliedro abierto (el funcional no está

restringido). Previamente se presenta un cuadro que explica la situación (UNBOUNDED SOLUTION …).

• Optimal: se llegó a una solución óptima. Se presenta la posibilidad de realizar

un análisis de sensibilidad del rango de variación de los coeficientes de la función objetivo y los términos independientes de las restricciones.

Page 9: Manejo herramientas optimizacion lineal

EJEMPLOS LP OPTIMUM FOUND AT STEP 0 OBJECTIVE FUNCTION VALUE 1) 7.454545 VARIABLE VALUE REDUCED COST X 1.272727 0.000000 Y 1.636364 0.000000 ROW SLACK OR SURPLUS DUAL PRICES MP) 0.000000 0.090909 MO) 0.000000 0.545455 NO. ITERATIONS= 0 RANGES IN WHICH THE BASIS IS UNCHANGED: OBJ COEFFICIENT RANGES VARIABLE CURRENT ALLOWABLE ALLOWABLE COEF INCREASE DECREASE X 2.000000 2.000000 0.200000 Y 3.000000 0.333333 1.500000 RIGHTHAND SIDE RANGES ROW CURRENT ALLOWABLE ALLOWABLE RHS INCREASE DECREASE MP 10.000000 6.000000 2.800000 MO 12.000000 4.666667 4.500000

Page 10: Manejo herramientas optimizacion lineal

EJEMPLOS • El mismo contiene en primer lugar una indicación de la cantidad de pasos

efectuados hasta llegar al óptimo y el valor de la función objetivo en el mismo (OBJECTIVE FUNCTION VALUE).

• Seguidamente se detallan los valores (VALUE) de las variables reales del

problema y sus correspondientes costos de oportunidad (REDUCED COST). • Luego se presentan los valores de las variables “slack” (SLACK OR SURPLUS),

así como el valor marginal (DUAL PRICES) correspondiente a cada uno de los recursos (o restricciones) a los que corresponden.

• A continuación se muestra, en caso de haber seleccionado la opción de

análisis de sensibilidad, el valor actual de los coeficientes del funcional para cada variable del problema y sus rangos de variación positiva y negativa (OBJ COEFFICIENT RANGES).

• Por último se tiene un análisis similar para cada una de las restricciones del

problema, con el valor actual del término independiente de la restricción y sus rangos de variación positiva y negativa (RIGHTHAND SIDE RANGES).|

Page 11: Manejo herramientas optimizacion lineal

USO DE LINDO VS. EXCEL LINDO presenta 2 ventajas fundamentales frente a Excel: 1. El planteamiento del PL en LINDO –en cuanto a su transcripción en el

programa informático-, es exactamente igual como se escribe en una hoja de papel.

2. El usuario posee un control muy sencillo de las variables del PL que se quieran hacer (análisis de sensibilidad, dualidad, restricciones de integridad).

Page 12: Manejo herramientas optimizacion lineal

WINQSB 2.0

WINQSB es un módulo de optimización, útil para problemas de gran escala y presenta una amplia flexibilidad para el manejo de la data y solución del problema; permite introducir la data en forma natural. Para descargarlo consulte la siguiente dirección:

http://winqsb.softonic.com/

Page 13: Manejo herramientas optimizacion lineal

WINQSB 2.0

Desde aquí puedes comenzar a trabajar abriendo un problema guardado anteriormente; lo puedes hacer desde el menú “File” “Load Problem”, o directamente desde el botón que se encuentra en el extremo superior izquierdo con el dibujo de una carpeta. Para comenzar a trabajar con un problema nuevo también lo podemos hacer de dos formas: 1. Desde “File” “New Problem”, 2. Desde el botón situado en el extremo superior izquierdo En esta ventana encontramos los menús “File” y “Help” que nos ofrece la posibilidad de consultar información sobre el programa y su utilización. Si lo que deseamos es salir del programa o lo hacemos pulsando el botón o desde el menú “File” “Exit”

Page 14: Manejo herramientas optimizacion lineal

WINQSB 2.0 Al comenzar un nuevo programa nos aparece, donde debemos escribir:

1. Título del problema 2. Número de variables 3. Número de restricciones 4. Tipo de Variable “Default Variable Type”. Para

PL usar Nonnegative continuous variables no negativas continuas; esto es con valores reales y que cumplen las condiciones de no negatividad.

5. Formato de datos de entrada “Data Entry Format”: normalmente es preferible utilizar el formato “Spreadsheet Matrix Form” (Matriz) para ingresar los datos. En el formato matriz sólo hay que introducir los coeficientes, costes y recursos.

6. En “Objetive Criterion” elegiremos, “maximize” o “minimize” según lo que nos pida el problema, maximizar o minimizar.

7. Una vez introducidos todos los datos del problema pulsamos “OK”.

Page 15: Manejo herramientas optimizacion lineal

WINQSB 2.0

Por ejemplo, para un problema a maximizar con 2 variables y 3 restricciones, aparecerá la siguiente ventana:

• En la primera fila de la matriz se introducen los coeficientes (costes) de la función a minimizar o maximizar.

• En las filas posteriores introduciremos los datos de las restricciones del problema.

• Para cambiar el sentido de la restricción doble clic en la celda que contiene el signo ≤ y van apareciendo las diferentes opciones.

• Una vez introducidos en la tabla los datos del problema, éste se resuelve desde menú solve and analyze

Page 16: Manejo herramientas optimizacion lineal

MUCHAS GRACIAS POR SU

ATENCIÓN

Ing. Zamantha González

Asesora Área de Sistemas

UNA Cl Cojedes