Javier Gonzalez-Sanchez
September 05, 2020
2.4k

# CSE564 Lecture 05

Software Design
Assignment 01 and 02
(202101)

## Javier Gonzalez-SanchezPRO

September 05, 2020

## Transcript

1. ### jgs CSE 564 Software Design Lecture 05: Assignment 02 Dr.

Javier Gonzalez-Sanchez [email protected] javiergs.engineering.asu.edu | javiergs.com PERALTA 230U Office Hours: By appointment

11. ### jgs 564 00000101 Problem Traveling salesman problem (TSP) Given a

set of n nodes and distances for each pair of nodes, find a roundtrip of minimal total length visiting each node exactly once.
12. ### jgs 564 00000101 Problem Traveling salesman problem (TSP) Given a

set of n nodes and distances for each pair of nodes, find a roundtrip of minimal total length visiting each node exactly once.
13. ### jgs 564 00000101 Data § Symmetric The distance from node

i to node j is the same as from node j to node i. http://www.math.uwaterloo.ca/tsp/world/countries.html 29 cities - 71,009 cities

15. ### jgs 564 00000101 Data § Symmetric The distance from node

i to node j is the same as from node j to node i. http://www.math.uwaterloo.ca/tsp/world/countries.html 29 - 71009 § Asymmetric The distance from node i to node j and the distance from node j to node i may be different. http://elib.zib.de/pub/mp-testdata/tsp/tsplib/atsp/index.html 17 to 443

17. ### jgs 564 00000101 Solution It is an NP-hard problem. Do

not worry about an optimal solution Calculate and report the total distance using a greedy algorithm (nearest- neighbors) or any other fancy solution (2-opt, genetic algorithm, etc.) Report the path as a list of city IDs city1, city2, city3, city4, … Do not forget the GUI.
18. ### jgs 564 00000101 Solution Do not forget the GUI. For

the Symmetric Data, show the dots on the screen. They must look like this (file: IT16862.tsp). View solutions in the “Point Set” link on the data webpage.
19. ### jgs 564 00000101 Test Yourselves: Software § Information Hiding... How?

§ Stepwise refinement… How? § How many modules / functions? Why ? § How they will be connected (who call who? Who needs who?) Why ? § Which is the largest file (symmetric and asymmetric) that your solution can process? Can you improve that? How? § Sequential solution is acceptable, but challenge yourselves to use at least threads (CPU) or go for GPU programming
20. ### jgs 564 00000101 Assignment 02 Submit to Canvas (individually or

team of 2): a) Source Code (every single java files). b) A PDF file a paper describing § your code and how did you apply Wirth and Parnas ideas a.k.a. functional decomposition and information hiding. § Screenshot with the output for small, medium, and large scenario § A conclusion addressing the quality of your solution PS.1. Showcase your skills for readability (make your code easy to read) PS.2. Include Javadoc

26. ### jgs CSE 564 Software Design Javier Gonzalez-Sanchez, Ph.D. [email protected] Fall

2021 Copyright. These slides can only be used as study material for the class CSE564 at ASU. They cannot be distributed or used for another purpose.