Modelib: SolverAPI class Reference

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 :

- SolverAPI.h
- SolverAPI.cpp