/// <summary> /// simulate scheduling and return scheduled scheduledJobs /// </summary> /// <returns></returns> public SimulateResult Simulate() { for (var t = 1; t <= PS.TimeSlots; t++) { // create some scheduledJobs var currentJob = Jobs.Where(j => j.ArrivalTime == t).ToList(); Scheduler.CurrentTime = t; if (currentJob.Count > 0) { Scheduler.AddJobs(currentJob); Scheduler.Schedule(); } } var sechuledJobs = Scheduler.GetScheduledJobs(); return(this.GenerateSimulationResult(sechuledJobs)); }