solving transportation problems with nonlinear side constraints with tabu search

11
Computers Ops Res. Vol. 22, No. 6, pp. 593-603, 1995 Pergamon 030%0548(94)00055-7 Elsevier Science Ltd. Printed in Great Britain SOLVING TRANSPORTATION PROBLEMS WITH NONLINEAR SIDE CONSTRAINTS WITH TABU SEARCH Buyang Caolt and G6tz Uebe2~. 1Environmental Systems Research Institute 380 New York Street, Redlands, CA 92373, U.S.A. and 2Department of Economic and Organizational Sciences, University of the Armed Forces Hamburg, 22039 Hamburg, Germany (Received June 1993; b~ revised form July 1994) Scope and Purpese~The classical transportation problem represents one of the fundamental problems of network flow optimization, and is the subject of a varied and extensive literature. From a practical standpoint, however, the most important manifestations of the transportation problem arise as a subproblem of more comprehensive models emboding additional constraints. With the inclusion of nonlinear side constraints, the difficulty of the problem becomes enormously increased, yet the relevance for real world applications also grows significantly. In this paper we address a challenging nonlinear transportation problem of this type that derives from container terminal management. To handle the fact that local optima in general do not provide global optimum, we develop an implementation of the tabu search (TSJ metaheuristic to solve the problem. The philosophy of tabu search is to derive and exploit a collection of principles of intelligent problem solving. A basic element underlying tabu search is the use of flexible memory, which embodies the dual processes of creating and exploiting structures for taking advantage of history. TS has enjoyed successes in a wide variety of problem settings, and we show how its principles can be applied to yield very high quality solutions for the problem we address as well. Abstract--An algorithm based on tabu search ideas is developed to solve transportation problems with nonlinear side constraints. We show how to superimpose the tabu search (TS) framework conveniently on basis exchange (or "pivoting") operations specialized to the transportation network context, and thereby to guide these operations to overcome the limitations of local optimality. Using an exact algorithm as a benchmark, our computational study demonstrates the effectiveness of the procedure, and suggests the relevance of similar TS applications for solving other optimization problems that can be formulated as network problems with complicated nonlinear side constraints. 1. INTRODUCTION During the last decades, heuristics have become an important area of research and application. Their appeal stems from their ability to produce quickly near-optimal solutions to large and difficult combinatorial optimization problems. As opposed to advanced mathematics that is required to develop theoretical results in the optimization areas, the development of a heuristic is chiefly an art and a creative problem solving endeavor. A lot of various heuristics have been developed by many authors and most of these heuristics were designed for specific problems. These heuristics, therefore, in general cannot be applied to some other types of optimzation problems without major modifications. Some heuristic procedures regarded as metaheuristics have emerged for handling a wide variety of complex combinatorial optimazation problems. A metaheuristic is a heuristic method within which another heuristic local search procedure can be used at each step [1]. The tabu search (TS) tBuyang Cao is a member of the technical staff at the Environmental Systems Research Institute Inc. He received M.S. from Shangahi Institute of Mechanical Engineering, China, in 1987 and Ph.D. from the University of Federal Armed Forces Hamburg in 1991. His research interests are in the areas of mathematical programming, applications of operations research and combinatorial optimization. His publications have appeared in several international journals. ++Goetz Uebe is Professor of Economics and Statistics in the Department of Organizational and Economic Sciences at the University of Federal Armed Forces Hamburg, Germany. He received his education in economics and operations research at Bonn University, the University of California at Berkeley and the Technical University of Munich. His research interests lie in econometries, in particular macro-econometric models, in numerical solution of difference equations and in the history of economic ideas. 593

Upload: buyang-cao

Post on 21-Jun-2016

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Solving transportation problems with nonlinear side constraints with tabu search

Computers Ops Res. Vol. 22, No. 6, pp. 593-603, 1995 Pergamon 030%0548(94)00055-7 Elsevier Science Ltd. Printed in Great Britain

SOLVING TRANSPORTATION PROBLEMS WITH NONLINEAR SIDE CONSTRAINTS WITH TABU SEARCH

Buyang Caolt and G6tz Uebe2~. 1Environmental Systems Research Institute 380 New York Street, Redlands, CA 92373, U.S.A. and 2Department of Economic and Organizational Sciences, University of the Armed Forces Hamburg,

22039 Hamburg, Germany

(Received June 1993; b~ revised form July 1994)

Scope and Purpese~The classical transportation problem represents one of the fundamental problems of network flow optimization, and is the subject of a varied and extensive literature. From a practical standpoint, however, the most important manifestations of the transportation problem arise as a subproblem of more comprehensive models emboding additional constraints. With the inclusion of nonlinear side constraints, the difficulty of the problem becomes enormously increased, yet the relevance for real world applications also grows significantly. In this paper we address a challenging nonlinear transportation problem of this type that derives from container terminal management. To handle the fact that local optima in general do not provide global optimum, we develop an implementation of the tabu search (TSJ metaheuristic to solve the problem. The philosophy of tabu search is to derive and exploit a collection of principles of intelligent problem solving. A basic element underlying tabu search is the use of flexible memory, which embodies the dual processes of creating and exploiting structures for taking advantage of history. TS has enjoyed successes in a wide variety of problem settings, and we show how its principles can be applied to yield very high quality solutions for the problem we address as well.

Abstract--An algorithm based on tabu search ideas is developed to solve transportation problems with nonlinear side constraints. We show how to superimpose the tabu search (TS) framework conveniently on basis exchange (or "pivoting") operations specialized to the transportation network context, and thereby to guide these operations to overcome the limitations of local optimality. Using an exact algorithm as a benchmark, our computational study demonstrates the effectiveness of the procedure, and suggests the relevance of similar TS applications for solving other optimization problems that can be formulated as network problems with complicated nonlinear side constraints.

1. INTRODUCTION

During the last decades, heuristics have become an important area of research and application. Their appeal stems from their ability to produce quickly near-optimal solutions to large and difficult combinatorial optimization problems. As opposed to advanced mathematics that is required to develop theoretical results in the optimization areas, the development of a heuristic is chiefly an art and a creative problem solving endeavor. A lot of various heuristics have been developed by many authors and most of these heuristics were designed for specific problems. These heuristics, therefore, in general cannot be applied to some other types of optimzation problems without major modifications.

Some heuristic procedures regarded as metaheuristics have emerged for handling a wide variety of complex combinatorial optimazation problems. A metaheuristic is a heuristic method within which another heuristic local search procedure can be used at each step [1]. The tabu search (TS)

tBuyang Cao is a member of the technical staff at the Environmental Systems Research Institute Inc. He received M.S. from Shangahi Institute of Mechanical Engineering, China, in 1987 and Ph.D. from the University of Federal Armed Forces Hamburg in 1991. His research interests are in the areas of mathematical programming, applications of operations research and combinatorial optimization. His publications have appeared in several international journals.

++Goetz Uebe is Professor of Economics and Statistics in the Department of Organizational and Economic Sciences at the University of Federal Armed Forces Hamburg, Germany. He received his education in economics and operations research at Bonn University, the University of California at Berkeley and the Technical University of Munich. His research interests lie in econometries, in particular macro-econometric models, in numerical solution of difference equations and in the history of economic ideas.

593

Page 2: Solving transportation problems with nonlinear side constraints with tabu search

594 Buyang Cao and G6tz Uebe

technique proposed by Glover [2-4] is a general method of this kind. It is designed to obtain the global optimality or at least a very good approximation solution of an optimization problem.

TS prevents the solution procedure from becoming trapped at locally optimal solutions by allowing the temporal acceptance of a worse solution. The method can be used to guide any process that employs a set of moves for transforming one solution (or solution state) into another, and it provides evaluation criteria to measure the attractiveness of a move, i.e. it indicates which move may obtain a better solution. The form of guidance provided by TS is flexible, and often motivates the creation of new types of moves and evaluation criteria to take advantage of its ability to be adapted to different structures of problems studied and strategic goals. Some research of TS and computational comparisons are summarized in [4-8]. TS consistently outperforms the traditional heuristics and provides an encouraging optimization performance.

In this paper, we apply TS to solve the transportation problem with nonlinear side constraints (TPNSC), which arises in a container terminal management [9], and demonstrates the adaptability and efficiency of TS to the various combinatorial optimization problems. In Section 2, we present the mathematical model of TPNSC. In Section 3 a heuristic for solving TPNSC will be developed based on the principles of TS. Computational experiences will be presented in Section 4. Section 5 concludes the paper.

2. MATHEMATICAL MODEL

The transportation problem with nonlinear side constraints is the following integer programming problem:

TPNSC:

min f = m i n cljxir (1) i j

subject to:

~ Xir=dr j e { l . . . . . n} (2) i = l

~ Xir=Si i • {1 . . . . , m} (3) j = l

x,rx,~ ---0 for (i,j, kt• r--- {(i, j, k)lU, k)• DS,, i•{1 . . . . . m}} (4)

x;r~>O and integer. (5)

s~< ~ d r (6) i=1 j=l

where

i= index of supply nodes (sources) j, k = indices of demand nodes (destinations) DS~ = {(j, k) I J ~ k, the pair of destinations j and k cannot be served by a supply i at

the same time}, which is given in practice for all i x~ r = amount of goods transported from source i to destination j s~ = supply available at source i d r = demand at destination j c~ r = cost per unit amount transported from source i to destination j.

The physical background of TPNSC is the following 'assignment" problem. In a container terminal the storage yard is divided into several areas (indexed by i), and arriving containers are classified into several categories (indexed by j and k) according to certain criteria. The problem of assignment of the storage positions for arriving containers is to find a reasonable assignment strategy so that the costs (represented by c~j) of operations (searching for and/or loading containers) can be minimized. At the same time, some necessary conditions (e.g. the storage space limitation

Page 3: Solving transportation problems with nonlinear side constraints with tabu search

Solving transportation problems 595

in the storage yard, the containers which are stacked together must be compatible) should be satisfied. Without exclusion constraints (4) a TPNSC would be a classical transportation problem. However, due to practical limitations, some pairs of different category containers cannot be stacked in the same area, e.g. categories j and k repel one another at area i (the source i cannot serve two different destinations j and k simultaneously). Constraints (4) must be imposed.

Due to constraints (4) some arcs in the transportation network are inadmissible. Possibly the TPNSC may possess no feasible solution. However, according to the discussion in [9] under certain conditions feasibility can be obtained by certain relaxations. For instance, if there is enough space in the container terminal, we can adjust the values of s~ and/or n so that s i ~> max{d j} (for all i and j) following discussion we assume TPNSC has always at least one feasible solution.

The operations research literature contains a number of efficient techniques for solving classical transportation problems. Some authors extended the work to the network problems with side constraints (see, for example Glover et al. [10] and Klingman et al. [8]). The problem presented in those papers were network problems with linear side constraints. One could develop a method that explored fully the embedded network structure and employ a method that explored fully the embedded network structure and employ a special primal simplex algorithm. Nevertheless it is very difficult to apply the corresponding techniques to TPNSC due to the existence of the nonlinear side constraints (4). A branch-and-bound approach and a heuristic were developed for solving TPNSC [9]. It is conceivable that B&B approach is very time-consuming if the difficulty [in terms of the size and/or the number of constraints (4)] of a problem increases. Usually, problems will become more difficult as more nonlinear side constraints are added. However, it is also reasonable that the problem tends to get easier again as one continues to add constraints, since the structure of the network becomes simple due to more introduced constraints, e.g. one source may be connected only with one destination. In practice, this is impossible because of the limitation of supply capacity at any source and practical management. In this paper, therefore, we do not consider the situation of making a problem easier by adding more constraints.

3. A TABU METHOD FOR SOLVING TPNSC

3.1. General explanation

TS can be characterized as a sequence of moves that leads from one trial solution to another. Consider the general form of a combinatorial optimization problem:

min c(x): x ~ X c Z (the set of nonnegative integers). (7)

A move s~S (the set of moves) can be defined as a mapping defined on a subset X(s) of X:

s: X(s)--, X. (8)

Each x ~ X has an associated neighborhood N(x), and each x' ~ X(s) is reachable from x by a move. TS operates strategically modifying N(x), effectively replacing it by another set N*(x). The

composition of N*(x) is determined by the search history, and results by excluding certain elements of N(x) (classifying them as tabu) and by incorporating other elements not in N(x), but encountered during previous search efforts.

A short term recency based memory is used to classify certain attributes of solutions recently visited as tabu-active. For instance, such attributes can refer to variables that change their values, or to elements such as edges or nodes that may be added or dropped upon moving from one solution to another. In turn, solutions that contain tabu-active attributes become designated tabu, and hence are excluded from the modified neighborhood N*(x). The effect of classifying attributes as tabu-active in this manner is to render these solutions tabu that have been recently visited, thus preventing moves that lead immediately back to these solutions.

The process is managed by introducing one or several tabu lists. A solution x'~ X(s) is classified tabu, and made inaccessible by excluding it from N*(x), if specified attributes of x' appear on the tabu list(s). TS also provides an additional degree of freedom in accepting x'~ X(s) for inclusion in N*(x) by using an aspiration concept. In particular, the tabu status of a solution (or a move) can be overruled if certain aspiration level conditions are met, i.e. an aspiration level may be viewed as a threshold of attractiveness of the solution considered.

Page 4: Solving transportation problems with nonlinear side constraints with tabu search

596 Buyang Cao and G6tz Uebe

Additional long term memory structures, based on elements of frequency and interdependence, and also used to guide the search. One goal achieved by these structures is diversification, which drives the search into new (unexplored) regions. Diversification strategy often makes reference to critical past solutions that periodically are admitted as members of N(x), and thus enlarge the set of solutions, N*(x) is often determined implicitly by spanning solutions of N(x) and checking whether they qualify as tabu or admissible. Long term memory is important for creating the most effective forms of TS.

Now we are going to apply these basic TS ideas to the TPNSC.

3.2. Definition of a move

As in a classical transportation problem, the arcs of a basic solution in TPNSC constitute a spanning tree of the network, and the introduction of an arc corresponding to a nonbasic variable into the basis will form one and only one element circuit. Here the arcs corresponding to the basic variables are called basic arcs, while the arcs corresponding to the nonbasic variables are referred to as nonbasic arcs. We obtain a new basic solution of TPNSC by exchanging a basic arc with a nonbasic one. Therefore for TPNSC a move s can be defined as a swapping a basic arc with a nonbasic one, called swapping move.

For each move an evaluation must be established. The evaluation guides the solution procedure step by step from an initial solution towards a solution giving hopefully the optimal value of the TPNSC objective function. According to the definition of a move in our problem, the evaluation can be determined as follows.

TPNSC is solved initially without the exclusion constraints (4). If the solution does not satisfy (4), a penalty cost is imposed on the value of the objective function, which is defined as follows:

PC(x) = ~ pxi~Xik (9) for all exclusion

constraints

where p = penalty factor. At any iteration the value of the solution c(x) is composed of two parts:

(i) the value of the classical transportation problem TC(x) [TPNSC without constraint (4)] and

(ii) the penalty cost PC(x).

Then the value of a solution is given by V(x)= TC(x)+ PC(x). Obviously if PC(x)= 0, then the solution x obtained is feasible.

When a nonbasic arc (i, j) enters the basis, an unique element circuit Cij= {i, j, q . . . . . m, i I will be formed. In order to obtain another basic solution, a basic arc must be removed. Let (m, n) be such a basic arc and xm, be the flow on (m, n). Then the increment in TC due to this move can be determined by:

A TC u = (cij - c.,.)x.,. + ~ 6~,,c~,,xm. (10) (u,O~C~, '4(ij)~lm.ml

where:

6u~, = { + 1, if(u, v) has the same direction as (i, j) in Cu; (11)

- 1, if(u, v) has the opposite direction to (i, j) in Cij.

Similarly we can define the decrease in PC after exchanging (m, n) with (i, j) as follows:

APCu= ~ P(Xut, Xuk--Xtut, X'uk) (12) keJ. ,

(u.t')~C,j

where:

x.v = the flow on the arc (u, v) before exhanging, x'.,, = the flow on the arc (u, v) after exchanging, J, , ,= {k l for all k, which must satisfy X~,,Xuk=O, i.e. the source u cannot serve

destinations v and k simultaneously).

Page 5: Solving transportation problems with nonlinear side constraints with tabu search

Solving transportation problems 597

The evaluation of a move, i.e. swapping a nonbasic arc (i, j) with a basic arc (m, n), is then determined by:

A V u = A TC u + APC u (13)

3.3. Definition of neighborhood

Based on the definition of a move for TPNSC and the general meaning of the neighborhood, we define the neighborhood N(x) of any basic solution x of TPNSC to be all nonbasic arcs of the present basis. Since a new solution of TPNSC x' #=x can be obtained by applying a move to x, each element (nonbasic arc) in N(x) associates with a move and an evaluation (13). At each iteration, such a move or nonbasic arc will be selected, which possesses the maximal "decrease" in evaluation.

However, even for medium-scale problems the full exploration of N(x) is extremely time- consuming. In order to save computational time only a part of elements in N(x) will be examined in quest of best moves during the solution procedure. Those elements constitute a subset N'(x) ~_ N(x). N'(x) can be also called a candidate list. The process of producing such a candidate list N'(x) is explained as follows.

Let e = ( m - 1 X n - 1 ) be the total number of elements in N(x). Select a number e 0, 1 <eo~<e, and generate e o elements from N(x) to become the elements of N'(x). For better moves and solutions the candidate list N'(x) is augmented by e' elements periodically during the solution progress. At any iteration of the solution procedure, each element (i, j)~ N(x) will be assigned a uniformly distributed random number Pu" An element (i, j) ~ N(x) is also in N'(x) if and only if:

Plj~fl" (14)

The value of fl is set to be (e-eo) /e initially and will be varied during the solution (see below). The assignment of p,-j for (i,j)eN(x) is randomized without reference to the evaluation (13).

Therefore the introduction of Pu has the role of lessening the dependence on memory. This kind of randomization makes it possible to obtain solutions different from the solutions visited previously. The creation procedure of the candidate list N'(x) is provided by Algorithm 1.

Algorithm 1 (Creation of the candidate list); Input: current_iteration..=the current iteration of the solution procedure

N ' (x ) :=~ and num,= 1 A..=constant (every A iterations N'(x) is augmented) if current_iteration mod A = 0

--max(O.O, end if; while num ~< e do

(a) generate a random number r from [0, 1] and assign this number to the num-th element of N(x), say (i, j), set pq.'=r for (i, j). num:=num + 1

(b) if Pu ~> fl then N'(x)..= N'(x) w (i, j) end while; arrange elements (i, j)e N'(x) in the nondecreasing order of A V u. Output: the ordered candidate list N'(x).

3.4. Implementation of tabu condition

According to the definition of attributes of solutions (see Section 3.1), we can define the introduced and dropped edges as attributes of a TPNSC solution. Then a solution (move) is classified tabu, if the attributes of this solution are tabu-active. Here we define two tabu lists T1 and T2 which contain the arcs having been removed from (resp. introduced into) the basic solution in the last t 1 (t2) iterations, As usual t~ (t2) is defined as the size of TI (T2) and tl ~ t 2 usually. We introduce two axuiliary data structures Tabu_Timel and Tabu_Time2 for tracking tabu statuses.

Tabu_Timel( i , j ) refers to the last iteration the arc (i, j) was removed from the basic solution while Tabu_Time2(i, j) indicates the last iteration the arc (i, j) was introduced into the basic solution.

CAOR 22-6-C

Page 6: Solving transportation problems with nonlinear side constraints with tabu search

598 Buyang Cao and G6tz Uebe

By convention, we specify Tabu_Timel(i, j) or Tabu_Time2(i, j )= 0 if the arc (i, j) has never been in T1 or T2, and denote the current iteration value by current_iteration. Then an arc (i, j) is tabu, i.e. cannot be introduced into a basic solution if

Tabu_Time 1 (i, j) >/current_iteration - t i (15)

Similarly an arc (m, n) is tabu to be removed from a basic solution if

Tabu_Time2(m, n) t> current_iteration - t 2 (16)

For any solution (move) we can easily check its tabu status upon (15) and (16).

3.5. Aspiration level, penalty and diverse'cation strategy

An important element of tabu search is the incorporation of an aspiration level condition A(s, x), whose value depends on a specified move s and/or x. The aspiration level is satisfied if

c(s(x)) < A(s, x). (17)

The role of A(s, x) is to provide added flexibility to select good moves by allowing the tabu status of a move to be overridden if the aspiration level is satisfied, i.e. a move from x to s(x) with a tabu status is accepted if(17) applies. The purpose is to enable a TS method to achieve its best performance. The aspiration level condition for TPNSC is defined as follows [the definition of PC(x) see (9) above]:

c(best solution so f a r ) - p when PC(x) -4: 0; A(s, X) ( 1 8)

= (c(best solution so f a r ) - 1 when PC(x)=0.

Since the solution procedure begins without constraints (4), the solution obtained is not necessarily feasible due to the violation of (4). The value of the objective function will be augmented by a term PC(x) defined in (9). The penalty term drives the search towards feasibility. However, large penalty terms generally drive the search too strongly towards feasibility at the expense of optimality, exerting an influence that potentially can distort the intended influence of tabu restrictions. Consequently, it is advisable in the context of penalty approaches to adopt the strategy of oscillation [4]. The idea behind this approach is to induce the exploration of a new region by crossing or moving away from certain boundaries that normally circumscribe the progress of the method. Such boundaries here represent those between feasibility and infeasibility. The approach allows periodically a certain level of infeasibility to be accepted and then drive the search back to feasibility again. The method employed in this paper is referred to as manipulating penalties, i.e. the penalties will be modified so that feasible as well as infeasible solutions can occur in the process. Other researchers (see Kelly et al. [10]) have also applied the similar strategy to solve complicated problems. If the feasible solution space of a problem is disjoint, this strategy may provide a mechanism for crossing the regions of infeasibility during searching for the optimal solution. The strategy provides indirectly diversity by emphasizing different parts of the problem over time, which contributes to obtain high quality solutions for more difficult optimization problems. Kelly et al. implemented manipulating penalties (strategic oscillation) method, which eliminated the need to specify fixed weights for the feasibility measurement and produced higher quality solutions than those obtained from more rigid implementations of tabu search.

Long term memory, as a basis of strategy for diversifying the search, is important for obtaining the best solutions of large and complex problems [3, 4]. A diversification strategy guides the process to the regions that markedly contrast with those examined so far. The strategy is activated when local optimum is reached, i.e. no improvement moves exist at the moment except for tabu moves. At this point it is expected to favor moves that create solutions with different structures than those typically or recently generated. For TPNSC it will be desirable to favor moves that bring the arcs into basis that have not previously been basic, or that have not been basic for a long time.

By utilizing the array Tabu_Time2(i, j) defined in the Section 3.4 this approach can be easily implemented. According to the definition of the array Tabu_Time2(i,j), we know that Tabu_Time2(i, j) indicates the most recent iteration that the arc (i, j) was brought into the basic solution. The length of time that the arc (i, j) entered the basis, therefore, is equal to:

current_iteration - Tabu_Time2(i, j) (19)

Page 7: Solving transportation problems with nonlinear side constraints with tabu search

Solving transportation problems 599

(i.e. its tabu age). When a local optimum is reached, the evaluation should favor the nonbasic arcs with larger value of the term (19). This will be done by modifying (13), i.e. weighting this term and adding the result to the negative value of weight2. AVi~ , where weight2 (>0) is the weight factor of AVi~, i.e. for any given tabu age, the method will still prefer the moves with better evaluation (AV~j). The procedure containing manipulation of penalty and diversification strategy is summarized in Algorithm 2.

Algorithm 2 (Manipulating penalty and diversification strategy); Input: p: the current value of panalty factor

N'(x): the candidate list obtained by Algorithm 1 (a) At the first call of algorithm 2

p = max { p/2, 1 } (relaxation of penalty of infeasibility) (b) arrange the element in N'(x) in descending order of

weight l(current_iteration - Tabu_Time2(i, j ) ) - weight2A V~ Output: the new ordered N'(x) and new penalty factor p.

3.6. TS algorithm for TPNSC

The algorithm based on TS containing the features described in the previous sections is summarized as follows.

Tabu algorithm for TP N SC Input; max_iter: the number of allowed iterations between two improvements

max_nonim: sequential iterations without improvement before Algorithm 2 max_iterl: the number of iterations performing Algorithm 2;

Initialization: Solve TPNSC without (4). The solution is x, nonim.'=0 if x satisfies (4) then

optimum_solution.'=x; stop else

optimum_solution,=x; best_solution.'=x; k..=0; alg2.'="no"; c(best_solution)..= TC(x) + PC(x); c(optimum_solution) = +

end if; while max_iter > k do (a) k,=k + 1; current_iteration.'=current_iteration + 1; Algorithm 1 (b) if alg2 ="yes" then

perform Algorithm 2 max_ietrl times; alg2..="no" end if; r.'= 1 and repeat..="yes"

(c) while r<~lN'(x)l and repeat="yes" do choose the rth element in N'(x) and perform swapping moves s x',=s(x) and c(x'):=c(x) + A Vii if c(x') > A(s, best_solution) and (x' is in tabu status) then

r:=r + 1 else

if c(x') < c(best_solution) then best_solution.'=x'; nonim..=0;

else if alg2 = "no" then nonim..=nonim + 1

end if x~=x'; insert (m, n) to T1 and (i, j) to T2; repeat..="no"

end if; end while;

(d) if (c(x) < c(optimum_solution) and PC(x) = 0) then optimum_solut ion=x; c(optimal_solution)..=c(x); k:=0; nonim..=0

end if;

Page 8: Solving transportation problems with nonlinear side constraints with tabu search

600 Buyang Cao and G6tz Uebe

(e) if nonim > max_nonim alg2:="yes"; c(best_solution).-= + co; nonim.'=0

end if; end while. Output: optimum_solution and c(optimum_solution)

Remarks. The variables (m, n) and (i, j) will be appended to the tabu lists TI and T2 according to the following relationships [in step (c)]:

Tabu_Timel(m, n)..= current_iteration (20)

Tabu_Time2(i, j)..=current_iteration. (21)

The determination of the tabu status for (i, j) or (m, n), therefore, can be based on (15) or (16). When a solution cannot be improved after several iterations (max_nonim times), the manipulation of penalty and diversification strategy should be employed for the next certain iterations (max_interl times). Otherwise the unmodified evaluation of a move AV~ (13) is used to sort the elements in N'(x).

After manipulation of penalty and diversification strategy, the solution is driven into the infeasible region [PC(x)>O] temporarily, or the current solution x is still infeasible, it may happen that c(x)<c(optimum_solution), while x violates constraints (4). This is the reason that an additional condition statement [step (d)] is imposed, where optimum_solution is used to store the best feasible solution obtained by the algorithm.

At the beginning of the performance of Algorithm 2, the value e(best_solution) is assigned a big positive value [step (e)]. This number can be determined by TC(x)+~PC(x), where TC(x) and PC(x) were obtained during the initialization of the algorithm, e.g. ~=0.7. Hence a solution with a certain degree of infeasibilities still will be accepted after Algorithm 2 running, i.e. the search enters the infeasible region of the problem.

The algorithm will terminate, if the optimal_solution is still not improved after max_iter sequential iterations.

4. C O M P U T A T I O N A L R E S U L T S

Our algorithm was implemented in FORTRAN and the computations were done on a CONVEX C3820. The parameters (for instance, clj, dj, and sl) of TPNSC were generated randomly. However, according to the practical applications, any pair of a source and a destination in the corresponding TPNSC network was linked by an edge, i.e. each destination might be served by any source in the network. The exclusion constraints (4) were also generated randomly. We choose the randomly generated exclusion constraints because their combinatorial structures tend to make TPNSC difficult to be solved. The computational experiments addressed the following questions: How does the difficulty releate to the size (measured by the number of nodes in the network) of a problem, and the number of constraints (4)? How efficient is the TS algorithm compared to the existing approach (branch and bound algorithm)? We define the density DS of conflicting pairs I-i.e. j, k in (4)] as follows:

,..,

where

NC = the number of constraints in (4); n and m are defined as above.

It is conceivable that for the given m and n, the higher the density (under certain limitation), the more complex the problem. In order to investigate the difficulty caused by the imposition of exclusion constraints (4) and the ability of the developed algorithm for solving complication problems, the test problems are divided into two groups. For the given m and n of a problem, in one group (GI) DS is set to from 5 to 15% according to the concrete m and n, in another group (G2) DS is fixed to be from 20 to 30%. In the practical application, DS is usually between 10 and 20%. The c~ in the test problems are uniformly distributed over the interval [30, 80]. The d r and sl are sampled uniformly from the intervals [30, 60] and 1-30, 45-1 respectively.

Page 9: Solving transportation problems with nonlinear side constraints with tabu search

Solving transportation problems 601

For determining the parameters in the TS approach, the proposed TS procedure with various settings of parameters had been applied to a set of "training" problems (these problems for determining reasonable parameters of the algorithm have the similar structures to those possessed by the test problems). Upon the observations the parameters in the TS procedure are determined as follows, although we were not able to draw solidly statistical conclusions from the parameter setting experiments.

If the sequential iterations without improvement during the procedure exceed 50, then the TS procedure terminates, i.e. max_iter is set to 50. We observed that longer runs seldom produced better solutions while requiring more computing-time. It is well known that the diversification is crucial (this is also our experience) for a TS approach to obtain high quality solutions of complicated problems. In our algorithm the diversification step (Algorithm 2) is always carried out for 10 iterations (max_iter 1 = 10), if the sequential iterations of normal TS procedure without improvement exceed 20 (i.e. max_nonim = 20). Based on the computational experiments, max_nonim cannot be set to be too small. As mentioned above, the diversification strategy developed in this paper may guide the search into an infeasible region. If a normal (short term) search procedure is interrupted by the diversification step after a short time (small max_nonim) and the search procedure is exploring a promising region, then the quality of the best solution may deteriorate. During the diversification, weightl and weight2 are set to be 40 and 20 respectively (see Algorithm 2). In this case the nonbasic arc, which has not been in the basic solution for long time, will be considered to be introduced to the basis. At the same time, the "improvement" AV o of the solution is still taken into account. Upon the experiments, weight 1 should be at least twice as big as weight2 during the diversification.

The TS procedure is redirected to the normal search procedure again as long as the termination criterion is not met. The parameter setting experiments have shown that the smaller tabu lists were inefficient, we therefore use the larger tabu list sizes. Two tabu lists tl and t 2 are from 14 to 19 and from 13 to 17 respectively, with respect to the different sizes of test problems. It was noticed the stragegy of creating a candidate list influenced greatly the efficiency of the TS procedure. On the one hand, the candidate list N'(x) should not be augmented too quickly. The observation might derive from the fact that the value of a solution should not descend too fast and could be trapped at locally optimal solutions at expense of the global optimality. On the other hand, the candidate list must be augmented with a reasonable growth rate. Otherwise it might happen that some arcs

Table 1. Computational results

B&B TS Problem Gap* group Size DS (%) C P U time Opt. solution CPU time Solution (%)

G1 . m = 3 0 n = 4 0 15 0.8 48,415 1.5 48,415 0 . m = 3 0 n = 5 0 15 2.1 59,275 1.5 59,279 0.003 • m = 35 n = 50 15 3.0 58,205 1.6 58,356 0.26 .m = 4 0 n = 50 15 12.5 56,466 1.8 56,559 0.16 .m=45 n = 6 0 15 1.0 67,466 2.0 67,533 0.099 . m = 5 0 n = 6 0 15 53.0 69,320 2.5 69,359 0.07 • m = 50 n = 70 15 232.2 81,002 5.0 81,177 0.216 . m = 6 0 n = 7 0 15 55.5 80,970 4.0 81,188 0.269 . m = 6 0 n = 8 0 10 135.0 90,609 4.0 90,664 0.061 . m = 7 0 n = 8 0 6 4.0 92,203 2.0 92,203 0 . m = 7 0 n = 9 0 5 33.0 103,053 4.0 103,156 0.1 . m = 8 0 n = 9 0 5 27.1 103,283 5.5 103,283 0 .m=80 n = 100 5 27.5 113,391 2.5 113,423 0.028

G2 .m = 30, n = 40 30 14.3 53,427 2.0 53,489 0.12 .m= 30, n = 5 0 30 12.0 69,903 2.9 70,516 0.876 • m = 35, n = 50 30 152.6 68,981 3.0 69,307 0.473 .m=40, n = 50 30 130.1 68,344 3.7 68,436 0.135 .m =45, n = 6 0 30 318.6 83,364 7.5 83,514 0.18 • m = 50, n = 60 30 239.9 81,427 3.8 81,921 0.61 • m = 50, n = 70 30 225.1 93,069 15.1 93,743 0.724 .m= 60, n = 7 0 25 194.1 92,161 3.5 92,334 0.188 .m =60, n = 8 0 25 355.1 105,667 5.5 106,289 0.589 .m = 70, n = 80 20 307.2 102,173 5.0 102,454 0.275 • m = 70, n = 90 20 431.2 119,976 6.0 119,976 0 .m = 80, n = 90 20 466.8 118,593 9.0 118,843 0.21 .m= 80, n = 100 20 562.7 132,660 15.0 133,213 0.417

*Gap = (best solution obtained by TS - optimum)/optimum* 100.

Page 10: Solving transportation problems with nonlinear side constraints with tabu search

602 Buyang Cao and G6tz Uebe

were not sampled for candidates when the algorithm stopped, while certain arcs among these ones could improve the solution significantly. Based on the computations, 1-5% elements (arcs) in N(x) are samples for N'(x) initially, i.e.//is set between 0.01 and 0.05 initially, and at each iteration the sample-scale will be increased by 0.1-0.2%, i.e. the rate e'/e is fixed between 0.001 and 0.002. These parameters of candidate lists are varied with the sizes of the problems.

Table ! summarizes the computational results of the testproblems (26 in total) obtained by the tabu search procedure (TS) developed in this paper and an exact branch-and-bound approach (B&B) [9]. The CPU time units used in the table are all seconds. Initially, a maximum of 200 s (CPU time) was allowed for the solution of each TPNSC. Unfortunately, some problems of the group G1 and most problems of the group G2 could not be solved exactly by B&B within the given computing time. We conjectured that if the problems became more difficult (the sizes and the number of nonlinear side constraints increased), B&B must explore enormous possibilities, at the same time, there was no ideal (very tight) upper bound, the branches could not be pruned as much and as early as possible. In order to evaluate the performance of the tabu search procedure, we use the results obtained by TS to help B&B to yield the optimal solutions to the test problems, i.e. the high quality solution obtained by TS is used as an upper bound during the branch-and-bound procedure. Furthermore, more CPU time is allowed to run the B&B procedure. Then we solve all the test problems optimatically by using the modified B&B procedure.

The problem in G1 are relatively easier to solve, since there are not so many nonlinear side constraints [for the given DS the number NC of exclusion constraints can be determined by (22)]. However, as the sizes (measured by m and n) of the problems increase, some "easy" problems still could not be solved by the exact algorithm (B&B) within the reasonable computing time, if no auxiliary (the results obtained by TS used as upper bounds) were employed. The problems in G2 are more difficult to solve, because there are more side constraints (4). Except for small problems (the first two problems of G2), without the help of TS these difficult problems could not be solved exactly within reasonable computing time. From the results listed in Table 1 we can see that the CPU time required by B&B increases dramatically as the sizes of the problems increase. In general, the TS procedure may not guarantee to solve TPNSC exactly. Nevertheless, considering the solution qualities and the required computing time, it may be concluded that the solution approach developed in this paper is indeed a competitive method for solving TPNSC, especially when the problem become larger and more complicated. The reasons are: (I) in most cases, TS needs much less computing time (measured by CPU time) than B&B does to obtain a satisfactory solution, and this is desirable in the practice; (2) TS provides all solutions with the gaps smaller than 1% compared with those optimal solutions yielded by B&B. The TS procedure is quite robust; (3) if the sizes and/or the complexities of the problems increase, without the help of the TS procedure the branch-and-bound approach is unable to solve the problems within reasonable time, while the TS procedure can solve these problems efficiently.

The computational experiments indicate a quite inrteresting fact that a branch-and-bound algorithm can benefit from emboding a TS procedure for obtaining very strong upper or lower bound, especially in case that for a given problem one cannot find an explicit strong bound by using certain theories (for instance, polyhedral theory). The principles of the TS procedure developed in the paper can certainly be applied to some problems that can be formulated as network problems with complicated side constraints.

5. CONCLUSIONS

In this paper we developed a TS approach for transportation problems with nonlinear side constraints. Candidate list and diversification strategies in the tabu procedure are discussed. The importances of these strategies are now recognized widely in improving the efficiency of a tabu approach. The presented computational experiments demonstrate the superiority of the proposed tabu approach over the existing branch and bound method for solving the complicated TPNSC. Although the TS may not always be a foolproof alternative to the exact algorithms, based on our experiences and other authors' work the results look promising. The TS is more suitable for larger and more complex optimization problems, which in general can be hardly solved by existing exact methods due to for instance the computing time limitation.

Page 11: Solving transportation problems with nonlinear side constraints with tabu search

Solving t ranspor ta t ion problems 603

Acknowledgements---The authors would like to thank Professor F. Glover for the interesting discussions and very useful suggestions. We appreciate the anonymous referees for their comments and critical suggestions which helped us to improve the quality of the manuscript.

R E F E R E N C E S

1. D. de Werra and A. Hertz, Tabu search techniques: a tutorial and an application to neural networks. OR Spektrum l l , 131-141 (1989).

2. F. Gl~ver~ Future paths f~r in~eger pr~gramming and links t~ arti~cial intelligence. C~m~uters ~ ps Re~. 13,553-549(1986k 3. F. GIover, Tabu search--Part I. ORS,4 J. Comput. L 190-206 (1989). 4. F. Glover and M. Laguna, Tabu search. In Modern Heuristic Technique.~ Jbr Combinatora! Prohlem.~' (Edited by C. R.

Reeves). Blackwell Scientific, Oxford (1993). 5. C. Friden, A. Hertz and D. de Werra, TABARIS: an exact algorithm based on tabu search for finding a maximum

independent set in a graph. Computers Ops Res. 17, 437-445 (1990). 6. C. Friden, A. Hertz and D. de Werra, STABULUS: a technique for finding stable sets in large graphs with tabu search.

Computing 45, 35-44 (1989). 7. F. Glover and C. McMillan, The general employee scheduling problem: an integration of MS and AI. Computer,~ Ops

Res. 13, 563-573 (1986). 8. D. Klingman and R. Russel, Solving constrained transportation problems. Ops Res. 23, 91-106 (1975). 9. B. Cao, Transportation problem with nonlinear side constraints: a branch-and-bound approach. Z. Ops Res. 36, 185-197

(1992). 10. J. Kelly, B. Golden and A. Assad, Large-scale controlled rounding using tabu search with strategic oscillation. Amlals

Ops Res. 41, 69-84 (1993). l 1. F. GIover, D. Karney~ D. Klingman and R. RusseL Solving singly constrained transshipment problems. Transportation

Science 12, 277-297 (1978).