Excel Solver
Excel Solver
A travelling salesman living in Chicago must make stops in these 4 other cities: LA, Denver,
Boston, and Dallas. He must start and finish in his home city of Chicago. He must select the
order of customers to visit that will minimize the total length of the trip.
Below is the specific information about the distances between each of the 5 cities:
In this case, the objective is to minimize the total distance traveled when traveling between all 5
cities. The total distance traveled by the salesman is the Objective to be minimized.
We are trying to select the order of cities to visit that minimizes the total distance travelled. The
cities are designated in the Excel model not by their names but by the row that they appear in the
distance chart just shown.
Boston appears in the 1st row of the distance chart. Boston is therefore designated with a “1.”
Chicago appears in the 2nd row in the chart and is therefore assigned a designation of “2.” Dallas
appears in the 3rd row and is designated “3.” Denver appears in the 4th row and is designated “4.”
LA appears in the 5th row and is designated “5.”
We need to determine the order of cities to visit to minimize the total miles travelled. In other
words, we are minimizing the sum of distances travelled between consecutive cities.
Step 3 – Build the Excel Equations That Combine the Objective With
All Decision Variables
(Click Image To See an
Enlarged Version)
The Decision Variables are the arrangement of the cities to visit. In the preceding diagram, the
Decision Variables are the row designations of each city. These Decision Variables are in cells C10
to C14. The order of the Decision Variables shown above (1, 2, 3, 4, 5) indicate that the cities will
be visited in this order: Boston (row 1 in the Distance Chart) to Chicago (row 2 in the Distance
Chart) to Dallas (row 3 in the Distance Chart) to Denver (row 4 in the Distance Chart) to LA (row 5
in the Distance Chart) and back to Boston.
This set of 5 Decision Variables are collectively subject to the Alldifferent Constraint. As a result,
each 1 of these 5 Decision Variables will be assigned an integer between 1 and 5. None of the 5
Decision Variables in this set can be assigned the same number.
The Excel Index function is used in column D to list the city which corresponds to the Distance
Chart row number that appears in column C. For example, cell D10 contains the Excel formula:
=INDEX($B$3:$B$7,$C10,1)
For the above formula, the range is the cells from B3 to B7. This is a range of cells that has only 1
column.
The row number referenced in this Index function is in cell C10. The contents of Cell C10 = 1. The
row referenced by this Index function is the 1st row.
The column number referenced in this Index function is 1. This would have to be the case since
only 1 column exists within the given range (B3 to B7).
The Index function displays the contents of the cell in the given row (1strow) and column
(1st column) of the given range. This Index function will display the contents of the cell in the
1st row and the 1st column of the given range (B3 to B7). The cell in the 1st row and the 1st column
of cell range (B3 to B7) is cell B3. Cell B3 contains the word Boston, which is displayed in cell D10.
The distances between each city and the previous city visited are shown to the right in column E.
For example, the distance between Boston and the previous city of LA is 3036 miles. The distance
between Chicago and the previous city of Boston is 983 miles. The distance between Dallas and the
previous city of Chicago is 1205 miles. The distance between Denver and the previous city of Dallas
is 801 miles. The distance between LA and the previous city of Denver is 1174.
Distances between each city and its previous city are found by using the Index function. This
function looks up in the Distances chart and locates and displays the distance between a city and
its previously visited city.
The distance between Boston and the previous city of LA is 3036 miles.
The distance between Chicago and the previous city of Boston is 983 miles.
The distance between Dallas and the previous city of Chicago is 1205 miles.
The distance between Denver and the previous city of Dallas is 801 miles.
The Excel Index functions which generated each of these distances are shown to the right of each
distance. An explanation of this use of the Index function is as follows:
For the above formula, the range is the cells from C3 to G7. This cell range holds the distances in
the Distance Chart.
The row number corresponds to the previous city visited. This row number is the previous city’s
row number in the Distance chart.
The column number corresponds to the current city. This column number is the current city’s
column number in the Distance chart.
All of the distances between cities are listed in cells C3 to G7. The Index function locates the cell
that holds the distance between each city and the previous city. Each distance will be found in the
row number of the that previous city and column number of the current city.
The order of the cities (actually, the order of the city row numbers in column C) are arranged so
that sum of the distances between each city and the previous city is minimized.
Step 4 – List All Constraints
This problem provides an excellent opportunity to showcase the Alldifferent Constraint. We are
visiting each city only once so we need each city (actually the city’s row number in the Distance
Chart) to be listed only one time without repeating.
Each city’s unique row number in the Distance Chart must be assigned to only 1 of the 5 Decision
Variable cells. We must therefore apply the Alldifferent Constraint to all of the Decision Variable
cells (cells C10 to C14) simultaneously as a group. As a result of the Alldifferent Constraint, these
5 cells will hold the integers 1 to 5. No 2 cells in this group will be assigned the same number. This
ensures that each city will be visited only once and that all cities will be visited.
The following Solver Dialogue box shows the set of 5 Decision Variables (Cells C10 to C14) subject
collectively to the Alldifferent Constraint.
This spreadsheet can be very easily tested by varying the integer values in the Decision Variable
cells (cells C10 to C14). The city names and distances between cities should correctly change to
match the new Decision Variable integer values corresponding to different rows.
Step 6 – Insert All Data into the
Solver Dialogue Box
The Travelling Salesman Problem provides an excellent opportunity to demonstrate the use of the
Evolutionary method. The Evolutionary method must be used if the Mathematical Path to the
Objective contains any cells holding non-smooth or discontinuous formulas.
Common discontinuous Excel functions are INDEX, HLOOKUP, VLOOKUP, LOOKUP, INT, ROUND,
COUNT, CEILING, FLOOR, IF, CHOOSE, NOT AND, OR, GREATER THAN, LESS THAN, and EQUAL TO.
The INDEX function in this problem appears in cells that are part of the Clear Mathematical Path to
the Objective. We therefore must select the Evolutionary method to solve this problem.
After we have selected the Evolutionary method, we hit Solve and solution shown in several pages
is reached.
The salesman stars in his home town of Chicago. He then visits Denver, LA, Dallas, Boston, and
finally back to Chicago in that order. The total miles travelled on this route are 6,447 miles. This is
the shortest route that will cover all 5 cities starting and ending in Chicago.
Note that no special provision has to be made to ensure that the starting point is Chicago.
Following are views of the Excel model before solving and then after solving with Excel Solver’s
Evolutionary method:
Note:
- How long Solver took to solve the problem (especially important in this case – This time could
be reduced by several of the Options settings.)
- The Solver Engine that was used and the Solver Options settings
- Where the Objective Cell was labeled in the Excel model for its name to appear as it does in Part
1 of the Answer Report
Note the solution time of 164 seconds. This could have been reduced by limiting the maximum
allowable run time, iterations, or subproblems using the Options menu.
- Note where the labels for each Decision Variable are placed in the Excel model so that the
Decision Variable’s name will appear here in Part 2 of the Answer Report as it does
- Note the type of variable - Either Continuous or Integer (Integer, Binary, or Alldifferent)
Part 3 - Constraints
- Note how each Constraint is labeled in the Excel model in order for the Constraint’s name to
appear here in Part 3 of the Answer Report as it does.
- Note which Constraints are binding (had their limits hit) and which aren’t.
- Note how much slack is still available in any Constraint that has not had its limit hit.
Note that Cells C10 to C14 were set to AllDiff simultaneously as a group.
The Population Report can be valuable if successive runs of the Evolutionary method produce
different answers for the Objective. The setting of the Mean Value and Standard Deviation during
successive runs provide insight into whether your successive solutions are getting closer to the
most optimal solution. See the section on a detail description of this report for more information
about this topic.