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 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 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