List of commits:
Subject Hash Author Date (UTC)
some little changes 380abe5ef3868ce86ed0f79a027bf94295e390e2 Sve.Feyer 2018-06-13 13:31:38
changed drawing to fixed Rate a303cebdf1e68f90541ff049e70f06c9cd22e7ac SF2311 2018-06-12 19:53:29
fixed Problem in Drawing and data 4d95b04c776307118a06342e4d042c40a7a43e19 SF2311 2018-06-11 13:02:04
implemented Simulated Annealing 008046d52d3bdb0ac4f40184ac75c157d8da7879 Sve.Feyer 2018-06-06 13:25:43
implemented Brutforce bcb24889e340679bc4e8120c6e04ee969ed41d44 Sve.Feyer 2018-06-06 12:33:23
Some little changes 101d5285794eec4a4c9e089c5482e049fa25e355 SF2311 2018-06-06 06:39:33
changed type of Cities-Array to List 32ef3b6c00071c11b0e1cc677f1158325da259a7 SF2311 2018-05-29 14:57:56
started implementing Simulated annealing 0a646cfa5b69d38aaeeefebc5950955c32340ad6 SF2311 2018-05-09 13:24:39
ready for update 9291ca0919c7344123342da1d1bf613b91e8b885 SF2311 2018-05-09 12:02:25
finished 2-Opt-algorithm 77fe988c5101d80ee3362ee69a6c949f32589edf SF2311 2018-05-05 16:24:59
fixed gui problems 0688b215d9601d49a00aebc0732164216fe4a2f4 SF2311 2018-05-03 10:48:19
improved visualization, added thread safety 89adf0d0bfe610fde9199ec8145c5d8a91fae33f SF2311 2018-05-02 08:48:40
implemented first version of visualization a218089ef758c0fd525d3bbe16163d71eb4c6833 SF2311 2018-04-25 20:32:26
implemented first version of 2-opt-change algorithm 376954bfb1e24116e0935d70263c0ec0c2792b92 SF2311 2018-04-25 16:29:06
just to update 2fa820634306068c8a97315ecb29661604bb34dc SF2311 2018-04-25 14:21:33
Merge branch 'dev' of T:\GIPS\Klassen\2017_GIPS_J1\Informatik JB\ts into dev 0fa550b00774b011f7e87ef1ac5b8fbdb9abb0bc ani.moosb 2018-04-25 13:25:48
prepared data structure ad7e293e1679e05d274ebcacf043522c2f3e8f5c SF2311 2018-04-25 13:21:54
new class Algorythm to implement BrutForce algorithm cd2f3565cc145dd9f14290b727f74ea0281ef2c7 ani.moosb 2018-04-25 13:12:14
prepared data structure 0d55315b39e973974793aadfc188dc9e055ef029 SF2311 2018-04-25 13:10:50
added class City for represnetation of data 057841348e42a9bf916d6b5bf8d8f069a8e4f555 SF2311 2018-04-25 12:42:18
Commit 380abe5ef3868ce86ed0f79a027bf94295e390e2 - some little changes
Author: Sve.Feyer
Author date (UTC): 2018-06-13 13:31
Committer name: Sve.Feyer
Committer date (UTC): 2018-06-13 13:31
Parent(s): a303cebdf1e68f90541ff049e70f06c9cd22e7ac
Signing key:
Tree: 6f061206266fa0b1134d7be090b13cb0ac6e3315
File Lines added Lines deleted
src/salesman/algorithms/SimAnn.java 9 8
src/salesman/ui/MenuController/SimAnController.java 7 4
File src/salesman/algorithms/SimAnn.java changed (mode: 100644) (index 3c13013..f1aaf37)
... ... public class SimAnn extends Thread {
14 14 private Order currentOrder = Order.getRandomOrder(MainWindowController.data.getCitiesSize()); private Order currentOrder = Order.getRandomOrder(MainWindowController.data.getCitiesSize());
15 15 private Random r = new Random(); private Random r = new Random();
16 16 private int bestLength =currentOrder.getTotalLength(MainWindowController.data.getCities()),cancel=0; private int bestLength =currentOrder.getTotalLength(MainWindowController.data.getCities()),cancel=0;
17 private double sigma = 1000000;
17 private double sigma = 1000000*currentOrder.getSize();
18 18
19 19 @Override @Override
20 20 public void run(){ public void run(){
 
... ... public class SimAnn extends Thread {
29 29 MainWindowController.data.setAlgorithmRunning(false); MainWindowController.data.setAlgorithmRunning(false);
30 30 return; return;
31 31 } }
32 double test = (new Double(1)/(currentOrder.getSize()*currentOrder.getSize()));
32 double test = (1d /(currentOrder.getSize()*currentOrder.getSize()));
33 33 sigma-= sigma*test; sigma-= sigma*test;
34 System.out.println("Sigma: "+sigma);
34 // System.out.println("Sigma: "+sigma);
35 35 int a = r.nextInt(currentOrder.getSize()); int a = r.nextInt(currentOrder.getSize());
36 36 int b = r.nextInt(currentOrder.getSize()); int b = r.nextInt(currentOrder.getSize());
37 37
 
... ... public class SimAnn extends Thread {
39 39 currentOrder.swapValues(a, b); currentOrder.swapValues(a, b);
40 40
41 41 int length = currentOrder.getTotalLength(MainWindowController.data.getCities()); int length = currentOrder.getTotalLength(MainWindowController.data.getCities());
42 System.out.println(bestLength-length);
43 42 if (length< bestLength) { if (length< bestLength) {
44 43 MainWindowController.data.setBestEver(currentOrder.copy()); MainWindowController.data.setBestEver(currentOrder.copy());
45 44 MainWindowController.data.getCurrentOrder().setOrder(currentOrder.getOrder()); MainWindowController.data.getCurrentOrder().setOrder(currentOrder.getOrder());
46 System.out.println("Hi");
45 //System.out.println("Hi");
47 46 bestLength=length; bestLength=length;
48 47 } else { } else {
49 48 double dif = length-bestLength; double dif = length-bestLength;
50 49 double result = Math.exp(-dif/sigma); double result = Math.exp(-dif/sigma);
51 if(!(result>Math.random())){
50 double d = Math.random();
51 System.out.println(result+","+d);
52 if(!(result>d)){
52 53 currentOrder.swapValues(a,b); currentOrder.swapValues(a,b);
53 54 cancel++; cancel++;
54 55 }else{ }else{
 
... ... public class SimAnn extends Thread {
68 69 if(sigma<1){ if(sigma<1){
69 70 running=false; running=false;
70 71 } }
71 /* if(cancel>40){
72 if(cancel>40){
72 73 running=false; running=false;
73 }*/
74 }
74 75
75 76 } }
76 77 DateTime end = new DateTime(); DateTime end = new DateTime();
File src/salesman/ui/MenuController/SimAnController.java changed (mode: 100644) (index f360f39..87d75d4)
... ... package salesman.ui.MenuController;
2 2
3 3 import javafx.fxml.FXML; import javafx.fxml.FXML;
4 4 import javafx.scene.control.ProgressBar; import javafx.scene.control.ProgressBar;
5 import salesman.algorithms.Opt2;
6 5 import salesman.algorithms.SimAnn; import salesman.algorithms.SimAnn;
6 import salesman.ui.MainWindowController;
7
7 8
8 9 public class SimAnController { public class SimAnController {
9 10 private SimAnn currentlyRunning; private SimAnn currentlyRunning;
 
... ... public class SimAnController {
12 13
13 14 @FXML @FXML
14 15 private void onAction(){ private void onAction(){
15 currentlyRunning= new SimAnn();
16 currentlyRunning.setDaemon(true);
17 currentlyRunning.start();
16 if(!MainWindowController.data.isAlgorithmRunning()) {
17 currentlyRunning = new SimAnn();
18 currentlyRunning.setDaemon(true);
19 currentlyRunning.start();
20 }
18 21 } }
19 22 @FXML @FXML
20 23 private void cancel(){ private void cancel(){
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/SF2311/travelling-salesman

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/SF2311/travelling-salesman

Clone this repository using git:
git clone git://git.rocketgit.com/user/SF2311/travelling-salesman

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main