SOLUTION ALGORITHM FOR A NEW BI-LEVEL DISCRETE NETWORK DESIGN PROBLEM

A new discrete network design problem (DNDP) was proposed in this paper, where the variables can be a series of integers rather than just 0-1. The new DNDP can determine both capacity improvement grades of reconstruction roads and locations and capacity grades of newly added roads, and thus complies with the practical projects where road capacity can only be some discrete levels corresponding to the number of lanes of roads. This paper designed a solution algorithm combining branch-and-bound with Hooke-Jeeves algorithm, where feasible integer solutions are recorded in searching the process of Hooke-Jeeves algorithm, lend-ing itself to determine the upper bound of the upper-level problem. The thresholds for branch cutting and ending were set for earlier convergence. Numerical examples are given to demonstrate the efficiency of the proposed algorithm.


INTRODUCTION
The network design problem (NDP) is concerned with the modification of a transportation network configuration by adding new links or improving the existing ones, so that the total travel time over the network or the total cost including travel time and investment is minimized as the certain social welfare objective. Selecting the locations of the additional links and determining their capacities are motivating problems, trying to minimize the total system costs and accounting for the route choice behaviour of network users. NDP can be roughly classified into three categories. The standard DNDP, expressed by 0-1 integer decision variables, deals with the selection of the optimal locations of new links to be added. The continuous network design problem (CNDP), expressed by continuous decision variables, determines the optimal capacity enhancement for a subset of existing links. Finally, the mixed network design problem (MNDP) combines both CNDP and DNDP in a network [1]. NDP can be generally formulated as mathematical programming with equilibrium constraints (MPEC), determinate user equilibrium assignment model (UE) or stochastic user equilibrium assignment model (SUE), mentioned in [2,3,4]. MPEC is usually applied to describe the route choice behaviour of network users. Various solution algorithms, including gradient-based [5,6,7,8] and derivative-free (or meta-) heuristic algorithms [9,10,11], have been proposed for solving the family of NDPs.
Because of the computational difficulties experienced with the solution algorithm of non-linear bilevel mixed integer programming with a large number of 0-1 variables, the bi-level discrete network design problem has been recognized as one of the most difficult yet challenging problems in transport [1,12]. A large number of scholars have investigated NDP over the past three decades. Some of them proposed the continuous network design problems to avoid the complexity of NDP [1,13,14,15]. This clearly simplified the problem because it removed the combinatorial aspects and made the problem amenable to a number of non-linear programming algorithms. The computational benefits of using continuous approximation to the discrete problem can be substantial [16]. The disadvantage to this approach is that it may be difficult to translate the continuous solution into particular projects which can be implemented. This is especially difficult if the continuous solution indicates relatively small improvements on a large number of links. Because projects often incurred substantial start-up costs, such a solution may not be really practical [17].
This paper intends to develop a new DNDP, more consistent with the actual, where the variables can be a series of integers rather than just 0-1. Because the value range of variables is wider, the solution for the new DNDP is more complex. Leblanc in [18] used the branch-and-bound algorithm to solve DNDP, but he assumed that additional link improvements would always reduce the total user cost, the bounds were relatively "loose" and the value of variables can only be 0 or 1. Poorzahedy and Turnquist (1982) in [19] transformed the bi-level model into a single one through an approximation and then used the branch-and-bound algorithm to solve it, but the solution of the model may not be accurate. The methods proposed by Gao et al. in [17] and Hamid and Mohammad in [20], mainly dealt with 0-1 DNDP and could not be directly applied in solving the new DNDP with discrete values. Wang and Lo in [21] extended their algorithm to CNDP to solve the network design problems with discrete levels of capacity improvements, but the method could not deal with the case of new link additions and their basic idea was to transform CNDP into a mixed-integer linear program. Some algorithms for the integer program such as the branch-and-bound are still needed, so the solution is still very complex if the number of variables is large. Luathep et al. in [22] generalized the approach developed in Wang and Lo in [21] to solve any type of network design problems, including CNDP, DNDP and MNDP. The required constraints involve all the extreme points of the closed convex polyhedron for the feasible flow patterns. It is generally difficult to identify all the extreme points for a polyhedron, and in particular, for a moderately large network problem, the constraint set might become huge and intractable. This paper discusses a new DNDP with discrete values. The solution will be very complex and time-consuming in the branch-and-bound method applied. In this paper each sub-problem of the branch is solved by the Hooke-Jeeves algorithm. The integer solutions are recorded in the searching process which lends itself to determine the upper bound on the upper-level objective function and cuts useless branches quickly, improving the speed of the branch-and-bound algorithm for earlier convergence. If the difference between the current lower bound and the upper bound is within a very small value, then the calculation ends. This rule can also be an additional rule for branch cutting, if the difference between the objective function value and the current upper bound is within a very small value. Then the sub-problem is cut.
The remainder of the paper is organized as follows. Section 2 presents the formulation of new DNDP. Section 3 proposes the solution algorithm combining branch-and-bound with Hooke-Jeeves algorithm. In Section 4 numerical examples are given to demonstrate the efficiency of the proposed method for this new DNDP. The final section concludes the paper and discusses the future research issues.

Notations
The notations used throughout the paper are listed as follows, unless otherwise specified. ,

The upper-level optimization problem
In the actual road network design, it has to be determined which roads should be newly constructed and which roads need improvements. For the candi-date new roads, it needs to be determined whether they should be added and what grade their capacities are if they are added. For the reconstructed roads, what grade should be decided to improve their capacities. There are some discrete levels rather than continuous values. Dividing the road capacity into a series of discrete grades is consistent, because for each link it may be one lane, or 2 lanes, 3 lanes, 4 lanes, etc., continuous variables cannot correspond well to the actual ones. Because the value range of variables is wider than just 0-1, the solution for this kind of DNDP with discrete values is more complex. The challenging problem is to find the ideal solution soon.
The new DNDP aims to find both capacity expansions of existing links (a series of discrete levels of capacity enhancements) and new link additions (not only to decide whether a new link is added, but also decide the grade of its capacity if it is added) in order to minimize the total travel time of the network users or to minimize the total cost including travel time and investment under the UE (user equilibrium) condition.
DNDPs have two types: DNDP having budget constraint and DNDP without budget constraint [18]. For DNDP having budget constraint, the upper-level optimization problem of DNDP is formulated as (1)~(6), where F is the total travel time of the network users.
, # + , , , , , , , , , , a A3 6 ! (6) where x is implicit function of y and u and can be obtained by solving the lower-level UE problem, a i is the capacity enhancement corresponding to each grade increase for link a and Ca r is the upper bound of the capacity for link a. The budgetary constraint is presented in (2), the total expense including new link constructions and existing link reconstructions should be restricted within the budget. Constraint (3) expresses the upper bounds of the additional capacities of the expanded links. If u 0 a = then a a A3 ! h will not be added into the network. If ! h are discrete variables whose values take 0,1,2,3,….
For DNDP without budget constraint, where the expense is placed into the objective function, the upper-level optimization problem of DNDP is formulated as (7)~(11), where F is the total cost including travel time and investment and z is the relative weight of travel time and construction expense.
subject to, , , , , , , , , where (8)~(11) are the same as (3)~(6). Value a i emphasizes that road capacity is not proportional to adding of lanes. For example, the capacity of one lane is 500, while the capacity of 2 lanes is less than 1,000, about 900. The capacity of 3 lanes is less than 1,500, supposedly 1,200. So a i is not fixed for the above example: 400 a i = when the number of lanes increases from 1 to 2, while 300 a i = when the number of lanes increases from 2 to 3. This is mainly because the gap between vehicles in different lanes increases when lanes are addied But in this paper it will be assumed that a i is fixed for the convenience of the following modelling and calculation and a i will be the same whether the number of lanes increases from 1 to 2 or from 2 to 3.

The lower-level user equilibrium assignment
The UE problem with fixed demand can be formulated as (12)~(16) [23].
subject to, In this model, the users at the lower-level are assumed to follow the user-equilibrium principle of Wardrop under the given network. Constraints (13)~ (15) are definitional and conservation of the flow constraints. Constraint (16) prohibits the flow on any proposed link that is not actually constructed and M is an then xa can be as large as desired.

THE SOLUTION ALGORITHM FOR THE BI-LEVEL PROBLEM
Because the value range of variables is wider (rather than just 0-1), the solution for DNDP with discrete values will be more complex and time-consuming. The previous studies about DNDP used variables which only took 0 or 1 [17,18,19,20]. Wang and Lo in [21] extended their algorithm for CNDP to solve the network design problems with discrete levels of capacity improvements, but their method could not deal with the case of new link additions. Their basic idea was to transform CNDP into a mixed-integer linear program. Algorithms for the integer program such as the branchand-bound were still needed, so the solution would be very complex if the number of variables were large.
The problems defined by (1)~(16) are essentially non-linear integer bi-level programs. This paper aims to develop an algorithm combining branch-and-bound with Hooke-Jeeves to solve it.

Proposed method idea
Hooke-Jeeves algorithm is a direct search method. Abdulaal and Leblanc in [16] applied the Hooke-Jeeves algorithm to solve CNDP. This method was a step search algorithm. The step length took a bigger initial value (an integer larger than or equal to 1) to search and then reduced by a certain ratio when it could not find a better solution and then continued to search until the step length was smaller than the given value. Then the solution could be obtained as the optimal one.
Branch-and-bound algorithm is a normal method for solving the integer or mixed integer program. Leblanc in [18] and Poorzahedy and Turnquist in [19] applied the branch-and-bound algorithm to solve 0-1 DNDP. This paper will design a solution method combining branch-and-bound with Hooke-Jeeves algorithm to solve the new DNDP with discrete values. Since the needed time would be large and calculation would be slow if only the branch-and-bound algorithm was used to solve the integer program with many variables, an attempt was made to find a better integer solution soon and thus save time. More branches can be cut whose objective function value after relaxation is larger than the one depending on this integer solution if a good integer solution has been obtained. The Hooke-Jeeves algorithm has been used to solve the relaxed problem (continuous relaxation). The Hooke-Jeeves algorithm has its advantage because if any initial feasible integer solution is given, then these solutions are all integer if search step length is an integer 1 $ d , and these feasible solutions will be better than the initial solution. When 1 1 d the following solutions are more of non-integer solutions, but it may appear that all elements of a solution are integers at a step length smaller than 1. We must record each integer solution which may occur at each search step of Hooke-Jeeves algorithm in solving the relaxed problem and always replace the former ones with the latter better integer solutions. Always record the best integer solution as the new upper bound so far as any branch, whose objective function value after relaxation is larger than this upper bound, is cut.
In addition, for earlier convergence and saving the time, the ending rule should be set. Denote by F * the optimal objective function value of the integer program (1)~ (16) and suppose that the lower bound series of relaxed problems is produced as follows: Upper bound series are are a series of objective function values of the integer program (1)~(16) corresponding to a series of integer solutions.
and f is a very small value), then , then the integer solution y k h is an f approximately optimal solution.
The above rule can be applied in branch cutting. Suppose the current upper bound F . Consider a branch whose objective function value (F) after relaxation satisfies and f is a very small value). This branch has to be cut, without further rebranching (continuing to branch) of this branch. Because if the branch rebranches, its objective function value (Fl) of the integer solution will satisfy mean that even if a better feasible integer solution exists (having a smaller objective function value) when a branch rebranches, the difference between its value and the value of current integer solution will not surpass f.
), obviously the better integer solution cannot be obtained, so this branch should be cut.
So the conditions for branch cutting are the following. 1. The optimal solution of the sub-problem (i.e. the branch) is an integer solution; 2. The sub-problem has no feasible solutions; 3. The objective function value of the sub-problem is larger than or equals the current upper bound; 4. The objective function value (F) of the sub-problem where F is the current upper bound.

The steps of the proposed algorithm
The steps of the proposed algorithm for solving the problem defined by (1)~(16) are as follows.
Denote the integer program defined by (1)~(16) as H and denote its continuous relaxation as B.
(1) Solving problem B by the Hooke-Jeeves algorithm, the cases as follows may occur:  If problem B has no feasible solutions, then problem H also has no feasible solutions (because B is a continuous relaxation problem of H and H B 3 ). End (because if any feasible solution does not exist, then any feasible integer solution certainly does not exist either).  If problem B has an optimal integer solution, then it is just the optimal solution of problem H. End (the integer solution of B is also the solution of H because B is a continuous relaxation problem of H).  Problem B has a non-integer optimal solution, whose objective function value is F . In the process of calculation with the Hooke-Jeeves algorithm, record the feasible best integer solution (having the smallest objective function value) as the upper bound (F ) on the upper objective function.
If F * denotes the optimal objective function value of problem H, then F F F * # # . Then perform the following: Choose a variable (such as yj ) whose value is a non-integer (bj ) from the optimal solution of problem B. If bj 6 @ denotes the maximal integer smaller than bj , construct two constraints as follows: Add each of the two constraints into problem B to obtain the following sub-problems B1 and B2 as the two branches. The initial solutions for solving subproblems B1 and B2 takes on the j th position of solution vector bj 6 @ and b 1 j + 6 @ , respectively. The other positions can take the same values as the optimal solution of previous program B. Record the feasible best integer solution in the search process of Hooke-Jeeves algorithm and round the optimal solutions of the followed sub-problems. If the rounded solutions are also feasible and better than the previous integer solutions, then they can be the best integer solutions in the whole calculation process.
Find the smallest objective function value as the new lower bound F from all current branches. From the branches whose optimal solutions are integer solutions and the best integer solutions in the search process of Hooke-Jeeves algorithm for other branches, find one which has the smallest objective function value and compare its objective function value with the last upper bound. If the value is smaller than the last upper bound then it can be the new upper bound. If it is larger than or equals to the last upper bound or no feasible integer solutions are obtained then the last upper bound remains the current upper bound.
Any branch whose optimal objective function value (F) is larger than or equals the upper bound F (F F 0 # -) or has no feasible solutions or satisfies and f is a very small value) is cut. For the branches whose optimal objective function value is smaller than F and the optimal solution is not an integer solution, tag the relaxed problem as B and repeat steps 1 and 2 until no branch on the tree needs to be considered or until the ending rule F F k k # f is satisfied. The obtained best integer solution is just the optimal solution of the original problem H.
After branch cutting, the decision of choosing the branch to continue branching from the left branches in searching the tree also affects the convergence speed in the process of branching and bounding. Here the lower bound priority strategy is applied which means that always the branch with the smallest lower bound should be chosen to continue branching.

Example 1: The 16-link network.
The 16-link network, as shown in Figure 1, consists of six nodes and two O-D pairs. The arc numbers are on the links. All input information for these test networks are the same as those used by Suwansirikul et al. in [10]. The travel demands for the O-D pairs (1, 6) and (6, 1) are assumed to be q and 2q, respectively. Travel demand levels with q 5 = and q 10 = are considered for the tests. The objective function of DNDP without budget constraint is , F x t x y y a a a a a a a a A A where a h is improvement cost per unit incremental capacity of expanded link a (a A2 ! ), the relative weight (z) of travel time and construction expense takes 1. Suppose that ya, a A2 ! are integers between 0 and 6.  Figure 2 shows the branch-and-bound tree when q 5 = and . 0 001 f = . The numbers beside the ovals are branch numbers. F1 denotes the optimal objec-tive function value of the relaxed problem (The relaxed problem removes (10) and so its solutions may be nonintegers, and the relaxed problem can add constraints (17)- (18) in the process of branch-and-bound algorithm), F denotes the function value of the obtained best integer solution in the search process of Hooke-Jeeves algorithm. The Hooke-Jeeves algorithm is applied to solve each sub-problem with initial search step size It is noticeable that the optimal integer solution has been found on Branch 1. Figure 3 shows the branch-and-bound tree when q 10 = .
. It is noticeable that the optimal integer solution has been found on Branch 1. If 0.01 f = as threshold for branch cutting and ending, then just a step on Branch 1 is enough to find the best integer solution.

Example 2: The Sioux Falls network
The second test is with the network of Sioux Falls city, as shown in Figure 4. The objective function of DNDP is . F x t x y 0 001  [10]. Here, the only difference is that it must be an integer solution between 0 and 6. Note that there is no budget constraint for DNDP.
. 0 08 f = as threshold for branch cutting and ending. It is supposed that links needing to be expanded are shown in Table 4.
In Figure 4, Branch 3 is cut because the difference between the objective function value F (81.4551) and the current upper bound (81.5190) is 0.0639 which is smaller than f (0.08). In the same way, Branches 5 and 7 are cut. Branch 6 is cut because the objective function value F (81.5892) is larger than the upper bound (81.5190). So the best integer solution of the original problem is y = [6 2 5 2 3 2 3 5 4 5], the objective function value is 81.5190. In fact, on Branch    Integer solution Integer solution 1 the optimal integer solution has been found. It is noticeable that if f takes a very small value, such as 0.000001, then the optimal solution is y = [5 2 5 2 2 3 3 5 4 5], the objective function value is 81.4737. Do not draw the detailed branch-and-bound tree due to the restriction of text length.

Example 3: The 12-node network
The 12-node network, as shown in Figure 6, was used by Gao et al. in [17]. It consists of twelve nodes and one OD pair (1,12). The solid lines are the existing links whereas six candidate links are represented by the dashed lines. The travel time function on each link is assumed to be (1) , , , u 0 1 2 3 a ! " ,, budget =100, 10 f = as threshold for branch cutting and ending. Figure 7 presents the branch-and-bound tree.
For the solution of NDP with budget constraint, the penalty function method in [24] is first used to transform it (NDP with budget constraint) to an extremum problem without constraints.
Here, 10 f = as threshold for branch cutting and ending and the accuracy is 10/1874.6 = 0.0053. Branch 3 is cut because the difference between the    (2) , u 0 1 a = " , budget =50. The results in [17] are obtained under , u 0 1 a = " , so the research in [17] is a special case of the research above. Let 10 f = as threshold for branch cutting and ending. Figure 8 presents the simplified branch-andbound tree. On branch 2 an integer solution was obtained and its function value was 2449.3. On branch 5 a better integer solution was obtained and the function value was 2406.2 as new upper bound. Branches 2 and 7 are cut because the objective function values (2446.5, 2633.0) are larger than the upper bound (2406.2), while branches 4 and 6 were cut because the differences between their objective function values (2401.5, 2402.5) and the current upper bound (2406.2) are smaller than f (10). So the optimal solution of the original problem is [1 0 1 1 0 1], the objec-tive function value is 2406.2, which is the same as the one reported in [17].

CONCLUSION AND DISCUSSION
A new kind of DNDP was proposed in this paper on the basis of the existing 0-1 DNDP, where the variables can be a series of integers rather than just 0-1. The new DNDP is consistent with the practical projects because whether it is a newly constructed road or a reconstructed one, its capacity needs to be determined in the first place. Because the capacity of the road can only be some discrete levels corresponding to the number of lanes it has in the practical projects, it is more realistic to use DNDP with discrete values than CNDP.
Since the value range of variables is wider than just 0-1, the solution for DNDP with discrete values is more complex. This paper designed a solution method combining branch-and-bound with Hooke-Jeeves algorithm. Branch-and-bound algorithm is a normal method for solving the integer or mixed integer program. Hooke-Jeeves algorithm is a step searching algorithm. The step length takes a bigger initial value to search and then reduces by a certain ratio until a solution satisfying accuracy is obtained. Through a combination of branch-and-bound and Hooke-Jeeves algorithm, the relaxed problem of each sub-problem can be solved by the Hooke-Jeeves algorithm. Feasible integer solutions are recorded in the search process which lends itself to determine the upper bound on the upper-level objective function and cut useless branches quickly, improving the speed of the branch-and-bound algorithm. For earlier convergence, if the difference between the current lower bound and the upper bound is within a very small value, then the calculation ends and the current upper bound is the approximate optimal ob-     For DNDP with discrete values, because the value range of variables is wide, it is very time-consuming to solve it using the branch-and-bound algorithm if the number of links is large. Although a solution method of combining branch-and-bound and Hooke-Jeeves algorithm was proposed in this paper with an addition of convergence and branch cutting rules for improving the calculation speed, only a local optimal solution can be obtained to solve the relaxed problems because the Hooke-Jeeves algorithm is only a kind of local optimal algorithm. Finding the algorithms which cannot only give the global optimal solution, but also record feasible integer solutions obtained in the search process and combine it with branch-and-bound algorithm to solve DNDP with discrete values is still an issue for future research.