Gestión de la cadena de suministro. Distribución Física I
Full text
GCS’20 – Dist.Fis.-I 0 J Bautista-Valhondo Joaquín Bautista-Valhondo Gestión de la cadena de suministro. Distribución Física I Universitat Politècnica de Catalunya – BarcelonaTech OPE-PROTHIUS – Organización de la Producción en Talleres Híbridos Gestión de la cadena de suministro 240235 - 240AU072 – Máster Universitario en Ingeniería de Automoción (240MEAUT19) – ETSEIB OPE-PROTHIUS – OPE-MSc.2020/33.AU 240235 - 240AU072 (2020-11-13) - http://futur.upc.edu/OPE -www.prothius.com - Departamento de Organización de Empresas – ETSEIB ꞏ UPC
GCS’20 – Dist.Fis.-I 1 J Bautista-Valhondo Contenido Cubrimiento. Suministro desde instalaciones hasta emplazamientos (1 nivel). Cubrimiento y suministro combinados (1 nivel). Problemas de Transporte y Asignación. El Problema de Transporte. El Algoritmo de Transporte. El Problema de Asignación. El Algoritmo Húngaro. Problema de Asignación Cuadrática.
GCS’20 – Dist.Fis.-I 2 J Bautista-Valhondo Cubrimiento. Preliminares Condiciones: Se dispone de un conjunto de emplazamientos a cubrir Sea Lla distancia máxima permitida para cubrir una instalación Sea diel peso (demanda) asociado al emplazamiento i. Se dispone de un grafo Gde estructura de comunicaciones Se dispone de un conjunto de emplazamientos que no admiten una instalación Objetivos: Minimizar el número de instalaciones de forma que todos los emplazamientos queden cubiertos (todo emplazamiento está a una distancia menor o igual a L de la instalación más próxima) Maximizar la suma de pesos (Cobertura) de los emplazamientos cubiertos con un número de instalaciones prefijado.
GCS’20 – Dist.Fis.-I 3 J Bautista-Valhondo Cubrimiento. Mínimo número de instalaciones (1/2) Nomenclatura básica: contrario. casoen 0 y valen instalació una fija se en si 1 valeque binaria variable: ntoemplazamie elcubren que nesinstalacio de conjunto ::)( ntoemplazamie ely n instalació la entre mínima distancia: ntoemplazamieun y n instalació una entre cobertura de máxima distancia : ),..,1( spotenciale nesinstalacio de conjunto:)( ),..,1( ntosemplazamie de conjunto Iix JjLlIiLI JjIil L IiJI JjJ: i ijj ij Modelo: )2(1,0 )1(1 :.. )0( )( 1 Iix Jjx as xzMin i LIi i Ii i j
GCS’20 – Dist.Fis.-I 4 J Bautista-Valhondo Cubrimiento. Mínimo número de instalaciones (2/2) )11(10,..,11,0 )10(1 )9(1 )8(1 )7(1 )6(1 )5(1 )4(1 )3(1 )2(1 )1(1 :.. )0( 1086 107643 108 743 1064 6 76431 74321 321 4321 10 1 1 ix xxx xxxxx xx xxx xxx x xxxxx xxxxx xxx xxxx as xzMin i i i )11(10,..,11,0 )8(1 )7(1 )'5(1 )2(1 108 743 6 321 ix xx xxx x xxx i1 1 1063 863 xxx xxx 1 2 3 5 6 47 8 9 4 8 5 10 8 3 7 4 5 8 8 4 10 912 7 8 9 Prohibido 10 Prohibido L=8 1 2 3 5 6 47 8 9 4 8 5 10 8 3 7 4 5 8 8 4 10 912 7 8 9 Prohibido 10 Prohibido L=8
GCS’20 – Dist.Fis.-I 5 J Bautista-Valhondo Cubrimiento. Máxima cobertura (1/2) Nomenclatura adicional: contrario casoen 0 , ntoemplazamie el cubre se si 1 valeque binaria variable: contrario casoen 0 n,instalació una fija se en si 1 valeque binaria variable: ntoemplazamie del peso o demanda : )( permitido nesinstalacio de máximo número : Jjy Iix Jjd Inn j i j Modelo: )4(1,0 )3(1,0 )2( )1( :.. )0( )( 2 Jjy Iix nx Jjxy as ydzMax j i Ii i LIi ij Jj jj j
GCS’20 – Dist.Fis.-I 6 J Bautista-Valhondo Ins. C.it.1 C.it.2 1 19 --- 2 11 --- 3 35 --- 4 33 4 5 Prohibido 6 32 15 7 27 --- 8 16 16 9 Prohibido 10 29 20 1 2 3 5 6 47 8 9 4 8 5 10 8 3 7 4 5 8 8 4 10 912 7 8 9 Prohibido 10 Prohibido L=8 1 2 3 5 6 47 8 9 4 8 5 10 8 3 7 4 5 8 8 4 10 912 7 8 9 Prohibido 10 Prohibido L=8 d1 = 2 d2 = 6 d3 = 3 d4 = 8 d5 = 5 d6 = 4 d7 = 7 d8 = 10 d9 = 9 d10= 6 Ins-3 : 1-2-3-4-7-9 (2+6+3+8+7+9=35) Ins-10 : 6-8-10 (4+10+6=20) Cubrimiento. Máxima cobertura (2/2)
GCS’20 – Dist.Fis.-I 7 J Bautista-Valhondo Nomenclatura: JjIi IiLlJjLJ cLIiJjIic JjLlIiLI Jjd Iio ij iji ijjij ijj j i hasta desde adas transportunidades : n instalació lapor cubiertos ntosemplazamie de conjunto ::)( )()( ; hasta desde unidad unaar transportde coste : ntoemplazamie elcubren que nesinstalacio de conjunto ::)( ntoemplazamie del peso o demanda : n instalació la de capacidad o oferta : Modelo: )3(,0 )2( )1( :.. )0( )( )( 3 JjIi Jjd Iio as czMin ij LIi jij LJj iij IiJj ijij j i Suministro desde instalaciones hasta emplazamientos (1 nivel) Hipótesis: Oferta suficiente para cubrir la demanda
GCS’20 – Dist.Fis.-I 8 J Bautista-Valhondo Cubrimiento y suministro combinados (1 nivel) Nomenclatura adicional: contrario casoen 0 y vale n instalació la activa se si 1 valeque binaria variable: n instalació laactivar de coste : Iix IiC i i Modelo: )4(1,0 )3(,0 )2( )1( :.. )0( )( )( 4 Iix JjIi Jjd Iixo as cxCzMin i ij LIi jij LJj iiij IiJj ijij Ii ii j i Hipótesis: Oferta suficiente para cubrir la demanda
GCS’20 – Dist.Fis.-I 15 J Bautista-Valhondo El Algoritmo de Transporte. Fundamentos Fases: I. Solución inicial: Se parte de de una solución inicial obtenida a través de una heurística. II. Mejora: Iteraciones reduciendo el coste. La solución óptima es entera cuando son enteros todos los valores de las ofertas y de las demandas. Propiedades: La base del primal está compuesta por n+m-1 variables (una menos que el número de restricciones, por ser una de ellas combinación lineal de las restantes). Por tanto, la solución es degenerada. Si xi,j pertenece a la base del primal, su restricción asociada en el dual cumple: ui+vj=ci,j. Los valores de las variables del dual se pueden obtener con un sistema indeterminado de n+m-1 ecuaciones y n+mincógnitas. Se iguala a 0 una variable del dual. Si xi,j es no básica, su coste reducido cambiado de signo es: ui+ uj-ci,j. Si todos los costes reducidos cambiados de signo son menores o iguales a cero se puede asegurar el hallazgo de una solución óptima.
GCS’20 – Dist.Fis.-I 16 J Bautista-Valhondo El Algoritmo de transporte. Ejemplo-02 Ejemplo – 02: Representación de la solución Los datos de ofertas, demandas y costes unitarios de transporte entre tres fábricas (F1, F2y F3) y cuatro almacenes receptores (A1, A2, A3yA4), se adjunta en la tabla siguiente. Una solución se puede representar mediante una tabla, con mcolumnas (centros receptores) y nfilas (centros emisores), fijando valores positivos cuyas sumas por columnas y filas sean iguales a las demandas y las ofertas de los centros receptores y emisores, respectivamente. Costes A1 A2 A3 A4 Oferta F1 512520 F2 345650 F3 766830 Demanda 20 30 30 20 100 A1 A2 A3 A4 F1 20 F2 50 F3 30 20 30 30 20
GCS’20 – Dist.Fis.-I 17 J Bautista-Valhondo El Algoritmo de Transporte. Fase I. Método del rincón noroeste Prescindiendo de los costes de transporte, se satura la oferta o la demanda de un centro, siguiendo estos 3 pasos: 1. Empezar por el rincón noroeste (libre) de la tabla (primera fila y columna sin saturar), 2. Asignar una cantidad positiva que sature la oferta de una fila o la demanda de una columna. 3. Repetir1y2hastaquetodaslasfilasycolumnassumenlosvaloresdeseados. Resultado Ejemplo – 02: A1 A2 A3 A4 F1 5125 F2 3456 F3 7668 A1 A2 A3 A4 F1 20 F2 50 F3 30 20 30 30 20 540208106205304205 Z A1 A2 A3 A4 F1 20 20 F2 30 20 50 F3 10 20 30 20 30 30 20
GCS’20 – Dist.Fis.-I 18 J Bautista-Valhondo El Algoritmo de Transporte. Fase I. Método de mínimos costes Se asignan las cantidades a transportar en orden no decreciente a los costes de transporte, saturando una fila o una columna en cada asignación. Resultado ejemplo – 02: Nota. El método M.C. proporciona una solución mejor que el R.N. en 100 unidades monetarias. A1 A2 A3 A4 F1 5125 F2 3456 F3 7668 A1 A2 A3 A4 F1 20 F2 50 F3 30 20 30 30 20 440208106205104203201 Z A1 A2 A3 A4 F1 20 20 F2 20 10 20 50 F3 10 20 30 20 30 30 20
GCS’20 – Dist.Fis.-I 19 J Bautista-Valhondo El Algoritmo de Transporte. Fase I. Método de Vogel Ganancia:diferencia entre dos costes (el que sigue al coste mínimo menos el coste mínimo). Si la ganancia es grande y se pierde oportunidad de asignar transporte de unidades a mínimo coste, después se deberá asumir un coste importante por cada unidad transportada; Si la ganancia es pequeña, perder la oportunidad de transportar a mínimo coste no será tan importante. Método iterativo de Vogel: 1. Determinar la ganancia de cada fila y columna, teniendo en cuenta sólo aquellas casillas que no tengan asignada ninguna cantidad a transportar. 2. Determinar la fila o columna con mayor ganancia y, en dicha fila o columna, detectar la casilla con menor coste. 3. Asignar una cantidad a transportar a dicha casilla saturando la oferta o demanda de una fila o una columna.
GCS’20 – Dist.Fis.-I 20 J Bautista-Valhondo El Algoritmo de Transporte. Método de Vogel. Ejemplo-02 (1) Iteración 1: Iteración 2: Iteración 3: A1 A2 A3 A4 F1 51251 F2 34561 F3 76680 2331 A1 A2 A3 A4 F1 20 20 F2 50 F3 30 20 30 30 20 A1 A2 A3 A4 F1 5125 F2 34561 F3 76680 4212 A1 A2 A3 A4 F1 20 20 F2 20 50 F3 30 20 30 30 20 A1 A2 A3 A4 F1 5125 F2 34561 F3 76680 212 A1 A2 A3 A4 F1 20 20 F2 20 10 50 F3 30 20 30 30 20
GCS’20 – Dist.Fis.-I 21 J Bautista-Valhondo El Algoritmo de Transporte. Método de Vogel. Ejemplo-02 (2) Iteración 4: Iteración 5: Nota: El método de Vogel proporciona una solución mejor que M.C. en 20 unidades monetarias. A1 A2 A3 A4 F1 5125 F2 34561 F3 76682 12 A1 A2 A3 A4 F1 20 20 F2 20 10 20 50 F3 30 20 30 30 20 A1 A2 A3 A4 F1 5125 F2 3456 F3 7668 A1 A2 A3 A4 F1 20 20 F2 20 10 20 50 F3 30 30 20 30 30 20 420306206104203201 Z
GCS’20 – Dist.Fis.-I 22 J Bautista-Valhondo El Algoritmo de Transporte. Fase II: Cambio de Base Paso de una solución posible a otra solución posible: Incrementar los valores de algunas casillas, reduciendo los de otras, respetando los valores globales de ofertas y demandas. Proceder así: P1. Dada una solución inicial, seleccionar una casilla que corresponda a una variable no básica y, por tanto, el flujo de transporte asignado sea igual a 0. P2. A partir de la casilla seleccionada, construir un circuito cerrado sobrelatabla(i.e.ciclo de desplazamiento). Las casillas del ciclo, excepto la de partida, deben corresponder a variables básicas. Durante la construcción del ciclo, las casillas con incremento de flujo se marcan con signo (+) y las casillas con reducción de flujo se marcan con signo (-); se alternan tales signos, teniendo en cuenta que se pretende incrementar la cantidad a transportar en la casilla de partida seleccionada. P3. Sobre el ciclo de desplazamiento, determinar la cantidad de desplazamiento,lacual corresponde al valor mínimo entre los presentes en las casillas con signo (-). P4. Incrementar o reducir la cantidad de desplazamiento en las casillas del ciclo, según sus signos (+ o -) . La variable correspondiente a la casilla de partida entra en la nueva base ysaledela base la que limita la cantidad a desplazar en el ciclo. Así, se tiene una nueva solución.
GCS’20 – Dist.Fis.-I 23 J Bautista-Valhondo El Algoritmo de Transporte. Fase II: Cambio de Base. Ejemplo-02 Solución inicial correspondiente al método del rincón noroeste. -Se parte de (F2,A4) y se construye el ciclo: (F2,A4) - (F2,A3) - (F3,A3) - (F3,A4) - (F2,A4). -Cantidad de desplazamiento igual a 20u. Las casillas (F2,A3) y (F3,A4) están ex aequo, cualquiera de las dos variables x23 ox34 sale de la base. - Se incrementan o reducen en 20u los flujos de las casillas del ciclo, según sea el signo (+ o -). -La variable x24 entra en la base y la variable x34 sale de la base, por ejemplo. A1 A2 A3 A4 F1 20 20 F2 30 20-+50 F3 10+20-30 20 30 30 20 A1 A2 A3 A4 F1 20 20 F2 30 0 20 50 F3 30 30 20 30 30 20
GCS’20 – Dist.Fis.-I 24 J Bautista-Valhondo El Algoritmo de Transporte. Formalización Paso 0: Iniciación Obtener una solución inicial por algún método (R.N. C.M. o Vogel). Paso 1: Determinar los costes reducidos de las variables del primal Detectar las variables de la base en el problema primal. Determinar el valor de las variables del dual, uiy vj, teniendo en cuenta que los costes reducidos de las variables de la base del primal son iguales a cero; es decir: ui+ vj= ci,j, si xi,j está en la base. Determinar los costes reducidos cambiados de signo de las variables no básicas del primal. Paso 2: Test de óptimo Si todos los costes reducidos cambiados de signo de las variables del primal son menores o iguales a cero, entonces la solución básica es óptima y Finalizar. Si no, Continuar. Paso 3: Obtención de una nueva solución Buscar la variable del primal con el mayor coste reducido cambiado de signo; entra en la base. Determinar un ciclo de desplazamiento en el que intervenga la variable que entra a la base. Hallar la cantidad de desplazamiento en el ciclo respetando la no negatividad de las variables del primal. Hallar la nueva solución. Ir a Paso 1.
GCS’20 – Dist.Fis.-I 31 J Bautista-Valhondo El Algoritmo Húngaro Fundamentos El AH es un método para resolver el AP que consiste en buscar una asignación nula mediante la creación de ceros en la matriz de costes, sumando y restando cantidades adecuadas. Se basa en las siguientes propiedades: Si sumamos o restamos la misma cantidad a todos los elementos de una fila o columna de la matriz de costes, la asignación óptima no varía y su valor (suma de costes de las variables distintas de cero) queda incrementado o reducido en dicha cantidad. Si todos los elementos de la matriz de costes son no negativos, entonces una asignación cuyo valor sea cero es óptima. Fases del algoritmo Fase 1: Obtención de ceros Fase 2: Búsqueda de una asignación Fase 3: Test de óptimo Fase 4: Determinación del mínimo cubrimiento de ceros Fase 5: Cubrimiento de ceros Fase 6: Desplazamiento de ceros
GCS’20 – Dist.Fis.-I 32 J Bautista-Valhondo El Algoritmo Húngaro. Ejemplo-03 (1) Fase 1: Obtención de ceros (i) Restar, a todos los elementos de una misma columna, el menor valor de dicha columna. (ii) Restar, a todos los elementos de una misma fila, el menor valor de dicha fila. 216510 78410 6 7610910 6109 8 8 10 9 7 7 10 00204 57050 55644 49532 88324 00204 57050 11200 27310 66102 0-- 2 -- 4 5705-- 112--0 2731-- 66102 Fase 2: Búsqueda de una asignación Con los ceros de la matriz resultante se busca una asignación: - Ir a la fila o columna que posea el menor número de ceros, se marca uno de ellos y se eliminan todos los demás de su misma fila o columna. - Proseguir hasta que todos los ceros están marcados o eliminados
GCS’20 – Dist.Fis.-I 33 J Bautista-Valhondo El Algoritmo Húngaro. Ejemplo-03 (2) Fase 3: Test de óptimo (i) Si hay n ceros marcados, la asignación es óptima.Finalizar. (ii) Si no, Continuar. Fase 4: Determinación del mínimo cubrimiento de ceros P1. Seleccionar las filas que no tienen ceros marcados P2. En las filas de (P1), buscar ceros eliminados y seleccionar las columnas que los contienen. P3. En columnas de (P2), buscar ceros marcados, y seleccionar las filas que los contienen. P4. Repetir los pasos (P2) y (P3) hasta que no se pueda seleccionar más. 0-- 2 -- 4 5705-- 112--0 2731-- 66102 (1) (2) (5) (3) (4)
GCS’20 – Dist.Fis.-I 34 J Bautista-Valhondo El Algoritmo Húngaro. Ejemplo-03 (3) Fase 3: Test de óptimo (i) Si hay n ceros marcados, la asignación es óptima.Finalizar. (ii) Si no, Continuar. Fase 4: Determinación del mínimo cubrimiento de ceros P1. Seleccionar las filas que no tienen ceros marcados P2. En las filas de P1, buscar ceros eliminados y seleccionar las columnas que los contienen. P3. En columnas de P2, buscar ceros marcados, y seleccionar las filas que los contienen. P4. Repetir los pasos P2 y P3 hasta que no se pueda seleccionar más. 0-- 2 -- 4 5705-- 112--0 2731-- 66102 (1) (2) (5) (3) (4)
GCS’20 – Dist.Fis.-I 35 J Bautista-Valhondo El Algoritmo Húngaro. Ejemplo-03 (4) Fase 5: Cubrimiento de ceros: Se traza una raya sobre toda fila NO seleccionada y sobre toda columna seleccionada. Fase 6: Desplazamiento de ceros: Restar el menor valor de los elementos NO rayados, a las columnas NO rayadas y sumarlo a las filas rayadas (se crea al menos un 0 más). Ir a la Fase 2. 0-- 2 -- 4 5705-- 112--0 2731-- 66102 0-- 2 -- 4 5705-- 112--0 2731-- 66102 00215 57061 00100 16210 55002
GCS’20 – Dist.Fis.-I 36 J Bautista-Valhondo El Algoritmo Húngaro. Ejemplo-03 (5) 00215 57061 00100 16210 55002 Fase 2: Búsqueda de una asignación Ir a la fila o columna que posea el menor número de ceros, marcar uno y eliminar los demás de su misma fila o columna. Proseguir hasta que todos los ceros están marcados o eliminados Fase 3: Test de óptimo: Solución óptima (5 ceros) 0--- 2 1 5 57061 --- 01 --- --- 16210 5 5 --- 02 abcDe A2 B4 C6 D8 E7 horas 2787462 Z
GCS’20 – Dist.Fis.-I 37 J Bautista-Valhondo Problema de Asignación Cuadrática. Introducción Descripción del Problema: Se dispone de 𝑛instalaciones (recursos) agrupadas en un conjunto 𝐼y dedicadas a la misma actividad industrial (v.gr. fábricas, estaciones emisoras y receptoras de señal, etc.). Entre las instalaciones existe interacción caracterizada por un flujo (v.gr. productos, información, etc.). Se dispone de 𝑛emplazamientos (lugares) agrupados en un conjunto 𝐽. Entre los lugares hay unas distancias no despreciables a efectos de coste. Los costes derivados de las comunicaciones entre instalaciones dependen, al menos, de los flujos 𝜙 entre parejas de instalaciones 𝑖,𝑘 ⊆ 𝐼 y de las distancias 𝛿 entre pares de emplazamientos 𝑗, 𝑙 ⊆ 𝐽. Los costes de comunicación, que notaremos por 𝑐, se pueden representar mediante una función 𝑓 que generalmente será no lineal: 𝑐 𝑓 𝜙,𝛿 ∀ 𝑖,𝑘 ⊆ 𝐼,∀ 𝑗, 𝑙 ⊆ 𝐽, por ejemplo: 𝑐 𝜙 𝛿 ∀ 𝑖, 𝑘 ⊆ 𝐼,∀ 𝑗, 𝑙 ⊆ 𝐽. En tales condiciones, el problema de asignación cuadrática (QAP: Quadratic Assignment Problem), consiste en hallar una asignación de las instalaciones del conjunto 𝐼a los emplazamientos del conjunto 𝐽al menor coste posible, y suponiendo que cada instalación se localiza en un único emplazamiento y que cada emplazamiento solo puede ser ocupado por una instalación.
GCS’20 – Dist.Fis.-I 38 J Bautista-Valhondo Problema de Asignación Cuadrática. Formulación JjIix Jjx Iixas xxc ji n i ji n j ji n i n j n k kl n l ijijkl 1,0 1 1:. min , 1 , 1 , 1111 𝐼,𝑖 Conjunto de instalaciones. Índices de instalación: 𝑖1,.., 𝐼. 𝐽, 𝑗 Conjunto de emplazamientos o lugares. Índices de emplazamiento: 𝑗1,.., 𝐽. 𝑛Número de instalaciones y de emplazamientos: 𝑛 𝐼𝐽. 𝑐 Coste no negativo asociado a la asignación de las instalaciones 𝑖∈𝐼 y𝑘∈𝐼 alos emplazamientos 𝑗∈𝐽y𝑙∈𝐽, respectivamente. 𝑥 Variable binaria que vale 1 si la instalación 𝑖∈𝐼se asigna al emplazamiento o lugar 𝑗∈𝐽,y vale 0 en caso contrario. ΓCoste total de la asignación cuadrática.
GCS’20 – Dist.Fis.-I 39 J Bautista-Valhondo Problema de Asignación Cuadrática. Heurística 1. Determinar para cada instalación 𝑖∈𝐼 la suma de los flujos entre ella y el resto de instalaciones: 𝜙∑𝜙 ∀𝑖 ∀ . 2. Determinar para cada emplazamiento 𝑗∈𝐽la suma de las distancia entre él y el resto de emplazamientos: 𝛿∑𝛿 ∀𝑗 ∀ . 3. Ordenar las instalaciones en sentido creciente de los valores 𝜙 ∀𝑖 .Sea𝑆la serie ordenada de esta forma: 𝑆𝜙 ,𝜙 ,…,𝜙 . 4. Ordenar los emplazamientos en sentido decreciente de los valores 𝛿 ∀𝑗 .Sea𝑆la serie ordenada de esta forma: 𝑆𝛿 ,𝛿 ,…,𝛿 . 5. Asignar cada instalación al emplazamiento con mismo número de orden, obteniendo los valores binarios 𝑥 ∀𝑖∀𝑗 que caracterizan la solución inicial hallada 𝑋. 6. Determinar el coste de la solución así: Γ∑𝑐𝑥 𝑥 ∀,,, . 7. Mejorar la solución inicial 𝑋 (Fase 2) mediante Búsqueda Local por ejemplo. Algoritmo heurístico AH-c3. Problema de asignación cuadrática
GCS’20 – Dist.Fis.-I 40 J Bautista-Valhondo Problema de Asignación Cuadrática. Ejemplo-4 Ejemplo – 04: Seis fábricas, F1aF6, presentan en su fase de diseño los flujos de materiales que se muestran en la Tabla.1. Por otra parte, existen 6 emplazamientos o lugares posibles (E1 a E6) para localizar biunívocamente cada planta, siendo las distanciasentreellos las que se muestran en la Tabla.2. En tales condiciones, realice una asignación cuadrática entre fábricas y emplazamientos F1 F2 F3 F4 F5 F6 F1 049235 F2 407816 F3 970492 F4 284035 F5 319307 F6 562570 E1 E2 E3 E4 E5 E6 E1 035781 E2 306492 E3 560357 E4 743081 E5 895806 E6 127160 Tabla. 1: Flujos entre fábricas (F1 a F6) Tabla. 2: Distancias entre lugares (E1 a E6)