ANEXO 2: Modelado mediante los Archivos de Configuración A2.1 Archivo de configuración SC_generalData.dat Este es el archivo de configuración general, donde se definen las características de todas las empresas participantes en el modelo. El orden en que aparecen las empresas en este archivo coincide con el orden que serán creadas posteriormente en el swarm Modelo. Por tanto, deben escribirse ordenadas desde los Clientes hasta los Proveedores (ver apartado 4.3.3). El archivo se divide en tres partes, diferenciándose entre Clientes Finales, Intermediarios y Fábricas, y por último los Proveedores Finales. A continuación se describe cómo codificar cada tipo de empresa. Clientes Finales: Aparecen en primer lugar en el archivo de configuración. En la primera línea se debe escribir el número total de Clientes Finales del modelo. A continuación se codificarán uno a uno en líneas separadas. Los valores de cada característica se deben introducir sin espacios. Entre características diferentes debe haber siempre un espacio. Las características para el Cliente Final son las siguientes: - Nombre: nombre de la empresa. Se recomienda acompañarlo de un ―-― para facilitar la lectura de la salida de la simulación. - Modo: existen dos formas de describir la manera en la que el Cliente Final genera la demanda. En el modo M1 los pedidos se realizan en un intervalo constante (determinado por el intervalo de repetición seleccionado para los Clientes Finales), asignándose una probabilidad a cada producto y una cantidad aleatoria que será común para todos los productos demandados. En el modo M2 la cantidad demandada y el intervalo de demanda son aleatorios y diferentes para cada producto. Modo M1 - Número de productos: se escribe la cantidad de productos que demanda del Cliente Final. - Nombre de los productos: se escriben los nombres de los productos separados cada uno por un espacio. 155 - Probabilidad de cada producto: se escribe la probabilidad de pedir cada producto en el mismo orden en que se escribieron los nombres, y separadas por un espacio. La suma de las probabilidades debe ser igual a 100. - Cantidades demandadas: se escriben los dos parámetros de la función aleatoria para decidir las cantidades demandadas. Deben separarse por un espacio. Si solo se necesita un parámetro, el segundo tendrá un valor de 0. - Función aleatoria: se escribe el nombre de la función aleatoria que decidirá las cantidades demandadas (ver Tabla A2.1). Modo M2 - Número de productos: se escribe la cantidad de productos que demanda del Cliente Final. Para cada producto se escriben las siguientes características: - Nombre del producto: se escribe el nombre del producto. - Intervalo entre demandas: se determina el intervalo de pasos de simulación entre cada demanda mediante una función aleatoria. Para ello se escribe en primer lugar el nombre de la función aleatoria y a continuación sus dos parámetros (ver Tabla A2.1). - Cantidad demandada: se determina mediante una función aleatoria, igual que el intervalo entre demandas. Para una mejor comprensión se va a ilustrar la creación de los Clientes Finales mediante dos ejemplos, uno para cada modo. Para un Cliente Final de nombre Cliente 1 que demanda dos productos, P1 y P2, en intervalos de tiempos fijos, con probabilidad del 40% de pedir P1 y un 60% de pedir P2 cada vez, demandando entre 1 y 10 unidades aleatoriamente, se escribiría la siguiente línea en el archivo de configuración: Cliente1- M1 2 P1 P2 40 60 1 10 UNI Para un Cliente Final de nombre Cliente 2 que demanda un solo producto, P1, y lo hace en cada paso de simulación demandando una cantidad que se distribuye mediante una Normal de media 50 y desviación típica 20, se escribiría la siguiente línea en el archivo de configuración: Cliente2- M2 1 P1 CON 0 0 NOR 50 20 156 Tabla A2.1. Funciones Aleatorias implementadas Función Aleatoria Parámetros Descripción CON Par1; Par2 = 0 Devuelve siempre Par1 UNI Par1 = a; Par2 = b Distribución Uniforme EXP Par1 = ; Par2 = 0 Distribución Exponencial POI Par1 = ratio de ocurrencias Par2 = intervalo Distribución de Poisson NOR Par1 = ; Par2 = Distribución Normal GAM Par1 = ; Par2 = Distribución Gamma Intermediarios y Fábricas: Aparecen en segundo lugar en el archivo de configuración. En la primera línea se debe escribir el número total de Intermediarios y Fábricas del modelo. A continuación se codificarán uno a uno en líneas separadas. Los valores de cada característica se deben introducir sin espacios. Entre características diferentes debe haber siempre un espacio. Las características programables para Intermediarios y Fábricas son las siguientes: - Nombre: nombre de la empresa. Se recomienda acompañarlo de un ―-― para facilitar la lectura de la salida de la simulación. - Número de productos: cantidad de productos que vende la empresa. - Nombre de los productos: se escriben los nombres de los productos. - Inventario inicial: se escribe la cantidad inicial de cada producto, en el mismo orden en que se escribieron sus nombres. - Política de Gestión de Inventarios: si la empresa utiliza una política MTS para la gestión de la demanda, será necesario indicar la política de gestión de inventarios que va a utilizar (ver Tabla A2.2). A continuación se deben escribir los valores de los parámetros de la política seleccionada, que serán distintos para cada producto de la empresa (se deben escribir en el mismo orden en que se escribieron sus nombres). En el caso de la política (r,S) si se le da un valor de ―-1‖ al parámetro S se utilizará una regla para actualizar el valor de S en cada periodo de revisión (ecuación (2)), utilizando la ecuación (4) para el cálculo de la desviación típica. Si se le da un valor de 157 ―-2‖ al parámetro S se utiliza la ecuación (5) para el cálculo de la desviación típica. Además, en ambos casos es necesario escribir a continuación el valor del parámetro z (ecuación (2)). En caso de no utilizar ninguna política de gestión de inventarios se escribe ―INVX‖. Tabla A2.2. Resumen de la configuración de las Políticas de Gestión de Inventarios Gestión de la Demanda Gestión del Inventario ―r,S‖ Descripción Indicar valores de los parámetros para cada producto Actualización dinámica de S: S=-1 (ecuaciones (3.9) y (3.11)) MTS Actualización dinámica de S: S=-2 (ecuaciones (3.9) y (3.12)) Otra - ―s,S‖ Indicar valores de los parámetros para cada producto ―r,Q‖ Para cada producto se utiliza una política de gestión independiente ―INVX‖ No se utilizan políticas de gestión de inventarios En caso de actualización dinámica de S indicar el valor de z - - Número de materias primas: cantidad de materias primas que utiliza la empresa para la fabricación de productos. Si es un Intermediario no utilizará materias primas, por lo que se debe escribir un ―0‖. Si es una Fábrica, este valor será mayor que cero. En ese caso se describen las materias primas igual que se hizo con los productos (nombres, inventarios iniciales y políticas de gestión de inventarios). - Regla de Prioridad: regla de prioridad utilizada para secuenciar trabajos. Esta característica es exclusiva de las Fábricas. Se puede utilizar cualquiera de las reglas implementadas: ―FCFS‖, ―SPT‖ o ―LPT‖. Si la empresa es un Intermediario se debe escribir ―PRX‖. Tabla A2.3. Resumen de la configuración de las Reglas de Prioridad Rol de la Empresa Reglas de Prioridad Fábrica ―FCFS‖, ―SPT‖ ó ―LPT‖ Intermediario ―PRX‖ 158 - Heurística: método heurístico utilizado para mejorar la secuencia inicial de trabajos de la Fábrica. Si la empresa es una Fábrica se escribirá ―HEUR‖ si se desea utilizar heurística y ―HEURX‖ si no se quiere utilizar. En caso de utilizarse se debe escribir a continuación el método utilizado para obtener las vecindades (―API‖ ó ―FII‖) y el objetivo que debe cumplir la heurística (―MAKESPAN‖ ó ―FLOWTIME‖). Si la empresa no es una Fábrica no se debe escribir nada. Tabla A2.4. Resumen de la configuración de las heurísticas Rol Heurística Vecindad Objetivo Fábrica ―HEUR‖ ―API‖ ó ―FII‖ ―MAKESPAN‖ ó ―FLOWTIME‖ ―HEURX‖ No se utiliza ninguna heurística - - - - Intermediario - Política de Gestión de la Demanda: aquí se indica cómo gestionará la demanda la empresa. Las políticas implementadas son: ―MTS‖, ―MTO‖. - Previsión de la Demanda: se indica si se quiere dar capacidad de previsión de la demanda a la empresa, escribiendo el nombre del método que se va a utilizar (―SMA‖, ―NPMA‖, ―WMA‖ ó ―SES‖) y los valores de sus parámetros a continuación. En caso contrario se debe escribir ―FRX‖. Tabla A2.5. Resumen de la configuración de la Previsión de la Demanda Previsión de la Demanda Método Parámetros ―SMA‖ - ―NPMA‖ N Capacidad de Previsión de la Demanda ―WMA‖ ―SES‖ Sin capacidad de Previsión de la Demanda 159 ―FRX‖ , S0 - - Lotes: si la empresa es una Fábrica se debe indicar si debe gestionar la demanda en lotes escribiendo ―BATCH‖ (ver apartado 3.3.2.2). Si la gestión del lote es por tiempo a continuación se escribirá ―TIME‖ y el tiempo (número de pasos de simulación). Si la gestión es por tamaño, se escribirá ―SIZE‖ y el tamaño del lote. Si la empresa no utiliza lotes para la gestión de la demanda (equivalente a la gestión ―on-line‖) se escribe ―BATCHX‖. Tabla A2.6. Resumen de la configuración de la gestión de Lotes Rol Lote Modo Parámetro de configuración ―BATCH‖ ―TIME‖ T: Tiempo transcurrido entre cada envío del lote a fabricación ―SIZE‖ S: Cuando el lote alcanza este tamaño se envía a fabricación ―BATCHX‖ - - - - - Fábrica Intermediario - Planificación de la Producción: si la empresa es una Fábrica se debe de indicar si utiliza Planificación de la Producción escribiendo ―PLAN‖, o si no la utiliza escribiendo ―PLANX‖. En caso de utilizarla se debe indicar a continuación qué modelo de planificación agregada se va a utilizar. Actualmente solo se ha implementado un modelo, para varias líneas de producto con limitaciones de capacidad (ver apartado 3.3.2.3), y se debe escribir ―MODEL1‖ para seleccionarlo. Por último se debe indicar el modelo de desagregación. Actualmente solo se ha implementado un modelo para la desagregación en productos finales (ver apartado 3.3.2.4), y se debe escribir ―FINALPROD‖ para seleccionarlo. Tabla A2.7. Resumen de la configuración de la Planificación de la Producción Rol Planificación Modelo de Planificación Agregada Modelo de Desagregación Fábrica ―PLAN‖ ―MODEL1‖ ―FINALPROD‖ ―PLANX‖ - - - - - Intermediario 160 - Transporte: si se quiere modelar el tiempo de transporte en los envíos de la empresa se debe escribir ―TRANSPORT‖, y en caso contrario, se escribirá ―TRANSX‖. La configuración de los tiempos de envío se hace en el archivo de configuración de las incertidumbres (SC_uncertaintyData.dat). Para una mejor comprensión se va a ilustrar la creación de Intermediarios y Fábricas mediante unos ejemplos. La empresa de nombre Distribuidor 1 que juega un rol de Intermediario en la red de suministro, distribuye dos tipos de productos, P1 y P2, y posee un inventario inicial de 15 unidades de cada uno. La empresa gestiona la demanda mediante una política MTS, y utiliza una política (s,S) con y para la gestión del inventario de ambos productos. Esta empresa se codifica en el archivo de configuración general de la siguiente forma: Distribuidor1- 2 P1 P2 15 15 s,S 25 35 25 35 0 PRX MTS FRX TRANSX La empresa de nombre Distribuidor 2 que juega un rol de Intermediario en la red de suministro, distribuye un solo tipo de producto, P3, y posee un inventario inicial de 15 unidades. La empresa también gestiona la demanda mediante una política MTS, pero ésta utiliza una política (r,S), con un periodo de revisión pasos de simulación, y un order- up-to-level dinámico calculado mediante las ecuaciones (3.9) y (3.12), factor , utilizando un . Para la previsión de la demanda utiliza un método NPMA con . Esta empresa se codifica en el archivo de configuración general de la siguiente forma: Distribuidor2- 1 P3 15 r,S 40 -2 2 0 PRX MTS NPMA 15 TRANSX La empresa de nombre Fábrica1 que juega un rol de Fábrica en la red de suministro, fabrica tres tipos de productos, P1, P2 y P3, y posee un inventario inicial de 50 unidades de cada uno. La empresa gestiona la demanda mediante una política MTS con planificación de la producción, por lo que no necesita ninguna política para la gestión de inventarios de estos productos. Para la fabricación de dichos productos utiliza tres tipos de materias primas, M1, M2 y M3, y posee un inventario inicial de 100 unidades de cada una. La gestión del inventario de materias primas se hace mediante una política (s,S), con para M1 y M2, y y y para M3. Para la secuenciación de trabajos se utiliza la regla SPT, y una heurística que utiliza el método API para la generación de vecindades y cuyo objetivo es optimizar el makespan. La empresa utiliza el método SMA para la previsión de la 161 demanda. Además se modela el transporte entre esta empresa y sus Clientes. Esta empresa se codifica en el archivo de configuración general de la siguiente forma: Fábrica1- 3 P1 P2 P3 50 50 50 INVX 3 M1 M2 M3 100 100 100 s,S 200 500 200 500 350 700 SPT HEUR API MAKESPAN MTS SMA BATCHX PLAN MODEL1 FINALPROD TRANSPORT La empresa de nombre Fábrica2 que juega un rol de Fábrica en la red de suministro, fabrica los mismos productos que la empresa F1, y utiliza los mismos materiales y la misma gestión de sus inventarios. La diferencia principal es que gestiona su demanda mediante una política MTO, enviando lotes de producción cada 20 unidades de tiempo. Esta empresa se codifica en el archivo de configuración general de la siguiente forma: Fábrica2- 3 P1 P2 P3 50 50 50 INVX 3 M1 M2 M3 100 100 100 s,S 200 500 200 500 350 700 SPT HEUR API MAKESPAN MTO FRX BATCH TIME 20 PLANX TRANSPORT Proveedores Finales: Aparecen en tercer y último lugar en el archivo de configuración. En la primera línea se debe escribir el número total de Proveedores Finales del modelo. A continuación se codificarán uno a uno en líneas separadas. Los valores de cada característica se deben introducir sin espacios. Entre características diferentes debe haber siempre un espacio. Las características programables para los Proveedores Finales son las siguientes: - Nombre: nombre de la empresa. Se recomienda acompañarlo de un ―-― para facilitar la lectura de la salida de la simulación. - Número de productos: cantidad de productos que vende la empresa. - Nombre de los productos: se escriben los nombres de los productos. - Inventario: los Proveedores Finales poseen un inventario especial (ver apartado 3.3.3.4), que en cada paso de simulación se actualiza a un valor dado por alguna de las funciones aleatorias de la Tabla A2.1. Esto permite modelar a los Proveedores como empresas ajenas a la red de suministro con un inventario ―infinito‖, asignando un valor constante muy alto, pero también permite modelar su inventario como una función aleatoria con valores no tan altos, dando la posibilidad de que no siempre dispongan de inventario suficiente para satisfacer la demanda de las empresas de la red de suministro. 162 - Previsión de la Demanda: Si se escribe ―FORECAST‖ se añade al agente Demand Forecast al Proveedor Final. Aunque este agente es totalmente innecesario en una empresa con este rol, se puede utilizar para analizar los resultados del histórico de demandas (media y desviación típica) de sus clientes, que son almacenados por este agente (ver más adelante). En caso de no desear esta característica se debe escribir ―FRX‖. - Transporte: si se quiere modelar el tiempo de transporte en los envíos de la empresa se debe escribir ―TRANSPORT‖, y en caso contrario, se escribirá ―TRANSX‖. La configuración de los tiempos de envío se hace en el archivo de configuración de las incertidumbres (SC_uncertaintyData.dat). Para una mejor comprensión se va a ilustrar la creación de Proveedores Finales con un ejemplo. La empresa de nombre Proveedor con rol de Proveedor Final, suministra a las empresas de la red de suministro los materiales M1, M2 y M3. La disponibilidad de estos materiales se distribuye mediante una normal de media 500 unidades y desviación típica 80 unidades. Esta empresa se codifica en el archivo de configuración general de la siguiente forma: Proveedor- 3 M1 M2 M3 NOR 500 80 FRX TRANSX A2.2 Archivo de configuración SC_structureData.dat En este archivo se describe la estructura de la red de suministro, definiendo las relaciones cliente-proveedor, indicando qué productos compra cada empresa de la red de suministro y a qué empresas se compran. En la primera línea del archivo de configuración se escribe el número total de Clientes Finales, Intermediarios y Fábricas. No es necesario incluir el número de Proveedores Finales ya que éstos no compran productos a otras empresas. A continuación el procedimiento es similar para todas las empresas (se escribe todo en líneas separadas): - Se escriben el nombre de la empresa en una línea. 163 - Se escribe el nombre de uno de los productos que compra la empresa en la siguiente línea, y a continuación, separado por un espacio, el nombre de la empresa a la que lo compra. - Se repite el proceso anterior para todos los productos que compra la empresa (cada producto en una línea diferente). - La descripción de cada empresa viene separada por una línea con un ―*‖. A2.3 Archivo de configuración SC_productData.dat En este archivo se describen las características de fabricación de todos los productos fabricados en la red de suministro. Si no hay ninguna Fábrica en el modelo no es necesario escribir nada en este archivo. Su estructura es la siguiente: - Nombre de la Fábrica: se escribe el nombre de la Fábrica cuyos datos se van a codificar. Cada Fábrica puede utilizar recursos productivos distintos, procesos distintos y fabricar distintos productos, por lo que los datos son diferentes para cada una de ellas. - Número de productos: cantidad de productos que se fabrican en la red de suministro. - Número de recursos productivos: se escribe el número de recursos productivos diferentes que hay en las Fábricas de la red de suministro, y a continuación en la misma línea (separado por espacios) se escriben sucesivamente los nombres de dichos recursos. - Matriz tecnológica: se describe la ruta de fabricación que tendrá cada producto (conjunto ordenado de los recursos productivos por los que debe pasar). Cada ruta se escribe en una línea independiente, y cada línea comienza por el nombre del producto y a continuación (separado por espacios) se escriben los nombres de los recursos por los que debe pasar para ser fabricado en el orden adecuado. - Matriz de tiempos de proceso: se describen los tiempos de procesamiento de cada producto en cada recurso productivo. Siguiendo la estructura de la matriz tecnológica, en cada línea se escribe el nombre de un producto y a continuación los tiempos de procesamiento en cada recurso, según el orden indicado en la matriz tecnológica. 164 - Matriz de materiales: se describen las necesidades materiales para fabricar cada producto. Se escribe el nombre del producto en una línea y a continuación, en la siguiente línea, se escribe una secuencia indicando nombre del material y cantidad necesaria, para cada material, terminando la secuencia con un ―*‖. A2.4 Archivo de configuración SC_planningData.dat En este archivo se recogen los datos necesarios para los modelos de planificación. Si ninguna empresa utiliza planificación de la producción entonces no será necesario escribir nada en este archivo. Todos los parámetros que se utilizan aquí están descritos en los apartados 3.3.2.3 y 3.3.2.4. La estructura del archivo es la siguiente: - Nombre de la Fábrica: se escribe el nombre de la Fábrica cuyos datos se van a codificar. Cada Fábrica puede utilizar parámetros distintos para planificar su producción, por lo que los datos son diferentes para cada una de ellas. - Horizonte de Planificación: número de pasos de simulación equivalentes al horizonte de planificación. - Factor z: utilizado para determinar la importancia de la desviación típica de la demanda en las previsiones. - Número de conceptos de productos: se escribe el número de conceptos de productos y a continuación, para cada concepto se escribe en una línea el nombre del concepto y en la siguiente línea, después de la palabra Products se escriben los nombres de los productos incluidos en el concepto. - Datos sobre los conceptos: para cada concepto se escribe en primer lugar su nombre en una línea. A continuación en la línea siguiente, después de pit se escribe una función aleatoria de la Tabla A2.1, que asignará un valor al coste marginal de producción del concepto en cada periodo. En la siguiente línea, después de hit se escribe nuevamente una función aleatoria de la Tabla A2.1, que asignará un valor al coste marginal de inventario del concepto en cada periodo. Por último, en la siguiente línea, después de SSit se escribe un valor para el stock de seguridad del concepto, que será constante en todos los periodos. 165 - Limitación del inventario: se escribe una función aleatoria de la Tabla A2.1 para asignar un límite de capacidad de almacenamiento del inventario total en cada periodo. - Stocks de seguridad de los productos: se escribe en una misma línea una secuencia con los nombres de cada producto seguidos de un número que indica su stock de seguridad para el modelo de desagregación. - Limitación del inventario de los productos: se escribe una limitación para el inventario de cada producto de la misma forma que los stocks de seguridad. Si no se desea asignar ninguna limitación, escribir ―-―. A2.5 Archivo de configuración SC_uncertaintyData.dat En este archivo se configuran las incertidumbres internas del sistema. Actualmente se han implementado dos tipos: incertidumbres en los tiempos de procesamiento de los recursos productivos de las Fábricas e incertidumbres en los tiempos de transporte. Las incertidumbres en los tiempos de procesamiento de los recursos productivos se modelan como un factor aleatorio dado por alguna de las funciones aleatorias de la Tabla A2.1, que multiplica al tiempo de procesamiento teórico del recurso cada vez que ésta comienza con un trabajo nuevo. Es necesario escribir siempre esta información para todas las Fábricas del modelo (solo puede omitirse cuando no hay ninguna Fábrica). Si no se quiere modelar ningún tipo de incertidumbre en los recursos productivos, basta con asignar un factor unitario para cada una de ellas mediante la función CON (1). De esta forma los tiempos de procesamiento serán siempre los teóricos. La forma de codificar este tipo de incertidumbres es la siguiente: - Se escribe la etiqueta ―Machines Process Time‖ en una línea. - A continuación, en la línea siguiente, el nombre de una Fábrica. - En la siguiente línea se escribe el número de recursos productivos que tiene la Fábrica, y a continuación, en la misma línea, el nombre de cada recurso acompañado de la función aleatoria que determinará el factor de incertidumbre. - Se repiten los dos puntos anteriores para todas las Fábricas del modelo. 166 El transporte se modela como un tiempo aleatorio de espera entre el instante en que una empresa realiza un envío y el instante en el que la empresa destinataria lo recibe. Las incertidumbres en el tiempo de transporte se modelan introduciendo aleatoriedad en dichos tiempos, utilizando alguna de las funciones de la Tabla A2.1. Solo se deben codificar los tiempos de transporte para las empresas que en el archivo de configuración general tuvieran activada la opción ―TRANSPORT‖. La forma de codificar este tipo de incertidumbres es la siguiente: - Se escribe la etiqueta ―Transport‖ en una línea. - En la línea siguiente, el nombre de una empresa. - A continuación, se codifican los tiempos de transporte para todos los clientes directos de la empresa (cada cliente en una línea distinta). Para ello se escribe el nombre del cliente y a continuación una función aleatoria. Para indicar que se ha terminado de codificar los clientes de una empresa se escribe ―*‖ al final, en una línea separada. - Se repiten los dos puntos anteriores para todas las empresas del modelo que tengan activada la opción ―TRANSPORT‖. A2.6 Archivo de configuración SC_analysisData.dat En este archivo se le indica al swarm Observador qué tipo de información se desea obtener al final de la simulación y de qué empresas. El Observador escribe la información solicitada en archivos de texto (uno por tipo de información y empresa). A continuación se describen los cinco tipos de información que se pueden solicitar: Inventario: se recopila información sobre el inventario de la empresa cada cierto intervalo de tiempo (variable updatingTime del swarm Observador). Se puede recopilar información sobre el inventario del agente Deliver o sobre el del agente Source, y deben solicitarse de forma independiente. En el archivo de resultados correspondiente aparece la siguiente información: - Inventario de todos los productos/materiales del agente en cuestión en los intervalos de tiempo indicados. - Inventario medio de cada producto. 167 - Inventario medio total (suma de los inventarios medios de cada producto). - Fill rate (porcentaje de pedidos satisfechos instantáneamente con el inventario disponible). Producción: se recopilan datos sobre la producción de la empresa a lo largo de la simulación. La información se extrae del agente Scheduling, por lo que la empresa debe ser una Fábrica. En el archivo de resultados correspondiente aparece la siguiente información para cada trabajo que se crea en la empresa: - Identificador del trabajo. - Cantidad de productos a fabricar. - Tipo de producto a fabricar. - Instante de creación del trabajo. - Instante de comienzo del trabajo. - Instante de finalización del trabajo. Además de esta información, al final del archivo aparecen los porcentajes de ocupación y de tiempo ocioso de cada recurso productivo de la fábrica. Compras: se recopilan datos sobre las compras realizadas por la empresa a lo largo de la simulación. La información se extrae del agente MRP, por lo que la empresa puede ser de cualquier tipo menos un Proveedor Final. En el archivo de resultados correspondiente aparece la siguiente información para cada compra realizada: - Identificador de la compra. - Cantidad comprada. - Tipo de producto comprado. - Instante en que se ordenó la compra. - Instante en que se recibió el pedido. - Tiempo de entrega. Al final del archivo aparecen la media y la desviación típica del tiempo de entrega agregado (agrupa todos los productos/materiales comprados) de los clientes de la empresa. 168 Previsión de la demanda: se recopilan datos sobre la demanda observada y sobre las previsiones realizadas por la empresa a lo largo de la simulación. La información se extrae del agente Demand Forecast, por lo que la empresa debe tener capacidad para realizar previsiones de la demanda. En el archivo de resultados correspondiente aparece la siguiente información para cada producto de la empresa: - Historial de la demanda recibida. - Media y desviación típica de la demanda recibida. - Previsiones de la demanda realizadas. Fechas de entrega: se recopilan datos sobre las fechas de entrega calculadas por la empresa a lo largo de la simulación. Las fechas de entrega solo se calculan para el caso de una Fábrica funcionando con la política MTO. En el archivo de resultados correspondiente se muestra la siguiente información para cada fecha de entrega calculada por la empresa: - Cantidad de producto solicitado por el cliente. - Tipo de producto solicitado por el cliente. - Fecha de entrega calculada. - Fecha de entrega real. - Adelanto o retraso sobre la fecha calculada. Al final del archivo aparecen, a modo orientativo, los porcentajes de pedidos entregados con menos de 1 día de diferencia sobre la fecha calculada, los entregados entre 1 y 2 días de diferencia sobre la fecha calculada, entre 2 y 3 días, y más de tres días. También aparece el porcentaje de pedidos entregados con adelanto y el porcentaje de los entregados con retraso. Para codificar el archivo de configuración para que muestre los resultados deseados se debe escribir en la primera línea del mismo el número total de resultados que se desean obtener. A continuación, en cada línea se escribe una solicitud de resultados distinta, comenzando por el nombre de la empresa de la que se quiere obtener la información, y escribiendo a continuación el código apropiado (ver Tabla A2.8) para la información que se quiere obtener. 169 Tabla A2.8. Códigos para solicitar los resultados Información Código Inventario (agente Deliver) Inventory Deliver Inventario (agente Source) Inventory Source Producción Production Compras PurchasingCycle Previsión de la demanda Forecast Fechas de entrega DueDate A2.7. Ejemplo de utilización de los Archivos de Configuración A continuación se va a modelar una red de suministro sencilla mediante los archivos de configuración de SCOPE. La red de suministro está formada por dos Clientes que demandan tres tipos de productos, dos Distribuidores que distribuyen estos productos a los Clientes, una Fábrica, donde se fabrican estos productos y un Proveedor, que suministra los materiales necesarios a la Fábrica. En la Figura A2.1 se detalla la estructura de la red de suministro, formada por un total de seis empresas distribuidas en cuatro niveles. Figura A2.1. Red de suministro El Cliente 1 demanda en intervalos constantes de 32 horas (1 hora = 1 paso de simulación) una cantidad de P1 que se distribuye como una Uniforme (1,8), y en intervalos de 24 horas una cantidad de P2 que se distribuye igual que la de P1. 170 El Cliente 2 solo demanda el producto P3, en intervalos aleatorios según una Exponencial (28) y en cantidades según una Uniforme (1,5). El resto de empresas coinciden con las empresas Distribuidor 1, Distribuidor 2, Fábrica 1 y Proveedor de los ejemplos vistos anteriormente en este Anexo (apartado A2.1). El archivo de configuración general que describe estas empresas, se codifica de la siguiente forma: SC_generalData.dat 2 Cliente1- M2 2 P1 CON 32 0 UNI 1 8 P2 CON 24 0 UNI 1 8 Cliente2- M2 1 P3 EXP 28 0 UNI 1 5 3 Distribuidor1- 2 P1 P2 15 15 s,S 25 35 25 35 0 PRX MTS FRX TRANSX Distribuidor2- 1 P3 15 r,S 40 -2 2 0 PRX MTS NPMA 15 TRANSX Fábrica1- 3 P1 P2 P3 50 50 50 INVX 3 M1 M2 M3 100 100 100 s,S 200 500 200 500 350 700 SPT HEUR API MAKESPAN MTS SMA BATCHX PLAN MODEL1 FINALPROD TRANSPORT 1 Proveedor- 3 M1 M2 M3 NOR 500 80 FRX TRANSX El archivo de configuración que codifica la estructura de relaciones mostradas en la Figura A2.1 se escribe de la siguiente forma: SC_structureData.dat 5 Cliente1P1 Distribuidor1P2 Distribuidor1* Cliente2P3 Distribuidor2* Distribuidor1- 171 P1 Fábrica1P2 Fábrica1* Distribuidor2P3 Fábrica1* Fábrica1M1 Proveedor M2 Proveedor M3 Proveedor * A continuación se describen los detalles de fabricación de los tres productos. La fábrica utiliza tres máquinas (#1, #2, #3) para su fabricación. En la Tabla A2.9 se resumen las rutas y tiempos de fabricación (en horas) de cada producto en cada máquina, y en la Tabla A2.10 las necesidades materiales de cada producto. Tabla A2.9. Rutas/Tiempos de fabricación Producto 1ªMáquina/Tiempo 2ªMáquina/Tiempo 3ªMáquina/Tiempo P1 #1/3 #2/2 #3/1 P2 #2/2 #1/1 #3/2 P3 #3/1 #1/1 #2/2 Tabla A2.10. Necesidades materiales para la fabricación de los productos Producto Cantidad M1 Cantidad M2 Cantidad M3 P1 2 3 0 P2 3 0 1 P3 0 0 5 172 Toda esta información se codifica en el siguiente archivo de configuración: SC_productData.dat Fábrica1Number of Products 3 Number of Machines 3 #1 #2 #3 Technological Matrix P1 #1 #2 #3 P2 #2 #1 #3 P3 #3 #1 #2 Process Time Matrix P1 3 2 1 P2 2 1 2 P3 1 1 2 Materials Matrix P1 M1 2 M2 3 * P2 M1 3 M3 1 * P3 M3 5 * La fábrica planifica su producción con un horizonte de planificación de 480 horas, utilizando un factor en el cálculo de la previsión de la demanda. Se agrupan los productos P1 y P2 en el concepto de producto PC1 y el producto P3 en el concepto de producto PC2. En la Tabla A2.11 se resumen los parámetros para la planificación agregada, y en la Tabla A2.12 los de la planificación desagregada. 173 Tabla A2.11. Parámetros para la planificación agregada Concepto Productos Coste Producción Coste Inventario Stock Seguridad Límite del Inventario total PC1 P1, P2 CON (5) CON (10) 30 CON (100) PC2 P3 CON (8) CON (8) 15 Tabla A2.12. Parámetros para la planificación desagregada Producto Stock de Seguridad Límite de Inventario P1 15 - P2 15 - P3 15 - Toda esta información se codifica en el archivo de planificación de la siguiente forma: SC_planningData.dat Fábrica1Planning Horizont 480 z factor 0 Product Concepts 2 PC1 Products P1 P2 PC2 Products P3 Product Concepts Data PC1 pit CON 5 0 174 hit CON 10 0 SSit 30 PC2 pit CON 8 0 hit CON 8 0 SSit 15 Inventory Limits CON 100 0 Products SSk P1 15 P2 15 P3 15 Products Inventory Limits P1 - P2 - P3 – No se modelan incertidumbres en los tiempos de procesado de las máquinas de la empresa Fábrica 1 (la única Fábrica del modelo), por lo que se asignarán factores unitarios a dichos tiempos en el archivo de incertidumbres. La única empresa para la que se modela el transporte es Fábrica 1, debiéndose especificar los tiempos de transporte hasta todos sus clientes (Distribuidor 1 y Distribuidor 2), en el archivo de incertidumbres. El tiempo de transporte es idéntico en ambos casos, y se distribuye según una Normal de media 8 horas y desviación típica 4 horas. El archivo de incertidumbres queda de la siguiente forma: SC_uncertaintyData.dat Machines Process Time Fábrica13 #1 CON 1 0 #2 CON 1 0 #3 CON 1 0 Transport Fábrica1ID1- NOR 8 4 ID2- NOR 8 4 * 175 Por último se edita el archivo de configuración de análisis para obtener los resultados de la Tabla A2.13. Tabla A2.13. Resultados que se desean obtener Empresa Resultados Cliente 1 Compras - - - - Cliente 2 Compras - - - - Distribuidor 1 Compras Inventario Productos - - - Distribuidor 2 Compras Inventario Productos Previsión demanda - - Fábrica 1 Producción Inventario Productos Previsión demanda Inventario Materiales Fechas Entrega Proveedor - - - - - SC_analysisData.dat 12 Cliente1- PurchasingCycle Cliente 2- PurchasingCycle Distribuidor1- PurchasingCycle Distribuidor1- Inventory Deliver Distribuidor2- PurchasingCycle Distribuidor2- Inventory Deliver Distribuidor2- Forecast Fábrica1- Production Fábrica1- Inventory Deliver Fábrica1- Forecast Fábrica1- Inventory Source Fábrica1- DueDate 176