UNIVERSITY OF
ILLINOIS LIBRARY
AT URBANA-CHAMPAIQN
BOOKSTACKS
va%
CENTRAL CIRCULATION AND BOOKSTACKS
The person borrowing this material is re-
sponsible for its renewal or return before
the Latest Date stamped below. You may
be charged a minimum fee of $75.00 for
each non-returned or lost item.
Theft, mutilation, or defacement of library materials can be
causes for student disciplinary action. All materials owned by
the University of Illinois Library are the property of the State
of Illinois and are protected by Article 16B of Illinois Criminal
Law and Procedure.
TO RENEW, CALL (217) 333-8400.
University of Illinois Library at Urbana-Champaign
SE? 011999
■6 200
When renewing by phone, write new due date
below previous due date. L162
BEBR
FACULTY WORKING
PAPER NO. 1463
Solving a Real World Highway Network
Design Problem Using Bilevel Linear Programming
Omar Ben-Ayed
Charles E. Blair
David E. Bo\ce
Hi*
9f
hit
College of Commerce and Business Administration
Bureau of Economic and Business Research
University of Illinois. Urbana-Champaign
BEBR
FACULTY WORKING PAPER NO. 1463
College of Commerce and Business Administration
University of Illinois at Urbana- Champaign
June 1988
Solving a Real World Highway Network Design Problem
Using Bilevel Linear Programming
Omar Ben-Ayed, Graduate Student
Department of Business Administration
Charles E. Blair, Professor
Department of Business Administration
David E. Boyce
Department of Civil Engineering, University of Illinois
Digitized by the Internet Archive
in 2011 with funding from
University of Illinois Urbana-Champaign
http://www.archive.org/details/solvingrealworld1463bena
SOLVING A REAL WORLD HIGHWAY NETWORK DESIGN PROBLEM
USING BILEVEL LINEAR PROGRAMMING
OMAR BEN-AYED and CHARLES E. BLAIR
Department of Business Administration
University of Illinois at Urbana-Champaign, IL 61820
DAVID E. BOYCE
Department of Civil Engineering
University of Illinois at Urbana-Champaign, IL 61801
(May 1988)
This paper is concerned with the solution of a real world Bilevel Linear
Program (BLP) of the highway Network Design Problem (NDP), based on empirical
data for Tunisia. The problem includes 2,683 variables (2,571 at the lower
level) and 820 constraints; it is far beyond the capacity of any existing
algorithm. A new algorithm is devised and the solution is found successfully
despite the NP-hardness of BLP and the large scale of the problem. The computa-
tional difficulties of BLP should not present a barrier against the effective
use of such a powerful optimization technique.
Bilevel Linear Programming (BLP) is a mathematical model of an organiza-
tional hierarchy in which two decision makers have to choose their strategies
from the polyhedron {(x,y): Ax + By < b; x, y > 0). The upper decision maker,
who has control over x, makes his decision first, hence fixing x before the
lower decision maker selects y [Bialas and Karwan 1982 and 1984, Bard 1983,
and, Ben-Ayed 1988] .
The ability of BLP to represent decentralized decision-making problems
motivated the development of several applications of the model, including
resource allocation [Cassidy 1971, Fortuny-Amat and McCarl 1981], military
planning [Bracken and McGill 1973, 1974a and 1974b, Shere and Wingate 1976,
Falk 1977] and government policy [Candler and Norton 1977, DeSilva 1978, Bialas
et al. 1980, Falk and McCormick 1982, Candler and Townsley 1982 and 1985].
2
Recently, attention has been focused on applying bilevel formulations to a
transportation decision making problem referred to as the Network Design
Problem (NDP) [LeBlanc and Boyce 1986, Marcotte 1986, Ben-Ayed, Boyce and Blair
1988]. NDP is concerned with the optimal improvement of a transportation
network in order to minimize the system total costs.
Most BLP applications are limited to the theoretical formulation, thereby
lacking the practical significance of solving real problems. Actually, the
overwhelming majority of real-world problems are formulated and solved as
single-level (single-objective) programs even when they are virtually bilevel.
This is mainly due to the inefficiency associated with BLP algorithms [Ben-Ayed
and Blair 1988], which presents a real barrier against the effective use of the
model. In trying to motivate further applications of BLP going beyond the
theoretical formulations and the small illustrative examples to interesting
real world problems, Ben-Ayed, Blair and Boyce [1988] presented a BLP formula-
tion of the interregional highway NDP based on empirical data for Tunisia. This
paper gives the solution to the problem formulated there. This problem includes
2,683 variables (2,571 of which are lower) and 820 constraints, which makes it
too large to be solved by any of the existing algorithms.
Section 1 presents the problem. In Section 2, we develop a new algorithm
that takes advantage of the special structure of the problem. There are two
reasons for having a BLP formulation; first the user-optimized flow requirement
(user-equilibrium), and second the nonconvex improvement functions. The
algorithm deals with each of the two lower problems separately; at each
iteration we try to find a better compromise with the user, while including the
smallest possible number of nonconvex improvement functions to get the exact
solution with the minimum computation effort. In Section 3, the solution is
presented and the results are analyzed. We conclude in the last section with
some suggestions.
1. The Problem to be Solved
In this section we give a short description of the formulation resulting
from the empirical study conducted by Ben-Ayed, Blair and Boyce [1988] on the
Tunisian interregional highway transportation network. We are concerned with a
system of roads connecting the regions of Tunisia. Each region is represented
by a centroid-node which is usually the largest city in the region. The traffic
entering and leaving a centroid-node is assumed to be that of the whole region;
every centroid-node is simultaneously an origin-node and a destination-node.
The other nodes in the network are intersections of roads generally correspond-
ing to intermediate cities. A road connecting any two cities is called a link
and a sequence of links is called a route. We have empirical data on the number
of people who want to travel from each region to each other region. Typically,
a traveller has a choice of routes and makes his decision based on road
conditions. Improvements in various links in the network sill cause some
travellers to change their choice of routes. We will not provide details about
the empirical data, the construction of the objective functions and the
constraints in the formulation; however, a brief discussion on the inclusion of
the bilevel presentation is relevant to the object of this paper.
The principal variables in the formulation are the traffic flow and the
added capacity resulting from the improvement, both measured in Passenger Car
Units per hour (PCU). The designers of a road network wish to find the best
combination of improvements to make. Their objective takes into account the
cost of improvements and also factors which depend on the pattern of road use,
including system travel time, system operating cost and frequency of accidents.
The users of the network decide which routes to use primarily based on their
individual cost; therefore, their choices do not necessarily coincide with the
choices that are optimal for the system [Wardrop 1952]. The system can in-
fluence users choices, however, by improving some links and making them more
4
attractive than others. When deciding on these improvements, the system tries
to influence the users' preferences in order to minimize total system costs.
Thus in our BLP, the upper decision maker chooses the amount of improvement to
make on each of the different roads (links in the network) while the lower
decision maker chooses how much traffic there will be on each road. A similar
approach is used by LeBlanc and Boyce [1986], and Ben-Ayed, Boyce and Blair
[1988] .
In addition to the user-optimized flow requirement, BLP formulation allows
the analysis of nonconvex piecewise linear functions [Ben-Ayed, Blair and Boyce
1988]. A typical improvement function might be:
f(Z) = 10Z 0 < Z < 200
= 2000 + 3(Z-200), 200 < Z < 500 (1)
= 2900 + 8(Z-500), 500 > 500.
where Z is the amount of improvement of a link and f(Z) is the cost of that
improvement. Note that f(Z) is neither convex nor concave, thus making it
difficult to analyze. However, the function can be included in the upper
objective of a BLP with an appropriate lower objective. The technique is based
on the following:
f(Z) = F(Z,W) = 10Z - 7WX + 5W2, where W^MAXfO, Z-200} , W2=MAX( 0 , Z-500] .
The variables Wm are controlled by the lower problem; the lower objective
trying to make the Wm as small as possible, and the constraints W^ > Z-200, W2
> Z-500 guarantee that Wm are least upper bounds. This technique can be used
for any piecewise linear function.
Two drawbacks should be mentioned. First, the method described does increase
the number of lower variables, and this increase may be considerable if there
are many piecewise linear functions in the problem. Second, the resulting BLP
5
is typically distinguished by the conflict between its upper and lower
objectives; there are many variables which the upper objective wants to be as
large as possible, while the lower objective wants them as small as possible.
Experience suggests this type of BLP is difficult to solve.
Including user-optimized flow and nonconvex improvement functions, the BLP
problem obtained by Ben-Ayed, Blair and Boyce [1988] is synthesized in the
following:
MINZ F(Z,W) + G(C)
where [C, C, W, X and Y] solve:
MIN F(W) + G(C)
subject to:
%(¥) = 0
(2)
H2(X,Y) = 0
H3(Z,C,X) > 0
H4(Z,C,X) > 0
H5(Z,W) > 0
H6(Z) > 0
Z, C, C, W, X, Y > 0
where the function F is the improvement cost. The function G is the inter-
regional system travel cost. The vector X is the amount of traffic on each
link. Any traveller from one origin-node to a destination-node has a choice of
different routes to use, corresponding to different sets of links. We use the
components of the vector Y to indicate the number of people using each route.
These numbers determine the numbers of users of each link, shown by the vector
X; the relationship between X and Y is given by the equation constraints
H2(X,Y) while the requirement that specified numbers of people go between
specified nodes is given by the constraints H^Y) referred to as the conserva-
6
tion of flow conditions. F is the lower objective of nonconvex improvement cost
functions. The components of the vector Z are the amounts of improvement on
each of the different links. W is the vector of the second-stage variables used
in computing the improvement cost functions as described previously in (1). G
gives the interregional travel costs on each link for the user. C and C are
vectors of second-stage variables giving total travel costs on each link for
the system and the user, respectively. H3(Z,C,X) and H^(Z,Z,X) are the ine-
quality constraints needed to the formulation of convex travel cost functions
and the effect on improvement on decreasing those costs for the system and the
user, respectively. Hr(Z,W) correspond to the nonconvex piecewise linear
functions constraints. Hg(Z) are the improvement limit constraints. A more
detailed description of the variables and the functions is provided in the
Appendix A.
In the above formulation (2), the total number of variables (see Appendix A)
is 2,683 and the total number of constraints is 820, excluding upper and lower
bound constraints (improvement limit constraints and nonnegativity const-
raints). Those numbers are partitioned as follows:
Variables Constraints
(excluding bound constraints)
112 (X)
112 (C) 120 (conservation of flow conditions )
112 (C) 112 (link flow definition constraints)
112 (Z) 224 (system travel costs formulation)
104 (W^) 224 (cumulative user costs formulation)
36 (Wo) 68 (convex improvement costs formulation)
2,095 (Y) 72 (nonconvex functions formulation)
2,683 820.
The Z are the only variables controlled by the upper problem; therefore
among the 2,683 variables, 2,571 are lower. The nonconvex improvement cost
functions all have 3 pieces; two constraints are needed by each link. The
convex improvement functions require only one constraint per link because they
all consist of two pieces only.
An ideal solution (lower bound) for any BLP minimization problem can be
obtained by ignoring the lower objective function and solving the problem as an
LP. If we call (Z°, X°, C°, C°, Y°, W°) the obtained solution, the ideal
solution is equal to F(Z ,W ) + G(C ). To get an incumbent solution (upper
bound), we substitute Z by Z and solve the lower LP problem. If we call (X ,
C , C , Y , W ) the obtained solution, the incumbent solution is equal to
F(Z ,W ) + G(C ). Let us refer to the gap between incumbent and ideal solutions
as:
gap = (incumbent - ideal)/ideal .
The gap for the BLP problem (2) is larger than 111 % [Ben-Ayed 1988]; this high
value, mainly due to the nonconvex functions formulation, makes the task of
heuristic algorithms extremely difficult, if not impossible. Heuristic al-
gorithms, such as the Parametric Complementary Pivot algorithm (PCP) [Bialas-
Karwan-Shaw 1980, and Bialas-Karwan 1984] and the Grid Search Algorithm (GSA)
[Bard 1983], lead to very unsatisfactory results when applied to BLP problems
with combinatorial nature, such as Knapsack problems or nonconvex formulation
problems [Ben-Ayed and Blair 1988].
The problem is even harder for branch and bound or related implicit enumera-
tion techniques [Falk 1973, Gallo and Ulkiicu 1977, Fortuny-Amat and McCarl
1981, Bialas and Karwan 1982, Papavassilopoulos 1982, Candler and Townsley
1982, Bard and Falk 1982, Bard and Moore 1987]. The Bard-Moore algorithm, which
is supposed to be one of the most efficient, does not accept a problem with
more than 100 lower variables; our problem has more than 25 times this number.
As for any large NP-hard problem, the use of general algorithms is not
efficient. A new algorithm taking advantage of the special structure of the
problem has to be devised to solve the problem at hand.
(4)
2. A Proposed Algorithm
Formulation (2) shows that there are two separate lower objective functions.
In fact, each of the two objectives has its own constraints that are indepen-
dent of the constraints of the other objective, provided that Z are fixed (they
are fixed by the upper objective). This can be better seen when the BLP problem
(2) is restated as follows:
MINZ>0 F(Z,W) + G(C) (3)
such that {W) solve (4):
MIN F(W)
subject to:
H5(Z,W) > 0
W > 0
and {C, C, X and Y) solve (5):
MIN G(C)
subject to:
H(X,C,C,X,Y) > 0
C, C, X, Y > 0
where H(X,C,C,X,Y) > 0 substitutes the constraints H1(Y) = 0, H2(X,Y) = 0,
H3(Z,C,X) > 0, H4(Z,C,X) > 0, and H6(Z) > 0.
The first lower problem (4) corresponds to the nonconvex functions formula-
tion and the other lower problem (5) corresponds to the equilibrium problem.
Because of the NP-hardness of BLP, it is more convenient to take advantage of
the structure of the problem and solve it as two separate smaller problems.
As we mentioned in our discussion of improvement cost functions in the
previous section, the BLP corresponding to (4) is difficult. However, the
situation is different for the BLP corresponding to the equilibrium problem
(5); the travel cost functions of the system and the user are very similar
(5)
9
[Ben-Ayed, Blair and Boyce 1988]. The coefficients of the two functions always
have the same sign, and are even fairly proportional; therefore the use of BLP
heuristics is safe for this second part.
Our approach to satisfy (5) tries to identify a solution that is good for
both the upper and lower objectives by using a convex combination of the two:
tG(C) + (l-t)G(C)
so that we are looking at the problem:
MINZ F(Z,W) + tG(C) + (l-x)G(C)
such that {Z, C, C, X and Y) solve:
H(X,C,C,X,Y) > 0
Z, C, C, X, Y > 0
and such that (W) solve: (6)
MIN F(W)
subject to:
H5(Z,W) > 0
W > 0.
In general, a BLP solution (x ,y ) is called feasible if it belongs to the
polyhedron (Ax° + By < b; x , y° > 0}; and satisfies the optimality of the
lower solution y to the lower problem when the upper variable x is fixed at
x . In our case, for a feasible solution to (6) to be feasible to (2), it must
be the case that, for the given choice of the upper variables Z, the values of
the lower variables are such as to minimize the lower objective G. This will
clearly be the case for t = 0. To make the upper objective as small as pos-
sible, we want to find the largest x for which this is the case.
We will assume that if, for some T , the solution to (6) is feasible, then
the same will be true for any 0 < t < t . This is not always true, but counter-
10
examples are not easy to construct, and a simulation suggests this is a safe
assumption. Granted this assumption, the optimal t, call it x , can be located
by a binary search, which is much quicker than a grid search, as used in Bard
[1983].
For a given t, (6) is still a BLP with too many lower variables to be solved
in a straightforward way. We approach this problem by trying to identify links
on which no improvement will be made. For those links, we replace the nonlinear
improvement cost function f(Z) by aZ + B, chosen so that aZ + /3 < f(Z) for all
Z. We are temporarily assuming that the costs for those links we think are
unlikely to be improved are less than they really are. This produces a smaller,
more tractable, problem. If the solution to this smaller problem does not use a
link with the simplified, cheaper cost it certainly would not want an improve-
ment with the real cost. In the case where the small problem does recommend an
improvement based on the simplified cost, we must solve a new problem with the
real cost as part of the formulation. Thus we solve a sequence of problems in
which links with real costs are added when it seems necessary, but not other-
wise. Fortunately, in practice the process terminates (no new links added) with
a relatively small number of links showing improvement.
Let us call S the set of the links having convex or linear cost improvement
cost functions, T the set of the links having nonconvex improvement cost
functions, T the subset of T containing all links for which Z are different
from 0, and T the subset containing the remaining elements of T. The links
belonging to T are considered as candidates for improvement and must have
their three-piece improvement cost functions f(Z) included in the formulation.
Let (Z1, X1, C1, C1, Y1, W1) be the solution of the LP where all nonlinear
functions f(Z) in (6) are substituted by aZ + J3 , for each link of T. We obtain
the following BLP problem with relatively few lower variables:
11
MINZ ZagS Fa(Za,Wma) + Za£T1 Fa(Za,Wma) + Za£T2 (aQZa+l3a) + xG(C) + (l-x)G(C)
such that [Z, C, C, X and Y} and {Wma, m=l,Ma, aeS} solve:
H(X,C,C,X,Y) > 0
Z, C, C, X, Y > 0
H5a(Za>Wma) * °
Wma * ° (7)
and such that {Wma, m=l,Ma, acT1} solve:
MIN EaeTl Zm=l,Ma Wma
subject to:
Wma " Za - "^ma
Wma * °-
where Ma is the number of breakpoints in the piecewise improvement cost
function of link a; Fa is the upper objective function of nonconvex improvement
cost on link a; and, Hca gives the corresponding constraints.
Let us call (Z2, X2, C2, C2, Y2, W2) the solution of (7). If there exists a
1 ")
link j such that j does not belong to T and Z- is different from 0, then j
has to be subtracted from T , added to T , and (7) has to be resolved until all
? 1
links a having Za positive are elements of T , in which case the exact
solution of (6) is found.
We have constructed from the main BLP problem (2) two other secondary BLP
formulations: a parameterized BLP (6) and a BLP with few lower variables (7).
Problem (7) is solved to give a feasible and optimal solution to (6). If this
solution is user-optimized (i.e. solves the lower LP problem (5) when Z is
fixed at its optimal value for (7)), then it is feasible for (2) and a higher
value of t can be tried. Otherwise, we continue our search for the optimum by
decreasing the value of t.
For any solution (Z1, X1, C , C , Y1, W1), we have to distinguish between
two different values. The first value is that of the upper objective function
12
of formulation (2), equal to F(Z,W) + G(C); let us call it 01. The second value
is the actual cost incurred by the system given a specific value Z1 of Z; let
us call it A1. A1 includes actual improvement cost and actual system travel
cost. The actual improvement cost is obtained by plugging Z1 in the actual
improvement functions f(Z), whether they are linear, convex, or nonconvex. The
actual travel cost, on the other side, is obtained after we solve the lower LP
problem (5) with Z fixed at Z1, obtain the solution (XJ, C J , C J , Y J ) and plug
the XJ into the convex system travel costs; in other words, A1 is equal to
fCZ1) + G(CJ). The first value 01 corresponds to a potential optimal, but not
necessarily feasible solution; it allows to find ideal solutions to the BLP
problem (2). The second value A1 corresponds to a feasible, but not necessarily
optimal, solution; it allows to find incumbent solutions for (2).
The proposed algorithm is an iterative procedure that tries at each itera-
tion to reduce the gap between ideal solution and incumbent solution. The
procedure terminates when the gap is brought below a desired value e, or when
the number of iterations exceeds a fixed limit N. The following flow chart
gives a general description of the iterative procedure; more details are
provided by Appendix B:
Searching for x (Using Binary Search)
Start with t=1
-
A. Solve (6)
B. Test whether solution of (6)
is feasible to (2)
Feaj
sible
Inf easib!
Le
r 1 Mn1.n t 1«-~„_
PO M«1, ~ n- _~,.11M.~
Li 1 .
i iom
* i iai 6ej
.
\j£. .
>.e
oiua iici
13
The most difficult step in the algorithm is step A, in which (6) has to be
solved. Using the concepts explained above in this section, the solution of (6)
is obtained as shown in the following flow chart:
t Fixed
Al. Start with TX=0, T2=T
A2. Solve (7)
A3. Test whether new elements
should be added to T
New
elements added
No element?
; added
A/. M~r» Tl r^r.T T2
K ( C\ r.~1,r~^
J. , new
Several improvements can be added to the algorithm to make it more effi-
cient. The starting ideal and incumbent solutions can be found in a more effi-
cient way. A better ideal solution for (2) can be obtained when solving the LP
obtained after substituting at x = l all nonlinear functions f(Z) in (6) by ccZ+B;
there is no situation better for the system than having cheap improvement and
system-optimized flow. Also, the actual cost incurred by the system when the
problem is solved as a BLP must be lower than the actual cost incurred when a
simpler technique is used; otherwise, there is no justification for using
complex techniques. Therefore, to obtain an incumbent solution, we can just
solve the problem as an LP; we approximate improvement cost functions by their
best linear fit, ignore the lower objective and solve the problem. Let us call
(Z°, X°, C°, C°, Y°) the obtained solution, A0 is the value of the starting
incumbent solution. Using those techniques makes the gap between starting ideal
14
solution and starting incumbent solution as low as 3 % instead of the 111 %
found earlier in the previous section.
Moreover, since the procedure is iterative, it is more efficient to use the
information from the previous iterations in order to make the next one easier
to solve. One way to do this is to introduce to the problem the constraint:
L < F(Z,W) + G(C) < U
where L and U are the values of the current ideal and incumbent solutions,
respectively.
Similarly, the solution of step 2 may require solving (7) more than once.
9 9 9 9 9
Let us assume that we solved (7), obtained the solution (Z , X , C , C , Y ,
9
W ) and have to add a new element and resolve (7). We use the fact that the new
cost will be at most as low as the value we got for the objective when we used
9 1
cheap linear improvement costs (a-Z- + J3-) for the links j to be added to T ;
which gives a lower bound for the solution. An upper bound can also be found by
9
noticing that the new cost is at least as high as the actual cost f(Z )
9
incurred by the system for an added capacity equal to Z . The difference
9
between upper and lower bounds, when step 2 has to be repeated, is E^ti (ai^i
+ Bj) - f(Z2).
Finally, a feasible solution to a BLP problem is obtained by finding the
optimal solution to the lower problem after substituting values for the upper
variables. In our case, any optimal solution (Z1, X1, C1, C , Y1, W1) of the
BLP problem (6) satisfies the optimality requirement of W1 to the lower problem
(A); therefore (Z1, X1, C1, C1, Y1, W1) is a feasible solution of the BLP
problem (2) if it satisfies the optimality requirement for the second problem
(5). Even when the solution (Z1, X1, C1, C1, Y , W1) is not feasible a new
solution (Zk, Xk, Ck, Ck, Yk, Wk) can be obtained, with feasibility guaranteed.
15
It is known from the theory of Linear Programming [see for instance Chvatal
1983, Chapter 10 pp. 148-168] that given two LP problems LP1: (MIN ex, Ax = b,
x > 0} and LP2: (MIN ex, Ax = b' , x > 0), where b and b' are different, any
basic feasible solution x of LP2 that has the same nonbasic variables as the
optimal solution x of LP1, is an optimal solution of LP2. Therefore to
generate feasible solutions for BLP problem (2),. which is equivalent to
generating optimal solutions to the lower problem, we can solve BLP problem (7)
with the additional requirement that all nonbasic variables of the solution
(XJ, CJ , C J , Y J ) of the lower problem (5) with Z fixed at Z1 and all nonbasic
slack and surplus variables be locked. This is added to the algorithm as shown
in Appendix B.
Regarding the reliability of the algorithm, there are no heuristics involved
in finding the incumbent and the ideal solutions. The values given by the
algorithm for those solutions are exact. As long as the algorithm converges,
the solution it gives is the actual optimum within the accuracy desired.
However, it is possible that one finds bad examples for this algorithm where
the convergence is not satisfactory; in such a case the algorithm ends with a
large gap between upper and lower bounds, but does not give a wrong solution.
3. Solution of the Real World Problem
When trying to solve the BLP problem (7) we faced a major constraint, since
we could find no reliable BLP software that could handle problems this large.
Fortunately, (7) can be transformed into an equivalent Mixed Integer Program-
ming problem (MIP), with the number of zero-one variables in the latter equal
to the number of lower variables in (7). It should be emphasized that the use
of MIP does not mean that it is easier to solve. MIP and BLP are both NP-hard
problems and are equally difficult to solve; however, MIP is older and benefits
16
from the availability of good software to solve it. One such package is the
Zero/One Optimization Method (ZOOM), which is an extension of the XMP Linear
Programming system. ZOOM and XMP are both written in Fortran 77 and revised in
1986 by R. E. Marsten from the Department of Management and Information Systems
at the University of Arizona. A description of the XMP library is given in
Marsten [1981]. The subroutines of ZOOM and XMP are used by our program
whenever an LP or an MIP needs to be solved. The computational study, to be
presented in this section, was conducted on the CRAY X-MP/24 supercomputer of
the National Center for Supercomputing Applications at the University of
Illinois at Urbana-Champaign.
First, we show how to transform BLP (7) into MIP. The constraint:
Wm = MAX{(Z - qm), 0)
is equivalent to:
either: Wm = Z - qm, or: Wm = 0
which can be equivalently restated, after introducing zero-one variables Vma,
as :
Wm - Z < -qm + MVm, -Wm + Z < qm + MVm
(8)
Wm * "(l-V, "Wm * ^-V
where M is a large number (it is sufficient to make M larger than the maximum
possible road improvement).
The formulation of (7) as MIP is obtained by replacing the lower problem in
(7) by the constraints (8) for each link a. The constraints Wm < M(l-Vm) are
trivial because of the nonnegativity of Wm; we take them out, and obtain the
following problem to be solved whenever we need to solve (7):
17
«INZ ZaeS Fa(Za'Wma) + EaeTl Fa^a'Wma) + ZaeT2 (°aZa+6a) + *G^ + (l-t)G(C)
such that (Z, C, C, X and Y} and {Wma, m=l,Ma, aeS) solve:
H(X,C,C,X,Y) > 0
Z, C, C, X, Y > 0
H5a(Za>Wma) * 0
and such that {Wma, m=l,Ma, aeT ) solve:
(9)
"Wma + Za " MVma * ^ma
Wma " Za " MVma * "^ma
*ma + MVma * M
Vma e (0, 1).
The technique used to transform (7) into MIP is different from the technique
used by Fortuny-Amat and McCarl [1981]. The use of this latter would have
doubled the number of zero-one variables (requiring a zero-one variable for
each lower variable and a zero-one variable for each lower constraint).
The large size of the problem (2) is mainly due to the high number (2,095)
of routes included in the formulation. Since not all those routes are going to
be used, the problem can be simplified by keeping the most attractive ones and
discarding the rest. We will solve the problem with the reduced number of
routes (we refer to this problem as the small version of the problem), and we
solve also the original problem with all routes included; next we will compare
the solutions of the two problems. The attractive routes are found by solving
both the user equilibrium problem (5) and the system equilibrium problem (same
as (5) except that G(C) is replaced by G(C)) as we increase the values of the
entries of the trip matrix to make the users and the system choose their next
desirable routes. When solving the system equilibrium, we vary also the
improvement cost because of its effect on the routes choice. The accumulated
number of routes chosen by both the system and the user reaches 389 as the flow
18
fluctuates between the original trip matrix and three times that matrix. Those
389 routes, averaging more than three routes per origin destination pair are
the ones to be included in the small version of the problem as compared to the
2,095 included in the large version.
About 15.25 minutes CPU time and 1.4 million words (64 bits per word)
computing storage space were required to obtain the solution of the small
version of the problem. At iteration 0, we compute starting ideal and incumbent
solutions using the ordinary techniques of BLP; the obtained gap is 111.36 %;
next, we use the techniques proposed in Section 2 to get better starting
solutions. At the same iteration, we solve the problem as an LP and we use the
actual cost incurred by the system (namely 257,037.230) as a new incumbent
solution. Then we start the iteration 1 with T=l, TflAX13-'- anc* TMIN=^' When we
find, in the first step (A1-A2 in the flow chart) of iteration 1, the list of
links that are candidates for improvement, we use the solution as a new better
ideal solution; the gap decreases to 3.03 %. In the second step (A3-A4-A2 in
the flow chart), the MIP (9) is solved with only six integer variables. The
solution obtained shows that no more integer variables need to be added; a
slightly improved ideal solution is found for the problem (new gap equals 2.93
%) . The feasibility of the solution is tested in step 3 (B in the flow chart);
the flow is not user-optimized. We generate a feasible solution using the
solution obtained when testing feasibility; a new incumbent solution is
obtained and the gap is reduced to 2.57 % at the end of the first iteration. At
iterations 2 and 3 there is no success in improving the incumbent solution.
Iteration 4, where x = .125, i^x = -250 and t^IN = 0, gives another slight
improvement at the end of step 3, when generating a new feasible solution. The
procedure is stopped at Iteration 5 because the solution seems to be reaching a
steady state; Iteration 5 gives exactly the same solutions as Iteration 4 in
all steps. The final solution retained incurs a cost to the system equal to
19
256115.006.
The small version of the problem is not hard to solve even on an ordinary
computer. However, the large version is more demanding; it required about 4
minutes CPU time and 2.7 million words computing storage space for running one
single iteration. No more iterations were needed because the solution, at the
end of the first iteration, was the same as the solution obtained by the small
version of the problem at that point; which suggests that our choice for the
attractive routes was successful.
Table 1 gives a summary of the intermediate and final results related to the
solution of the real world problem; the complete presentation of those results
is provided by Appendix E in Ben-Ayed [1988]. The Table includes only the
iterations and the steps resulting in an improvement of the gap (increase of
the ideal solution or decrease of the incumbent solution). It can be seen from
the table that, as is usually the case for iterative algorithms, most progress
is made during the first iterations while convergence is slower as the number
of iterations increases. The first two columns of the Table are very different
from the others because of the instability of the "maximum" variables W in the
absence of the corresponding lower objective function; the negative value of
the improvement in the first column is a consequence of this instability. The
fourth row of the Table specifies whether a solution is ideal or incumbent;
when a solution is incumbent, the rows 5, 6 and 7 refer to the actual cost
incurred by the system (A1), and when the solution is ideal, those rows refer
just to the value of the objective function (01). Starting from the third
column, the solution has a tendency to stabilize; the numbers of used links,
used routes and improved links are almost the same in all six last columns.
Several results can be inferred from the computational experience and the
solution of the real world problem. Concerning the tradeoff between efficiency
and accuracy, the equivalence of the solutions of the large version and the
20
small version shows that a complex problem can be simplified without affecting
the optimality of the solution. However the simplification must be done
carefully and efficiently; other simplifications, such as reducing the problem
to a single-level could lead to bad results.
The actual cost incurred by the system when the problem is solved as an LP
exceeds the actual cost incurred when a BLP solution is used by 922.224
thousands of Tunisian Dinars. There are two reasons for not having this
difference as high as it is supposed to be. First, the travel cost at stable
flow is a one-piece linear function that does not depend on the added capacity.
However, if stable flow, which is the overwhelming proportion of the flow, does
not depend on the added capacity, which is the only instrument in the model for
the system to influence the user's choice of the routes, the ability of the
system to affect the user-optimized equilibrium is almost paralyzed. Second,
the limitation of the added capacity resulted in low improvement costs. It can
be seen from Table 1 that improvement costs are about fifty times smaller than
travel costs. The introduction of the sophisticated BLP formulation of the
improvement costs did not give much saving as compared to the simpler LP
formulation because those costs are already low according to the data of the
problem. The ability of BLP to give better results is conditioned by the
availability of realistic data; providing more representative data to our
problem would definitely lead to a larger difference between the solution of
the problem when solved as a BLP and its solution when solved as a single
level .
Another harmful simplification would be the inclusion of strict capacities
on the links, even when the overflow is very small on all links, as is the case
in our solution. Imposing strict capacities results in the violation of
Wardrop's first condition and therefore the collapse of the equilibrium, which
is one of the bases of the problem.
Baene
MEDITERRANEAN
Cape Bon
Pwntslkna
(ITALY)
boh
Peleg/t
(fTALYI
MEDITERRANEAN
SEA
100 K.loT^irri
Figure 1 The Links to Bo Improved
22
Summary of the Results
Iteration
0
0
0
1
1
1
1
4 & 5
Step
-
-
-
1
2
3
4
4
Value of t
1.000
1.000
1.000
1.000
1.000
1.000
1.000
< .125
Solution
ideal
incumb.
incumb.
ideal
ideal
incumb.
incumb .
incumb.
Travel Cost
255328.
273736.
252428.
245152.
245320.
252577.
251724.
251680.
Improvement
-124325
3153.
4609.
4329.
4410.
4410.
4424.
4435.
Total Cost
131003.
276889.
257037.
249481.
249730.
256987.
256148.
256115.
Routes Used
278
279
276
275
276
276
275
275
Links Used
99
100
97
97
97
97
97
97
Linkslmproved
18
18
14
14
14
14
14
15
Gap (%)
-
111.36
96.21
3.03
2.93
2.91
2.57
2.56
Table 1
In the final solution, 275 routes and 97 links are used and 15 links need
to be improved. Among the 112 links included in the empirical study, 15 are not
used by inter-regional traffic; one cannot tell whether those links are
redundant in the inter-regional network or their lack of use is due to low
values of the corresponding entries in the trip matrix. The study is more
concerned with the links to be improved; those are shown on the map in Figure
1. Almost all improvements happen to be on the roads connecting Tunis, the
capital, to its major neighboring cities. This result can be intuitively
predicted by a simple look at the trip matrix [Ben-Ayed, Blair and Boyce 1988];
the trips originating or ending in Tunis are 56 % of the sum of all the trips
of the matrix. A similar recommendation was made by the Plan Directeur Routier
[ SETEC 1982 pp. 6-8] stating that the roads corresponding to the exists of
Tunis will be highly congested by the year 2000 if no improvements are made. In
contrast, the entries of the trip matrix corresponding to regions such as the
23
southern ones are very low, which results in no improvement even for unpaved
roads .
The
Links to B<
2 Improved
Link
Flow
Existing
Added
Improvement
Limit on Added
Capacity
Capacity
Cost
Capacity
1
2144
1370
774
592
887
3
2537
1637
899
394
899
4
2112
1115
997
297
1083
6
2015
1055
960
615
1070
10
1980
814
1166
484
1460
12
1052
448
604
84
2046
14
306
271
35
22
1354
19
1056
447
609
89
2046
20
2275
1173
1101
463
1101
26
2537
1637
899
245
899
28
2010
1370
640
362
887
30
1517
1370
147
60
887
73
2112
862
1250
394
1496
77
1772
1055
717
156
1070
90
2058
1370
687
179
887
Table 2
In considering the specific link improvement, Table 2 gives for each link to
be improved the interregional flow, the existing capacity available to this
flow (60 % of the total existing capacity), the added capacity, its cost and
the maximum added capacity allowed by the formulation. The improvement required
for the link connecting nodes 4 and 29 is very small; a slight improvement of
the surface of this link gives it exactly the same capacity as the link
connecting nodes 29 and 28 which does not need improvement although it is
closer to the capital. All other improvements are more significant and three of
them, namely those on links 3, 20 and 26, require the maximum added capacity
allowed by the formulation. In each of those links the flow is higher than the
new capacity; more detailed study is needed to include the possibility of
upgrading them to three or four lane highways. Link 90 is also congested;
however the decision maker responsible for the system does not add more
24
capacity although he has the possibility to do so. The reason is that the
congestion on those roads is less expensive than the addition of more capacity.
4. Conclusions
BLP remains a little known technique, rarely used despite all its potential
capabilities. The computational difficulties of BLP may not be the main reason
of its infrequent applications; there are other optimization techniques, such
as Mixed Integer Programming, that are not easier to solve but are widely used.
BLP is a new model; a great effort is needed to help people know it and take
advantage of its powerful formulations. Developing efficient and reliable
software that uses data structure and that includes several heuristics and
branch and bound algorithms would have considerable effect on increasing the
use of BLP.
The empirical study conducted in this research demonstrated that BLP is
tractable and can be efficiently used to formulate and solve even complex real
world problems such as the design and the improvement of a transportation
network. The complexity of BLP should not be a reason for formulating bilevel
problems as single- levels ; the solution to the single-level problem might
happen to be far away from the actual optimum, and the gain in simplicity and
computation time may not be worth the loss in optimality. By taking into
account the special structure of the problem at hand and making use of the
powerful computers available to us nowadays, it is always possible to solve the
BLP problem and get a better solution than the one obtained when approximating
it by a single level. For any BLP problem, the use of any related algorithm
always gives a solution that is better than, or at worst the same as, the
solution obtained when ignoring the lower objective and solving the problem as
a single-level. In other words, the relative inefficiency of BLP algorithms
does not justify the formulation of bilevel problems as single-levels.
25
Appendix
A. Definition of the Variables and the Functions in Formulation (2)
F(Z,W) = Ea=liU2 Fa(Za>Wma) = Ia=ljll2 ((blaZa+b0a) + Em=1>Ma(bm+lja-bma)Wma
F(W) = ^a=ljii2 Ia(Wma) = Za=l,112 Zm=l,Ma Wma
W) = Za=l,112 GaCCa)
G(C) = Ea=l,U2 Ga(Ca)
H1(Y) = 0 is defined as:
H2(X,Y) = 0 is defined as:
H3(Z,C,X) > 0 is defined as:
= Za=l,112 ^Ca--4c0aka)
= Za=l,112 ^a
H4(Z,C,X) > 0 is defined as:
H5(Z,W) > 0 is defined as:
H^(Z) > 0 is defined as:
for each origin-destination pair od:
ZreRod Yr ~ uod
for each link a:
Xa " Zr=l,2095 5arYr ~ °
for each link a:
Ca " <WXa + -4ka) * °
ca " cla(xa + -4ka) + (cla " <Wza + dla * °
for each link a:
Ca * c0a<xa + -4ka)
Ca * ^la^a + -4ka) " tela " ^Oa)Za + <ha
for each link a:
Wma " Za + %,a ^ ° m=1>Ma
for each link a:
Z„ ■- q3r > 0
'a ^3a
Z, C, C, W, X, Y > 0 is defined as: for each link a:
Za> Xa' Ca' ^a> Wma - °
m=l,M.
for all reR
od:
Yr > 0
where Cq3 and c^a are the slopes of the system travel cost on link a at stable
and unstable flows, respectively; cQa and cla are the slopes of the cumulative
user travel cost at stable and unstable flows, respectively; dla and dla are
26
the intercepts of the travel cost at unstable flow of the system and the
cumulative user, respectively; Mfl is the number of breakpoints in the improve-
ment cost function in link a; Mfl is 0 when the curve is linear, 1 when the
curve has 2 pieces and 2 when it has 3 pieces; bga is the intercept of the
first piece of the improvement cost function on link a; bma is the slope of the
piece delimited by qm_^ a and qma, m=l,Ma+l, qQa being equal to zero and q^a+^
equal to q3a, the maximum improvement allowed by the model; kfl is the existing
capacity of link a; Xa is the flow on link a; Cfl is the system total travel
cost on link a; C_a is the cumulative user total travel cost on link a; Za is
the number of passenger car units (PCU) added to the capacity of link a; W_a is
the maximum of (Za~qma) and 0; Y is the flow on route r; R j is the set of all
routes from origin o to destination d; uQ(^ are the entries of the trip matrix;
6ar is binary number equal to 1 when link a belongs to route r, and equal to 0
otherwise.
B. Description of the Algorithm
When describing the algorithm, we use T, T and T , 01 as defined in Section 2:
Iteration 0
• Find a current ideal solution, a current incumbent solution and calculate
the current gap for BLP problem (2).
• Call Termination test.
• Set: i = 1, xMAX = 1, tmin =0, 1=1.
• Start iteration I.
Iteration I
Set: T1 = <f>, T2 = T.
Step 1
• Solve the LP obtained after substituting all nonlinear improvement
functions by aZ + 6 for all links to find the links of T that are
27
candidates for improvement.
• Get the solution (Z1, X1, C1, C1, Y1, W1).
• For every link j of T , if the corresponding Zi is not equal to zero,
7 1
subtract j from T and add it to T .
Step 2
• Solve the BLP problem (7) with the set of lower variables equal to {Wma:
bm+l,a-bma < °> m=1>25 asTl)'
• Get the solution (Z2, X2, C2, C2, Y2, W2).
• If there are elements j of T such that Z- is positive, then:
9 i
Subtract from T all elements j and add them to Tx
Repeat Step 2
Else:
The optimal solution of (6) is obtained
End If.
2
• If x = 1 and 0 > value of current ideal solution, then:
Update ideal solution and calculate new gap
Call termination test
End If.
Step 3
• Solve the lower LP problem (5) with Z equal to Z.
• Get the solution (X3, C3, C3, Y3) .
9
• If A < value of current incumbent solution, then:
Update incumbent solutions and calculate new gap
Call termination test
End If.
• If A2 = 02 (or A2 ~ 02), then:
(Z2, X2, C2, C2, Y2, W2) is feasible
Set: x
MIN " T> x = (TMAX + T)/2
28
Else:
Try to improve feasible solution
Set: xMAX = T, t = (xMIN + t)/2
End If.
•1 = 1 + 1.
• Start iteration I.
Termination Test
• If I > N, then:
Number of iterations exceeded before reaching desired accuracy
Incumbent is the best solution found
Stop
Else if gap < e:
Incumbent solution is optimal within the specified accuracy e
Stop
End If.
• Return.
Try to improve feasible solution
• Solve (6) while locking the nonbasic variables (including slack and
surplus variables) of the LP problem (5) solved with Z = Z .
• Get the solution (Z4, X4, C4, C4, Y4 , W4).
• If 0 < value of current incumbent solution, then:
Update incumbent solution and calculate new gap
Call termination test
End If.
References
BARD, J. F. 1983. An Efficient Point Algorithm for a Linear Two-Stage Optimiza-
tion Problem. Operations Research 31, 670-684.
29
BARD, J. F. and J. E. FALK 1982. An Explicit Solution to the Multi-Level
Programming Problem. Computers and Operations Research, 9, 1, 77-100.
BARD, J. F. and J. T. MOORE 1987. A Branch and Bound Algorithm for the Bilevel
Programming Problem. Department of Mechanical Engineering, University of
Texas, Austin, TX.
BEN-AYED, 0. 1988. Bilevel Linear Programming: Analysis and Application to the
Network Design Problem. Ph.D. Thesis. Department of Business Administra-
tion. University of Illinois, Urbana-Champaign.
BEN-AYED 0. and C. E. BLAIR 1988. Computational Difficulties of Bilevel Linear
Programming. Submitted to Operations Research.
BEN-AYED 0., D. E. B0YCE and C. E. BLAIR 1988. A General Bilevel Linear
Programming Formulation of the Network Design Problem. Transportation
Research B22.
BEN-AYED 0., C. E. BLAIR and D. E. B0YCE 1988. Construction of a Real World
Bilevel Linear Program of the Highway Network Design Problem. Submitted to
Transportation Research.
BIALAS, W. F. and M. H. KARWAN 1982. On Two-Level Optimization. IEEE Transac-
tion on Automatic Control AC-27, 1, 211-214.
BIALAS, W. F. and M. H. KARWAN 1984. Two-Level Linear Programming. Management
Science 30, 8, 1004-1020.
BIALAS, W. F. , M. H. KARWAN and J. P. SHAW 1980. A Parametric Complementary
Pivot Approach for Two-Level Linear Programming. Research Report No. 80-2,
Operation Research Program, Department of Industrial Engineering, State
University of Buffalo.
BRACKEN J. and J. T. McGILL 1973. Mathematical Programs with Optimization
Problems in the Constraints. Operations Research 21, 37-45.
BRACKEN J. and J. T. McGILL 1974a. Defense Applications of Mathematical
Programs with Optimization Problems in the Constraints. Operations
Research 22, 1086-1096.
BRACKEN J. and J. T. McGILL 1974b. A Method for Solving Mathematical Programs
with Nonlinear Programs in the Constraints. Operations Research 22, 1097-
1101.
CANDLER W. and R. NORTON 1977. Multilevel Programming and Development Policy.
World Bank Staff Working Paper 258, IBRD, Washington, DC.
CANDLER, W. and R. T0WNSLEY 1982. A Linear Two-Level Programming Problem.
Computers and Operations Research 9, 1, 59-76.
CANDLER, W. and R. TOWNSLEY 1985. Optimizing Subsidy Payments in Linear
Programming. IEEE Proceedings of the International Conference on Cyber-
netics and Society, 930-934.
CASSIDY, R. G., M. J. L. KIRBY and W. M. RAIKE 1971. Efficient Distribution of
Resources Through Three-Levels of Government. Management Science 17, 8,
30
B-462-B-473.
CHVATAL, V. 1983. Linear Programming, Freeman, New York.
DESILVA, A. H. 1978. Sensitivity Formulas For Nonlinear Factorable Programming
and Their Application to the Solution of an implicitly Defined Optimiza-
tion Model of U.S. Crude Oil Production. D.Sc. Thesis, George Washington
University, Washington, DC.
FALK, J. E. 1973. A Linear Max-Min Problem. Mathematical Programming 5, 169-
188.
FALK, J. E. 1977. A Nonconvex Max-Min Problem. Naval Research Logistics
Quarterly 24, 3, 441-450.
FALK, J. E. and G. P. McCORMICK 1982. Mathematical Structure of the Interna-
tional Coal Trade Model. U.S. Department of Energy Report DOE/NBB-0025 ,
Washington DC.
FORTUNY-AMAT, J. and B. McCARL 1981. A Representation and Economic Interpreta-
tion of a Two-Level Programming Problem. Journal of Operational Research
Society 32, 783-792.
GALLO, G. and A. ULKUCU 1977. Bilinear Programming: An Exact Algorithm.
Mathematical Programming 12, 173-194.
LEBLANC, L. J. and D. E. BOYCE 1986. A Bilevel Programming Algorithm for Exact
Solution of the Network Design Problem with User-Optimal Flows. Transpor-
tation Research 20B, 3, 259-265.
MARCOTTE, P. 1986. Network Design Problem with Congestion Effects: A Case of
Bilevel Programming. Mathematical Programming 34, 142-162.
MARSTEN, R. E. 1981. The Design of the XMP Linear Programming Library. ACM
Transactions on Mathematical Software 7, 4, 481-497.
PAPAVASSILOPOULOS, G. P. 1982. Algorithms for Static Stackelberg Games with
Linear Costs and Polyhedra Constraints. Proceedings of the 21st IEEE
Conference on Decision and Control, 2 and 3, 647-652.
SETEC Economie et SOTINFOR 1982. Plan Directeur Routier. Rapport General Tomes
1 et 2, Republique Tunisienne, Ministere de 1 ' Equipement , Direction des
Ponts et Chausees, Sous-Direction des Etudes.
SHERE, K. and J. WINGATE 1976. Allocation of Resources to Offensive Strategic
Weapon Systems. Naval Research Logistics Quarterly 23, 1, 85-93.
WARDROP J. G. 1952. Some Theoretical Aspects of Road Traffic Research. Proceed-
ings , Institution of Civil Engineering, Part II, 1, 325-378.
ECKMAN
INDERV INC.
JUN95