Example #1
0
 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);
        }
Example #4
0
        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));
        }
Example #6
0
        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;
        }
Example #7
0
            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;
 }