42
Desarrollo de un algoritmo para la resoluci´ on del problema de transporte Inge nier´ ıa de Orga niza ci´on y Lo g ´ ı sti ca Fernando Alegr´ ıa Medina Universidad Nacional de Educaci´ on a Distancia Febrero 2015

Desarrollo de un algoritmo para la resolucion del problema de transporte

Embed Size (px)

Citation preview

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 1/42

Desarrollo de un algoritmo para la resolucion del

problema de transporte

Ingenierıa de Organizacion y Logıstica

Fernando Alegrıa Medina

Universidad Nacional de Educacion a Distancia

Febrero 2015

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 2/42

Desarrollo de un algoritmo para la resolución del problema de transporte

Índice

Lista de Figuras   ii

Lista de Tablas   iii

1 Introducción   1

2 Objetivos   2

3 Contexto   3

3.1 Contexto dentro de la Ingeniería de Organización y Logística   . . . . 33.2 Contexto histórico   . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

4 Estado de la técnica   7

4.1 Descripción general del problema de transporte   . . . . . . . . . . . . 74.2 Método de simplex para la resolución del problema de transporte   . . 124.3 Variantes del problema de transporte . . . . . . . . . . . . . . . . . . 20

5 Desarrollo del algoritmo del simplex   29

5.1 Introducción de los datos del problema  . . . . . . . . . . . . . . . . . 295.2 Método de la esquina noroeste   . . . . . . . . . . . . . . . . . . . . . 305.3 Multiplicadores simplex y coeficientes de coste relativos   . . . . . . . 315.4 Mejora de una solución básica factible por pivotes   . . . . . . . . . . 335.5 Aplicación del software al problema de las acerías . . . . . . . . . . . 35

6 Conclusión   37

Bibliografía   38

Fernando Alegría Medina i

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 3/42

Lista de Figuras

Lista de Figuras

5.1 Introducción de los datos del problema en el software . . . . . . . . . . . 295.2 Introducción de los datos del problema en el software . . . . . . . . . . . 305.3 Solución óptima para el problema de transporte . . . . . . . . . . . . . . 32

5.4 Solución óptima para el problema de las acerías . . . . . . . . . . . . . . 36

ii Escuela Técnica Superior de Ingenieros Industriales (UNED)

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 4/42

Desarrollo de un algoritmo para la resolución del problema de transporte

Lista de Tablas

4.1 Costes de envío por tonelada de acero y cantidades semanales (entoneladas) de suministro y demanda   . . . . . . . . . . . . . . . . . . . . 9

4.2 Solución del problema de las acerías con exceso de suministro   . . . . . . 10

4.3 Penalizaciones por tonelada no recibida   . . . . . . . . . . . . . . . . . . 104.4 Solución del problema de las acerías con exceso de demanda . . . . . . . 114.5 Solución básica factible por el método de la esquina noroeste   . . . . . . 134.6 Solución básica factible degenerada  . . . . . . . . . . . . . . . . . . . . . 144.7 Solución básica factible degenerada  . . . . . . . . . . . . . . . . . . . . . 144.8 Solución básica factible por el método del costo mínimo   . . . . . . . . . 154.9 Paso 1 del método de aproximación de Vogel   . . . . . . . . . . . . . . . 164.10 Paso 2 del método de aproximación de Vogel   . . . . . . . . . . . . . . . 164.11 Paso 3 del método de aproximación de Vogel   . . . . . . . . . . . . . . . 164.12 Multiplicadores simplex   . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.13 Coeficientes de coste relativo   . . . . . . . . . . . . . . . . . . . . . . . . 18

4.14 Asignación de signos de las variables básicas . . . . . . . . . . . . . . . . 194.15 Nueva solución básica factible obtenida por pivotes   . . . . . . . . . . . . 194.16 Tiempos de preparación para el problema de asignación   . . . . . . . . . 224.17 Paso 1 del método húngaro   . . . . . . . . . . . . . . . . . . . . . . . . . 224.18 Paso 2 del método húngaro   . . . . . . . . . . . . . . . . . . . . . . . . . 224.19 Solución óptima del problema de asignación   . . . . . . . . . . . . . . . . 234.20 Demanda de veleros en los cuatro trimestres  . . . . . . . . . . . . . . . . 234.21 Adaptación del problema de asignación al problema de transporte   . . . 244.22 Solución óptima del problema de inventario   . . . . . . . . . . . . . . . . 244.23 Costes de envío por tonelada de acero y cantidades semanales (en

toneladas) de suministro y demanda   . . . . . . . . . . . . . . . . . . . . 26

4.24 Solución óptima del problema de transbordo   . . . . . . . . . . . . . . . 27

5.1 Costes de envío por tonelada de acero y cantidades semanales (entoneladas) de suministro y demanda   . . . . . . . . . . . . . . . . . . . . 35

Fernando Alegría Medina iii

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 5/42

Desarrollo de un algoritmo para la resolución del problema de transporte

Capítulo 1

Introducción

El presente trabajo recoge la investigación realizada sobre el problema de transporteen la Ingeniería de Organización y Logística. Por un lado, pretende situar dichoproblema en el ámbito de la ingeniería y el entorno organizacional. Se pretendeconcienciar al lector de la importancia de la minimización de los costes logísticos,entre los que se encuentran los costes de transporte. De esta manera, se consiguenaumentar los beneficios de la organización de forma indirecta. También se verá queel problema de transporte abarca otras cuestiones de la logística como la reducciónde inventario, la mejora de costes a través de este, la asignación de tareas a nivel deplanta, etc.

Para dar base a todo ello, se presenta la descripción general del problema detransporte junto a uno de los métodos más importantes de resolución del mismo,

el método de simplex. Además, para asimilar todos los conocimientos adquiridosdurante el estudio del problema, se ha desarrollado un algoritmo que permite laresolución de problemas de transporte de gran extensión. Mostramos dicho software

 junto con la aplicación a un caso relacionado con la Ingeniería de Organización yLogística.

Fernando Alegría Medina 1

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 6/42

CAPÍTULO 2. OBJETIVOS

Capítulo 2

Objetivos

Para la realización del presente trabajo de investigación se han propuesto una seriede objetivos. Su finalidad es guiar el estudio del problema y enfocarlo a la aplicacióndel método. Los objetivos propuestos son los siguientes:

•   Entender los fundamentos del problema de transporte

•   Contextualizar el problema de transporte dentro de la Ingeniería deOrganización y Logística

•  Estudiar los métodos existentes para la resolución del problema de transporte

•   Relacionar el problema de transporte con posibles variantes del mismo

•  Desarrollar un algoritmo basado en los métodos estudiados para la resolucióndel problema de transporte

•  Aplicar el algoritmo desarrollado a un caso relacionado con la Ingeniería deOrganización y Logística

2 Escuela Técnica Superior de Ingenieros Industriales (UNED)

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 7/42

Desarrollo de un algoritmo para la resolución del problema de transporte

Capítulo 3

Contexto

Este apartado trata de situar el problema de transporte dentro de la Ingeniería deOrganización y Logística y mostrar cuales fueron las ideas básicas que dieron base asu estudio.

3.1 Contexto dentro de la Ingeniería de Organizacióny Logística

En un ambiente competitivo, obtener el máximo beneficio es un aspecto clave para eléxito de una organización. Los costes logísticos forman gran parte de los costes totalesde las organizaciones pero, por suerte para estas, pueden reducirse optimizando lacadena de suministros. El análisis de la logística denota la importancia de los costes

de transporte dentro de los costes logísticos de las empresas. Por eso, es importanteestudiar la manera en que los costes de transporte pueden ser optimizados dentro deuna empresa logística.

El transporte de la empresa consiste en llevar a cabo las actividades logísticas detransporte necesarias para mover el inventario de un lugar a otro. Este inventariopuede ser materia prima, material en proceso o producto terminado, dependiendode la etapa de producción en la que nos encontremos. Es erróneo pensar que laactividad de transporte solo engloba el transporte de mercancía a los clientes y quesolo se enfrenta este problema en empresas de producción. Todos las empresas, deun tipo u otro, necesitan transportar sus inventarios desde la fábrica a los almacenes.

Los almacenes pueden estar situados dentro o fuera de las instalaciones de la

propia empresa y pueden ser propiedad de la empresa o alquilados. Lo importante esque se trata de un espacio del que la empresa dispone para organizar su inventario.

Por tanto, según se ha estructurado el problema existen dos trayectos principales:

•  De la fábrica a los almacenes

•  De los almacenes a los clientes

Esto quiere decir que se plantean dos problemas de transporte.

Fernando Alegría Medina 3

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 8/42

CAPÍTULO 3. CONTEXTO

Como se verá más adelante, podría tratarse el problema conjunto mediante eluso de los problemas de transbordo y de inventario. En tal caso sería necesarioconsiderar el coste de mantener la mercancía almacenada por largos periodos detiempo (problema de inventario) y la posibilidad de utilizar los almacenes comopunto intermedio de la cadena de suministro, pudiendo estos actuar como puntos dedemanda y de suministro a la vez (problema de transbordo).

Si recordamos la tarea sobre logística de productos derivados del petróleo realizadaen la asignatura [1], en CLH existía una clara separación entre los dos tipos detrayectos comentados. Por un lado utilizaban el término logística básica para referirseal transporte desde las refinerías o los puertos de importación hasta los almacenes, ypor otro se referían como logística capilar al transporte desde los almacenes hastalas instalaciones del cliente.

Para analizar los trayectos antes citados es necesario considerar para un problemalos costes de transporte para todas las posibles conexiones entre fábricas y almacenesy para otro los costes de las conexiones entre almacenes y clientes. El problema detransporte consiste, por tanto, en minimizar los costes logísticos en la actividad detransporte de la organización estudiada. Para ello, la empresa cuenta con una seriede recursos que le ayudan en la optimización de la logística:

•   Recursos técnicos. Se refiere a los equipos informáticos y las comunicaciones delos que dispone la compañía para poder llevar a cabo un plan de optimizacióndel transporte.

•  Recursos humanos. Se compone de las personas y grupos capaces de plantearel problema para su resolución.

•  Recursos de capital, para financiar los costes del plan de mejora del transportey de las posibles inversiones a realizar para la aplicación del nuevo plan.

Los costes de transporte dependen de una serie de aspectos que debemos teneren cuenta para evitar un excesivo coste de venta. Algunos de estos aspectos se citana continuación:

•  Mano de obra

•   Energía

•  Comunicaciones

•  Combustible

•   Tiempo

•  Oportunidad de inversión

•   Asesoría

4 Escuela Técnica Superior de Ingenieros Industriales (UNED)

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 9/42

Desarrollo de un algoritmo para la resolución del problema de transporte

3.2 Contexto histórico

El problema de transporte es un método clásico de optimización, razón por la cual

se encuentra ligado desde su origen a la ciencia matemática y a investigacionessobre programación lineal. El problema tal y como lo conocemos hoy, y como serámostrado en próximos apartados, fue formulado por F.L. Hitchcock en 1941. Mástarde, Kantorovich y Koopmans, en 1941 y 1948 respectivamente, lograron resolverel problema de optimización. Por eso este problema se denomina en ocasiones“problema de transporte de Monge-Kantorovich” o “problema de transporte deHitchcock-Koopmans” [11].

Sin embargo, el trabajo de A.N. Tolstoï en 1930, resumido en su artículo  Métodos 

para encontrar el mínimo kilometraje en la planificación del transporte de mercancia 1,puede considerarse el germen de este problema logístico [9]. En el citado artículo,A.N. Tolstoï estudia una primera aproximación al problema de transporte y describe

un número de posibles soluciones, entre las cuales encuentra la solución óptima.

Primera aplicación del problema de transporte

La aplicación de este primer problema de transporte intentaba resolver el transportede sal, cemento y otro tipo de mercancías entre los puntos de suministro y susposibles destinos en la red ferroviaria de la Unión Soviética.

Concretamente, se contaba con 10 ciudades que suministraban la mercancía y68 ciudades a donde se dirigía la mercancía. Como veremos más adelante, en unproblema de tales características lo normal sería contar con 10 × 68 = 680  conexionesentre las distintas ciudades, pero por las limitaciones de la red ferroviaria de aquella

época solo existían 155 conexiones.Tolstoï midió las 155 distancias entre ciudades con el objetivo de obtener la

ruta con el menor kilometraje. El resto de conexiones, al no tener ninguna via decomunicación, pueden tratarse como distancias infinitas.

Ahora explicamos la secuencia empleada para resolver el problema ya conocidode transporte de mercancía. Primero consideró el problema de transporte para elcaso de solo dos puntos de suministro. Observó que en ese caso es posible ordenarlos destinos por la diferencia entre distancias de los dos puntos de suministro. Elprimero de ellos empieza a proveer de recursos a las ciudades destino hasta que seemplea toda su capacidad de suministro. El otro suministra a las ciudades restantes.Entonces se dio cuenta de que el procedimiento era independiente de los datos de

suministro y demanda, lo que dio pie a un estudio más amplio.A pesar de su desconocimiento de la formulación del problema matemático,

Tolstoï consiguió llegar a la solución óptima haciendo uso de su conocimiento de lageografía de la Unión Soviética.

1Traducción del título original en Ruso: Metody nakhozhdeniya naimen’shego summovogo

kilometrazha pri planirovanii perevozok v prostranstve

Fernando Alegría Medina 5

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 10/42

CAPÍTULO 3. CONTEXTO

Analizó todos los puntos de suministro empezando por los más remotos. Para

cada punto de suministro X  encontró aquellos destinos para los que  X  era el puntomás cercano o el segundo más cercano. Basándose de nuevo en la diferencia dedistancias, asignaba mercancía desde  X  a las ciudades destino hasta que la capacidadde suministro se agotaba.

No fue capaz de seguir el método comentado para algunas de las ciudades y tuvoque estudiarlas mediante el empleo de la dependencia circular, que se refiere a lasituación geográfica de los puntos de suministro y demanda dentro del país. En suartículo presume de haber verificado cual es la solución óptima. En realidad, él logróllegar a esta pero la verificación de la misma no fue posible hasta su formulacióndefinitiva.

Es importante tener en cuenta la dificultad que este problema suponía en aquellaépoca debido a la gran cantidad de información y la inexistencia de métodoscomputacionales. Se trata de un problema que sería díficil de resolver a manocon los métodos disponibles en la actualidad. Por ello, nos proponemos resolverlocon la ayuda de nuestro software para medir su eficiencia.

6 Escuela Técnica Superior de Ingenieros Industriales (UNED)

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 11/42

Desarrollo de un algoritmo para la resolución del problema de transporte

Capítulo 4

Estado de la técnica

Este apartado recoge la investigación realizada en el presente trabajo en torno alproblema de transporte. Primero veremos como se define el problema analíticamente.De esta forma se consigue mostrar un problema generalizado con aplicación enmultitud de áreas, más allá de las barreras del problema logístico en el ámbito dela ingeniería. Más tarde, se explicará el método del simplex para la resolución delproblema formulado. Este será el método sobre el que se desarrollará el algoritmo,como se expone en el capítulo siguiente. Por último, trataremos las variantesdel problema que se han encontrado en la literatura. Entre ellos, los problemasde asignación y los problemas de inventario son los más importantes en cuantoa contenido, ambos pretenden resolver problemas logísticos que pueden surgir encualquier planta de producción. Además pueden resolverse con el mismo método que

el problema de transporte como se verá más adelante.

4.1 Descripción general del problema de transporte

Hasta ahora hemos explicado el problema de transporte como parte de la logísticade una empresa. Este apartado pretende recoger las ideas comentadas formulando elproblema de transporte como hizo por primera vez F.L. Hitchcock en 1941 [3]. Elloservirá como base para su optimización en el Apartado 4.2.

El problema de transporte se compone por  m  puntos de suministro que contienendiferentes cantidades de un producto que deben ser distribuidas a   n   puntos dedemanda. Como su nombre indica, los  m puntos de suministro deben satisfacer la

demanda de cada uno de los  n  puntos de demanda. Analíticamente puede resumirseen que el punto de suministro   i contiene una cantidad de producto  ai, mientras queel punto de demanda  j  pretende recibir una cantidad de producto  b j. Se supone, porsu significado que

ai ≥  0, b j  ≥ 0, i = 1, 2, . . . , m; j  = 1, 2, . . . , n   (4.1)

Además en algunos casos hemos de considerarlos como enteros. Por ejemplo, enel caso del transporte de acero podríamos tratar las cantidades como kilogramos ocomo barras de acero.

Fernando Alegría Medina 7

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 12/42

CAPÍTULO 4. ESTADO DE LA TÉCNICA

Se puede demostrar que si todos las cantidades   ai   y   b j   son números enteroscualquier solución obtenida, sea o no óptima, está compuesta por números enteros.Llamamos  cij  al coste unitario asociado al envío de un producto desde el punto de

suministro  i hasta el punto de demanda  j.El problema consiste en hallar las cantidades de envío que hay que asignar entre

los puntos de suministro y los puntos de demanda de manera que se satisfagan todaslas necesidades de los últimos con el menor coste posible. Sea   xij   la cantidad deproducto que se envía desde el punto de suministro  i  hasta el punto de demanda  j,el problema puede formularse como:

minimizarm

i=1

n

 j=1

cijxij   (4.2)

s.a.n

 j=1

xij  ≤ ai   i = 1, 2, . . . , m   (4.3)

m

i=1

xij  ≥ b j   j = 1, 2, . . . , n   (4.4)

xij  ≥ 0   ∀i, j   (4.5)

En el problema de transporte se suele cumplir la relación

m

i=1

ai =n

 j=1

b j,   (4.6)

denominándolo entonces problema de transporte equilibrado porque el suministro esigual a la demanda.

Problema de transporte equilibrado

Si se cumple la relación anterior las restricciones del problema de transporte cambiansegún

minimizarm

i=1

n

 j=1

cijxij   (4.7)

s.a.

n

 j=1

xij  = ai   i = 1, 2, . . . , m   (4.8)

m

i=1

xij  = b j   j = 1, 2, . . . , n   (4.9)

xij  ≥ 0   ∀i, j   (4.10)

Este es el problema de transporte generalizado que trataremos de resolver másadelante con nuestro desarrollo en C. Aquí mostramos el caso que intentaremosresolver, con unos datos similares ante los que se podría encontrar cualquier empresa.

8 Escuela Técnica Superior de Ingenieros Industriales (UNED)

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 13/42

Desarrollo de un algoritmo para la resolución del problema de transporte

Ejemplo1. Las acerías de Bethlehem, Birmingham y Gary producen distintascantidades de acero (ai, i = 1, 2, 3) y abastecen a las plantas de fabricación de Detroit,St. Louis, Chicago y Norfolk. Estas cuatro ciudades requieren diferentes demandas(b j, j  = 1, 2, 3, 4) en función de las dimensiones de sus plantas y de sus necesidades deproducción. El coste de envío por tonelada de acero cij  varía según el trayecto, ya quelas distancias difieren significativamente. Se necesita conocer la cantidad de toneladasde acero  xij  que deben enviarse desde las acerías a las plantas de fabricación.

Detroit St. Louis Chicago Norfolk

Bethlehem   14$ 9$ 16$ 18$ 150Birmingham   11$ 8$ 7$ 16$ 210Gary   16$ 12$ 10$ 22$ 320

140 80 200 260

Tabla 4.1:   Costes de envío por tonelada de acero y cantidades semanales (entoneladas) de suministro y demanda

Puede comprobarse quem

i=1

ai =n

 j=1

b j  = 680   (4.11)

por lo que se trata de un problema de transporte equilibrado.No obstante, no todos los problemas de transporte son equilibrados y necesitamos

buscar la manera de equilibrarlos para lograr su optimización. Se emplea el problemaequilibrado en el algoritmo de optimización por su relativa sencillez frente a los

problemas desequilibrados. Existen dos casos de problema desequilibrado que seestudiarán a continuación.

Problema de transporte con más suministro que demanda

En este tipo de problema se cumplem

i=1

ai  >

n

 j=1

b j   (4.12)

La solución a este exceso de suministro se basa en crear un punto de demandaficticio adicional con una cantidad de producto demandada  b j   igual al exceso. Al

ser los envíos a este nuevo destino ficticios, se les asocia un coste de transporte nulo(cij  = 0). La solución asignará cierta cantidad de producto a este punto de demanda,considerando dicha cantidad como capacidad de suministro sin uso.

Para mostrar la idea explícitamente imaginemos que en el problema antesenunciado la ciudad de Gary aumenta su suministro a 330 toneladas de acerosemanales y el resto de datos se mantiene igual. En ese caso, se obtendría la soluciónde la tabla siguiente mediante el empleo de los métodos que se verán en el Apartado4.2.

1Este ejemplo está basado en [10]

Fernando Alegría Medina 9

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 14/42

CAPÍTULO 4. ESTADO DE LA TÉCNICA

Detroit St. Louis Chicago Norfolk Ficticio

Bethlehem   80 70 150Birmingham   20 190 210Gary   120 200   10   330

140 80 200 260 10

Tabla 4.2:  Solución del problema de las acerías con exceso de suministro

Como puede observarse las 10 toneladas de exceso se quedarán sin enviar en laacería de Gary. Por tanto, mediante este método conseguimos saber cuales son lospuntos de suministro que en el caso de no enviar el exceso de suministro darían lugaral mínimo coste de transporte posible. En este caso concreto se ha logrado un costetotal de transporte de 9160$.

Problema de transporte con más demanda que suministro

En este tipo de problema se cumple

m

i=1

ai  <

n

 j=1

b j   (4.13)

Evidentemente, si no se puede suministrar la cantidad total requerida en lospuntos de demanda no existe solución factible al problema de transporte. Sin embargo,en ocasiones puede optarse por dejar parte de la demanda total sin satisfacer bajopenalización por parte de los puntos de demanda que no reciben parte de su pedido.

Aquí entra en juego la penalización que aplica cada punto de demanda en caso deque le falte parte de su pedido por cubrir.

De manera similar al procedimiento seguido cuando el suministro excedía a lademanda, se crea un punto de suministro ficticio con una cantidad  ai  de producto a

repartir igual al exceso de demanda. Los costes unitarios para los envios desde estenuevo punto de suministro se corresponden con las penalizaciones que imponen lospuntos de demanda por no recibir la mercancía.

Igual que se hizo en el caso anterior, aplicamos el método desarrollado al problemade las acerías. En este caso, St. Louis solicita una demanda de 100 toneladas deacero semanales, mientras que el resto siguen demandando las mismas cantidades.En la siguiente tabla mostramos las penalizaciones que impodrían las plantas de

Detroit, St. Louis, Chicago y Norfolk por cada tonelada de acero no recibida.

Ciudad Penalización

Detroit 5$St. Louis 7$Chicago 6$Norfolk 5$

Tabla 4.3:   Penalizaciones por tonelada no recibida

10 Escuela Técnica Superior de Ingenieros Industriales (UNED)

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 15/42

Desarrollo de un algoritmo para la resolución del problema de transporte

Tras analizar el problema, se llega a la optimización del problema equilibradocon exceso de demanda sin asignar (punto de suministro ficticio).

Detroit St. Louis Chicago NorfolkBethlehem   100 50 150Birmingham   20 190 210Gary   120 200 320Ficticio 20   20

140 100 200 260

Tabla 4.4:  Solución del problema de las acerías con exceso de demanda

St. Louis, que es la única que ha aumentado su demanda, penaliza demasiado latonelada de acero no recibida en comparación con el resto de puntos de demanda. Por

ello, incurriremos en menos costes si dejamos 20 toneladas de Norfolk sin cubrir. Lasolución óptima nos dice que el menor coste de transporte posible para este problemaes de 9080$, de los cuales  20 × 5 = 100  se destinarán a pagar la falta de toneladas enNorfolk.

Fernando Alegría Medina 11

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 16/42

CAPÍTULO 4. ESTADO DE LA TÉCNICA

4.2 Método de simplex para la resolución delproblema de transporte

Antes de comenzar la explicación del método de simplex es necesario comentar otrosaspectos. El problema de transporte equilibrado se dice que es un problema definidoporque siempre existe una solución que cumple con los requisitos de suministro ydemanda. Cualquier solución que cumpla esto es una solución básica factible. Elmétodo de simplex comienza siempre con la obtención de una primera solución básicafactible, que puede ser óptima o no. Además puede asegurarse que las solucionesestán limitadas por las cantidades de suministro  ai  y de demanda  b j. Ello nos llevaa la conclusión de que todo problema de transporte tiene solución óptima.

Lo siguiente es estudiar la estructura del problema y de su solución. Como sevió en el apartado precendente, el problema está formado por  m + n  restriccionesde suministro y demanda (4.8 y 4.9). Se puede demostrar que las ecuaciones de esesistema no son independientes, es decir, que cualquiera de ellas es combinación linealde las demás. Si numeramos las restricciones de suministro como  (1), (2), . . . , (m)y las de demanda como  (m + 1), (m + 2), . . . , (m + n), podemos expresar la últimaecuación como

(m + n) = (1) + (2) + . . . + (m) − (m + 1) − (m + 2) − . . . − (m + n − 1)   (4.14)

Una vez se elimina una ecuación cualquiera las restantes son independientes,ya que no es posible formarlas como combinación lineal de las demás. Por tanto,cualquier solución básica factible estará compuesta por  m + n + 1 variables. Entoncesse dice que estas variables son variables básicas y pertenecen a la base del problema

de transporte. El resto de variables será igual a cero, pero no implica que todas lasvariables básicas sean distintas de cero. Cuando una solución tiene al menos una

variable básica igual a cero decimos que es una solución degenerada. Es importanteentender este párrafo pues será clave en el desarrollo de uno de los pasos del métodode simplex.

4.2.1 Obtención de una solución básica factible

Encontrar una solución básica factible es el primer paso del método de simplex. Sehan encontrado tres métodos diferentes en la literatura para obtener una soluciónbásica factible:

•  Método de la esquina noroeste

•  Método del costo mínimo

•  Método de aproximación de Vogel

Se muestran ordenados por grado de dificultad en cuanto a su implementaciónsobre el problema de transporte. Sin embargo, la relativa dificultad del último métodoen este caso es una ventaja porque se obtienen soluciones próximas a la óptima.

12 Escuela Técnica Superior de Ingenieros Industriales (UNED)

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 17/42

Desarrollo de un algoritmo para la resolución del problema de transporte

Ello permite evitar excesivas iteraciones en los siguientes pasos del método delsimplex, que pueden suponer una gran carga computacional. En nuestro desarrollo sedecidió implementar el método de la esquina noroeste por ser el más intuitivo de lostres. A pesar de ello consideramos interesante desarrollar todos ellos a continuación.

Método de la esquina noroeste

El método de la esquina noroeste [5] está compuesto por una serie de pasos:

•  1. Comenzar en la casilla de la esquina noroeste de la matriz

•  2. Asignar la máxima cantidad posible de producto a esa casilla teniendo encuenta sus restricciones de suministro y demanda.

xij  = min{ai, b j}   (4.15)

•  3. Restar a las restricciones de suministro y demanda la cantidad asignada

ai =  ai − xij   y b j  = b j − xij   (4.16)

•  4. Si no queda más demanda por asignar (b j  = 0) pasar a la siguiente columna,y si no queda más suministro por asignar (ai = 0) pasar a la siguiente fila

•  5. Si todas las necesidades de suministro y demanda se han cubierto ya se tienela solución básica factible. Si no volver al paso 2.

Ahora mostramos como se aplica este algoritmo al problema de las acerías antesmostrado para hacer más clara la explicación.

Detroit St. Louis Chicago Norfolk

Bethlehem   140 10 150Birmingham   70 140 210Gary   60 260 320

140 80 200 260

Tabla 4.5:  Solución básica factible por el método de la esquina noroeste

Empezando por la esquina noroeste la cantidad demandada (140) es menor que lasuministrada (150), por tanto, se asigna dicha cantidad a la casilla. Al no quedar másdemanda por asignar (b1 = 0) nos desplazamos a la segunda columna. Ahora soloquedan 10 toneladas de acero por asignar en el suministro frente a 80 de la demanda,por tanto, se asignan 10 toneladas a la casilla. Al ser  a1  = 0 nos desplazamos a lasegunda fila. Procediendo igual con el resto de casillas se obtiene la solución básicafactible al llegar a la esquina sudeste.

Fernando Alegría Medina 13

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 18/42

CAPÍTULO 4. ESTADO DE LA TÉCNICA

Podría ocurrir que   ai   y   b j   se anulasen a la vez en el paso 4. En tal casoestaríamos ante una solución básica factible degenerada. En el caso de que ocurriese,el desplazamiento podría hacerse a la siguiente fila o a la siguiente columnaindistintamente. Por ejemplo, si cambiasen el suministro de Birmingham y lademanda de Norfolk a 70 y 120 respectivamente, entonces habría dos solucionesposibles (Tablas 4.6  y  4.7).

Detroit St. Louis Chicago Norfolk

Bethlehem   140 10 150Birmingham   70 0 70Gary   200 120 320

140 80 200 120

Tabla 4.6:  Solución básica factible degenerada

Detroit St. Louis Chicago Norfolk

Bethlehem   140 10 150Birmingham   70 70Gary   0 200 120 320

140 80 200 120

Tabla 4.7:  Solución básica factible degenerada

Método del costo mínimoEl método del coste mínimo es capaz de hallar soluciones básicas factibles máscercanas a la óptima que el método de la esquina noroeste. Ello se debe a que

hace uso de los costes de transporte unitarios  cij. El procedimiento a seguir para laobtención de la solución básica factible es el siguiente [8]:

•  1. Asignar la máxima cantidad de producto posible a la celda con el menor costeunitario  cij  teniendo en cuenta sus restricciones de suministro y de demanda.Si hay más de una casilla con el mismo coste unitario escoger arbitrariamenteuna de ellas.

•  2. Tachar la fila o columna que haya cubierto el suministro o la demanda. Si

se cubren el suministro y la demanda a la vez tachar arbitrariamente la fila ola columna, pero no los dos.

•  3. Restar la cantidad asignada al suministro y a la demanda correspondientesa la celda siempre que no esté tachada su fila o columna.

•  4. Si queda solo una fila o solo una columna todas las variables restantes sonbásicas y solo existe una solución básica factible, de modo que se asignan lascantidades restantes para terminar. Si no volver al paso 1 evitando las filas ycolumnas tachadas.

14 Escuela Técnica Superior de Ingenieros Industriales (UNED)

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 19/42

Desarrollo de un algoritmo para la resolución del problema de transporte

Lo explicamos nuevamente con el problema de las acerías, del que mostramosdirectamente su solución óptima por el método del costo mínimo.

Detroit St. Louis Chicago NorfolkBethlehem   80 70 150Birmingham   10 200 210Gary   60 260 320

140 80 200 260

Tabla 4.8:  Solución básica factible por el método del costo mínimo

La celda con el coste mínimo se encuentra en la posición (2,3) y puesto que lademanda es menor que el suministro se asignan 200 toneladas a la celda. Después setacha la columna 3 y se resta la cantidad asignada al suministro. Entre los restantes

el coste mínimo se encuentra en (2,2) y se le asignan 10 toneladas que quedan porasignar de suministro. Por tanto, se tacha la fila 2 y se restan 10 toneladas de lademanda. En los siguientes pasos se asignan 70 toneladas a (1,2), se tacha la columna2, se asignan 80 toneladas a (1,1) y se tacha la fila 1. Solo queda la fila 3 sin tacha,por tanto, las únicas celulas que quedan sin tachar (3,1) y (3,4) se completan con lascantidades coherentes con sus respectivos suministros y demandas.

Método de aproximación de Vogel

El método de aproximación de Vogel [4] se basa en el concepto de la penalización.Si la persona que trata de resolver el problema elige incorrectamente entre

varias alternativas posibles es penalizada. En el problema de transporte elegirincorrectamente quiere decir asignar unidades a una celda que no tiene el mínimocoste. Por ello, este método comienza calculando las penalizaciones para cadasuministro y demanda.

•  1. Para cada fila y columna, calcular la diferencia entre los dos costes mínimos.Esta será la penalización o coste de oportunidad por no tomar la mejor decisión.

•  2. Encontrar la fila o la columna con el mayor coste de oportunidad, y asignarla máxima cantidad de producto posible a la celda con menor coste unitario enesa fila o columna. Igual que en los métodos anteriores ha de tenerse en cuentael suministro y la demanda de la celda.

•  3. Tachar cualquier fila o columna cuyo suministro o demanda se haya asignadocompletamente.

•  4. Recalcular los costes de oportunidad omitiendo las filas y columnas tachadas.

•  5. Volver al paso 2 hasta que se obtenga la solución básica factible

Fernando Alegría Medina 15

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 20/42

CAPÍTULO 4. ESTADO DE LA TÉCNICA

Veamos su aplicación con el mismo ejemplo empleado en los otros métodos.Partiendo de los costes unitarios calculamos los costes de oportunidad.

Detroit St. Louis Chicago NorfolkBethlehem   14 9 16 18 150 5Birmingham   11 8 7 16 210 1Gary   16 12 10 22 320 2

140 80 200 2603 1 3 2

Tabla 4.9:  Paso 1 del método de aproximación de Vogel

El coste de oportunidad máximo es 5, por tanto, seleccionamos la casilla (1,2)que es la de menor coste unitario en esa fila. Se le asignan 80 toneladas por ser

menor la demanda que el suministro y se tacha la columna. Después se recalculanlos costes de oportunidad como muestra la Tabla 4.10.

Detroit St. Louis Chicago Norfolk

Bethlehem   80 150 2Birmingham   X 210 4Gary   X 320 6

140 80 200 2603 3 2

Tabla 4.10:  Paso 2 del método de aproximación de Vogel

Ahora el coste de oportunidad máximo es 6, por lo que se asignan 200 toneladasen la celda (3,3). Tras sucesivas iteraciones procediendo de la misma manera se llegaa la solución básica factible.

Detroit St. Louis Chicago Norfolk

Bethlehem   X 80 X 70 150Birmingham   20 X X 190 210Gary   120 X 200 X 320

140 80 200 260

Tabla 4.11:  Paso 3 del método de aproximación de Vogel

4.2.2 Multiplicadores simplex y coeficientes de coste relativo

Ahora introduciremos los multiplicadores simplex, que se han de calcular tras obteneruna solución básica factible. Esto es así porque los multiplicadores simplex se calculana partir de las variables básicas. Las ecuaciones mediante las cuales se obtienen son

ui + v j  = cij   (4.17)

16 Escuela Técnica Superior de Ingenieros Industriales (UNED)

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 21/42

Desarrollo de un algoritmo para la resolución del problema de transporte

Disponemos de  m + n  multiplicadores simplex,  ui  con   i = 1, 2, . . . , m y  v j   con

 j   = 1, 2, . . . , n. Sin embargo, como las ecuaciones solo se aplican a las variablesbásicas solo hay  m + n− 1 ecuaciones. No es posible resolver el sistema de ecuacionespues hay más incógnitas que ecuaciones. En este caso lo que se hace es dar un valorarbitrario a cualquiera de los multipicadores simplex. Normalmente se escoge  vn = 0para generalizar el método. De ese modo queda un sistema de ecuaciones compatibledeterminado del que podemos obtener los multiplicadores del simplex. Si trasladamoseste procedimiento de cálculo a la tabla de transporte, puede enunciarse como:

•  1. Asignar un valor arbitrario a cualquiera de los multipicadores simplex

•  2. Buscar en la tabla hasta que se encuentre un coste  cij   redondeado tal que

ui  o  v j  (pero no los dos) ya se haya determinado. El coste redondeado denotaque pertenece a una variable básica.

•   3. Para ese  cij  calcular el multiplicador simplex que quede por determinarmediante la ecuación  cij  = ui + v j. Si se han hallado todos los multiplicadoressimplex ha finalizado el procedimiento. Si no, volver al paso 2.

Una vez que se han hallado los multiplicadores simplex se calculan los coeficientesde coste relativo

rij  = cij − ui − v j   i = 1, 2, . . . , m; j  = 1, 2, . . . , n   (4.18)

Como puede verse, los coeficientes de coste relativo solo tienen sentido para lasvariables no básicas. En las variables básicas serán siempre iguales a cero. En elmétodo del simplex estos coeficientes son de gran importancia. Si conseguimos que

rij  ≥ 0   i = 1, 2, . . . , m; j  = 1, 2, . . . , n   (4.19)

significará que la solución obtenida anteriormente es la óptima.Veamos como aplicar toda esta teoría al ejemplo que venimos tratando desde

apartados anteriores. Lo primero es decidir cual de las 3 soluciones básicas factiblesescogemos. Elegiremos la obtenida por el método de la esquina noroeste por seguirel procedimiento del algoritmo del Capítulo 5, aunque cualquiera de ellas es válida.Si volvemos a la Tabla 4.5  veremos cuales son las variables que componen la base,a partir de las cuales se obtendrán los multiplicadores. Siguiendo el procedimientoindicado anteriormente se llega al siguiente resultado:

Detroit St. Louis Chicago NorfolkBethlehem   14 9   16 18 20Birmingham 11   8 7   16 19Gary 16 12   10 22   22

-6 -11 -12 0

Tabla 4.12:   Multiplicadores simplex. En negrita se muestran los costes de lasvariables básicas.

Fernando Alegría Medina 17

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 22/42

CAPÍTULO 4. ESTADO DE LA TÉCNICA

Y a partir de los multiplicadores se obtienen los coeficientes de coste relativo.

Detroit St. Louis Chicago Norfolk

Bethlehem 0 0   8 -2   20Birmingham   -2   0 0   -3   19Gary   0 1   0 0 22

-6 -11 -12 0

Tabla 4.13:  Coeficientes de coste relativo

A la vista de los resultados, la solución básica factible obtenida por el método dela esquina noroeste no es la solución óptima. En el siguiente apartado veremos unaherramienta que nos permite modificar la solución de manera adecuada para irnosaproximando poco a poco a la solución óptima.

4.2.3 Mejora de una solución básica factible por pivotes

La idea principal del algoritmo es probar con soluciones nuevas cada vez más cercanasa la optimización. Ello se consigue introduciendo cada vez una variable nueva ala base y eliminando una de las anteriores, que pasa a ser variable no básica. Esnecesario eliminar una variable porque la base no pude tener más de   m +  n  −  1variables.

La nueva variable a introducir en el método de simplex suele ser la variablecon el coeficiente de coste relativo más negativo. Podría seleccionarse cualquierotra variable con coeficiente de coste relativo negativo pero nos acercaríamos máslentamente a la situación óptima. Una vez se ha seleccionado la variable se colocaun signo + en su casilla, ya que pretendemos añadirle una cierta cantidad   θ  paraincluirla en la base. Ahora se trata de completar las casillas de las variables básicascon +, - ó 0 indicando que se le sumará  θ, restará  θ   o que no se modificará. Parasaber que signo añadir nos basamos en los suministros y demandas. Estos debenpermanecer constantes, por tanto, hay que modificar las filas y columnas para quecada suma se compense con una resta y viceversa. Será interesante ver como se hasistematizado este proceso en el algoritmo desarrollado.

Una vez se hayan conseguido añadir todos los signos (en las variables básicas)hay que escoger el valor de  θ. Este valor es el de la menor variable básica con unsigno - asociado. De esta manera, al restarle  θ  a esa variable esta es igual a cero ypasa a ser una variable no básica. De esta manera hemos conseguido sustituir unavariable por otra. Con el resto de variables básicas hay que realizar las operacionespertinentes: las que tengan signo + se les suma  θ, las que tengan signo - se les resta

θ y las que tengan un 0 se mantienen constantes.Hemos obtenido una solución básica diferente a la inicial. Lo que sigue es hallar

los multiplicadores simplex y los coeficientes de coste relativo para esta nueva solucióny comprobar si hemos llegado a la solución óptima. En caso de no haber llegadoaún, se volvería a aplicar este método de pivotes para obtener otra solución básicafactible. Tras sucesivas iteraciones se encontrará la solución óptima al problema detransporte.

18 Escuela Técnica Superior de Ingenieros Industriales (UNED)

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 23/42

Desarrollo de un algoritmo para la resolución del problema de transporte

Puesto que obtuvimos los coeficientes de coste relativo para el ejemplo seguidoen el apartado anterior, ahora podemos obtener una nueva solución básica factiblebasándonos en ellos. En la Tabla 4.13 vemos que la casilla Birmingham-Norfolk tieneel menor coeficiente de coste relativo. Por tanto, se añade esta variable a la base yse asignan signos a las variables básicas.

Detroit St. Louis Chicago Norfolk

Bethlehem   1400 100 150Birmingham   700 140− + 210Gary   60+ 260− 320

140 80 200 260

Tabla 4.14:  Asignación de signos de las variables básicas

En este caso la variable menor con signo - asociado es  x23, por tanto,  θ = 140.Recalculando variables la solución es la que se muestra en la tabla siguiente.

Detroit St. Louis Chicago Norfolk

Bethlehem   140 10 150Birmingham   70 140 210Gary   200 120 320

140 80 200 260

Tabla 4.15:  Nueva solución básica factible obtenida por pivotes

4.2.4 Resumen del método de simplex

Resumiendo todo lo anterior, para hallar la solución óptima del problema detransporte por el método de simplex se han de seguir los siguientes pasos:

•   1. Obtener una solución básica factible por el método de la esquina noroeste,el de los costos mínimos o el de aproximación de Vogel

•   2. Calcular los multiplicadores simplex y los coeficientes de coste relativo.Si todos los coeficientes de coste relativo son mayores o iguales a cero se haobtenido la solución óptima. Si no, continuar con el paso 3.

•  3. Elegir la variable no básica con el coeficiente de coste relativo más negativopara ser introducida en la base. A partir de esta, asignar signos a las variablesbásicas y asignar a θ  el valor de la menor variable básica con signo -. Recalcularlos valores de las variables e ir al paso 2.

En este trabajo nos hemos centrado en la investigación del método de simplex. Noobstante, existen otros métodos como el algoritmo de Stepping-Stone que permitenobtener la solución óptima del problema de transporte equilibrado.

Fernando Alegría Medina 19

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 24/42

CAPÍTULO 4. ESTADO DE LA TÉCNICA

4.3 Variantes del problema de transporte

Al comenzar este capítulo ya se mencionaron algunas de las variantes del problema

de transporte. Aquí resumimos todas ellas:

•  Problema de asignación

•  Problema de inventario

•  Problema de transbordo

•  Problema de fabricación

•  Problema de almacenamiento

•  Problema del agente viajero

De aquí en adelante se tratará de explicar brevemente cada una de ellos haciendohincapié en su relación con el problema de transporte y con la Ingeniería deOrganización y Logística.

4.3.1 Problema de asignación

El problema de asignación es un caso especial del problema de transporte por dosrazones: porque sus campos de aplicación difieren de los del problema de transportegeneral y porque tiene una estructura diferente. Esto hace que cambie el sentido delproblema de transporte reiterando la primera razón expuesta.

Este problema tiene múltiples acepciones en función del campo de aplicación.Aquí lo explicamos de manera general en su aplicación a la fabricación. Se tratade asignar  n máquinas a  n tareas por realizar. Se consideran máquinas universalescapaces de realizar cualquiera de las  n  tareas, por lo que no habrá restricciones en esesentido. Los costes unitarios del problema de transporte  cij  en este caso correspondenal tiempo de preparación de las máquinas. Como parece obvio, lo que se pretendeconseguir es la combinación de máquinas y tareas que da lugar al menor tiempo de

preparación posible.Decimos que su estructura es particular por dos razones. Una ya la hemos visto,y es que tiene que haber el mismo número de máquinas que de tareas. Y por otraparte, cada máquina tiene que estar asignada a una única tarea exactamente, ycada tarea a su vez tiene que tener una máquina asignada. Esto implica que lasasignaciones  xij  del problema de transporte se traten como variables booleanas.

xij  = 1   si la máquina   i se asigna a la tarea  j   (4.20)

= 0   si la máquina   i no se asigna a la tarea  j   (4.21)

20 Escuela Técnica Superior de Ingenieros Industriales (UNED)

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 25/42

Desarrollo de un algoritmo para la resolución del problema de transporte

Las últimas restricciones cambian ligeramente la descripción del problema comopodemos ver a continuación.

minimizarn

i=1

n

 j=1

cijxij   (4.22)

s.a.n

 j=1

xij  = 1   i = 1, 2, . . . , n   (4.23)

n

i=1

xij  = 1   j  = 1, 2, . . . , n   (4.24)

xij  ≥ 0   ∀i, j   (4.25)

En la formulación del problema de transporte se comentó que si las cantidades  ai

y  b j  eran números enteros la solución estaría formada por número enteros. En estecaso, todos esos valores son 1 con lo que se asegura que la solución está formada nosolo por número enteros sino además por números booleanos que dan significado alproblema.

El método de simplex, que es el método que hemos desarrollado en apartadosprevios para la resolución del problema general de transporte, es bastante ineficiente

en este caso. En su lugar, dos matemáticos húngaros desarrollaron un método máseficiente para su resolución. Sin embargo, fue H.W. Kuhn en 1955 [6] el que publicóel desarrollo del método y que acordándose del trabajo de los primeros lo denominó“método húngaro”. A continuación mostramos de manera breve y sencilla como seencuentra la solución óptima al problema de asignación por este método. También

se muestra un ejemplo de aplicación para mostrar claramente el procedimiento.•  1. Busque el tiempo de preparación  cij  mínimo de cada fila (máquina) y reste a

los elementos de cada fila su tiempo mínimo. Después, busque el tiempo mínimopara cada columna (tarea) y reste los diferentes mínimos a los elementos decada columna.

•  2. Trace el menor número posible de líneas horizontales y/o verticales paracubrir todos los ceros que aparecen en la matriz. Si son necesarias  n  líneas lasolución óptima se construye con las posiciones de los ceros fijándonos uno auno en si son los únicos ceros en su fila/columna para conseguir uno por cadafila/columna como requiere el problema. Si se cubren con menos de  n líneas

continuar con el siguiente paso.

•  3. Busque el menor elemento que no está cubierto por las líneas antes trazadas.Reste este valor a los elementos no cubiertos, añádalo a los cubiertos por doslineas y vuelva al paso anterior.

Fernando Alegría Medina 21

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 26/42

CAPÍTULO 4. ESTADO DE LA TÉCNICA

Ejemplo. La Tabla  4.16  muestra los tiempos de preparación de 4 máquinasen el caso de que se usen para la realización de cada una de las 4 tareas duranteel turno a planificar. En adelante se encuentra el desarrollo del “método húngaro”

hasta obtener la solución óptima.

T1 T2 T3 T4

M1   13 11 2 9M2   3 7 5 4M3   6 3 7 5M4   3 8 7 10

Tabla 4.16:  Tiempos de preparación para el problema de asignación

Lo primero es encontrar los tiempos de preparación mínimos de cada fila y

restárselos a los elementos por filas.

T1 T2 T3 T4

M1   11 9 0 7 2M2   0 4 2 1 3M3   3 0 4 2 3M4   0 5 4 7 3

Tabla 4.17:  Paso 1 del método húngaro

Después se sigue el mismo procedimiento con las columnas de la matriz.

T1 T2 T3 T4

M1   11 9 0 6M2   0 4 2 0M3   3 0 4 1M4   0 5 4 6

0 0 0 1

Tabla 4.18:  Paso 2 del método húngaro

Lo siguiente es trazar las mínimas líneas horizontales y verticales para cubrirtodos los ceros de la matriz. En este caso hacen falta 4 lineas para cubrirlos todos,que podrían estar en la columna 1 y en las filas 1, 2 y 3. Eso quiere decir quepodemos obtener la solución óptima (Tabla 4.19) con las posiciones de los ceros y noes necesario continuar con el procedimiento. En la posición (2,1) existe un cero perono hay asignación en dicha casilla, la máquina 2 se debe asignar a la tarea 4 porquees la única opción que existe para esta última.

22 Escuela Técnica Superior de Ingenieros Industriales (UNED)

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 27/42

Desarrollo de un algoritmo para la resolución del problema de transporte

T1 T2 T3 T4

M1   XM2   XM3   XM4   X

Tabla 4.19:  Solución óptima del problema de asignación

4.3.2 Problema de inventario

No existe una descripción analítica de este problema aparte de la ya conocida del

problema general de transporte. Se trata de una serie de problemas que se puedenresolver por el método del simplex, que se vio en el apartado anterior, pero en los

que las asignaciones guardan relación con el inventario de las plantas de produccióny no con el envío desde un punto de suministro a un punto de demanda. Por eso,vemos más sentido explicar los problemas de este tipo a partir de un ejemplo.Ejemplo2. Una compañía quiere conocer de antemano cuantos veleros ha de producirdurante cada uno de los siguientes cuatro trimestres, pudiendo distribuirlos en elmismo trimestre que los fabrica o almacenarlos para su distribución en trimestresposteriores. La demanda en estos periodos se muestra en la Tabla  4.20.

Trimestre Demanda

1 40 veleros2 60 veleros

3 75 veleros4 25 veleros

Tabla 4.20:  Demanda de veleros en los cuatro trimestres

El suministro puede realizarse por varias vías:

•   La compañía dispone de 10 veleros ya fabricados al principio del primer trimestre

•  Puede producir hasta 40 veleros por trimestre a 400$ cada uno durante la jornada regular

•   Puede producir más veleros a 450$ cada uno añadiendo turnos de trabajo extraAdemás, ha de pagar un coste de 20$ por cada velero que mantiene en el almacén deun trimestre para otro.

2Este ejemplo está basado en [12]

Fernando Alegría Medina 23

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 28/42

CAPÍTULO 4. ESTADO DE LA TÉCNICA

1 2 3 4 Ficticio

Inicial   0 20 40 60 0 10TR1   400 420 440 460 0 40TE1   450 470 490 510 0 150TR2   10000 400 420 440 0 40TE2   10000 450 470 490 0 150TR3   10000 10000 400 420 0 40TE3   10000 10000 450 470 0 150TR4   10000 10000 10000 400 0 40TE4   10000 10000 10000 450 0 150

40 60 75 25 570

Tabla 4.21:  Adaptación del problema de asignación al problema de transporte

Para su resolución puede tratarse como un problema de transporte con excesode suministro. Su estructura es la que se muestra en la Tabla 4.21, junto con lascantidades de suministro  ai  y de demanda  b j  y los costes unitarios  cij. Como puedeverse, los costes se han calculado como la suma del coste de producción más losde retención. Es importante explicar un par de valores de la tabla. El valor de la

demanda del tiempo extra de cada trimestre surge de restarle a la demanda total elinventario inicial y la capacidad de producción en tiempo regular (200−10−40 = 150).Y por otra parte, el valor de 10000 representa un valor infinito y se añade para evitarla situación ilógica en la que se distribuirían los veleros antes de ser fabricados.

1 2 3 4 FicticioInicial   10 10TR1   30 10 40TE1   150 150TR2   40 40TE2   10 140 150TR3   40 40TE3   35 115 150TR4   25 15 40TE4   150 150

40 60 75 25 570

Tabla 4.22:  Solución óptima del problema de inventario

24 Escuela Técnica Superior de Ingenieros Industriales (UNED)

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 29/42

Desarrollo de un algoritmo para la resolución del problema de transporte

Es importante comentar la solución óptima obtenida (Tabla   4.22), pues susignificado difiere del obtenido como problema de transporte general.

•   La demanda del primer trimestre se cubre con el inventario inicial y laproducción en el mismo trimestre.

•  La demanda del segundo trimestre se cubre con lo guardo del trimestre anteriory la producción en el mismo trimestre en jornada regular más horas extra.

•  La demanda del tercer trimestre se cubre únicamente con la producción duranteese periodo, aunque se necesita contratar horas extra.

•  La demanda del cuarto trimestre se cubre únicamente con la producción duranteese periodo en horario regular.

4.3.3 Problema de transbordo

Los problemas de transbordo son problemas de transporte en cuanto al concepto yen cuanto a su estructura. La única diferencia reside en la introducción de los puntosde transbordo. A diferencia de los puntos de suministro de los que únicamente saleel producto y los puntos de demanda a los que solo llega el producto, los puntosde transbordo permiten la transmisión del producto en ambas direcciones. En estesentido, si es posible que un punto de suministro reciba mercancía de otros puntosde suministro este pasa a ser lo que conocemos como punto de transbordo. De lamisma manera, si un punto de demanda puede enviar mercancía a otros puntos dedemanda también pasará a ser un punto de transbordo. Sin embargo, este nuevo

concepto se entiende normalmente como un punto intermedio en el trayecto desde elsuministro hasta su destino final.

Igual que ocurría con los problemas previamente estudiados, este problema puederesolverse por el mismo método que el problema de transporte general, el métododel simplex. Aquí exponemos la secuencia a seguir para su resolución y más adelantese aclarará su ejecución con el ejemplo de las acerías.

Si antes organizábamos el problema de transporte utilizando las columnas paralos puntos de demanda y las filas para los puntos de suministro, en este caso seemplearán las columnas para los puntos de demanda y los puntos de transbordo y lasfilas para los puntos de suministro y los puntos de transbordo también. El problemacuenta con  m puntos de suministro,  n puntos de demanda y  k  puntos de transbordo.

Para establecer la demanda y el suministro de los puntos de transbordo, hemos deemplear el suministro total de los puntos de suministro

a =m

i=1

ai   (4.26)

Fernando Alegría Medina 25

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 30/42

CAPÍTULO 4. ESTADO DE LA TÉCNICA

Por tanto, la demanda y el suministro de los puntos de transbordo se obtendráncomo

ai =  a + ai   i =  m + 1, m + 2, . . . , m + k   (4.27)b j  = a + b j   j =  n + 1, n + 2, . . . , n + k   (4.28)

De esta manera conseguimos que el problema y los puntos de transbordo se mantenganequilibrados.

Volviendo al caso de las acerías, pongamos el caso de que disponemos de dosalmacenes adicionales de transbordo en Pittsburgh y Cincinnati. Ahora hay queanalizar más costes unitarios pues existen nuevos trayectos: de los puntos desuministro a los de transbordo, de los puntos de transbordo a los de demanday entre puntos de transbordo.

1 2 3 4 5 61   14$ 9$ 16$ 8$ 4$ 7$ 1502   11$ 8$ 7$ 16$ 6$ 6$ 2103   16$ 12$ 10$ 22$ 4$ 5$ 3204   6$ 7$ 5$ 5$ 0 3$ 6805   4$ 5$ 7$ 4$ 3$ 0 680

140 80 200 260 680 680

Tabla 4.23:   Costes de envío por tonelada de acero y cantidades semanales (entoneladas) de suministro y demanda

Punto de suministro 1: BethlehemPunto de suministro 2: BirminghamPunto de suministro 3: GaryPunto de suministro 4: PittsburghPunto de suministro 5: CincinnatiPunto de demanda 1: DetroitPunto de demanda 2: St. LouisPunto de demanda 3: ChicagoPunto de demanda 4: NorfolkPunto de demanda 5: PittsburghPunto de demanda 6: Cincinnati

Al tratarlo como un problema de transporte general es posible obtener su soluciónóptima como mostramos en la Tabla 4.24.  No obstante, es necesaria una aclaraciónde esta solución. Los envíos de Pittsburgh a Pittsburgh y de Cincinnati a Cincinnaticlaramente no existen y se refieren a la cantidad de producto que, en lugar de pasarpor los puntos de transbordo, se envía directamente desde los puntos de suministro alos puntos de demanda. Se ha utilizado solo parte de su capacidad como almacenesintermedios en dos trayectos, Gary-Pittsburgh-Norfolk y Gary-Cincinnati-Detroit.

26 Escuela Técnica Superior de Ingenieros Industriales (UNED)

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 31/42

Desarrollo de un algoritmo para la resolución del problema de transporte

1 2 3 4 5 6

1   70 80 1502   100 200 2103   180 140 3204   180 500 6805   140 540 680

140 80 200 260 680 680

Tabla 4.24:  Solución óptima del problema de transbordo

4.3.4 Otras variantes

Problema de fabricación

Supongamos que tenemos una instalación capaz de llevar a cabo  n actividades deproducción diferentes, cada una de las cuales produce diferentes cantidades de  m

productos. Cada actividad se puede operar a cualquier nivel   xi  ≥  0, y cuando seopera a nivel unitario la actividad   i  tiene un coste de  ci  y produce  aij  unidades deproducto j. Si se conocen los datos de demanda de cada producto  b1, b2, . . . , bm, elproblema pretende optimizar el proceso para satisfacer la demanda con el mínimocoste posible.

La conexión de este problema con el de transporte podemos encontrarla en eltema que tratan, estando ambos ligados a la planificación en el entorno organizacional.Además, su resolución es semejante debido a que sus respectivos métodos se basan

en la programación lineal.

Problema de almacenamiento

Este caso considera el problema de administrar un almacén. El almacén tiene unacapacidad C  y aplica un coste  r  por cada unidad de producto que se mantenga enalmacén durante un cierto periodo. Este coste es similar al coste de mantenimientoque se aplicaba en el problema de inventario. Además, se sabe que el precio delproducto varía entre meses, manteniéndose fijo durante cada mes tanto para lacompra como para la venta. Y como último dato sabemos que no hay inventario nial principio ni al final del año en el que analizamos el almacén. La idea es comprar ovender existencias del producto para maximizar beneficios.

Del problema de almacenamiento podemos decir lo mismo que en el casoanterior, está relacionado con la planificación de la producción dentro del entornoorganizacional y su resolución se basa en la programación lineal.

Fernando Alegría Medina 27

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 32/42

CAPÍTULO 4. ESTADO DE LA TÉCNICA

Problema del agente viajero

El problema del agente viajero o “Traveling Salesman Problem” (TSP)  [2] guarda

mucha relación con el problema de transporte ya que ambos estudian desplazamientosentre diferentes puntos. La explicación es sencilla. Un vendedor tiene una lista dedestinos por los que tiene que pasar a ofrecer su producto. No puede olvidar ninguno

de los destinos y su ruta empieza y acaba en el mismo punto. El problema trata deoptimizar la ruta para que sea lo más corta posible.

En el caso de que la lista de destinos fuese relativamente corta, se podrían plantearla opción de considerar cada ruta posible. De esta forma, se garantizaría la ruta máscorta por el método conocido como “fuerza bruta”. Sin embargo, cuando el problemaes más complejo es necesario emplear técnicas de optimización para su resolución.

28 Escuela Técnica Superior de Ingenieros Industriales (UNED)

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 33/42

Desarrollo de un algoritmo para la resolución del problema de transporte

Capítulo 5

Desarrollo del algoritmo delsimplex

Este capítulo pretende mostrar como se ha implementado el método del simplexen nuestro desarrollo en C. Se encuentra subdividido en los pasos sucesivos de estemétodo, que se estudiaron en el capítulo anterior.

5.1 Introducción de los datos del problema

Tras ejecutar el software se piden los datos del problema de transporte. En la Figura5.1 vemos una captura de pantalla con el modo en que estos se introducen.

Figura 5.1:  Introducción de los datos del problema en el software

Fernando Alegría Medina 29

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 34/42

CAPÍTULO 5. DESARROLLO DEL ALGORITMO DEL SIMPLEX

Lo primero que se debe conocer es la cantidad de puntos de suministro y dedemanda del problema de transporte. Después ya pueden introducirse las cantidadesde producto suministradas   ai  y demandadas  b j  y los costes unitarios de envío   cijentre los distintos puntos de suministro y demanda. El software además nos da laopción de reintroducir algún dato erróneo como puede verse en la imagen arribamostrada.

Una vez introducidos los datos el software comprueba si el problema de transportees equilibrado. Si no lo es pide al usuario que reajuste los datos para que el problemasea equilibrado. En caso de serlo, procede a la resolución del mismo por el métodode simplex.

Figura 5.2:   Comprobación de equilibrio del problema de transporte

5.2 Método de la esquina noroeste

Ahora nos centraremos un poco más en la explicación del funcionamiento de nuestrodesarrollo. El primer paso del método de simplex es obtener una solución básicafactible. Para ello, se ha implementado el método de la esquina noroeste.

Podemos ver el código fuente en la página siguiente. Lo explicamos a continuaciónde modo que los lectores sin conocimientos previos del lenguaje de programaciónC puedan seguir el desarrollo del método. Las variables  asx[i]  y   bsx[ j]   contienenlas cantidades de suministro y demanda aún sin asignar de las celdas. Por lo quese asignará a las cantidades de envío  xij  el máximo posible teniendo en cuenta lascantidades de suministro y demanda que quedan por asignar. Después se recalculan

las cantidades de suministro y demanda restantes y se desplaza una fila si no quedasuministro por asignar o una columna si no queda demanda por asignar.   circulo[i][ j]denota si la variable  xij  es básica o no.

30 Escuela Técnica Superior de Ingenieros Industriales (UNED)

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 35/42

Desarrollo de un algoritmo para la resolución del problema de transporte

// M e to d o d e l a e s qu i na n o ro e st ei =0 ;j =0 ;w h i l e (i < m && j <n ) {

if ( a_sx [i ]< b_sx [ j ]) {x [i ][ j] =   a_sx [i ];circulo [ i ][ j ]++;b_sx [ j ] -=   a_sx [ i ];a_sx [ i ] = 0;i ++ ;

}e l s e {

x [i ][ j] =   b_sx [j ];circulo [ i ][ j ]++;a_sx [ i ] -=   b_sx [ j ];b_sx [ j ] = 0;

j ++ ;}

}

5.3 Multiplicadores simplex y coeficientes de costerelativos

El siguiente paso en el método de simplex es la obtención de los multiplicadoressimplex a partir de la solución básica factible.

// H a l la r m u l t i pl i c a d or e s s i m pl e xf or ( i =0; i < m; i ++)

u[ i] =   UNKNOWN ;f or ( j =0; j < n; j ++)

v[ j] =   UNKNOWN ;v [n -1] = 0;aux   =   m+n -1;w h i l e ( au x >0){

fo r ( i =0; i < m ;i ++){f or (j =0 ; j < n; j ++){

if ( circulo [ i ][ j ]& & u[ i ]== UNKNOWN && v[j ]!= UNKNOWN ){

u [i ] =   c[ i ][ j] -   v [j ];

au x - -;}e ls e i f( circulo [i ][ j ]& & u [i ]! =

UNKNOWN && v[ j ]== UNKNOWN ){v [j ] =   c[ i ][ j] -   u [i ];au x - -;

}}

}}

Fernando Alegría Medina 31

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 36/42

CAPÍTULO 5. DESARROLLO DEL ALGORITMO DEL SIMPLEX

El algoritmo empleado es muy sencillo. Empieza con  vn = 0 para poder resolverel sistema de ecuaciones. Después rastrea la matriz para encontrar entre las variablesbásicas una celda para la que se haya determinado  ai  o  v j, pero no los dos. Entonces

halla el multiplicador restante con la expresión

cij  = ui + v j   (5.1)

Finalmente continúa rastreando hasta que todos los multiplicadores simplex se hanobtenido.

Los coeficientes de coste relativo se calculan con la expresión (4.18) que se expusoen el capítulo anterior.

// H a ll a r l os c o ef i ci e nt e s d e c os t e r e la t iv o sf or (i =0; i < m; i ++)

fo r ( j =0; j <n ;j ++ )r [i ][ j] =   c[ i ][ j ] -   u [i ] -   v [j ];

Los coeficientes de coste relativo sirven para conocer si se ha llegado o no a lasolución óptima. Por ello, el software comprueba el signo de todos estos coeficientesy si detecta que al menos uno es negativo continua aplicando el método de simplex.Si los coeficientes determinan que se ha llegado a la solución óptima entonces elprograma nos la muestra por pantalla.

Figura 5.3:  Solución óptima para el problema de transporte

El coste mínimo que se ha conseguido se calcula según la expresión

z  =m

i=1

n

 j=1

cijxij   (5.2)

También puede verse en la imagen que el programa muestra las soluciones básicasfactibles previas a la solución óptima para que se vea el proceso por el que se hallegado hasta esta.

32 Escuela Técnica Superior de Ingenieros Industriales (UNED)

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 37/42

Desarrollo de un algoritmo para la resolución del problema de transporte

5.4 Mejora de una solución básica factible por pivotes

El análisis de esta parte del algoritmo es más interesante que las anteriores. Lo que

a simple vista parece sencillo para una mente humana puede ser más complicadode describir matemáticamente. En este sentido, la asignación de signos es un pasobastante sencillo del algoritmo pero su programación es más compleja.

Lo primero que hacemos es ir fila a fila y columna a columna añadiendo el signo0 cuando estas solo contienen una variable básica. Es la única forma de mantenerconstante el suministro y la demanda de esas filas y columnas respectivamente. Seemplea el número 7 para denotar que el signo de la celda correspondiente a unadeterminada variable básica aún no se ha asignado.

// S e r as tr ea p ar a m et er c er os e n l as f il as y c ol um na s c onu n s ol o c i rc u lo

f or ( i =0; i < m; i ++){

fo r ( j =0; j <n ;j ++ )if ( circulo [i ][ j ])

i_circulos ++;if ( i_circulos ==1){

f or (j =0 ; j < n; j ++){if ( signo [ i ][ j ]==7){

signo [i ][ j ] = 0;b r e a k ;

}}

}i_circulos   = 0;

}f or ( j =0; j < n; j ++){

fo r ( i =0; i < m ;i ++ )if ( circulo [i ][ j ])

j_circulos ++;if ( j_circulos ==1){

f or (i =0 ; i < m; i ++){if ( signo [ i ][ j ]==7){

signo [i ][ j ] = 0;b r e a k ;

}}

}j_circulos   = 0;

}

En la siguiente página mostramos la continuación del algoritmo. Lo que se hacees rastrear filas y columnas para encontrar aquellas en las que solo queda un signopor asignar. En este informe solo se muestra la parte correspondiente al rastreo porfilas. Consideramos redundante mostrar ambas soluciones ya que son idénticas. Elrastreo por columnas se obtiene cambiando  i  (fila) por  j   (columna) y  m  (número defilas) por  n (número de columnas). Para hallar el signo que falta se halla la suma delos signos restantes de la fila (variable  sum_circulos), considerando + como +1 y -como -1.

Fernando Alegría Medina 33

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 38/42

CAPÍTULO 5. DESARROLLO DEL ALGORITMO DEL SIMPLEX

// S e r as tr ea p ar a m et er s ig no s e n l as f il as q ue s ol o f al tau no p or c o mp l et a r

f or (i =0; i < m; i ++){fo r ( j =0; j <n ;j ++){

if ( circulo [i ][ j ]) {sum_pivote   +=   signo [ i ][ j ];if ( signo [i ][ j ]!=7)

sum_circulos   +=   signo [i ][ j];

}}if ( sum_pivote >=6&& sum_pivote <=8){

f or (j =0 ; j < n; j ++){if ( signo [i ][ j ]==7){

if ( sum_circulos ==1)signo [ i ][ j ] = -1;

e ls e i f( sum_circulos ==0)signo [ i ][ j ] = 0;

e ls e i f( sum_circulos ==-1)signo [ i ][ j ] = 1;

}}

}sum_pivote   = 0;sum_circulos   = 0;

}

El signo se obtiene intuitivamente según:

•   Si  sum_circulos = +1 falta un signo - para compensar

•   Si  sum_circulos = 0 falta un signo 0 para compensar

•   Si  sum_circulos =  −1 falta un signo + para compensar

Se repetirá este último procedimiento hasta que todos los signos se hayan asignado.Una vez conseguido esto, se obtiene  θ  como la variable básica de menor valor consigno - y se recalcula la solución.

// O b t e ne r t h e taaux =0 ;f or (i =0; i < m; i ++){

fo r ( j =0; j <n ;j ++){

if ( signo [ i ][ j ]==-1&&( x[ i ][ j ] < theta || aux ==0)) {

theta   =   x[ i ][ j ];i_nb   =   i ;j_nb   =   j ;aux   = 1;

}}

}

34 Escuela Técnica Superior de Ingenieros Industriales (UNED)

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 39/42

Desarrollo de un algoritmo para la resolución del problema de transporte

// A c tu a li z ar l a s o lu c io n p ar a i n cl u ir l a n ue v a v a ri a bl ecirculo [ i_nb ][ j_nb ] = 0;f or ( i =0; i < m; i ++)

fo r ( j =0; j <n ;j ++ )x [i ][ j] +=   signo [ i ][ j ]* theta ;

Con esto finaliza la explicación sobre el desarrollo de nuestro algoritmo en C. Siel lector desea consultar el código fuente íntegro puede contactarnos por email através de [email protected].

5.5 Aplicación del software al problema de las acerías

Emplearemos el ejemplo enunciado en el capítulo anterior para mostrar la soluciónóptima hallada con el uso del software desarrollado. Se enuncia aquí nuevamente

para facilitar su estudio.Ejemplo. Las acerías de Bethlehem, Birmingham y Gary producen distintascantidades de acero (ai, i   = 1, 2, 3) y abastecen a las plantas de fabricación deDetroit, St. Louis, Chicago y Norfolk. Estas cuatro ciudades requieren diferentesdemandas (b j, j  = 1, 2, 3, 4) en función de las dimensiones de sus plantas y de susnecesidades de producción. El coste de envío por tonelada de acero  cij  varia segúnel trayecto, ya que las distancias difieren significativamente. Se necesita conocer lacantidad de toneladas de acero  xij  que deben enviarse desde las acerías a las plantasde fabricación.

Detroit St. Louis Chicago Norfolk

Bethlehem   14$ 9$ 16$ 18$ 150Birmingham   11$ 8$ 7$ 16$ 210Gary   16$ 12$ 10$ 22$ 320

140 80 200 260

Tabla 5.1:   Costes de envío por tonelada de acero y cantidades semanales (entoneladas) de suministro y demanda

En la página siguiente puede verse la solución óptima obtenida. De ella sacamosvarias conclusiones.

•   La acería de Bethlehem suministra 80 toneladas de acero a la planta de St.Louis y 70 a la planta de Norfolk

•   La acería de Birmingham suministra 20 toneladas de acero a la planta deDetroit y 9 a la de Norfolk

•  La acería de Gary suministra 120 toneladas a la planta de Detroit y 200 a lade Chicago

Fernando Alegría Medina 35

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 40/42

CAPÍTULO 5. DESARROLLO DEL ALGORITMO DEL SIMPLEX

Figura 5.4:  Solución óptima para el problema de las acerías

Además vemos que el coste de transporte total será de 9160$. Una buena idea

para reducir aún más los costes logísticos sería considerar almacenes intermedios enel trayecto. Ese caso ya se consideró en la explicación del problema de transbordo.

36 Escuela Técnica Superior de Ingenieros Industriales (UNED)

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 41/42

Desarrollo de un algoritmo para la resolución del problema de transporte

Capítulo 6

Conclusión

Llegados a este punto puede comprobarse que se han logrado todos los objetivospropuestos al principio del trabajo.

•  Se ha comprendido la finalidad del problema de transporte. Ello queda plasmadoen la descripción que se ha realizado del mismo en el Capítulo 4. Para ello hasido de gran ayuda investigar sobre el proyecto del que surgió el problema detransporte [9].

•  Se ha logrado comprender la importancia que supone la minimización de loscostes de transporte para la logística de una organización.

•   Se ha comprendido cada uno de los pasos en los que se basa el método desimplex. Además, se han estudiado varias alternativas para la obtención de la

solución básica factible.

•  Se ha investigado sobre otros problemas similares al de transporte, y se hanconseguido emplear los métodos desarrollados para la resolución de algunos deellos.

•  Se ha implementado un algoritmo en C basado en los conocimientos adquiridossobre el método de simplex

•  Se ha logrado resolver satisfactoriamente el problema logístico propuesto conel software desarrollado

Podría continuarse la línea de investigación con•  El estudio del algoritmo de Stepping-Stone

•  La mejora del algoritmo desarrollado, pudiendo abarcar algunas de las variantesestudiadas

•   Aplicación del algoritmo a un caso logístico real de mayores dimensiones

Si el lector está interesado en ampliar información acerca del método de simplexpara la resolución del problema de transporte se recomienda consultar la bibliografía.

Fernando Alegría Medina 37

7/24/2019 Desarrollo de un algoritmo para la resolucion del problema de transporte

http://slidepdf.com/reader/full/desarrollo-de-un-algoritmo-para-la-resolucion-del-problema-de-transporte 42/42

BIBLIOGRAFÍA

Bibliografía

[1]   F. Alegría. Análisis del sistema logístico de productos derivados del petróleoen España. Trabajo para la asignatura Ingeniería de Organización y Logísticadel Master de Ingeniería Industrial (UNED), 2015.

[2]   Google. Traveling salesman problem. URL:  https://developers.google.com/optimization/routing/tsp?hl=en , última comprobación 21-01-2016,2015.

[3]   F.L. Hitchcock. The distribution of a product from several sources to numerouslocalities.  Journal of Mathematical Physics , 20:224–230, 2006.

[4]   J.Heizer, B. Render, y P. Griffin.   Operations Management. Sustainability and 

supply chain management . Pearson Canada, 2016.

[5]   B. Klinz y G.J. Woeginger. The northwest corner rule revisited.   Discrete 

Applied Mathematics , 159(12):1284–1289, 2011.

[6]   H.W. Kuhn. The hungarian method for the assignment problem.   Naval 

Research Logistics Quarterly , 2:83–97, 1955.

[7]   D.G. Luenberger y Y. Ye.   Linear and Nonlinear Programming . Springer, 2008.

[8] J.F. Rayman. Transportation problems. Apuntes de la Universidad de Surrey.

[9]   A. Schrijver. On the history of the transportation and the maximum flowproblems.  Mathematical Programming 91, pages 437–445, 2002.

[10] B.W. Taylor.  Introduction to Management Science . Pearson Education, 2013.

[11]   Wikipedia. Transportation theory (mathematics). URL:  https://en.

wikipedia.org/wiki/Transportation_theory_(mathematics) , últimacomprobación 21-01-2016, 2016.

[12]   W.L. Winston.   Investigación de operaciones. Aplicaciones y algoritmos .Thomson, 2005.

[13]   Q.Y. Yan, Q. Zhang, y D.F.M. Torres. The optimization of transportationcosts in logistics enterprises with time-window constraints.   Discrete Dynamics 

in Nature and Society , 2015.

38 E l Té i S i d I i I d t i l (UNED)