PROGRAMACIÓN LINEAL
INDICE
PROGRAMAC PROGRAMACIÓN IÓN LINEAL. LINEAL. ......................... ..................................... ........................ ......................... ......................... ..............................................1 ..................................1 Introducc Introducción. ión............. ........................ ......................... ......................... ........................ ......................... ......................... ........................ ...........................................1 ...............................1 Formulación de modelos de Programación Lineal........................................................................3 Ejemplo. Planeación de la fuerza de trabajo.............................................................................4 Forma estándar de los modelos de Programación Lineal..........................................................5 Otras formas de modelos de Programación Lineal....................................................................6 Solución Gráfica de Modelos Lineales con dos Variables.............................................................6 Ejemplo: Problema de mezcla de productos.............................................................................6 Uso del método gráfico para minimización..............................................................................11 Ejemplo: Problema de dieta....................................................................................................11 CASOS CASOS ESPECIAL ESPECIALES. ES. ........................ ..................................... ......................... ........................ ........................ ........................................ ............................ .....14 Método Símplex..........................................................................................................................14 Bosquejo del método símplex:................................................................................................16 Preparación para el método símplex.......................................................................................16 Empate para la variable básica entrante.................................................................................21 Empate para la variable básica que sale - degeneración........................................................22 Cuando no hay variable básica que sale - Z no acotada.........................................................22 Soluciones óptimas múltiples..................................................................................................23 Método de la “M” o de Penalización............................................................................................24 Restricciones en forma de igualdad........................................................................................24 MINIMIZACIÓN con el método símplex...................................................................................28 Método de las dos Fases............................................................................................................29 Resumen del método de dos fases.........................................................................................29
Programación Lineal.
PROGRAMACIÓN LINEAL. Introducción. Muchas personas clasifican el desarrollo de la Programación Lineal (PL) entre entre los los avan avance cess cient científi ífico coss má máss impo import rtan ante tess de me medi diad ados os del del sigl siglo o XX. XX. En la actualidad es una herramienta común que ha ahorrado miles o millones de dólares a muchas compañías y negocios, incluyendo industrias medianas en distintos países del mundo. ¿Cuál es la naturaleza de esta notable herramienta y qué tipo de problemas puede manejar? Expresado brevemente, el tipo más común de aplicación abarca el problema general de asignar recursos limitados entre actividades competitivas de la mejor manera posible (es decir, en forma óptima). Este problema de asignación puede surgir cuando deba elegirse el nivel de ciertas actividades que compiten por recursos escasos para realizarlas. La variedad de situaciones a las que se puede aplicar esta descr descripc ipción ión es sin sin duda duda muy gran grande de,, y va desd desde e la asign asignac ació ión n de inst instal alac acion iones es productivas a los productos, hasta la asignación de los recursos nacionales a las necesidades de un país; desde la planeación agrícola, hasta el diseño de una terapia de radiación; etc. No obstante, obstante, el ingrediente ingrediente común de todas estas situaciones situaciones es la necesidad de asignar recursos a las actividades. Con frecuencia, seleccionar una alternativa incluye satisfacer varios criterios al mismo tiempo. Por ejemplo, cuando se compra una pieza de pan se tiene el criterio de frescura, tamaño, tipo (blanco, integral u otro), costo y rebanado o sin rebanar. Se puede ir un paso más adelante y dividir estos criterios en dos categorías: restricciones y el objetivo. Las restricciones son las condiciones que debe satisfacer una solución que que está está bajo bajo co cons nsid ider erac ació ión. n. Si má máss de una una alte altern rnat ativ iva a sati satisf sfac acen en toda todass las las restricciones, el objetivo se usa para seleccionar entre todas las alternativas factibles. Cuando se elige una pieza de pan, pueden quererse 100 gr. de pan blanco rebanado y hecho hecho no ante antess de ayer ayer.. Si varia variass ma marc rcas as sati satisf sfac acen en esta estass restr restric icci cion ones es,, puede puede aplicarse el objetivo de un costo mínimo y escoger las más barata. Existen muchos problemas administrativos que se ajustan a este molde de trat tratar ar de mini minim miza izar o ma maxi ximi miza zarr un obj objetiv etivo o que que est está sujet ujeto o a una una lis lista de restr restric icci cion ones es.. Un co corr rred edor or de invers inversio iones nes,, por por ejemp ejemplo lo,, trat trata a de ma maxim ximiz izar ar el rend rendim imie ient nto o sobr sobre e los los fond fondos os inve invert rtid idos os pero pero las las posi posibl bles es inve invers rsio ione ness está están n restringidas por las leyes y las políticas bancarias. Un hospital debe planear que las comidas comidas para los pacientes pacientes satisfagan satisfagan ciertas restriccione restriccioness sobre sabor, propiedades propiedades nutritivas, tipo y variedad, al mismo tiempo que se trata de minimizar el costo. Un fabricante, al planear la producción futura, busca un costo mínimo al mismo tiempo cómo có mo cump cumpli lirr rest restri ricc ccio ione ness sobr sobre e la dema demand nda a del del prod produc ucto to,, la ca capa paci cida dad d de producción, los inventarios, el nivel de empleados y la tecnología. La PL se ha aplicado con éxito a estos y otros problemas. La PL es una técnica determinista, no incluye probabilidades y utiliza un modelo matemá matemátic tico o para para descri describir bir el proble problema. ma. El adjeti adjetivo vo lineal lineal signif significa ica que todas todas las funciones matemáticas del modelo deben ser funciones lineales. En este caso, la palabra programación no se refiere a programación en computadoras; en esencia es un sinónimo de planeación. Así, la PL trata la planeación de las actividades para obte obtene nerr un resu result ltad ado o ópti óptimo mo,, esto esto es, es, el resu result ltad ado o que que mejo mejorr alca alcanc nce e la meta meta especi especific ficada ada (según (según el model modelo) o) entre entre todas todas las opcio opciones nes de soluc solución ión. Aunque la
asignación de recursos a las actividades es la aplicación más frecuente, la PL tiene muchas otras posibilidades. De hecho, cualquier problema cuyo modelo matemático se ajuste al formato general del modelo de PL es un problema de PL.
1
Programación Lineal.
Supuestos de la programación lineal .
Existe un número de suposiciones realizadas en cada modelo. La utilidad de un modelo está directamente relacionada con la realidad de los supuestos. El primer supuesto supuesto tiene que ver con la forma lineal de las funciones. Ya que el objetivo es lineal, la contribución al objetivo de cualquier decisión es proporcional al valor de la variable de decisión. Producir dos veces más de producto producirá dos veces más de ganancia, contratando el doble de páginas en las revistas doblará el costo relacionado con las revistas. Es una Suposición de Proporción. Además, Además, la contribución contribución de una variable variable a la función función objetivo objetivo es independiente independiente de los valores de las otras variables. La ganancia con una computadora Notebook es de $10,750.00, independientemente de cuantas computadoras Desktop se producen. Este es un Supuesto de Adición. Análo Análoga gamen mente te,, ya que que ca cada da restr restric icci ción ón es linea lineal, l, la co cont ntrib ribuc ución ión de ca cada da variable al lado izquierdo de cada restricción es proporcional al valor de la variable e independiente de los valores de cualquier ora variable. Estas suposiciones son bastante restrictivas. Veremos, sin embargo, que ser claros y precisos en la formulación del modelo puede ayudar a manejar situaciones que parecen en un comienzo como lejanos a estos supuestos. El siguiente supuesto es la Suposición de ser Divisible . Es posible tomar una fracc fracción ión de cualq cualqui uier er varia variabl ble. e. Po Porr ejemp ejemplo lo,, en un probl problema ema de ma mark rketi eting ng,, qué qué significa comprar 2.67 avisos en la televisión?. Es posible que la suposición de ser divisible sea insatisfecha en este ejemplo. O puede ser que tales unidades de 2.67 avisos avisos corres correspon pondan dan a 2,666. 2,666.7 7 minuto minutoss de avisos avisos,, en cuyo cuyo caso caso redonde redondeand ando o la solución serían 2,667 minutos con una mínima duda que esté cercana a la solución óptima. Si la suposición de divisible no es válida, entonces se usará la técnica de Programación Lineal Entera. La última suposición es el Supuesto de Certeza. La Programación Lineal no permite incertidumbre en los valores. Será difícil que un problema cumpla con todas las suposiciones de manera exacta. Pero esto no negará la factibilidad de uso del modelo. Un modelo puede ser aún útil aunque difiera de la realidad, si se es consistente con los requerimientos más estr estric icto toss dent dentro ro del del mo mode delo lo y se tien tiene e clar claras as sus sus limit limitac acion iones es al inte interpr rpret etar ar los los resultados. Existen limitaciones prácticas para el uso de la PL. Una se relaciona con los cálc cá lculo ulos. s. En gene genera rall se nece necesi sita ta una una co comp mput utad ador ora. a. Desafo Desafort rtun unad adam amen ente te,, las las calculadoras, aun las programables, son poco útiles, puesto que la PL tiene necesidad de gran gran ca cant ntida idad d de memor memoria ia o alma almace cena nami mient ento. o. Si no se tiene tiene ac acce ceso so a una una computadora, se estará limitado a problemas muy sencillos. La otra limitación se refiere al costo de formular un problema de PL. En teoría, podría usarse PL, por ejemp ejemplo lo,, para para hace hacerr las las co comp mpra rass sema semana nales les de abar abarro rote tes. s. Sin Sin embar embargo go,, sería sería necesario conocer todas las compras posibles que pueden realizarse (éstas serían las variables), además de cada restricción como sabor, número de comidas, vitaminas y proteínas. Es obvio que el costo de obtener todos estos datos excede lo que se podría ahorrar si se hicieran las compras óptimas. Antes de emprender una aplicación de PL, debe considerarse la disponibilidad y el costo de los datos necesarios.
2
Programación Lineal.
Formulación de modelos de Programación Lineal. Aunque se ponga en duda, la parte más difícil de PL es reconocer cuándo ésta puede aplicarse y formular el problema matemáticamente. Una vez hecha esa parte, resolver el problema casi siempre es fácil. Para Pa ra form formul ular ar un prob proble lema ma en form forma a ma mate temá máti tica ca,, debe deben n expr expres esar arse se afirmaciones lógicas en términos matemáticos. Esto se realiza cuando se resuelven “problemas hablados” al estudiar un curso de álgebra. Algo muy parecido sucede aquí al formular las restricciones. Por ejemplo, considérese la siguiente afirmación: A usa 3 horas por unidad y B usa 2 horas por unidad. Si deben usarse todas las 100 horas disponibles, la restricción será: 3A + 2B = 100 Sin embargo, en la mayoría de las situaciones de negocios, no es obligatorio que se usen todos los recursos (en este caso, horas de mano de obra). Más bien la limitación es que se use, cuando mucho, lo que se tiene disponible. Para este caso, la afirmación anterior puede escribirse como una desigualdad: 3A + 2B ≤ 100 Para que sea aceptable para PL, cada restricción debe ser una suma de vari variab able less co con n expo expone nent nte e 1. Lo Loss cuad cuadra rado dos, s, las las raíc raíces es cuad cuadra rada das, s, etc. etc. no son son aceptables, ni tampoco los productos de variables. Además, la forma estándar para una restricción pone a todas las variables del lado izquierdo y sólo una constante positiva o ce cero ro del del lado lado derec derecho ho.. Esto Esto pued puede e reque requeri rirr algún algún rea reaco como modo do de los los términos. Si, por ejemplo, la restricción es que A debe ser por los menos el doble de B, esto puede escribirse como: A ≥ 2B ó A - 2B ≤ 0 Nótese que pueden moverse términos de un lado a otro de las desigualdades como si fuera un signo de igualdad. Pero al multiplicar una desigualdad por -1, el sentido de esta desigualdad se invierte. Puede ser necesario hacer esto para que los coeficientes del lado derecho sean positivos. Por ejemplo, si se quiere que A sea por lo menos tan grande como B - 2, entonces: A≥ B-2 ó A-B ≤ -2 por último B - ≥ 2 A Una nota final sobre desigualdades: es sencillo convertir una desigualdad en una ecuación. Todo lo que se tiene que hacer es agregar (o restar) una variable extra. Por ejemplo: B-A≤ 2 es lo mismo que B-A+S=2 en donde S representa representa la diferencia, diferencia, o la holgura, entre entre B - A y 2. S se llama variable de holgura. Por otro lado, se restaría una variable de superávit en el caso siguiente: A - 2B ≥ 0 es lo mismo que A - 2B -S = 0 Algunos métodos de solución (como el Método Símplex) y la mayoría de los programas de computadora (como el MathProg, que viene en el ORCourseware, que acompaña al libro “Introducción a la Investigación de Operaciones” de los autores Hill Hillie ierr y Lieb Lieber erma man) n) requ requie iere ren n que que toda todass las las desi desigu gual alda dade dess se co conv nvie iert rtan an en igualdades. La metodología de PL requiere que todas las variables sean positivas o cero, es decir, no negativas. Para la mayoría de los problemas esto es real, no se querría una soluc solució ión n que que diga diga:: prod prodúz úzca cans nse e me meno noss dos dos ca caja jass o co cont ntrá ráte tens nse e me meno noss cuat cuatro ro personas.
3
Programación Lineal.
Mientras que no existe un límite en el número de restricciones que puede tener un problema de PL, sólo puede haber un objetivo. La forma matemática del objetivo se llama función objetivo. Debe llevar consigo el maximizar o minimizar alguna medida numérica. Podría ser maximizar el rendimiento, la ganancia, la contribución marginal o los contactos con los clientes. Podría ser minimizar el costo, el número de empleados o el material de desperdicio. Con frecuencia el objetivo es evidente al observar el problema. Como el valor de la función objetivo no se conoce hasta que se resuelve el problema, se usa la letra Z para representarlo. La función objetivo tendrá, entonces, la forma: Maximizar Z = 4A + 6B ó Minimizar Z = 2x1 + 5x2 Se analiza una aplicación para ilustrar el formato de los problemas de Programación Lineal.
Ejemplo. Planeación de la fuerza de trabajo. El gerente de personal personal de “La Tortuga Veloz, S.A. de C.V.”, está analizando la necesidad de mano de obra semi calificada durante los próximos seis meses. Se lleva 1 mes adiestrar a una persona nueva. Durante este período de entrenamiento un trab trabaj ajad ador or regu regula lar, r, junt junto o co con n uno uno en adie adiest stra rami mien ento to (apr (apren endi diz) z),, prod produc ucen en el equivalente a lo que producen 1.2 trabajadores regulares. Se paga $500.00 mensuales a quien quien está está en entr entrena enami mient ento, o, mient mientra rass que que los los trab trabaj ajad ador ores es regul regular ares es gana ganan n $800.0 $800.00 0 mensua mensuales les.. La rotaci rotación ón de person personal al entre entre los trabaj trabajado adores res regulare regularess es bastante alta, del 10% mensual. El gerente de personal debe decidir cuántas personas necesita contratar cada mes para adiestramiento. En seguida se da el número de meses-hombre necesarios. También se desea tener una fuerza de trabajo regular de 110 al principio de julio. En cuanto al 1º de enero, hay 58 empleados regulares.
Mes Enero Febrero Marzo
Meses-hombre requeridos Mes 60 50 60
Abril Mayo Junio
Meses-hombre requeridos 80 70 100
Este problema tiene un aspecto dinámico, ya que la fuerza de trabajo en cualquier mes depende de la fuerza de trabajo regular y en adiestramiento del mes anterior. anterior. Para cualquier cualquier mes, el número total de meses-hombre meses-hombre disponibles disponibles se puede expresar como sigue: Meses-hombre disponibles: Ri + 0.2Ai en donde: Ri = número de trabajadores regulares al principio del mes Ai = número de aprendices contratados en el mes. Ento Entonc nces es los los requ requer erim imie ient ntos os de cada ada me mess pued pueden en expr expres esa arse rse por por las las restricciones: enero febrero marzo abril mayo
R1 + 0.2A1 ≥ R2 + 0.2A2 ≥ R3 + 0.2A3 ≥ R4 + 0.2A4 ≥ R5 + 0.2A5 ≥
4
60 50 60 80 70
Programación Lineal.
junio julio (principio)
R6 + 0.2A6 ≥ R7 ≥
100 110
Debido a la rotación, el 10% de los trabajadores regulares se van cada mes. Así, el número de trabajadores regulares disponibles, por ejemplo, al principio de febrero sería: R2 = 0.9R1 + A1 En la mism misma a forma forma,, puede pueden n escr escrib ibirs irse e las las ec ecua uaci cion ones es para para el númer número o de trabajadores disponibles al principio de cada mes: enero R1 = 58 (da (dado do)) febrero R2 = 0.9R1 + A1 marzo R3 = 0.9R2 + A2 abril R4 = 0.9R3 + A3 mayo R5 = 0.9R4 + A4 junio R6 = 0.9R5 + A5 julio R7 = 0.9R6 + A6 El objetivo global del gerente de personal es minimizar el costo. La función objetivo es: Minimizar: Z = 800(R1 + R2 + R3 + R4 + R5 + R6) + 500(A1 + A2 + A3 + A4 + A5 + A6) Ahora se tiene el problema en el formato general de PL con 13 variables y 14 restricciones. Los tomadores de decisiones en las empresas establecen criterios que debe cumplir una solución y, después, buscan esa solución. En PL, los criterios se expresan como restricciones. Se exploran las soluciones posibles y se usa la función objetivo para para ele elegir gir la me mejo jorr de entre entre aque aquella llass que que cump cumplen len co con n los los crit criter erios ios.. La PL se denomina técnica de optimización, pero optimiza sólo dentro de los límites de las restricciones. En realidad es un método de satisfacción de criterios.
Forma estándar de los modelos de Programación Lineal. Supóngase Supóngase que existe cualquier número (digamos (digamos m) de recursos limitados de cual cualqu quie ierr tipo tipo,, que que se puede pueden n asig asigna narr entr entre e cualq cualqui uier er númer número o (diga (digamo moss n) de actividades competitivas de cualquier clase. Etiquétense los recursos con números (1, 2, ..., m) al igual que las actividades (1, 2, ..., n). Sea x j (una variable de decisión) el nivel de la actividad j, para j = 1, 2, ..., n, y sea Z la medida de efectividad global seleccionada. Sea c j el incremento que resulta en Z por cada incremento unitario en x j (para j = 1, 2, ..., n). Ahora sea b i la cantidad disponible del recurso i (para i = 1, 2, ..., m). Por último defínase a ij como la cantidad de recurso i que consume cada unidad de la actividad j (para i = 1, 2, ..., m y j = 1, 2, ..., n). Se puede formular el modelo matemático para el problema general de asignar recursos a actividades. En particular, este modelo consiste en elegir valores de x 1, x2, ..., x n para: Maximizar Z = c1x1 + c2x2 + ... + c nxn, sujeto a las restricciones: a11x1 + a12x2 + ... + a 1nxn ≤ b1 a21x1 + a22x2 + ... + a 2nxn ≤ b2 am1x1 + am2x2 + ... + a mnxn ≤ bm x1 ≥ 0, x2 ≥ 0, ..., xn ≥ 0
5
y
Programación Lineal.
Ésta Ésta se lla llama mará rá nuestra forma (porqu que e algu alguno noss libr libros os de text texto o forma estándar estándar (por adoptan otras formas) para el problema de PL. Cualquier situación cuya formulación matemática se ajuste a este modelo es un problema de PL. En este momento se puede resumir la terminología que usaremos para los modelos de PL. La función que se desea maximizar, c1x1 + c2x2 + ... + c nxn, se llama Porr lo gene genera ral, l, se hace hace refe refere renc ncia ia a las las limit imitac acio ione ness com omo o función función objetivo objetivo. Po restricciones. Las primeras m restricciones (aquellas con una función del tipo a i1x1 + ai2x2 + ... + a inxn, que representa el consumo total del recurso i) reciben el nombre de restricciones funcionales. De manera parecida, las restricciones x j ≥ 0 se llaman restricciones de no negatividad. Las variables x j son las variables de decisión. Las constantes de entrada, aij, bi, c j, reciben el nombre de parámetros parámetros del modelo .
Otras formas de modelos de Programación Lineal. Es conveniente agregar que el modelo anterior no se ajusta a la forma natural de algunos problemas de programación lineal. Las otras formas legítimas son las siguientes: 1. Minimizar en lugar de maximizar la función objetivo: Minimizar Z = c1x1 + c2x2 + ... + c nxn, igual:
2. Algunas restricciones funcionales con desigualdad en el sentido mayor o ai1x1 + ai2x2 + ... + ainxn, ≥ bi, para algunos valores de i, 3. Algunas restricciones funcionales en forma de ecuación: ai1x1 + ai2x2 + ... + ainxn, = bi, para algunos valores de i, 4. Las variables de decisión sin la restricción de no negatividad: x j no restringida en signo para algunos valores de j.
Cualquier problema que incluya una, varias o todas estas formas del modelo anterior también se clasifica como un problema de PL, siempre y cuando éstas sean las únicas formas nuevas introducidas. Puede ser que la interpretación que se ha dado de asignación de recursos limitados entre actividades que compiten no se aplique, pero independientement independientemente e de la interpretac interpretación ión o el contexto, lo único que se necesita necesita es que la formulación formulación matemática matemática del problema problema se ajuste ajuste a las formas permitidas. permitidas. Se verá verá que que esta estass otra otrass cuat cuatro ro forma formass lega legales les se puede pueden n rees reescr crib ibir ir en una una forma forma equivalente para que se ajuste al modelo que se presentó. Entonces, todo problema de PL se puede poner en nuestra forma estándar si se desea.
Solución Gráfica de Modelos Lineales con dos Variables. Para la solución gráfica de programas lineales con dos variables, lo que se tiene que que hace hacerr es traz trazar ar un eje eje de co coo orden rdenad adas as ca cart rtes esia iana nass, para para gra grafica ficarr las las desigu desiguald aldade adess dadas dadas por el problem problema, a, después después encontrar encontrar el Área de Soluci Soluciones ones Fact Factib ibles les y proc procede ederr a graf grafic icar ar la func funció ión n objet objetivo ivo para para co cono noce cerr el valo valorr ópti óptimo mo (maximizar o minimizar) que será la solución del problema.
Ejemplo: Problema de mezcla de productos. Un fabricante está tratando de decidir sobre las cantidades de producción para dos artículos: mesas y sillas. Se cuenta con 96 unidades de material y con 72 horas de 6
Programación Lineal.
mano de obra. Cada mesa requiere 12 unidades de material y 6 horas de mano de obra. Por otra parte, las sillas usan 8 unidades de material cada una y requieren 12 horas de mano de obra por silla. El margen de contribución es el mismo para las mesas que para las sillas: $5.00 por unidad. El fabricante prometió construir por lo menos dos mesas.
Paso 1: formulación del problema. El prim primer er pas paso para para reso resolv lver er el prob proble lema ma es expr expres esa arlo rlo en térm términ inos os matemáticos en el formato general de PL. ¿Cuál es el objetivo? Es maximizar la contribució contribución n a la ganancia. Cada unidad de mesas o sillas producidas producidas contribuirá contribuirá con $5 en la ganancia. Así las dos alternativas son la producción de mesas y la producción de sillas. Ahora puede escribirse la función objetivo: Maximizar Z = 5x1 + 5x2 en donde: x1 = número de mesas producidas x2 = número de sillas producidas ¿Cuá ¿Cuále less son son las las rest restri ricc ccio ione ness o limi limita taci cion ones es del del prob proble lema ma?? Exis Existe ten n tres tres restricciones. Primero, el material está limitado a 96 unidades. Cada mesa se lleva 12 unidades de material y cada silla usa 8 unidades. La primera restricción es, entonces: 12x1 + 8x2 ≤ 96 La segunda restricción es el total de horas de mano de obra. Una mesa se lleva 6 horas, una silla 12 horas y se dispone de un total de 72 horas. Así: 6x1 + 12x2 ≤ 72 Existe una limitación más. El fabricante prometió producir por lo menos dos mesas. Esto puede expresarse como: x1 ≥ 2 Por último, las restricciones de no negatividad son: x1 ³ 0, x2 ≥ 0 Poniendo todo junto el modelo se tiene: Maximizar Z = 5x1 + 5x2 12x1 + 8x2 ≤ 96 6x1 + 12x2 ≤ 72 x1 2 ≥ x1 ≥ 0, x2 ≥ 0
Restricciones:
Paso 2: gráfica de las restricciones. El siguiente paso en el método gráfico es dibujar todas las restricciones en una gráfica. Esto puede hacerse en cualquier orden. Por conveniencia se comenzará con las restricciones de no negatividad. Éstas se muestran en la siguiente figura: x2 Región Factible
x1 < 0
x1 x1 < 0 x2 < 0
x2 < 0
7
Programación Lineal.
En esta gráfica, una solución se representaría por un punto con coordenadas x 1 (mesas) y x2 (sillas). (sillas). Las coordenadas coordenadas representarían representarían las cantidades cantidades de cada artículo que se deben producir. El cuadrante superior derecho se llama Región Factible puesto que que es el únic único o cuad cuadra rant nte e en que que pued pueden en esta estarr las las solu soluci cion ones es.. Lo Loss otro otross tres tres cuadrantes no son factibles, ya que requerirían la producción de cantidades negativas de mesas o de sillas o de ambas. La siguien siguiente te restric restricció ción n es x1 ≥ 2. La manera más sencilla de dibujar las restricciones de recursos es en dos pasos: (1) convertir una desigualdad en una ecuación y graficar la ecuación y (2) sombrear el área apropiada arriba y abajo de la línea que resulta en el paso 1. Convertir una igualdad en una ecuación aquí significa ignorar la parte de “mayor que” o “menor que” de la restricción. Así, en el ejemplo, x1 la siguiente figura:
≥
2 se convierte en x 1 = 2. Esta ecuación está trazada en
X2
X1 = 2
12
X1 = 2
10 8
Región Factible
6
X <2
41 2
Cualquier punto en la línea x 1 = 2 sati satisf sfac ace e la ec ecua uaci ción ón.. Sin Sin em emba barg rgo, o, la X 0 2cualquier 4 6 8punto 10 12x 1 1 > 2 también la cumplirá. Esto restricción es más amplia, ya que incluye todos los puntos que están a la derecha de la línea x1 = 2. Entonces, la región factible incluye todos los valores de x1 que están sobre o a la derecha de la línea x1 = 2. La limitación sobre las horas de mano de obra es la siguiente restricción. Como antes, primero se convierte en una ecuación: 6x1 + 12x2 = 72. Puede graficarse esta línea si se encuentran dos puntos sobre ella. El par de puntos más sencillos de localizar son las intersecciones con los ejes X 1 y X 2. Para encontrar la intersección con el eje X2 se hace x1 = 0. La ecuación se reduce, entonces, a: 12x2 = 72 x2 = 6 La intersección con el eje X 1 se encuentra haciendo x2 = 0. Así: 6x1 = 72 x1 = 12 Estos dos puntos y la línea que los une se muestran en la siguiente figura: X2
12 10 8 6 (0,6)
6x1 + 12x2 = 72
4 Región Factible
2 0
2
4
(12,0)
6
8
8
10 12 X1
Programación Lineal.
Cualquier punto que está sobre o abajo de esta línea cumplirá con la restricción. Cualquier Cualquier punto arriba de esta línea requerirá más de 72 horas de mano de obra y no es aceptable. En la siguiente figura se combina esta restricción con la anterior. En la región factible, ambas restricciones se cumplen.
La última restricción es la de material. Siguiendo el procedimiento anterior, primero se encuentran las intersecciones para la igualdad. Éstas son x 1 = 0, x2 = 12 y x1 = 8, x2 =0. Se localizan los dos puntos en la gráfica; se traza la línea, y como la restricción es del tipo menor o igual que, se sombrea el área que está abajo de la línea. El resultado se muestra en la siguiente figura:
Cualq Cualquie uierr solu soluci ción ón que que esté esté en la front fronter era a o dent dentro ro del del área área somb sombrea reada da cump cumplir lirá á co con n toda todass las restr restric icci cion ones es.. Ahor Ahora a se util utiliza izará rá la func funció ión n objet objetivo ivo para para seleccionar la solución óptima.
Paso 3: obtención de la solución óptima: líneas de indiferencia. indiferencia. Para encontrar la solución óptima, se grafica la función objetivo en la misma gráfica de las restricciones. La función objetivo en este problema es Z = 5x 1 + 5x2. Como todavía no se conoce el máximo valor factible de Z, no puede trazarse el óptimo de la función objetivo. No obstante, es posible suponer algunos valores para Z y graficar las líneas resultantes. En la siguiente figura se muestran las líneas para Z = 25 yZ = 50:
9
Programación Lineal.
Las líneas de este tipo se llaman líneas de indiferencia, porque cualquier punto sobre obre una una línea ínea dada dada da la mis misma gana gananc ncia ia tot total. al. Nótes ótese e que la dis distanc tancia ia perpendicular del origen a la línea aumenta al aumentar el valor de Z. También, todas las líneas de indiferencia son paralelas entre sí. Estas propiedades gráficas pueden usarse para resolver el problema. En la siguiente figura, se ilustran todas las restricciones y las dos líneas de indiferencia supuestas. En la gráfica puede observarse que la línea de indiferencia para Z = 50 está completamente fuera de la región factible. Para Z = 25, parte de la línea cae dentro de la región factible. Por tanto, existe alguna combinación combinación de x1 y x 2 que satisface todas las restricciones y da una ganancia total de $25. Por inspección, puede observarse que hay ganancias más altas que son factibles.
Imaginando Imaginando que la línea de indiferencia indiferencia Z = 25 se mueve hacia la línea Z = 50, de las propiedades de la gráfica que se hicieron notar antes, el punto óptimo estará sobre la línea de indiferencia más lejana al origen pero que todavía toque la región factible. Esto se muestra en la siguiente figura:
10
Programación Lineal.
Con el punto óptimo localizado gráficamente, la única tarea que queda es enco encont ntra rarr las las co coor orde dena nada dass del del punt punto. o. Nó Nóte tese se que que el punt punto o ópti óptimo mo está está en la intersección de las líneas de restricción para materiales y horas de mano de obra. Las coordenadas de este punto se pueden encontrar resolviendo el sistema de ecuaciones que forman estas dos restricciones utilizando cualquiera de los métodos de solución (suma y resta, sustitución o igualación). Las coordenadas de este punto resultan ser (6, 3). La sustitución de este punto en la función objetivo da la ganancia máxima: Z = 5(6) + 5(3) = $45
Resumen del método gráfico. Para resolver gráficamente problemas de programación lineal: 1. Expré xpréssens ense los los dat datos del pro problem blema a co como mo una func funció ión n obje objeti tivo vo y restricciones. 2. Grafíquese cada restricción. 3. Localícese la solución óptima.
Uso del método gráfico para minimización. Consideremos un Problema de PL en el cual el objetivo es minimizar costos. La soluc solució ión n del del prob problem lema a de mini minimiz mizac ació ión n sigu sigue e el mism mismo o proc procedi edimie mient nto o que que la de problemas de maximización. La única diferencia es que ahora se quiere el menor valor posible para la función objetivo. Supóngase que se tiene el siguiente problema:
Ejemplo: Problema de dieta. Un comprador está tratando de seleccionar la combinación más barata de dos alime aliment ntos os,, que que debe debe cump cumplir lir co con n cier cierta tass nece necesi sida dade dess diar diaria iass de vita vitamin minas as.. Lo Loss requerimientos vitamínicos son por lo menos 40 unidades de vitamina W, 50 unidades de vitamina X y 49 unidades de vitamina Y. Cada onza del alimento A proporciona 4 unidades de vitamina W, 10 unidades de vitamina X y 7 unidades de vitamina Y; cada onza del alimento B proporciona 10 unidades de W, 5 unidades de X y 7 unidades de Y. El alimento A cuesta 5 pesos/kilogramo y el alimento B cuesta 8 pesos/kilogramo.
Paso 1: formulación del problema. La me meta ta en este este prob proble lema ma es enco encont ntra rarr la ma mane nera ra me meno noss co cost stos osa a para para satisf satisface acerr las necesi necesidad dades es vitamí vitamínic nicas. as. Las dos alterna alternativ tivas as dispon disponible ibless son los alimentos A y B. Matemáticamente la función objetivo es: Minimizar Z = 5A + 8B Las restricciones son los requerimientos mínimos de las tres vitaminas. Éstas se muestran enseguida:
11
Programación Lineal.
4A
+ 10B 10A + 5B 7A + 7B A ≥ 0, B ≥ 0
≥ ≥ ≥
40
vitamina W
50 49
vitamina X vitamina Y no negatividad
Restricciones:
Paso 2: gráfica de las restricciones. El procedimiento para graficar es el mismo que se usó antes: (1) graficar cada ecuación de restricción; (2) graficar el área apropiada. Para la primera restricción la ecuación es 4A + 10B = 40. Las dos intersecciones con los ejes son (0,4) y (10,0). Esta línea se muestra en la siguiente figura: B
12 10 8 6 4A + 10B = 40
(0,4)
4 2
(10,0)
0
2
4
6
8
10
12
A
La restricción pide 40 unidades o más de la vitamina W. Cualquier punto que esté arriba de la línea de restricción será factible y todos los puntos que quedan abajo de esa línea serán aceptables. En la siguiente figura se muestra la región factible: B
12 10
Región Factible
8 6 4 2 0
2
4
6
8
10
12
A
Después se grafica la restricción para la vitamina X. La ecuación 10A + 5B = 50 tiene intersecciones con los ejes en (0,10) y (5,0). En la siguiente figura se ilustran las restricciones para las vitaminas W y X. Nótese que las soluciones que quedan en las áreas a o b no son factibles, ya que quedarían abajo de las líneas de restricción. B
12 10
Región Factible
8 6 b
4 2
a 0
2
4
6
8
10 12
A
Al agregar la tercera restricción restricción,, este segundo paso queda terminado, como se muestra en la siguiente figura:
12
Programación Lineal.
B
12 10 d
Región Factible
8
10A + 5B = 50
6
7A + 7B = 49
c
4
4A + 10B = 40
b
2
a 0
2
4
6
8
10
A
12
Paso 3: localización de la solución óptima. En la siguiente figura se muestra la frontera extrema más dos líneas de indiferencia, las de Z = 40 pesos y Z = 60 pesos. La frontera extrema extrema está formada por los puntos a, b, c y d, puesto que éstos son los puntos puntos de intersección intersección factibles factibles más cercanos al origen. B
12 10 d 8 Z= 8A + 8B = 60
6 Z = 8A + 5B = 40
c
4
b
2
a 0
2
4
6
8
10
12
A
Gráficamente, el objetivo de minimizar el valor de Z significa ajustar una línea de indiferencia tan cerca del origen como sea posible. En la figura anterior puede observarse que existen muchas soluciones posibles para Z = 60, pero ninguna para Z = 40. Imaginando mover la línea Z = 60 hacia el origen, el último punto de contacto con la frontera extrema será el punto b. Entonces, el punto b es la solución óptima. En la figura anterior se observa que el punto b es la intersección de dos líneas: (1) 4A + 10B = 40 (2) 7A + 7B = 49 Resolviendo el sistema de ecuaciones: Multiplíquese la ecuación (1) por 7: (3) 28A + 70B = 280 Multiplíques Multiplíquese e la ecuación ecuación (2) por – 4: (4) –28A – 28B = –196 42B = 84 B = 2 Sustitúyase en la ecuación (1): 4A + 10(2) = 40 A= 5 La solución menos costosa es 5 kilogramos de alimento A y 2 kilogramos de alimento B. El costo total de esta combinación es: Z = 5A + 8B = 5(5) + 8(2) = 25 + 16 = 41 pesos Si se usa el método de prueba y error para localizar la solución óptima, se deben encontrar las coordenadas de los puntos a, b, c, y d. Se debe calcular después el valor de la función objetivo para cada punto. A continuación se muestran los resultados de este procedimiento:
13
Programación Lineal.
Resultados de prueba y error Punto Coordenadas Z = 5A + 8B a A = 10, B = 0 50 b A = 5, B = 2 41 ¾ menor c A =3, B = 4 47 d A = 0, B = 10 80
CASOS ESPECIALES. Múltiples soluciones. Maximizar sujeta a
Z =
3x1 x1
+
2x2 ≤
x2 2x2
≤
3x1 + x1 ≥ 0, x2 ≥ 0
Ninguna solución factible. Maximiza r sujeta a
Z =
3x1
+
≤
4 12 18
2x2
1/40x1 + 1/60x2 1/50x1 + 1/50x2 x1 x2 x1 ≥ 0, x2 ≥ 0
≤ ≤ ≥ ≥
Área o Región de Soluciones Factibles no Acotada. Maximizar Z = 2x1 – x2 sujeta a x1 – x2 2x1 + x2 x1 ≥ 0, x2 ≥ 0
≤ ≥
1 1 30 20
1 6
Método Símplex El método símplex es un algoritmo. De hecho hecho,, cualq cualqui uier er procedimiento iterativo iterativo de solución solución es un algoritmo. Entonces, un algoritmo es simplemente un proceso en el que se repite (se itera) un procedimiento sistemático una y otra vez hasta obtener el resultado deseado. Cada vez que se lleva a cabo el procedimiento sistem sistemáti ático co se rea realiza liza una iteración. En consec consecuen uencia cia,, un algorit algoritmo mo sustit sustituye uye un problema difícil por una serie de problemas fáciles. Además de las iteraciones, iteraciones, los algoritmos algoritmos incluyen un procedimiento procedimiento para iniciar y un criterio para determinar cuándo detenerse, como se resume enseguida: Paso Paso inic inicia iall Prep Prepar arac ació ión n para para inic inicia iar r iteraciones
Paso iterativo Regla de detención Si no
Realización de iteraciones Si sí
¿Es óptima la solución actual? Fin 14
Programación Lineal.
El método simplex es un procedimiento algebraico en el que cada iteración contiene la solución de un sistema de ecuaciones para obtener una nueva solución a la que que se le apli aplica ca la prue prueba ba de opti optima mali lida dad. d. No obst obstan ante te,, tamb tambié ién n tien tiene e una una interpretación geométrica muy útil. Para ilustrar los conceptos geométricos generales se empleará la solución gráfica del siguiente problema: Max Z = 3x + 5x2 1
s.a.
x1
≤
2x2 3x + 2x2
≤ ≤
4 12 18
1
x1 ≥ 0, x2 ≥ 0
Solución por el método gráfico: X
(0,9)
1
=0
3 X 1 + 2 X 2 = 18 X = 4 1 (2,6)
(0,6)
(4,6)
2 X 2 = 12
(4,3)
X
2
(0,0)
(4,0)
=0
(6,0)
En la figura anterior pueden observarse los puntos de intersección que son las soluciones en los vértices del problema. Los cinco puntos que se encuentran en los vértices de la región factible, — (0,0), (0,6), (2,6), (4,3), (4,0) — son las soluciones factibles en los vértices . Algunas de estas soluciones factibles en un vértice son adyacentes , en el sentido de que están conectadas por una sola orilla (segmento de línea línea)) de la front fronter era a de la regió región n facti factible ble;; esto esto es, es, tant tanto o (0,6 (0,6)) co como mo (4,3 (4,3)) son son adyacentes a (2,6). Las tres propiedades clave de las soluciones factibles en los vértices y que forman el fundamento del método símplex se resumen como sigue:
Propiedades de las soluciones factibles en un vértice: 1a. Si existe exactamente una solución óptima, entonces debe ser una solución factible en un vértice. 1b. Si existen soluciones óptimas múltiples, entonces al menos dos de ellas deben ser soluciones factibles en vértices adyacentes. Exis Existe te sólo sólo un númer número o finit finito o de soluc solucion iones es fact factibl ibles es en los los vért vértic ices es 2. adyacentes. 3. Si una solución en un vértice es igual o menor (según el valor de Z) que todas las soluciones factibles en los vértices adyacentes a ella, entonces es igual o mejor que todas las demás soluciones en los vértices; es decir, es óptima. La propiedad 1 significa que la búsqueda de la solución óptima se puede reducir a la consideración de sólo las soluciones factibles en los vértices, de manera que sólo 15
Programación Lineal.
existe un número finito de soluciones que es necesario tomar en cuenta (propiedad 2). La propiedad 3 proporciona una prueba de optimalidad muy conveniente. El método símplex explota estas tres propiedades al examinar nada más unas cuantas soluciones factibles en vértices prometedores y al detenerse en cuanto una de ellas pasa la prueba de optimalidad. En particular, se traslada repetidamente (en forma iterativa) de una solución factible en un vértice a otra, adyacente y mejor. Esto se puede realizar en forma muy eficiente hasta que la solución actual no tiene soluciones soluciones factibles en vértices vértices adyacentes adyacentes que sean mejores. Este procedimiento procedimiento se resume como sigue:
Bosquejo del método símplex: 1. Paso inicial: inicio en una solución factible en un vértice. trasla lado do a una una me mejo jorr solu soluci ción ón fact factib ible le en un vért vértic ice e 2. Paso Paso iterativ iterativo: o: tras adyacente. (Repítase este paso las veces que sea necesario). 3. Prueba de optimalidad: la solución factible en un vértice es óptima cuando ninguna de las soluciones en vértices adyacentes a ella sean mejores. Este bosquejo muestra la esencia del método símplex. En el caso del ejemplo, al utilizar estas reglas de selección el método símplex procede como sigue: 1. Paso inicial: comienza en (0,0). 2a. Iteración 1: se mueve de (0,0) a (0,6) 2b. Iteración 2: se mueve de (0,6) a (2,6). 3. Prueba de optimalidad: ni (0,6) ni (4,3) son mejores que (2,6), entonces se detiene, (2,6) es óptima.
Preparación para el método símplex. En el procedimiento algebraico es mucho más conveniente manejar ecuaciones que desigualdades. Así, el primer paso para preparar el método símplex es convertir restricciones ones funciona funcionales les de desiguald desigualdad ad en restricciones equivalentes. (Las las restricci (Las restri restricci cciones ones de no negati negativida vidad d se pueden pueden dejar dejar como como desigua desigualda ldades des porque porque el algo algori ritm tmo o las las usa usa sólo sólo indi indire rect ctam amen ente te). ). Esta Esta co conv nver ersi sión ón se hace hace me medi dian ante te la introducción de variables de holgura. Considérese la primera restricción funcional del ejemplo: x1 ≤ 4 La variable de holgura para esta restricción es x3, que no es otra cosa que la holgura entre los dos lados de la desigualdad. Entonces: x1 + x3 = 4 La restricción original x1 ≤ 4 se cumple siempre que x3 ≥ 0. Por tanto, x 1 ≤ 4 es totalmente equivalente al conjunto de restricciones x1 + x3 = 4 y x3 ≥ 0, de manera que se usará este conjunto por resultar más conveniente. Al introducir variables de holgura en las otras restricciones en forma parecida, el modelo de programación lineal original para este ejemplo se puede sustituir por el modelo equivalente: Maximizar Z = 3x1 + 5x2, sujeta a x1 + x3 = 4
16
Programación Lineal.
2x2 3x1 + 2x2 x j≥ 0
+ x4
= 12 + x5 = 18 para j = 1, 2, …, 5
Aun cuando este problema es idéntico al anterior, esta forma es mucho más conveni convenient ente e para para la manipu manipulac lación ión algebra algebraica ica y la identi identific ficaci ación ón de las soluc solucione ioness factibles en los vértices. Ésta se llama la forma de igualdades del problema, para diferenciarla de la forma de desigualdades original y poder introducir la siguiente definición: Una solución aumentada es una solución para un problema que originalmente se encontraba en forma de desigualdades y que se ha aumentado con los valores correspondientes de las variables de holgura para cambiar el problema a la forma de igualdades. Por ejemplo, al aumentar aumentar la solución solución (3,2) en el ejemplo, se obtiene obtiene la solución solución aumentada (3,2,1,8,5), puesto que los valores correspondientes de las variables de holgura son x3 = 1, x4 = 8, x5 = 5. Una solución básica es una solución en un vértice aumentada. Para ilustrar esto, considérese la solución no factible en el vértice (4,6) del ejemplo. Al aumentar con los valores obtenidos para las variables de holgura x 3 = 0, x4 = 0 y x5 = –6, se llega a la solución básica correspondiente (4,6,0,0,–6). Se permite que las soluciones básicas sean factibles o no factibles, lo que lleva a la siguiente definición: Una soluc olució ión n fact factib ible le en un vért vértic ice e solución ión básica básica factib factible le es una soluc aumentada. Así, la solución factible en el vértice (0,6) del ejemplo es equivalente a la solución básica factible (0,6,4,0,6) para la forma de igualdades del problema. Como los términos términos solución básica y solución básica factible constituyen partes muy importantes del vocabulario normal de programación lineal, es necesario aclarar sus propiedades algebraicas. Nótese que para la forma de igualdades del ejemplo, el sistema de restricciones funcionales tiene dos variables más (cinco) que ecuaciones (tres). Este hecho proporciona dos grados de libertad al resolver el sistema, ya que se pueden elegir dos variables cualesquiera y hacerlas iguales a cualquier valor arbitrario para resolver las tres ecuaciones en términos de las tres variables restantes (se excluyen redundancias). El método símplex usa cero para este valor arbitrario. Las variables que por el momento se hacen iguales a cero se llaman variables variables no básicas ; todas las demás se llaman variables básicas . La solución que resulta es una solución básica. Si todas las variables básicas son no negativas, entonces se tiene una solución básica factible. Para cualquier solución básica, la solución en el vértice corres correspon pondien diente te se obtien obtiene e simple simplemen mente te al quitar quitar las variab variables les de holgur holgura. a. Dos soluci soluciones ones básica básicass son adyace adyacente ntess si todas todas menos menos una de sus variables son las misma mismas; s; la misma misma asev asevera eraci ción ón se cump cumple le para para las varia variabl bles es bási básica cas. s. Ento Entonc nces es,, trasla trasladars darse e de una soluci solución ón básica básica factib factible le a una adyace adyacente nte signifi significa ca cambiar cambiar el estado de una variable de no básica a básica y viceversa para otra variable. En términos generales, el número de variables variables no básicas básicas de una solución básica siempre es igual a los grados grados de libertad libertad del sistema de ecuaciones y el número de variables básicas siempre es igual al número de restricciones funcionales. 17
Programación Lineal.
Al trabajar con el problema en forma de igualdades, conviene tomar en cuenta y mani ma nipu pula larr la ec ecua uaci ción ón de la func funció ión n objet objetivo ivo al mism mismo o tiem tiempo po que que las las nueva nuevass ecua ec uaci cion ones es de las las restr restric icci cion ones es.. Ante Antess de co comen menza zarr co con n el métod método o símp símplex lex es necesario escribir el problema una vez más en su forma equivalente: Maximizar Z, sujeta a Z - 3x1 - 5x2 = 0 x1 + x3 = 4 2x2 + x4 = 12 3x1 + 2x2 + x5 = 18 x j≥ 0 para j = 1, 2, …, 5 Como la ecuación ecuación de la función objetivo ya se encuentra encuentra en forma de igualdad, no necesita variable de holgura. Con esta interpretación, las soluciones básicas no cambian, excepto que Z puede verse como una variable básica adicional permanente. A partir de este momento ya estamos listos para pasar los coeficientes de nuestro problema a lo que conoceremos como la Tabla Símplex :
Variabl e Básica Z x3 x4 x5
Z
x1
x2
x3
x4
x5
Lado derecho
1 0 0 0
–3 –3 1 0 3
–5 0 2 2
0 1 0 0
0 0 1 0
0 0 0 1
0 4 12 18
Cociente
¿Es óptima? (0, 0, 4, 12, 18) Z=0
La tabla anterior ilustra una propiedad clave que toda tabla símplex debe tener para estar en la forma apropiada; se trata del patrón especial de los coeficientes de las variables básicas. En particular, nótese cómo las columnas de x 3, x4 y x5 (al igual que la columna de Z) contiene exactamente un +1 en el renglón que corresponde a esa variable básica (véase la primera columna), y todos los demás coeficientes en esa columna son cero. De la misma manera, cada ecuación contiene exactamente una variable básica con coeficiente distinto de cero, en donde este coeficiente es +1. Esta propiedad es significativa, ya que permite identificar de inmediato la solución básica factible actual a partir de la tabla; esto es, cada variable básica es igual a la constante del lado derecho de su ecuación. Esta primera solución básica factible actual se muestra en la figura anterior en la columna de ¿Es óptima?. De aquí en adelante, para cada nueva iteración del método símplex mostraremos la solución básica factible actual en esta columna de la tabla símplex. (Recuérdese que las variables no básicas son iguales a cero). La tabla símplex inicial quedará automáticamente en esta forma apropiada (a menos que el problema original de programación lineal no esté en ). nuestra forma estándar ). El método método símplex símplex construye construye una tabla tabla símplex símplex para para cada cada soluci solución ón básica básica factible que se obtiene, hasta alcanzar la solución óptima. A continuación describimos el procedimiento para problemas que ya están en la forma estándar , con b i > 0 para para toda i = 1, 2, …, m.
PASO INICIAL. Se introducen variables de holgura. Después se seleccionan las variables originales como variable variables s no básicas básicas iniciales iniciales (se igualan a cero) y las variables de holgura como las variables básicas originales. Esta selección lleva a la forma apropiada apropiada, de tabla tabla símp símplex lex inic inicia iall ante anterio rior. r. Co Como mo esta esta tabla tabla está está en la forma 18
Programación Lineal.
inmediato se obtiene la solución básica factible inicial para el ejemplo, (0,0,4,12,18). Ahora debe realizarse la prueba de optimalidad para determinar si la solución es optima.
PRUEBA DE OPTIMALIDAD . La solución básica factible actual es óptima si y sólo si todos los coeficientes de la ecuación de la función objetivo (renglón de Z) son no negativos ( ³ 0 ). Si es así, el proceso termina; de otra manera, se lleva a cabo otra iteración para obtener la nueva solución básica factible, lo que significa el cambio de una variable no básica por una básica (parte 1) y viceversa (parte 2), y después despejar las variables de la nueva solución (parte 3). En este ejemplo, hay dos coeficientes negativos negativos en la ecuación ecuación de Z, -3 para x1 y -5 para x2 de manera que debe irse al paso iterativo. Tacharemos la solución básica factible actual como se muestra en la tabla anterior para indicar que esta solución no es óptima.
PASO ITERATIVO. Parte 1. Se determina la variable básica entrante mediante la elección de la variable con el coeficiente negativo (automáticamente se refiere a una variable no básica) que tiene el mayor valor absoluto en la ecuación de Z. Se enmarca la columna corres correspon pondien diente te a este este coe coefici ficient ente; e; esta esta column columna a recibe recibe el nombre nombre de columna pivote. En el ejemplo, el coeficiente negativo más grande (en términos de valor absoluto) es –5 para x 2 (5>3), por lo que x2 debe convertirse en variable básica. Este cambio se indica en la siguiente tabla con el recuadro en la columna de x 2 abajo del – 5: Variabl e Básica Z x3 x4 x5
Z
x1
x2
x3
x4
x5
Lado derecho
1 0 0 0
–3 –3 1 0 3
–5 0 2 2
0 1 0 0
0 0 1 0
0 0 0 1
0 4 12 18
Cociente
¿Es óptima?
12/2 = 6 18/2 = 9
mínimo
Parte 2. Se determina la variable básica que sale; para esto, a) se toma cada
coeficiente estrictamente positivo (>0) de la columna enmarcada, b) se divide el lado derecho de cada renglón entre estos coeficientes, c) se identifica la ecuación con el menor coeficiente y d) se selecciona la variable básica para esta ecuación. (Esta variable básica es la que llega a cero primero cuando se incrementa la variable básica entrante). Se enmarca el renglón de esta ecuación en la tabla símplex sin incluir la columna Z y se le da el nombre de renglón pivote. El número que está en la intersección de los dos recuadros se llama pivote. En la tabla anterior, se muestran los resultados de las partes 1 y 2 para el ejemplo ejemplo (antes (antes de enmarca enmarcarr el renglón renglón); ); la prueba prueba del cociente cociente mínimo para determinar la variable básica que sale se muestra a la derecha de la tabla. Entonces la variable básica que sale es x 4. Parte 3. Se determina la nueva solución básica factible al construir una nueva tabla símplex en la forma apropiada, abajo de la que se tiene. Las primeras dos
columnas no cambian, excepto que la variable básica entrante sustituye a la variable básica que sale en la columna de Variable Básica. Para cambiar el coeficiente de la nueva variable básica en el renglón pivote a +1, se divide todo el renglón pivote entre el número pivote: 19
Programación Lineal.
Renglón pivote nuevo = Renglón pivote antiguo / pivote En este punto, la tabla símplex para el ejemplo se ve como la que se muestra enseguida. Para obtener un coeficiente 0 para la nueva variable básica en las otras ecuaciones, cada renglón [inclusive el de la ecuación de Z] excepto el renglón pivote, se cambia por la nueva tabla símplex usando la siguiente fórmula: Renglón nuevo = renglón antiguo - (coeficiente en la columna pivote x renglón pivote nuevo) en donde el coeficiente en la columna pivote es el número en la columna pivote correspondiente a este renglón.
Variabl e Básica Z x3 x4 x5 Z x3 x2 x5
Z
x1
x2
x3
x4
x5
Lado derecho
1 0 0 0 1 0 0 0
–3 –3 1 0 3
–5 0 2 2
0 1 0 0
0 0 1 0
0 0 0 1
0 4 12 18
0
1
0
1/ 1/2
0
6
Cociente
¿Es óptima? (0, 0, 4, 12, 18) Z=0
Para ilustrar con el ejemplo, los nuevos renglones se obtienen de la forma siguiente: Renglón de Z:
[-3 -5 0 0 0 0] -(-5) [ 0 1 0 1/2 0 6] Renglón nuevo [-3 0 0 5/2 0 30 = ] Renglón 1: Sin cambio porque su coeficiente en la columna pivote es cero.
Renglón 3:
[3
Estos cambios llevan a la nueva tabla símplex que se iteración 1:
Variabl e Básica Z x3 x4 x5 Z x3 x2 x5
2
0
0
1
-(2) [0 1 Renglón nuevo [3 0 = muestra en la
0 0
1/2 -1
0 1
Z
x1
x2
x3
x4
x5
Lado derecho
1 0 0 0 1 0 0 0
–3 –3 1 0 3 –3 1 0 3
–5 0 2 2 0 0 1 0
0 1 0 0 0 1 0 0
0 0 1 0 5/2 0 1/ 1/2 –1 –1
0 0 0 1 0 0 0 1
0 4 12 18 30 4 6 6
20
siguiente
Cociente
18 ] 6] 6] tabla
para
¿Es óptima? (0, 0, 4, 12, 18) Z=0 (0, 6, 4, 0, 6) Z = 30
la
Programación Lineal.
Como las variables básicas siempre son iguales al lado derecho de la ecuación que le corresponde, la nueva solución básica factible es (0, 6, 4, 0, 6) con Z = 30. Este trabajo completa el paso iterativo, así que debe proseguirse a la prueba de optimalidad. optimalidad. Como la ecuación ecuación de Z todavía tiene coeficientes coeficientes negativos (–3 para x1), la prueba de optimalidad indica que la solución no es óptima, (lo cual se muestra en la figura anterior) por lo que manda al algoritmo de regreso al paso iterativo para obtener la siguiente solución básica factible. El paso iterativo comienza de nuevo en la tabla símplex actual para encontrar la nueva solución. Si se siguen las instrucciones de las partes 1 y 2, se encuentra encuentra que x 1 es la variable variable básica entrante entrante y x5 la variable básica que sale, como se muestra en la siguiente tabla:
Variabl e Básica
Z
x1
x2
x3
x4
x5
Lado derecho
Z x3 x2 x5
1 0 0 0
–3 1 0 3
0 0 1 0
0 1 0 0
5/2 0 1/ 1/2 –1
0 0 0 1
30 4 6 6
Cociente
4/1 = 4 6/3 = 2
¿Es óptima?
(0, 6, 4, 0, 6) Z = 30 mín.
En las siguientes tablas se muestra el conjunto completo de las tablas del método símplex para este ejemplo. La nueva solución básica factible es (2, 6, 2, 0, 0), con Z = 36. Al hacer la prueba de optimalidad, se encuentra que la solución es óptima porque no hay coeficientes negativos en la ecuación de Z, de manera que el algoritmo ha terminado. En consecuencia, la solución óptima para este ejemplo (sin tomar en cuenta las variables de holgura) es x 1 = 2, x2 = 6.
Variabl e Básica Z x3 x4 x5 Z x3 x2 x5 Z x3 x2 x1
Z
x1
x2
x3
x4
x5
Lado derecho
1 0
–3 –3 1
–5 0
0 1
0 0
0 0
0 4
0 0 1 0 0 0 1 0 0 0
0 3 –3 1 0 3 0 0 0 1
2 2 0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1 0 0
1 0 5/2 0 1/2 –1 3/2 1/3 1/2 –1/3
0 1 0 0 0 1 1 –1/3 0 1/3
12 18 30 4 6 6 36 2 6 2
Cociente
12/2 = 6 mín. 18/2 = 9 4/1 = 4 6/3 = 2
mín.
¿Es óptima? (0, 0, 4, 12, 18) Z=0 (0, 6, 4, 0, 6) Z = 30 (2, 6, 2, 0, 0) Z = 36 Óptima
Anteriormente no se dijo qué hacer cuando las reglas de selección del método símplex no llevan a una decisión clara, ya sea porque existen empates (valores iguales) o por otras ambigüedades parecidas.
Empate para la variable básica entrante. El paso 1 de cada iteración elige la variable básica que tiene el coeficiente negativo con el mayor valor absoluto en la ecuación de Z actual como la variable 21
Programación Lineal.
bási básica ca entra entrant nte. e. Ahor Ahora a supo supong nga a que que dos dos o má máss vari variab ables les no bási básica cass tien tienen en el coeficiente negativo más grande (en valor absoluto), es decir, que hay un empate entre ellas. Por ejemplo, esto ocurriría en la primera iteración del ejemplo anterior si se cambiara la función objetivo a Z = 3x 1 + 3x 2, con lo que la ecuación del renglón de Z inicial sería Z-3x1-3x2 = 0. ¿Cómo debe romperse este empate? La respuesta es que la elección entre estos dos contendientes se puede hacer de manera arbitraria. Tarde o temprano se llegará a la solución óptima, sin importar cuál de las variables empatadas se haya escogido, y no existe un método conveniente para predecir cuál lleva ahí más rápidamente. En este ejemplo ocurre que si se escoge x1 como variable entrante, el método símplex alcanza la solución óptima (2, 6) en tres iteraciones y si se elige x 2, llega en dos.
Empate para la variable básica que sale - degeneración. Ahora suponga que el empate ocurre entre dos o más variables básicas al elegir la variable que sale en el paso 2 de una iteración. iteración. ¿Importa cuál se escoge? En teoría sí, y en una forma crítica debido a que puede ocurrir la siguiente sucesión de eventos. Prime Primero ro,, toda todass las las varia variabl bles es empat empatad adas as se hace hacen n ce cero ro al mism mismo o tiemp tiempo o cuan cuando do aumenta el valor de la variable entrante. Por tanto, aquellas que no se eligieron como variable básica que sale también tendrán un valor de cero en la nueva solución básica factible. (Las variables básicas con valor de cero se llaman degeneradas y el mismo nombre se da a la solución básica factible correspondiente.) Segundo, si una de estas variables variables básicas degeneradas degeneradas sigue con valor de cero hasta que se selecciona selecciona como variable básica que sale en una iteración posterior, la variable básica entrante deberá también quedar con valor de cero (ya que no puede crecer sin que la variable básica que sale se vuelva negativa), entonces el valor de Z permanecerá sin cambio. Tercero, si Z permanece igual en lugar de mejorar cada iteración, el método símplex puede caer en un ciclo que repite la misma secuencia de soluciones periódicamente, en lugar de aumentar en algún momento para llegar a la solución óptima. Por fortuna, aunque en teoría es posible que haya ciclos perpetuos, ha sido en extremo raro que tenga lugar en problemas reales. Si ocurriera un ciclo siempre se puede salir de él cambiando la elección de la variable básica que sale. Por lo tanto se recomienda recomienda romper los empates arbitrariamente y seguir el proceso sin preocuparse de las variables que puedan resultar.
Cuando no hay variable básica que sale - Z no acotada. Exis Existe te otra posib posibil ilida idad d en el paso paso 2 de una itera iteraci ción ón,, de la que que no se ha hablado: aquella en la que ninguna variable califica como variable básica que sale. Esta Esta situa ituacción ión pued puede e oc ocur urri rirr si la vari variab able le bás básica ica entr entra ante nte pued puede e crec recer indefinidamente sin que ninguna de las variables básicas actuales adquiera valores negativos. En la forma tabular, esto significa que todos los coeficientes en la columna pivote (se excluye el renglón de Z) son negativos o cero. Como se ilustra en la siguiente tabla, esta situación surge cuando se considera el siguiente ejemplo: Maximizar Z = 3x1 + 5x2, sujeta a x1 ≤ 4 y x1 ≥ 0, x2 ≥ 0 En este este ejemplo ejemplo se ignora ignoraron ron las dos última últimass restric restriccio ciones nes funcio funcional nales es del ejemplo resuelto resuelto anteriorment anteriormente. e. Vea en la tabla que x2 es la variable variable básica básica entrante entrante
22
Programación Lineal.
pero el único coeficiente en la columna pivote es cero. Como la prueba del cociente mínimo usa sólo coeficientes mayores que cero, no se cuenta con un cociente que proporcione una variable básica que sale. La interpretación de una tabla símplex como la que se muestra en la siguiente tabla es que las restricciones no impiden el crecimiento indefinido de la función objetivo Z, de manera que el método símplex se detiene con el mensaje de que Z es no acotada . Debido a que ni siquiera la programación lineal ha descubierto la manera de lograr ganancias infinitas, el mensaje real en problemas prácticos es: ¡Se ha cometido un error! Tal vez el modelo esté mal formulado, ya sea por haber omitido una restricción relevante o por haberla establecido incorrectamente. De otra manera, pudo haber ocurrido un error en los cálculos.
Variabl e Básica Z X3
Z
x1
x2
x3
Lado derecho
1 0
–3 1
–5 0
0 1
0 4
Cociente Sin mínimo
¿Es óptima?
Soluciones óptimas múltiples. En la definición de solución óptima se mencionó que un problema puede tener más de una solución óptima. Si en el ejemplo cambiamos la función objetivo a Z = 3x1 + 2x 2 resulta que todos los puntos sobre el segmento de recta entre (2,6) y (4,3) son soluciones óptimas. Entonces todas las soluciones son un promedio ponderado de estas dos soluciones factibles en los vértices óptimas: (x1, x2) = w1(2, 6) + w2(4, 3), donde los pesos w1 yw2 son números que satisfacen las relaciones: y w1 + w2 = 1 w1 ≥ 0, w2 ≥ 0 Por ejemplo, w1 = 1/3 y w2 = 2/3 da: (x1, x2) = 1/3(2, 6) + 2/3(4, 3) = (2/3+8/3, 6/3+6/3) = (10/3, 4) como una solución óptima. En general, cualquier promedio ponderado de dos o más soluciones (vectores) donde los pesos son no negativos y suman 1 se llama combinación convexa de estas soluciones. Entonces, toda solución óptima en el ejemplo es una combinación convexa de (2, 6) y (4, 3). Este ejemplo es representativo de problemas con soluciones óptimas múltiples. Cualquier problem problema a de Progra Programac mación ión Lineal Lineal con soluci solucione oness óptima óptimass
múltiples (y una región factible acotada) tiene al menos dos soluciones factibles en los vértices que son óptimas. Toda solución óptima es una combinación combinación lineal de estas soluciones soluciones factibles en los vértices óptimas. En consecuencia, en la forma aumentada, toda solución óptima es una combinación convexa de las soluciones básicas factibles óptimas.
El método método símple símplex x se detiene detiene automá automátic ticamen amente te al encont encontrar rar una solución básica básica factible factible óptima. óptima. Sin embargo, en muchas aplicaciones aplicaciones de Programación Programación Lineal existen factores intangibles que no se incorporan al modelo y que pueden ser útiles para tomar decisiones significativas sobre las soluciones óptimas alternativas. En esos caso ca sos, s, tamb también ién debe deben n iden identi tifi fica cars rse e las las otra otrass solu soluci cion ones es ópti óptima mas. s. Esto Esto requie requiere re encont encontrar rar todas todas las demás demás soluci solucione oness básica básicass factib factible le óptima óptimas, s, y entonc entonces es toda toda
23
Programación Lineal.
soluci solución ón óptima óptima es una combin combinaci ación ón convexa convexa de las soluci solucione oness básica básicass factibl factibles es óptimas. Una vez que el método símplex encuentra una solución básica factible óptima, se puede detectar si existen otras y, si así es, se encuentra como sigue: Siempre que un problema tiene más de una solución básica factible óptima, al menos una variable no básica tiene coeficiente cero en la ecuación ecuación de Z final, de manera que si aumenta aumenta su valor, el valor de la función Z no cambia. Por lo tanto, estas otras soluciones básicas factibles ópti óptima mass se pued pueden en ident identif ific icar ar (si (si se dese desea) a) rea reali liza zand ndo o itera iteraci cion ones es adic adicio iona nale less del del métod método o símp símplex lex,, en las las que que ca cada da vez vez se elige elige una una variable no básica con coeficiente cero como variable básica entrante. Si una de estas iteraciones no tiene una variable básica que sale esto indica que la región factible es no acotada y la variable básica entrante puede crecer indefinidamente sin cambiar el valor de Z.
Método de la “M” o de Penalización Hasta este momento se han presentado presentado los detalles del método símplex con la suposición de que el problema se encuentra en nuestra forma estándar (maximizar estándar (maximizar Z sujeta a las restricciones restricciones funcionales funcionales de la forma £ y restricciones restricciones de no negatividad sobre todas las variables) con b i ³ 0 para toda toda i = 1, 2, ..., m. En esta esta secc sección ión se esta establ blec ecer erá á có cómo mo hace hacerr los los ajust ajustes es reque requeri rido doss a otra otrass forma formass legítimas de modelos de Programación Lineal. Se verá que todos estos ajustes se pueden hacer hacer en el paso inicial, de manera que el resto del método símplex símplex se aplica aplica justo como se aprendió. El únic único o prob problem lema a seri serio o que que intr introd oduc ucen en las las otra otrass forma formass de rest restric ricci cion ones es solución inicial inicial básica básica factible factible. Antes, esta funcionales (= ó ≥ ) es identificar una solución solución inicial se encontraba en forma muy conveniente al hacer que las variables de holgura fueran las variables básicas iniciales, donde cada una era igual a la constante no negativa del lado derecho de la ecuación correspondiente. Ahora debe hacerse algo algo más. El enfoq enfoque ue estánd estándar ar que que se utiliz utiliza a es estos estos ca caso soss es la técnica técnica de Ésta co cons nstr truy uye e un problema convenient iente e variable variables s artifici artificiales ales. Ésta problema artificia artificiall más conven introduciendo una variable ficticia (llamada variable artificial) en cada restricción que lo requiera. Esta nueva variable se introduce sólo con el fin de que sea la variable básica básica inicial inicial para esa ecuación. ecuación. Las restriccione restriccioness usuales de no negatividad negatividad también se aplican sobre sobre estas variables variables y la función función objetivo se modifica modifica para que imponga una penalización exorbit exorbitant ante e en el caso de que adquiera adquieran n valores valores mayores mayores que cero. Las iteraciones del método símplex automáticamente fuerzan a las variables artificiales a desaparecer (a volverse cero) una a una, hasta hasta que todas quedan fuera de la solución; después de esto esto se resuelve el problema real. Para ilustrar la técnica de las variables artificiales, primero se considerará el caso en que la única forma no estándar estándar en el problema es la presencia presencia de una o más restricciones en forma de igualdad.
Restricciones en forma de igualdad. En realidad, cualquier restricción en forma de igualdad: ai1x1 +ai2x2 + . . . + a inxn = bi es equivalente a dos restricciones de desigualdad:
24
Programación Lineal.
ai1x1 + ai2x2 + . . . + a inxn ≤ bi, ai1x1 + ai2x2 + . . . + a inxn ≥ bi Sin embargo, en lugar de hacer esta sustitución e incrementar con ello el número de restricciones, es más conveniente usar la técnica de la variable artificial. Suponga que se modifica el problema de ejemplo presentado y resuelto en la sección anterior. El único cambio que sufre el modelo de programación lineal es que la tercera restricción, 3x1 + 2x2 ≤ 18, se convierte en una restricción de igualdad: 3x1 + 2x2 = 18 Aplican Aplicando do la técnic técnica a de las variab variables les artific artificial iales es se introd introduce uce una variabl variable e artificial no negativa (denotada (denotada por x5) en la última ecuación, como si fuera una variable de holgura: 3x1 + 2x2 + x5 =18 En resum resumen en si tene tenemo moss una una rest restri ricc cció ión n func funcio iona nall en form forma a de igua igualda ldad d y deseamos “pasarla a su forma de igualdad” , únicamente debemos sumar una variable artificial. Restricciones funcionales de la forma ≥ Para ilustrar la manera en que la técnica de las variables artificiales maneja las restricciones de la forma ≥ usaremos el siguiente ejemplo: Minimizar sujeta a
Z = 0.4x1 0.3x1 0.5x1 0.6x1 x1 ≥ 0,
+ + + +
0.5x2 0.1x2 ≤ 0.5x2 = 0.4x2 ≥ x2 ≥ 0
2.7 6 6
Notemos que la tercera restricción es del tipo ≥ , por lo que para cambiarla a su forma de igualdad igualdad tendríamos que restar una variable variable de superávit (o de excedente), excedente), quedando de la siguiente manera: 0.6x1 + 0.4x2 - x5 = 6 Se ha restado la variable de excedente x5 (se utilizó x5 porque en la primera restricción agregamos una variable de holgura que sería x3 y en la segunda restricción agrega agregamos mos también también una variabl variable e artific artificial ial que sería sería x4; todo esto con el fin de convertir las desigualdades a su forma de igualdades) para que consuma el exceso de 0.6x1 + 0.4x2, o sea, lo que se pasa de 6. No obstante en este caso debe agregarse otra variable. Esta variable extra, llamada variable artificial se aumenta como sigue: 0.6x1 + 0.4x2 - x5 + x6 = 6 La razón de esto es que, si no se agrega la variable artificial, no se estarían cumpliendo las restricciones de no negatividad. Para comprenderlo, se dejará sin aume aument ntar ar.. El mé méto todo do símp símple lex x co comi mien enza za por por hace hacerr toda todass las las vari variab able less real reales es (originales) iguales a cero. Entonces: 0.6x1 + 0.4x2 - x5 = 6 Sea x1 = 0 y x2 = 0, entonces: -x5 = 6 ó x5 = -6 (que no cumple cumple la restric restricción ción de no negatividad)
25
Programación Lineal.
La variable artificial opera para mantener todas las variables no negativas cuando 0.6x1 + 0.4x2 es menor que 6. Si x 1 = 0 y x2 = 0, entonces x 5 = 0 y 0.6x1 + 0.4x2 - x5 + x6 = 6 x6 = 6 En resumen, una restricción restricción de la forma ≥ se convierte a su forma de igualdad restando una variable de excedente y sumando una variable artificial. Consideremos el siguiente problema: Maximizar Z = 3x1 sujeta a x1
+
5x2 2x2 2x2
≤ ≤
3x1 + = x1 ≥ 0, x2 ≥ 0
4 12 18
Como Como expli explica camo moss ante anterio riorme rment nte, e, para para resol resolver ver este este prob problem lema, a, debe debemo moss construir un problema artificial que tiene la misma solución óptima que el problema real, haciendo dos modificaciones a este problema real. 1. Se aplica la técnica de las variables artificiales introduciendo una variable artificial no negativa (denotada por x5) en la última ecuación, como si fuera una variable de holgura: 3x1 + 2x2 + x5 =18 2. Se asigna una penalización enorme al hecho de tener x5 > 0, cambiando la función objetivo Z = 3x1 + 5x2 a: Z = 3x1 + 5x2 - Mx5, donde M simbólicamente representa un número positivo muy grande. Este método que fuerza a x5 hasta el nivel de x5 = 0 en la solución óptima se llama método de la M.
Nota: Nota: Para el caso de minimización, penalizamos a la variable artificial, haciéndola aparecer en la función objetivo con un coeficiente de +M. Ahora se encuentra la solución óptima para el problema real aplicando el método símplex al problema artificial. Como x5 juega el papel de la variable de holgura en la tercera restricción del problema artificial, esta restricción es equivalente a 3x 1 + 2x2 ≤ 18. En partic particula ular, r, el sistem sistema a de ecuaci ecuacione oness despué despuéss de aument aumentar ar el proble problema ma artificial (en otras palabras, pasarlo a su forma de igualdades) es: Maximizar Z, sujeta a Z - 3x1 - 5x2 + Mx5 = 0 x1 + x3 = 4 2x2 + x4 = 12 3x1 + 2x2 + x5 = 18 x j≥ 0 Para j = 1, 2, …, 5 En este momento estamos preparados para pasar los coeficientes a la tabla símplex:
Variabl
Lado 26
Programación Lineal.
e Básica Z X3 X4 x5
Z
x1
x2
x3
x4
x5 derecho
1 0 0 0
–3 1 0 3
–5 –5 0 2 2
0 1 0 0
0 0 1 0
M 0 0 1
Cociente
¿Es óp óptima?
0 4 12 18
Esta tabla todavía todavía no está en la forma apropiada apropiada porque el coeficiente coeficiente de x5 es diferente de cero en la ecuación de Z (es M). Por lo tanto, antes de que el método símp símple lex x pued pueda a apli aplica carr la prueb prueba a de opti optima mali lida dad d y enco encont ntra rarr la varia variabl ble e bási básica ca entrante, debe pasarse esta tabla a la forma apropiada para que cumpla la condición símplex. Esta condición que debe cumplir toda tabla del método símplex para que pueda reportarnos la siguiente solución básica factible dice que: “Toda variable básica debe tener un 1 en la intersección de su renglón y columna correspondiente y cero en los demás renglones incluido el renglón de Z”, en otras palabras, que toda variable que que sea sea bási básica ca sola solame ment nte e debe debe apar aparec ecer er en el reng rengló lón n de la rest restri ricc cció ión n que que representa. Para hacer cero el coeficiente M, utilizamos el renglón de x 5 como renglón pivote multiplicándolo por -M y sumando el resultado al renglón de Z. Realizando el procedimiento anterior, la tabla símplex queda de la siguiente manera:
Variable Básica Z x3 x4 x5
Z 1 0 0 0
x1 x2 x3 -3M-3 -2 - 2M-5 0 1 0 1 0 2 0 3 2 0
x4 0 0 1 0
x5 0 0 0 1
Lado derecho Cociente ¿Es óptima? -Mx 5 + Z -18M 4 (0, 0, 4, 12, 18) 12 Z = -18M 18
Podemos observar que la tabla anterior ya se encuentra en la forma apropiada y podemos leer la solución básica factible actual, que es (0, 0, 4, 12, 18), la cual aplicando aplicando la prueba de optimalidad optimalidad vemos que no es óptima ya que todavía todavía tenemos coeficientes negativos en el renglón de Z (los correspondientes a x 1 y x2). Aplicando el método símplex a la tabla anterior tenemos: el coeficiente negativo con el mayor valor absoluto corresponde a x1 (-3M-3 (-3M-3), ), record recordemo emoss que M es un número número muy grande positivo, por lo tanto, x 1 se convierte en la variable básica entrante, realizando los cocientes correspondientes, vemos que x 3 se convierte en la variable básica saliente. El procedimiento completo para resolver este ejemplo se muestra en el siguiente conjunto de tablas:
Variabl e Básica
Z
Z x3 x4 x5 Z x1 x4 x5 Z
1 0 0 0 1 0 0 0 1
x1
x2
x3
-3M-3 -2 -2M-5 0 1 0 1 0 2 0 3 2 0 0 -2M-5 3M+3 1 0 1 0 2 0 0 2 -3 0 0 -9/2
x4 0 0 1 0 0 0 1 0 0
x5
Lado derecho Cociente
¿Es óptima?
0 -18M 0 4 4/1 = 4 (0, 0, 4, 12, 18) 0 12 Z = -18M 1 18 18/3 = 6 0 -6M+12 0 4 (4, 0, 0, 12, 6) 0 12 12/2 = 6 Z = -6M+12 1 6 6/2 = 3 M+5/2 27
27
Programación Lineal.
x1 x4 x2 Z x1 x3 x2
0 0 0 1 0 0 0
1 0 0 0 1 0 0
0 0 1 0 0 0 1
1 3 -3/2 0 0 1 0
0 1 0 3/2 -1/3 1/3 1/ 1/2
0 -1 1/2 M+1 1/3 -1/3 0
4 6 3 36 2 2 6
4/1 = 4 6/3 = 2
(4, 3, 0, 6, 0) Z = 27
(2, 6, 2, 0, 0) Z = 36 Óptima
MINIMIZACIÓN con el método símplex. Una manera directa de minimizar Z con el método símplex es cambiar los roles de los coeficientes negativos y positivos en el renglón de la función objetivo, tanto para la prueba de optimalidad optimalidad como para la parte 1 de una iteración. iteración. Se determina la variable básica entrante mediante la elección de la variable con el coeficiente positivo menor en la ecuación de Z. La solución básica factible actual es óptima si y sólo si todos los coeficientes de la ecuación de la función objetivo (renglón de Z) son no positivos (≤ 0). Si es así, el proceso termina; de otra manera, se lleva a cabo otra iteración para obtener la nueva solución básica factible, lo que significa el cambio de una variable no básica por una básica (parte 1) y viceversa (parte 2), y después despejar las variables de la nueva solución (parte 3). Notemos que no se ha dicho nada con respecto a la forma de obtener la variable básica saliente en una iteración, iteración, ya que este paso se realiza de la misma manera que cuando se está maximizando, es decir, se escoge aquella variable básica con el menor cociente. Ilustremos la forma de utilizar el método símplex para el caso de minimización. Consideremos el siguiente ejemplo: Minimizar sujeta a
Z =
3x1 + 8x2 x1 + 4x2 x1 + 2x2 x1 ≥ 0, x2 ≥ 0
≤ ≥
4 2
Pasand Pasa ndo o este este prob problem lema a a su form forma a de igua igualda ldade dess añad añadie iend ndo o las vari variab ables les necesarias, obtenemos lo siguiente: Minimizar Z, sujeta a Z - 3x1 - 8x2 - Mx5 = 0 x1 + 4x2 + x3 = 4 x1 + 2x2 - x4 + x5 = 2 x j≥ 0 para j = 1, 2, …, 5 Utilizando el método de la M para obtener una solución óptima por el método símplex, obtenemos el siguiente conjunto de tablas:
Variabl e Básica Z x3 x5 Z x3
Z 1 0 0 1 0
x1
x2
-3 -8 1 4 1 2 M-3 2M-8 1 4
x3
x4
x5
0 1 0 0 1
0 0 -1 -M 0
-M 0 1 0 0
28
Lado derecho Cociente 0 4 2 2M 4
4/1 = 4
¿Es óptima?
(0, 0, 4, 0, 2) Z = 2M
Programación Lineal.
x5 Z x3 x1
0 1 2 0 -1 1 2 2/1 = 2 1 0 -2 0 -3 -M+3 6 (2, 0, 2, 0, 0) 0 0 2 1 1 -1 2 Z=6 0 1 2 0 -1 1 2 Óptima Notemos que la primera tabla no se encontraba en la forma apropiada para el método símplex, ya que que el coeficiente de la variable básica x5 era de -M en el renglón de Z, lo cual hacia que no se cumpliera la condición símplex.
Método de las dos Fases. En el ejemplo presentado en la sección “Restricciones funcionales de la forma ≥ ”, recordemos la función objetivo real: Minimizar Z = 0.4x1 + 0.5x2 Problema real: Sin embargo, el método de la M utiliza la siguiente función función objetivo a través de todo el procedimiento: Minimizar Z = 0.4x1 + 0.5x2 + Mx4 + Mx6 Método de la M: Como los dos primeros coeficientes (0.4 y 0.5) son despreciables comparados con co n M, el mé méto todo do de dos dos fase fasess pued puede e elim elimin inar ar la M usan usando do las las sigui iguien ente tess dos dos funciones objetivo que definen Z de manera completamente diferente: Método de las dos fases: Minimizar Fase 1:
= 0).
Fase 2:
Minimizar
Z = x4 + x6
(hasta que x 4 = 0 y x6
Z = 0.4x1 + 0.5x2
(con x4 = 0 y x 6 = 0).
La función objetivo de la fase 1 se obtiene dividiendo la función objetivo del método de la M entre M eliminando los términos despreciables, en otras palabras, la fase 1 consiste en la minimización de la suma de todas las variables artificiales que se introduzcan en el problema. Como la fase 1 concluye al obtener una solución básica factible para el problema real (aquella en la que x4 = 0 y x6 = 0), esta solución se usa como la solución básica factible inicial para aplicar el método símplex al problema real (con su función objetivo) en la fase 2. Antes de resolver el ejemplo de esta manera se hará un resumen de las características generales.
Resumen del método de dos fases. Paso Paso inicial: inicial: Se revisan las restricciones del problema original introduciendo
variables artificiales según se necesite para obtener una solución básica factible inicial obvia para el problema artificial.
Fase 1: uso del método símplex para resolver el problema de programación
lineal: Minimizar Z = S de todas las variables artificiales, sujeta a las restricciones restricciones revisadas. La solución óptima que se obtiene para este problema (con Z = 0) será una solución básica factible para el problema real.
Fase 2: se eliminan las variables artificiales (de todas formas, ahora todas valen
cero). Comenzando con la solución básica factible que se obtuvo al final de la fase 1, se usa el método símplex para resolver el problema real.
29
Programación Lineal.
Ensegu Enseguida ida se resume resumen n los problem problemas as que deben deben resolv resolvers erse e por el método método símplex en las fases respectivas para el ejemplo. Problema para la fase 1:
Minimizar
sujeta a
0.3x + 0.1x2 +
W = x4 + x6,
x3
= 2.7
1
0.5x + 0.5x2
+
x4
1
0.6x + 0.4x2
-
x5
+
x6
=
6
=
6
1
y
x1 ≥ 0
x2 ≥ 0
x3 ≥ 0
Problema para la fase 2:
Minimizar
sujeta a
x4 ≥ 0
x5 ≥ 0
x6 ≥ 0
Z = 0.4x1 + 0.5x2,
0.3x + 0.1x2 +
x3
= 2.7
1
0.5x + 0.5x2 1
0.6x + 0.4x2
-
x5
=
6
=
6
1
y
x1 ≥ 0
x2 ≥ 0
x3 ≥ 0
x5 ≥ 0
Las únicas diferencias entre estos dos problemas se encuentran en la función objetivo y en la inclusión (fase 1) o exclusión (fase 2) de las variables artificiales x 4 y x6. Sin las variables artificiales, el problema para la fase 2 no tiene una solución básica factible factible inicial inicial obvia. El único propósito de resolver el problema para la fase 1 es obtener una solución básica factible con x 4 = 0 y x6 = 0 que se pueda usar como la solución básica factible inicial para la fase 2. Las siguientes tablas muestran el resultado de aplicar el método símplex a este problema para la fase 1: Variabl Lado e W x1 x2 x3 x4 x5 x6 derecho Cociente ¿Es óptima? Básica W x3 x4 x6 W x3 x4 x6
1 0 0 0 1 0 0 0
0 0. 0.3 0.5 0.6 1.1 0.3 0. 0.5 0.6
0 0.1 0.5 0.4 0.9 0.1 0.5 0. 0.4
0 1 0 0 0 1 0 0
-1 0 1 0 0 0 1 0
0 0 0 -1 -1 0 0 -1
-1 0 0 1 0 0 0 1
30
0 2.7 6 6 12 2.7 6 6
2.7/0.3=9 6/0.5=12 6/0.6=10
(0,0,2.7,6,0,6) W = 12
Programación Lineal.
W x1 x4 x6 W x1
1 0 0 0 1 0
0 0.53 1 0.33 0 0.33 0 0.2 0 0 1 0
-3.66 3.33 -1 -1.66 -2 1.64 6.63
0 0 1 0 0 0
-1 0 0 0 0 0 -1 1 1.65 -2.65 1.65 -1.65
2.1 9 1.5 0.6 0.51 8.01
x4
0
0
0
1.64
1
1.65 -1.65
0.51
x2 W x1
0 1 0
0 0 1
1 0 0
-10 0 5
0 -1 -1
x5 x2
0 0
0 0
0 1
0.99 0.60 -5.05 3
-5 0 0
5 -1 0
3 0 7.5
1 0
-1 0
0.3 4.5
9/0.33=27.2 (9,0,0,1.5,0,0.6) 1.5/0.33=4.5 W = 2.1 0.6/0.2=3 8.01/1.65=4.8 (8 ( 8.01,3,0,0.51,0,0 ) 0.51/1.65=0.3 W = 0.51 0 (7.5,4.5,0,0,0.3,0 ) W=0 Óptima fase 1
Notemo Note moss que que ya hemos hemos obte obteni nido do una una solu soluci ción ón ópti óptima ma para para la fase fase 1 que que consistió en la minimización de la suma de todas las variables artificiales. Observemos también que la función objetivo W terminó con un valor de cero en la última tabla, lo que indica que las dos variables artificiales (x4 y x6) valen cero ó tienen valores recípr recíproc ocos os y se ca canc ncela elan n mutu mutuam amen ente te para para dar dar ce cero ro.. En nues nuestr tro o ca caso so,, las dos dos varia variable bless artif artific icia iales les valen valen ce cero ro ya que que no se encu encuen entr tran an en la co colum lumna na de las las variables básicas en la última tabla de la primera fase. La segunda fase consiste en resolver resolver el problema problema original utilizando como tabla inicial de esta fase la última tabla de la primera fase pero sin considerar la columna de las variables artificiales ya que éstas tomaron el valor de cero en la primera fase. El método símplex aplicado a la segunda fase se muestra en el siguiente conjunto de tablas:
Variabl e Básica Z x1 x5 x2 Z x1 x5 x2 Z x1 x5 x2
Z 1 0 0 0 1 0 0 0 1 0 0 0
x1
x2
x3
x4
-0.4 -0.5 0 0 1 0 5 -1 0 0 0.99 0. 0.60 0 1 -5.05 3 0 -0.5 2 1 0 5 0 0 0.99 0 1 -5.05 0 0 -0.52 1 0 5 0 0
0 1
0.99 -5.05
x5
x6
0 0 1 0 0 0 1 0 0 0
0 0 -1 0
1 0
Lado derecho Cociente 0 7.5 0.3 4.5 3 7.5 0.3 4.5 5.25 7.5 0.3 4.5
¿Es óptima?
(7.5,4.5,0,0,0.3,0 ) Z = 5.25 Óptima fase 2
Notemos que no fue necesario aplicar propiamente el método símplex a la primera tabla de la segunda fase, ya que únicamente aplicando operaciones con matrices matrices para tratar de llevar esta tabla a la forma apropiada apropiada para el método símplex fue suficiente para resolver el problema planteado en la segunda fase. Es necesario aclarar que no siempre ocurrirá de esta manera, es decir, si después de dejar la tabla
31
Programación Lineal.
en la forma apropiada, es necesario aplicar el método símplex, se debe aplicar como lo hemos estudiado. Independientemente emente de que el problema original original (real) sea de maximización maximización o Nota: Independient minimización, la primera fase siempre consistirá en la minimización de la suma de todas las variables artificiales.
32