Maximize f(X1, X2, X3) = (X1)^2 + (X2)^2 + (X3)^2 for -1.0 <= Xi <= 1.0, i = 1, 2, 3.
While creating the population, directly create it with bit string NOT decimal numbers. After selection, crossover, and mutation, decode the bit strings back to decimal numbers within given interval -1.0 <= Xi <= 1.0. And then evaluate the fitness with the given function. The following will give you the detail about this.
In this project, each gene on the chromosome will be 10-bit string. For example, (X1, X2, X3) = (0000000010, 1001100001, 1110011100) will be one of the individuals. Then, treat those bit strings with selection, crossover, and mutation. After those, you must convert (decode) the bit string (genes) back to decimal numbers, and then plug in to the fitness function to get the decimal fitness. After the conversion, the genes (X1, X2, X3), need to be within the constraint of -1.0 <= Xi <= 1.0, i = 1, 2, 3. The next paragraph will tell you how to decode the bit string. The population size will be 20 individuals. That is, the goal is to find values of X1, X2, and X3 (in the given interval) that will cause f(.,.,.) to have the maximum value. Use proportional selection, single-point crossover, and bit-wise mutation. For the mutation method this time, just simply flip the bit if need to perform the mutation.
As the description above, each gene Xi is -1.0 <= Xi <= 1.0. Therefore in binary bit string, we set 0000000000 <= Xi <= 1111111111. From 0000000000 to 1111111111, they can represent 1024 numbers. From -1 to 1, the range is 2 so that 2/ 1023 = 0.001955, which means:
0000000000 = (-1)dec,
0000000001 = -1 + 0.001955 * 1 = (-0.99845)dec,
0000000010 = -1 + 0.001955 * 2 = (-0.99609)dec,
1111111111 = -1 + 0. 0.001955 * 1023 = (0.999965)dec
Use the decimal numbers converted from bit strings to evaluate the fitness function to get the fitness, so the fitness will be the decimal number also.
Use the following parameter values:
N (Population Size) = 20; pc (Crossover Rate) = 0.6 to 1.0; pm (Mutation Rate) = 1/30; max generations (for use as a stopping condition) = 50.
For each of three “typical” single runs, report the following:
At intervals of 10 generations, the best and the worst fitnesses in the current generation and the corresponding X-vectors; the average fitness of all the members of the current generation; the best-of-run solution (the vector and its fitness).
Next, collect data on 30 independent runs, and then report, at intervals of 10 generations, the following averages (and the corresponding standard deviations) over 30 items: the best-of-generation fitness, the average-of-generation fitness, the best-of-run fitness. That is, these three quantities are each an average of 30 values.
6 freelancere byder i gennemsnit $193 på dette job
Hello, I have read the details of the project and I can complete it as required with mu=y experience on it. Kindly check my profile https://www.freelancer.com/u/mzdesmag to see my past works and reviews. Thanks