Projet R Libraries

1 Description

Le projet R Libraries propose un ensemble de classes C++ génériques offrant des outils pour développer des applications de recherche. Le développement démarre en 1998 alors que la Standard Template Library (STL) du C++ n'était pas disponible pour tous les différents systèmes d'exploitation. Il a depuis fait l'objet de nombreux développements.
En fait, le projet R Libraries va plus loin que la STL puisqu'il fournit également des classes pour manipuler des fichiers XML, plusieurs algorithmes génétiques, une implémentation de la méthode d'aide à la décision PROMETHEE, ou encore une gestion de fichiers de configuration. En adoptant un ensemble de conventions cohérent, le projet R Libraries se positionne plus comme un environnement de développement d'applications.

2 Les composants

Actuellement, le projet R Libraries se compose de trois librairies C++ :
  1. La librairie RCore propose un ensemble de classes C++ indépendantes. En plus de classes génériques (comme des strings ou des containers), la librairie RCore inclut des classes pour manipuler des documents textes et des fichiers XML, une application générique (incluant la gestion de fichiers de configuration) ou encore un mini-langage script.
  2. La librairie RMath propose quelques classes C++ pour différents besoins mathématiques, comme le calcul matriciel ou la gestion de graphes.
  3. La librairie ROptimization est dédicacée à l'implémentation d'algorithmes utiles pour résoudre des problèmes d'optimisation. Outre un algorithme génétique générique, la librairie propose une implémentation des 2D-Genetic Algorithms (2D-GA), des Hierarchical Genetic Algorithms (HGA), des Grouping Genetic Algorithms (GGA), du Similarity-based Grouping Genetic Algorithm (SGGA) et du Nearest Neighbors Grouping Genetic Algorithm (NNGGA). Elle implémente également la méthode d'aide à la décision PROMETHEE.
Le projet R Libraries ne prévoit pas, pour l'instant, de proposer des classes C++ graphiques. Néanmoins, chaque librairie fournit quelques composants graphiques Qt/KDE pour manipuler certaines classes. Une description des étapes à suivre pour installer les librairies est disponible sur WikiCS.