Sei sulla pagina 1di 49

Universidad Nacional Experimental de Guayana Vicerrectorado Acadmico Proyecto de Carrera: Ing.

Industrial Ctedra algebra y programacin lineal

Mtodos de Programacin Lineal

Profesor: Jess Carrion Realizado por: Monges Luis v-20302015 Snchez Jess v-16760902 Seccin 1 Ciudad Guayana, Agosto de 2011

INDICE
Introduccin.. 3 Objetivo generales y especficos4 Mtodos de Programacin Lineal Mtodo Grafico.. 5 Ejemplo (1).... 6 Ejemplo (2).... 8 Mtodo Simple... 9 Ejemplo... 12 Mtodo de Transporte... 14 Ejemplo.. 15 Modelo general del problema del transporte. 17 Mtodos para encontrar soluciones factibles.... 25 Mtodo Dinmico...... 41 Ejemplo (1).... 47 Ejemplo (2).... 48 Conclusin 50 Bibliografa.. 51

INTRODUCCIN

En la actualidad la capacidad resolver problemas representa una herramienta importante a la hora de la toma de decisiones en cualquier mbito. La programacin lineal se presenta como una herramienta que Para muchos es una parte integral de las matemticas que debe ser estudiada, pero sin que encuentren aplicacin alguna en el mundo real, para otros un tema que solo interesa a los ingenieros de sistemas y matemticos. La programacin lineal no solo radica en el procedimiento matemtico, sino en la herramienta financiera que nos puede brindar como soporte para la toma de decisiones en cualquier organizacin. Sin embargo, a pesar de todas las bondades en trminos de identificacin y anlisis de recursos, es evidente que muchos desconocen la construccin de modelos como elemento integral con la aparicin de los computadores; la mayor parte de los tericos trasmiten el tema como algo netamente algebraico y han hecho perder el inters por la aplicacin en el mundo de los negocios. En el trabajo que se presenta a continuacin, se pretende ayudar a comprender como se puede utilizar la programacin lineal como elemento importante en el desarrollo de la construccin de modelos de optimizacin, a manera de contribuir con la metodologa de resolucin de problemas en el ejercicio de la ingeniera, que podra ser una herramienta muy importante para desempear nuestro papel de ingenieros y formar parte del desarrollo econmico de la organizacin.

OBJETIVOS DE LA INVESTIGACIN
3

Objetivo General. Explicar la programacin lineal y sus metodologas de aplicacin, utilizando la misma como herramienta financiera que brinda un soporte para la toma de decisiones en cualquier organizacin. Objetivos Especficos. 1. Descripcin del mtodo grafico de programacin lineal y ejemplo de aplicacin en la resolucin de problemas. 2. Descripcin del mtodo simple de programacin lineal y ejemplo de su aplicacin en la resolucin de problemas.
3. Descripcin del mtodo de transporte de programacin lineal y ejemplos de su

aplicacin en la resolucin de problemas


4. Descripcin del mtodo dinmico de programacin lineal y ejemplos de su

aplicacin en la resolucin de problemas

DESARROLLO
4

1. Descripcin del mtodo grafico de programacin lineal y ejemplo de aplicacin en la resolucin de problemas. Descripcin del mtodo grafico de programacin lineal. El mtodo grfico se emplea para resolver problemas que presentan slo 2 variables de decisin. El procedimiento consiste en trazar las ecuaciones de las restricciones en un eje de coordenadas X1, X2 para tratar de identificar el rea de soluciones factibles (soluciones que cumplen con todas las restricciones). La solucin ptima del problema se encuentra en uno de los vrtices de esta rea de soluciones creada, por lo que se buscar en estos datos el valor mnimo o mximo del problema. Los pasos necesarios para realizar el mtodo son nueve: 1. Graficar las soluciones factibles, o el espacio de soluciones (factible), que satisfagan todas las restricciones en forma simultnea. 2. Las restricciones de no negatividad Xi>= 0 confan todos los valores posibles. 3. El espacio encerrado por las restricciones restantes se determinan sustituyendo en primer trmino <= por (=) para cada restriccin, con lo cual se produce la ecuacin de una lnea recta. 4. Trazar cada lnea recta en el plano y la regin en cual se encuentra cada restriccin cuando se considera la desigualdad lo indica la direccin de la flecha situada sobre la lnea recta asociada. 5. Cada punto contenido o situado en la frontera del espacio de soluciones satisfacen todas las restricciones y por consiguiente, representa un punto factible. 6. Aunque hay un nmero infinito de puntos factibles en el espacio de soluciones, la solucin ptima puede determinarse al observar la direccin en la cual aumenta la funcin objetivo. 7. Las lneas paralelas que representan la funcin objetivo se trazan mediante la asignacin de valores arbitrarios a fin de determinar la pendiente y la direccin en la cual crece o decrece el valor de la funcin objetivo. Ejemplos de aplicacin en la resolucin de problemas.
5

Ejemplo 1 Una compaa de auditores se especializa en preparar liquidaciones y auditorias de empresas pequeas. Tienen inters en saber cuantas auditorias y liquidaciones pueden realizar mensualmente para maximizar sus ingresos. Se dispone de 800 horas de trabajo directo y 320 horas para revisin. Una auditoria en promedio requiere de 40 horas de trabajo directo y 10 horas de revisin, adems aporta un ingreso de 300 dls. Una liquidacin de impuesto requiere de 8 horas de trabajo directo y de 5 horas de revisin, produce un ingreso de 100 dls. El mximo de liquidaciones mensuales disponibles es de 60. Objetivo: maximizar el ingreso total. Variable de decisin: cantidad de auditorias (X1), Cantidad de liquidaciones (X2). Restricciones: Tiempo disponible de trabajo directo Tiempo disponible de revisin Nmero mximo de liquidaciones. Maximizar Sujeto a:

Ejemplo 1. Compaa de auditores

La solucin ptima siempre se encuentra en uno de los vrtices del conjunto de soluciones factibles. Se analizan estos valores en la funcin objetivo. El vrtice que representa el mejor valor de la funcin objetivo ser la solucin ptima.

Ejemplo 2
7

Un expendio de carnes acostumbra preparar carne para hamburguesa con una combinacin de carne molida de res y carne molida de cerdo. La carne de res contiene 80 % de carne y 20 % de grasa y le cuesta a la tienda 80 centavos por libra. La carne de cerdo contiene 68 % de carne y 32 % de grasa y cuesta 60 centavos por libra. Qu cantidad de cada tipo de carne debe emplear la tienda por cada libra de carne para hamburguesa si desea minimizar el costo y mantener el contenido de grasa no mayor de 25 %? Minimizar Sujeto a:

Solucin ptima:

2. Descripcin del mtodo simple de programacin lineal y ejemplo de su aplicacin en la resolucin de problemas. Descripcin del simplex grafico de programacin lineal. En la solucin grfica observamos que la solucin ptima est asociada siempre con un punto extremo del espacio de soluciones. El mtodo simplex est basado fundamentalmente en este concepto. Teora de la dualidad. Cada problema de programacin lineal tiene un segundo problema asociado con el. Uno se denomina primal y el otro dual. Los 2 poseen propiedades muy relacionadas, de tal manera que la solucin ptima a un problema proporciona informacin completa sobre la solucin ptima para el otro. Las relaciones entre el primal y el dual se utilizan para reducir el esfuerzo de computo en ciertos problemas y para obtener informacin adicional sobre las variaciones en la solucin ptima debidas a ciertos cambios en los coeficientes y en la formulacin del problema. Esto se conoce como anlisis de sensibilidad o post-optimidad. Existen reglas que rigen la seleccin del siguiente punto extremo del mtodo simplex: 1. El siguiente punto extremo debe ser adyacente al actual. 2. La solucin no puede regresar nunca a un punto extremo considerado con la anterioridad. El algoritmo simplex da inicio en el origen, que suele llamarse solucin inicial. Despus se desplaza a un punto extremo adyacente. La eleccin especfica de uno a otro punto depende de los coeficientes de la funcin objetivo hasta encontrar el punto ptimo. Al aplicar la condicin de optimidad a la tabla inicial seleccionamos a Xi como la variable que entra. En este punto la variable que sale debe ser una de las variables artificiales. Los pasos del algoritmo simplex son ( 10 ) : 1. Determinar una solucin bsica factible inicial. 2. Prueba de optimidad: determinar si la solucin bsica factible inicial es ptima y slo si todos los coeficientes de la ecuacin son no negativos ( >= 0 ). Si es as, el proceso termina; de otra manera se lleva a cabo otra interaccin para obtener la nueva solucin bsica factible inicial.
9

3. Condicin de factibilidad.- Para todos los problemas de maximizacin y minimizacin, variable que sale es la variable bsica que tiene la razn ms pequea (positiva). Una coincidencia se anula arbitrariamente. 4. Seleccionar las variables de holgura como las variables bsicas de inicio. 5. Selecciona una variable que entra de entre las variables no bsicas actuales que, cuando se incrementan arriba de cero, pueden mejorar el valor de la funcin objetivo. Si no existe la solucin bsica es la ptima, si existe pasar al paso siguiente. 6. Realizar el paso iterativo. a) Se determina la variable bsica entrante mediante la eleccin de la variable con el coeficiente negativo que tiene el valor mayor valor absoluto en la ecuacin. Se enmarca la columna correspondiente a este coeficiente y se le da el nombre de columna pivote. b) Se determina la variable bsica que sale; para esta, se toma cada coeficiente positivo (>0) de la columna enmarcada, se divide el lado derecho de cada rengln entre estos coeficientes, se identifica la ecuacin con el menor cociente y se selecciona la variable bsica para esta ecuacin. c) Se determina la nueva solucin bsica factible construyendo una nueva tabla en la forma apropiada de eliminacin de Gauss, abajo de la que se tiene. Para cambiar el coeficiente de la nueva variable bsica en el rengln pivote a 1, se divide todo el rengln entre el nmero pivote, entonces Rengln pivote nuevo = rengln pivote antiguo nmero pivote Para completar la primera iteracin es necesario seguir usando la eliminacin de Gauss para obtener coeficientes de 0 para la nueva variable bsica Xj en los otros renglones, para realizar este cambio se utiliza la siguiente frmula: Rengln nuevo = rengln antiguo - ( coeficiente de la columna pivote X rengln pivote nuevo) Cuando el coeficiente es negativo se utiliza la frmula: Rengln nuevo = rengln antiguo + (coeficiente de la columna pivote X rengln pivote nuevo) Como se capturara la solucin bsica factible inicial en el siguiente ejemplo: Sea: Maximizar Z = 2X1+4X2

10

Sujeto a: 2X1+ X2<= 230 X1+ 2X2<= 250 X2<= 120 todas las X1,X2>=0

BASE Z S1 S2 S3

Z 0 0 0 0

X1 -2 2 1 0

X2 -4 1 2 1

S1 0 1 0 0

S2 0 0 1 0

S3 0 0 0 1

SOLUCIN 0 230 250 120

RAZN 0 230/1 250/2 120/1

Seleccione la variable que entra y la variable que sale de la base: Entra X2 y sale S3, se desarrolla la nueva tabla solucin y se continua el proceso iterativo hasta encontrar la solucin optima si es que est existe.

Tabla Optima:

BASE Z S1 X1 X2

Z 0 0 0 0

X1 0 0 1 0

X2 0 0 0 1

S1 0 1 0 0

S2 2 -2 1 0

S3 0 3 -2 1

SOLUCIN 500 90 10 120

RAZN

Solucin: Z = $500 fabricando X1=10


11

X2=120 Sobrante de S1 = 90 Tipo de solucin: Optima Mltiple Ejemplo de aplicacin en la resolucin de problemas con el mtodo simplex. EJEMPLO: Una compaa produce y vende 2 tipos de mquinas de escribir: manual y elctrica. Cada mquina de escribir manual es vendida por un ingreso de 40 dls. y cada mquina de escribir elctrica produce un ingreso de 60 dls. Ambas mquinas tienen que ser procesadas (ensambladas y empacadas) a travs de 2 operaciones diferentes (O1 y O2). La compaa tiene una capacidad de 2000 hrs. Mensuales para la operacin O1 y 1000 hrs. Mensuales de la operacin O2. El nmero de horas requeridas de O1 y O2 para producir un modelo terminado se da en la siguiente tabla.
HORAS OPERACIN O1 O2 MANUAL 3 1 REQUERIDAS ELECTRICA 2 2 CAPACIDAD (HRS MENSUALES) 2000 1000

Encuentre el nmero ptimo de unidades de cada tipo de mquina de escribir que se debe producir mensualmente para maximizar el ingreso.
OBJETIVO : Maximizar el ingreso total

RESTRICCIONES : horas mensuales de las operaciones VARIABLE DE DECISION: nmero de mquinas de escribir a producir X1 = nmero de mquinas de escribir manuales X2 = nmero de mquinas de escribir elctricas Maximizar
12

Sujeto a:

Minimizar Sujeto a:

V. Bsica Z S1 W1

Z 1 0 0

W1 0 1 0

W2 0 0 1

S1 5 1/ 2 -1/ 4

S2 25 -1/2 3/ 4

Solucin 35000 500 250

13

Modelo de programacin lineal de Transporte. La programacin lineal es un campo tan amplio que se extiende a subclases de problemas para los cuales existen mtodos de solucin especiales. Una de estas subclases se conoce como problemas de transporte. El mtodo smplex de programacin lineal, puede servir para resolver estos problemas. Pero se han desarrollado mtodos ms sencillos que aprovechan ciertas caractersticas de los problemas. Entonces, el mtodo del transporte son slo tcnicas especiales para resolver ciertos tipos de problemas de programacin lineal. El transporte desempea un papel importante en la economa y en las decisiones administrativas. Con frecuencia la disponibilidad de transporte econmico es crtica para la sobre-vivencia de una empresa. Qu significa problema de transporte? Supngase que un fabricante tiene tres plantas que producen el mismo producto. Estas plantas a su vez mandan el producto a cuatro almacenes. Cada planta puede mandar productos a todos los almacenes, pero el costo de transporte vara con las diferentes combinaciones. El problema es determinar la cantidad que cada planta debe mandar a cada almacn con el fin de minimizar el costo total de transporte. La manera ms fcil de reconocer un problema de transporte es por su naturaleza o estructura de-hacia: de un origen hacia un destino, de una fuente hacia un usuario, del presente hacia el futuro, de aqu hacia all. Al enfrentar este tipo de problemas, la intuicin dice que debe haber una manera de obtener una solucin. Se conocen las fuentes y los destinos, las capacidades y demandas y los costos de cada trayectoria. Debe haber una combinacin ptima que minimice el costo (o maximice la ganancia). La dificultad estriba en el gran nmero de combinaciones posibles. Puede formularse un problema de transporte como un problema de programacin lineal y aplicarse el mtodo smplex. Si se hiciera, se encontrara que los problemas de transporte tienen caractersticas matemticas nicas. Para visualizar esto, considrese el siguiente ejemplo: Ejemplo prototipo. Chcharos enlatados es uno de los productos ms importantes de la compaa P & T. Los chcharos se preparan en tres enlatadoras (cercanas a Bellingham, Washington; a Eugene, Oregn y a Albert Lea, Minnesota) y despus se mandan por camin a cuatro almacenes de distribucin (en Sacramento, California; Salt Lake City, Utah; Rapid City, South Dakota y Alburquerque, New Mexico) en el oeste de Estados Unidos. Puesto que los costos de embarque constituyen un gasto importante, la gerencia ha iniciado un estudio para reducirlos lo ms posible que se pueda. Se ha hecho una estimacin de la produccin de
14

cada enlatadora para la prxima temporada y se ha asignado a cada almacn una cierta cantidad de la produccin total de chcharos. En la siguiente tabla se proporciona esta informacin (en unidades de carga de camin), junto con el costo de transporte por camin cargado para cada combinacin de enlatadora-almacn. Como se ve hay un total de 300 cargas de camin que se deben transportar. El problema es determinar el plan de asignacin de estos embarques a las distintas combinaciones de enlatadora-almacn que minimice el costo total de transporte. Costo de embarque ($) por carga Almacn
1 1 Enlatadora 2 3 Asignacin 464 352 995 80 2 513 416 682 65 3 654 690 388 70 4 867 791 685 85 Produccin 75 125 100

Este, de hecho, es un problema de programacin lineal del tipo de los problemas de transporte. Para formularlo, sea Z el costo total de transporte y sea xij (i = 1, 2, 3; j = 1, 2, 3, 4) el nmero de cargas de camin que se mandan de la enlatadora i al almacn j. Entonces el objetivo es seleccionar los valores de estas 12 variables de decisin (las x ij) para: Minimizar Z= 464x11 + 513x12 + 654x13 + 867x14 + 352x21 + 416x22 + 690x23 + 791x24 995x31 + 682x32 + 388x33 + 685x34

sujeta a las restricciones: x1 + x1 + x1 + x1


1 2 3 4

= 75 x2 + x2 + x2 + x2
1 2 3 4

x3 + x3 + x3 + x3
1 2 3 4

x1

+ x2
15

+ x3

= 12 5 = 10 0 = 80

x1
2

+ x2
2

+ x3
2

= 65 + x3
3

x1
3

+ x2
3

= 70 + x3 = 85
4

x1
4

+ x2
4

xij 0 (i = 1, 2, 3; j = 1, 2, 3, 4) La siguiente tabla muestra los coeficientes de las restricciones. Como se ver enseguida, lo que distingue a este problema como un problema de transporte es la estructura especial en el patrn de estos coeficientes, no su contexto.

Coeficiente de: x11 x12 x13 x14 x21 x22 x23 x24 x31 x32 x33 x34 1 A= 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Restricciones de enlatadora Restricciones de almacn

16

Entre parntesis, la solucin ptima para este problema es x 11 = 0, x12 = 20, x13 = 0, x14 = 55, x21 = 80, x22 = 45, x23 = 0, x24 = 0, x31 = 0, x32 = 0, x33 = 70, x34 = 30. Cuando se conozca la prueba de optimalidad se podr verificar este resultado. Modelo general del problema de transporte. Para describir el modelo general del problema de transporte es necesario emplear trminos que sean mucho menos especficos que los que se usaron para los componentes del ejemplo prototipo. En particular, el problema general de transporte se refiere (literal o en sentido figurado) a la distribucin de cualquier bien desde cualquier grupo de centros de abastecimiento, llamados orgenes, a cualquier grupo de centros de recepcin, llamados destinos, de tal manera que se minimicen los costos totales de distribucin. La correspondencia en terminologa entre el ejemplo prototipo y el problema general se resume en la siguiente tabla: Ejemplo prototipo Cargas de chcharos enlatados Tres enlatadoras Cuatro almacenes Produccin de la enlatadora i Asignacin al almacn j Costo de embarque por carga desde la enlatadora i al almacn j Problema general Unidades de un bien m orgenes n destinos si recursos en el origen i Demanda dj en el destino j Costo cij por unidad distribuida desde el origen i al destino j

As, por lo general, el origen i (i = 1, 2, ..., m) dispone de si unidades para distribuir a los destinos y el destino j (j = 1, 2, ..., n) tiene una demanda de dj unidades que recibe desde los orgenes. Una suposicin bsica es que el costo de distribucin de unidades desde el origen i al destino j es directamente proporcional al nmero distribuido, donde cij denota el costo por unidad distribuida. Igual que para el ejemplo prototipo, estos datos de entrada se pueden resumir en forma muy conveniente en la tabla de costos y requerimientos que se muestra enseguida: Costo por unidad distribuida Destino 1 2 ... n c11 c12 ... c1n c21 c22 ... c2n . . . . . . . . .
17

Origen

1 2 . .

Recursos s1 s2 . .

. m Demanda

. cm1 d1

. cm2 d2 ... ...

. cmn dn

. sm

Sea Z el costo total de distribucin y xij (i = 1, 2, ..., m; j = 1, 2,..., n) el nmero de unidades que se distribuyen del origen i al destino j, la formulacin de programacin lineal para este problema es: Minimizar sujeta a Z=

c
i =1 j =1

ij

xij

x
j =1

ij

= si

para i = 1, 2, ..., m

x
y
i =1

ij

= dj xij 0,

para j = 1, 2, ..., n para toda i y j

Note que la tabla que resulta de los coeficientes de las restricciones tiene la estructura especial que se muestra en la siguiente tabla: Coeficiente de x11 x12 . . . x1n x21 x22 . . . x2n . . . xm1 xm2 . . . xmn 1 1 ... 1 1 1 ... 1 . . . A= 1 1 . 1 1 .
18

Restricciones de origen

1 1 ...

1 1

...

1 Restricciones de destino

. . 1

. . 1

. . 1

Cualquier problema de programacin lineal que se ajuste a esta formulacin especial es del tipo de problemas de transporte, sin importar su contexto fsico. De hecho, se han realizado numerosas aplicaciones no relacionadas con el transporte que se ajustan a esta estructura especial. sta es una de las razones por las que el problema de transporte se suele considerar como uno de los tipos especiales de problemas de programacin lineal ms importantes. Una condicin necesaria y suficiente para que un problema de transporte tenga soluciones factibles es que:

si = dj
i =1 j =1

Esta propiedad se puede verificar observando que las restricciones requieren que:

s
i =1

d
j =1

sean iguales a

x
i =1 j =1

ij

Esta condicin de que los recursos totales deben ser iguales a la demanda total en realidad exige que el sistema est balanceado. Si el problema tiene algn significado fsico y esta condicin no se cumple, casi siempre significa que, o bien si, o bien dj de hecho representan una cota y no un requerimiento exacto. Si este es el caso, se puede introducir un origen o destino imaginario (llamado origen ficticio o destino ficticio) para captar la holgura, con el fin de convertir las desigualdades en igualdades y satisfacer la condicin de factibilidad. El problema de transporte es slo un tipo especial de problemas de programacin lineal y puede resolverse aplicando el mtodo smplex tal y como lo hemos estudiado. Sin embargo, veremos que si se aprovecha la estructura especial que se muestra en la tabla anterior, se puede lograr un importante ahorro en los clculos. Se har referencia a este procedimiento simplificado como el mtodo smplex de transporte. Para hacer hincapi en la simplificacin lograda por el mtodo smplex de transporte, se revisar primero la forma en que el mtodo smplex general (no simplificado) establecera el problema de transporte en forma tabular. Despus de construir la tabla de los coeficientes de restriccin (vea la tabla anterior), de convertir la funcin objetivo a la forma de maximizacin y de usar el mtodo de la M para introducir las variables artificiales z1, z2, ..., zm+n en las m+n ecuaciones de restriccin respectivas, se ve que las columnas de la
19

tabla smplex tendran la forma que se muestra en la siguiente tabla: Variable bsica Z Ec. nm. (0) (1) . . . (i) . . . (m+j) . . . (m+n) Coeficiente de ... zi ... M Lado derecho 0

Z 1

...

xij cij

zm+j M

...

zi

si

zm+j

dj

En esta tabla, todos los elementos que no se muestran en estas columnas son ceros. El nico ajuste que queda por hacer antes de la primera iteracin es eliminar algebraicamente los coeficientes distintos de cero de las variables bsicas iniciales (artificiales) en el rengln de Z (rengln 0). Despus de cualquier iteracin subsecuente, el rengln 0 tendra la forma que se muestra en la siguiente tabla: Variable Ec. bsica nm Z Z (0) 1 ... xij cij i j u v Coeficiente de ... zi ... M i u zm+j M j v ...
m

Lado derecho
siui djvj
i =1 j =1 n

A causa del patrn de ceros y unos que siguen los coeficientes en la tabla anterior, ui y vj tienen la siguiente interpretacin: ui = mltiplo del rengln i original que se ha restado (directa o indirectamente) del rengln 0 original durante todas las iteraciones del mtodo smplex que llevaron a la tabla actual.
20

vj = mltiplo del rengln m+j original que se ha restado (directa o indirectamente) del rengln 0 original durante todas las iteraciones del mtodo smplex que llevaron a la tabla actual. El rengln 0 actual se puede obtener sin usar ningn otro rengln con slo calcular los valores de ui y vj directamente. Como cada variable bsica debe tener coeficiente cero en el rengln 0, estos valores se pueden obtener resolviendo el sistema de ecuaciones: cij i j = 0 u v para cada i y j tal que xij es variable bsica,

lo cual se puede hacer de manera directa. Adems de los datos de entrada (los valores de c ij, si y dj), la nica informacin que necesita el mtodo smplex de transporte es la solucin bsica factible actual, los valores actuales de ui y vj y los valores resultantes de cij i j para las variables no bsicas xij. u v Cuando se resuelve un problema a mano es conveniente registrar esta informacin en una tabla smplex de transporte, como la que se muestra enseguida:

En los casos en que la sumatoria de todo lo que se produce en todos los orgenes es mayor que la sumatoria de todo lo que se demanda en todos los destino o viceversa, entonces se dice que el problema no est balanceado. En estos casos lo primero que se debe hacer antes de intentar resolver el problema es balancearlo.
21

Para el caso de SOBREPRODUCCIN (

i =1

si

>

dj
j =1

Si el caso es que se dispone de mayor produccin de la que se demanda, entonces para balancear el problema se agrega un destino imaginario o artificial (llamado tambin destino ficticio) el cual tendr como demanda dicha sobreproduccin. En cuanto a los costos asociados a este nuevo destino los estableceremos a cero (por qu?). El siguiente dibujo muestra lo que se debe hacer:

donde dn+1 = y ci,n+1 = 0, para i = 1, 2, ..., m

si dj
i =1 j =1

Para el caso de SOBREDEMANDA (

dj
j =1

>

s
j =1

Si el caso es que se tiene mayor demanda de lo que se produce, entonces para balancear el problema se agrega un origen imaginario o artificial (llamado tambin origen ficticio) el cual tendr como recursos (producir) dicha sobredemanda. En cuanto a los costos asociados a este nuevo origen los estableceremos a cero (por qu?). El siguiente dibujo
22

muestra lo que se debe hacer:

donde

sm+1 = y cm+1j = 0

d s
j

j =1

i =1

para j = 1, 2, ..., n

Como todas las restricciones funcionales en el problema de transporte son igualdades, el mtodo smplex obtendra una solucin inicial bsica factible introduciendo variables artificiales y usndolas como variables bsicas iniciales. La solucin bsica que resulta de hecho slo es factible para la versin aumentada del problema, por lo que se necesita un buen nmero de iteraciones para hacer que el valor de estas variables artificiales sea cero y se alcancen las soluciones bsicas factibles reales. El mtodo smplex de transporte pasa por alto todo esto, pues usa un procedimiento ms sencillo para construir directamente una solucin bsica factible real en la tabla de transporte. Antes de describir este procedimiento, es necesario establecer que el nmero de variables bsicas en cualquier solucin bsica de un problema de transporte es una menos de lo que se espera. Normalmente en los problemas de programacin lineal, se tiene una variable bsica por cada restriccin funcional. En los problemas de transporte con m recursos y n destinos el nmero de restricciones funcionales es m+n. Sin embargo, el nmero de variables bsicas = m + n 1.
23

Esto se debe a que se manejan restricciones de igualdad y este conjunto de m + n ecuaciones tiene una ecuacin adicional o (redundante) que se puede eliminar. La razn es que se sabe que la cantidad total que se manda desde todos los orgenes debe ser igual que la cantidad total que se recibe en todos los destinos. Por lo tanto, cualquier solucin bsica factible en una tabla de transporte debe aparecer con exactamente m + n 1 asignaciones no negativas, en donde la suma de las asignaciones en cada rengln o columna es igual a su demanda o sus recursos 4.2. Mtodos para encontrar soluciones factibles. Al iniciar, todos los renglones de los orgenes y las columnas de destinos de la tabla smplex de transporte se toman en cuenta para proporcionar una variable bsica (asignacin). 1. Se selecciona la siguiente variable bsica (asignacin) entre los renglones y columnas en que todava se puede hacer una asignacin de acuerdo a algn criterio. 2. Se hace una asignacin lo suficientemente grande como para que use el resto de los recursos en ese rengln o la demanda restante en esa columna (cualquiera que sea la cantidad ms pequea).
3. Se elimina ese rengln o columna (la que tena la cantidad ms pequea en los

recursos odemanda restantes) para las nuevas asignaciones.(Si el rengln y la columna tiene la misma cantidad de recursos y demanda restante, entonces arbitrariamente se elimina el rengln. La columna se usar despus para proporcionar una variable bsica degenerada, es decir, una asignacin con cero unidades.)
4. Si slo queda un rengln o una columna dentro de las posibilidades, entonces el

procedimiento termina eligiendo como bsicas cada una de las variables restantes (es decir, aquellas variables que no se han elegido ni se han eliminado al quitar su rengln o columna) asociadas con ese rengln o columna que tiene la nica asignacin posible. De otra manera se regresa al paso 1. 5. 4.2.1. Mtodo de la esquina noroeste.
1. Regla de la esquina noroeste: la primera eleccin es x11 (es decir, se comienza en

la esquina noroeste de la tabla smplex de transporte). De ah en adelante, si xij fue la ltima variable bsica seleccionada, la siguiente eleccin es xi,j+1 (es decir, se
24

mueve una columna a la derecha) si quedan recursos en el origen i. De otra manera, se elige xi+1,j (es decir, se mueve un rengln hacia abajo). Para hacer ms concreta esta descripcin, se ilustrar el procedimiento general, utilizando la regla de la esquina noroeste en el siguiente ejemplo: Recursos 3 6 4 7 5
2 4 4 3 3 8 2 5

2 3 10 10

Demanda 3

Lo primero que debemos hacer al resolver cualquier problema de transporte es comprobar que est balanceado, si no lo estuviera, agregamos un origen o un destino artificial segn sea el caso para conseguir que el problema quede balanceado y podamos comenzar a resolverlo. En nuestro ejemplo, la sumatoria de los recursos de los tres orgenes es de 10 unidades que es igual a la sumatoria de las demandas de los destinos, por lo que nuestro problema est balanceado y podemos iniciar con la resolucin. Comenzamos asignando en la esquina noroeste de la tabla, es decir, en la celda correspondiente a la variable bsica x11 (paso 1), podemos observar que en la primera columna se demandan 3 unidades del bien y en el primer rengln disponemos de 5 unidades, entonces enviamos las 3 unidades demandadas desde el origen 1 hacia el destino 1 (ya que hay los recursos suficiente para satisfacer toda la demanda) y decrementamos a 2 los recursos restantes en ese origen (paso 2). Con esto cubrimos toda la demanda del primer destino ( almacn) y lo cancelamos para las prximas asignaciones (paso3):
3 7 6 3 8 4 2 5

Recursos 5 2 2 3

3
2 4

4 3

Demanda

3 0

La siguiente asignacin ser en la celda correspondiente a la variable x12 (paso 1) ya que todava le quedan recursos al origen 1 (adems es la esquina noroeste de la tabla restante despus de haber eliminado la primera columna). Notemos que en el segundo destino se
25

demandan 4 unidades del bien y ahora solamente se disponen de 2 unidades en el origen 1, entonces se envan las 2 unidades del origen 1 al destino 2 para satisfacer 2 de las 4 unidades demandadas en este destino quedando 2 por satisfacer (paso 2) y cancelamos el origen 1 ya que no tiene ms unidades del bien para enviar a otro destino (paso 3):
3 7 6 4

Recursos 5 2 0 2 3

3
2 4

4 3

3 8

2 5

Demanda

3 0

4 2

La siguiente asignacin ser en la celda correspondiente a la variable x22 (paso 1) ya que no le quedan unidades del bien al origen 1 (notemos tambin que esa celda es la que se encuentra en la esquina noroeste de la tabla restante despus de haber eliminado el primer rengln y la primera columna y no olvidemos que estamos aplicando la regla de la esquina noroeste). Ya que solamente faltan 2 unidades para satisfacer por completo la demanda del segundo destino y se disponen exactamente de 2 unidades en el segundo origen, entonces enviamos 2 unidades del bien del origen 2 al destino 2 (paso 2) y cancelamos el segundo rengln ya que no le quedan ms unidades para enviar a otro destino. Dejamos pendiente la eliminacin de la segunda columna ya que nos servir ms adelante para hacer la asignacin de una variable bsica degenerada, es decir, una asignacin con cero unidades (paso 3) Recursos 3 45 2 0 7 6 3 2 2 4 22 0 3 2 4 3 8 53 Demanda 3 0 4 2 0 2 1

La siguiente asignacin ser en la celda correspondiente a la variable x32 (paso1) ya que no le quedan ms unidades al origen 2. Notemos que se demandan cero unidades del bien en el segundo destino, en este momento es cuando hacemos una asignacin de cero unidades convirtiendo as a la variable x32 en una variable bsica degenerada (paso 2) y
26

ahora s podemos cancelar la segunda columna para ya no considerarla ms en las siguientes asignaciones (paso 3). Notemos que esta demanda de cero unidades es satisfecha sin ningn problema por el origen 3 ya que ste dispone todava de 3 unidades del bien:

6 3 8

Recursos 45 2 0
22 0 53

3
2 4

2
4

2
3

0 Demanda 3 0 4 2 0 2 1

Como solamente queda un rengln dentro de las posibilidades (el rengln 3 no ha sido cancelado), entonces aplicando el paso 4 del procedimiento general para construir una solucin inicial bsica factible, la siguiente asignacin ser en la celda que corresponde a la variable x33 (paso 1). Ya que la demanda del tercer destino (2 unidades) puede ser satisfecha muy bien por el tercer origen, entonces enviamos 2 unidades del bien del origen 3 al destino 3 quedando solamente 1 unidad en el tercer origen (paso 2) para enviarlo al cuarto destino y con eso cubrir su demanda de una unidad, cancelando de esta manera tanto el destino 3 como el destino 4 y el tercer rengln ya que la demanda de todos los destinos ya ha sido satisfecha y no quedan ms unidades del bien en ningn origen: Recursos
3 7 6 3 8 45 2 0 22 0 53 1 0

3
2 4

2
4

2
3

Costo = 52 Demanda 3 0 4 2 0 2 0 1 0 La solucin inicial bsica factible es x11=3, x12=2, x22=2, x32=0 (variable bsica degenerada), x33=2 y x34=1 y el costo total de transporte asociado a esta primera Poltica de Transporte factible es de: Costo x11 c11 x12 c12 x22 c22 x32 c32 x33 c33 x34 c34 3 (3 + 2 (7 + 2 (4 + 0 (3 + 2 (8 + 1 (5 =
27

52

unidades

Es necesario aclarar que esta no es la solucin final del problema, es necesario aplicar a esta primera solucin factible la prueba de optimalidad ya que puede existir una mejor poltica de transporte que minimice todava ms el costo total. 4.2.2. Mtodo de aproximacin de Vogel. Mtodo de Aproximacin de Vogel: para cada rengln y columna que queda bajo consideracin, se calcula su diferencia, que se define como la diferencia aritmtica entre el costo unitario ms pequeo (cij) y el que le sigue, de los que quedan en ese rengln o columna. (Si se tiene un empate para el costo ms pequeo de los restantes de un rengln o columna, entonces la diferencia es 0). En el rengln o columna que tiene la mayor diferencia se elige la variable que tiene el menor costo unitario que queda. (Los empates para la mayor de estas diferencias se pueden romper de manera arbitraria). Para hacer ms concreta esta descripcin, se ilustrar el procedimiento general, utilizando el mtodo de aproximacin de Vogel para resolver el ejemplo presentado anteriormente y que fue resuelto por la regla de la esquina noroeste: Iniciamos el mtodo calculando las primeras diferencias para cada rengln y columna. De las diferencias que obtuvimos nos fijamos en la mayor (Por qu?), que resulta ser para la tercera columna. En esa columna encontramos el costo unitario (cij) menor y en esa celda realizamos la primera asignacin:
3 2 4 7 4 3 6 3

Recursos DIF. 45 1
22 0 53

0 1 10

2
8

Demanda 3 DIF. 1

4 1

2 0 3
1

1 2

10

Nota: Marcaremos a la mayor de las diferencias seleccionada encerrndola en un crculo y escribindole como superndice el nmero que le corresponda en la secuencia de seleccin. Observemos en la figura anterior que nicamente eliminamos el segundo rengln ya que la tercera columna nos servir despus para hacer la asignacin de una variable bsica degenerada. Continuando con la aplicacin del mtodo, tenemos que calcular nuevamente las diferencias de las columnas ya que hemos eliminado un rengln y sto puede ocasionar que las diferencias aritmticas entre el costo unitario ms pequeo y el que le sigue ya no
28

sean las mismas:


3 2 4 7 4 3 6 3

Recursos DIF. 45 1
22 0 53 0

0 1 10

2
8

3 Demanda 3 DIF. 1 1 4 1 1 4
2

2 0 3 2
1

1 2 1

10

Como siguiente paso deberamos calcular las nuevas diferencias de columnas, pero ya que solamente queda un rengln dentro de las posibilidades (sto no significa que solamente un rengln quede bajo consideracin ya que podemos observar que ninguna de las cuatro columnas (destinos) ha sido eliminada y todas quedan todava bajo consideracin), no es posible encontrar la diferencia aritmtica entre el costo menor y el que le sigue, por lo tanto vamos tomando una a una las celdas que quedan comenzando con la de menor costo unitario hasta que todas hayan sido asignadas.
3 3 2 4 3 Demanda DIF. 3 0 1 4 1 0 1 1 4 2 3 2 0 3
1

7 0

6 1 3 8 1 0 2

Recursos DIF. 45 2 1 0 1 22 0 53 0 10 10 0 1

1 4 2 2 1 La solucin inicial bsica factible es x11=3, x12=1, x13=0 (variable bsica degenerada), x14=1, x23=2 y x32=3 y el costo total de transporte asociado a esta primera Poltica de Transporte factible es de: Costo = x11 c11 x12 c12 x13 c13 x14 c14 x23 c23 x32 c32 3 (3 + 1 (7 + 0 (6 + 1 (4 + 2 (3 + 3 (3 = 35 ) ) ) ) ) ) unidades

Es necesario aclarar que sta puede o no ser la solucin final del problema, es necesario aplicar a esta primera solucin factible la prueba de optimalidad ya que puede existir una
29

mejor poltica de transporte que minimice todava ms el costo total. Comparacin de criterios alternativos para el paso 1. Se compararn estos dos criterios para elegir la siguiente variable bsica. La virtud principal de la regla de la esquina noroeste es la facilidad y rapidez con que se aplica. Sin embargo, como no le da importancia a los costos unitarios cij, por lo general la solucin que se obtiene distar mucho de la ptima. Si se realiza un esfuerzo un poco mayor para encontrar la solucin inicial bsica factible, es posible que se reduzca mucho el nmero de iteraciones que despus necesita el mtodo smplex de transporte para encontrar la solucin ptima. El objetivo del otro criterio es precisamente encontrar una solucin as. El mtodo de aproximacin de Vogel ha sido el ms popular durante muchos aos, en parte porque es relativamente fcil hacerlo a mano. Este criterio toma en cuenta los costos unitarios en forma efectiva ya que la diferencia representa el mnimo costo adicional en que se incurre por no hacer una asignacin en la celda que tiene el menor costo en esa columna o rengln. Podemos decir, que el mtodo de aproximacin de Vogel proporciona una mejor solucin inicial que el criterio de la esquina noroeste, en otras palabras es ms cualitativo. El siguiente paso despus de hallar una solucin inicial bsica factible (por cualquiera de los dos criterios expuestos anteriormente) es verificar si esta solucin inicial es efectivamente ptima aplicando la prueba de optimalidad. La prueba de optimalidad estndar del mtodo smplex para el problema de transporte, se puede reducir de la siguiente manera: Una solucin bsica factible es ptima si y slo si cij i j 0 para toda (i,j) tal que xij u v es no bsica. As, lo nico que hay que hacer para realizar esta prueba es obtener los valores de ui y vj para la solucin bsica factible actual y despus calcular los valores cij i j segn se u v describe enseguida. Como el valor de cij i j debe ser cero si xij es una variable bsica, ui y vj satisfacen el u v conjunto de ecuaciones: cij = ui + vj para cada (i,j) tal que xij es bsica.

Existen m+n variables bsicas y por tanto hay m+n ecuaciones de este tipo. Como 1 1 el nmero de incgnitas (las ui y vj) es m+n, se puede asignar un valor arbitrario a cualquiera de estas variables sin violar las ecuaciones. La eleccin de esta variable y su
30

valor no afecta el valor de ningn cij i j, aun cuando xij sea no bsica, por lo que la nica u v diferencia (menor) estriba en la facilidad para resolver estas ecuaciones. Una eleccin conveniente para lograr esto es seleccionar la ui que tiene el mayor nmero de asignaciones en su rengln (los empates se rompen de manera arbitraria) y asignarle un valor de cero. Gracias a la sencilla estructura de estas ecuaciones, resulta muy fcil obtener algebraicamente los valores del resto de las variables. Para ejemplificar la prueba de optimalidad, consideremos la solucin inicial bsica factible obtenida por la regla de la esquina noroeste para nuestro ejemplo en cuestin: v1 u1 3 u2 u3 Demanda 3 vj
2 4

v2
3

v3
7

v4
6 3 8

4 2 5

Recursos ui 5 2 3

2
4

2 0 4

2 2 1

1 Costo=5 2

Para este problema, existen m+n 1=3+4 1=6 variables bsicas, que dan origen al siguiente conjunto de ecuaciones: 3 = u1+v1 7 = u1+v2 4 = u2+v2 3 = u3+v2 8 = u3+v3 5 = u3+v4 Observemos que resultaron ser 6 ecuaciones que involucran 7 incgnitas (tres de las ui y cuatro de las vj), por lo que este sistema de ecuaciones no es cuadrado. La forma de resolverlo es dando un valor arbitrario a una de las incgnitas, para que, a partir de l encontremos el valor de las dems. La regla para hacer esta asignacin arbitraria nos dice que sea para la ui ( rengln) que haya tenido el mayor nmero de asignaciones. En nuestro ejemplo, el rengln 1 tuvo dos asignaciones, el rengln 2 tuvo una asignacin y por ltimo el tercer rengln tuvo tres asignaciones, por lo que asignamos el valor de cero a la incgnita u3. De esta asignacin resulta lo siguiente: 3 = u1+v1 7 = u1+v2 4 = u2+v2 3 = u3+v2 v2 = 3 8 = u3+v3 v3 = 8 5 = u3+v4 v4 = 5
31

Hemos obtenido el valor de tres incgnitas ms, v2, v3 y v4, los cuales nos ayudarn para hallar el valor de las incgnitas restantes: 3 = u1+v1 si u1=4, entonces v1= 1 7 = u1+v2 si v2=3, entonces u1= 4 4 = u2+v2 si v2=3, entonces u2= 1 3 = u3+v2 v2 = 3 8 = u3+v3 v3 = 8 5 = u3+v4 v4 = 5 De esta forma hemos obtenido el valor de todas las incgnitas y procedemos a colocarlos en la tabla como sigue: v1 u1 3 u2 u3 Demanda 3 vj 1
2 4

v2
3

v3
7

v4
6 3 8

Recursos ui 4 5 4
2 5

2
4

2 3

1 0

2 0 4 3

2 2 8 1 5

1 Costo=5 2

Ahora calculemos los valores cij i j para las variables no bsicas, ya que para las u v bsicas, este valor es cero (por la forma de las ecuaciones con que se hallaron los valores de las incgnitas ui y vj), y coloquemos estos valores en la esquina inferior izquierda de cada celda: Para la celda (1,3): 6 4 8 = 6 Para la celda (1,4): 4 4 5 = 5 Para la celda (2,1): 2 1 ( = 2 1) Para la celda (2,3): 3 1 8 = 6 Para la celda (2,4): 2 1 5 = 4 Para la celda (3,1): 4 0 ( = 5 1) v1 u1 3
0

v2
3

v3 2
7 0

v4
6 6

Recursos ui 4 5 4
5

32

u2 u3

3 6 8

2 4 5

2 3

1 0

2
2 4 5 2 0 3

0
0

2 2 8

Demanda 3 vj 1

4 3

1 5

Costo=5 2

En este momento se puede aplicar la prueba de optimalidad para verificar los valores de cij i j obtenidos. Como cuatro de estos valores (c13 1 3= c14 1 4= c23 2 3= u v u v 6, u v 5, u v 6, c24 2 4= son negativos, se concluye que la solucin bsica factible actual no es u v 4), ptima. Entonces, el mtodo smplex de transporte debe proceder a hacer una iteracin para encontrar una mejor solucin bsica factible. Una iteracin. Igual que para mtodo smplex estndar, una iteracin del mtodo smplex de transporte debe determinar una variable bsica entrante (paso 1), una variable bsica que sale (paso 2) y despus identificar la nueva solucin bsica factible que resulta (paso 3). Paso 1: como cij i j representa la tasa a la que cambia la funcin objetivo si se incrementa u v la variable no bsica xij, la variable que entra debe tener un valor de cij i j negativo, para u v que el costo total Z disminuya. Entonces, los candidatos en la tabla anterior son x13, x14, x23 y x24 . Entre ellos se elige el valor negativo ms grande (en trminos absolutos) de cij i j u v como la variable bsica entrante, que en este caso corresponde a x13 y x23. En los casos en que haya empate para la eleccin de la variable bsica entrante, este empate se rompe de manera arbitraria, ya que tarde o temprano llegaremos a la misma solucin independientemente de la eleccin de la variable. Pero, observemos lo siguiente: ya que debemos elegir la variable bsica entrante, es decir, aquella que comenzar a tener un valor (ya que antes no lo tena porque era variable no bsica), entonces, es conveniente que elijamos aquella que tenga el costo menor, ya que el valor de la variable entrante multiplicado por su respectivo costo ser la contribucin al costo total. En nuestro caso, el costo asociado a x13 es 6 y el costo asociado a x23 es 3, por lo que la variable que debemos elegir como entrante es x23. Paso 2: si se incrementa el valor de la variable bsica entrante, se establece una reaccin en cadena de cambios compensatorios en otras variables bsicas (asignaciones) para seguir satisfaciendo las restricciones de recursos y demanda. La primera variable bsica que disminuya su valor hasta cero ser la variable bsica que sale. En general, siempre existe slo una reaccin en cadena (en cualquier direccin) que se puede completar con xito para
33

conservar la factibilidad, cuando la variable bsica entrante aumenta su valor. Esta reaccin en cadena se puede identificar si se hace una seleccin entre las celdas que tienen variables bsicas: primero, la celda donadora en la columna que tiene la variable bsica; despus, la celda receptora en el rengln que corresponde a la celda donadora; luego, la celda donadora en la columna en que se encuentra esta celda receptora, y as sucesivamente, hasta que la reaccin en cadena conduce a una celda donadora en el rengln que tiene a la variable bsica entrante. Cuando una columna o rengln tiene ms de una celda adicional con variable bsica, puede ser necesario explorar el camino que se va aseguir para averiguar cul debe seleccionarse como celda donadora o receptora. (Todas las dems menos la adecuada llegarn tarde o temprano a un camino sin salida en un rengln o columna que no tiene otra celda con una variable bsica). Despus de identificar la reaccin en cadena. La celda donadora que tiene la asignacin menor proporciona en forma automtica la variable bsica que sale. (En caso de un empate para la celda donadora, se puede elegir cualquiera para proporcionar la variable bsica que sale). Si x23 es la variable bsica entrante, la reaccin en cadena de la tabla anterior se resume enseguida. (Siempre se indicar la variable bsica entrante colocando un signo + encuadrado dentro de su celda):

v1 u1 3
0

v2
3

v3 2
7 0 4 6

v4
6

Recursos ui 5 4 2 3 1 0

u2
2

2 0 4 5

2 0

3 6

5 2 4 5

+ 2 8
0

u3

2 + 3 0

Demanda 3 vj 1

4 3

2 8

1 5

Costo=5 2

Al aumentar x23 debe disminuir x33 en la misma cantidad para conservar la demanda de 2 en la columna 3; esto a su vez requiere que se aumente x32 en esa cantidad para mantener la oferta de 3 en el rengln 3 y esto a su vez exige una disminucin en el valor de x 22 para conservar la demanda de 4 en la columna 2. Esta disminucin en x 22 completa con xito la
34

reaccin en cadena ya que tambin conserva la oferta del rengln 2. El resultado final es que las celdas (2,3) y (3,2) se convierten en celdas receptoras, cada una con su asignacin adicional proveniente de las celdas donadoras (2,2) y (3,3). Estas celdas estn indicadas en la tabla anterior por medio de los signos + y Observe que ). tuvo que elegirse la celda (3,2) como celda receptora para el rengln 3 y no la (3,4), ya que esta ltima no hubiera tenido celda donadora en la columna 4 para continuar la reaccin en cadena. Note adems que, a excepcin de la variable bsica entrante, todas las celdas receptoras y donadoras en la reaccin en cadena deben corresponder a variables bsicas en la solucin bsica factible actual. Cada celda donadora disminuye su asignacin en una cantidad exactamente igual al aumento que tiene la variable bsica entrante (y las otras celdas receptoras). Entonces, la celda donadora que comienza con la asignacin ms pequea este caso las celdas (2,2) en y (3,3) debe ser la primera en llegar a una asignacin de cero conforme se incrementa la variable entrante x23. As, x22 x23 se pueden convertir en la variable bsica que sale. Cuando existe empate para la variable bsica que sale, ste puede romperse de manera arbitraria, es decir, eligiendo cualquiera de las variables donadoras con la asignacin ms pequea como variable bsica saliente. Como una regla emprica, podemos seleccionar como variable bsica saliente aqulla que tenga asociado el mayor costo unitario, ya que como esta variable perder completamente su valor (es decir, se convertir de variable bsica a variable no bsica), esperaramos que el costo total de transporte disminuya. As, escogeramos a x33 como variable bsica saliente. Paso 3: la nueva solucin bsica factible se identifica sumando el valor (antes de los cambios) de la variable bsica que sale a las asignaciones de cada celda receptora y restando esta misma cantidad de las asignaciones de cada celda donadora. En la tabla anterior se observa que el valor de la variable bsica que sale x 33 es 2, por lo que esta porcin de la tabla smplex de transporte cambia, como se ilustra en la siguiente tabla para la nueva solucin. (Como x33 es no bsica en la nueva solucin, su nueva asignacin es cero y ya no se muestra en la tabla).

v1 u1
0

v2
3

v3
0

v4
6 6 5 3 6 0 35

3
2

2 0

Recursos ui 4 5
2 4

u2
2

4 0 4 0

2 3

2
8

u3
5

2 3

5 0

Demanda 3 vj

Costo=4 0

En este momento se puede sealar una interpretacin til de las cantidades c ij i j que u v se obtienen en la prueba de optimalidad. Debido al cambio de 2 unidades en las asignaciones de las celdas donadoras a las receptoras, el costo total cambia en: Z = 2(3 8+3 = 2( = = 2(c23 2 3) 4) 6) 12 u v es decir, el costo total de transporte se decrementa en 12 unidades con respecto al costo anterior que era de 52 unidades. Notemos que hemos obtenido una nueva poltica de transporte, la cual podemos resumir as: La nueva solucin bsica factible es x11=3, x12=2, x22=0 (variable bsica degenerada), x23=2, x32=2 y x34=1 y el costo total de transporte asociado es de: Costo = x11 c11 x12 c12 x22 c22 x23 c23 x32 c32 x34 c34 3 (3 + 2 (7 + 0 (4 + 2 (3 + 2 (3 + 1 (5 = 40 ) ) ) ) ) ) unidades

Antes de completar la solucin del problema ejemplo, se har un resumen de las reglas del mtodo smplex de transporte. Resumen del mtodo smplex de transporte Inicializacin: Se construye una solucin inicial bsica factible. Se realiza la prueba de optimalidad. Prueba de optimalidad: Se obtiene ui y vj eligiendo el rengln con el mayor nmero de asignaciones y estableciendo su ui = 0, y despus resolviendo el sistema de ecuaciones cij = ui+vj para cada (i,j) tal que xij es bsica. Si cij i j 0 para toda (i,j) tal que xij es no bsica, u v entonces la solucin actual es ptima por lo que el proceso se detiene. De lo contrario, se regresa a una iteracin. Iteracin:
1. Se determina la variable bsica entrante: se elige la variable no bsica xij que tiene el

valor negativo ms grande (en trminos absolutos) para cij i j. u v


2. Se determina la variable bsica que sale identificando la reaccin en cadena (encontrar

un circuito) que se necesita para conservar la factibilidad cuando se aumenta el valor de


36

la variable bsica entrante. Entre las celdas donadoras se selecciona la variable bsica que tiene el menor valor. 3. Se determina la nueva solucin bsica factible: se suma el valor de la variable bsica que sale a las asignaciones de las celdas receptoras y se resta este valor a las asignaciones de las celdas donadoras. Continuando con la aplicacin de este procedimiento a nuestro problema, tenemos que calcular los nuevos valores de las ui y vj y despus los valores cij i j correspondientes a las u v variables no bsicas para determinar si todos cumplen con la prueba de optimalidad: Nuevamente existen m+n 1=3+4 1=6 variables bsicas, que dan origen al siguiente conjunto de ecuaciones: 3 = u1+v1 7 = u1+v2 4 = u2+v2 3 = u2+v3 3 = u3+v2 5 = u3+v4 Observemos que nuevamente resultaron ser 6 ecuaciones que involucran 7 incgnitas (tres de las ui y cuatro de las vj). Ya que hay empate en el nmero de asignaciones que tiene cada rengln (2 asignaciones en cada rengln), asignemos el valor de cero a la incgnita u1. De esta asignacin resulta lo siguiente: 3 = u1+v1 v1=3 7 = u1+v2 v2=7 4 = u2+v2 3 = u2+v3 3 = u3+v2 5 = u3+v4 Hemos obtenido el valor de dos incgnitas ms, v1, y v2, los cuales nos ayudarn para hallar el valor de las incgnitas restantes: 3 = u1+v1 7 = u1+v2 4 = u2+v2 3 = u2+v3 3 = u3+v2 5 = u3+v4 v1=3 v2=7 si v2=7, entonces u2= 3 si u2= entonces v3=6 3, si v2=7, entonces u3= 4 si u3= entonces v4=9 4,

De esta forma hemos obtenido el valor de todas las incgnitas y procedemos a colocarlos en la tabla como sigue:
37

v1 u1 3 u2 u3
2

v2
3

v3 2 0
7

v4
6

Recursos ui 5 0 2 3 3 4

2
2 3 8 5

2 Demanda 3 vj 3 4 7 2 6 1 9

1 Costo=4 0

Ahora calculemos los valores cij i j para las variables no bsicas y coloquemos estos u v valores en la esquina inferior izquierda de cada celda: Para la celda (1,3): 6 0 6 = 0 Para la celda (1,4): 4 0 9 = 5 Para la celda (2,1): 2 ( 3 = 2 3) Para la celda (2,4): 2 ( 9 = 3) 4 Para la celda (3,1): 4 ( 3 = 5 4) Para la celda (3,3): 8 ( 6 = 6 4) v1 u1
0

v2
3

v3 2 0 2
0 7 0 4

v4
6 5 3

Recursos ui 5 0 2 3 3 4

3
2

u2
2

2 4

0 4 5

u3

2 0 3

2
8 6

Demanda 3 vj 3

4 7

2 6

1 9

Costo=4 0

Aplicando la prueba de optimalidad para verificar los valores de c ij i j obtenidos, u v vemos que dos de estos valores ( c14 1 4= c24 2 4= son negativos, se concluye que u v 5, u v 4) la solucin bsica factible actual no es ptima. Entonces, el mtodo smplex de transporte
38

debe proceder a hacer una iteracin para encontrar una mejor solucin bsica factible. Aplicando el procedimiento descrito anteriormente, se llega al siguiente conjunto de tablas smplex de transporte que se muestra enseguida y que dan solucin al problema planteado: v1 u1 3
0

v2
3

v3 2 0 2
0

v4
6 5 3

7
0 0 4 20 + 3

Recursos ui 4 5 0 +
2

u2
2

2 0 4 5

2 3

2
8 6

3 4

u3

5
0

Demanda 3 vj 3 v1 u1
0

4 7 v2
3

2 6 v3 1
7 00 4 0 3

1 9 v4
6 5 3

Costo=4 0

Recursos ui 5 2 3

3
22

1
2

u2
2

0 4 5

0 3
0

2
8 6

4 5 0

u3

Demanda 3 vj

Costo=3 5

La nueva solucin bsica factible es x11=3, x12=1, x14=1, x22=0 (variable bsica degenerada), x23=2 y x32=3 y el costo total de transporte asociado es de: Costo = x11 c11 x12 c12 x14 c14 x22 c22 x23 c23 x32 c32 3 (3 + 1 (7 + 1 (4 + 0 (4 + 2 (3 + 3 (3 = 35 ) ) ) ) ) ) unidades

Como en esta ltima tabla todas las c ij i j son no negativas (comprobarlo!), la prueba u v de optimalidad identifica este conjunto de asignaciones como ptimo, lo cual concluye el
39

algoritmo.

Mtodo de programacin dinmico Existe una serie de problemas cuyas soluciones pueden ser expresadas recursivamente en trminos matemticos, y posiblemente la manera ms natural de resolverlos es mediante un algoritmo recursivo. Sin embargo, el tiempo de ejecucin de la solucin recursiva, normalmente de orden exponencial y por tanto impracticable, puede mejorarse substancialmente mediante la programacin Dinmica. Frecuentemente para resolver un problema complejo se tiende a dividir este en subproblemas, ms pequeos, resolver estos ltimos (recurriendo posiblemente a nuevas subdivisiones) y combinar las soluciones obtenidas para calcular la solucin del problema inicial. Puede ocurrir que la divisin natural del problema conduzca a un gran nmero de subejemplares idnticos. Si se resuelve cada uno de ellos sin tener en cuenta las posibles repeticiones, resulta un algoritmo ineficiente; en cambio si se resuelve cada ejemplar distinto una sola vez y se conserva el resultado, el algoritmo obtenido es mucho mejor. La programacin dinmica es un mtodo ascendente. Se resuelven primero los subejemplares ms pequeos y por tanto ms simples. Combinando las soluciones se obtienen las soluciones de ejemplares sucesivamente ms grandes hasta llegar al ejemplar original. La idea de la tcnica de "dividir y vencer" es llevada al extremo en la programacin dinmica. Si en el proceso de resolucin del problema resolvemos un subproblema, almacenamos la solucin, por si esta puede ser necesaria de nuevo para la resolucin del problema. Estas soluciones parciales de todos los subproblemas se almacenan en una tabla, sin tener en cuenta si va a ser realmente necesarias posteriormente en la solucin total. Con el uso de esta tabla se evitan hacer clculos idnticos reiteradamente, mejorando as la eficiencia en la obtencin de la solucin. Tambin sirve para convertir ciertas funciones recursivas en iterativas. La programacin dinmica se emplea a menudo para resolver problemas de
40

optimizacin que satisfacen el principio de optimalidad: en una secuencia ptima de decisiones toda subsecuencia ha de ser tambin ptima. La Programacin Dinmica no slo tiene sentido aplicarla por razones de eficiencia, sino porque adems presenta un mtodo capaz de resolver de manera eficiente problemas cuya solucin ha sido abordada por otras tcnicas y ha fracasado. Donde tiene mayor aplicacin la Programacin Dinmica es en la resolucin de problemas de optimizacin. En este tipo de problemas se pueden presentar distintas soluciones, cada una con un valor, y lo que se desea es encontrar la solucin de valor ptimo (mximo o mnimo). La solucin de problemas mediante esta tcnica se basa en el llamado principio de ptimo enunciado por Bellman en 1957 y que dice: En una secuencia de decisiones ptima toda subsecuencia ha de ser tambin ptima. Hemos de observar que aunque este principio parece evidente no siempre es aplicable y por tanto es necesario verificar que se cumple para el problema en cuestin. Un ejemplo claro para el que no se verifica este principio aparece al tratar de encontrar el camino de coste mximo entre dos vrtices de un grafo ponderado. Concepto de la Programacin dinmica La estrategia algotrmica conocida como programacin dinmica es una tcnica de resolucin que encuentra aplicacin en numerosos problemas de optimizacin. El tipo de problemas abordables es, principalmente, aquel en el que las soluciones factibles se pueden descomponer en una secuencia de elementos (caminos en un grafo, series de decisiones, etc.), y cuya funcin objetivo satisface cierta condicin de separabilidad y montona. No obstante, la programacin dinmica tambin encuentra aplicacin en la bsqueda de otras estructuras ptima (rboles ptimos) y en la realizacin eficiente de ciertos clculos de naturaleza recursiva. La programacin dinmica guarda relacin con divide y vencers. Divide y vencers basa su eficiencia en la divisin de un problema en dos o ms subproblemas de igual o parecida talla e inferior a la del original cuyas soluciones se combinan. La divisin de un problema en subproblemas de talla inferior conduce de forma natural a un planteamiento recursivo. Divide y vencers permite disear algoritmos eficientes cuando la divisin proporciona instancias de talla similar (como en mergesort, donde el vector se parte en dos vectores de talla similar) y, adems, no hay llamadas repetidas en el rbol de las llamadas recursivas (recordemos el problema del clculo de la potencia entera de un numero). El mtodo de programacin dinmica se aplica, precisamente, en problemas que adolecen de estos inconvenientes. Para ellos, la programacin dinmica ofrece un repertorio de tcnicas que permiten reducir la complejidad computacional propia de una resolucin puramente recursiva. La fundamental consiste en evitar la repeticin de clculos en las llamadas recursivas mediante el almacenamiento de los resultados que ya han sido
41

calculados para su posterior reutilizacin. Esta tcnica se conoce como (memorizacin). Por otra parte, una transformacin recursivo-iterativa permite, en ocasiones, reducciones adicionales de complejidad espacial: no solo ahorra la memoria que ocupa la pila de llamadas a funcin, sino que permite reducir el propio tamao de la tabla de soluciones precalculadas. La programacin dinmica consiste en una tcnica que permite determinar de manera eficiente las decisiones que optimizan el comportamiento de un sistema que evoluciona a lo largo de una serie de etapas. En otras palabras, trata de encontrar la secuencia de decisiones que optimiza el comportamiento de un proceso polietapico. La naturaleza del razonamiento que se debe realizar en programacin dinmica es muy diferente al de la programacin lineal, intenta describir una determinada situacin en trminos de un modelo matemtico determinado; una vez conocida la naturaleza de las variables de decisin, y expresadas la funcin objetivo y las restricciones en funcin de esas variables, la programacin dinmica no admite una resolucin sistemtica de este tipo; mas que un modelo concreto, es una estrategia de resolucin comn a muchas situaciones en principio diferentes entre si. Adems, es frecuentemente que la resolucin del modelo este muy relacionada con la situacin que se ha de modelizar. En contrapartida las simplificaciones que en ocasiones deben realizarse en programacin lineal para poder resolver el modelo no son necesarias en programacin dinmica, que admite gran variedad de relaciones entre variables. Existen dos tipos generales de programacin dinmica:
Programacin

dinmica no homognea, frente a programacin dinmica homognea en el tiempo. Para este ultimo caso, podremos plantearnos encontrar la solucin para horizonte finito o para horizonte infinito. este caso, es interesante destacar que las cadenas de Harkov con remuneracin y decisin son un caso particular de programacin dinmica aleatoria homognea en el tiempo.

Programacin dinmica determinista, frente a programacin dinmica aleatoria, en

Para que un problema pueda ser abordado por esta tcnica ha de cumplir dos condiciones: La solucin al problema ha de ser alcanzada a travs de una secuencia de decisiones, una en cada etapa. Dicha secuencia de decisiones ha de cumplir el principio de ptimo. En grandes lneas, el diseo de un algoritmo de Programacin Dinmica consta de los siguientes pasos: 1. Planteamiento de la solucin como una sucesin de decisiones y verificacin de que sta cumple el principio de ptimo
42

. 2. Definicin recursiva de la solucin. 3. Clculo del valor de la solucin ptima mediante una tabla en donde se almacenan soluciones a problemas parciales para reutilizar los clculos. 4. Construccin de la solucin ptima haciendo uso de la informacin contenida en la tabla anterior. Caractersticas de la programacin dinmica La programacin dinmica parte de una pequea porcin del problema y llega a la solucin ptima para esa pequea parte del problema, entonces gradualmente se agranda el problema hallando la solucin ptima en curso a partir de la anterior. Este proceso se repite hasta obtener la solucin ptima del problema original.

Definiciones
Etapa: es un periodo o fase perfectamente identificable del problema, en el cual es

necesario tomar una decisin de acuerdo a una poltica establecida.

Estado: es el conjunto de alternativas posibles que se encuentran dentro de una etapa. Polticas de decisin: es la mecnica para elegir una alternativa que nos llevar a i

estado en la siguiente etapa.

Objetivo: es la meta a alcanzar tomando las decisiones de acuerdo a la poltica ce

decisin establecida en cada etapa del problema.

Principio de optimalidad de Bellman: la poltica de decisin ptima en cualquier

etap2 depende solamente del estado en esa etapa, y no de las decisiones tomadas en etapas anteriores.

Un problema de programacin dinmica puede representarse mediante una red en la cual los nodos representen los diferentes estados en una etapa, y las ramas representan las decisiones que se toman para ir a la siguiente etapa. Es muy importante hacer notar que no se pueden tomar dos decisiones ni simultneamente ni sucesivamente dentro de una misma etapa, por lo tanto, los estados dentro de una misma etapa nunca se podrn conectar entre s, pues al elegir una decisin, las deben de quedar automticamente excluidas.

43

Procedimiento de solucin 1. Se construye una relacin recursiva que identifica la poltica ptima para cada estado en la etapa n, dada la solucin ptima para cada estado en la etapa n + l. 2. Se encuentra la decisin ptima en la ltima etapa de acuerdo a la poltica de decisin establecida. Comnmente la solucin de esta ltima etapa es trivial, es decir, sin ningn mtodo establecido, tomando en cuenta solamente la "contribucin" de la ltima etapa. 3. La idea bsica detrs de la relacin recursiva es trabajar "hacia atrs", preguntndose en cada etapa: qu efecto total tendra en el problema si tomo una decisin particular en .t:5Ll etapa y acto ptimamente en todas las etapas siguientes? Si se resolviera el problema "hacia adelante", es decir, de la primera etapa hacia la sera necesario realizar una enumeracin exhaustiva de todas las alternativas, que resolvindolo "hacia atrs" reducimos el nmero de alternativas a analizar, simplificando la solucin del problema. Cuando se llega a la etapa inicial se encuentra la solucin ptima. Nomenclatura n: nmero de etapa n = 1, 2, 3, ... Xn decisin tomada en la etapa n. Xn* Valor ptimo de Xn. S: estado actual en la etapa n C(Xn): contribucin al objetivo dada la decisin Xn y el estado Sn. fn (S, Xn): contribucin al objetivo en la etapa n y etapas siguientes si el sistema se encuentra en el estado S y las decisiones son ptimas en las etapas n + 1, n + 2, es decir, contribucin inmediata en la etapa n ms la contribucin futura de las etapas n + l en adelante, considerando que nos encontramos en el estado S. fn*(S) = fn (S, Xn*) = mximo o mnimo fn (S, Xn*): mximo o mnimo de la funcin objetivo fn (S,Xn) Los problemas de programacin lineal tienen dos caractersticas comunes: son estticos y lineales. Estos atributos significan que los problemas se expresan y resuelven en trminos de una situacin especfica que ocurre en determinado momento y cumpliendo con las cuatro condiciones descritas en las caractersticas de la programacin lineal. Cuando se considera un problema con respecto a variaciones no lineales en el transcurso de etapas, que pueden ser periodos de tiempo, ya no son aplicables las tcnicas de programacin lineal. Un enfoque que incluye las etapas fases es el de la programacin
44

dinmica. Para la aplicacin de la programacin dinmica es necesario tener un cierto grado de creatividad que se puede adquirir mediante la prctica en la solucin de diversos tipos de problemas. Ejemplo 1 Supngase que nos encontramos en una zona de la ciudad cuyas principales calles se encuentran distribuidas como se muestra en la figura:

Todas las calles son en un solo sentido y los nmeros que aparecen sobre ellas nos indican el esfuerzo necesario para ir de un extremo de la calle al siguiente. Este esfuerzo puede representar el costo del combustible, el tiempo para recorrer la distancia, etc. Una manera de resolver este problema es empleando la tcnica de la ruta ms corta. Otra manera, es enumerando todas las posibles rutas entre sumar los esfuerzos cuadra por cuadra, y despus escoger la ruta cuya suma sea menor. Existen 20 rutas distintas para llegar de O a T, y es necesario hacer 5 sumas para encontrar el esfuerzo total de cada ruta, esto nos da como resultado 100 sumas y 20 comparaciones. Desde luego, existe un mtodo que nos permite resolver el problema con un menor nmero de sumas y de comparaciones. Este mtodo es conocido con el nombre programacin dinmica. Para desarrollar el mtodo de la programacin dinmica es necesario razonar el problema de la siguiente manera: en este momento me encuentro en el nodo =, y no s si dirigirme hacia el nodo A o en nodo B, si de alguna manera conociera el mnimo esfuerzo para ir de A hacia T, entonces fcilmente podra decidir el camino a tomar estando en el origen 0. La idea fundamental de la programacin dinmica, es que,
45

nicamente es relevante el esfuerzo total de A a T y de B a T cuando nos encontramos en 0, y que todas las posibles rutas de A a T y de B a T no se toman en cuenta para la decisin en 0. Por lo tanto, razonando en forma similar al encontramos en cada nodo, deducimos que debemos resolver el problema del final hacia el principio.

El programa matemtico: Optimizar z = f1(x1) + f2(x2) + ... + fn(xn) Con la condicin x1 + x2 + ... + xn b Con todas las variables enteras y no negativas. En que las funciones fi(xi) son funciones no lineales conocidas de una sola variable, b es un nmero entero conocido. Corresponde al modelo importante de decisin en etapas mltiples en que el nmero de etapas es n. La etapa 1 comprende la especificacin de la variable x1 con contribucin f1(x1) al rendimiento total; etc. La programacin dinmica es una forma de enfoque de los procesos de decisin de optimizacin de n etapas. Ejemplo: Una persona dispone de $4000 para invertir y se le presentan tres opciones de inversin. Cada opcin requiere de depsitos en cantidades de $1000, puede invertir lo que desee en las tres opciones. Las ganancias esperadas son las siguientes Inversin Ganancias Opcin 1 Opcin 2 Opcin 3 0 0 0 0 1000 2000 1000 1000 2000 5000 3000 4000 3000 6000 6000 5000 4000 7000 7000 8000

Cunto dinero deber invertirse en cada opcin para maximizar las ganancias? Sea z la ganancia total, que es la suma de las ganancias de cada opcin, las inversiones
46

tienen la restriccin de ser mltiplos de $1000, la tabla muestra las fi(x) = Etapa i, (i = 1,2,3), x es la cantidad de dinero invertida en cada opcin. El programa matemtico es el siguiente: Maximizar z = f1(x1) + f2(x2) + f3(x3) La persona slo posee $4000 para invertir: Las condiciones son : X1 +x2 + x3 4000 Con todas variables enteras y no negativas.

CONCLUSIN
47

La complejidad de nuestra sociedad en cuanto a organizacin general y econmica exige disponer de mtodos para la planificacin y organizacin de la industria, de los transportes y para la asignacin de trabajos en forma ptima. La programacin lineal (iniciada por Dantzig en 1947), que es una pequea parte de todo un cuerpo matemtico que se ha venido consolidando en el siglo XX con el nombre de optimizacin, abarca mtodos de resolucin de problemas en los que se buscan los valores mximos o mnimos de funciones. Tambin podemos acotar que los mtodos de Programacin Lineal estudiados son perfectamente aplicables en un contexto de Investigacin Operativa en el mundo empresarial e industrial, se hace preciso describir cmo es posible aplicar los conceptos anteriores en diferentes situaciones prcticas. Este desarrollo de situaciones del mundo real constituye el autntico desarrollo de la programacin lineal. No se tratan de meras aplicaciones, sino del campo especfico natural de desarrollo de la programacin lineal. Sin casos prcticos como los que aqu se van a desarrollar no se hubiera dado el auge real de esta tcnica operacional. Por otra parte, el conocimiento de aplicacin de los principales conceptos de programacin lineal permite plantear la resolucin de nuevos casos prcticos que surgen da a da en la Empresa, la Industria y la Ingeniera. De esta forma, el objetivo de este captulo es mostrar el vasto nmero de problemas de la vida real que pueden ser abordados mediante las tcnicas de programacin lineal. Presentaremos aplicaciones a reas tan diversas como direccin de la produccin, investigacin de mercados, marketing, logstica, finanzas, etc. En todos esos mbitos, la programacin lineal se revela como herramienta insustituible en la toma de decisiones.

48

BIBLIOGRAFA
Bieman Harold, Bonini Charles y Hausman Warren. Anlisis cuantitativo para

los negocios. 9 cd. Bogota: Mc Graw Hill. 1999

Hiller Frederick y Lieberinan Gerald. Introduccin a la investigacin

de operaciones. 5 cd. Mexico: Mc Graw Hill. 1993

Taha Hamdy. Investigacin de operaciones, una introduccin. 6 cd. Mxico: Prentice Hall. 1998 www.itlalaguna.edu.mx/academico/carreras/industrial/.../UIb.HTML www.phpsimplex.com/ejemplo_metodo_grafico.htm www.programacionlineal.net/ www.investigacion-operaciones.com/SIMPLEX_analitico.htm

49

Potrebbero piacerti anche