Abstract
There are many local optimums for the non-convex function. The traditional algorithm is easy to fall into the local optimum and cannot obtain the optimal solution of non-convex function. To address this problem, a new intelligent optimization algorithm for non-convex function based on genetic algorithm is proposed in this paper. A proximal point sequence is obtained by using the idea of proximal point algorithm. Two simple and easily solved non-convex function subproblems are constructed by convexity technique, cutting plane method, and alternating linearization method. The basic operation process of genetic algorithm is analyzed. The combination selection operator, the initial population molding, the cross probability and the mutation probability are improved to ensure the global optimum. The processing result of the non-convex function is taken as the objective function. The mapping relationship between the fitness function and the objective function is constructed. Intelligent optimization of non-convex function is achieved by optimized genetic algorithm. Experimental results show that the proposed algorithm can obtain the global optimal solution of the non-convex function, and the optimization performance is better.
Introduction
Many engineering problems can be boiled down to the optimization problem. Optimization technology is an application technology based on Mathematics and used to calculate the optimal solution of various engineering problems [1]. As an important interdisciplinary subject, it has been a hot topic and has been popularized and applied in many fields of engineering, such as function optimization, computer engineering, integrated manufacturing, artificial intelligence, and system control [2]. Optimization problem can be divided into function optimization problem and combinatorial optimization problem. The traditional optimization techniques often have some requirements for the optimization functions, such as continuous differentiability, concavity and convexity, etc. In many engineering applications, the optimization function is often non-convex [3]. It is a very difficult problem to solve the global optimum of non-convex function effectively. Especially for large-scale problem, because of the increase of local optimal points, it makes the difficulty of finding the global optimum. Therefore, it is of great practical significance to research the effective global optimization method [4].
For solving non-convex function, a gradient sampling method is proposed in the literature [5]. The basic idea is that the random gradient sampling near the current iteration point is taken as the subgradient of the objective function approximately. The advantage of the algorithm is that the subgradient of the function is not needed to be calculated. But it is easy to fall into local optimum.
In the literature [6], a subgradient algorithm is proposed. The algorithm chooses a subgradient in subdifferential of non-convex function to replace the gradient in the optimization. There are two shortcomings in the subgradient method. It requires that the subgradient of the function must be calculated for each step of iterations. This is a very strict requirement and is usually calculated by the special structure of the function. The sequences generated by theiteration may be oscillating.
In the literature [7], an immune algorithm is proposed. This algorithm is an intelligent algorithm for simulating the function of biological immune system. The optimization problem of multiple high dimensional complex functions can be effectively processed. It has excellent characteristics such as simple, parallel search, fast convergence, memory learning, and secondary response. However, immune algorithm still has many shortcomings in immune mechanism, optimization mechanism, and structure and behavior. It has no advantage for the localconvergence of non-convex functions.
In the literature [8], the simplex method is proposed. The algorithm is a direct search method based on mathematical computation. The advantage is that there is no requirement for the resolution of the target function, the speed of convergence is fast, and the application area is wide. But the simplex method is only a local search method, and it is often unable to find the global optimal solution.
In the literature [9], quasi-Newton method is used for optimization of non-convex function. This algorithm is a kind of good practical algorithm for solving unconstrained optimization problems. By constructing the approximate HesSe matrix of non-convex function, the non-convex function is optimized. But for the unconstrained optimization problem of non-convex functions, the algorithm cannot solve the local convergence problem.
To address the above problems, intelligent optimization problem of non-convex function based on genetic algorithm is researched in this paper. The structure of this paper is as follows.
Introduction. The research background and research significance, and several common algorithms for solving non convex function are introduced.
An intelligent optimization algorithm for non-convex function based on genetic algorithm is proposed.
Numerical experiments on the proposed algorithm are carried out to verify the global optimization performance of the proposed algorithm.
Discussions of the proposed algorithm.
Conclusions and the future research.
Material and methods
Non-convex function processing
In this paper, the following unconstrained non-convex function optimization problem is considered.
Assume the non-convexity of f, combined with the literature [10], local convexity processing of the function f is carried out. The following assumptions are made.
Assumption 1: the function f is lower - C2, and proximal and bounded.
Assumption 2: For the given point x0 ∈ R n and the parameter M ≥ 0, there exists an open boundary O and a function g to make K0 : { x ∈ R n : F (x) ≤ F (x0) + M } ⊂ O, and g is lower - C2 on O and is constantly g ≡ fon K0.
The following lemma gives the properties of the function f satisfying the Assumption 2.
Level set K0 is nonempty and compact. There exists ρ
id
> 0 to make The function f is Lipschitz continuous on K0.
The original problem given by Equation (1) is a non-convex function which cannot be solved directly. Like the literature [11], first, a sequence of proximal point algorithm is used to generate a sequence {yℓ+1}, which is given by
As f is a non-convex function, it is difficult for Equation (2) to solve. However, in assumption 1, the function f is lower - C2, and proximal and bounded, which conforms to the condition for local convexity of non-convex function. Therefore, local convexity processing of f is carried out. Let
Here, as φℓ is only a local convexity function, the cutting plane model
The first subproblem given by Equation (6) means linearization of
Genetic algorithm is a search heuristic algorithm for optimization in the field of computer science artificial intelligence. It is often used to generate useful solutions to optimize and search problems [12]. The process of the genetic algorithm is as follows.
Initialization. Assume evolutionary generation counter t = 0, the number of evolutionary generations is T. Random generate M individuals as initial population.
Individual evaluation. The fitness of each individual in the population is calculated.
Selection operation. The selection operator acts on the population. The purpose of the selection is to inherit the optimized individuals directly to the next generation or to produce new individuals by mating crossover to the next generation.
Crossover operation. Crossover probability acts on the population. It is the core of genetic algorithm.
Mutation operation. Mutation probability acts on the population. The value of genes on certain locus of an individual is changed.
Termination condition. If t = T, the obtained individual with the maximum fitness is taken as the optimal solution, and the calculation is terminated.
The genetic algorithm is a whole learning process of simulating from individual to population. Different individuals represent different solutions of the search space for a given problem [13]. In applications, the genetic algorithm has two shortcomings: It is easy to appear precocious phenomenon and fall into local extremum. It has poor local optimization ability.
To address these problems, the genetic algorithm is improved in this paper.
Combination of selection operators. The improved genetic selection operator adopts the combination of roulette selection and optimal selection [14]. For the traditional roulette selection method, if there are individuals with larger fitness in the population, the algorithm is easy to fall into the local optimal solution. If the fitness between individuals is basically the same, the algorithm will encounter bottleneck and has lower convergence speed. To address this problem, the optimal selection mechanism is introduced. The individual fitness value is obtained before each selection, and the individuals with the maximum fitness value are retained to the next generation, and the remaining individuals are chosen for roulette selection.
Initial population molding. In order to avoid missing certain information of the search space and obtain good individual, the random direction method is used to improve the initial population of the genetic algorithm.
Assume chromosome X = x1, x2, ⋯, x n , where x i (i = 1, 2, ⋯, n) is genetic gene and the value range is [ximin, ximax] (i = 1, 2, ⋯, n). P is the scale of initial population. Therefore, the problem is the process of the selection of P individuals.
The steps of the improvement are as follows.
Assume the selection space is
Randomly select a starting point X0 in the selected interval, called as basic point. Initialize q = 0 for recording the number of the generated individuals. Initialize the array X (P) for storing the generated individuals. Generate a random vector ρ0, which is uniformly distributed random vector on the sphere with the radius of γ. Compare the fitness of X = X0 + ρ0 and X0. If the fitness of X is better than that of X0, q = q + 1 is executed. And compare q and P, if q < P, X (q) = X. If q = P, end the program. If the fitness of X is better than that of X0, the fitness of X = X0 - ρ0 and X0 is compared. If the fitness of X is better than that of X0, q = q + 1 is executed. And compare q and P, if q < P, X (q) = X. If q = P, end the program. If in the steps 5) and 6), the fitness of X is worse than that of X0, go to step 4). Double the connection line X0X and obtain the reference point R0. Generate a random vector ρ0, which is uniformly distributed random vector on the sphere with the radius of γ. Compare the fitness of R = R0 + ρ0 and R0. If the fitness of R is better than that of R0, q = q + 1 is executed. And compare q and P, if q < P, X (q) = R. If q = P, end the program. If the fitness of R is better than that of R0, the fitness of R = R0 - ρ0 and R0 is compared. If the fitness of R is better than that of R0, q = q + 1 is executed. And compare q and P, if q < P, X (q) = R. If q = P, end the program. If in the Steps 10) and 11), the fitness of R is worse than that of R0, go to Step 9). Compare the fitness of X (q - 1) and X (q). If the fitness of X (q) is better than that ofX (q - 1), X0 = X (q - 1) and X = X (q). Then go to Step 8). If the fitness of X (q) is worse than that ofX (q - 1), X0 = X (q - 2) and go to Step 4).
Crossover probability and mutation probability. In genetic algorithm, the crossover probability and mutation probability directly affect the formation speed of new individual in a population. The larger the value, the faster the formation of new individual, and the stronger the ability of algorithm to search for new solution [15, 16]. In order to select reasonable crossover probability and mutation probability, the crossover probability and mutation probability are dynamically adjusted through the fitness value of individuals, so as to achieve the improvement of genetic algorithm.
The idea of the improvement is as follows. The cross probability P c and mutation probability P m can change adaptively with the fitness of individual. When the difference of individual fitness is smaller or the algorithm falls into the local optimal solution, P c and P m are increased, while the difference of the fitness of individuals are quite different and nonuniformly distributed, P c and P m are decreased.
P
c
and P
m
can be obtained with
Because the improved genetic algorithm does not correspond to a very low mutation probability in the long run when it evolves, it can ensure the diversity of the population, and the algorithm is not easy to fall into a local optimal solution, which ensures the global convergence of the algorithm.
After processing non-convex function, the genetic algorithm is used to optimize the non-convex function on the basis of the research on the genetic algorithm and the parameter improvement.
Determine population size, probability and evolutionary generation
Select population initial scale n = 60, crossover probability P c = 0.7, mutation probability P m = 0.04, Maximum evolutionary generation t = 100.
Population initialization. The optimization range of (X0, Y0) is made in the feasible domain of the whole optimal solution. In the feasible domain of the solution, P individual is randomly obtained, that is, the possible solution, and the initial population is formed,
Fitness function. The objective function based on the non-convex function processing results given by Equations (6 and 7). The mapping relationship between the fitness function and the objective function is constructed as
Selection strategy. Find the survival probability of all individuals
According to the fitness, individuals in a population are sorted in descending order. The probability of the reproduction in the mating pool is determined by the fitness of an individual
Crossover operation. Crossover operation makes the parent chromosomes produce offspring chromosomes. First, the fitness values of the individuals are obtained, and then the individuals are sorted in descending order according to the fitness value. Two parent chromosomes are selected according to the obtained results.
Crossover probability P c of the improved genetic algorithm is obtained by using Equation (9). A number in the interval of [0,1] is generated randomly and compared with P c . If the random number is lower than P c , crossover operation is executed. Otherwise, skip this step. After cross operation, a number c of [1, N - 1] is randomly generated, which is the crossover point.
Mutation operation. In order to generate new genes, chromosomes need to be mutated. The not operation is executed on the variation bits in a binary variable to achieve mutation.
When the fitness of chromosomes exceeds the average fitness of the population, the variation probability of the individual is obtained by using Equation (10). Then a random number of [0,1] is generated and compared with P m . If the random number is larger than P m , no mutation operation is executed. Otherwise, another random number of [1, N] is generated, which is mutant gene bit. The not operation is executed on the vth gene value of the individual.
Calculation of new generation population. A new generation of population is obtained by reproduction, crossover, and mutation, expressed as
The objective function and fitness of new population and each individual are given by
In order to ensure that the best individuals are not lost, the individuals with the largest fitness in the last generation of population are preserved to the next generation of population and the individuals with the least fitness in the next generation are replaced. Therefore, the objective function
Termination condition. Termination is determined by comparison between the difference between the fitness of the best individual and the worst individual in the current population and the preset threshold.
The performance test is carried out with some benchmark function. 5 common test non-convex functions are selected in this paper. These test examples are nonlinear optimization of boundary constraints. The global optimization of some functions is difficult, and there are very many local extremum points.
This function is a simple non-convex function. The aspect graph is shown in Fig. 1.
Aspect graph of non-convex function.
The aspect graph of F2 function is shown in Fig. 2.
Aspect graph of F2 function.
The F3 function has only one extreme point in the definition domain. But near the minimum, the function is morbid. In a narrow region near the minimum point, the value of the function changes very little, and it is difficult to rely on the gradient to reach the minimum point. The aspect graph is shown in Fig. 3.
Aspect graph of F3 function.
The F2 function is a multi-peak function. There are a number of local minimum points in the definition domain, but only a global minimum point. The aspect graph is shown in Fig. 4.
Aspect graph of F4 function.
The F5 function has a wider range of definition domain. There are a number of local minimum points in the definition domain, but only a global minimum point. The aspect graph is shown in Fig. 5.
Aspect graph of F5 function.
For the performance test, the following two aspects are mainly considered: One is whether the global optimal solution can be found and the quality of the optimal solution is found. The other is the cost of finding the best solution. In order to eliminate the influence of random factors, under the same condition, the algorithm is repeated separately, and the results are measured, and the statistical analysis is carried out. In addition to the other instructions, each experiment runs 30 times. For the above 5 non-convex functions, the performance of the proposed algorithm is verified by comparing with the literature [7]algorithm and the literature [8] algorithm.
Success rate Rsuc: The percentage of finding the theoretical optimal solution with the specific accuracy for multiple operations.
Average optimal value Fave: The average value of the optimal value for multiple operations.
Variance of optimal value Fvar: The variance of the optimal value for multiple operations.
Average number of evolutionary generations Tnum: The average number of evolutionary generations for finding the theoretical optimal solution.
Average evaluation times Fnum: The average value of the evaluation times of the objective for finding the theoretical optimal solution.
The less the average value of the found optimal value, the more times the found optimal solution, and the better performance of the algorithm. The smaller the variance of the found optimal value, the more stable the algorithm. The less the average number of evolutionary generation for finding the optimal solution, the less the average evaluation times, and the smaller the cost of finding the optimal solution.
In order to obtain these 5 performance indicators, two experimental modes are used.
Experimental mode 1: Given only the upper limit of the number of iterations Tmax. When t the number of iterations reaches this upper limit, the algorithm stops running.
Experimental mode 2: Given maximum iteration times Tmax and accuracy κ. If the population optimal value reaches the preset precision, it stops running. Otherwise it will run until reaches the maximum number of iterations.
Successful experiment: In experimental mode 2, in the tth (t < Tmax) generation, if
Through experiment mode 1, the average optimal value Fave and the variance of optimal value are obtained. Through experiment mode 2, the rest indexes are obtained.
Execution results of experimental mode 1
Execution results of experimental mode 2
From Tables 1 and 2, it can be seen that, for different non-convex functions, compared with the other two algorithms, the average value of the optimal value obtained with the proposed algorithm is minimal, which shows that the global optimization performance of the proposed algorithm is the best. The variance of the optimal value obtained with the proposed algorithm is the smallest, which shows that the optimization results of the proposed algorithm are more stable. The average number of evolutionary generations of the optimal value obtained with the proposed algorithm and the average evaluation times are the smallest, which the proposed algorithm has the least cost and the best efficiency.
The global optimization problem is widely used in many important fields, such as environmental engineering, national defense military, financial economy, and production management. It solves the problem by establishing a mathematical optimization model to provide a powerful reference for the decision-maker.
However, the functions in these optimization problems are not-convex in many cases. In general, there are many local minimums for non-convex programming problem. This makes it difficult to use the traditional nonlinear programming technique to solve the global optimization problem. The difficulties are how to jump out of the current local minima to find a better local point and how to determine the current feasible point is the global optimal solution.
To address these two difficulties, a new intelligent optimization algorithm for non-convex function based on genetic algorithm is proposed in this paper. The performance of the proposed algorithm is tested and the results show that, the proposed algorithm has good global optimization performance, more stable search results, less cost to find the optimal solution, and high optimization efficiency.
Conclusions
In the proposed algorithm, a proximal point sequence is first obtained by using the idea of proximal point algorithm. Two simple and easily solved non-convex function subproblems are constructed by convexity technique, cutting plane method, and alternating linearization method. The subproblem processed by genetic algorithm is optimized. The numerical results verify the feasibility and effectiveness of the proposed algorithm.
In this paper, an optimization algorithm is designed for the exact non-convex function. However, in practical application, it is hard or almost impossible to obtain the exact value of a function. Sometimes it takes a lot of time to obtain the exact value. Therefore, how to improve the algorithm for inexact data of non-convex optimization problems is the problem for further research.
