Computation Section
Subunit Vehicle Routing
 - Model

The Model worksheet is entirely constructed by the Routing add-in. It's purpose is to collected data from the Data and Distance worksheets and interact with the search algorithms in the Optimize Sequence add-in. Although users familiar with the Optimize add-in may experiment by changing some features of this worksheet, in general it is better to leave it alone. The results obtained from the model are reported on the Results worksheet.

In the following we divide the model worksheet into three parts to simplify the discussion. The parts are different in function, so the division is not arbitrary. The particular solution shown in the example is the same one illustrated on the Results page.

 

Optimize Model

 

The top of the model worksheet holds control buttons, the optimization model, and data regarding the distance between map locations. Rows 10 through 19 hold the decision variables, objective value, feasibility indicator and computational cells related to the routing model. A similar form is constructed by the Optimize add-in as described on the Combinatorial Form page. The form is particularly adapted to the TSP on the Traveling Salesman page. Here we adapt the TSP form for the routing problem.

The main difference between the TSP and the routing models is the incorporation of multiple trucks and multiple trips on the list of items that will be visited. The first two indices are associated with the two trucks of the example. Following this, the ten delivery sites are listed. The last index is associated with the return trip for the last truck. If additional trips were allowed these are included just before the Return column. In general, multiple trucks are listed first, the delivery sites are listed next, and finally multiple trips are listed last.

We seek the sequence of the 13 items that will minimize the objective computed in cell G12. Items 1and 13 are fixed in the sequence as the first and last. The other items are varied in the search for the optimum. The variables of the problem are the green cells in row 16. An entry for an item is the next item to visit. For the example the next item to visit after item 1 (Truck 1) is item 8 (site 6). The next item after item 8 is item 12 (site 10). The sequence does not immediate appear in row 16, but by tracing the next item to visit for each item the sequence can be generated. The sequence is computed in the yellow cells of row 17. For the example, the sequence is (1, 8, 3, 11, 9, 5, 2, 12, 7, 10, 5, 4, 13). The colored indices in the sequence are positions related to the trucks. The particular sequence defines the route (8, 3, 11, 9, 5) for truck 1. The route begins at the location of truck 1 and ends at the location of truck 2. The route for truck 2 is (12, 7, 10, 5, 4), beginning at the location of truck 2 and ending at the return depot. The travel distances associated with the links of the trip are computed in row 19. The cells in these rows hold look-up functions that choose numbers from the distance table starting in row 21. For example the value 39 in cell E19 is obtained from the 8th row of the travel distance table.

  The distance table in rows 22 though 35 is constructed by the add-in from data on the Data and Distance worksheets. With the assigned map locations, the intersite distances are transferred from the Distance worksheet for the sites included in the plan. The data is arranged so that the entry in cell (i, j) gives the distance to location i from location j. The top row is not used when a sequence is fully defined. The entries for the row representing truck 1 and the column representing Return are set to "***" since these items must remain as the first and last items in the sequence.

 

Data Cells

  Starting in row 37 is data transferred from the Data worksheet. Most of the rows on this form have similarly named columns on the Data worksheet. The rows 42, 43 and 44 hold parameters related to distance that are provided by single entries at the top of the data worksheet. The data cells do not depend on the current sequence.

 

Results Cells

 

The results cells starting in row 55 are controlled by the current decision variables. All the cells are colored yellow to indicate that they contain Excel formulas. The columns are ordered by the current sequence. The display is dynamic in that the columns change as the decision variables in row 16 change. For each trial solution the objective value is computed from this portion of the worksheet.

The sequence of trucks and delivery sites is in row 56. The trip row (57) gives an integer index that indicates the components of the sequence that are assigned to the various trips. The current example has two trips representing the routes of the two trucks. The times available, early times, site times, late times, and local travel times are transferred by index functions from the data cells. An arrival time in row 60 is computed as the sum of departure time of the previous item plus the travel time to the next site. If this turns out to be earlier than the time available, the time available becomes the arrival time. The departure time is computed as the arrival time plus the site time. The travel time to the next site is the sum of: the local travel time from the current site to its map location, the intersite distance between the current site and the next site, and the local time to the next site.

Row 60 shows the arrival time at each site and row 63 shows the corresponding departure time. Notice that starting at truck 1, the times increase through the route of truck 1 until truck 2 is encountered in the sequence. Then the arrival time for truck 2 is 0. This is beginning of the second trip. The second trip occurs simultaneously with the first trip. The second trip is completed by the return to the depot.

 

The evaluation of the sequence in terms of the early and late times and the resource shortages begins on row 68. Since the example has no bounding early and late times, all the entries in rows 68 and 69 are 0. Row 70 shows the cumulative capacity for the sequence. When a new truck is assigned to a route, the capacity is the capacity of that truck. As the truck visits delivery sites, the cumulative capacity is decreased. A shortage is indicated by a negative number in this row. Row 72 reports the amounts of the shortages. Since the current sequence has no shortage, the contents of this row are 0.

Rows 73 through 76 numerically evaluate the solution. Row 73 shows the travel costs. The duration costs in row 74 are computed by multiplying the departure times by the duration penalties. The example uses 0 as the duration penalties, so the entries are all 0. The early and late costs multiply the early and late amounts by the penalties for these factors. The objective function finally computed in cell G12 at the top of the page is the sum of the contents of the cells in this array plus the shortage costs for the resources.

 

Sequence Optimization

  The Optimize Sequence add-in is used to search for the optimum sequence. Because it uses heuristic procedures there is no guarantee that the search will obtain the optimum solution unless all possible sequences are examined. The algorithm incorporates several search processes that are designed for sequence problems but that are not limited by model details. The figure below shows the portion of the model considered by the search process. The process manipulates the variables in the green cells of row 16 and observes the resultant objective function in cell G12. The feasibility cells, I11 and I12, declare whether the current solution is feasible by returning TRUE for a feasible solution. The current model specifies no solution as infeasible, so I11 always returns TRUE. Only the objective function in cell G12 is affected by the model on this worksheet.
 

The Search button at the top of the page presents a dialog with various search options. A similar dialog is presented by the Optimize add-in where the details of the dialog are presented in detail. For the example we have chosen to generate 10 solutions at random and improve the best of these by two-way interchanges of the decision variables in row 16.

 

As the search progresses, each solution is placed on the spreadsheet and the solution is evaluated by the Excel worksheet functions. The results of the evaluations are used to direct the search process. This approach makes it possible to define complex Excel models without adapting the search to specific features of the model.

The search maintains a list of the best solutions obtained. The figure below shows the results the search leading to the example solution.

 

Although an acceptable solution was obtained for this small problem, the search difficulty becomes exponentially more difficult as the problem size grows. It also becomes more difficult as we add complexity to the problem by making the early and late times restrictive and as more resources are added. The worksheet evaluation with each solution is not very fast computationally. Even one pass through the improvement process takes a large number of individual solution evaluations. This is the price to pay for generality.

Whether this add-in is sufficient for actual practice has not been demonstrated. We can model and solve small problems and perhaps that will be sufficient for students and for small delivery systems found in practice. One strategy is to generate a great number of random solutions and choose improve the best. Individual solutions are easy to evaluate and a limited amount of improvement is very beneficial.

 

Buttons

 

At the top of the page there are several buttons. The first button displays the Search dialog shown earlier. The Map button creates the map of the current solution. This is the same map as the one created by a similar button on the results page. The buttons on the right open the unique Data and Results worksheets corresponding to the Model worksheet. Whenever data is changed on the Data worksheet the Model worksheet must be created anew to reflect the new data.

 
  
Return to Top

tree roots

Operations Management / Industrial Engineering
Internet
by Paul A. Jensen
Copyright 2004 - All rights reserved