# A Solving Algorithm for Nonlinear Bilevel Programing Problems Based on Human Evolutionary Model
## 1 Introduction  
According to the existing studies on the multi-level programming problem, the mathematical model for this kind of problem can play a vital role in addressing complicated problems involving multiple decision-makers [1; 2]. We also find that the notable feature of these problems is of containing more than one decision maker, who has a major conflict due to the limitation of resources. For the bilevel programming problem, the upper and lower decision-makers have different anticipated goals described as the objective functions; resource limitation is shown as constraint conditions and the decision variables. Furthermore, referring to the basic game theory, the decision process of the problem can be essentially characterized as two decision makers with different goals successively making their own decisions in accordance with the leader-follower hierarchical relationship. In other words, the upper maker firstly made the decision, and then the lower decision maker made the decision within the allowable range in the light of the upper level decision results. Therefore, we can conclude that the final results of the upper level decision-maker were not only concerned with the decision variables of the upper level problem but also connected with the optimal solution to the lower level problem, and the lower level decision maker's optimal solution was affected by the upper level decision variables similarly. In other words, both decisions were affected rather than completely determined by the input of the other. The bilevel program problem can be used to describe many practical problems, such as engineering design, economic policy, traffic problems, etc. In consequence, many researchers have made an intensive studies on this kind of hierarchical problem, making not only great achievements in theoretical research on the bilevel program problem, but also with proposed abundant algorithms for solving the problem [3; 4; 5; 6; 7; 8; 9]. Nevertheless, the bilevel program problem is a non-convex problem, so it is very difficult for solving the problem [5]. [PERSON] [10] firstly indicated that the bilevel program problem is a non-deterministic polynomial hard problem(NP-hard problem). Subsequently, this conclusion was proven by [PERSON] and [PERSON] [11] and [PERSON] [12]. [PERSON], [PERSON], and [PERSON] [13] further pointed out that searching for the local optima to the linear bilevel program problem is also an NP-hard problem. [PERSON] [14] elaborated the complexity of the problem in details. The algorithms presented in the existing literatures are generally divided into two categories: the traditional approaches and the heuristic algorithms. The former assumes the function is differentiable and continuous and that they are constructed based on the feature and optimality condition of bilevel programming problem(BLPP). The algorithms in this category include K-best algorithm, peak searching method, exact penalty function, descent direction method, complementary pivoting algorithm, equilibrium point algorithm, etc. [8]. Those algorithms commonly depend on the search space of the specific problem. However, some problems cannot satisfy the assumptions, for example BLPP is not differentiable. Therefore, those algorithms restrict in their ability to solve many practical problems because most of them lack the required mathematical properties for these kind of algorithms. For the second category, there are no limitations on the differentiability of the functions, so many researchers tend to develop heuristic algorithms for solving BLPP, including: the genetic algorithm (GA) [15; 16; 17; 18], the state transition algorithm (STA) [9], particle swarm optimization (PSO) [19; 20; 21], tabu search (TS) [22], multi-sine cosine algorithm [23], artificial neural network (ANN) [16; 24; 25; 26], homotopy method [27], evolutionary algorithm (EA) [28; 29; 30], simulated annealing (SA) [17], artificial bee colony algorithm (ABC) [31], ant colony algorithm (AC) [32], etc.