Full Sail University Graph Theory and Optimization

Optimization Project Objective • Explore Applications of Graph Theory and Combinatorics • Identify why certain problems are difficult to solve efficiently • Explore the use of Heuristics Instructions Answer all numbered questions in the Document Introduction The traveling salesman problem is stated as “Given a list of cities and the distances between each pair of cities, what is the shortest possible route that visits each city and returns to the origin city?” Brute Force Search 1. Write all possible circuits for the graph in the form

Example:

There will be 24 possible circuits to list 2. For each circuit, calculate the total distance traveled The total distance is the sum of each distance on the route 3. Identify the Optimal Circuit The optimal path is the one with the shortest distance Reflection 4. What about the Brute Force Search process of finding the optimal circuit using the above technique requires so many steps? What would the process be like for finding the optimal path for larger graphs (10, 20, 100 nodes) 5. Describe the method you could would use to find a good solution instead of a Brute Force Search? A heuristic is a technique for finding an approximate solution based on discovery when finding a optimal one is too difficult Optimization Project Heuristic Challenge Doing a brute force search (trying every path) is prohibitively difficult for finding a solution for a 7 point graph. Come up with an approach that will allow you to find a good low cost circuit (if not necessarily the best) 6. Select a “good” circuit in the the following graph and give the cost of traversing it The lowest cost circuit in the class gets 15 points Any score in the to 20% of circuit will get 12 points Any score in the top 50% of circuit will get 10 points Any valid circuit will earn 5 points This is weighted adjacency matrix for the graph you are looking to traverse. For simplicity sake the graph is non-directed You can use this information to draw a graph is you want to visualize the graph. See question 9 in project 2 for a refresher.