11
SIMULACIÓN DE UN SISTEMA DE INVENTARIOS SOSA MEJIA ANEL VERONICA 15 DE DICIEMBRE DE 2016 ITSP ENRIQUE PONCE RIVERA

Simulador de sistema de inventario

Embed Size (px)

Citation preview

Page 1: Simulador de sistema de inventario

SIMULACIÓN DE UN SISTEMA DE INVENTARIOS

SOSA MEJIA ANEL VERONICA

15 DE DICIEMBRE DE 2016 ITSP

ENRIQUE PONCE RIVERA

Page 2: Simulador de sistema de inventario

import java.util.Scanner;

public class proyecto{

public static void main(String[]args)

{

Scanner br=new Scanner(System.in);

int demanda[]=new int[20];

double ProDemanda[]=new double [9];

double ProEntrega[]=new double[4];

double RDemanda[]=new double[9];

double RTiempo[]=new double[4];

{System.out.println("Escribe la probabilidad: ");

for(int i=0;i<ProDemanda.length;i++)

ProDemanda[i]=Double.parseDouble(br.nextLine());}

System.out.println();

System.out.println("Tiempo: ");

System.out.println("Escribe la probabilidad: ");

for(int c=0;c<ProEntrega.length;c++)

{

double prob=Double.parseDouble(br.nextLine());

ProEntrega[c]=prob;

}

Page 3: Simulador de sistema de inventario

System.out.println("Demanda"+"\t"+"\t"+"Probabilidad");

for(int x=0;x<ProDemanda.length;x++)

{System.out.println(x+"\t"+"\t"+ProDemanda[x]);}

System.out.println();

System.out.println();

System.out.println("Tiempo"+"\t"+"\t"+"Probabilidad");

for(int x1=0;x1<ProEntrega.length;x1++)

{System.out.println(x1+1+"\t"+"\t"+ProEntrega[x1]);}

System.out.println("Días a Simular: ");

int dias=br.nextInt();

System.out.println("Inventario Inicial : ");

int InvInicial=br.nextInt();

System.out.println("Punto de Reorden: ");

double PR=br.nextDouble();

System.out.println("Cantidad a Ordenar: ");

int Co=br.nextInt();

for(int i=0; i<RDemanda.length; i++)

{

Page 4: Simulador de sistema de inventario

if(i==0)

RDemanda[0]=0;

else{

RDemanda[i]=RDemanda[i-1]+ProDemanda[i-1];

}

}

for (int i = 0; i < RTiempo.length; i++) {

if(i==0)

RTiempo[0]=0;

else{

RTiempo[i]=RTiempo[i-1]+ProEntrega[i-1];

}

}

double a=5,c=7,x1=10;

int m=32;

double nl[]=new double [dias];

double xn1;

double div;

boolean si=false;

int Sumador=0;

int Sumador2=0;

System.out.println(" ");

Page 5: Simulador de sistema de inventario

System.out.println("Día"+"\t"+"Aleatorio"+"\t"+"Demanda"+"\t"+"\t"+"Inv.I"+"\t"+"\t"+"I

nv.F"+"\t"+

"\t"+"Faltate"+"\t"+"\t"+"Orden"+"\t"+"\t"+"Aleatorios"+"\t"+"Dias.Entr."+"\t"+"Llegada"

);

for(int x=0;x<dias;x++){

xn1=((a*x1)+c )% m ;

div=xn1/m;

nl[x]=div;

x1=xn1;

for(int i=0;i<x;i++){

if(xn1==nl[i]){si=true;}

}if(si==true)break;

}

double a2=3,c2=6,x2=10;

int m2=32;

double nl2[]=new double [ dias];

double xn2;

double div2;

boolean si2=false;

Page 6: Simulador de sistema de inventario

for(int p=0;p<dias;p++){

xn2=((a2*x2)+c2 )% m2 ;

div2=xn2/m2;

nl2[p]=div2;

x2=xn2;

for(int i=0;i<p;i++){

if(xn2==nl2[i]){si2=true;}

}if(si2==true)break;

}

for(int g=0;g<dias;g++)

{

for(int i=0; i<RDemanda.length-1;i++)

{

if(RDemanda[i]<nl[g] & nl[g]<RDemanda[i+1])

{

demanda[g]=i;

break;

}

}

}

int Tiemp[]=new int[20];

Page 7: Simulador de sistema de inventario

for(int g=0;g<dias;g++)

{

for(int i=0; i<RTiempo.length-1;i++)

{

if(RTiempo[i]<nl2[g] & nl2[g]<RTiempo[i+1])

{

Tiemp[g]=i+1;

break;

}

}

}

int InFinal=0;

int Falt=0;

boolean bandera=false;

int auxTiempo=0;

int cont=0;

String Orden="n";

int Sum=0;

int contador=0;

for(int d=0;d<dias;d++)

{

}

Page 8: Simulador de sistema de inventario

int valorDia=0;

for(int z=0;z<dias;z++)

{

InFinal=InvInicial-demanda[z];

if(InFinal<=PR){

if(bandera!=true)

{

bandera=true;

auxTiempo=Tiemp[cont];

Orden="S"+"\t"+"\t"+nl2[auxTiempo-

1]+"\t"+"\t"+auxTiempo+"\t"+"\t"+Co;

cont++;

valorDia=z+auxTiempo;

contador++;

}

else

Orden="N";

}

if(valorDia==z&bandera==true)

{

InvInicial=InvInicial+Co;

Page 9: Simulador de sistema de inventario

InFinal=InvInicial-demanda[z];

bandera=false;

}

if(InFinal<=0)

{

Falt=-1*InFinal;

InFinal=0;

Sumador2=Falt+Sumador2;

}

if(InFinal>0)

{

Falt=0;

}

if(InFinal<=PR){

if(bandera!=true)

{

bandera=true;

auxTiempo=Tiemp[cont];

Orden="S"+"\t"+"\t"+nl2[auxTiempo-

1]+"\t"+"\t"+auxTiempo+"\t"+"\t"+Co;

cont++;

contador++;

valorDia=z+auxTiempo;

}

}

Page 10: Simulador de sistema de inventario

Sumador=InFinal+Sumador;

System.out.println(z+1+"\t"+nl[z]+"\t"+"\t"+demanda[z]+"\t"+"\t"+InvInicial+"\t"+"\t"+InF

inal+"\t"+"\t"+Falt+"\t"+"\t"+Orden);

InvInicial=InFinal;

Orden="N";

}

double Sumademanda=0;

for(int e=0;e<dias;e++)

{

Sumademanda=Sumademanda+demanda[e]/(double)dias;

}

double Total=(double)Sumador/(double)dias;

int Total2=Sumador2;

System.out.println();

System.out.println("Promedio Demanda="+Sumademanda+"\t"+"Promedio Inv.Final:

"+Total+"\t"+"\t"+"TotaL Faltantes: "+Sumador2+"\t"+"\t"+"Total a Ordenar: "+cont);

}}

Page 11: Simulador de sistema de inventario