public override void EstimateAll(string directory)
        {
            StrategyParameter param = new StrategyParameter();

            foreach (KeyValuePair <string, AForge.IntStepRange> range in Range.ranges)
            {
                param.Add(range.Key, range.Value.Max);
            }
            OptimizationFunction(param, directory);
        }
        public StrategyParameter Translate(IChromosome chromosome)
        {
            // get chromosome's value
            ushort[]          val    = ((ShortArrayChromosome)chromosome).Value;
            StrategyParameter sParam = new StrategyParameter();

            int i = 0;

            foreach (KeyValuePair <string, AForge.IntStepRange> kvp in sparamRange.ranges)
            {
                int result = val[i++] * (kvp.Value.Max - kvp.Value.Min + 1) / ((ShortArrayChromosome)chromosome).MaxValue;
                result = result - result % kvp.Value.Step + kvp.Value.Min;
                sParam.Add(kvp.Key, result);
            }

            return(sParam);
        }