You are on page 1of 45

Dualidad y anlisis de sensibilidad en programacin lineal

3 Dualidad y anlisis de sensibilidad en programacin lineal


3.1 Introduccin
En el tema anterior se describieron las caractersticas de los modelos de programacin lineal, as como los diferentes caminos a partir de los que podemos encontrar la solucin: resolucin grfica, algoritmo smplex o uso de programas informticos. En este tema, se describen dos tcnicas tambin relacionadas con la programacin lineal: la dualidad y el anlisis de sensibilidad. La segunda seccin del tema desarrolla la teora asociada a la dualidad: cmo se obtiene el dual de un programa lineal, la interpretacin del concepto de precio sombra y una serie de teoremas y resultados tiles para la interpretacin de un modelo lineal. La tercera seccin muestra las posibilidades del anlisis de sensibilidad de la programacin lineal. Se trata de analizar cmo vara la solucin del modelo (tanto el valor de la funcin objetivo como el valor de las variables de decisin) en funcin de dos conjuntos de parmetros del modelo: los coeficientes de coste de la funcin objetivo y los trminos independientes de las restricciones. El tema concluye con un problema resuelto y con un glosario de los trminos ms relevantes introducidos en el mismo.

3.2 Dualidad en programacin lineal


Dado un modelo lineal determinado, podemos definir otro modelo lineal que nos permitir obtener propiedades interesantes del primero y que ser su dual. La solucin del modelo dual permite obtener interesantes resultados, relativos al anlisis de sensibilidad de los trminos independientes. Ms concretamente, para los rangos de valores de los trminos independientes para los que se mantiene la base ptima (que podemos conocer mediante el anlisis de sensibilidad), la solucin del dual nos permite conocer el precio sombra de la restriccin, que ser la variacin de la funcin objetivo por unidad incrementada del trmino independiente de la restriccin. En la primera parte de esta seccin, encontramos cmo hallar el dual de un modelo lineal. En las siguientes, se define con ms precisin el concepto de precio sombra, cmo obtener la solucin del dual a partir de la del primal, y su aplicacin al anlisis de sensibilidad. Finalmente, se enuncian algunas propiedades de inters, como el teorema de la holgura complementaria y las relaciones entre las soluciones del primal con las soluciones del dual.

3.2.1 Reglas de obtencin del dual Si el modelo est escrito en la forma cannica, el dual resulta singularmente fcil de obtener. Por ejemplo, partiendo de la forma cannica del modelo de mximo:

Primal [MIN] z = c x A x b xj 0

Dual [MAX] w = b u A u c ui 0

Si se trata de obtener el dual del dual, se obtendr el primal: se trata de una correspondencia biunvoca. De forma ms general, las reglas para obtener el dual de cualquier modelo lineal se indican en la tabla adjunta:
Primal Dual Maximizar la F.O. Una variable no negativa Una variable no positiva Una variable no restringida en signo Una restriccin menor o igual Una restriccin mayor o igual Una igualdad Dual Primal Minimizar la F. O. Una restriccin mayor o igual Una restriccin menor o igual Una igualdad Una variable no negativa Una variable no positiva Una variable no restringida en signo

En los ejemplos 4.2.1, 4.2.2 y 4.2.3 (adems del ejemplo 5), se muestran diversos ejemplos de obtencin del dual. 3.2.2 Interpretacin de las variables duales: precios sombra Cada variable del dual est asociada a una restriccin del programa primal, y su valor ptimo representa el incremento de la funcin objetivo del primal por cada unidad que aumente el trmino independiente de dicha restriccin, siempre que este ltimo aumento no suponga un cambio de base. Es, por tanto, el precio adicional mximo que estamos dispuestos a pagar por el incremento del recurso. Los valores de estas variables se denominan precios sombra. De manera analtica, podemos escribir que la variable dual de la restriccin i representar:

u i =

z bi

Los precios sombra obtenidos a partir del ptimo del dual sern vlidos siempre que no vare la base ptima. En consecuencia, los resultados obtenidos del dual estn ntimamente ligados al anlisis de sensibilidad de los trminos independientes, tal como se muestra en el ejemplo 2.4.1. Ejemplo 2.2.1 Problema de la granja El problema de la granja puede modelizarse mediante un modelo lineal de mximo en forma cannica, por lo que su dual tambin estar en forma cannica. Puede observarse que: a) b) Los coeficientes de la funcin objetivo son los trminos independientes de las restricciones del dual y viceversa. Los coeficientes tecnolgicos de las restricciones en el primal son las columnas de los coeficientes tecnolgicos asociados a cada variable del primal. Ntese, por ejemplo, cmo la primera restriccin tiene los coeficientes asociados a la variable CEB.

Dualidad y anlisis de sensibilidad en programacin lineal

Primal [MAX]z = 50CEB + 80LEC sujeto a: CEB 80 CEB + LEC 110 4CEB + 8LEC 720 CEB, LEC 0

Dual [MIN]w = 80CUO + 110ARE + 720TRA sujeto a: ARE + 8TRA 80 CUO + ARE + 4TRA 50 CUO, ARE, TRA 0

Recurdese que CEB y LEC son la superficie a cultivar de cebada y lechugas, respectivamente, por el agricultor para maximizar su beneficio. El dual del problema tiene tres variables, tantas como restricciones. Cada variable dual est asociada a una restriccin: 1. La primera restriccin del primal tiene asociada la variable CUO. Dicha restriccin indicaba la cota mxima de cebada que poda cultivarse. El valor de dicha variable indicar el incremento del beneficio del agricultor por unidad incrementada de la cantidad mxima de cebada. La segunda restriccin nos dice que la mxima rea cultivable es de 110. Su variable dual es ARE. Representa el beneficio adicional obtenido al aumentar el rea cultivable en una unidad. Tambin representa el precio mximo a pagar por una unidad ms de rea cultivable. Finalmente, con la tercera restriccin disponemos slo de 720 horas de trabajo. Su variable dual es TRA. Representa el incremento del beneficio al contratar horas de trabajo adicionales, as como el precio mximo a pagar por dichas horas.

2.

3.

Ejemplo 2.2.2 Problema de la dieta En ese caso nos encontramos con un primal que es un modelo de mnimo escrito en forma cannica. Se trata, en este caso, de encontrar la dieta de coste mnimo a partir de un conjunto de alimentos (P, Q, M, G, E) que cubra con unas necesidades mnimas de nutrientes (protenas en la primera restriccin y caloras en la segunda). El dual tendr dos variables (tantas como restricciones el primal) y cinco restricciones (tantas como variables el primal), y estar tambin en forma cannica: Primal Funcin Objetivo: [MIN]z = 35P + 130Q + 100M + 75G + 30E Restricciones: 8,3P + 24,9Q + 0,4M + 6,0G + 5,1E 70 246P + 423Q + 793M + 93G + 26E 3000 P, Q, M, G, E 0 Dual Funcin Objetivo: [MAX]w = 70u1 + 3000u2 Restricciones: 8,3u1 + 246u2 35 24,9u1 + 423u2 130 0,4u1 + 793u2 100 6u1 + 93u2 7 5,1u1 + 26u2 30 u1, u2 0

Las variables del dual u1 y u2 representan respectivamente los incrementos en el coste de la dieta que supone la exigencia en el contenido de la misma de un gramo ms de protenas o una kilocalora ms. Ejemplo 2.2.3 Transporte barato En este caso, nos encontramos ante un modelo lineal que busca minimizar el coste de transporte desde tres orgenes (i = 1, 2, 3) a cuatro destinos (j = 1, 2, 3). Se trata de un modelo de 4 3 = 12 variables y 4 + 3 = 7 restricciones. El dual tendr 7 variables, tantas como restricciones del primal: tres asociadas a las restricciones de capacidad en el origen (u1, u2, u3), y cuatro asociadas a los destinos (v1, v2, v3, v4). Por ser las restricciones de igualdad, las variables duales no estn restringidas en signo. En cuanto a las restricciones del dual, sern 12, tantas como variables del primal. Cada variable xij tendr asociada una restriccin de la forma: ui + vj cij El signo de la desigualdad viene determinado por el hecho de que las xij son no negativas. En definitiva, el primal y el dual se muestran a continuacin: Primal Funcin Objetivo: [MIN] z = 8x11 + 13x12 + 9x13 + 8x14 + 9x21 + 11x22 + 12x23 + 10x24 + 7x31 + 8x32 + 10x33 + 9x34 Restricciones: x11 + x12 + x13 + x14 = 60 x21 + x22 + x23 + x24 = 70 x31 + x32 + x33 + x34 = 80 u1+v4 8 u2+v4 10 u3+v4 9 x11 + x21 + x31 = 75 x12 + x22 + x32 = 45 x13 + x23 + x33 = 40 x14 + x24 + x34 = 50 x11, x12, x13, x14, x21, x22, x23, x24, x31, x32, x33, x34 0 Las variables del dual ui representan los incrementos de coste por cada unidad adicional ofertada en cada centro emisor i, mientras que las variables del dual vj se corresponden con los incrementos de coste por cada unidad adicional solicitada por un centro receptor j. 3.2.3. Obtencin de la solucin del dual El dual de un modelo lineal es otro modelo lineal, que puede solucionarse (despus de las oportunas transformaciones, si alguna de las variables resultantes es no negativa o no restringida en signo) del Dual Funcin Objetivo: [MAX] w = 60u1 + 70u2 + 80u3 + 75v1 + 45v2 + 40v3 + 50v4 Restricciones: u1+v1 8 u2+v1 9 u3+v1 7 u1+v2 13 u2+v2 11 u3+v2 8 u1+v3 9 u2+v3 12 u3+v3 10 ui, vj no restringidas en signo

Dualidad y anlisis de sensibilidad en programacin lineal

mismo modo que el primal. Sin embargo, en general puede obtenerse la solucin del dual resolviendo el primal. En los dos ejemplos siguientes, veremos dos modos de obtener la solucin ptima del dual: a) b) A partir de la tabla smplex ptima del primal, en el ejemplo 4.3.1. La solucin obtenida nos permitir obtener un importante resultado: el teorema de la holgura complementaria. Mediante un programa informtico. Dado que en general los programas de resolucin de modelos lineales realizan el anlisis de sensibilidad, podemos realizar un anlisis ms exacto de la evolucin de los precios sombra. Todo ello se muestra, con un modelo lineal sencillo, en el ejemplo 4.4.1.

Ejemplo 2.3.1 Tablas smplex del problema de la granja Las tablas smplex ptimas obtenidas para el primal y para el dual son: Tabla smplex ptima del programa primal:
Base H1 CEB LEC Coefic. 0 50 80 Valor (RHS) 40 40 70 7600 50 CEB 0 1 0 0 80 LEC 0 0 1 0 0 H1 1 0 0 0 0 H2 -2 2 -1 -20 0 H3 0.25 -0.25 0.25 -7.5

Tabla smplex ptima del programa dual:


Base TRA ARE Coefic. 720 110 Valor (RHS) 7.5 20 7600 80 CUO -0.25 1 40 110 ARE 0 1 0 720 TRA 1 0 0 0 D1 -0.25 1 70 0 D2 0.25 -2 40

Del examen de las dos tablas ptimas, podemos deducir algunas propiedades interesantes: 1. El valor de la funcin objetivo del dual en el ptimo es igual que el valor de la funcin objetivo del primal en el ptimo. Esta propiedad se cumple de manera general: c x* = b u* 2. 3. La primera restriccin del primal se cumple con holgura (H1= 40), y su variable dual asociada es igual a cero en el ptimo del dual (CUO = 0). Las otras dos restricciones se cumplen sin holgura (H2=H3=0) y sus variables asociadas TRA y ARE son positivas. Se trata del precio sombra asociado a las restricciones y tiene la interpretacin siguiente: ARE = 20 indica que si aumentamos la cantidad de tierra disponible en b2, la funcin objetivo aumenta en 20 b2. Por lo tanto, este es el mximo precio a pagar por tierra adicional.

TRA = 7,5 indica que si aumentamos la cantidad de trabajo en b3, la funcin objetivo aumenta en 7,5 b3. As que esta es la cantidad mxima a pagar por trabajo adicional.

No necesitamos resolver el dual para obtener el ptimo u* si disponemos de la tabla smplex ptima del primal y el modelo no tiene restricciones de igualdad. La solucin del dual se obtiene a partir de los coeficientes de coste reducidos de las variables de holgura y exceso de las restricciones: a) b) La variable dual asociada a una restriccin de es igual al coeficiente de coste reducido de su variable de holgura asociada en la tabla smplex ptima del primal, cambiada de signo. La variable dual asociada a una restriccin de es igual al coeficiente de coste reducido de su variable de exceso asociada en la tabla smplex ptima del primal.

En las tablas puede observarse cmo podemos encontrar la solucin del dual en el primal y la del primal en el dual. 3.2.4 Teorema de la holgura complementaria La propiedad observada en el ejemplo anterior es generalizable, dado el carcter de precio sombra de las variables duales. En general, podremos decir que: 1. 2. Si una restriccin se cumple con holgura o exceso, su variable dual asociada es 0: al no ser activa la restriccin, los incrementos del trmino independiente no afectarn al valor del ptimo. Si una restriccin se cumple con el signo de igualdad, su variable dual asociada puede ser diferente de 0: al ser la restriccin activa, cabr esperar que el ptimo, y en consecuencia el valor de la funcin objetivo, varen al modificar el valor de su trmino independiente.

Este resultado es el teorema de la holgura complementaria, que puede expresarse como sigue: (u*) ( A x* - b ) = 0 El primer trmino representa la solucin ptima del dual, y el segundo la holgura de las restricciones en el ptimo. Se pretende expresar, de esta manera, que para cada una de las restricciones al menos uno de los dos trminos ha de ser cero. El siguiente ejemplo muestra tambin cmo se cumple la holgura complementaria. Ejemplo 2.4.1 Solucin problema de reparto mediante programa informtico Un taller mecnico puede fabricar dos tipos de productos, P1 y P2. El beneficio unitario obtenido es de 20 y 60, respectivamente. Para fabricar estos dos productos dispone de dos recursos, horas hombre (HH) y horas mquina (HM). En lo que respecta a las horas hombre, dispone de 2.700, y fabricar una unidad de P1 consume 30 HH. En cuanto a las HM, sabemos que dispone de 850, y que fabricar una unidad de P1 consume 5 HM, y una de P2 10 HM. Adems, las condiciones contractuales le obligan a fabricar un mnimo de 95 unidades, sean de P1 o de P2. Para maximizar el beneficio, puede plantearse el siguiente modelo, en el que P1 y P2 es la cantidad a producir en el ptimo de cada producto. Deben plantearse tres restricciones: a) b) Una restriccin HH que limita a 2.700 el nmero de HM. Una restriccin HM que limita a 850 el nmero de HH.

Dualidad y anlisis de sensibilidad en programacin lineal

c)

Una ltima restriccin PM que impone un nmero mnimo de 95 unidades, entre P1 y P2.

El modelo, introducido en el programa LINDO, es:


MAX ST HH) HM) PM) END 20P1 + 60P2 30P1 + 20P2 < 2700 5P1 + 10P2 < 850 P1 + P2 > 95

Una vez ejecutado el programa, se obtiene la siguiente solucin:


PTIMO OBTENIDO EN EL PASO VALOR FUNCIN OBJECTIVO 1) VARIABLE P1 P2 4900.000 VALOR 20.000000 75.000000 COSTE REDUCIDO 0.000000 0.000000 2

FILA HH) HM) PM)

HOLGURA O MARGEN 600.000000 0.000000 0.000000 2

VARIABLES DUALES 0.000000 8.000000 -20.000000

NO. ITERACIONES=

El programa nos da el valor de la variable dual para cada restriccin (en rojo). El dual de este modelo es: [MIN] w =2700HH + 850HM + 95PM 30HH + 5HM + PM 20 20HH + 10HM + PM 60 HH, HM 0 PM 0 La interpretacin que cabe hacer del resultado es: HH = 0: Esta variable muestra que, si aumentamos el nmero de HH, no se obtiene beneficio adicional. Este resultado concuerda con el hecho de que tenemos una holgura de 600 en HH (en azul): el efecto de aadir HH ser el de aumentar dicha holgura, sin que el ptimo ni el valor de la funcin objetivo se vean afectados. HM = 8: Aumentar las horas mquina supone (mientras se mantenga la base ptima) aumentar el beneficio, a razn de 8 unidades por cada HM adicional. Dado que estamos variando el trmino independiente, el ptimo se modificar (y el valor de la funcin objetivo) si variamos el nmero mximo de HH.

PM = 20: Dado que el primal es un programa de mximo, y la restriccin de nmero mnimo es de mayor o igual, la variable PM debe ser no positiva. Esta variable muestra que la empresa puede obtener un gran rendimiento de reducir la cantidad mxima. En los lmites de la base ptima actual, reducir la cantidad mxima en una unidad supone aumentar en 20 la funcin objetivo. Ello se debe a que, liberado de producir una cantidad mnima, la empresa puede dejar de producir P1 para producir ms cantidad del ms rentable P2. Estas interpretaciones son vlidas para los intervalos de valores de los trminos independientes para los que se mantiene la base ptima, que son suministrados por el propio programa:
RANGOS PARA LOS QUE NO CAMBIA LA BASE: RANGOS TRMINOS INDEPENDIENTES INCREMENT0 DECREMENT0 PERMITIDO PERMITIDO INFINITO 600.000000 100.000000 300.000000 15.000000 10.000000

FILA HH HM PM

VALOR ACTUAL 2700.000000 850.000000 95.000000

Para este contexto observamos que los resultados son vlidos: 1. 2. 3. Para un incremento ilimitado de las HH Para un incremento de hasta 100 HM Para un decremento de hasta 10 unidades mximas a fabricar

Una vez rebasados estos valores, la base ptima cambia y debe rehacerse el anlisis con los nuevos valores.

3.2.5 Caractersticas de las soluciones del dual y del primal Asimismo, existen algunas propiedades de inters a cerca de las soluciones del primal y del dual: a) Si el primal tiene solucin ptima acotada x*, el dual tambin tendr solucin ptima acotada u*. Ambas soluciones darn el mismo valor de la funcin objetivo: c x* = b u* b) c) Si uno de los dos problemas tiene ptimo no acotado, el otro no tendr solucin ( la regin factible ser un conjunto vaco). Si uno de los dos problemas no tiene solucin, el otro puede tener ptimo no acotado, o no tener tampoco solucin.

Dichas relaciones se muestran en el siguiente esquema:

Dualidad y anlisis de sensibilidad en programacin lineal

PRIMAL ptimo propio

DUAL ptimo propio

ptimo impropio

ptimo impropio

Sin soluciones

Sin soluciones

3.3 Anlisis de sensibilidad


El anlisis de sensibilidad es una herramienta especialmente til cuando no tenemos una certeza absoluta sobre los valores que se han dado a los trminos independientes de las restricciones (en muchas ocasiones asociados a la limitacin de los recursos) o los coeficientes de la funcin objetivo (coeficientes de coste). Para estos casos el anlisis de sensibilidad consiste en estudiar cmo evoluciona el ptimo y el valor de la funcin objetivo en el ptimo ante variaciones de dichos trminos independientes y coeficientes. El anlisis de sensibilidad propiamente dicho estudia los intervalos para los cuales la modificacin de un valor (coeficiente de la funcin objetivo o trmino independiente) en el programa lineal, de forma individualizada, no cambia las variables que componen la base de nuestra solucin. Hallando, para el rango de valores definido en el intervalo, la evolucin de la funcin objetivo (expresado a travs de los precios sombra). Por otro lado, el anlisis paramtrico, que no es ms que un anlisis de sensibilidad en profundidad de los trminos independientes de las restricciones, estudia las variaciones de la solucin ptima ms all de la solucin obtenida con los valores iniciales de los parmetros. Se consideran todos los valores posibles del trmino independiente, desde - a +, analizando las variables que entran y salen de la base (cambios de base), as como la evolucin de los precios sombra. Ciertamente, el anlisis de sensibilidad puede ir ms all que un estudio sobre la evolucin de los coeficientes de la funcin objetivo o de los trminos independientes, por ejemplo, el estudio de los coeficientes tecnolgicos de la matriz A. No obstante la aplicacin que este hecho representa es menos habitual, pues suele ser un dato bastante fiable. Posiblemente por este motivo no sea habitual encontrarlo implementado en los mdulos de programas informticos. Otros aspectos tenidos en cuenta en la bibliografa ms clsica sobre anlisis de sensibilidad son la introduccin de nuevas variables o de nuevas restricciones, situacin que se vuelve trivial cuando el programa lineal se resuelve informticamente, pues slo hay que insertarlas y volver a ejecutar la aplicacin. 3.3.1 Anlisis de sensibilidad: resolucin grfica Para ilustrar de forma clara y sencilla en qu consiste el anlisis de sensibilidad, utilizaremos nuevamente la metodologa grfica de resolucin con el ejemplo de dos variables de la granja.

10

Ejemplo 3.1.1 Problema de la granja Recordemos que el modelo inicial del problema de la granja era: [MAX]z = 50CEB + 80LEC sujeto a: 4CEB + 8LEC 720 CEB + LEC 110 CEB 80 CEB, LEC 0 Las 3 restricciones de este modelo nos definen una regin factible (o dominio) en el plano CEB/LEC donde se encuentran las infinitas soluciones factibles. Grficamente lo representaremos por la siguiente figura: (1) (2) (3)

Por otro lado, sabemos identificar las soluciones factibles en los vrtices (A, B, C, D y O), una de las cuales ser la solucin ptima. Finalmente, existira un segundo plano, perpendicular al del papel, y que representara el plano de la funcin objetivo. El punto ptimo ser aquel de la regin factible que est a mayor distancia (puesto que la funcin es de maximizacin) entre el plano de la regin factible y el plano de la funcin objetivo. Dado que tenemos resuelto el programa lineal, veamos que la tabla smplex nos da la solucin en el punto:
Base H3 CEB LEC Coefic. 0 50 80 Valor (RHS) 40 40 70 7600 50 CEB 0 1 0 0 80 LEC 0 0 1 0 0 H3 1 0 0 0 0 H2 -2 2 -1 -20 0 H1 0.25 -0.25 0.25 -7.5

CEB* = 40 LEC* = 70 H3* = 40

Dualidad y anlisis de sensibilidad en programacin lineal

11

Para cuyo valor de la funcin objetivo es mximo en la regin factible y toma un valor de beneficio de 7600. Grficamente, este hecho significa que el punto ptimo se encuentra en la interseccin de las restricciones (1) y (2), concretamente es la solucin factible en el vrtice que hemos denominado B. Presentando una holgura respecto a la restriccin (3) de H3 = 40. El objeto de este ejemplo es ir ms all de lo estudiado hasta ahora, adentrndonos en el mundo de las hiptesis y la sensibilidad que presenta el ptimo frente a ellas. Empezaremos con hiptesis referentes a los trminos independientes de las restricciones: Cambios en el trmino independiente de las restricciones Lo primero que deberamos notar es que dos de las restricciones son activas las rectas (1) y (2) mientras que la (3) es NO activa, es decir, tiene holgura. El hecho de que una restriccin sea activa tiene ciertas implicaciones, puesto que indica que el recurso asociado a dicha restriccin ser escaso y nos limita un incremento de la funcin objetivo. Como se ha visto anteriormente, las restricciones activas tendrn un precio sombra diferente de cero. Esto significa que estaramos dispuestos a negociar un incremento unitario del recurso a un precio inferior al precio sombra (valor que aumenta la funcin objetivo por el aumento unitario del recurso). En este caso, los precios sombra son positivos: si aumentamos las horas de trabajo o la superficie cultivable, aumentaremos el beneficio. Por el contrario, una restriccin NO activa est asociada a un recurso NO escaso, del cual tenemos disponibilidad a un nivel de produccin ptimo; por tanto, ser fcil concluir que su precio sombra asociado ser nulo. Al tener holgura en dicho recurso no estaremos dispuestos a pagar ningn precio por un incremento unitario del recurso y un incremento o decremento pequeo de su disponibilidad (ms adelante veremos los lmites para los que es vlido este anlisis) no afectar al valor de la funcin objetivo en el ptimo. Lo expuesto hasta ahora lo trasladaremos a la exposicin grfica: un cambio en el trmino independiente de una restriccin implica que la restriccin se mover paralelamente a su posicin actual. En el caso de la granja, un incremento en el valor del trmino independiente de una restriccin implica que dicha restriccin se desplazar hacia el exterior de la regin factible ampliando el rea de la regin factible; consecuentemente, el ptimo se ver desplazado si la restriccin es activa, tal y como muestra el grfico siguiente:

12

El caso de la recta (4) equivale a la frontera CEB + LEC = 120, mientras que el de la recta (5) equivaldra a la frontera CEB + LEC = 90. Recordemos que el valor actual es CEB + LEC = 110. Un hipottico aumento o reduccin de los recursos disponibles, en este caso de las hectreas de terreno para cultivar, deforma la regin factible, desplazando el ptimo si la restriccin estudiada es activa. El desplazamiento del ptimo implica, as mismo, una variacin del valor de la funcin objetivo resultado de multiplicar el precio sombra de la restriccin por el incremento del trmino independiente. En nuestro ejemplo sabemos que el precio sombra de la restriccin (2) asociada al rea tiene un valor de 20; por tanto, si aumentramos nuestra rea de cultivo de 110 a 120 Ha, nuestra funcin objetivo aumentara en 20*10=200 unidades, pasando de un beneficio de 7600 a uno de 7800. Si, por el contrario, nuestra rea de cultivo fuera de 90 Ha, la variacin sera en sentido opuesto 20*(-20)=400, pasando el beneficio de 7600 a 7200. No obstante, este incremento no se mantendr indefinidamente. Es fcil comprender que si tuviramos un terreno ilimitado nuestro beneficio no sera infinito, puesto que muy posiblemente la limitacin de otros recursos (mano de obra disponible o cuota de hectreas de cebada) nos limitaran la produccin. Este ltimo hecho est asociado a que las condiciones que configuran nuestra solucin (la base) habr cambiado. El anlisis de sensibilidad resultar interesante, porque nos indicar el rango de valores para cada trmino independiente de modo que no se modifique la base de la solucin ptima (es decir, el ptimo se encuentre en la interseccin de las mismas restricciones), mantenindose adems, para el citado rango de valores del trmino independiente, el valor del precio sombra de la restriccin. Es importante recordar que, como consecuencia de un desplazamiento de una restriccin activa, se modificarn tanto el valor de las variables de decisin de la base como el valor de la funcin objetivo.

Cambios en los coeficientes de coste Los cambios en los coeficientes de la funcin objetivo provocan un cambio en la inclinacin del plano oblicuo descrito por la funcin objetivo. Intentaremos representar la funcin objetivo sobre el plano CEB/LEC como la proyeccin sobre el plano CEB/LEC de la recta de interseccin entre el plano definido por la funcin objetivo y un plano paralelo al plano CEB/LEC situado a una altura Z* (valor de la funcin objetivo en el ptimo). Esta recta proyectada sobre el plano CEB/LEC pasar por el punto de la solucin factible en el vrtice ptima y definir una direccin perpendicular a la direccin de mximo crecimiento de la funcin objetivo (o lo que es lo mismo, dicha recta muestra una direccin de crecimiento nulo de la funcin objetivo). La siguiente figura nos muestra las proyecciones de las rectas de interseccin entre planos paralelos al plano CEB/LEC a alturas de 4000 (4), 7600 (5) y 9600 (6) con el plano de la funcin objetivo. Se puede observar que la recta de interseccin situada a una altura de 7600 pasa por el vrtice de la regin factible que es ptimo.

Dualidad y anlisis de sensibilidad en programacin lineal

13

Si modificamos los coeficientes de la funcin objetivo, cambiar la direccin de mximo crecimiento y, por tanto, cambiar tambin la pendiente de la recta proyectada, tal y como se muestra en la siguiente figura:

En el grfico presentado se ha ido modificando el valor del coeficiente asociado a la variable CEB. Recordemos que la expresin original de la funcin objetivo era: [MAX]Z = 50 CEB + 80 LEC , proyeccin que coincide con la recta (4) y cuya interseccin se situaba a una distancia (altura, valor de la funcin objetivo) de 7600 respecto al eje FO. En las rectas sucesivas hemos aumentado el coeficiente de CEB, resultando la funcin objetivo con la siguiente expresin: (5) [MAX]Z = 60 CEB + 80 LEC (6) [MAX]Z = 80 CEB + 80 LEC (7) [MAX]Z = 100 CEB + 80 LEC interseccin a distancia 8000 interseccin a distancia 8800 interseccin a distancia 10400

Queda claro, pues, que el hecho de aumentar el beneficio por hectrea de cebada conlleva un aumento en el beneficio total (como era de esperar).

14

No obstante, cuando el coeficiente de CEB toma un valor de 80 sucede un hecho destacable: la proyeccin de la recta interseccin tiene una direccin paralela a la restriccin (2), lo que implica que el ptimo no se encontrar slo sobre el vrtice B, sino que se encontrar sobre el vrtice B, sobre el C, y sobre los infinitos puntos que configuran la arista de unin BC, obtenindose un ptimo mltiple. Si llegados a este punto, aumentramos un infinitsimo el coeficiente de CEB, nos encontraramos con un cambio de base y el ptimo pasara de ubicarse en el vrtice B a ubicarse en el vrtice C; este hecho sucede en el caso (7) donde la solucin no es B sino C (80,30). Lo que estudia el anlisis de sensibilidad de los coeficientes de coste es precisamente dnde se encuentra el lmite superior e inferior de cada coeficiente para que el ptimo se mantenga en el mismo vrtice (solucin) que en el programa original, sabiendo que en el lmite (superior e inferior) el ptimo ser mltiple. Cabe recordar que a pesar de que el valor de las variables de decisin de la solucin ptima no cambia puesto que no cambia la solucin (ni se deforma la regin factible), el valor de la FO en la solucin cambia al modificarse el valor de sus coeficientes. Anlisis paramtrico El anlisis paramtrico se aplica cuando la variacin que sufre el trmino independiente de una restriccin traspasa los lmites de los valores para los cuales se mantiene la base. El anlisis paramtrico tiene en cuenta una serie de intervalos sucesivos en la evolucin del trmino independiente desde a +. En cada uno de estos intervalos existir una base (vrtice) que indicar cul es la solucin ptima para el intervalo, cules son los precios sombra (que se mantendrn) para las restricciones activas en el intervalo y cul es el valor de la funcin objetivo en el lmite superior e inferior del intervalo. Pudindose calcular su valor para el resto de puntos intermedios multiplicando el incremento respecto al lmite por el valor del precio sombra. Estudiemos grficamente qu implica rebasar los lmites del intervalo de mantenimiento de la base para el anlisis de sensibilidad, y para lo cual ser necesario un anlisis paramtrico. Si observamos la siguiente figura, podremos notar que la restriccin (2) ha superado los lmites del anlisis de sensibilidad, superior en el caso de (7) e inferior en el caso de (6).

Dualidad y anlisis de sensibilidad en programacin lineal

15

En el caso que la restriccin (2) tome la forma: CEB + LEC 60 (6)

la regin factible habra quedado reducida al rea interior al tringulo definido por CEB = 0, LEC = 0 y CEB + LEC = 60. El lmite de terreno disponible para cultivar sera mucho ms restrictivo que las horas de mano de obra disponible o el lmite de cultivar 80 hectreas de cebada, y los vrtices de la regin factible seran los tres vrtices del tringulo. Si los coeficientes de la funcin objetivo son 50 y 80 para la cebada y la lechuga respectivamente, est claro que cultivaramos las 60 Ha de nuestro terreno exclusivamente con lechuga. Por otro lado, si lo que sucediera es que el trmino independiente de la restriccin (2) excede su valor del anlisis de sensibilidad, como ocurre en el caso de (7): CEB + LEC 160 (7) En este caso, la regin factible sera el espacio contenido dentro de las restricciones (1) y (3) se puede avanzar que el punto ptimo sera el vrtice de interseccin entre (1) y (3). La restriccin (2) no sera activa y en consecuencia tendra un precio sombra nulo. Puede observarse, por lo tanto, que el anlisis paramtrico requiere de un conocimiento mucho ms profundo del problema y de la modelizacin que el anlisis de sensibilidad, y que en cada anlisis solamente podr tenerse en cuenta una restriccin, dejando el resto de condiciones invariables. 3.3.2 Anlisis de sensibilidad mediante programas informticos Los programas informticos que resuelven modelos de programacin lineal, como el LINDO, suelen incorporar la posibilidad de realizar el anlisis de sensibilidad de los coeficientes de coste c y de los trminos independientes de las restricciones b. El resultado de este anlisis es el intervalo de valores de estos parmetros para el que se mantiene la base. En el ejemplo siguiente (que corresponde al problema resuelto 4.1) vemos cmo muestra el programa LINDO los resultados del anlisis de sensibilidad. Ejemplo 3.2.1 Anlisis de sensibilidad con el programa LINDO A continuacin presentaremos los resultados de la resolucin mediante el programa LINDO del modelo lineal:
MAX ST HH) HM) PM) END 20P1 + 60P2 30P1 + 20P2 < 2700 5P1 + 10P2 < 850 P1 + P2 > 95

La primera parte corresponde a la resolucin del modelo (cuya interpretacin ya se analiz en el tema anterior):
LP OPTIMUM FOUND AT STEP 2

OBJECTIVE FUNCTION VALUE 1) 4900.000

16

VARIABLE P1 P2

VALUE 20.000000 75.000000

REDUCED COST 0.000000 0.000000

ROW HH) HM) PM)

SLACK OR SURPLUS 600.000000 0.000000 0.000000 2

DUAL PRICES 0.000000 8.000000 -20.000000

NO. ITERATIONS=

Ahora, sin embargo, podemos interpretar totalmente los resultados. La columna dual prices muestra el valor de las variables duales asociadas a las restricciones en el ptimo. En el caso del programa LINDO, es importante saber que cuando analizamos un modelo de mnimo el programa nos da el valor de las variables duales cambiadas de signo. Si al resolver el modelo, respondemos s (yes) a la pregunta DO (RANGE) SENSITIVITY ANALYSIS?, obtenemos el siguiente listado:
RANGES IN WHICH THE BASIS IS UNCHANGED: OBJ COEFFICIENT RANGES ALLOWABLE ALLOWABLE INCREASE DECREASE 10.000000 INFINITY INFINITY 20.000000 RIGHTHAND SIDE RANGES ALLOWABLE ALLOWABLE INCREASE DECREASE INFINITY 600.000000 100.000000 300.000000 15.000000 10.000000

VARIABLE P1 P2

CURRENT COEF 20.000000 60.000000

ROW HH HM PM

CURRENT RHS 2700.000000 850.000000 95.000000

El programa nos suministra los rangos para los que la base no vara (RANGES IN WHICH THE BASIS IS UNCHANGED): a) b) Los coeficientes de la funcin objetivo (OBJ COEFFICIENT RANGES) de cada una de las variables. Los trminos independientes, que el programa llama valores del lado derecho (RIGHTHAND SIDE RANGES) de cada una de las restricciones.

Para cada uno de estos parmetros, el listado suministra el valor original del modelo (CURRENT COEF para los coeficientes de coste y CURRENT RHS para los trminos independientes), y los incrementos mximo (ALLOWABLE INCREASE) y mnimo (ALLOWABLE DECREASE) para los que se mantiene la base. Por ejemplo, los valores del trmino independiente de la restriccin HM para los que no cambia la base son: [850 300, 850 + 100] [550, 950] Y el rango de valores del coeficiente de coste de la variable P2 para el que no cambia la base es:

Dualidad y anlisis de sensibilidad en programacin lineal

17

[60 20, 60 + ] [40, ] Como hemos visto anteriormente, esto no significa que el valor de las variables en el ptimo y el valor de la funcin objetivo sea el mismo. Recordemos que en el caso de variaciones de c el valor de las variables no vara, pero s la funcin objetivo. Cuando variamos b, cambian los valores de las variables de decisin (aunque las no bsicas siguen valiendo cero), y en consecuencia tambin el valor de la funcin objetivo.

3.4 Ejercicios resueltos


Seguidamente se muestra un ejemplo de anlisis de sensibilidad e interpretacin de variables duales como precios sombra en un problema sencillo de dos variables (el lector puede realizar el anlisis de sensibilidad grficamente). Ya se haba utilizado este mismo modelo en los ejemplos 2.4.1 y 3.2.1, para introducir la dualidad y el anlisis de sensibilidad en programas informticos. Ahora se muestra cmo responder a preguntas relacionadas con la naturaleza del modelo usando dualidad y anlisis de sensibilidad. 3.4.1 Taller mecnico Un taller mecnico puede fabricar dos tipos de productos, P1 y P2. El beneficio unitario obtenido con cada producto es de 20 y 60, respectivamente. Para fabricar estos dos productos, dispone de dos recursos, horas hombre (HH) y horas mquina (HM). En lo que respecta a las HH, dispone de 2.700, y fabricar una unidad de P1 consume 30 HH, y una de P2 20 HH. Dispone de 850 HM, y sabemos que fabricar una unidad de P1 consume 5 HM, y una de P2 10 HM. Adems, las condiciones contractuales le obligan a fabricar un mnimo de 95 unidades, sea de P1 o de P2. Para maximizar el beneficio, el jefe del taller mecnico ha elaborado el siguiente modelo:
MAX ST HH) HM) PM) END 20P1 + 60P2 30P1 + 20P2 < 2700 5P1 + 10P2 < 850 P1 + P2 > 95

Una vez resuelto este modelo con un programa informtico, se han obtenido los siguientes resultados:
PTIMO OBTENIDO EN EL PASO VALOR FUNCIN OBJECTIVO 1) VARIABLE P1 P2 4900.000 VALOR 20.000000 75.000000 COSTE REDUCIDO 0.000000 0.000000 2

FILA HH) HM) PM)

HOLGURA O EXCESO 600.000000 0.000000 0.000000 2

VARIABLES DUALES 0.000000 8.000000 -20.000000

NO. ITERACIONES=

18

RANGOS PARA LOS QUE NO CAMBIA LA BASE: RANGOS COEFICIENTES DE COSTE INCREMENTO DECREMENTO PERMITIDO PERMITIDO 10.000000 INFINITO INFINITO 20.000000 RANGS TERMES INDEPENDENTS INCREMENTO DECREMENTO PERMITIDO PERMITIDO INFINITO 600.000000 100.000000 300.000000 15.000000 10.000000

VARIABLE P1 P2

COEF ACTUAL 20.000000 60.000000

FILA HH HM PM

TRMINO ACTUAL 2700.000000 850.000000 95.000000

Aunque hemos traducido los resultados del modelo, el encargado no entiende nada, y le ha pedido que analice los resultados. En la prctica, desea que les responda a las siguientes preguntas: a) b) c) d) e) Escriba el dual del modelo original, indicando el sentido de las variables duales en cada caso. Escriba el modelo original en forma estndar, con las variables de holgura y exceso de las restricciones. Qu variables forman la base en el ptimo? Qu beneficio adicional se obtiene al contratar una hora ms de trabajo? Justifique brevemente su respuesta a partir de los resultados indicados. Si el beneficio obtenido con P2 pasa de 60 a 50, el ptimo cambia? Y el valor de la funcin objetivo? Razone brevemente su respuesta. El cliente est dispuesto a negociar la cantidad mnima a suministrar de producto. Vale la pena? Si es as, propondra aumentar o disminuir la cantidad mnima? Qu precio estara dispuesto a pagar por aumentar (o disminuir) esta cantidad mnima? Hasta qu valor estara dispuesto a aumentar (o disminuir) esta cantidad?

Solucin a) Escriba el dual del modelo original, indicando el sentido de las variables duales en cada caso.

MIN 2700HH + 850HM + 95PM 30HH + 5HM + PM 20 20HH + 10HM + PM 60 HH, HM 0 PM 0 HH, HM y PM representan el incremento del beneficio por incremento de horas hombre, horas mquina y produccin mxima, respectivamente. b) Escriba el modelo original en forma estndar, con las variables de holgura y exceso de las restricciones. Qu variables forman la base en el ptimo?

Esta es la forma estndar del modelo. H(xx) representan variables de holgura, y E(xx) representan variables de exceso de la restriccin xx. MAX 20P1 + 60P2

Dualidad y anlisis de sensibilidad en programacin lineal

19

HH) 30P1 + 20P2 + H(HH) = 2700 HM) 5P1 + 10P2 + H(HM) = 850 PM) P1 + P2 + E(PM) = 95 P1, P2, H(HH), H(HM), E(PM) 0 Del examen de la solucin ptima, encontramos que las variables bsicas son P1, P2 y H(HH). El nmero de variables bsicas es igual al de restricciones. c) Qu beneficio adicional se obtiene al contratar una hora ms de trabajo? Justifique brevemente su respuesta a partir de los resultados indicados.

No se obtiene ningn beneficio adicional. Puede verse por el hecho de que H(HH) = 600 (es decir, sobran 600 horas de trabajo), y por el hecho de que la variable dual asociada a la restriccin HH es igual a cero. d) Si el beneficio obtenido con P2 pasa de 60 a 50, el ptimo cambia? Y el valor de la funcin objetivo? Razone brevemente su respuesta.

Si observamos en la solucin del programa informtico los rangos de valores para los que no cambia la base, encontramos que el beneficio por unidad de P2 (coeficiente de coste de P2 en la funcin objetivo) puede bajar hasta 40 sin que cambie la base. Sabemos que, en estas condiciones, no cambia el valor del ptimo, que contina siendo P1 = 20, y P2 = 75. En cuanto al valor de la funcin objetivo, como para cada unidad de P2 tenemos una disminucin del beneficio de 10, el valor de esta funcin disminuye en 10 75 = 750. Entonces el beneficio total ha sido de 4.900 750 = 4.150. e) El cliente est dispuesto a negociar la cantidad mnima a suministrar de producto. Vale la pena? Si es as, propondra aumentar o disminuir la cantidad mnima? Qu precio estara dispuesto a pagar por aumentar (o disminuir) esta cantidad mnima? Hasta qu valor estara dispuesto a aumentar (o disminuir) esta cantidad?

La variable dual de la restriccin PM vale 20. Esto significa que, si podemos, hemos de intentar disminuir esta cantidad mnima. De hecho, podemos estar dispuestos a pagar hasta 20 um por unidad que disminuye esta cantidad mnima. El valor mximo con que puede bajarse esta cantidad sin que cambie la base es 10, tal como puede verse en los rangos de valores de los trminos independientes del anlisis de sensibilidad. Esto significa que, por debajo de 95 10 = 85, la restriccin PM no es activa, y no vale la pena pagar por variarla.

3.5 Glosario de trminos


Anlisis de sensibilidad Estudio de las variaciones que se producen en la solucin de un modelo lineal cuando varan los parmetros de dicho modelo. El anlisis de sensibilidad ms usual se realiza para variaciones de los coeficientes de coste c y los trminos independientes b. Tambin es posible analizar el impacto de variaciones de los coeficientes tecnolgicos de la matriz A, y el efecto de aadir nuevas variables y nuevas restricciones. Base, cambio de Cuando alguno de los parmetros vare fuera de los intervalos obtenidos por anlisis de sensibilidad, tendremos un cambio de base. En resolucin grfica, esto supone que la solucin se encuentra en un

20

vrtice diferente al de la solucin original. En general, implica que las variables bsicas son diferentes de dicha solucin original. Dual de un programa lineal Es otro programa lineal, que puede obtenerse a partir de un conjunto de reglas, cuya solucin u es el valor de los precios sombra de las restricciones del programa original. La correspondencia es biunvoca: el dual del dual es el primal. Holgura complementaria, teorema de la Teorema que enuncia que el precio sombra de una restriccin que no se cumple con el signo igual (esto es, cuya variable de holgura o exceso es diferente de cero) es igual a cero. Precio sombra El precio sombra de una restriccin es el incremento de la funcin objetivo por unidad de incremento del trmino independiente de la restriccin, dentro del rango de valores del trmino independiente que nos suministra el anlisis de sensibilidad. El precio sombra puede ser negativo (la funcin objetivo disminuye al aumentar el trmino independiente) positivo (la funcin objetivo aumenta) o nulo (para las restricciones que se cumplan con holgura o exceso no nulos). Primal Es el problema original del que se obtiene el programa dual. A su vez, es el dual de dicho dual. Rangos de valores Intervalos de valores de los coeficientes de coste y trminos independientes para los que no vara la base ptima en un modelo lineal. Es el resultado del anlisis de sensibilidad obtenido por programas informticos.

El problema del transporte

21

4 El problema del transporte


4.1 El problema del transporte: formulacin general
El llamado problema del transporte es un caso particular de programacin lineal, que puede formularse del modo siguiente: Dados m orgenes de recursos y n destinos de esos recursos, determinar cmo deben distribuirse los recursos desde los i = 1,...,m orgenes hasta los j = 1,...,n destinos para minimizar los costes totales de distribucin. Las variables de decisin de este problema se definirn como: xij: cantidad de recurso que se transporta desde el origen i hasta el destino j. El problema tendr entonces mn variables de decisin. Los parmetros del problema sern: i = 1,...,m oi = cantidad de recursos en el origen i j = 1,...,n dij = necesidad de recursos en el destino j cij = coste de enviar una unidad de recurso de un origen i a un destino j As, podemos representar grficamente el problema del transporte del modo siguiente:
o1 o2 o3

d1

d2

d3

d4

Figura 1.a Problema del transporte

Este problema puede formularse como problema lineal de la siguiente forma:


m n

[MIN] z = c ij x ij
i =1 j =1

s.a.:

x
j =1

ij

= oi

i = 1,,m restricciones origen

22

x
i =1

ij

=dj

j = 1,...,n

restricciones destino

xij 0

El problema tiene entonces mn variables de decisin y m + n restricciones. Para un nmero de orgenes y destinos relativamente reducido, el problema es bastante voluminoso. Por ejemplo, para m = 3 y n = 4 tenemos 12 variables de decisin y 7 restricciones. Sin embargo, la estructura bien definida del problema hace que ste tenga propiedades que permiten resolverlo mediante procedimientos ms eficientes que el mtodo smplex. En este tema, presentaremos en primer lugar las propiedades del problema del transporte y a continuacin un procedimientos de resolucin especfico. El procedimiento tiene dos etapas: 1. 2. Determinacin de una solucin inicial, lo ms cercana al ptimo que sea posible. La determinacin de la solucin ptima, siguiendo la misma estrategia que en el mtodo smplex, pero con procedimientos ms sencillos que la inversin de la matriz bsica.

4.2 Propiedades del problema del transporte


La primera propiedad de inters del problema del transporte es la propiedad de soluciones enteras, que se enuncia: En aquellos problemas en que oi y dj sean enteros, las variables de decisin xij tienen valores enteros para cualquier solucin bsica, incluida la solucin ptima. Si las condiciones de una situacin que puede modelizarse mediante problema de transporte exigen que las variables de decisin sean enteras y los recursos en los orgenes y las demandas en los destinos son valores enteros, no necesitamos aadir al modelo la condicin de que las variables sean enteras, puesto que la solucin ptima ser entera con toda seguridad. Otra propiedad importante es la relativa a la existencia de solucin. Las condiciones en que podemos estar seguros de que el problema tendr solucin se enuncian en la propiedad de soluciones factibles: La condicin necesaria y suficiente para que un problema de transporte tenga solucin es que ste sea un problema del transporte equilibrado: las cantidades disponibles en los orgenes debe ser igual a las cantidades demandadas en los destinos. La condicin de problema del transporte equilibrado puede enunciarse en trminos de los parmetros del problema del siguiente modo:

o = d
i i =1 j =1

Una condicin para que el problema pueda resolverse mediante el procedimiento del transporte es que dicho problema debe estar equilibrado. Podemos modificar un problema del transporte cualquiera para que est equilibrado aadiendo orgenes y destinos ficticios. Para el caso:

El problema del transporte

23

oi > d j
i =1 j =1

las disponibilidades de recursos en los orgenes es mayor que la demanda en los destinos. Por lo tanto, no necesitamos transportar todos los recursos del origen al destino. Podemos equilibrar el problema aadiendo un destino ficticio dF, de demanda:

oi d j
i =1 j =1

Las cantidades xiF que se obtengan en la solucin sern las cantidades no transportadas desde los orgenes. Por lo tanto, su coste de transporte ser nulo, y haremos ciF = 0. La situacin contraria, esto es:

oi < d j
i =1 j =1

representa un problema que no tiene solucin, dado que los recursos en los orgenes son inferiores a las demandas en los destinos. Aunque, formalmente, el problema no tenga solucin, s podemos encontrar la forma de transportar el mximo posible de recursos del origen al destino. Podemos equilibrar el problema as planteado creando un origen ficticio oF, que representar la demanda que no se ha podido satisfacer en los destinos. La capacidad de dicho origen ser:

d j oi
j =1 i =1

Las cantidades xFj que se obtengan en la solucin representarn la demanda que no se ha podido cubrir en el destino j. Dado que se desea minimizar la cantidad no servida, haremos los coeficientes asociados al destino iguales a un nmero muy grande M: cFj=M. El problema de la figura (del se adjunta la tabla de costes de transporte del destino i al origen j) est desequilibrado debido a que las cantidades ofertadas en el origen superan a las demandas de los destinos.
O1 =100 O2 =200 O3 = 150

DA = 160

DB =70 DA 8 4 3 160 DB 9 5 6 70

DC = 120 DC 9 8 5 120 DD 5 7 9 80

DD = 80

O1 O2 O3

100 200 150

Figura 2.a Equilibrado del problema de transporte

24

Para que el problema est equilibrado, debe aadirse un destino ficticio E, igual a la diferencia entre la oferta total y la demanda total. En este caso, el valor del destino ficticio debe ser: (100 + 200 + 150 ) (160 + 70 + 120 + 80 ) = 450 430 = 20 De manera que el problema se transforma en:
O1 = 100 O2 = 200 O3 = 150

DA = 160

DB =70 DA 8 4 3 160 DB 9 5 6 70

DC = 120 DC 9 8 5 120 DD 5 7 9 80

DD = 80 DE 0 0 0 20

DE = 20

O1 O2 O3

100 200 150

Formalmente, esto equivale a aadir variables de holgura a las restricciones originales asociadas a los orgenes y a los destinos (con lo que se convierten en restricciones de igualdad), adems de aadir una nueva restriccin (tambin de igualdad) para el destino ficticio. Para el ejemplo, el conjunto de restricciones original era: x1A + x2A + x3A + x1A + x1B + x1C + x1D + x1B x2B x3B x2A x2B x2C x2D + + + + + + + x1C + x1D 100 x2C + x2D 200 x3C + x3D 150 x3A = 160 x3B = 70 x3C = 120 x3D = 80

Y despus de la introduccin del destino ficticio, tenemos: x1A + x2A + x3A + x1A + x1B + x1C + x1D + x1E + x1B x2B x3B x2A x2B x2C x2D x2E + + + + + + + + x1C + x1D + x1E = 100 x2C + x2D + x2E = 200 x3C + x3D + x3E = 150 x3A = 160 x3B = 70 x3C = 120 x3D = 80 x3E = 20

4.3 La tabla del transporte


Para un problema de transporte equilibrado, todas las restricciones son de igualdad; podemos escribir una solucin bsica cualquiera del problema utilizando la tabla del transporte. Se trata de una tabla mn, en la que los orgenes son representados por las filas y los destinos por las columnas, a la que se le aade una columna y una fila adicionales donde se escriben las ofertas

El problema del transporte

25

y las demandas totales, respectivamente. En la figura 1 se detalla la tabla de transporte para el ejemplo 2.a:
DA O1 O2 O3 8 4 3 160 9 5 6 70 DB 9 8 5 120 DC 5 7 9 80 DD 0 0 0 20 DE 100 200 150

Si queremos escribir una solucin al problema, bastar con asignar valores a las variables de modo que cumplan el conjunto de restricciones. En la tabla de transporte, escribiremos valores en cada celda (i, j) asociada a la variable xij, de modo que la suma de los valores de cada fila i sea igual a la oferta disponible en el centro emisor i y los valores de las columnas j iguales a la demanda de cada centro receptor j. Para conocer el valor de la funcin objetivo para la solucin as obtenida, es til escribir en cada celda su coeficiente de coste asociado. El valor de la funcin objetivo se obtiene entonces como la suma de los productos de los valores de la celda por su coeficiente de coste. Soluciones bsicas para el problema del transporte Como es sabido, el nmero de variables bsicas de un programa lineal es igual al nmero de restricciones linealmente independientes (rango de la matriz B). En un problema de transporte equilibrado, una de las restricciones es una combinacin lineal de las otras. En consecuencia, una solucin bsica se caracterizar por tener un mximo de m+n1 variables bsicas. Por lo tanto, las posibles soluciones ptimas tendrn un mximo de m+n1 valores diferentes de cero, aunque en ocasiones podemos tener alguna otra variable nula. La tabla de transporte siguiente muestra una solucin bsica para el problema del transporte del ejemplo 2.a:
DA O1 O2 O3 8 4 160 3 160 6 70 5 120 120 80 9 30 20 9 70 5 8 7 20 0 DB 9 DC 5 30 0 20 DD 0 DE 100 200 150

Una propiedad interesante de las soluciones bsicas de un problema de transporte es que, si unimos con una recta las variables bsicas en un problema de transporte, obtenemos un rbol, esto es, un grafo conexo y sin ciclos. En la tabla se ha dibujado el rbol para esta solucin bsica.

4.4 Resolucin del problema del transporte


Puede resolverse el problema del transporte mediante cualquier algoritmo de programacin lineal. Sin embargo, la estructura especial del problema permite disear algoritmos ms eficientes, como el que

26

ahora se indica bajo la denominacin de algoritmo del transporte. Dicho mtodo se realiza en dos pasos: a) b) Encontrar una buena solucin factible inicial. Encontrar, por aproximaciones sucesivas, la solucin ptima a partir de la solucin factible inicial.

4.4.1 Determinacin de una (buena) solucin factible inicial Tenemos varias posibilidades de encontrar una solucin inicial para un problema del transporte. Algunos mtodos son ms laboriosos que otros, aunque los primeros aseguran, en casi todas las circunstancias, una mejor solucin. En cualquier caso, conviene recordar que cualquiera estos mtodos no asegura encontrar el ptimo. Adems, no nos dan un procedimiento para verificar si efectivamente hemos encontrado el ptimo. Los mtodos de determinacin de una solucin inicial del problema del transporte que mostraremos en esta seccin son: 1. 2. 3. Mtodo del rincn noroeste Mtodo de los mnimos costes Mtodo de la mxima ganancia

Mtodo del rincn noroeste Se trata de una metodologa que nos permite encontrar una solucin a partir de la esquina superior izquierda de las filas o columnas no saturadas (esto es, que se les ha asignado una cantidad igual a la oferta o demanda asociadas, respectivamente). Formalmente, tenemos el algoritmo siguiente:

Paso 0 Paso 1

Se escoge x11 Se asigna a la variable escogida un valor tal que satura una fila (origen) o una columna (destino). Si se ha retornado el origen, se escoge xi,j+1 Si se ha retornado el destino, se escoge xi+1,j Si i = m y j = n ; finalizar Si no, ir a Paso 1

Paso 2

Paso 3;

Ejemplo 4.1.a Encontrar una solucin inicial del problema del transporte del ejemplo 2.a mediante el mtodo del rincn noroeste. Partimos de la tabla del transporte para el problema equilibrado:

El problema del transporte

27

DA O1 O2 O3 8 4 3 160 9 5 6

DB 9 8 5 70

DC 5 7 9 120

DD 0 0 0 80

DE 100 200 150 20

Comenzamos a saturar el rincn noroeste, asignando 100 a la celda (1,A). Esto satura la primera fila (no podemos enviar nada ms desde el primer origen). Para indicar que se ha saturado, se ha marcado en negrilla el valor de la cantidad total asociada al centro emisor.
DA O1 O2 O3 8 100 4 3 160 5 6 70 8 5 120 7 9 80 0 0 20 9 DB 9 DC 5 DD 0 DE 100 200 150

Dado que la primera columna est saturada, ahora el rincn noroeste es (2,A). Slo podemos asignarle 60, con lo que la primera columna queda tambin saturada:
DA O1 O2 O3 8 100 4 60 3 160 6 70 5 120 9 80 0 20 5 8 7 0 9 DB 9 DC 5 DD 0 DE 100 200 150

Se va procediendo segn el mismo sistema hasta que se encuentra una solucin inicial. Para este problema, deberemos repetir el proceso 5 + 3 1 = 7 veces, que es la cantidad de variables bsicas para este problema: Rincn noroeste: celda (2, A):
DA O1 O2 O3 8 100 4 60 3 160 6 70 5 70 5 120 9 80 0 20 8 7 0 9 DB 9 DC 5 DD 0 DE 100 200 150

28

Rincn noroeste: celda (2, C):

DA O1 O2 O3 8 100 4 60 3 160 6 5 9

DB 9 8 70 5 70

DC 5 7 70 9 120

DD 0 0 0 80

DE 100 200 150 20

Rincn noroeste: celda (3, C):

DA O1 O2 O3 8 100 4 60 3 160 6 5 9

DB 9 8 70 5

DC 5 7 70 9 50 120

DD 0 0 0 80

DE 100 200 150 20

70

Rincn noroeste: celda (3, D):

DA O1 O2 O3 8 100 4 60 3 160 6 5 9

DB 9 8 70 5

DC 5 7 70 9 50

DD 0 0 0 80 80

DE 100 200 150 20

70

120

Rincn noroeste: celda (3, E):

DA O1 O2 O3 8 100 4 60 3 160 6 5 9

DB 9 8 70 5

DC 5 7 70 9 50

DD 0 0 0 80 80

DE 100 200 20 20 150

70

120

El problema del transporte

29

Multiplicando cada celda por su coste, obtenemos el valor de la funcin objetivo, que es el coste de transporte total: COSTE = 100 8 + 60 4 + +70 5 + 70 8 + 50 5 + 80 9 + 20 0 = 2.920 Mtodo de mnimos costes El mtodo del rincn noroeste es un mtodo sencillo para obtener una solucin bsica, pero no nos garantiza que se trate de una buena solucin, que economice el nmero de iteraciones a realizar en la segunda etapa del algoritmo para llegar al ptimo. Ello se debe a que no hemos tenido en cuenta los valores de los coeficientes de coste: bien pudiera ser que las variables bsicas de esta solucin estuvieran afectadas de los costes ms elevados. Mediante el mtodo de mnimos costes, escogemos como variable bsica aquella afectada con el mnimo coste que no corresponda a una columna o fila saturadas. De esta manera, al tener en cuenta los costes, es de esperar obtener una solucin inicial con un valor ms pequeo de la funcin objetivo. Ejemplo 4.1.b Encontrar una solucin inicial del problema del transporte del ejemplo 2.a mediante el mtodo de mnimos costes. Tenemos toda una columna con costes 0. Eligiendo una celda cualquiera de esa columna, por ejemplo (1,E), tenemos:
DA O1 O2 O3 8 4 3 160 9 5 6 70 DB 9 8 5 120 DC 5 7 9 80 DD 0 20 0 0 20 DE 100 200 150

Ahora vamos saturando filas o columnas, escogiendo siempre aquella variable susceptible de ser bsica (en columna o fila no saturada) con un coeficiente de coste menor: Mnimos costes: celda (3, A). Queda saturada la fila 3:
DA O1 O2 O3 8 4 3 150 160 70 120 80 20 9 5 6 DB 9 8 5 DC 5 7 9 DD 0 20 0 0 DE 100 200 150

Mnimos costes: celda (2, A). Queda saturada la columna 1:

30

DA O1 O2 O3 8 4 10 3 150 160 6 9 5

DB 9 8 5 70

DC 5 7 9 120

DD 0

DE 20 0 0 100 200 150 20

80

Ahora nos encontramos con un empate: las celdas (1,D) y (2,B) son las de coste mnimo. El algoritmo no nos indica cul de las dos es preferible, por lo que optaremos por la segunda:

DA O1 O2 O3 8 4 10 3 150 160 6 9 5

DB 9 8 70 5 70

DC 5 7 9 120

DD 0

DE 20 0 0 100 200 150 20

80

A continuacin, escogeremos la otra celda de coste igual a 5:

DA O1 O2 O3 8 4 10 3 150 160 6 9 5

DB 9 8 70 5 70

DC 5

DD 0 80 7 9 0 0 80

DE 20 100 200 150 20

120

Ntese que esta ltima asignacin ha saturado a la vez una fila y una columna. Cuando esto sucede y no estamos en el ltimo paso, tenemos una solucin degenerada: debemos considerar saturada una sola de las dos y asignar un valor de 0 a la otra en un paso posterior.

DA O1 O2 O3 8 4 10 3 150 160 6 9 5

DB 9 8 70 5 70

DC 5

DD 0 80 7 0 9 0 80 0

DE 20 100 200 150 20

120

Ahora slo podemos asignar valores a la celda (2, C):

El problema del transporte

31

DA O1 O2 O3 8 4 10 3 150 160 6 9 5

DB 9 8 70 5 70

DC 5

DD 0 80 7 120 9 0 0 80 0

DE 20 100 200 150 20

120

De modo que ahora se obtiene una nueva solucin, con un coste considerablemente ms bajo que en la etapa anterior: COSTE = 80 5 + 20 0 + 10 4 + 70 5 + 120 8 + 7 0 + 150 3 = 2.200 La solucin obtenida por el mtodo de mnimos costes es mucho mejor que la obtenida por el mtodo del rincn noroeste en el ejemplo 4.1.a. Mtodo de Vogel (o de mxima ganancia) Es un mtodo basado en el concepto de ganancia. La ganancia para una fila o columna se define como: ganancia = coste que sigue al mnimo coste mnimo La estrategia del mtodo de Vogel consiste en ir asignando valores a las celdas de menor coste no saturadas, de manera que de las posibles filas o columnas que puedan saturarse, lo haga la de ganancia mxima. De esta manera, nos aseguramos de no saturar aquellas celdas con costes bajos (pero superiores al mnimo) y tener que escoger celdas con un coste elevado en los siguientes pasos. Ello se debe a que las filas o columnas con coeficientes de coste bajos, pero no mnimos, tendrn valores de ganancia reducidos. En cada una de las iteraciones deberemos recalcular las ganancias. Ejemplo 4.1.c Encontrar una solucin inicial del problema del transporte del ejemplo 2.a mediante el mtodo de Vogel. Seguidamente se proceder a obtener una solucin inicial mediante este mtodo para nuestro problema. En cada caso, la ganancia se escribe junto a la denominacin del origen o destino. Las ganancias ms elevadas se encuentran en las filas, pero no podemos saturar ninguna de ellas. Por lo tanto, saturaremos la columna de ganancia ms elevada en la celda de coste mnimo:

1 DA 5 O1 4 O2 3 O3 8 4 3 160 9 5 6

1 DB 9 8 5

3 DC 5 7 9 120 120

2 DD 0 0 0 80

0 DE 100 200 150 20

70

32

Ahora debemos recalcular las ganancias de las filas, dado que hemos eliminado la columna C. Dicha columna no tiene ganancia, porque ya est saturada. La fila o columna de mayor ganancia que puede saturarse es la columna D:

1 DA 5 O1 4 O2 3 O3 8 4 3 160 9 5 6

1 DB 9 8 5

DC 5

2 DD 0 80 7 9 120 0 0 80

0 DE 100 200 150 20

70

120

Ahora podemos saturar la primera fila, con ganancia 8. Obsrvese cmo se satura tambin la columna E. Sin embargo, no la damos por saturada para tener una solucin con n + m 1 variables bsicas, alguna de las cuales ser cero.

1 DA 8 O1 4 O2 3 O3 8 4 3 160 9 5 6

1 DB 9 8 5

DC 5

DD 0 80 7 9 120 0 0 80

0 DE 20 100 200 150 20

70

120

1 DA O1 4 O2 3 O3 8 4 3 30 160 9 5 6

1 DB 9 8 5

DC 5

DD 0 80 7 9 120 0 0 80

0 DE 20 100 200 150 20

70

120

Ahora slo podemos saturar las columnas, que carecen de ganancia (al quedar slo una fila por saturar, el concepto de ganancia para las columnas deja de tener sentido). Las vamos saturando por coste mnimo creciente, empezando por la columna E:

DA O1 4 O2 O3 8 4 130 3 30 160 6 9 5

DB 9 8 70 5

DC 5

DD 0 80 7 9 120 0

DE 20 0 0 100 200 150 20

70

120

80

El problema del transporte

33

DA O1 O2 O3 8 4 130 3 30 160 6 9 5

DB 9 8 70 5

DC 5

DD 0 80 7 9 120 0

DE 20 0 0 100 200 150 20

70

120

80

El coste total para esta alternativa es de: COSTE = 80 5 + 20 0 + 130 4 + 70 5 + 0 0 + 30 3 + 120 5 = 1.960 Obsrvese la notable mejora en el coste total respecto de las soluciones obtenidas con los otros dos mtodos. Aunque (todava) no tengamos garantas de haber obtenido la solucin ptima, s sabemos que es una buena solucin. Una buena solucin inicial ahorra muchas iteraciones en la fase siguiente del algoritmo del transporte, que es la de determinacin del ptimo. 4.4.2 Determinacin del ptimo Para hallar el ptimo del problema de transporte equilibrado, se trabaja con el problema de transporte y con su dual: las expresiones genricas de ambos problemas se muestran en la tabla adjunta.

[MIN]

z = cij xij
i =1 j =1 n j =1

[MAX] w =

oi u i + d j v j
i =1 j =1

ij

=o i

u i + v j cij

i = 1,...,m; j = 1,...,n

x
i =1

ij

= dj
ui , vj n.r.s.

xij 0

Las variables del dual, no restringidas en signo, tienen la siguiente interpretacin: Las variables ui, asociadas a las restricciones de los orgenes, son iguales al incremento de la funcin objetivo en el ptimo por cada unidad adicional ofertada en el centro emisor i. Las variables vj, asociada a las restricciones de los destinos, son iguales al incremento de la funcin objetivo en el ptimo por cada unidad adicional demandada en el centro receptor j. A partir de la forma del dual, podemos realizar el siguiente anlisis utilizando el teorema de la holgura complementaria: En las variables bsicas, si xij 0 (solucin no degenerada) la restriccin se cumple con signo igual: esto significa que tenemos un mximo de n + m 1 ecuaciones del tipo: ui + vj = cij

34

Esto significa que podemos obtener los valores de las variables duales asociadas a una solucin del primal resolviendo un sistema de ecuaciones indeterminado: podemos fijar arbitrariamente el valor de al menos una de las variables y obtener las dems. Para las variables no bsicas xij = 0, el coste reducido de la variable es igual a la holgura de la restriccin: (cij zij) = cij (ui + vj) Por lo tanto, una vez obtenidos los valores de las variables duales, podremos obtener los coeficientes de coste reducidos. Para el problema de mnimo, si todos resultan ser positivos, hemos hallado el ptimo. En caso contrario, obtendremos una nueva solucin construyendo un ciclo de desplazamiento a partir del coste reducido negativo de mayor valor absoluto. Ejemplo 4.2.a. Determinar el ptimo para el problema del transporte del ejemplo 2.a, a partir de la solucin obtenida por el mtodo de Vogel en el ejemplo 4.1.c. Apliquemos el algoritmo a la solucin obtenida por el mtodo de Vogel. En la tabla se indican las variables asociadas a cada uno de los orgenes y destinos.
vA DA u1 O1 u2 O2 u3 O3 8 4 130 3 30 160 70 120 6 9 5 70 5 120 80 20 9 0 vB DB 9 8 vC DC 5 80 7 0 0 vD DD 0 20 vE DE 100 200 150

A partir de la tabla, vemos que podemos plantear el siguiente sistema de ecuaciones: u1 + vD = 5 u1 + vE = 0 u2 + vE = 0 u2 + vA = 4 u2 + vB = 5 u3 + vA = 3 u3 + vC = 5 Como tenemos siete ecuaciones para ocho incgnitas, el sistema es indeterminado. Haciendo, por ejemplo u1 = 0, tenemos: vD = 5 vE = 0 u2 = 0 vA = 4 vB = 5 u3 = -1 vC = 6 De manera que ya podemos obtener los coeficientes de coste reducidos a partir de la expresin cij (ui + vj), para cada una de las variables no bsicas. Se detallan en la tabla, en la esquina superior derecha de cada casilla:

El problema del transporte

35

vA = 4 u1 = 0 u2 =0 u3 =-1 8 4 130 3 30 160 6 4 9 5

vB = 5 4 9 8 70 2 70 5

vC = 6 3 2 5 7 9 120 120

vD = 5 0 80 2 5 80

vE = 0 20 0 0 20 0 1 100 200 150

Como todos los coeficientes reducidos son positivos, hemos llegado al ptimo. Al no haber ningn coeficiente de coste reducido nulo, sabemos adems que la solucin es nica. En este problema, el mtodo de Vogel ha permitido dar con el ptimo.

El ciclo de desplazamiento El fundamento del ciclo de desplazamiento reside en que podemos obtener una nueva solucin para el problema de transporte si sumamos y restamos la misma cantidad a dos casillas de una fila o columna. A partir de cualquier variable no bsica, puede construirse un ciclo dentro de la tabla de transporte, formado por la casilla de la variable no bsica y de al menos tres casillas de variables bsicas. A la casilla de variable no bsica se le asignar un signo + (indicando que en la nueva solucin tendr un valor no nulo). A partir de ah, se van asignando alternativamente signos + y . Cada fila y columna afectadas tendr al menos un par de signos + y . La variable saliente en la iteracin ser aquella de menor valor de las afectadas de signo , dado que ninguna variable puede ser negativa. Una vez detectada esta variable, se suma y resta su valor (segn el signo asignado) a cada una de las variables afectadas por el ciclo, obtenindose as la nueva solucin.

Algoritmo de transporte para problema de mnimo Paso 0 Se determina una solucin inicial, a partir de alguno de los mtodos propuestos: Rincn noroeste Mnimos costes Mxima ganancia Para las variables bsicas, se plantea el sistema de ecuaciones indeterminado: ui + vj = cij Fijando arbitrariamente el valor de una de las variables, se obtienen las restantes ui, vj. Prueba de ptimo: para las variables no bsicas, se encuentra su coste reducido a partir de: (cij zij) = cij (ui + vj) Si todos los valores obtenidos son no negativos: la solucin es ptima. Fin del algoritmo. Si alguno de los valores es negativo. Ir a paso 3. Variable entrante: la variable entrante ser aquella que asegure un mayor decrecimiento de la funcin objetivo, esto es, aquella con un (cij zij) negativo de mayor valor absoluto. Variable saliente: Se determina el ciclo de desplazamiento asociado a la variable entrante. La variable saliente ser aquella de mayor valor absoluto de las afectadas con signo en el ciclo. A partir del ciclo de desplazamiento, obtener la nueva solucin bsica. Ir a paso 1.

Paso 1

Paso 2

Paso 3

Paso 4

Paso 5

36

Ejemplo 4.2.c Determinar el ptimo para el problema del transporte del ejemplo 2.a a partir de la solucin obtenida por el mtodo del rincn noroeste en el ejemplo 4.1.b. La tabla asociada a la solucin obtenida por el mtodo del rincn noroeste es:

vA = 4 u1 = 4 u2 = 0 u3 =-3 8 100 4 3 160 60 2 5 6 9

vB = 5 0 9 8 70 4 70

vC = 8 -3 5 7 70 5 50 120 9

vD = 12 -11 -5

vE = 3 0 0 0 -7 -3 100 200 150

80 80 20

20

Ahora encontramos que algunos coeficientes de coste reducido son positivos, indicando que no estamos en el ptimo. En particular, la variable x1D resulta ser la variable entrante, puesto que asegura el mayor decrecimiento de la funcin objetivo. El ciclo de desplazamiento para esta variable ser:

vA = 4 u1 = 4 u2 = 0 u3 =-3 8 4 + 3 160 9 100 5 60 2 6

vB = 5 0 9 8 5 +

vC = 8 -3 5 + 7 9 -

vD = 12 -11 -5

vE = 3 0 0 0 -7 -3 100 200 150

70 4 70

70 50 120 80 80 20 20

Ntese como intervienen, en este caso, seis variables bsicas en el ciclo de desplazamiento. La variable saliente ser la (2,C), por ser la de menor valor de las afectadas con signo -. La nueva solucin ser:

vA = 12 u1 =-4 u2 =-8 u3 = 0 8 30 4 3 160 130 -9 5 6 9

vB = 13 0 9 8 70 -7 70 5

vC = 5 8 11 5 7 9 120 120

vD = 9 0 70 6 0 0 10 80

vE = 0 4 8 100 200 150

20 20

Todava no hemos llegado al ptimo, puesto que en la tabla tenemos coeficientes de coste negativos. Para este caso particular, se alcanza el ptimo despus de otras tres iteraciones, por lo que preferimos mostrar el proceso completo en el problema de mximo del ejemplo 5.a.

El problema del transporte

37

4.5 El problema del transporte: caso de mximo


Todo el planteamiento se ha realizado para el problema de mnimo. Sin embargo, todo lo dicho, realizando los cambios de signo pertinentes, es igualmente vlido para el problema de mximo. Los parmetros relativos al origen y al destino tienen la misma definicin, pero los cij ahora tienen el sentido de utilidad o beneficio obtenido por transportar una cantidad i a un destino j. En este problema, la definicin de ganancia es: ganancia = coste que sigue al mnimo coste mnimo Otra alternativa para resolver el problema de mximo es cambiar los signos de los cij y resolverlo como un problema de mnimo. Ejemplo 5.a. Resolver el problema de transporte del ejemplo 2.a, para el caso de mximo, a partir de la solucin obtenida por el mtodo del rincn noroeste. El mtodo del rincn noroeste nos da la misma solucin para el problema de mximo que para el de mnimo. En el ejemplo 4.2.c ya hallamos los coeficientes de coste reducidos para esta solucin bsica:
vA = 4 u1 = 4 u2 = 0 u3 =-3 8 100 4 3 160 60 2 5 6 + 70 70 4 8 + 5 120 7 70 9 50 80 80 20 0 20 -5 0 -3 9 vB = 5 0 9 vC = 8 -3 5 vD = 12 -11 vE = 3 0 -7 100 200 150

Ahora hemos de buscar coeficientes de coste reducidos que permitan aumentar la funcin objetivo, esto es, de signo positivo. Vemos que el coeficiente ms grande se encuentra en la celda (3, B), por lo que x3B ser la variable entrante. En la misma tabla se indica el ciclo de desplazamiento. La variable saliente, en este caso, ser x3C. La cantidad a incrementar y disminuir ser la ms pequea de las celdas afectadas con signo -, que en este caso es 50. La nueva solucin es:

vA = 4 u1 = 4 u2 = 0 u3 = 1 8 100 4 3 160 60 -2 5 6 + 9

vB = 5 0 9 8 20 5 50 70

vC = 8 -3 5 7 120 -4 120 9

vD = 12 -7 -1

vE = -1 0 0 + 0 20 -3 1 100 200 150

80 80

20

Ahora la variable entrante es x2E, la nica con coeficiente de coste reducido positivo. Una vez obtenido el ciclo de desplazamiento, vemos que la variable saliente puede ser tanto x2B como x3E, puesto que ambas tienen el mismo valor. Haremos salir de la base a x3E y dejaremos dentro de la base, con un valor igual a cero, a x2B.

38

Al calcular los coeficientes de coste reducidos para la nueva solucin, comprobaremos que hemos llegado al ptimo, puesto que todos los coeficientes de coste reducidos son negativos:

vA = 4 u1 = 4 u2 = 0 u3 = 1 8 100 4 3 160 60 -2 5 9

vB = 5 0 9 8 0 6 70 70 5

vC = 8 -3 5 7 120 -4 120 9

vD = 8 -7 -1 0 0 0 80 80

vE = 0 -4 100 200 150

20 -1 20

El valor de la funcin objetivo es de 3.140 y tiene la siguiente interpretacin en trminos del problema original del ejemplo 2.a: a) b) c) Desde el origen 1, deben enviarse 100 unidades al destino 1. El origen 1 trabaja a plena capacidad. Desde el origen 2, deben enviarse 60 unidades al destino 1 y 120 al destino 2, que es servido exclusivamente desde este origen. Quedan 20 unidades de capacidad del origen 2 sin utilizar. Finalmente, el origen 3 sirve a los destinos 2 y 4, con 70 y 80 unidades respectivamente. Este origen tambin trabaja a plena capacidad.

Formalmente, esta no es la nica solucin ptima, puesto que el coeficiente de coste reducido de (1,B) es igual a cero. Sin embargo, si obtenemos el ciclo de desplazamiento observamos que la nica diferencia de las dos soluciones es dnde se encuentra la variable bsica igual a cero: en (2,B) en la solucin actual, y en (1,B) en la nueva solucin. A efectos prcticos, la distribucin de recursos es la misma en las dos soluciones.

4.6 Problemas resueltos


Seguidamente se muestra un ejemplo de aplicacin al problema del transporte: la planificacin de la produccin de una empresa industrial. Problema 6.1 Planificacin de la produccin El director de produccin de la empresa Bowman debe llevar a cabo la planificacin de la produccin para los prximos cuatro meses. Las demandas estimadas (en lotes) para cada mes se detallan en la tabla adjunta. En dicha tabla se indican tambin los niveles de stock mnimo o de seguridad. Los costes de produccin son de 100 euros por lote para los cuatro meses, y cada lote en existencias al final del periodo incurre en unos costes de almacenamiento de 20 euros por lote.

Demanda Inventario mn.

M1 100 10

M2 250 25

M3 130 13

M4 200 20

La capacidad productiva es de 175 lotes por mes. No se cuenta con inventarios al principio del periodo.

El problema del transporte

39

a)

Determinar cul debe ser el plan de produccin (produccin prevista para cada mes) que minimice el total de costes de produccin y almacenamiento, as como los niveles de inventarios en cada mes.

La idea es la de modelizar esta situacin mediante un problema de transporte, en el que los orgenes sean la produccin y los destinos la demanda. Entonces, las variables de decisin xij representarn el valor de la produccin del mes i para servir la demanda del mes j. Tendremos los siguientes casos: i = j Produccin que se utiliza para servir la demanda del mes. Estas unidades no incurrirn en costes de almacenamiento. i < j Produccin que se utiliza para servir la demanda de meses futuros. Estas unidades incurrirn en costes de almacenamiento. i > j Representara la produccin que se utiliza para servir demanda de meses anteriores. En principio, asumiremos que no pueden permitirse retrasos en el servicio, y asignaremos a estas posibilidades un coste muy elevado M. Una complicacin adicional que tenemos en este problema es la existencia de un inventario mnimo. Esto supone que hemos de incluir en la demanda las necesidades asociadas al mantenimiento de este inventario mnimo, utilizando la demanda corregida para tal fin. Dicha demanda se calcula como: demanda corregida = demanda + inventario mnimo final inventario mnimo inicial Teniendo en cuenta que el inventario al principio de M1 es cero, tenemos:

Demanda Inventario mn. Dem. corregida

M1 100 10 110

M2 250 25 265

M3 130 13 118

M4 200 20 207

La demanda corregida total para los cuatro meses es de 700, cantidad igual a la capacidad productiva para los cuatro meses (1754 = 700), por lo que el problema de transporte est equilibrado. Con estos datos, podemos proceder a elaborar la tabla del transporte para este problema. Por ejemplo, c13 representa el coste de producir en el mes 1 y servir en el mes 3: como el lote ha estado almacenado dos meses, tenemos unos costes de 100 + 220 = 140 euros por lote.

M1 M1 M2 M3 M4 100 M M M 110 120 100 M M

M2 140 120 100 M 265

M3 160 140 120 100 118

M4 175 175 175 175 207

Mediante el mtodo de los mnimos costes, encontramos la solucin ptima:

40

u1=120 -M u2=100 -M u3=0 u4=-20

v1=M-20 100 100 M M-80 M M 110 20 40

v2=M 120 65 100 175 M M 265 25 20 100 M 120 140

v3=100 M-80 M-80

160 140 120

v4=120 M-60 M-80

175 175 175 175

118 M-80 118

32 100 175 207

Formalmente. el problema de transporte tiene solucin factible. Sin embargo, la solucin obtenida no es satisfactoria: aunque la capacidad productiva es suficiente, nos vemos obligados a servir 25 lotes de la demanda del mes 2 con un mes de retraso, o bien, no contar con stock de seguridad durante ese mes. Podemos evaluar esta situacin elaborando la tabla siguiente, basada en la ecuacin: stock inicial (SI) + produccin (P) = demanda (D) + stock final (SF)
SI 0 75 0 45 P 175 175 175 175 D 100 250 130 200 SF 75 0 45 20 Stock seg. 10 25 13 20

M1 M2 M3 M4

Vemos que tenemos niveles de inventario por encima del nivel de seguridad de tres meses, excepto el segundo, en el que podemos decir que tenemos rotura de inventario, dado que no tenemos inventario de seguridad en el mes en que la demanda es ms alta. Aadir capacidad, por ejemplo, mediante capacidad adicional, permite una planificacin de la produccin ms ajustada a los requerimientos. Vistos los resultados del apartado anterior, se plantea la posibilidad de aadir capacidad adicional. Los costes de produccin de esta capacidad adicional son de 130 euros por lote y su valor mximo es de 50 nuevos lotes por mes. b) Determinar cul ser ahora el plan de produccin que minimice los costes totales de produccin y almacenamiento.

Ahora hemos aadido 450=200 lotes de capacidad adicional. En el modelo de transporte, deberemos aadir un destino ficticio adicional de valor 200 lotes que representar la capacidad no utilizada. Adems, deberemos aadir cuatro nuevos orgenes que representarn las posibilidades de produccin suministradas por la capacidad adicional. Su coste ser el mismo que en la capacidad inicial, ms un sobrecoste de 30 euros por lote.
M1 M1 M2 M3 100 110 M M 100 175 M 100 118 120 32 0 25 120 65 120 140 0 M2 140 M3 160 M4 0 DF 175 175 175

El problema del transporte

41

M4 M1(A) M2(A) M3(A) M4(A)

M 130 M M M 110

M 150 130 25 M M 265

M 170 150 130 M 118

100 175 190 170 150 130 207

0 0 50 0 25 0 50 0 50 200

175 50 50 50 50

La solucin es la misma que en el apartado anterior, con una excepcin: las 25 unidades que se tenan que servir con retraso se producen ahora usando la capacidad adicional. Es la nica ocasin en que usamos esta posibilidad. La capacidad adicional da una produccin ms ajustada a la demanda:

M1 M2 M3 M4

SI 0 75 25 45

P 175 200 150 175

D 100 250 130 200

SF 75 25 45 20

Stock seg. 10 25 13 20

c)

Cul ser el nuevo plan de produccin si los costes de la capacidad productiva adicional baja a 110 euros por lote?

En el caso anterior, era ms econmico producir con un mes de antelacin que producir usando la capacidad adicional (100 + 20 < 130). Ahora, al disminuir el coste de la capacidad adicional, ser preferible usar la capacidad adicional a pagar costes de almacenamiento adicionales.

M1 M1 M2 M3 M4 M1(A) M2(A) M3(A) M4(A) 100 110 M M M 130 M M M 110 100 120

M2 140 40 120 175 M M 150 130 50 M M 265 130 M 100

M3 160 140 120 118 M 170 150 100

M4 0

DF 25 0 0 57 0 175 0 50 0 0 50 0 32 18 200 175 175 175 175 50 50 50 50

190 170 150 130 118 207

42

A diferencia del caso anterior, producimos en horas extra en los meses M2 (50 unidades) y M4 (32 unidades). La produccin ahora ser:
SI 0 50 25 13 P 150 225 118 207 D 100 250 130 200 SF 50 25 13 20 Stock seg. 10 25 13 20

M1 M2 M3 M4

4.7 Problemas propuestos


Problema 7.1 La empresa Logitrans cuenta con un sistema logstico formado por dos fbricas (F1 y F2) y tres almacenes de distribucin (A1, A2 y A3). Los costes de produccin son de 8 euros por lote en F1, y de 6 euros por lote en F2. Los costes de transporte por lote para cada combinacin de fbrica y almacn se detallan en la tabla adjunta. Tambin se indica la capacidad productiva en el periodo temporal considerado de cada una de las fbricas y la demanda de cada uno de los tres almacenes.
A1 4 5 80 A2 6 3 60 A3 2 7 90 Capacidad 100 150

F1 F2 Demanda

a)

Determinar cmo deben abastecerse los almacenes para minimizar la suma de costes de produccin y transporte.

Se ofrece la posibilidad de que la demanda de cada almacn no sea fija, sino que pueda estar entre dos valores (demanda mxima dmax y demanda mnima dmin), tal como se indica en la tabla. La demanda total debe seguir siendo de 230, como en el caso anterior.
A1 70 90 A2 50 70 A3 80 100

dmax dmn

b) Determinar cmo deben abastecerse ahora los almacenes para minimizar la suma de costes de produccin y transporte. La flexibilidad supone un ahorro de costes respecto del planteamiento anterior? (Solucin: En a) el coste de produccin y transporte total ptimo es de 2.320 euros. En b) el coste ptimo es de 2.300 euros). Problema 7.2 El fabricante de productos de limpieza Lavablanc se plantea optimizar la poltica a seguir respecto de la fabricacin y distribucin de uno de sus productos.

El problema del transporte

43

Para la produccin dispone de tres fbricas (en adelante F1, F2 y F3) con costes de produccin por unidad de 10, 12 y 15 respectivamente. La capacidad productiva de las tres fbricas es la misma: 150 unidades a la semana. Las ventas se realizan en tres puntos de venta V1, V2 y V3. La demanda mxima en cada uno de los puntos de venta es de 100, 200 y 300 respectivamente. Los precios a los que se puede vender el producto tambin varan: son de 30, 25 y 27 para V1, V2 y V3 respectivamente. El ltimo componente del coste es el de transporte. En la tabla adjunta se detallan los costes asociados a transportar una unidad desde un centro de produccin a uno de ventas:

F1 F2 F3

V1 3 4 7

V2 9 2 8

V3 7 6 9

Se desea hallar, mediante el algoritmo del transporte, las unidades que se deben transportar desde los diferentes centros de produccin a los diferentes centros de ventas para maximizar los beneficios totales. (Solucin: Mediante el mtodo de Vogel se obtiene la solucin ptima. El beneficio para esta solucin es de 4.300).

Problema 7.3 Textilsa, empresa del ramo textil, le ha encargado la elaboracin de su plan maestro de produccin para los prximos seis meses. Para ello cuenta con los siguientes datos: 1. En cada da laborable (ver tabla), la empresa tiene una capacidad de produccin de 15 lotes/da. El coste de fabricacin de cada lote en esas horas es de 100 um/lote. Si se desea, pueden producirse en horas extra siempre en das laborables hasta 4 um/lote, a un coste de 130 um/lote. Se desea mantener un stock mnimo de seguridad (medido a final de mes), igual al 10% de la demanda del mes. El mantenimiento de dicho stock, as como del stock adicional que fuera necesario, ser igual a 20 um/lote almacenado a final de mes.

2.

En estas condiciones, el departamento de produccin de Textilsa debe cubrir la demanda indicada en la tabla.

MES stock inicial MAYO JUNIO JULIO AGOSTO SEPTIEMBRE OCTUBRE

DEMANDA 260 270 200 290 270 270

STOCK SEGURIDAD 50 26 27 20 29 27 27

DAS LABORABLES 20 22 23 5 18 21

44

Con estos datos, se pide: a) Plantear el problema como un problema de transporte, indicando: 1. El significado, en este contexto, de los orgenes y los destinos. 2. Las capacidades de los orgenes y las demandas de los destinos (tener en cuenta las necesidades de stock de seguridad). 3. Los coeficientes de coste para este caso (tener en cuenta que no puede diferirse la demanda). Obtener una solucin inicial para este problema mediante el mtodo de los mnimos costes. Determinar la solucin ptima.

b) c)

(Solucin: La solucin de mnimos costes es la ptima. Se producen 72 lotes en horas extra en agosto, y en julio tenemos un inventario de 152 unidades por encima del de seguridad. El coste total del plan ptimo es de 162.020).

4.8 Glosario de trminos


rbol Grafo conexo sin ciclos (ver tema teora de grafos). Destino En la nomenclatura del problema del transporte, puntos receptores de recursos. El total de recursos provenientes de los diferentes orgenes ha de ser igual a la demanda del destino en un problema del transporte equilibrado. Ciclo de desplazamiento Metodologa para pasar de una solucin bsica a otra en la tabla del transporte, consistente en sumar y restar la misma cantidad a las filas y columnas que forman parte del ciclo de desplazamiento. Todas las celdas del ciclo menos una (la de la variable entrante) deben ser de variables bsicas. Equilibrado, problema del transporte Se dice de aquel problema del transporte tal que el total de las capacidades de los orgenes es igual al total de las demandas de los destinos. Podemos equilibrar un problema del transporte cualquiera mediante un origen o un destino ficticios. Ganancia La ganancia de una fila o columna es igual a la diferencia entre el segundo coeficiente de coste ms pequeo y el coeficiente de coste ms pequeo de la fila o columna, en el problema de mnimo. En el problema de mximo, es igual a la diferencia entre el coeficiente de coste ms grande y el segundo ms grande.

El problema del transporte

45

Mtodo de los mnimos costes Mtodo de determinacin de una solucin inicial del problema del transporte, consistente en asignar un valor a la celda de menor coeficiente de coste (en el problema de mnimo) de la regin de la tabla del transporte formada por la interseccin de las filas y columnas no saturadas. Mtodo de la mxima ganancia Mtodo de determinacin de una solucin inicial del problema del transporte, consistente en asignar un valor a una celda tal que sature la fila o columna de mayor ganancia posible. Mtodo del rincn noroeste Mtodo de determinacin de una solucin inicial del problema del transporte, consistente en asignar un valor a la celda superior izquierda (rincn noroeste) de la regin de la tabla del transporte formada por la interseccin de las filas y columnas no saturadas. Mtodo de Vogel Denominacin alternativa del MTODO DE MXIMA GANANCIA. Origen En la nomenclatura del problema del transporte, puntos emisores de recursos. En un problema del transporte equilibrado, el total de recursos emitidos a los diferentes destinos ha de ser igual a la capacidad total del origen. Problema del transporte Modelo que representa una situacin en la que se distribuye un recurso desde m orgenes hasta n destinos, con un coste por unidad de distribuir el recurso del origen i al destino j constante. Es un caso particular de programacin lineal. Saturacin (de una fila o columna) Asignar a una de las celdas de la fila o columna en la tabla de transporte un valor tal que la suma de valores es igual a la capacidad mxima (fila) o demanda mxima (columna). Cuando esto sucede, no podemos asignar valores positivos al resto de celdas de la fila o columna.