programacion lineal
April 26, 2017 | Author: Eric Alvarez | Category: N/A
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