This commit is contained in:
bezza 2025-05-13 12:12:14 +02:00
commit 1beedf814d
3 changed files with 85 additions and 6 deletions

View file

@ -40,7 +40,7 @@ public class Label implements Comparable<Label> {
return coutRealise;
}
public double getCost() {
public double getTotalCost() { //est override dans LabelStar
return coutRealise;
}
@ -52,11 +52,11 @@ public class Label implements Comparable<Label> {
@Override
public int compareTo(Label L) {
int retour;
if (coutRealise == L.getCoutRealise()) {
if (coutRealise == L.getTotalCost()) {
retour = 0;
}
else {
retour = (int) (coutRealise - L.getCoutRealise());
retour = (int) (coutRealise - L.getTotalCost());
}
return retour;

View file

@ -2,15 +2,19 @@
import org.insa.graphs.model.Arc;
import org.insa.graphs.model.Node;
import static org.insa.graphs.model.Point.distance;
public class LabelStar extends Label {
public LabelStar(Node sommetCourant, Boolean marque, double coutRealise, Arc pere) {
private Node destination;
public LabelStar(Node sommetCourant, Boolean marque, double coutRealise, Arc pere,Node destination) {
super(sommetCourant, marque, coutRealise, pere);
this.destination=destination;
}
public double getCoutRealise() {
return (getCost()+); // getCost est pareil que coutRealise
@Override
public double getTotalCost() { //pourquoi CoutRealise ? psq il est utilisé dans le compareTo
return (getCoutRealise()+distance(getSommetCourant().getPoint(),this.destination.getPoint()));
}
}

View file

@ -0,0 +1,75 @@
// ce fichier n'est qu'en pseudo code
/* je considère que les 200km d'autonomie atteint (200km avec le 22 kWh - Q90 Renault ZOE chargé à 90%)
cette autonomie est considéré en ville à 200km (à 30km/h de moyenne)
en mixte elle devient 154 km (47km/h de moyenne) ~3/4 de l'autonmie
en autoroute uniquement 102 km (120km/h de moyenne) ~1/2 de l'autonomie
Problème il y a 20 types de ROADTYPE :
Routes principales
MOTORWAY : Autoroute voie rapide, à accès contrôlé, sans intersections à niveau, souvent interdite aux piétons, cyclistes, etc.
TRUNK : Route principale (quasi autoroute) grande route interurbaine importante, parfois à accès limité, avec peu dintersections.
PRIMARY : Route nationale dessert les grandes villes, avec un trafic important, mais moins prioritaire qu'une "trunk".
SECONDARY : Route secondaire relie des villes moyennes ou des centres régionaux.
TERTIARY : Route tertiaire dessert des petites villes ou relie des routes secondaires.
Branches ou bretelles
MOTORWAY_LINK : Bretelle daccès ou de sortie dautoroute.
TRUNK_LINK : Bretelle ou jonction vers une route "trunk".
PRIMARY_LINK : Bretelle reliant une route "primary".
SECONDARY_LINK : Bretelle reliant une route "secondary".
Réseau local
RESIDENTIAL : Rue résidentielle dans un quartier dhabitation, circulation modérée.
UNCLASSIFIED : Petite route rurale ou de desserte locale, souvent utilisée par défaut si la classification est inconnue.
LIVING_STREET : Rue résidentielle apaisée priorité aux piétons, vitesse très réduite (zone de rencontre).
SERVICE : Voie de service accès à des bâtiments, parkings, zones industrielles ou fermes.
Autres types de voies
ROUNDABOUT : Rond-point configuration de carrefour circulaire, souvent classée selon le type de route quelle relie.
PEDESTRIAN : Rue piétonne réservée principalement ou exclusivement aux piétons.
CYCLEWAY : Piste cyclable voie dédiée aux vélos.
TRACK : Chemin agricole ou forestier destiné aux véhicules tout-terrain ou agricoles, pas pour le trafic général.
COASTLINE : Littoral ligne représentant la côte, utilisée pour délimiter les terres et les mers (pas une route au sens circulable).
Donc en fonction de chaque roadtype il faudrait définir quelle autnomie nous avons. Par exemple si on fait de l'autoroute, 1km = 2km d'autonomie
Après avoir fait les ratios pour chaque roadType qu'on peut obtenir dans roadInformation dans chaque Arc parcouru
getMinimumTravelTime et getLenght*autonomieSurCeRoadType pour l'autonomie qu'on perd pour chaque arc
=> pour simplifier les choses on va estimer qu'on roule toujours à la vitesse maximale autorisée
comme cela on peut avoir le TravelTime avec getTravelTime pour pour le chemin le plus court
et nous n'avons pas besoin d'associer une vitesse à chaque roadtype, juste une perte d'autonomie
//Rappel les bornes de recharges ne sont que sur les autoroutes !
=> va falloir prévilégier l'autoroute ? on va plus vite et on recharge seulement en 2mn
c'est donc l'option la plus rapide pour le temps
concrètement dans le Dijkstra il va falloir rajouter une composante. Après le if 'newCost <'...
il faut vérifier que l'autonomie est correcte
*/