4.3 INTERPRETACIÓN ECONÓMICA DE LA DUALIDAD El problema de programación lineal se puede considerar como modelo de asignación de recursos, en el que el objetivo es maximizar los ingresos o las utilidades, sujetos a recursos limitados. Si se aprecia el problema desde este punto de vista, el problema dual asociado ofrece interpretaciones económicas interesantes del modelo de programación lineal de asignación de recursos. Para formalizar la descripción se considerará la siguiente representación de los problemas generales primal y dual, en donde el primal asume el papel de un modelo de asignación de recursos: Primal Maximizar z = ^,c¡Xj Dual Minimizar w = ^ ¡=\ sujeta a ¡-i sujeta a ti m ^a i j X ¡ s í > , , ¡ = U ........ m x,; a 0, ;=, 2,..., n ^a ljy¡ a c¡, j = 1, 2,..., n y¡ a 0, ; = 1, 2,..., m Desde el punto de vista de modelo de asignación de recursos, el problema primal tiene n actividades económicas y m recursos. El coeficiente c_j del primal representa la utilidad por unidad de actividad j. El recurso i, cuya disponibilidad máxima es b_i,, se consume con la tasa de a_{ij} unidades por unidad de actividad j. 4.3.1 Interpretación económica de variables duales En la sección 4.2.5 se indicó que para dos soluciones factibles primal y dual cualquiera, los valores de las funciones objetivo, cuando son finitos, deben satisfacer la siguiente desigualdad: n z = ^CjXj La igualdad estricta, z = w, es válida cuando las soluciones primal y dual son óptimas ambas. Examinemos primero la condición óptima z = w. Como el problema primal representa un modelo de asignación de recursos, se puede imaginar que z representa la utilidad moneta- ria. Como b¡ representa la cantidad disponible de unidades del recurso i, la ecuación z = w se puede expresar en forma dimensional como sigue: $ = 2 (unidades del recurso i) X ($ por unidad del recurso /) i Eso quiere decir que las variables duales y_i representan el valor por unidad del recurso i. (En la sección 2.3.3 se obtuvo esta misma interpretación, por vía gráfica, sin usar la dualidad.) En las publicaciones, las variables y¡ se conocen con el nombre abstracto de precios duales. Otros nombres (que de igual manera no sugieren nada) son precios sombra y multiplicadores símplex. Con la misma lógica, la desigualdad z < w asociada con dos soluciones asociadas, primal y dual, se interpreta como sigue: (Utilidad) < (Valor de los recursos) Según esta relación, siempre que los ingresos totales por todas las actividades sean menores que el valor de los recursos, las soluciones primal y dual correspondientes no son óptimas. La optimalidad (retorno máximo) sólo se alcanza cuando se han explotado los recursos por completo, lo que sólo puede suceder cuando los datos (valor de los recursos) son iguales a los resultados ($ de utilidad). En términos económicos se dice que el sistema permanece inestable (no óptimo) cuando los datos (valor de los recursos) son mayores que el resultado (retorno o ingreso). La estabilidad sólo se obtiene cuando las dos cantidades son iguales. Ejemplo 4.3-1 El modelo de Reddy Mikks (ejemplo 2.1-1) y su dual son los siguientes: Primal de Reddy Mikks Maximizar 2 = 5.*! + 4x2 sujeta a 6*1 + 4x2 £ 24 (recurso 1,AÍ1) xx + 2*2 £ 6 (recurso 2, MT) -x x + x 2 < 1 (recurso 3) i¡s2 (recurso 4) xu x 2 > 0 Solución óptima: x l = 3, x 2 = 1.5, z = 21 Dual de Reddy Mikks Minimizar w = 24y t + 6y 2 + y 3 + 2y 4 sujeta a 6yi + y 2 - y-¡ &5 4y x + 2y 2 + y 3 + y 4 a 4 y¡ , y 2 , y 3 , j , > 0 Solución óptima: y>! = .75, y 2 = 0.5, y 3 = y 4 = 0, w = 21 En resumen, el modelo de Reddy Mikks maneja la producción de dos clases de pintura (para exteriores y para interiores) usando dos materias primas, M1 y M2 (recursos 1 y 2) y sujeta a las condiciones del mercado representadas por las restricciones tercera y cuarta. El modelo busca determinar las toneladas de pinturas para exteriores y para interiores que maximicen la utilidad (expresada en miles de dólares). La solución dual óptima indica que el valor por unidad de la materia prima M1 (recurso 1) es y, = 0.75 (o sea, $750 por tonelada), y por unidad de materia prima M2 (recurso 2) es y_2 = 0.5 (es decir, $500 por tonelada). En la sección 2.3.3 mostramos en forma gráfica que esos mismos resultados son válidos para los intervalos (20, 36) y (4, 6.67), para los recursos 1 y 2, respectivamente (esos intervalos también se deducirán en forma algebraica en la sección 4.5.1). Así, la materia prima MI se puede aumentar desde su consumo actual de 24 toneladas, hasta un máximo de 36 toneladas, con un aumento correspondiente en la utilidad de 12 X $750 = $9000. De igual forma, el límite para la materia prima M2 puede aumentarse desde 6 toneladas hasta un máximo de 6.67 toneladas, con un aumento correspondiente en la utilidad de 0.67 X $500 = $335. Se pueden mostrar interpretaciones parecidas si bajan las cantidades de materia prima respecto a los niveles actuales, pero dentro de los intervalos de aplicabilidad indicados. La explicación no quiere decir que los recursos mencionados no se puedan cambiar a valores fuera de los intervalos citados. Sólo indica que la utilidad por unidad, para cada recurso, sólo se aplica dentro de los márgenes especificados. Para los recursos 3 y 4, que representan los requerimientos del mercado, los precios duales (valores duales óptimos) ambos son de cero, lo que indica que sus recursos asociados son abundantes. De aquí que su valor por unidad es cero. 4.3.2 Interpretación económica de restricciones duales Se pueden interpretar las restricciones duales, usando la fórmula 2 de la sección 4.2.4, que indica que en cualquier iteración primal m (Coeficiente objetivo de x_j) = ^a^yi — q De nuevo se aplicará el análisis dimensional para interpretar esta ecuación. La utilidad c_j por unidad de actividad j está en $ por unidad. En consecuencia, para tener consistencia, la cantidad 2£L \diffi también debe estar en $ por unidad. Además, como c¡ representa una utilidad, la cantidad 2™ xa,-^,-, que aparece en la ecuación con signo contrario, debe representar un costo. Al mismo tiempo, como a_{ij} es la cantidad del recurso i que usa la actividad j, las variables duales y¡ deben representar al costo imputado por unidad de recurso i y se puede considerar que la cantidad 2£L1a,y)'¡ es el costo imputado de todos los recursos necesarios para producir una unidad de actividad y. La condición de optimalidad de maximización del método símplex indica que un aumento en la cantidad de una actividad,/ no usada (no básica) puede mejorar la utilidad sólo en caso de que su coeficiente objetivo (S^a^,- - c¡) sea negativo. En función de la interpretación anterior, esta condición establece que / Costo imputado de \ /TT .... , ., ,\ -j jL i Utilidad por unidad \ recursos por unidad < , .. . , , . j S- -J J • I Vv de actividad; / \ de actividad; / ' Así, la condición de optimalidad de maximización indica que es económicamente bueno aumentar una actividad a un valor positivo si su utilidad unitaria es mayor que su costo imputado unitario. Para que el lector se familiarice con la notación normal que se usa en las publicaciones presentaremos la definición que representa el costo imputado de los recursos usados, por unidad de actividad j. La notación (zj - cp es el coeficiente objetivo de x_j en la tabla símplex y se llama con frecuencia costo reducido de la actividad j. En realidad, en algunos libros se usa z_j - c_j para calcular en forma directa el coeficiente de la ecuación objetivo (en lugar de usar operaciones de renglón de Gauss-Jordan). El uso de z_j - c_j en los cálculos símplex es, en realidad, una parte del método símplex revisado que describiremos en el capítulo 7. Ejemplo 4.3-2 TOYCO arma tres juguetes: trenes, camiones y coches, con tres operaciones. Los límites diarios de tiempo disponible para las tres operaciones son 430,460 y 420 minutos, respectivamente, y las utilidades por tren, camión y coche de juguete son $3, $2 y $5, respectivamente. Los tiempos de armado por tren, en las tres operaciones son 1, 3 y 1 minutos, respectivamente. Los tiempos respectivos por camión y por coche son (2, 0, 4) y (1, 2, 0) minutos (un tiempo de cero indica que no se usa la operación). Si x_1, x_2 y x_3 representan la cantidad diaria de unidades armadas de trenes, camiones y coches, y si el modelo de programación lineal correspondiente, y su dual son los siguientes: Primal de TOYCO DualdeTOYCO Maximizar z = 3x¡ + 2x2 + 5*3 sujeta a *! + 2*2 + x3 < 430 (Operación 1) 3x x + 2x3 =s 460 (Operación 2) *! + 4*2 s 420 (Operación 3) xu x 2 , * 3 a 0 Solución óptima: *! = 0, x2 = 100, *3 = 230, z = $ 1350 Minimizar z = 430yi + 460y2 + 420y3 sujeta a y x + 3y 2 + y , ^ 3 2y¡ + 4y3 > 2 yi + 2y2 a 5 y 1; y 2 , yj>0 Solución óptima: yx = 1, y 2 = 2, y, = 0, w = $ 1350 La solución primal óptima indica producir camiones de juguete (x_2 = 100) y coches de juguete (x_3 = 230), pero no armar trenes (x_1 = 0), porque no son rentables. Suponga que la competencia obliga a TOYCO a producir también trenes de juguete. ¿Cómo se puede hacer la producción? Si se considera el problema desde el punto de vista de la interpretación de z_1 — c_1 para x_1, los trenes de juguete tienen atractivo económico sólo si Z\ < c_1 Así, TOYCO puede aumentar la utilidad por unidad de c_1 aumentando el precio unitario de venta, o disminuyendo el costo imputado z_1 de los recursos usados z_1 (= y_1 + 3y_2 + y_3). Podría no ser posible aumentar la utilidad por unidad, porque TOYCO desea permanecer competitivo en el mercado. Es más plausible una disminución en z_1, porque implica hacer mejoras en las operaciones de ensamble, que principalmente reduzcan su uso unitario de tiempos disponibles para las operaciones. Si r _ 1 , r _ 2 y r_3 representan las proporciones con las que se reducen los tiempos unitarios de las tres operaciones, el problema requiere determinar r_1 , r_2 y r_3 de tal modo que el nuevo costo imputado z_1 de las tres operaciones sea menor que la utilidad unitaria c_1; esto es, 1(1 - r x ) yi + 3(1 - r 2 )y 2 + 1(1 - r¿y 3 < 3 Para los valores dados de y_1 = 1, y_2 = 2 y y_3 = 0, esta desigualdad se reduce a (¡compruébelo!) r x + 6r 2 > 4 Así, todos los valores de r_1 y r_2 entre 0 y 1 que satisfagan r_1 + 6r_2 > 4 deben hacer que los trenes de juguete sean rentables. Sin embargo podrá ser que no se pueda alcanzar este objetivo, porque requiere reducciones en los tiempos de las operaciones 1 y 2, que no parecen prácticas. Por ejemplo, aun reducciones hasta de 50% en esos tiempos (esto es, r_1 = r_2 = 0.5) no satisfacen la condición dada. 4.4 OTROS ALGORITMOS SÍMPLEX PARA PROGRAMACIÓN LINEAL En el algoritmo símplex presentado en el capítulo 3, el problema se inicia en una solución básica factible. Las iteraciones sucesivas siguen siendo básicas y factibles, pero avanzan hacia la optimalidad, hasta llegar al óptimo en la última iteración. A veces se llama método símplex primal a este algoritmo. Esta sección presenta dos algoritmos más: el símplex dual y el símplex generalizado. En el símplex dual, la programación lineal se inicia en una solución básica que es (mejor que la) óptima, pero no es factible, y las iteraciones sucesivas siguen siendo básica y (mejores que la) óptima, a medida que se acercan a la factibilidad. En la última iteración se encuentra la solución factible (óptima). En el método símplex generalizado se combinan los métodos símplex primal y dual en un solo algoritmo. Maneja problemas que comienzan siendo no óptimos y no factibles a la vez. En este algoritmo se asocian las iteraciones sucesivas con soluciones básicas (factibles o no factibles). En la iteración final la solución es óptima y no factible al mismo tiempo (suponiendo, claro está, que exista una). Se pueden aplicar los tres algoritmos, el primal, el dual y el generalizado con eficacia en los cálculos del análisis de sensibilidad, lo que se indicará en la sección 4.5. 4.4.1 Método dual símplex Como en el método símplex (primal), la base el método símplex dual es que cada iteración siempre esté asociada a una solución básica. Las condiciones de optimalidad y factibilidad se establecen para preservar la optimalidad de las soluciones básicas y al mismo tiempo mover las iteraciones de la solución hacia la factibilidad. Condición dual de factibilidad. La variable de salida x_r es la variable básica que tiene el valor más negativo (los empates se rompen en forma arbitraria). Si todas las variables básicas son no negativas, termina el algoritmo. Condición dual de optimalidad. La variable de entrada se determina entre las variables no básicas, como la que corresponde a , «r> min < 0 No básica x¡ y donde z_j — c_j es el coeficiente objetivo del renglón z en la tabla, y $\alpha_{rj}$ es el coeficiente negativo de restricción de la tabla, asociado con el renglón de la variable de salida x_r, y con la columna de la variable x_j no básica. Los empates se rompen arbitrariamente. Observe que la condición de optimalidad dual garantiza que se mantendrá la optimalidad en todas las iteraciones. Para el inicio de una programación lineal que sea óptima y no factible a la vez, se deben satisfacer dos requisitos: 1. La función objetivo debe satisfacer la condición de optimalidad del método símplex re gular (capítulo 3). 2. Todas las restricciones deben ser del tipo ($\leq$). Por la segunda condición se requiere convertir toda ($\geq$) a ($\leq$), sólo multiplicando ambos lados de la desigualdad ($\geq$) por -1. Si en la programación lineal hay restricciones (=) se puede reemplazar la ecuación con dos desigualdades. Por ejemplo, xx + x 2 = 2 equivale a Xx + X2 ^ 1, Xi + X2 S: 1 o bien Xi + X 2 =£ 1, — Xi - JC 2 < —1 Después de convertir todas las restricciones en ($\leq$), la programación lineal tendrá una solución de inicio no factible si, y sólo si al menos uno de los lados derechos de las desigualdades es estrictamente negativo. En caso contrario, si z es óptima y ninguno de los lados derechos es negativo no habrá necesidad de aplicar el método símplex dual, porque la solución de inicio ya es óptima y factible. Ejemplo 4.4-1 Minimizar z = 3JC, + 2x2 ; sujeta a 3xj + 23 i 4*! + 3x2 > 6 ¡ Xx + x 2 < 3 ; xx, x 2 a 0 i JC 2 j En este ejemplo se multiplican por —1 las dos primeras desigualdades para convertirlas a restricciones ($\leq$). Así, la tabla de inicio es: Básica xx x2 *3 *4 z -3 -2 0 0 0 0 1 0 0 0 0 -3 1 0 0 1 -6 3 -3 X4 __ -4 1 x5 1 -3 1 Solución La tabla comienza óptima (todas las $z_j - c_j \leq 0$ en el renglón z) y la solución básica de inicio es no factible (x_3 = —3, x_4 = -6, x_5 = 3). Según la condición dual de factibilidad, x_4 (= -6) es la variable de salida. La tabla siguiente muestra cómo se usa la condición dual de optimalidad para determinar la variable de entrada. Xl x2 x, XA x5 Renglón de z (z_j - c_j) -3 -2 0 0 0 Renglón de x_4, $\alpha_{4j}$ Razón, z¡ ~ c, , «4/ < 0 -4 -3 0 1 0 34 Variable 2í «A, Las razones indican que x_2 es la variable de entrada. Observe que una variable x_j es candidata para entrar a la solución básica sólo que su $\alpha_{ij}$ sea estrictamente negativa. Eso quiere decir que no se deben tener en cuenta las variables x_3, x_4 y x_5. La siguiente tabla se obtiene con las conocidas operaciones de renglón. Básica x¡ x2 x3 X4 0 0 23 0 4 0 -1 1 3 Z 53 *3 x¡ Razón Solución 43 1 0 1 3 13 0 2 13 0 0 13 1 1 — — 2 — 0 ra que ale x3 entra s y xx 1 . así se obtiene y la: siguien tf Básica Xl Xl Xi XA Xi Solución z 0 0 i 5 35 0 21 5 Xl 1 0 15 0 35 0 i 3 5 4 5 1 5 35 0 65 1 65 x2 x5 0 0 25 Esta última tabla es factible (y óptima) por lo que se termina el algoritmo. La solución correspondiente es $x_1 =3/5$ , $x_2 = 6/5$ y $z = 21/5$. Para reforzar la comprensión del método símplex dual por parte del lector, la figura 4.2 muestra en forma gráfica la trayectoria seguida por el algoritmo para resolver el ejemplo 4.4-1. Se inicia en el punto extremo A (que es no factible y mejor que el óptimo), pasa a B (que todavía es no factible y mejor que el óptimo) y por último se vuelve factible en C. En este punto termina el proceso, con C como solución óptima factible. El programa TORA contiene un módulo tutorial para el método símplex dual. En el menú Resolver/Modificar seleccione Resolver => Algebraico => Iteraciones =>• símplex Dual. Recuerde que necesita convertir las restricciones (=) en desigualdades. Sin embargo, no necesitará convertir las restricciones (s), porque TORA convierte en forma automática la tabla de inicio símplex dual. Si la programación lineal no satisface los requisitos iniciales del símplex dual, aparecerá un mensaje en la pantalla. Como en el método símplex regular, el módulo tutorial le permite seleccionar desde antes a las variables de entrada y de salida. A continuación, una retroalimentación adecuada le avisa si su selección es correcta. Se pide al lector usar todo lo posible el modo tutorial de TORA, con el conjunto de problemas 4.4a, para evitar la tediosa tarea de hacer las operaciones de renglón de Gauss Jordan. De esta forma se podrá concentrar en comprender los conceptos principales del método. FIGURA 4.2 Proceso iterativo símplex dual para el ejemplo 4.4-1 FIGURA 4.2 Proceso iterativo símplex dual para el ejemplo 4.4-1 Óptimo: 3 1- 6 21 4.4.2 Algoritmo símplex generalizado El algoritmo símplex (primal) del capítulo 3 inicia siendo factible, pero no óptimo. El símplex dual comienza mejor que el óptimo, pero no factible. ¿Y si un modelo de programación lineal iniciara no óptimo y no factible al mismo tiempo? Hemos visto que el símplex primal tiene en cuenta la no factibilidad de la solución de inicio usando variables artificiales. En forma parecida, el símplex dual tiene en cuenta la no optimalidad usando restricciones artificiales (véase el problema 3, conjunto 4.4a). Aunque esos procedimientos tienen por objeto ampliar el cómputo automático, los detalles pueden hacer perder de vista lo que realmente implica el algoritmo símplex, que es que la solución óptima de una programación lineal siempre se asocia con una solución de punto de esquina (o básica). Con base en esta observación el lector debería poder "adaptar" su propio algoritmo símplex para modelos de programación lineal que inician siendo no óptimos y no factibles a la vez. En el siguiente ejemplo se ilustra lo que se llama algoritmo símplex generalizado. Ejemplo 4.4-2 El modelo de programación lineal del problema 4a), del conjunto 4.4a, se puede poner en la tabla siguiente, en el que la solución básica de inicio ($x_4, x_5, x_6 $)es al mismo tiempo no óptima (por x_3) y no factible (por x_4 = —8). (La primera ecuación se multiplicó por —1 para revelar la no factibilidad en forma directa, en la columna Solución.) X\ Básica x2 x4 0 0 x4 1 -2 x5 -1 2 1 z ___ 1 -2 Solución 0 0 0 0 2 1 0 0 -8 1 4 0 0 1 0 0 1 4 10 El problema se puede resolver sin usar variables ni restricciones artificiales, como sigue: quitar primero la no factibilidad aplicando una versión de la condición símplex dual de factibilidad, que seleccione a x_4 como variable de salida. Para determinar cuál es la variable de entrada todo lo que se necesita es una variable no básica cuyo coeficiente de restricción en el renglón*,, sea estrictamente negativo. Se puede hacer la selección sin cuidarse de mantener la optimalidad, porque de cualquier manera es no existente en este punto (compárela con la condición de optimalidad dual). El resultado es la siguiente tabla: X2 Básica z x2 x5 0 1 2 1 2 32 x4 x3 0 __ 2 1 -i 0 0 2 3 0 i 2 1 2 12 Solución X 5 0 0 0 0 0 4 1 0 0 0 1 14 Ahora la solución en esta tabla es factible, pero no óptima, y podremos usar el símplex primal para determinar la solución óptima. En general, si no nos hubiéramos encontrado la factibilidad en la tabla anterior, habría que repetir el procedimiento las veces necesarias hasta satisfacer la factibilidad, o hasta que haya pruebas de que el problema no tenga solución factible. Una vez establecida la factibilidad, el siguiente paso es atender la optimalidad, aplicando la condición adecuada de optimalidad del método símplex primal. La esencia del ejemplo 4.4-2 es que el método símplex no es rígido. En las publicaciones abundan las variaciones del método símplex (por ejemplo, el método primal-dual, el método simétrico, el método entrecruzado y el método múltiplex) que dan la impresión que cada uno es distinto, cuando en realidad todos buscan una solución de punto esquina, con inclinación hacia los cálculos automáticos y quizá hacia la eficiencia de cómputo. CONJUNTO DE PROBLEMAS 4.4B 1. El modelo de programación lineal, en el problema 4c), conjunto 4.4a, no tiene solución factible. Indique cómo se detecta esta condición en el procedimiento símplex generalizado. 2. El modelo de programación lineal del problema 4d), conjunto 4.4a, no tiene solución acotada. Indique cómo se detecta esta condición en el procedimiento símplex generalizado. ANÁLISIS POSTÓPTIMO O DE SENSIBILIDAD En la sección 2.3 se describió el análisis de sensibilidad a un nivel elemental. En esta sección se aplicará la dualidad y los cálculos primal-dual de la sección 4.2 para examinar el tema en forma más completa. El análisis de sensibilidad investiga el cambio de la solución óptima que resulta de hacer cambios en los parámetros del modelo de programación lineal. La tabla siguiente contiene todos los casos posibles que pueden surgir en el análisis de sensibilidad, así como las acciones necesarias para obtener la nueva solución (suponiendo que exista): Condición resultante de los cambios Acción recomendada La solución actual queda óptima y factible. La solución actual se vuelve no factible. La solución actual se vuelve no óptima. La solución actual se vuelve no óptima y no factible, al mismo tiempo. No es necesaria acción alguna. Usar el símplex dual para recuperar la factibilidad. Usar el símplex primal para recuperar la optimalidad. Usar el método símplex generalizado para obtener una nueva solución. Los tres primeros casos se investigarán en esta sección. El cuarto, como es una combinación de los casos 2 y 3, se tratará en el problema integral 4.3. El modelo de TOYCO en el ejemplo 4.3-2 servirá para explicar los distintos procedimientos. Recuérdese que ese modelo es del ensamble de tres clases de juguetes: trenes, camiones y coches. Cada artículo requiere tres operaciones sucesivas. Se desea determinar la cantidad de unidades de cada juguete que haga máxima a la utilidad. A continuación se repiten el modelo y su dual, por comodidad. Primal de TOYCO Dual de TOYCO Maximizar z = 3*! + 2x 2 + 5x3 sujeta a x t + 2x 2 + JC3 < 430 (Operación 1) 3*, + 2*3 < 460 (Operación 2) x x + 4*2 s 420 (Operación 3) *i, x 2, x 3 > 0 Solución óptima: *, = 0, x 2 = 100, x 3 = 230, z = $1350 Minimizar z = 430vj + 460y2 + 420y3 sujeta a y x + 3y 2 + y3 a 3 2y¡ + 4y 3 a 2 yx + 2y2 &5 y u y2 , y 3 > 0 Solución óptima: y, = 1, y 2 = 2, y 3 = 0, w = $1350 ibla óptima aso Básica z ciada para :1 es: ] e primal *i x2 *3 x, xs 4 0 0 1 2 i 43 2 1 00 2 0 10 1 2 0 -2 i 41 21 Solución 0 00 1 1350 100 230 20 Cambios que afectan la factibilidad La factibilidad de la solución óptima en el momento sólo puede variar si 1) cambia el lado derecho de las restricciones, o 2) se agrega al modelo una restricción nueva. En ambos casos se tiene no factibilidad cuando al menos un elemento del lado derecho en la tabla óptima se hace negativo; esto es, una o más de las variables básicas actuales se vuelve negativa. Cambios en el lado derecho. Estos cambios requieren volver a calcular el lado derecho de la tabla, usando la fórmula 1 de la sección 4.2.4, esto es, /Nuevo lado derecho de\ _ ( Inversa en \ tabla en la iteración i) \\a iteración i) \ /Nuevo lado derecho de\ \X& la iteración i ) Recuerde que el lado derecho de la tabla expresa los valores de las variables básicas. El siguiente ejemplo ilustrará el procedimiento. Ejemplo 4.5-1 Suponga que TOYCO desea ampliar sus líneas de ensamble aumentando en 40% la capacidad diaria de cada una, hasta 602, 644 y 588 minutos, respectivamente. Con esos aumentos, el único cambio que se hará en la tabla óptima es el lado derecho de las restricciones (y el valor objetivo óptimo). Así, la nueva solución básica se calcula como sigue: 602\ /14O\ 0 II644 = 322 588/ \328/ Así, las variables básicas actuales —x_2, x_3 y x_6— siguen siendo factibles con los nuevos valores 140, 322 y 28. La utilidad óptima correspondiente es $1890. Aunque la nueva solución es atrayente, tanto desde el punto de vista de mayor utilidad, TOYCO reconoce que para implementarla pasará algo de tiempo. En consecuencia se hizo otra proposición que es cambiar la holgura de capacidad de la operación 3 (x_6 = 20 minutos) a la capacidad de la operación 1, con lo que cambia la combinación de las tres operaciones a 450,460 y 400 minutos, respectivamente. La solución resultante es i 0 \/450\ ^0 = /11O \ 230 ly \40/ Esta solución es no factible, porque x_6 = —40. Se aplicará el método símplex dual f \ 0 \-2 i 2 \íoo) para recuperar la factibilidad. Primero se modifica el lado derecho de la tabla, como se ve en la columna sombreada. Observe que el valor asociado de $z = 3 \times 0 + 2 \times 110 + 5\times 230 = $1370. *3 Básica z x_2 *3 4 XA 0 !»■?() i 4 0 lid 1 2 0 1 0 0 i 4 1 0 1 2 32 0 0 1 0 0 -2 1 2 1 Solución x5 2 -*l Comenzando con el símplex dual, sale x_6 y entra x_4, con lo que la tabla óptima factible es la siguiente (en general, el símplex dual requerirá más de una iteración para recuperar la factibilidad). Básica *2 x, x. x5 x6 5 2 12 1350 14 100 0 230 z 5 0 0 0 x2 i 4 32 1 0 0 0 1 0 -1 0 0 1 *3 X4 0 1 2 12 Solución 20 La solución óptima (en función de x_1, x_2 y x_3) queda igual que en el modelo original. También se demuestra que no se usó la capacidad adicional para la operación 1 ($x_4 = 20$). La única conclusión entonces es que la operación 2 es el cuello de botella. La mezcla de ingredientes debe contener: a) Al menos 0.8%, pero no más de 1.2% de calcio b) Al menos 22% de proteínas c) Al menos 5% de fibra cruda Desarrolle un programa óptimo para el periodo de 8 semanas. Intervalo de factibilidad de los elementos del lado derecho. Otra forma de examinar el efecto de cambiar la disponibilidad de los recursos (es decir, el vector del lado derecho) es determinar el intervalo para el cual la solución actual o del momento permanece factible. El ejemplo siguiente ilustra el procedimiento. Ejemplo 4.5-2 En el modelo de TOYCO, suponer que lo que interesa es determinar el intervalo de factibilidad de la capacidad de la operación 1. Se puede hacer reemplazando el lado derecho con La cantidad Dx representa el cambio en la capacidad de la operación 1, arriba y abajo del valor actual de 430 minutos. La solución actual básica permanece factible si todas las variables básicas son no negativas, esto es, / l ' lx7 =I 0 \ 0 II 460 * I = I 420 230 \-2 1 l/\ / \20- 2Diy Estas condiciones conducen a las siguientes cotas de D{. (x 2 > 0):100 + Y > 0=»£>, & -200 (x3 > O):JC3 es independiente de Di (x6 > 0):20 - 2D, > 0 =»£>!< 10 Así, la solución básica actual permanece factible cuando -200 < D, < 10 Esto equivale a variar los minutos de disponibilidad de la operación en el intervalo 430 - 200 s (Capacidad de la operación 1) < 430 + 10 o sea 230 s (Capacidad de la operación 1) ^ 440 El cambio en el valor objetivo óptimo asociado con Dl es £>1;y1, siendo yl el valor por unidad (precio dual), en $ por minuto de la operación 1. Para ilustrar el uso del intervalo determinado, suponga que la capacidad de la operación 1 cambia desde su valor actual de 430 a 400 minutos. La solución básica actual permanece factibie, porque la nueva capacidad queda dentro del intervalo factible. Para calcular los valores nuevos de las variables se usa D x = 400 - 430 = -30 Así, x2\ x3 = x6) I 100 + 4 a \ 230 = \20 - 2(-30)/ / 85^ 2301 \ 80y Para calcular el cambio asociado en el valor óptimo de la función objetivo se calculan primero los precios duales, con el método 1 de la sección 4.2.3, esto es /,. , , . ,\ / Coeficientes originales \ / \ / Valores óptimos de \ , . . . . f .. ,, T/ Inversa \ . .,f , . = de las variables óptimas X V ,, . . , \ óptima / v las variables duales / ' \ básicas primales / Así, (yi, y2, y3) = (2, 5, o) o \-2 \ o = ( i , 2 , o) 1 1 / Esto quiere decir que el valor de la operación 1 por minuto es yx = $1, y que el cambio de la utilidad óptima es Dlyl = -30 X 1 = -$30. Recuerde yx = 1, el valor dado por unidad, sigue siendo válido sólo dentro del intervalo especificado: -200 < D, < 10 Todo cambio que salga de este intervalo causa no factibilidad; de aquí la necesidad de usar el método símplex dual para determinar la nueva solución, si es que existe. Para determinar los intervalos factibles D2 y D3, los cambios asociados con las operaciones 2 y 3 se pueden usar procedimientos parecidos (véase el problema 1, conjunto de problemas 4.5b). La determinación de Du D2 y D3 en la forma establecida, y su relación con los valores duales óptimos y¡, y2 y v3 sólo son válidas cuando se considera por separado cada recurso. Si se quisiera cambiar los tres recursos al mismo tiempo, se debe deducir un conjunto distinto de condiciones, con los elementos del lado derecho 430 + Du 460 + D2 y 420 + D3 (véase el problema 2, conjunto de problemas 4.5b). Adición de nuevas restricciones. La adición de una nueva restricción a un modelo existente puede llevar a uno de los dos casos siguientes: 1. La nueva restricción es redundante, lo que quiere decir que se satisface con la solución óptima actual y, por consiguiente, se puede eliminar por completo del modelo. 2. La solución actual viola la nueva restricción, y en este caso se puede aplicar el método símplex dual para recuperar la factibilidad. Observe que la adición de una nueva restricción, como en el caso 2, nunca puede mejorar el valor objetivo óptimo actual. Ejemplo 4.5-3 Suponga que TOYCO cambia el diseño de los juguetes, y que para el cambio se requerirá agregar una cuarta operación en las líneas de ensamble. La capacidad diaria de la nueva operación es 500 minutos, y los tiempos por unidad, para los tres productos en esta operación, son 3, 1 y 1 minutos, respectivamente. La restricción resultante se forma, por consiguiente, como sigue: 3*! + x2 + x} < 500 Esta restricción es redundante, porque queda satisfecha con la solución óptima actual x¡ = 0, x2 = 100 y x3 = 230. Eso quiere decir que la solución óptima actual permanece sin cambio. Ahora suponga que los tiempos por unidad, en TOYCO, para la cuarta operación son 3,3 y 1 minutos, respectivamente. Todos los datos restantes del modelo permanecen igual. En este caso, la cuarta restricción 3xj + 3x2 + x3 < 500 no queda satisfecha por la solución óptima actual. En consecuencia, debemos aumentar la nueva restricción a la tabla óptima actual, como sigue (x7 es una holgura): Básica *1 *2 x. x4 ■Vi Xi Solución z 4 0 0 1 2 0 0 1350 x2 i 4 1 0 i 2 i 4 0 0 100 32 0 0 3 1 0 1 0 -2 0 1 2 (1 1 0 1 0 0 0 230 :D 500 *3 Xf, .VT 2 3 1 Como las variables x_2 y x_3 son básicas, se deben sustituir y eliminar sus coeficientes de restricción en el renglón de x_7, lo que se puede hacer con la siguiente operación: Nuevo renglón de x_7 = Renglón anterior de x_7, — {3 X (Renglón de i j + l x (Renglón de x } )} En t onc es, la nu eva tab la es la s i gui ent e: xl X2 x} z 4 0 0 x2 i 43 2 1 00 0 0 1 0 Básica Xi *6 X-, 2 9 4 0 Xi 1 i 2 0 -2 3 La aplicación del método símplex dual dará como x2 = 90, x3 = 230 y z = $1330 (¡compruébela!). Xf, x7 Solución 2 0 0 1350 i 41 2 0 0 1 0 00 0 1 100 230 20 30 1 14 resultad o la solución óptima JE, = nueva 0, CONJUNTO DE PROBLEMAS 4.5C 1. En el modelo de TOYCO suponga que la cuarta operación tiene las siguientes especificaciones: la máxima producción, basada en 480 minutos diarios, es 120 unidades del producto 1, o bien 480 unidades del producto 2, o bien 240 unidades del producto 3. Determine la solución óptima, suponiendo que la capacidad diaria se limita a a) 570 minutos, b) 548 minutos. 2. Restricciones secundarías. En lugar de resolver un problema usando todas sus restricciones se puede comenzar identificando sus llamadas restricciones secundarias. Son las que se cree menos restrictivas en función de la solución óptima.^El modelo se resuelve usando las restricciones res tantes (primarias). A continuación se pueden aumentar las restricciones secundarias, una por una. Se descarta una restricción secundaria que se vea que satisface el óptimo disponible. El pro ceso continúa hasta que se hayan tenido en cuenta todas las restricciones secundarias. Cambios que afectan la optimalidad En esta sección se examinan dos soluciones particulares que podrían afectar la optimalidad de la solución actual: 1. Cambios en los coeficientes objetivo originales. 2. Adición de una nueva actividad económica (variable) al modelo. Cambios en los coeficientes de la función objetivo. Esos cambios sólo afectan la optimalidad de la solución. Por consiguiente requieren recalcular los coeficientes del renglón z, con el siguiente procedimiento: 1. Calcular los valores duales con los métodos 1 y 2 de la sección 4.2.3. 2. Usar los nuevos valores duales en la fórmula 2, sección 4.2.4, para determinar los nue vos coeficientes en el renglón de zSe presentarán dos casos: 1. El nuevo renglón de z satisface la condición de optimalidad, y la solución permanece sin cambio (sin embargo, el valor objetivo óptimo puede cambiar). 2. La condición de optimalidad no se satisface, y en ese caso se aplica el método símplex (primal) para recuperar la optimalidad. Ejemplo 4.5-4 En el modelo de TOYCO, suponga que la empresa tiene nueva política de precios para igualar la competencia. Bajo la nueva política, las utilidades por unidad son $2, $3 y $4, por los trenes, camiones y coches, respectivamente. La nueva función objetivo es Maximizar z = 2xl + 3x2 + 4x3 Así, (Nuevos coeficientes objetivo de x2, x3 y x6 básicas) = (3,4, 0) Las variables duales se calculan con el método 1 de la sección 4.2.3, como sigue: 0\ 1 1 Los coeficientes del renglón z se determinan como la diferencia entre los lados izquierdo y derecho de las restricciones duales (fórmula 2, sección 4.2.4). No es necesario recalcular los coeficientes de las variables básicas x_2, x_3 y x_6 en el renglón objetivo, porque siempre son iguales a cero, independientemente de los cambios hechos a los coeficientes objetivo (¡compruébelo!). Xl : y, + 3y 2 + y 3 - 2 = § + 3(|) + 0 - 2 = ^ x 4 : yx - 0 = | x5: y 2 - Q = \ Nótese que el lado derecho de la restricción dual asociada con x_1 es 2, el coeficiente nuevo en la función objetivo modificada. Los cálculos indican que en la solución actual, x_1 = 0 trenes, x_2 = 100 camiones y x_3 = 230 coches, permanece óptima. La nueva utilidad correspondiente se calcula como 2 X 0 + 3 X 100 + 4 X 230 = $1220. Ahora suponga que cambia la función objetivo de TOYCO a Maximizar z = 6x, + 3JC2 + 4x3 Los cambios correspondientes en el renglón de z se indican en la siguiente tabla (¡compruébelos!): Básica z ~í Xl 1 4 32 X-i *6 2 x2 x. x4 Xs (i 0 i s 1 0 0 0 1 0 i 2 0 -2 4 1 4 1 2 1 Solución 0 1220 0 100 0 1 230 20 Los elementos que están en las celdas sombreadas son las nuevas z¡ - c¡ para las variables no básicas x_1, x_4 y x_3. Todos los elementos restantes de la tabla son iguales a los de la iteración original óptima. Entonces, la nueva solución óptima se determina haciendo entrar a x_1 y salir a x_6, con lo que se obtiene x_1 = 10, x_2 = 102.5, x_3 = 215 y z = $1227.50 (¡compruébelo!). Intervalo de optimalidad de los coeficientes objetivo. Otra forma de investigar el efecto de los cambios en los coeficientes de la función objetivo es calcular el intervalo para el que cada coeficiente individual mantenga la solución óptima actual. Esto se hace reemplazando el Cj actual con c; + dp donde dj representa la cantidad (positiva o negativa) de cambio. Ejemplo 4.5-5 Suponga que la función objetivo del modelo de TOYCO cambia a Maximizar z = (3 + d i)x¡ + 2x2 + 5x3 Determinar el intervalo de optimalidad para el cambio dv Seguiremos el procedimiento que se describió arriba. Sin embargo, observe que, como xx no es básica en la tabla óptima, los valores duales no se verán afectados por este cambio y en consecuencia permanecerán igual que en el modelo original (es decir, yx = 1, y2 = 2, y3 = 0). En realidad, como xx es no básica, sólo se afectará su coeficiente en el renglón z, y todos los demás coeficientes de ese renglón permanecen sin cambio (¿por qué?). Eso quiere decir que se necesita aplicar la fórmula 2, sección 4.2.4 a la restricción dual asociada sólo con xx, esto es, xv Vi + 3v 2 + v 3 - (3 + d x ) = 1 + 3 X 2 + 0 - (3 + d x ) = 4 - d x Como el modelo de TOYCO es un problema de maximización, la solución original permanecerá óptima siempre que 4 - Í/J > 0 osea dx s 4 Esto equivale a decir que la solución actual permanece óptima siempre que el coeficiente objetivo q (= 3 + di) de je, no sea mayor que 3 + 4 = $7. Ahora se considerará el cambio d2 en el coeficiente objetivo de x2: Maximizar z = 3x¡ + (2 + d2)x2 + 5x3 La diferencia en este caso es que x2 es básica y su cambio afectará los valores duales para después afectar todos los coeficientes de todas las variables no básicas del renglón z (recuerde que los coeficientes de las variables básicas en el renglón z siempre son iguales a cero, independientemente de cualquier cambio en la función objetivo). Al aplicar el método 1, sección 4.2.3, para calcular los valores duales se obtiene: / \ ~\ 0\ nuevo(y1,y2,y3) = (2 + rf2, 5, 0) 0 \ 0 = (1 + £ 2 - = 0) 1-2 1 1/ Se pueden calcular los coeficientes de las variables no básicas en el renglón z como sigue: | | x 4 : y, -0 = (1 + T) - 0 i =l+§>0 x5:y2-0 = (2-|)-0 = 2 - | a= 0 Las desigualdades (1), (2) y (3), respectivamente, dan como resultado sea d 2 < 16, d 2 > -2 y d 2 < 8 o -2 < d 2 < 8 De igual manera, dada c 2 = 2 + d2> se obtiene 0 < c, < 10 (1) (2) (3) Adición de una nueva actividad. La adición de una nueva actividad en un modelo de programación lineal equivale a agregar una nueva variable. En forma intuitiva, la adición de una nueva actividad sólo es deseable si es rentable, esto es, si mejora el valor óptimo de la función objetivo. Esta condición se puede verificar aplicando la fórmula 2, sección 4.2.4, a la nueva actividad. Como esa nueva actividad no es todavía parte de la solución, se puede considerar como una variable no básica. Eso quiere decir que los valores duales asociados con la solución actual permanecen invariables. Si la fórmula 2 indica que la nueva actividad satisface la condición de optimalidad, la actividad no es rentable. En caso contrario, es mejor tener en cuenta la nueva actividad. Ejemplo 4.5-6 TOYCO reconoce que los trenes de juguete no se producen en la actualidad porque no son rentables. La empresa quiere reemplazar los trenes con un nuevo producto, un carro de bomberos de juguete, que se arme en las instalaciones existentes. TOYCO estima que la utilidad por carro de bomberos es $4 y que los tiempos de ensamble por unidad son 1 minuto en cada una de las operaciones 1 y 2, y 2 minutos en la operación 3. Sea $x_7$ el nuevo producto, el carro de bomberos. Como (y_1, y_2, y_3) = (1, 2, 0) son los valores duales óptimos, el costo reducido de x_7 se puede calcular como sigue: 1 y_1 + ly_2 + 2y_3 - 4 = 1 x 1 + 1 x 2 + 2 X 0 - 4 = -1 Según este resultado, conviene económicamente incluir a x_7, en la solución básica óptima. Para obtener el nuevo óptimo se calcula primero su columna de restricciones con la fórmula 1, sección 4.2.4, como sigue: / 2i Columna de restricción de x_7 =I \ 0 4I Así, se debe modificar la tabla símplex actual como sigue: Básica z *2 X\ x2 Xi 4 0 0 14 1 X3 3 Xf, 2 0 0 X4 x5 -1 1 2 0 1350 0 1 4 12 1 4 0 100 1 0 1 2 12 0 1 230 20 1 0 -2 1 Solución