Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Reporte de resultados
Elaborado por:
Universidad EIA
Octubre 1 de 2017
Envigado
Introduccin
El presente texto pretende dar cuenta de los resultados obtenidos en el desarrollo de la actividad
relacionada con la dinmica de sistemas y cmo estos se comportan al cambiar su caracterstica
de determinsticos a estocsticos. Dicho anlisis se efectu con la ayuda del software de
programacin MatLab y de Microsoft Excel para as poder observar las conductas fcilmente
adems de reforzar los conocimientos en programacin adquiridos en semestres anteriores.
Sistema analizado
t= tiempo actual
t-1= tiempo anterior
Variables de estado
Flujos
Entrada
Produccin= Mano de obra(t)*Productividad(t)
Contratacin de personal= (Mano de obra requerida-Mano de obra)/Tiempo ajuste mano de
obra.
Salida
Ventas= Dependiendo del ejercicio se toma como una constante o como una Normal (100,20).
Retiro de personal= (Mano de obra- Mano de obra requerida)/Tiempo de ajuste mano de obra.
Variables Auxiliares
Cobertura de inventario=3
Inventario mnimo= Ventas*Cobertura de inventario
Tiempo ajuste de inventario=2
Tiempo ajuste Mano de obra=3
Ajuste de inventario= (Inventario mnimo- Inventario)/Tiempo ajuste de inventario
Objetivo de produccin= Ventas + Ajuste de inventario
Productividad= dependiendo del modelo puede ser 1 o una normal (1,0.1)
Mano de obra requerida= Objetivo de produccin/ Productividad
Desarrollo
2. Verificacin
Se comprueba que los resultados obtenidos en el modelo de Excel sean iguales a los exhibidos
en el I-think.
3. Programacin
Por medio de las relaciones (Ecuaciones) previamente definidas entre las variables y el valor
inicial correspondiente a cada una en el programa i-Think, se pudo modelar el sistema con la
herramienta Excel, para garantizar el funcionamiento de dicho modelo se hizo lo siguiente:
1. Se inicializan las variables con sus respectivos valores iniciales en el primer mes.
2. Desde el segundo mes se relacionaron las variables con las ecuaciones
correspondientes.
3. En el mes 20 se aument la energa del sistema, aumentando la variable de ventas que
vena constante desde el mes 1 con un valor de 100 a 150.
4. Durante la ejecucin del modelo se evidencia su comportamiento oscilatorio hasta
llegar a un nuevo equilibro que empieza, ms o menos desde el mes 65 Ver Figura 1
Anexos.
5. Se corri el programa en i-Think, teniendo en cuenta las mismas consideraciones que
se tuvieron en los pasos 1, 2 y 3.
6. Se evidenci el mismo comportamiento mencionado en el punto 4 y adems se compar
mes a mes los resultados y eran exactamente los mismos.
Comportamiento Estocstico
3. Programacin
Por otro lado entre Mano de Obra Contratada y Retiro de Personal, existe un Lag a pesar que
la relacin es directamente proporcional, esto debido al retardo de Tiempo de Ajusto de Mano
de Obra (TAMO) de 3 meses, lo cual muestra que la simulacin tiene un comportamiento
concordante al esperado. De la misma forma se esperara que cualquier cambio en el Inventario
est dado por el Ajuste de inventario, pero dado el retardo de Tiempo de Ajuste de Inventario
(TAI), este se da 2 instantes de tiempo despus (2 meses), por lo que no corresponde a una
condicin de indirecta relacin como se puede inferir en la imagen.
Objetivo
Ajuste Contratacion Inventario MO Retiro de
Inventario MO de Produccin Ventas
Inventario de Personal Minimo Requerida Personal
Produccin
Ajuste 0.6568 -0.7101 0.7109 0.2587 0.9503 0.9704 -0.2266 -0.6312 0.7120
Inventario 0.0000 0.0000 0.0000 0.0094 0.0000 0.0000 0.0234 0.0000 0.0000
Contratacion 0.6568 -0.2906 0.6424 -0.2441 0.7419 0.6971 -0.1124 -0.3540 0.6451
de Personal 0.0000 0.0034 0.0000 0.0144 0.0000 0.0000 0.2653 0.0003 0.0000
-0.7101 -0.2906 -0.0097 -0.3361 -0.4999 -0.5194 0.2432 0.2294 -0.0114
Inventario
0.0000 0.0034 0.9235 0.0006 0.0000 0.0000 0.0148 0.0217 0.9101
Inventario 0.7109 0.6424 -0.0097 0.0324 0.8502 0.8595 -0.0804 -0.6667 0.9999
Minimo 0.0000 0.0000 0.9235 0.7490 0.0000 0.0000 0.4266 0.0000 0.0000
0.2587 -0.2441 -0.3361 0.0324 0.1579 0.2015 -0.2135 0.3023 0.0353
MO
0.0094 0.0144 0.0006 0.7490 0.1166 0.0444 0.0329 0.0022 0.7276
0.9503 0.7419 -0.4999 0.8502 0.1579 0.9820 -0.2055 -0.7041 0.8511
MORequerida
0.0000 0.0000 0.0000 0.0000 0.1166 0.0000 0.0403 0.0000 0.0000
Objetivo de 0.9704 0.6971 -0.5194 0.8595 0.2015 0.9820 -0.1927 -0.6858 0.8603
Produccin 0.0000 0.0000 0.0000 0.0000 0.0444 0.0000 0.0547 0.0000 0.0000
-0.2266 -0.1124 0.2432 -0.0804 -0.2135 -0.2055 -0.1927 0.0385 -0.0807
Produccin
0.0234 0.2653 0.0148 0.4266 0.0329 0.0403 0.0547 0.7040 0.4250
Retiro de -0.6312 -0.3540 0.2294 -0.6667 0.3023 -0.7041 -0.6858 0.0385 -0.6631
Personal 0.0000 0.0003 0.0217 0.0000 0.0022 0.0000 0.0000 0.7040 0.0000
0.7120 0.6451 -0.0114 0.9999 0.0353 0.8511 0.8603 -0.0807 -0.6631
Ventas
0.0000 0.0000 0.9101 0.0000 0.7276 0.0000 0.0000 0.4250 0.0000
Adems se verifico que la variable productividad pueda ser modelada por un sistema
autorregresivo de n valores anteriores o de medias mviles con m valores de errores anteriores,
para armar un modelo ARMA con n y m valores respectivos. Estos valores n y m se determinan
segn el diagrama de autocorrelacin y diagrama de autocorrelacin parcial, los cuales se
presentan en las Ilustracin 11. Diagrama de Autocorrelacin para la variable Produccin.
Ilustracin 12. Diagrama de Autocorrelacin Parcial para la variable Produccin. los cuales
indican que para predecir los valores futuros en un modelo autorregresivo los valores 2 y 3
pasos atrs tienen una correlacin positiva y los valores 5, 6 y 7 presentan correlacin negativa,
lo cual indica que la serie de datos de Produccin no tiene correlacin fija con valores futuros
(en relacin directa o indirectamente proporcional y en peso representativo).
Por otro lado el diagrama de autocorrelacin parcial indica que la representatividad de los datos
pasados cercanos para un modelo de medias mviles no tiene relacin directa con un valor
futuro, por lo que adems se concluye que un modelo ARMA no tendra validez (esto se podra
deducir del hecho que la simulacin est siendo afectada por una aleatoriedad en 2 variables,
pero se pretenda verificar que los posibles ciclos de oscilacin tengan alguna relacin propia
por la dinmica del sistema).
Ilustracin 11. Diagrama de Autocorrelacin para la variable Produccin.
Posteriormente para cada variable determinada dentro del sistema dinmico se realiz un
resumen estadstico y un diagrama de cajas (bigotes) los cuales dan cuenta de la variacin de
los valores a lo largo de la simulacin de cada variable.
Por ltimo se realiz unas pruebas de bondad y ajuste a la variable Produccin tratando de
identificar que funcin de distribucin de probabilidad se ajusta mejor a la serie de datos
arrojados por la simulacin para la variable anteriormente mostrada. El resultado arrojado fue
que no solo la distribucin normal no es capaz con un nivel de 95% de confianza ajustarse a
los datos, sino que ni la funcin exponencial ni la chi-cuadrada son capaces con el mismo nivel
de confianza ajustarse a los datos. Esto resultado 3 pruebas, Chi-Cuadrada, Smirnov-
Kolmogorov y Anderson Darling.
De forma grfica se puede ver en la Ilustracin 13. Funciones de distribucin Vs Histograma
de Produccin. que ninguna distribucin es capaz de ajustarse, principalmente por el gran pico
de datos cerca a la media (100 unidades) y datos dispersos alejados con frecuencia
representativa.
Ilustracin 13. Funciones de distribucin Vs Histograma de Produccin.
Conclusiones
- Se pueden encontrar diferencias entre los resultados obtenidos en Excel y los obtenidos
en I-think pero dichas diferencias no son relevantes, se obtienen por factores de forma
y no de fondo, es decir, dependen mayormente de los detalles que usa cada programa
para operar como lo puede ser el uso de decimales.
cobertura_inv = 3;
ventas_ini(1) = 100;
inven_min(1)= cobertura_inv* ventas_ini(1);
inventario(1) = 300;
TAI = 2;
Ajust_inv(1) = (inventario(1) - inven_min(1))/ TAI;
Objetivo_produc(1) = ventas_ini(1) + Ajust_inv(1);
Productividad = 1;
MOrequerida(1) = Objetivo_produc(1) / Productividad;
MO(1) = MOrequerida(1);
TAMO = 3;
Reti_Perso(1) = (MO(1)-MOrequerida(1)) / TAMO;
Contra_Perso(1) = (MOrequerida(1)-MO(1)) / TAMO;
Produccion(1)=Productividad*MO(1);
for i=2:100
if i<20
ventas_ini(i) = 100;
inven_min(i)= cobertura_inv* ventas_ini(i);
inventario(i) = inventario(i-1)-ventas_ini(i-1)+Produccion(i-1);
Ajust_inv(i) = (inven_min(i)-inventario(i))/ TAI;
Objetivo_produc(i) = ventas_ini(i) + Ajust_inv(i);
MOrequerida(i) = Objetivo_produc(i) / Productividad;
MO(i) = MO(i-1)+Contra_Perso(i-1)-Reti_Perso(i-1);
if ((MO(i)-MOrequerida(i))/TAMO)<0
Reti_Perso(i)=0;
else
Reti_Perso(i)=((MO(i)-MOrequerida(i))/TAMO);
end
if ((MOrequerida(i)-MO(i))/TAMO)>0
Contra_Perso(i)=((MOrequerida(i)-MO(i))/TAMO);
else
Contra_Perso(i)=0;
end
Produccion(i)=MO(i)*Productividad;
else
ventas_ini(i) = 150;
inven_min(i)= cobertura_inv* ventas_ini(i);
inventario(i) = inventario(i-1)-ventas_ini(i-1)+Produccion(i-1);
Ajust_inv(i) = (inven_min(i)-inventario(i))/ TAI;
Objetivo_produc(i) = ventas_ini(i) + Ajust_inv(i);
MOrequerida(i) = Objetivo_produc(i) / Productividad;
MO(i) = MO(i-1)+Contra_Perso(i-1)-Reti_Perso(i-1);
if ((MO(i)-MOrequerida(i))/TAMO)<0
Reti_Perso(i)=0;
else
Reti_Perso(i)=((MO(i)-MOrequerida(i))/TAMO);
end
if ((MOrequerida(i)-MO(i))/TAMO)>0
Contra_Perso(i)=((MOrequerida(i)-MO(i))/TAMO);
else
Contra_Perso(i)=0;
end
Produccion(i)=MO(i)*Productividad;
end
end
subplot(2,1,2), plot(MOrequerida(:));
title ('Mano de obra Requerida');
ylabel('# de trabajadores requeridos');
xlabel('Mes');
subplot(2,1,2), plot(Contra_Perso(:));
title ('Mano de obra contratada');
ylabel('# de trabajadores contratados');
xlabel('Mes');
subplot(1,1,1), plot(ventas_ini(:));
title ('Ventas');
ylabel('# unidades vendidas');
xlabel('Mes');
subplot(2,1,2), plot(Ajust_inv(:));
title ('Ajuste de inventario');
ylabel('# unidades para ajuste');
xlabel('Mes');
figure(5); close 5; figure(5);
%Inventario Mnimo y Objetivo de Produccin
subplot(2,1,1), plot(inven_min(:));
title ('Inventario Mnimo');
ylabel('# de unidades mnimas en stock');
xlabel('Mes');
subplot(2,1,2), plot(Objetivo_produc(:));
title ('Objetivo de Produccin');
ylabel('# unidades para cumplir objetivo de produccin');
xlabel('Mes');
Anexo 2. Cdigo Simulacin Estocstica.
cobertura_inv = 3;
ventas_ini(1) = 100;
inven_min(1)= cobertura_inv* ventas_ini(1);
inventario(1) = 300;
TAI = 2;
Ajust_inv(1) = (inventario(1) - inven_min(1))/ TAI;
Objetivo_produc(1) = ventas_ini(1) + Ajust_inv(1);
Productividad(1) = 1;
MOrequerida(1) = Objetivo_produc(1) / Productividad(1);
MO(1) = MOrequerida(1);
TAMO = 3;
Reti_Perso(1) = (MO(1)-MOrequerida(1)) / TAMO;
Contra_Perso(1) = (MOrequerida(1)-MO(1)) / TAMO;
Produccion(1)=Productividad(1)*MO(1);
for i=2:100
if i<20
Productividad(i)=1;
ventas_ini(i) = 100;
inven_min(i)= cobertura_inv* ventas_ini(i);
inventario(i) = inventario(i-1)-ventas_ini(i-1)+Produccion(i-1);
Ajust_inv(i) = (inven_min(i)-inventario(i))/ TAI;
Objetivo_produc(i) = ventas_ini(i) + Ajust_inv(i);
MOrequerida(i) = Objetivo_produc(i) / Productividad(i);
MO(i) = MO(i-1)+Contra_Perso(i-1)-Reti_Perso(i-1);
if ((MO(i)-MOrequerida(i))/TAMO)<0
Reti_Perso(i)=0;
else
Reti_Perso(i)=((MO(i)-MOrequerida(i))/TAMO);
end
if ((MOrequerida(i)-MO(i))/TAMO)>0
Contra_Perso(i)=((MOrequerida(i)-MO(i))/TAMO);
else
Contra_Perso(i)=0;
end
Produccion(i)=MO(i)*Productividad(i);
else
mupro=1;
sigmapro=0.1;
pd1=makedist('Normal',mupro,sigmapro);
muventa=100;
sigmaventa=20;
pd2=makedist('Normal',muventa,sigmaventa);
Productividad(i) = random(pd1);
ventas_ini(i) = random(pd2);
inven_min(i)= cobertura_inv* ventas_ini(i);
inventario(i) = inventario(i-1)-ventas_ini(i-1)+Produccion(i-1);
Ajust_inv(i) = (inven_min(i)-inventario(i))/ TAI;
Objetivo_produc(i) = ventas_ini(i) + Ajust_inv(i);
MOrequerida(i) = Objetivo_produc(i) / Productividad(i);
MO(i) = MO(i-1)+Contra_Perso(i-1)-Reti_Perso(i-1);
if ((MO(i)-MOrequerida(i))/TAMO)<0
Reti_Perso(i)=0;
else
Reti_Perso(i)=((MO(i)-MOrequerida(i))/TAMO);
end
if ((MOrequerida(i)-MO(i))/TAMO)>0
Contra_Perso(i)=((MOrequerida(i)-MO(i))/TAMO);
else
Contra_Perso(i)=0;
end
Produccion(i)=MO(i)*Productividad(i);
end
end
subplot(2,1,2), plot(MOrequerida(:));
title ('Mano de obra Requerida');
ylabel('# de trabajadores requeridos');
xlabel('Mes');
subplot(2,1,2), plot(Contra_Perso(:));
title ('Mano de obra contratada');
ylabel('# de trabajadores contratados');
xlabel('Mes');
subplot(2,1,2), plot(ventas_ini(:));
title ('Ventas');
ylabel('# unidades vendidas');
xlabel('Mes');
subplot(2,1,2), plot(Ajust_inv(:));
title ('Ajuste de inventario');
ylabel('# unidades para ajuste');
xlabel('Mes');
subplot(2,1,2), plot(Objetivo_produc(:));
title ('Objetivo de Produccin');
ylabel('# unidades para cumplir objetivo de produccin');
xlabel('Mes');