Dualidad y Análisis de Sensibilidad

33
Dualidad y Análisis de Sensibilidad INVESTIGACION DE OPERACIONES I MIGUEL ANGEL CANO LENGUA

Transcript of Dualidad y Análisis de Sensibilidad

Page 1: Dualidad y Análisis de Sensibilidad

Dualidad y Análisis de

Sensibilidad

INVESTIGACION DE OPERACIONES I

MIGUEL ANGEL CANO LENGUA

Page 2: Dualidad y Análisis de Sensibilidad

Dualidad

Asociado con cualquier problema de

programación lineal (PPL) existe otro

llamado DUAL. Conocer la relación de

un PPL y su dual es vital para

entender el análisis de sensibilidad.

Page 3: Dualidad y Análisis de Sensibilidad

Dualidad

Cuando se habla del dual de un PPL

entonces este último se denomina

PRIMAL. Si el PPL primal es un

problema de maximización, entonces

su dual será un problema de

minimización y viceversa.

Page 4: Dualidad y Análisis de Sensibilidad

Dualidad

Por conveniencia la variable de la

función objetivo del primal se

denomina Z, y sus variables primales

de decisión se denominan Xi. En el

caso del dual la variable de la función

objetivo se denomina W, y sus

variables duales se denominan Yj.

Page 5: Dualidad y Análisis de Sensibilidad

Dualidad

Primero aprenderemos como hallar el

programa dual de un problema primal

de maximización, con todas sus

variables no negativas y cuyas

restricciones son todas del tipo menor

o igual (Problema estándar de

maximización).

Page 6: Dualidad y Análisis de Sensibilidad

Dualidad

Un problema estándar de maximización se puede

escribir como:

Maximizar Z = C1 X1 + C2 X2 + ...... + Cn Xn

Sujeto a:

a11 X1 + a12 X2 + ..... + a1n b1

a21 X1 + a22 X2 + ..... + a2n b2

.... ...... ..... .... ...

am1 X1 + am2 X2 + ..... + amn bm

Xi 0 (i = 1, 2, ... , n)

Page 7: Dualidad y Análisis de Sensibilidad

Dualidad

El dual de un problema de maximización se define

como:

Minimizar W = b1 Y1 + b2 Y2 + ..... + bm Ym

Sujeto a:

a11 Y1 + a21 Y2 + .... + am1 Ym C1

a12 Y1 + a22 Y2 + .... + am2 Ym C2

.... ...... ..... .... ...

a1n Y1 + a2n Y2 + .... + amn Ym C2

Yj 0 (j = 1, 2, ... , m)

Page 8: Dualidad y Análisis de Sensibilidad

Dualidad

Maximizar Z = 3 X1 + 4 X2

Sujeto a:

X1 + 2 X2 1000

3 X1 + 2 X2 1800

X2 400

X1 0, X2 0

Minimizar W= 1000 Y1 +

1800 Y2 +400 Y3

Sujeto a:

Y1 + 3 Y2 > 3

2 Y1 + 2 Y2 + 1Y3 > 4

Y1 0, Y2 0, Y3 0

PRIMAL DUAL

Page 9: Dualidad y Análisis de Sensibilidad

Dualidad

Dual de un problema no estándar

No todos los problemas de programación lineal

tienen la forma del problema de maximización

estándar.

Pasos:

• Identifique las variables correspondientes en el dual

de su problema primal.

• Aplique el mismo análisis del problema estándar

para hallar los coeficientes de la función objetivo,

restricciones y de sus respectivos lados derechos.

• Aplique la siguiente tabla de signos:

Page 10: Dualidad y Análisis de Sensibilidad

Dualidad

Modelos max Modelo min

Xi 0 la iésima restricción es

Xi 0 la iésima restricción es

Xi srs la iésima restricción es =

la iésima restricción es Yj 0

la iésima restricción es Yj 0

la iésima restricción es = Yj srs

Page 11: Dualidad y Análisis de Sensibilidad

Dualidad

Ejemplo:

Maximizar Z = 3 X1 + 4 X2 – 2 X3

Sujeto a:

4 X1 - 2 X2 + 3 X3 12

-2 X1 + 3 X2 + X3 6

-5 X1 + X2 - 6 X3 4

3 X1 + 4 X2 – 2X3 = 10

X1 0, X2 0, X3 srs

En este programa primal

hay 3 variables primales y

4 restricciones.

El programa dual tendrá 4

variables duales y 3

restricciones.

Page 12: Dualidad y Análisis de Sensibilidad

Dualidad

Ejemplo:

Maximizar Z = 3 X1 + 4 X2 – 2 X3

Sujeto a:

4 X1 - 2 X2 + 3 X3 12

-2 X1 + 3 X2 + X3 6

-5 X1 + X2 - 6 X3 4

3 X1 + 4 X2 – 2X3 = 10

X1 0, X2 0, X3 srs

En este programa primal

hay 3 variables primales y

4 restricciones.

El programa dual tendrá 4

variables duales y 3

restricciones.

Y1

Y2

Y3

Y4

Page 13: Dualidad y Análisis de Sensibilidad

Dualidad

Ejemplo:

Maximizar Z = 3 X1 + 4 X2 – 2 X3

Sujeto a:

4 X1 - 2 X2 + 3 X3 12

-2 X1 + 3 X2 + X3 6

-5 X1 + X2 - 6 X3 4

3 X1 + 4 X2 – 2X3 = 10

X1 0, X2 0, X3 srs

Cada columna representa

una restricción del dual.

Los coeficientes de la

función objetivo serán los

valores del lado derecho

del primal. Y los valores

del lado derecho del dual

serán los valores de los

coeficientes de la función

objetivo del primal

Y1

Y2

Y3

Y4

Page 14: Dualidad y Análisis de Sensibilidad

Dualidad

Ejemplo:

Maximizar Z = 3 X1 + 4 X2 – 2 X3

Sujeto a:

4 X1 - 2 X2 + 3 X3 12 Y1

-2 X1 + 3 X2 + X3 6 Y2

-5 X1 + X2 - 6 X3 4 Y3

3 X1 + 4 X2 – 2X3 = 10 Y4

X1 0, X2 0, X3 srs

Función Objetivo del programa dual:

Minimizar W = 12 Y1+ 6 Y2 + 4 Y3 + 10 Y4

Primera restricción del programa dual:

4 Y1- 2 Y2 - 5 Y3 + 3 Y4 ??? 3

Page 15: Dualidad y Análisis de Sensibilidad

Dualidad

Función Objetivo del programa dual:

Minimizar W = 12 Y1+ 6 Y2 + 4 Y3 + 10 Y4

Primera restricción del programa dual:

4 Y1- 2 Y2 - 5 Y3 + 3 Y4 ??? 3

Modelos max Modelo min

Xi 0 la iésima restricción es

Ejemplo:

Maximizar Z = 3 X1 + 4 X2 – 2 X3

Sujeto a:

4 X1 - 2 X2 + 3 X3 12 Y1

-2 X1 + 3 X2 + X3 6 Y2

-5 X1 + X2 - 6 X3 4 Y3

3 X1 + 4 X2 – 2X3 = 10 Y4

X1 0, X2 0, X3 srs

Page 16: Dualidad y Análisis de Sensibilidad

Dualidad

Función Objetivo del programa dual:

Minimizar W = 12 Y1+ 6 Y2 + 4 Y3 + 10 Y4

Primera restricción del programa dual:

4 Y1- 2 Y2 - 5 Y3 + 3 Y4 > 3

Modelos max Modelo min

Xi 0 la iésima restricción es

Ejemplo:

Maximizar Z = 3 X1 + 4 X2 – 2 X3

Sujeto a:

4 X1 - 2 X2 + 3 X3 12 Y1

-2 X1 + 3 X2 + X3 6 Y2

-5 X1 + X2 - 6 X3 4 Y3

3 X1 + 4 X2 – 2X3 = 10 Y4

X1 0, X2 0, X3 srs

Page 17: Dualidad y Análisis de Sensibilidad

Dualidad

Función Objetivo del programa dual:

Minimizar W = 12 Y1+ 6 Y2 + 4 Y3 + 10 Y4

Segunda restricción del programa dual:

-2 Y1+ 3 Y2 + Y3 + 4 Y4 < 4

Modelos max Modelo min

Xi < 0 la iésima restricción es <

Ejemplo:

Maximizar Z = 3 X1 + 4 X2 – 2 X3

Sujeto a:

4 X1 - 2 X2 + 3 X3 12 Y1

-2 X1 + 3 X2 + X3 6 Y2

-5 X1 + X2 - 6 X3 4 Y3

3 X1 + 4 X2 – 2X3 = 10 Y4

X1 0, X2 0, X3 srs

Page 18: Dualidad y Análisis de Sensibilidad

Dualidad

Función Objetivo del programa dual:

Minimizar W = 12 Y1+ 6 Y2 + 4 Y3 + 10 Y4

Tercera restricción del programa dual:

3 Y1+ 1 Y2 - 6 Y3 - 2 Y4 = -2

Modelos max Modelo min

Xi srs la iésima restricción es =

Ejemplo:

Maximizar Z = 3 X1 + 4 X2 – 2 X3

Sujeto a:

4 X1 - 2 X2 + 3 X3 12 Y1

-2 X1 + 3 X2 + X3 6 Y2

-5 X1 + X2 - 6 X3 4 Y3

3 X1 + 4 X2 – 2X3 = 10 Y4

X1 0, X2 0, X3 srs

Page 19: Dualidad y Análisis de Sensibilidad

Dualidad

Programa Dual

Min W = 12 Y1 + 6 Y2 + 4 Y3 + 10 Y4

Sujeto a:

4Y1 - 2 Y2 - 5 Y3 + 3 Y4 3

-2 Y1+ 3 Y2 + Y3 + 4 Y4 4

3 Y1+ 1 Y2 - 6 Y3 - 2 Y4 = -2

Y1 0, Y2 0, Y3 0, Y4 srs

Ejemplo:

Maximizar Z = 3 X1 + 4 X2 – 2 X3

Sujeto a:

4 X1 - 2 X2 + 3 X3 12 Y1

-2 X1 + 3 X2 + X3 6 Y2

-5 X1 + X2 - 6 X3 4 Y3

3 X1 + 4 X2 – 2X3 = 10 Y4

X1 0, X2 0, X3 srs

la iésima restricción es Yj 0

la iésima restricción es Yj 0

la iésima restricción es = Yj srs

Modelos max Modelo min

Page 20: Dualidad y Análisis de Sensibilidad

Dualidad

OBSERVACIÓN:

EL DUAL DEL PROBLEMA DUAL ES

OTRA VEZ EL PROBLEMA PRIMAL

Page 21: Dualidad y Análisis de Sensibilidad

Dualidad

Maximizar Z = 3 X1 + 4 X2

Sujeto a:

X1 + 2 X2 1000 Y1

3 X1 + 2 X2 1800 Y2

X2 400 Y3

X1 0, X2 0

Minimizar W= 1000 Y1 + 1800 Y2

+ 400 Y3

Sujeto a:

Y1 + 3 Y2 + 0 Y3 > 3

2 Y1 + 2 Y2 + 1Y3 > 4

Y1 0, Y2 0, Y3 0

DUAL

Minimizar Z = 1000 X1 + 1800 X2

+ 400 X3

Sujeto a:

X1 + 3 X2 > 3 Y1

2 X1 + 2 X2 + 1X3 > 4 Y2

X1 0, X2 0, X3 0

Maximizar W = 3 Y1 + 4 Y2

Sujeto a:

Y1 + 2 Y2 1000

3 Y1 + 2 Y2 1800

Y2 400

Y1 0, Y2 0

PRIMAL

Page 22: Dualidad y Análisis de Sensibilidad

Dualidad

TEOREMA DEL DUAL:

EL VALOR OPTIMO Z DEL PROBLEMA

PRIMAL ES IGUAL AL VALOR OPTIMO W

EN EL DUAL

Page 23: Dualidad y Análisis de Sensibilidad

ANALISIS DE SENSIBILIDAD

El objetivo de este análisis es determinar los

cambios en el valor de la función objetivo Z al

variar:

a) los coeficientes de las variables de decisión en

la función objetivo, y

b) los valores en el lado derecho de las

restricciones.

Estos cambios de valor se analizarán en el

reporte de análisis de sensibilidad que se

obtiene del programa SOLVER.

Page 24: Dualidad y Análisis de Sensibilidad

Ejemplo

Una compañía elabora los productos A, B y C. Cada producto se

procesa en tres departamentos: I, II y III. El total disponible de horas

de trabajo por semana por cada departamento es de 900, 1080 y

840 horas, respectivamente. Los requisitos de tiempo (en horas por

unidad) y la ganancia por cada unidad del producto son:

¿Cuántas unidades de cada producto debe fabricar la compañía

para maximizar las ganancias?

ANALISIS DE SENSIBILIDAD

Producto Producto Producto

A B C

Departamento I 2 1 2

Departamento II 3 1 2

Departamento III 2 2 1

Ganancia $16 $12 $15

Page 25: Dualidad y Análisis de Sensibilidad

ANALISIS DE SENSIBILIDAD

El programa lineal respectivo será la

siguiente:

Maximizar Z = 16 x1 + 12 x2 + 15 x3

Sujeto a:

2 x1 + x2 + 2 x3 900

3 x1 + x2 + 2 x3 1080

2 x1 + 2x2 + x3 840

x1, x2, x3 0

Page 26: Dualidad y Análisis de Sensibilidad

Maximizar Z = 16 X1 + 12 X2 + 15 X3

Sujeto a:

2 X1 + X2 + 2 X3 900 (s1)

3 X1 + X2 + 2 X3 1080 (s2)

2 X1 + 2 X2 + X3 840 (s3)

X1, X2, X3 0

FORMA ESTANDAR

Maximizar Z = 16 X1 + 12 X2 + 15 X3 + 0 s1 + 0 s2 + 0 s3

Sujeto a:

2 X1 + 1 X2 + 2 X3 + 1 s1 + 0 s2 + 0 s3 = 900

3 X1 + 1 X2 + 2 X3 + 0 s1 + 1 s2 + 0 s3 = 1080

2 X1 + 2 X2 + 1 X3 + 0 s1 + 0 s2 + 1 s3 = 840

X1, X2, X3, s1, s2, s3 0

ANALISIS DE SENSIBILIDAD

Page 27: Dualidad y Análisis de Sensibilidad

ITERACION 4

Cj 16 12 15 0 0 0

CB VB X1 X2 X3 s1 s2 s3 B

15 X3 2/3 0 1 2/3 0 -1/3 320

0 s2 1 0 0 -1 1 0 180

12 X2 2/3 1 0 -1/3 0 2/3 260

Zj 18 12 15 6 0 3 7920

Cj - Zj -2 0 0 -6 0 -3 Cj-Zj < 0

ANALISIS DE SENSIBILIDAD Maximizar Z = 16 X1 + 12 X2 + 15 X3

Sujeto a:

2 X1 + X2 + 2 X3 900 (s1)

3 X1 + X2 + 2 X3 1080 (s2)

2 X1 + 2 X2 + X3 840 (s3)

X1, X2, X3 0

Page 28: Dualidad y Análisis de Sensibilidad

ITERACION 4

Cj 16 12 15 0 0 0

CB VB X1 X2 X3 s1 s2 s3 B

15 X3 2/3 0 1 2/3 0 -1/3 320

0 s2 1 0 0 -1 1 0 180

12 X2 2/3 1 0 -1/3 0 2/3 260

Zj 18 12 15 6 0 3 7920

Cj - Zj -2 0 0 -6 0 -3 Cj-Zj < 0

ANALISIS DE SENSIBILIDAD Maximizar Z = 16 X1 + 12 X2 + 15 X3

Sujeto a:

2 X1 + X2 + 2 X3 900 (s1) Y1 = 6

3 X1 + X2 + 2 X3 1080 (s2) Y2 = 0

2 X1 + 2 X2 + X3 840 (s3) Y3 = 3

X1, X2, X3 0

Page 29: Dualidad y Análisis de Sensibilidad

ANALISIS DE SENSIBILIDAD Resolviendo por el programa LINDO, obtenemos los

resultados del reporte de Análisis de Sensibilidad:

Page 30: Dualidad y Análisis de Sensibilidad
Page 31: Dualidad y Análisis de Sensibilidad

ANALISIS DE SENSIBILIDAD El análisis de sensibilidad nos sirve para responder a las

preguntas ¿Qué pasa si?

Preguntas:

1. ¿Conviene programar horas extras en el Departamento 1?

Si su respuesta es afirmativa ¿hasta cuantas horas extras

conviene programar? ¿Cuánto aumenta la utilidad por cada

hora extra que se programe?

2. ¿Conviene programar horas extras en el Departamento 2?

Si su respuesta es afirmativa ¿hasta cuantas horas extras

conviene programar? ¿Cuánto aumenta la utilidad por cada

hora extra que se programe?

3. Debido a problemas laborales, en la empresa se pierden

150 horas en el departamento 2, por lo cual esas horas se

dejan de trabajar. ¿Cuánto deja de ganar la empresa?

Page 32: Dualidad y Análisis de Sensibilidad

ANALISIS DE SENSIBILIDAD

4. Debido a problemas laborales, en la empresa se

pierden 150 horas en el departamento 3, por lo cual

esas horas se dejan de trabajar. ¿Cuánto deja de

ganar la empresa?

5. Debido a la mayor demanda la ganancia del

producto B aumenta $2. ¿Varía el plan de producción

óptimo? ¿Cuál es la nueva utilidad?

6. Debido a la menor demanda la ganancia del

producto B disminuye $2. ¿Varía el plan de

producción óptimo? ¿Cuál es la nueva utilidad?

Page 33: Dualidad y Análisis de Sensibilidad

ANALISIS DE SENSIBILIDAD

7. Debido a la mayor demanda la ganancia del

producto C aumenta $10. ¿Varía el plan de

producción óptimo? ¿Cuál es la nueva utilidad?

8. Debido a la menor demanda la ganancia del

producto C disminuye $5. ¿Varía el plan de

producción óptimo? ¿Cuál es la nueva utilidad?

9. ¿Cuánto debe ser la ganancia mínima del

producto A para que sea rentable producirlo?