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)); }
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); }
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(); }