();
+
+ File koordinat =new File("./src/sourceFiles/turkiye81.txt");
+ Scanner dosya = new Scanner(koordinat);
+
+ for (int i = 0; i < 81; i++) {
+ for (int j = 0; j < 1; j++) {
+ int index = dosya.nextInt();
+ int xCoordinat=dosya.nextInt();
+ int yCoordinat= dosya.nextInt();
+ xCoordinat=(int)(xCoordinat/1.5);
+ yCoordinat=(int)(yCoordinat/1.5);
+ coordinatMatrix[i][j]=xCoordinat;
+ coordinatMatrix[i][j+1]=yCoordinat;
+ //System.out.println(coordinatMatrix[i][j]+ " "+ coordinatMatrix[i][j+1] );
+ }
+
+
+ }
+
+
+ return coordinatMatrix;
+
+ }
+
+
+
+
+
+ public String[] SehirIsimleri() throws FileNotFoundException {
+ String[] dizi = new String[81];
+ BufferedReader reader;
+ try {
+ reader = new BufferedReader(new FileReader(
+ "./src/sourceFiles/turkiye81SehirIsımleri.txt"));
+ int i=0;
+ String line = reader.readLine();
+ while (line != null) {
+ //System.out.println(line);
+ // read next line
+ dizi[i]=line;
+ //System.out.println(dizi[i]);
+ line = reader.readLine();
+ i++;
+ }
+ reader.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ return dizi;
+ }
+
+
+}
diff --git a/TSP-Optimization/src/main/java/prolab21/prolab/Main.java b/TSP-Optimization/src/main/java/prolab21/prolab/Main.java
new file mode 100644
index 0000000..750ec76
--- /dev/null
+++ b/TSP-Optimization/src/main/java/prolab21/prolab/Main.java
@@ -0,0 +1,376 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package prolab21.prolab;
+
+
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.*;
+import java.lang.*;
+import java.io.*;
+
+import static java.lang.Double.*;
+
+
+public class Main {
+
+
+
+ /**
+ * @param args the command line arguments
+ */
+
+ private int n;
+ private boolean solved;
+ private double[][] dp;
+ private Integer[][] next;
+
+ private static final int REACHES_NEGATIVE_CYCLE = -1;
+
+ /**
+ * As input, this class takes an adjacency matrix with edge weights between nodes, where
+ * POSITIVE_INFINITY is used to indicate that two nodes are not connected.
+ *
+ * NOTE: Usually the diagonal of the adjacency matrix is all zeros (i.e. matrix[i][i] = 0 for
+ * all i) since there is typically no cost to go from a node to itself, but this may depend on
+ * your graph and the problem you are trying to solve.
+ */
+ public Main(double[][] matrix) {
+ n = matrix.length;
+ dp = new double[n][n];
+ next = new Integer[n][n];
+
+ // Copy input matrix and setup 'next' matrix for path reconstruction.
+ for (int i = 0; i < n; i++) {
+ for (int j = 0; j < n; j++) {
+ if (matrix[i][j] != POSITIVE_INFINITY) next[i][j] = j;
+ dp[i][j] = matrix[i][j];
+ }
+ }
+ }
+
+
+
+
+ /**
+ * Runs Floyd-Warshall to compute the shortest distance between every pair of nodes.
+ *
+ * @return The solved All Pairs Shortest Path (APSP) matrix.
+ */
+ public double[][] getApspMatrix() {
+ solve();
+ return dp;
+ }
+
+ // Executes the Floyd-Warshall algorithm.
+ public void solve() {
+ if (solved) return;
+
+ // Compute all pairs shortest paths.
+ for (int k = 0; k < n; k++) {
+ for (int i = 0; i < n; i++) {
+ for (int j = 0; j < n; j++) {
+ if (dp[i][k] + dp[k][j] < dp[i][j]) {
+ dp[i][j] = dp[i][k] + dp[k][j];
+ next[i][j] = next[i][k];
+ }
+ }
+ }
+ }
+
+ // Identify negative cycles by propagating the value 'NEGATIVE_INFINITY'
+ // to every edge that is part of or reaches into a negative cycle.
+ for (int k = 0; k < n; k++)
+ for (int i = 0; i < n; i++)
+ for (int j = 0; j < n; j++)
+ if (dp[i][k] + dp[k][j] < dp[i][j]) {
+ dp[i][j] = NEGATIVE_INFINITY;
+ next[i][j] = REACHES_NEGATIVE_CYCLE;
+ }
+
+ solved = true;
+ }
+
+
+ /**
+ * Reconstructs the shortest path (of nodes) from 'start' to 'end' inclusive.
+ *
+ * @return An array of nodes indexes of the shortest path from 'start' to 'end'. If 'start' and
+ * 'end' are not connected return an empty array. If the shortest path from 'start' to 'end'
+ * are reachable by a negative cycle return -1.
+ */
+ public List reconstructShortestPath(int start, int end) {
+ solve();
+ List path = new ArrayList<>();
+ if (dp[start][end] == POSITIVE_INFINITY) return path;
+ int at = start;
+ for (; at != end; at = next[at][end]) {
+ // Return null since there are an infinite number of shortest paths.
+ if (at == REACHES_NEGATIVE_CYCLE) return null;
+ path.add(at+1); // indekse bir ekliyoruz plakayı bir eksik yazdırmasın diye
+ }
+ // Return null since there are an infinite number of shortest paths.
+ if (next[at][end] == REACHES_NEGATIVE_CYCLE) return null;
+ path.add(end+1); // bitis plakasına bir ekliyoruz bir eksik yazdırmasın diye
+ return path;
+ }
+
+ /* Example usage. */
+
+ // Creates a graph with n nodes. The adjacency matrix is constructed
+ // such that the value of going from a node to itself is 0.
+ public static double[][] createGraph(int n) {
+ double[][] matrix = new double[n][n];
+ for (int i = 0; i < n; i++) {
+ java.util.Arrays.fill(matrix[i], POSITIVE_INFINITY);
+ matrix[i][i] = 0;
+ }
+ return matrix;
+ }
+
+
+
+ public static void main(String[] args)throws IOException {
+
+
+ sehir[] sehirler = new sehir[81];
+
+ for (int i = 0; i < 81; i++) {
+ sehirler[i] = new sehir();// burda niye atama yapıyor
+ }
+ File file = new File("./src/sourceFiles/komsuuzaklik.txt");
+
+ FileReader fileReader = new FileReader(file);
+ String line;
+
+ BufferedReader br = new BufferedReader(fileReader);
+ int i = 0;
+ while ((line = br.readLine()) != null) {///lat lng plaka ve komşulukları dosyadan okuma
+ String[] data = line.split(",");
+
+
+ sehirler[i].plaka = Integer.parseInt(data[0]);
+
+ for (int j = 1; j < data.length; j++) {//4 ten data boyutuna kadar komşu sayısı
+ //yol y = new yol();
+ if (i + 1 != j) {
+
+ sehirler[i].komsu.add(Integer.parseInt(data[j]));
+
+ } else {
+ sehirler[i].komsu.add(0);
+
+ }
+
+ }
+
+ i++;
+
+ }
+
+ br.close();
+
+
+
+ // Construct graph.
+ int n = 81;
+ double[][] m = createGraph(n);
+
+
+ for(int a=0;a<81;a++){
+
+ for(int b=0;b<81;b++){
+ int gecici = sehirler[a].komsu.get(b);
+ if(gecici!=0){
+ m[a][b]=gecici;
+ }
+ }
+
+
+ }
+ // Add some edge values.
+
+
+ Main solver = new Main(m);
+ double[][] dist = solver.getApspMatrix(); // yol maliyetleri buradaki dist[][] matriksinin içinde
+
+
+
+
+/*
+ for (int i = 0; i < n; i++)
+ for (int j = 0; j < n; j++)
+ System.out.printf("This shortest path from node %d to node %d is %.3f\n", i, j, dist[i][j]);
+
+ // Prints:
+ // This shortest path from node 0 to node 0 is 0.000
+ // This shortest path from node 0 to node 1 is 2.000
+ // This shortest path from node 0 to node 2 is 4.000
+ // This shortest path from node 0 to node 3 is Infinity
+ // This shortest path from node 0 to node 4 is -Infinity
+ // This shortest path from node 0 to node 5 is -Infinity
+ // This shortest path from node 0 to node 6 is 6.000
+ // This shortest path from node 1 to node 0 is Infinity
+ // This shortest path from node 1 to node 1 is 0.000
+ // This shortest path from node 1 to node 2 is 2.000
+ // This shortest path from node 1 to node 3 is Infinity
+ // ...
+
+ System.out.println();
+*/
+
+ ArrayList gidicekSehirler= new ArrayList<>();
+
+ Scanner scan =new Scanner(System.in);
+
+ System.out.println("BASLANGİC PLAKASI GİRİNİZ");
+ int baslangic=scan.nextInt();
+ gidicekSehirler.add(baslangic);
+ System.out.println("KAÇ ADET ŞEHİRE UĞRANACAK:");
+ int ugranacak = scan.nextInt();
+
+ int[] a= new int[ugranacak];
+ for (int asd=0 ; asd> permArrayList;
+
+ Permutation permutation = new Permutation();
+ permArrayList=permutation.permute(a); // UGRANACAK SEHIRLERIN TUM PERMUTASYONLARI
+
+
+ List distanceList = new ArrayList<>();
+
+ for (ArrayList integers : permArrayList) {
+ double maliyet = dist[baslangic - 1][permArrayList.get(0).get(0) - 1]; // BASLANGİCTAN ARRAYLIST IN 0. INDEKSINE OLAN UZAKLIK
+ for (int k = 0; k < integers.size() - 1; k++) {
+ maliyet += dist[integers.get(k) - 1][integers.get(k + 1) - 1]; // 1. INDEKSTEN 2. INDEKSE 2. INDEKSTEN 3. INDEKSE ...... OLAN-
+ //UZAKLIKLARI MALIYETE EKLER VE ROTANIN TOPLAM MALIYETINI BULUR
+
+ }
+ distanceList.add(maliyet);
+
+ }
+
+
+
+
+
+ for (int j = 0; j < distanceList.size(); j++) {
+
+ permArrayList.get(j).add(distanceList.get(j).intValue()); // MALİYETİ ROTA MATRİSİNİN SONUNA EKLİYORUZ DAHA SONRA MALİYET İNDEKSİNE GÖRE SIRALANACAK
+
+ }
+
+
+
+ int deger = permArrayList.get(0).size()-1;
+
+ // İÇİNDE ROTA VE MALİYET BULUNAN
+ // MATRİSİ MALİYETE GÖRE SIRALAR
+ permArrayList.sort(Comparator.comparing(o -> o.get(deger)));
+
+
+
+ List> gidisDonusArrayList = new ArrayList<>();
+
+ int boyut=0;
+ if (permArrayList.size() >= 5){
+ boyut=5;
+ }
+ if(permArrayList.size()==2){
+ boyut=2;
+ }
+ if (permArrayList.size()==1){
+ boyut=1;
+ }
+
+
+
+ System.out.println("En az maliyetli yollar sırası ile: ");
+ for (int j = 0; j < boyut; j++) {
+ ArrayList clone = new ArrayList<>();
+ int maliyetIndex = permArrayList.get(j).size()-1;
+ List path = solver.reconstructShortestPath(baslangic-1,permArrayList.get(j).get(0)-1);
+ clone.addAll(path);
+ clone.remove(clone.size()-1);
+ if (boyut == 1){
+ List pathSadece1SehiIcin = solver.reconstructShortestPath(permArrayList.get(j).get(0)-1,baslangic-1);
+ clone.addAll(pathSadece1SehiIcin);
+ double tekSehirIcınMaliyet = permArrayList.get(j).get(maliyetIndex)*2;
+ clone.add( (int)tekSehirIcınMaliyet);
+ Collections.reverse(clone);
+ gidisDonusArrayList.add(clone);
+
+ }
+
+ for (int k = 0; k < permArrayList.get(j).size()-2; k++) {
+
+ List path1 = solver.reconstructShortestPath(permArrayList.get(j).get(k)-1,permArrayList.get(j).get(k+1)-1);
+
+ clone.addAll(path1);
+ clone.remove(clone.size()-1);
+
+
+ if(k== permArrayList.get(j).size()-3 && boyut!=1){
+ List pathDonus = solver.reconstructShortestPath(permArrayList.get(j).get(k+1)-1,baslangic-1);
+ clone.addAll(pathDonus);
+
+
+ int sonMaliyet=permArrayList.get(j).get(maliyetIndex)+(int)dist[permArrayList.get(j).get(k+1)-1][baslangic-1];
+ clone.add( sonMaliyet);
+ gidisDonusArrayList.add(clone);
+ Collections.reverse(clone);
+
+
+ }
+
+
+
+
+ }
+
+
+
+ }
+ // İÇİNDE ROTA VE MALİYET BULUNAN
+ // MATRİSİ MALİYETE GÖRE SIRALAR
+ gidisDonusArrayList.sort(Comparator.comparing(o -> o.get(0)));
+
+ System.out.println("--------------------------ROTA----------------------------");
+ System.out.println("-----------------------------------------------------------");
+
+ for (int j = 0; j < gidisDonusArrayList.size(); j++) {
+ Collections.reverse(gidisDonusArrayList.get(j));
+ System.out.println(j+1+". EN KISA ROTA : "+gidisDonusArrayList.get(j)); // SON ROTA VE MALİYET BUNUN gidisDonusArrayList İÇİNDE (TAM BİR TUR)
+
+ }
+
+
+
+
+
+ long estimatedTime = System.currentTimeMillis() - startTime;
+ System.out.println("Çalışma süresi: "+(double)estimatedTime/1000+" saniye");
+
+
+ Arayuz arayuz = new Arayuz();
+ arayuz.Arayuz(gidisDonusArrayList,gidicekSehirler);
+
+
+ }
+
+}
diff --git a/TSP-Optimization/src/main/java/prolab21/prolab/Permutation.java b/TSP-Optimization/src/main/java/prolab21/prolab/Permutation.java
new file mode 100644
index 0000000..e232d1c
--- /dev/null
+++ b/TSP-Optimization/src/main/java/prolab21/prolab/Permutation.java
@@ -0,0 +1,67 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package prolab21.prolab;
+
+/**
+ *
+ * @author harun
+ */
+/**
+ Given a collection of distinct integers, return all possible permutations.
+ Example:
+ Input: [1,2,3]
+ Output:
+ [
+ [1,2,3],
+ [1,3,2],
+ [2,1,3],
+ [2,3,1],
+ [3,1,2],
+ [3,2,1]
+ ]
+ Time complexity is
+ O(n*n!)
+ */
+
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class Permutation {
+ public List> permute(int[] nums) {
+ List> results = new ArrayList<>();
+ if (nums.length == 0)
+ return results;
+
+ permutations(nums, 0, results);
+ return results;
+ }
+
+ private void permutations(int[] nums, int start, List> results){
+ if (start >= nums.length){
+ ArrayList clone = new ArrayList<>();
+ for (int i : nums)
+ clone.add(i);
+ results.add(clone);
+ }
+ else{
+ for(int i=start; i komsu=new ArrayList <>();
+}
+
diff --git a/TSP-Optimization/src/sourceFiles/komsuuzaklik.txt b/TSP-Optimization/src/sourceFiles/komsuuzaklik.txt
new file mode 100644
index 0000000..e4bd301
--- /dev/null
+++ b/TSP-Optimization/src/sourceFiles/komsuuzaklik.txt
@@ -0,0 +1,81 @@
+1,Adana,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,191,0,69,0,0,0,0,335,0,0,0,0,0,0,0,192,0,0,0,0,207,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,0
+2,0,Adiyaman,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,207,0,0,0,0,0,150,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,187,0,163,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+3,0,0,Afyonkarahisar,0,0,0,0,0,0,0,0,0,0,0,169,0,0,0,0,222,0,0,0,0,0,144,0,0,0,0,0,168,0,0,0,0,0,0,0,0,0,223,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+4,0,0,0,Agri,0,0,0,0,0,0,0,0,234,0,0,0,0,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,0,0,0,0,0,245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,0,0,0,0,0,0,0,0,0,0,143,0,0,0,0,0
+5,0,0,0,0,Amasya,0,0,0,0,0,0,0,0,0,0,0,0,0,92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,0,114,0,0,0,0,0,200,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+6,0,0,0,0,0,Ankara,0,0,0,0,0,0,0,191,0,0,0,130,0,0,0,0,0,0,0,233,0,0,0,0,0,0,0,0,0,0,0,0,0,184,0,258,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,225,0,0,75,0,0,0,0,0,0,0,0,0,0
+7,0,0,0,0,0,0,Antalya,0,0,0,0,0,0,0,122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,466,0,0,0,0,0,0,0,0,322,0,0,0,0,0,311,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,374,0,0,0,0,0,0,0,0,0,0,0
+8,0,0,0,0,0,0,0,Artvin,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,226,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,161,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,0,0,0,0,0,0
+9,0,0,0,0,0,0,0,0,Aydin,0,0,0,0,0,0,0,0,0,0,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,0,0,0,0,0,0,0,0,0,155,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+10,0,0,0,0,0,0,0,0,0,Balikesir,0,0,0,0,0,151,198,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,0,0,0,0,0,0,0,228,0,141,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+11,0,0,0,0,0,0,0,0,0,0,Bilecik,0,0,213,0,94,0,0,0,0,0,0,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+12,0,0,0,0,0,0,0,0,0,0,0,Bingol,0,0,0,0,0,0,0,0,141,0,144,275,177,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,0,0,0,0,0,0,0,0,0,0,0,0,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+13,0,0,0,234,0,0,0,0,0,0,0,0,Bitlis,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,0,0,0,0,0,0,96,0,0,0,0,0,0,0,0,161,0,0,0,0,0,0,135,0,0,0,0,0,0,0,0,0
+14,0,0,0,0,0,191,0,0,0,0,213,0,0,Bolu,0,0,0,233,0,0,0,0,0,0,0,291,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,0,0,0,0,0,0,0,0,0,0,0,0,157,0,0,0,0,0,0,0,0,0,0,134,0,0,45
+15,0,0,169,0,0,0,122,0,0,0,0,0,0,0,Burdur,0,0,0,0,150,0,0,0,0,0,0,0,0,0,0,0,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,241,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+16,0,0,0,0,0,0,0,0,0,151,94,0,0,0,0,Bursa,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,0,177,0,0,0,0,0,0,0,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,0,0,0,0
+17,0,0,0,0,0,0,0,0,0,198,0,0,0,0,0,0,Canakkale,0,0,0,0,216,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+18,0,0,0,0,0,130,0,0,0,0,0,0,0,233,0,0,0,Cankiri,156,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,0,0,0,0,0,0,193,0,0,0
+19,0,0,0,0,92,0,0,0,0,0,0,0,0,0,0,0,0,156,Corum,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,197,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,0,266,0,0,0,0,0,0,0,0,108,0,0,0,0,166,0,0,0,0,0,0,0,0,0,0
+20,0,0,222,0,0,0,0,0,126,0,0,0,0,0,150,0,0,0,0,Denizli,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,0,0,145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+21,0,207,0,0,0,0,0,0,0,0,0,141,0,0,0,0,0,0,0,0,Diyarbakir,0,153,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,0,0,96,0,252,0,0,0,0,0,0,0,0,0,0,0,0,0,176,0,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,0,0
+22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,0,0,0,0,Edirne,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+23,0,0,0,0,0,0,0,0,0,0,0,144,0,0,0,0,0,0,0,0,153,0,Elazig,267,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+24,0,0,0,0,0,0,0,0,0,0,0,275,0,0,0,0,0,0,0,0,0,0,267,Erzincan,190,0,0,295,133,0,0,0,0,0,0,0,0,0,0,0,0,0,0,363,0,0,0,0,0,0,0,0,0,0,0,0,0,248,0,0,0,131,0,0,0,0,0,0,155,0,0,0,0,0,0,0,0,0,0,0,0
+25,0,0,0,183,0,0,0,226,0,0,0,177,0,0,0,0,0,0,0,0,0,0,0,190,Erzurum,0,0,0,0,0,0,0,0,0,0,203,0,0,0,0,0,0,0,0,0,0,0,0,266,0,0,0,259,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,125,0,0,0,0,0,233,0,0,0,0,0,0
+26,0,0,144,0,0,233,0,0,0,0,83,0,0,291,0,0,0,0,0,0,0,0,0,0,0,Eskisehir,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,338,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+27,0,150,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Gaziantep,0,0,0,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,125,0
+28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,295,0,0,0,Giresun,162,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,298,0,0,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,133,0,0,0,162,Gumushane,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0
+30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Hakkari,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,197,0,0,0,0,0,0,0,189,0,0,0,0,0,0,0,0
+31,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,0,0,0,Hatay,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,129,0
+32,0,0,168,0,0,0,130,0,0,0,0,0,0,0,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Isparta,0,0,0,0,0,0,0,0,0,263,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+33,69,0,0,0,0,0,466,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Mersin,0,0,0,0,0,0,0,0,348,0,0,0,0,0,0,0,0,200,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,235,0,0,0,0,0,0,0,0,0,0,0
+34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Istanbul,0,0,0,0,0,0,111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+35,0,0,0,0,0,0,0,0,126,176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Izmir,0,0,0,0,0,0,0,0,0,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+36,0,0,0,214,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,203,0,0,0,0,0,0,0,0,0,0,Kars,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,140,0,0,0,0,0
+37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,197,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Kastamonu,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,183,0,0,0,114,0,0,0
+38,335,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Kayseri,0,0,0,0,0,0,0,261,0,0,0,81,128,0,0,0,0,0,0,194,0,0,0,0,0,0,0,197,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Kirklareli,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+40,0,0,0,0,0,184,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Kirsehir,0,0,0,0,0,0,0,0,0,91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,110,0,0,113,0,0,0,0,0,0,0,0,0,0
+41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,0,0,0,0,0,0,Kocaeli,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,0
+42,0,0,223,0,0,258,322,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,338,0,0,0,0,0,263,348,0,0,0,0,0,0,0,0,Konya,0,0,0,0,0,0,0,0,242,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,0,119,0,0,0,0,0,0,0,0,0,0,0
+43,0,0,100,0,0,0,0,0,0,228,112,0,0,0,0,177,0,0,0,0,0,0,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Kutahya,0,316,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+44,0,187,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,0,98,363,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Malatya,0,224,0,0,0,0,0,0,0,0,0,0,0,243,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+45,0,0,0,0,0,0,0,0,155,141,0,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,0,0,0,0,0,0,0,316,0,Manisa,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,195,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+46,192,163,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,0,0,0,0,0,0,0,0,0,0,261,0,0,0,0,0,224,0,Kahramanmaras,0,0,0,0,0,0,0,0,0,0,0,327,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,0
+47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Mardin,0,0,0,0,0,0,0,0,227,0,0,0,0,0,0,188,0,0,0,0,0,0,0,0,150,197,0,0,0,0,0,0,0,0
+48,0,0,0,0,0,0,311,0,99,0,0,0,0,0,241,0,0,0,0,145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Mugla,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+49,0,0,0,245,0,0,0,0,0,0,0,111,83,0,0,0,0,0,0,0,252,0,0,0,266,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Mus,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,218,0,0,0,0,0,0,0,0,0
+50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,0,91,0,0,0,0,0,0,0,0,0,Nevsehir,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,203,0,75,0,0,0,0,0,0,0,0,0,0,0,0,0
+51,207,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,128,0,0,0,242,0,0,0,0,0,0,0,82,Nigde,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,0,0,0,0,0,0,0,0,0,0,0,0,0
+52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Ordu,0,0,150,0,0,0,0,216,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+53,0,0,0,0,0,0,0,161,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,259,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Rize,0,0,0,0,0,0,0,75,0,0,0,0,0,0,0,253,0,0,0,0,0,0,0,0,0,0,0,0
+54,0,0,0,0,0,0,0,0,0,0,99,0,0,114,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,Sakarya,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69
+55,0,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,172,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,0,0,Samsun,0,155,0,0,229,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+56,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,227,0,0,0,0,0,0,0,0,Siirt,0,0,0,0,0,0,0,0,257,0,0,0,0,0,0,86,100,0,0,0,0,0,0,0,0
+57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,266,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,155,0,Sinop,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,0,0,0,298,0,0,0,0,0,0,0,0,0,194,0,0,0,0,0,243,0,327,0,0,0,0,0,314,0,0,0,0,0,Sivas,0,108,0,0,0,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,187,0,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Tekirdag,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+60,0,0,0,0,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,0,0,229,0,0,108,0,Tokat,0,0,0,0,0,205,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,0,0,0,0,0,0,0,Trabzon,0,0,0,0,0,0,0,178,0,0,0,0,0,0,0,0,0,0,0,0
+62,0,0,0,0,0,0,0,0,0,0,0,144,0,0,0,0,0,0,0,0,0,0,136,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Tunceli,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+63,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,0,0,0,0,0,137,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Sanliurfa,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+64,0,0,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,195,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Usak,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+65,0,0,0,228,0,0,0,0,0,0,0,0,161,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,197,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,257,0,0,0,0,0,0,0,0,Van,0,0,0,0,0,0,0,357,0,0,0,0,0,0,0,0
+66,0,0,0,0,200,0,0,0,0,0,0,0,0,0,0,0,0,0,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,197,0,112,0,0,0,0,0,0,0,0,0,203,0,0,0,0,0,0,0,224,0,205,0,0,0,0,0,Yozgat,0,0,0,0,140,0,0,0,0,0,0,0,0,0,0
+67,0,0,0,0,0,0,0,0,0,0,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Zonguldak,0,0,0,0,0,0,87,0,0,0,100,0,0,113
+68,0,0,0,0,0,225,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,0,148,0,0,0,0,0,0,0,75,122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Aksaray,0,0,0,0,0,0,0,0,0,0,0,0,0
+69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,155,125,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,0,0,0,0,0,0,0,178,0,0,0,0,0,0,0,Bayburt,0,0,0,0,0,0,0,0,0,0,0,0
+70,0,0,0,0,0,0,374,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,235,0,0,0,0,0,0,0,0,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Karaman,0,0,0,0,0,0,0,0,0,0,0
+71,0,0,0,0,0,75,0,0,0,0,0,0,0,0,0,0,0,104,166,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,0,0,0,0,Kirikkale,0,0,0,0,0,0,0,0,0,0
+72,0,0,0,0,0,0,0,0,0,0,0,0,135,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,0,218,0,0,0,0,0,0,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Batman,0,0,0,0,0,0,0,0,0
+73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,189,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,197,0,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,0,357,0,0,0,0,0,0,0,Sirnak,0,0,0,0,0,0,0,0
+74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,0,0,0,0,0,0,Bartin,0,0,0,89,0,0,0
+75,0,0,0,0,0,0,0,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,233,0,0,0,0,0,0,0,0,0,0,94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Ardahan,0,0,0,0,0,0
+76,0,0,0,143,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Igdir,0,0,0,0,0
+77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Yalova,0,0,0,0
+78,0,0,0,0,0,0,0,0,0,0,0,0,0,134,0,0,0,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,0,0,0,89,0,0,0,Karabuk,0,0,0
+79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Kilis,0,0
+80,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,125,0,0,0,129,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Osmaniye,0
+81,0,0,0,0,0,0,0,0,0,0,0,0,0,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,0,0,0,0,0,0,0,0,0,0,0,0,113,0,0,0,0,0,0,0,0,0,0,0,0,0,Duzce
\ No newline at end of file
diff --git a/TSP-Optimization/src/sourceFiles/turkiye81.txt b/TSP-Optimization/src/sourceFiles/turkiye81.txt
new file mode 100644
index 0000000..a68cd02
--- /dev/null
+++ b/TSP-Optimization/src/sourceFiles/turkiye81.txt
@@ -0,0 +1,81 @@
+1 1224 882
+2 1606 746
+3 616 590
+4 2184 384
+5 1280 290
+6 898 392
+7 620 892
+8 2008 164
+9 262 718
+10 288 426
+11 554 360
+12 1854 548
+13 2088 612
+14 736 314
+15 538 776
+16 440 346
+17 114 336
+18 1006 302
+19 1168 308
+20 420 738
+21 1850 708
+22 150 88
+23 1712 592
+24 1740 420
+25 1960 376
+26 620 424
+27 1494 862
+28 1626 244
+29 1726 304
+30 2314 722
+31 1338 1012
+32 610 748
+33 1140 910
+34 442 210
+35 180 610
+36 2176 240
+37 1026 172
+38 1240 598
+39 256 84
+40 1076 534
+41 554 234
+42 864 744
+43 548 478
+44 1604 656
+45 250 588
+46 1436 778
+47 1930 800
+48 332 826
+49 2006 566
+50 1144 622
+51 1140 724
+52 1532 232
+53 1856 204
+54 612 258
+55 1336 186
+56 2078 692
+57 1196 70
+58 1428 432
+59 254 208
+60 1370 340
+61 1752 220
+62 1754 522
+63 1678 842
+64 470 596
+65 2252 576
+66 1152 428
+67 772 176
+68 1058 662
+69 1828 332
+70 958 860
+71 994 426
+72 1972 704
+73 2154 752
+74 854 130
+75 2122 166
+76 2306 342
+77 468 280
+78 892 206
+79 1466 924
+80 1348 872
+81 716 258
\ No newline at end of file
diff --git "a/TSP-Optimization/src/sourceFiles/turkiye81SehirIs\304\261mleri.txt" "b/TSP-Optimization/src/sourceFiles/turkiye81SehirIs\304\261mleri.txt"
new file mode 100644
index 0000000..1b2a7a7
--- /dev/null
+++ "b/TSP-Optimization/src/sourceFiles/turkiye81SehirIs\304\261mleri.txt"
@@ -0,0 +1,81 @@
+Adana 1
+Adıyaman 2
+Afyon 3
+Ağrı 4
+Amasya 5
+Ankara 6
+Antalya 7
+Artvin 8
+Aydın 9
+Balıkesir 10
+Bilecik 11
+Bingöl 12
+Bitlis 13
+Bolu 14
+Burdur 15
+Bursa 16
+Çanakkale 17
+Çankırı 18
+Çorum 19
+Denizli 20
+Diyarbakır 21
+Edirne 22
+Elazığ 23
+Erzincan 24
+Erzurum 25
+Eskişehir 26
+Gaziantep 27
+Giresun 28
+Gümüşhane 29
+Hakkari 30
+Hatay 31
+Isparta 32
+Mersin 33
+İstanbul 34
+İzmir 35
+Kars 36
+Kastamonu 37
+Kayseri 38
+Kırklareli 39
+Kırşehir 40
+Kocaeli 41
+Konya 42
+Kütahya 43
+Malatya 44
+Manisa 45
+Kahramanmaraş 46
+Mardin 47
+Muğla 48
+Muş 49
+Nevşehir 50
+Niğde 51
+Ordu 52
+Rize 53
+Sakarya 54
+Samsun 55
+Siirt 56
+Sinop 57
+Sivas 58
+Tekirdağ 59
+Tokat 60
+Trabzon 61
+Tunceli 62
+Şanlıurfa 63
+Uşak 64
+Van 65
+Yozgat 66
+Zonguldak 67
+Aksaray 68
+Bayburt 69
+Karaman 70
+Kırıkkale 71
+Batman 72
+Şırnak 73
+Bartın 74
+Ardahan 75
+Iğdır 76
+Yalova 77
+Karabük 78
+Kilis 79
+Osmaniye 80
+Düzce 81
\ No newline at end of file