Está en la página 1de 19

El Problema de Transporte

1
1.1

Formulacin del Problema de Transporte o


Ejemplo de Formulacin o

A modo de ejemplo, construyamos el modelo de programacin lineal para el siguiente problema. o Ejemplo 1. Una empresa energtica dispone de tres plantas de generacin para satisfacer la dee o manda elctrica de cuatro ciudades. Las plantas 1, 2 y 3 pueden satisfacer 35, 50 y 40 millones de e [kWh] respectivamente. El valor mximo de consumo ocurre a las 2 PM y es de 45, 20, 30 y 30 a millones de [kWh] en las ciudades 1, 2, 3 y 4 respectivamente. El costo de enviar 1 [kWh] depende de la distancia que deba recorrer la energ La siguiente tabla muestra los costos de env unitario a. o desde cada planta a cada ciudad. Formule un modelo de programcin lineal que permita minimizar o los costos de satisfaccin de la demanda mxima en todas las ciudades. o a Hacia Desde Planta 1 Planta 2 Planta 3 Demanda (Millones kWh) Ciudad 1 8 9 14 45 Ciudad 2 6 12 9 20 Ciudad 3 10 13 16 30 Ciudad 4 9 7 5 30 Oferta (Millones kWh) 35 50 40

En primer lugar debemos denir las variables de decisin necesarias para representar las posibles o decisiones que puede tomar la empresa energtica . En este caso, corresponde a la cantidad de e energ que se debe enviar desde cada planta a cada ciudad, luego para i = 1 . . . 3 y j = 1 . . . 4 : a u xij = nmero de millones de [kWh] producidos en la planta i enviadas a ciudad j En trminos de stas variables, el costo total de entregar energ a todas las ciudades es: e e a 8x11 + 6x12 + 10x13 + 9x14 +9x21 + 12x22 + 13x23 + 7x24 +14x31 + 9x32 + 16x33 + 5x34 (Costo de enviar energ desde la Planta 1) a (Costo de enviar energ desde la Planta 2) a (Costo de enviar energ desde la Planta 3) a

El problema tiene dos tipos de restricciones. En primer lugar, la energ total suministrada por cada a planta no puede exceder su capacidad. En este caso se habla de restricciones de oferta o suministro.

Como existen tres puntos de oferta o sumistro, existen tres restricciones: x11 + x12 + x13 + x14 x21 + x22 + x23 + x24 x31 + x32 + x33 + x34 35 50 40 (Restriccin de oferta de la Planta 1) o (Restriccin de oferta de la Planta 2) o (Restriccin de oferta de la Planta 3) o

En segundo lugar, se deben plantear las restricciones que permitan asegurar que se satisfaga la demanda en las cuatro ciudades. As las restricciones de demanda para cada punto de demanda , quedan: x11 + x21 + x31 45 (Restriccin de demanda de la Ciudad 1) o x12 + x22 + x32 20 (Restriccin de demanda de la Ciudad 2) o x13 + x23 + x33 30 (Restriccin de demanda de la Ciudad 3) o x14 + x24 + x34 30 (Restriccin de demanda de la Ciudad 4) o Evidentemente, cada xij debe ser no negativo, por lo tanto se agregan las restricciones xij 0 donde i = 1 . . . 3 y j = 1 . . . 4. Ms adelante demostraremos que la solucin de este problema es a o z = 1020, x12 = 10, x13 = 25, x21 = 45, x23 = 5, x32 = 10 y x34 = 30. El resto de las variables vale cero. Por otro lado, es posible construir una representacin grca del problema: o a Puntos de Oferta Puntos de Demanda
0 x 11 =
x 21 =
1

Ciudad 1
45
0

d1 = 45

s1 = 35

Planta 1

x1 = 2 10
x 13 = 25

= x3

0 x 22 =
x 32 = 10

Ciudad 2

d2 = 20

s2 = 50

Planta 2

x2 = 3 5

Ciudad 3
0 x 33 =
x 14 = 0

d3 = 30

s3 = 40

Planta 3

x 24

x3 = 4 30

Ciudad 4

d4 = 30

1.2

Formulacin General o

Un problema de transporte queda denido por la siguiente informacin: o 1. Un conjunto de m puntos de oferta. Cada punto de oferta i tiene asociado una oferta s i . 2. Un conjunto de n puntos de demanda. Cada punto de demanda j tiene asociada una demanda dj . 3. Cada unidad enviada desde un punto de oferta i a un punto de demanda j tiene un costo unitario de transporte cij Consideremos: xij = nmero de unidades enviadas desde el punto de oferta i al punto de demanda j u 2

Luego, la formulacin general del problema de transporte queda: o Min st


j=n j=1 xij i=m i=1 xij i=m i=1 j=n j=1 cij xij

xij Si se satisface:

si dj 0

(i = 1 . . . m) (j = 1 . . . n) (i = 1 . . . m; j = 1 . . . n)
i=m j=n

(Restricciones de oferta) (Restricciones de demanda) (Restricciones de signo)

si =
i=1 j=1

dj

se dice que el problema est balanceado. En el caso del ejemplo anterior, se verica que tando la a suma de ofertas como las de las demandas es igual a 125. En el caso de un problema de transporte balanceado todas las restricciones estarn al l a mite, por lo tanto la formulacin queda: o Min st
j=n j=1 xij i=m i=1 xij xij i=m i=1 j=n j=1 cij xij

= =

si dj 0

(i = 1 . . . m) (j = 1 . . . n) (i = 1 . . . m; j = 1 . . . n)

(Restricciones de oferta) (Restricciones de demanda) (Restricciones de signo)

1.3

Problemas de Transporte no Balanceados

Si la oferta total supera a la demanda total, se puede balancear el problema de transporte incorporando un punto de demanda articial o dummy que tenga como demanda el excedente de oferta del problema. Como las asignaciones al punto articial no son reales, se le asigna un costo unitario de cero. En general, el costo unitario no necesariamente debe ser igual a cero, basta co que tenga igual valor a todos los puntos de oferta disponibles de forma de no generar preferencias. Por simplicidad, se preere emplear cero. Para ilustrar el balanceo de un problema no balanceado, supongamos en el ejemplo anterior que la demanda de la ciudad 1 disminuye a 40 [kWh]. La siguiente gura ilustra la incoporacin del punto de demanda articial y entrega la solucin respectiva: o o Puntos de Oferta Puntos de Demanda
0 x 11 =

Ciudad 1
40

d1 = 40

s1 = 35

Planta 1

x12 = 15

x 21

x 13 = 20 x 14 = 0

x22

=0

Ciudad 2
= 5

d2 = 20

x 32

s2 = 50

Planta 2
0 = x 31

x23 = 10

Ciudad 3
x2 4 =0

d3 = 30

x33

=0

s3 = 40

x34 = 30

Ciudad 4
x x 15 25 = = 0 0

d4 = 30

Planta 3

x3 = 5 5

Articial 3

d5 = 5

Una forma ms prctica de representar un problema de transporte es mediante un tableau de transa a porte. Una celda de la la i y la columna j representa la variable xij . Se suele incorporar en la esquina superior derecha de cada celda, el costo unitario cij de la combinacin i j. En general, el o tableau queda: Oferta c11 c21 . . . cm1 Demanda d1 c12 c22 . . . cm2 d2 . . . cmn dn c2n s2 . . . sm c1n s1

Construyendo el tableau para el ejemplo anterior (caso balanceado), introduciendo la solucin o ptima, se tiene: o Ciudad 1 8 Planta 1 Planta 2 Planta 3 Demanda 9 45 14 45 Ciudad 2 6 10 12 9 10 20 Ciudad 3 10 25 13 5 16 30 Ciudad 4 9 7 50 5 30 30 40 Oferta 35

En este caso se puede vericar que el problema est balanceado comprobando que la suma de la a ultima columna y la suma de la ultima de la la es idntica. e As como un problema de transporte puede no estar balanceado cuando la demanda es inferior a la oferta, tambin es posible que la demanda supere a la oferta. En este caso, se recurre a un e punto de oferta articial co valor de oferta equivalente a la diferencia entre oferta y demanda, de modo de balancear el problema. En la mayor de las situaciones, el hecho de no satisfacer totala mente la demanda puede signicar algn tipo de costo. Por lo tanto, en stos casos el costo unitario u e de las casillas cticias suele no ser cero y puede variar de un punto de demanda a otro.

2
2.1

Resolucin del Problema de Transporte o


Solucin Inicial o

Consideremos un problema de transporte balanceado con m puntos de oferta y n puntos de demanda. De acuerdo a la formulacin vista anteriormente, el problema tendr m+n restricciones de igualdad. o a Para proceder a describir algunos mtodos para encontrar una primera solucin inicial, es impore o tante observar que si un conjunto de valores para las variables xij satisface todas las restricciones salvo una, automticamente satisface la otra restriccin. Por ejemplo consideremos que en el ejema o plo anterior se sabe que los valores de las varibles satisfacen todas las restricciones, salvo la primera restriccin de oferta. Por lo tanto, los valores de las xij satisfacen d1 + d2 + d3 + d4 = 125 millones o de [kWh] y proveen s2 + s3 = 125 s1 = 90 millones de [kWh] de las plantas 2 y 3. Por lo tanto, la planta 1 debe proveer 125 (125 s1 ) = 35 millones de [kWh], luego los valores de xij tambin e satisfacen la primera restriccin de oferta. o

En lo sucesivo, para resolver el problema de transporte, consideraremos que se satisfacen m + n 1 restricciones, omitiendo alguna. En forma arbitraria, omitiremos la primera restriccin de oferta. o Evidentemente, cualquier coleccin de m + n 1 variables no necesariamente es una solucin factible o o para el problema. Consideremos el siguiente problema de transporte (omitiremos los costos unitarios): 4 5 3 2 4 En forma matricial, las restricciones del problema de transporte balanceado anterior puede ser escrito de la siguiente forma: x11 4 1 1 1 0 0 0 x12 5 0 0 0 1 1 1 1 0 0 1 0 0 x13 = 3 x21 2 0 1 0 0 1 0 x22 4 0 0 1 0 0 1 x23 Eliminando la primera restriccin de oferta el sistema se reduce a: o x11 x12 0 0 0 1 1 1 1 0 0 1 0 0 x13 0 1 0 0 1 0 x21 = x22 0 0 1 0 0 1 x23

5 3 2 4

Como el sistema anterior tiene 4 restricciones y 6 variables posee innitas soluciones, sin embargo, siempre tendr como solucin al menos 4 variables no nulas. a o Para obtener una solucin bsica factible en forma simple introduciremos el concepto de loop. o a Denicin 1 Un orden secuencial de al menos cuatro celdas distintas se denomina loop si: o 1. Dos celdas consecutivas estn en la misma columna o en la misma la. a 2. No tiene tres celdas consecutivas en una misma columna o en una misma la. 3. La ultima celda de la secuencia tiene una la o columna comn con la primera celda de la u secuencia. Las guras siguientes muestran algunos tipos de loop en dos tableaux de transporte:

Las siguientes guras muestran algunos ejemplos de secuencias de celdas que no conforman un loop, pues no satisfacen todas las condiciones.

Teorema 1 En un problema de transporte balanceado con m puntos de oferta y n puntos de demanda, las celdas correspondientes a un conjunto de m + n 1 variables no contienen un loop s y slo s las n + m 1 variables constituyen una solucin inicial. o o El teorema anterior se desprende del hecho de que en un conjunto de m+n1 celdas no contienen un loop s y slo s las m + n 1 columnas correspondientes a las celdas son linealmente independientes. o Los mtodos ms empleados para obtener soluciones iniciales son: e a El mtodo de la Esquina Noroeste. e El mtodo del Costo M e nimo. El mtodo de Vogel. e A continuacin revisaremos slo el mtodo de la Esquina Noroeste y el de Vogel. o o e Mtodo de la Esquina Noroeste. e Para encontrar una solucin inicial se comienza por la esquina superior izquierda (noroeste) del o tableau de transporte intentando asignar la mxima cantidad posible a x 11 . Evidentemente, el valor a mximo de x11 debe ser el menor entre s1 y d1 . Si x11 = s1 , se puede descartar la primera la pues a ya no podr asignarse ms desde el primer punto de oferta, se avanza a la siguiente la. Al mismo a a tiempo, se debe cambiar d1 por d1 s1 , de forma de indicar la cantidad de demanda no satisfecha en el primer punto de demanda. En caso que x11 = d1 , se debe descartar la primera columna y cambiar s1 por s1 d1 , avanzando una columna. Si x11 = d1 = s1 , se debe avanzar en una columna o en una la (pero no en ambas). Se asigna un cero en la direccin escogida y se descarta la otra alternativa. o El mtodo contina aplicando el mismo criterio desde la esquina noroeste del tableau restante. Una e u vez que estn asignadas toda de demanda y oferta disponible, se terminan las asignaciones y est a a completa la asignacin inicial. o Apliquemos el mtodo al siguiente tableau (notar que no se incorporan los costos pues el mtodo e e no los emplea): 5 1 3 2 4 2 1 Comenzamos asignando la mxima cantidad posible por la o por columna en la esquina noroeste. a En este caso, controla la primera columna, luego: 2 0 3 1 3 4 2 1

A continuacin, avanzamos una columna y en esta celda controla la la, por lo tanto queda: o 6

2 0

0 1 3

En este caso, la esquina ms noroeste disponible es la celda 2-2. Aqu la demanda y la oferta se a , igualan. Arbitrariamente se escoger la celda inferior de la misma columna para asignar un cero: a 2 0 3 1 0 0 2 1 0 0 3

Luego, la celda ms noroeste disponible es la 3-3. En esta celda, controla la demanda de 2 sobre la a oferta de 3, luego: 2 0 3 1 0 0 2 0 1 0 0 1

Finalmente, se completa el tableau haciendo la ultima asignacin factible: o 2 0 3 1 0 0 2 0 1 0 0 0 0

En el tableau nal se puede vericar las m + n 1 asignaciones. Adems se observa que la secuencia a de celdas no no conforman ningn loop, por lo tanto, de acuerdo al teorema corresponde a una u asignacin inicial factible. o Mtodo de Vogel. e El mtodo comienza calculando por cada columna y por cada la el castigo o penalty. El case tigo se calcula como la diferencia entre los dos costos menores en la columna o en la la segn u corresponda. A continuacin, se determina la la o columna con un mayor valor de castigo. Luego, o se selecciona como variable basal la celda con menor costo de la la o columna, segn corresponda, u y se le asigna la mxima cantidad posible. Una vez realizada la asignacin, se descarta la la o a o columna cuya oferta o demanda haya sido completa. Se recalcula la demanda u oferta disponible en la la o columna. La primera asignacin se ha completado. o Se vuelven a calcular los castigos por la y por columna y se repite el procedimiento descrito hasta completar las asignaciones posibles en el tableau. La ventaja del mtodo de Vogel por sobre el de la Esquina Noroeste es que va adelante algunas e iteraciones y por lo tanto se obtiene una solucin inicial mejor. Eventualmente puede ocurrir que o aplicando el mtodo se llegue directamente a la solucin ptima. La desventaja del mtodo de Vogel e o o e radica en que sin duda es ms complejo que el de la esquina noroeste, por lo tanto es ms dif de a a cil implementar y ms proclive a errores en la aplicacin. a o Para ilustrar la aplicacin del mtodo veamos un ejemplo. Consideremos el siguiente tableau de o e transporte:

Oferta 6 15 Demanda 15 7 80 5 8 10 78 15 5 De acuerdo al mtodo, en primer lugar se calculan los castigos por la y por columna: e Oferta 6 15 Demanda Castigo 15 9 7 80 5 73 8 10 78 15 5 70 78 15 = 63 76=1 Castigo

El mayor castigo entre las y columnas se encuentra en la segunda columna. De ambas celdas, la de m nimo costo es la de costo unitario de 7, buscando la mxima asigancin por la y por columna a o controla la columna con una signacin mxima de 5 unidades. o a Oferta 6 15 Demanda Castigo 15 9 7 5 80 0 8 5 78 15 5 70 78 15 = 63 86=2 Castigo

De los castigos recalculados, el mayor corresponde a la tercera columna. En este caso la celda de menor costo es la de la primera la. Vericando la asignacin mxima por la y por columna, o a controla la la con una asignacin mxima de 5 unidades. o a Oferta 6 15 Demanda Castigo 15 9 7 5 80 0 8 5 78 0 0 15 Castigo

Luego, el unico castigo disponible (y por lo tanto el mayor) corresponde a la primera columna. En este caso, el m nimo costo corresponde a la primera la. La mxima cantidad posible a asignar por a columna es 15, pero por la es 0. Por lo tanto, debemos asignar 0 unidades a la celda de menor costo. Oferta 6 0 15 Demanda Castigo 15 7 5 80 0 8 5 78 0 0 15 Castigo

Finalmente, no es posible calcular castigos y debemos asignar las unidades disponibles a la unica celda libre. Luego: 8

Oferta 6 0 15 15 0 7 5 80 0 8 5 78 0 0 0

Castigo -

Demanda Castigo

Ntese que el nmero de asignaciones es exactamente igual a m + n 1 = 2 + 3 1 = 5. Eventualo u mente, el mtodo puede generar un nmero inferior de asignaciones. En dicho caso se completa las e u m + n 1 asignaciones con ceros. En el caso de que falte slo una asigancin, se puede ubicar un o o cero en cualquier casilla no asignada. En el caso que se requiera de dos o ms ceros, la asignacin a o no es tan arbitraria. Ms adelante se denir qu criterio emplear en dichos casos. a a e Existen problemas de maximizacin que pueden ser considerados como problemas de Transporte. o En este caso, los coecientes cij estn asociado a los benecios unitarios de la variable asociada a a la combinacin i j y el objetivo es maximizar la suma total de los aportes individuales de las o variables. Se mantienen las restricciones de oferta y demanda. En los casos de maximizacin, es preciso alterar los mtodos para obtener una solucin inicial o e o factible. En el caso del mtodo de la Esquina Noroeste, se debe intentar asignar la mayor cantidad e posible a las casillas con mayor cij . En el caso del mtodo de Vogel, las castigos se calculan entre e los dos mayores benecios por la y por columna. Al igual que el mtodo de la Esquina Noroeste, e se busca asignar la mayor cantidad posible a las casillas con mayor benecio.

2.2

El Mtodo Simplex del Problema de Transporte e

A continuacin se expondrn los pasos para aplicar el mtodo Simplex para el problema de Transo a e porte. La deduccin y justicacin detallada de cada uno de los pasos se puede encontrar en los o o textos de la bibliograf de la asignatura. a Paso 1 Si el problema no est balanceado, balancearlo. Construir el tableau de transporte. a Paso 2 Encontrar una solucin inicial factible por el mtodo de la Esquina Noroeste o el de Vogel. o e Vericar las m + n 1 asignaciones y completarlas si es necesario. Paso 3 Plantear y resolver el sistema que se obtiene a travs de: e Denir para cada la del tableau la variable ui con (i = 1 . . . m). Denir para cada columna del tableau la variable vj con (j = 1 . . . n). Plantear para cada casilla asignada la ecuacin ui + vj = cij . Donde cij es el costo unitario o asociado a la casilla i j. Asignar un valor arbitrario a una de las variables, por ejemplo u1 = 0. Paso 4 Calcular en todas las casillas no asignadas (no bsicas) eij = cij ui vj . Si todos los a eij 0 se ha encontrado el optimo. Si existe algn eij < 0, incorporar la variable con menor eij u siempre y cuando pueda formar un loop, en dicho caso, asignar el mayor valor posible de modo de mantener las variables basales mayores o iguales a cero. Paso 5 Si la solucin no es la optima, emplear la solucin del paso anterior para volver a plantear o o y resolver el sistema (Paso 3). Seguir al Paso 4.

La variable eij representa el aporte neto unitario de la incorporacin de la variable i j a la base. o Por lo tanto, si el problema es de maximizacin, la solucin ser ptima si todos los e ij < 0. En o o ao caso contrario, se ingresa a la base la variable con mayor eij que pueda formar un loop. En el caso de que al emplear uno de los mtodos para obtener una solucin inicial falten dos o e o ms asignaciones para completar las m + n 1 asignaciones requeridas, los ceros deben ser ubicados a de tal forma que sea suciente dar slo un valor arbitrario a las variables del sistema asociado a la o asignacin para poder resolverlo completamente. o Ilustremos el procedimiento resolviendo el tableau planteado para el problema del primer ejemplo. En ese caso, mediante la Esquina Noroeste se obtuvo la siguiente solucin inicial: o Ciudad 1 8 35 9 10 14 45 v1 8 35 9 10 14 45 Ciudad 2 6 12 20 9 20 v2 6 12 20 9 20 Ciudad 3 10 13 20 16 10 30 v3 10 13 20 16 10 30 v4 9 35 7 50 5 30 30 40 Ciudad 4 9 7 50 5 30 30 40 Oferta 35

Planta 1 Planta 2 Planta 3 Demanda

A continuacin podemos plantear las variables del sistema asociado: o

u1 u2 u3

Luego, las ecuaciones se plantean en las casillas asignadas: u1 + v1 u2 + v1 u2 + v2 u2 + v3 u3 + v3 u3 + v4 = = = = = = 8 9 12 13 16 5 (1) (2) (3) (4) (5) (6)

Agregando la condicin u1 = 0 se obtiene de (1) v1 = 8. Luego, de (2) u2 = 1. De (3) y de (4) o v2 = 11 y v3 = 12. Reemplazando en (5) se calcula u3 = 4. Finalmente, de (6) se obtiene v4 = 1. A continuacin se calculan los eij en las casillas no bsicas: o a e12 e13 e14 e24 e31 e32 = 6 0 11 = 10 0 12 = 901 = 711 = 14 4 8 = 9 4 11 = 5 = 2 = 8 = 5 = 2 = 6

Por lo tanto, el menor eij corresponde a e32 con valor 6. Lo que signica que por cada unidad asignada a la variable x32 el efecto global neto es de 6, independientemente de que el costo asociado a dicha casilla sea de 9. Veamos si existe un loop factible y el mximo valor que podr tomar la a a variable. 10

8 35 9 10 14 45

6 12 20 9 20

10 13 20 + 16 10 30

9 35 7 50 5 30 30 40

Como las variables deben ser positivas, el valor de debe ser tal que no introduzca una variable negativa al tableau. En este caso, la condicin que controla es 10 0, por lo tanto = 10. o Introducimos el valor de y volvemos a plantear el sistema asociado: v1 8 35 9 10 14 45 v2 6 12 10 9 10 20 u1 + v1 u2 + v1 u2 + v2 u2 + v3 u3 + v2 u3 + v4 u1 v3 10 13 30 16 30 = = = = = = = 8 9 12 13 9 5 0 v4 9 35 7 50 5 30 30 40

u1 u2 u3

Las unicas variables no bsicas que tienen un eij < 0 son: e12 = 5, e24 = 1 y e13 = 2. Buscando a un loop para x12 y su mximo valor factible se obtiene: a 8 35 9 10 + 14 45 6 12 10 9 10 20 10 13 30 16 30 9 35 7 50 5 30 30 40

De acuerdo al loop encontrado, el mximo valor para es 10. Luego, volvemos a plantear el sistema a para las variables basales: v1 8 25 9 20 14 45 v2 6 10 12 9 10 20 11 v3 10 13 30 16 30 v4 9 35 7 50 5 30 30 40

u1 u2 u3

u1 + v1 u1 + v2 u2 + v1 u2 + v3 u3 + v2 u3 + v4 u1

= = = = = = =

8 6 9 13 9 5 0

Resolviendo y evaluando los eij para cada variable no basal, el unico eij < 0 es e13 = 2. Vericando que exista un loop y determinando el mximo valor posible se tiene: a 8 25 9 20 + 14 45 6 10 12 9 10 20 10 13 30 16 30 9 35 7 50 5 30 30 40

En este caso, para mantener las variables positivas deber ser 25. Haciendo la actualizacin y o volviendo a resolver el sistema asociado se tiene: v1 8 u1 u2 u3 45 9 45 14 v2 6 10 12 9 10 20 u1 + v2 u1 + v3 u2 + v1 u2 + v3 u3 + v2 u3 + v4 u1 v3 10 25 13 5 16 30 = = = = = = = 6 10 9 13 9 5 0 v4 9 35 7 50 5 30 30 40

Resolviendo el sistema, se determina que todos los eij son positivos, por lo tanto la incorporacin o de cualquier variable a la base aumentar el valor total de la funcin objetivo. Como el problema a o es de minimizacin, se ha alcanzado el ptimo. Por lo tanto, el tableau nal queda: o o 8 9 45 14 45 6 10 12 9 10 20 12 10 25 13 5 16 30 9 35 7 50 5 30 30 40

La solucin corresponde exactamente a la entrega con anterioridad. La solucn ptima es: o o o x12 x13 x21 x23 x32 x34 = = = = = = 10 25 45 5 10 30

x11 = x14 = x22 = x24 = x31 = x33 = 0 z = 6(10) + 10(25) + 9(45) + 13(5) + 9(10) + 5(30) = 1020

13

METODO DEL SIMPLEX

PASO 1. Poner el problema en forma estandar: La funcin objetivo se minimiza y las restricciones son de igualdad. o PASO 2. Encontrar una solucin bsica factible (SBF). o a PASO 3. Testar la optimalidad. PASO 4. Elegir una variable de entrada. PASO 5. Elegir la variable de salida. PASO 6. Actualizar la base y la solucin bsica factible. o a PASO 7. Volver al PASO 3.

PASO 1: Poner el problema en forma estandar.


Supongamos que tenemos el siguiente problema de programacin lineal (PPL): o maximizar 3x1 + 5x2 sujeto a x1 + x2 50 x1 + x2 25 x1 , x2 0 1 2 3 4

Necesitamos que la funcin objetivo (#1) sea de minimizacin, y que todas las restricciones sean o o igualdades (#2,#3). La ultima restriccin se denomina restriccin no negativa (#4), y no var o o a. Este PPL no est en forma estandar. Entonces hay dos pasos que tenemos que realizar: a Cambiar de maximizacin a mimizacin: Multiplicamos la funcin objetivo (#1) por -1. En este caso, o o o la funcin objetivo ser o a minimizar sujeto a 3x1 5x2 x1 + x2 50 x1 + x2 25 x1 , x2 0 1 2 3 4

Convertir las inequaciones en ecuaciones: Aadimos variables de holgura. Consideremos la desigualdad n # 2. Tenemos la desigualdad . Como x1 + x2 tiene que se menor que 50, podemos aadir una variable n x3 positiva que nos hace alcanzar el 50. Ahora tenemos x1 + x2 + x3 = 50 y x3 0. Cuando aadimos variables a las restricciones, tenemos que n tener en cuenta la funcin objetivo. El coste asociado a estas nuevas variables ser 0. o a minimizar 3x1 5x2 sujeto a x1 + x2 + x3 = 50 x1 + x2 25 x1 , x2 , x3 0 1 2 3 4

La siguiente desigualdad es del tipo y actuaremos de forma similar: x1 + x2 es mayor que 25, necesitamos restar una variable positiva x4 para obtener 25. Su coste asociado ser 0. a minimizar 3x1 5x2 sujeto a x1 + x2 + x3 = 50 x1 + x2 x4 = 25 x1 , x2 , x3 , x4 0 donde x3 y x4 son variables de holgura. 1 2 3 4

PASO 2: Encontrar una solucin bsica factible (SBF). o a


El mtodo del simplex empieza en un vrtice de la regin factible, es decir, un punto extremo. Despus, e e o e en cada iteracin, el mtodo se mueve a lo largo de una arista hac otro punto extremo. Con este mtodo, o e a e movindonos de vrtice en vrtice, hay que encontrar un punto extremo inicial de la regin factible. Los e e e o puntos extremos se corresponden con las soluciones bsicas factibles. a Un PPL dado en forma estandar se puede escribir en forma matricial minimizar z sujeto a Ax = b x0 En el ejemplo que estamos considerando. Tendremos 1 1 1 1 1 0 0 1 x1 x , x = 2, b = x3 x4 25 50

A=

Tenemos 2 ecuaciones y 4 variables, ms variables que ecuaciones. Como resultado tenemos innitas solua ciones para estas restricciones. De hecho, cada punto de la regin factible es una solucin del sistema. o o Nosotros slamente necesitamos los vrtices de la regin factible, y estos puntos se corresponden con las o e o soluciones bsicas factibles del sistema. a Cuando un sistema Ax = b tiene m ecuaciones y n incgnitas con m n, debemos seleccionar, B, una o submatriz de A no singular m m (det(A) = 0). Esta submatriz B se denomina matriz bsica. a Las variables que generan la matrix B (sus columnas estan en B), se denominan variables bsicas y se a denotan por xB . Las otras n m variables sern variables no bsicas, xN , y siempre se le asociar el valor 0. a a a En nuestro ejemplo podemos escoger como matriz bsica a B = a sern x1 , x3 y las no bsicas x2 , x4 . a a El valor de las variables bsicas se obtiene con el sistema BxB = b (xB = B 1 b). a La solucin obtenida se denomina solucin bsica. o o a Una solucin bsica es una solucin bsica factible si xB 0. o a o a El valor de la solucin bsica enterior ser o a a xB = xN = x1 x3 0 0 = B 1 b = 0 1 1 1 50 25 = 25 25 1 1 1 0 = (a1 a3 ). Las variables bsicas a

Tambin podr e amos escoger como matriz bsica a B = Id = a xB = x3 x4 = B 1 b = 1 0 0 1

1 0 , pero no es factible pues 0 1 50 25 = 50 25

x4 = 25 < 0, no est dentro de la regin factible. a o

PASO 3: Testar la optimalidad.


Tomaremos x otra solucin bsica. Veamos la relacin existente con nuestra solucin: o a o o b = Ax = (B N ) xB xN = BxB + N xN

Multiplicando por B 1 a la izquierda y despejando xB tenemos: xB = B 1 b B 1 N xN Si comparamos el valor de la funcin objetivo de la solucin bsica factible inicial, z0 , con la nueva ,z, o o a tenemos z = (cB cN ) y z0 = (cB cN ) Entonces z = z0 (cB B 1 N cN )xN = z0
xj no bsica a

xB xN

= cB xB + cN xN = CB B 1 b cB B 1 N xN + cN xN B 1 b 0

= CB B 1 b

(cB B 1 aj cj )xj = z0
xj no bsica a

(zj cj )xj

donde aj es la columna de xj en A y zj = cB B 1 aj . La solucin bsica factible tiene el costo ptimo cuando no existe un costo mejor. Es decir, cuando o a o zj cj 0 para todo xj variable no bsica. a Comprobaremos si la solucin obtenida en el apartado anterior es ptima. Para ello calcularemos z2 c2 y o o z4 c4 : z2 c2 = cB B 1 a2 c2 y z4 c4 = cB B 1 a4 c4

cB son los coecientes de coste de las varables bsicas. Es decir, cB = (c1 c3 ) = (3 0). a 1 0 a2 es la columna de A correspondiente a la variable x2 : a2 = . Y a4 = . 1 1 c2 es el coeciente de coste de x2 : c2 = 5. Y c4 = 0. z2 c2 z4 c4 = (3 0) = (3 0) 0 1 1 1 0 1 1 1 1 (5) = 3 + 5 1 0 (0) = 3 + 0 1 =2 =3

La solucin no es ptima (tanto z2 c2 como z4 c4 son positivos). o o

PASO 4: Elegir una variable de entrada.


Si la solucin que tenemos no es ptima signica que tenemos alguna variable no bsica xj que verica o o a que zj cj > 0. Queremos buscar una nueva solucin bsica factible, y su coste asociado es o a z = z0
xj no bsica a

(zj cj )xj

El mtodo del simplex consiste en modicar la solucin obtenida cambiando una variable bsica por e o a una no bsica. Si queremos mejorar el coste, la variable no bsica elegida deber cumplir que zj cj > 0. a a a Tomaremos xk variable no bsica cuyo valor zk ck sea mayor. a En el ejemplo tenemos que z2 c2 , z4 c4 > 0. Escogeremos el valor mayor, por lo tanto la variable que entra es x4 .

PASO 5: Elegir una variable de salida.


Una vez elegida la variable de entrada xk , sabemos que el resto de las variables no bsicas seguirn a a siendo no bsicas y su valor asociado ser 0. a a Adems tenemos que a y1k b1 b2 y2k = B 1 b B 1 ak xk = . . xk . . . . bm ymk

xB = B 1 b B 1 N xN

Teniendo en cuenta que las variables bsicas tienen que ser positivas: a Si yik 0, xBi crece si xk crece. Por lo tanto xBi sigue siendo positivo. Si todos los yik 0, las variables xB crecen si xk crece. La solucin es no acotada. o Si yik < 0, xBi decrece si xk crece. Necesitamos que las xB 0; as que aumentaremos xk hasta que la primera xB sea 0. Esta ser la a variable que salga: xk = min bi yik > 0 . yik br yrk

1im

La variable que sale, xr , es la que hace que se alcance el m nimo: xk = Siguiendo con el ejemplo tenemos que x1 x3 = B 1 b B 1 a4 x4 = = Entonces x4 = min 25 25 1 1 x4 0 1 1 1 50 25 0 1

1 1

0 1

x4

25 . La variable que sale es x3 . 1

PASO 6: Actualizar la base y la solucin bsica factible. o a


La nueva base es bsicamente la base inicial, solamente se permutan dos variables, una bsica se convierte a a en no bsica y viceversa. a La variable xk era no bsica y ahora es bsica. a a La variable xr era bsica y ahora es no bsica. a a Luego nosotros tenemos como variables bsicas a x1 , x4 y las no bsicas son x2 , x3 . a a Los nuevos valores son xk = br yrk b1 b2 . . . bm

xB =

y1k y2k . xk . . ymk

Y los valores de la nueva solucin son x4 = 25, x2 = x3 = 0 (por ser no bsicas) y x1 se calcula por la o a frmula: o x1 x3 = = = x1 = 50. 25 25 25 25 50 0 . 1 1 1 1 x4 25

PASO 7: Volver al PASO 3.


Ahora tenemos una solucin bsica factible mejor que la inicial. Necesitamos saber si sta es la ptima. o a e o Para ello necesitamos aplicar el test de optimalidad, el paso 3.