Tema 6 Álgebra Lineal: Programación Lineal

116
Introducci´on Programaci´ on lineal El m´ etodo del s´ ımplex Programaci´ on lineal Estudios de Ingenier´ ıa Juan Gabriel Gomila Frogames [email protected] 10 de febrero de 2016 Juan Gabriel Gomila Tema 6 - Programaci´on Lineal

Transcript of Tema 6 Álgebra Lineal: Programación Lineal

Page 1: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Programacion linealEstudios de Ingenierıa

Juan Gabriel Gomila

Frogames

[email protected]

10 de febrero de 2016

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 2: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Indice

1 Introduccion

2 Programacion linealForma estandar de un PPLSoluciones basicas de un PPL

3 El metodo del sımplexUn ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 3: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

1 Introduccion2 Programacion lineal

Forma estandar de un PPLSoluciones basicas de unPPL

3 El metodo del sımplexUn ejemplo para comenzarEl metodo del sımplex enproblemas de minimizacionObservaciones finales

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 4: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Introduccion

Se comenzara el tema mostrando diversos ejemplos que se puedenmodelizar mediante tecnicas de programacion lineal.El objetivo de la programacion lineal es optimizar (minimizar omaximizar) una funcion lineal de n variables sujetas a restriccionesde igualdad o desigualdad, tambien lineales.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 5: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Introduccion

La programacion lineal se aplica en diversos campos, como porejemplo:

Logıstica: problema del transporte.

Mezclas: problema de la dieta.

Finanzas.

Mercadotecnia.

Asignacion de tareas.

Produccion.

Otras decisiones.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 6: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Introduccion

Cualquier problema de programacion lineal requiere cuatrocomponentes basicos:

1 El conjunto de datos del problema.

2 El conjunto de variables que intervienen en el problema, juntocon sus dominios de definicion.

3 El conjunto de restricciones del problema que definen elconjunto de soluciones admisibles.

4 La funcion que se ha de optimizar.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 7: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

El problema del transporte

El problema del transporte se refiere al proceso de determinar elnumero de mercancıas que se han de llevar desde cada uno de losorıgenes a cada uno de los destino posibles.El objetivo suele ser minimizar el coste del transporte y lasrestricciones vienen dadas por las capacidades de produccion decada origen y las necesidades de cada destinacion.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 8: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

El problema del transporte

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 9: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

El problema del transporte

Supongase que un determinado producto se ha de llevar encantidades u1, u2, · · · , um desde m puntos de origen y se ha derecibir en n destinos en cantidades v1, v2, · · · , vn.El problema consiste en determinar las cantidades xij que se han dellevar desde el origen i al destino j para minimizar el coste deltransporte.Los cuatros elementos principales del problema son:

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 10: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

El problema del transporte

1 Datos:

m: numero de orıgenes.n: numero de destinos.ui : cantidad de producto que se ha de llevar desde el origen ivj : cantidad de producto que se ha de recibir en el destino jcij : coste de llevar una unidad de producto desde i hasta j

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 11: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

El problema del transporte

2 Variables:

xij : cantidad de producto que se lleva desde i hasta j , conxij ≥ 0 para todo i = 1, · · · ,m y para todo j = 1 · · · , n(dominio de definicion de las variables)

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 12: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

El problema del transporte

3 Restricciones:

La cantidad total del producto que surge de i (ui ) ha decoincidir con la suma de las cantidades que surgen de i a cadadestino j = 1, · · · , n:

n∑j=1

xij = ui

La cantidad total de producto que recibe j (vi ) ha de coincidircon la suma de cantidades que lleguen a j desde todos losorıgenes i = 1, · · · ,m:

m∑i=1

xij = vj

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 13: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

El problema del transporte

4 Objetivo:En este caso, se va a minimizar el coste del envıo.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 14: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

El problema del transporte

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 15: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

El problema del transporte - Ejemplo

Una companıa de ambito nacional produce y distribuye una lıneade neveras de alta eficiencia energetica. La empresa tiene lıneas deproduccion y montaje en dos ciudades, Pamplona y Bilbao, y trescadenas de distribucion localizadas en Madrid, Barcelona y Sevilla.La oficina de Madrid presenta una demanda anual de 10000neveras, la de Sevilla 8000 y la de Barcelona 15000.La planta de Bilbao puede producir hasta 20.000 neveras anuales yla de Pamplona 15000.Los costes de transporte por unidad (en euros) son los siguientes:

Costes de transporte por unidad (en euros)

Origen/Destino Madrid Barcelona Sevilla

Pamplona 3 1 5Bilbao 2 2 4

Se plantea un problema de programacion lineal que minimiza loscostes anuales de la companıa.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 16: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Mezclas. El problema de la dieta

El problema de la dieta representa una de las primeras aplicacionesde la programacion lineal que se utiliza en hospitales. Se usa paradeterminar la dieta de los pacientes que satisfaciendo unasespecificaciones nutritivas mınimas de la forma mas barata posible.Actualmente tambien se aplica en el sector de la ganaderıa con lamisma idea; encontrar la combinacion optima de alimentos queconsiguen una aportacion nutritiva mınima suponiendo el menorcoste posible. Una aplicacion de este problema se muestra en elsiguiente ejemplo:

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 17: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Mezclas. El problema de la dieta - Ejemplo

Un ganadero se quiere asegurar de que sus animales ingierendiariamente al menos 14 unidades de hierro, doce de vitamina A y18 de vitamina C.Un kilogramo de harina tiene un coste de dos euros y cuenta conuna unidad de hierro, una de vitamina A y tres de vitamina C. Unkilogramo de maız tiene un coste de dos euros y contiene dosunidades de hierro, una de vitamina A y una de vitamina C.Determınense las posibles maneras de alimentar al ganado quesatisfagan las necesidades mınimas alimenticias diarias con elmınimo coste posible.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 18: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Produccion - Ejemplo

Una empresa fabrica cuatro tipos de corbata. Una de seda, otra depoliester y dos de poliester y algodon. La tabla siguiente muestra elcoste en euros de los materiales y de su disponibilidad:

Costes y disponibilidad de los materiales

Material Coste por metro Metros disponibles/mes

Seda 21 800Poliester 6 3000Algodon 9 1600

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 19: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Produccion - Ejemplos

La tabla siguiente muestra todos los datos relativos a laproduccion, la demanda mensual y la composicion de cada tipo decorbata:

Propiedades

Tipos Prendasvendidas

Demandamin/max

Metrosnecesarios

Composicion

Seda 6.70 6000 - 7000 0.125 100 % sedaPoliester 3.55 10000 - 14000 0.08 100 % polPol/Alg 4.31 13000 - 16000 0.10 50 %pol -

50 %cotı¿ 12

Pol/Alg 4.81 6000 - 8500 0.1. 30 %pol -70 %cotı¿ 1

2Planteese un problema de programacion lineal para determinar elplan de produccion que maximiza los beneficios de la empresa.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 20: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Planificacion de horarios

La planificacion de horarios intenta dar respuesta efectiva a lasnecesidades de personal durante un periodo de tiempo concreto.Sectores tıpicos donde se hace esta programacion lineal para tomardecisiones sobre la planificacion de horarios son las entidadesbancarias y los grandes almacenes.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 21: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Planificacion de horarios- Ejemplos

Supongase que una entidad bancaria necesita diariamente entre 10y 18 cajeros en funcion de la hora del dıa. Las necesidades diariasse especifican en la tabla siguiente:

Disponibilidad

Franja horaria Num. Cajeros

9a.m. - 10a.m. 1010a.m. - 11a.m. 1211a.m. - 12a.m. 1412a.m. - 1p.m. 161p.m. - 2p.m. 182p.m. - 3p.m. 173p.m. - 4p.m. 154p.m. - 5p.m. 10

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 22: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Planificacion de horarios- Ejemplos

La oficina tiene 12 trabajadores a jornada completa y dispone depersonal suficiente para trabajar a media jornada. Un cajero quetrabaja a media jornada debe estar operativo 4 horas al dıa y estardisponible para comenzar a trabajar a cualquier hora entre lasnueve de la manana y la una de la tarde. Los trabajadores a jornadacompleta deben estar operativos desde las nueve de la mananahasta las cinco de la tarde y tienen una hora libre para comer (lamitad come de once a doce y la otra mitad lo hace de doce a una).Las normas de la entidad limitan el numero de horas realizadas porlos trabajadores a tiempo parcial a, como mucho, el 50 % de lashoras diarias que se realicen. (Notese que se realizan 112 horasdiarias). Estos trabajadores ganan 16 euros al dıa y lostrabajadores a jornada completa 50 euros al dıa.Se plantea un problema de programacion lineal que establece unhorario que minimiza los costes salariales del banco.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 23: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Finanzas. Seleccion de una cartera de valores - Ejemplos

Un banco invierte en credito al consumo, bonos corporativos,depositos de oro y prestamos a la construcci.on. Actualmentedispone de cinco millones de euros para invertir y pretende, por unlado maximizar el interes esperado para los proximos seis meses ypor el otro cumplir con la diversificacion propugnada por la JuntaDirectiva segun se especifica en la tabla siguiente:

Finanzas

Tipos de inversion Interes esperado Lımite de inversion(millones de euros)

Creditos al consumo 7 % 1Bonos corporativos 11 % 2.5Depositos de oro 19 % 1.5Prestamos constr. 15 % 1.8

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 24: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Finanzas. Seleccion de una cartera de valores - Ejemplos

La Directiva tambien exige que como mınimo un 55 % de losfondos se dediquen a depositos de oro y prestamos a laconstruccion, mientras que el porcentaje dedicado a los creditos alconsumidor no han de superar el 15 % de los fondos.Se plantea un problema de programacion lineal que optimice elobjetivo del banco.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 25: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Mercadotecnia

La programacion lineal se utiliza en el campo de la mercadotecniay la publicidad como una herramienta que permite determinar cuales la combinacion mas efectiva de medios para anunciar losproductos de una empresa.Muchas veces la empresa dispone de un presupuesto fijo parapublicidad y el objetivo es distribuir este presupuesto entre diversasopciones (TV, radio, diarios, revistas, Google, Facebook...) demanera que los productos de una empresa tengan la maximadifusion. En otros casos, las restricciones vienen dadas por ladisponibilidad de medios y de las polıticas publicitarias de laempresa. Se vera una aplicacion con el siguiente ejemplo:

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 26: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Mercadotecnia - Ejemplo

Una cadena nacional de locales de ocio dispone de 8000 eurossemanales para publicidad. Este dinero se ha de destinar a publicaranuncios en TV, diarios y dos emisoras de radio.El objetivo final es conseguir la mayor audiencia posible.La tabla siguiente recoge toda la informacion referente a laaudiencia esperada por anuncio, el coste (en euros) de cadaanuncio y el numero maximo de anuncios semanales posibles encada medio.

Mercadotecnia

Medio Audiencia Coste Numero maximo

TV 5000 800 12Diario 8500 925 5Radio 1 2400 290 25Radio 2 2800 380 20

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 27: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Mercadotecnia - Ejemplo

La empresa tambien exige la contratacion de un mınimo de 5anuncios por radio semanales y no se puede destinar a este mediomas de 1800 euros por semana. Planteese un problema deprogramacion lineal que optimice el objetivo de la empresa.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 28: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Investigacion de mercados

La programacion lineal tambien se aplica al estudio de mercados.Mediante el siguiente ejemplo se puede ver como las estadısticaspueden emplear la programacion lineal para el diseno de encuestas.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 29: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Investigacion de mercados - Ejemplo

Se va a realizar una encuesta para determianar la opinion de losciudadanos de Baleares sobre la inmigracion. La encuesta ha desatisfacer lo siguiente:

1 Entrevistar un mınimo de 2300 familias baleares.

2 En al menos 1000 familias entrevistadas, la persona de masedad no debe superar los 30 anos.

3 En al menos 600 familias entrevistadas, la edad de la personamayor ha de estar comprendida entre los 31 y los 50 anos.

4 El porcentaje de familias entrevistadas que pertenecen a zonascon alta tasa de inmigracion no ha de ser inferior al 15 % deltotal.

Todas las encuentas se han de hacer personalmente y ha deresponder la persona mas mayor de cada familia.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 30: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Investigacion de mercados - Ejemplo

La tabla siguiente indica el coste (en euros) de cada encuestasegun la edad del encuestado y si pertenece o no a una zona contasa elevada de inmigracion.

Inmigracion

Zona <30 anos 31-50 anos >50 anos

Inmigracion baja 6.90 7.25 6.10Inmigracion alta 7.50 6.80 5.50

Planteese el problema de programacion lineal que satisface todaslas condiciones de la encuesta y minimice su coste.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 31: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

1 Introduccion2 Programacion lineal

Forma estandar de un PPLSoluciones basicas de unPPL

3 El metodo del sımplexUn ejemplo para comenzarEl metodo del sımplex enproblemas de minimizacionObservaciones finales

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 32: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Programacion lineal

Ya se han visto en los ejemplos del apartado anterior que laprogramacion lineal se presenta en muchas aplicaciones en lascuales es necesaria la toma de decisiones.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 33: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Programacion lineal

Definicion

La forma mas general de un problema de programacion lineal(PPL) consiste en minimizar o maximizar una funcion:

Z = f (x) =n∑

j=1

cjxj

...

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 34: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Programacion lineal

Definicion

Bajo las restricciones:

n∑j=1

aijxj = bi , i = 1, 2, · · · , p − 1

n∑j=1

aijxj ≥ bi , i = p, p + 1, · · · , q − 1

n∑j=1

aijxj ≤ bi , i = q, q + 1, · · · ,m

Donde p, q y m son numeros positivos tales que 1 ≤ p ≤ q ≤ m,normalmente n ≥ m.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 35: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Programacion lineal

Solucion factible

Un punto (x1, x2, · · · , xn) ∈ R que satisface todas las restriccionesdel PPL, se denomina solucion factible. El conjunto de todas lassoluciones factibles se denomina region factible o region defactibilidad.

Solucion optima

Un punto factible x se denomina solucion optima del PPL demaximizacion (o minimizacion) cuando:

f (x) ≥ f (x) ( o f (x) ≤ f (x))

Para cualquier otro punto factible x .

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 36: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Programacion lineal

El objetivo de los problemas de optimizacion es encontrar unoptimo global. En general solo se encuentran locales (problemas deoptimizacion, estudiados en bachillerato, en los que se calculaba eloptimo local y solo bajo ciertas condiciones los optimos eranglobales).Los problemas de PL presentan propiedades que hacen posibleencontrar el optimo global.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 37: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Propiedades

1 Si la region factible esta acotada, entonces el problemasiempre tiene solucion.

2 El optimo de un PPL es siempre un optimo global.

3 Si x e y son soluciones de un PPL, entonces cualquiera quesea la combinacion lineal convexa de ellos tambien es unasolucion optima:

λx + (1− λ)y , λ ∈ [0, 1]

4 La solucion optima alcanza siempre, al menos, un puntoextremo de la region factible.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 38: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Ejemplos de PL

Se vera a continuacion ejemplos de PPL con solucion unica,solucion multiple, solucion no acotada y solucion infactible (o loque es lo mismo, sin solucion).

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 39: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Ejemplos de PL

Ejemplo 1

Maximıcese la funcion Z = 3x1 + x2 bajo las restricciones:

−x1 + x2 ≤ 2x1 + x2 ≤ 6x1 ≤ 32x1 − x2 ≤ 4−x2 ≤ 0−x1 − x2 ≤ −1−x1 ≤ 0

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 40: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Ejemplos de PL

Representese graficamente la region factible. La region factible serala interseccion de todos los semiplanos que determinen cada unade las restricciones. Considerense las rectas:

r1 : −x1 + x2 = 2, que pasa por los puntos (0, 2), (−2, 0).

r2 : x1 + x2, que pasa por los puntos (0, 6), (6, 0).

r3 : x1 = 3, que es paralela al eje Y .

r4 : −2x1 − x2 = 4, que pasa por los puntos (0,−4), (2, 0).

r5 : x2 = 0, que es paralela al eje X .

r6 : x1 + x2 = 1, que pasa por los puntos (0, 1), (1, 0).

r7 : x1 = 0, que es paralela al eje Y

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 41: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Ejemplos de PL

Si ahora se hacen las interacciones r1 ∩ r2, se obtiene el punto(2, 4), r2 ∩ r3 el punto (3, 3), y r3 ∩ r4 el punto (3, 2).

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 42: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Ejemplos de PL

R en este caso es un polıgono cerrado. Las soluciones siempre seencuentran en los extremos de la region factible, por tanto seevaluara la funcion objetivo Z = 3x1 + x2 en los vertices de R:

Z (0, 1) = 1; Z (0, 2) = 2; Z (2, 4) = 10; Z (3, 3) = 12;

Z (3, 2) = 11; Z (2, 0) = 6; Z (1, 0) = 3.

Por tanto el maximo se alcanza en el punto (3, 3) y vale Z = 12.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 43: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Ejemplos de PL

Ejemplo 2

Maximıcese la funcion Z = x1 + x2 bajo las restricciones:

−x1 + x2 ≤ 2x1 + x2 ≤ 6x1 ≤ 32x1 − x2 ≤ 4−x2 ≤ 0−x1 − x2 ≤ −1−x1 ≤ 0

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 44: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Ejemplos de PL

Observese que el conjunto de restricciones es el mismo que el delejemplo anterior, por tanto la region factible sera la misma.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 45: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Ejemplos de PL

El maximo se alcanza en los puntos (2, 4) y (3, 3), entonces todoslos puntos del segmento que une estos dos puntos son maximosglobales.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 46: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Ejemplos de PL

Ejemplo 3

Maximıcese la funcion Z = 3x1 + x2 bajo las restricciones:−x1 + x2 ≤ 2−x2 ≤ 0−x1 − x2 ≤ −1−x1 ≤ 0

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 47: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Ejemplos de PL

En este caso se puede observar que la region factible no estaacotada en la direccion de crecimiento de la funcion objetivo.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 48: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Ejemplos de PL

Ejemplo 4

Minimıcese la funcion Z = 0,6x1 + x2 bajo las restricciones:10x1 + 4x2 ≥ 205x1 + 5x2 ≥ 202x1 + 6x2 ≥ 12x1 ≥ 0x2 ≥ 0

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 49: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Ejemplos de PL

En este caso la region factible no esta acotada pero la funcionalcanza el mınimo en el punto (3, 1) y vale Z = 2,8.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 50: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Ejemplos de PL

Ejemplo 5

Minimıcese la funcion Z = 2x1 − 3x2 bajo las restricciones:x1 − 2x2 ≥ 42x1 − 4x2 ≤ −6x1 ≥ 0x2 ≥ 0

En este caso, la region factible es R = ∅; es decir, el problema notiene solucion.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 51: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

1 Introduccion2 Programacion lineal

Forma estandar de un PPLSoluciones basicas de unPPL

3 El metodo del sımplexUn ejemplo para comenzarEl metodo del sımplex enproblemas de minimizacionObservaciones finales

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 52: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

El PPL

Forma estandar

Para describir un PPL, se necesita:

1 Un vector c = (c1, c2, · · · , cn) ∈ Rn.

2 Un vector b = (b1, b2, · · · , bn) ∈ Rn con bi ≥ 0 para todoi = 1, · · · ,m.

3 Una matriz A = (aij)m×n.

Con estos elementos, el problema lineal asociado en forma estandartiene la forma siguiente:

Min(Max) Z = cX

Bajo las restricciones AX = B, donde:

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 53: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

El PPL

Forma estandar

X =

x1

x2...xn

Con xj ≥ 0 para todo j = i · · · , n y:

B =

b1

b2...bm

Con bi ≥ 0 para todo i = 1 · · · ,m. Normalmente n ≥ m.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 54: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

El PPL

Definicion

Dıcese que un PPL esta en forma estandar si:

1 Es de minimizacion o de maximizacion.

2 Solo incluye restricciones de igualdad.

3 bi ≥ 0 para todo i = 1, · · · ,m.

4 xj ≥ 0 para todo j = i , · · · , n.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 55: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Transformacion de un PPL a forma estandar

Cualquiera que sea el PPl se puede transformar a la formaestandar. Vease como:

Paso 1: transformar las variables en no negativas

Las variables no restringidas en signo se pueden expresar comodiferencia de dos variables no negativas. Se define:

x+i = max{0, xi}

x−i = max{0,−xi}

Se satisface que x+i , x

−i ≥ 0 i xi = x+

i − x−i .

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 56: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Transformacion de un PPL a forma estandar

Paso 2: transformar las restricciones de desigualdad en igualdades

Las restricciones de desigualdad se pueden transformar enrestricciones de igualdad equivalentes introduciendo nuevasvariables denominadas variables compensatorias: Siai1x1 + ai2x2 + · · ·+ ainxn ≤ bi , entonces existe una variablexn+1 ≥ 0 tal que:

ai1x1 + ai2x2 + · · ·+ ainxn + xn+1 = bi

Si ai1x1 + ai2x2 + · · ·+ ainxn ≥ bi , entonces existe una variablexn+1 ≥ 0 tal que:

ai1x1 + ai2x2 + · · ·+ ainxn − xn+1 = bi

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 57: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Transformacion de un PPL a forma estandar

Paso 3: maximizar es lo mismo que minimizar

Un problema de maximizacion Zmax = cX es equivalente aminimizar Zmin = −cX (y viceversa) si ambos problemas verificanel mismo conjunto de restricciones.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 58: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Transformacion de un PPL a forma estandar

Paso 4: no negatividad de los terminos independientes

Toda restriccion con termino independiente bi < 0 se puedetransformar en otra con termino independiente no negativomultiplicando toda la restriccion por −1.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 59: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Transformacion de un PPL a forma estandar

Ejemplo 1

Encuentrese max Z = 2x1 − 3x2 + 5x3 bajo las restricciones:x1 + x2 ≤ 23x1 + x2 − x3 ≥ 3x1, x2, x3 ≥ 0

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 60: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Transformacion de un PPL a forma estandar

Para resolverlo se escribira en forma de maximo. Observese quetodas las variables son no negativas. Se tendran que transformarlas restricciones de desigualdad en igualdades, ası habra que anadirvariables compensatorias. En forma estandar sera:

max Z = 2x1 − 3x2 + 5x3 + 0x4 + 0x5

Bajo las restricciones:x1 + x2 + x4 = 23x1 + x2 − x3 − x5 = 3x1, x2, x3, x4, x5 ≥ 0

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 61: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Transformacion de un PPL a forma estandar

Si se quisiese el mismo problema en forma estandar de mınimo,serıa:

min Z = −2x1 + 3x2 − 5x3 + 0x4 + 0x5

Bajo las restricciones:x1 + x2 + x4 = 23x1 + x2 − x3 − x5 = 3x1, x2, x3, x4, x5 ≥ 0

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 62: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Transformacion de un PPL a forma estandar

Ejemplo 2

Encuentrese max Z = 2x1 − 3x2 + 5x3 bajo las restricciones:x1 + x2 ≤ 23x1 + x2 − x3 ≥ 3x1, x2 ≥ 0

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 63: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Transformacion de un PPL a forma estandar

Observese que esta vez la variable x3 no esta restringida en signo.Habra que escribir x3 = x6 − x7 con x6 = x+

3 ≥ 0 y x7 = x−3 ≥ 0.Ası el problema en forma estandar sera:

max Z = 2x1 − 3x2 + 5(x6 − x7) + 0x4 + 0x5

Bajo las restricciones:x1 + x2 + x4 = 23x1 + x2 − (x6 − x7)− x5 = 3x1, x2, x4, x5, x6, x7 ≥ 0

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 64: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Transformacion de un PPL a forma estandar

Ejemplo 3

Encuentrese max Z = 3x1 − x3 bajo las restricciones:x1 + x2 + x3 = 1x1 − x2 − x3 ≤ 1x1 + x3 ≥ −1x1 ≥ 0

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 65: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Transformacion de un PPL a forma estandar

Como todas las variables han de ser no negativas habra que pasara:

x2 = y2 − z2; y2 = x+2 , z2 = x−2

x3 = y3 − z3; y3 = x+3 , z3 = x−3

Con y2, z2, y3, z3 ≥ 0. Notese que el termino independiente de latercera restriccion es negativo, entonces se multiplica por −1. Elproblema inicial sera:

max Z = max Z = 3x1 − y3 + z3

Bajo las restricciones:x1 + y2 − z2 + y3 − z3 = 1x1 − y2 + z2 − y3 + z3 ≤ 1−x1 − y3 + z3 ≤ 1x1, y2, z2, y3, z3 ≥ 0

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 66: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Transformacion de un PPL a forma estandar

Ahora solo falta transformar las restricciones de desigualdad enrestricciones de igualdad:

x1 + y2 − z2 + y3 − z3 = 1x1 − y2 + z2 − y3 + z3 + u1 = 1−x1 − y3 + z3 + u2 = 1x1, y2, z2, y3, z3, u1, u2 ≥ 0

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 67: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

1 Introduccion2 Programacion lineal

Forma estandar de un PPLSoluciones basicas de unPPL

3 El metodo del sımplexUn ejemplo para comenzarEl metodo del sımplex enproblemas de minimizacionObservaciones finales

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 68: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Soluciones basicas de un PPL

Supongase que un PPL viene dado en forma estandarmin(max) Z = cX bajo las restricciones AX = B donde:

X = (x1, x2, · · · , xn)t , xj ≥ 0 ∀i = i , · · · , n

B = (b1, b2, · · · , bm)t , bi ≥ 0 ∀i = 1, · · · ,m

A = (aij)m×n

Se puede suponer sin perdida de generalidad que rang(A) = m, yaque m ≤ n y que el sistema AX = B tiene solucion. En cualquierotro caso, o bien el sistema es equivalente a otro sistemacompatible con menos ecuaciones o bien el sistema esincompatible.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 69: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Soluciones basicas de un PPL

Sea A la matriz anterior, entonces:

Definicion

Se denomina basica de A a toda matriz de orden m, Mb derango m extraıda de A.

Mb es basica factible si es basica y satisface M−1b B ≥ 0.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 70: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Soluciones basicas de un PPL

Definicion

Sea Xb el vector de las variables asociadas a las columnas de Mb,estas variables se denominan basicas y las demas variables nobasicas. Si se asigna el valor cero a las variables no basicas XN , elsistema AX = B se puede escribir como:

(Mb | XN)

(Xb

0

)= B

Donde MbXb = B y, como Mb es invertible, Xb = M−1b B es la

solucion basica asociada a Mb. Si ademas Mb es una matriz basicafactible, su solucion basica es factible.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 71: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Soluciones basicas de un PPL

Ejemplo 1

Encuentrense las soluciones basicas del sistema.{x1 + 2x2 + x3 = 8x1 + 3x2 − x3 = 12

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 72: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Ejemplo 1

Las matrices A y B son:

A =

(1 2 11 3 −1

)

B =

(8

12

)

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 73: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Ejemplo 1.1

Si se considera:

Mb =

(1 21 3

)Las variables son x1, x2 y la variable no basica x3 = 0, entonces:

Xb = M−1b B =

(3 −2−1 1

)(8

12

)=

(04

)Ası (x1, x2) = (0, 4) es una solucion basica factible.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 74: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Ejemplo 1.2

Si tomamos como matriz basica:

Mb =

(1 11 −1

)Las variables son x1, x3 y la variable no basica x2 = 0, entonces:

Xb = M−1b B =

(1/2 1/21/2 −1/2

)(8

12

)=

(10−2

)En este caso se obtiene una solucion basica no factible (x3 < 0)

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 75: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Ejemplo 1.3

Si se toma como matriz basica:

Mb =

(2 13 −1

)Las variables son x2, x3 y la variable no basica x1 = 0, entonces:

Xb = M−1b B =

(1/5 1/53/5 −2/5

)(8

12

)=

(40

)Ası (x2, x3) = (4, 0) es una solucion basica factible.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 76: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Ejemplo 1

El numero de soluciones basicas factibles de un PPL acotado conun numero finito de restricciones es siempre finito y a cada una lecorresponde un punto extremo de la region factible.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 77: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Soluciones basicas de un PPL

Teorema

Sea:

R = {x = (x1, x2, · · · , xn) : AX = B, xj ≥ 0 j = 1 · · · , n}

Con A = (aij)m×n y rang(A) = m, entonces x ∈ Rn es un puntoextremo de R si y solo si A se puede descomponer comoA = (Mb | XN) tal que:

X =

(Xb

XN

)(M−1

b B0

)Donde Mb es una matriz de orden m invertible, extraıda de A quesatisface M−1B ≥ 0

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 78: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Soluciones basicas de un PPL

Observacion

Recuerdese que si Mb es una matriz de orden m invertible, esequivalente por filas a la matriz identidad Im o a cualquier otramatriz de orden m, las columnas de la cual son los vectoresunitarios:e1 = (1, 0, · · · , 0), e2 = (0, 1, · · · , 0), · · · , em = (0, 0, · · · , 1) nonecesariamente en este orden:

Im ∼

1 0 00 1 00 0 1

∼ 0 1 0

1 0 00 0 1

∼ 0 1 0

0 0 11 0 0

∼ · · ·

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 79: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Forma estandar de un PPLSoluciones basicas de un PPL

Soluciones basicas de un PPL

Teorema. Propiedad fundamental de la programacion lineal

Si un PPL tiene una solucion optima, esta es una solucion basicafactible.

Por tanto, para hallar el optimo de un PPL se encontrara en elconjunto de soluciones factibles.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 80: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

1 Introduccion2 Programacion lineal

Forma estandar de un PPLSoluciones basicas de unPPL

3 El metodo del sımplexUn ejemplo para comenzarEl metodo del sımplex enproblemas de minimizacionObservaciones finales

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 81: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

El metodo del sımplex

Es un procedimiento algebraico (no geometrico) mediante el cualse pasa de una solucion basica factible inicial (o cualquier otra) auna solucion basica factible adyacente, mejorando, o al menos, noempeorando el valor de la funcion objetivo.Existen muchas versiones del metodo sımplex y todas pretenden lomismo: encontrar la solucion optima de un PPL.Para encontrar este optimo se emplean unas tablas. Se parte deuna tabla inicial y se van transformando los valores de la tablahasta llegar a la solucion optima.En este curso se aplicara el metodo revisado del sımplex queincluye la funcion objetivo en las tablas. En el metodo del sımplexse toma como matriz basica factible inicial la matriz identidad ycualquier otra matriz basica factible obtenida a partir de la matrizidentidad haciendo intercambios de filas.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 82: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

1 Introduccion2 Programacion lineal

Forma estandar de un PPLSoluciones basicas de unPPL

3 El metodo del sımplexUn ejemplo para comenzarEl metodo del sımplex enproblemas de minimizacionObservaciones finales

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 83: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

El metodo del sımplex

Ejemplo del sımplex

Encuentrese max Z = 40x1 + 30x2 bajo las restricciones:x1 ≤ 16x2 ≤ 8

x1 + 2x2 ≤ 24x1, x2 ≥ 0

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 84: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

El metodo del sımplex

Si se resuleve graficamente obteniendo la region factible convertices (0, 0), (16, 0), (16, 4), (8, 8), (0, 8) y se evalua Z en estosvertices se obtiene que el maximo se alcanza en el punto (16, 4) yvale 760.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 85: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

El metodo del sımplex

Para aplicar el metodo del sımplex se han de hacer una serie depasos:

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 86: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

El metodo del sımplex - Paso 1

Se ha de escribir el problema de forma estandar de maximo, quesera el mismo que denota el sistema:

Z −40x1 −30x2 +0s1 +0s2 +0s3 = 0x1 +s1 = 16

x2 +s2 = 8x1 +2x2 +s3 = 24

Con x1, x2, s1, s2, s3 ≥ 0.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 87: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

El metodo del sımplex - Paso 1

Se puede construir la tabla:Z x1 x2 s1 s2 s3 Constantes

fila 1 1 -40 -30 0 0 0 0fila 2 0 1 0 1 0 0 16fila 3 0 0 1 0 1 0 8fila 4 0 1 2 0 0 1 24

La matriz basica factible inicial (matriz identidad) corresponde alas variables basicas, en este caso a las variables compensatoriass1, s2, s3 y las variables no basicas son x1 = x2 = 0.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 88: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

El metodo del sımplex - Paso 1

Teniendo en cuenta tambien la fila 1 de la tabla, se puede expresarel sistema:

1 0 0 00 1 0 00 0 1 00 0 0 1

Zs1

s2

s3

=

0

168

24

Que corresponde a s1 = 16, s2 = 8, s3 = 24 y Z = 0 (con(x1, x2) = (0, 0). Notese que el punto (0, 0) es un vertice de laregion factible.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 89: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

El metodo del sımplex - Paso 2

Se busca la columna que en la fila 1 tiene la entrada negativacon mayor valor absoluto (columna pivote).

Se dividen las constantes por los valores positivos de lacolumna pivote y se elige el mınimo, la fila correspondiente aeste mınimo sera la fila pivote.

El elemento que este en la insterseccion de la fila y la columnapivotes debe corresponderse con la nueva variable basica.Notese que en nuestro caso la columna pivote es la segundafila y la fila pivote es la que correspondra a la nueva almınimo entre 16/1 y 24/1, es decir, la fila 2. Por lo tanto elpivote es 1 y le corresponde la variable x1.

Se transforma la tabla inicial de manera que la columna pivotesea un vector unitario (todos los elementos de la columna hande ser nulos salvo el pivote que debe ser 1).

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 90: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

El metodo del sımplex - Paso 2

Por tanto, si se hace f1 + 40f2, f4 − f2 se obtiene la nueva tabla:Z x1 x2 s1 s2 s3 Constantes

fila 1 1 0 -30 40 0 0 640fila 2 0 1 0 1 0 0 16fila 3 0 0 1 0 1 0 8fila 4 0 0 2 -1 0 1 8

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 91: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

El metodo del sımplex - Paso 2

De la tabla se puede extraer el sistema basico:1 0 0 00 1 0 00 0 1 00 0 0 1

Zx1

s2

s3

=

6401688

Que corresponde a x1 = 16, s2 = 8, s3 = 8 y Z = 640 (conx2 = 0, s2 = 0). Notese que el punto (16, 0) es otro vertice de laregion factible.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 92: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

El metodo del sımplex - Paso 3

Como en la fila 1 todavıa hay un numero negativo, la solucion sepuede mejorar. Iterando el paso 2 anterior:

La nueva variable basica es x2.

Si se hace el mınimo entre 8/1 y 8/2, se obtiene que el pivoteesta en la fila 4.

El pivote es 2 y por tanto se dividira la fila pivote por 2 paraobtener el pivote 1.

Finalmente, se hacen ceros mediante la resta de elementos dela columna pivote.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 93: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

El metodo del sımplex - Paso 3

Por tanto, si se hace f1 + 30f4, f3 − f4 se obtiene la nueva tabla:Z x1 x2 s1 s2 s3 Constantes

fila 1 1 0 0 25 0 15 760fila 2 0 1 0 1 0 0 16fila 3 0 0 0 1/2 1 -1/2 4fila 4 0 0 1 -1/2 0 1/2 4

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 94: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

El metodo del sımplex - Paso 3

De la tabla se puede extraer el sistema basico:1 0 0 00 1 0 00 0 1 00 0 0 1

Zx1

s2

x2

=

7601644

Que se corresponde con x1 = 16, x2 = 4, s2 = 4 y Z = 760 (dondes1 = 0, s3 = 0). Notese que el punto (16, 4) es otro vertice de laregion factible.En la fila 1 ya no quedan numeros negativos, por tanto la solucionno se puede mejorar.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 95: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

1 Introduccion2 Programacion lineal

Forma estandar de un PPLSoluciones basicas de unPPL

3 El metodo del sımplexUn ejemplo para comenzarEl metodo del sımplex enproblemas de minimizacionObservaciones finales

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 96: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

El metodo del sımplex en problemas de minimizacion

En problemas de minimizacion no se puede aplicar directamente elmetodo que se ha descrito en el apartado anterior. Vease comoproceder en este caso con el siguiente ejemplo:

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 97: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

El metodo del sımplex en problemas de minimizacion

Ejemplo 2 del sımplex

Encuentrese min Z = x1 + 4x2 bajo las restricciones:x1 + 2x2 ≥ 8

3x1 + 2x2 ≥ 12x1, x2 ≥ 0

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 98: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

El metodo del sımplex en problemas de minimizacion

Si se escribe en forma estandar de mınimo, queda:

min Z = x1 + 4x2 + 0s1 + 0s2

Bajo las restricciones:

(1 2 −1 03 2 0 −1

)x1

x2

s1

s2

=

(8

12

)

Con x1, x2, s1, s2 ≥ 0

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 99: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

El metodo del sımplex en problemas de minimizacion

Se puede observar que de la matriz de coeficientes no se puedeextraer la matiz identidad como matriz basica factible inicial. Sepodrıa extraer la matriz: (

−1 00 −1

)Que corresponden a las variables basicas s1, s2. La solucions1 = −8, s2 = −12, que resulta una solucion basica no factible.Consecuentemente se ha de buscar una manera de obtener unasolucion basica factible inicial. Esta se obtiene anadiendo unavariable artificial no negativa a cada una de las restricciones. Estasvariables artificiales apareceran en la funcion objetivo concoeficientes grandes respecto a los coeficientes de las variables delproblema dado.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 100: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

El metodo del sımplex en problemas de minimizacion

Una vez se anaden las variables compensatorias y artificiales alproblema de minimizacion se aplicara el metodo del sımplexaplicando los paso siguientes:

1 Se escribe la tabla inicial del sımplex.

2 Se transforman las columnas de las variables artificiales envectores unitarios.

3 Se busca el pivote: de entre todas las columnas de lasvariables se elige la columna con la entrada positiva mayor.Para determinar la fila pivote se hace lo mismo que en el casode la maximizacion.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 101: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

El metodo del sımplex en problemas de minimizacion

Si se considera el problema de minimizacion del ejemplo anterior,una vez anadidas las variables artificiales se tiene:

Z −x1 −4x2 +0s1 +0s2 −100v1 −100v2 = 0x1 +2x2 −s1 +v1 = 8

3x1 +2x2 −s2 +v2 = 12

Con x1, x2, s1, s2, v1, v2 ≥ 0.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 102: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

El metodo del sımplex en problemas de minimizacion

Se escribe la tabla inicial del problema:Z x1 x2 s1 s2 v1 v2 Constantes

1 -1 -4 0 0 -100 -100 00 1 2 -1 0 1 0 80 3 2 0 -1 0 1 12

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 103: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

El metodo del sımplex en problemas de minimizacion

Si se hace f1 + 100f2 + 100f3, los vectores columna de las variablesartificiales se transforma en unitarios y se obtiene la tabla:

Z x1 x2 s1 s2 v1 v2 Constantes

1 399 396 -100 -100 0 0 20000 1 2 -1 0 1 0 80 3 2 0 -1 0 1 12

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 104: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

El metodo del sımplex en problemas de minimizacion

La columna pivote corresponde a la columna de la variable x1 y lafila pivote es la tercera. Se dividira la fila pivote por 3 para tener elpivote igual a 1 y se obtiene

Z x1 x2 s1 s2 v1 v2 Constantes

1 399 396 -100 -100 0 0 20000 1 2 -1 0 1 0 80 1 2/3 0 -1/3 0 1/3 4

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 105: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

El metodo del sımplex en problemas de minimizacion

Si ahora se hace f1 − 399f3 y f2 − f3 se transformala columna pivote en un vector unitario y se obtiene una nueva tabla:

Z x1 x2 s1 s2 v1 v2 Constantes

1 0 130 -100 33 0 -133 4040 0 4/3 -1 1/3 1 -1/3 40 1 2/3 0 -1/3 0 1/3 4

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 106: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

El metodo del sımplex en problemas de minimizacion

Ası se puede extraer el sistema: 1 0 00 1 00 0 1

Zv1

x1

=

40444

Que corresponde a la solucionx1 = 4, v1 = 4, s1 = s2 = x2 = v2 = 0 y Z = 404. Notese que en lasolucion aparece la variable artificial v1 = 4, lo cual no interesa. Lasolucion no es optima, todavıa queda en la fila 1 entradaspositivas. La entrada positiva mas grande corresponde a la variablex2, por tanto la columna correspondente a x2 es la columna pivotey la fila pivote es la 2, con pivote 4/3.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 107: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

El metodo del sımplex en problemas de minimizacion

Si se divide la fila pivote por 4/3 se tiene que:Z x1 x2 s1 s2 v1 v2 Constantes

1 0 130 -100 33 0 -133 4040 0 1 -3/4 1/4 3/4 -1/4 30 1 2/3 0 -1/3 0 1/3 4

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 108: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

El metodo del sımplex en problemas de minimizacion

Se hara f1 − 130f2 y f3 − 2/3f2, transformando la columna pivoteen un vector unitario quedarıa esta nueva tabla:

Z x1 x2 s1 s2 v1 v2 Constantes

1 0 0 -5/2 1/2 -195/2 -201/2 140 0 1 -3/4 1/4 3/4 -1/4 30 1 0 1/2 -1/2 -1/2 1/2 2

La solucion todavıa no es optima. Si se itera el proceso se obtieneque la columna pivote corresponde a la columna de la variable s2 yla fila 2 es la fila pivote, con pivote 1/4.Nota: la fila 3 no puede ser pivote, ya que es un nombre negativo,y si dividiesemos por −1/2, el valor de b3 se covertirıa en negativotambien...

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 109: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

El metodo del sımplex en problemas de minimizacion

Si se divide la fila pivote por 1/4, queda:Z x1 x2 s1 s2 v1 v2 Constantes

1 0 0 -5/2 1/2 -195/2 -201/2 140 0 4 -3 1 3 -1 120 1 0 1/2 -1/2 -1/2 1/2 2

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 110: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

El metodo del sımplex en problemas de minimizacion

Si ahora se hace f1 − 1/2f2 y f3 + 1/2f2 se transformala columna pivote en un vector unitario y se obtiene una nueva tabla:

Z x1 x2 s1 s2 v1 v2 Constantes

1 0 -2 -1 0 -99 -100 80 0 4 -3 1 3 -1 120 1 2 -1 0 1 0 8

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 111: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

El metodo del sımplex en problemas de minimizacion

Ası es posible extraer el sistema: 1 0 00 1 00 0 1

Zs2

x1

=

8128

Que corresponde a la solucionx1 = 8, s2 = 12, x2 = s1 = v1 = v2 = 0 i Z = 8. Por tanto, lasolucion optima es (x1, x2) = (8, 0) y Z = 8.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 112: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

1 Introduccion2 Programacion lineal

Forma estandar de un PPLSoluciones basicas de unPPL

3 El metodo del sımplexUn ejemplo para comenzarEl metodo del sımplex enproblemas de minimizacionObservaciones finales

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 113: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

Observacion 1

Las variables artificiales no son exclusivas de programas deminimizacion. En algunos programas de maximizacion tambien sepueden emplear beneficiosamente. Cuando en el contexto demaximizacion una de las restricciones es de igualdad no esnecesario anadir una variable compensatoria. En este caso harafalta un vector unitario en la tabla del sımplex para poder tener lasolucion basica factible inicial. Se anade a la restriccion deigualdad una variable artificial que intervendra en la funcionobjetivo con coeficiente negativo para asegurar que no forma partede la solucion optima.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 114: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

Observacion 2

Cuando en la tabla del sımplex, dos o mas cocientes comparten lacaracterıstica de ser los menores, dos o mas filas seran candidatasa ser la fila pivote. Se ha de adoptar un criterio, arbitrario, paradecidir cual sera la fila pivote.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 115: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

Observacion 3

A veces un paso del pivote no provoca una mejora de la solucion yseran necesarios diversos pasos de pivote con mejora nula antes deque el proceso iterativo trunque el cırculo vicioso.

Juan Gabriel Gomila Tema 6 - Programacion Lineal

Page 116: Tema 6 Álgebra Lineal: Programación Lineal

IntroduccionProgramacion lineal

El metodo del sımplex

Un ejemplo para comenzarEl metodo del sımplex en problemas de minimizacionObservaciones finales

Observacion 4

Se ha dado una introduccion al algoritmo sımplex. El proceso no esdifıcil pero en programas lineales de dimensiones considerables latarea de computar es larga y aburrida.Afortunadamente hay programas informaticos que desarrollan todoel proceso: SOLVER de Excel, GAMS (General Algebraic ModelingSystem) y cualquier otro programa de sımplex que se puedaencontrar en internet.

Juan Gabriel Gomila Tema 6 - Programacion Lineal