Opti Av Contr - Ps
Opti Av Contr - Ps
Opti Av Contr - Ps
Contents
1.1 1.2 1.3 1.4 1.5 1.6
De nitions et notations . . . . . . . . . . . . . . . . . . . . . Di erents types de problemes . . . . . . . . . . . . . . . . . . Principe des methodes d'optimisation avec contraintes . . . . C^ne des directions admissibles . . . . . . . . . . . . . . . . . o Inequation d'Euler : condition necessaire de minimalite . . . Cas convexe : condition necessaire et su sante de minimalite
. . . . . .
. . . . . .
3
3 4 4 5 5 6 7 7 8 8 9
2.1 algorithme de penalisation exterieure . . . . . . . . . . . . . . . . 2.2 algorithme de penalisation interieure . . . . . . . . . . . . . . . . 3.1 Theoreme de projection . . . . . . . . . . . . . . . . . . . . . . . 3.2 Methode du gradient projete . . . . . . . . . . . . . . . . . . . . 3.3 Methode du gradient reduit . . . . . . . . . . . . . . . . . . . . .
8 10
4.1 Theoreme d'existence des multiplicateurs de Lagrange . . . . . . 11 4.2 Le Lagrangien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4.3 Resolution du probleme de minimisation quadratique sous contraintes lineaires . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Lemme de Farkas-Minkowski . . . . . . . . . . . . . . . . . . . . Les relations de Kuhn et Tucker : condition necessaire d'optimalite Cas convexe : condition necessaire et su sante de minimalite . . Multiplicateurs de Lagrange generalises . . . . . . . . . . . . . .
14
14 17 19 19 20
6.1 Caracterisation d'un point selle . . . . . . . . . . . . . . . . . . . 6.2 Caracterisation d'un minimum en tant que point selle du Lagrangien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3 Algorithme d'Usawa de calcul du point selle du Lagrangien . . . 6.4 Convergence d'Usawa dans le cas convexe . . . . . . . . . . . . .
20
21 22 23
7 Methodes de linearisation
7.1 Methode de linearisation initiale IQP . . . . . . . . . . . . . . . . 24 7.2 Methode de linearisation a posteriori EQP . . . . . . . . . . . . . 25
24
25 25 27
Pour formaliser ces problemes, on appelle : J : Rn ! R, le critere (appele aussi fonction de co^t ou fonction objectif) u a optimiser. U Rn, ensemble contraint auquel doivent appartenir les variables. Le probleme s'ecrit alors: trouver x 2 U tel que J(^) = min J(x) ( ou J(^) = max J(x) ) ^ x x 2U x x 2U On remarque qu'un probleme de maximisation se transforme en un probleme de minimisation par multiplication par 1 du critere. Ainsi, on ne traite par la suite que de minimisation, de maniere a ne risquer aucune confusion dans le signe de certaines expressions. On parle de solution optimale locale si pour u 2 U, il existe un voisinage de u tel que 8v 2 U \ J(u) < J(v) si = Rn, on parle de solution optimale globale. J(u) est appelee valeur optimale et (u; J(u)) est un optimum du probleme. L'ensemble contraint s'exprime generalement sous la forme : 1. contraintes fonctionnelles de type egalite : U = fx j F(x) = 0g avec F : Rn ! Rm. On parle de m contraintes d'egalite. 2. contraintes fonctionnelles de type inegalite : U = fx j G(x) 0g avec G : Rn ! Rp. On parle de p contraintes d'inegalite. 3. contraintes de type equation ou inequation fonctionnelles. Ce dernier type de contraintes se rencontrent notamment en commande optimale. (0 = f(y; t; p) min y(T ; p) avec y solution de y p y(0) = y0 (p) Par exemple, on cherche a minimiser le temps de parcours d'une particule entre deux points, la particule etant soumise a un certain nombre de lois physiques (propagation d'une onde acoustique, par exemple). 3
Suivant la forme du critere et des contraintes, on distingue plusieurs cas particuliers. 1. le programme lineaire : J est une fonction lineaire et les contraintes sont lineaires. minJ(x) = hc; xi ; c 2 Rn ; x 2 Rn Ax b ; A 2 Rm;n ; b 2 Rm On note que les contraintes d'egalite peuvent se transformer en contraintes d'inegalite par changement de variables. Par exemple la contrainte fAx = bg s'ecrit encore fAx b 0 et Ax + b 0g, soit en posant C = A et B = bb A on ecrit la contrainte d'egalite sous la forme d'une contrainte d'inegalite fCx B g. Ce type de probleme lineaire se rencontre frequemment en recherche lineaire (organisation de la production d'une entreprise, algorithme du voyageur de commerce, : : :). Un algorithme speci que existe pour traiter ce probleme : l'algorithme du simplexe. Cet algorithme ne sera pas etudie dans ce cours car s'il a ete tres repandu il y a quelques annees, il est aujourd'hui peu utilise. On prefere en e et se ramener a un probleme quadratique plus facile a resoudre. 2. le programme convexe : Le critere J et l'ensemble des contraintes U sont convexes. Ce cas joue un r^le tres important. La plupart des theoremes d'existence et d'unicite o sont demontres dans le cadre de programmes convexes. 3. le programme quadratique : Le critere est quadratique et les contraintes sont lineaires. minJ(x) = 1 xT Q:x cT x ; Q 2 Rn;n ; c 2 Rn ; x 2 Rn 2 Ax b ; A 2 Rm;n ; b 2 Rm Si Q est symetrique, de nie, positive, ce probleme est un cas particulier du programme convexe. Le programme quadratique joue un r^le partico ulier car certaines methodes traitent le cas general par des approximations quadratiques successives (comme la methode de Newton). Les methodes consistent en general a se ramener a une suite de problemes avec contraintes simples que l'on sait traiter directement, ou a une suite de problemes sans contraintes. Les \outils" importants a retenir en minimisation avec contraintes sont les methodes de penalisation, les methodes de gradient, les multiplicateurs de Lagrange, le Lagrangien et les relations de Kuhn et Tucker. Leur champ d'application se distingue par les di erents types de contraintes, sauf pour les methodes de penalisation qui sont valables dans tous les cas : 4
les contraintes simples U = fv j ai vi bi ; 1 i pg qui se traitent directement avec la methode du gradient reduit ou du gradient projete ; les contraintes d'egalite qui se traitent avec les multiplicateurs de Lagrange ; les contraintes d'inegalite, qui se traitent avec les multiplicateurs de Lagrange generalises et les relations de Kuhn et Tucker. Le probleme a resoudre est : minJ(x) x 2 U = fv 2 Rn j F(v) = 0g \ fv 2 Rn j G(v) 0g ou J : Rn ! R F : Rn ! Rm. On de nit m contraintes d'egalites. G : Rn ! Rp. On de nit p contraintes d'inegalites.
(1)
De nition
On appelle, pour tout u 2 U, C (u), le c^ne des directions admissibles o en u : 8 n >limu = u ; < w 2 C (u) s'il existe une suite (un ) 2 Utelle que >et n u u w :lim jjun ujj = jjwjj
8w 2 C (u) hrJ(u); wi 0
Cette inequation est a la base de la plupart des algorithmes et joue un r^le o aussi important que rJ(u) = 0 en optimisation sans contraintes. On remarque que si U = Rn, l'inequation d'Euler est equivalente a l'equation d'Euler.
alors il existe une solution au probleme (1). Si, de plus, J est -convexe ou strictement convexe, cette solution est unique. Cette solution est caracterisee par
8w 2 U hrJ(u); w ui 0
On note u" la solution de ce probleme. Alors, sous des hypotheses convenables (J -convexe de gradient borne, F et G convexe), lim u = u "!0 " ou u est la solution du probleme avec contraintes. L'idee est donc de penaliser, de plus en plus fortement, les valeurs ou les contraintes ne sont pas realisees a n d'amener la solution a veri er les contraintes et a minimiser le critere. L'avantage est de se ramener a des problemes sans contraintes que l'on sait resoudre. Malheureusement, ce terme de penalisation degrade le conditionnement du probleme. On distingue les deux algorithmes suivants.
On approche la solution en etant en acceptant de prendre des valeurs intermediaires en dehors de l'ensemble des contraintes.
i=1
j =1
On prend une valeur initiale de " pas trop petite. On minimise la fonction J" avec un algorithme d'optimisation sans contraintes. On calcule le r^le joue par les contraintes au minimun u" : o Jc (u" ) =
m X i=1
Fi (u") +
2
p X j =1
Si cette quantite est su samment petite, on arr^te, sinon on diminue " (on le e divise par 10, par exemple).
Remarque 1 L'idee de remplacer un seul probleme de minimisation par une suite de problemes peut surprendre : pourquoi ne pas choisir des le depart un " tres petit ? Principalement pour des raisons de stabilite numerique. D'autre part, a chaque nouveau probleme on utilise le fait qu'a l'iteration precedente, on s'est approche de la solution.
Avec cet algorithme, on reste dans l'espace des solutions admissibles : a chaque etape, les contraintes sont veri ees. On considere un probleme avec uniquement des contraintes d'inegalite.
tenir compte des contraintes d'egalite car celles-ci peuvent ^tre transformees e en contraintes d'inegalite. (En e et, F(v) = 0 est equivalent a F(v) 0 et F(v) 0.) Cependant, numeriquement, cela augmente la taille du probleme. En fait, les contraintes d'egalite peuvent ^tre assimilees a des contraintes e d'inegalites toujours actives.
p X 1
B(x) = p=1 G 1(x) est une fonction barriere (d'autres choix sont possibles) : si j on part d'un point veri ant les contraintes, le minimum de J" veri era les contraintes. (rappelons que les contraintes d'inegalite sont de la forme Gj (x) 0, par consequent pour x 2 K, J (x) > J(x) et cro^t en approchant de la frontiere. Mais si x 62 K, on peut avoir J (x) < J(x) avec un comportement decroissant en s'eloignant de la frontiere. Il est donc toujours necessaire de veri er les contraintes lors de l'etape de recherche lineaire.)
j
j =1 Gj (x)
Soit x0 veri ant les contraintes. On minimise J" avec un algorithme sans contraintes. Si " est su samment petit, on arr^te en considerant que x" est la solution du e ^ probleme avec contraintes. Sinon, on recommence avec un " plus petit. Cette methode demande la connaissance d'un point veri ant les contraintes et impose de ne pas sortir de l'ensemble des contraintes lors de la recherche lineaire.
Algorithme
x = argmin G(x) x2K admet une unique solution, notee PK (z), et appelee projection de z sur K. D'apres l'inegalite d'Euler, et comme le gradient de G vaut 2(x z), PK (z) est caracterise par :
(2)
(3)
Soit maintenant une fonction J convexe et di erentiable. Toujours d'apres le theoreme 1, on doit avoir en u ou J atteint son minimum sur K ensemble convexe :
, 8 > 0 ; hu (u
Par consequent, u, solution du probleme de minimisation sur K, est un point xe de l'application contractante H de Rn dans Rn : v 7! H(v) = PK (v rJ(v)) On obtient ainsi l'algorithme du gradient projete. On peut etendre les methodes de minimisation sans contraintes en remplacant : xk+1 = xk + k pk ; par xk+1 = PK (xk + k pk ) : Malheureusement, ce resultat est numeriquement inexploitable dans le cas general, car la projection est di cile a construire. Toutefois, avec des contraintes simples, cette methode s'avere interessante, car la projection devient facile a calculer. Supposons, d'abord que, K = Rn = fv j vi 0 1 i ng + alors : P +(z) = P+ = max(zi ; 0) En e et: v = P+ (z) P 8w 2 Rn hv z; w vi = i(vi zi )(wi vi ) + si (P+ (z))i = vi = zi alors (vi zi )(wi vi ) = 0 si (P+ (z))i = vi = 0 alors zi < 0 et (vi zi )(wi vi) = zi wi 0 Par un raisonnement analogue, on montre que si K = fv j ai vi big alors 8 >lai si zi < ai < PK (z) = min(max(zi ; ai); bi) = >zi si ai zi bi :bi si bi < zi Ainsi, la methode du gradient projete s'employe-t-elle a la condition que les contraintes soient simples.
R
n
Cette methode s'applique aussi aux problemes avec contraintes simples. K = fv j ai vi big
De nition
On dit qu'une contrainte d'inegalite est active (ou saturee) en u si : 8 > Gi(u) = 0 < >et hrJ(u); rG (u)i 0 : i Dans le cas de ces contraintes simples, on de nit l'ensemble des contraintes actives en u : B(u) = fi j ui = ai; @i J(u) 0g fi j ui = bi; @i J(u) 0g Ceci signi e que i est une contrainte active si la composante ui veri e une des contraintes et si la direction du gradient par rapport a la variable i tend a faire sortir ui de l'espace des contraintes. Si i 62 B(u), on dit que ui est une variable libre. On a alors les conditions suivantes d'existence d'une solution u du probleme : condition necessaire du 1er ordre @i J(u) = 0 8i 62 B(u) condition su sante du 2eme ordre wt HJ(u)w > 0 (8w 6= 0 j wi = 0; i 2 B(u)) Ces conditions reviennent a considerer le gradient et le hessien H par rapport aux indices n'appartenant pas a B(u). Ce gradient s'appelle le gradient reduit et ce hessien, le hessien reduit. Les conditions reviennent donc a celles d'un probleme sans contraintes sur les variables libres. L'algorithme consiste a chercher, par une methode de minimisation sans contrainte, le minimum du probleme reduit. La recherche lineaire di ere legerement du cas classique. On doit, en plus, veri er que xk + k :pk ne viole pas une contrainte. Si c'est le cas, on diminue la valeur de k jusqu'a satisfaire les contraintes. Une fois ce minimum trouve, on recalcule l'ensemble des contraintes actives, (le signe de @iJ peut changer en xk+1, donc liberation de la variable) et on itere le processus jusqu'a obtenir le minimum. Cette methode possede deux inconvenients : 1. il faut exhiber un point initial qui veri e les contraintes ; 2. l'ensemble des variables libres evolue lentement. On note que la methode du gradient projete est generalement plus rapide.
rJ(u) +
m X i=1
i (u)rFi(u) = 0
Ce theoreme donne donc comme condition necessaire d'extremum que le gradient de la fonction co^t appartienne au sous-espace vectoriel engendre par les u gradients des contraintes d'egalite. Comme ces derniers sont independants, ils forment une base, d'ou l'unicite des i . Les gures 1 et 2 illustrent cette propriete dans un espace de dimension 3 ou sont representees les equipotentielles de la fonction co^t J = kx x0 k auxquelles u doit ^tre tangent, si un minimum local est atteint, la variete geometrique de nie e par les contraintes. Ainsi, gure 1, une contrainte unique de nie-t-elle une surface, alors que gure 2, un couple de contraintes decrit un arc. Dans les deux cas, la geometrie di erentielle permet d'impliquer que le c^ne o des directions admissibles est le sous-espace vectoriel tangent a K en u, et que l'appartenance de rJ(u) au sous-espace engendre par les rFi(u) permet d'a rmer la tangence de K avec une equipotentielle de J. Donc, u, solution et , veri ent le systeme non-lineaire de n + m equations a n + m inconnues. rJ(u) + Pm i (u)rFi(u) = 0 i=1 F(u) = 0
4.2 Le Lagrangien
L(u; ) = J(u) +
m X i=1
i Fi (u)
= J(u) + h ; F(u)i = J(u) + T F(u) = J(u) + F(u)T Alors u est un extremum de (7), s'il existe tel que
=1
F (u) J (u)
F(u)=0
Figure 1: colinearite de rJ(u) et rF(u) dans le cas d'une contrainte unique Il faut cependant veri er qu'il s'agit bien d'un minimum, car on ne caracterise qu'un extremum a partir de ce systeme. On remarque aussi que (u; ) est un point de stationarite du Lagrangien. L'utilisation du Lagrangien sera abordee dans une section ulterieure. Toutefois, donnons un exemple important de calcul des multiplicateurs de Lagrange pour resoudre un probleme d'optimisation avec contraintes.
F (u)
G (u)
J (u)
F(u)=0
Figure 2: avec 2 contraintes, rJ doit ^tre une combinaison lineaire de rF et e de rG dans le cas d'une contrainte unique a n d'assurer la tangence de l'arc K avec les spheres equipotentielles alors F 0(v) = C avec rFi(v) = C T]i
rJ(v) = Av b
donc le systeme veri e par une solution u est Au b + C T = 0 Cu d = 0 ce qui s'ecrit sous forme matricielle : A CT u b = C 0 d Il su t donc de resoudre ce systeme lineaire et de veri er que u est e ectivement un minimum. Dans le cas ou A est symetrique de nie positive, la fonction J est convexe, donc on est assure d'un minimum. Cependant, la contrepartie de la prise en compte des contraintes est un accroissement de la taille du probleme. De plus, m^me si A est symetrique de nie positive, la nouvelle matrice du syse teme lineaire peut ne plus ^tre de nie positive. e 13
On peut utiliser les diverses methodes de resolution des systemes lineaires, en etablissant un choix en fonction de la taille des matrices.
(8)
On suppose que J et les Gi sont di erentiables. En programmation convexe, on va montrer que le probleme (8) est equivalent au probleme (9) :
(9)
Les relations du probleme (9) s'appellent relations de Kuhn et Tucker. On remarque leur analogie avec les multiplicateurs de Lagrange pour les problemes d'optimisation avec contraintes d'egalites. Ici encore l'idee est de ramener le probleme de minimisation avec contrainte a un probleme de minimisation sans contraintes.
L'equivalence entre les problemes (8) et (9) repose sur le lemme de FarkasMinkowski. Theoreme 3 Soient V = Rn, I un ensemble ni d'indices et ai ; b 2 Rn; 8i 2 I .
Alors on a equivalence entre les deux assertions suivantes : (a) fw 2 V=hai ; wi 0 8i 2 I g P fw 2 V=hw; bi 0g (b) 9 i 0 8i 2 I tels que b = i2I i ai Interpretation geometrique du theoreme
La gure 3 propose une illustration du theoreme de Farkas-Minkowski dans R2. On observe que si b est une combinaison lineaire positive des vecteurs a1 et a2, l'ensemble fw 2 V=hai; wi 0 8i 2 I g est bien inclus dans fw 2 V=hw; bi 0g. Alors que si b n'est pas une combinaison positive ce n'est plus vrai. La preuve de (b) =) (a) est immediate.
Preuve du theoreme
a1
a2
a1
a2 b
Figure 3: illustration du theoreme de Farkas-Minkowski alors hai; wi 0 8i 2 I implique hb; wi 0. Pour montrer que (a) =) (b), on va montrer que si : b 62 C = fv=v =
X
i2I
i ai
0 8i 2 I g
alors il existe un vecteur u tel que hu; aii 0 8i 2 I et hb; ui < 0. Pour montrer ce resultat, deux assertions intermediaires sont necessaires : (i) C est un c^ne de sommet origine ferme et convexe o (ii) Si C est un convexe ferme et si b n'appartient pas a C alors il existe un reel et un vecteur u tels que 8v 2 C ; hu; vi > et hb; ui < . (Theoreme de separation des ensembles convexes) Si (i) et (ii) sont veri ees, C etant un c^ne de sommet origine, O est dans o C, par consequent : 0 = hO; ui > d'ou < 0 et8v 2 C; 8 > 0; h v; ui > 15
Ainsi pour tout > 0 on a encore hv; ui > donc a la limite +1 on obtient :
8v 2 C hv; ui 0 ) 8i hai ; ui 0
Alors que hb; ui < < 0. Ce qui demontre le theoreme. Il reste a montrer les assertions (i) et (ii). (i) C est par de nition un c^ne de sommet origine o Il est convexe : soit 2]0; 1 , et deux elements de C :
X
i2I
i |{z}ai+(1
X
i2I
>0
i |{z}ai=
i2I i ai
et i2I i ai,
>0
i2I |
( i + (1 {z
>0
) i }ai 2 C )
Pour montrer que C est ferme nous allons di erencier 2 cas : le cas ou les ai sont lineairement independants et le cas ou les ai sont lineairement dependants. Dans le premier cas, considerons une suite (vk )k telle que vk = i2I k ai ou i les ( k )k forment des suites de nombres reels positifs. La suite vk est une suite i du sous-espace vectoriel A engendre par les ai . A est un espace vectoriel de dimension ni donc ferme. Ainsi si la suite (vk )k converge, elle converge dans A et la convergence de vk est equivalente a la convergence de ses coordonnees : lim v = k!+1 k
ai 2 C
Si les ai sont P lineairement dependants, ceci signi e qu'il existe des i non tous nuls tels que i2I i ai = 0. De ce fait, en changeant au besoin le signe de tous les i , l'ensemble J = fi = i < 0g est non vide. Par consequent, tout v 2 C peut s'ecrire v = =
X
i2I i2I
i ai + t
X
i2I
i ai
( i + t i )ai 0
) 8i i + t
C = j 2I fv =
0
i ai ; i
Tous les i + t i sont 0 mais l'un au moins d'entre eux est nul, donc :
i2I j
0; 8i 2 I j g
(10)
16
On recommence ce raisonnement jusqu'a ce que C soit ecrit comme une union nie de c^nes generes par des familles de vecteurs lineairement independants o donc fermes. (ii) Montrons maintenant que si C est un convexe ferme non vide et si b n'est pas dans C alors on peut trouver u et tels que hv; ui > 8v 2 C et hu; bi < (11)
c v
(u,v)< (u,v)>
Figure 4: Separation d'un convexe C et d'un point b par un hyperespace d'equation : hu; vi = De par la caracterisation de la projection de b en c sur le convexe C ( g 4), on a : hv c; c bi 0 d'autre part, comme b 62 C ; c 6= b ) hb c; b ci > 0 On deduit de ces 2 inegalites : hv; c bi hc; c bi > hb; c bi En choisissant maintenant u = c b et = hc; c bi, le tour est joue !
Pour que u soit solution de (8), il faut que (inegalite d'Euler) : 8w 2 K(u) ; hrJ(u); wi 0 17
(u,v)=
ou K(u) est l'ensemble des directions admissibles. Par consequent, veri er l'inegalite d'Euler equivaut a assurer la relation suivante : K(u) fv = hrJ(u); vi 0g: Ainsi, si on peut montrer que sous certaines conditions : K(u) = fv = hrGi(u); vi 0g = fv = hrGi (u); vi 0g alors, d'apres le theoreme de Farkas-Minkowski, il existera des i 0 tels que :
rJ(u) +
X
i
i rGi(u) = 0
En notant I(u) l'ensemble des contraintes d'inegalite actives, c'est-a-dire : Gi(u) = 0 si i 2 I(u) Gi(u) < 0 si i 62 I(u) on de nit alors le c^ne K (u) : o K (u) = fw 2 Rn j hrGi(u); wi 0 ; 8i 2 I(u)g K(u) est toujours inclus dans K (u) : K(u) ( K (u) L'egalite, bien que toujours veri ee dans les cas reguliers, repose sur une condition supplementaire a veri er sur les contraintes.
De nition
Les contraintes sont dites quali ees en u 2 K si : soit les Gi(u), i 2 I(u) sont toutes a nes ; soit il existe w 2 Rn tel que ~ hrGi(u); wi 0 si Gi est a ne ~ hrGi(u); wi < 0 si Gi n'est pas a ne ~
8i 2 I(u)
rJ(u) +
X
i2I (U )
i (u)rGi (u) = 0
18
Ces relations sont appelees relations de Kuhn et Tucker. Si on pose i (u) = 0 quand i 62 I(u), les i sont appeles multiplicateurs de Lagrange generalises. De ce fait :
p X i=1 i (u)Gi (u) = 0
Les relations de Kuhn et Tucker, qui derivent donc de l'inegalite d'Euler, sont celles que l'on veri era numeriquement pour s'assurer que l'on a atteint le minimum.
Le theoreme suivant fournit une condition necessaire et su sante d'existence d'un minimum. Theoreme 6 Soient J et (Gi)1 i p , convexes et derivables, et K = fv jG(v) 0g Si J admet un minimum sur K et si les contraintes sont quali ees, alors,
il existe
( i (u))1 i p , tels que les relations de Kuhn et Tucker 8 rJ(u) + Pp (u)rG (u) = 0 < i i=1 i
: i(u) 0; Pp i
=1
i (u)Gi (u) = 0
soient satisfaites. Reciproquement, s'il existe des ( i )1 i p tels que les relations de Kuhn et Tucker soient satisfaites, alors J admet en u un minimum relatif sur K .
On remarque que les relations de Kuhn et Tucker jouent un r^le comparable o aux multiplicateurs de Lagrange dans le cas des contraintes d'egalite.
19
Un des inter^ts fondamentaux des relations de Kuhn et Tucker reside dans e l'existence d'une fonction Ju :
Ju : v 2 Rn ! R ; Ju (v) = J(v) +
p X i=1
i (u)Gi (v)
Cette fonction depend de u par l'intermediaire des i (u) qui sont dans Rn . Et + on a J(u) = inf v2 Ju (v) ) rJu (u) = 0 J(u) = Ju (u)
R
n
Ainsi, si l'on conna^t les multiplicateurs de Lagrange generalises, i (u), on est ramene a un probleme d'optimisation sans contrainte. Par exemple, si K = fv j C:v dg C 2 Rn;p d 2 Rp alors les contraintes sont quali ees si K est non vide. De plus, si J est une fonction convexe, une condition necessaire et su sante pour que J admette un minimum sur K est l'existence de 2 Rp tel que : rJ(u) + C t = 0 i 0 et i = 0 sihCi; ui < di
Theoreme 7 Si (u; ) est un point selle de L alors sup vinf L(v; ) = L(u; ) = vinf sup L(v; ) 2V 2V
2W 2W
Il est important de noter que dans le cas general, on ne peut pas inverser inf et sup. Seul resultat toujours veri e : sup vinf L(v; ) vinf sup L(v; ) 2V 2W 2W 2V
20
Le Lagrangien est de ni sur des espaces simples et ne depend plus de l'ensemble des contraintes K. De plus, on a le theoreme : Theoreme 8 Si (u; ) est un point selle du Lagrangien, le point u est un minimum de J sous les contraintes. Si J et G sont convexes et derivables et les contraintes, G, sont quali ees, alors si u est un minimum de J sous les contraintes, il existe un vecteur tel que (u; ) soit un point selle de L. Ainsi, sous les hypotheses precedentes, trouver u tel que J(u) = vinf J(v) ; K = fv j G(v) 0g 2K revient a trouver les points selles du Lagrangien. Donc si l'on conna^t , cela revient a trouver u tel que Or ce probleme est un probleme sans contraintes. D'apres le dernier theoreme, veri e (12)
R
p
R
n
(13)
Ceci de nit le probleme dual du probleme primal (8), page 14, exprime lui aussi comme un probleme d'optimisation sous contraintes (cette fois de maximisation sous contraintes), mais avec des contraintes simples, faciles a prendre en compte. Le probleme initial est donc transforme en deux problemes : un probleme de minimisation sans contraintes et un probleme de maximisation avec contraintes simples. On dit aussi que est la variable duale de la variable primale v. Le point selle (u; ) etant caracterise par deux conditions : L(u; ) L(v; ) ; 8v 2 V L(u; ) L(u; ) ; 8 2 W La relation (15) implique que : G(u)T ( ) 0; 8 0 car L(v; ) = J(v) + G(v)T 21 (14) (15)
c'est-a-dire que pour tout > 0 xe, G(u)T ( ( + G(u) )T ( Or ceci caracterise le fait que voir (2), page 8 : ) ) 0; 8 0; 8 0 0
= P+ ( + G(u))
Ceci conduit a l'algorithme d'Uzawa pour traiter le probleme de minimisation sous contraintes de maniere iterative.
uk = inf v2 L(v; k )
n
k+1 k+1 )i
On note que la deuxieme etape de l'algorithme revient a maximiser L(uk ; ) sur l'ensemble des positifs. Comme le gradient de Q vaut G, l'algorithme d'Uzawa consiste a resoudre le probleme dual par une methode du gradient projete. Le parametre peut evoluer au cours des iterations, il existe des heuristiques pour guider le choix de ce k .
On pose le Lagrangien du probleme : L(v; ) = 1 vT Av bT v + T Cv T d 2 et on commence par resoudre le probleme dual, avec la fonction de co^t duale u qui s'ecrit :
Q( ) = vinf L(v; ) 2R
n
22
L;v (v; ) = Av b + C T = 0 , v = A 1 (b C T )
1T 1 1 T 1 T T 1 2 (CA C ) + (CA b d) 2 b A b Le probleme dual consiste donc a maximiser Q( ) de ni ci-dessus, avec la contrainte que soit positif. Cette optimisation peut s'operer a l'aide d'un gradient conjugue projete, a partir de la matrice CA 1 C T . =
, Q( ) = L(v ; )
On demontre ce resultat en proposant un choix encore plus judicieux de n , de la facon suivante : 1. les inequations mixtes d'Euler 1 caracterisent u et un en temps que minima de L(v; ) et L(v; n) respectivement :
0 ; 8v 0 ; 8v
d'ou, en appliquant la premiere inegalite a un et la seconde a u, et en additionnant : ; G(u) G(un)i 0 et on fait jouer l' -convexite de J :
(16)
1 Inequations mixtes d'Euler : si on cherche a minimiser, sans contraintes, J (v ) + j (v ), avec J convexe di erentiable et j seulement convexe, semi-continue inferieure, alors la condition d'Euler mixte s'ecrit pour le minimum atteint en u :
C'est cette formule qui est employee ici avec j (v) = G(v)
hJ (u); v
0
ui + j (v)
23
2. la projection est contractante, par consequent : jjrn+1jj = jj n+1 jj = jjP+ ( n + n G(un)) P+ ( + n G(u))jj n G(u)jj jj n + n G(un) jjrn + n (G(un) G(u))jj Soit : jjrn+1jj2 jjrnjj2 + 2 n hrn ; G(un) G(u)i + ( n )2 jjG(un) G(u)jj2 3. G est C-Lipchitzienne : jjrn+1jj2 jjrnjj2 + 2 nhrn ; G(un) G(u)i + ( n )2 C 2jjun ujj2 4. J est -convexe, donc on applique (16) : jjrn+1jj2 jjrnjj2 2 n jjun ujj2 + ( n )2 C 2jjun ujj2 5. si on choisit n tel que : 2 n ( n )2 C 2 >0 alors jjrn+1jj2 jjrnjj2 jjun ujj2 On en deduit que : 1. les jjrnjj forment une suite positive decroissante, donc convergente ; 2. les jjun ujj tendent vers 0, donc les un tendent vers u. CQFD.
7 Methodes de linearisation
Comme leur nom l'indique, ces methodes consistent a lineariser les problemes de minimisation avec contraintes ; elles di erent par l'etape a partir de laquelle la linearisation est entreprise. On pose :
2 Ak = @ J (uk ) et bk = rJ(uk ) @v2 On cherche a resoudre le probleme linearise, quadratique, suivant : Trouver wk veri ant : min 1 wTAk w + bT w k w 2 Gi(uk ) + rGi(uk )]T w 0 8i 2 I avec : Gi(uk ) + rGi(uk )]T w = 0 8i 2 E On a donc a aire a un probleme quadratique a chaque pas, resolu par les methodes de programmation quadratique (factorisation QR de la matrice des contraintes, puis gradient conjugue ou methode directe pour la minimisation proprement dite). Puis faire uk+1 = uk + wk .
24
On determine les contraintes actives avant la linearisation et on cherche a resoudre le probleme linearise suivant : Trouver wk veri ant : min 1 wT Ak w + bT d k w 2 avec : Gi (uk ) + rGi(uk )]T w = 0 ; 8i 2 I(uk ) Idem IQP, puis faire uk+1 = uk + wk .
- A est souvent obtenue par BFGS ; - une recherche lineaire s'avere necessaire apres obtention de wk :
uk+1 = uk + k wk
LA(v; ) = J(v) +
1 +2
X
i2E
X
i2E
i Fi(v)
iFi2(v)
Les i sont les parametres de penalite. A k donne, on cherche alors a resoudre la CN de premier ordre : rLA(v; k ) = 0 ce qui donne uk . Puis on met a jour les multiplicateurs :
k+1 i k+1 i
= =
9 La recherche lineaire
Dans tous les algorithmes presentes, on cherche un k qui minimise J(xk + pk ). Bien que cette minimisation se fasse dans R, elle reste une etape delicate et cruciale. Cette etape est delicate car aucun algorithme ne donne, a cours s^r, le u minimum dans R d'une fonction non convexe. Or la plupart des resultats de convergence demande un k optimal. De plus, on souhaite limiter le nombre d'evaluations de la fonction et de son gradient. En fait, il est admis que k n'a pas besoin d'^tre optimal, mais doit veri er un certain nombre de criteres e assurant que la fonction decroisse \su samment". 25
Par exemple, on impose que : J(xk + k pk ) < J(xk ) et hrJ(xk + k :pk ); pk i < h rJ(xk ); pk i avec 0 < < 1 ( = 0:9 semble su re). ou (regle d'Armijo-Goldstein) J(xk + k pk ) < J(xk ) + hrJ(xk ); xk+1 xk i avec 0 < < 1
hrJ(xk + kpk ); pk i
( = 0:1 et = 0:5 par exemple) D'autres choix sont possibles.
Avant de chercher le k , on remarque que si pk est une direction de descente, on a : hrJ(xk ); pk i < 0 donc on voisinage de xk , J est decroissante. Un premier algorithme est donc de partir de k = 1, de tester si les conditions sont veri ees et si ce n'est pas le cas de multiplier k par (avec 0 < < 1). C'est la methode avec retour en arriere ou backtracking. L'algorithme s'ecrit :
k=1 tant que conditions non remplies faire k= k n faire (on prend generalement entre 1/2 et 1/10). On peut ameliorer cet algorithme en le nissant avec une methode de la secante.
Une autre idee est d'utiliser des interpolations. Par exemple, on calcule la fonction J(xk + pk ) en trois valeurs di erentes de et on utilise une interpolation quadratique : J(xk + pk ) ' a 2 + b + c alors b k = 2a On peut faire la m^me chose avec une interpolation cubique : e J(xk + pk ) ' a 3 + b 2 + c + d en calculant la fonction et son gradient en deux valeurs de . On note que l'on conna^t deja les valeurs en = 0. Des methodes plus compliquees melangeant ces types de recherche lineaire sont en fait utilisees. 26
10 criteres d'arr^t e
Il n'est pas toujours facile de savoir quand il faut arr^ter les iterations car le e test sur la norme du residu (normalise par le premier residu) n'est pas toujours tres e cace. soit " 2 R+, les tests d'arr^t utilises sont : e le residu normalise (ou relatif) kA:xk bk < " kbk mais on a la relation suivante : kA:xk bk (A) kxk xk kbk kbk ou est le conditionnement de A, ce qui rend ce test di cile a employer pour les matrices mal conditionnees. le ralentissement de la convergence du residu kA:xk+1 A:xk k < " kA:x1 bk le ralentissement de la convergence de la solution kxk+1 xk k < " kx1k Mais si l'on a tendance a employer le test sur le residu relatif, les autres criteres sont utilises pour s'assurer que le minimum est probablement atteint. Comme dans le cas linieaire, le test sur le residu ne constitue qu'un critere de convergence. Les criteres classiques sont : le residu relatif krJ(xk)k < " krJ(x0)k mais on a la relation suivante ^ kxk xk krJ(xk )k 4 kxk xk ^ 4kx0 xk ^ krJ(x0)k kx0 xk ^ avec x le mimimum et le conditionemment de la hessienne de J au ^ minimum. 27
critere standard
28
Bibliographie
1. Ciarlet G., Introduction a l'analyse numerique matricielle et a l'optimisation, Masson (1988) 2. Ciarlet G., Miara B., Thomas J.M., Exercices d'analyse numerique matricielle et d'optimisation, Masson (1986) 3. Culioli J.C., Introduction a l'optimisation, ellipse (1994) 4. Minoux M., Programmation mathematique, tomes 1 et 2, Dunod (1983)
29