WOLF AG

Afin d'exploiter pleinement les énormes capacités des logiciels de la suite WOLF, il convient d'être à même d'optimiser la valeur de certains paramètres encore mal connus tels les coefficients de frottements ou les coefficients d'inégale répartition de vitesse.
De plus, la fiabilité démontrée des logiciels de calcul développés au sein du HACH permet d'envisager un large éventail de problèmes des plus diversifiés pour lesquels une optimisation est nécessaire.
Par exemple, de nouvelles approches de la détermination des débits en rivière sont actuellement à l'étude grâce au logiciel WOLF1D. A partir des mesures de hauteurs d'eau en certains point d'une rivière, et sans recourt aux courbes de tarage souvent sujettes à discussion, qu'elle est la valeur du débit du cours d'eau (Méthode inverse de calage de paramètre) ? Dans un autre registre, quel est le turbinage idéal d'une centrale hydroélectrique afin de maximiser le profit tout en respectant des conditions de débit ou de volume turbiné ?

A cette fin, un logiciel d'optimisation a été implémenté " autour " de tous les programmes de la suite WOLF. Il permet d'optimiser à peu près n'importe quel paramètre accessible via un des logiciels disponibles.
Le fait que le logiciel d'optimisation devait être très robuste mais également très simple d'utilisation de façon à pouvoir aborder un grand nombre de problèmes totalement différents avec la même efficacité ainsi que le souci d'adopter une méthode identique pour tous les logiciels de la suite WOLF nous ont poussé à utiliser un algorithme génétique d'optimisation, algorithme qui rencontre toutes ces conditions.

Que sont les algorithmes génétiques ?

"Les algorithmes génétiques (AG) sont des algorithmes d'exploration fondés sur les mécanismes de la sélection naturelle et de la génétique." Ils travaillent sur une série de N représentations codées des paramètres à optimiser que l'on appelle une population de N chromosomes ou chaînes.
Pour chaque chromosome, on calcule une valeur de fonction objectif qui traduit la justesse des paramètres codés par rapport au problème à résoudre. Meilleurs sont les valeurs proposées pour les paramètres, plus grande est la valeur de la fonction objectif.
L'algorithme fait alors évoluer " de façon naturelle " la population de départ, avec comme principe directeur que les chromosomes les mieux adaptés, pour lesquels la valeur de la fonction objectif est la plus grande, ont plus de chance de survivre et de conduire à la solution optimale. Les AG se situent donc entre les méthodes classiques d'optimisation qui s'appliquent localement dans l'espace à considérer, et les méthodes purement aléatoires ou d'exploration systématique qui explore le champs de variation des paramètres dans son ensemble. En fait, les AG mènent de façon intelligente une exploration pseudo-aléatoire de l'espace de variation des paramètres du problème à optimiser.

Les différences fondamentales des AG par rapport autres méthodes plus classiques d'optimisation se regroupent en 4 axes principaux (Goldberg) :
 

  • Les AG utilisent un codage des paramètres et non les paramètres eux-mêmes,
  • Les AG travaillent sur une population de points au lieu d'un point unique,
  • Les AG n'utilisent que les valeurs de la fonction étudiée, pas sa dérivée ou une autre connaissance auxiliaire,
  • Les AG utilisent des règles de transition probabilistes et non déterministes.
    On peut donc penser que les AG permettent de s'affranchir de la difficulté qu'ont les méthodes plus traditionnelles à étudier des fonctions bruitées et discontinues ou à assurer la convergence vers un extremum absolu, tout en évitant un parcours systématique extrêmement coûteux des espaces de variation des paramètres.