From 0b0d1079569a87f549fd5b17138a2ec3c7609774 Mon Sep 17 00:00:00 2001 From: Bensouda Idriss Date: Fri, 19 May 2023 11:38:36 +0200 Subject: [PATCH] VerifVD --- .../shortestpath/DijkstraAlgorithm.java | 18 +++++++++++++----- .../shortestpath/DijkstraAlgorithm.class | Bin 6543 -> 7192 bytes 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/DijkstraAlgorithm.java b/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/DijkstraAlgorithm.java index f6430d8..7ac48d3 100644 --- a/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/DijkstraAlgorithm.java +++ b/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/DijkstraAlgorithm.java @@ -8,6 +8,7 @@ import org.insa.graphs.algorithm.utils.BinaryHeap; import org.insa.graphs.model.Arc; import org.insa.graphs.model.Node; import org.insa.graphs.model.Path; +import org.insa.graphs.model.Point; public class DijkstraAlgorithm extends ShortestPathAlgorithm { @@ -82,10 +83,8 @@ public class DijkstraAlgorithm extends ShortestPathAlgorithm { } } - } - Label dest =List_Label.get(data.getDestination().getId()); - + Label dest =List_Label.get(data.getDestination().getId()); while (dest.getParent() != null){ Arcs.add(dest.getParent()); dest = List_Label.get(dest.getParent().getOrigin().getId()); @@ -98,11 +97,11 @@ public class DijkstraAlgorithm extends ShortestPathAlgorithm { } solutionNodes.add(data.getDestination()); ShortestVerif(solution, solutionNodes, data); - + volDoiseauVerif(data, solution); return solution; } - + //Permet de vérifier si le chemin obtenu par la solution est bien le plus court public void ShortestVerif(ShortestPathSolution solution,ArrayList solutionNodes , ShortestPathData data) { Path p = Path.createShortestPathFromNodes(data.getGraph(), solutionNodes); @@ -112,4 +111,13 @@ public class DijkstraAlgorithm extends ShortestPathAlgorithm { } } + // Permet de vérifier si la distance de la solution est plus long que la distance à vol d'oiseau + public void volDoiseauVerif(ShortestPathData data, ShortestPathSolution solution){ + double distanceV = Point.distance(data.getGraph().get(data.getOrigin().getId()).getPoint(), data.getDestination().getPoint()); + if (distanceV > solution.getPath().getLength()){ + System.out.println("La solution n'est pas réalisable"); + } else { + System.out.println("La solution est réalisable"); + } + } } \ No newline at end of file diff --git a/be-graphes-algos/target/classes/org/insa/graphs/algorithm/shortestpath/DijkstraAlgorithm.class b/be-graphes-algos/target/classes/org/insa/graphs/algorithm/shortestpath/DijkstraAlgorithm.class index ebf886bcd029f37bcc1182e7645df3d2b091efd4..e1ae6fd47eea16e1cbaef8dd17729d81df54dae7 100644 GIT binary patch delta 1492 zcmYjRSxj7I6#mYgeYh}phL!lGi zll8}%mGd`VKLenF8cdJ~&7w4`QnZnMzSkkUtsuNF;{$w1u+7Dz-SJ2w9GV>o&qVf$ zUl|76AguQetVxlaiNq#b zeIr(!BgjO=$SsrM^EGUb>kTaZ29 zX;ZVC_H)8yG-kyavdiS4Tv2PUVt(WHUYiwlR3KxT3JE3NKGCJmFC2Jc)R8HW`V>Jh4hmorGuR?8~8OBoW#j4V%f!1=fbCL2Ck7n*Xbf z5U86_?e&TIY?pY}su-CCQI)u4Z`0Qi{M`OR)h~J+>sYy+j(|bo4miXi$DORlMMt}3 z2h7Ld4(c~ODeu@OV4#4g@V z!G~!CZ~#F(&SytZix*Ib6R5{L8gL4YcneLqh}-ZLT5t{RJP?}*=pZ9H$%QT|MQRKA z&`pi#p*Gw>gXpDu&__GbPvaP%I0k7BL-Z)_qQ}rgPjNF(;$C_a+v#nL(s}Hl%WPl8 z7%gI#q{q0Fjr*i>+%Hx0+Kk=OX6%vrF(C~jtP;obP*nPmkqx9^kOq+h8~;^I(pFr+ zN05*wwc%q{LWdHmo*7(XZM>2npR&)uDr{z5ieY3OvTzw!SkVKVOta>BU&N1*@4bT0 zP{t}Q;R$@sJ_|EHh%fLZtW4o))}`+Xm(AvsUvp|R<5m-v!Gf!d)X!x#DA!h@e6tGW zTZXRPyv_g?7b=}wDfJy+lkh#)1kQ4(f!D68Gy=iX_@PDr8h&{LOQVjzPhq)0pT^BJ z>C$9MQ&wgdNRz_Oy@zebo`KB4xwMYY<~fNr9C?|9(>y3qZuvfLZw#GyFr#Y&pQX5( zCahXFqb4_;EtQ^>u~e;foS=#F$jNC{qB5(mMP28pMYheLWptWwj!*derFMtCFRd`@ z2rwglwxuziru;Oycyp4M)M+Z|_XRZ?hmSr7TZY62CUIhgP~{3C6@xnGMt&#Z#w^eC z9MA7VJhu;H6L(Y{7PSRDv8$XqR%S)@X|v)+Ir+%XoEUdG!<3fMs52|w><_Hq-oUHM e(BMx~P>dD0oz=XPsD^5JRX@}3&@EKoS@0i(pgf}h delta 1018 zcmX|9(E6vuz(c4ppm`by_@#(qMX(owLbHb`44X>F|*Do||#2>}8+(PGhdhO`qB zO-xj2BU&8CdRNcDt=T^6j}v8v0|-AJ@1utbMN{1-*f)wf6s}I z7dOYx-gx^A&?;*jjL>20OV-;?@uvFA-RY}tswi^B)N^24dEsTlM8;}T}k zF2!pduDkrl4O{Oeqw|6*BF1)kjp~G42}{K0ymVVsVvZCGiJPiWVf^*aljbvk-ky2MyNtyk~YZlL5^ZIQr(Iyr4)kJ5gR%p}-YwS`YEn%BZHigTS zjA!>GAC#n>Om-Cy5~T#puIbCk9cE(V8>&u-n4afo)3aLfH8`xMf;FtAjtw->$E`fT zZ5(7h!y0*lMxLUH=QQ^cEljeB*SM1@Hgk$rPSef|9bDut=ICUBE`hrxLbue?BlYyk z?c6I9ZS+Ye+hl<4vWI>-!2NQFoswgh9AiM9W>B7`U5>L!UT3eo%RYIJ{c@HAa$fCO z4$2h{nGg?|QXV!9WXv6UckqbmZp zXR1OGYfUqs^M&fN!KC?8V_{XGSM{hPq8gO&l};B`1xjyPQ+%u08O_dclCN2(3NG*h z->6@#Q$NFbMZ}c;alX@-qh!0eK=(PK%Goctj$*!7ZjIV@naU3dg|hV{Ouxj@s#x467D^d`T)!~DMTYo}PK4i)&fz*0eq3gQG_ zQ$bt}9)7;;#LKt}PDosHQ(9zsF)D(BBf2D`q{*^{96gK$y0&U=uXejBtZ(^h>SwEU zL6tLs<%?aU1-3}JB($tQsJnuiRn(kDqR4f696pTSM}zL`$F+&pTl@tz!GcDD2NLx4 W%NnT+&MK+aJEqz9rAAiwRR0g`RM1TT