direct search algorithms for truck-dispatching problems

42
Transpn Res. Vol. 3, pp. 142. Pergamon Press 1969. Printed in Great Britain SPECIAL SURVEY PAPER DIRECT SEARCH ALGORITHMS FOR TRUCK-DISPATCHING PROBLEMSt PART I J. F. PIERCES Massachusetts Institute of Technology, Cambridge, Massachusetts, U.S.A. (Received 23 April 1968; in revisedform 15 November 1968) 1. INTRODUCTION TRUCK-DISPATCHING problems arise in an innumerable variety of contexts and occur with a seemingly endless variety of characteristics. In this paper direct algorithms are presented for solving a number of these problems, algorithms in which problem-solving proceeds first to the discovery of a feasible solution and then to successively better and better feasible solutions. All of the procedures presented are reliable in the respect that when carried out to completion they guarantee the discovery of an optimal solution when one exists, or the knowledge that none exists. More specifically, the methods to be considered are those which may equivalently be termed branch and bound (Little et al., 1963), combinatorial programming (Rossman and Twery, 1958), or perhaps reliable heuristic programming (Pierce and Hatfield, 1967) methods. The most common name for such procedures is “branch and bound”, the name given to the ideas employed by Little et al. (1963) in their algorithms for solving the traveling salesman problem. Their work has made demonstrably clear the great potential of these methods for the solution of complex combinatorial problems. The “branch” notion stems from the fact that in terms of a tree of alternate potential solutions to the problem the procedure is continually concerned with choosing a next branch of the tree to elaborate and evaluate. The “bound” terms denotes their emphasis on, and effective use of, means of bounding the value of the objective function at each node in the tree, both for eliminating dominated paths and for selecting a next branch for elaboration and evaluation. A number of the algorithms developed in this paper are extensions of their work. Perhaps the essence of the procedures to be considered is most succinctly captured in the meaning given to “combinatorial programming” by its authors Rossman and Twery (1958). By combinatorial programming we mean procedures developed on the basis of two principal concepts: the use of a controlled enumerative technique for (implicitly) considering all potential solutions; and the elimination from explicit consideration of particular potential solutions which are known from dominance, bounding and feasibility considerations to be unacceptable. All of the equivalent terms for these methods will be used interchangeably throughout. t A summary of this paper was presented at the 31st National Meeting of the Operations Research Society of America, New York, 1 June 1967. $ The author gratefully acknowledges the support of this research by the IBM Cambridge Scientific Center, Cambridge, Massachusetts, U.S.A.

Upload: jf-pierce

Post on 15-Jun-2016

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Direct search algorithms for truck-dispatching problems

Transpn Res. Vol. 3, pp. 142. Pergamon Press 1969. Printed in Great Britain

SPECIAL SURVEY PAPER

DIRECT SEARCH ALGORITHMS FOR TRUCK-DISPATCHING

PROBLEMSt

PART I

J. F. PIERCES

Massachusetts Institute of Technology, Cambridge, Massachusetts, U.S.A.

(Received 23 April 1968; in revisedform 15 November 1968)

1. INTRODUCTION

TRUCK-DISPATCHING problems arise in an innumerable variety of contexts and occur with a seemingly endless variety of characteristics. In this paper direct algorithms are presented for solving a number of these problems, algorithms in which problem-solving proceeds first to the discovery of a feasible solution and then to successively better and better feasible solutions. All of the procedures presented are reliable in the respect that when carried out to completion they guarantee the discovery of an optimal solution when one exists, or the knowledge that none exists.

More specifically, the methods to be considered are those which may equivalently be termed branch and bound (Little et al., 1963), combinatorial programming (Rossman and Twery, 1958), or perhaps reliable heuristic programming (Pierce and Hatfield, 1967) methods. The most common name for such procedures is “branch and bound”, the name given to the ideas employed by Little et al. (1963) in their algorithms for solving the traveling salesman problem. Their work has made demonstrably clear the great potential of these methods for the solution of complex combinatorial problems. The “branch” notion stems from the fact that in terms of a tree of alternate potential solutions to the problem the procedure is continually concerned with choosing a next branch of the tree to elaborate and evaluate. The “bound” terms denotes their emphasis on, and effective use of, means of bounding the value of the objective function at each node in the tree, both for eliminating dominated paths and for selecting a next branch for elaboration and evaluation. A number of the algorithms developed in this paper are extensions of their work.

Perhaps the essence of the procedures to be considered is most succinctly captured in the meaning given to “combinatorial programming” by its authors Rossman and Twery (1958). By combinatorial programming we mean procedures developed on the basis of two principal concepts: the use of a controlled enumerative technique for (implicitly) considering all potential solutions; and the elimination from explicit consideration of particular potential solutions which are known from dominance, bounding and feasibility considerations to be unacceptable. All of the equivalent terms for these methods will be used interchangeably throughout.

t A summary of this paper was presented at the 31st National Meeting of the Operations Research Society of America, New York, 1 June 1967.

$ The author gratefully acknowledges the support of this research by the IBM Cambridge Scientific Center, Cambridge, Massachusetts, U.S.A.

Page 2: Direct search algorithms for truck-dispatching problems

2 J. F. PIERCE

As will become apparent many of the feasibility, dominance and bounding considerations presented in the following sections are also applicable in other types of problem-solving procedures such as in dynamic or integer programming algorithms, as well as in other combinatorial programming algorithms. As noted earlier, however, attention in the follow- ing sections will be focused on direct algorithms in which problem-solving proceeds first to the discovery of a feasible solution and then to successively better feasible solutions until ultimately one is discovered which is shown to be optimal. We direct attention to these procedures principally because they have the following three desirable attributes.

First, with such procedures there is a possibility of obtaining usable solutions and terminating problem-solving prior to the ultimate completion of the problem-solving pro- cess. This feature appears important for truck-dispatching problems since the evidence to date for this class of combinatorial problems indicates that in general solution is quite difficult, e.g. even with moderately small problems several hours of problem-solving effort on a large-scale computer may fail to solve the problem. On the other hand, evidence with direct algorithms indicates that quite commonly feasible solutions are discovered in the first few moments of problem-solving so that a usable, although not necessarily optimal, solution is available should problem-solving subsequently be aborted.?

Second, these procedures exploit in an efficient manner information that is available beforehand pertaining to the value of an optimal solution, as is always the case, for instance, when a feasible solution is known from experience or has been derived with the aid of a heuristic (unreliable) procedure. That is, since in these procedures subsequent search is always directed toward solutions with a value better than the best known so far and will terminate if a solution is discoverd attaining a known lower bound, use of a priori know- ledge of upper and/or lower bounds serves to reduce the region that need be searched. Therefore, in contexts where good heuristic procedures are available, for example, a system of problem-solving procedures may prove advantageous in which the reliable, direct algorithm is employed as an adjunct to the heuristic procedures, an adjunct to be employed when in a given instance the economics of the problem and problem-solving effort together with environmental considerations warrant the added search for a solution better than that yielded by the heuristic procedures.

Third, these algorithms are attractive in that with slight modification they can be employed to find not only an optimal solution, but all optimal solutions, or a specified number of most preferred solutions, or all solutions having a value within a specified interval of the optimal value, and so on. Such possibilities may be of interest in contexts in which there are attributes of the problem of importance which are not directly represented in the model of the problem being solved.

Before turning to these direct, combinatorial programming algorithms in detail we note first some of the common variations of truck-dispatching problems which arise in practice and summarize briefly the problem-solving approaches developed to date for their solution.

TRUCK-DISPATCHING PROBLEMS

In one of its simplest forms the truck-dispatching problem is the classical traveling sales- man problem in which one is concerned with determining a shortest-distance route1 by which a salesman can visit each of m destinations or cities D,, D,, . . . . D, exactly once, starting from and terminating at the central depot or office. In general, the entity of

t For relevant computational results see, for example, Dantzig et al. (1954, 1959), Gonzales (1962), Held and Karp (1962), Little ei al. (1963), Miller et al. (1960), Pierce and Hatfield (1967) and Pierce (1966 b).

$ Or a shortest-time route, or a minimum variable cost route.

Page 3: Direct search algorithms for truck-dispatching problems

Direct search algorithms for truck-dispatching problems 3

interest making the tour may be a salesman or a vehicle (e.g. truck, airplane, barge, school bus) or a courier or an operating crew, etc. Moreover, the operation may be one of delivery (e.g. home fuel delivery), one of collection (e.g. check collection from branch banks), one combining both delivery and collection (e.g. servicing of bottled-gas installations) or one involving neither (e.g. house calls of physician).

In practice, this basic form of the problem may be complicated by the presence of one or more added characteristics. For instance, there may be a deadline di on the time by which the visit at a destination Di must be complete, and/or an earliest time ai before which the visit is not permissible. Thus, for example, the salesman must determine his route so that he calls on each client during the client’s business hours, the mobile coffee vendor must schedule his stops at each construction or business site to fall within the acceptable coffee-break times, and so on.

Frequently, as in problems involving delivery or collection of items at destinations

D,,D,, . . . . D,, there is an item attribute such as (spatial) volume ul, us, . . ., u, which con- stitutes an important facet of the problem. For if there is then a capacity limit V on the carrier and if xi ui > V it will be necessary for the carrier to make one or more intermediary returns to the depot.? Or, in more complex situations it may not be only the area or volume vi of an item but also its shape and exact dimensions which are important; such is frequently the case, for example, when structurally rigid items such as containers and pallets are to be loaded in an efficient arrangement consistent with capacity for delivery by trailer, boxcar or cargo plane. And still, more generally, there may be a number of attributes of an item which must be considered, e.g. volume, weight, height, length, etc.

When the attributes v 1, v 2, . . . , v, represent the quantities of product to be delivered or collected or the amount of service to be rendered at D,, D,, . . . , D,, there arises a difference in problems depending on whether the entire quantity vi need be serviced on a single visit (as, for instance, when the item having attribute value vi is indivisible) or whether the splitting of the total requirement into two or more partial servicings is permissible. Further, there is a difference depending on whether servicing of the quantity vi is mandatory (e.g. picking up the children at destination Di by the school bus) or whether it is optional, and depending on whether the amount of product or service to be rendered at destination Dt is pre-specified, e.g. 0 or Vi, or to be selected, e.g. ViL<Xi< vi”.

Further, in some dispatching problems there is a whole set of entities to be dispatched, as, for example, a fleet of carriers or an entire sales force or a set of crews. For purposes of problem-solving, the fleet (or force or set) in some problems may be treated as homo- geneous, while in others the constituents may be differentiated along one or more dimensions, such as capacity limit, average speed or unit cost. In the latter case when carriers are treated as nonhomogeneous, distinction may also be made among the items and/or clients which serves to limit to specified subsets of the carriers those which may service particular destinations Di.

Another variation among truck-dispatching problems concerns the goal sought in a solution. Thus, a (feasible) solution may be desired which requires the least total amount of time of the carrier(s) (or force or crew), or perhaps one which requires the minimum service-span time (i.e. the minimum elapsed time to service all destinations), or perhaps one

t For specificity we will refer to any sequence which starts from the depot, visits one or more destina- tions Di, and then returns to the depot, as a trip. We will then term as a cyclic route the total sequence for the carrier, which starts from and ultimately terminates at the depot, and which may or may not include intermediary returns to the depot. Thus a route consists of an ordered sequence of one or more trips. Therefore, when, for example, V<xi ui. a feasible route for the carrier necessarily consists of at least <(J$J V) + 0.99 . . . 0.9> trips, where <g) denotes the largest integer contained in g.

Page 4: Direct search algorithms for truck-dispatching problems

4 J. F. PIERCE

that requires the fewest carriers. Alternately, perhaps a (feasible) solution is desired for which total variable cost is minimum or for which total contribution to profit is maximum.

So far it has been assumed that all servicing of destinations is accomplished on one or more stops included on a cyclic route emanating from the depot, i.e. a route starting from and ultimately terminating at the depot. In some problems additional options exist for servicing some of the destinations. For example, an option may exist whereby, at a given cost, the customer at O$ will provide for his own pick up or delivery to the depot. Or perhaps routings of common carriers are available or can be arranged whereby at given costs various (combinations of) destinations can be serviced. In the more general case, then, the dispatching problem may entail not only the consideration of feasible cyclic routes for the fleet, but concomitantly the consideration of other routings and servicing options as well.

As a final attribute of the seemingly endless list, we mention that of number of sources in a delivery type of operation, or number of destinations in a collection type of operation. For illustration, consider a delivery type of operation. In contrast to the single-depot problems discussed heretofore, there may be n depots any of which may supply each destina- tion Di. On the one hand, each depot may operate its own fleet, delivering product solely from its own depot. On the other hand, there may be a single fleet servicing all sources and destinations. The constituents of the fleet may have the same or different home bases or depots. In some cases there is complete freedom in the source-destination choices while in other cases there are constraints which serve to restrict the sources which can service specific destinations, the limiting case arising when each item to be supplied to each destina- tion has a unique source. A special, but important illustration of this limiting case arises. for example, in airline crew scheduling wherein particular items (aircraft) must be delivered from a particular source to a particular destination (which then becomes a source, etc.) at a particular time. In some cases it is possible to transform a multi-source problem into an equivalent, simpler single-source problem for purposes of problem-solving. In the present paper only single-source problems will explicitly be considered.

In addition to their variability and ubiquitousness, dispatching problems are char- acterized by their difficulty of solution. For the basic classical traveling salesman problem reliable problem-solving procedures have been developed using integer linear programming (Dantzig et al., 1954, 1959; Miller et al., 1960) dynamic programming (Bellman, 1962; Gonzales, 1962; Held and Karp, 1962) and branch and bound or combinatorial program- ming methods (Little et al., 1963; Shapiro, 1966). In the integer linear programming approaches the problem is usually formulated as an assignment problem to which are applied constraints as needed (generally at the point during problem-solving that their necessity becomes mandatory) for ruling out subtours. The results reported have not generally been encouraging. Seemingly among the better results, Fleishmann (1967) has reported solving a 7-city problem in approximately 5 min on an IBM 7094 using a O-l algorithm of Balas (1965) ; and in an isolated case Martin (1966) has reported solving a 42-city problem of Dantzig et al. (1954) in less than 5 min on an IBM 7094 using his variant of Gomory cutting planes (Martin, 1963) apparently through a judicious choice of constraints.

Turning to the dynamic programming approaches, both Gonzalez (1962) and Held and Karp (1962) have investigated their algorithms computationally. Gonzalez solved on an IBM 1620 problems involving up to 10 cities, a IO-city problem taking about 8 min, this time growing somewhat faster than exponentially with number of cities. Held and Karp on an IBM 7090 were able to solve up to 13 cities (without use of secondary storage), a 13-city problem requiring about 13 sec. As noted by Little et al. (1963), if their computa- tion time grew at the same rate as that of Gonzalez, a 20-city problem would require about 10 hr. However, storage requirements might become prohibitive before that size were reached.

Page 5: Direct search algorithms for truck-dispatching problems

Direct search algorithms for truck-dispatching problems 5

Finally, reliable procedures based on branch or bound or combinatorial programming methods have also been developed for the traveling salesman problem. In the approaches of Little et al. (1963), the general idea is to successively synthesize pairs of cities until ultimately a feasible tour consisting of a single city is generated. The procedure then systematically backs up and continues with different pairs, again proceeding toward another feasible solution. Should it become known during the generation process that no feasible solution resulting from the pairs presently synthesized can possibly be better than the best feasible solution discovered so far, the process immediately backtracks, continuing synthesis with a different pair. The procedure terminates when in this manner all possible solutions have been considered, at least implicitly. With this approach the average size of problem which can be solved has been increased severalfold. Problems of the order of 25 cities can be solved in approximately half a minute on an IBM 7094, the time increasing by a factor of 10 for each additional 7 to 10 cities.

Using a quite different “branch and bound” method, Shapiro (1966) has also solved the basic problem. Observing in a number of test cases that optimal solutions to the traveling salesman problem were frequently quite “close” to optimal solutions to the associated assignment problem,? he first solves the associated assignment problem and then proceeds to systematically investigate possibilities for breaking up subtours that may result until ultimately a feasible solution is discovered and is shown to be optimum. This approach, which extends some earlier work of Eastman (1958) appears quite promising for the basic problem; Shapiro reports solving a 70-city problem in approximately 103 min on an IBM 1620, and a 40-city problem in about 8 min.

In addition to these reliable procedures, there are numerous unreliable approaches which have been developed for the basic travelling salesman problem. An excellent biblio- graphy and overview of these approaches may be found in the paper by Bellmore and Nemhauser (1968).

Turning to more general variations of the problem, the approaches can again be categorized as reliable or unreliable. Considering first approaches of the latter type, the earliest work appears to be that of Dantzig and Ramser (1959). They consider a single- depot problem in which a homogeneous fleet of vehicles (of undefined size) each of capacity V is to deliver quantities z+, v2, . . . . v, to destinations D,, D,, . . . . D,. A set of trips is to be developed such that each destination Di is visited exactly once, and such that total distance traveled by the fleet is minimum. Their approach begins by assigning each destination to a separate trip and then proceeds stage by stage synthesizing pairs of trips into single trips on the basis of distance saved. At the first stage the best choice of synthesis is made (ceteris parihus) subject to the constraint that total delivery quantity per pair does not exceed V/2s-1, where S is the total number of stages of synthesis to be consummated.$ This condition ensures that regardless of subsequent syntheses, the capacity constraint will not

f For his test problems he found that, on the average, the number of city pair links common to optimal solutions of both exceeded 80 per cent, and that the ratio of the optimal assignment problem value to that for the traveling salesman problem exceeded 0.8.

$ Ordering the quantities so that vC1, <uCz, < . . . <u,,, the maximum number of stops on any single trip is at most n, where

Since the maximum number of stops which can be aggregated after j stages is 2j, aggregation of n stops requires S stages,

2s>n

Page 6: Direct search algorithms for truck-dispatching problems

6 J. F. PIERCE

be violated on any trip. The resulting syntheses at this first stage then become inputs to the next stage, those at the second becoming inputs to the third, and so on until at stage S the resulting syntheses define the completed trips. To determine, ceteris paribus, at a given stage the set of pairings to be made in order to maximize distance saved, of course, requires knowledge of the savings to be incurred for each possible pairing at that stage. To determine this savings requires in each instance the solution of a classical traveling salesman problem involving all of the destinations Di currently included on the two trips under considera- tion.

Following this work Clarke and Wright (1964) developed a near-optimum procedure which, in addition to this problem, could accommodate the case in which carriers had different capacities V,. These authors removed the constraint P’/2s-1 applied to the first stage and require simply that capacity V not be exceeded in any synthesis at any stage, thus tending to shift emphasis from using truck capacity more toward minimizing total distance traveled. This procedure similarly begins by assigning each destination to a separate trip and proceeds stage by stage. However, at each stage only a single synthesis occurs-one yielding the “best” savings among those entailing the synthesis of a single-stop trip to the beginning or end of another trip. The procedure ultimately terminates when no additional improving syntheses remain. It appears that this procedure yields solutions more nearly optimal than the former, and since the evaluation of traveling salesman problems at each stage is eliminated, requires less problem-solving time. This approach, also being readily modified to accommodate other problem characteristics such as described earlier, has formed the basis of several commercially available computer codes.

Newton and Thomas (1966) have also investigated the homogeneous fleet problem in the context of school bus routing. Their approach is to obtain a near-optimum single trip solution to the basic traveling salesman problem defined by the set of destinations

D,, D,, . . . . D,, and then, using a heuristic procedure, partition the resulting trip into separate trips complying with the quantities ul, v2, . . . . v, and the school bus capacity constraints.

More recently Hausman and Gilmour (1967) have made an interesting study of a dynamic delivery problem such as arises in the home delivery of fuel oil. They assume a fixed cost associated with each home delivery, so that the total cost of a trip consists of the cost for each stop plus a travel cost proportional to the total distance traveled in the trip. (A homogeneous fleet is assumed.) For any given planning horizon the cost contribution resulting from the use of this route is proportional to the cost per trip and the frequency of use of the route. The frequency is the maximum among those of the individual homes included on the trip, these being determined on the basis of usage rate and storage capacity. Their approach is to make an initial assignment of stops to trips, and then to seek improved solutions by reassigning stops to other trips on a one-at-a-time basis until no additional improving transfers are discerned. Rather than solve the two implied traveling salesman problems pertinent to each possible reassignment, the optimal trip distances are estimated by means of a linear regression estimator; and to circumvent the need to explicitly consider delivery quantities vl, v2, . . ., U, and truck capacities V, trips are simply limited to a pre- specified maximum number of stops per trip.

Turning to problem-solving procedures of the reliable type for solving more generalized dispatching problems, two procedures have been found based on integer programming methods. Garvin et al. (1957) have formulated the heterogeneous fleet problem as a (mixed) integer programming problem in the following way:

Minimize C Cijx Xijs i,j,s

Page 7: Direct search algorithms for truck-dispatching problems

Direct search algorithms for truck-dispatching problems 7

subject to C xijs = 2 xju,, for all j, s z U

C yijk = Cyjuk, for all j, k, j# k i u.

C yikk = vk, for all k i

and Xii = 0, integer

where Cij,~ is the cost incurred by a carrier of type s in traveling from destination Di to Di, Xijs is the number of carriers of type s which proceed from Di to Dj, V, is the capacity of a carrier of type s, vi is the delivery quantity at Di, and yijk is the quantity carried from Di and Di destined for D,. Even for a problem of moderate size the number of variables and constraints is considerable; perhaps, as suggested by Garvin et al. (1957), the special structure of the problem can be exploited in actually attempting to solve the problem with this formulation.

An entirely different (zero-one) integer programming model has been formulated for a delivery problem by Balinski and Quandt (1964). Their problem consists entirely of com- mon carrier routes, and does not concern any cyclic routes such as results from fleet opera- tions. For m destinations and n permissible routes, their formulation is as follows:

subject to Caijxi = 1, i= 1,2, . . . . m i

and xi = 0 or 1

where cj is the cost incurred with the jth route, and element aij = 1 if destination i is included as a stop on the jth route, and aij = 0 otherwise. In their problem the routings represent permissible alternatives acceptable to the carrier, and the cost cj is determined as a function of total weight shipped over the route, the number of stops on the route and the most distant stop. From the total set of permissible routes some routes are eliminated on the basis of dominance considerations, thus reducing total problem size (e.g. route k can be eliminated if there exists a subset of other routes which collectively cover all the stops on route k and whose total cost does not exceed cJ. They report success in solving a number of problems using a cutting plane integer programming algorithm, including, for instance, one problem with m = 11, n = 305 and another with m = 15, n = 270.

In addition to integer programming approaches, reliable procedures for solving truck- dispatching problems can also be developed based on the methods of combinatorial pro- gramming. These procedures will constitute the subject of the remainder of the paper, attention being focused on algorithms having those attributes mentioned in the introduc- tion. In Part I attention is focused on problems whose solution involves a single cyclic route; in Part II multi-route problems will be considered.

With reference first to single-route problems, Pierce and Hatfield (1967) have investi- gated in a different context the solution of several production sequencing problems by means of combinatorial programming procedures. These same procedures apply to truck- dispatching problems, including the basic classical traveling salesman problem in which

Page 8: Direct search algorithms for truck-dispatching problems

8 J. F. PIERCE

there are deadlines and/or earliest delivery times imposed on the trip, and to problems in which the objective is to minimize a more general cost function subject to constraints on acceptable delivery times. These procedures form the basis of a number of extensions and are discussed in Sections A through D. With modification these same procedures can be extended to single-route problems in which constraints on the carrier necessitate more than a single trip. These extensions are discussed in Sections E through G. They can also be adapted for problems in which stops are not mandatory, but optional. Discussion of these problems concludes Part I.

In Part II attention is focused on multi-route problems. The procedures presented by Pierce and Hatfield (1967) for multi-facility problems also apply in the present context to multi-carrier procedures, and include cases with deadlines and/or earliest delivery times, and those involving non-homogeneous fleets. The objective may be one of minimum fleet distance, minimum total variable cost, maximum contribution to profit, or minimum delivery span time. A summary of these procedures will be presented in Part II together with their extension to other dispatching problems.

Another approach to multi-route problems or to problems involving a mixture of cyclic routes, common carrier routes and perhaps other options is that suggested by the formula- tion of Balinski and Quandt (1964). In this formulation it of course makes little difference whether thejth alternative with cost cj represents a permissible common carrier alternative, as in their case, or a cyclic route for a carrier which costs ci when the stops are traversed in an optimal sequence, or perhaps an alternative in which a customer at some destination provides his own transportation. This together with other two-stage approaches will be considered in Part II as well.

COMBINATORIAL PROGRAMMING ALGORITHMS FOR SINGLE-ROUTE PROBLEMS

In the remainder of Part I attention will be focused on dispatching problems in which the solution consists of a single cyclic route, such as illustrated by the case in which a single truck operates from a central depot delivering items from the depot to geographically dispersed destinations D,, D,, . . ., D,,. The single route may represent a single trip or, as in a case with binding truck capacity limitations, a number of trips.

First, the basic traveling salesman problem is reviewed and used as a means for illustrat- ing the basic ideas of combinatorial programming. The resulting framework? is then extended to problems involving delivery time constraints, more generalized objective functions, capacity and other carrier constraints and optional deliveries.

A. The basic traveling salesman problem

Following in summary form1 the presentation and notation of Pierce and Hatfield (1967), the basic form of problem to be considered first is that typified by the situation in which deliveries are to be made from a central depot D, to destinations D,, D,, . . . , Di, . . , D,TL.

t The underlying search structure introduced and propagated throughout the paper is that initiated by Little et al. (1963). However, as mentioned earlier, all of the considerations and tests to be derived are equally valid with other structures, such as that,. for instance, employed by Eastman (1958) and Shapiro (1966). The framework of Little et al. is well suited for the continual embodiment in feasibilitv. dominance and bounding considerations and in the criteria employed in directing the search of informal tion (especially relating to feasibility) gained during the process. This would seem to become increasingly more important when optimal feasible solutions are “less close” to optimal solutions to the unconstrained assignment problem.

$ The reader familiar with Pierce and Hatfield (1967) may wish to proceed directly to Section E, after noting the next footnote.

Page 9: Direct search algorithms for truck-dispatching problems

Direct search algorithms for truck-dispatching problems 9

Initially, all items as well as the truck are assumed available for delivery at arbitrary time zero. All items to be delivered to destination Di are to be delivered at the same time,? and all deliveries are mandatory. The time required by the truck in going from Di to Dj is c(i,j) [which may or may not be the same as c(j, i)]. The time necessary to complete the delivery once the truck reaches stop Di is pi. All values of the c(i,j) and pi are assumed known with certainty. We seek a route in which each destination is visited exactly once and for which total route time is minimum.

Specifically, we seek an ordering of the stops D,,, Dil Di,, . . ., D,,,, Dg such as to:

Minimize Z0 = p,, + 5 [~(ik-~, i,J +pi,] k=l

(1)

where 0 = (0, il, i,, . . . . i,, 4) is an augmented permutation of the integers 1 through m, p,, represents the time required to load the truck at the depot and 4 represents the terminal destination which, in the present case, is again the depot.1

As stated earlier, one of the bases of combinatorial programming is the use of a con- trolled enumeration procedure for generating at least implicitly all potential solutions to the problem. This can be accomplished in the present problem by at least two different approaches: by systematically forming permutations of the integers 1 through 172, and by systematically forming combinations of ordered pairs (i,j). With both schemes dominance, bounding and feasibility considerations can be used to reduce search. Since experience to date indicates the latter to yield more efficient algorithms for the present problem we will not consider here the permutational type.

Turning then to the controlled enumeration of combinations of ordered pairs, corre- sponding to every potential route D,, Dil) Diz) . . ., D+ Do is a set of m+ 1 ordered pairs, e.g. R = [(0, il), (iI, Q, . . . . (i,,, C/J)]. The ordered pan (i,j) corresponds to the activity: complete the delivery at Di, travel from Di to Dj, and make the delivery at Dj. Arraying the elements c(i,j) in an (M + 1) x (m + 1) matrix$ as shown in Fig. I, it is seen that each

t That is, only one stop will be made at Di. In problems with additional constraints such as delivery time or carrier constraints it may be desirable or mandatory to split delivery at Di (when permissible) among several trips. When there are s discrete items to be delivered to Di this possibility can be reflected in the problem by simply representing each item independently as a different destination,

Di” DtC2’ . . . . Difs’, , 3

and establishing for each the appropriate delivery and interstop times, delivery deadlines, costs, etc. On the other hand, when the item being delivered or the service being rendered is continuously divisible as, for example, in the case of fuel oil, the problem is considerably more difficult. While reliable pro- cedures for some special cases will be discussed in Part II it appears for more general cases that it may be necessary to use unreliable procedures, e.g. by some means partition the total delivery quantity into a smaller quantities and then proceed as above to view the results as indivisible and to model them as s independent destinations Di(l), Dit2), . . . . DiCs).

$ Since

is a constant it is equivalent in the present case to solve the problem with objective:

if desired.

Minimize ZB = 2 c(il_,, jr) k=l

(I ‘)

$ The time to travel from Di to Dj is denoted by c(i,j) to distinguish it from the element cij in the ith row and jth column of matrix C.

Page 10: Direct search algorithms for truck-dispatching problems

10 J. F. PIERCE

potential route R corresponds to a unique combination of elements in the matrix, in each of which appears exactly one element from each row and each column. Thus it is possible to systematically enumerate all potential routes R by systematically selecting all possible combinations of (FPZ + 1) elements from matrix C (one from each row and each column) and in each case forming the resultant string of ordered pairs, R’ = [(0, iJ, (il, it), . .., (i,, qb)].

The use of an enumeration procedure in this present form, however, will result in the generation of many strings of ordered pairs R’ which do not represent feasible sequences R.

Thus any combination containing an element c(.j,j) (implying stop Di, following itself) or any containing a cyclic subset of the form c(t, u), c(u, x), . . . , c(y, t) (implying cycling among the destinations D,, D,, D,, . . . . and DJ represents a nonfeasible solution. With sufficient investment in bookkeeping,? however, these nonfeasible solutions can be avoided during enumeration by noting as inadmissible for selection from matrix C the appropriate elements cij during the generation of combinations.

0

1

From 2

destination 3

D,

To destination D,

40, 1) 4092) c(O,3) 40, m) CCI

a, c(l,2) c(l,3) . . . 41, m) 41, $)

4271) cx) ~(2, 3) . . . 42, m) c(2,@

4391) 4372) c0 . . . 43, m) 4374)

. I . “’

m-1 c(m- 1, 1) c(m- 1, 2) c(m-1,3) . . . c(m-1,m) cb-1,C) m c(m, 1) c(m, 2) c(m,3) .., 02 c(m, 4)

FIG. 1. Inter-destination travel time matrix C for the basic traveling salesman problem.

As an illustration of one systematic enumeration procedure of this type, suppose a combination is generated by successively selecting elements from successive rows in matrix C. Thus, the first selection is made from row 0, the second from row 1, etc. And suppose within a given row when scanned from left to right, the first noninadmissible element is always selected. Upon making a selection from row nz and hence completing the specification of a combination, the procedure backs up to row n? - 1 and denotes as inadmissible the last element c(m - 1, k) selected, selects the next noninadmissible element in row IR- 1, and resumes forward again to row m. Generation thus continues in this manner, backing up to the previous row whenever all elements in a given row become inadmissible; ultimately all elements in row 0 are tried and hence become inadmissible, thus completing the enumeration.

t This can be accomplished, for instance, by restricting the selection of the kth of the (m+ 1) ordered pairs (i,j) in a given combination to one of the admissible or unmasked elements in matrix Chml, where matrix Cl,_, is the kth in a sequence of matrices, C,, C,, . . . . C,,. In this sequence C, is the original changeover matrix with element ~(0, m+ 1) and all elements c(i, i) masked out. Matrix Ckml is the matrix formed from matrix Cl,_z as a consequence of selecting admissible element c(r, S) from Ck--2 as the (k - l)st ordered pair; it is formed by masking out in row s all columns which have been masked out in row Y, and by masking out row Y and column S. (Inadmissible or masked pairs (k, j) are indicated either by drawing a line through the element c(i, j) in C or by setting c(i, .j) = a.)

Page 11: Direct search algorithms for truck-dispatching problems

Direct search algorithms for truck-dispatching problems 11

As can be seen in Fig. 2 for the case m = 3 the combinations generated can be con- veniently represented in terms of a tree structure. The jth level of nodes in the tree repre- sents thejth ordered pair (i, k) selected for inclusion in a combination (in the present enumera- tion procedure, the pair corresponding to the element selected from row j- 1). Each path in the tree represents a unique combination of (m + 1) elements, and hence a unique potential route R. The procedure described above would thus elaborate the tree shown from left to

Level I

Level 2

Level 3

Level 4

(1,2,3) (I. 3,21 (2, I, 3) ‘2.3, I) (3.1,2)

FIG. 2. Complete tree of potential solutions for m = 3.

right. Enumeration may thus be equivalently viewed as entailing the successive row-by-row selection of an element from matrix C to include in the combination of ordered pairs, or as entailing the successive level by level selection of branches in a tree (one branch per level) until a terminal node is reached at level nz + 1. Upon reaching a terminal node the corre- sponding route R is evaluated and the tree-elaboration process backtracks to the first node in the path for which all branches have not been elaborated, selects the next and resumes. When the process has backtracked to the origin node and all its branches have been enumerated, generation and hence problem-solving are complete.

As will become apparent, an equivalent and useful interpretation of this level-by-level procedure is that in which pairs of destinations are synthesized recursively to form, stage by stage, a routing problem identical in form to the original but having at each stage one less destination. With this interpretation, the procedure progresses stage by stage toward the construction of a route containing a “single” destination which represents a potential solution to the original m-destination routing problem. In backtracking, one or more synthesized stops are decomposed, and the process then continues forward, synthesizing with a different pair of stops.

More explicitly, suppose the ordered pair (i, j) is selected for inclusion in the combination of ordered pairs being generated. This is equivalent to synthesizing destination Di and destination Di into a single destination, say destination D,,, replacing Di and Dj. The single destination D, now represents the sequence of activity: complete the delivery at destination Di, travel from Di to Dj and complete the delivery at destination Dj. Denoting

Page 12: Direct search algorithms for truck-dispatching problems

12 J. F. PIERCE

this synthesis as I$’ = (i,j), D,, has the characteristics:

Pw = Pi + c(i,j) +Pj C(Y, w) = C(Y, i) for all Y

c(w,I”) = c(j, r) for all r 1

(2)

c(w, 14) = Go I

In addition, to ensure in the ultimate route that the dummy stops D, and Dp are first and last on the route, respectively, and that all other stops are included between them, two dummy stops are propagated throughout synthesis :

If stop i is the dummy stop representing the initial stop at the depot, treat stop w as the corresponding dummy in the new problem. Let c(w, t) = a where D, is the dummy stop representing the terminal stop at the depot.

If stop j is the dummy stop representing the terminal stop at the depot, treat stop w as the corresponding dummy in the new problem. Set c(s, t) = co where D,, is the dummy stop representing the initial stop at the depot.

Thus the selection of (i,j) results in the creation of the single stop D, to replace stops Di and Dj, yielding a new dispatching problem with one less stop.

Viewing the problem-solving process in this way, as a potential route R is being generated by the successive selection of (m+ 1) ordered pairs, a sequence of (m+ 1) dispatching problems is being defined, each problem in the sequencing being determined from its pre- decessor according to (2). Equivalently, with every node in a tree for the original problem there is associated a dispatching problem identical in form to the original, but having at level j in the tree only (m + 2 -j) destinations. From this smaller problem can be derived, and the feasibility and optimality assessed, all potential solutions to the original problem whose paths pass through this node. Thus, at each stage it is sufficient to use the smaller problem; as will become apparent in this and subsequent sections this greatly facilitates the use of dominance, bounding and feasibility considerations. Unless otherwise noted, it will be assumed that discussion applies to an arbitrary dispatching problem regardless of the node to which it corresponds.

If at any node during elaboration of a tree it becomes known with certainty that all paths passing through the node represent potential routes R which are either nonfeasible (e.g. the node represents an element c(i, i)) or are dominated by a feasible route already dis- covered, then further elaboration and evaluation of branches emanating from the node may be eliminated without impairing the reliability of the problem-solving procedure. Having mentioned feasibility considerations earlier, let us now consider some possibilities for reducing search based on dominance considerations. Suppose 0, and Oii are any two feasible routes for the problem, and let Z,, and ZBI, denote the total travel times for these routes, as evaluated according to (1’). Then for present purposes we will say that Q, dominates 0,; if ZOj<ZBk. We thus seek a d?minating feasible solution to the problem. If at any particular point of the search process 0 denotes the best feasible solution discovered so far, then in subsequent search we are interested only in feasible solutions 0 for which Z,<Z6. In essence, we try to limit search accordingly by in effect affixing the constraint 2, <Z,- to the problem.

More specifically, suppose in the search process we have arrived at a node on level k in a tree of the problem, having selected from matrix C elements corresponding to the ordered pairs (a,, b,), (a,, b2), . .., (a,, ZQ.). Let Tk denote the total time committed so far:

T,; = -$ pi+ $ c(q, bi) k=O i=l

Page 13: Direct search algorithms for truck-dispatching problems

Direct search algorithms for truck-dispatching problems 13

Then if T,BZ~ no branch emanating from this last node need be investigated since all potential solutions whose paths pass through this node are necessarily dominated by 8. More stringently, let B, denote a lower bound on the travel time yet to be incurred in completing the route, i.e. on the time for the remaining (m+ 2-k)-destination problem defined at the present node. Then if Tk + B, 2 Z,- no further consideration need be given to branches at this node. In such cases the search process can immediately backtrack to the first node for which all branches have not been (at least implicitly) considered and forward search resumed.

While there are a number of ways of determining a lower bound B,, one which is effective and requires little computation is as follows. Because a feasible route R selects exactly one element from each row and column of matrix C the dispatching problem may be viewed as an assignment problem defined by the matrix C on which are imposed added constraints to rule out cycles in routes. The value B,<’ of an optimal solution to this assign- ment problem defined at this node thus constitutes a lower bound B,. In turn, any lower bound B,” on the value of Blc’, although less stringent, also constitutes a bound B,<. Such a bound can be computed with little effort by the “matrix reduction” method used by Little et al. (1963). By subtracting appropriate constants from the elements of each row and each column a reduced matrix C.” can be derived from C such that there exists at least one zero element in each row and each column.i_ The sum of the row and column constants used in reducing the matrix is termed the amount qf reduction, S. For any potential route R, if the total travel time determined according to C is G(R), then according to C” it is G(R)+S. Since the travel time differs only by a constant for any route R, reducing matrix C does not affect the optimality of assignments. Since under C” the total travel time for all potential routes is nonnegative, the total for all under C must be at least S, the amount of reduction. Hence at any node the reduction incurred in reducing the appropriate matrix C at that node may be used as the bound B,c.

As a final comment on dominance at this point, although it may not be possible to terminate search completely at a given node on the basis of the test Tk + B, 3 Za, it may still be possible on occasion to eliminate particular branches from subsequent consideration. That is, if at the node in question Tk + B, + c”(u, t) > Za then the branch corresponding to the synthesis (u, t) is dominated, where B, is the amount of reduction incurred in reducing matrix C to C” at this node, and c”(u, t) is the element in matrix C” representing (u, t).

As in the case with feasibility considerations, all inadmissible syntheses (i,j) deduced from dominance consideration are noted in matrix C.$

As will be recalled, in elaborating a tree of the dispatching problem the basic strategy discussed consisted in choosing successive elements for synthesis from successive rows in matrix C. An alternative strategy, for example, might consist in choosing the first element from row 0, say the element representing the pair (0, il), and then the second from row il, say (il, iz), the third from row i2, and so on. With this strategy potential routes R would be generated in the order in which the stops Di would actually occur during delivery. Both of these strategies are data-independent in that they do not depend on the characteristics of the data of the particular problem being solved. Such procedures (at least those mentioned)

t This can be accomplished, for instance, by subtracting from each element in a row the smallest element in that row, and for the resulting matrix, doing likewise for the columns. The reduced matrix and the amount of reduction which results are in general not unique, however, and may depend on the order in which these operations are performed.

$ It should be noted that in successive stages of synthesis any pair (i,j) inadmissible at stage k remains so through stages k+ 1, k+2, etc. Therefore, by setting c(i,j) = to in matrix Ck record of its inadmis- sibility will be perpetuated through successive stages in the normal generation of the matrices Cli+l. CI;+,, etc.

Page 14: Direct search algorithms for truck-dispatching problems

14 J. F. PIERCE

require relatively little problem-solving time in keeping track of the parts of the tree investigated so far, and in determining a next branch in the tree to investigate.

In some cases, however, more efficient problem-solving procedures may result by expending more time on these functions and making the search more dependent on the particular problem being solved. Experience to date with this problem and with the case wherein there are deadlines on the delivery times at various destinations has indicated this to be true, at least for those cases.

There are at least two basic search strategies of a data-dependent nature in both of which a branch is selected for elaboration to the next level which has associated with it a most preferred value of some attribute E. In the “flooding’‘-type search pattern a branch is selected each time from among all branches in the tree currently requiring elaboration. In the second basic pattern, search is always directed toward the elaboration of complete paths in the tree; hence, in turn, one branch is selected at level 1, then one at level 2, etc. : at level k all branches emanating from the single node selected at level (k- 1) are evaluated in terms of the attribute E and a most preferred one selected for elaboration to level (k+ 1). At any time a terminal node or one which is known to result in dominated or nonfeasible paths is reached, the search process backtracks as usual to the most recent node for which all branches have not been considered, and a next most preferred branch elaborated. Of the two strategies it is difficult to anticipate which will result in the earlier discovery of an optimal solution, but the latter would be expected on the average to result in the earlier discovery of a feasible solution.

A natural attribute E to employ is a lower bound on the total route time or, equivalently in the present problem, on the total required travel time. Such a bound for the branch representing the synthesis (u, t), it was just noted, is T,+B,+ c(u, t)“. Thus a most pre- ferred branch at the given node would be one for which c(u, t)” = 0. However, there are at least (VZ + 2 -k) such branches at this node if it occurs at level k in a tree since there is at least one zero in each row and column of a reduced matrix C” at this level. Thus an additional criterion is needed for choosing among the zero elements.

A criterion which has proved very effective is the “alternate cost” criterion of Little et al. (1963). At any node the selection of the pair (u, t) partitions the set of all potential solutions into two subsets, one of all potential solutions containing the ordered pair (u, t) and the other of all potential solutions not containing it. A lower bound on the route time of all routes in the first subset is simply T,c + B,, while one for the second subset is

_!?((u, t) = Tk + B,G + min [c(i, t)“] + min [c(uJ)“] = T,< + B,< + E(u, t) i+u j*t

since eventually one element must be selected from each row and column of matrix C. The quantity E(;(u, t), a lower bound on the value of the objective function (usually expressed in terms of cost) for all alternatives to the pair (u, t), will be referred to simply as the alternate cost of (u, t). The criterion of Little et al. selects for synthesis at each stage a pair whose alternate cost is largest.

The criterion has been found in practice especially effective in problems where the number of different values of the Cij in the problem are large and when they are randomly arrayed in the matrix C. Frequently the first feasible route discovered is subsequently proven to be optimal after investigating but a few alternate branches. As the array tends to become nonrandom in arrangement, and especially as the number of cij having like values increases (e.g. as in symmetrical problems where cij = cji), the problem becomes increasingly more difficult to solve. For some of these situations it has proven efficient to augment the alternate cost criterion with other criterion. As the results reported by Pierce and Hatfield (1967) suggest, total problem-solving time for a particular problem can be

Page 15: Direct search algorithms for truck-dispatching problems

Direct search algorithms for truck-dispatching problems 15

significantly reduced when a criterion appropriate to that problem is selected. This leads immediately to important and difficult questions concerning the best criterion to employ in a given instance for a particular problem, questions that will not be pursued in the present paper.

To 0,

I 2 3 4 9

0 5 13 13 15 DJ

FIG. 3. Data for illustrative traveling salesman problem.

To conclude discussion of the basic traveling salesman problem we solve by combina- torial programming the illustrative problem with four destinations given in Fig. 3. For our underlying search strategy we shall proceed level by level toward the elaboration of com- plete paths in the tree (the second of the data-dependent strategies that was discussed earlier), selecting at each level a branch having the highest alternate cost according to the rule of Little et al. (1963). Upon backtracking we shall always resume forward with the first non- dominated branch encountered, i.e. the lowest level non-dominated branch in the partial tree elaborated so far.

To begin we reduce the inter-destination travel time matrix C,, in Fig. 3, getting the reduced matrix C,,” as shown in Fig. 4. Summing the row and column constants employed in the reduction (the constants shown below and to the right of C,,” in Fig. 4) to get the amount of the reduction, 14, and adding to this the total servicing time of 13 to be expended en route, there results a lower bound of 27 on the total route time for all feasible routes. Turning to the synthesis process we evaluate for each zero element c(i,,j)” in C,,” the alternate cost element E(i,j), getting the values as shown in the upper right-hand corner of the cells in Fig. 4. Since the largest of these elements is E(0, 1) we select for synthesis the pair (0,l) which has an alternate cost of I?(O, 1) = 27+8 = 35. Forming destination D,, 6 = (0, I), we establish the inter-destination matrix for the resulting 3-destination problem and reduce

Page 16: Direct search algorithms for truck-dispatching problems

16 J. F. PIERCE

as before, getting a matrix such as shown in Fig. 5. Since the added amount of reduction incurred in this reduction is 3 a lower bound on all feasible paths passing through this node becomes 27 + 3 = 30. Comparing the alternate cost elements E(i,j) which result for the zero elements in Fig. 5, it is seen that the synthesis to be made next is 7 = (6,4) which has an alternate cost of E(6,4) = 30 +3 = 33.

TO

I 2 3 4 5

0

From 2

3

4

- 8

0 8 8 IO w 5

2 I

cc, I 2 0 G 2

4

4 00 0 2

2

5 0 0) 3 4

2

0 6 2 w

,I 6

3 2

0 0 0 0 0

FIG. 4. Initial inter-destination time matrix after reduction.

FIG. 5. Reduced time matrix after synthesis 6 = (0, 1).

If we continue on in this manner the result will ultimately be the path represented in

Fig. 6. In this partial tree a node g represents paths not containing the synthesized pair (i,j), and the value adjacent to each node represents the current lower bound on the total route time for all routes whose paths pass through the node. All newly formed destinations have been labelled sequentially in the order created, i.e. 6 = (0, l), 7 = (6,4), 8 = (2,3), etc.

Page 17: Direct search algorithms for truck-dispatching problems

Direct search algorithms for truck-dispatching problems 17

Thus the first feasible solution 6’ discovered requires total route time 2 = 34 and, upon decomposing (7,9) back to the original destinations, is found to be the route

e = (0,~ 4,2,3, +).

FIG. 6. Partial tree elaborated in discovering first feasible solution for illustrative traveling salesman problem.

Saving this route as the best so far, we now backtrack in the tree in search for the first nondominated branch, i.e. the first with lower bound less than 34. This is seen in Fig. 6 to

be the branch 6,4 emanating from node 0,l. Thus we return to the 3-destination problem defined at node 0,l discarding all of the tree structure existant at lower levels and, upon making inadmissible the synthesis (6,4), proceed forward again until either a node is encountered for which all paths are dominated or until another feasible solution is dis- covered. As seen in Fig. 7, the result turns out to be the discovery of a new feasible solution with Z = 33. Saving this as the best feasible solution discovered so far we again backtrack but this time fail to find any non-dominated branch. Therefore the last feasible solution 6’ = (0, 1,2,4,3,5) discovered is optimal and problem-solving is complete.

In brief, this indicates the basic ideas underlying branch and bound or combinatorial programming algorithms and summarizes the principle ideas pertaining to the solution of the classical traveling salesman problem that are built on in the following sections. As an indication of the computational experience that has been gained with these algorithms, Little et al. (1963) report that in solving numerous randomly generated asymmetric problems on an IBM 7090 they averaged 0.012 min for lo-city problems; O-084 min for 20-city problems; O-975 min for 30-city problems; and for five 40-city problems averaged 8.37 min. They report also that in general symmetric problems require considerably more time. Similar experience is summarized by Pierce and Hatfield (1967).

B. Delivery deadlines These same problem-solving procedures can be extended to variations of the basic

problem in which there is a deadline di by which delivery at destination Di must be com- plete. For this variation of the dispatching problem we seek a routing for the stops

Page 18: Direct search algorithms for truck-dispatching problems

18 3. F. PIERCE

D,, 4, . . . . D,, D+ such as to

Minimize 2, = p,,+ 5 [c(i,_,, ik) +pi,] k=l

subject to tij = p,,+ 5 [~(i+~, i,+p,,] 6 dij for all j (3) k=l

where again 8 = (0, i,, i,, . . . . i,, 4) is an augmented permutation of the integers 1 through m, c(i,j) is the travel time between Di and Dj, and tij is the actual completion time of the delivery at the jth stop on the route. The deadlines of destinations D, and D6 are taken respectively to be d,, = p0 and, unless otherwise specified, d$ > [di + c(i, $)I, 1 < i < m.

FIG. 7. Second path elaborated in tree for illustrative traveling salesman problem.

In solving this problem we proceed as in the basic case discussed in the previous section. Any of the basic search strategies can be used to systematically elaborate a tree of the problem, and any or all of the feasibility, bounding and dominance considerations can be employed to eliminate dominated and nonfeasible branches from explicit elaboration. The only essential change is that in the stage-by-stage recursive synthesis of pairs of stops (i,j) stop w = (i,j) is given the deadline d,,

d, = min [dj, di + c(i,j) +pj]

which ensures that if delivery at D, is complete by d, then the deadlines of both Di and Dj are met.

In addition to these same general considerations, additional tests for feasibility can be developed for the present problem resulting from the fact that by time t the delivery at all destinations Di must be complete for which d$ < t. These tests can be used to identify ordered pairs (i,j) whose synthesis would ultimately necessarily result in nonfeasible

Page 19: Direct search algorithms for truck-dispatching problems

Direct search algorithms for truck-dispatching problems 19

solutions. When such a pair is identified the corresponding element c(i,j) is masked out or set to 00 in matrix C thereby eliminating the associated branch from elaboration and perhaps making more stringent the bounds B, on total route time.

Suppose the destinations Di are ordered so that d,, < dl 6 d, < . . . < d+, and let bi represent a lower bound on the travel time necessary to reach Di from some other destination (e.g. the value of a minimum element in column j of matrix C, where for all inadmissible elements c(i,j) = cc). Then a necessary condition for the existence of a feasible solution is

e, =p,,+ i(bj+pj)<dk for k=1,2 ,..., m,+ j=l

where ek is a lower bound on the delivery time required before time dk. Or, more con- veniently, the quantity qk’ = d, - eh: represents an upper bound on the time (loosely referred to as “slack”) available before t = dk for traveling between stops whose inter-destination time c(i,j) exceeds the bound bj, and for making deliveries at destinations Dt for which dl > dk. However, in some instances it may be necessary for feasibility to incur before time dk part or all of the travel and/or delivery time associated with a destination D, for which dt > dk. Therefore more stringent bounds on the slacks become

and

qk=min(d,-e,,q,,J for k=m,m-l,..., 1,0

These slacks may be conveniently used as the basis for a number of tests. The prime test for feasibility is that

9,>0, i=O,l ,...,m,+

Should this test fail for any i at any given node no further consideration need be given to branches emanating from the node. In addition, these slacks can be used as a basis for tests for identifying particular inadmissible pairs. For illustration, two such tests are as follows :

Let Di be any stop, 1~ i < m. If c(i, j) - bj >qj then the synthesis (i, j) is inadmissible.

Let Di and Di be any stops, 16 i < j < 4 for which qi < yj. If bj +pj > qi then delivery at Di cannot precede delivery at Di on any feasible route. Further- more, since qk <qi for k 6 i, all syntheses (j, k) are inadmissible for 1 <k 6 i.

Further tests along these same lines are given by Pierce and Hatfield (1967). In addition, Glover (1966) has shown that these tests can be made more stringent by replacing the necessary condition for feasibility,

PO+ 5 (bj +pJ < dk for all k, j=l

by the stronger condition

where

PO -I- 2 (bi +pj + Sj) < dlc + Sk, for all k, j=l

si = min{cjk} and bj’ = min{cij-sj}. k i

He then derives further tests on the basis of this result, as well as others. 3

Page 20: Direct search algorithms for truck-dispatching problems

20 J. F. PIERCE

Finally, for the present problem there is a special, simple dominance consideration that can be used to advantage. Because the objective in the present problem is one of minimizing delivery span time, and delivery span time is tZ, the dominance constraint on subsequent feasible solutions 0,Z, ~26, can be directly reflect@ in the problem formulation in the form t+ < d4. That is, as each better feasible solution 0 is discovered, deadlines d, on deliveries are recomputed to 4 :

Lfk’=min[d,,Z;-c&$)-e], r-+0, fork= 1,2 ,..., r?l,d.

This in turn serves to make feasibility tests potentially more effective. Computationally, problem-solving times for problems with delivery deadlines have been

of the same order of magnitude as those reported in the previous section. The times for a given size problem, however, have been found to be quite dependent on the “tightness” of the deadlines in terms of the degree to which they eliminate otherwise good feasible routes. For instance, in an investigation of a set of representative problems in the 17- to 20-stop range the deadlines were varied through several degrees of “tightness”, from completely free through very tight. Total problem-solving time for the five degrees reportedl_ were, from free to tight: 20, 126, 118, 35 and 25 set on an IBM 7094 computer, respectively. These results accord with our general findings that the most time-consuming are the “slightly” constrained problems, which results from the fact that it is frequently necessary to elaborate a number of levels in a tree before it can be ascertained that the resulting paths will be nonfeasible. In general, a highly constrained problem may require more problem-solving time than an unconstrained problem or it may require less. The difference in tightness also affects the rate of problem-solving progress, as can be seen in Fig. 8 which shows the value of the best solution discovered so far as it improves with problem-solving effort for a representative problem involving 18 destinations.1 Further discussion of computational considerations and results may be found in Pierce and Hatfield (1967).

C. Earliest delivery time constraints

Another variation of the basic dispatching problem is that in which there is an earliest time ai before which delivery at destination Di is unacceptable. In this section we consider the case in which there are both deadlines and earliest delivery time constraints. For this problem we seek a feasible route D,, Dil, Di,, . . , D,,, Dp such as to

Minimize 2, = pO+ 5 (y;,_,,i,+pik) k=l

subject to ti, = p. + 5 (yi,_,,g+pi,J < dz,, for all j (4) k=l

and sii = ti,--pij > ai,, for all j

where tij is the completion time of the delivery at Dg, sir the time at which the delivery begins and yik_-l,ik is the lapsed time between completion of the delivery at Dik_, and the start of delivery at Dik. For the dummy stops Do and D+ we assume a, = 0 and a4 = max {ai}.

In the presence of both deadlines and earliest delivery time constraints the speci&ation of an ordering of the stops on a route, Do, Dil, Dia, . . .) mine unique delivery times, tij or sij, as before.

Dim, Dg does not, in general, deter- For given any ordering 19, and given the

t These results have been taken from Table 18.7 of Pierce and Hatfield (1967). 1 Figure 8 has been taken from p. 334 of Pierce and Hatfield (1967).

Page 21: Direct search algorithms for truck-dispatching problems

Direct search algorithms for truck-dispatching problems 21

minimum route time 2, attainable with that ordering, there may be a whole range of permissible completion times t,’ d tu < t,” for one or more stops D,, any of which is con- sistent with the ordering 0 and the minimum route time Z,. In such a case we will consider equally acceptable all sets of feasible completion times for 0 for which the minimum route time Z, is attainable.

-. “@ . . . . . . @._

3 . . . 0.@ LOOSE @

!I

FREE

I I I ! I I I I I I

1 2 3 4 5 10 20 50 100 150 200

SI:CONDS

FIG. 8. Problem-solving time for successive feasible solutions as a function of degree of constraint.

While the elapsed times between deliveries are no longer uniquely defined, it can be shown? that the problem can still be solved by recursively synthesizing pairs of destinations in ways that have been discussed in the previous sections. Now, however, synthesis is carried out using an appropriately defined stage-to-stage sequence of inter-delivery elapsed time matrices U,, V,, . . . , U, instead of the usual sequence of inter-destination times

Ccl, G . . . . C,. For the initial stage matrix U,, is formed whose elements u(i,j) represent the shortest possible elapsed time between the completion of delivery at Di and the start of delivery at Di in any feasible route :

u(i,j)=max[c(i,j),+-&I, i=O,l,..., m;j=1,2 ,..., 4

t See p. 338 of Pierce and Hatfield (1967).

Page 22: Direct search algorithms for truck-dispatching problems

22 J. F. PIERCE

Thereafter, should destinations D, and D, be synthesized the result is destination D,, w = (k, t), having the following characteristics :

Pw = Pk + u(k t) +PL

U(Y, w)’ = max [u(r, k), a, - d,] for all r

u(w, r)’ = max [u(l, r), a,- d,] for all r

u(w, w)’ = -32

d, = min [d,, d, + u(k, t) +pJ

a, = max [a,, a, - u(k, t) -pJ

As before, the result is a new dispatching problem identical in form but having one less destination. Continuing stage by stage in this manner the result will eventually be a single destination.? If at each stage it is verified for the new destination D, that a,+~, < d,, this single destination will represent a feasible solution 0 to the original (m+ 2)-destination problem, and its delivery time p will be the minimum route time Z,.

With the exception that sequences of matrices Ui now replace the sequences of matrices Ci, all discussion of problem-solving procedures in the earlier sections applies without change to the present problem. In addition, there are a number of feasibility and dominance considerations which stem from the earliest delivery time constraints.

For instance, corresponding to (and in addition to) each of the feasibility tests resulting from deadline constraints there is a test resulting from the earliest delivery time constraints. For when the destinations Di are ordered in increasing order by earliest delivery time ai so that1 a,, < al < . . . <a, < a+ these constraints can be viewed as deadlines in an “inverse” routing problem whose time scale is t’ = d$-- t. Feasibility in this “inverse” problem then requires that by time t’ (time d# - t) the delivery for all stops Dt with “deadline” di’ < t’ (for no stops Di with earliest time ai > d4 - t) must be complete (can be started). Thus for this “inverse” problem quantities e^, and Qk analogous to ek and qk. can be determined and used as a basis for feasibility tests identical to those in the case of deadlines. In addition, there are feasibility tests based on both deadlines and earliest delivery times:

a, +pi < di for all i

ai +pi + u(i,j) +pj < dj for all i,j

Further considerations are discussed by Pierce and Hatfield (1967). An important prospect in dispatching problems with both delivery deadlines and

earliest delivery times is that of partitioning the original problem into two or more indepen- dent subproblems for solution. For illustration, suppose there is a destination D, with a, such that, for all destinations D, with al,>as and all destinations Di with a,<a,, the time ak - di is at least as great as the travel time c(i, k) or c(i, k) = co. The problem may then be partitioned into two smaller independent subproblems, one consisting of the destinations Di with a, < a,, and the other consisting of the remaining destinations (with an appropriate dummy stop affixed to each). For the former, only a feasible solution need be found since in no way can the choice of feasible solution affect the delivery starting time of the second subproblem and hence total route time. In like manner further partitioning of these two subproblems may in turn be possible. Hence in this way it may be possible to decompose

7 As in the previous section an initial and terminal dummy are propagated throughout the process. t Destination indices i will be in bold when referring to destinations ordered by earliest delivery time.

Page 23: Direct search algorithms for truck-dispatching problems

Direct search algorithms for truck-dispatching problems 23

the original problem into two or more independent problems for solution, one an optimiza- tion problem and the others only feasibility problems. Computationally this prospect may be quite important, both because problem-solving time normally tends to increase expo- nentially with the number of destinations which must be explicitly considered in the problem, and also because the discovery of a feasible solution for a problem frequently constitutes only a very small fraction of the total time required to guarantee an optimal solution.

D. Generalization of the objective function

Thus far in all of the cases considered the objective has been one of minimizing total route time. These same procedures can be extended to accommodate the larger class of problems in which the objective function represents a total variable cost reflecting, say, total route time as well as additional time-independent costs dependent on the subsequences (i,j) included in the route. These latter costs, for instance, might represent vehicle toll charges incurred in traveling from destination Di to destination D!.

For example, suppose (J denotes the cost per unit time incurred m operating the delivery vehicle, and let c(i,j)’ denote the time-independent cost incurred if the vehicle proceeds from Di to Di. Then the cost minimization variation of the dispatching problem with deadlines is to determine a route 0 such as to

Minimize Z, = u ,p,, +kgI[c(ik_I, ik) 4-&l) f k$ICr(i~-I, i3 I

= constant + 5 g(i,_,, ik) k=l

subject to ti, = p. + 5 [c(ik_l, ih_) fpg] < dij for all j k=l

where g(i, j) = crc(i, j) + c(i, j)‘. To solve this problem? essentially the same combinatorial programming procedures

that have been discussed can be used except that now in carrying out the stage by stage recursive synthesis process sequences of both travel time matrices C,,, C,, . . . . C, and cost matrices G,,, G,, . . ., G, are used. When synthesizing destinations Di and Di, the character- istics of D, now become:

Pw = Pi+c(i,_i)+Pj

c(r, w) = dr, i); c(w, r) = c(j, r) ; c(w, w) = co for all r

d, = min (di, di + c(i, j) +pJ

g(r, w) = g(r, i); g(w, r) = g(j, r); g(w, w) = a3 for all r,

t It is important to note that we are continuing to assume that there exists a single route available between Di and Dj, this route costing g(i, j) and requiring time c(i, j) to travel, and that each stop is to be visited exactly once. In the basic traveling salesman problem one can always replace a given problem by an equivalent problem in which c&j) represents the shortest route from Di to D, (regardless of the number of intermediary stops through which the vehicle passes to achieve this route); an optimal solution to this problem in which each stop is visited exactly once is then an optimal solution to the original problem in which each city is visited at least once (see Hardgrove and Nemhauser, 1962). When there is both a time and a cost associated with a route, however, there is in general an entire schedule of non- dominated possibilities for traveling between Di and Dj, [g&j)“, c(i,j)“], to be considered, some of which may entail visiting intermediary stops. Solution of the more general problem thus involves not only sequencing the carrier but also selecting the particular alternative t[g(i,j)t, ~(i,i)~] to employ in proceed- ing from each Di to each D, on the route. This more general problem is beyond the scope of the present paper.

Page 24: Direct search algorithms for truck-dispatching problems

24 J. F. PIERCE

where C = [cij] and G = [gij], Now feasibility tests are carried out in conjunction with matrices Ci whereas matrices Gi are used in conjunction with dominance tests, lower bounds on total cost 2 and (in data-dependent cases) in implementing rules for ordering search. All syntheses (i,j) determined to be inadmissible are now noted in both matrices Ci and Gi.

In cases when earliest delivery times ai are also present the synthesis process is carried out using sequences of minimum inter-delivery time matrices U,, U,, . . . . U,, together with sequences of cost matrices G,, G,, . . . , G,, rather than with sequences of inter-time matrices

c,, C,, ..‘> C,,. In this case the characteristics of newly synthesized destinations D,, as well as the elements of the matrices Vi, are determined exactly as in the basic problem of Section C. Since in the present case each cost element g(i,j) = ou(i,j) is dependent on u(i,j), it is necessary to update matrix G after updating matrix U, at each node in the search process unless u = O.i_ Unfortunately, with this new objective function it is no longer possible in general to partition the problem into independent subproblems for solution, as was some- times a possibility when Z = t3.

Finally, from this special case with linear route time costs the objective function can be generalized to include the more general class in which

z, = F(t+) + S d(ik_l, id k=l

where the cost component F(t& represents any continuous, nondecreasing and convex function of total route time tO. The details of this generalization may be found in Pierce and Hatfield (1967).

E. Carrier capacity constraints

In some variations of the dispatching problem one or more carrier constraints may limit the deliveries which can be included on a single trip. For instance, perhaps the total volume which the carrier can accommodate at any one time is I’. If then the volume of the delivery to be made at destination Di is V~ and if &,rm vi > V, then a feasible route for the carrier must include more than a single trip from the depot. In this section we take up the extension of the procedures discussed previously to such multi-trip problems, limiting attention to the case in which no constraints restrict the delivery time at destination Di. The more difficult case involving delivery time constraints will be deferred to the next section.

Formally, the present problem is to determine an n-trip route

B = (0, ii, i2, . . . ii-l q$, ii+l, . . . it-1, #Jo it+l . . . i,, 4,) such as to

Minimize Z, = % g(i,-1, ik) k=l

$8--l subject to 2 viL< V for all s (5)

L=9a_l

where $s denotes the sth visit to the depot, and g(i,_,, ik) is the cost (or time) incurred in proceeding from Dikm, to Di,. To begin we assume that there are to be exactly n trips, n<m.

Since in the present case there are no constraints on the delivery time at any destination, the sequencing of the individual trips within a route is immaterial; that is, all routes formed

7 In general, this will entail recomputing one row and column of elements both in Uk and GIL.

Page 25: Direct search algorithms for truck-dispatching problems

Direct search algorithms for truck-dispatching problems 25

by permuting a given feasible sequence of n trips are equivalent in that they are all feasible and have the same value 2,. Therefore in the present delivery problem it is sufficient to find a minimum cost (time) set of trips without regard to their sequence in a route. For this case, then, it will be more convenient to represent the sth visit to the depot in (5) in terms of the sth return to the depot, ys, and the (s+ 1)st departure from the depot, &+r, so that

f? = (Pr, 4, i,, . . ., yl, /A, . . ., y2, P3, . . , 7,). Given that there are to be exactly n trips, cost matrix G, can be formed as shown in

Fig. 9. As can be verified, we have, as in the previous cases: each feasible solution selects exactly one element from each row and column; all solutions can be enumerated using any of the basic tree search strategies discussed earlier for controlled enumeration of combinations of ordered pairs; all of the bounding considerations derived from the assign- ment problem apply, including the reduction method of Little et al. (1963); all of the dominance considerations may be employed; etc. Upon synthesizing stops Di and Dj the single stop D,, IV = (i,j), is now formed having the following characteristics:?

g(r, w) = g(r, i); g(w, Y) = g(j, r) for all Y

g(1c, w) = co

When stop Di represents or includes as a component the dummy stop /Ix- in the original problem, stop D,, will also be denoted as dummy stop Igk’; similarly, when stop Dj repre- sents or includes dummy stop ys stop D, will be denoted ys’.

The only essential differences in the present problem concern the enumeration process. Heretofore, since there was to be one single trip, steps were taken throughout the process to ensure that all stops Di were included in a single sequence between the dummy stops D, and Dg. This was accomplished by propagating initial and terminal dummy stops through- out the recursive synthesis process. Each time synthesis involved one of the dummies, say the initial dummy, the element c(~v, y) representing the prospective synthesis of this element with that containing the terminal dummy was made inadmissible, thereby preventing the closure of the trip until all stops were included. In the present case it is required only that each stop Di be included on some trip. Thus, in the present case there are 2n dummies in the problem, any (n - 1) pairs of which (one initial and one terminal dummy per pair) may be synthesized at any stage during the enumeration process, representing the completion of the specification of (n- 1) of the trips. Thereafter, since all remaining “stops” must be included in the one remaining trip, the appropriate element g(p’, y’) representing the synthesis of the initial and terminal dummy is made inadmissible, just as in the single trip problems that have been considered heretofore, where /I’ denotes either a dummy stop pi or a synthesis of original stops having a dummy stop ,& as the initial stop in the resulting subsequence of stops and where, analogously, y’ represents a terminal dummy yj or synthesis of stops including a dummy yj.

Further, one additional modification is made in the enumeration process. Consider any set of feasible trips 8 = [(& il, i, . . . yr)(/3, . . . yZ) . . . (8, . . . y,)] which define a feasible route for the problem. Since all stops /$ are identical dummies as are all stops yi, an equivalent set of trips results by interchanging in any combinations the pairs of dummies (pi, yJ associated with the trips in 8. Since there are n! ways of assigning the pairs (&, yi) to the trips, there are n! equivalent sets 8. Or, going one step further, since an equivalent set of trips results by pairing any /Ii in the same trip with any yj there are (n!)” ways of assigning

t For all dummy stops pi and Si in the original problem we assume uBi and uYj are zero.

Page 26: Direct search algorithms for truck-dispatching problems

From

dest

inat

ion

.

Di

m-l

m

;:

1 2

To

dist

ribu

tion

Dj

3 . .

. m

Yl

ys

. .

. Yf

i

co

&A

1)

gU

,l)

g(L

2)

co

d3,2

)

AL

3)

&2,

3)

CO

. . .

AL

m)

a, 4

) gU

,$)

...

. .

id%

4

g@,#

&

a 4)

...

. . .

d3

,m)

g(3,

$1

d3,&

“’

dm-

L1)

dm,

1)

Am

-L2)

g(

m, 2

) &

=

1,3)

&,

3)

. . .

. . .

. . .

. . .

Am

--Ln

d s(

m-l,

$)

&m

-l,

4)

. . .

co

sh

4)

gh$)

.

dm-

1, q

9 g(

m, 4

)

do,

1)

m 1

) do

, 2)

La

2)

g(

O, 3

)

&@

, 3)

. do

, 4

co

cc

1..

gK4

4 cc

w

. .

.

co

co

do,

1)

do,

2)

&A

3)

. . .

. . .

. . .

. . .

g(O

, m>

co

co

. . .

co

FIG

. 9.

In

ter-

dest

inat

ion

cost

m

atri

x G

, fo

r pr

oble

m

havi

ng

exac

tly

n tr

ips

and

no d

eliv

ery

time

cons

trai

nts.

Page 27: Direct search algorithms for truck-dispatching problems

Direct search algorithms for truck-dispatching problems 27

dummy stops to trips, all of which are equivalent. To eliminate this redundancy during search it is necessary to eliminate distinctions among the dummies. Two considerations are involved. First, in the synthesis process all pairs of propagated dummies (&, rj) are (at least implicity) considered, not just those pairs for i = j. Secondly, during the backtracking process, each time a synthesized pair &j) or (i, yj) is decomposed (and hence made admissible for subsequent elaboration) which involves a nonsynthesized dummy stop Dfll or D,, all other equivalent pairs (pli, j) or (i, yk) at that node are also made inadmissible. Such pairs are simply those for all other dummies of the same type (initial or terminal) which are not presently synthesized with other stops.

Except for these modifications in the enumeration process, all of the previous discussion for the basic dispatching problem regarding dominance, bounding and feasibility con- siderations carry over to the present case. In addition, there are a number of feasibility considerations resulting from the constraint imposed on the volume carried by the vehicle in any single trip.

First, following directly from the capacity constraint (5) is a feasibility test applicable to all prospective pairs at any node in a tree of the problem:

Let Di and Dj be any stops in the problem at a given stage. If vi + V~ > V then neither the subsequence (i, j) nor the subsequence (j, i) is admissible. (When one or both of the stops represent dummy stops only a single sub- sequence becomes inadmissible.) (6)

Then with specific application to prospective pairs of dummies, &‘, yj’), a test having considerably more “look ahead” power than (6) may be devised as follows. Given that the volumes vr, v2, . . . , v, are to be delivered on y1 trips, and that the maximum volume carried on each trip is V, there exists an unused capacity totaling exactly n V- Ci,lrn vi which will be distributed in some manner among the n trips. Suppose we let (&‘, Y?‘)~ denote the kth feasible trip whose specification becomes complete during the enumeration of a set of n feasible trips (i.e. during the elaboration of a particular path in a tree) and let 6, = denote the unused volume of the carrier during this trip. Then for feasibility:

V- vBi - vY,

(7)

Or letting U, denote the remaining undistributed slack capacity after specification of the tth trip is complete,

u,=nv- f&Ii- ES,, i=l k=l

the feasibility requirement at each subsequent stage h yields the following simple test :

Let the stops &’ and yj’ be any pair of dummy stops at stage h of the search process. If uBj, + vYj, < V- u,. Then the synthesis Gs,‘, ri’) is inadmissible. (8)

Another easily implemented feasibility test considers the complete set of dummy stops which remain to be formed into complete trips at an arbitrary stage h, in contrast to con- sidering only pairs of them as in (8). Suppose the ri: stops pi’ containing the initial dummies pi which still remain at stage h are ordered so that vpC1,, < vBtz,, 6.. . < v~~._~,, and that the A stops yi’ containing the dummies yj still remaining are ordered so that

Page 28: Direct search algorithms for truck-dispatching problems

28 J. F. PIERCE

With this ordering we then have the following condition:-r

If U&), + Z&,’ > V for any k, k = 1,2, . . . ,fi, there exists no set of feasible trips for the ii-trip problem containing the dummy stops /‘$)’ and ytjJ’, j= 1,2 )...) ri. (9)

Therefore, whenever the condition in (9) holds the search process can backtrack without considering further any of the branches emanating from the present node.

Based on (9), additional tests can be derived for testing particular pairs for inadmis- sibility. For instance, assuming the same ordering of the upCi,, and ryCj),:

Let %,‘+ L’PCi+l,, >Vforanyi, i= 1,2 ,..., ii- 1 and let D, be any stop in the problem defined at the present stage other than one of the 2fi dummy stops. Then (10)

(i) Synthesis (k, yti,, ) is inadmissible if z’~,~,, + L’~ > VI&,. for any k, any j > i.

(ii) Synthesis (&, k) is inadmissible if u~(~,, + Us > zlBCi+l, for any k, any j < i.

Finally, should greater investments of problem-solving time in feasibility testing appear warranted, additional effort might perhaps be profitably expended on the combinatorial aspects of the trip assignment problem. At any given node there are, say, Gi stops (including dummy stops) of volume pi, i = 1,2, . . ., Z, to be delivered on ii trips. Therefore, there must exist combinations Pi of the stops such that, with at most fi such combinations, all @I stops appear in at least one combination, Pj, and such that the total volume represented by the stops in any one combination does not exceed V. If no ii such combinations exist then no feasible set of trips exists to the present problem.

Specifically, suppose we consider the following problem :

Minimize C xi

subject to Caijxj = 1, i = 1,2, . . . . 1% j

and xj=Oorl foral1.j (11)

where aij = 1 if stop i is included in combination Pi and aij = 0 otherwise, and where all Pi are represented which constitute feasible combinations of stops for a single trip, i.e. com- binations such that &aij vi < V. If N* denotes the value for an optimal solution to this problem, then no feasible solution to the dispatching problem at the present node exists if N*>ii.

At least in principle this problem can be solved in several ways. One is to consider the problem as a basic one-dimensional cutting stock problem for which a combinatorial programming approach has been developed (Pierce, 1966a). Either this algorithm can be applied to the present problem without change by ignoring in the present case the fact that in each Pj there must exist exactly one dummy pi’ and one dummy yjf, or the algorithm can be (readily) modified to include this restriction. In contrast to this algorithm in which the combinations Pj are generated only if needed, another combinatorial programming algorithm developed for all-O-1 integer programming problems (Pierce, 1966b) begins with the

7 This follows directly from the fact that if ~at~,r+~,,,~), > V both elements must be paired with smaller elements. Suppose element u~,,~’ is the largest element pairable with uyCkl’, i.e. z)sCi,. + vyCh,.> V for all i> s. If no such element exists then no feasible solution exists. Otherwise, by the ordermg of the up, S-C/C. Since rytjj, 2 u~,~), for all j< k, however, all k elements need be paired with elements at least as small as uPu,,: but since s < k this is impossible. Therefore no feasible solution exists.

Page 29: Direct search algorithms for truck-dispatching problems

Direct search algorithms for truck-dispatching problems 29

complete set of Pj already enumerated. Use of this algorithm represents another way of solving the problem defined in (11). These two approaches are noted because they seem well suited for the present application in that they both proceed first to the discovery of a feasible solution and then to the discovery of successively better feasible solutions. Since in the present case we are interested only in whether or not N* < fi, problem-solving can be terminated once a feasible solution for N = n is discovered. Moreover, being similar to the present procedures in the use of dominance for constraining search to more preferred sub- sequent feasible solutions, they can be initiated with “the value of the best solution dis- covered so far” equal to fi. Hence, in actuality the procedures would simply perform a reliable search to ascertain whether or not a feasible solution exists requiring exactly fi trips.

Thus far it has been assumed that the number of trips in the final route was prespecified to be exactly n. On the one hand, this is a slight generalization of the “cloverleaf” problem described by Dantzig and Ramser (1959). In this variant n is assumed to be a divisor of m, and each salesman is to visit exactly m/n of the cities in a single trip. In the present context this is the case in which v1 = v2 = . . . = v,, = 1 and V = m/n, and in which the inequality in (5) is replaced by a strict equality. On the other hand, the case with the number of trips prespecified is a special case of the more general problem in which it is prescribed only that the number of trips do exceed an upper limit? N.

To accommodate a variable number of trips in the problem-solving framework we introduce all N possible trips into the original formulation and formulate matrix C’ exactly as before (see Fig. 9) except for the values of the N elements g(&, ri), i = 1,2, . . . . N. In general, the procedure must (at least implicitly) consider all possible values of n, the number of trips to be used in the route. On the one hand, we desire the search rule to be free to increase n at any stage of the tree elaboration process that it appears feasible and desirable to do so. On the other hand, when more restricting conditions become known, say that 0 <nL<n<nU < N, we wish to reflect this knowledge in bounds and tests, and thereby reduce search. To accomplish these objectives we set g(&, ri) = co for i = 1,2, . .., nL and g(&yJ=O for i=nL+l,... , N, updating these values throughout problem-solving. In the recursive synthesis process selection of a pair (&, yi) for which g(&, yJ = 0 is now considered acceptable, this simply denoting in the final solution an unused trip. Whenever a bound n” becomes known, N-nU such pairs are synthesized. By analogy with the pre- specified case, after the specification of (n”- 1) trips becomes complete, the synthesis (,6,.,‘, r,*) is prohibited until all m stops of the original problem have been included in this trip.

Apart from these modifications the considerations for both problems are the same as they pertain to formulation, enumeration, bounding of the value Z of an optimal solution, search strategies and dominance. In the case of feasibility considerations, however, addi- tional modifications become necessary whenever n <n”. Referring to (7), (8), (9) and (lo), each apply without modification when n = nu. When n -c nu the conclusions reached for each remains valid for the present value of n, but since n is not fixed for the problem the consequence differs. That is, in the case of (7) or (9) the consequence is not that of back- tracking but, in the present problem, that of increasing nL and setting appropriate elements g(/$, ri) = ~3. In the case of (8) and (10) the consequence is no longer that of making the relevant synthesis (i,j) inadmissible, since the implication is only that synthesis of (i,j) will ultimately necessitate addition of another trip to the route. Perhaps in some of these latter cases, however, it may still be possible to show inadmissibility through dominance con- siderations, as follows. Let B denote the reduction incurred in reducing the cost matrix at the present node and let 6 denote a lower bound at the present node on the added cost to

f When unspecified we can set N = m.

Page 30: Direct search algorithms for truck-dispatching problems

30 J. F. PIERCE

be incurred by adding an additional trip.t

If B+g(i,j) +b>.Z* then the synthesis (i,j) is inadmissible, where Z* is the value of the best feasible route discovered so far and g(i,j) is the element in a reduced matrix derived from the cost matrix G at the present node. (12)

As in the case for prespecified n, should better assessments of the number of trips nL be desired,$ either the cutting stock or the all-O-1 integer programming algorithms could be used. In the present case they would probably be employed to seek an optimal, not simply a feasible, assignment of stops to trips. However, depending on how such an algorithm were employed in the procedure it might not be necessary to treat the problem de noveau each time. For example, suppose such an algorithm were to be employed after each t successive syntheses (not counting the synthesis of elements of the type (,&, yi)). If nzLL denotes the minimum at stage k then at stage (k + t) we have nkL < nl,.;+tL < nliL + t. Thus the algorithm need only be applied to search this limited range.

F. Carrier capacity and delivery time constraints

When deadlines and/or earliest delivery time constraints are appended to the truck delivery problem in which there are capacity constraints on the carrier, the problem is seemingly enhanced both in terms of the number of potential routes that need (at least implicitly) be considered and in terms of procedures for solving it. In the absence of con- straints on delivery times it was possible to simplify the routing problem to one of deter- mining a best combination of n trips without regard for the time sequence among trips. This effected a reduction in the number of distinctly different routes to be considered by a factor of n ! In the presence of delivery time constraints, however, all n ! arrangements of a set of n trips will not generally be feasible; in general, therefore, the time-ordering among trips must be explicitly considered as well as the composition of each trip. In the following procedure, trips are composed and time-sequenced concomitantly in the enumeration of routes.

To begin we consider the case with delivery deadlines:

Minimize Z, = 9 g(i,-1, ik) k=l

subject to tif = p,,+ $ [~(i~-~, ik) +pi,l < di for all j k=l

6.-l and +.. _pih G v for all s

where 8 is a permutation defming an n-trip route, 6 = (do, il, iz, . .., &, . . ., $2, . .., i,, 4,), 4, denoting the sth stop at the depot. In this representation the 8th trip from the depot is defined by the augmented permutation of integers, 6 = (c$~_~, ii, iitl, . . ., it, $3. Initialiy we assume n to be prespecified, n <m.

t A value for b can be readily determined, for example, as the sum of the added reduction that would be achieved at the present stage by setting g@,+i, yn+r) = 00.

$ In the present case better assessments might prove especially valuable, for example, in problems in which there are semi-fixed costs associated with trips, i.e. costs which are incurred in a positive and fixed amount if the trip is made, and are zero otherwise. Such costs are readily incorporated in the formulation which has been discussed by replacing the cost elements g(B,) (j) in G, by the elements [g(/&,j)+Si], j = 1,2 . . . . m; i = 1,2 . ., N, where S, < S, < . . . <SAT are the semi-fixed costs incurred in making each of the N trips.

Page 31: Direct search algorithms for truck-dispatching problems

Direct search algorithms for truck-dispatching problems 31

In a manner similar to that previously shown in Fi g. 9 the relevant cost data may be arrayed in matrix form as shown in Fig. 10. As in all of the former cases, a feasible route 0 selects exactly one element from each row and column, all of the usual considerations and choices of rules relating to search strategies based on the controlled enumeration of ordered pairs apply, as do all of the bounding and dominance considerations stemming from assign- ment problem considerations. In the present instance enumeration proceeds toward a route in which & is always the first stop, $, is always the last and all other stops including & +s, . . . . +n_1 occur between them. The stops &I&, . . . . &, . . . . &_r need not necessarily appear in the strict ordering r~&_~, & $i+l for all i, but may appear in any feasible order. As before, to ensure that all stops are ultimately included in the route the element g(+i’, +j’) representing synthesis of the nth pair of dummy stops (and hence marking the completion of the specification of n trips) is continuously made inadmissible until the terminal node in the path is reached. (In general +ii’ may denote either a dummy stop +i when not yet paired or a composite element which includes $i as one of its components.) To avoid redundancy during enumeration, all equivalent pairs (& j) or (i, &J, encountered at a node during backtracking when the synthesized pair ($,, j) or (i, $,) is being decomposed at that node, are made inadmissible.

At the outset of problem-solving it is assumed that uh = 0 for all dummy stops k, that d$O = 0 and that Q = d+,, for 1 <k < n. Unless otherwise specified, it is assumed that d4” > di + c(i, 4,) +np, for all i, 1~ i < m. As a pair of stops (i,j) becomes synthesized in the stage-by-stage recursion process, the result in each case is a stop D, having the characteristics :

Pw = Pi + c(i,j) +Pj

g(w, 24) = g(j, 24); g(u, w) = g(u, i); g(w, w) = 03 for all 24

d, = min [di + c(i,j) +pj, di]

for all pairs w = (i,j), i,j = 1,2, . . . . m; c$~, q$, . . . . 4,. In determining the quantity u, it is necessary to distinguish compound stops which

include returns to the depot from those which do not. Consider, for instance, a compound stop Di representing, in terms of original stops, the subsequence: Di, D+, 0,. In the trip terminating with stop D$, this synthesis commits pi units of the carrier capacity V, and in the trip commencing with stop D#, this synthesis commits u, units of the capacity V. To distinguish between these quantities for stop Dj we define z;~, the quantity to be delivered before a return to the depot; and vi a, the quantity to be delivered after the (last) departure from the depot. With this distinction the quantity vw for the synthesized pair w = (i,j) is defined as follows:

i # &‘, j # y&’ for any k: v, = z+ + vi

i = &,‘, j # +k for any k: vwb = vCib; vwa = vtita+v~

i#+k’, j=& foranyk:v,b=z++v48b; v,~=v~~

i = &‘, j = y$,‘; vwb = vtikb; vwa = vtisa

In problems where the number of trips n is not prespecified, but is defined by simply a range, 0 <‘n,< N, an approach similar to that in the previous section can be employed wherein the values of the elements g(&, &.), k = 1,2, . . . N, are used throughout problem- solving to reflect in the problem the current knowledge about IZ, 0 < nL 6 n < nU,< N. As before, each unused trip $j simply appears in the solution as the synthesized pair (&,r@. Similarly, any semi-fixed trip costs can be reflected by appropriate augmentation of the elements g(& j).

Page 32: Direct search algorithms for truck-dispatching problems

32 J. F. PIERCE

. . . . . . . . .:.::. : : : : : : : : : : . . :

Page 33: Direct search algorithms for truck-dispatching problems

Direct search algorithms for truck-dispatching problems 33

Since there are no additional considerations relating to search strategies or dominance considerations peculiar to the present problem we turn directly to feasibility considerations. Referring first to those of the previous section all considerations included in (6) through (10) apply without changet except for (6), which becomes modified when either Di or Di represents a compound stop containing a dummy D#*:

If v$,,~ + vi > V for any D#kf and Di, then the synthesis (tik’,j) is inadmiss- ible; if vi + v#,,~ > V for any D4k, and Di, then the synthesis (i, +k’) is inadmiss- ible ; if vp,,a + v#dlb > Vfor any Dqk, and Dg,, the synthesis (+Iz’, 4,‘) is inadmissible ; and if vi+vj > V for any Di and Di the synthesis (i,j) is inadmissible. (6’)

Similarly, the cutting stock or all-O-l integer programming algorithms can be employed as before to determine lower bounds on the number of required trips. If desired, more stringent bounds might be derived by constraining each trip considered to include exactly two (different) dummy stops.

Besides these considerations derived from the capacity constraint, all of those sum- marized in Section B resulting from delivery deadline constraints apply without change.

In addition, more stringent tests for the present problem may be derived by inter- relating these considerations. As an illustration, the delivery deadline constraints require that by elapsed time t delivery must be complete for all destinations D, for which dk d t and for all destinations Dojs for which d#;6 t. Therefore, by time t the delivery of all items having the quantities uk, vtijfb and “$,,a must be made by the carrier in one or more trips and in such a way that on no trip is the capacity limit V exceeded. Suppose we denote by (n,+ 1) a lower bound on the number of trips required to make these deliveries. Since at least one delivery must be made on the last of these trips, at least n, trips must be complete by time a,,

di = max (di -pi- coi) (13) (i/d&O

Suppose also that we denote byJl the number of trips at the present stage of search which are as yet incompletely specified but known to terminate by time dk (i.e. the current number of “stops” &’ with d4; < t). Then at least h, = max [0, nt-h] additional “open” trips (trips as yet incomplete) must necessarily occur before time t. In the event that currently there are fewer than h, such trips DqiF with d+, > t no feasible route can exist for the routing problem defined at the present stage of search; hence, the search process can backtrack. Otherwise, this information may be used to develop added or more stringent deadline feasibility tests, as summarized in Section B. That is, if we denote by Bht a lower bound on the additional time to be incurred by time di to complete the additional /zt trips, then the time ei used in determining the slack qi’ is increased to (q+&J. In this way the magnitude of slack qi (and possibly other slacks) will usually be reduced, thus making tests more discriminating. Should qi be negative, no feasible solution exists.

Within this general context there are seemingly many alternatives that might be employed which involve a trade-off between problem-solving time required for implementation and expected stringency of result. For example, rather than establish another time point di (in general, one for each stop in the present problem) at which to make separate feasibility tests, an alternative is to take the deadline to be at time dk, where di = dk -pk - car. While possibly resulting in some loss in power, Bhl is then simply added to ek. Or, continuing one step further, time t can be used as the deadline and Bht simply added to e, thereby avoiding completely the necessity of evaluating (13).

f The modifications in (7), (8), (9) and (10) noted in the previous section when the number of trips is not prespecified apply in the present case as well.

Page 34: Direct search algorithms for truck-dispatching problems

34 J. F. PIERCE

With regard to the lower bound Bhr, a value easily computed (and not requiring re- evaluation during problem-solving) is h, (pc + b& where b, is a lower bound on the time to return to the depot from any stop and pti is the processing and loading time at the depot. A bound generally more preferable, on the other hand (especially at later stages of synthesis), would be

where p+,, and b,,, are the delivery time and minimum inter-stop time to reach D4hl respec- tively, and where the values are assumed ordered such that

(p$w,+b+,J G (p$,z, +b,,,,) Q ... $ (p+,,,,+bdrrj)

for all q&’ such that d+ > t. Turning to alternatives for n,, perhaps the most easily evaluated is the bound,

(14)

At the other end of the continuum the combinatorial aspects of the assignment of quantities vk to trips might be considered, perhaps using the cutting stock or integer programming algorithm. In both instances economies in time should accrue by utilizing knowledge of, say, nk+r and/or of the values of the previous stage in computing nk, etc.

An interesting alternative in the present case, which would seemingly require relatively little problem-solving effort and could seemingly be quite effective as deadlines become more restrictive, results from considering sequencing problems defined in terms of the stops

D~,0P D$,1,,, * ..’ %i- Assume that the (s+ 1) such stops at the present node of the search process are ordered such that dgco,, < dp,,,, < . . . < dpc,,, and define a square matrix A of dimen- sions (s- 1) with elements as follows:

L

co a@,.~) =

if the synthesis (4 (k)‘, c&,‘) is inadmissible at the present stage

b(k,j) otherwise

fork=O,l,..., s-l; j=1,2 ,..., S; k#j

a(O,s) = co

For the existence of a feasible route for the delivery problem at the present stage it is neces- sary that, subject to all inadmissibilities noted in matrix A, there exists a feasible sequence II = [(0, i1), (ir, i&, . . ., (is_1, s)] for the stops D+,,,,, D#,, + . . . , D+,,,. In such sequences a subtour (&.,, +cj,) is permissible if and only if a(j, j) = 0. Of particular interest in the present context, however, is the number of trips in such feasible routes that must be complete no later than, say, time t = d,+,k,t. If we denote by nk = (k + 1 +z,) a lower bound on the minimum number of such trips, then a lower bound on the minimum additional number of trips z,< is given by the value of an optimal solution &ju,ixii to the sequencing problem defined by matrix A having elements :

f 0 for idk, i#j

b(i,j) = 0 for i>k, j>k

1 for i>k, j-ck

\ 0 fori=j

Page 35: Direct search algorithms for truck-dispatching problems

Direct search algorithms for truck-dispatching problems 35

A lower bound on zx: may now be determined in the usual manner by reducing matrix A, or by solving the associated assignment problem.?

To conclude present discussion, it is noted that all of these same considerations carry over when constraints are present which limit the earliest acceptable delivery time at specific destinations. In addition to these considerations and those discussed in Section C others stem from interrelating these constraints with the capacity constraints. The results are identical to those just discussed, applied in the present instance to the problem with inverted time scale t’ = dtic8,, - t in which the present earliest delivery time constraints become dead- line constraints (see Section C). Finally, putting these latter results together with those just considered above, there results the additional test for feasibility:

If nlib + nka + 1 > n” for any stop Di, i = 0, 1, . . . , s, there exists no feasible route for the delivery problem defined at the present node, where nkb is a lower bound on the number of trips that must be complete before stop Dig and nlLa is a lower bound on the number which must be initiated after stop Di

G. Other carrier constraints

In the previous sections a number of variations of the delivery problem have been presented and the basic ideas underlying combinatorial programming procedures extended to accommodate the peculiar features of each case. For each problem the general approach has been the same. First, the problem is formulated in a manner congruent with the under- lying problem-solving structure and then the basic enumerative procedure considerations adapted to ensure that (at least implicitly) a complete set of feasible solutions is enumerated. Then feasibility conditions and tests are considered, both for individual constraints con- sidered independently and for combinations of constraints. Throughout problem-solving the knowledge gleaned from the application of these tests is used to reduce subsequent search. In each instance this knowledge is recorded in the value matrix G and in this way gets reflected in the rules which direct the search, and in the data employed in dominance tests. In addition, the attempt is made to employ this knowledge in subsequent feasibility considerations as, for instance, by making inadmissible particular elements in the matrices C used in deadline feasibility tests. Using this same approach, the procedures can be extended to a variety of dispatching problems with other characteristics. In this section we comment briefly on some other cases involving constraints on the carrier.

One class of dispatching problems involving additional constraints is that in which there are multiple constraints of a linear form associated with the vehicle or entity being dispatched. Thus, for instance, in addition to the constraint in Section E which required that the sum of the quantities vi do not exceed capacity V on any trip, there might also be a constraint limiting the number of stops on a trip to a maximum limit M, or a constraint limiting the sum of the weights wi carried on any trip to a maximum of W. Or, in general, there may be m linear constraints limiting the stops that may appear on a trip:

L-1 c ~j~k[Ul< Wr”l, u = 1,2, . . . . m, for all $s (15)

&=$8--l

where 4 = (& il, iz, . . ., ijpl, #+ ij+l, . . ., &, . . ., c$,) denotes an arbitrary n-trip route. Upon putting this class of problems in the framework of the procedures of the earlier

sections it will be seen that all of the considerations relating to enumeration, dominance

t This same approach applies with all stops at the present stage represented wherein b(i,j) = 0 for all of the added stops. In this case the effect of the capacity constraint V on the stops per trip may not be as well reflected in nk.

Page 36: Direct search algorithms for truck-dispatching problems

36 J. F. PIERCE

testing and search strategies apply as in the problem with a single carrier constraint. Those pertaining to feasibility, however, while quite similar to those for the single constraint problem are in the present problem more numerous. For instance, each of the feasibility tests (6) through (10) considered in Section E for the single constraint are now applicable in the present problem to each of the m constraints in (15). As a consequence procedurally there is now a choice to be made (at least implicitly) at every node in the search process regarding not only the particular feasibility tests to be made but also the constraint or com- bination of constraints with respect to which they are to be made. Moreover, in some instances it may prove more efficient to precede, or perhaps replace, some of these tests and considerations which are based on the individual constraints by tests based on one or more “surrogate” constraints? of the form,

(16)

which result by forming linear combinations of (subsets of) the m individual constraints, i.e.

Any trip failing to satisfy such a surrogate constraint is not feasible. The potential impor- tance of such constraints lies in the fact that through their use it may be possible to identify nonfeasible conditions which otherwise would be discovered only with more extensive testing with individual constraints or further tree elaboration. Every test that can be applied in conjuction with an individual constraint is equally applicable in conjunction with a surrogate constraint.

Likewise the bounding considerations in the present problem are quite similar to those in the single-constraint problem and also give rise to a number of procedural choices. Thus, for example, in determining a lower bound nfL) on the number of completed trips required before time t = d,,, (as in Section F) or a lower bound N* on the total number of trips in a feasible route (as in Section E) one can employ the same methods used for the single- constraint problem. Since there are now m constraints one possibility is to apply these methods independently to each of the m constraints (or to a subset of them) separately and then to select as the desired bound the largest of the resulting values, e.g. Q.) = maxi where ~t(~)i is the lower bound on the required numbers of trips completed before t = dCk) as determined from thejth constraint, CW~, VI< WV]. Another possibility is, as above, to form one or more surrogate constraints from the individual constraints and then apply the bounding method to the surrogates. Still a third, which, in general, will yield more stringent bounds than either of these but which may also require more problem-solving time, is to consider all constraints simultaneously in determining the bound, rather than indepen- dently. Thus, for example, in determining bounds from solutions to problems defined by (11) in Section E it can be required in problem formulation that all m of the constraints in (15) be satisfied for every combination Pj represented in the problem,$ thereby assuring that the solution, and hence the resulting bound, reflects all of the constraints.

Another form of constraint sometimes applicable to trips is that illustrated by an upper limit on maximum trip time or a maximum permissible distance per trip. This form of constraint can be accommodated in the framework in a way corresponding to the latter.

t The name given to such constraints by Glover (1965) who, in the context of the 0- 1 integer pro- gramming problem, has developed a number of uses of such constraints, some of which might profitably be employed here.

$ As in the single carrier constraint case the resulting problem can be treated by the all-O-1 integer programming algorithm or, with appropriate modification, by the cutting stock algorithm.

Page 37: Direct search algorithms for truck-dispatching problems

Direct search algorithms for truck-dispatching problems 37

For example, consider a constraint on, say, distance,

(17)

which limits the distance traveled on trip & to, at most, distance C? Let i?i be an appro- priate matrix of the inter-stop distances ai, so arrayed for the particular case of the delivery problem to be conformable to the appropriate cost matrix G, and assume that at each node all known inadmissible elements are recorded in the appropriate matrix fi for that node.? Then for every consideration and test for the corresponding problem identical to the present except for having a constraint of the form,

in place of the constraint (17), there exists a corresponding test and consideration for the present problem. lFor instance, for the considerations in Section E one such test always results by setting d(j) * = min,{&i,j)} for allj, and then simply substituting &* for Uj in the corresponding test. However, more stringent tests will generally result in a particular case through use of better bounds. For example, a more stringent test corresponding to (6) in cases when Di is not a stop representing a return to the depot would be

where c&* is the minimum distance from a stop to the depot. Similarly a more stringent test corresponding to (7) would be

where Rp is the amount of reduction incurred in reducing the initial inter-stop distance matrix D or the value of an optimal solution to the assignment problem defined by matrix b.

When in problems with distance constraints there are also constraints on delivery times as in Section F, the corresponding tests and consideration associated with the distance constraint are likewise those of the volume constraint of that section. In this case it is necessary in stops ~j’ including an open stop at the depot to distinguish between the distance traveled before arriving at the depot, a(i,j)h, and that traveled after departing the depot on the next trip, ~!(i(i,j)~. These are computed in a manner corresponding to the computation of vjrc and Vib in Section F. Upon bounding these distances independently,

4, a* = np{J(i#} and dCj, ” bx = min(cl(i#}, i

the tests corresponding to those in Section F then follow immediately. When in these problems there is also present one or more linear constraints (15) on the

carrier or other carrier constraints of the form (17), then all of the procedural choices stemming from multiple carrier constraints discussed earlier are present, i.e. choices relating

t During the successive synthesis process if stops Di and D, are synthesized to form stop D,, the distance elements become

&, w) = d(r, i)+J((i,j); &w, r) = Li(j, r) for all r

ri(w, w> = to

Page 38: Direct search algorithms for truck-dispatching problems

38 J. F. PIERCE

to treatment of constraints individually, jointly or by means of surrogates. In the case of surrogates it may now prove efficient to combine the distance constraints with one or more of the linear constraints (15) to form a surrogate of the form of (16). In forming the sums G’ik = & w+~?] and the sum W = & W[jl we can take for the present constraint wiFl = dik* and W[Jl = a, or perhaps W[jl = d-do, * depending on the context. Similarly in the case of multiple constraints of the form (16) it may be advantageous to employ surrogates for one or more combinations :

where

&i,j) = 2 a(i,j)(A) and d= C&. k x:

Similarly dispatching problems with other forms of constraints can be approached in this same way. In some instances the problems will be easily formulated in the present framework and solved with little or no change in the algorithms. In other cases accommoda- tion will be accomplished only with great difficulty, or perhaps not at all. To conclude we note an example of each.

In some dispatching problems there are constraints on the carrier which in effect partition the stops into mutually exclusive subsets such that on any particular trip only stops can be included which fall in the same subset. This is the case, for instance, in certain fuel oil delivery contexts in which a vehicle can in general be used for hauling a range of grades of fuel oil, but it can only haul a single grade on any particular trip. In the absence of constraints on delivery time at any of the stops the total problem can simply be factored into subproblems for problem-solving, one subproblem for each subset of stops, and the resulting problem for each subset solved independently with an algorithm appropriate for the remaining characteristics of the problem. In the presence of delivery time constraints, however, the time sequence of trips on the route becomes important, and in general the determination of the composition of trips and their sequence becomes an interdependent problem to be solved concommitantly for all of the subsets. To accommodate this problem in the procedures discussed in earlier sections it 1s sufficient to simply make inadmissible in the original inter-stop distance (time) matrix C and related matrices the element (i,j) for all pairs of stops Di and Dj in different subsets, and then proceed with the algorithm without further explicit consideration of the subsets.?

In contrast to this class of problems is that in which the geometrical shape and dimen- sions of the (structurally rigid) items to be carried and those of the transporting carrier constitute important characteristics of the problem, as they do, for instance, in many cargo distribution contexts. A potential difficulty in solving problems of this class stems from the fact that in determining whether or not a particular set of items constitutes a feasible load it may be necessary to determine the physical layout of the items in the carrier during transport. In general this poses a knapsack problem for which computationally feasible algorithms have to date been developed for only special cases.: For a dispatching problem

t With minor modification some of the tests and bounds can be made more stringent by explicitly considering the partitioning of stops in the problem. For example (11) and (14) can be applied to each subset independently and the resulting number of trips for each subset then summed to get a more stringent lower bound for the route. Similarly, (9) can be made more stringent by explicit consideration of the partitioning.

1 See Gilmore and Gomory (1966) for a discussion of relevant knapsack problems and algorithms and Gilmore and Gomory (1965) and Pierce (1966a) for cutting stock algorithms pertinent to dispatching problems involving some of these special cases.

Page 39: Direct search algorithms for truck-dispatching problems

Direct search algorithms for truck-dispatching problems 39

for which there exists an algorithm for reliably solving the relevant layout problem, a reliable algorithm can be devised by appropriately employing the layout algorithm as needed in performing tests of the form of (6) through (10) and in the algorithms used in deriving bounds or testing feasibility through consideration of (11). In the absence of a reliable procedure for solving the layout problem, on the other hand, it is of course simply not possible to devise a reliable procedure for solving the dispatching problem and an unreliable procedure must then be employed.

H. Optional deliveries In all of the dispatching problems discussed so far delivery at each destination has been

assumed mandatory. In this concluding section on single-route problems we comment briefly on cases in which delivery at one or more destinations is optional.

To begin we consider a problem in which there are demands for delivery or service at destinations D,, D,, . . ., D, and Dq, where D, and D+ are the dummy destinations repre- senting the initial and terminal stops at the depot. We assume service time or delivery item is indivisible so that service or delivery at any stop must be completed on a single visit. At some of the destinations delivery or service is optional, not mandatory. Let g(i,j)” denote the variable cost incurred in traveling from Di to Di and completing the delivery at Dj,foralliandj,i=O,l,..., m;j=1,2 ,..., 4. Letg(i,i)“=aforallDiatwhichdelivery is mandatory and g(i,i)” = IIti, for all Di at which it is optional,? where H(i) denotes the revenue received if delivery at destination Di is included on the route: n(i) > 0 for all i; i = 1,2, . . ..m. II,,, = IIf@, = 0. If we now denote by 8 = [(0, iJ, (iI, iJ, . . . . (i,, $I)] a com- bination of ordered pairs representing a feasible route for the present problem, then the total contribution to profit Ps resulting from this route may be expressed as

PO = it FL,-g(ik-,, ik)“l k=l

We wish to find a feasible route 0 for which Ps is maximum. In the present problem route 0 represents a feasible route if and only if each destination

Di,i= 1,2 ,..., m, is represented exactly twice in 8 and all subcycles are single stop subcycles of the form (k,k) where D, is a destination at which delivery is optional. If we define g(i,j) = L-IIfj, +g(i,j)” for all i and j where L> max,,i{KI,j,-g(i,j)“} is a constant, this maximization problem can be transformed into an equivalent minimization problem1 akin to those discussed in previous sections, i.e. determine a feasible route 6’ for which Z, is minimum,

z@ = i g(i,_,, ik). k=l

In solving this resulting problem nearly all of the considerations mentioned in Section A for the basic traveling salesman problem apply, including those relating to: controlled enumeration procedures; search strategies; recursive synthesis; dominance consideration; bounding through use of the related assignment problem as, for instance, by matrix reduc- tion; etc. The only difference arises from the fact that all m destination Di need not neces- sarily be included on the route. The required modifications, however, are minor.

t In the event that delivery to destination Di will be provided by alternate means (e.g. customer pick-up) if stop Di is not included on the route, substitute for g&j)” the appropriate reduction from revenue II,,, to be incurred.

: That the problems are equivalent follows from the fact that for every feasible route 8, PB+Zo = Cm+ 1) L = constant, so that PO assumes a maximum value when Z, is minimum. That the sum is a constant follows directly from the fact that a constant may be added to every cost element in an assignment problem without altering the set of optimal assignments.

Page 40: Direct search algorithms for truck-dispatching problems

40 J. F. PIERCE

At the outset we have g(k, k) = co for all destinations D, for which delivery is mandatory, and g(k, k) = L for all destinations for which delivery is optional. If all m deliveries are optional then 0 = [(0, $), (1, 1), (2,2), . . . . ( m m , )] re p resents the feasible solution in which no deliveries are made, having cost Z, = (m+ l)L. If desired we may take 6 as the best feasible solution e” discovered so far; we now proceed to search for a more preferred feasible solution. At this point it is thus known, both in the present case and in that in which one or more deliveries are mandatory, that a (subsequent) feasible solution must contain at least one stop on the route : we thus set g(0, 4) = OS. Hereafter we proceed with exactly the same stage-by-stage recursive synthesis process as with the basic problem discussed in Section A until such time as a node is reached in which the stops consist only of the two propagated dummy stops, Dv and Dq, and one or more unsynthesized stops D,, all of which represent destinations for which delivery is optional. At this node a feasible solution to the original problem results simply by synthesizing (0’, 4’) and all pairs (k, k), thus forming a route which excludes options D,. Therefore upon arriving at this node we first evaluate this feasible solution: Z, = B+C,g(k, k)+g(O, +), where B is the reduction incurred in reduc- ing matrix G = [gij] at this node, and g(i,j) denotes an element in the appropriate resulting reduced matrix. (In matrix G we would have g(O’, 4’) = L.) If Z, <Z; we save this solution as the best feasible solution discovered so far. In any event, we then set

g(O’, 4’) = $(O’, 4’) = X

and continue as before until another such node is encountered whereupon we again evaluate the prospect of completing the route. With this minor modification, then, the considerations are identical to those for the basic problem of Section A.

In cases involving delivery time constraints or carrier capacity constraints an additional type of modification is required to accommodate optional deliveries. This modification affects every feasibility and dominance consideration based on the assumption that all nz destinations will appear on a trip: in each instance the consideration is now weakened to depend only on those for which it is certain at the current node that they will ultimately appear on a trip. Thus, for example, for problems involving carrier capacity constraints inequality (7) will be modified to

k=l ieM

where M denotes the set of mandatory stops. Throughout the search process this condition can then be updated to

z 6,<nV- C ci- C oi ieM iS0

where 0 represents the set of optional stops which have, at the present node, been selected for delivery so far. Or, as another illustration, in the case of delivery deadlines it will now only be permissable to compute the lower bound ek on the times required before time dlc on the basis of destinations Di known to be ultimately on the route. This can be accomplished by simply setting bk+pk = 0 at the outset for all optional stops D, and then computing all qi’ and qi in the usual fashion. For mandatory stops all tests and considerations apply as in Section B. For optional stops D, the appropriate tests result if we treat D,c as a stop with dk = d@. The inadmissibility of D, as a feasible stop on the route being generated may be tested by checking if b,+p, >qk. Should D,< become synthesized and hence become mandatory, it becomes appropriately reflected in the problem through the characteristics of the (mandatory) synthesized stop D, which results.

Page 41: Direct search algorithms for truck-dispatching problems

Direct search algorithms for truck-dispatching problems 41

Thus far attention has focused on problems in which the item being delivered at each destination is indivisible and in which delivery, if made, must be completed on a single visit. When items are divisible and split deliveries are permissible then the optional delivery problem generalizes to one in which any optional quantity xk for delivery at destination D, is acceptable for which v kL <xli<vLU, the revenue realized for quantity x,, being lJk(xk). For such a problem we wish to determine the quantity xL to be supplied to each destination D,<, the particular means to be employed for splitting xlz among trips, and a sequencing of the stops on each trip in a manner which maximizes total contribution to profit. As was noted in Section A, when the items for delivery are divisible into discrete units the problem can be reflected in the present problem-solving framework by representing each of the s discrete units at destination D, by a separate destination, Dk(l), Ok@), . . ., I&@). If tllzL is the minimum and vku the maximum number of units acceptable at D,, then in the present case ukL of the unit deliveries are represented as mandatory and (VkU-V,L) as optional, with appropriate revenue coefficients. On the other hand, when items for delivery are continuously divisible as in the case of fuel oil then, as noted in Section A, the problem is considerably more difficult. For some special cases of this latter problem reliable procedures will be discussed in Part II.

SUMMARY

In this paper problem-solving procedures for solving a number of truck dispatching problems have been discussed. In Part I discussion has focused principally on single-route problems and has included a range of problem characteristics such as weight or volume limits on the carrier, limits on the maximum time or maximum number of stops allowable per trip, earliest or latest acceptable times for the delivery of items at particular destinations, partial deliveries and optional deliveries.

All of the problem-solving procedures developed have been reliable in the respect that when carried out to completion they guarantee the discovery of an optimal solution when one exists. Moreover, they have all been direct algorithms which proceed first to the dis- covery of a feasible solution and then to successively better and better feasible solutions until ultimately one is discovered which is shown to be optimal. These procedures are thus well suited for use in adaptive systems wherein it is desirable or mandatory that the amount of problem-solving effort expended on a particular problem in a given instance be made dependent on environmental considerations and/or on the economic value of the problems currently in the system and the problem-solving effort. With minor modification these same algorithms can be used to determine all optimal solutions, all solutions having a value within a specified range or percentage of the optimal value, a specified number of the most pre- ferred solutions, and so on.

REFERENCES BALAS E. (1965). An additive algorithm for solving linear programs with zero-one variables. Ops Res. 13,

517-545. BALINSKI M. L. and QUANDT R. E. (1964). On an integer program for a delivery problem. Ops Res.

12, 300-304. BELLMAN R. (1962). Dynamic programming treatment of the traveling salesman problem. J. Ass. Camp.

Mach. 9, 61-63. BELLMORE M. and NEMHAUSER G. L. (1968). The traveling salesman problem: a survey. Ops Res. 16,

538-558. CLARKE G. and WRIGHT J. W. (1964). Scheduling of vehicles from a central depot to a number of

delivery points. Ops Res. 12, 568-581. DANTZIG G. B., FULKERSON D. R. and JOHNSON S. M. (1954). Solution of a large scale traveling salesman

problem. Ops Res. 2, 393-410.

Page 42: Direct search algorithms for truck-dispatching problems

42 J. F. PIERCE

DANTZIG G. B., FULKERSON D. R. and JOHNSON S. M. (1959). On a linear programming, combinatorial approach to the traveling salesman problem. Ops Res 7, 58-66.

DANTZIG G. B. and RAMSER J. H. (1959). The truck dispatching problem. Mgmi Sci. 6, 8C-91. EASTMAN W. L. (1958). Linear programming with pattern constraints. Ph.D. Dissertation, Harvard

University. FLEISHMANN B. (1967). Computational experience with an algorithm of Balas. Ops Res. 15, 153-155. GARVIN W. W., CRANDALL H. W., JOHN J. B. and SPELLMAN R. A. (1957). Application of linear pro-

gramming in the oil industry. Mgmt Sci. 3, 407-430. GILMORE P. C. and GOMORY R. E. (1965). Multi-stage cutting stock problems of two and more dimen-

sions. Ops Res. 13, 944120. GILMORE P. C. and GOMORY R. E. (1966). The theory and computation of knapsack functions. Ops

Res. 14, 1045-1074. GLOVER F. (1965). A multiphase-dual algorithm for the zero-one integer programming problem.

Ops Res. 13, 879-919. GLOVER F. (1966). Search-Reduction Tests for a Combinatorial Production Sequencing Algorithm.

Management Sciences Report No. 98, Carnegie Institute of Technology. GONZALES R. H. (1962). Solution of the Traveling Salesman Problem by Dynamic Programming on the

Hypercube. Interim Tech. Report No. 18, Operations Research Center, M.I.T. HARDGROVE W. W. and NEMHAUSER G. L. (1962). On the relation between the traveling salesman and the

longest path problem. Ops Res. 10, 647-657. HAUSMAN W. H. and GILMOUR D. (1967). A multi-period truck delivery problem. Transpn Res. 1,

349-357. HELD M. and KARP R. M. (1962). A dynamic programming approach to sequencing problems. J. Sot.

ind. appl. Math. 10, 196-210. LITTLE J. D. C., MURTY K. G., SWEENEY D. W. and CAROLINE K. (1963). An algorithm for the traveling

salesman problem. Ops Res. 11, 972-989. MARTIN G. T. (1963). An accelerated Euclidean algorithm for integer linear programming. Recent

Advances in Mathematical Programming (Edited by GROVES R. L. and WOLFE P.) pp. 311-318. _ McGraw-Hill, New York.

MARTIN G. T. (1966). Solving the Traveling Salesman Problem by Znteger Linear Programming. CEIR, New York.

MILLER C. E., TUCKER A. W. and ZEMLIN R. A. (1960). Integer programming formulation of traveling salesman problems. J. Ass. compat. Mach. 7, 326-329.

NEWTON R. M. and THOMAS W. H. (1966). Design of School Bus Routes by Digital Computer. Paper presented at 13th National Meeting of the Operations Research Society of America.

PIERCE J. F. (1966a). On the Solution of Integer Cutting Stock Problems by Combinatorial Programming -Part I: IBM Cambridge Scientific Center Report 320-2001, Part II 320-2030 (1968).

PIERCE J. F. (1966b). Application of Combinatorial Programming to a Class of All-Zero-One Integer Programming Problems, IBM Cambridge Scientific Center Report 32&2002. Mgmt Sci. 15, 191-209.

PIERCE J. F. and HATFIELD D. J. (1967). Production sequencing by combinatorial programming. Opera- tions Research and the Design of Management Information Systems (Edited by PIERCE J. F.). Technical Association of the Pulp and Paper Industry, New York.

ROSSMAN M. J. and TWERY R. J. (1958). Combinatorial Programming. Unpublished paper presented at 6th Annual Meeting of the Operations Research Society of America, Boston.

SHAPIRO D. (1966). Algorithms for the solution of the optimal cost traveling salesman problem. Sc.D. Thesis, Washington University, St. Louis.