Vous êtes sur la page 1sur 10

1

Grenoble INP ENSE3, 11 septembre 2014

Problmes et algorithmes doptimisation (6 heures)


_______
1. Objectif de ce Bureau d'tudes
Lobjectif de ce Bureau dEtudes est dtudier les comportements et les spcificits
de quelques algorithmes doptimisation sur des problmes doptimisation
acadmiques. La mise en uvre de ces algorithmes sur un problme plus raliste fera
lobjet dun autre BE. Pour raliser cette tude nous utiliserons GOT-It, un logiciel
co-dvelopp par la socit CEDRAT et le G2Elab (Laboratoire de Gnie Electrique
de Grenoble).
Le texte de ce sujet dbute par 2 sections introductives :
- la dfinition des 3 problmes doptimisation qui serviront de support aux tudes,
- une prsentation rapide du logiciel doptimisation qui sera utilis,
Il se poursuit par 4 sections explicitant les tudes raliser :
- une exprimentation sur le problme unimodal de Rosenbrock,
- une exprimentation sur le problme multimodal de Belledonne,
- une exprimentation sur le problme multiobjectif BiSphre,
- une tude de robustesse des solutions sur le problme de Belledonne.

2. Les problmes doptimisation tudis


Un problme doptimisation de dimension n peut tre crit de faon gnrale sous la
forme :
minimiser
f ( x ) = f ( x1 , x2 ,..., xn ) avec x = {x1 , x2 ,..., xn } n
en respectant
Gi (x ) = 0
i = 1,..., me
Gi (x ) 0
i = me + 1,..., m
x min
x j x max
j = 1,..., n
j
j

o
La quantit f(x) est un critre minimiser, appel aussi fonction objectif. Il
peut y avoir plusieurs critres.
Le vecteur x est constitu de n variables xj qui reprsentent les paramtres du
problme.
Les fonctions Gi(x) reprsentent les contraintes dgalit et dingalit.
Les valeurs x min
et x max
dsignent les contraintes de domaine.
j
j

Grenoble INP ENSE3, 11 septembre 2014

Exemple 1 : Le problme de Rosenbrock


Minimiser f1 ( x1 , x 2 ) = 100 ( x 2 x12 ) 2 + ( x1 1) 2
avec 2 x1 +2
2 x 2 +2
Ce problme possde un seul optimum f1 (1,1) = 0 .

Exemple 2 : Le problme multimodal de Belledonne


Minimiser f 2 ( y1 , y2 ) = (1 - y12 )cos(5 y1 ) + (12 - y2 2 )cos( 4 )
y 2 + 0.3

avec
0 y1 2
0 y2 2
Ce problme possde 1 minimum global f 2 (1.36864,0.01548) = -12.73956 et 3 minima locaux
f 2 (0.56434,0.01548) = -12.64671 , f 2 (1.36864,0.86648) = -11.92323 et f 2 (0.56434,0.86648) = -11.83038 .

Exemple 3 : Le problme multiobjectif BiSphere


Minimiser simultanment f 31 ( z1 , z 2 ) = ( z1 1) 2 + z 2 2
et f 32 ( z1 , z 2 ) = z12 + ( z 2 1) 2
5 z1 +5
5 z 2 +5
avec
Les deux solutions partielles f 31 (1,0) = 0 et f 32 (0,1) = 0 ne peuvent pas tre atteintes
simultanment. Il faut ncessairement envisager un compromis entre les deux
objectifs. Il y a une infinit de compromis possibles.
3. Prsentation rapide du logiciel doptimisation GOT-It.
GOT-It donne la possibilit de dcrire un problme doptimisation, de slectionner
un algorithme doptimisation, de lancer une optimisation et danalyser les solutions.
Sur le rseau de lENSE3, la version 2 du logiciel est disponible, cependant nous
allons utiliser une version 2-beta, plus rcente, accessible comme suit
- Connecter un lecteur "O:" sur \\FSRV1\Pedagogie\Dist-JLC
- Ouvrir une fentre sur "O:"
- Lancer le plus rcent
got_dist\gotit_exec_GOT_Vyyyy-mm-dd.bat
(double clic)
- Si le logiciel communique en anglais, basculer en franais (tools ->
Prefererences -> FRENCH puis quitter et relancer le logiciel)
- Crer un nouveau projet (Projet > Crer nouveau projet).
Remarque : Une version allge de ce logiciel, nomme FGot, est tlchargeable librement http://forgemage.g2elab.grenoble-inp.fr/project/got. Les fonctionnalits de FGot sont suffisantes pour ce TP. Attention, les fichiers
*.fgot sont lisibles par GOT-It, mais la rciproque nest pas vrai.

Description dun problme doptimisation :


- La commande Paramtre permet de dcrire pour chaque paramtre (x1,x2,...)
son nom, sa valeur (utilise comme valeur initiale par certains algorithmes

Grenoble INP ENSE3, 11 septembre 2014

doptimisation), ses valeurs minimale et maximale, sa grille darrondi et son


unit. Il est possible de fixer un paramtre ou dindiquer sil est incertain.
- La commande Fonction permet de dcrire des fonctions auxiliaires.
- La commande Fonction doptimisation permet de dcrire les noms et
expressions des buts atteindre (f1, f2, ) et des contraintes (g1, g2, ).
- La commande Problme doptimisation permet de dcrire pour chaque
problme doptimisation son ou ses objectifs et ses contraintes.
Slection dun optimiseur :
- La commande Algorithme doptimisation permet de slectionner un optimiseur
en mesure de rsoudre un problme doptimisation.
Remarque : Un optimiseur est le plus efficace en prcision et cot (nombre dvaluations) lorsquil est employ pour
rsoudre le type de problme doptimisation pour lequel il a t conu (monoobjectif / multiobjectif, non contraint /
contraint).

Optimisation :
- La commande Optimisation permet de lancer loptimisation dun problme
doptimisation laide dun optimiseur.
Analyse :
- La commande Outil danalyse permet danalyser la ou les solutions et permet
aussi de visualiser graphiquement les fonctions.
4. Exprimentation sur le problme de Rosenbrock
Dans cette premire exprimentation, nous allons utiliser le problme de Rosenbrock
(rechercher sur internet) pour mettre en vidence le fonctionnement des algorithmes
doptimisation mis notre disposition.
- Crer un nouveau projet (lui associer par exemple le nouveau fichier
Rosenbrock.gotit).
- Dcrire les paramtres continus x1 et x2 (prendre 1/10000 comme taille de
grille pour x1 x2, ne pas dfinir dunit) et la fonction de Rosenbrock f1 (la
nommer F1) (loprateur lvation la puissance est **, par exemple
( x1 1) 2 se code (x1-1)**2 ).
- Visualiser la fonction F1 (essayer "Traceur courbes", "Evaluateur", "Traceur
isovaleurs", "Traceur surface" disponibles dans Outil danalyse).
- Passer du contexte Paramtrique au contexte Optimisation.
- Dans le menu Rglage , cocher la case Vider le cache .
- Dans Fonction doptimisation crer OF1, le But de minimisation, avec F1 pour
fonction et 5E-5 pour cible (le but atteindre est F1 infrieur ou gal 5E-5).
- Dcrire le Problme doptimisation (le nommer Rosenbrock) dont le but
unique est OF1.

Grenoble INP ENSE3, 11 septembre 2014

- Slectionner un algorithme doptimisation SQP (le nommer SQP).


- Crer et excuter lOptimisation du problme Rosenbrock avec SQP (faire
plusieurs essais avec pour x1 x2 les valeurs initiales [2, 2], [0, 0], [2, -2], [-2, 2], [-2, 2]). Si ncessaire, augmenter le nombre maximal ditrations. Relever
les nombres ditrations de lalgorithme et dvaluations de la fonction.
Expliquer la diffrence entre itrations et valuations ?
Astuce 1 : Dans larbre de donnes, un clic droit sur une optimisation puis Analyser renseigne sur les rsultats
obtenus.
Astuce 2 : Une optimisation dj ralise peut tre re-excute en tenant compte des modifications (entre autres) des
paramtres. Pour cela, dans larbre de donnes, faire un clic droit sur loptimisation puis Excuter.
Astuce 3 : Le droulement de loptimisation peut tre re-visualis. Pour cela, dans sa fentre graphique, slectionner
le panneau [x2](x1), clic droit sur la figure puis Rejouer.
Astuce 4 : Dans la fentre graphique, il est possible dajouter ou denlever des panneaux de droulement
doptimisation (clic droit sur le fond de panneau ou sur nimporte quel onglet, par exemple sur [x2](x1) ).
Astuce 5 : La slection dans larbre de donnes de plusieurs objets (exemple : les paramtres, lalgorithme
doptimisation, loptimisation, ) suivie de Editer, dbute une dition simultane dans une table. Le bouton Excuter,
permet de re-excuter (aprs Valider, si un objet a t modifi) sans quitter ldition simultane.
Remarque sur la cible dune fonction doptimisation : La cible dune fonction doptimisation permet dindiquer
lalgorithme doptimisation une valeur atteindre. Si aucune cible nest dfinie, lalgorithme cherche la plus petite
valeur possible dans le cas dune minimisation ou la plus grande valeur possible dans le cas dune maximisation. Dans
les situations o la fonction doptimisation est coteuse, il est usuel de dfinir une cible atteindre relativement modeste
afin de limiter le cot de loptimisation. Dans le cas dune fonction test dont loptimum est connu, il est commode de
fixer une cible, car le nombre dvaluations ncessaires pour atteindre la cible est alors un indicateur de performance de
lalgorithme.
Remarque sur les performances dun algorithme : Les performances dun algorithme doptimisation se mesurent au
nombre dvaluations des fonctions objectifs et contraintes ncessaires pour obtenir une solution acceptable. Dans les
cas dune utilisation raliste, chaque valuation peut en effet ncessiter plusieurs minutes, plusieurs heures, voire
plusieurs jours de calcul ! Pour rduire les temps de calcul, le logiciel GOT-It est quip dun cache, de capacit
limite, permettant de conserver les valuations les plus rcentes obtenues lors dune session. Cependant, lorsquil sagit
de comparer les performances de deux algorithmes doptimisation, le cache est un lment perturbateur. Pour faire des
tudes comparatives sur le nombre dvaluations ncessaires aux algorithmes doptimisation indpendamment de leur
ordre dexcution dans une session, il est judicieux de demander la rinitialisation automatique du cache (menu
Rglage cocher Vider le cache). Pour se rendre compte de leffet du cache sur le droulement propre de chaque
algorithme (ce nest pas demand ici), il faudrait le dsactiver totalement (menu Rglage - dcocher Activer le cache).
Lorsque la case Vider le cache est coche, un panneau supplmentaire donnant le nombre dvaluations des fonctions
apparat dans la fentre graphique la fin de loptimisation.

Faire une deuxime srie dexpriences en choisissant cette fois un algorithme


gntique (le nommer GA). Ici, il ne sera pas ncessaire de changer les valeurs
initiales de x1 x2, leur rle se limitant la constitution dun seul des individus de la
population initiale, le droulement de cet algorithme stochastique en dpend peu. Le
fonctionnement de loptimiseur GA dpend par contre des probabilits associes aux
oprateurs stochastiques de croisement et de mutation (ditables en mode expert) et
de la taille de la population. Par ailleurs, le nombre de gnrations doit tre
suffisamment important pour ne pas conduire un arrt prmatur.
Le droulement dpend aussi par nature des tirages pseudo alatoires effectus. A
taille de population et probabilits des oprateurs stochastiques fixes, il est
indispensable, pour estimer les performances dun algorithme stochastique, de

Grenoble INP ENSE3, 11 septembre 2014

raliser plusieurs optimisations en modifiant la graine du gnrateur de nombres


pseudo alatoires. Pour cela, en mode dition, effacer la graine du gnrateur (dans
lditeur voir longlet Options), relancer et relever chaque fois les nombres
dvaluations de OF1 ncessaires pour atteindre la cible. Rappel, dans le menu
Rglage, la case Vider le cache doit tre coche pour que les nombres dvaluations
soient affichs.
Conclure sur les avantages et les inconvnients des deux algorithmes utiliss,
notamment en termes de nombre dappels (dvaluations) la fonction objectif, en
termes de prcision de la solution finale et de condition dutilisabilit.
Astuce : Le journal de bord conserve, sous forme de fiches, la trace des oprations ralises. Un menu contextuel,
associ chaque fiche, permet dditer un commentaire ou de supprimer une fiche inutile. Il est recommand, au fur et
mesure de leur cration, de fermer les fiches inutiles et de commenter celles conserves.

Sauvegarder ce projet et son journal de bord (le fichier journal de bord est un
document HTML consultable avec un navigateur) et sortir du logiciel.

5. Exprimentation sur le problme de Belledonne


Dans cette partie, nous allons dcouvrir les spcificits dun problme multimodal.
Ouvrir un nouveau projet (lui associer par exemple le nouveau fichier
Belledonne.gotit).
Visualiser la fonction Belledonne (les fonctions cosinus et racine carre se codent
Cos et Sqrt) (remarque : pour bien visualiser F2 par "Traceur surface" il faut au
moins 101 points pour Y1 et Y2).
Raliser quelques optimisations avec SQP et GA (prendre 1/100000 comme taille
de grille pour y1 y2) (prendre -12.73953 comme cible de la fonction doptimisation
OF2).
Relever le cot moyen de GA dans sa recherche de loptimum global, sur un nombre
de rsolutions significatif (au moins 20).
Astuce : Dans le contexte Optimisation enrichie et afin dautomatiser les essais, crer et utiliser un Optimiseur
rptitions. Cet optimiseur rpte les excutions de son optimiseur interne (par exemple GA) autant de fois que
ncessaire (par exemple 20) et retourne tous les rsultats obtenus.

Ici, quelles sont les forces et les faiblesses de lalgorithme dterministe ? Mme
question pour lalgorithme stochastique ?
Slectionner un algorithme de nichage (le nommer Niching) et lancer une
optimisation avec cet algorithme. Etudier les solutions retournes par lalgorithme.

Grenoble INP ENSE3, 11 septembre 2014

Quelle est la diffrence principale entre cet algorithme et un algorithme gntique


classique et quel est lintrt ?
En conclusion, quel algorithme est le mieux adapt pour rsoudre le problme de
Belledonne ?
Sauvegarder ce projet et son journal de bord et sortir du logiciel.
6. Exprimentation sur le problme BiSphere
Dans cette partie, nous allons dcouvrir les spcificits dun problme multiobjectif.
Ouvrir un nouveau projet (lui associer par exemple le nouveau fichier
BiSphere.gotit).
Dans le logiciel, dcrire les paramtres et les objectifs F31 et F32.
Rsolution usuelle laide dun optimiseur monoobjectif :
La mthode usuelle consiste rsoudre un problme mono objectif (compromis entre
les deux objectifs) :
Minimiser

f 3 ( z1 , z 2 ) =

(1 u )
(1 + u )
f 31 +
f 32
2
2

avec

1 u +1

La grandeur u permet de pondrer les deux objectifs : lorsque u=-1, la fonction f3 se


rduit f31 , lorsque u=+1, elle se rduit f32, lorsque u=0, f3 est la moyenne des
objectifs, etc.
Dans le logiciel introduire une fonction constante u=0 (une fonction et non un
paramtre pour viter les confusions en optimisant), puis construire la fonction F3
ci-dessus.
Avec un optimiseur SQP dterminer le minimum de F3 et relever les valeurs de z1,
z2, f3, f31 et f32. Effectuer cette opration successivement pour u= -1, -0.5, 0, +0.5, 1.
Positionner (graphique main leve) toutes les solutions z1, z2 dans lespace des
variables. Constatation ? Etait-ce prvisible (dterminer analytiquement z1(u), z2(u)
en 4 lignes de calcul) ?
Positionner (graphique main leve) toutes les solutions dans lespace des objectifs
f31 et f32.

Grenoble INP ENSE3, 11 septembre 2014

Rsolution laide dun optimiseur multiobjectif :


Maintenant, construire un problme multiobjectif nomm BiSphere. Prendre un
problme but multiple avec deux objectifs (sans dfinir de cible) et sans contrainte.
Slectionner un optimiseur multiobjectif GMGA (le nommer GMGA).
Lancer loptimisation de BiSphere avec GMGA.
Expliquer le concept de solution domine, de solution non domine et de frontire de
Pareto. Entre solution domine et solution non domine quelle est la plus
intressante ? En dduire le principe de fonctionnement de GMGA.
Aprs optimisation, visualiser le front de Pareto (F32,F31), laide de loutil
dexploitation des rsultats "Frontire de Pareto".
Comparer les deux mthodes de rsolution notamment lorsque le nombre dobjectif
est suprieur 2.
Sauvegarder ce projet et son journal de bord et sortir du logiciel.
7. Robustesse des solutions du problme de Belledonne
Un produit est dit robuste si sa rponse est peu modifie par des perturbations. Un
produit optimis, mais qui ne fonctionne que dans des conditions particulirement
pointues, ne sera pas robuste.
Il est possible de dfinir 4 approches de conception qui donneront des solutions avec
des caractristiques diffrentes (dispersion et performances). Ces 4 approches sont :
- Solution nominale : On recherche une solution qui respecte le cahier des
charges (ce processus peut mettre en uvre une modification par ttonnements
dun faible nombre de paramtres de conception). On ne cherche pas a priori
maximiser un critre. Cette tape peut ventuellement tre suivie par une tude
de sensibilit.
- Etude de sensibilit : On tudie limpact des perturbations sur la performance
pour une solution donne.
- Solution optimise (optimisant la performance) : On cherche, parmi plusieurs
solutions, celle permettant de maximiser les critres de performance : on
boucle phase de conception (en faisant varier les paramtres de conception) et
phase dvaluation des performances (en valuant les critres de performance).
- Solution robuste (optimisant robustesse et performance) : On cherche, parmi
plusieurs solutions, celle qui soit la fois optimise en performance et en
robustesse. Pour cela, on est amen boucler phases de conception et
dvaluation des performances et de la robustesse. On est alors amen
effectuer un compromis entre robustesse et performance.

Grenoble INP ENSE3, 11 septembre 2014

Dans cette partie nous dcouvrirons en premier lieu les outils notre
pour tudier la sensibilit et la robustesse dune solution (Traceur de
Evaluateur stochastique, Evaluateur dintervalles, Pire dviation,
probabiliste), puis nous les utiliserons pour dterminer une solution
problme de Belledonne.

disposition
variations,
Dviation
robuste au

a) Dcouverte des outils


Il est important de rappeler ici lexistence dune grille darrondi associe chaque
paramtre. Les seules valeurs autorises des paramtres durant une optimisation sont
prises sur cette grille. Dans un contexte industriel cette grille pourrait reprsenter les
valeurs ralisables en fabrication pour ce paramtre. Dans un tel contexte, plus la
grille sera fine, plus la ralisation du paramtre sera dlicate et donc coteuse.
Recharger le projet Belledonne.gotit et imposer 1/1000 comme tailles de grille pour
tous les paramtres. Ce pas de grille, beaucoup plus lche que dans ltude initiale,
permettra de mieux mettre en vidence les concepts de robustesse dun point de
fonctionnement.
Prciser de plus que tous les paramtres sont incertains (basculer les options
correspondantes).
Optimiser une fois pour toutes avec lalgorithme de nichage qui fournit les 4
solutions (dindex 0, 1, 2 et 3).
Traceur de variations :
- Lancer loutil Traceur de variation sur la fonction F2 en centrant lanalyse
autour de la solution dindex 0 (voir astuce ci-dessous) et en prenant un
nombre de points important (par exemple 101). Quel type dinformation
apporte ce graphique ? Quelle information il napporte pas ?
Evaluateur stochastique :
- Lancer un Evaluateur stochastique sur la fonction F2 en centrant lanalyse
autour de la solution dindex 0 (voir astuce ci-dessous) et en prenant un
nombre de points important. Relever les rsultats. Expliquer brivement le
mcanisme dvaluation stochastique (mot clef pour une recherche Internet
"Mthode de Monte Carlo" ? Quel est lintrt de cet outil dans une tude de
robustesse ?
Remarque : dans cette analyse, les pas des grilles darrondi permettent de rgler les carts types des variations
des paramtres autour de la solution analyse (cart type = pas de grille).

Grenoble INP ENSE3, 11 septembre 2014

Evaluateur dintervalles :
- Lancer un Evaluateur sur la fonction F2 en centrant lanalyse autour de la
solution dindex 0 (voir astuce ci-dessous) et en demandant une analyse
dintervalles (option de lvaluateur configurer). Relever les rsultats.
Donner (une dizaine de lignes au maximum) le principe de larithmtique des
intervalles et ses limites. Quel est lintrt de cet outil dans une tude de
robustesse ?
Constatations : a) Loptimisation donne F2(1.368,0.016)=-12.727; b) Le
minimum (voir page 2) est -12.739 ; c) Lanalyse dintervalle dans le rectangle
[1.362 : 1.374][0.010 : 0.022] donne [-12.767:-10.780] pour F2.
Questions : a) Pourquoi loptimisation ne donne pas -12.739 ? b) Quelle
interprtation donner un intervalle [-12.767:-10.780] aussi important ? c)
Dans un vrai problme, le minimum nest pas connu lavance. Que suggre
alors le "-12.767" de lanalyse dintervalle ?
Remarque : dans cette analyse, les pas des grilles darrondi permettent de rgler les intervalles de variations
des paramtres autour de la solution analyse (amplitude intervalle = 3 fois le pas de grille).

Fonction "Pire dviation" :


Crer la fonction Pire dviation -> Dviation maximale de la fonction F2 en la
nommant D2. Evaluer D2 (avec un Evaluateur) pour la solution dindex 0.
Relever les rsultats. Expliquer le principe de cette estimation plutt
pragmatique, en particulier expliciter lhypothse faite sur F2. Quels sont les
avantages et inconvnients de cet outil (notamment par rapport lanalyse
dintervalle) ?
Remarque : dans cette analyse, les pas des grilles darrondi permettent de rgler les amplitudes des variations
des paramtres autour de la solution analyse (amplitude variation = 3 fois le pas de grille) (recherche internet
"rgle 689599.7" ou "rgle des trois sigmas").

Fonction "Dviation probabiliste" :


- Crer la fonction Dviation probabiliste -> Ecart type de la fonction F2 en la
nommant S2. Evaluer S2 (avec un Evaluateur) pour la solution dindex 0.
Relever les rsultats. Lestimation de lcart type ainsi obtenue est relativement
peu coteuse (2*N+1=5 valuations dterministes de la fonction F2 autour de
la solution). Comparer avec la mthode de Monte Carlo.
Remarque : dans cette analyse, les pas des grilles darrondi permettent de rgler les carts types des variations
des paramtres autour de la solution analyse (cart type = pas de grille).
Astuce : Pour centrer une analyse autour dune solution avec les outils de cette section, il nest pas ncessaire de
redfinir les valeurs des paramtres chaque fois. Il suffit doptimiser une seule fois avec lalgorithme de nichage qui
fournit les 4 solutions et, dans lun quelconque des outils danalyses, de remplir la case Optimisation dfinissant le
point de rfrence et la case Index de la solution dans loptimisation (ici lindex peut tre 0, 1, 2 ou 3 puisquil y a
4 solutions) (les solutions sont ordonnes selon les valeurs de lobjectif, lindex du minimum global est 0), puis de
valider.

10

Grenoble INP ENSE3, 11 septembre 2014

b) Dtermination dune solution robuste du problme de Belledonne :


Exprimenter les trois approches permettant de trouver un optimum robuste.
i) Approche "analyse de robustesse a posteriori" manuelle :
Dans cette approche, les optima sont dtermins de manire classique puis compars
manuellement. Comparer donc les 4 optima du problme obtenus par loptimisation
multimodale (nichage) en utilisant au moins deux des outils danalyse prcdents
(Traceur de variations, Evaluateur stochastiques, Evaluateur dintervalles, Pire
dviation, Dviation probabiliste). Quelle est la solution la plus robuste ?
ii) Approche "analyse de robustesse a posteriori" assiste:
Dans cette approche, les optima sont dtermins de manire classique puis compars
au moyen de Post fonctions. Pour cela, crer une nouvelle optimisation ddie au
problme Belledonne, avec un algorithme de nichage, quipe de F2 et D2 ou S2 en
post fonctions, limitant le nombre de solutions la quantit utile (Max solutions =
4), sans limitation sur le post processing (Max post solutions = -1). Lancer cette
nouvelle optimisation et analyser les rsultats. Quelle est la solution la plus robuste ?
iii) Approche "optimisation robuste directe":
Dans cette approche, un optimum robuste est trouv directement. Imaginer puis
mettre en oeuvre une formulation directe du problme qui incorpore la fois la
minimisation de F2 et sa robustesse.
Sauvegarder ce projet et son journal de bord et sortir du logiciel.
8. Conclusion
Faire une synthse sur les forces, les faiblesses et les domaines dutilisation des
algorithmes expriments.