Urbanisme  1.3.0
Projet visant à l'optimisation du placement de routes sur une surface. https://flodavid.github.io/Urbanisme
Fonctions membres publiques | Liste de tous les membres
Référence de la classe Resolution

La classe effectuant l'ensemble de la résolution et le front Pareto Elle contient l'intégralité des données du problème et est chargée de lancer les algos, de stocker les solutions et de construire le front pareto résultant. Plus de détails...

#include <resolution.h>

Fonctions membres publiques

size_t get_nb_not_dominated () const
 
 Resolution (unsigned nbCols, unsigned nbRows, unsigned serveDistance, unsigned roadsWidth, std::list< Coordinates > &ins_outs)
 
 Resolution (const Field &field, const Parameters &_params)
 
void evaluateBothObjectives ()
 
bool isNotDominated (const Evaluation &eval)
 
int spread (const Evaluation &eval)
 
FieldEvaluationlocalSearchUsableObjective (unsigned maxRoadsToAdd=10)
 
FieldEvaluationlocalSearchAccessObjective (unsigned maxPathsToAdd=1)
 
FieldEvaluationinitResolution ()
 
void writeDominatedEvaluation (const Evaluation &eval)
 
bool trySaveParetoToTxt (std::string fileName) const
 trySaveParetoToTxt Plus de détails...
 
std::string drawParetoJpeg (std::string dataName) const
 
void changeWorkField (Field *_field, bool newField)
 

Description détaillée

La classe effectuant l'ensemble de la résolution et le front Pareto Elle contient l'intégralité des données du problème et est chargée de lancer les algos, de stocker les solutions et de construire le front pareto résultant.

Documentation des constructeurs et destructeur

Resolution::Resolution ( unsigned  nbCols,
unsigned  nbRows,
unsigned  serveDistance,
unsigned  roadsWidth,
std::list< Coordinates > &  ins_outs 
)

Constructeur d'une résolution à partir de tous les paramètres du problème, avec une liste d'entrées et sorties

Paramètres
nbColsLargeur de la surface
nbRowsHauteur de la surface
serveDistanceDistance de desserte des parcelles par les routes
roadsWidthLargeur des routes
ins_outsListe d'entrées/sorties de la surface

Constructeurs

Resolution::Resolution ( const Field field,
const Parameters _params 
)

Construit l'instance en recopiant une surface et des paramètres existants

Paramètres
field
_params

Documentation des fonctions membres

void Resolution::changeWorkField ( Field _field,
bool  newField 
)

Setters

TODO demander à l'utilisateur si il veut sauvegarder les résultats avant d'effacer le champ

Voir également
la copie est vraiment utile ? (elle est donnée à localsearch)
la copie est vraiment utile ? (elle est donnée à localsearch)
std::string Resolution::drawParetoJpeg ( std::string  dataName) const

Exporte les solutions non dominées dans une image jpeg

Paramètres
dataName
Renvoie
le nom du fichier image crée
void Resolution::evaluateBothObjectives ( )

Evalue les deux objectifs

Evaluation et Pareto

size_t Resolution::get_nb_not_dominated ( ) const
inline

Compte le nombre de solutions non dominées trouvées jusqu'à présent

Renvoie
le nombre de solutions non dominées
FieldEvaluation * Resolution::initResolution ( )

Création de la route qui relie deux entrées/sorties

Renvoie

Resolution

TODO plus tard : enlever l'affichage de la fenêtre d'erreur de la classe Resolution

bool Resolution::isNotDominated ( const Evaluation eval)

Vérifie si l'évaluation est dominée par l'évaluation d'au moins une des solutions précédemment calculées

Paramètres
evalEvaluation à traiter
Renvoie
faux si la solution est dominée par une des solutions présents
FieldEvaluation * Resolution::localSearchAccessObjective ( unsigned  maxPathsToAdd = 1)

Exécute la recherche locale permettant de maximiser l'accessibilité

Voir également
Utiliser un signal pour mettre à jour l'affichage pendant les recherche ?
Voir également
tentative d'augmentation de l'accessibilité tant que le gain est suffisament important rajouter condition dans le while
FieldEvaluation * Resolution::localSearchUsableObjective ( unsigned  maxRoadsToAdd = 10)

Exécute la recherche locale permettant de maximiser le nombre de parcelles exploitables

Voir également
Utiliser un signal pour mettre à jour l'affichage pendant les recherche ?

Recherches locales

int Resolution::spread ( const Evaluation eval)

Effectue une propagation à partir de la solution courante : toutes les solutions précédentes dominées par la solution sont supprimées

Paramètres
evalEvaluation courante
Renvoie
le nombre de solutions supprimées

TODO pourquoi ça peut provoquer un seg fault ?

bool Resolution::trySaveParetoToTxt ( std::string  fileName) const

trySaveParetoToTxt

Paramètres
fileName
Renvoie
vrai si le fichier s'est correctement ouvert
void Resolution::writeDominatedEvaluation ( const Evaluation eval)

Ecrit l'évaluation dans le fichier des évaluations dominées

Export


La documentation de cette classe a été générée à partir des fichiers suivants :