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); }
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); }