A Solution Methodology of Bi-Level Linear Programming Based on Genetic Algorithm

: Problem statement: We deal with the bi-level linear programming problem. A bi-level programming problem is formulated for a problem in which two Decision-Makers (DMs) make decisions successively. Approach: In this research we studied and designs a Genetic Algorithm (GA) of Bi-Level Linear Programming Problems (BLPP) by constructing the fitness function of the upper-level programming problems based on the definition of the feasible degree. This GA avoids the use of penalty function to deal with the constraints, by changing the randomly generated initial population into an initial population satisfying the constraints in order to improve the ability of the GA to deal with the constraints. Also we designed software to solve this problem. A comparative study between proposed method and previous methods through numerical results of some examples. Finally, parametric information of the GA was introduced. Results: Results of the study showed that the proposed method is feasible and more efficient to solve (BLPP), also there exist package to solve (BLPP) problem. Conclusion: This GA avoids the use of penalty function to deal with the constraints, by changing the randomly generated initial population into an initial population satisfying the constraints in order to improve the ability of the GA to deal with the constraints.


INTRODUCTION
Multi-level programming techniques are developed to solve decentralized planning problems with multiple decision makers in a hierarchal organization [1] . The Bi-Level Programming (BLP) problem is a special case of multilevel programming problems with a two-level structure. This problem is an important case in nonconvex optimization and a leader-follower game in which play is sequential and cooperation is not permitted [2] . A bi-level programming problem is formulated for a problem in which two Decision-Makers (DMs) make decisions successively. For example, in a decentralized firm, top management, an executive board, or headquarters makes a decision such as a budget of the firm and then each division determines a production plan in the full knowledge of the budget [3][4][5][6][7][8][9][10][11][12] . Also, the Stackelberg duopoly can be cited: two firms supply homogenous goods to a market. Suppose one firm dominates the other in the market and consequently the predominant firm decides its level of supply and then the other firm determines that of itself after it realizes that of the predominant firm. Stackelberg solution has been employed as a solution concept to two-level programming problems and a considerable number of algorithms for obtaining the solution have been developed [13] . Many instances of decision problems can be fined, which are formulated as two-level programming problems and concerning the above mentioned hierarchical decision problem in the decentralized firm, it is natural that decision makers behave cooperatively rather than non-cooperatively. Recently, Lai and Lee [14] have proposed a solution concept, which is different from the concept of the Stackelberg solution, for multi level linear programming problems such that decisions of DMs in both levels are sequential and all of the DMs essentially cooperate with each other [15,16] .
Their method is based on the idea that the DM at the lower level optimizes the lower level objective function, taking a goal or preference of the upper level into consideration. DMs elicit membership functions of fuzzy goals for theirs objective functions and especially, the DM at the upper level also specifies those of fuzzy goals for decision variables. The DM at the lower level solves a fuzzy programming problem with constraints on fuzzy goals of the DM at the upper level. Unfortunately, there is possibility that their method leads to an undesirable final solution because of inconsistency between the fuzzy goals of the objective function and the decision variables.
In this study, we deal with the bi-level linear programming problem. First, we construct the fitness function of the upper-level programming problems based on the definition of the feasible degree. After that the genetic operators are developed for designing of the GA for BLPP [17] . Numerical examples are given to clarify the developed algorithm. Finally, parametric study of the GA is introduced. Parametric study of the mathematical programming problems is important, very necessary and enhances the scope of application of the obtained solutions of those problems. In other words, our problem can be restudied in different variations (parameters values) with no need to resolve it.
There are three main different approaches to handle the parametric optimization problem, namely the sensitive analysis approach that concerns the minor changes in the parameters values and its effects on the obtained solutions; the stability sets approach that deals with the stability of the optimal solutions in different cases and finally the parametric solution approach that studies the major variations of the parameters in the GA and its relations with the obtained solutions. In this study we shall exhibit and apply the last approach.
Problem formulation: Let us consider the following BLPP with the following form [18][19][20][21][22] : where, x 2 solves: subject to: where, Once x 1 is fixed, the term T 1 1 d x in the objective function of the lower-level problem is a constant. So the objective function of the lower-level problem is simply denoted as: Here, we assume X is nonempty and bounded. Let and bounded. Let Y(x 1 ) denote the optimal solution set of problem: We assume the element of the set Y(x 1 ) exists and is unique and then the inducible region is:

Design of GA for BLPP:
It is not easy to know the upper-level objective of BLPP has no explicit formulation, since it is compounded by the lower-level solution function which has no explicit formulation. Thus, it is hard to express the definition of the derivation of the function in common sense. Also it is difficult to discuss the conditions and the algorithms of the optimal solution with the definition. The GA is a numerical algorithm compatible for the optimization problem science it has no special requirements for the differentiability of the function. Hence the study solves BLPP by GA [2,17,22,23] .
The basic idea for solving BLPP by GA is: firstly, choose the initial population satisfying the constraints, then the lower-level decision maker makes the corresponding optimal reaction and evaluate the individuals according to the fitness function constructed by the feasible degree, until the optimal solution is searched by the genetic operation over and over.
Coding and constraints: At present, the coding often used are binary vector coding and floating vector coding. But the floating vector coding is more near for the space of the problem compared with the former and the experiments show that it converges faster and has higher computing precision. This study adopts the floating vector coding. Hence the individual is expressed by: The individuals of the initial population are generally randomly generated in GA, which tends to generate off-springs who are not in the constraint region. Hence, we must deal with them.
Here, we deal with the constraints as follows: generate a group of individuals randomly and then retain the individuals satisfying the constraints in Eq. 3 as the initial population and drop out the ones not satisfying the constraints. The individuals generated by this way all satisfy the constraints and the off-springs satisfy the constraints by corresponding crossover and mutation operators.

Design of the fitness function:
To solve the problem BLPP by GA, the definition of the feasible degree is firstly introduced and the fitness function is constructed to solve the problem by GA. Let d denote the large enough penalty interval of the feasible region for each (x 1 ,x 2 )∈X.
Where, . denotes the norm.
Furthers, the fitness function of the GA can be stated as: where, F min is the minimal value of F(x 1 ,x 2 ) on X.

MATERIALS AND METHODS
Step 1: Initialization, give the population scale M, the maximal iteration generation MAXGEN and let the generation t = 0 Step 2: Initialization of the initial population, M individuals are randomly generated in X, making up the initial population.
Step 3: Computation of the fitness function. Evaluate the fitness value of the population according to formula (8) Step 4: Selection, Select the individual by roulette wheel selection operator [24,25] Step 5: Crossover, in this step, first, a random number P c ∈[0,1] is generated. This number is the percentage of the population on which the crossover is performed. Then, two individuals are selected randomly from the population as parents. Children are generated using the following procedure: Random integer c is generated in the interval [1,l-1], where l is the number of components of an individual. The c first components of the children are the same components as respective parents (i.e., the first child from the first parent and the second child from the second parent). The remaining components are selected according to the following rules: Note that the proposed operator generates individuals with more variety in comparison with the standard operator, because this operator can generate different children from similar parents, where standard operators cannot.
Step 6: Mutation, In this step, first, a random number P m ∈[0,1] is generated. This number is the percentage of the population on which the mutation is performed. Then one individual is selected randomly from the population. An integer random number u is generated in the interval [1,l], where l is the length of the individual. For generating the new individual, the uth component is changed to 0, if it was initially 1 and to 1 if it was initially 0 [11] Step 7: Terminations, Jude the condition of the termination. When t is larger than the maximal iteration number, stop the GA and output the optimal solution. Otherwise, let t = t+1, turn to Step 3

Numerical example:
In order to compare the performance of GA which introduced in this study with the other existing methods, proposed three examples solved by proposed method in this study and compare our results with the results in the previous methods [14,23] .
The comparison of the results through 20 generations by the algorithm in the study and the results in the references are as follows: From the numerical results in Table 1, the results by applying our algorithm is very efficient since we obtained the optimal solution in minimum time and minimum effort comparing with the previous methods as shown in Table 1 (this results obtain by using the package which designed in this study).

Parametric information of the GA:
In this study we make some changes in the parameters (M, P c , P m ) of the GA and study its relations with the obtained solutions as shown in Table 2.

DISCUSSION
Here we discuss the result that we have acquired from the previous section. In example 1 (Fig. 1), according to the changes in the parameters of genetic algorithm where (P c = 0.17, P m = 0.3, P c = 0.7, P m = 0.15 and P c = 0.6, P m = 0.2), Note that when the number of generations are increased the best value of Genetic Algorithm (GA) nearly fixed and converges to 11.24 and the mean value of the GA is increased, decreased, increased, decreased and so on during the GA is running. Also in Fig. 2, the maximum value of the best solution for the GA is fixed in the beginning after that it is increased, fixed, increased and fixed in the final until reach to the maximum value of 11.24.
Note that the optimal solution for example 1 is the same for the figures from Fig. 3-6. In example 2 (Fig. 7), Note that when the number of generations is increased the best value of Genetic Algorithm (GA) nearly fixed and converges to 30.18 and the mean value of the GA is increased, decreased, increased, decreased and so on during the GA is running.  Fig. 8, the maximum value of best solution of the GA is fixed in the beginning after that it is increased and fixed in the final until reach to the maximum value of 30.18. Note that the optimal solution for example 2 is the same for the Fig. 9-12.

CONCLUSION
This study designs the GA for solving BLPP which the optimal solution of the lower-level problem is dependent on the upper-level problem. The numerical results show the method is feasible and efficient. Compared with the traditional methods, the method has the following characters: • The method has no special requirement for the characters of the function and overcome the difficulty discussing the conditions and the algorithms of the optimal solution with the definition of the differentiability of the function • This GA avoids the use of penalty function to deal with the constraints, by changing the randomly generated initial population into an initial population satisfying the constraints in order to improve the ability of the GA to deal with the constraints Finally, we make some variations in the parameters of the GA and study its relations with the obtained solutions. Also we design a program to solve (BLPP) problem.