public static ArrayList makeArrayListOFTimeBetweenArrivalDetermination(ArrayList timeBetweenArrivalFinalArrayList, int [] randomDigitForInterArrivalTimeArray)
        {
            ArrayList timeBetweenArrivalDeterminationArrayList = new ArrayList();

            //changed  1 to 0  and =
            for (int i = 1; i < randomDigitForInterArrivalTimeArray.Length; i++)
            {
                DeterminationForRandomDigitModel determinationForRandomDigitModel = new DeterminationForRandomDigitModel();
                determinationForRandomDigitModel.customer    = i + 1;
                determinationForRandomDigitModel.randomDigit = randomDigitForInterArrivalTimeArray[i - 1];//changed i-1 to i

                foreach (var first in timeBetweenArrivalFinalArrayList)
                {
                    RandomDigitAssignmentModel obj = new RandomDigitAssignmentModel();
                    obj = (RandomDigitAssignmentModel)first;
                    int random       = determinationForRandomDigitModel.randomDigit;
                    int randomStarts = obj.randomDigitAssignmentStarts;
                    int randomEnds   = obj.randomDigitAssignmentEnds;
                    if (randomStarts <= random && random <= randomEnds)
                    {
                        determinationForRandomDigitModel.time = obj.time;
                    }
                }

                timeBetweenArrivalDeterminationArrayList.Add(determinationForRandomDigitModel);
            }


            return(timeBetweenArrivalDeterminationArrayList);
        }
Пример #2
0
        public static ArrayList makeArrayListOFTimeBetweenServiceDetermination(int[] randomDigitForServiceTimeArray, ArrayList serviceTimeFinalArrayList)
        {
            ArrayList serviceTimeDeterminationArrayList = new ArrayList();

            for (int i = 0; i < randomDigitForServiceTimeArray.Length; i++)
            {
                DeterminationForRandomDigitModel determinationForRandomDigitModel = new DeterminationForRandomDigitModel();
                determinationForRandomDigitModel.customer    = i + 1;
                determinationForRandomDigitModel.randomDigit = randomDigitForServiceTimeArray[i];

                foreach (var first in serviceTimeFinalArrayList)
                {
                    RandomDigitAssignmentModel obj = new RandomDigitAssignmentModel();
                    obj = (RandomDigitAssignmentModel)first;
                    int random       = determinationForRandomDigitModel.randomDigit;
                    int randomStarts = obj.randomDigitAssignmentStarts;
                    int randomEnds   = obj.randomDigitAssignmentEnds;
                    if (randomStarts <= random && random <= randomEnds)
                    {
                        determinationForRandomDigitModel.time = obj.time;
                    }
                }

                serviceTimeDeterminationArrayList.Add(determinationForRandomDigitModel);
            }


            return(serviceTimeDeterminationArrayList);
        }
        public static ArrayList makeSimulationTableQueuingSolution(ArrayList timeBetweenArrivalDetermination, ArrayList timeBetweenServiceDetermination, int numberOfCustomer)
        {
            //
            DeterminationForRandomDigitModel sample = new DeterminationForRandomDigitModel();

            sample.customer    = 1;
            sample.randomDigit = 0;
            sample.time        = 0;
            timeBetweenArrivalDetermination.Insert(0, sample);
            //timeBetweenArrivalDetermination.RemoveAt(numberOfCustomer-1);//changed here 10 t0 9


            //



            ArrayList simulationQueueingArrayList = new ArrayList();


            int count = 0;

            //changed here 0 to 1 and =
            for (int i = 0; i < timeBetweenServiceDetermination.Count; i++)
            {
                SimulationTableQueueingModel simulationTableQueueingModel = new SimulationTableQueueingModel();


                //DeterminationForRandomDigitModel serviceModelPrevious = new DeterminationForRandomDigitModel();
                //serviceModelPrevious = (DeterminationForRandomDigitModel)timeBetweenServiceDetermination[i];



                if (simulationQueueingArrayList.Count == 0)
                {
                    DeterminationForRandomDigitModel serviceModelCurrent = new DeterminationForRandomDigitModel();
                    serviceModelCurrent = (DeterminationForRandomDigitModel)timeBetweenServiceDetermination[i];


                    simulationTableQueueingModel.customer                   = i + 1;
                    simulationTableQueueingModel.timeBetweenArrival         = 0;
                    simulationTableQueueingModel.arrivalTime                = 0;
                    simulationTableQueueingModel.serviceTime                = serviceModelCurrent.time;
                    simulationTableQueueingModel.serviceTimeBegins          = 0;
                    simulationTableQueueingModel.timeCustomerWaitsInQueue   = 0;
                    simulationTableQueueingModel.serviceTimeEnds            = simulationTableQueueingModel.arrivalTime + simulationTableQueueingModel.serviceTime;
                    simulationTableQueueingModel.timeCustomerSpendsInSystem = simulationTableQueueingModel.serviceTime + simulationTableQueueingModel.timeCustomerWaitsInQueue;
                    simulationTableQueueingModel.idleTimeOfServer           = 0;
                }
                else
                {
                    SimulationTableQueueingModel simulationQueuingPrevious = new SimulationTableQueueingModel();
                    simulationQueuingPrevious = (SimulationTableQueueingModel)simulationQueueingArrayList[i - 1];//changed i-1 to i-2

                    DeterminationForRandomDigitModel serviceModelCurrent = new DeterminationForRandomDigitModel();
                    serviceModelCurrent = (DeterminationForRandomDigitModel)timeBetweenServiceDetermination[i];//changed i to i-1



//                    DeterminationForRandomDigitModel arrivalModelPrevious = new DeterminationForRandomDigitModel();
//                  arrivalModelPrevious = (DeterminationForRandomDigitModel)timeBetweenServiceDetermination[i - 1];

                    DeterminationForRandomDigitModel arrivalModelCurrent = new DeterminationForRandomDigitModel();
                    arrivalModelCurrent = (DeterminationForRandomDigitModel)timeBetweenArrivalDetermination[i]; //changed i to i-2  ***

                    simulationTableQueueingModel.customer           = i + 1;
                    simulationTableQueueingModel.timeBetweenArrival = arrivalModelCurrent.time;

                    //
                    simulationTableQueueingModel.arrivalTime = arrivalModelCurrent.time + simulationQueuingPrevious.arrivalTime;// obj.arrivalTime + serviceModel.time;
                    //



                    simulationTableQueueingModel.serviceTime = serviceModelCurrent.time;

                    //
                    if (simulationQueuingPrevious.serviceTimeEnds < simulationTableQueueingModel.arrivalTime)
                    {
                        simulationTableQueueingModel.serviceTimeBegins = simulationTableQueueingModel.arrivalTime;
                    }
                    else
                    {
                        simulationTableQueueingModel.serviceTimeBegins = simulationQueuingPrevious.serviceTimeEnds;
                    }
                    //


                    //
                    simulationTableQueueingModel.timeCustomerWaitsInQueue = simulationTableQueueingModel.serviceTimeBegins - simulationTableQueueingModel.arrivalTime;
                    //



                    //
                    simulationTableQueueingModel.serviceTimeEnds = simulationTableQueueingModel.serviceTimeBegins + simulationTableQueueingModel.serviceTime;
                    //

                    simulationTableQueueingModel.timeCustomerSpendsInSystem = simulationTableQueueingModel.serviceTime + simulationTableQueueingModel.timeCustomerWaitsInQueue;


                    simulationTableQueueingModel.idleTimeOfServer = simulationTableQueueingModel.arrivalTime - simulationQueuingPrevious.serviceTimeEnds;
                    if (simulationTableQueueingModel.idleTimeOfServer < 0)
                    {
                        simulationTableQueueingModel.idleTimeOfServer = 0;
                    }
                }
                simulationQueueingArrayList.Add(simulationTableQueueingModel);
            }
            return(simulationQueueingArrayList);
        }