protected void BuildEvaluator() { MapBuilder mapBuilder = new MapBuilder(_building.ToDataModel()); Simulator sim = new Simulator(); sim.MaximumTicks = _building.GetFloorCount() * 2; sim.SetupSimulator(mapBuilder.BuildBuildingMap(), mapBuilder.BuildPeopleMap()); _evaluator = new EvaCalcEvaluator(sim, _building, true); }
public Hauptansicht() { InitializeComponent(); schnittstelle = startSimulator(); warnings = new List<Warning>(); refreshIntervall.Start(); refreshShowerlist(); }
public Genetics.Generic.ITransformer<List<bool>> BuildTransformer(BuildingEditor.ViewModel.Building building) { MapBuilder mapBuilder = new MapBuilder(building.ToDataModel()); Simulator sim = new Simulator(); sim.MaximumTicks = building.GetFloorCount() * 2; sim.SetupSimulator(mapBuilder.BuildBuildingMap(), mapBuilder.BuildPeopleMap()); EvaCalcEvaluator evaluator = new EvaCalcEvaluator(sim, new Building(building)); return new LocalOptimization(building, evaluator); }
static void RunOneSimulation(String path, string schedulerName) { var ps = new ProblemSetting(); var jobs = new List<Job>(); FileUtil.ReadData(path, ref ps, ref jobs); IScheduler scheduler = SchedulerFactory.GetScheduler(schedulerName, ps); var simulator = new Simulator(scheduler, ps, jobs); var simulationresult = simulator.Simulate(); Console.WriteLine(simulationresult); }
public void TestWarnings() { Hauptansicht appObject = new Hauptansicht(); Simulator simulator = new Simulator(); List<Notfalldusche> showers = simulator.getAllShowers(); Notfalldusche shower1 = showers[0]; Notfalldusche shower2 = showers[1]; Warning expectedWarning = new Warning(shower1, Warning.Type.Flowrate); appObject.addWarning(new Warning(shower1, Warning.Type.Flowrate)); // Test ob hasWarnings korrekt prüft ob eine Dusche bereits gewarnt hat // Gleiche Dusche Assert.AreEqual(true, appObject.hasWarnings(shower1)); // Andere Dusche Assert.AreEqual(false, appObject.hasWarnings(shower2)); }
private void Setup() { _building.ShortGenotype = _geneticsConfiguration.ShortGenotype; _building.ApplySimpleEvacuationIfShortGenotype(); MapBuilder mapBuilder = new MapBuilder(_building.ToDataModel()); Simulator sim = new Simulator(); sim.MaximumTicks = _building.GetFloorCount() * 2; sim.SetupSimulator(mapBuilder.BuildBuildingMap(), mapBuilder.BuildPeopleMap()); EvaCalcEvaluator evaluator = new EvaCalcEvaluator(sim, new Building(_building)); BinaryChromosome.CrossoverOperator = _geneticsConfiguration.CrossoverOperator; BinaryChromosome.MutationOperator = _geneticsConfiguration.MutationOperator; BinaryChromosome.Transformer = _geneticsConfiguration.Transformer; BinaryChromosome.Repairer = new AdvancedRepairer(new Building(_building)); BinaryChromosome.Evaluator = evaluator; GeneticAlgorithm = new GeneticAlgorithm(new BinaryChromosomeFactory(_building.GetFloorCount() * 2), _geneticsConfiguration.InitialPopulationSize); if (_geneticsConfiguration.MaxIterationsWithoutImprovement > 0) GeneticAlgorithm.EnableBestChromosomeBasedStopCondition(_geneticsConfiguration.MaxIterationsWithoutImprovement); GeneticAlgorithm.Selector = _geneticsConfiguration.Selector; GeneticAlgorithm.MaxIterations = _geneticsConfiguration.MaxIterations; GeneticAlgorithm.CrossoverProbability = _geneticsConfiguration.CrossoverProbability; GeneticAlgorithm.ReportStatus += CollectAlgorithmStatus; }
public EvaCalcEvaluator GetEvaluator() { MapBuilder mapBuilder = new MapBuilder(building.ToDataModel()); Simulator sim = new Simulator(); sim.MaximumTicks = building.GetFloorCount() * 2; sim.SetupSimulator(mapBuilder.BuildBuildingMap(), mapBuilder.BuildPeopleMap()); return new EvaCalcEvaluator(sim, new Building(building)); }
/// <summary> /// Hier wird die Simulator-Schnittstelle initialiisiert und angezeigt. /// </summary> /// <returns>Schnittstellen-Referenz</returns> public Simulator startSimulator() { Simulator simulator = new Simulator(); simulator.Show(); return simulator; }