A Solving Algorithm for Nonlinear Bilevel Programing Problems Based on Human Evolutionary Model

An algorithm based on the human evolutionary model is proposed for solving nonlinear bilevel programing problems. In view of the hierarchical structure of this problem, the algorithm is designed through feeding back the optimal solution of the lower-level problem to the upper-level. Based on the quality of individuals at each iteration, this proposed algorithm can independently change the population size to achieve the balance between global and local searching ability during the progress of evolution, which can perform an exhaustive search in the whole landscape through creating an individual by using the tabu search method. Finally, we test four typical bilevel programing problems by using the proposed algorithm to verify its feasibility. The experimental results indicate the proposed algorithm can not only solve bilevel programing problems but also get the global optimal solution.


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].

The Basic Concepts of Bilevel Programing Problem
After the notion of multi-level programs was first proposed by Candler and Norton [35] in 1977, Candler and Townsley [36], Bialas and Karwan [37,38], Bard et al. [3,39] developed the mathematic model for multi-level programs and bilevel programs. In this paper, we consider the bilevel programming problem formulated as follows. min where y is the solution of the following problem: where x ∈ R n x , y ∈ R n y are decision variables of the upper and lower program problem for the bilevel program, respectively. F, f : R n x +n y → R are the objective functions of the upper and lower level decision-makers, respectively. g : R n x +n y → R n u , h : R n x +n y → R n l are the constraint functions of the upper and lower level problems, respectively. According to the existing researches, the basic definitions of BLPP are provided as follows [8].
The inducible region is the feasible set of the BLPP, but it is non-convex. What is more, if the upper level constraints involve the lower level decision variables, it may be non-connected [5]. In order to guarantee the existence of the optimal solutions to BLPP, some assumptions are given as follows: Hypothesis 1. Ω and Ω(X) are a non-empty bounded compact set.
For each fixed x ∈ Ω(X), even though IR is non-empty, there are no optimal solution for the upper problem in case of the existence of the non-unique lower solutions. Therefore, in order to avoid this, the following further assumption is provided.

Hypothesis 2.
For fixed x ∈ Ω(X), there only exists a unique solution to the lower problem denoted by y(x).
That is to say, the bilevel program problem can be denoted as: min F(x, y) (x, y) ∈ IR , where F(x, y) is the objective function value of the point (x, y).
Ultimately, the feasible solutions and the optimal solutions to the problem are defined as follows [8].

Definition 1.
If (x, y) ∈ IR, (x, y) is the feasible solution to the problem.

Brief Introduction to HEM
The human evolutionary model (HEM) is an adaptive evolutionary algorithm, firstly proposed by Montiel et al. [34]. HEM creates an adaptive intelligent/intuitive system (AIIS) and uses a novel approach called mediative fuzzy logic (MFL) to achieve its adaptation. HEM can infer the most suitable parameters to achieve the evolution and the avoidance of falling into local optimum (to prevent falling into local optimum and achieve the evolution) so that it yields an excellent global searching performance in complex and changing environments. In a word, HEM designs those necessary mechanisms which make it more accordant to the dynamic nature and independence of the evolutionary process of the algorithms.

The Rational of HEM
An individual in HEM includes three parts: genetic representation (gr), genetic effects (ge), and objective value (ov); gr represents decision variables, ge are the attributes of each individual, and ov is depending on the objective function value, i.e., the individual's fitness. The essential feature of this model is trying to emulate the process that human experts use in view of the populations' information to select parameters for achieving evolution. Obviously, there exist conflicts in reasoning due to experts' cognition, but contradictory information is addressed by the use of MFL in HEM.
MFL presented by Montiel et al. [40,41] is based on the intuitive fuzzy logic system [42,43] which was conceived with the ability of dealing with new situations and solving conflicts in information [44], and that MFL can be regarded as a traditional or intuitionistic fuzzy logic system [34,45] in case of nonexistence of doubtful or contradictory information. For controlling the population size in HEM, the most significant operation is the artificial intelligent intuitive system (AIIS), which is constructed by using MFL [46,47].

The Artificial Intelligent Intuitive System
AIIS is used to calculate the number of individuals that should be created or deleted in the actual population based in MFL so as to adjust the population size with the purpose of accelerating the convergence of HEM. The MFL uses two variables in AIIS named 'variance' and 'cycling' which are obtained by using the fitness value of the best individual of previous generations. Additionally, two variables named 'numCreate' and 'numDelete' are used to save the number of individuals that should be generated and eliminated. The process of AIIS is shown in Figure 1. See Reference [40,41] for more detailed information about AIIS.

The Idea of the Proposed Algorithm
An algorithm was proposed for solving the BLPP based the HEM combined with the decision-making process of the BLPP. The genetic representation of each individual depends on the upper and lower solution rather than only one decision maker, so the lower maker passes on the relevant optimal solutions to the upper to construct the individual genetic representation. The lower level problem can be regarded as a common nonlinear programming problem under the circumstances that the upper level decision variable is given. Therefore, in the presented algorithm, the HEM focuses on the upper level problem and controls the evolution tendency for two level problems while the lower level problem is dealt with by GA.
To solve the BLPP using the HEM, we redefine how to generate the individuals. Firstly, let us define the following: x n x ) T : upper level decision variable, y = (y 1 , y 2 , · · · , y n y ) T : lower level decision variable, F: upper level objective function, f : lower level objective function, N: quantity of new individuals.
As mentioned above, the exhaustive process of generating new individuals is elaborated as following.
Step 1: Randomly produce the upper decision variables of size N denoted by X = (x 1 , x 2 , · · · , x N ). In this part the individual genetic representation cannot be defined.
Step 2: For each upper variable viewed as the known variable, solve the lower problem using genetic algorithm and obtain the relevant solution noted by Y = (y 1 , y 2 , · · · , y N ). And then all the lower optimal solutions are transmitted to the upper.
Step 3: Based on X and Y, we will obtain the genetic representation of each individual As of this stage, we get a new population of size N, where the genetic representation and effect are expressed as GR = (gr 1 ; gr 2 ; · · · ; gr N ) and GE = (ge 1 ; ge 2 ; · · · ; ge N ) respectively. Moreover, we must adjust the population so as to ensure each individual meet the constraints.
Step 5: Calculate the upper objective function for each individual taken as the fitness, i.e., the objective value, ov(i) = F(gr i ). Eventually, we get the intact population shown as P = (GR, GE, OV).
Each new individual is constructed according to the above steps, which are noted as NewP. Furthermore, the steps of the proposed algorithm are listed in details as follows.
Step 1: Initialize the parameters. Population size is set N, the maximum size is ub, the minimum size is lb, and the maximum generation is M_Gen. At this stage, the generation is set t = 0.
Step 2: Create an initial population of size N using NewP noted by P t .
Step 3: For the tth generation, the best individual p Best is saved in a Tabu List (TL) which is defined as tl t . The same individual cannot be saved in the list repeatedly. Moreover, each individual in the list has a radius ρ to represent a subspace in the search space.
Step 4: Update the population P t . Genetic operator and predation operator are respectively applied to the whole population so as to control the genetic effects and genetic representations.
Step 5: Select individuals. According to the pyramidal selection rule, we select the individuals satisfying the criteria to create a new population.
Step 6: The variance of the best individual for the last generations is calculated and saved as 'Variance', and the variable named 'Cycling' is obtained according to that value. After that, we will get the quantity of individuals that will be eliminated and create respectively named 'Delete' and 'Create' using AIIS based on the two variables.
Step 7: Eliminate the individuals with less fitness in accordance with the variable 'Delete', as well as create some new individuals in view of the variable 'Create' using TS.
Step 8: If the terminal condition is fulfilled, save the optimal individual. The genetic representation of this individual is the optimal solution and the objective value is optima of the upper. If not, go to Step 3. According to the steps mentioned above, the flow chart of the proposed algorithm is shown in the following Figure 2.

Computational Experiments
In order to illustrate the feasibility and efficiency of the proposed algorithm, four examples from references are presented to carry out the numerical experiment. Example 1 [3]: min Example 2 [48]: min Example 3 [49]: min where y solves : min Example 4 [30]:  Table 1.

The Parameters of the Algorithm
The parameters setting process is divided into three parts. Firstly, the AIIS viewed as an essential step for the proposed algorithm to establish is established using the method presented by Montiel et al. in Reference [44]. Secondly, the parameters related to population are chosen such as the initial, max, and min population size, the max iterations and the max age for each individual. Thirdly, some parameters relevant to the genetic and predation operations in HEM are set referring to Reference [44]. The detailed values of these parameters are demonstrated in Table 2. For more specifications on these parameters, consult Reference [44]. Additionally, for the presented algorithm, the termination criteria is met if the iteration exceeded the maximal number of generation, the value of the fitness function did not change in 5 generations or magnitude of step is smaller than 10 −5 . For all experiments, the algorithm is executed in a personal computer with 4.0 GB RAM and Windows 7 operating system. For convenience, the GA is coded in virtue of GA toolbox in Matlab because the algorithm is implemented in MATLAB. As for GA used in this algorithm for all experiments, the parameter setting is employed: Each individual is stochastically initialized utilizing real-number encoding; the maximal number of iterations is 200 and the initial population size is 50; roulette selection, scattered crossover, and uniform mutation are implemented and the crossover fraction and mutation fraction is 0.8 and 0.01, respectively. Each experiment is terminated either when the maximal number of iterations is exceeded or when the objective of each individual does not change in 50 iterations.

Experimental Results
We execute the proposed algorithm 20 independent runs on each problem in that the result could show its performance directly. Therefore, the optimal solutions obtained by the proposed algorithm are recorded, as well as the corresponding computing time taken by the algorithm are listed in Table 3. Moreover, the comparison of the solutions by the proposed algorithm with those in related references is demonstrated in Table 4.
As to the performance of the proposed algorithm, the computing time and iteration show the feasibility and stability of the algorithm to some extent. Obviously, it can be seen from Table 3 that the iteration and computing time with little change illustrate the presented algorithm is generally feasible and steady for all examples. In concrete terms, it is worth noticing that the computing time for Example 1 is less than others due to its small scale which at least shows the feasibility of the proposed algorithm. For Example 4, on the contrary, it is a large-scale problem, so it has the most computing time and iteration. However, it is notable that the computing times in Example 1 and 4 vary in a small interval, which also demonstrates the algorithm is steady during these numerical experiments. Furthermore, as to Example 2 and Example 3, it can be seen that the fluctuation in the iteration is tiny, but the corresponding computing time varies greatly. The reason is that the population is initialized randomly and the population size is adaptively adjusted; what is more, the range of the size is not strictly limited to a small interval so that the amount of the individuals may vary greatly for each run. Finally, as for the small-scale examples (Example 1, 2, and 3), the maximal iterations are much less than the maximum setting value of the corresponding parameter, which also illustrates the efficiency and feasibility of the constructed algorithm is acceptable. Meanwhile, it is undeniable that for Example 4, the iteration parameter is up to the maximum setting value of the related parameter indicating that the presented algorithm should be improved to efficiently solve larger-scale problems. Overall, these results indicate that the proposed algorithm is feasible and stable for all experiments. Next, the optima obtained by the novel algorithm is compared with the existing studies to show its performance in detail.  [30]. According to the comparison of the results in Table 4, it can be observed that the solutions obtained by our algorithm for Example 2 is better than those produced by the compared algorithms in the references. For this situation, we can draw a primary conclusion that the presented algorithm is capable to improve the current algorithm. However, as for Example 1, the upper objective function in this paper are a little worse than these given by the compared algorithms while the results of the lower objective function are better than in the existing researches. This situation manifests that the conflicting goal among the upper and lower level indeed exist from another angle and also prove the presented algorithm is feasible.
Furthermore, for Example 4, our results are a little worse than those presented by Wan et al. [50], whilst it is very similar to those obtained by Wang et al. [30]. These situations again show that the presented algorithm can solve large scale problems but the calculation accuracy should be improved to get more precise results. Besides, as to Example 3, the results yielded by the proposed algorithm are almost equal to those in the current research excluding the accuracy difference in the lower objective function, which emphasizes the accuracy of our algorithm needs to be enhanced. Generally, it can be concluded that within the acceptable precision, the solutions for all examples by our algorithm are close enough to the global optimal solutions found in the references.

Conclusions
In this paper, we present an algorithm for solving bilevel programming problem based on the simplified human evolutionary model. Furthermore, we design the algorithm combined with the decision process of the BLPP. Consequently, the BLPP needs not to be transformed to another form in terms of the presented algorithm so that there is no restriction on the nature of the problem, so it can be widely used to solve more various actual problems.
Based on the numerical results compared with those in corresponding references, the following could be concluded: (1) The proposed algorithm is feasible for various bilevel programming problems such as linear, quadratic and nonlinear problems. Our method does not impose any restriction on the problems. Generally speaking, the precision of our method needs to be improved. In our future works, the following will be researched: (1) We still plan to do more research about the influence of the parameters on the performance so as to control more parameters adaptively using AIIIS and simply the HEM on the basis of the basic HEM. (2) Many more and larger-scale problems will be solved to demonstrate the efficiency of our proposed algorithm. (3) Comparison with other algorithms by solving more examples will also be our future work to illustrate the superiority of our algorithm.