Zadanie nr 2
Transkrypt
Zadanie nr 2
Zadanie 2. Algorytm najbliższego sąsiada dla zadania komiwojażera Przeanalizować załączony program NN.java – por. odnośnik Algo przyrostowy w sekcji Kody programów. Aby uruchomić ten program należy: (i) załadować program MyRead.java (por. odnośnik czytanie z pliku w sekcji Kody programów) (ii) załadować plik berlin52.tsp.gz ze strony http://www.iwr.uni-heidelberg.de/groups/comopt/software/ TSPLIB95/tsp/, i wypakować z niego plik berlin52.tsp. W programie NN.java zmodyfikować metodę findNN() w taki sposób, aby wypisywała wszystkie trasy generowane przez ten program (jest ich 52). Następnie należy: (a) sporządzić wykres ilustrujący zależność długości znalezionej trasy od numeru startowego miasta, (b) przeanalizować znalezione trasy i znaleźć liczbę wspólnych podtras (c) narysować najlepszą znalezioną przez algorytm trasę (d) porównać uzyskany wynik z optymalnym (optymalną trasę zawiera plik berlin52.opt.tour.gz znajdujący się pod wskazanym w punkcie (ii) adresem. UWAGA: Sugeruje się, aby do przy sporządzaniu wykresów skorzystać z programu GNUPLOT dostępnego pod adresem http://www.gnuplot.info/download.html. Tutorial do tego programu można znaleźć na stronie http://www.gnuplot. info/index.html. 1