programacion lineal

April 26, 2017 | Author: Eric Alvarez | Category: N/A
Share Embed Donate


Short Description

Descripción: apunte clases...

Description

Investigación Operativa 1 - 430098 Ingeniería Civil Industrial

Dr. Rodrigo Linfati Departamento de Ingeniería Industrial Universidad del Bío-Bío

Versión: 18 de marzo de 2016

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

1 / 169

18 de marzo de 2016

2 / 169

Índice

1

Programación Lineal / Linear Programming Formulación Casos Especiales Método Gráco Forma Canónica y Estándar Método Simplex Método Simplex Big-M Dual y su Interpretación Método Simplex-Dual Análisis de Sensibilidad

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

Programación Lineal / Linear Programming

Formulación

Ejemplo Pinturas 1/2 Ejemplo 2.1-1 (Taha, 2012)

Reddy Mikks produce punturas para interiores y exteriores usando dos tipos de materias primas: Pigmentos y Aglutinantes. La siguiente tabla proporciona la información básica del problema. Pintura para Pintura para Disponibilidad Exteriores

Interiores

(ton.)

Pigmentos

6

4

24

Aglutinantes

1

2

6

Utilidad ($)

5.000

4.000

Reddy Mikks buscan determinar la mejor combinación de pinturas a producir para maximizar su utilidad

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Formulación

18 de marzo de 2016

3 / 169

Ejemplo Pinturas 2/2

Condiciones adicionales: Una encuesta de mercado indica que la demanda diaria de pintura para interiores no puede exceder la pintura para exteriores en más de una tonelada. Asimismo, la demanda diaria máxima de pintura para interiores es de dos toneladas.

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

4 / 169

Programación Lineal / Linear Programming

Formulación

Partes de un LP

1

Parámetros o Datos: Lo conocido, la información que nos entregan.

1

Variables de Decisión: Lo que nos preguntan, lo que debemos decidir.

1

Restricciones: Las condiciones que debe cumplir cada solución factible.

1

Función Objetivo: Medida de calidad de la solución. Puede ser de Máximo o Mínimo.

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Formulación

18 de marzo de 2016

5 / 169

Supuestos de un LP

Proporcionalidad: Ej. Si fabrico el doble de pintura, necesito el doble de materia prima Aditividad: Ej. Puedo sumar los ingresos de pintura exterior con la interior, ya que ambos están en unidades monetarias ($$) Divisibilidad: Ej. Si fabrico media tonelada de pintura, necesito la mitad de materia prima La no divisibilidad signica que no se podría fabricar media tonelada de pintura Determinismo: Ej. Se conocen la cantidad de materia prima disponible

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

6 / 169

Programación Lineal / Linear Programming

Formulación

Conceptos de un LP

Solución Factible: Solución que cumple todas las restricciones Solución Óptima: Solución factible que tiene el mejor valor de la Función Objetivo, ya sea un problema de Máximo o de Mínimo Región Factible: Conjunto de Soluciones Factibles Modelo: Representación de un sistema real, sobre el cual se realizan análisis, ej. maquetas, modelos a escala, tubos de viento, cámaras de calor, modelos físico-químicos, modelos matemáticos, etc.

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Formulación

18 de marzo de 2016

7 / 169

18 de marzo de 2016

8 / 169

Modelo Pinturas 1/2 Ejemplo 2.1-1 (Taha, 2012)

Variables

x1 : x2 :

Toneladas de Pintura exterior a producir Toneladas de Pintura interior a producir

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

Programación Lineal / Linear Programming

Formulación

Modelo Pinturas 2/2 Función Objetivo

Máxima Ganancia: Max z=5000 ∗ x1 + 4000 ∗ x2 Restricciones

Materia Prima Pigmentos: 6 ∗ x1 + 4 ∗ x2 ≤ 24 Materia Prima Aglutinantes: 1 ∗ x1 + 2 ∗ x2 ≤ 6 Encuesta 1: x2 ≤ +x1 + 1 Encuesta 2: x2 ≤ 2 No Negatividad: x1 , x2 ≥ 0 Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Formulación

18 de marzo de 2016

9 / 169

Región Factible Pinturas x2

1,2 z=13.000

Encuesta 1

2,2 z=18.000

Encuesta 2

3,1.5 z=21.000 0,1 z=4.000 0,0 z=0

x1 4,0 z=20.000 Materia Prima Aglutinantes Materia Prima Pigmentos

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

10 / 169

Programación Lineal / Linear Programming

Formulación

Ejemplo Yogur

En una empresa de lácteos, se puede embazar yogur con fruta (yofrut) y yogur bajo en calorías (yodiet). Cada vaso de yofrut se vende en 200 y cada yodiet en 150 La máquina que envasa los yogures puede trabajar 4 horas por día Cada vaso de yofrut se demora 30 segundos, y cada yodiet 45 segundos ¾Cuántas unidades de cada tipo envasaría usted en un día, para obtener la mayor utilidad posible?

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Formulación

18 de marzo de 2016

11 / 169

Ejemplo Yogur 2

Condiciones adicionales: El máximo a embazar por día son 400 unidades de yofrut. Se rmo un contrato con un supermercado el cual comprara como mínimo 100 yodiet Cada vaso de yofrut requiere 200 gramos de yogur, cada yodiet 150 gramos de yogur y se dispone de un total de 60 kilogramos de yogur.

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

12 / 169

Programación Lineal / Linear Programming

Formulación

Modelo Yogur 1/2

Variables

x1 : x2 :

Unidades de yofrut diarias Unidades de yodiet diarias

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Formulación

18 de marzo de 2016

13 / 169

Modelo Yogur 2/2 Función Objetivo

Máxima Ganancia: Max z=200 ∗ x1 + 150 ∗ x2 Restricciones

Horas Disponibles: 30 ∗ x1 + 45 ∗ x2 ≤ 4 ∗ 3600 Capacidad Máxima: x1 ≤ 400 Contrato Supermercado: x2 ≥ 100 Materia Prima: 200 ∗ x1 + 150 ∗ x2 ≤ 60 ∗ 1000 No Negatividad: x1 , x2 ≥ 0 Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

14 / 169

Programación Lineal / Linear Programming

Formulación

Región Factible Yogur Capacidad Maxima

x2

0,320 z=48.000

120,240 z=60.000

0,100 z=15.000

225,100 z=60.000

Contrato Supermercado

x1 Horas Disponibles

Materia Prima

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Formulación

18 de marzo de 2016

15 / 169

Ejemplo Automotriz Una compañía automotriz produce automóviles y camiones. Cada vehículo tiene que pasar por un taller de pintura y por un taller de montaje de carrocería. Si el taller de pintura pintara solamente camiones, se podría pintar 40 camiones al día. Si el taller de pintura pintara solamente automóviles, se podrían pintar 60 automóviles diariamente. Si el taller de carrocería produjera solamente automóviles, podría fabricar 50 automóviles al día. Si el taller de carrocería produjera solamente camiones, podría fabricar 50 camiones al día. Cada camión aporta 2.000.000 pesos de utilidad, y cada automóvil 3.000.000. Utilice la programación lineal para determinar la producción diaria que maximizará la ganancia de la compañía.

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

16 / 169

Programación Lineal / Linear Programming

Formulación

Modelo Automotriz 1/2

Variables

x1 : x2 :

Unidades de Automóviles producidos diariamente Unidades de Camiones producidos diariamente

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Formulación

18 de marzo de 2016

17 / 169

Modelo Automotriz 2/2

Función Objetivo

Máxima Ganancia: Max z=3,000,000 ∗ x1 + 2,000,000 ∗ x2 Restricciones

Pintura: x1 /60 + x2 /40 ≤ 1 Carroceria: x1 /50 + x2 /50 ≤ 1 No Negatividad: x1 , x2 ≥ 0

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

18 / 169

Programación Lineal / Linear Programming

Formulación

Región Factible Automotriz x2

0,40 z=80

30,20 z=130

x1 0,0 z=0

50,0 z=150

Pintura Carroceria

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Formulación

18 de marzo de 2016

19 / 169

Ejemplo Alimentos

La granja de los tres chanchitos alimenta a sus vacas con un alimento especial compuesto de maíz y de semilla de soja solamente. Proteínas Fibra Costo ($/kg.) Maíz

0,09

0,02

30

Soja

0,60

0,06

90

Los requerimientos alimenticios de las vacas son al menos 30 % de proteína y un máximo de 5 % de bra. Se necesita preparar al menos 800 kg. de alimento. Se dispone de 1.500 kg. de Maíz y de 1.500 kg. de Soja.

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

20 / 169

Programación Lineal / Linear Programming

Formulación

Modelo Alimentos 1/2

Variables

x1 : x2 :

Kilogramos de maíz Kilogramos de soja

Función Objetivo

Minimizar Costos: Min z=30 ∗ x1 + 90 ∗ x2

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Formulación

18 de marzo de 2016

21 / 169

Modelo Alimentos 2/2 Restricciones

Maiz Disponible: x1 ≤ 1,500 Soja Disponible: x2 ≤ 1,500 Alimento necesario: x1 + x2 ≥ 800 Proteina: 0, 09 ∗ x1 + 0, 60 ∗ x2 ≥ 0, 30(x1 + x:2 ) Fibra: 0, 02 ∗ x1 + 0, 06 ∗ x2 ≤ 0, 05(x1 + x:2 ) No Negatividad: x1 , x2 ≥ 0 Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

22 / 169

Programación Lineal / Linear Programming

Formulación

Región Factible Alimentos Fibra 500,1500 z=150.000

x2

Maiz Soja 1500,1500 z=180.000

Proteina 1500,1050 z=139.500

200,600 z=60.000

470.6,329.4 z=43.764

x1 Alimento

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Formulación

18 de marzo de 2016

23 / 169

Ejemplo Joyería Una joyería utiliza rubíes y zaros para producir dos tipos de anillos. Un anillo tangananica requiere 2 rubíes, 3 zaros y una hora de trabajo de joyería. Un anillo tanganana requiere 3 rubíes, 2 zaros y dos hora de trabajo de joyería. Cada anillo tangananica se vende en $400.000 y cada anillo tanganana se vende en $500.000. Actualmente la joyería dispone de 100 rubíes, 120 zaros y 70 horas de trabajo de joyería. En caso de ser necesarios, se pueden comprar rubíes a un costo de 100.000 cada uno. La demanda mínima es de 20 anillos tangananica y 25 anillos tanganana.

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

24 / 169

Programación Lineal / Linear Programming

Formulación

Modelo Joyería 1/2

Variables

x1 : x2 : x2 :

Anillos tangananica Anillos tanganana Rubíes a Comprar

Función Objetivo

Ganancia: Max z=400,000 ∗ x1 + 500,000 ∗ x2 − 100,000 ∗ x3

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Formulación

18 de marzo de 2016

25 / 169

18 de marzo de 2016

26 / 169

Modelo Joyería 2/2 Restricciones

Rubíes: 2 ∗ x1 + 3 ∗ x3 ≤ 100 + x3 Zafiros: 3 ∗ x1 + 2 ∗ x2 ≤ 120 HH: x1 + 2x2 ≤ 70 Demanda: x1 ≥ 20 Demanda: x2 ≥ 25 No Negatividad: x1 , x2 , x3 ≥ 0 Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

Programación Lineal / Linear Programming

Formulación

Ejemplo Restaurante Consideremos la situación de un restaurante que abre los 7 días de la semana. En base a la experiencia del administrador, para atender el público se requieren un número de trabajadores por día que se resume en la tabla siguiente: Lunes Martes Miércoles Jueves Viernes Sábado Domingo 14

13

15

16

19

18

11

Cada trabajador tiene un régimen de trabajo de 5 días consecutivos, y luego toma 2 días de descanso, durante todo el año. ¾De qué manera se puede cumplir con los requerimientos de servicio del restaurante minimizando el número de trabajadores a contratar?

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Formulación

18 de marzo de 2016

27 / 169

Modelo Restaurante 1/2 Variables

x1 : x2 : x3 : x4 : x5 : x6 : x7 :

número de trabajadores que inician un día lunes. número de trabajadores que inician un día martes. número de trabajadores que inician un día miércoles. número de trabajadores que inician un día jueves. número de trabajadores que inician un día viernes. número de trabajadores que inician un día sábado. número de trabajadores que inician un día domingo.

Función Objetivo

Trabajadores: Min z=x1 + x2 + x3 + x4 + x5 + x6 + x7

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

28 / 169

Programación Lineal / Linear Programming

Formulación

Modelo Restaurante 2/2 Restricciones

Lunes: x1 + x4 + x5 + x6 + x7 ≥ 14 Martes: x1 + x2 + x5 + x6 + x7 ≥ 13 Miercoles: x1 + x2 + x3 + x6 + x7 ≥ 15 Jueves: x1 + x2 + x3 + x4 + x7 ≥ 16 Viernes: x1 + x2 + x3 + x4 + x5 ≥ 19 Sabado: x2 + x3 + x4 + x5 + x6 ≥ 18 Domingo: x3 + x4 + x5 + x6 + x7 ≥ 11 No Negatividad: x1 , x2 , x3 , x4 , x5 , x6 , x7 ≥ 0 Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Formulación

18 de marzo de 2016

29 / 169

Ejemplo Tractores

Sea un granja, la que necesita para su cosecha de trigo la siguiente cantidad de tractores. Mes Demanda Tractores

Enero Febrero Marzo Abril 10

8

12

7

Actualmente, se pueden arrendar en el mercado tractores, con los siguientes costos Duración Costo

1 mes

2 meses 3 meses

400.000 700.000 900.000

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

30 / 169

Programación Lineal / Linear Programming

Formulación

Modelo Tractores 1/2

Variables

xe ,1 : Número de tractores a contratar en enero durante 1 mes xe ,2 : Número de tractores a contratar en enero durante 2 meses xe ,3 : Número de tractores a contratar en enero durante 3 meses xf ,1 : Número de tractores a contratar en febrero durante 1 mes xf ,2 : Número de tractores a contratar en febrero durante 2 meses xf ,3 : Número de tractores a contratar en febrero durante 3 meses xm,1 : Número de tractores a contratar en marzo durante 1 mes xm,2 : Número de tractores a contratar en marzo durante 2 meses xa,1 : Número de tractores a contratar en abril durante 1 mes

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Formulación

18 de marzo de 2016

31 / 169

Modelo Tractores 2/2 Función Objetivo

Costo: Min z=

400 ∗ xe ,1 + 700 ∗ xe ,2 + 900 ∗ xe ,3 +400 ∗ xf ,1 + 700 ∗ xf ,2 + 900 ∗ xf ,3 +400 ∗ xm,1 + 700 ∗ xm,2 +400 ∗ xa,1

Restricciones

Enero: xe ,1 + xe ,2 + xe ,3 ≥ 10 Febrero: xe ,2 +xe ,3 +xf ,1 + xf ,2 + xf ,3 ≥ 8 Marzo: xe ,3 + xf ,2 + xf ,3 + xm,1 + xm,2 ≥ 12 Abril: xf ,3 + xm,2 + xa,1 ≥ 7 No Negatividad: xe ,1 , xe ,2 , xe ,3 , xf ,1 , xf ,2 , xf ,3 , xm,1 , xm,2 , xa,1 ≥ 0

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

32 / 169

Programación Lineal / Linear Programming

Formulación

Ejemplo Jugos de Fruta Una empresa productora de jugos de fruta, cada semana, utiliza una sola máquina durante 150 horas para destilar jugo de naranja y de limón en concentrados que se almacenan en dos tanques separados de 1500 litros cada uno antes de congelarlos. La máquina puede procesar 25 litros de jugo de naranja por hora, pero sólo 20 litros de jugo de limón por hora. Cada litro de jugo de naranja cuesta $1.50 y pierde 30 % de contenido de agua al destilarse en concentrado. El concentrado de jugo de naranja se vende después en $6 por litro. Cada litro de jugo de limón cuesta $2.00 y pierde 25 % de contenido de agua al destilarse en concentrado. El concentrado de jugo de limón se vende después en $8 por litro. Dena las variables de decisión y formule un modelo de programación lineal para determinar un plan de producción que maximice la ganancia para la siguiente semana.

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Formulación

18 de marzo de 2016

33 / 169

18 de marzo de 2016

34 / 169

Modelo Jugos de Fruta 1/2

Variables

x1 : x2 :

litros de jugo de naranja por utilizar en la semana litros de jugo de limón por utilizar en la semana

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

Programación Lineal / Linear Programming

Formulación

Modelo Jugos de Fruta 2/2 Función Objetivo

Ingreso-Costo: Max z=(1 − 0,30) ∗ 6 ∗ x1 + (1 − 0,25) ∗ 8 ∗ x2 − 1,5 ∗ x1 − 2 ∗ x2 Restricciones

r1: 1/25 ∗ x1 + 1/20∗x2 ≤ 150 r2: 0.70*x1 ≤1500 r3: 0.75*x2 ≤1500 No Negatividad: x1 , x2 ≥ 0

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Formulación

18 de marzo de 2016

35 / 169

Ejemplo Producción Considere el problema de programación de la producción de un producto para cada una de las próximas 4 semanas. El costo de la producción de una unidad es $100 para las 2 primeras semanas y $150 para las últimas 2. Las demandas semanales son 7, 8, 9 y 10 unidades y tienen que ser satisfechas. La planta puede producir un máximo de 9 unidades semanales. Además, se pueden emplear horas extras durante la tercera y cuarta semana; esto incrementa la producción semanal en 2 unidades más, pero el costo de producción también sube en $58 por unidad de hora extra. El exceso de producción puede ser almacenado a un costo unitario de $3 por semana, y si se satisface un pedido atrasado se incurre en un costo por unidad de $4 por semana. ¾Cómo programar la producción de tal manera que minimice los costos totales? Formule este problema como un modelo de programación lineal.

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

36 / 169

Programación Lineal / Linear Programming

Formulación

Modelo Producción 1/3

Variables

xi : Unidades producidas en tiempo normal en la semana i, para i = 1, 2, 3, 4. yi : Unidades producidas en tiempo extra en la semana j, para j = 3, 4. Ii : Unidades mantenidas en inventario en la semana i, para i = 1, 2, 3, 4. wij : Unidades producidas en la semana i para satisfacer el pedido atrasado de la semana j. Estas son: w21 , w31 , w41 , w32 , w42 , w43 .

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Formulación

18 de marzo de 2016

37 / 169

Modelo Producción 2/3

Función Objetivo

x1 + x2 ) + 150 ∗ (x3 + x4 ) +(150 + 58) ∗ (y3 + y4 ) +3 ∗ (I1 + I2 + I3 + I4 ) +4 ∗ (w21 + w32 + w43 ) +8 ∗ (w31 + w42 ) + 12 ∗ w41

100 ∗ (

Costo: Min z=

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

38 / 169

Programación Lineal / Linear Programming

Formulación

Modelo Producción 3/3 Restricciones

s1: x1 + w21 + w31 + w41 = 7 + I1 s2: x2 + I1 + w32 + w42 = 8 + I2 + w21 s3: x3 + y3 + I2 + w43 = 9 + I3 + w31 + w32 s4: x4 + y4 + I3 = 10 + I4 + w41 + w42 + w43 s4: x1 , x2 , x3 , x4 ≤ 9

y1 , y2 ≤ 2

No Negatividad: xi , yi , Ii , wij ≥ 0 Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Casos Especiales

18 de marzo de 2016

39 / 169

Casos especiales 1/4 Múltiples soluciones óptimas

Existen innitas soluciones, esto puede ocurrir cuando la función objetivo es paralelo a alguna restricción

Max

z = 6 ∗ x1 + 4 ∗ x2 x1 ≤ 4 x2 ≤ 6

3∗

x1 + 2 ∗ x2 ≤ 18 x1 , x2 ≥ 0

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

40 / 169

Programación Lineal / Linear Programming

Casos Especiales

Región Factible Múltiples soluciones óptimas

x2

0,6 z=24

R1

2,6 z=36

R2

4,3 z=36

x1 0,0 z=0

4,0 z=24 R3

Z0 Z6 Z12Z18Z24Z30Z36Z42 Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Casos Especiales

18 de marzo de 2016

41 / 169

18 de marzo de 2016

42 / 169

Casos especiales 2/4 Sin solución

Región factible vacía

Max

z = x1 + x2 x1 ≤ 1 x2 ≤ 1

x1 + x2 ≥ 5 x1 , x2 ≥ 0

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

Programación Lineal / Linear Programming

Casos Especiales

Región Factible Sin solución

x2

R1

R2

x1

R3

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Casos Especiales

18 de marzo de 2016

43 / 169

Casos especiales 3/4 Región factible no acotada

No existe solución óptima cuando la región factible no es acotada respecto a la función objetivo

Min z = x1 − x2 x1 ≤ 2 x2 ≥ 5 x1 , x2 ≥ 0

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

44 / 169

Programación Lineal / Linear Programming

Casos Especiales

Región Factible Región factible no acotada

0,12 z=-12

x2

0,5 z=-5

2,12 z=-10 R1

2,5 z=-3

R2

x1

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Casos Especiales

18 de marzo de 2016

45 / 169

Casos especiales 4/4 Región factible no acotada

Existe solución óptima cuando la función objetivo es acotada respecto a la región factible

Min z = x1 + x2 x1 ≤ 2 x2 ≥ 5 x1 , x2 ≥ 0

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

46 / 169

Programación Lineal / Linear Programming

Casos Especiales

Región Factible Región factible no acotada

0,12 z=12

x2

0,5 z=5

2,12 z=14 R1

R2

2,5 z=7

x1

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Método Gráco

18 de marzo de 2016

47 / 169

Método Gráco 1/2

Probar con diferentes valores de Z

1

Dibujar la Región Factible

2

HACER

1 2

3

Darse un valor para Z y trazar la función objetivo Desplazar la función objetivo, en la dirección de mejora, cambiando el valor de Z

HASTA llegar al limite de la región factible NOTA: No olvide las restricciones de no negatividad

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

48 / 169

Programación Lineal / Linear Programming

Método Gráco

Método Gráco 2/2

Probar cada uno de los puntos extremos

1

Dibujar la Región Factible

2

Encontrar los Puntos Extremos

3

Evaluar cada uno de los Puntos Extremos

4

Selección el que tenga el mejor valor de

Z

NOTA: No olvide las restricciones de no negatividad

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Método Gráco

18 de marzo de 2016

49 / 169

18 de marzo de 2016

50 / 169

Ejercicio Método Gráco 1/4

Max

z = x1 + x2

Sujeto a:

x1 ≤ −5 x1 + x2 ≤ 5 x1 , x2 ≥ 0

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

Programación Lineal / Linear Programming

Método Gráco

Ejercicio Método Gráco 2/4

Max

z = x1 + x2

Sujeto a:

x1 + x2 ≤ 2 x1 , x2 ≥ 0

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Método Gráco

18 de marzo de 2016

51 / 169

18 de marzo de 2016

52 / 169

Ejercicio Método Gráco 3/4

Max

z = x1 + x2

Sujeto a:

x1 − x2 ≤ 1 x2 ≤ 2 x1 , x2 ≥ 0

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

Programación Lineal / Linear Programming

Método Gráco

Ejercicio Método Gráco 4/4

Max

z = x1 + x2

Sujeto a:

x1 − x2 ≤ 4 x1 , x2 ≥ 0

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Método Gráco

18 de marzo de 2016

53 / 169

Número de Soluciones

¾Cuantas Soluciones Óptimas pueden existir en un LP?

UNA INFINITAS NINGUNA

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

54 / 169

Programación Lineal / Linear Programming

Forma Canónica y Estándar

Forma Canónica 1/2

Max

z = c| ∗ x

Sujeto a:

A∗x ≤ b x ≥0

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 18 de marzo de 2016 Programación Lineal / Linear Programming Forma Canónica y Estándar

55 / 169

Forma Canónica 2/2 Siendo: Siempre un problema de máximo

x ∈ Rn : Vector de Variables de decisión (x1 , x2 , x3 , . . . , xn ) c ∈ Rn : Vector de los coecientes de la función objetivo (c1 , c2 , c3 , . . . , cn ) b ∈ Rm : Vector de los coecientes del lado derecho (b1 , b2 , b3 , . . . , bm ) A ∈ Rm×n : Matriz de los coecientes tecnológicos a1,1 a1,2 a1,3 · · · a1,n a2,1 a2,2 a2,3 · · · a2,n . . .

..

.

. . .

am,1 am,2 am,3 · · · am,n

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

56 / 169

Programación Lineal / Linear Programming

Forma Canónica y Estándar

Transformaciones a forma Canónica 1/3

Problema de Mínimo Se dene la siguiente transformación

Min c | x ⇒ −Max

− c |x

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 18 de marzo de 2016 Programación Lineal / Linear Programming Forma Canónica y Estándar

57 / 169

Transformaciones a forma Canónica 2/3

Restricciones



Se dene la siguiente transformación

ai| x ≥ bi ⇒ −ai| x ≤ −bi Restricciones

=

Se dene la siguiente transformación

(

ai| x = bi ⇒

Rodrigo Linfati (UBB)

ai| x ≤ bi ai| x ≥ bi

=⇒ −ai| x ≤ −bi

Investigación Operativa 1 - 430098

18 de marzo de 2016

58 / 169

Programación Lineal / Linear Programming

Forma Canónica y Estándar

Transformaciones a forma Canónica 3/3

Variables Negativas Se dene la siguiente transformación

xj = −xj

xj ≥ 0

Variables Sin Restricción Se dene la siguiente transformación

xj = x˙j − x¨j

x˙j , x¨j ≥ 0

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 18 de marzo de 2016 Programación Lineal / Linear Programming Forma Canónica y Estándar

59 / 169

Ejercicio: Transformar a forma Canónica Min z = x1 + x2 + x3 Sujeto a:

x1 + 2 ∗ x2 − x3 ≤ 3 x1 + 4 ∗ x2 + 5 ∗ x3 = 5 x1 − 2 ∗ x2 + x3 ≥ 3 x1 ≥ 0 Rodrigo Linfati (UBB)

x2 ≤ 0

x3 Sin Restricci o´n

Investigación Operativa 1 - 430098

18 de marzo de 2016

60 / 169

Programación Lineal / Linear Programming

Forma Canónica y Estándar

Forma Estándar

Max

z = c| ∗ x

Sujeto a:

A∗x = b x ≥0

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 18 de marzo de 2016 Programación Lineal / Linear Programming Forma Canónica y Estándar

61 / 169

Transformaciones a forma Estándar Variables de Holgura Sea

hi ,

una variable de decisión no negativa (cticia)

Podemos realizar la siguiente transformación

ai ∗ x ≤ bi =⇒ ai ∗ x + hi = bi Donde

hi = bi − ai ∗ x En general

A ∗ x ≤ b =⇒ A ∗ x + h = b Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

62 / 169

Programación Lineal / Linear Programming

Método Simplex

Algoritmo Simplex

Dantzig, 1947 0.- Modelar el problema usando la forma estándar. 1.- Encontrar una Solución (Básica) Inicial 2.- SI Ultima Solución es Óptima > Terminar 3.- SINO Moverse al próximo vértice adyacente 4.- Volver a 2 Nota: La solución óptima estará en un punto extremo. Nota: Si todos los vértices adyacentes son menores al actual, estamos en presencia de la Solución Óptima (Local y Global).

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Método Simplex

18 de marzo de 2016

63 / 169

Deniciones

Variable: Incógnitas a encontrar. Son

n.

Restricción: Condiciones impuestas. Se asumen linealmente independientes, es decir, que no son redundantes. Son

m

sin

contar las de no negatividad. Variable Básica: Variable (incógnita) que obtiene su valor desde el sistema de ecuaciones. Existe una por cada restricción, es decir, existen

m.

Variable NO Básica: Variable, de forma arbitraria, jada a cero. Existe una por cada grado de libertad de la matriz

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

A,

es decir,

n−m

18 de marzo de 2016

64 / 169

Programación Lineal / Linear Programming

Método Simplex

Demostración 1/6 Sea un problema en su forma canónica:

Max

z = c| ∗ x

A∗x ≤ b x ≥0 Es equivalente a:

Max

z

z − c| ∗ x = 0 A∗x ≤ b Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Método Simplex

18 de marzo de 2016

65 / 169

Demostración 2/6 Y a su vez a:

Max

z

z − c| ∗ x = 0 A∗x +I ∗h = b Ahora en forma de matriz:



1 0

Rodrigo Linfati (UBB)

−c

A

0

I



  z 0 ∗ x  = b h 



Investigación Operativa 1 - 430098

18 de marzo de 2016

66 / 169

Programación Lineal / Linear Programming

Método Simplex

Demostración 3/6 Podemos denir:

x = [xb xn ] c = [cb cn ] A = [B

N]

Siendo ·b la parte relacionada con las variables básicas, y ·n las no básicas. Entonces

B ∗ xb + N ∗ xn = b

Pre Multiplicamos

por

B −1

B −1 ∗ B ∗ xb + B −1 ∗ N ∗ xn = B −1 ∗ b xb + B −1 ∗ N ∗ xn = B −1 ∗ b Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Método Simplex

18 de marzo de 2016

67 / 169

Demostración 4/6 xb = B −1 ∗ b − B −1 ∗ N ∗ xn

Pero , El valor de

xb

xn = 0 en metodo

Simplex

se puede denir como:

xb = B −1 ∗ b Remplazamos en

z,

podemos denir:

z = cb ∗ xb = cb ∗ B −1 ∗ b Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

68 / 169

Programación Lineal / Linear Programming

Método Simplex

Demostración 5/6 Las ecuaciones anteriores las podemos escribir en forma matricial:



z xb



 =

c ∗ B −1 ∗ b B −1 ∗ b 

Nos damos cuenta que



 =

cb ∗ B −1 B −1

1 0

cb ∗ B −1 B −1

1 0

  ∗

0



b

 multiplica al lado derecho del

sistema de ecuaciones inicial, por tanto hacemos lo mismo con el lado izquierdo: 

cb ∗ B −1 B −1

1 0

  ∗

1 0

−c

A

0

I



 =

1 0

cb ∗ B −1 ∗ A − c cb ∗ B −1 B −1 ∗ A B −1

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Método Simplex

18 de marzo de 2016



69 / 169

Demostración 6/6

Finalmente, remplazando en el sistema original tenemos:



1 0

cb ∗ B −1 ∗ A − c cb ∗ B −1 B −1 ∗ A B −1

Rodrigo Linfati (UBB)





z



∗ x  =

h

Investigación Operativa 1 - 430098



cb ∗ B −1 ∗ b B −1 ∗ b

18 de marzo de 2016



70 / 169

Programación Lineal / Linear Programming

Método Simplex

Tabla Simplex En general, la tabla Simplex cumple con:

z xb

Variables Originales Variables Holgura RHS cb ∗ B −1 ∗ A − c cb ∗ B −1 cb ∗ B −1 ∗ b B −1 ∗ A B −1 B −1 ∗ b

En términos coloquiales

Variables z Costos Reducidos Valor Variables Basicas Valor

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Método Simplex

Funcion Objetivo Variables b´asicas

18 de marzo de 2016

71 / 169

Tabla Simplex con B=I Hasta el momento, lo único desconocido es

B,

nuestra base.

Si tomamos como variables básicas las variables de holgura tenemos que:

B =I

B −1 = I

cb = 0

Al remplazar en la tabla anterior nos queda:

Variables Originales Variables Holgura RHS Variables NO Basicas Variables Basicas RHS z −c 0 0 h A I b Esta tabla la llamaremos Tabla Simplex Inicial Nota: recuerde que estamos bajo el supuesto de variables no negativas

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

72 / 169

Programación Lineal / Linear Programming

Método Simplex

Criterios

Criterio de Optimalidad Una Tabla Simplex sera óptima, si y solo si, no existen costos reducidos negativos (para las variables no básicas)

Elección del próximo vértice Para moverse a un vértice adyacente, se debe agregar (insertar) una variable no básica a la base, y sacar (eliminar) una variable de la base (que se transformará en no básica).

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Método Simplex

18 de marzo de 2016

73 / 169

Elección de Próximo Vértice Elección del variable de entrada Se elige una variable (columna) con los costos reducidos negativos

cj

En general, se selecciona el más negativos de los costos reducidos. Esta elección se realiza para moverse en la dirección que más aumenta la función objetivo.

Elección del variable de salida Se elige la variable (la) con una razón Se ignoran las variables (las) con

aij

bi ai ,j positiva más pequeña.

negativos o cero.

Esta elección se realiza para moverse en la dirección de la primera restricción, garantizando que la solución siga siendo factible.

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

74 / 169

Programación Lineal / Linear Programming

Método Simplex

Casos Especiales

Variable de entrada: En caso de empate, se elige una de forma aleatoria Variable de salida: En caso de empate, se elige una de forma aleatoria Base Degenerada: Cuando en el lado derecho existe un cero. Variable de salida: Si no existe, la función objetivo no es acotada en esa dirección. Múltiples Soluciones Óptimas: Existen costos reducidos asociado a variables NO básicas igual a cero en la tabla óptima.

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Método Simplex

18 de marzo de 2016

75 / 169

Ejemplo Puertas y Ventanas

Sea una empresa que se dedica a la fabricación de puertas y ventanas, estos productos deben pasar por tres plantas de producción. ¾Cual es la mejor combinación de puertas y ventanas? Planta

Puerta Ventana Horas Disponible

1

1

0

4

2

0

2

12

3

3

2

18

Ganancia

3

5

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

76 / 169

Programación Lineal / Linear Programming

Método Simplex

Modelo Puertas y Ventanas Variables

x1 : x2 :

Número de Puertas Número de Ventanas

Modelo

Ganancia: Max z=3 ∗ x1 + 5 ∗ x2 Planta1: x1 ≤ 4 Planta2: 2*x2 ≤ 12 Planta3: 3 ∗ x1 + 2 ∗ x2 ≤ 18 No Negatividad: x1 , x2 ≥ 0 Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Método Simplex

18 de marzo de 2016

77 / 169

Región Factible x2

0,6 z=30

Planta1

Planta2

2,6 z=36

4,3 z=27

x1 0,0 z=0

4,0 z=12 Planta3

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

78 / 169

Programación Lineal / Linear Programming

Método Simplex

Modelo Canónico Puertas y Ventanas

Max

z = 3 ∗ x1 + 5 ∗ x2 x1 ≤ 4 2∗

3∗

x2 ≤ 12

x1 + 2 ∗ x2 ≤ 18 x1 , x2 ≥ 0

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Método Simplex

18 de marzo de 2016

79 / 169

18 de marzo de 2016

80 / 169

Modelo Estándar Puertas y Ventanas

Max

z = 3 ∗ x1 + 5 ∗ x2 x1 + h1 = 4 2∗

3∗

x2 + h2 = 12

x1 + 2 ∗ x2 + h3 = 18 x1 , x2 ≥ 0

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

Programación Lineal / Linear Programming

Método Simplex

Modelo Matricial Puertas y Ventanas



xn xb

 

=



x h

cn cb





=

=



x1 x2 h1 h2 h3



3



b=

5

0

4



12



0

0





18



N B



=



A I





1

0

=

0

2

3

2



1 1

 1

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Método Simplex

18 de marzo de 2016

81 / 169

Tabla Simplex Inicial Puertas y Ventanas x1 x2 h1 h2 h3 z −3 −5 0 0 0 h1 1 0 1 0 0 h2 0 2 0 1 0 h3 3 2 0 0 1 Solución actual:

0 4 12 18

x1 = 0, x2 = 0 z =0

Valor de la solución actual:

Solución Óptima: NO, existen costos reducidos negativos

x2 h2 (12/2 = 6

Variable de Entrada: Variable de Salida:

vs 18/2

= 9)

Ahora, se debe retornar la matriz a su forma original, es decir, para la nueva variable básica hacer un cero en la la

Rodrigo Linfati (UBB)

z

y recuperar la matriz identidad.

Investigación Operativa 1 - 430098

18 de marzo de 2016

82 / 169

Programación Lineal / Linear Programming

Método Simplex

Tabla Simplex Puertas y Ventanas x1 x2 h1 h2 h3 z −3 0 0 5/2 0 h1 1 0 1 0 0 x2 0 1 0 1/2 0 h3 3 0 0 −1 1

30 4 6 6

x1 = 0, x2 = 6 solución actual: z = 30

Solución actual: Valor de la

Solución Óptima: NO, existen costos reducidos negativos

x1 h3 (4/1 = 4

Variable de Entrada: Variable de Salida:

vs 6/3

= 2)

Ahora, se debe retornar la matriz a su forma original, es decir, para la nueva variable básica hacer un cero en la la

z

y recuperar la matriz identidad.

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Método Simplex

18 de marzo de 2016

83 / 169

Tabla Simplex Puertas y Ventanas

z h1 x2 x1

x1 x2 h1 0

0

0

0

0

1

0

1

0

1

0

0

h2 / 1/3 1/2 −1/3 3 2

h3 1

36

−1/3

2

0

6

/

2

1 3

x1 = 2, x2 = 6 solución actual: z = 36

Solución actual: Valor de la

Solución Óptima: SI, no existen costos reducidos negativos

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

84 / 169

Programación Lineal / Linear Programming

Método Simplex

Modelo 3D Max

z = 1 ∗ x1 + 2 ∗ x2 + 3 ∗ x3 x1 ≤ 10 x2 ≤ 12 x3 ≤ 8 x1 + x2 ≤ 15 x2 + x3 ≤ 15 x1 , x2, x3 ≥ 0

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Método Simplex

18 de marzo de 2016

85 / 169

18 de marzo de 2016

86 / 169

Región Factible 3D

Desafío Dibujar la Región Factible Encontrar los Puntos Extremos Encontrar el Óptimo

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

Programación Lineal / Linear Programming

Método Simplex

Modelo Estándar 3D

Max x1

z = 1 ∗ x1 + 2 ∗ x2 + 3 ∗ x3 +h1

x2

x3

+h2

+h3

x1 +x2 x2 +x3

+h4

+h5

= = = = =

10 12 8 15 15

x1 , x2, x3 ≥ 0

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Método Simplex

18 de marzo de 2016

87 / 169

Tabla Simplex Inicial 3D x1 x2 x3 h1 h2 h3 h4 h5 z −1 −2 −3 0 0 0 0 0 h1 1 0 0 1 0 0 0 0 h2 0 1 0 0 1 0 0 0 h3 0 0 1 0 0 1 0 0 h4 1 1 0 0 0 0 1 0 h5 0 1 1 0 0 0 0 1

0 10 12 8 15 15

x1 = 0, x2 = 0, x3 = 0 solución actual: z = 0

Solución actual: Valor de la

Solución Óptima: NO, existen costos reducidos negativos

x3 h3 (8/1 = 8

Variable de Entrada: Variable de Salida:

vs 15/1

= 15)

Ahora, se debe retornar la matriz a su forma original, es decir, para la nueva variable básica hacer un cero en la la

Rodrigo Linfati (UBB)

z

y recuperar la matriz identidad.

Investigación Operativa 1 - 430098

18 de marzo de 2016

88 / 169

Programación Lineal / Linear Programming

Método Simplex

Tabla Simplex 3D x1 x2 x3 h1 h2 h3 h4 h5 z −1 −2 0 0 0 3 0 0 h1 1 0 0 1 0 0 0 0 h2 0 1 0 0 1 0 0 0 x3 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0 h4 1 h5 0 1 0 0 0 −1 0 1

24 10 12 8 15 7

x1 = 0, x2 = 0, x3 = 8 solución actual: z = 24

Solución actual: Valor de la

Solución Óptima: NO, existen costos reducidos negativos

x2 h5 (12/1 = 12

Variable de Entrada: Variable de Salida:

vs 15/1

= 15

vs 7/1

= 7)

Ahora, se debe retornar la matriz a su forma original, es decir, para la nueva variable básica hacer un cero en la la

z

y recuperar la matriz identidad.

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Método Simplex

18 de marzo de 2016

89 / 169

Tabla Simplex 3D x1 x2 x3 h1 h2 h3 h4 h5 z −1 0 0 0 0 1 0 2 h1 1 0 0 1 0 0 0 0 h2 0 0 0 0 1 1 0 −1 x3 0 0 1 0 0 1 0 0 h4 1 0 0 0 0 1 1 −1 x2 0 1 0 0 0 −1 0 1

38 10 5 8 8 7

x1 = 0, x2 = 7, x3 = 8 solución actual: z = 38

Solución actual: Valor de la

Solución Óptima: NO, existen costos reducidos negativos

x1 h4 (10/1 = 10

Variable de Entrada: Variable de Salida:

vs 8/1

= 8)

Ahora, se debe retornar la matriz a su forma original, es decir, para la nueva variable básica hacer un cero en la la

Rodrigo Linfati (UBB)

z

y recuperar la matriz identidad.

Investigación Operativa 1 - 430098

18 de marzo de 2016

90 / 169

Programación Lineal / Linear Programming

Método Simplex

Tabla Simplex 3D

z h1 h2 x3 x1 x2 Solución actual:

x1 x2 x3 h1 h2

h3

h4

h5

2

1

1

46

1

2

0

−1

5

1

0

0

8

0

1

1

−1

8

0

−1

0

1

7

0

0

0

0

0

0

0

0

1

0

0

0

0

0

1

1

0

0

1

0

0

1

0

0

0

0

1

0

0

−1 −1

x1 = 8, x2 = 7, x3 = 8 z = 46

Valor de la solución actual:

Solución Óptima: SI, no existen costos reducidos negativos

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Método Simplex

18 de marzo de 2016

91 / 169

Ejercicio 1 Max

z = −1 ∗ x1 + 3 ∗ x2 2∗

x1 + 3 ∗ x2 ≤ 6

x1 − 2 ∗ x2 ≥ −2 x1 , x2 ≥ 0 1

Resuelva por método gráco.

2

Resuelva por método simplex. Nota: Recuerde expresar la solución óptima indicando el valor que toman las variables de decisión y el valor de la función objetivo.

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

92 / 169

Programación Lineal / Linear Programming

Método Simplex

Región Factible x2 R2

6/7,10/7 z=24/7

0,1 z=3

x1

0,0 z=0

3,0 z=-3 R1

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Método Simplex

18 de marzo de 2016

93 / 169

Modelo Estándar

Max

z = −1 ∗ x1 + 3 ∗ x2

2 ∗ x1 +3 ∗ x2 +h1 = −1 ∗ x1 +2 ∗ x2 +h2 =

6 2

x1 , x2 ≥ 0

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

94 / 169

Programación Lineal / Linear Programming

Método Simplex

Tabla Simplex Inicial

x1 x2 h1 h2 z 1 −3 0 0 h1 2 3 1 0 h2 −1 2 0 1

0 6 2

x1 = 0, x2 = 0 solución actual: z = 0

Solución actual: Valor de la

Solución Óptima: NO, existen costos reducidos negativos

x2 h2 (6/3 = 2

Variable de Entrada: Variable de Salida:

vs 2/2

= 1)

Ahora, se debe retornar la matriz a su forma original, es decir, para la nueva variable básica hacer un cero en la la

z

y recuperar la matriz identidad.

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Método Simplex

18 de marzo de 2016

95 / 169

Tabla Simplex

z h1 x2

x1

x2 h1

h2

−1/2

0

0

3 2

/

3

/ −1/2

0

1

−3/2

3

1

0

1 2

/

1

7 2

x1 = 0, x2 = 1 solución actual: z = 3

Solución actual: Valor de la

Solución Óptima: NO, existen costos reducidos negativos

x1 h1 (3/7/2 = 6/7)

Variable de Entrada: Variable de Salida:

Ahora, se debe retornar la matriz a su forma original, es decir, para la nueva variable básica hacer un cero en la la

Rodrigo Linfati (UBB)

z

y recuperar la matriz identidad.

Investigación Operativa 1 - 430098

18 de marzo de 2016

96 / 169

Programación Lineal / Linear Programming

Método Simplex

Tabla Simplex

z x1 x2 Solución actual:

x1 x2 h1

h2

/ 2/7 1/7

9 7

/

24 7

−3/7

6 7

0

0

1

0

0

1

1 7

/

2 7

/ / 10/7

x1 = / x2 = 10 z = 24/7 6 7,

Valor de la solución actual:

Solución Óptima: SI, no existen costos reducidos negativos

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Método Simplex

18 de marzo de 2016

97 / 169

18 de marzo de 2016

98 / 169

Ejercicio 2 Max

z = 3 ∗ x1 + 2 ∗ x2

2∗

x1 + 1 ∗ x2 ≤ 18

2∗

x1 + 3 ∗ x2 ≤ 42

3∗

x1 + 1 ∗ x2 ≤ 24 x1 , x2 ≥ 0

1

Resuelva por método gráco.

2

Resuelva por método simplex.

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

Programación Lineal / Linear Programming

Método Simplex

Ejercicio 3 Usted posee una panadería que vende tres tipos de empanadas: grandes, medianas y pequeñas y desea saber cual es la combinación de productos que se deben fabricar. En su nomina de empleados usted puede tener trabajadores a tiempo completo (50 horas por semana) y trabajadores a media jornada (25 horas por semana). El sindicato de trabajadores le exige que existan al menos 20 personas a tiempo completo y que por cada trabajador a media jornada existan al menos 1.5 trabajadores a jornada completa. El sueldo de una persona a tiempo completo es de 400 pesos por hora y para los media jornada de 300 pesos por hora. Para fabricar una empanada grande se necesitan de 20 cm2 de masa y de 20 minutos, para la mediana 15 cm2 y 30 minutos y para la pequeña 10 cm2 y 40 minutos. Usted dispone semanalmente de un paño de masa preparada de 8 metros de largo y 5 metros de ancho. SI el precio de venta de las empanadas es de 900, 700, 500 pesos respectivamente, ¾Cuál es la mejor combinación de productos que se deben fabricar?

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Método Simplex

18 de marzo de 2016

99 / 169

Variables

eg: el número de empanadas grandes a producir semanalmente em: el número de empanadas medianas a producir semanalmente ec: el número de empanadas pequeñas a producir semanalmente tc: el número de trabajadores a tiempo completo tp: el número de trabajadores a tiempo parcial

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

100 / 169

Programación Lineal / Linear Programming

Método Simplex

Modelo Max

z = 900 ∗ eg + 700 ∗ em + 500 ∗ ec − 400 ∗ 50 ∗ tc − 300 ∗ 25 ∗ tp tc ≥ 20 1, 5 ∗

20 ∗

tp ≤tc

eg + 15 ∗ em + 10 ∗ ec ≤ 800 ∗ 500

/ ∗ eg + 30/60 ∗ em + 40/60 ∗ ec ≤ 50 ∗ tc + 25 ∗ tp

20 60

eg , em, ec , tc , tp ≥ 0 Se deben fabricar 20000 empanadas grandes, contratando 100 personas a tiempo completo y a 66,6 personas a tiempo parcial. Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 18 de marzo de 2016 Programación Lineal / Linear Programming Método Simplex

101 / 169

Ejercicio 4 Un agricultor que dispone de 50 hectáreas para plantar trigo o maíz quiere determinar cuántas hectáreas debe destinar para cultivar cada uno de estos productos, con el propósito de obtener un benecio máximo. Sabe que cada hectárea le produce 85 sacos de maíz o 50 sacos de trigo y le demandará 10 horas de trabajo por temporada, cualquiera sea la semilla que siembre. Además, para cosechar un saco de maíz requiere de 45 minutos y por cada saco de trigo necesita de 15 minutos. El total de horas de trabajo que quiere dedicar al año son 2125. El precio de venta es de $15000 por saco de trigo y $10000 por saco de maíz y los costos directos de producción (semillas, fertilizantes, etc.) ascienden a $90000 por hectárea sembrada de trigo y $95000 por hectárea sembrada de maíz. El agricultor desea producir al menos 1000 sacos de maíz y cultivar al menos tantas hectáreas de trigo como de maíz.

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

102 / 169

Programación Lineal / Linear Programming

Método Simplex

Variables

x1 =

Hect ´areas

de trigo

x2 =

Hect ´areas

de ma´ız

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Método Simplex

18 de marzo de 2016

103 / 169

Modelo Max

z = 15000 ∗ 50 ∗ x1 + 10000 ∗ 85 ∗ x1 − 90000 ∗ x1 − 95000 ∗ x2 x1 + x2 ≤50 10 ∗

x1 + 10 ∗ x2 + 15/60 ∗ 50 ∗ x1 + 45/60 ∗ 85 ∗ x2 ≤ 2125 x1 ≥ x2 85 ∗

x2 ≥ 1000

x1 , x2 ≥0 Nota: También se puede expresar las variables en sacos... Inténtelo !!

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

104 / 169

Programación Lineal / Linear Programming

Método Simplex

Ejercicio 5a Una empresa de la zona, dedicada al negocio de comercialización de productos agrícolas, compra y vende trigo en efectivo. Posee una bodega con capacidad de 20.000 kg. de trigo. El 1 de enero, espera tener un inventario inicial de 14.000 kg. de trigo y $600.000 en dinero efectivo. Las condiciones del mercado estipulan que la cantidad de trigo que se compre en un mes estará disponible para la venta inmediatamente al inicio del mes siguiente. No hay ninguna forma de vender en un mes la cantidad comprada en el mismo mes. La empresa tiene que satisfacer los pedidos que ha establecido en un contrato con sus clientes preferidos. También, en cada mes, puede vender toda la cantidad que desee y que exceda el pedido exigido para ese mes. El almacenamiento del trigo en la bodega tiene un costo de mantenimiento de $2 el kg de trigo de un mes a otro. En la tabla que sigue se muestra el precio de compra, el precio de venta y el tamaño del pedido que debe satisfacer cada mes.

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Método Simplex

18 de marzo de 2016

105 / 169

Ejercicio 5b Mes

Precio de compra Precio de venta Demanda [$/kg]

[$/kg]

[kg]

Enero

35

35

8.000

Febrero

36

38

15.000

Marzo

33

39

12.000

Abril

38

36

11.000

Se asume que el dinero de las ventas que realiza en un mes llega al nal del mismo mes y está disponible para utilizarlo al inicio del mes siguiente. La gerencia de la empresa desea tener un inventario nal de 10.000 kg. de trigo al terminar el último mes. Dena las variables de decisión y formule un modelo de programación lineal que le permita a la gerencia disponer de un programa de compra y venta que maximice el dinero que tendrá disponible para el mes 5.

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

106 / 169

Programación Lineal / Linear Programming

Método Simplex

Variables cj =

kilogramos

vj =

Ij =

de trigo comprado en el

kilogramos

kilogramos gj =

de trigo vendido en el

mes mes

de trigo en inventario en el

dinero disponible al

inicio del

mes

j j

mes

j

j

j ∈ {1, 2, 3, 4} Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Método Simplex

18 de marzo de 2016

107 / 169

18 de marzo de 2016

108 / 169

Modelo 1/3

Maz

z = g4 + 36 ∗ v4

14000 + 0

= v1 + I1

I1 + c1 = v2 + I2 I2 + c2 = v3 + I3 I3 + c3 = v4 + I4

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

Programación Lineal / Linear Programming

Método Simplex

Modelo 2/3

600000

= 35 ∗ c1 + 2 ∗ I1 + g1

g1 + 35 ∗ v1 = 36 ∗ c2 + 2 ∗ I2 + g2 g2 + 38 ∗ v2 = 33 ∗ c3 + 2 ∗ I3 + g3 g3 + 39 ∗ v3 = 38 ∗ c4 + 2 ∗ I4 + g4

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 Programación Lineal / Linear Programming Método Simplex

18 de marzo de 2016

109 / 169

Modelo 3/3

v1 ≥ 8000

v2 ≥ 15000

v3 ≥ 12000

v4 ≥ 11000

I2 ≤ 20000

I3 ≤ 20000

I4 = 10000

I1 ≤ 20000 c1 ≥ 0

c2 ≥ 0

c3 ≥ 0

c4 ≥ 0

I1 ≥ 0

I2 ≥ 0

I3 ≥ 0

I4 ≥ 0

g1 ≥ 0

g2 ≥ 0

g3 ≥ 0

g4 ≥ 0

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

110 / 169

Programación Lineal / Linear Programming

Método Simplex Big-M

Metodo Big-M

¾Que hacemos cuando X=0 no es solución factible? ¾Cuando pasa esto?

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 18 de marzo de 2016 Programación Lineal / Linear Programming Método Simplex Big-M

111 / 169

Caso1: igualdad

Max

z = 3 ∗ x1 + 5 ∗ x2 x1 ≤ 4 2∗

3∗

x2 ≤ 12

x1 + 2 ∗ x2 = 18 x1 , x2 ≥ 0

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

112 / 169

Programación Lineal / Linear Programming

Método Simplex Big-M

Caso1: igualdad

Max x1

x2 +2 ∗ x2

z = 3 ∗ x1 + 5 ∗ x2 +h1

2∗

3∗

x1

+h2 ¾?

= = =

4 12 18

x1 , x2 ≥ 0

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 18 de marzo de 2016 Programación Lineal / Linear Programming Método Simplex Big-M

113 / 169

Caso1: igualdad

Max x1

z = 3 ∗ x1 + 5 ∗ x2 − M ∗ a3

x2 +2 ∗ x2

+h1

2∗

3∗

x1

+h2

a3

= = =

4 12 18

x1 , x2 ≥ 0 Nota1: Nota2:

a3 M

es una variable Articial, la cual debe valer cero. es un numero

Nota3: el termino

muy grande

−M ∗ a3 (en un problema de máximo) obliga a ser cero la

variable artificial a3

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

114 / 169

Programación Lineal / Linear Programming

Método Simplex Big-M

Tabla Simplex Pre-Inicial x1 x2 h1 h2 a3 z −3 −5 0 0 M h1 1 0 1 0 0 h2 0 2 0 1 0 a3 3 2 0 0 1

0 4 12 18

La tabla simplex no esta en su estructura inicial, los costos reducidos de la base no son cero. Se debe hacer un cero en los costos reducidos para las variables básicas, calculamos

(la

z ) = (la z ) − M ∗ (la a3 )

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 18 de marzo de 2016 Programación Lineal / Linear Programming Método Simplex Big-M

115 / 169

Tabla Simplex INICIAL x1 x2 h1 h2 a3 z −3 − 3M −5 − 2M 0 0 0 −18M h1 1 0 1 0 0 4 h2 0 2 0 1 0 12 a3 3 2 0 0 1 18 Nota: La solución actual implica que

a3

vale 18, por tanto la solución

actual no es factible !, esto también se ve reejado en que

x1 = 0, x2 = 0 solución actual: z = −18M

z = −18M

Solución actual: Valor de la

(infactible)

Solución Óptima: NO, existen costos reducidos negativos

x1 h1 (4/1 = 4

Variable de Entrada: Variable de Salida:

vs 18/3

= 6)

Ahora, se debe retornar la matriz a su forma original, es decir, para la nueva variable básica hacer un cero en la la

Rodrigo Linfati (UBB)

z

y recuperar la matriz identidad.

Investigación Operativa 1 - 430098

18 de marzo de 2016

116 / 169

Programación Lineal / Linear Programming

Método Simplex Big-M

Tabla Simplex x1

z x1 h2 a3

x2

0

−5 − 2M

1

0

0

2

0

2

h1

M

h2 a3

3+3

12 − 6

0

0

0

0

4

0

1

0

12

−3

0

1

6

1

Nota: La solución actual implica que

a3

M

vale 6, por tanto la solución actual

no es factible !, esto también se ve reejado en que

x1 = 4, x2 = 0 solución actual: z = 12 − 6M

z = 12 − 6M

Solución actual: Valor de la

(infactible)

Solución Óptima: NO, existen costos reducidos negativos

x2 a3 (12/2 = 6

Variable de Entrada: Variable de Salida:

vs 6/2

= 3)

Ahora, se debe retornar la matriz a su forma original, es decir, para la nueva variable básica hacer un cero en la la

z

y recuperar la matriz identidad.

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 18 de marzo de 2016 Programación Lineal / Linear Programming Método Simplex Big-M

117 / 169

Tabla Simplex

z x1 h2 x2 Solución actual:

x1 x2

h1

h2

0

0

−9/2

0

1

0

1

0

0

0

1

27

0

0

4

3

1

6

−3/2

0

−1 1/2

x1 = 4, x2 = 3 z = 27

Valor de la solución actual:

a3

/ +M

5 2

3

(factible)

Solución Óptima: NO, existen costos reducidos negativos

h1 h2 (4/1 = 4

Variable de Entrada: Variable de Salida:

vs 6/3

= 2)

Ahora, se debe retornar la matriz a su forma original, es decir, para la nueva variable básica hacer un cero en la la

Rodrigo Linfati (UBB)

z

y recuperar la matriz identidad.

Investigación Operativa 1 - 430098

18 de marzo de 2016

118 / 169

Programación Lineal / Linear Programming

Método Simplex Big-M

Tabla Simplex

z x1 h1 x2

x1 x2 h1 0

0

0

1

0

0

0

0

1

0

1

0

x1 = 2, x2 = 6 solución actual: z = 36

h2 / −1/3 1/3 1/2 3 2

a3 M

1+

36

/ −1/3

2

0

6

1 3

2

Solución actual: Valor de la

(factible)

Solución Óptima: SI, no existen costos reducidos negativos

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 18 de marzo de 2016 Programación Lineal / Linear Programming Método Simplex Big-M

119 / 169

Caso2: mayor o igual

Max

z = −x1 + 2 ∗ x2 x1 + x2 ≥ 2 − x1 + x2 ≥ 1

x2 ≤ 3 x1 , x2 ≥ 0

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

120 / 169

Programación Lineal / Linear Programming

Método Simplex Big-M

Caso2: mayor o igual

Max

z = −x1 + 2 ∗ x2

x1 +x2 −s1 −x1 +x2 −s2 x2

+h3

= = =

2 1 3

x1 , x2 ≥ 0

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 18 de marzo de 2016 Programación Lineal / Linear Programming Método Simplex Big-M

121 / 169

Caso2: mayor o igual

Max

z = −x1 + 2 ∗ x2 − M ∗ a1 − M ∗ a2

x1 +x2 −s1 +a1 −x1 +x2 −s2 +a2 x2

+h3

= = =

2 1 3

x1 , x2 ≥ 0 a1 , a2 son variables Articiales, la cuales deben valer cero. Nota2: M es un numero muy grande Nota3: el termino −M ∗ a1 − M ∗ a2 en un problema de máximo) obliga a ser cero las variables artificiales a1 , a2 Nota1:

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

122 / 169

Programación Lineal / Linear Programming

Método Simplex Big-M

Tabla Simplex Pre-Inicial x1 x2 s1 s2 a1 a2 h3 z 1 −2 0 0 M M 0 a1 1 1 −1 0 1 0 0 a2 −1 1 0 −1 0 1 0 h3 0 1 0 0 0 0 1

0 2 1 3

La tabla simplex no esta en su estructura inicial, los costos reducidos de la base no son cero. Se debe hacer un cero en los costos reducidos para las variables básicas, calculamos

(la

z ) = (la z ) − M ∗ (la a1 ) − M ∗ (la a2 )

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 18 de marzo de 2016 Programación Lineal / Linear Programming Método Simplex Big-M

123 / 169

Tabla Simplex INICIAL x1 x2 s1 s2 a1 a2 h3 z 1 −2 − 2M M M 0 0 0 −3M a1 1 1 −1 0 1 0 0 2 a2 −1 1 0 −1 0 1 0 1 h3 0 1 0 0 0 0 1 3 Nota: La solución actual implica que

a1 = 2, a2 = 1,

por tanto la solución

actual no es factible !, esto también se ve reejado en que

x1 = 0, x2 = 0 solución actual: z = −3M

z = −3M

Solución actual: Valor de la

(infactible)

Solución Óptima: NO, existen costos reducidos negativos

x2 a2 (2/1 = 2

Variable de Entrada: Variable de Salida:

vs 1/1

=1

vs 3/1

= 3)

Ahora, se debe retornar la matriz a su forma original, es decir, para la nueva variable básica hacer un cero en la la

Rodrigo Linfati (UBB)

z

y recuperar la matriz identidad.

Investigación Operativa 1 - 430098

18 de marzo de 2016

124 / 169

Programación Lineal / Linear Programming

Método Simplex Big-M

Tabla Simplex x1 x2 s1 s2 a1 z −1 − 2M 0 M −2 − M 0 a1 2 0 −1 1 1 x2 −1 1 0 −1 0 h3 1 0 0 1 0

a2

h3

M

0

2−

0

1

1

0

1

−1

1

2

2+2

−1

M

a1 = 1, por tanto la solución actual no reejado en que z = 2 − M

Nota: La solución actual implica que es factible !, esto también se ve Solución actual:

x1 = 0, x2 = 1 z = 2−M

Valor de la solución actual:

(infactible)

Solución Óptima: NO, existen costos reducidos negativos

x1 a1 (1/2 = 1/2

Variable de Entrada: Variable de Salida:

vs 2/1

= 2)

Ahora, se debe retornar la matriz a su forma original, es decir, para la nueva variable básica hacer un cero en la la

z

y recuperar la matriz identidad.

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 18 de marzo de 2016 Programación Lineal / Linear Programming Método Simplex Big-M

125 / 169

Tabla Simplex

z x1 x2 h3

x1 x2

Solución actual:

s1

s2

0

0

−1/2

1

0

−1/2

0

1

−1/2

0

0

1 2

−3/2 1/2 −1/2 1/2

/

a1

x1 = / x2 = / z = 5/2 1 2,

/ +M 1/2 1/2 −1/2

1 2

a2

/ +M −1/2 1/2 −1/2

h3

3 2

/ / 3/2 3/2

0

5 2

0

1 2

0 1

3 2

Valor de la solución actual:

(factible)

Solución Óptima: NO, existen costos reducidos negativos

s2 x1 (1/2/1/2 = 1

Variable de Entrada: Variable de Salida:

vs

/ / / = 3)

3 2 1 2

Ahora, se debe retornar la matriz a su forma original, es decir, para la nueva variable básica hacer un cero en la la

Rodrigo Linfati (UBB)

z

y recuperar la matriz identidad.

Investigación Operativa 1 - 430098

18 de marzo de 2016

126 / 169

Programación Lineal / Linear Programming

Método Simplex Big-M

Tabla Simplex x1 x2 s1 s2 z 3 0 −2 0 s2 2 0 −1 1 x2 1 1 −1 0 h3 −1 0 1 0 x1 = 0, x2 = 2 solución actual: z = 4

a1 M

a2 M

h3 0

4

1

−1

0

1

1

0

0

2

−1

0

1

1

2+

Solución actual: Valor de la

(factible)

Solución Óptima: NO, existen costos reducidos negativos

s1 h3 (1/1 = 1)

Variable de Entrada: Variable de Salida:

Ahora, se debe retornar la matriz a su forma original, es decir, para la nueva variable básica hacer un cero en la la

z

y recuperar la matriz identidad.

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 18 de marzo de 2016 Programación Lineal / Linear Programming Método Simplex Big-M

127 / 169

Tabla Simplex

x1 x2 s1 s2 a1 a2 h3 z 1 0 0 0 M M 2 s2 1 0 0 1 0 −1 1 x2 0 1 0 0 0 0 1 s1 −1 0 1 0 −1 0 1 x1 = 0, x2 = 3 solución actual: z = 6

6 2 3 1

Solución actual: Valor de la

(factible)

Solución Óptima: SI, no existen costos reducidos negativos

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

128 / 169

Programación Lineal / Linear Programming

Método Simplex Big-M

Ejemplo Big-M

Min z = 0, 4 ∗ x1 + 0, 5 ∗ x2 0, 3 ∗

x1 + 0, 1 ∗ x2 ≤ 2, 7

0, 5 ∗

x1 + 0, 5 ∗ x2 = 6

0, 6 ∗

x1 + 0, 4 ∗ x2 ≥ 6 x1 , x2 ≥ 0

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 18 de marzo de 2016 Programación Lineal / Linear Programming Método Simplex Big-M

129 / 169

Ejemplo

Usted se ganó el Kino, y decide prestarle dinero a sus amigos de toda la vida y a sus compañeros de trabajo. A sus amigos de toda la vida les cobrará un 7 % de interés, en cambio a sus compañeros de trabajo un 10 %, ya que estima que el 20 % de este grupo no le devolverá el dinero. Si desea prestarle a sus compañeros de trabajo 2 veces más que a sus amigos de toda la vida y su premio fue de 10.000.000 pesos. Formule un modelo matemático que le ayude a repartir su dinero.

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

130 / 169

Programación Lineal / Linear Programming

Método Simplex Big-M

Ejemplo Big-M

Max

z = 3 ∗ x1 + 4 ∗ x2

1∗ 2∗

x1 + 1 ∗ x2 ≤ 4

x1 + 3 ∗ x2 ≥ 18 x1 , x2 ≥ 0

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 18 de marzo de 2016 Programación Lineal / Linear Programming Método Simplex Big-M

131 / 169

Ejemplo Big-M

Min z = −4 ∗ x1 + 3 ∗ x2 − 1 ∗ x1 + 1 ∗ x2 ≥ 6 − 2 ∗ x1 − 1 ∗ x2 ≥ 0 − 1 ∗ x1 + 0 ∗ x2 ≥ 2

x1 sin restricci o´n,

Rodrigo Linfati (UBB)

x2 ≥ 0

Investigación Operativa 1 - 430098

18 de marzo de 2016

132 / 169

Programación Lineal / Linear Programming

Método Simplex Big-M

Ejemplo Big-M

Min z = 375 ∗ x1 + 200 ∗ x2 + 50 ∗ x3 5∗

x1 + 5 ∗ x2 + 10 ∗ x3 = 500

10 ∗

x1 + 8 ∗ x2 + 5 ∗ x3 ≤ 800

10 ∗

x1 + 5 ∗ x2 + 0 ∗ x3 ≤ 500 x1 , x2 , x3 ≥ 0

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 18 de marzo de 2016 Programación Lineal / Linear Programming Método Simplex Big-M

133 / 169

Ejemplo Un distribuidor de ferretería planea vender paquetes de tuercas, mezclando diferentes tamaños. Cada paquete pesa por lo menos 2 libras. Tres tamaños de tuercas componen el paquete y se compran en lotes de 200 libras. Los tamaños 1, 2 y 3 cuestan respectivamente $20, $8 y $12, además:

1

El peso combinado de los tamaños 1 y 3 debe ser al menos la mitad del peso total del paquete.

2

El peso de los tamaños 1 y 2 (de forma independiente) no debe ser mayor que 1,6 libras

3

Cualquier tamaño de tuercas debe ser al menos el 10 % del paquete total

¾Cuál será la composición del paquete que ocasionará un costo mínimo?

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

134 / 169

Programación Lineal / Linear Programming

Método Simplex Big-M

Ejemplo

En una marquetería se fabrican cuadros, cuyos marcos se obtienen de cortar varillas para bocel, cuya longitud original es de 300 cm. El Departamento de ventas tiene pedidos para el siguiente mes de 175 cuadros de 119 cm. x 90 cm. El Jefe de producción ordena que se corten 350 boceles de 119 cm. Y 350 boceles de 90 cm. (Cada cuadro lleva 2 boceles de cada dimensión). Formule un problema de programación lineal que minimice el desperdicio.

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 18 de marzo de 2016 Programación Lineal / Linear Programming Método Simplex Big-M

135 / 169

Ejemplo

Una fábrica de jamones tiene dos secaderos A y B que producen 50 y 80 jamones por mes. Se distribuyen a tres tiendas de las ciudades M, N y O cuya demanda es 35, 50 y 45 respectivamente. El coste del transporte por jamón en euros se ve en la tabla siguiente: M

N

O

Oferta

A

5

6

8

50

B

7

4

2

80

Demanda 35 50 45 Formule el problema que mínimo el gasto en transporte.

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

136 / 169

Programación Lineal / Linear Programming

Método Simplex Big-M

Ejemplo

Usted posee una fábrica de sillas y mesas, las cuales son fabricadas con madera y pegamento. Las sillas requieren de 2 mt2 de madera, 3 gotas de pegamentos y 1 hora de trabajo. Las mesas requieren de 3 mt2 de madera, 2 gotas de pegamento y 2 horas de trabajo. Cada silla vale 400 pesos y cada Mesa 500 pesos. Actualmente usted tiene 100 mt2 de madera, 120 gotas de pegamento y 70 horas de trabajo. Usted puede ir al aserradero que esta al lado y comprar madera a un precio de 100 pesos por mt2. Usted debe producir al menos 20 sillas y 25 mesas. Formular.

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 18 de marzo de 2016 Programación Lineal / Linear Programming Método Simplex Big-M

137 / 169

Casos de Restricciones - Simplex (Primal)

Original

para Tabla Simplex

ai ∗ x ≤ b ai ∗ x ≤ −b

=⇒ ai ∗ x + h = b =⇒ −ai ∗ x ≥ b =⇒ −ai ∗ x − s = b =⇒ −ai ∗ x − s + a = b

Cuadro : Casos de Restricciones Menor o Igual Nota: Cuando se añade una variable Articial, se debe incluir en la función objetivo multiplicada por un numero muy grande (M).

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

138 / 169

Programación Lineal / Linear Programming

Método Simplex Big-M

Casos de Restricciones - Simplex (Primal)

Original

para Tabla Simplex

ai ∗ x = b =⇒ ai ∗ x + a = b ai ∗ x = −b =⇒ −ai ∗ x = b =⇒ −ai ∗ x + a = b Cuadro : Casos de Restricciones Igual Nota: Cuando se añade una variable Articial, se debe incluir en la función objetivo multiplicada por un numero muy grande (M).

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 18 de marzo de 2016 Programación Lineal / Linear Programming Método Simplex Big-M

139 / 169

Casos de Restricciones - Simplex (Primal)

Original

para Tabla Simplex

ai ∗ x ≥ b

=⇒ ai ∗ x − s = b =⇒ ai ∗ x − s + a = b ai ∗ x ≥ −b =⇒ −ai ∗ x ≤ b =⇒ −ai ∗ x + h = b Cuadro : Casos de Restricciones Mayor o Igual Nota: Cuando se añade una variable Articial, se debe incluir en la función objetivo multiplicada por un numero muy grande (M).

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

140 / 169

Programación Lineal / Linear Programming

Método Simplex Big-M

Casos de Dominio de Variables - Simplex (Primal)

x 1 = x˙1 − x¨1 Max z = x˙1 − x¨1 x˙1 − x¨1 ≤ 5 x˙1 − x¨1 ≥ −2 x˙1, x¨1 ≥ 0

x 1 = x˜1 − 2 Max z = x˜1 − 2 x˜1 ≤ 7 x˜1 ≥ 0

Transformación Clásica

Menos Variables

Max z = x 1 x1 ≤ 5 x 1 ≥ −2 x 1 s .r .s Ventaja Desventaja

Aumenta el # de variables Olvidar el -2 en Z

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 18 de marzo de 2016 Programación Lineal / Linear Programming Dual y su Interpretación

141 / 169

Primal vs Dual

PRIMAL

Max

z = ∑nj=1 cj ∗ xj

DUAL

Min w = ∑m i =1 bi ∗ yi

s.a

∀ i = 1, . . . , m ∑m ∀j = 1, . . . , n ∑nj=1 aij ∗ xj ≤ bi i =1 aij ∗ yi ≥ cj xj ≥ 0 ∀ j = 1, . . . , n yi ≥ 0 ∀ i = 1, . . . , m

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

142 / 169

Programación Lineal / Linear Programming

Dual y su Interpretación

Conversión Primal vs Dual

Max z Restricci o´n Restricci o´n Restricci o´n Variable xj Variable xj Variable xj

Min w Variable yi Variable yi Variable yi Restricci o´n libre Restricci o´n ≤0 Restricci o´n ≤ = ≥ ≥0

≥0

libre ≤0 ≥ = ≤

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 18 de marzo de 2016 Programación Lineal / Linear Programming Dual y su Interpretación

143 / 169

Ejemplo Primal vs Dual

PRIMAL

Max

DUAL

z = 3 ∗ x1 + 5 ∗ x2 Min w = 4 ∗ y1 + 12 ∗ y2 + 18 ∗ y3 s.a

x1 + 0 ∗ x2 ≤ 4 0 ∗ x1 + 2 ∗ x2 ≤ 12 3 ∗ x1 + 2 ∗ x2 ≤ 18 x1 , x2 ≥ 0 1∗

Rodrigo Linfati (UBB)

s.a.

y1 + 0 ∗ y2 + 3 ∗ y3 ≥ 3 0 ∗ y1 + 2 ∗ y2 + 2 ∗ y3 ≥ 5 y1 , y2 , y3 ≥ 0 1∗

Investigación Operativa 1 - 430098

18 de marzo de 2016

144 / 169

Programación Lineal / Linear Programming

Dual y su Interpretación

Propiedades del Dual 1/2

Propiedad de la dualidad débil

c ×x ≤ y ×b Dado un problema primal de máximo, una solución factible para el problema primal, tendrá un valor menor o igual a una solución factible para el problema dual.

Ejemplo

x1 = 1, x2 = 1, z = 8 y1 = 0, y2 = 2, y3 = 1, w = 42

primal: dual:

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 18 de marzo de 2016 Programación Lineal / Linear Programming Dual y su Interpretación

145 / 169

Propiedades del Dual 2/2

Propiedad de la dualidad fuerte

c × x∗ = y∗ × b La solución óptima para el problema primal, tendrá el mismo valor que la solución óptima para el problema dual.

Ejemplo

x1 = 2, x2 = 6, z = 36 y1 = 0, y2 = 3/2, y3 = 1,

primal: dual:

Rodrigo Linfati (UBB)

w = 36

Investigación Operativa 1 - 430098

18 de marzo de 2016

146 / 169

Programación Lineal / Linear Programming

Dual y su Interpretación

Ejemplo Primal vs Dual

PRIMAL

DUAL

Min z = 0, 4 ∗ x1 + 0, 5 ∗ x2 Max

w = 2, 4 ∗ y1 + 6 ∗ y2 + 6 ∗ y3

s.a

s.a.

x1 + 0, 5 ∗ x2 ≤ 2, 7 0, 5 ∗ x1 + 0, 1 ∗ x2 = 6 0, 6 ∗ x1 + 0, 4 ∗ x2 ≥ 6 x1 , x2 ≥ 0

0, 3 ∗

y1 + 0, 5 ∗ y2 + 0, 6 ∗ y3 ≤ 0, 4 0, 1 ∗ y1 + 0, 5 ∗ y2 + 0, 4 ∗ y3 ≤ 0, 5 y1 ≤ 0, y2 libre , y3 ≥ 0 0, 3 ∗

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 18 de marzo de 2016 Programación Lineal / Linear Programming Dual y su Interpretación

147 / 169

Interpretación Económica

En general, un problema de programación lineal es un modelo de maximizando la utilidad, sujeto a recursos escasos. Parámetros

n= Número de actividades económicas m= Número de factores de Producción cj = Utilidad Unitaria de la actividad j bi = disponibilidad del recurso i aij = tasa a la que se consume el recurso i ,

Rodrigo Linfati (UBB)

por cada unidad de

Investigación Operativa 1 - 430098

j

18 de marzo de 2016

148 / 169

Programación Lineal / Linear Programming

Dual y su Interpretación

Interpretación Económica

Variables

xj = Unidades producidas de la actividad económica j yi = Valor marginal del recurso i yi = Precio Dual = Precio Sombra = Multiplicador Simplex Nota: Si un recurso esta en exceso, entonces su valor marginal es cero

Otros

c¯j = ∑m i =1 aij yi − cj =

Costo reducido de la actividad

j

= la del z

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 18 de marzo de 2016 Programación Lineal / Linear Programming Dual y su Interpretación

149 / 169

Ejemplo 1/3

Modelo

Max

Solución

z = 3 ∗ x1 + 5 ∗ x2 s.a

x1 + 0 ∗ x2 ≤ 4 0 ∗ x1 + 2 ∗ x2 ≤ 12 3 ∗ x1 + 2 ∗ x2 ≤ 18 x1 , x2 ≥ 0 1∗

Rodrigo Linfati (UBB)

z h1 x2 x1

x1 x2 h1

h2

h3

RHS

0

0

0

3/2

1

36

0

0

1

1/3

-1/3

2

0

1

0

1/2

0

6

1

0

0

-1/3

1/3

2

Investigación Operativa 1 - 430098

18 de marzo de 2016

150 / 169

Programación Lineal / Linear Programming

Dual y su Interpretación

Ejemplo 2/3

Soluciones Solución del Primal:

x1 = 2,

x2 = 6,

z = 36

Solución del Dual:

y1 = 0, Notar:

h1

y2 = 3/2,

y3 = 1 w = 36 y1 debe valer

vale 2, por tanto

cero.

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 18 de marzo de 2016 Programación Lineal / Linear Programming Dual y su Interpretación

151 / 169

Ejemplo 3/3

Interpretación Si se cambia el nivel del recurso 1 de 4 a 5, la solución es la misma, y sobrara más unidades del recurso 1, por tanto z=36 variando en cero, que corresponde al valor de

y1

Si se cambia el nivel del recurso 2 de 12 a 13, la nueva solución sera (5/3, 13/2), con z=37.5, es decir, un aumento de 1,5 que corresponde al valor de

y2

Si se cambia el nivel del recurso 3 de 18 a 19, la nueva solución sera (7/3, 6), con z=37, es decir, un aumento de 1 que corresponde al valor de

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

y3

152 / 169

Programación Lineal / Linear Programming

Dual y su Interpretación

Holguras Complementarias Dado

x una solución factible del primal y una solución factible del dual hp una variable de holgura del primal hd una variable de holgura del dual Se cumple que

x ∗ hd = 0 y ∗ hp = 0 Es decir, La variable primal

x

vale cero, o la holgura dual

hd

vale cero

vale cero, o la holgura primal

hp

vale cero

(podrían ambas valer cero) Es decir, La variable dual

y

(podrían ambas valer cero)

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 18 de marzo de 2016 Programación Lineal / Linear Programming Método Simplex-Dual

153 / 169

Simplex Dual: Criterios

Idea Principal Primero Intentamos obtener una solución factible con el método Simplex Dual, y cuando estamos un punto factible vericamos la optimalidad por medio del método Simplex (Primal). Es decir, primero eliminamos los negativos del lado derecho y luego de la la del z.

Criterio de Factibilidad Una Tabla Simplex sera factible, si y solo si, el lado derecho no existen valores negativos.

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

154 / 169

Programación Lineal / Linear Programming

Método Simplex-Dual

Elección de Próximo Vértice Elección del variable de salida Se elige la variable (la) con el lado derecho

bi

mas negativo.

Esta elección se realiza para moverse en la dirección contraria a la infactibilidad mas grande.

Elección del variable de entrada Se elige una variable (columna) con una razón acuerdo a su modulo o valor absoluto, con

cj

|a , | i j

más pequeña, de

ai ,j negativo. El valor de cj puede

ser positivo, cero o negativo. Esta elección se realiza para moverse en la dirección de la restricción mas cercana.

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 18 de marzo de 2016 Programación Lineal / Linear Programming Método Simplex-Dual

155 / 169

Simplex Dual 1/6 Este método transforma una solución infactible, en una factible.

Min z = 3 ∗ x1 + 2 ∗ x2 3∗

x1 + 1 ∗ x2 ≥ 3

4∗

x1 + 3 ∗ x2 ≥ 6

1∗

x1 + 1 ∗ x2 ≤ 3 x1 , x2 ≥ 0

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

156 / 169

Programación Lineal / Linear Programming

Método Simplex-Dual

Simplex Dual 2/6

Max

− z = −3 ∗ x1 − 2 ∗ x2

−3 ∗ x1 − 1 ∗ x2 ≤ −3 −4 ∗ x1 − 3 ∗ x2 ≤ −6 1∗

x1 + 1 ∗ x2 ≤ 3 x1 , x2 ≥ 0

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 18 de marzo de 2016 Programación Lineal / Linear Programming Método Simplex-Dual

157 / 169

Simplex Dual 3/6

Max

− z = −3 ∗ x1 − 2 ∗ x2

−3 ∗ x1 − 1 ∗ x2 + h1 = −3 −4 ∗ x1 − 3 ∗ x2 + h2 = −6 1∗

x1 + 1 ∗ x2 + h3 = 3 x1 , x2 ≥ 0

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

158 / 169

Programación Lineal / Linear Programming

Método Simplex-Dual

Simplex Dual 4/6

−z

h1 h2 h3

x1

x2

3

2

−3 −1 −4 −3 1

1

h1 h2 h3 0

0

0

0

1

0

0

0

1

0

−3 −6

0

0

1

3

x1 = 0, x2 = 0 solución actual: z = 0

Solución actual: Valor de la

Solución Factible: NO, existen variables negativas Solución Óptima: no vericado Variable de Salida:

h2 (−6) x2 (3/4

Variable de Entrada:

vs 2/3)

Ahora, se debe retornar la matriz a su forma original, es decir, para la nueva variable básica hacer un cero en la la

z

y recuperar la matriz identidad.

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 18 de marzo de 2016 Programación Lineal / Linear Programming Método Simplex-Dual

159 / 169

Simplex Dual 5/6

−z

h1 x2 h3

Solución actual:

x1 / −5/3 4/3 −1/3 1 3

x2 h1 0

0

0

1

1

0

0

0

h2

h3

/ −1/3 −1/3 1/3

0

2 3

0

−4 −1

0

2

1

1

x1 = 0, x2 = 2 z =4

Valor de la solución actual:

Solución Factible: NO, existen variables negativas Solución Óptima: no vericado Variable de Salida:

h1 (−1) x1 (1/5

Variable de Entrada:

vs 2/1)

Ahora, se debe retornar la matriz a su forma original, es decir, para la nueva variable básica hacer un cero en la la

Rodrigo Linfati (UBB)

z

y recuperar la matriz identidad.

Investigación Operativa 1 - 430098

18 de marzo de 2016

160 / 169

Programación Lineal / Linear Programming

Método Simplex-Dual

Simplex Dual 6/6

−z

x1 x2 h3

x1 x2 0

0

1

0

0

1

0

0

h1

h2

h3

/ −3/5 4/5 −1/5

9 15

/ 1/5 3/5 2/5

0

−21/5

0

3 5

0

6 5

1 5

1

/ / 6/5

x1 = 3/5, x2 = 6/5 solución actual: z = 4, 2

Solución actual: Valor de la

Solución Factible: SI, no existen variables negativas Solución Óptima: SI, no existen costos reducidos negativos

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 18 de marzo de 2016 Programación Lineal / Linear Programming Método Simplex-Dual

161 / 169

Ejemplo Simplex Dual

Min z = 4 ∗ x1 + 2 ∗ x2 1∗

x1 + 1 ∗ x2 ≥ 1

3∗

x1 − 1 ∗ x2 ≥ 2 x1 , x2 ≥ 0

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

162 / 169

Programación Lineal / Linear Programming

Método Simplex-Dual

Ejemplo Simplex Dual Min z = 1 ∗ x1 − 2 ∗ x2 1∗

x1 + 1 ∗ x2 ≥ 2

−1 ∗ x1 + 1 ∗ x2 ≥ 1 0∗

x1 + 1 ∗ x2 ≤ 3 x1 , x2 ≥ 0

1

Calcular el Dual

2

Resolver el Dual

3

Calcular el valor de

4

Resolver el Primal y comparar con la respuesta anterior

5

x1

y

x2

usando el resultado anterior

Interpretar el precio sombra del primal

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 18 de marzo de 2016 Programación Lineal / Linear Programming Método Simplex-Dual

163 / 169

Dual del ejemplo anterior

Max

w = 2 ∗ y1 + 1 ∗ y2 + 3 ∗ y3

1∗ 1∗

y1 − 1 ∗ y2 + 0 ∗ y3 ≤ 1

y1 + 1 ∗ y2 + 1 ∗ y3 ≤ −2

y1 ≥ 0

Rodrigo Linfati (UBB)

y2 ≥ 0

y3 ≤ 0

Investigación Operativa 1 - 430098

18 de marzo de 2016

164 / 169

Programación Lineal / Linear Programming

Análisis de Sensibilidad

Tabla Simplex

En general, la tabla Simplex cumple con:

z xb

Variables Originales Variables Holgura RHS cb ∗ B −1 ∗ A − c cb ∗ B −1 cb ∗ B −1 ∗ b B −1 ∗ A B −1 B −1 ∗ b

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 18 de marzo de 2016 Programación Lineal / Linear Programming Análisis de Sensibilidad

165 / 169

Resumen del Procedimiento

1

Modicar el Modelo

2

Modicar la tabla simplex FINAL

3

Hacer ceros según sea necesario

4

Vericar Factibilidad (Simplex Dual)

5

Vericar Optimalidad (Simplex Primal)

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

166 / 169

Programación Lineal / Linear Programming

Análisis de Sensibilidad

Cambios Posibles Coecientes en el lado derecho

Cambia los valores de X y Z Vericar Factibilidad y Optimalidad Coecientes de la función objetivo, variables no básicas

Vericar Optimalidad Si se mantiene la Optimalidad, no cambia el valor de X ni Z Coecientes de la función objetivo, variables básicas

Cambia los valores de Z Vericar Optimalidad Si se mantiene la Optimalidad, no cambia el valor de X Coecientes en la Matriz A Agregar nueva Restricción Agregar nueva Variable

Rodrigo Linfati (UBB) Investigación Operativa 1 - 430098 18 de marzo de 2016 Programación Lineal / Linear Programming Análisis de Sensibilidad

167 / 169

Ejemplo

Sea el siguiente PPL

MAX 2∗

z = 3 ∗ x1 + 5 ∗ x2 x1 + 2 ∗ x2 ≤ 20

−6 ∗ x1 + 6 ∗ x2 ≤ 33 2∗

Rodrigo Linfati (UBB)

x1 + 3 ∗ x2 ≤ 24

Investigación Operativa 1 - 430098

18 de marzo de 2016

168 / 169

Programación Lineal / Linear Programming

Análisis de Sensibilidad

Ejemplo Determine

1

Determine B-1

2

Graque la región factible

3

Determine en que rango se puede mover cada componente del vector b sin alterar la base, compruébelo grácamente. Indique el nuevo valor de Z

4

Determine en que rango se puede mover cada componente del vector c sin alterar la base. Indique el nuevo valor de Z

5

Agregue la restricción 1*x1+3*x2=1

7

Agregue una variable x3, la que tiene asociada la restricción dual y1+y2+y3>=3

Rodrigo Linfati (UBB)

Investigación Operativa 1 - 430098

18 de marzo de 2016

169 / 169

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF