From 24c5f030ca9ec449d956a2b10e9133459be43004 Mon Sep 17 00:00:00 2001
From: arzba <arzba>
Date: Fri, 25 Oct 2024 14:33:52 +0200
Subject: [PATCH] restructered

---
 .../.vscode => .vscode}/settings.json         |   0
 Optimierungsalgorithmen/bin/Algorithms.class  | Bin 5714 -> 0 bytes
 Optimierungsalgorithmen/bin/Instance.class    | Bin 3260 -> 0 bytes
 Optimierungsalgorithmen/bin/cvrp_ls.class     | Bin 1641 -> 0 bytes
 Optimierungsalgorithmen/src/cvrp_ls.java      |  27 --------------
 README.md                                     |   2 +-
 bin/Algorithms.class                          | Bin 0 -> 6166 bytes
 bin/Instance.class                            | Bin 0 -> 3608 bytes
 .../bin => bin}/Node.class                    | Bin
 .../bin => bin}/Solution.class                | Bin
 bin/cvrp_ls.class                             | Bin 0 -> 2000 bytes
 .../bin => bin}/instances/Loggi-n1001-k31.sol |   0
 .../bin => bin}/instances/Loggi-n1001-k31.vrp |   0
 .../bin => bin}/instances/Loggi-n401-k23.sol  |   0
 .../bin => bin}/instances/Loggi-n401-k23.vrp  |   0
 .../bin => bin}/instances/Loggi-n501-k24.sol  |   0
 .../bin => bin}/instances/Loggi-n501-k24.vrp  |   0
 .../bin => bin}/instances/Loggi-n601-k19.sol  |   0
 .../bin => bin}/instances/Loggi-n601-k19.vrp  |   0
 .../bin => bin}/instances/Loggi-n601-k42.sol  |   0
 .../bin => bin}/instances/Loggi-n601-k42.vrp  |   0
 .../bin => bin}/instances/Loggi-n901-k42.sol  |   0
 .../bin => bin}/instances/Loggi-n901-k42.vrp  |   0
 .../bin => bin}/instances/ORTEC-n242-k12.sol  |   0
 .../bin => bin}/instances/ORTEC-n242-k12.vrp  |   0
 .../bin => bin}/instances/ORTEC-n323-k21.sol  |   0
 .../bin => bin}/instances/ORTEC-n323-k21.vrp  |   0
 .../bin => bin}/instances/ORTEC-n405-k18.sol  |   0
 .../bin => bin}/instances/ORTEC-n405-k18.vrp  |   0
 .../bin => bin}/instances/ORTEC-n455-k41.sol  |   0
 .../bin => bin}/instances/ORTEC-n455-k41.vrp  |   0
 .../bin => bin}/instances/ORTEC-n510-k23.sol  |   0
 .../bin => bin}/instances/ORTEC-n510-k23.vrp  |   0
 .../bin => bin}/instances/ORTEC-n701-k64.sol  |   0
 .../bin => bin}/instances/ORTEC-n701-k64.vrp  |   0
 bin/manifest.MF                               |   1 +
 .../src => src}/Algorithms.class              | Bin
 .../src => src}/Algorithms.java               |  28 +++++++++++++-
 .../src => src}/Instance.class                | Bin
 .../src => src}/Instance.java                 |  16 ++++++++
 .../src => src}/Node.class                    | Bin
 .../src => src}/Node.java                     |   0
 .../src => src}/Solution.class                | Bin
 .../src => src}/Solution.java                 |   0
 .../src => src}/cvrp_ls.class                 | Bin
 src/cvrp_ls.java                              |  35 ++++++++++++++++++
 .../src => src}/instances/Loggi-n1001-k31.sol |   0
 .../src => src}/instances/Loggi-n1001-k31.vrp |   0
 .../src => src}/instances/Loggi-n401-k23.sol  |   0
 .../src => src}/instances/Loggi-n401-k23.vrp  |   0
 .../src => src}/instances/Loggi-n501-k24.sol  |   0
 .../src => src}/instances/Loggi-n501-k24.vrp  |   0
 .../src => src}/instances/Loggi-n601-k19.sol  |   0
 .../src => src}/instances/Loggi-n601-k19.vrp  |   0
 .../src => src}/instances/Loggi-n601-k42.sol  |   0
 .../src => src}/instances/Loggi-n601-k42.vrp  |   0
 .../src => src}/instances/Loggi-n901-k42.sol  |   0
 .../src => src}/instances/Loggi-n901-k42.vrp  |   0
 .../src => src}/instances/ORTEC-n242-k12.sol  |   0
 .../src => src}/instances/ORTEC-n242-k12.vrp  |   0
 .../src => src}/instances/ORTEC-n323-k21.sol  |   0
 .../src => src}/instances/ORTEC-n323-k21.vrp  |   0
 .../src => src}/instances/ORTEC-n405-k18.sol  |   0
 .../src => src}/instances/ORTEC-n405-k18.vrp  |   0
 .../src => src}/instances/ORTEC-n455-k41.sol  |   0
 .../src => src}/instances/ORTEC-n455-k41.vrp  |   0
 .../src => src}/instances/ORTEC-n510-k23.sol  |   0
 .../src => src}/instances/ORTEC-n510-k23.vrp  |   0
 .../src => src}/instances/ORTEC-n701-k64.sol  |   0
 .../src => src}/instances/ORTEC-n701-k64.vrp  |   0
 src/manifest.MF                               |   1 +
 71 files changed, 80 insertions(+), 30 deletions(-)
 rename {Optimierungsalgorithmen/.vscode => .vscode}/settings.json (100%)
 delete mode 100644 Optimierungsalgorithmen/bin/Algorithms.class
 delete mode 100644 Optimierungsalgorithmen/bin/Instance.class
 delete mode 100644 Optimierungsalgorithmen/bin/cvrp_ls.class
 delete mode 100644 Optimierungsalgorithmen/src/cvrp_ls.java
 create mode 100644 bin/Algorithms.class
 create mode 100644 bin/Instance.class
 rename {Optimierungsalgorithmen/bin => bin}/Node.class (100%)
 rename {Optimierungsalgorithmen/bin => bin}/Solution.class (100%)
 create mode 100644 bin/cvrp_ls.class
 rename {Optimierungsalgorithmen/bin => bin}/instances/Loggi-n1001-k31.sol (100%)
 rename {Optimierungsalgorithmen/bin => bin}/instances/Loggi-n1001-k31.vrp (100%)
 rename {Optimierungsalgorithmen/bin => bin}/instances/Loggi-n401-k23.sol (100%)
 rename {Optimierungsalgorithmen/bin => bin}/instances/Loggi-n401-k23.vrp (100%)
 rename {Optimierungsalgorithmen/bin => bin}/instances/Loggi-n501-k24.sol (100%)
 rename {Optimierungsalgorithmen/bin => bin}/instances/Loggi-n501-k24.vrp (100%)
 rename {Optimierungsalgorithmen/bin => bin}/instances/Loggi-n601-k19.sol (100%)
 rename {Optimierungsalgorithmen/bin => bin}/instances/Loggi-n601-k19.vrp (100%)
 rename {Optimierungsalgorithmen/bin => bin}/instances/Loggi-n601-k42.sol (100%)
 rename {Optimierungsalgorithmen/bin => bin}/instances/Loggi-n601-k42.vrp (100%)
 rename {Optimierungsalgorithmen/bin => bin}/instances/Loggi-n901-k42.sol (100%)
 rename {Optimierungsalgorithmen/bin => bin}/instances/Loggi-n901-k42.vrp (100%)
 rename {Optimierungsalgorithmen/bin => bin}/instances/ORTEC-n242-k12.sol (100%)
 rename {Optimierungsalgorithmen/bin => bin}/instances/ORTEC-n242-k12.vrp (100%)
 rename {Optimierungsalgorithmen/bin => bin}/instances/ORTEC-n323-k21.sol (100%)
 rename {Optimierungsalgorithmen/bin => bin}/instances/ORTEC-n323-k21.vrp (100%)
 rename {Optimierungsalgorithmen/bin => bin}/instances/ORTEC-n405-k18.sol (100%)
 rename {Optimierungsalgorithmen/bin => bin}/instances/ORTEC-n405-k18.vrp (100%)
 rename {Optimierungsalgorithmen/bin => bin}/instances/ORTEC-n455-k41.sol (100%)
 rename {Optimierungsalgorithmen/bin => bin}/instances/ORTEC-n455-k41.vrp (100%)
 rename {Optimierungsalgorithmen/bin => bin}/instances/ORTEC-n510-k23.sol (100%)
 rename {Optimierungsalgorithmen/bin => bin}/instances/ORTEC-n510-k23.vrp (100%)
 rename {Optimierungsalgorithmen/bin => bin}/instances/ORTEC-n701-k64.sol (100%)
 rename {Optimierungsalgorithmen/bin => bin}/instances/ORTEC-n701-k64.vrp (100%)
 create mode 100644 bin/manifest.MF
 rename {Optimierungsalgorithmen/src => src}/Algorithms.class (100%)
 rename {Optimierungsalgorithmen/src => src}/Algorithms.java (89%)
 rename {Optimierungsalgorithmen/src => src}/Instance.class (100%)
 rename {Optimierungsalgorithmen/src => src}/Instance.java (85%)
 rename {Optimierungsalgorithmen/src => src}/Node.class (100%)
 rename {Optimierungsalgorithmen/src => src}/Node.java (100%)
 rename {Optimierungsalgorithmen/src => src}/Solution.class (100%)
 rename {Optimierungsalgorithmen/src => src}/Solution.java (100%)
 rename {Optimierungsalgorithmen/src => src}/cvrp_ls.class (100%)
 create mode 100644 src/cvrp_ls.java
 rename {Optimierungsalgorithmen/src => src}/instances/Loggi-n1001-k31.sol (100%)
 rename {Optimierungsalgorithmen/src => src}/instances/Loggi-n1001-k31.vrp (100%)
 rename {Optimierungsalgorithmen/src => src}/instances/Loggi-n401-k23.sol (100%)
 rename {Optimierungsalgorithmen/src => src}/instances/Loggi-n401-k23.vrp (100%)
 rename {Optimierungsalgorithmen/src => src}/instances/Loggi-n501-k24.sol (100%)
 rename {Optimierungsalgorithmen/src => src}/instances/Loggi-n501-k24.vrp (100%)
 rename {Optimierungsalgorithmen/src => src}/instances/Loggi-n601-k19.sol (100%)
 rename {Optimierungsalgorithmen/src => src}/instances/Loggi-n601-k19.vrp (100%)
 rename {Optimierungsalgorithmen/src => src}/instances/Loggi-n601-k42.sol (100%)
 rename {Optimierungsalgorithmen/src => src}/instances/Loggi-n601-k42.vrp (100%)
 rename {Optimierungsalgorithmen/src => src}/instances/Loggi-n901-k42.sol (100%)
 rename {Optimierungsalgorithmen/src => src}/instances/Loggi-n901-k42.vrp (100%)
 rename {Optimierungsalgorithmen/src => src}/instances/ORTEC-n242-k12.sol (100%)
 rename {Optimierungsalgorithmen/src => src}/instances/ORTEC-n242-k12.vrp (100%)
 rename {Optimierungsalgorithmen/src => src}/instances/ORTEC-n323-k21.sol (100%)
 rename {Optimierungsalgorithmen/src => src}/instances/ORTEC-n323-k21.vrp (100%)
 rename {Optimierungsalgorithmen/src => src}/instances/ORTEC-n405-k18.sol (100%)
 rename {Optimierungsalgorithmen/src => src}/instances/ORTEC-n405-k18.vrp (100%)
 rename {Optimierungsalgorithmen/src => src}/instances/ORTEC-n455-k41.sol (100%)
 rename {Optimierungsalgorithmen/src => src}/instances/ORTEC-n455-k41.vrp (100%)
 rename {Optimierungsalgorithmen/src => src}/instances/ORTEC-n510-k23.sol (100%)
 rename {Optimierungsalgorithmen/src => src}/instances/ORTEC-n510-k23.vrp (100%)
 rename {Optimierungsalgorithmen/src => src}/instances/ORTEC-n701-k64.sol (100%)
 rename {Optimierungsalgorithmen/src => src}/instances/ORTEC-n701-k64.vrp (100%)
 create mode 100644 src/manifest.MF

diff --git a/Optimierungsalgorithmen/.vscode/settings.json b/.vscode/settings.json
similarity index 100%
rename from Optimierungsalgorithmen/.vscode/settings.json
rename to .vscode/settings.json
diff --git a/Optimierungsalgorithmen/bin/Algorithms.class b/Optimierungsalgorithmen/bin/Algorithms.class
deleted file mode 100644
index 9f216ddfa026b65f1f982a14bcd6c12fb3247c9b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5714
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
NM*VAsw+!zYBmq88S&9Gv

diff --git a/Optimierungsalgorithmen/bin/Instance.class b/Optimierungsalgorithmen/bin/Instance.class
deleted file mode 100644
index 5209489f54dc9ad1c8245217d194df56a2ae697f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3260
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
FJpg&D;K%>~

diff --git a/Optimierungsalgorithmen/bin/cvrp_ls.class b/Optimierungsalgorithmen/bin/cvrp_ls.class
deleted file mode 100644
index 9cb8bab36724165f72b54e5aefe13b99c7ab7ad2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1641
zcmX^0Z`VEs1_oP(1a<}{Mh5oevZ8|coMLtc7Dfhvti-ZJ{hY+SbbbG%tkmQZMg}&U
z%)HDJJ4Oa(4b3n{1{UZ1lvFMTW(H0k237_(Mh1SL%)C^;(%hufqL9R-oK!{zA)ox@
z#GJ6iqD&AUD#%ijky*^h!07|E&YF>dB{wlMkC8!4BiaXHZE#6ZW?s5A$SN+^isaOS
zlFa<PVs-{0Mh0PoD!2>>g9sx713QBlBLjzLUU5lcUUDiIgD8Up$aRv845Av?%w}hh
zW@O-U%t_BL$}GvqE#_j7V&DW3ay$(33<``4vgxULsYQt;sh)Y6C7Fpi!TC9*AcwdY
zrKYA-g52x_v&~x52PSLH$)Lob!p@+K5|F`_#U-h^JPfJ~YK#ob`K2X{45AQ6W#;P#
z6lLa>1eX-0CgxgmFlaC`a6_z6NXgGj<zmoc&|zoLhIt)TJr9E}gCrvZdjZIZoIH^8
z^?4W!7z`O1xN|@;5S*G=l$-%}EZl`ijs*piF%N?YgDE2edwOb#Ut(@5BZG*BCd6^z
zL;#HqE(UW3OLhheMg|U;NjwZz4Au~h&iTb9;N;;c1WH#t40a6mj11zriP@>n`FY8S
zCE=MR8P56O*eNMyWYEA8C!U^ItYu_iNi0e)W@He?l0q06c+xU+QbB1A6f>Y?he#h#
zcQZ0@WP+_tPGw}^LPQxO16LwE@);R;d=N>&nvsDYl;Dvf9i$cJZEHpbVWhx?2{SVA
z2A3ozXZt1=fYUoWgCjeGA8IlHCu~LruHgLAqU2P!Oi)(gf#wE1kkc6%1f25oONvX1
z5(|7&OEU6Pin$nq8A90^LKqoTKq??PGc&I&KRZ<);zvjbyCo)<<QG+ff<BCqVFq#l
zLsdfz^hnH0$w@6%@yXB6E-kRejA<kh6pbO31*uq+BgYG*z_3P+N2n3bi8(pJnI);#
z{A>(C91M|+3~Y>QV93DZnU|MZ<eZaOT%20W&Je@Mpo-y9Y))rqh+|}s!>^Q)feqqM
z21N!&24)5jU}9hd6<Z994D1XH4EhX=42%p646It)88|jFFfcGNa4|42uz>}c8Mql3
z7<j;JRt6phUIqpRP6j>(eg-B60R{#J76wKJL9j9J7+4tC7#J9Qg@k>yn2mgvGqCvX
zW)O|k-p(NIyPH8Oayx^JpRUd}23aeXO$>@c>f0DJbtPH0G3Z&bZemc>*~VZ5;+aXZ
zZeuXp#bCq0u#G`;BiPOC3|tI?49s9>X@N;r24)6!26hGx25ts^1`!591{nq+24x0e
z25km024e<E1|J3~u+!}zj$&|NaAaU$U}o@QaAI&~U}O+suw-yyaAja(kYO-naAR<1
zU}jKe&|>gl@MK_NFlLZq@M7>}U}f-TU|<ktVEWI%#lXbQ;KR<~%fQIaAP6$b9~@Qz
i41o*`3>*xM4B-rn3=s@b3=9lh42%rX46zLH43YpKT9zLG

diff --git a/Optimierungsalgorithmen/src/cvrp_ls.java b/Optimierungsalgorithmen/src/cvrp_ls.java
deleted file mode 100644
index bef95fe..0000000
--- a/Optimierungsalgorithmen/src/cvrp_ls.java
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-public class cvrp_ls {
-    public static void main(String[] args) throws Exception {
-        String fileLocation = "";
-        try {
-            fileLocation = args[0];
-        } catch (Exception e) {
-            
-        }
-     
-            
-  
-        //create new instance from file
-        Instance instance = new Instance(fileLocation);
-        //create initial Greedy Solution
-        Algorithms algorithms = new Algorithms();
-        Solution initialSolution = algorithms.generateInitialSolutionGreedy(instance);
-        System.out.println("Greedy done");
-
-        //optimize with local search
-        Solution localSearchSolution = algorithms.localSearch(initialSolution);
-
-        //print results
-        System.out.println(instance.getName()+"&"+initialSolution.getCost()+"&"+localSearchSolution.getCost()+"&");
-    }
-}
diff --git a/README.md b/README.md
index 4abc2ec..4869a8f 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@
 
 ## Getting started
 
-Im src-Ordner liegen die Quelldateien und kompilierten Dateien. Aufruf erfolgt durch java cvrp_ls *absolutePath*. Wobei der *absolutePath* auf eine .vrp Datei mit 
+Im src-Ordner liegen die Quelldateien und kompilierten Dateien. Aufruf erfolgt durch "java cvrp_ls *absolutePath*". Wobei der *absolutePath* auf eine .vrp Datei mit 
 (TYPE : CVRP,
 EDGE_WEIGHT_TYPE : EXPLICIT,
 EDGE_WEIGHT_FORMAT : LOWER_ROW)
diff --git a/bin/Algorithms.class b/bin/Algorithms.class
new file mode 100644
index 0000000000000000000000000000000000000000..8a02c8326f7828299319a119a016f9ad4dec6227
GIT binary patch
literal 6166
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
E0O(D{TL1t6

literal 0
HcmV?d00001

diff --git a/bin/Instance.class b/bin/Instance.class
new file mode 100644
index 0000000000000000000000000000000000000000..8845f4076d27d4ca304ae85e83cfcec3ebd35e7e
GIT binary patch
literal 3608
zcmX^0Z`VEs1_oP(UF-}@j0_x}dBr7(dC95l3@nTc0$GV=iTXK-dFlH8Nm;4MC5#Nb
zB}Jvl+0KatiOHEIm5dCGo{S8fDVe#cdBvIed5jD!d5O8Hj0{3P2(7^-MVWc&){G3?
zsVV8H;i;MF870Mx49wBdo{S8vdHE@+#f%K>(LR3pDXG?s46G@s1^Fe63~Vp~?)-w1
z%-qBr=lo)juuW!OW{DjmgQy0k9hzZ`3@pz1DXClx%nYJD41x?|j10^gnqlk=5{wKy
zU^ivv>$_#<q;fHcGf06{2(dHBFfs^&<w{F3bM%9g6Z7&?i?|r18RS3;<QW+Rp>{#_
zT5E=ZWEFWBlo*s5894G%D@uGa^HLcZL^L!pUB$tm%E-Xt=jiLo#h}ih$<CmG610%;
z;bG8X&}L-dNY2kINzBYEW@M0tS_%$-=ZwUn;MBs>)V$<WYt1MQ23<x5c94+@Rtg*p
z`iu+=AhQj57>pQ<85!7%QVVhtlT#TPTyPqK<W5w>kt85av*u)AWH9An;9%h7U@&K7
z;B@iyb@dDO^!MXnuw-Q5fpZnC6u20y8En}ZY+xY@cD!d^Nosm(5f6hMgFPbyds$*m
zX{vu3BZE4!<DhmShaXg*HONp$9tI}{XGR8&%)F8?kOAO`^#nQ1m4|_yfsKQ~osogV
z*)hP;*)t@PgTa%Lfg8qCuu=di^yXn;1u67pWDs_Bad(XmclC7l2#F7Nbq?|L_hV<^
z2B`|*Vc=rm=3oe7WMEVPg=z>7LnuQSBLi!3K~81~4rfPW1{()M1S5lxpTCQ1ytBW5
zkPFNnkeN|D4ABfRj0|k4g{6r(#c0VHlH05`qu3eZKuIS*B^Bhd1Re$+23{_PScW7}
z!c1mlut5$%Sa2b^1dotr7zaZtBLkm{tFNOUlG|b#(s>v%7%~|dIEzzDTvBrr^HLZY
z#IRWe$_DBT**pw6plrZWQk0p?!H~zu!0X}~;13U0kb4Vw7z#mokppaGL4FCyJH<Q<
zd<^^?45f?=OuB}k997Q4P{B~i$iSVESnLPSRLmNhQ6SlB9)=o_A*{(c`NgT640Q|*
z><sm&d8x9vBsG_Zp^>49k%2kCw1kmC6cQYn`T7AxnRz9_B}J);xz-#EEsP8@j(G~H
zMMe2V3i-*&rA0-lDGG@t3YobD`9&pqTnudt9qbJ4j10oyvH{fq9)?Z^Aw~xF0+5+G
zd0Y(L4880OJ&X*pFvXxk#xK9bEx$A`#kC?iwV)(3KaYo@599-Wu(sfm#N_OdqQvA>
z4u%Pg3@mzOMFkuTlR&KE{2UI3DWJm4KR5&wR?~PG1Q^)Z8D_wo1I}1*a~T=<K?RUs
zX>L+#QAlD^4!8`?PfpAUODxI+@u7k&B^jB;j0{{pu!7#2k%1>IGbhz2KRFTPLPiD_
z5SNjG4<2qHpI9?8uopuLMn(o<h!k>ZY0b#Ml9E`G$jBf7D&@;Tr931@7c(*lW62zh
z42+qK3|ye%-#I_OD5aQ@fh`a0e7N~wFTzqVBLib9JTk#DaL-#aGRQ+*1TCL2g58>t
zffpRwzKI3kfM91>!pOj$o?7AuuCDmfQ%n4jYZ;#O)Djm&ttOD3S`va<@qx6sBG+fE
z8k*o5jRRyVq*CM5(1cfOAYm6s&Bmdj=>x6oxPtRbi;`18A<W3Y3yTvyP#R)TWME`q
zW?*1oXJ7&qTMP^gOrUZOOmi@Bf@v-WZZOTmzze4N82G`o00SEX0|N&GBZDA=5CbEF
zFarZiIRgg+I|Bogoz`{+k=+d9k=olCBz<=?NJr{yXOQ(<&bVH88-s!sizJJX$~FeI
znGC{Ok}N_xLVDX647M_uENASOWDzn0%SeJ`EWk257_7E2IBaEbS<aX*$s**2koQ25
z_gc>AFUcb01CnQSh1jH}wS~cjB>_SnW$<I#%HY48!B&z*C~zA?uoWw_8QXFO1+6U%
z{*tWwSQ3mx*;o=JSw-25AeQ>KurZ3VNwV%+`2QZnKuH#%@NEo{Gym_0@Szs$Wr*F%
z5Wk$k25zz>D>KLtD>khy4Dpg|+ZY^nGsH$pvPrVCfW#$PSwYlxhQwfqL6R&&DPV&S
zK={iU%<-6I1T|(GLmEsuhZXB`1_4QyZ46mLxnPqH!KC!SqB|I@tXRRWVco{yV6=@P
zALRIWNic6KLlH!^B#Tf9Sob;IZ470z{sri6W2jorAmF=+p;oAQ8$+wkHij;6+zRyz
zP29#{fEvXNns8$#gCc?f9Fdd35w(pW3lgkb8K!~_|9=ge;Tsv48QmC*7)u$ZGq5mT
zV7$!G&G>*xm&t&kn}L~OCIbV*D+VhD1_l8J76xGkUIq~cF$PfvNd_?nc?NL?O9lys
zNCruUN(L#0W(H}7P6io<xeT%l3mD`WRx-#ltY=VQILRQ-aD_pM;TD4|!xIJ-hF1)#
z4Br{l7=AIRGcq%1F!C^HGU_sDF&Z<dG1@ZdFgi2nGP*GsF#0nXGDa{MG3GEBGZrzJ
zFqSizGFCC@GPW~VGWIf9F-~BxWt_!e$GDuqo^dOK1LJN6E5@S?qKs!4To^AfxH4X0
zaAUl~;LiAf!He+&gE!+(1|P;h48BZE41P>X3_eVn3;|5K41r9B3_(nm48csc4519O
z7#J9~F$jTj6~k<XISio8XU8y?0aRr3G9G4_$1tCPi9w8U7sCREg$&FL@{G$E7BO%#
zurRD-Fl1QFu!Mn?VGV-@!%_w|1~x`!1_Op=ATdTB26cwz3@aGe82uTPp<)pXQc$sS
z24;qp467Je8D}vlg2h-FuQ2d1tYlctz{L20!4_gK<4*<?h`mfq3<?l?nG9j-7}hW_
zFeEdG|7Vb7U}0xqWM@!kXAoy+kY-@`!ywPjpe`@3_LqT=onbAb%ufbhc?+RDc82LJ
zJRDlT7&!kk@G>w#G=X$>^ZaFyhUiwskYZqDSjV6YDTEmG85kKD85kHqN!?@vD7e6B
zh7Bwj0S-?dFq;(`o{S9Z8Jw|bo(gh46O!g=teQ7q)$D?<IS#AljaW5%p=(aWs(BN`
rW-QM3NB46IR?S-&wqns7kFGf#tLAMC+p%aaLf4#yRr3yToa_Vuv!yD(

literal 0
HcmV?d00001

diff --git a/Optimierungsalgorithmen/bin/Node.class b/bin/Node.class
similarity index 100%
rename from Optimierungsalgorithmen/bin/Node.class
rename to bin/Node.class
diff --git a/Optimierungsalgorithmen/bin/Solution.class b/bin/Solution.class
similarity index 100%
rename from Optimierungsalgorithmen/bin/Solution.class
rename to bin/Solution.class
diff --git a/bin/cvrp_ls.class b/bin/cvrp_ls.class
new file mode 100644
index 0000000000000000000000000000000000000000..4daff393d4b3346ed63729baf9cae5c3fe3ce26c
GIT binary patch
literal 2000
zcmX^0Z`VEs1_oP(B6bEQMh5oevZ8|coMLtc7Dfhvti-ZJ{hY+SbbbG%tkmQZMg}&U
z%)HDJJ4Oa(4b3n{1{UZ1lvFMTW(H0k237_(Mh1SL%)C^;(%hufqL9R-oK!{zA)ox@
z#GJ6iqD&AUD#%ijky*^h!07|E&YF>dB{wlMkC8!4BiaXHZE#6ZW?s5A$SN+^isaOS
zlFa<PVs-{0Mh0PoD!2>>g9sx70~doBg9JN+I3t4~LXBr$Nosm(5f6hTgA^kJds$*m
zX{vu3BZImI7VD6Np!%#qhRX0T$TG+=GH_((m4tx|00)C7JA(ov1BYi`aY<rcaw->t
zJcAM_G?W<`M6nqj#?GM1$iU^8lb&CcS(1@k%)y|}$iS9fl$x4S$;F_;padecco?)9
zbQl=~(o^$NixNvxgY$DrLB0nCkq^u=YfT@RxHTt(9)kfpgFZ^U1y>fAq~`K47%~_!
zGBD?tmM}7iLVTB*uOCp9nO72AQk0sQYt6x6!pOkw4t9h>N`77{7lRpt1v`T|ETmD@
z^DtO4C^Is!7l4e&$pg9A8suUdu=C(<LUJAlgB>G7ILzS+d5O8H3Tg_@`Nbs)pd^)<
zn4<vG1{2ROD9OyttV&H$D293-MJ6!^E)EKG2Ob7T1}8=a_Vm;ezr@^BMg|cLO^9E?
zNf?@zxENd*+}Igh85uZW_VF;dgQ69r5#%0_VV*n;ULY~P^wbi6kTVi<KvF^s3=BRz
z489D0j11zriP@>n`FY8SCE=MR8P56O1W;1U$e@WO+C4ozu{eg2fhDmhy_k_f7)z>W
zWZ+55%t;01A4tRtVfu!Vfin@7kQf<+a}z6qO7luGb5lL@f>V?8^HPc#85ljmNfwek
z85y_`sfUq)#|M!Ptr;2kAgK@*Fd)S+wlyOITXIHzacUkTgCIO+V6u!1yul@j$=SY%
z1>h{s&Je)Pkbs&L!FidHfh#z_v?w{%EfZ8a@IVUyJy1?%WDs!5&o3!1DM~ExO)bgD
zPbubNNM%T8XGmjYPywlc6h@hOW%=2u`j7~P#DH63a!GzsB`9h#7#U_DM*vhc#6XY4
zyp){OVilkK{Or;KYs>&e5<$@zQdy9SMLBY`LCQ#L<Y<N(;hdP06P#I+YR%8akix-`
z&B(yZsGz0*$BYa-o_TqxMb0^i#l@+`><oE~45}FZ#pVNch5|+gIs8f)8Q37+Wl&^b
zWMF0h0VW1UP=U?B$iU9Pz@X2-$iT?Jz`&}toq=N`0|NsS0~Z4W0~=V7nSq;ufq@6i
zW@X@E;ALQ7;AG%q;AdcB5MW?nU}0cn5Cj>+7|p=Sz{$YC&>$r2BP8t0WT(Y!<fFx6
z<g3MMw1Yu(8-ujnat2l_mfZ~Uk=olC6hSPNNFlZD3>sFflB|*}+ZZ&h*fuff3K?%>
zFx}0d5~%}{VwYr>WZTAIWyJxKvfajDx`{y-q}U!L>@3N#jlmhj_1MMW&A_mY!E_@7
zBLfG66oV{-AOkblCr)6OvNA9;uraVPurqKla5C^Pa4`rla5G3T@G{6Vh%#t0h%=Zl
zNHEwkNHVxG$T0Xb$TCDQC@>^2C^FPDD1k#E2I4;ke}(`C1_ow^T82P|AO=PTHijyO
zV1^(DCI$|M3WgAdPzGiOO@?rWFotjj76uar9|m=X2nJRLTLx!_NQNi|HU@tNLxyOE
z2nKeB2nG#?7=|bY4u)6;1_p5krvD7G3@q#naqJB7><saY42<jyf}nUy1V>B~Lox#c
d0|x^mLnZ?wLl#301E|JhWXNU6XDDQl1OVfP@uUC%

literal 0
HcmV?d00001

diff --git a/Optimierungsalgorithmen/bin/instances/Loggi-n1001-k31.sol b/bin/instances/Loggi-n1001-k31.sol
similarity index 100%
rename from Optimierungsalgorithmen/bin/instances/Loggi-n1001-k31.sol
rename to bin/instances/Loggi-n1001-k31.sol
diff --git a/Optimierungsalgorithmen/bin/instances/Loggi-n1001-k31.vrp b/bin/instances/Loggi-n1001-k31.vrp
similarity index 100%
rename from Optimierungsalgorithmen/bin/instances/Loggi-n1001-k31.vrp
rename to bin/instances/Loggi-n1001-k31.vrp
diff --git a/Optimierungsalgorithmen/bin/instances/Loggi-n401-k23.sol b/bin/instances/Loggi-n401-k23.sol
similarity index 100%
rename from Optimierungsalgorithmen/bin/instances/Loggi-n401-k23.sol
rename to bin/instances/Loggi-n401-k23.sol
diff --git a/Optimierungsalgorithmen/bin/instances/Loggi-n401-k23.vrp b/bin/instances/Loggi-n401-k23.vrp
similarity index 100%
rename from Optimierungsalgorithmen/bin/instances/Loggi-n401-k23.vrp
rename to bin/instances/Loggi-n401-k23.vrp
diff --git a/Optimierungsalgorithmen/bin/instances/Loggi-n501-k24.sol b/bin/instances/Loggi-n501-k24.sol
similarity index 100%
rename from Optimierungsalgorithmen/bin/instances/Loggi-n501-k24.sol
rename to bin/instances/Loggi-n501-k24.sol
diff --git a/Optimierungsalgorithmen/bin/instances/Loggi-n501-k24.vrp b/bin/instances/Loggi-n501-k24.vrp
similarity index 100%
rename from Optimierungsalgorithmen/bin/instances/Loggi-n501-k24.vrp
rename to bin/instances/Loggi-n501-k24.vrp
diff --git a/Optimierungsalgorithmen/bin/instances/Loggi-n601-k19.sol b/bin/instances/Loggi-n601-k19.sol
similarity index 100%
rename from Optimierungsalgorithmen/bin/instances/Loggi-n601-k19.sol
rename to bin/instances/Loggi-n601-k19.sol
diff --git a/Optimierungsalgorithmen/bin/instances/Loggi-n601-k19.vrp b/bin/instances/Loggi-n601-k19.vrp
similarity index 100%
rename from Optimierungsalgorithmen/bin/instances/Loggi-n601-k19.vrp
rename to bin/instances/Loggi-n601-k19.vrp
diff --git a/Optimierungsalgorithmen/bin/instances/Loggi-n601-k42.sol b/bin/instances/Loggi-n601-k42.sol
similarity index 100%
rename from Optimierungsalgorithmen/bin/instances/Loggi-n601-k42.sol
rename to bin/instances/Loggi-n601-k42.sol
diff --git a/Optimierungsalgorithmen/bin/instances/Loggi-n601-k42.vrp b/bin/instances/Loggi-n601-k42.vrp
similarity index 100%
rename from Optimierungsalgorithmen/bin/instances/Loggi-n601-k42.vrp
rename to bin/instances/Loggi-n601-k42.vrp
diff --git a/Optimierungsalgorithmen/bin/instances/Loggi-n901-k42.sol b/bin/instances/Loggi-n901-k42.sol
similarity index 100%
rename from Optimierungsalgorithmen/bin/instances/Loggi-n901-k42.sol
rename to bin/instances/Loggi-n901-k42.sol
diff --git a/Optimierungsalgorithmen/bin/instances/Loggi-n901-k42.vrp b/bin/instances/Loggi-n901-k42.vrp
similarity index 100%
rename from Optimierungsalgorithmen/bin/instances/Loggi-n901-k42.vrp
rename to bin/instances/Loggi-n901-k42.vrp
diff --git a/Optimierungsalgorithmen/bin/instances/ORTEC-n242-k12.sol b/bin/instances/ORTEC-n242-k12.sol
similarity index 100%
rename from Optimierungsalgorithmen/bin/instances/ORTEC-n242-k12.sol
rename to bin/instances/ORTEC-n242-k12.sol
diff --git a/Optimierungsalgorithmen/bin/instances/ORTEC-n242-k12.vrp b/bin/instances/ORTEC-n242-k12.vrp
similarity index 100%
rename from Optimierungsalgorithmen/bin/instances/ORTEC-n242-k12.vrp
rename to bin/instances/ORTEC-n242-k12.vrp
diff --git a/Optimierungsalgorithmen/bin/instances/ORTEC-n323-k21.sol b/bin/instances/ORTEC-n323-k21.sol
similarity index 100%
rename from Optimierungsalgorithmen/bin/instances/ORTEC-n323-k21.sol
rename to bin/instances/ORTEC-n323-k21.sol
diff --git a/Optimierungsalgorithmen/bin/instances/ORTEC-n323-k21.vrp b/bin/instances/ORTEC-n323-k21.vrp
similarity index 100%
rename from Optimierungsalgorithmen/bin/instances/ORTEC-n323-k21.vrp
rename to bin/instances/ORTEC-n323-k21.vrp
diff --git a/Optimierungsalgorithmen/bin/instances/ORTEC-n405-k18.sol b/bin/instances/ORTEC-n405-k18.sol
similarity index 100%
rename from Optimierungsalgorithmen/bin/instances/ORTEC-n405-k18.sol
rename to bin/instances/ORTEC-n405-k18.sol
diff --git a/Optimierungsalgorithmen/bin/instances/ORTEC-n405-k18.vrp b/bin/instances/ORTEC-n405-k18.vrp
similarity index 100%
rename from Optimierungsalgorithmen/bin/instances/ORTEC-n405-k18.vrp
rename to bin/instances/ORTEC-n405-k18.vrp
diff --git a/Optimierungsalgorithmen/bin/instances/ORTEC-n455-k41.sol b/bin/instances/ORTEC-n455-k41.sol
similarity index 100%
rename from Optimierungsalgorithmen/bin/instances/ORTEC-n455-k41.sol
rename to bin/instances/ORTEC-n455-k41.sol
diff --git a/Optimierungsalgorithmen/bin/instances/ORTEC-n455-k41.vrp b/bin/instances/ORTEC-n455-k41.vrp
similarity index 100%
rename from Optimierungsalgorithmen/bin/instances/ORTEC-n455-k41.vrp
rename to bin/instances/ORTEC-n455-k41.vrp
diff --git a/Optimierungsalgorithmen/bin/instances/ORTEC-n510-k23.sol b/bin/instances/ORTEC-n510-k23.sol
similarity index 100%
rename from Optimierungsalgorithmen/bin/instances/ORTEC-n510-k23.sol
rename to bin/instances/ORTEC-n510-k23.sol
diff --git a/Optimierungsalgorithmen/bin/instances/ORTEC-n510-k23.vrp b/bin/instances/ORTEC-n510-k23.vrp
similarity index 100%
rename from Optimierungsalgorithmen/bin/instances/ORTEC-n510-k23.vrp
rename to bin/instances/ORTEC-n510-k23.vrp
diff --git a/Optimierungsalgorithmen/bin/instances/ORTEC-n701-k64.sol b/bin/instances/ORTEC-n701-k64.sol
similarity index 100%
rename from Optimierungsalgorithmen/bin/instances/ORTEC-n701-k64.sol
rename to bin/instances/ORTEC-n701-k64.sol
diff --git a/Optimierungsalgorithmen/bin/instances/ORTEC-n701-k64.vrp b/bin/instances/ORTEC-n701-k64.vrp
similarity index 100%
rename from Optimierungsalgorithmen/bin/instances/ORTEC-n701-k64.vrp
rename to bin/instances/ORTEC-n701-k64.vrp
diff --git a/bin/manifest.MF b/bin/manifest.MF
new file mode 100644
index 0000000..eb5faf1
--- /dev/null
+++ b/bin/manifest.MF
@@ -0,0 +1 @@
+Main-Class: cvrp_ls
diff --git a/Optimierungsalgorithmen/src/Algorithms.class b/src/Algorithms.class
similarity index 100%
rename from Optimierungsalgorithmen/src/Algorithms.class
rename to src/Algorithms.class
diff --git a/Optimierungsalgorithmen/src/Algorithms.java b/src/Algorithms.java
similarity index 89%
rename from Optimierungsalgorithmen/src/Algorithms.java
rename to src/Algorithms.java
index 2466ae5..4e77456 100644
--- a/Optimierungsalgorithmen/src/Algorithms.java
+++ b/src/Algorithms.java
@@ -2,7 +2,31 @@ import java.util.ArrayList;
 import java.util.Arrays;
 
 public class Algorithms {
-    public Solution generateInitialSolutionGreedy(Instance instance){
+
+    String algorithmType;
+
+    public Algorithms(String algorithmType){
+        this.algorithmType = algorithmType;
+        if(algorithmType == null || algorithmType.equals("")){
+            this.algorithmType = "primitive_local_search";
+        }
+    }
+
+    public Solution generateSolution(Instance instance){
+        return generateInitialSolutionGreedy(instance); 
+    }
+
+    public Solution generateSolution(Solution solution){
+        switch (this.algorithmType) {
+            case "primitive_local_search":
+                return localSearch(solution);
+            default:
+                return null;
+        }
+    }
+
+    //primitive greedy Approach
+    private Solution generateInitialSolutionGreedy(Instance instance){
         Solution solution = new Solution(instance);
         ArrayList<ArrayList<Node>> tours = new ArrayList<ArrayList<Node>>();
         ArrayList<Integer> neededNodes = new ArrayList<Integer>();
@@ -66,7 +90,7 @@ public class Algorithms {
     }
 
     //local Search 
-    public Solution localSearch(Solution solution){
+    private Solution localSearch(Solution solution){
         Solution currentBestSolution = solution;
         int[] state = {2,0,0,0};
         Solution possibleBetterSolution = getOtherNeighbor(state, currentBestSolution);
diff --git a/Optimierungsalgorithmen/src/Instance.class b/src/Instance.class
similarity index 100%
rename from Optimierungsalgorithmen/src/Instance.class
rename to src/Instance.class
diff --git a/Optimierungsalgorithmen/src/Instance.java b/src/Instance.java
similarity index 85%
rename from Optimierungsalgorithmen/src/Instance.java
rename to src/Instance.java
index 967acb5..784d940 100644
--- a/Optimierungsalgorithmen/src/Instance.java
+++ b/src/Instance.java
@@ -11,6 +11,7 @@ public class Instance {
     private int[][] edgeWeights;
     private Node[] nodes;
     private Node depot;
+    private int optimalCost;
 
     public  Instance(String fileLocation){
         //import instance of cvrp from file at fileLocation, lower Marix of distances
@@ -69,11 +70,26 @@ public class Instance {
             System.out.println("An error occurred at import.");
             e.printStackTrace();
         }
+        try {
+            File file = new File(fileLocation.replace(".vrp", ".sol"));
+            Scanner scanner = new Scanner(file);
+            while (scanner.hasNextLine()) {
+                String data = scanner.nextLine();
+                if(data.contains("COST")) this.optimalCost = Integer.valueOf(data.replace("COST", "").trim());
+              }
+              scanner.close();
+        } catch (FileNotFoundException e) {
+            System.out.println("An error occurred at import.");
+            e.printStackTrace();
+        }
     }
 
     public String getName(){
         return this.name;
     }
+    public int getOptimalCost(){
+        return this.optimalCost;
+    }
     public int getDimension(){
         return this.dimension;
     }
diff --git a/Optimierungsalgorithmen/src/Node.class b/src/Node.class
similarity index 100%
rename from Optimierungsalgorithmen/src/Node.class
rename to src/Node.class
diff --git a/Optimierungsalgorithmen/src/Node.java b/src/Node.java
similarity index 100%
rename from Optimierungsalgorithmen/src/Node.java
rename to src/Node.java
diff --git a/Optimierungsalgorithmen/src/Solution.class b/src/Solution.class
similarity index 100%
rename from Optimierungsalgorithmen/src/Solution.class
rename to src/Solution.class
diff --git a/Optimierungsalgorithmen/src/Solution.java b/src/Solution.java
similarity index 100%
rename from Optimierungsalgorithmen/src/Solution.java
rename to src/Solution.java
diff --git a/Optimierungsalgorithmen/src/cvrp_ls.class b/src/cvrp_ls.class
similarity index 100%
rename from Optimierungsalgorithmen/src/cvrp_ls.class
rename to src/cvrp_ls.class
diff --git a/src/cvrp_ls.java b/src/cvrp_ls.java
new file mode 100644
index 0000000..0a12a27
--- /dev/null
+++ b/src/cvrp_ls.java
@@ -0,0 +1,35 @@
+
+
+public class cvrp_ls {
+    public static void main(String[] args) throws Exception {
+        String fileLocation = "";
+        String algorithm ="";
+        int maxRuntimeInSeconds = -1;
+        try {
+            fileLocation = args[0];
+            algorithm = args[1];
+            maxRuntimeInSeconds = Integer.valueOf(args[2]);
+
+        } catch (Exception e) {
+            
+        }
+
+
+            
+  
+        //create new instance from file
+        Instance instance = new Instance(fileLocation);
+        //create initial Greedy Solution
+        Algorithms greedy = new Algorithms("greedy");
+        Solution greedySolution = greedy.generateSolution(instance);
+        System.out.println("Greedy done");
+
+        //optimize with chosen algorithm
+        Algorithms chosen = new Algorithms(algorithm);
+        Solution optimizedSolution = chosen.generateSolution(greedySolution);
+
+        //print results
+        System.out.println("Instance name"+" & "+"Cost initial Solution"+" & "+"Cost optimized solution"+" & " + "Cost optimal solution");
+        System.out.println(instance.getName()+" & "+greedySolution.getCost()+" & "+optimizedSolution.getCost()+" & "+instance.getOptimalCost());
+    }
+}
diff --git a/Optimierungsalgorithmen/src/instances/Loggi-n1001-k31.sol b/src/instances/Loggi-n1001-k31.sol
similarity index 100%
rename from Optimierungsalgorithmen/src/instances/Loggi-n1001-k31.sol
rename to src/instances/Loggi-n1001-k31.sol
diff --git a/Optimierungsalgorithmen/src/instances/Loggi-n1001-k31.vrp b/src/instances/Loggi-n1001-k31.vrp
similarity index 100%
rename from Optimierungsalgorithmen/src/instances/Loggi-n1001-k31.vrp
rename to src/instances/Loggi-n1001-k31.vrp
diff --git a/Optimierungsalgorithmen/src/instances/Loggi-n401-k23.sol b/src/instances/Loggi-n401-k23.sol
similarity index 100%
rename from Optimierungsalgorithmen/src/instances/Loggi-n401-k23.sol
rename to src/instances/Loggi-n401-k23.sol
diff --git a/Optimierungsalgorithmen/src/instances/Loggi-n401-k23.vrp b/src/instances/Loggi-n401-k23.vrp
similarity index 100%
rename from Optimierungsalgorithmen/src/instances/Loggi-n401-k23.vrp
rename to src/instances/Loggi-n401-k23.vrp
diff --git a/Optimierungsalgorithmen/src/instances/Loggi-n501-k24.sol b/src/instances/Loggi-n501-k24.sol
similarity index 100%
rename from Optimierungsalgorithmen/src/instances/Loggi-n501-k24.sol
rename to src/instances/Loggi-n501-k24.sol
diff --git a/Optimierungsalgorithmen/src/instances/Loggi-n501-k24.vrp b/src/instances/Loggi-n501-k24.vrp
similarity index 100%
rename from Optimierungsalgorithmen/src/instances/Loggi-n501-k24.vrp
rename to src/instances/Loggi-n501-k24.vrp
diff --git a/Optimierungsalgorithmen/src/instances/Loggi-n601-k19.sol b/src/instances/Loggi-n601-k19.sol
similarity index 100%
rename from Optimierungsalgorithmen/src/instances/Loggi-n601-k19.sol
rename to src/instances/Loggi-n601-k19.sol
diff --git a/Optimierungsalgorithmen/src/instances/Loggi-n601-k19.vrp b/src/instances/Loggi-n601-k19.vrp
similarity index 100%
rename from Optimierungsalgorithmen/src/instances/Loggi-n601-k19.vrp
rename to src/instances/Loggi-n601-k19.vrp
diff --git a/Optimierungsalgorithmen/src/instances/Loggi-n601-k42.sol b/src/instances/Loggi-n601-k42.sol
similarity index 100%
rename from Optimierungsalgorithmen/src/instances/Loggi-n601-k42.sol
rename to src/instances/Loggi-n601-k42.sol
diff --git a/Optimierungsalgorithmen/src/instances/Loggi-n601-k42.vrp b/src/instances/Loggi-n601-k42.vrp
similarity index 100%
rename from Optimierungsalgorithmen/src/instances/Loggi-n601-k42.vrp
rename to src/instances/Loggi-n601-k42.vrp
diff --git a/Optimierungsalgorithmen/src/instances/Loggi-n901-k42.sol b/src/instances/Loggi-n901-k42.sol
similarity index 100%
rename from Optimierungsalgorithmen/src/instances/Loggi-n901-k42.sol
rename to src/instances/Loggi-n901-k42.sol
diff --git a/Optimierungsalgorithmen/src/instances/Loggi-n901-k42.vrp b/src/instances/Loggi-n901-k42.vrp
similarity index 100%
rename from Optimierungsalgorithmen/src/instances/Loggi-n901-k42.vrp
rename to src/instances/Loggi-n901-k42.vrp
diff --git a/Optimierungsalgorithmen/src/instances/ORTEC-n242-k12.sol b/src/instances/ORTEC-n242-k12.sol
similarity index 100%
rename from Optimierungsalgorithmen/src/instances/ORTEC-n242-k12.sol
rename to src/instances/ORTEC-n242-k12.sol
diff --git a/Optimierungsalgorithmen/src/instances/ORTEC-n242-k12.vrp b/src/instances/ORTEC-n242-k12.vrp
similarity index 100%
rename from Optimierungsalgorithmen/src/instances/ORTEC-n242-k12.vrp
rename to src/instances/ORTEC-n242-k12.vrp
diff --git a/Optimierungsalgorithmen/src/instances/ORTEC-n323-k21.sol b/src/instances/ORTEC-n323-k21.sol
similarity index 100%
rename from Optimierungsalgorithmen/src/instances/ORTEC-n323-k21.sol
rename to src/instances/ORTEC-n323-k21.sol
diff --git a/Optimierungsalgorithmen/src/instances/ORTEC-n323-k21.vrp b/src/instances/ORTEC-n323-k21.vrp
similarity index 100%
rename from Optimierungsalgorithmen/src/instances/ORTEC-n323-k21.vrp
rename to src/instances/ORTEC-n323-k21.vrp
diff --git a/Optimierungsalgorithmen/src/instances/ORTEC-n405-k18.sol b/src/instances/ORTEC-n405-k18.sol
similarity index 100%
rename from Optimierungsalgorithmen/src/instances/ORTEC-n405-k18.sol
rename to src/instances/ORTEC-n405-k18.sol
diff --git a/Optimierungsalgorithmen/src/instances/ORTEC-n405-k18.vrp b/src/instances/ORTEC-n405-k18.vrp
similarity index 100%
rename from Optimierungsalgorithmen/src/instances/ORTEC-n405-k18.vrp
rename to src/instances/ORTEC-n405-k18.vrp
diff --git a/Optimierungsalgorithmen/src/instances/ORTEC-n455-k41.sol b/src/instances/ORTEC-n455-k41.sol
similarity index 100%
rename from Optimierungsalgorithmen/src/instances/ORTEC-n455-k41.sol
rename to src/instances/ORTEC-n455-k41.sol
diff --git a/Optimierungsalgorithmen/src/instances/ORTEC-n455-k41.vrp b/src/instances/ORTEC-n455-k41.vrp
similarity index 100%
rename from Optimierungsalgorithmen/src/instances/ORTEC-n455-k41.vrp
rename to src/instances/ORTEC-n455-k41.vrp
diff --git a/Optimierungsalgorithmen/src/instances/ORTEC-n510-k23.sol b/src/instances/ORTEC-n510-k23.sol
similarity index 100%
rename from Optimierungsalgorithmen/src/instances/ORTEC-n510-k23.sol
rename to src/instances/ORTEC-n510-k23.sol
diff --git a/Optimierungsalgorithmen/src/instances/ORTEC-n510-k23.vrp b/src/instances/ORTEC-n510-k23.vrp
similarity index 100%
rename from Optimierungsalgorithmen/src/instances/ORTEC-n510-k23.vrp
rename to src/instances/ORTEC-n510-k23.vrp
diff --git a/Optimierungsalgorithmen/src/instances/ORTEC-n701-k64.sol b/src/instances/ORTEC-n701-k64.sol
similarity index 100%
rename from Optimierungsalgorithmen/src/instances/ORTEC-n701-k64.sol
rename to src/instances/ORTEC-n701-k64.sol
diff --git a/Optimierungsalgorithmen/src/instances/ORTEC-n701-k64.vrp b/src/instances/ORTEC-n701-k64.vrp
similarity index 100%
rename from Optimierungsalgorithmen/src/instances/ORTEC-n701-k64.vrp
rename to src/instances/ORTEC-n701-k64.vrp
diff --git a/src/manifest.MF b/src/manifest.MF
new file mode 100644
index 0000000..eb5faf1
--- /dev/null
+++ b/src/manifest.MF
@@ -0,0 +1 @@
+Main-Class: cvrp_ls
-- 
GitLab