Simulacion SIMIO
Simulacion SIMIO
La simulación es una técnica de análisis de sistemas con un enfoque “qué pasaría si...”.
Sus aplicaciones se centran en el estudio de los efectos que ocasionan cambios en un sistema
real y en el estudio del comportamiento de nuevos sistemas. También se suelen utilizar en el
análisis de las variables de control del sistema con el objetivo de establecer los valores óptimos
de las mismas. Otras aplicaciones se centran en utilizar la simulación como instrumento
pedagógico o como entrenamiento de personal.
El uso moderno del término Simulación se debe a Von Neumann y Ulman cuando, tras
la Segunda Guerra Mundial, definieron como método de Monte Carlo a la técnica matemática
que resolvía ciertos problemas físicos (como la difusión aleatoria de los neutrones) que
resultaban costosos de realizar experimentalmente y difíciles de resolver analíticamente. La
simulación mediante ordenador fue introducida en las universidades en los años 60, y los
libros y publicaciones sobre el tema aparecieron en la misma época. El carácter multi-
disciplinar de la simulación es evidente por el hecho de que el tema se trata por diferentes
departamentos en distintas universidades del mundo.
Los sistemas pueden ser de dos tipos: discretos o continuos. Los sistemas discretos son
aquellos en que las variables que definen el estado del mismo cambian en distintos instantes
de tiempos (por ejemplo, un proceso de fabricación en serie, donde las piezas llegan cada
cierto tiempo y las máquinas cambian de estado cuando inician y terminan de procesar una
pieza). En los sistemas continuos las variables de estado cambian de forma continua a lo largo
del tiempo (por ejemplo, el movimiento de los vehículos en una red urbana, donde la posición
y velocidad pueden cambiar de forma continua respecto al tiempo). Normalmente los sistemas
Análisis del proceso productivo de una almazara mediante técnicas de simulación por ordenador
son híbridos pues existen variables de los dos tipos, pero en general en cada sistema tiende a
dominar uno de los tipos anteriores.
Los modelos de simulación que centran la mayor atención de los científicos son
discretos, estocásticos y dinámicos, denominándose modelos de simulación de eventos
discretos. Estos modelos se caracterizan porque las variables de estado, que definen el estado
del sistema en cada momento, van cambiando únicamente en un conjunto discreto de
instantes de tiempo.
• Actividades: son aquellas funciones que hacen las entidades o se realizan sobre
ellas. En cada actividad se dan cita normalmente dos o más entidades durante un
cierto periodo de tiempo (p.e., el trabajo 1 se procesa en la máquina B durante 8
horas). Cuando comienza una actividad se conoce cuándo va a terminar (de forma
empírica o estocástica).
• Sucesos o eventos: son los hechos que ocurren en un instante de tiempo y que dan
lugar a cambios en el estado del sistema, p.e., el inicio de una actividad. Durante
una actividad se considera que el estado de una entidad se mantiene constante.
Los sucesos se pueden clasificar en endógenos cuando ocurren por condiciones en
el modelo, p.e., finalización de una operación, y exógenos cuando ocurren por
causas externas al modelo, p.e., llegada de un trabajo al sistema.
Análisis del proceso productivo de una almazara mediante técnicas de simulación por ordenador
• Colas: son estados pasivos de una entidad mientras espera el inicio de una
actividad, p.e., los trabajos esperan en una cola delante de una máquina que está
procesando el trabajo anterior, o las máquinas esperan la llegada de trabajos para
comenzar una operación. Aunque físicamente las máquinas no se sitúan en una
cola, conceptualmente es válida la espera de máquinas en colas.
• Estados: son las condiciones del modelo o de sus entidades, de forma que se
puede saber si una acción se puede ejecutar o si se puede elegir entre varias, p.e.,
una entidad puede estar en estado activo (ocupada en una actividad) o en estado
pasivo (esperando en cola).
Los Grafos de Eventos se basan en la interacción entre los sucesos discretos que
ocurren en el sistema y las variables de estado de dicho sistema, usándose estas
representaciones cuando se va a desarrollar el programa en un lenguaje de propósito general.
El Diagrama de Ciclo de Actividades (DCA) considera que cada entidad del sistema
tiene un ciclo de actividades a su paso por el mismo, y que entre una actividad y otra pasa por
una cola o estado de espera. Por ejemplo, en una fabricación en serie, los trabajos llegan al
sistema, esperan delante de la primera máquina donde van a ser procesados, son procesados,
esperan a que la siguiente máquina esté disponible, son procesados, esperan de nuevo y así
hasta la última máquina. Si los trabajos no esperen antes de ciertas actividades, se añaden
colas virtuales sin retrasos. El diagrama de ciclo de actividades describe por tanto el ciclo de
operaciones de cada tipo de entidad. Estas representaciones se usan cuando se va a
desarrollar el programa en un lenguaje de simulación. Es por ello que se ha decidido
desarrollar para este proyecto un modelo mediante DCA.
Análisis del proceso productivo de una almazara mediante técnicas de simulación por ordenador
Hay dos formas del ciclo de actividades en función del comportamiento de las
entidades:
2. Para cada tipo de entidad, definir las actividades en que intervienen y los
tiempos de duración de las mismas.
3. Definir los ciclos de cada entidad alternando actividades y colas. Los arcos
conectan actividades y colas, y si existe bifurcación de arcos de una misma
entidad, hay que reflejar las condiciones sobre cada arco.
3.2.1. Entidades
Entidades
NOMBRE DESCRIPCIÓN NÚMERO
Kg_SUE Kilogramos de aceituna de suelo 0,..,∞
Kg_API Kilogramos de aceituna de producción integrada 0,..,∞
Kg_VUE Kilogramos de aceituna de vuelo 0,..,∞
Kg_Desechos Kilogramos de desechos producto de la limpieza y el lavado. 0,..,∞
Kg_Alpeorujo Kilogramos de Alpeorujo producto del decanter 0,..,∞
Kg_Alperchin Kilogramos de Alperchin producto de la centrífuga vertical 0,..,∞
3.2.2. Colas
COLAS
Nombre Rango Tipo Clase Entidad
Q_Entrada patio de recepción 0,..,∞ FIFO Normal Kg_SUE
Q_Limpiadora 0,..,∞ FIFO Normal Kg_SUE
Q_Lavadora 0,..,∞ FIFO Normal Kg_SUE
Q_Báscula 0,..,∞ FIFO Normal Kg_SUE
Q_Molino 0,..,∞ FIFO Normal Kg_SUE
Q_Decanter 0,..,∞ FIFO Normal Kg_SUE
Q_Centrífuga Vertical 0,..,∞ FIFO Normal Kg_API
Q_Deshuesado 0,..,∞ FIFO Normal Kg_Alpeorujo
3.2.3. Diagrama
A pesar de que tenemos tres tipos de aceitunas, tan solo hemos realizado el diagrama
del ciclo de actividades para una sola línea, para el resto sería igual.
Análisis del proceso productivo de una almazara mediante técnicas de simulación por ordenador
Análisis del proceso productivo de una almazara mediante técnicas de simulación por ordenador
• Entidades
ENTIDADES
Nombre Descripción Número
Kg_SUE Kg de Aceituna Suelo (Entidades programadas mediante una hoja de Excel) 0,..,∞
Kg_desperdicio Kilogramos de desperdicio producto de la limpadora. 0,..,∞
Kg_desecho Kilogramos de desechos producto de la lavadora. 0,..,∞
• Colas
COLAS
Nombre Rango Tipo Clase Entidad
Bloqueada entrada suelo 0,..,∞ FIFO Normal Kg_SUE
Union desperdicios 0,..,∞ FIFO Normal Kg_desperdicio
Union desecho 0,..,∞ FIFO Normal Kg_desecho
Esperar capacidad almacenamiento 0,..,∞ FIFO Normal Kg_SUE
Descarga T_Suelo 0,..,∞ FIFO Normal Kg_SUE
Linea 1 libre 0,..,∞ FIFO Normal Kg_SUE
Lavadora L1 0,..,∞ FIFO Normal Kg_SUE
Limpiadora L1 0,..,∞ FIFO Normal Kg_SUE
Báscula L1 0,..,∞ FIFO Normal Kg_SUE
Análisis del proceso productivo de una almazara mediante técnicas de simulación por ordenador
• Variables
Variables de Estado
Rango de
Nombre valores Descripción
T_SUE 0,..,∞ Indica el número del tractor que estamos tratando
T KILOS SUE 0,..,∞ Para contabilizar los kilos que vamos tratando
Capac_almac 0,..,∞ Indica la capacidad de almacenamiento
Bloqueo_entr_SUE 0/1 Toma el valor 1 cuando la entrada de esta clase está bloqueada
L1_ocupada 0,..,∞ Representa la ocupación de la línea
Capac_recep 0,..,3000 Cantidad de kilos que pueden entrar en la tolva de recepción
Capac_bascula 0,..,200 Indica la capacidad de la báscula
Desperdicio 1 0,..,∞ Indica la cantidad de kilos que van destinados a desperdicio
Desecho 1 0,..,∞ Indica la cantidad de kilos que son destinados a desecho
Tolva_almac_SUE_L1 0,..,∞ Indica la capacidad de la tolva de almacenamiento
Historial_almac 0,..,∞ Nos sirve para guardar la clase de aceituna que hemos introducido
Bloqueo_M1 0/1 Toma el valor 1 cuando la entrada de esta clase está bloqueada
CUENTA 0,..,∞ Contabiliza las entidades que contiene cada tractor
PRIMERA 0,..,∞ Contabiliza el número de entidades que entran en un día
DESEC 0,..,∞ Número de entidades que llegan como desechos
DESP 0,..,∞ Número de entidades que llegan como desperdicios
SUE_proceso1 0,..,∞ Cantidad de aceitunas que pasan a la batidora
C2b3_SUE 0,..,∞ Cantidad de masa que tenemos en el segundo cuerpo
C1b3_SUE 0,..,∞ Cantidad de masa que tenemos en el primer cuerpo
Segunda_extracción 0/1 Será uno si se le realiza una segunda extracción
Linea1ocupada 0,..,∞ Nos muestra la cantidad de entidades que ocupan la línea 1
Análisis del proceso productivo de una almazara mediante técnicas de simulación por ordenador
La llegada de entidades al modelo se hará por calidades, en nuestro caso como bien
hemos mencionado en capítulos anteriores tenemos tres tipos: Api(API), Vuelo(VUE) y
Suelo(SUE).
Análisis del proceso productivo de una almazara mediante técnicas de simulación por ordenador
El modelado parte de la llegada del agricultor con el fruto de tal forma que
dependiendo de la variedad que lleve hará una cola u otra. Debido a que para nuestra
descripción hemos decidido explicar paso a paso el modelado de la aceituna de suelo, pues
partimos ya de la base de que trataremos con este tipo de calidad.
D elay 1
N umero 0
Llegada Trac tor
Suelo Tractores al As s ign 8 Separate 1
O r iginal
dia
0 Duplicat e
0
ACEITUNA
As ignac ion Suelo Separate 2
O r iginal SUELO
0 Duplicat e
0 Tr ue
Linea 11 libre?
K ilos de
Linea oc upada
entrada
0 False
Linea 1 libre
0 False
SALE PESO 0
Para controlar que en veinticuatro horas tan solo lea una única celda hemos hecho uso
de un “Separate” (además de devolvernos nuestra entidad nos devuelve mediante el duplícate
el atributo “N_Tractores_SUE” dividido en entidades donde cada entidad representaría a un
único tractor) para que nos envíe la entidad original al “Delay 1” cuya función es la de retener
dicha entidad 24h, de tal forma que al pasar este tiempo dicha entidad vuelva a leer en la
primera columna de nuestra Hoja de Excel la siguiente celda.
Para conocer la cantidad de kilos que posee cada entidad (si recordamos, cada entidad
es un tractor) debemos volver a hacer uso de otro “ReadWrite” en este caso volverá a leer el
fichero anterior de Excel donde se especifican la cantidad de kilos que contiene cada tractor.
Esta vez irá leyendo celda a celda de la tercera columna y los irá almacenando en el atributo
“K_SUE”:
Una vez conocida la carga del remolque del tractor, le asignamos el atributo “K_SUE”
que nos indica la calidad que estamos tratando en dicha línea. Debido al volumen de kilos con
los que estamos tratando, hemos decidido condensar los kilos de tal forma que cada entidad
equivalga a 378.79kg (la decisión de hacer separaciones de esta cantidad es para que al llegar a
la báscula una vez que la aceituna ha pasado por la lavadora y la limpiadora estos kilos se
reduzcan a 200kg que es el ritmo al que funciona la báscula) el número de entidades lo
conocemos a través del atributo “E_SUE” ya que su valor es: E_SUE=AINT(K_SUE/378.79).
Por otro lado, debido a que posiblemente nuestras separaciones no serán exactas,
debemos tener un atributo que contenga el valor del resto, para ello usamos el atributo
“ER_SUE” cuyo valor es: ER_SUE= AMOD(K_SUE,378.79).
TRACTORES” una entidad cada vez que entra un tractor nuevo y tan solo con igualar el atributo
a dicha variable lo obtenemos.
Además de estos atributos, añadimos una serie de variables. Por un lado, tenemos
“T_SUE” cuya función es la de conocer el número del tractor del que se trata, por otro lado
tenemos “T KILOS SUE” donde vamos contabilizando los “K_SUE” que estamos tratando.
Una vez llegados a este punto, debemos desagrupar la carga del tractor. Para ello
hacemos uso al igual que anteriormente de un nuevo “Separate” esta vez lo hacemos a través
del atributo “E_SUE” para obtener tantas entidades como indique dicha variable. Debido a que
en este caso tanto la “Duplicate” como la original van a seguir hacia adelante, no nos hace falta
añadir una entidad más para contabilizar la entidad que lleva el valor del resto que nos suele
quedar tras la división anterior.
Nos puede resultar de gran utilidad el conocer la primera entidad de cada día, sobre
todo a la hora de contabilizar los tiempos de procesado. Para ello nos hemos servido de una
variable denominada “Primera” la cual nos va contabilizando el número de entidades que van
entrando a nuestra línea, a través de un Decide podemos conocer la primera entidad ya que
tan solo debemos preguntar si “Primera==1”. En caso afirmativo se le asigna el valor 1 al
atributo “primer”, mientras que en caso negativo se le asigna el valor 0 a dicho atributo.
Análisis del proceso productivo de una almazara mediante técnicas de simulación por ordenador
Debemos contabilizar los kilos que posee cada entidad para ello hemos añadido un
nuevo atributo denominado “Peso” donde se irá reflejando los kilos que contienen cada lote.
Normalmente, contendrán 378.79 kilos excepto el último que contendrá el valor del resto
(ER_SUE).
Hemos creado un decide que nos pregunta por el atributo “E_SUE” de tal forma que si
se cumple la condición de que “E_SUE>=CUENTA” pasa hacia adelante añadiéndole al atributo
“Peso” el valor de 378.79 kilos. Cuando no se cumple dicha condición, se referirá la entidad al
resto para ello el atributo tomará el valor de “ER_SUE”.
Pero puede darse el caso de que el resto sea 0 en tal caso hemos colocado un
“Dispose” para que dicha entidad salga del modelo.
Análisis del proceso productivo de una almazara mediante técnicas de simulación por ordenador
Para poder seguir hacia adelante, debemos preguntar si tenemos la entrada bloqueada
(puede que la tolva de almacenamiento se quede sin capacidad para almacenar aceituna) para
esta calidad para ello usamos la variable “Bloqueo_entr_SUE” si es igual a 1 esperamos en un
“Hold” hasta tener permiso para pasar.
Si continuamos hacia adelante nos encontramos con la parte que hemos denominado
recepción.
Una vez que se ha validado la entrada del tractor, por no estar bloqueada la entrada de
dicha calidad, vamos controlando el vaciado de la tolva de recepción mediante un “Process”
del tipo Seize Delay Release “Descarga T_Suelo” como recurso usa “TolvaRecep”.
Actualizacion Transporte
Limpiadora L1
descarga recep_limp L1
0 0
a) Limpiadora y Lavadora
Una vez que el fruto se encuentra dentro de la línea debemos modelar los procesos de
limpieza y lavado.
Se trata de unos procesos sencillos, para los que se usan módulos básicos “Process”
del tipo Seize Delay Release haciendo uso del correspondiente recurso para cada proceso y con
un tiempo por entidad correspondiente a 0.08 seg.
desperdicio según se trate de la lavadora o la limpiadora. Para ello, hemos puesto un “Assign”
a la salida de cada “Duplicate” y modificando el atributo “Peso” vamos mostrando la cantidad
que nos va quedando, además hemos añadido un nuevo atributo “Linea_desecho” para la
Limpiadora y “Linea_desperdicio” en el caso de la Lavadora.
Estos nuevos atributos los usaremos seguidamente en un “Batch” donde los iremos
agrupándolos para poder contabilizarlos. Como podemos observar seguidamente de los
“Batch” hemos colocado un “Record” de tal forma que podamos recopilar las estadísticas en
este modelo de simulación.
0 0 0 Du p l ic a te
0
0
Siguiendo hacia adelante, nos encontramos con el proceso “Limpiadora L1” que al
igual que el anterior es de tipo estándar pero con la diferencia de que la acción es de tipo
“Seize Delay Release” (Hemos puesto como tipo de Delay constante de valor “0.08*PESO”).
A través del “Separate” por un lado tenemos la entidad correspondiente al fruto que
sigue hacia adelante por la línea, pero a través de un “Assign” se actualiza el atributo peso
“PESO=PESO*0.6” (en el proceso del lavado nuestro nuevo peso es: “PESO=PESO*0.88”).
Además de este “Assign”, hemos puesto dos módulos uno que se trata de un “Batch”
(cuya función es la de ir agrupando las entidades para poder contabilizarlos) y otro que
correspondería a un “Record” que nos ayuda a poder recopilar las estadísticas en este modelo
de simulación.
b) Báscula
Transporte
Bascula L1 Linea disponible
lav _basc L1
0 0
Tiene capacidad la 0 T ru e
A ctualizar 0 T ru e
Transporte tolva de Linea libre? Linea
basc_alm Linea1_S uelo capac tolva Linea libre
almacenamiento? desocupada
almac L1
0
0 F a ls e 0 F a ls e
A ssign 21
Esperar N o bloqueo entr
B loqueo entr capacidad S UE
S UE
almacenamiento
0
P esadas de Hold 20 Molino1
S eparate 3 Union 134 P roceso1 S uelo
Ori g i n a l 134kg
0 Du p l i c a te
0 0
Dicha señal le debe llegar del modelado del funcionamiento del molino.
D elay 2
0 False 0 False
Ac t. Molino1
Para el modelado del molino hemos hecho uso de un nuevo “Create” en el que tan
solo se crea una única entidad. Dicha entidad espera en un “Hold” hasta que se cumplan unas
condiciones establecidas: “Capac_almc>10000 && Molino11==0”. Es decir, la entidad no podrá
pasar hasta que la tolva de almacenamiento contenga una cantidad mayor a 10000 kg y que el
Molino no se encuentre en funcionamiento. Una vez que se cumplan ambas condiciones,
actualizamos la variable “Molino11” al valor uno.
0 T ru e
Tiene capacidad C1B 3? A ctualizar Delay 4 Fin llenado parcial
capacidad C1B 3 C1B3
0 F a ls e
0 A ctualizar
0 T ru e A ssign 75 S eparate 6
Ori g i n a l capacidad C1B3 b
No Lleno C1B3?
0 Du p l i c a t e
A ctualizar
0 Fals e
Capacidad C2B 3
b
0 T ru e
A ctualizar Delay 6 Decide 98 Dispose 14
Capacidad C2B 3
0
0 Fals e
A partir de este momento hay una transición del modelo discreto a un modelo
continuo de tal forma que cuando las entidades entran en la batidora lo hacen de forma
discreta y a la salida tenemos un modelo continuo.
Al llegar una entidad del molino en primer lugar debemos preguntar hacia donde la
debemos dirigir si al primer cuerpo o al segundo cuerpo, para ello preguntamos si
“C1B3_lleno=0” en caso afirmativo debemos preguntar si dicho cuerpo tiene capacidad para
almacenar la cantidad de kilos que contiene. Puede que tenga capacidad para almacenar una
parte.
La duplicada nos servirá para llenar el segundo cuerpo de la Batidora de tal forma que
a la variable “Llenado c2b3” le asignamos la cantidad de masa que no ha podido entrar en el
primer cuerpo de la batidora “c1b3_sue actual+PESO-3000”, actualizamos el nuevo nivel del
segundo cuerpo “C2B3_SUE=llenado c2b3” y aumentamos el “Input Rate” de “C2B3” en 134.
Pasaremos a un Delay donde debemos esperar el tiempo que tarda en pasar la masa
hacia la batidora, es decir “llenado c2b3/134” en minutos y por último debemos preguntar si la
señal de alarma se encuentra activada y si el “Input Rate” de “C1_B3” esta a 0 en tal caso,
nuestra entidad sale del sistema sin más en caso de que no se cumpla nuestra condición
debemos decrementar el valor del “Input Rate” de “C2B3” en 134 y sacamos la entidad de la
simulación a través de un “Dispose”.
tolva almac
Create 5 1hora ALARM espera hasta el
menor134 Bloqueo Moli no1 Ass ign Rat Abrir C2B3
dia siguiente
0
La señal de alarma la debemos modelar de forma discreta tan solo se trata de una
entidad que nos avisa del momento en el que la tolva de almacenamiento se queda vacía.
La hemos modelado de tal forma de que comienza una vez que ha pasado una hora, a
partir de aquí entra en un “Hold” donde espera a que el valor de la tolva de almacenamiento
sea menor a 134 kilos. Para activar una señal “Alarma”, es decir le da el valor uno.
Seguidamente bloqueamos el molino y actualizamos las variable “C2b3” y “C2b3_lleno” a uno.
La principal diferencia con el modelo discreto consiste en que los procesos se modelan
a través del módulo “Detect”, que lanza una entidad cada vez que se detecte que el nivel de un
depósito alcanza un cierto valor llenándose o vaciándose.
El Detect se se nos activa al llegar el nivel del primer cuerpo de la batidora a nivel
máximo permitido, es decir a 3000 de un modo positivo. Cuando esto ocurre debemos
actualizar la variable “C1B3_lleno” a uno e imponer su “Input Rate” a 0.
D etecta 1C de B3 v acio
C1_B3 Volume 0
Cuando el primer cuerpo llega a cero de un modo negativo, es decir, con el “Input
Rate” negativo, se nos activa el “Detect” enviando una entidad al “Assign” actualizándose de
este modo la variable “C1B3_lleno” a cero y los “Input Rate” de “C1_B3” y “C2_B3”
aumentándolo en 67 y disminuyéndolos en 67 unidades respectivamente.
Análisis del proceso productivo de una almazara mediante técnicas de simulación por ordenador
0 T ru e 0 T ru e
Detect A lar Delay 7 D ecide 12 A ssign R ate
B loqueo Molino
menos 67
C2 _ B3 Vo lu m e
0 F a ls e 0 F a ls e
D ispose 6
0
S egundoC uerp1
lleno
Una vez que el segundo cuerpo de la batidora llega a nivel máximo se nos activa este
“Detect”. Dependiendo de si nos ha saltado la señal de alarma o no haremos una cosa distinta.
Para ello mediante un “Decide” preguntamos por el estado de dicha variable. En caso de que
este activada, es decir, que la tolva de almacenamiento no contenga más masa, sale
directamente y no ocurre nada.
A la hora de actualizar los “Input Rate” es distinto si se trata de la primera vez que se
activa nuestra señal. Para ello, tenemos previamente un “Decide” que pregunta por el estado
del depósito de aceite de suelo. En caso de que el volumen se encuentre a cero significará que
es la primera vez que se activa nuestra señal, en tal caso activamos las variables “C2b3” y
“C2B3_lleno” a uno. Los “Input Rate” de “C2_B3” y “D3” los actualizamos disminuyéndolo y
aumentándolo en 67 unidades respectivamente.
En caso de que no sea la primera vez que se nos activa nuestra señal, tan solo tenemos
que activar las variables “C2b3” y “C2B3_lleno” a uno.
Análisis del proceso productivo de una almazara mediante técnicas de simulación por ordenador
0 Fals e
Una vez que el segundo cuerpo de nuestra batidora ha llegado a un nivel de 2000 de
forma negativa, es decir, con una tasa de disminución, se activa el “Detect”. En caso de que
tengamos la variable de “Alarma” activada no ocurre nada.
En cambio, si aún queda fruto por moler actualizamos las variables “C2b3”,
“C2b3_lleno” y “Bloqueo_M1” a cero y enviamos una señal al modelado del molino para que
pueda volver a funcionar.
Este “Detect” se nos activa cuando el segundo cuerpo de la batidora llega a nivel 0.
Ante esta situación, tan solo debemos actualizar nuestras variables y ratios, de tal forma que
damos el valor nulo a la variable “C2b3” y a los “Input Rate” de “D3” y “C2_B3” los
disminuimos y aumentamos en 67 unidades respectivamente.
0 Tr ue
De l a y 5 ACEIT E Y
0 Tr ue 0 De c i d e 1 4 AL PERCHIN1
De te c t De c a n t e r e s ta v a c i o ? Del a y 4 c v e n tra 1 3 .4 Se p a ra te 5
O r gi ni al
D1 Volume
0 Duplci at e 0 Fals e
0 Fals e
Sa l i d a d e l
De s h 1 l i b re p ro c e s o
De s h 1 o c u p a d a AL PEORU1
m e n o s 53 .8
0
Una vez detectado que el volumen del decanter ha llegado a un valor de 67 saltaría
nuestro “Detect”. Si es la primera vez que esto ocurre debemos dejar un minuto para que se
llene, el decanter funciona a un ritmo de 67kg/min pero necesitamos al menos un minuto para
llenarlo. Para ello tan solo preguntamos por el volumen del depósito de aceite.
Análisis del proceso productivo de una almazara mediante técnicas de simulación por ordenador
Siguiendo hacia adelante tenemos un “Assign” donde el “Input Rate” del “D3”
disminuye en 67 unidades (es la tasa de vaciado del Decanter) y aumentamos el “Input Rate”
de la centrífuga vertical (“CV3”) en “67*Porc D3” (Porc D3 tiene un valor de 0.20 ya que tan
solo el 20% de la masa pasa a la centrífuga vertical).
A la salida del decanter tenemos por un lado aceite sucio que es el que destinamos
hacia la centrífuga vertical (es un 20% del total de masa) y alpeorujo (en este caso se trataría
del 80% de la masa) que pasa al deshuesado para seguidamente salir del proceso. Por tanto,
debemos hacer uso de un “Separate” para que cada rama realice una de estas funciones.
Por último, tenemos un “Assign” donde actualizamos los “Input Rate”, por un lado
disminuimos en “67*Porc D3” el de la “CV3” y por otro lado aumentamos los de (Porc D3
tiene un valor de 0.2 que e y aumentamos el valor de los “Input Rate” del Aceite y Alpechín. El
valor del “ACE” lo aumentamos en “67*Porc D3*1.25*0.784” lo hemos multiplicado por 1.25
debido a que a la centrífuga vertical le introducimos un 25% de agua para separar más
fácilmente el aceite, también lo multiplicamos por 0.784 debido a que este es el porcentaje de
aceite que nos sale. El “Alpch” lo aumentamos en “67*Porc D3*1.25*0.216”.
Análisis del proceso productivo de una almazara mediante técnicas de simulación por ordenador
La segunda rama del “Separate” se destina para el deshuesado, de tal forma que
aumentamos el valor del “Input Rate” en “67*0.8” unidades. Seguidamente lo disminuimos, la
tasa de funcionamiento de las “Deshuesadoras” es muy alta, además aumentamos la tasa de
huesos en “67*(1-Porc D3)*Porc H3” el valor de la variable “Porc H3” es de 0.07 ya que este es
el porcentaje de hueso que sale. Por último debemos aumentar la tasa de alpeorujo, es decir
aumentamos el “Input Rate” de “Alp” en “(67*(1-Porc D3)*(1-Porc H3))”.
0 Tr ue
Dec i de 92 D elay 13 ACEITE Y
ALPERCHI3
No e xiste ma sa en decante r
0 False
0
D etect D3 Separate 8
O r iginal
Salida d el
D3 V o l u m e
proc es 3
0 Duplicat e
0
AL PEOR3
En el caso de que se nos active el “Detect” que nos muestra que el Volumen del
depósito del decanter llega a 0 del modo negativo, debemos aumentar el “Input Rate” del
“D3” en 67 unidades y disminuir el “Input Rate” de la centrífuga vertical (“CV3”) en
“67*PorcD3”.
La original seguirá hacia adelante, si el volumen de la “CV3” es mayor que cero debe
esperar hasta que se vacíe, es decir, le damos a nuestro “Delay” un valor de “CV3 Volume/67”.
Siguiendo hacia adelante tenemos un “Assign” donde aumentamos el “Input Rate” de “CV3”
en “67*Porc D3” y disminuimos el valor de los “Input Rate” del Aceite y Alpechín en
“67*Porc_D3*1.25*0.784” y “67*Porc D3*1.25*0.216” respectivamente.
Para nuestra generalización del modelo tan solo vamos a modelar una línea de cada
clase de aceituna, es decir modelaremos tres líneas diferentes. Pues el resto de líneas se
modelarían de igual forma.
El ritmo del decánter viene a ser de 67 kg/min, esta cantidad ha sido la unidad mínima
que hemos usado para el vaciado de la termobatidora. El llenado de dicha termobatidora ha
sido el doble pues el funcionamiento del molino es de 134 kg/min.
La línea de Api esta dimensionada con una maquinaria de mayor capacidad, debido a
que se trata del tipo de aceituna que entra en mayor cantidad.
Análisis del proceso productivo de una almazara mediante técnicas de simulación por ordenador
Esta aceituna viene más limpia pues es recogida directamente del olivo, tan solo se
pierde un 8% de peso como desperdicio y un 2% en el lavado.
La verdad que no es bueno que pase por la lavadora, pues pierde un poco de aceite
pero para el buen funcionamiento de la maquinaria es recomendable ya que las pocas
impurezas que contiene pueden hacer que disminuya el ciclo de vida de cualquiera de ellas.
Debido a que tenemos una maquinaria más potente hemos determinado como unidad
mínima 100 kg/h para la entrada al decanter, el molino tiene capacidad para funcionar a 200
kg/min.
Debido a que nuestra Cooperativa en estudio recibe menos cantidad de esta clase de
aceituna, usa una maquinaria de la misma potencia que suelo. Es decir de menor tamaño que
para Api.
Al igual que la aceituna de Api es más limpia por tanto sus pérdidas son pequeñas,
sería de un 8% en la limpiadora y de un 2% en la lavadora.
Análisis del proceso productivo de una almazara mediante técnicas de simulación por ordenador
Tenemos varias opciones para determinar la cantidad de kilos a la que debe funcionar
correctamente nuestro modelo, podemos tomar una media diaria de cada clase de aceituna en
los meses de plena campaña o tomar para cada clase el día en que la recolección sea mayor.
Siendo coherentes, la Cooperativa debe funcionar perfectamente los días en los que
entre una mayor cantidad de aceituna. Nuestra elección ha sido tomar los días en que entre
una mayor recolección. De esta forma podemos conocer con mayor fiabilidad si hemos
modelado bien el modelo.
Las máximas cantidades de kilos de aceituna que entran los días de mayor recolección
son:
- Suelo 203564 kg
- Api 519480 kg
- Vuelo 168124 kg
Teniendo en cuenta de que tenemos 2 líneas para suelo, 4 para Api y 2 para vuelo, nos
quedarían para nuestras líneas:
- Suelo 101782 kg
- Api 129870 kg
- Vuelo 84062 kg
Estas cantidades de aceituna son las que deberíamos ser capaces de procesar un día,
es decir, en 24h ya que no es bueno dejar almacenada la aceituna y procesarla al día siguiente
debido a que perdería rendimiento.
Variedad (kg)
Total (kg)
Suelo Api Vuelo
Recepción 101782 129870 84062 315714
Desecho 40713 10390 6725 57827
Desperdicios 7328 2390 1547 11265
Huesos 2709 6557 3820 13085
Alpeorujo 35985 87116 50749 173850
Alperchin 4063 6323 5730 16115
Aceite 14747 22950 20797 58493
El tiempo que tarda nuestro proceso en recibir toda la cantidad de aceituna (hasta
dejar el último kg en la tolva de almacenamiento) es de:
- Suelo suponiendo que llegan 50 tractores se emplearían 300 minutos lo cual equivale a
5h.
- Api llegando 79 tractores serían 424 minutos, es decir 7.1h.
- Vuelo suponiendo que tenemos 48 tractores tardaría 324 minutos, equivalente a 5.4h.
Comparando nuestros resultados con los que deberíamos haber obtenido según la
tabla de resultados anterior, tendríamos:
Total Total
Desvío (kg) Desvío (%)
Realidad (kg) Simulación (kg)
Recepción 315714 315714 0 0
Desecho 57827 57826 1 0.00173
Desperdicios 11265 11306 -41 -0.36392
Huesos 13085 13090 -5 -0.03821
Alpeorujo 173850 173921 -71 -0.04084
Alperchin 16115 16111 4 0.02480
Aceite 58493 58479 14 0.02393