Sous-sections
Mots clés : optimisation sous
contraintes, algorithme de points intérieurs, algorithme de
quasi-Newton, différentiation automatique .
- Algorithmes de points intérieurs
- Méthodes numériques d'optimisation adaptées à la
résolution des problèmes soumis à un grand nombre de
contraintes d'inégalité. Dans cette approche, les itérés
sont maintenus dans l'intérieur du domaine admissible. On
les qualifie de non-linéaires s'ils sont conÇus pour
résoudre des problèmes non linéaires.
- Méthodes de quasi-Newton
- Méthodes numériques d'optimisation permettant de
construire une approximation d'un hessien à partir des
dérivées premières. Celles-ci permettent d'éviter le
calcul coûteux des dérivées secondes et d'accélérer la
convergence des algorithmes du premier ordre.
- Différentiation automatique
- Méthodes numériques et informatiques permettant de
générer un programme calculant en un point les dérivées
d'une fonction qui n'est connue que par la donnée d'un
autre programme informatique.
Les problèmes inverses ou d'estimation de paramètres
considérés dans le projet Estime se formulent en général
comme des problèmes d'optimisation d'une fonctionnelle de
moindres carrés. C'est pourquoi il existe dans le projet une
activité de recherche dans le domaine de l'optimisation.
En termes généraux, on s'intéresse aux méthodes numériques
pour résoudre les problèmes qui reviennent à minimiser un
critère scalaire
x
Rn
f(x)
R,
les variables à optimiser x devant éventuellement vérifier des
contraintes d'égalité cE(x) = 0 et
d'inégalité
cI(x)
0, où
cE :
Rn
RmE et
cI :
Rn
RmI. Nous nous
plaÇons dans le contexte de l'optimisation différentiable, où
les fonctions f,
cE
et cI sont
régulières, par exemple de classe C1.
Algorithmes de points intérieurs non-linéaires
Les
méthodes de points intérieurs (PI) sont récemment
apparues comme pouvant offrir une approche intéressante pour
résoudre des problèmes d'optimisation non-linéaires avec
contraintes. Ces méthodes ont été introduites au milieu des
années 80 en optimisation linéaire (minimisation d'un
critère linéaire sous des contraintes affines). Elles ont
donné lieu à de nombreuses études après qu'à la suite des
travaux de Karmarkar on ait montré qu'elles pouvaient être
beaucoup plus efficaces que l'algorithme du simplexe
jusqu'alors utilisé, notamment lorsqu'il y a un grand nombre
de contraintes d'inégalité. Les algorithmes adaptés à
l'optimisation linéaire sont à présent bien stabilisés.
Les succès remportés par les méthodes de PI en
optimisation linéaire avec un grand nombre de contraintes ont
conduit de nombreux chercheurs à étendre les concepts de base
de l'approche à d'autres types de problèmes d'optimisation.
Ces dernières années, d'importants efforts ont été fournis
pour développer ces techniques en optimisation semi-définie
positive (critère linéaire et contraintes de semi-définie
positivité sur la valeur matricielle prise par une
application affine des inconnues), en optimisation sous
contraintes coniques (généralisation du problème précédent),
en optimisation convexe, etc ...
L'application de l'approche par PI aux problèmes
d'optimisation non-linéaires généraux est plus récente et
constitue une part importante de nos recherches. Ces
problèmes sont très difficiles à résoudre, d'une part du fait
des contraintes d'inégalité (parce que l'on ne sait pas à
l'avance quelles vont être les contraintes ci, i
I,
qui seront nulles - on dit actives - en la solution) et
d'autre part du fait de la non convexité éventuelle de ces
problèmes. L'approche par PI repousse astucieusement « à
l'infini » la première difficulté, en introduisant un
paramètre
>
0 perturbant les conditions d'optimalité, là où la
combinatoire du problème s'exprime (dans les conditions de
complémentarité). On fait tendre celui-ci progressivement
vers zéro, pour forcer les itérés à se rapprocher de la
solution. Cette technique permet donc de maîtriser la
combinatoire intrinsèque de ces problèmes, liée à la
détermination des contraintes actives. La seconde difficulté
est plus classiquement surmontée par l'utilisation de
techniques quasi-Newtoniennes ou d'une approche combinant
région de confiance ou recherche linéaire et gradient
conjugué tronqué.
L'action coopérative OPINeL lancée en 1997 et qui a pris
fin en août 2000 est liée à ce thème de recherche. Elle a eu
pour but d'étudier et de contribuer à l'amélioration des
méthodes de PI pour résoudre efficacement les problèmes
d'optimisation non-linéaires généraux et de tester les
algorithmes proposés sur diverses applications (cf. 5.6.1).
Dans la résolution des grands problèmes,
le calcul des dérivées premières et secondes reste une
difficulté importante, malgré les progrès réalisés en
différentiation automatique. En optimisation, les
méthodes de quasi-Newton ont été conÇues pour
permettre de construire une approximation d'un hessien à
partir de gradients calculés en divers points. On comprend
bien en effet que la variation du gradient lorsque l'on passe
d'un itéré à l'autre donne de l'information sur les dérivées
secondes. Cette technique qui s'est beaucoup développée dans
les années 70 et 80 continue à être étudiée pour
s'appliquer à des contextes particuliers ou nouveaux.
Citons :
- l'optimisation sur les variétés,
- les méthodes de points intérieurs,
- les problèmes de moindres-carrés non linéaires (pour
approcher les dérivées secondes des résidus et accélérer
ainsi l'algorithme de Gauss-Newton),
- génération dynamique de préconditionneurs
quasi-newtoniens dans la résolution de systèmes linéaires
en cascade.
Avec la différentiation automatique, on cherche
au contraire à mettre à la disposition du numéricien des
outils lui permettant de calculer les dérivées, en principe
d'ordre quelconque, de manière efficace et précise, d'une
fonction qui n'est connue que par un programme informatique.
On distingue un mode direct et un mode inverse de
différentiation. Le mode direct est bien adapté au
calcul des dérivées directionnelles d'une fonction à valeurs
vectorielles. Le mode inverse peut être vu comme une
automatisation de la technique de l'état adjoint. Il permet
de calculer toutes les dérivées partielles formant le
gradient d'une fonction à valeurs scalaires en un temps qui
est du même ordre que celui nécessaire à l'évaluation de la
fonction. Il est donc intéressant en optimisation où le
gradient est l'objet numérique de base.