librairie de minimisation : Passage d'une librairie en C++ standard

Le
meow
Bonjour,

Pour mes recherches je vais avoir besoin de faire des
minimisations, et comme je suis paresseux je cherche une librairie C++
qui m'évite de recoder tous les algorithmes. J'ai vu GSL qui semble
correcte quoiqu'un brin spartiate, ainsi que Coool, qui pour le coup a
l'air d'etre un joli effort de design objet, doublé d'un ensemble
assez complet de techniques de minimisations parmi lesquelles faire
son marché. Petit soucis cependant, la bibliothèque en question a
l'air de ne plus etre maintenu depuis gcc 3.2 Du coup, à la
première compil, ça rue dans les brancars. D'où mes deux questions :
1. connaissez vous de bonnes bibliothèques, facile d'emploi pour
faire de la minimisation de fonction ?
2. est-il facile et envisageable de rendre une bibliothèque (74
fichiers ) plus conforme à la norme (d'après la doc elle semblait
encore compiler sous gcc 3.2.7) J'ai déjà commencé à qualifier
certains noms à grands coup de "this->", mais clairement il y a des
subtilités supplémentaires qui m'chappent.

Cordialement
--Ben
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Adrien Saladin
Le #313233
Bonjour,


1. connaissez vous de bonnes bibliothèques, facile d'emploi pour
faire de la minimisation de fonction ?


J'avais prévu à terme d'include Opt++ ( http://csmr.ca.sandia.gov/opt++/ )
dans mon programme. Pour l'instant j'utilise un minimiseur en fortran que
j'ai interfacé avec C++. Je t'en parle car il a été porté en C++ également.
http://en.wikipedia.org/wiki/L-BFGS
Ceci dit la version fortran fonctionne très bien.


Adrien

meow
Le #313232
Bonjour Adrien, et merci pour ta réponse. Entre temps (et comme évoqué
sur un autre fil peut etre moins adapté en effet), j'ai trouvé (pas
encore testés) :
* Opt++ : C++ , hiérarchie objet, j'ai lu l'article de présentation et
ça a l'air correct et en plus y'a une doc !
* GSL : plutot du C, donc pour l'objet on repassera, mais couteau
suisse de calcul scientifique, avec entre autre de la minimisation.
Sur ce chapitre cependant ça n'a pas l'air très exhaustif, et en
particulier je n'ai pas l'impression que ça gère la minimisation sous
contraintes.
* Coool : plus maintenu, pas de doc, mais pour ce que j'ai testé ça a
l'air correct et facile d'emploi. Pour la petite histoire le
basculement en C++ standard a été rapide : une signature de fonction
(operateur + externe à la classe) à modifier dans les premires lignes
d'un fichier, et une flopée de this-> (on appelle bien ça "qualifier",
non ?) pour préfixer des attributs dans les 3 classes de matrice.
Rapide donc.

Sinon, dans la dernière publi concernant opt++ j'ai relevé un grand
nombre d'autres efforts dans le domaine, mais je n'ai pas été regarder
de plus près. Par soucis d'exhaustivité je liste tout de meme ici :
HCL, RVL, SCL , OOPS, OOQP, MOOCHO, rSQP++, TAO, NOMAD
Adrien
Le #313231
meow wrote:


* GSL : plutot du C, donc pour l'objet on repassera, mais couteau
suisse de calcul scientifique, avec entre autre de la minimisation.


Je n'ai pas testé la GSL. A noter tout de même que la GSL étant sous licence
GPL, tu es obligé de distribuer ton code sous GPL aussi, donc avec les
sources. Ca pourrait ne pas te convenir, mais c'est quand même mieux que les
algorithmes de numerical recipes qui t'interdisent de publier ton code
source...

Opt++ est L-GPL, donc tu peux faire ce que tu veux avec ton programme.

Je n'ai pas testé les autres librairies dont tu parles, mais je vais les
noter au cas où.

Publicité
Poster une réponse
Anonyme