private Tuple <double, double> Decode(Chromosome ch)
        {
            Chromosome ch1 = ch.SubChromosome(0, _code1Len - 1);
            Chromosome ch2 = ch.SubChromosome(_code1Len, _code1Len + _code2Len - 1);

            double num1 = BinaryToDec(ch1.ToString());
            double num2 = BinaryToDec(ch2.ToString());

            num1 = MIN_X1 + num1 * (MAX_X1 - MIN_X1) / (Math.Pow(2, _code1Len) - 1);
            num2 = MIN_X2 + num2 * (MAX_X2 - MIN_X2) / (Math.Pow(2, _code2Len) - 1);

            return(Tuple.Create <double, double>(num1, num2));
        }