Implement a number of the algorithms

Assignment Help JAVA Programming
Reference no: EM131462443

Algorithms and their Application Laboratory - The Travelling Salesman Problem

1. Introduction:

Firstly, this worksheet is one of the worksheets from which your laboratory worksheets portfolio of work will be assessed.

This worksheet is about empirically evaluating how scalable a number of single population heuristic search methods are at solving the Travelling Salesman Problem (TSP) when applied to a number of different sized problems. The aim is to evaluate and demonstrate how well each of the methods performs as the size of the problem increases.

The overall objective of this worksheet is to produce; present and report on, a Java program that is capable of solutions the TSP on a number of different sized problems using a number of different heuristic search algorithms (see below).

2. Preliminaries:

Make sure that you are familiar with the material in lecture "16.1 The Travelling Salesman Problem".

The datasets for this project are available in Appendix A in the file: CS2004 TSP Data (2016-2017).zip

Within this file are a large number of TSP data files of the form TSP_<N>.txt where N is the size of the data file. Within each TSP_<N>.txt file is an N by N matrix of distances between the nodes, which is a symmetric matrix. I.e. the distance between nodes i and j is the same as the distance between node j and i.

Appendix B contains some useful information regarding the TSP problem.

3. Exercise 1: Solving the TSP Problem

The Travelling Salesman problem (TSP) has been described fully in the lectures. The purpose of this worksheet is to:

1) Implement a number of the algorithms (listed below) to solve the TSP

2) Compare the algorithms on a number of different sized datasets

3) Report on the accuracy of the methods as the problem size changes

You should try and implement more than one out of the four following methods:

1) Simple Hill Climbing (Random Mutation Hill Climbing)

2) Stochastic Hill Climber

3) Random Restart Hill Climber

4) Simulated Annealing

Each method that is implemented should be run a number of times to remove any one off results due to the stochastic nature of the algorithms. The exact number of times is up to the student, but a sensible and logical number of repeat experiments should be chosen. There are a very large number of datasets available as described in Appendix A. Running the methods on all of these datasets for a number of repeats will take a very, very long time. A sample of these datasets should be chosen to represent a well thought out spread of the various sizes of the problems being solved.

Note that each of the methods can be run for a number of iterations. All of the experiments should be run for the same number of iterations, so that they can be compared. Note however, that this parameter is up to the student to choose and a sensible and logical value should be chosen.

You should provide some form of indication of quality of your solution. This can be done a number of ways, one suggestion is to use the Minimum Spanning Tree as discussed in the lectures and another is to use the optimal solution files. These latter files are a list of integers detailing the optimal tour for a given dataset.

Assignment File -

https://www.dropbox.com/s/zhmzfe65cbcmycf/Assignment%20File.rar?dl=0

Reference no: EM131462443

Questions Cloud

What are the objectives of picketing : What are the objectives of picketing? In what ways do the techniques of mediation and arbitration differ?
How do you typically deal with your crisis situation : How do you typically deal with your crisis situation? How would your approach or theory assist in your anticipated work setting?
Which labor contract issues are likely be easiest to resolve : Which labor contract issues are likely to be the easiest to resolve? Which are likely to be the most difficult? Discuss the following statement: Union security.
Retina of the human eye : The retina of the human eye can detect light when radiant energy incident on it (typo??)
Implement a number of the algorithms : CS2004 Algorithms and their Application. Implement a number of the algorithms (listed below) to solve the TSP
What were the sources of union power : Based on what is reported in newspapers and the electronic media, most people believe that the relationship between companies and unions is always contentious.
System was allowed to react : The system was allowed to react and come to equilibrium. If Kc= 4.0 x 10^-8, what was the concentration of X(g) at equilibrium?
Proteins are chains of amino acids : Almost all amino acids are chiral. The body only uses L amino acids, and proteins are chains of amino acids that in the most simple
How might management and public react to a union publicizing : Strikes are costly to both the union members walking the picket line and the company whose employees are off the job. Companies may lose business and struggle.

Reviews

len1462443

4/14/2017 3:57:46 AM

The work has to be done in Eclipse for Java and there has to be comments explaining the code in detail. I have past worksheets and completed lab sheets if needed. This worksheet is about empirically evaluating how scalable a number of single population heuristic search methods are at solving the Travelling Salesman Problem (TSP) when applied to a number of different sized problems. The aim is to evaluate and demonstrate how well each of the methods performs as the size of the problem increases.

Write a Review

JAVA Programming Questions & Answers

  Write a program called gf2java to implement the finite

write a program called gf2.java to implement the finite field gfpn where p is a prime number and n is a positive

  Write an application that uses an array to store

Write an application that uses an Array to store 10 messages of type String - You will store this Array with 10 messages

  Calculates the average test scores

You are given a list of students' names and their test scores. Design an algorithm that does the following: a. Calculates the average test scores.

  Create a class to encapsulate the data and behavior

Create a class to encapsulate the data and behavior of a product in a store's inventory. The class should have the following data for an inventory item

  Write an application that enables users to enter student ID

Write an application that enables users to enter student ID and three exam scores. Provide a method to compute and returnthe overall exam average.  Provide another method that prints all scores and the average value formatted with no digits to the ri..

  How can worms and viruses be introduced to a web site

Include ways that a Website can be attacked by malicious users such as Java script insertion, SQL insertion, hidden field manipulation, header manipulation and cookies

  Reads in up to 1000 non-negative integers

Write a program that reads in up to 1000 non-negative integers and displays distinct numbers (i.e., if a number appears multiple times, it is displayed only once). (Hint: Read each number and store it in an array if it is new. If the number is alread..

  Programming using the java language

Programming using the Java language. The basic concepts of object-oriented programming. Topics used will include algorithmic logic, control structures, data and program design, objects and classes.

  Create an application named numbers.

Create an application named Numbers. The Numbers class should have non-static public methods named sum and difference, each taking a pair of int variables as arguments. As you might expect, the sum method should add the two integers and return the..

  Cross the dark knight and the living flame of love

What challenges does spain get from the text john of the cross the dark knight and the living flame of love?

  Compilation and Execution - JAVA problem

Style marks are based on how your submitted code looks. Remember that good code is easily readable (and understandable) by someone who did not write it. For assignments, you should also include your name, student number, what course this is, what ass..

  Sequential search algorithm

Write a Java program to fill an array of integers with 1000 randomly generated integers and sorts these numbers using selection sort. Then the program asks the user to choose a number and searches for this number in the array using the well-known ..

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd