Function Optimization Based on Quantum Genetic Algorithm

Optimization method is important in engineering design and application. Quantum genetic algorithm has the characteristics of good population diversity, rapid convergence and good global search capability and so on. It combines quantum algorithm with genetic algorithm. A novel quantum genetic algorithm is proposed, which is called Variable-boundary-coded Quantum Genetic Algorithm (vbQGA) in which qubit chromosomes are collapsed into variable-boundary-coded chromosomes instead of binary-coded chromosomes. Therefore much shorter chromosome strings can be gained. The method of encoding and decoding of chromosome is first described before a new adaptive selection scheme for angle parameters used for rotation gate is put forward based on the core ideas and principles of quantum computation. Eight typical functions are selected to optimize to evaluate the effectiveness and performance of vbQGA against standard Genetic Algorithm (sGA) and Genetic Quantum Algorithm (GQA). The simulation results show that vbQGA is significantly superior to sGA in all aspects and outperforms GQA in robustness and solving velocity, especially for multidimensional and complicated functions.


INTRODUCTION
Quantum computation is a new and developing interdiscipline integrating information science and quantum mechanics. Benioff (1980) and Feyman (1982) proposed the concepts of quantum computing. Shor (1994) presented a quantum algorithm used for factoring very large numbers, Grover (1996) developed a quantum mechanical algorithm to search unsorted database. Since then, quantum computing has attracted serious attention and been widely investigated by researches. Narayanan and Moore (1996) and Han (2000) proposed respectively quantum inspired genetic algorithm and genetic quantum algorithm. These algorithms are inspired by certain concept and principles of quantum computing such as qubits and superposition of states. Chromosomes in these algorithms are probabilistically represented by qubits and so can represent a linear superposition of solutions. Many researchers have found that these algorithms have excellent performance such as population diversity, rapid convergence and global search capability. Wang et al. (2005) have put effective applications in shop scheduling.
In classical quantum genetic algorithms, chromosomes are generally represented by two types, qubits and binary, during the algorithm procedure. Binary chromosomes are generated by observing (equating quantum collapsing in quantum mechanics) qubit chromosomes. The two types of chromosomes have the same length. As the more of dimension of optimization problems, the bigger of range of variables and the higher of precision of variables, the chromosome strings will become longer and then result in big memory requirement and long run time for a computer.
In order to improve this condition, this study presents a novel quantum genetic algorithm, in which chromosomes are encoded by qubit and variableboundary, to expect to short the length of chromosome strings and then cut down the memory requirement and speed up the run velocity of algorithm.

RESULTS AND DISCUSSION
Variable-boundary-coded quantum genetic algorithm: Han (2000) proposed a novel evolutionary computing method called a Genetic Quantum Algorithm (GQA) and applied it to a well-known combinatorial optimization problem, knapsack problem. His research shows that GQA is superior to other genetic algorithm. Based on the GQA, we propose a novel quantum genetic algorithm called variableboundary-coded quantum genetic algorithm, vbQGA, which we will introduce in this section.

Representation in vbQGA:
In GQA, the smallest unit of information is qubit. A qubit may be in the '0' state, in the '1' state, or in any superposition of the two. Based on the idea, in vbQGA, we represent the state of a qubit as follow: where, l x and u x are respectively the lower bound and the upper bound of some variable x , α and β are complex numbers that specify the probability amplitudes of the corresponding states. Obviously, a qubit may be in the ' l x ' state, in the ' u x ' state, or in any superposition of the two. The 2  and 2  give respectively the probability that the qubit will be found in ' l x ' state and in ' u x ' state. Normalization of the state to unity guarantees: Now suppose we have an N-dimension function optimization problem described as: min: With respect to the chromosome k in generation t , the substring of variable can be represented by qubit as follow: then, a whole qubit chromosome string for the Ndimension function optimization problem can be defined as: Apparently, the length of a qubit chromosome is N L 2  . Let s be the population size, then chromosome population in generation t can be described as:

Observation of qubit chromosomes in vbQGA:
Observation in quantum genetic algorithm is similar to quantum collapse in quantum mechanics. In GQA, a probabilistic qubit chromosome will "collapse" into a binary chromosome through observation. However, in vbQGA, a qubit chromosome will "collapse" into a variable-boundary coded chromosome. For any a qubit So, a whole variable-boundary coded chromosome may be, for example, is in follow form: and then the variable-boundary coded chromosome population in generation t can be described as: Rules of decoding: As described in Eq. (7), the substring of a variable-boundary coded chromosome with respect to variable i x can be one of the four conditions. The four conditions correspond to four value regions (namely I, II, III and IV) of . The decoding rules of variableboundary coded chromosome are given in Table 1.
In Table 1, r is a random number between 0 and 1.
, x i will take a small value inclining to the lower bound, the corresponding value region is , i x will take a big value inclining to the upper bound, the corresponding value region is Region IV.
Adaptive quantum rotation gate strategy: In many kinds of quantum-inspired algorithms, a primary updating operator for chromosomes is quantum rotation gate, which is defined as following as (Han, 2000): where, θ is rotation angle, which is generally looked up from a table. In our algorithm, quantum rotation gate for the substring of a qubit chromosome with respect to variable x i is represented as: In order to make the qubit chromosomes effectively converge to the fitter states, we put forward an adaptive rotation angles computing method, which is defined as: where, t k X is the solution k in generation t and 1  The rotation directions, which can be gotten by (12), of quantum gate can make the solution converge to the fitter states. For example, if This function has only one global minimal solution: Schaffer function: Schaffer function is given by: This function has only one global minimal solution: Mono-pole and six-peak camelback function: Monopole and six-peak camelback function is formulated as: This function has only one global minimal solution: . In the experimental evaluation we will take into account two conditions,  . We will take 6  n for the experimental evaluation.

Optimization and results:
In order to test and evaluate the effectiveness and performance of vbQGA, we will optimize the aforementioned eight functions with sGA, GQA and vbQGA.
In sGA, binary code, roulette wheel selection, onepoint crossover and 0-1 mutation is adopted. The controlling parameters are: variable precision p = 0.000001, population size s = 50, crossover probability pc = 0.8, mutation probability pm = 0.01 and total generations of iteration t = 500. The algorithm of GQA we used here is the same as that mentioned in Han (2000). With GQA we will take controlling parameters as: p = 0.000001, s = 10 and t = 500, which are the same as those taken in vbQGA.
All the algorithms are integrated in a test system programmed by Java language. The test system is operated under the following environments: Microsoft windows XP 2002, Intel Pentium 1600 MHz and 504 M memory. For each algorithm 20 runs are performed with respect to the eight functions. The results are presented in Table 2.
In Table 2, f opt denotes the function value of optimum, and are respectively average and standard deviation of function value over 20 runs, (sec/run) represents the average elapsed time per one run. F 1 ~F 8 represent the corresponding functions described in the fore-subsection, e.g., F 1 represents De Jong function, F 2 represents Coldstein Price function etc. We should notice that F 7 represents two conditions' Ackley function, so there are two lines of results, the upper one corresponding to and the lower one corresponding to . For giving a much clearer view of the results, the data in Table 2 are illustrated by Fig. 2 to 5.     In Fig. 2 to 5, the numbers of x-coordinate represent the index of the corresponding functions, e.g., '1' represents F1(i.e., De Jong function), '2' represent F2 (i.e., Coldstein Price function) etc.. We should also notice that '7'' and '7''' represent respectively Ackley function under condition 2  n and 10  n . It can be known from Fig. 2 that three algorithms under discussion can all get optimums with respect to F1~ F6. However, for F7 and F8, No one of the three algorithms can get optimums under the given controlling parameters. Though, the solutions of GQA and vbQGA are still obviously better than that of sGA. From Fig. 6 and 7 we can find that F7 and F8 are very complicated and intractable for their exiting many local optimums. By taking population size as s = 50 and remaining other parameters unchanged, we carried out some test runs and the results show that GQA and vbQGA can exactly find out the optimums of F7 and F8. Fig. 3 tells us that sGA, GQA and vbQGA gain closely approximate averages of the function value of F1~F6 over 20 runs. In contrast with this, for F7 and F8, the averages obtained by GQA and vbQGA are very approximate and evidently superior to those by sGA. Figure 4 shows that vbQGA gets the smallest standard deviations among the three algorithms and sGA gets the largest ones. It reveals that vbQGA is more robust than the two algorithms. Figure 5 illustrates the comparison of average of elapsed time per one run among the three algorithms. It can be seen that vbQGA takes the least run time. Let us sum up all the t of eight functions for sGA, GQA and vbQGA and we can get 15.5062 sec, 11.0675 sec and 2.8631 sec, respectively. Obviously, vbQGA takes much less run time than the other two algorithms. In addition, it can be also seen that as the dimension and complexity ofafunctionincrease,thisadvantage will get more distinct.
To sum up, vbQGA is superior to sGA in all respects. Comparing with GQA, vbQGA can get very