public VaccinationSimulation(MonteCarloSettings monteCarloSettings, EventSimulationSettings eventSimulationSettings, VaccinationSettings vaccinationSettings) : base(monteCarloSettings, eventSimulationSettings) { VaccinSettings = vaccinationSettings; _afterEventObservables = new SimulationObservable <AfterEventValues>(); _afterReplicationObservables = new SimulationObservable <AfterReplicationValues>(); _experimentObservables = new SimulationObservable <DoctorsExperimentValues>(); ExaminationGen = new ExponentialGenerator(1d / 260); VaccinationGen = new TriangularGenerator(20, 100, 75); RegistrationGen = new UniformGenerator(140, 220); WaitingGen = new Random(); PatientsGen = new Random(); ArrivalGen = new Random(); if (VaccinSettings.DoctorsExperimentEnabled) { MCSettings.Replications = (VaccinSettings.DoctorsMax - VaccinSettings.DoctorsMin + 1) * VaccinSettings.ExperimentReplications; _currentDoctorsCount = VaccinSettings.DoctorsMin; } Init(); }
public VaccineSimulationService() { MCSettings = new MonteCarloSettings { Replications = 100 }; ESSettings = new EventSimulationSettings { SimulationTime = 60 * 60 * 9 }; VacSettings = new VaccinationSettings { RegistrationWorkers = 5, ExaminationWorkers = 6, VaccinationWorkers = 3, Patients = 540, NotCommingLowerBoundry = 5, NotCommingHigherBoundry = 25 }; _simulation = new VaccinationSimulation(MCSettings, ESSettings, VacSettings); }