Page principale | Hiérarchie des classes | Liste des composants | Liste des fichiers | Composants

Référence de la classe SolverAPI

#include <SolverAPI.h>

Liste de tous les membres

Membres publics

 SolverAPI (const std::string &_fLP)
void Init (const std::string &_fLP="./tmp.solver.lp", const std::string &_path="")
void SetAPI (API _solver)
API GetAPI () const
const char * GetfLP ()
void SetfLP (const std::string &_flp)
bool IsSolved () const
bool IsOptimal () const
void SetMIP (bool isMip)
void Infos (std::string &_operation, std::string &_information)
std::list< float > & OutNumVarValues ()
std::list< std::string > & GetNumVarNoms ()
std::list< float > & OutConstraintValues ()
std::list< std::string > & GetConstraintNoms ()
float Solve ()
void Options (const std::string &_options)
void RemoveOptions ()
bool glpk_GetObj (std::string &_s, float &objval)
bool cplx_GetObj (std::string &_s, float &objval)

Membres protégés

int SystemFork (const char *str)
std::string AvoidSpaces (std::string &s)
void Tokenize (const std::string &str, std::list< std::string > &tokens, const std::string &delimiters)

Attributs Protégés

unsigned solver
std::string fLP
std::string path
 nom du fichier LP utilisé pour stocker le programme courant

std::list< std::string > option
 chemin du solveur (si non accessible directement dans le PATH du systeme)

bool isSolved
 ! liste des options passées en parametres

bool isOptimal
bool isMIP
std::list< std::string > contraintesNOM
std::list< std::string > variablesNOM
 sauvegarde des noms des contraintes

std::list< float > contraintesVAL
 sauvegarde des noms des variables

std::list< float > variablesVAL
 sauvegarde des valeurs des contraintes

solverVAR_NomVal objective
 saveugarde des valeurs des variables

std::string typeRetour
 informations sur la fonction objectif (cf classe plus haut)

std::string typeOperation


Description détaillée

SolveAPI est l'objet qui négocie le dialogue entre le système (le solveur) et le Model généré dans le programme. Cet objet compose l'objet Model, c'est pour cela que l'on peut se permettre de retourner des références sur la sortie des contraintes etc.


Documentation des méthodes

string SolverAPI::AvoidSpaces std::string &  s  )  [protected]
 

AvoidSpaces permet d'éliminer tous les espaces de la chaine de caractère passée eb argument.

Paramètres:
s string de la STL qui contient la chaine de caractère

bool SolverAPI::cplx_GetObj std::string &  _s,
float &  objval
 

cplx_GetObj est une méthode qui permet de retourner dans objval. Cette méthode est utilisée uniquement lorsque le solver utilisé est CPLEX

Paramètres:
_s chaine contenant le résultat
objval résultat

const char* SolverAPI::GetfLP  )  [inline]
 

Retourne le nom du fichier LP utilisé

bool SolverAPI::glpk_GetObj std::string &  _s,
float &  objval
 

glpk_GetObj est une méthode qui permet de retourner dans objval. Cette méthode est utilisée uniquement lorsque le solver utilisé est GLPK (glpsol)

Paramètres:
_s chaine contenant le résultat
objval résultat

void SolverAPI::Infos std::string &  _operation,
std::string &  _information
[inline]
 

Retourner les informations (Minimisation/Maximisation) et la phrase que sort GLPSOL genre: 'INTEGER OPTIMAL'

void SolverAPI::Init const std::string &  _fLP = "./tmp.solver.lp",
const std::string &  _path = ""
[inline]
 

Initialisation des chemins du solver et du nom du fichier temporaire où sera écrit le fichier LP

bool SolverAPI::IsOptimal  )  const [inline]
 

La solution trouvée est-elle optimale ?

bool SolverAPI::IsSolved  )  const [inline]
 

Est-ce que le programme linéaire a été résolu ?

void SolverAPI::Options const std::string &  _options  ) 
 

Concatene les options et les sauvegarders dans l'attribut option. Cela permet d'ajouter une option si on veut tester son influence sur la résolution !

Paramètres:
_option chaine contenant les options passées

void SolverAPI::RemoveOptions  )  [inline]
 

Permet d'effacer toutes les options qui auraient été passées en parametres du solveur

void SolverAPI::SetAPI API  _solver  )  [inline]
 

Initilisation de l'API, on dit quel solveur on souhaite utiliser

float SolverAPI::Solve  ) 
 

Solve est la méthode qui va gérer toute la sortie ainsi que l'appel du système.

int SolverAPI::SystemFork const char *  str  )  [protected]
 

SystemFork est une fonction qui va appeler la commande system()
La seule différence entre SystemFork et System est la version UNIX: en effet, sous UNIX? SystemFork retourne un entier qui est l'adresse d'un buffer. Cela permet de récupérer la sortie cout/cerr de la commande passée au système.

Paramètres:
str chaine de caractère contenant la commande

void SolverAPI::Tokenize const std::string &  str,
std::list< std::string > &  tokens,
const std::string &  delimiters
[protected]
 

Tokenize permet de séparer une chaine de caractère (str) en tokens séparés par delimiters. Cette fonction stocke les tokens dans une list de string.

Paramètres:
str string contenant la chaine à analyser
tokens liste de string contenant les tokens trouvés dans la chaine
delimiters ce qui délimite nos tokens


La documentation associée à cette classe a été générée à partir des fichiers suivants :
Généré le Mon Jul 18 23:07:41 2005 pour Modelib par doxygen 1.3.6