La classe chargée d'effectuer des recherches locales sur les différentes solutions TODO ajouter les entrées et sorties.
Plus de détails...
#include <localsearch.h>
La classe chargée d'effectuer des recherches locales sur les différentes solutions TODO ajouter les entrées et sorties.
Un chemin est une suite de coordonnées qu'on suppose adjacentes
Constructeur d'une recherche locale à partir d'une surface existante et des paramètres des routes. La surface sera modifiée
- Paramètres
-
_field | Surface déjà instanciée |
_params | Paramètres des routes |
Constructeurs
Constructeur d'une recherche locale par recopie La surface de l'autre instance est recopiée
- Paramètres
-
float LocalSearch::addRoadsAccess |
( |
unsigned |
nbToAdd | ) |
|
Tente l'ajout d'un chemin (série de routes) avec pour objectif d'améliorer l'accessibilité.
- Renvoie
- faux si aucune route n'a pu être ajoutée car il n'y a aucun placement de chemin permettant d'obtenir une solution réalisable avec une accessibilité meilleures ou équivalente.
int LocalSearch::addRoadUsable |
( |
| ) |
const |
Tente l'ajout d'une route avec pour objectif d'augmenter le nombre de parcelles exploitables.
- Renvoie
- faux si aucune route n'a pu être ajoutée car il n'y a aucun placement de route permettant d'obtenir une solution réalisable avec un nombre de parcelles exploitables supérieur ou égal au nombre courant.
TODO est-ce utile de soustraire le nombre de voisin, mettre un coef, ... ? OUI, ça a une utilité, pour éviter de coller 2 routes
float LocalSearch::gainPath |
( |
Path * |
path | ) |
|
Calcule le gain hypotéthique en accessibilité lors de l'ajout d'un chemin donné
- Paramètres
-
path | Chemin testé (liste de routes) |
- Renvoie
- Gain en accessibilité lors de l'ajout du chemin, nul si le chemin et vide
Tests
Fin tests
- Voir également
- voir comment ne pas utiliser initRoadDistances et si c'est utile de recalculer le ratio
-
voir comment ne pas utiliser initRoadDistances et si c'est utile de recalculer le ratio
Accesseur sur la surface de l'Evaluation
- Renvoie
- Une référence sur la surface, modifiable
unsigned LocalSearch::get_field_height |
( |
| ) |
const |
|
inline |
Permet de connaitre la hauteur de la surface étudiée
unsigned LocalSearch::get_field_width |
( |
| ) |
const |
|
inline |
Permet de connaitre la largeur de la surface étudiée
Accesseur sur l'Evaluation
- Renvoie
- Une pointeur sur l'évaluation, modifiable
Cherche tous les chemins "directs" possibles entre deux routes. Ces chemins ne doivent pas contenir de routes aller de manière directe d'un point à l'autre, pas de "détours" pour éviter une route.
- Paramètres
-
coord1 | Coordonnées de la première route |
coord2 | Coordonnées de la seconde route |
- Renvoie
- Un pointeur sur une liste de pointeurs sur les différents chemin possibles
void LocalSearch::setField |
( |
Field * |
_field | ) |
|
bool LocalSearch::tryInitSolution |
( |
| ) |
|
Relie les entrées et sorties entre elles, de manière directe
La documentation de cette classe a été générée à partir des fichiers suivants :