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 :