PROGRAMACIÓN LINEAL LINEAL La programación lineal (PL) es una herramienta para resolver problemas de optimización. En 1947 !eor !eorge ge "ant "antzi zig g creó creó un m#to m#todo do e$ic e$icaz az el algo algori ritm tmo o simpl simple% e% para para reso resolv lver er prob problem lemas as de programación lineal. & partir del surgimiento del algoritmo simple% se ha usado en la l a programación lineal lineal para para resolv resolver er problem problemas as de optim optimiza izació ción n en indust industria riass tan diversa diversass como como la banca banca la educación el petróleo ' el transporte. En una encuesta realizada por la revista ortune de ** empresas el +, de las -ue contestaron dieron -ue hab/an utilizado la programación lineal. Ejemplo de un problema problema de programación lineal lineal 0oodcarving 0oodcarving nc. de !iapetto $abrica dos tipos de uguetes de madera2 3oldados ' renes. 3e vende un soldado a 57 dólares ' se usan 1* dólares de materia prima. 6ada soldado -ue se produce aumenta los costos variables de mano de obra ' los costos generales en 14 dólares. 3e vende un tren a 51 dólares ' se usan 9 dólares de materia prima. 6ada tren producido aumenta los costos variables de mano de obra ' los costos generales en 1* dólares. La producción de soldados ' trenes de madera necesita dos tipos de trabao especializado2 carpinter/a ' acabado. n soldado re-uiere 5 horas de acabado ' 1 hora de carpinter/a. n tren re-uiere 1 hora de acabado ' 1 hora de carpinter/a. 6ada semana !iapetto puede conseguir toda la materia prima -ue necesita pero solamente dispone de 1** horas de acabado ' +* de carpinter/a. La demanda de los trenes no tiene l/mite pero se venden a lo m8s 4* soldados semanalmente. !iapetto -uiere ma%imizar su ganancia semanal (ingresos costos). ormule ' resuelva un modelo matem8tico para la situación de !iapetto -ue se se pueda utilizar para ma%imizar su ganancia semanal.
Podemos resumir la in$ormación en la siguiente tabla2 Precio de venta (dólares)
Tipo de Juguete
3oldado ren
57 51
Costo materia prima
1* 9
Costos variables de mano de obra y generales
14 1*
"isponibilidad
Horas de Acabado
Horas de carpintería
5 1 1**
1 1 +*
Ganancia
: 5
3ean x12 La cantidad de soldados a producir x52 La cantidad de trenes a producir El modelo es2
;a%. z = : x1 + 5 x5 s. a. 5 x1 + x5
x1
≤ 1**
x1
+ x 5 ≤
+*
x1
≤
4*
≥
* x5
≥
*
Características comunes comunes a todos los problemas de PL . Variables de decisión . Empezamos de$iniendo las variables de decisión pertinentes. En cual-uier problema de PL las variables de decisión tienen -ue representar completamente las decisiones -ue se deben tomar. to mar.
1
problema de PL la persona -ue -ue toma la decisión -uiere ma%imizar Función objetivo . En cual-uier problema (generalmente el ingreso o las ganancias) o minimizar (por lo general los costos) alguna $unción de las variables de decisión. La $unción -ue ha' -ue ma%imizar o minimizar se llama $unción obetivo. El coe$iciente de una variable en la $unción obetivo se llama coe$iciente de la $unción obetivo de la variable el coe$iciente de la $unción obetivo de cada variable es simplemente la contribución de la variable a la ganancia de la compapuede tomar la variable de decisión valores no negativos solamente o se le pueden permitir valores tanto positivos como negativos? 3i una variable de decisión xi solamente toma valores no negativos a
DEFINICIÓN n problema de programación lineal (PL) es un problema de optimización para el cual hacemos lo siguiente2 1. ratamos de ma%imizar (o minimizar) una $unción lineal de variables de decisión. La $unción $unción -ue se pretende ma%imizar o minimizar se llama la $unción obetivo. 1. Los valores valores de las variables variables de decisión decisión tienen tienen -ue -ue satis$acer satis$acer un conunto conunto de restricci restricciones. ones. 6ada restricción tiene -ue ser una ecuación lineal o una desigualdad lineal. 1. Ca' una restricción restricción de signo signo para cada variable. variable. Para Para cual-uier cual-uier variable xi la restricción de signo especi$ica -ue xi tiene -ue ser no negativo o -ue xi puede ser una variable sin restricción de signo (3@3).
!POICIONE DE !N PL De proporcionalidad proporcionalidad y aditividad El hecho de -ue la $unción obetivo de un PL tiene -ue ser una $unción lineal de las variables de decisión tiene dos implicaciones2
1. La contribución contribución de cada cada variable de decisión decisión a la $unción $unción obetivo es proporcio proporcional nal al valor de la variable de decisión. 1. La contribu contribució ción n a la $unción $unción obetivo obetivo por parte de cual-u cual-uier ier variable variable es indepe independi ndient entee de los valores de las otras variables de decisión. "e manera an8loga el hecho de -ue cada restricción de PL tiene -ue ser una desigualdad o igualdad lineal tiene dos implicaciones2 1. El aporte aporte de cada variable variable al lado lado iz-uie iz-uierdo rdo de cada cada restri restricció cción n es proporci proporciona onall al valor de la variable. 1. La contrib contribuci ución ón de una variabl variablee al lado lado iz-uie iz-uierdo rdo de cada cada restri restricci cción ón es indepe independi ndient entee de los valores de las otras variables. El primer punto dado cada listado se llama suposición de proporcionalidad de la programación lineal. El punto 5 de la primera lista a$irma -ue el valor de la $unción obetivo es la suma de las
5
contribuciones de las variables individuales ' el punto 5 de la segunda lista indica -ue el lado iz-uierdo de cada restricción es la suma de las contribuciones de cada variable. Por tal razón el segundo punto de cada listado se llama 3uposición de aditividad de la programación lineal. De divisibilidad La suposición de divisibilidad re-uiere -ue cada variable de decisión pueda tomar valores $raccionarios. n problema de PL en el cual algunas o todas las variables tienen -ue ser n=meros enteros no negativos se llama un problema de programación entera. Luego estudiaremos soluciones de problemas de programación entera. Certidumbre La suposición de certidumbre signi$ica -ue tiene -ue conocerse con certeza cada par8metro del modelo (coe$iciente de la $unción obetivo lado derecho ' el coe$iciente tecnológico).
La Re"i#n Factible $ La oluci#n Óptima "os de los conceptos m8s $undamentales asociados a los problemas PL son la región $actible ' la solución óptima. Para de$inir estos conceptos usamos el t#rmino punto para indicar un valor espec/$ico de cada variable de decisión.
De%inici#n La región $actible para un PL es el conunto de todos los puntos -ue satis$acen todas las restricciones. 6uando el PL tiene m8s de dos variables de decisión a la región $actible se le conoce como hiperplano. 6ual-uier punto -ue no se encuentra en la región $actible se llama punto no $actible.
De%inici#n Para un problema de ma%imización una solución óptima para un PL es un punto de la región $actible con el ma'or valor de la $unción obetivo. 3imilarmente para un problema de minimización una solución óptima corresponde a un punto de la región $actible con el menor valor de la $unción obetivo. La ma'or/a de los PL tiene solamente una solución óptima. 3in embargo algunos PL no tienen solución óptima ' algunos PL tienen un n=mero in$inito de soluciones.
oluci#n "r&%ica de problemas bidimensionales de Pro"ramaci#n Lineal Para resolver gr8$icamente cual-uier PL con solamente dos variables. 3iempre denominamos las variables x1 ' x5 ' los ees coordenados los ees x1 ' x5. Luego haremos lo siguiente2 1. !ra$icamos cada una de las restricciones inclu'endo las de no negatividad.
:
5 x1 + x5
x1
≤ 1** x1 +
≤
x5
≤
+*
4*
La región $actible para el problema de !iapetto se muestra en la gr8$ica siguiente2
"espu#s de identi$icar la región $actible buscamos 1. la solución óptima -ue corresponder8 al punto de la región $actible con el ma'or (o menor) valor de z. Para encontrar la solución óptima tenemos -ue gra$icar una l/nea recta -ue corresponde a todos los puntos con un mismo valor de z. Estas l/neas se conocen como l/neas de indi$erencia o de isocostos (o isoutilidades para ma%imización)
4
1. Para dibuar una l/nea de indi$erencia escogemos cual-uier punto de la región $actible ' calculamos el valor de z o simplemente le podemos dar un valor particular a z. Luego de gra$icar al menos dos l/neas de indi$erencia notaremos -ue dichas l/neas son paralelas pues todas tienen la misma pendiente. Esto -uiere decir -ue podemos encontrar todas las l/neas de indi$erencia una vez trazada una l/nea de indi$erencia traz8ndolas paralelamente a la primera. 1. La =ltima l/nea de indi$erencia -ue toca la región $actible de$ine el m8%imo (o m/nimo) valor de z de cual-uier punto en la región $actible e indica la solución óptima del PL.
1. El punto -ue corresponde a la solución óptima es la intersección de al menos dos rectas -ue corresponden a las restricciones. Para hallar dicho valor solamente debemos resolver el sistema de ecuaciones lineales asociado a todas las rectas de dicha intersección. D. El valor óptimo de z se obtiene sustitu'endo los valores de x1 ' x5 en la $unción obetivo. 3e puede demostrar -ue cual-uier PL -ue tiene una solución óptima tiene un punto de las es-uinas de la región $actible -ue es óptimo.
!n Problema de Minimi'aci#n "orian &uto $abrica automóviles de luo ' camiones. La compa
5 millones de hombres de ingresos altos ven cada comercial en series cómicas. 5 millones de mueres de ingresos altos ' 15 millones de hombres de ingresos altos ven cada comercial en partidos de $=tbol. n comercial de un minuto en una serie cómica cuesta **** dólares ' un comercial de un minuto en un uego de $=tbol cuesta 1***** dólares. "orian -uisiera -ue por lo menos 5+ millones de mueres de ingresos altos ' 54 millones de hombres de ingresos altos vieran los comerciales. tilice la programación lineal para determinar cómo "orian &uto puede alcanzar sus re-uerimientos publicitarios a un costo m/nimo. 3ean x12 La cantidad de comerciales de 1 minuto en series cómicas x52 La cantidad de trenes de 1 minuto en uegos de $=tbol El modelo es2
;in.
z =
*.*) x1 + *.1 x5
s. a. 5 x1 + 15 x5 ≥ 54 7 x1 + 5 x5 ≥ 5+ x1
≥ * x5 ≥ *
CAO EPECIALE Los problemas de !iapetto ' de "orian tienen una solución óptima =nica pero no siempre este es el caso. La solución de un PL -ue no tiene una solución óptima =nica puede estar dentro de alguna de las tres categor/as siguientes2 1. &lgunos PL tienen un n=mero in$inito de soluciones óptimas (soluciones óptimas alternativas o m=ltiples) 1. &lgunos PL no tiene soluciones $actibles (PL no $actibles) 1. &lguno PL son no acotados2 ha' puntos de la región $actible con valores de z arbitrariamente grandes (o pe-ue
oluciones Óptimas Alternati(as M)ltiples na compa
D
solamente camiones se podr/an pintar 4* camiones al d/a. 3i en el taller de pintura se pintaran solamente automóviles se podr/an pintar D* automóviles diariamente. 3i el taller de carrocer/a produera solamente automóviles podr/a $abricar * automóviles al d/a. 3i el taller de carrocer/a produera solamente camiones podr/a $abricar * camiones al d/a. 6ada camión aporta :** dólares a la utilidad ' cada automóvil 5**. tilice la programación lineal para determinar la producción diaria -ue ma%imizar8 la ganancia de la compa
El modelo es2
;a%.
z =
5** x1 + :** x5
s. a. 5 x1 + : x5 ≤ 15* x1
+ x5 ≤ )*
x1
≥ * x5 ≥ * ' enteros
&l trazar la l/nea de indi$erencia para z D*** observamos -ue es paralela a la recta 5%1 F :%5 15*. Por lo -ue el problema tiene 5 soluciones óptimas. Producir :* automóviles ' 5* camiones o producir =nicamente 4* camiones.
7
Problema de Pro"ramaci#n Lineal No Factible na compa
3ean x12 La cantidad de automóviles a producir x52 La cantidad de camiones a producir
El modelo es2 ;a%. z = 5** x1 + :** x5 s. a. 5 x1 + : x5 x1
+
x5
x1 x5 x1
≥
≤ 15* ≤
)*
≥
5*
≥
:*
* x5
≥
* ' enteros
6omo no e%iste región $actible (no -uedó región sombreada) entonces el problema es in$actible.
Problema de Pro"ramaci#n Lineal No Acotado El siguiente PL especial es un PL no acotado. Para un problema de ma%imización un PL no acotado se presenta cuando es posible encontrar puntos en la región $actible de z con valores arbitrariamente grandes lo -ue corresponde a una ganancia arbitrariamente grande para -uien toma las decisiones. Esto indicar/a -ue una solución óptima no acotada no deber/a presentarse en un PL corectamente $ormulado. Por lo tanto si el lector llega a resolver un PL con a'uda de un computador ' encuentra -ue el PL es no acotado entonces probablemente se ha cometido un error en la $ormulación del PL o en la determinación del PL en el computador. Para un problema de minimización un PL es no acotado si e%isten puntos en la región $actible con valores z arbitrariamente pe-ue
+
;a%. z = 5 x1 − x5 s. a. x1 − x5
5 x1
+
x5
≤1 ≥
D
x1 ≥ * x5 ≥ *
6omo no podemos abandonar la región $actible al ir con paralelas entonces el problema es no acotado.
El Al"oritmo imple* El m#todo simple% es un procedimiento general para resolver problemas de programación lineal. "esarrollado por !eorge "antzig en 1947 est8 comprobada su e%traordinaria e$iciencia ' se usa en $orma rutinaria para resolver problemas con las computadoras actuales. E%cepto en el caso de problemas mu' pe-ue
CÓMO +RANFORMAR !N PL EN LA FORMA E+,NDAR Himos -ue un PL puede tener restricciones en $orma de igualdad o de desigualdad. ambi#n puede tener variables -ue tienen -ue ser no negativas o variables -ue pueden no tener restricción de signo. &ntes de poder usar el algoritmo simple% para resolver un PL ha' -ue tras$ormar el PL en un problema e-uivalente en el cual todas las restricciones son ecuaciones ' todas las variables son no negativas. n PL -ue se encuentra en esta $orma est8 en su $orma est8ndar. Para trans$ormar un PL en la $orma est8ndar ha' -ue sustituir cada restricción en $orma de desigualdad por una restricción en $orma de igualdad. lustramos este procedimiento mediante el siguiente eemplo. Leather Limited produce dos tipos de cinturones2 el modelo de luo ' el modelo regular. 6ada tipo re-uiere 1 'arda 5 de cuero. El cinturón regular re-uiere una hora de trabao especializado ' el cinturón de luo necesita dos horas. 3e dispone semanalmente de 4* 'ardas 5 de cuero ' D* horas de mano de obra especializada. 6ada cinturón regular contribu'e con tres dólares a la ganancia ' cada cinturón de luo contribu'e con cuatro dólares a la ganancia. >6u8ntos cinturones de cada tipo se deben producir con obeto de ma%imizar la ganancia? !olución Podemos resumir la in$ormación en la siguiente tabla2 Tipo de Cinturón
"e#uerimiento de cuero
Horas de trabao especiali$ado
Ganancia (dólares)
9
yarda%
"e luo @egular "isponibilidad
1 1 4*
5 1 D*
4 :
3ean x12 La cantidad de cinturones regulares a producir x52 La cantidad de cinturones de luo a producir El respectivo modelo es2
;a%.
z = : x1
+ 4 x5
s. a. x1
+
x1
+ 5 x5 ≤ D*
x1
x5
≤ 4*
≥ * x5 ≥ * ' enteros
La solución gra$ica es la siguiente2
En consecuencia para ma%imizar la ganancia se deben producir 5* cinturones regulares ' 5* cinturones de luo. La m8%ima ganancia ser8 de 14* dólares.
Al"oritmo imple* Paso &2 rans$orme el problema de programación lineal en la $orma est8ndar Para llevar al modelo a la $orma est8ndar debemos introducir una variable de holgura por cada restricción de menor o igual. Las variables de holgura representan la cantidad de recursos no utilizada en la i#sima restricción no a$ectan la $unción obetivo ' por eso tienen coe$iciente cero en dicha $unción.
1*
;a%.
z = : x1
+ 4 x5 + *S 1 + * S 5
s. a. x1
+
x1
+ 5 x5 +
x1
x5
+
S 1
= 4* + S 5 = D*
≥ * x5 ≥ * ' enteros
S 1
≥ *
S 5
≥*
Paso %2 Ibtenga una solución b8sica $actible a partir de la $orma est8ndar. na solución b8sica $actible es a-uella -ue cumple con todas las restricciones. Para obtener una solución b8sica $actible llevamos el modelo a una tabla simple% como la -ue se da a continuación.
J8sica * S 1 * S 5 6 K z
: x1 1 1 :
4 x5 1 5 4
* S 1 1 * *
* S 5 * 1 *
Lado derecho 4* D* *
La solución siempre se leer8 igualando la respectiva variable b8sica con el lado derecho. 3i una variable no es b8sica entonces tomar8 el valor cero. En el eemplo como x1 ' x 5 no son b8sicas entonces x 1 * ' x5 * (primera solución b8sica
$actibles (sb')) Paso 2 "etermine si la solución b8sica $actible es óptima En una tabla simple% la solución es óptima si todos los coe$icientes en la $ila 6 K z son menores o iguales a cero.
J8sica * S 1 * S 5 6 K z
: x1 1 1 :
4 x5 1 5 4
* S 1 1 * *
* S 5 * 1 *
Lado derecho 4* D* *
6omo e%isten valores positivos en la $ila 6 K z entonces la sb$ no es óptima. Paso 2 3i la solución b8sica $actible no es óptima determine -u# variable no b8sica se tiene -ue convertir en una variable b8sica ' -u# variable b8sica se tiene -ue convertir en una variable no b8sica para encontrar as/ una nueva solución b8sica $actible con un meor valor de la $unción obetivo.
3e elige como la variable b8sica entrante la -ue tiene el coe$iciente positivo ma'or en la $ila 6 K z 'a -ue es la -ue hace -ue z se incremente a la tasa m8s r8pida.
J8sica * S 1 * S 5 6 K z
: x1 1 1 :
4 x5 1 5 4
* S 1 1 * *
* S 5 * 1 *
Lado derecho 4* D* *
11
Para determinar la variable b8sica -ue sale hacemos lo siguiente2 a) omamos cada coe$iciente estrictamente positi(o de la columna pivote a) "ividimos el lado derecho de cada ecuación entre estos coe$icientes a) denti$icamos la ecuación con el menor cociente. El menor cociente es el m8%imo valor de la variable -ue entra -ue mantendr8 todas las variables b8sicas actuales no negativas. a) 3eleccionamos la variable b8sica entrante para esta ecuación
J8sica * S 1 * S 5 6 K z
: x1 1 1 :
4 x5 1 5 4
* S 1 1 * *
* S 5 * 1 *
Lado derecho 4* D* *
@azón 4* :*
Por lo anterior x5 entrar8 a ser b8sica ' S 5 dear8 de ser b8sica. &l elemento -ue se encuentra en la intersección de la $ila pivote ' la columna pivote se le conoce como pi(ote. Paso *2 3i la solución b8sica $actible no es óptima entonces reoptimice utilizando reducción gaussiana.
teración 1
J8sica * S 1 4 x5 6 K z
: x1 15 15 1
4 x5 * 1 *
* S 1 1 * *
* S 5 −15 M −5
Lado derecho 1* :* 15*
4 x5 * 1 *
* S 1 5 −1 −5
* S 5 −1 1 −1
Lado derecho 5* 5* 14*
@azón 5* D*
La sb$ actual no es óptima teración 5
J8sica : x1 4 x5 6 K z
: x1 1 * *
@azón
La solución es óptima. &s/ x1 5* ' x5 5*.
Empate para la variable b+sica entrante >6ómo debe romperse el empate? La respuesta es -ue la elección entre los contendientes se puede hacer de manera arbitraria. arde o temprano se llegar8 a la solución óptima sin importar cu8l de las variables empatadas se ha'a escogido ' no e%iste un m#todo conveniente para predecir cu8l lleva ah/ m8s r8pidamente.
15
Adaptaci#n a Otras Formas del Modelo Casta ahora hemos presentado los detalles del m#todo simple% con la suposición de -ue el problema se encuentra en la $orma est8ndar. El =nico problema serio -ue introducen las otras $ormas de restricciones $uncionales ( ≥ -ue tienen lados derechos no negativos) es identi$icar una solución b8sica $actible inicial. &ntes esta solución inicial se encontraba en $orma mu' conveniente al hacer -ue las variables de holgura $ueran las variables b8sicas iniciales donde cada una era igual a la constante no negativa del lado derecho de la ecuación correspondiente. &hora debe hacerse algo m8s. El en$o-ue est8ndar -ue se utiliza en esos casos es la t#cnica de variables arti$iciales. Esta constru'e un problema arti$icial m8s conveniente introduciendo una variable $icticia (llamada variable arti$icial) en cada restricción -ue lo re-uiera. Esta nueva variable se introduce sólo con el $in de -ue sea la variable b8sica inicial para esa ecuación. Las restricciones usuales de no negatividad tambi#n se aplican sobre estas variables ' la $unción obetivo se modi$ica para -ue imponga una penalización e%orbitante en el caso de -ue ad-uieran valores ma'ores -ue cero. Las iteraciones del m#todo simple% autom8ticamente $uerzan a las variables arti$iciales a desaparecer (a volverse cero) una a una hasta -ue todas -uedan $uera de la soluciónN despu#s de esto se resuelve el problema real. "estricciones en 'orma de igualdad Para convertir una restricción de igualdad en la $orma apropiada del m#todo simple%. 6onstruimos un problema arti$icial -ue tiene la misma solución óptima -ue el problema real haciendo dos modi$icaciones a este problema real. 1. ntroducimos una variable arti$icial no negativa como si $uera una variable de holgura. 1. &signamos una penalización enorme al coe$iciente de la variable arti$icial en la $unción obetivo el valor del coe$iciente ser8 ; donde ; simbólicamente representa un n=mero positivo mu' grande.
&hora se encuentra la solución óptima para el problema real aplicando el m#todo simple% al problema arti$icial. "estricciones de ,ayor o -gual Para convertir una restricción de ma'or o igual a una restricción de igualdad sumaremos a la restricción una variable arti$icial ' restaremos una variable de holgura penalizando adecuadamente la variable arti$icial. ,inimi$ación En lugar de cambiar las instrucciones del m#todo simple% se presentar8 una manera sencilla de convertir cual-uier problema de minimización en un problema e-uivalente de ma%imización. n
z
;inimizar
n
= ∑ c j x j j =1
− z = es e-uivalente a ;a%imizar
∑ −c
j x j
j =1
.ariables arti'iciales Las variables arti$iciales se introducen sólo con el $in de -ue sea la variable b8sica inicial para esa ecuación -ue la re-uiere. Las restricciones usuales de no negatividad tambi#n se aplican sobre estas variables ' la $unción obetivo se modi$ica para -ue imponga una penalización e%orbitante en el caso -ue ad-uieran valores ma'ores -ue cero. Las iteraciones del m#todo simple% autom8ticamente $uerzan a las variables arti$iciales a desaparecer (volverse cero) una a una hasta -ue todas -uedan $uera de la solución despu#s de esto se resuelve el problema real. Eemplo
1:
@icitos de Iro necesita encontrar por lo menos 15 libras de oro ' al menos 1+ libras de plata para pagar la renta mensual. Ca' dos minas en las cuales @icitos de Iro puede encontrar oro ' plata. 6ada d/a -ue @icitos de Iro pasa en la mina 1 encuentra 5 lb de oro ' 5 lb de plata. 6ada d/a -ue @icitos de Iro pasa en la mina 5 encuentra 1 lb de oro ' : lb de plata. Plantee ' resuelva un PL -ue a'ude a @icitos de Iro a cumplir con sus re-uerimientos pasando el menor tiempo posible en las minas. !olución 3ean x12 La cantidad de d/as -ue @icitos de Iro debe pasar en la mina 1 x52 La cantidad de d/as -ue @icitos de Iro debe pasar en la mina 5
El respectivo modelo es2
;in. z = x1 + x5 s. a. 5 x1
+
x5
≥ 15
5 x1
+
: x5
≥ 1+
x1 ≥ * x5 ≥ * Llevamos el problema a la $orma est8ndar. @ecordemos -ue por cada restricción de una variable arti$icial ' restar una variable de holgura.
≥ debemos
sumar
&hora podemos convertir cual-uier problema de minimización en un problema de ma%imización multiplicando la $unción obetivo por 1.
;a%.
-z =
− x1 − x5
s. a. 5 x1 +
x5
≥ 15
5 x1 + : x5 ≥ 1+ x1
≥ * x5 ≥ * ' enteros
&hora lo llevamos a la $orma est8ndar
;a%. 9 z = − x1 − x5 + * S 1 − !1 + *S 5 − !5 s. a. 5 x1
+
5 x1
+ : x5
= 15
x5 − S 1 + 1
x1 ≥ * x5
≥
− S 5 + 5 = 1+
* S 1 ≥ * S 5
≥
* 1 ≥ * 5
≥
*
Llevamos el modelo a la tabla ' resolvemos
J8sica K; 1 K; 5 6 K z
K1 x1 5 5 K1 F
K1 x5 1 : K1 F
* S 1 K1 * K;
K; 1 1 * *
* S 5 * K1 K;
K; 5 * 1 *
Lado derecho 15 1+
@azón D 9
14
4;
4;
Ibservemos -ue ha' un empate entre las variables -ue entran a ser b8sicas como #ste se resuelve arbitrariamente entonces seleccionamos a x1 como la columna pivote.
J8sica K1 x1 K; 5 6 K z
J8sica K1 x1 K1 x5 6 K z
K1 x1 1 * *
K1 x5 15 5 K15 F 5;
* S 1 K15 1 K15 F;
K1 x1 1 * *
K1 x5 * 1 *
* S 1 K:4 15 K14
K; 1 15 K1 15 K 5; K; 1 :4 K15 14 K ;
* S 5 * K1 K;
K; 5 * 1 *
Lado derecho D D KD K D;
@azón
* S 5 14 K15 K14
K; 5 K14 M 14 K ;
Lado derecho 95 : K15
@azón
15 :
3olución óptima @icitos debe trabaar 4. d/as en la mina 1 ' : d/as en la mina 5 con un m/nimo de 7. d/as
!oluciones óptimas m/ltiples na vez -ue el m#todo simple% encuentra una solución óptima 6ómo reconocer -ue e%isten otras ' cómo se encuentran? 3iempre -ue un problema tiene m8s de una solución $actible óptima al menos una variable no b8sica tiene coe$iciente cero en la $ila 6 K z de la tabla simple% $inal de manera -ue si aumenta su valor el valor de la $unción z no cambia. Eemplo La "aOota urniture 6ompan' $abrica escritorios mesas ' sillas. n escritorio se vende en D* dólares una mesa se vende a : dólares ' una silla se vende en 5* dólares. Por ahora se disponen de 4+ pies tabla de madera de 5* horas de acabado ' + horas de carpinter/a. "aOota cree -ue la demanda de escritorios ' sillas es ilimitada pero se pueden vender a lo m8s cinco mesas. "aOota -uiere ma%imizar el ingreso total por-ue se han comprado 'a los recursos. >6u8ntos art/culos de cada tipo deben producir? REC"RS# ESCR$%#R$# ;adera + pies tabla Coras de acabado 4 horas Coras de carpinter/a 5 horas !olución 3ean x12 La cantidad de escritorios a producir x52 La cantidad de mesas a producir x:2 La cantidad de sillas a producir
!ES D pies tabla 5 horas 1. horas
S$&& 1 pie tabla 1. horas *. horas
El modelo es2
1
;a%. z = D* x1 + :) x5 + 5* x: s. a. + x1 + D x5 +
x:
≤
4+
4 x1 + 5 x5 + 1.) x:
≤
5*
5 x1 + 1.) x5 + *.) x:
≤+
x5 x1 ≥ * x5 ≥ * x:
≤ ≥
)
* ' enteros
Llevamos el problema a la $orma est8ndar.
;a%. z = D* x1 + :) x5 + 5* x: + *S 1 + *S 5 + * S : + *S 4 s. a. + x1 + D x5 +
x: + S 1
4 x1 + 5 x5 + 1.) x:
+
+
=
5*
=+
S :
x5
+ ≥
4+
S 5
5 x1 + 1.) x5 + *.) x: x1 ≥ * x5 ≥ * x:
=
S 4
=)
* ' enterosN S 1 ≥ * S 5
≥
* S :
≥
* S 4
≥
*
Llevamos el modelo a la tabla ' resolvemos
J8sica * S 1 * S 5 * S : * S 4 6 K z J8sica * S 1 * S 5 * S : * S 4 6 K z J8sica * S 1 * S 5 D* x1 * S 4 6 K z
D* x1 + 4 5 * D*
: x5 D 5 1. 1 :
5* x: 1 1. *. * 5*
* S 1 1 * * * *
* S 5 * 1 * * *
* S : * * 1 * *
* S 4 * * * 1 *
Lado derecho 4+ 5* +
@azón
D* x1 + 4 5 * D*
: x5 D 5 1. 1 :
5* x: 1 1. *. * 5*
* S 1 1 * * * *
* S 5 * 1 * * *
* S : * * 1 * *
* S 4 * * * 1 *
Lado derecho 4+ 5* + *
@azón
D* x1 * * 1 * *
: x5 * 1 1 1*
5* x: 1 15 14 *
* S 1 1 * * * *
* S 5 * 1 * * *
* S : 4 5 15 * :*
* S 4 * * * 1 *
Lado derecho 1D 4 4 54*
@azón
D 4
+ 1D
1D
D* x1 * * 1 * *
J8sica * S 1 5* x: D* x1 * S 4 6 K z
: x5 5 5 4 1 *
5* x: * 1 * * *
* S 1 1 * * * *
* S 5 5 5 15 * 1*
* S : + 4 :5 * 1*
* S 4 * * * 1 *
Lado derecho 54 + 5 5+*
@azón
+
La solución óptima es $abricar 5 escritorios ' + sillas Pero en la tabla simple% $inal se observa -ue ha' una variable no b8sica con coe$iciente cero en la $ila 6 K z entonces ha' otra solución óptima. Para encontrar la otra solución simplemente se convierte la variable x5 en b8sica ' se hacen las acostumbradas operaciones entre $ilas.
D* x1 + + 4 4 *
J8sica * S 1 5* x: : x5 * S 4 6 K z
: x5 * * 1 * *
5* x: * 1 * * *
* S 1 1 * * * *
* S 5 D D 5 5 1*
* S : 5+ + D D 1*
* S 4 * * * 1 *
Lado @azón derecho 1:D D + 17 5+*
La otra solución óptima es producir + de mesas ' D de sillas. ;8s adelante veremos como trabaar con problemas enteros. Cuando no 0ay variable b+sica #ue sale 1 $ no acotada E%iste otra posibilidad a-uella en la -ue ninguna variable cali$ica como variable b8sica -ue sale. Esta situación puede ocurrir si la variable b8sica entrante puede crecer inde$inidamente sin -ue ninguna de las variables b8sicas actuales ad-uiera valores negativos. En la $orma tabular esto signi$ica -ue todos los coe$icientes en la columna pivote son negativos o cero. Eemplo @esuelva
;a%. z = 5 x1 − x5 s. a. x1 − x5
5 x1
+
x5
≤1 ≥
D
x1 ≥ * x5 ≥ * !olución Llevamos el problema a la $orma est8ndar. @ecordemos -ue por cada restricción de una variable arti$icial ' restar una variable de holgura.
≥ debemos
sumar
17
;a%. z = 5 x1 − x5 + * S 1 + * S 5 − !5 s. a. =1
x1 − x5 + S 1
5 x1
+ x5
−
S 5 + 5
x1 ≥ * x5 ≥ * S 1 ≥ * S 5
= ≥
D
* 5
≥
*
Llevamos el modelo a la tabla ' resolvemos
J8sica * S 1 K; 5 6 K z J8sica * S 1 K; 5 6 K z J8sica * S 1 K; 5 6 K z
5 x1 1 5 5 F 5;
K1 x5 K1 1 K1 F ;
* S 1 1 * *
* S 5 * K1 K;
5 x1 1 * *
K1 x5 K1 : 1 F :;
* S 1 1 K5 K5 K 5;
* S 5 * K1 K;
5 x1 1 * *
K1 x5 * 1 *
* S 1 1: K5: K 4:
* S 5 K1: K1: 1:
K; 5 * 1 * K; 5 * 1 *
Lado derecho 1 D
@azón
Lado derecho 1 4
@azón
K; 5 1: 1: K; K (1:)
1 :
4:
Lado @azón derecho 7: 4: 1*:
&un-ue la solución no es óptima si -ueremos seleccionar la $ila pivote vemos -ue todos los elementos en la columna pivote son negativos ' por tanto no podemos hallar la razón ' en ese sentido no tendremos variable -ue dea de ser b8sica. &s/ el problema es no acotado. Problema de programación 2ineal 3o 4actible &hora veremos cómo reconocer en la tabla simple% $inal cuando un problema es Qo $actible. Eemplo na compa
1+
El modelo es. ;a%. z = 5** x1 + :** x5 s. a. 5 x1 + : x5 x1
+
x5
x1 x5 x1
≥
≤ 15* ≤
)*
≥
5*
≥
:*
* x5
≥
* ' enteros
Llevamos el problema a la $orma est8ndar.
;a%. z = 5** x1 + :** x5 + * S 1 + * S 5 + * S : − !: + * S 4 − !4 s. a. 5 x1 + : x5 + S 1 x1 + x5
= 15* +
x1 ≥
* x5
J8sica * S 1 * S 5 : K ; 4 K ; 6 K z
J8sica * S 1 * S 5 : K ; x5 :** 6 K z
J8sica x1 5** * S 5 : K ; x5 :** 6 K z
)*
=
5*
− S 4 + 4 =
:*
− S : + :
x5 x1
=
S 5
≥
* ' enterosN S 1 ≥ * S 5
≥
* S :
≥
* S 4
≥
* :
≥
* 4
5** x1
:** x5
* S 1
* S 5
* S :
K; :
* S 4
K; 4
5 1 1 * 5**F ;
: 1 * 1 :**F ;
1 * * * *
* 1 * * *
* * K1 * K;
* * 1 * *
* * * K1 K;
* * * 1 *
:** x5 * * * 1 *
* S 1 1 * * * *
* S 5 * 1 * * *
* S : * * K1 * K;
K; : * * 1 * *
* S 4 : 1 * K1 :**
* S : * * K1 * K;
K; : * * 1 * *
* S 4 :5 K15 K:5 K1 (K :5) ;
5** x1 5 1 1 * 5**F ; 5** x1 1 * * * *
:** x5 * * * 1 *
* S 1 15 K15 K15 * K1** K (15);
* S 5 * 1 * * *
≥
*
Lado derech o 15* * 5* :*
@azó n 4* * :*
K; Lado derecho 4 K: :* K1 5* * 5* 1 :* K:** K 9*** ; K; 4 K:5 15 :5 1 (15) ;
Lado derecho 1 :* 15***
@azón 1 5* 5*
@azón
1* 1*: :*
19
J8sica x1 5** * S 5 4 K ; x5 :** 6 K z
5** x1 1 * * * *
:** x5 * * * 1 *
* S 1 * K1: K1: 1: K1** K (1:);
* S 5 * 1 * * *
* S : K1 1: K5: 5: K (5:) ;
K; * : S 4 1 * K1: * 5: K1 5: * K K; (1:);
K; Lado 4 derecho * 1 * 1 * :* * 15***
@azón
Ibservemos -ue se ha alcanzado la solución óptima pero -uedó una variable arti$icial como b8sica esto impedir8 -ue se alcance el m8%imo. &s/ cuando en una tabla simple% $inal ha' una variable arti$icial b8sica el problema es no $actible.
De"eneraci#n $ Con(er"encia del M-todo imple* eóricamente -uiz8 el teorema simple% no encuentre la solución óptima de un PL. 3in embargo los PL -ue se obtienen de aplicaciones reales raras veces presentan este comportamiento desagradable. 3in embargo para -ue sea completo es estudio analizamos ahora una situación en la cual el m#todo simple% puede $allar. Por el momento suponga -ue el PL -ue estamos resolviendo tiene la siguiente propiedad2 en cada una de las soluciones b8sicas $actibles del PL todas las variables b8sicas son positivas ( R *). n PL con esta propiedad es un '& no degenerado. 3i usamos el m#todo simple% para resolver un PL no degenerado en cada iteración del m#todo simple% aumentar/a z . Esto signi$ica -ue utilizando el m#todo simple% para resolver un PL no degenerado es imposible encontrar dos veces la misma solución b8sica $actible. &hora recuerde -ue cada PL tiene solamente un n=mero $inito de soluciones b8sicas $actibles. Sa -ue no podemos repetir nunca una solución b8sica $actible este argumento muestra -ue cuando utilizamos el teorema simple% para resolver un PL no degenerado tenemos la seguridad de encontrar la solución óptima despu#s de un n=mero $inito de iteraciones. 3in embargo el teorema simple% puede $allar en el caso de un PL degenerado
De%inici#n n PL se llama degenerado si tiene por lo menos una solución b8sica $actible con una variable b8sica igual a cero. Eemplo "oUu# cantidades debe invertir en cada tipo de acción para ma%imizar los intereses a recibir?
El siguiente PL es degenerado
5*
;a%. z = ) x1 + 5 x5 s. a. ≤
D
− x5 ≤
*
x1 + x5 x1
x1 ≥ * x5 ≥ * El problema en la $orma est8ndar es2
;a%. z = ) x1 + 5 x5
+ * S 1 + * S 5
s. a. x1 + x5 x1 x1
≥
−
+
S 1
x5
* x5
≥
= +
D
S 5 = *
* 31 ≥ * 35
≥
*
El problema en la tabla simple% es2
J8sica * S 1 * S 5 6 K z
x1 1 1
5 x5 1 1 5
* S 1 1 * *
* S 5 * 1 *
Lado derecho D * *
@azón D *
6omo S 5 es variable b8sica ' toma el valor cero entonces la solución es degenerada.
J8sica * S 1 x1 6 K z J8sica 5 x5 x1 6 K z
x1 * 1 *
5 x5 5 1 7
* S 1 1 * *
* S 5 1 1
Lado derecho D * *
x1 * 1 *
5 x5 1 * *
* S 1 15 15 75
* S 5 15 15 :5
Lado derecho : : 51
@azón :
@azón
3olución óptima &hora podemos e%plicar por -u# el teorema simple% puede tener problemas al resolver un PL degenerado. 3upóngase -ue estamos resolviendo un PL degenerado para el cual el valor óptimo de z es :*. 3i empezamos con una solución b8sica $actible -ue tiene por eemplo z 5* sabemos -ue es posible -ue un pivoteo no cambie el valor de z. Esto signi$ica -ue es posible observar una sucesión de pivoteos como la -ue se muestra a continuación2 3olución b8sica $actible inicial2 z 5* "espu#s del primer pivoteo (sb$ 5)2 z 5* "espu#s del segundo pivoteo (sb$ :)2 z 5*
51
"espu#s del tercer pivoteo (sb$ 4)2 z 5* "espu#s del -uinto pivoteo (sb$ 1)2 z 5* En esta situación encontramos la misma sb$ dos veces. Este hecho se llama periodicidad. 3i se presenta la periodicidad daremos vueltas para siempre entre un conunto de soluciones b8sicas $actibles ' nunca obtendremos la solución óptima. La periodicidad puede ocurrir realmente. &$ortunadamente se puede modi$icar el m#todo simple% para asegurar -ue la periodicidad nunca se presente (v#ase Jland o "antzig para m8s detalles). En la pr8ctica sin embargo la periodicidad es algo e%tremadamente raro. Por tal motivo la ma'or/a de los programas de cómputo para PL no se protegen contra la posibilidad de periodicidad.
Otros e.emplos Eemplo Jrevco produce una bebida con sabor a narana Iran al mezclar re$resco ' ugo de narana. 6ada onza de re$resco de narana contiene *. oz de az=car ' 1 mg de vitamina 6. 6ada onza de ugo de narana contiene *.5 oz de az=car ' : mg de vitamina 6. & Jrevco le cuesta 5 centavos producir una onza de re$resco de narana ' : centavos una onza de ugo de narana. El departamento de mercadotecnia de Jrevco ha decidido -ue cada botella de 1* oz de Iran debe contener por lo menos 5* mg de vitamina 6 ' a lo m8s 4 oz de az=car. tilice la programación lineal para determinar cómo Jrevco puede satis$acer los re-uerimientos del departamento de mercadotecnia al menor costo. Eemplo
El administrador del sistema de suministro de agua de cierta ciudad debe hallar la manera de proporcionar por lo menos 1* millones de galones de agua potable por d/a (mgd). El agua se debe tomar de los depósitos locales o de una tuber/a hacia una población vecina. Los depósitos locales pueden suministrar mgd cantidad -ue no puede ser e%cedida. La tuber/a debido a su tamaEn -u# $orma puede al administrador minimizar el costo diario del agua? Eemplo Jreadco JaOeries produce dos tipos de pan2 pan $ranc#s ' pan de masa $ermentada. 3e puede vender cada barra de pan $ranc#s a :D centavos de dólar ' cada pan $ermentado a :* centavos. na barra de pan $ranc#s re-uiere 1 pa-uete de levadura ' D onzas de harina ' un pan $ermentado re-uiere 1 pa-uete de levadura ' onzas de harina. &ctualmente Jreadco tiene pa-uetes de levadura ' 1* onzas de harina. 3e puede comprar pa-uetes adicionales de levadura a : centavos cada uno ' m8s harina a 4 centavosonza. ormule ' resuelva un PL para ma%imizar las ganancias de Jreadco (ingresos costos)
.ariables sin restricción de signo Eemplo n panadero tiene :* onzas de harina ' pa-uetes de levadura. La producción de un pan re-uiere de onzas de harina ' un pa-uete de levadura. 3e puede vender cada pan a :* centavos. El panadero puede comprar m8s harina a 4 centavos por onza o vender el e%cedente de harina al mismo precio. ormule un PL para a'udar al panadero a ma%imizar sus ganancias (ingreso K costos).
55