Ejemplo n.º 1
0
        public void TestPopulationSeeding()
        {
            var fTmp             = Path.GetTempFileName();
            var f                = Path.Combine(Path.GetDirectoryName(fTmp), Path.GetFileNameWithoutExtension(fTmp) + ".csv");
            int numScores        = 5;
            var pSet             = new ParameterSet(new MockTimeModel());
            var expectedMaxBound = 3.0;

            pSet.paramSpec("x").max = expectedMaxBound;
            var pSpaceReference = new MpiSysConfigTIME(pSet);

            IObjectiveScores[] scores = createScores(numScores);
            try
            {
                MetaheuristicsHelper.SaveAsCsv <MpiSysConfig>(scores, f);
                var seeds = GridModelHelper.LoadParameterSets(f, pSpaceReference);
                Assert.AreEqual(numScores, seeds.Length);
                Assert.AreEqual(expectedMaxBound, seeds[0].GetMaxValue("x"));
                Assert.AreEqual(MockTimeModel.getX(4), seeds[4].GetValue("x"), 1e-9);
                Assert.AreEqual(MockTimeModel.getY(3), seeds[3].GetValue("y"), 1e-9);
            }
            finally
            {
                if (File.Exists(f))
                {
                    File.Delete(f);
                }
                if (File.Exists(fTmp))
                {
                    File.Delete(fTmp);
                }
            }
        }
        internal static MpiSysConfig[] LoadParameterSets(FileInfo fileInfo, MpiSysConfigTIME templateParameterSet)
        {
            if (fileInfo == null)
            {
                return(new MpiSysConfig[0]);
            }
            var filename = fileInfo.FullName;

            return(LoadParameterSets(filename, templateParameterSet));
        }
Ejemplo n.º 3
0
            public MpiSysConfig Create(int dim, int value, int min, int max)
            {
                var result = new MpiSysConfigTIME(new ParameterSet(typeof(TestGeometricOperationsTimePset.SimpleHypercubeModel)));

                for (int i = 0; i < result.parameters.Length; i++)
                {
                    result.parameters[i].min = min;
                    result.parameters[i].max = max;
                }
                return(result);
            }
Ejemplo n.º 4
0
        private IObjectiveScores[] createScores(int p)
        {
            var parameterSets = new MpiSysConfig[p];

            for (int i = 0; i < p; i++)
            {
                var m = new MockTimeModel();
                m.x = MockTimeModel.getX(i);
                m.y = MockTimeModel.getY(i);
                parameterSets[i] = new MpiSysConfigTIME(new ParameterSet(m));
            }
            return(InMemoryLoggerTests.CreateTestScores(2, parameterSets));
        }
        internal static MpiSysConfig[] LoadParameterSets(string filename, MpiSysConfigTIME templateParameterSet)
        {
            var ext = Path.GetExtension(filename).ToLower();

            if (ext == ".xml")
            {
                var pSets  = SerializationHelper.XmlDeserialize <ParameterSet[]>(filename, new[] { typeof(ParameterSet) });
                var result = new MpiSysConfig[pSets.Length];
                for (int i = 0; i < result.Length; i++)
                {
                    var p = new MpiSysConfigTIME(templateParameterSet);
                    p.CopyValuesFrom(pSets[i]);
                    result[i] = p;
                }
                return(result);
            }
            else if (ext == ".csv")
            {
                return(MetaheuristicsHelper.ReadConfigsFromCsv(filename, templateParameterSet));
            }
            throw new NotImplementedException();
        }