Abstract

In this paper, we propose a procedure for designing controlled test problems for single-objective bilevel optimization. The construction procedure is flexible and allows its user to control the different complexities that are to be included in the test problems independently of each other. In addition to properties that control the difficulty in convergence, the procedure also allows the user to introduce difficulties caused by interaction of the two levels. As a companion to the test problem construction framework, the paper presents a standard test suite of 12 problems, which includes eight unconstrained and four constrained problems. Most of the problems are scalable in terms of variables and constraints. To provide baseline results, we have solved the proposed test problems using a nested bilevel evolutionary algorithm. The results can be used for comparison, while evaluating the performance of any other bilevel optimization algorithm. The code related to the paper may be accessed from the website http://bilevel.org.

1  Introduction

Bilevel optimization constitutes a challenging class of optimization problems, where one optimization task is nested within the other. A large number of studies have been conducted in the field of bilevel programming (Colson et al., 2007; Vicente and Calamai, 2004; Dempe et al., 2006; Deb and Sinha, 2010), and on its practical applications (Dempe, 2002). Classical approaches commonly used to handle bilevel problems include the Karush-Kuhn-Tucker approach (Bianco et al., 2009; Herskovits et al., 2000), branch-and-bound techniques (Bard and Falk, 1982) and the use of penalty functions (Aiyoshi and Shimizu, 1981). Despite significant progress made in classical optimization toward solving bilevel optimization problems, most of these approaches are rendered inapplicable for bilevel problems with higher levels of complexity. Over the last two decades, technological advances and availability of enormous computing resources have given rise to heuristic approaches for solving difficult optimization problems. Heuristics such as evolutionary algorithms are recognized as potent tools for handling challenging classes of optimization problems. A number of studies have been performed toward using evolutionary algorithms (Yin, 2000; Wang et al., 2008; Deb and Sinha, 2010) for solving bilevel problems. However, the research on evolutionary algorithms for bilevel problems is still in a nascent stage, and significant improvement in the existing approaches is required. Most of the heuristic approaches lack a finite time convergence proof for optimization problems. Therefore, it is common practice among researchers to demonstrate the convergence of their algorithms on a testbed constituting problems with various complexities. To the best of our knowledge, no systematic framework exists for constructing single-objective bilevel test problems with controlled difficulties. Test problems, which offer various difficulties found in practical application problems, are often required during the construction and evaluation of algorithms.

Past studies (Mitsos and Barton, 2006) on bilevel optimization have introduced a number of simple test problems. However, the levels of difficulty cannot be controlled in these test problems. In most of the studies, the problems are either linear (Moshirvaziri et al., 1996), or quadratic (Calamai and Vicente, 1992, 1994), or nonscalable with a fixed number of decision variables. Application problems in transportation (network design, optimal pricing) (Migdalas, 1995; Constantin and Florian, 1995; Brotcorne et al., 2001), economics (Stackelberg games, principal-agent problem, taxation, policy decisions; Fudenberg and Tirole, 1993; Wang and Periaux, 2001; Sinha et al., 2014, 2013), management (network facility location, coordination of multidivisional firms; Sun et al., 2008; Bard, 1983), engineering (optimal design, optimal chemical equilibria; Kirjner-Neto et al., 1998; Smith and Missen, 1982) have also been used to demonstrate the efficiency of algorithms. For most real-world problems, the true optimal solution is unknown. Therefore, it is hard to identify whether a particular solution obtained using an existing approach is close to the optimum. Under these uncertainties, it is not possible to systematically evaluate solution procedures on practical problems. These drawbacks pose hurdles in algorithm development, as the performance of the algorithms cannot be evaluated on various difficulty frontiers. A test suite with a controllable level of difficulties helps in understanding the bilevel algorithms better. It gives information on what properties of bilevel problems are handled efficiently by the algorithm and what are not. An algorithm which performs well on the test problem by effectively tackling most of the challenges offered by the test suite is expected to perform well on other simpler problems as well. Therefore, controlled test problems are necessary to advance the research on bilevel optimization using evolutionary algorithms.

In this paper, we identify the challenges that are commonly encountered in bilevel optimization problems. Based on these findings, we propose a procedure for constructing test problems that mimic these difficulties in a controllable manner. Using the construction procedure, we propose a collection of bilevel test problems that are scalable in terms of variables and constraints. The proposed scheme allows the user to control the difficulties at the two levels independently of each other. At the same time, it also allows the control of the extent of difficulty arising due to interaction of the two levels. To make algorithm evaluation easier, the problems generated using the framework are such that the optimal solution of the bilevel problem is known. Moreover, the induced set of the bilevel problem is known as a function of the upper level variables. Such information helps the algorithm developers to debug their procedures during the development phase, and also allows them to evaluate the convergence properties of the approach.

The paper is organized as follows. In the next section, we explain the structure of a general bilevel optimization problem and introduce the notation used in the paper. Section 3 presents our framework for constructing scalable test problems for bilevel programming. Thereafter, following the guidelines of the construction procedure, we suggest a set of 12 scalable test problems in Section 4. To create a benchmark for evaluating different solution algorithms, the problems are solved using a simple nested bilevel evolutionary algorithm which is a nested scheme described in Section 5. The results for the baseline algorithm are discussed in Section 6.

2  Description of a Bilevel Problem

A bilevel optimization problem involves two levels of optimization tasks, where one level is nested within the other. The outer optimization task is usually called the upper level optimization task, and the inner optimization task is called the lower level optimization task. The hierarchical structure of the problem requires that only the optimal solutions of the inner optimization task are acceptable as feasible members for the outer optimization task. The problem contains two types of variables; namely, the upper level variables xu, and the lower level variables xl. The lower level is optimized with respect to the lower level variables xl, and the upper level variables xu act as parameters. An optimal lower level vector and the corresponding upper level vector xu constitute a feasible upper level solution, provided the upper level constraints are also satisfied. The upper level problem involves all variables x=(xu, xl), and the optimization is to be performed with respect to both xu and xl. In the following, we provide two equivalent formulations for a general bilevel optimization problem with one objective at both levels:

Definition 1 (Bilevel Optimization Problem BLOP):
Let denote the product of the upper-level decision space XU and the lower-level decision space XL, that is, , if and . For upper-level objective function and lower-level objective function , a general bilevel optimization problem is given by
formula
1
where the functions , , represent lower-level constraints and , , is the collection of upper-level constraints.

In the above formulation, a vector x(0)=(x(0)u, x(0)l) is considered feasible at the upper level, if it satisfies all the upper level constraints, and vector x(0)l is optimal at the lower level for the given x(0)u. We observe in this formulation that the lower-level problem is a parameterized constraint to the upper-level problem. An equivalent formulation of the bilevel optimization problem is obtained by replacing the lower-level optimization problem with a set value function which maps the given upper-level decision vector to the corresponding set of optimal lower-level solutions. In the domain of Stackelberg games, such a mapping is referred to as the rational reaction of the follower to the leader's choice xu.

Definition 2 (Alternative Definition of Bilevel Problem):
Let set-valued function , denote the optimal-solution set mapping of the lower level problem, that is
formula
A general BLOP is then given by
formula
2
where the function may be a single-vector valued or a multi-vector valued function depending on whether the lower level function has multiple global optimal solutions or not.

In the test problem construction procedure, the function provides a convenient description of the relationship between the upper and lower level problems. Figures 1 and 2 illustrate two scenarios, where can be a single-vector valued function or a multi-vector valued function. In Figure 1, the lower level problem is shown to be a paraboloid with a single minimum function value corresponding to the set of upper level variables xu. Figure 2 represents a scenario where the lower level function is a paraboloid sliced from the bottom with a horizontal plane. This leads to multiple minimum values for the lower level problem, and therefore, multiple lower level solutions correspond to the set of upper level variables xu.

Figure 1:

Relationship between upper and lower level variables in case of a single-vector valued mapping. For simplicity the lower level function has the shape of a paraboloid.

Figure 1:

Relationship between upper and lower level variables in case of a single-vector valued mapping. For simplicity the lower level function has the shape of a paraboloid.

Figure 2:

Relationship between upper and lower level variables in case of a multi-vector valued mapping. The lower level function is shown in the shape of a paraboloid with the bottom sliced with a plane.

Figure 2:

Relationship between upper and lower level variables in case of a multi-vector valued mapping. The lower level function is shown in the shape of a paraboloid with the bottom sliced with a plane.

Before discussing the test problem construction framework, we provide further insights into bilevel programming through a simple real-world problem (Sinha et al., 2014; Frantsev et al., 2012). The problem is chosen from the domain of game theory, where there are two entities in Stackelberg competition with each other. The upper level entity is a leader firm and the lower level entity is a follower firm. The leader and the follower firms compete with each other in order to maximize their profits and respectively. The leader makes the first move and therefore has the first mover's advantage. For any given action of the leader firm, the follower firm reacts optimally. With complete knowledge about the follower firm, the leader firm solves the following bilevel optimization problem in order to determine the Stackelberg optimum.
formula
3
formula
4
formula
5
formula
6
where Q is the quantity demanded, P(ql, qf) is the price of the goods sold, and is the cost of production of the respective firm. The variables in this model are the production levels of each firm ql, qf and demand Q. The leader sets its production level first, and then the follower chooses its production level based on the leader's decision. This simple model assumes homogeneity of the products manufactured by the firms. Additionally, the constraint in Equation (5) ensures that all demand is satisfied. By assuming that the firms produce and sell homogeneous goods, we specify a single linear price function for both firms as an inverse demand function of the form
formula
7
where are constants. Since costs often tend to increase with the amount of production, we assume convex quadratic cost functions for both firms to be of the form
formula
8
formula
9
where ci denote the fixed costs of the respective firm, and and are positive constants. It is possible to solve this bilevel problem analytically. The optimal strategies of the leader and follower, , in this simple linear-quadratic model can be found by using simple differentiation. For brevity, we avoid the steps and directly provide the analytical optimum for the problem.
formula
10
formula
11
Equations (10) and (11) are the strategies of the leader and follower at Stackelberg equilibrium. These depend only on the constant parameters of the model. Given these values, the leader will choose the production level given by Equation (10), and the follower will react optimally by choosing its production level using Equation (11). At the optimum, the constraint in Equation (5) holds as a strict equality, which provides us the optimal demand . In the presence of linear and quadratic functions, it is possible to solve the model analytically. However, as soon as the functions get complicated, it becomes difficult to find the optimum using analytical or numerical approaches. Next, we provide a test problem construction framework that allows us to create scalable bilevel test problems with a variety of difficulties commonly encountered in bilevel optimization.

3  Test Problem Construction Procedure

The presence of an additional optimization task within the constraints of the upper level optimization task leads to a significant increase in complexity, as compared to any single level optimization problem. In this section, we describe various kinds of complexities that a bilevel optimization problem can offer, and provide a test problem construction procedure that can induce these difficulties in a controllable manner. In order to create realistic test problems, the construction procedure should be able to control the scale of difficulties at both levels independently and collectively, such that the performance of algorithms in handling the two levels is evaluated. The test problems created using the construction procedure are expected to be scalable in terms of number of decision variables and constraints, such that the performance of the algorithms can be evaluated against an increasing number of variables and constraints. The construction procedure should be able to generate test problems with the following properties.

Necessary Properties

  1. The optimal solution of the bilevel optimization should be known.

  2. Clear identification of a relationship between the lower level optimal solutions and the upper level variables.

Properties for Inducing Difficulties

  1. Controlled difficulty in convergence at upper and lower levels.

  2. Controlled difficulty caused by interaction of the two levels.

  3. Multiple global solutions at the lower level for a given set of upper level variables.

  4. Possibility to have either conflict or cooperation between the two levels.

  5. Scalability to any number of decision variables at upper and lower levels.

  6. Constraints (preferably scalable) at upper and lower levels.

Next, we provide the bilevel test problem construction procedure, which is able to induce most of the difficulties suggested above.

3.1  Objective Functions in the Test-Problem Framework

To create a tractable framework for test-problem construction, we split the upper and lower level functions into three components. Each of the components is specialized for induction of certain kinds of difficulties into the bilevel problem. The functions are determined based on the required complexities at upper and lower levels independently, and also by the required complexities because of the interaction of the two levels. In this setting, a generic bilevel test problem can be written as follows:
formula
12

In the above equations, each of the levels contains three terms. A summary on the roles of different terms is provided in Table 1. The upper level and lower level variables have been broken into two smaller vectors (see Panel A in Table 1). The vectors xu1 and xl1 are used to induce complexities at the upper and lower levels independently. The vectors xu2 and xl2 are responsible for inducing complexities because of interaction. In a similar fashion, we decompose the upper and lower level functions such that each of the components is specialized for a certain purpose only (see Panel B in Table 1). At the upper level, the term F1(xu1) is responsible for inducing difficulty in convergence solely at the upper level. Similarly, at the lower level, the term f2(xl1) is responsible for inducing difficulty in convergence solely at the lower level. The term f2(xl1) decides if there is a conflict or a cooperation between the upper and lower levels. The terms F3(xl2, xu2) and F3(xl2, xu2) are interaction terms which can be used to induce difficulties because of interaction at the two levels. Term F3(xl2, xu2) may also induce a cooperation or a conflict. Finally, f1(xu1, xu2) is a fixed term for the lower level optimization problem and does not induce any convergence difficulties. It is used along with the lower level interaction term to create a functional dependence between lower level optimal solution(s) and the upper level variables. The difficulties related to constraints are handled separately.

Table 1:
Overview of test-problem framework components
Panel A: Decomposition of decision variables
Upper-level variablesLower-level variables
Vector Purpose Vector Purpose 
xu1 Complexity on upper level xl1 Complexity on lower level 
xu2 Interaction with lower level xl2 Interaction with upper level 
Panel B: Decomposition of objective functions 
Upper-level objective function Lower-level objective function 
Component Purpose Component Purpose 
F1(xu1Difficulty in convergence f1(xu1, xu2Functional dependence 
f2(xl1Conflict/cooperation f2(xl1Difficulty in convergence 
F3(xu2, xl2Difficulty in interaction F3(xu2, xl2Difficulty in interaction 
Panel A: Decomposition of decision variables
Upper-level variablesLower-level variables
Vector Purpose Vector Purpose 
xu1 Complexity on upper level xl1 Complexity on lower level 
xu2 Interaction with lower level xl2 Interaction with upper level 
Panel B: Decomposition of objective functions 
Upper-level objective function Lower-level objective function 
Component Purpose Component Purpose 
F1(xu1Difficulty in convergence f1(xu1, xu2Functional dependence 
f2(xl1Conflict/cooperation f2(xl1Difficulty in convergence 
F3(xu2, xl2Difficulty in interaction F3(xu2, xl2Difficulty in interaction 

3.1.1  Controlled Difficulty in Convergence

The test-problem framework allows introduction of difficulties in terms of convergence at both levels of a bilevel optimization problem while retaining sufficient control. To demonstrate this, let us consider the structure of the lower level minimization problem. For a given xu=(xu1, xu2), the lower level minimization problem is written as
formula
where the upper level variables (xu1, xu2) act as parameters for the optimization problem. The corresponding optimal-set mapping is given by
formula
where f1 does not appear due to its independence from xl. Since all of the terms are independent of each other, we note that the optimal value of the function f can be recovered by optimizing the functions f2 and f3 individually. Function f2 contains only lower level variables xl1, which do not interact with upper level variables. It introduces convergence difficulties at the lower level without affecting the upper level optimization task. Function f3 contains both lower level variables xl2, and upper level variables xu2. The optimal value of this function depends on xu2.

The following example shows that the calibration of the desired difficulty level for the lower level problem boils down to the choice of functions f2 and f3 such that their optima are known.

Example 1:
To create a simple lower level function, let the dimension of the variable sets be as follows: dim(xu1)=U1, dim(xu2)=U2, dim(xl1)=L1 and dim(xl2)=L2. Consider a special case where L2=U2, then the three functions could be defined as follows
formula
where f1 affects only the value of the function without inducing any convergence difficulties. The corresponding optimal set mapping is reduced to an ordinary vector valued function
formula

As discussed above, other functions can be chosen with desired complexities to induce difficulties at the lower level and come up with a variety of lower level functions. Similarly, F1 is a function of xu1, which does not interact with any lower level variables. It causes convergence difficulties at the upper level without introducing any other form of complexity in the bilevel problem.

3.1.2  Controlled Difficulty in Interaction

Next, we consider difficulties due to interaction between the upper and lower level optimization tasks. The upper level optimization task is defined as a minimization problem over the graph of the optimal solution set mapping , that is,
formula
where the objective function F(xu, xl)=F1(xu1)+F2(xl1)+F3(xu2, xl2) is the sum of three independent terms. Our primary interest is on the last two terms f2(xl1) and F3(xu2, xl2), which determine the type of interaction there is going to be between the optimization problems. This can be done in two different ways, depending on whether a cooperation or a conflict is desired between the upper and lower level problems.
Definition 3 (Cooperative Bilevel Test Problem):

A bilevel optimization problem is said to be cooperative if in the vicinity of for a particular xu, an improvement in the lower level function value leads to an improvement in the upper level function value. Within our test problem framework, the independence of terms in the upper level objective function F implies that the cooperative condition is satisfied when for any upper level decision xu the corresponding lower level decision xl=(xl1, xl2) is such thatand.

Definition 4 (Conflicting Bilevel Test Problem):

A bilevel optimization problem is said to be conflicting if in the vicinity of for a particular xu, an improvement in the lower-level function value leads to an adverse effect on the upper level function value. In our framework, a conflicting test problem is obtained when for any upper level decision xu the corresponding lower level decision xl=(xl1, xl2) is such thatand.

In the above general form, the functions f2 and f3 may have multiple optimal solutions for any given upper level decision xu. However, in order to create test problems with tractable interaction patterns, we would like to define them such that each problem has only a single lower level optimum for a given xu. To ensure the existence of a single lower level optimum, and to enable realistic interactions between the two levels, we consider imposing the following simple restrictions on the objective functions.

Case 1. Creating Cooperative Interaction:
A test problem with cooperative interaction pattern can be created by choosing
formula
13
where F4(xu2) is any function of xu2 whose minimum is known.
Case 2. Creating Conflicting Interaction:
A test problem with a conflict between the two levels can be created by simply changing the signs of terms f2 and f3 on the right-hand side in Equation (13)
formula
14
The choice of F2 and F3 suggested here is a special case, and there can be many other ways to achieve conflict or cooperation using the two functions.
Case 3. Creating Mixed Interaction:
There may be a situation of both cooperation and conflict if functions F2 and F3 are chosen with opposite signs as
formula
15
or
formula
16
Example 2:
Consider a bilevel optimization problem where the lower level task is given by Example 1. According to the above procedures, we can produce a test problem with a conflict between the upper and lower level by defining the upper level objective function as follows,
formula
17
The chosen formulation corresponds to Case 2, where F4(xu2)=0. The final optimal solution of the bilevel problem is F(xu, xl)=0 for (xu, xl)=0.

3.1.3  Multiple Global Solutions at Lower Level

In this section, we discuss constructing test problems with lower level function having multiple global solutions for a given set of upper level variables. To achieve this, we formulate a lower level function which has multiple lower level optima for a given xu, such that . Then we ensure that out of all these possible lower level optimal solutions one of them () corresponds to the best upper level function value, that is,
formula
18

To incorporate this difficulty in the problem, we choose the second functions at the upper and lower levels. Given that the term f2(xl1) is responsible for causing complexities only at the lower level, we can freely formulate it such that it has multiple lower level optimal solutions. From this it necessarily follows that the entire lower level function has multiple optimal solutions.

Example 3:
We describe the construction procedure by considering a simple example, where the cardinalities of the variables are , , , and dim(xl2)=2, and the lower level function is defined as follows
formula
19
Here, we observe that f2(xl1) induces multiple optimal solutions, as its minimum value is 0 for all x1l1=x2l1. At the minimum F3(xu2, xl2) fixes the values of x1l2 and x2l2 to x1u2 and x2u2, respectively. Next, we write the upper level function, ensuring that out of the set x1l1=x2l1, one of the solutions is best at the upper level,
formula
20
The formulation of f2(xl1), as the sum of squared terms ensures that x1l1=x2l1=0 provides the best solution at the upper level for any given (xu1, xu2).

3.2  Difficulties Induced by Constraints

In this section, we discuss the types of constraints that can be encountered in a bilevel optimization problem. We only consider inequality constraints in this bilevel test problem construction framework. Considering that the bilevel problems have the possibility to have constraints at both levels, and each constraint could be a function of two different kinds of variables, the constrained set at both levels can be further broken down into smaller subsets as shown in Table 2.

Table 2:
Composition of the constraint sets at both levels
LevelConstraint setSubsetsDependence
Upper   Ga depends on xu 
   Gb depends on xl 
   Gc depends on xu and xl 
Lower   Ga depends on xu 
   Gb depends on xl 
   Gc depends on xu and xl 
LevelConstraint setSubsetsDependence
Upper   Ga depends on xu 
   Gb depends on xl 
   Gc depends on xu and xl 
Lower   Ga depends on xu 
   Gb depends on xl 
   Gc depends on xu and xl 

In Table 2, G and G denote the set of constraints at the upper and lower level, respectively. Each of the constraint sets can be broken into three smaller subsets, as shown in the table. The first subset represents constraints that are a function of the upper level variables only; the second subset represents constraints that are a function of the lower level variables only; and the third subset represents constraints that are functions of both upper and lower level variables. The reason for splitting the constraints into smaller subsets is to develop an insight for solving these kinds of problems using an evolutionary approach. If the first constraint subset (Ga or Ga) is nonempty at either of the two levels, then for any given xu we should check the feasibility of constraints in the sets Ga and Ga, before solving the lower level optimization problem. In case there is one or more infeasible constraints in Ga, then the lower level optimization problem does not contain an optimal lower level solution () for the given xu. However, if one or more constraints are infeasible within Gb, then a lower level optimal solution () may exist for the given xu, but the pair () will be infeasible for the bilevel problem. Based on this property, a decision can be made, whether it is useful to solve the lower level optimization problem at all for a given xu.

The upper level constraint subsets, Gb depends on xl, and Gc depends on xu and xl. The values of these constraints are meaningful only when the lower level vector is an optimal solution to the lower level optimization problem. Based on the various constraints which may be functions of xu or xl, or both, a bilevel problem introduces different kinds of difficulties in the optimization task. In this paper, we aim to construct such examples of constrained bilevel test problems that incorporate some of these complexities. We have proposed four constrained bilevel problems, each of which has at least one of the following properties.

  1. Constraints exist but are not active at the optimum.

  2. A subset of constraints or all the constraints are active at the optimum.

  3. Upper level constraints are functions of only upper level variables, and lower level constraints are functions of only lower level variables.

  4. Both upper and lower level constraints are functions of upper as well as lower level variables.

  5. Lower level constraints lead to multiple global solutions at the lower level.

  6. Constraints are scalable at both levels.

While describing the test problems in the next section, we discuss the construction procedure for the individual constrained test problems.

4  SMD Test Problems

By adhering to the design principles introduced in the previous section, we now propose a set of twelve problems which we call as the SMD1 test problems. Each problem represents a different difficulty level in terms of convergence at the two levels, complexity of interaction between two levels, and multimodalities at each of the levels. The first eight problems are unconstrained and the remaining four are constrained.

4.1  SMD1

This is a simple test problem, where the lower level problem is a convex optimization task and the upper level is convex with respect to upper level variables and optimal lower level variables. The two levels cooperate with each other. The constituent functions are chosen as
formula
21
The range of variables is as follows:
formula
22
The relationship between upper level variables and lower level optimal variables is given as follows:
formula
23
The values of the variables at the optimum are xu=0 and xl is obtained by the relationship given above. Both upper and lower level functions are equal to zero at the optimum.

Figure 3 shows the contours of the upper and lower level functions with respect to the upper and lower level variables for a four-variable test problem. The problem has two upper level variables and two lower level variables, such that the dimensions of xu1, xu2, xl1, and xu2 are all one. In Figure 3, the central subfigure P shows the upper level function contours with respect to the upper level variables, assuming that the lower level variables are at the optima. Fixing the upper level variables (xu1, xu2) at five different locations (2, 2), (−2, 2), (2, −2), (−2, −2), and (0, 0), the lower level function contours are shown with respect to the lower level variables. This shows that the contours of the lower level optimization problem may be different for different upper level vectors.

Figure 3:

Upper and lower level function contours for a four-variable SMD1 test problem.

Figure 3:

Upper and lower level function contours for a four-variable SMD1 test problem.

Figure 4 shows the contours of the upper level function with respect to the upper and lower level variables. Subfigure P of Figure 3 once again shows the upper level function contours with respect to the upper level variables. However, subfigures Q, R, S, T, and V now represent the upper level function contours at different (xu1, xu2), that is, (2, 2), (−2, 2), (2, −2), (−2, −2), and (0, 0). From subfigures Q, R, S, T, and V, we observe that if the lower level variables move away from its optimal location, the upper level function value deteriorates. This means that the upper level function and the lower level functions are cooperative.

Figure 4:

Upper level function contours for a four-variable SMD1 test problem.

Figure 4:

Upper level function contours for a four-variable SMD1 test problem.

4.2  SMD2

This test problem is similar to the SMD1 test problem. However, there is a conflict between the upper level and lower level optimization task. The lower level optimization problem is once again a convex optimization task and the upper level optimization is convex with respect to upper level variables and optimal lower level variables. Since the two levels are conflicting, an inaccurate lower level optimum may lead to upper level function value better than the true optimum for the bilevel problem. The constituent functions are chosen as
formula
24
The range of variables is as follows:
formula
25
The relationship between the upper level variables and the lower level optimal variables is given as follows:
formula
26
The values of the variables at the optimum are xu=0 and xl is obtained by the relationship given above. Both upper and lower level functions are equal to zero at the optimum.

Figure 5 shows the contours of the upper and lower level functions with respect to the upper and lower level variables for a four-variable test problem. The problem has two upper level variables and two lower level variables, such that the dimension of xu1, xu2, xl1, and xu2 are all one. The figure provides the same information about SMD2 as Figure 3 provides about SMD1. However, the shape of the contours differ, which is caused by the use of different F3 and f3 functions.

Figure 5:

Upper and lower level function contours for a four-variable SMD2 test problem.

Figure 5:

Upper and lower level function contours for a four-variable SMD2 test problem.

Figure 6 shows the contours of the upper level function with respect to the upper and lower level variables, and provides the same information as Figure 4 provides about SMD1. This figure shows the conflicting nature of the problem caused by using a negative sign in F2. The conflicting nature can be observed in the subfigures Q, R, S, T, and U. For a given xu, as one moves away from the lower level optimal solution, the upper level function value is further reduced. On the other hand, in Figure 5 we observe that moving away from the lower level optimal solution causes an increase in lower level function value.

Figure 6:

Upper level function contours for a four-variable SMD2 test problem.

Figure 6:

Upper level function contours for a four-variable SMD2 test problem.

4.3  SMD3

In test problem SMD3 there is cooperation between the two levels. The difficulty is introduced in terms of multimodality at the lower level which contains the Rastrigin's function. The upper level is convex with respect to upper level variables and optimal lower level variables. The constituent functions are chosen as
formula
27
The range of variables is as follows:
formula
28
The relationship between the upper level variables and the lower level optimal variables is given as follows:
formula
29
The values of the variables at the optimum are xu=0 and xl is obtained by the relationship given above. Both upper and lower level functions are equal to zero at the optimum. Rastrigin's function used in f2 has multiple local optima around the global optimum, which introduces convergence difficulties at the lower level.

Subfigure P in Figure 7 shows the contours of the upper level function with respect to the upper level variables, assuming the lower level variables to be optimal at each xu. Subfigures Q, R, S, T, and U show the behavior of the lower level function at five different locations of xu, which are (2, 2), (−2, 2), (2, −2), (−2, −2), and (0, 0). The problem is once again assumed to have two upper level variables and two lower level variables, such that the dimensions of xu1, xu2, xl1, and xl2 are all one. The figure shows that there is a different lower level optimization problem at each xu which is required to be solved in order to achieve a feasible solution at the upper level. The contours of the lower level optimization problem differ based on the location of the upper level vector. It can be observed that the Rastrigin's function at the lower level introduces multiple local optima into the problem. The contours of the lower level are further distorted because of the presence of the function at the lower level.

Figure 7:

Upper and lower level function contours for a four-variable SMD3 test problem.

Figure 7:

Upper and lower level function contours for a four-variable SMD3 test problem.

In spite of multiple local optima at the lower level, this problem is easier to solve because of the cooperating nature of the functions at the two levels. If a lower level optimization problem is stuck at a local optimum for a particular xu (say x(0)u), it will have a poorer objective function value at the upper level. However, as soon as another lower level optimization problem is solved in the vicinity of x(0)u, which attains a global lower level optimum, then it will have a better objective function value at the upper level and will dominate the previous inaccurate solution. Therefore, a method that is able to handle multimodality at the lower level at least in a few of its lower level optimization runs will be able to successfully solve this problem.

4.4  SMD4

In this test problem there is a conflict between the two levels. The difficulty is in terms of multimodality at the lower level which once again contains the Rastrigin's function. The upper level is convex with respect to upper level variables and optimal lower level variables. The constituent functions are chosen as
formula
30
The range of variables is as follows:
formula
31
The relationship between the upper level variables and the lower level optimum variables is given as follows:
formula
32
The values of the variables at the optimum are xu=0 and xl is obtained by the relationship given above. Both upper and lower level functions are equal to zero at the optimum.

Figure 8 represents the same information as in Figure 7 for a four-variable bilevel problem. However, this problem involves conflict between the two levels, which makes it significantly more difficult to solve than the previous test problem. If a lower level optimization problem is stuck at a local optimum for a particular xu, it will end up having a better objective function value at the upper level than what it will attain at the true global lower level optimum. Therefore, even if another lower level optimization problem is successfully solved in the vicinity of xu, the previous inaccurate solution will dominate the new solution at the upper level. This problem can be handled only by those methods that are able to efficiently handle lower level multimodality without getting stuck in a local basin.

Figure 8:

Upper and lower level function contours for a four-variable SMD4 test problem.

Figure 8:

Upper and lower level function contours for a four-variable SMD4 test problem.

4.5  SMD5

In this test problem, there is a conflict between the two levels. The difficulty introduced is in terms of multimodality and convergence at the lower level. The lower level problem contains Rosenbrock's (banana) function such that the global optimum lies in a long, narrow, flat parabolic valley. The upper level is convex with respect to upper level variables and optimal lower level variables. The constituent functions are chosen as
formula
33
The range of variables is as follows:
formula
34
The relationship between the upper level variables and the lower level optimal variables is given as follows:
formula
35
The values of the variables at the optimum are xu=0 and xl is obtained by the relationship given above. Both upper and lower level functions are equal to zero at the optimum.

4.6  SMD6

In this test problem, there is again a conflict between the two levels. However, this problem differs from the previous problems by containing infinitely many global solutions at the lower level for any given upper level vector. Out of the entire global solution set, there is only a single lower level point that corresponds to the best upper level function value. The constituent functions are chosen as
formula
36
The range of variables is as follows:
formula
37
The relationship between the upper level variables and the lower level optimal variables is given as follows:
formula
38
The values of the variables at the optimum are xu=0 and xl is obtained by the relationship given above. Both upper and lower level functions are equal to zero at the optimum.

Figure 9 shows the second term ((xil1xjl1)2, for s=2) for function f2, and its contours at the lower level. It can be observed from the figure that all the points along xjl1=xil2 have a value 0 for the function f2. All these points are responsible for introducing multiple global optimal solutions at the lower level for any given upper level variable vector. However, out of all the global optimal solutions at the lower level, the solution xjl1=xil2=0 provides the best function value at the upper level for any given upper level variable vector.

Figure 9:

Plot of the term in f2 responsible for creating multiple optimum solutions at the lower level. The value of the term is zero at all the points in the valley.

Figure 9:

Plot of the term in f2 responsible for creating multiple optimum solutions at the lower level. The value of the term is zero at all the points in the valley.

4.7  SMD7

In this test problem, we introduce complexities at the upper level while keeping the lower level optimization task relatively simpler. Most of the previous test problems would be useful for testing the ability of algorithms to handle lower level optimization task efficiently. However, this test problem contains multimodality at the upper level, which demands a global optimization approach at the upper level. The function F1 at the upper level represents a slightly modified Griewank function. The constituent functions are chosen as
formula
39
The range of variables is as follows:
formula
40
The relationship between the upper level variables and the lower level optimal variables is given as follows:
formula
41
The values of the variables at the optimum are xu=0 and xl is obtained by the relationship given above. Both upper and lower level functions are equal to zero at the optimum.

4.8  SMD8

Test problem SMD8 tests the ability of the algorithms to handle multimodality at the upper level and convergence complexity at lower level at the same time. There is also a conflict between the upper level and lower level optimization tasks. The lower level objective contains Rosenbrock's (banana) function, and the upper level objective contains the multimodal Ackley's function. The constituent functions are chosen as
formula
42
The range of variables is as follows:
formula
43
The relationship between the upper level variables and the lower level optimal variables is given as follows:
formula
44
The values of the variables at the optimum are xu=0 and xl is obtained by the relationship given above. Both upper and lower level functions are equal to zero at the optimum.

4.9  SMD9

In test problem SMD9, we introduce constraints at both the upper and lower levels. Constraints are defined such that they cause convergence difficulties at both levels independently. One constraint is introduced at each level, such that the upper level constraint is a function of the upper level variables and the lower level constraint is a function of the lower level variables. The constraints divide the search space into annular regions, and cause convergence difficulties without altering the global optimum. The constraint at the upper as well as the lower level are, however, inactive at the optimum. The two levels are once again conflicting in nature, such that an inaccurate lower level optimum may lead to an upper level function value better than the true optimum for the bilevel problem. The constituent functions are chosen as
formula
45
The upper and lower level constraints are as follows:
formula
46
where a = 1 and b=1. The range of variables is as follows:
formula
47
The relationship between the upper level variables (feasible with respect to upper level constraints) and the lower level optimal variables is given as follows:
formula
48
Figure 10 shows the restricted search space for the upper level optimization task when it is a function of two upper level variables, that is, p=1 and r=1. The search space looks similar at the lower level when q=1 and r=1. For higher numbers of variables, the annular rings transform into spherical shells. The values of the variables at the optimum are xu=0 and xl=0. Both the upper and lower level functions are equal to zero at the optimum.
Figure 10:

Feasible and infeasible regions in the case of a two-variable constraint function.

Figure 10:

Feasible and infeasible regions in the case of a two-variable constraint function.

4.10  SMD10

In test problem SMD10, we introduce constraints at the upper as well as the lower level such that they are scalable. As the number of variables are varied at the upper and the lower levels, the number of constraints also vary. This is different from the previous problem in that all the constraints are active at the optimum. However, in this case we have the upper level constraints as functions of the upper level variables, and the lower level constraints as functions of the lower level variables. The constituent functions are chosen as
formula
49
The upper and lower level constraints are as follows:
formula
50
The range of variables is as follows:
formula
51
The relationship between the upper level variables (feasible with respect to upper level constraints) and the lower level optimal variables is given as follows:
formula
52
The values of the variables at the optimum are , and xl is obtained by the relationship given above.

Figure 11 shows the feasible region of the search space for the upper level optimization task, when the upper level objective is a function of two upper variables, that is, p=1, r=1. The shaded part in the figure shows the feasible region, and the dotted lines show the contours of the upper level objective function. For the given two-variable upper level objective function, the optimum lies at one of the intersections ((xu1, xu2)=(1, 1)) of the constraints shown in the figure.

Figure 11:

Feasible and infeasible regions in the case of a two-variable constraint function.

Figure 11:

Feasible and infeasible regions in the case of a two-variable constraint function.

4.11  SMD11

In test problem SMD11, we introduce constraints that are functions of the upper as well as the lower variables at both levels. The constraints at the upper level are scalable, but there is just a single constraint at the lower level. The constraint at the lower level introduces multiple global optimal solutions at the lower level for any given upper level vector. At the optimum of the bilevel problem, the lower level constraint as well as the upper level constraints are active. The upper level constraints eliminate a large part of the global optimal solutions from the lower level. The constituent functions are chosen as
formula
53
The upper and lower level constraints are as follows:
formula
54
The range of variables is as follows:
formula
55
The relationship between the upper level variables and the lower level optimal variables is given as follows:
formula
56
The values of the variables at the optimum are xu1=0, xu2=0, xl1=0, and . The upper level function value is −1 and the lower level function value is +1 at the optimum.

Figure 12 shows the constraints at the upper as well as the lower level when r=2. In this example, there is one constraint at the lower level and there are two constraints at the upper level. All the solutions on the lower level constraint represent optimal solutions to the lower level f3. When xl1=0, such that the function f2 is also optimal, the solutions on the constraint are optimal solutions to the lower level problem for a given xu. It can be observed that the two constraints at the upper level eliminate all the lower level optimal solutions except one. The figure shows the feasible region with respect to upper level constraints for the upper level problem. However, only point p represents a feasible solution for the upper level problem for a given xu, as the lower level optimal solution lies in the upper level constraint feasible region. This problem differs from SMD6, which also contained multiple global solutions at the lower level, in two ways. First, multiple global solutions at the lower level are introduced by lower level constraints in this problem, whereas in the previous problem the lower level objective function was entirely responsible for introducing multiple global solutions. Second, out of the multiple global solutions from the lower level, a single solution is selected based on upper level constraints, whereas in the previous problem all the lower level global solutions were feasible but only one of those solutions had the best upper level objective value.

Figure 12:

Feasible and infeasible regions of SMD11 for a particular upper level vector.

Figure 12:

Feasible and infeasible regions of SMD11 for a particular upper level vector.

4.12  SMD12

Test problem SMD12 is a combination of the previous two test problems, and involves a number of difficulties. The test problem has scalable constraints at both levels, and the constraints are functions of both upper and lower level variables. At the same time, any lower level optimization problem for a given set of upper level variables has multiple global optima. All the lower level constraints are active at the bilevel optimum. The constituent functions are chosen as
formula
57
The upper and lower level constraints are as follows:
formula
58
The range of variables is as follows:
formula
59
The relationship between the upper level variables and the lower level optimal variables is given as follows:
formula
60
The values of the variables at the optimum are , , , and .

4.13  Summary and Precautions

The properties of the SMD test problems are summarized in Table 3. In the table, N denotes No and Y denotes Yes. It can be observed that the 12 test problems are a good mix of various difficulties that we discussed in the prior sections. We have tried to put the problems in order of increasing difficulty. The last test problem can be observed to contain most of the difficulties except for multimodalities. This table will be helpful in testing algorithms for bilevel optimization. For example, if a new algorithm is able to solve SMD1 but not SMD2, one readily concludes that the algorithm is unable to handle a conflict. Similarly, if the algorithm is able to solve SMD1 and SMD2 but not SMD3 and SMD4, one would infer that the algorithm is unable to handle lower level multimodality. This information will be useful for an algorithm developer, as it aids in identifying the specific weaknesses in an approach that need to be improved.

Table 3:
Properties of SMD test problems
Upper levelLower level
ScalabilityScalabilityMultiple
SMDConstrainedVariablesConstraintsMultimodalityConstrainedVariablesConstraintsMultimodalityGlobal SolutionsConflict
— — 
— — 
— — 
— — 
— — 
— — 
— — 
— — 
10 
11 
12 
Upper levelLower level
ScalabilityScalabilityMultiple
SMDConstrainedVariablesConstraintsMultimodalityConstrainedVariablesConstraintsMultimodalityGlobal SolutionsConflict
— — 
— — 
— — 
— — 
— — 
— — 
— — 
— — 
10 
11 
12 

We would like to caution the developers against heavily relying on test problems alone to draw conclusions about the performance of the algorithm. The test problems are useful at the initial stages of algorithm development to evaluate the performance of an algorithm across various difficulty frontiers. However, it might not always be possible for a test suite to provide difficulties that can be offered by complex real-world problems. Therefore, it is very important to note that the suggested test problems are not a replacement for realistic problems. It is important for researchers to focus on real-world problems as well, along with the test suites, to evaluate their procedures.

In the field of evolutionary multiobjective optimization, the test suites have been quite famous and the developers are often found to draw strong conclusions based on the performance of algorithms on these test suites. One of the caveats is to exploit the structured nature of these test suites to report better performance for their approaches. For example, in the proposed test suite, many of the test problems contain variable separable functions. These test problems would certainly be relatively easier to solve if an algorithm exploits this property of the test problems. Such algorithms would deteriorate drastically if these functions are rotated by multiplying the variables with a transformation matrix. On the other hand, an algorithm that does not exploit this property will be indifferent between the variable separable function and the rotated test problems. It is important to utilize this knowledge about the test problems rather constructively to evaluate the extent to which an algorithm is exploiting the variable separability of the test problems. The authors would like the users to be careful about knowingly or unknowingly exploiting any such structure of the proposed test problems.

5  Baseline Solution Methodology

In this section, we describe the solution methodology used to solve the constructed test problems. The suggested procedure is a nested bilevel evolutionary algorithm, and requires that a lower level optimization task be solved for every new set of upper level variables produced using the genetic operators. The method relies on a steady state single objective real coded genetic algorithm to solve the problems at both levels. We have implemented a modified version of the procedures (Sinha et al., 2005, 2006) with two levels, which is used to handle the bilevel test problems. A step-by-step procedure for the algorithm is described in the next section.

5.1  Upper Level Optimization Procedure

Step 1. Initialization Scheme. Initialize a random population (Np) of upper level variables. For each upper level population member, execute a lower level optimization procedure to determine the corresponding optimal lower level variables. Assign upper level fitness based on the upper level function value and constraints.

Step 2. Selection of Upper Level Parents. Choose population members from the previous population and conduct a tournament selection to determine parents.

Step 3. Evolution at the Upper Level. Perform a crossover (refer to Section 5.4) and a polynomial mutation to create offspring. This provides the upper level variables for each offspring.

Step 4. Lower Level Optimization. Solve the lower level optimization problem (refer to Section 5.2) for each offspring. This provides the lower level variables for each offspring.

Step 5. Evaluate Offspring. Combine the upper level variables with the corresponding optimal lower level variables for each offspring. Evaluate all the offspring based on upper level function value and constraints.

Step 6. Population Update. Choose r random members from the parent population and pool them with the offspring. The best r members from the pool replace the chosen r members from the population.

Step 7. Termination Check. Proceed to the next generation (Step 2) if the termination check is false (refer to Section 5.6).

5.2  Lower Level Optimization Procedure

The lower level optimization procedure is similar to the upper level procedure except for the initialization step, which differs slightly. In the following, we provide the steps involved in the lower level optimization task. Let the lower level population size be np, and the upper level member being optimized be x0u.

Step 1. If the execution is transferred from Step 1 of the upper level optimization task, then go to Step 1a, otherwise go to Step 1b.

Step 1a. Initialize np lower level members randomly, and assign lower level fitness based on the lower level function value and constraints. Go to Step 2.

Step 1b. Initialize np−1 lower level members randomly. Determine the member closest to x0u in the upper level population. The lower level optimal variables from the closest upper level member becomes the npth member in the lower level population. Assign lower level fitness based on the lower level function value and constraints. Go to Step 2.

Step 2. Choose members randomly from the lower level population. Perform a tournament selection with respect to lower level fitness to generate parents.

Step 3. Perform crossover and mutation to generate offspring.

Step 4. Evaluate each offspring with respect to lower level function and constraints.

Step 5. Choose r members randomly from the lower level population and pool them with the lower level offspring. The best r members with respect to lower level fitness replace the chosen r members from the lower level population.

Step 6. Proceed to the next generation (Step 2) if the termination check (refer to Section 5.6) is false.

5.3  Parameters

The parameters in the algorithm were fixed at , , and r=2. The probability of crossover was fixed at 0.9 and the probability of mutation was fixed at 0.1. The crossover operator requires two parameters and , which are fixed as suggested in the next section.

5.4  Crossover Operator

The crossover operator used at both levels is similar to the PCX operator proposed in Sinha et al. (2006) with minor modifications. The operator creates an offspring from three parents, when one of the three parents is chosen as the index parent as follows,
formula
61
The terms used in the above equation are defined as follows.
  • xp is the index parent

  • d=xpw, where w is the mean of parents

  • p1 and p2 are the other two parents

  • and are the two parameters, where such that mu is the number of variables at the upper level and ml is the number of variables at the lower level.

The two parameters and describe the extent of variation along the respective directions. While creating offspring from parents, each parent is chosen as an index parent at a time.

5.5  Constraint Handling

We define the constraint violation as the sum of violations of all the constraints at the respective levels. If a member at a particular level has a smaller constraint violation, then it is always preferred over a member with a higher constraint violation at the same level. A member with no constraint violation is deemed to be feasible, and is considered better than any of the other infeasible members. While comparing two feasible members, the member with a smaller function value at the level is preferred.

5.6  Termination Check

The algorithm uses variance-based termination criteria at both levels. When the value of , described in Equation (62), becomes less than , the optimization task terminates. In the following, we state the termination criteria at the lower level, which can be similarly extended to the upper level. Let the variance of the lower level population members at generation j for each lower level variable i be vij. If the number of lower level variables is ml, then is computed as,
formula
62
The value of usually lies between 0 and 1 in Equation (62). In the above equation, vi0 denotes the variance for the variable i in the initial lower level population. For the lower level, the value of is set as 10-5, and for the upper level the value of is set as 10-4.

6  Results

In this section, we provide the results obtained from solving the proposed test problems using the bilevel evolutionary algorithm. The described nested bilevel evolutionary algorithm is a naive scheme, and any intelligent bilevel approach should be expected to produce better results with a lesser computational expense. The results are intended as a benchmark, and the performance of other schemes may be compared in terms of percentage of savings obtained when compared to the proposed nested scheme. We performed 11 runs for each of the test problems with 5, 10, and 20 dimensions. In the case with five dimensions, for SMD1 to SMD5 and SMD7 to SMD12 we chose p=1, q=2, and r=1, and for SMD6 we chose p=1, q=0, r=1, and s=2. In the case with 10 dimensions, for SMD1 to SMD5 and SMD7 to SMD12 we chose p=3, q=3, and r=2, and for SMD6 we chose p=3, q=1, r=2, and s=2. The upper level population size Np and the lower level population size np were chosen as 30 for the five-dimensional case. Both population sizes were chosen as 50 and 100 for the 10- and 20-dimensional cases, respectively.

The results for the five-dimensional test problems are reported in Tables 4 and 5. Table 4 provides the best, median, and worst number of function evaluations at upper and lower levels. The accuracy achieved and the number of times lower level optimization was performed in a single execution of the bilevel optimization run are reported in Table 5. Similar results for the 10-dimensional test problems are reported in Tables 6 and 7. For 20-dimensional test problems, we report only the best, median, and worst function evaluations in Table 8.

Table 4:
Function evaluations (FE) for the upper level (UL) and the lower level (LL) from 11 runs for five-dimensional test problems
BestMedianWorst
Total LLTotal ULTotal LLTotal ULTotal LLTotal UL
Test problem numberFEFEFEFEFEFE
SMD1 256,858 438 375,488 668 582,770 1,008 
SMD2 196,744 380 332,197 628 613,221 1,102 
SMD3 262,703 488 315,598 604 439,316 844 
SMD4 259,486 420 366,294 608 480,675 796 
SMD5 222,078 444 457,265 930 610,108 1,232 
SMD6 334,763 540 427,114 696 585,358 936 
SMD7 246,375 468 333,629 652 685,029 1,342 
SMD8 443,430 812 582,583 1,008 1,218,196 2,076 
SMD9 183,231 330 284,648 514 395,735 696 
SMD10 179,986 480 277,696 758 501,639 1,316 
SMD11 11,489,609 4,348 13,408,524 5,086 20,540,610 7,764 
SMD12 6,211,173 354 12,950,512 738 20,983,708 1,196 
BestMedianWorst
Total LLTotal ULTotal LLTotal ULTotal LLTotal UL
Test problem numberFEFEFEFEFEFE
SMD1 256,858 438 375,488 668 582,770 1,008 
SMD2 196,744 380 332,197 628 613,221 1,102 
SMD3 262,703 488 315,598 604 439,316 844 
SMD4 259,486 420 366,294 608 480,675 796 
SMD5 222,078 444 457,265 930 610,108 1,232 
SMD6 334,763 540 427,114 696 585,358 936 
SMD7 246,375 468 333,629 652 685,029 1,342 
SMD8 443,430 812 582,583 1,008 1,218,196 2,076 
SMD9 183,231 330 284,648 514 395,735 696 
SMD10 179,986 480 277,696 758 501,639 1,316 
SMD11 11,489,609 4,348 13,408,524 5,086 20,540,610 7,764 
SMD12 6,211,173 354 12,950,512 738 20,983,708 1,196 
Table 5:
Accuracy for the upper and lower levels, and the lower level calls from 11 runs for five-dimensional test problems
MedianMedianMedianLL evals
Test problem numberUL accuracyLL accuracyLL callsLL calls
SMD1 0.000114 0.000087 668 563.89 
SMD2 0.000073 0.000016 628 533.01 
SMD3 0.000054 0.000055 604 536.47 
SMD4 0.000023 0.000057 608 607.80 
SMD5 0.000002 0.000009 930 507.82 
SMD6 0.000108 0.000061 696 604.64 
SMD7 0.000016 0.000177 652 533.84 
SMD8 0.000174 0.000027  562.69 
SMD9 0.000017 0.000054 514 553.54 
SMD10 0.034759 0.018510 758 367.04 
SMD11 0.0131643 0.0129893   
SMD12 0.032372 0.000206 738  
MedianMedianMedianLL evals
Test problem numberUL accuracyLL accuracyLL callsLL calls
SMD1 0.000114 0.000087 668 563.89 
SMD2 0.000073 0.000016 628 533.01 
SMD3 0.000054 0.000055 604 536.47 
SMD4 0.000023 0.000057 608 607.80 
SMD5 0.000002 0.000009 930 507.82 
SMD6 0.000108 0.000061 696 604.64 
SMD7 0.000016 0.000177 652 533.84 
SMD8 0.000174 0.000027  562.69 
SMD9 0.000017 0.000054 514 553.54 
SMD10 0.034759 0.018510 758 367.04 
SMD11 0.0131643 0.0129893   
SMD12 0.032372 0.000206 738  
Table 6:
Function evaluations (FE) for the upper level (UL) and the lower level (LL) from 11 runs for 10-dimensional test problems. A notation of (x) denotes that the algorithm terminated far away () from the optimal solution. A dash denotes that a feasible solution could not be obtained for the test problem
BestMedianWorst
Total LLTotal ULTotal LLTotal ULTotal LLTotal UL
Test problem numberFEFEFEFEFEFE
SMD1 862,653 1,080 1,623,356 2,534 2,074,334 3,488 
SMD2 1,055,976 1,398 1,467,246 2,366 2,114,442 3,418 
SMD3 900,358 1,210 1,383,632 2,278 1,805,562 2,862 
SMD4 566,344 678 1,087,632 1,598 1,314,986 2,028 
SMD5 1,226,344 1,620 1,993,124 2,890 2,483,442 3,492 
SMD6 1,225,742 1,502 2,224,450 2,936 3,786,498 (x) 4,278 (x) 
SMD7 932,460 1,382 1,566,481 2,394 2,435,994 (x) 3,858(x) 
SMD8 1,457,480 2,116 2,710,132 4,188 5,294,734 (x) 5,986 (x) 
SMD9 — — — — — — 
SMD10 — — — — — — 
SMD11 — — — — — — 
SMD12 — — — — — — 
BestMedianWorst
Total LLTotal ULTotal LLTotal ULTotal LLTotal UL
Test problem numberFEFEFEFEFEFE
SMD1 862,653 1,080 1,623,356 2,534 2,074,334 3,488 
SMD2 1,055,976 1,398 1,467,246 2,366 2,114,442 3,418 
SMD3 900,358 1,210 1,383,632 2,278 1,805,562 2,862 
SMD4 566,344 678 1,087,632 1,598 1,314,986 2,028 
SMD5 1,226,344 1,620 1,993,124 2,890 2,483,442 3,492 
SMD6 1,225,742 1,502 2,224,450 2,936 3,786,498 (x) 4,278 (x) 
SMD7 932,460 1,382 1,566,481 2,394 2,435,994 (x) 3,858(x) 
SMD8 1,457,480 2,116 2,710,132 4,188 5,294,734 (x) 5,986 (x) 
SMD9 — — — — — — 
SMD10 — — — — — — 
SMD11 — — — — — — 
SMD12 — — — — — — 
Table 7:
Accuracy for the upper and lower levels, and the lower level calls from 11 runs for 10-dimensional test problems. A dash denotes that a feasible solution could not be obtained for the test problem
MedianMedianMedianLL evals
Test problem numberUL accuracyLL accuracyLL callsLL calls
SMD1 0.000332 0.000018 2,534 644.54 
SMD2 0.000066 0.000011 2,366 653.36 
SMD3 0.000359 0.000033 2,278 655.76 
SMD4 0.000286 0.000027 1,598 685.43 
SMD5 0.000052 0.000009 2,890 716.82 
SMD6 0.001435 0.000082 2,936 768.34 
SMD7 0.006263 0.000127 2,394 654.34 
SMD8 0.003122 0.000157 4,188 647.12 
SMD9 — — — — 
SMD10 — — — — 
SMD11 — — — — 
SMD12 — — — — 
MedianMedianMedianLL evals
Test problem numberUL accuracyLL accuracyLL callsLL calls
SMD1 0.000332 0.000018 2,534 644.54 
SMD2 0.000066 0.000011 2,366 653.36 
SMD3 0.000359 0.000033 2,278 655.76 
SMD4 0.000286 0.000027 1,598 685.43 
SMD5 0.000052 0.000009 2,890 716.82 
SMD6 0.001435 0.000082 2,936 768.34 
SMD7 0.006263 0.000127 2,394 654.34 
SMD8 0.003122 0.000157 4,188 647.12 
SMD9 — — — — 
SMD10 — — — — 
SMD11 — — — — 
SMD12 — — — — 
Table 8:
Function evaluations (FE) for the upper level (UL) and the lower level (LL) from 11 runs for 20-dimensional test problems. A notation of (x) denotes that the algorithm terminated far away () from the optimal solution. A dash denotes that a feasible solution could not be obtained for the test problem
BestMedianWorst
Total LLTotal ULTotal LLTotal ULTotal LLTotal UL
Test problem numberFEFEFEFEFEFE
SMD1 3,105,178 3,210 5,262,456 5,248 6,868,944 7,378 
SMD2 2,166,384 3,326 4,102,678 4,052 5,803,812 7,076 
SMD3 3,696,032 3,220 4,814,112 4,282 7,015,724 6,314 
SMD4 2,017,734 2,454 2,755,534 3,110 4,364,876 5,296 
SMD5 4,574,482 4,488 8,800,232 7,004 12,064,566 9,290 
SMD6 5,026,522 3,530 8,448,154 6,962 12,448,922 (x) 9,978 (x) 
SMD7 — — — — — — 
SMD8 — — — — — — 
SMD9 — — — — — — 
SMD10 — — — — — — 
SMD11 — — — — — — 
SMD12 — — — — — — 
BestMedianWorst
Total LLTotal ULTotal LLTotal ULTotal LLTotal UL
Test problem numberFEFEFEFEFEFE
SMD1 3,105,178 3,210 5,262,456 5,248 6,868,944 7,378 
SMD2 2,166,384 3,326 4,102,678 4,052 5,803,812 7,076 
SMD3 3,696,032 3,220 4,814,112 4,282 7,015,724 6,314 
SMD4 2,017,734 2,454 2,755,534 3,110 4,364,876 5,296 
SMD5 4,574,482 4,488 8,800,232 7,004 12,064,566 9,290 
SMD6 5,026,522 3,530 8,448,154 6,962 12,448,922 (x) 9,978 (x) 
SMD7 — — — — — — 
SMD8 — — — — — — 
SMD9 — — — — — — 
SMD10 — — — — — — 
SMD11 — — — — — — 
SMD12 — — — — — — 

The nested bilevel evolutionary algorithm was able to solve all the test problems with five dimensions. We consider a test problem solved if the difference between the function value achieved by the algorithm and the optimal function value is no more than 0.1. However, the number of function evaluations required to obtain the optimal solutions in each of the test problems is large. The function evaluations at the upper level are much smaller, as compared to the function evaluations at the lower level. A large number of lower level function evaluations are required, as a lower level optimization task is executed for each upper level vector. For every newly created upper level vector, we first find the lower level optimal solution and then evaluate the upper level function value. Therefore, the number of function evaluations at the upper level is the same as the number of times the lower level optimization task is executed. When the size of the test problems is increased to 10, we observe that the number of function evaluations increases significantly. The nested approach is able to successfully solve the first five test problems in all the runs. For test problems SMD6, SMD7, and SMD8, the nested approach is unable to solve the problems in all the runs; rather, it arrives at the optimal solutions for more than 50% of the runs. For SMD6 the success rate was 82%, for SMD7 it was 73%, and for SMD8 it was 63%. The nested approach fails to handle the constrained test problems for the chosen algorithm parameters. The lower level problems could not be completely solved for SMD9 to SMD12, which introduced infeasible members at the upper level. In the case of 20-dimensional test problems, the nested approach is able to solve SMD1 to SMD5 for all the runs. It is able to handle SMD6 in 63% of the runs, but fails to handle SMD7 to SMD12.

The results demonstrate that a high number of function evaluations is required to solve bilevel problems. With an increase in the number of dimensions, the complexity increases significantly and the available computational resources quickly become insufficient to solve larger versions of the problems. In this paper, we utilize a global optimizer at both levels, which successfully solved smaller versions of the test problems, but failed for constrained test problems with high dimensions. Given the complex nature of bilevel optimization problems, evolutionary algorithms might be a useful approach to follow. However, using evolutionary algorithms alone would demand a large number of function evaluations to solve even simple bilevel problems. Therefore, an intelligent approach which utilizes results from the classical literature within an evolutionary algorithm might be a feasible direction for handling such problems. The set of test problems proposed in this paper would be useful to evaluate such algorithms across various difficulties that a bilevel optimization problem could offer.

7  Conclusions

In this paper we have provided a test problem construction procedure for unconstrained as well as constrained bilevel optimization. The procedure offers the flexibility to control the difficulties at the two levels individually as well as collectively. To demonstrate the framework, we have created a testbed of 12 bilevel optimization problems, out of which 8 are unconstrained and four are constrained. The test suite contains problems that are scalable in terms of number of variables as well as constraints. Moreover, the optimal solutions for all the test problems are clearly identified, which would be useful in testing and evaluating bilevel optimization algorithms. The test problem construction procedure should allow researchers to create additional test problems by varying the basic functions used in different test problems. As a benchmark for comparison, we have provided results from a nested bilevel evolutionary scheme, which utilizes a global optimizer at both levels. Five- and 10-variable instances of all the test problems have been solved that demonstrate the high computational requirement of bilevel problems even for smaller instances. This amply indicates that the solution of bilevel problems, even with an evolutionary algorithm, is a challenging task and more attention must be devoted to develop computationally faster algorithms.

Acknowledgments

Authors A. Sinha and P. Malo wish to thank the Wallenberg Foundation and Liikesivistysrahasto for supporting this study. P. Malo acknowledges the support provided by the Emil Aaltonen foundation. K. Deb acknowledges the start-up grant from the Department of Electrical and Computer Engineering and College of Engineering at Michigan State University, East Lansing, USA.

References

Aiyoshi
,
E.
, and
Shimizu
,
K.
(
1981
).
Hierarchical decentralized systems and its new solution by a barrier method
.
IEEE Transactions on Systems, Man, and Cybernetics
,
11
:
444
449
.
Bard
,
J. F
. (
1983
).
Coordination of multi-divisional firm through two levels of management
.
Omega
,
11
(
5
):
457
465
.
Bard
,
J. F.
, and
Falk
,
J. E
. (
1982
).
An explicit solution to the multi-level programming problem
.
Computers and Operations Research
,
9
(
1
):
77
100
.
Bianco
,
L.
,
Caramia
,
M.
, and
Giordani
,
S
. (
2009
).
A bilevel flow model for hazmat transportation network design
.
Transportation Research Part C: Emerging Technologies
,
17
(
2
):
175
196
.
Brotcorne
,
L.
,
Labbe
,
M.
,
Marcotte
,
P.
, and
Savard
,
G
. (
2001
).
A bilevel model for toll optimization on a multicommodity transportation network
.
Transportation Science
,
35
(
4
):
345
358
.
Calamai
,
P. H.
, and
Vicente
,
L. N
. (
1992
).
Generating linear and linear-quadratic bilevel programming problems
.
SIAM Journal on Scientific Computing
,
14
(
1
):
770
782
.
Calamai
,
P. H.
, and
Vicente
,
L. N
. (
1994
).
Generating quadratic bilevel programming test problems
.
ACM Transactions on Mathematical Software
,
20
(
1
):
103
119
.
Colson
,
B.
,
Marcotte
,
P.
, and
Savard
,
G.
(
2007
).
An overview of bilevel optimization
.
Annals of Operational Research
,
153
:
235
256
.
Constantin
,
I.
, and
Florian
,
M
. (
1995
).
Optimizing frequencies in a transit network: A nonlinear bi-level programming approach
.
International Transactions in Operational Research
,
2
(
2
):
149
164
.
Deb
,
K.
, and
Sinha
,
A
. (
2010
).
An efficient and accurate solution methodology for bilevel multi-objective programming problems using a hybrid evolutionary-local-search algorithm
.
Evolutionary Computation Journal
,
18
(
3
):
403
449
.
Dempe
,
S
. (
2002
).
Foundations of bilevel programming
.
Secaucus, NJ
:
Kluwer Academic
.
Dempe
,
S.
,
Dutta
,
J.
, and
Lohse
,
S
. (
2006
).
Optimality conditions for bilevel programming problems
.
Optimization
,
55
(
5–6
):
505
524
.
Frantsev
,
A.
,
Sinha
,
A.
, and
Malo
,
P.
(
2012
).
Finding optimal strategies in multi-period Stackelberg games using an evolutionary framework
. In
IFAC Workshop on Control Applications of Optimization, IFAC-2009
, pp.
33
38
.
Fudenberg
,
D.
, and
Tirole
,
J
. (
1993
).
Game theory
.
Cambridge, MA
:
MIT Press
.
Herskovits
,
J.
,
Leontiev
,
A.
,
Dias
,
G.
, and
Santos
,
G.
(
2000
).
Contact shape optimization: A bilevel programming approach
.
Structural and Multidisciplinary Optimization
,
20
:
214
221
.
Kirjner-Neto
,
C.
,
Polak
,
E.
, and
Kiureghian
,
A
. (
1998
).
An outer approximations approach to reliability-based optimal design of structures
.
Journal of Optimization Theory and Applications
,
98
(
1
):
1
16
.
Migdalas
,
A
. (
1995
).
Bilevel programming in traffic planning: Models, methods and challenge
.
Journal of Global Optimization
,
7
(
4
):
381
405
.
Mitsos
,
A.
, and
Barton
,
P. I.
(
2006
).
A test set for bilevel programs
. http://yoric.mit.edu/download/Reports/bileveltestset.pdf
Moshirvaziri
,
K.
,
Amouzegar
,
M. A.
, and
Jacobsen
,
S. E
. (
1996
).
Test problem construction for linear bilevel programming problems
.
Journal of Global Optimization
,
8
(
3
):
235
243
.
Sinha
,
A.
,
Malo
,
P.
, and
Deb
,
K.
(
2012
).
Unconstrained scalable test problems for single-objective bilevel optimization
. In
2012 IEEE Congress on Evolutionary Computation, CEC-2012
, pp.
1
8
.
Sinha
,
A.
,
Malo
,
P.
,
Frantsev
,
A.
, and
Deb
,
K.
(
2013
).
Multi-objective Stackelberg game between a regulating authority and a mining company: A case study in environmental economics
. In
2013 IEEE Congress on Evolutionary Computation, CEC-2013
.
Piscataway, NJ
:
IEEE Press
.
Sinha
,
A.
,
Malo
,
P.
,
Frantsev
,
A.
, and
Deb
,
K.
(
2014
).
Finding optimal strategies in a multi-period multi-leader-follower Stackelberg game using an evolutionary algorithm
.
Computers & Operations Research
,
41
:
374
385
.
Sinha
,
A.
,
Srinivasan
,
A.
, and
Deb
,
K
. (
2006
).
A population-based, parent centric procedure for constrained real-parameter optimization
. In
2006 IEEE Congress on Evolutionary Computation, CEC-2006
, pp.
239
245
.
Sinha
,
A.
,
Tiwari
,
S.
, and
Deb
,
K
. (
2005
).
A population-based, steady-state procedure for real-parameter optimization
. In
2005 IEEE Congress on Evolutionary Computation, CEC-2005
, pp.
514
521
.
Smith
,
W.
, and
Missen
,
R
. (
1982
).
Chemical reaction equilibrium analysis: Theory and algorithms
.
New York
:
Wiley
.
Sun
,
H.
,
Gao
,
Z.
, and
Wu
,
J
. (
2008
).
A bi-level programming model and solution algorithm for the location of logistics distribution centers
.
Applied Mathematical Modelling
,
32
(
4
):
610
616
.
Vicente
,
L. N.
, and
Calamai
,
P. H
. (
2004
).
Bilevel and multilevel programming: A bibliography review
.
Journal of Global Optimization
,
5
(
3
):
291
306
.
Wang
,
F. J.
, and
Periaux
,
J
. (
2001
).
Multi-point optimization using gas and Nash/Stackelberg games for high lift multi-airfoil design in aerodynamics
. In
Proceedings of the 2001 Congress on Evolutionary Computation, CEC-2001
, pp.
552
559
.
Wang
,
G.
,
Wan
,
Z.
,
Wang
,
X.
, and
Lv
,
Y
. (
2008
).
Genetic algorithm based on simplex method for solving linear-quadratic bilevel programming problem
.
Computers and Mathematics with Applications
,
56
(
10
):
2550
2555
.
Yin
,
Y
. (
2000
).
Genetic algorithm based approach for bilevel programming models
.
Journal of Transportation Engineering
,
126
(
2
):
115
120
.

Note

1

The first six test problems were proposed through a conference publication (Sinha et al., 2012).

Author notes

*Also Visiting Professor at Aalto University School of Business, Helsinki, 00076 Aalto, Finland.