示例#1
0
        public void GetParameterGridTest()
        {
            var parameters = new List <OptimizeParameter>
            {
                new OptimizeParameter("First Parameter", 1, 10, 1),
                new OptimizeParameter("Second Parameter", -10, 100, 100),
                new OptimizeParameter("Third Parameter", 0, 10, 0.1),
                new OptimizeParameter("Fourth Parameter", "Test")
            };

            int totalParametersGridNumber = 0;

            foreach (var parameter in parameters)
            {
                if (totalParametersGridNumber == 0)
                {
                    totalParametersGridNumber = parameter.Values.Count;
                }
                else
                {
                    totalParametersGridNumber *= parameter.Values.Count;
                }
            }

            var parametersGrid = OptimizerParameterGridCreator.GetParameterGrid(parameters);

            Assert.AreEqual(totalParametersGridNumber, parametersGrid.Count);
        }
示例#2
0
        protected override void OnStart()
        {
            var parametersGrid = OptimizerParameterGridCreator.GetParameterGrid(Settings.Parameters).ToArray();

            Parallel.For(0, parametersGrid.Length, iRobotIndex =>
            {
                var robot = OptimizerRobotCreator.GetRobot(Settings.RobotType, parametersGrid[iRobotIndex]);

                AddRobot(robot);
            });
        }