Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

jgs Test Yourselves

Slide 3

Slide 3 text

jgs 564 00000101 Thoughts?

Slide 4

Slide 4 text

jgs 564 00000101 Thoughts?

Slide 5

Slide 5 text

jgs 564 00000101 Thoughts?

Slide 6

Slide 6 text

jgs 564 00000101 Thoughts?

Slide 7

Slide 7 text

jgs 564 00000101 Thoughts?

Slide 8

Slide 8 text

jgs 564 00000101 Thoughts?

Slide 9

Slide 9 text

jgs 564 00000101 Thoughts?

Slide 10

Slide 10 text

jgs Assignment 02

Slide 11

Slide 11 text

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.

Slide 12

Slide 12 text

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.

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

jgs 564 00000101 Data Symmetric

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

jgs 564 00000101 Data Asymmetric

Slide 17

Slide 17 text

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.

Slide 18

Slide 18 text

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.

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

jgs 564 00000101 Questions

Slide 22

Slide 22 text

jgs Appendix Java Swing

Slide 23

Slide 23 text

jgs 564 00000101 Example

Slide 24

Slide 24 text

jgs 564 00000101 Main.java

Slide 25

Slide 25 text

jgs 564 00000101 Canva.java

Slide 26

Slide 26 text

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.