Page principale | Liste des namespaces | Hiérarchie des classes | Liste alphabétique | Liste des classes | Liste des fichiers | Membres de namespace | Membres de classe | Membres de fichier

Référence de la classe Modelib::Model

Classe répresentant le programme lineaire en lui meme. Plus de détails...

#include <Model.h>

Graphe de collaboration de Modelib::Model:

Collaboration graph
[légende]
Liste de tous les membres

Fonctions membres publiques

 Model ()
 Model (const Model &)
Modeloperator= (const Model &)
Constraint Add (const ConstraintBuilder &, const std::string &nom="")
Constraint Add (const ConstraintBuilder &constraint, const Nom &_nom)
void Maximize (const Expr &expr, const std::string &nom="")
void Minimize (const Expr &expr, const std::string &nom="")
Expr GetObjectif () const
void SetProblemName (const std::string name="")
string GetProblemName () const
bool IsRelaxed () const
void SetRelaxed (bool _isRelaxed)
bool RelaxInt2Float (NumVar numVar=NumVar())
bool RelaxBool2Float (NumVar numVar=NumVar())
void SetNumVarValues (const std::list< std::string > &noms, const std::list< float > &values)
void SetConstraintValues (const std::list< std::string > &noms, const std::list< float > &values)
void GetInfluentLagrangianParam (std::list< LagrangianParam > &listViolated, std::list< LagrangianParam > &listSlacked)
std::vector< LagrangianParamGetAllLagrangianParams ()
float EvalConstraint (VarId id) const
void UnrelaxModel ()
std::ostream & Out (std::ostream &flux=std::cout, const std::string &newline="")
std::ostream & OutDimensions (std::ostream &flux=std::cout, const std::string &newline="")
std::ostream & OutNumVarValues (bool withoutNullValue=true, std::ostream &flux=std::cout, const std::string &newline="") const
std::ostream & OutConstraintValues (std::ostream &flux=std::cout, const std::string &newline="") const
Constraint GetConstraint (VarId id) const
Constraint GetConstraint (const std::string &)
bool RelaxConstraint (VarId id, float lagrangianValue=-Infinity)
bool Relax (const std::string &name, float lagrangianValue=-Infinity)
void RenameConstraint (VarId id, const std::string &name)
VarId GetMaxVarId () const
VarId GetMaxConstraintId () const
bool LoadLP (const std::string &, bool verbose=false)
bool LoadMPS (const std::string &, bool verbose=false)
void RemoveVariable (VarId varId)
void RemoveConstraint (VarId varId)
void AddToConstraint (VarId, const Expr &)
void SetSecondMember (VarId, float)
float GetSecondMember (VarId) const
void Clear ()
void Normalize (bool withoutStrict=true)
void PrintDual (const std::string &) const
Model GetDual () const
void InitSolver (API _API=GLPK, const std::string &_fLP="./tmp.solver.lp", const std::string &_path="")
float Solve ()
void SolveInfos (std::string &_operation, std::string &_informations)
double MatriceOccupation ()
void SetAPI (API _API)
void PushOptions (const std::string &_str)
void RemoveOptions ()
void ShowMe (bool withoutNullValue=true)
void PrintFraction ()
void EndFraction ()
std::string AddComment (const std::string &comment)
void SetComment (VarId id, const std::string &comment)
std::string GetComment (VarId id) const
void SortieHTML (const std::string &fileName, const std::string &matrixPNG="")
void SortieLATEX (const std::string &fileName)

Fonctions membres protégées

float GetLagrangianParamValue (VarId) const
void SetLagrangianParamValue (VarId, float)
VarId AddVar (const MuteVar &muteVar, const std::string &)
VarId GetVarId (const std::string &) const
MuteVar GetMuteVar (VarId varId) const
NumVar GetNumVar (VarId varId) const
std::string GetName (VarId varId) const
void SetName (VarId varId, const std::string &name)
float GetMuteVarLB (VarId varId) const
void SetMuteVarLB (VarId varId, float _value)
float GetMuteVarUB (VarId varId) const
void SetMuteVarUB (VarId varId, float _value)
void SetMuteVarLBStrict (VarId varId, bool _value)
void SetMuteVarUBStrict (VarId varId, bool _value)
MuteVar::VarType GetType (VarId varId) const
void SetType (VarId varId, MuteVar::VarType _type)
VarId AddExpr (Expr &expr, MatriceCreuse< float > &A)
Expr GetRelaxedConstraintExpr (VarId id, bool relaxed=true)
void ComputeObjectif ()
std::ostream & SurchargeFlux (std::ostream &) const
std::ostream & SurchargeFluxRelaxed (std::ostream &) const
std::ostream & SurchargeMPSFlux (std::ostream &, bool verbose) const
VarId GetConstraintId (const std::string &)

Attributs privés

VarId hacheVarId
VarId hacheConstraintId
std::map< VarId, PaireunknowMap
MatriceCreuse< float > A
map< VarId, InternalConstraintconstraintMap
map< VarId, std::string > comments
bool isMax
bool isRelaxed
bool isFract
bool isOptimal
bool isSolved
bool isNormalized
unsigned MIPVar
Expr objectif
float objectifActivity
std::string objectifName
std::string problemName
SolverAPI solverAPI
FractionConvert _fract

Amis

class LagrangianParam
class Constraint
class NumVar
std::ostream & operator<< (std::ostream &, const Model &)
std::ostream & ToMPS (std::ostream &, const Model &, bool verbose=true)

Description détaillée

Classe répresentant le programme lineaire en lui meme.

Elle contient: -un entier permettant l'attribution d'un numero a chaque variable -un entier permettant l'attribution d'un numero a chaque contrainte -une base de donnee sur les variables du vecteur inconnu -une Matrice creuse representant les contraintes lineaires -une base de donnee sur les contraintes lineaires -une base de donnee de commentaires -un booleen caracterisant le type de fonction objectif -un booleen specifiant si le programme linéaire est relache -un booleen specifiant si l'utilisateur desire un affichage fractionnaire -un booleen specifiant si la solution est optimale -un booleen specifiant si le probleme a ete resolu -un booleen specifiant si le probleme a ete normalise -la fonction objectif sous la forme d'une expression -la valeur de la fonction objectif apres resolution -le nom de la fonction objectif -le nom du programme linéaire -une interface avec les solveurs -un convertisseur pour l'aaffichage fractionnaire

Ce modele est independant d'un environnement Ce modele peut etre modifié par la création de variable et l'ajout de contraintes.
Les variables peuvent etre modifiee par le biais de la classe NumVar.
L'operateur << permet d'afficher le probleme sous la forme d'un fichier LP.

Définition à la ligne 91 du fichier Model.h.


Documentation des contructeurs et destructeur

Modelib::Model::Model  )  [inline]
 

Constructeur par défaut

Définition à la ligne 166 du fichier Model.h.

Modelib::Model::Model const Model m  ) 
 

Constructeur par copie

Définition à la ligne 46 du fichier Model.cpp.


Documentation des fonctions membres

Constraint Modelib::Model::Add const ConstraintBuilder constraint,
const Nom _nom
[inline]
 

Définition à la ligne 176 du fichier Model.h.

Références Add().

Voici le graphe d'appel pour cette fonction:

Constraint Modelib::Model::Add const ConstraintBuilder c,
const std::string &  nom = ""
 

Add une contrainte au modele

Paramètres:
c la contrainte à ajouter
nom le nom de la contrainte
Renvoie:
le type de matrice dans laquelle a été insérer la contrainte

Définition à la ligne 453 du fichier Model.cpp.

Références A, AddExpr(), Constraint, constraintMap, Modelib::InternalConstraint::EGAL, Modelib::ConstraintBuilder::EGAL, Modelib::ConstraintBuilder::expressions, Modelib::InternalConstraint::INF, Modelib::ConstraintBuilder::INFERIEUR, Modelib::InternalConstraint::INFSTRICT, Modelib::ConstraintBuilder::INFSTRICT, Modelib::ConstraintBuilder::IsBound(), Modelib::MatriceCreuse< T >::nbLignes, Modelib::Expr::nodeList, Modelib::ConstraintBuilder::operateurs, Modelib::NumVar::SetLowerBound(), Modelib::NumVar::SetLowerBoundStrict(), Modelib::NumVar::SetUpperBound(), Modelib::NumVar::SetUpperBoundStrict(), Modelib::Expr::Simplify(), Modelib::InternalConstraint::SUP, Modelib::ConstraintBuilder::SUPERIEUR, Modelib::InternalConstraint::SUPSTRICT, et Modelib::ConstraintBuilder::SUPSTRICT.

Référencé par Add(), Modelib::export_Model(), main(), et Modelib::FichierProbleme::operator>>().

Voici le graphe d'appel pour cette fonction:

std::string Modelib::Model::AddComment const std::string &  comment  ) 
 

Ajout d'un commentaire avant la prochaine contrainte si un commentaire était déjà la, il sera écrasé, mais aussi retourné

Paramètres:
comment la chaine de commentaire sans le "\" l'ancien commentaire

Définition à la ligne 2330 du fichier Model.cpp.

Références comments, et hacheConstraintId.

VarId Modelib::Model::AddExpr Expr expr,
MatriceCreuse< float > &  A
[protected]
 

Fonction permettant d'ajouter la partie linéaire d'une contrainte au modele Il suffit juste de modifier le coefficient de la matrice adéquat pour chaque variable,
à savoir celui d'indice (l'identifiant de variable, numéro de contrainte)

Paramètres:
expr l'expression à ajouter au modèle
A la matrice qui correspond au type de contrainte d'ou provient l'expression

Définition à la ligne 422 du fichier Model.cpp.

Références Modelib::NumVar::GetModel(), Modelib::MatriceCreuse< T >::GetNbLignes(), Modelib::NumVar::GetVarId(), hacheConstraintId, Modelib::Expr::nodeList, Modelib::MatriceCreuse< T >::Set(), et unknowMap.

Référencé par Add().

Voici le graphe d'appel pour cette fonction:

void Modelib::Model::AddToConstraint VarId  id,
const Expr expr
 

Ajoute une expression linéaire à la parite linéaire de la contrainte

Paramètres:
id l'identifiant de la contrainte
expr l'expression linéaire à rajouter

Définition à la ligne 2026 du fichier Model.cpp.

Références A, constraintMap, Modelib::MatriceCreuse< T >::Get(), Modelib::NumVar::GetModel(), Modelib::NumVar::GetVarId(), Modelib::MatriceCreuse< T >::matrix, Modelib::Expr::nodeList, Modelib::MatriceCreuse< T >::Set(), et unknowMap.

Référencé par Modelib::Constraint::AddExpr(), et Modelib::export_Model().

Voici le graphe d'appel pour cette fonction:

VarId Modelib::Model::AddVar const MuteVar muteVar,
const std::string &  _nom
[protected]
 

AddVar permet la création d'une nouvelle variable referencé dans le modele.
Seule la classe NumVar appelle cette fonction.
Elle est d'ailleurs déclarée en friend spécialement pour pouvoir utiliser cette fonction

Renvoie:
l'identifiant attribué à la variable

Définition à la ligne 151 du fichier Model.cpp.

Références Modelib::MuteVar::FLOAT, Modelib::MuteVar::GetType(), hacheVarId, MIPVar, et unknowMap.

Voici le graphe d'appel pour cette fonction:

void Modelib::Model::Clear  ) 
 

Nettoye le modele

Définition à la ligne 2153 du fichier Model.cpp.

Références A, comments, constraintMap, hacheConstraintId, hacheVarId, isFract, isMax, isNormalized, isOptimal, isRelaxed, isSolved, Modelib::MatriceCreuse< T >::matrix, MIPVar, Modelib::MatriceCreuse< T >::nbCols, Modelib::MatriceCreuse< T >::nbLignes, objectif, objectifActivity, objectifName, problemName, et unknowMap.

void Modelib::Model::ComputeObjectif  )  [protected]
 

void Modelib::Model::EndFraction  )  [inline]
 

Définition à la ligne 264 du fichier Model.h.

Références isFract.

Référencé par Modelib::export_Model().

float Modelib::Model::EvalConstraint VarId  id  )  const
 

Permet de d'avoir l'evaluation de l'expression linéaire d'une contrainte utile dans la resolution lagrangienne

Paramètres:
id l'identifiant de la contrainte
Renvoie:
l'expression de la contrainte relaxée

Définition à la ligne 1355 du fichier Model.cpp.

Références A, GetMuteVar(), Modelib::MuteVar::GetValue(), et Modelib::MatriceCreuse< T >::matrix.

Référencé par SetConstraintValues().

Voici le graphe d'appel pour cette fonction:

std::vector< LagrangianParam > Modelib::Model::GetAllLagrangianParams  ) 
 

Renvoie un vecteur contenant tous les multiplicateurs de lagrange du modele

Renvoie:
Un vecteur de taille egal au nombre de contrainte du probleme

Définition à la ligne 1608 du fichier Model.cpp.

Références constraintMap, et LagrangianParam.

Référencé par Modelib::export_Model().

std::string Modelib::Model::GetComment VarId  id  )  const
 

Définition à la ligne 2358 du fichier Model.cpp.

Références comments.

Référencé par Modelib::FichierProbleme::operator>>().

Constraint Modelib::Model::GetConstraint const std::string &   ) 
 

Constraint Modelib::Model::GetConstraint VarId  id  )  const
 

Permet d'obtenir la contrainte en fonction de son identifiant

Paramètres:
id l'identifiant de contrainte
Renvoie:
La contrainte correspondant à l'identifiant

Définition à la ligne 1299 du fichier Model.cpp.

Références Constraint, et constraintMap.

Référencé par Modelib::LagrangianParam::LagrangianParam().

VarId Modelib::Model::GetConstraintId const std::string &   )  [protected]
 

Référencé par Relax().

Model Modelib::Model::GetDual  )  const
 

Permet de calculer le dual du programme dans un Model

Renvoie:
Le Model correspondant au programme linéaire

Définition à la ligne 2254 du fichier Model.cpp.

Références A, Modelib::InternalConstraint::activity, Modelib::InternalConstraint::b, constraintMap, Modelib::MuteVar::FLOAT, Modelib::InternalConstraint::INF, Modelib::Infinity, isMax, Modelib::MatriceCreuse< T >::matrix, Modelib::InternalConstraint::name, Modelib::Expr::nodeList, Modelib::Paire::nom, NumVar, objectif, objectifName, problemName, Modelib::MatriceCreuse< T >::Set(), SetSecondMember(), solverAPI, unknowMap, et Modelib::Paire::variable.

Référencé par PrintDual().

Voici le graphe d'appel pour cette fonction:

void Modelib::Model::GetInfluentLagrangianParam std::list< LagrangianParam > &  listViolated,
std::list< LagrangianParam > &  listSlacked
 

Référencé par Modelib::export_Model().

float Modelib::Model::GetLagrangianParamValue VarId  id  )  const [protected]
 

Recupere le coefficient du multiplicatuer de Lagrange asssocié à la contrainte

Paramètres:
id li'dentifiant de contrainte

Définition à la ligne 84 du fichier Model.cpp.

Références constraintMap.

Référencé par Modelib::LagrangianParam::GetValue().

VarId Modelib::Model::GetMaxConstraintId  )  const [inline]
 

Définition à la ligne 218 du fichier Model.h.

Références hacheConstraintId.

VarId Modelib::Model::GetMaxVarId  )  const [inline]
 

Définition à la ligne 217 du fichier Model.h.

Références hacheVarId.

MuteVar Modelib::Model::GetMuteVar VarId  varId  )  const [protected]
 

Geter de la variable associée a l'identifiant passé en argument

Paramètres:
varId l'identifiant
Renvoie:
la variable

Définition à la ligne 184 du fichier Model.cpp.

Références unknowMap.

Référencé par EvalConstraint(), Modelib::NumVar::GetType(), Modelib::NumVar::GetValue(), Modelib::NumVar::IsLowerBoundStrict(), et Modelib::NumVar::IsUpperBoundStrict().

float Modelib::Model::GetMuteVarLB VarId  varId  )  const [protected]
 

Geter de la borne inférieure de la variable associée à l'identifiant passé en argument

Paramètres:
varId l'identifiant
Renvoie:
la borne inférieure

Définition à la ligne 260 du fichier Model.cpp.

Références unknowMap.

Référencé par Modelib::NumVar::GetLowerBound().

float Modelib::Model::GetMuteVarUB VarId  varId  )  const [protected]
 

Geter de la borne supérieure de la variable associée à l'identifiant passé en argument

Paramètres:
varId l'identifiant
Renvoie:
la borne supérieure

Définition à la ligne 291 du fichier Model.cpp.

Références Modelib::Infinity, et unknowMap.

Référencé par Modelib::NumVar::GetUpperBound().

std::string Modelib::Model::GetName VarId  varId  )  const [protected]
 

Geter du nom de la variable associée à l'identifiant passé en argument

Paramètres:
varId l'identifiant
Renvoie:
le nom de la variable

Définition à la ligne 210 du fichier Model.cpp.

Références Modelib::defaultGetName, et unknowMap.

Référencé par Modelib::NumVar::GetName(), et Modelib::NumVar::NumVar().

NumVar Modelib::Model::GetNumVar VarId  varId  )  const [protected]
 

Geter de la variable associée a l'identifiant passé en argument

Paramètres:
varId l'identifiant
Renvoie:
la variable sous le formar NumVar

Définition à la ligne 200 du fichier Model.cpp.

Références NumVar.

Expr Modelib::Model::GetObjectif  )  const [inline]
 

Définition à la ligne 183 du fichier Model.h.

Références objectif.

string Modelib::Model::GetProblemName  )  const [inline]
 

Définition à la ligne 186 du fichier Model.h.

Références problemName.

Référencé par Modelib::FichierProbleme::operator>>().

Expr Modelib::Model::GetRelaxedConstraintExpr VarId  id,
bool  relaxed = true
[protected]
 

Permet de d'avoir l'expression relaxée une contrainte

Paramètres:
id l'identifiant de la contrainte
Renvoie:
l'expression de la contrainte relaxée

Définition à la ligne 1388 du fichier Model.cpp.

Références A, Modelib::Expr::ASS(), constraintMap, Modelib::Expr::isParametric, LagrangianParam, Modelib::MatriceCreuse< T >::matrix, NumVar, et Modelib::Expr::Size().

Référencé par Modelib::Constraint::GetExpr(), Modelib::Constraint::GetRelaxedExpr(), et RelaxConstraint().

Voici le graphe d'appel pour cette fonction:

float Modelib::Model::GetSecondMember VarId  id  )  const
 

retourne le coefficient de la contrainte d'identifiant VarId

Paramètres:
id l'identifiant de la contrainte
Renvoie:
Le coefficient de la contrainte

Définition à la ligne 2140 du fichier Model.cpp.

Références constraintMap, et Modelib::Infinity.

Référencé par Modelib::Constraint::GetSecondMember().

MuteVar::VarType Modelib::Model::GetType VarId  varId  )  const [protected]
 

Geter du type de la variable associée à l'identifiant passé en argument

Paramètres:
varId l'identifiant
Renvoie:
le type de la variable (sous le format MuteVar::VarType)

Définition à la ligne 356 du fichier Model.cpp.

Références Modelib::MuteVar::FLOAT, et unknowMap.

VarId Modelib::Model::GetVarId const std::string &   )  const [protected]
 

Définition à la ligne 234 du fichier Model.cpp.

Références unknowMap.

void Modelib::Model::InitSolver API  _API = GLPK,
const std::string &  _fLP = "./tmp.solver.lp",
const std::string &  _path = ""
[inline]
 

Définition à la ligne 235 du fichier Model.h.

Références Modelib::SolverAPI::Init(), SetAPI(), et solverAPI.

Référencé par Modelib::export_Model(), et main().

Voici le graphe d'appel pour cette fonction:

bool Modelib::Model::IsRelaxed  )  const [inline]
 

Définition à la ligne 188 du fichier Model.h.

Références isRelaxed.

Référencé par Modelib::export_Model(), et Modelib::operator<<().

bool Modelib::Model::LoadLP const std::string &  _name,
bool  verbose = false
 

Chargement d'un fichier LP à partir duquel on va charger le modele

Paramètres:
_name le nom du fichier LP de destination
verbose un flag d'affichage
Renvoie:
Vrai si le chargement c'est bien passé

Définition à la ligne 1874 du fichier Model.cpp.

Références Modelib::FichierLP::Open().

Référencé par Modelib::export_Model(), et main().

Voici le graphe d'appel pour cette fonction:

bool Modelib::Model::LoadMPS const std::string &  _name,
bool  verbose = false
 

Chargement d'un fichier MPS à partir duquel on va charger le modele

Paramètres:
_name le nom du fichier MPS de destination
verbose un flag d'affichage
Renvoie:
Vrai si le chargement c'est bien passé

Définition à la ligne 1906 du fichier Model.cpp.

Références Modelib::FichierMPS::Open().

Voici le graphe d'appel pour cette fonction:

double Modelib::Model::MatriceOccupation  )  [inline]
 

Définition à la ligne 250 du fichier Model.h.

Références A, Modelib::MatriceCreuse< T >::GetNbCols(), Modelib::MatriceCreuse< T >::GetNbLignes(), et Modelib::MatriceCreuse< T >::GetSize().

Référencé par Modelib::export_Model().

Voici le graphe d'appel pour cette fonction:

void Modelib::Model::Maximize const Expr expr,
const std::string &  name = ""
 

Définit la fonction à maximiser

Paramètres:
expr l'expression à maximiser
nom le nom de l'expression à maximiser

Définition à la ligne 394 du fichier Model.cpp.

Références isMax, objectif, objectifName, et Modelib::Expr::Simplify().

Référencé par Modelib::export_Model(), main(), et Modelib::FichierProbleme::operator>>().

Voici le graphe d'appel pour cette fonction:

void Modelib::Model::Minimize const Expr expr,
const std::string &  name = ""
 

Définit la fonction à minimiser

Paramètres:
expr l'expression à minimiser
nom le nom de l'expression à maximiser

Définition à la ligne 406 du fichier Model.cpp.

Références isMax, objectif, objectifName, et Modelib::Expr::Simplify().

Référencé par Modelib::export_Model(), et Modelib::FichierProbleme::operator>>().

Voici le graphe d'appel pour cette fonction:

void Modelib::Model::Normalize bool  withoutStrict = true  ) 
 

Définition à la ligne 2177 du fichier Model.cpp.

Références A, constraintMap, Modelib::InternalConstraint::EGAL, Modelib::MatriceCreuse< T >::GetNbLignes(), Modelib::InternalConstraint::INF, Modelib::InternalConstraint::INFSTRICT, isMax, Modelib::MatriceCreuse< T >::matrix, objectif, Modelib::InternalConstraint::SUP, Modelib::InternalConstraint::SUPSTRICT, et unknowMap.

Voici le graphe d'appel pour cette fonction:

Model & Modelib::Model::operator= const Model m  ) 
 

operateur de copie

Définition à la ligne 52 du fichier Model.cpp.

Références A, constraintMap, hacheVarId, isFract, isMax, isOptimal, isRelaxed, isSolved, Modelib::MatriceCreuse< T >::matrix, MIPVar, Modelib::MatriceCreuse< T >::nbCols, Modelib::MatriceCreuse< T >::nbLignes, objectif, objectifActivity, objectifName, problemName, solverAPI, et unknowMap.

std::ostream & Modelib::Model::Out std::ostream &  flux = std::cout,
const std::string &  newline = ""
 

Sortie graphique sous forme brute

Paramètres:
flux le flux de destination
newline le chaine a mettre en bout de ligne

Définition à la ligne 631 du fichier Model.cpp.

Références A, Modelib::MatriceCreuse< T >::GetNbCols(), Modelib::MatriceCreuse< T >::GetNbLignes(), isMax, objectif, et Modelib::MatriceCreuse< T >::Out().

Référencé par Modelib::export_Model().

Voici le graphe d'appel pour cette fonction:

std::ostream & Modelib::Model::OutConstraintValues std::ostream &  flux = std::cout,
const std::string &  newline = ""
const
 

Affiche les valeurs des contraintes et leurs états

Définition à la ligne 1800 du fichier Model.cpp.

Références _fract, Modelib::FractionConvert::Approx(), constraintMap, isFract, Modelib::InternalConstraint::SUP, et Modelib::InternalConstraint::SUPSTRICT.

Référencé par Modelib::export_Model(), et ShowMe().

Voici le graphe d'appel pour cette fonction:

std::ostream & Modelib::Model::OutDimensions std::ostream &  flux = std::cout,
const std::string &  newline = ""
 

Sortie graphique des dimensions du problème

Définition à la ligne 829 du fichier Model.cpp.

Références A, constraintMap, Modelib::MatriceCreuse< T >::GetNbCols(), Modelib::MatriceCreuse< T >::GetNbLignes(), Modelib::MatriceCreuse< T >::matrix, Modelib::MatriceCreuse< T >::nbCols, Modelib::MatriceCreuse< T >::nbLignes, objectif, Modelib::Expr::Size(), et unknowMap.

Référencé par Modelib::export_Model().

Voici le graphe d'appel pour cette fonction:

std::ostream & Modelib::Model::OutNumVarValues bool  withoutNullValue = true,
std::ostream &  flux = std::cout,
const std::string &  newline = ""
const
 

Sortie sur cout des valeurs des variables

Paramètres:
withoutNullValue qui spécifie si les variables nulles doivent etre affichees

Définition à la ligne 1733 du fichier Model.cpp.

Références _fract, Modelib::FractionConvert::Approx(), Modelib::MuteVar::BOOL, Modelib::MuteVar::FLOAT, Modelib::Infinity, Modelib::MuteVar::INT, isFract, et unknowMap.

Référencé par Modelib::export_Model(), et ShowMe().

Voici le graphe d'appel pour cette fonction:

void Modelib::Model::PrintDual const std::string &  fileName  )  const
 

Permet de récuperer le dual du programme linéaire dans un fichier

Paramètres:
fileName le fichier de sortie

Définition à la ligne 2314 du fichier Model.cpp.

Références GetDual().

Voici le graphe d'appel pour cette fonction:

void Modelib::Model::PrintFraction  )  [inline]
 

Définition à la ligne 263 du fichier Model.h.

Références isFract.

Référencé par Modelib::export_Model().

void Modelib::Model::PushOptions const std::string &  _str  )  [inline]
 

Définition à la ligne 258 du fichier Model.h.

Références Modelib::SolverAPI::Options(), et solverAPI.

Référencé par Modelib::export_Model().

Voici le graphe d'appel pour cette fonction:

bool Modelib::Model::Relax const std::string &  name,
float  lagrangianValue = -Infinity
 

Relaxe une contrainte en la multipliant par un multiplicateur de Lagrange et en l'additionnant à la fonction objectif

Paramètres:
nom le nom de la contrainte
mult le multiplicateur de Lagrange
Renvoie:
vrai si l'operation s'est bien déroulé

Définition à la ligne 1434 du fichier Model.cpp.

Références GetConstraintId(), et RelaxConstraint().

Référencé par Modelib::export_Model().

Voici le graphe d'appel pour cette fonction:

bool Modelib::Model::RelaxBool2Float NumVar  numVar = NumVar()  ) 
 

Relaxe les contraintes sur les types de variables ici les variables boolennes si la variable en parametre est la variable nulle on relaxe toutes les varaibles autrement dit RelaxBool2Float() relaxe toutes les variables

Paramètres:
la variable a relaxee
Renvoie:
vrai si l'operation s'est bien déroulée

Définition à la ligne 1486 du fichier Model.cpp.

Références Modelib::MuteVar::BOOL, Modelib::NumVar::GetVarId(), et unknowMap.

Référencé par Modelib::export_Model().

Voici le graphe d'appel pour cette fonction:

bool Modelib::Model::RelaxConstraint VarId  id,
float  lagrangianValue = -Infinity
 

Relaxe une contrainte

Paramètres:
id l'identifiant de contrainte
lagrangianValue 
Renvoie:
Vrai si la contrainte a ete relaxee avec succes

Définition à la ligne 1318 du fichier Model.cpp.

Références constraintMap, GetRelaxedConstraintExpr(), Modelib::Infinity, Modelib::Expr::isParametric, isRelaxed, objectif, et Modelib::Expr::sansConstantes.

Référencé par Modelib::export_Model(), Relax(), et Modelib::Constraint::Relax().

Voici le graphe d'appel pour cette fonction:

bool Modelib::Model::RelaxInt2Float NumVar  numVar = NumVar()  ) 
 

Relaxe les contraintes sur les types de variables ici les variables entieres si la variable en parametre est la variable nulle on relaxe toutes les varaibles autrement dit RelaxInt2Float() relaxe toutes les variables

Paramètres:
la variable a relaxee
Renvoie:
vrai si l'operation s'est bien déroulée

Définition à la ligne 1454 du fichier Model.cpp.

Références Modelib::NumVar::GetVarId(), Modelib::MuteVar::INT, et unknowMap.

Référencé par Modelib::export_Model().

Voici le graphe d'appel pour cette fonction:

void Modelib::Model::RemoveConstraint VarId  id  ) 
 

Enlève une contrainte du modèle

Paramètres:
id la contrainte du modèle

Définition à la ligne 1986 du fichier Model.cpp.

Références A, et Modelib::MatriceCreuse< T >::matrix.

Référencé par Modelib::export_Model().

void Modelib::Model::RemoveOptions  )  [inline]
 

Définition à la ligne 259 du fichier Model.h.

Références Modelib::SolverAPI::RemoveOptions(), et solverAPI.

Référencé par Modelib::export_Model().

Voici le graphe d'appel pour cette fonction:

void Modelib::Model::RemoveVariable VarId  varId  ) 
 

Enlève une variable du modèle

Paramètres:
varId l'identifiant de la variable dans le modèle

Définition à la ligne 1945 du fichier Model.cpp.

Références A, Modelib::MatriceCreuse< T >::matrix, et unknowMap.

Référencé par Modelib::export_Model().

void Modelib::Model::RenameConstraint VarId  id,
const std::string &  name
 

Référencé par Modelib::export_Model(), et Modelib::Constraint::Rename().

void Modelib::Model::SetAPI API  _API  ) 
 

Definit le solver

Définition à la ligne 1546 du fichier Model.cpp.

Références Modelib::SolverAPI::SetAPI(), et solverAPI.

Référencé par Modelib::export_Model(), et InitSolver().

Voici le graphe d'appel pour cette fonction:

void Modelib::Model::SetComment VarId  id,
const std::string &  comment
 

Définit un commentaire pour la contrainte d'identifiant id si un commentaire était déjà la, il sera écrasé

Paramètres:
id l'identifiant de la contrainte
comment la chaine de commentaire sans le "\"

Définition à la ligne 2349 du fichier Model.cpp.

Références comments.

Référencé par Modelib::FichierProbleme::operator>>().

void Modelib::Model::SetConstraintValues const std::list< std::string > &  noms,
const std::list< float > &  values
 

Définit les valeurs des contraintes en fonctions de deux listes correspondant aux nouveaux couples valeur-nom

Paramètres:
noms la liste des noms de variables à changer
values la listes de leurs valeurs reciproques

Définition à la ligne 1677 du fichier Model.cpp.

Références constraintMap, et EvalConstraint().

Référencé par Modelib::export_Model(), et Solve().

Voici le graphe d'appel pour cette fonction:

void Modelib::Model::SetLagrangianParamValue VarId  id,
float  value
[protected]
 

Definit le coefficient du multiplicateur de Lagrange asssocié à la contrainte

Paramètres:
id li'dentifiant de contrainte

Définition à la ligne 98 du fichier Model.cpp.

Références constraintMap, Modelib::InternalConstraint::EGAL, Modelib::InternalConstraint::INF, Modelib::InternalConstraint::INFSTRICT, Modelib::InternalConstraint::SUP, et Modelib::InternalConstraint::SUPSTRICT.

Référencé par Modelib::LagrangianParam::SetValue().

void Modelib::Model::SetMuteVarLB VarId  varId,
float  _value
[protected]
 

Seter de la borne inférieure de la variable associée à l'identifiant passé en argument

Paramètres:
varId l'identifiant
_value la nouvelle value de la borne inférieure

Définition à la ligne 275 du fichier Model.cpp.

Références unknowMap.

Référencé par Modelib::NumVar::SetLowerBound().

void Modelib::Model::SetMuteVarLBStrict VarId  varId,
bool  _value
[protected]
 

Seter du caractère strict de borne inférieure de la variable associée à l'identifiant passé en argument

Paramètres:
varId l'identifiant
_value la nouvelle value du caractère strict de la borne inférieure

Définition à la ligne 324 du fichier Model.cpp.

Références unknowMap.

Référencé par Modelib::NumVar::SetLowerBoundStrict().

void Modelib::Model::SetMuteVarUB VarId  varId,
float  _value
[protected]
 

Seter de la borne supérieure de la variable associée à l'identifiant passé en argument

Paramètres:
varId l'identifiant
_value la nouvelle value de la borne supérieure

Définition à la ligne 307 du fichier Model.cpp.

Références unknowMap.

Référencé par Modelib::NumVar::SetUpperBound().

void Modelib::Model::SetMuteVarUBStrict VarId  varId,
bool  _value
[protected]
 

Seter du caractère strict de borne supérieure de la variable associée à l'identifiant passé en argument

Paramètres:
varId l'identifiant
_value la nouvelle value du caractère strict de la borne supérieure

Définition à la ligne 340 du fichier Model.cpp.

Références unknowMap.

Référencé par Modelib::NumVar::SetUpperBoundStrict().

void Modelib::Model::SetName VarId  varId,
const std::string &  name
[protected]
 

Seter du nom de la variable associée à l'identifiant passé en argument

Paramètres:
varId l'identifiant
le nom de la variable

Définition à la ligne 225 du fichier Model.cpp.

Références unknowMap.

Référencé par Modelib::NumVar::SetName().

void Modelib::Model::SetNumVarValues const std::list< std::string > &  noms,
const std::list< float > &  values
 

Référencé par Modelib::export_Model(), et Solve().

void Modelib::Model::SetProblemName const std::string  name = ""  )  [inline]
 

Définition à la ligne 185 du fichier Model.h.

Références problemName.

Référencé par Modelib::FichierProbleme::operator>>().

void Modelib::Model::SetRelaxed bool  _isRelaxed  )  [inline]
 

Définition à la ligne 189 du fichier Model.h.

Références isRelaxed.

Référencé par Modelib::export_Model().

void Modelib::Model::SetSecondMember VarId  id,
float  bid
 

Change le coefficient de la contrainte d'identifiant VarId

Paramètres:
id l'identifiant de la contrainte
bid le nouveau coefficient de la contrainte

Définition à la ligne 2125 du fichier Model.cpp.

Références constraintMap.

Référencé par GetDual(), et Modelib::Constraint::SetSecondMember().

void Modelib::Model::SetType VarId  varId,
MuteVar::VarType  _type
[protected]
 

Seter du type de la variable associée à l'identifiant passé en argument

Paramètres:
varId l'identifiant
le nouveau type de la variable (sous le format MuteVar::VarType)

Définition à la ligne 371 du fichier Model.cpp.

Références Modelib::MuteVar::FLOAT, MIPVar, et unknowMap.

Référencé par Modelib::NumVar::SetType().

void Modelib::Model::ShowMe bool  withoutNullValue = true  ) 
 

Affiche les principales caractéristiques du problème

Paramètres:
withoutNullValue permet de ne pas afficher les variables de valeurs nulles

Définition à la ligne 1936 du fichier Model.cpp.

Références OutConstraintValues(), et OutNumVarValues().

Référencé par Modelib::export_Model().

Voici le graphe d'appel pour cette fonction:

float Modelib::Model::Solve  ) 
 

Resoud le Modele

Définition à la ligne 1552 du fichier Model.cpp.

Références Modelib::Expr::GetConstant(), Modelib::SolverAPI::GetConstraintNoms(), Modelib::SolverAPI::GetfLP(), Modelib::SolverAPI::GetNumVarNoms(), Modelib::SolverAPI::IsOptimal(), isOptimal, Modelib::SolverAPI::IsSolved(), isSolved, MIPVar, objectif, objectifActivity, Modelib::SolverAPI::OutConstraintValues(), Modelib::SolverAPI::OutNumVarValues(), SetConstraintValues(), Modelib::SolverAPI::SetMIP(), SetNumVarValues(), Modelib::SolverAPI::Solve(), et solverAPI.

Référencé par Modelib::export_Model(), et main().

Voici le graphe d'appel pour cette fonction:

void Modelib::Model::SolveInfos std::string &  _operation,
std::string &  _informations
[inline]
 

Définition à la ligne 244 du fichier Model.h.

Références Modelib::SolverAPI::Infos(), et solverAPI.

Référencé par Modelib::export_Model().

Voici le graphe d'appel pour cette fonction:

void Modelib::Model::SortieHTML const std::string &  fileName,
const std::string &  matrixPNG = ""
 

Référencé par Modelib::export_Model(), et main().

void Modelib::Model::SortieLATEX const std::string &  fileName  ) 
 

Référencé par Modelib::export_Model().

std::ostream & Modelib::Model::SurchargeFlux std::ostream &  flux  )  const [protected]
 

Sortie graphique sous forme de flux dans le format LP

Paramètres:
o le flux à surcharger
Renvoie:
le flux surchargé

Définition à la ligne 650 du fichier Model.cpp.

Références A, Modelib::MuteVar::BOOL, comments, constraintMap, Modelib::Infinity, Modelib::MuteVar::INT, isMax, Modelib::MatriceCreuse< T >::matrix, Modelib::MatriceCreuse< T >::nbLignes, objectif, objectifName, problemName, et unknowMap.

Référencé par Modelib::operator<<().

std::ostream & Modelib::Model::SurchargeFluxRelaxed std::ostream &  flux  )  const [protected]
 

Sortie graphique sous forme de flux dans le format LP du probleme relaxé

Paramètres:
o le flux à surcharger
Renvoie:
le flux surchargé

Définition à la ligne 850 du fichier Model.cpp.

Références A, Modelib::MuteVar::BOOL, comments, constraintMap, Modelib::Expr::GetConstant(), Modelib::Infinity, Modelib::MuteVar::INT, isMax, Modelib::MatriceCreuse< T >::matrix, Modelib::MatriceCreuse< T >::nbLignes, objectif, objectifName, problemName, et unknowMap.

Référencé par Modelib::operator<<().

Voici le graphe d'appel pour cette fonction:

std::ostream & Modelib::Model::SurchargeMPSFlux std::ostream &  flux,
bool  verbose
const [protected]
 

Surcharge de l'operateur de flux

Paramètres:
flux le flux à surcharger
m le modele à afficher
Renvoie:
Le flux surchargé

Définition à la ligne 1063 du fichier Model.cpp.

Références A, Modelib::MuteVar::BOOL, constraintMap, Modelib::NumVar::GetModel(), Modelib::NumVar::GetVarId(), Modelib::Infinity, Modelib::MuteVar::INT, isMax, Modelib::MatriceCreuse< T >::matrix, Modelib::MatriceCreuse< T >::nbLignes, Modelib::Expr::nodeList, objectif, objectifName, problemName, et unknowMap.

Référencé par Modelib::ToMPS().

Voici le graphe d'appel pour cette fonction:

void Modelib::Model::UnrelaxModel  ) 
 

Nettoie le problème relaxé pour qu'il retrouve son aspect d'origine

Définition à la ligne 1515 du fichier Model.cpp.

Références constraintMap, Modelib::Expr::isParametric, isRelaxed, objectif, Modelib::Expr::sansConstantes, Modelib::Expr::Simplify(), et unknowMap.

Voici le graphe d'appel pour cette fonction:


Documentation des fonctions amies et associées

friend class Constraint [friend]
 

Définition à la ligne 132 du fichier Model.h.

Référencé par Add(), et GetConstraint().

friend class LagrangianParam [friend]
 

Définition à la ligne 128 du fichier Model.h.

Référencé par GetAllLagrangianParams(), et GetRelaxedConstraintExpr().

friend class NumVar [friend]
 

Définition à la ligne 135 du fichier Model.h.

Référencé par GetDual(), GetNumVar(), et GetRelaxedConstraintExpr().

std::ostream& operator<< std::ostream &  flux,
const Model m
[friend]
 

Surcharge de l'operateur de flux

Paramètres:
flux le flux à surcharger
m le modele à afficher
Renvoie:
Le flux surchargé

Définition à la ligne 1046 du fichier Model.cpp.

std::ostream& ToMPS std::ostream &  flux,
const Model m,
bool  verbose = true
[friend]
 

Surcharge de l'operateur de flux

Paramètres:
flux le flux à surcharger
m le modele à afficher
Renvoie:
Le flux surchargé

Définition à la ligne 1289 du fichier Model.cpp.


Documentation des données membres

FractionConvert Modelib::Model::_fract [private]
 

Définition à la ligne 116 du fichier Model.h.

Référencé par OutConstraintValues(), et OutNumVarValues().

MatriceCreuse<float> Modelib::Model::A [private]
 

Définition à la ligne 96 du fichier Model.h.

Référencé par Add(), AddToConstraint(), Clear(), EvalConstraint(), GetDual(), GetRelaxedConstraintExpr(), MatriceOccupation(), Normalize(), operator=(), Out(), OutDimensions(), RemoveConstraint(), RemoveVariable(), SurchargeFlux(), SurchargeFluxRelaxed(), et SurchargeMPSFlux().

map<VarId, std::string> Modelib::Model::comments [private]
 

Définition à la ligne 98 du fichier Model.h.

Référencé par AddComment(), Clear(), GetComment(), SetComment(), SurchargeFlux(), et SurchargeFluxRelaxed().

map<VarId, InternalConstraint> Modelib::Model::constraintMap [private]
 

Définition à la ligne 97 du fichier Model.h.

Référencé par Add(), AddToConstraint(), Clear(), GetAllLagrangianParams(), GetConstraint(), GetDual(), GetLagrangianParamValue(), GetRelaxedConstraintExpr(), GetSecondMember(), Normalize(), operator=(), OutConstraintValues(), OutDimensions(), RelaxConstraint(), SetConstraintValues(), SetLagrangianParamValue(), SetSecondMember(), SurchargeFlux(), SurchargeFluxRelaxed(), SurchargeMPSFlux(), et UnrelaxModel().

VarId Modelib::Model::hacheConstraintId [private]
 

Définition à la ligne 94 du fichier Model.h.

Référencé par AddComment(), AddExpr(), Clear(), et GetMaxConstraintId().

VarId Modelib::Model::hacheVarId [private]
 

Définition à la ligne 93 du fichier Model.h.

Référencé par AddVar(), Clear(), GetMaxVarId(), et operator=().

bool Modelib::Model::isFract [private]
 

Définition à la ligne 102 du fichier Model.h.

Référencé par Clear(), EndFraction(), operator=(), OutConstraintValues(), OutNumVarValues(), et PrintFraction().

bool Modelib::Model::isMax [private]
 

Définition à la ligne 100 du fichier Model.h.

Référencé par Clear(), GetDual(), Maximize(), Minimize(), Normalize(), operator=(), Out(), SurchargeFlux(), SurchargeFluxRelaxed(), et SurchargeMPSFlux().

bool Modelib::Model::isNormalized [private]
 

Définition à la ligne 105 du fichier Model.h.

Référencé par Clear().

bool Modelib::Model::isOptimal [private]
 

Définition à la ligne 103 du fichier Model.h.

Référencé par Clear(), operator=(), et Solve().

bool Modelib::Model::isRelaxed [private]
 

Définition à la ligne 101 du fichier Model.h.

Référencé par Clear(), IsRelaxed(), operator=(), RelaxConstraint(), SetRelaxed(), et UnrelaxModel().

bool Modelib::Model::isSolved [private]
 

Définition à la ligne 104 du fichier Model.h.

Référencé par Clear(), operator=(), et Solve().

unsigned Modelib::Model::MIPVar [private]
 

Définition à la ligne 106 du fichier Model.h.

Référencé par AddVar(), Clear(), operator=(), SetType(), et Solve().

Expr Modelib::Model::objectif [private]
 

Définition à la ligne 108 du fichier Model.h.

Référencé par Clear(), GetDual(), GetObjectif(), Maximize(), Minimize(), Normalize(), operator=(), Out(), OutDimensions(), RelaxConstraint(), Solve(), SurchargeFlux(), SurchargeFluxRelaxed(), SurchargeMPSFlux(), et UnrelaxModel().

float Modelib::Model::objectifActivity [private]
 

Définition à la ligne 109 du fichier Model.h.

Référencé par Clear(), operator=(), et Solve().

std::string Modelib::Model::objectifName [private]
 

Définition à la ligne 110 du fichier Model.h.

Référencé par Clear(), GetDual(), Maximize(), Minimize(), operator=(), SurchargeFlux(), SurchargeFluxRelaxed(), et SurchargeMPSFlux().

std::string Modelib::Model::problemName [private]
 

Définition à la ligne 111 du fichier Model.h.

Référencé par Clear(), GetDual(), GetProblemName(), operator=(), SetProblemName(), SurchargeFlux(), SurchargeFluxRelaxed(), et SurchargeMPSFlux().

SolverAPI Modelib::Model::solverAPI [private]
 

Définition à la ligne 114 du fichier Model.h.

Référencé par GetDual(), InitSolver(), operator=(), PushOptions(), RemoveOptions(), SetAPI(), Solve(), et SolveInfos().

std::map< VarId, Paire > Modelib::Model::unknowMap [private]
 

Définition à la ligne 95 du fichier Model.h.

Référencé par AddExpr(), AddToConstraint(), AddVar(), Clear(), GetDual(), GetMuteVar(), GetMuteVarLB(), GetMuteVarUB(), GetName(), GetType(), GetVarId(), Normalize(), operator=(), OutDimensions(), OutNumVarValues(), RelaxBool2Float(), RelaxInt2Float(), RemoveVariable(), SetMuteVarLB(), SetMuteVarLBStrict(), SetMuteVarUB(), SetMuteVarUBStrict(), SetName(), SetType(), SurchargeFlux(), SurchargeFluxRelaxed(), SurchargeMPSFlux(), et UnrelaxModel().


La documentation de cette classe a été générée à partir des fichiers suivants:
Généré le Sun Oct 2 19:14:09 2005 pour Modelib par  doxygen 1.4.4