Vous êtes sur la page 1sur 29

Cours d'optimisation avec contraintes

Yann-Herve De Roeck Avril 1999

Contents
1.1 1.2 1.3 1.4 1.5 1.6

1 Presentation de la minimisation avec contraintes

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 Tout type de contraintes : methodes de penalisation 3 Contraintes simples : methodes de gradients

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 Contraintes d'egalite : les multiplicateurs de Lagrange

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 . . . . . . . . . . . . . .

5 Contraintes d'inegalite : relations de Kuhn et Tucker


5.1 5.2 5.3 5.4

14

14 17 19 19 20

6 Point selle et algorithme d'Uzawa

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

8 Methode du Lagrangien augmente 9 La recherche lineaire 10 criteres d'arr^t e

10.1 cas lineaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 10.2 cas non lineaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

25 25 27

1 Presentation de la minimisation avec contraintes


De nombreux problemes en physique, economie, (...) se ramenent a chercher la solution optimale d'un critere. C'est-a-dire a trouver les variables physiques, de decision ou de commande, qui optimisent (minimisent ou maximisent) un critere physique, technique ou economique, sous un certain nombre de contraintes. Comme une fois discretise, le probleme est pose dans Rn, la plupart du temps, on abordera, principalement, la minimisation en dimension nie.

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

1.1 De nitions et notations

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

1.2 Di erents types de problemes

1.3 Principe des methodes d'optimisation avec contraintes

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.4 C^ne des directions admissibles o

(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

1.5 Inequation d'Euler : condition necessaire de minimalite


On obtient alors la condition necessaire d'existence d'une solution au probleme (1), dite inequation d'Euler : Pour que u soit solution de (1), il faut que

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.

1.6 Cas convexe : condition necessaire et su sante de minimalite


Dans le cas d'un programme convexe, on a le resultat suivant (qui fait echo a celui enonce dans le cadre de la minimisation sans contraintes) : Theoreme 1 Si U est un convexe ferme, si J est convexe, et si K est borne ou J tend vers plus l'in ni quand kxk tend vers l'in ni,

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

2 Tout type de contraintes : methodes de penalisation


Ces methodes simples et generales pour traiter les problemes de minimisation avec contraintes, conduisent parfois a un algorithme peu e cace. Elles sont cependant tres utilisees de par leur facilite de programmation. A partir du probleme (1), on cree une suite de problemes dependants de " : Trouver le minimum en x de J" (x) avec
p m X X J" (x) = J(x) + 1 @ Fi (x)2 + max(0; Gj (x))2A " i=1 j =1

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.

2.1 algorithme de penalisation exterieure


2

1 0m p X X J" (x) = J(x) + 1 @ Fi (x) + max(0; Gj (x)) A "


2

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

max(0; Gj (u" ))2

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.

Cet algorithme est donc tres simple a mettre en oeuvre.

2.2 algorithme de penalisation interieure

Remarque 2 Mathematiquement, cela n'enleve rien a la generalite de ne pas

On pose desormais la fonctionnelle suivante : J" (x) = J(x) "

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

3.1 Theoreme de projection

3 Contraintes simples : methodes de gradients


A partir du theoreme 1, on a caracterise la projection sur un ensemble convexe. Soit z 2 Rn et K un convexe ferme, on de nit : G(x) = kz xk2 G est une fonction strictement convexe, donc le probleme de minimisation :

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 :

8w 2 K hPK (z) z; w PK (z)i 0

(2)

Cette inegalite permet de deduire que l'operateur de projection est contractant.

3.2 Methode du gradient projete

8(x; y) 2 Rn ; jjPK (x) PK (y) jj jjx yjj

(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

hrJ(u); w ui 0 ; 8w 2 K rJ(u)); w ui 0 ; 8w 2 K , u = PK (u rJ(u))


8

(4) (5) (6)

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

3.3 Methode du gradient reduit

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.

4 Contraintes d'egalite : les multiplicateurs de Lagrange


Le probleme que l'on aborde, dans cette section, est : minJ(x) x 2 K = fv j F(v) = 0g On suppose que J et F sont di erentiables. 10 (7)

4.1 Theoreme d'existence des multiplicateurs de Lagrange


De nition
On dit que les contraintes sont regulieres en u, (ou u est regulier pour les contraintes) si les m vecteurs rFi(u) sont lineairement independants. Le theoreme suivant de nit ce que sont les multiplicateurs de Lagrange. Theoreme 2 Si le probleme (7) admet un extremum en u et si u est regulier pour les contraintes, alors il existe ( i (u))1 i m , de ni de maniere unique par :

rJ(u) +

m X i=1

i (u)rFi(u) = 0

Les i sont appeles multiplicateurs de Lagrange.

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

On de nit le Lagrangien comme etant la fonctionnelle suivante :

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

8 r L(u; ) = rJ(u) + Pm rF (u) = 0 < u i i i : r L(u; ) = F(u) = 0


11

J(u)=|| u - Uo || Uo J(u) = cste

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.

4.3 Resolution du probleme de minimisation quadratique sous contraintes lineaires


Soit avec A 2 Rn;n symetrique et b 2 Rn et K = fv j Cv = dg avec C 2 Rn;m et d 2 Rm. On pose F(v) = Cv d 12 J(x) = 1 xT Ax bTx 2

J(u)=|| u - Uo || Uo J(u) = cste G(u)=0

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.

5 Contraintes d'inegalite : relations de Kuhn et Tucker


Pour des questions de simplicite, on aborde seulement le probleme avec des contraintes d'inegalite, auquel on peut toujours se ramener (Cf Remarque 2, page 7). Trouver u tel que

J(u) = minJ(x) x 2 K = fv j Gi(v) 0; i = 1; ::; mg

(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) :

0 i = 1; ::; m tels que

rJ(u) + Pm i rGi(u) = 0 i=1 P


m G (u) = 0 i=1 i i

(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.

5.1 Lemme de Farkas-Minkowski

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

En e et s'il existe des i 0; 8i 2 I tels que b = i2I i ai 14

(b,w) positif (a1,w) et (a2,w) positifs

(b,w) positif (a1,w) et (a2,w) positifs

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

lim k k!+1 i i2I | {z } 0

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

en choisissant t = min i i2J i

) 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

5.2 Les relations de Kuhn et Tucker : condition necessaire d'optimalite

(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)

Theoreme 4 Si en u, les contraintes sont quali ees, on a


K(u) = K (u) Ces constatations conduisent au theoreme de de nition des relations de Kuhn et Tucker et des multiplicateurs de Lagrange generalises. Theoreme 5 Sous les hypotheses precedentes du probleme (8), si J admet un minimum relatif en u et si en u les contraintes sont quali ees, alors il existe i (u) 0 ; i 2 I(u)
tel que

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.

5.3 Cas convexe : condition necessaire et su sante de minimalite


Dans le cas d'un programme convexe, la quali cation des contraintes prend une forme simple, independante du point. En e et, les contraintes Gi , convexes, sont quali ees si : soit toutes les fonctions Gi sont a nes ; soit il existe un point v tel que : ~ Gi(~) 0 v 1 i m Gi(~) < 0 si Gi n'est pas a ne v

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.

5.4 Multiplicateurs de Lagrange generalises

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

6 Point selle et algorithme d'Uzawa


Soit L une fonction de V W dans R, on dit que (u; ) est un point selle de L si : sup L(u; ) = L(u; ) = vinf L(v; ) 2V 2W On remarque que u est un minimumpour L(:; ) et , un maximumpour L(u; :).

6.1 Caracterisation d'un point selle

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

Dans le cadre de la minimisation sous contraintes d'inegalite, on de nit le Lagrangien :

6.2 Caracterisation d'un minimum en tant que point selle du Lagrangien


(
L : Rn Rp P R ! + L(v; ) = J(v) + p=1 i Gi(v) i

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)

L(u; ) = vinf L(v; ) 2R


n

= argsup Q( ) ; ou Q( ) = vinf L(v; ) 2 2 +

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

est la projection de + G(u) sur Rp , +

= P+ ( + G(u))

Ceci conduit a l'algorithme d'Uzawa pour traiter le probleme de minimisation sous contraintes de maniere iterative.

6.3 Algorithme d'Usawa de calcul du point selle du Lagrangien

Algorithme soit 2 Rp donne ; > 0


0 +

iterer jusqu'a convergence :

8 > < > : soit (

uk = inf v2 L(v; k )
n

k+1 k+1 )i

= P+ ( k + G(uk )) = max(( k )i + Gi (uk ); 0)

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 .

Application a la programmation quadratique


A etant une matrice symetrique de nie positive : Trouver la solution en v de

8 inf J(v) = vTAv bTv < v : Cv d


1 2

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

Ce mimimum est atteint lorsque le gradient en v du Lagrangien s'annule, par consequent :

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 ; )

Theoreme 9 Si J est -convexe et G C -Lipchitzienne, et en prenant :


alors l'algorithme d'Uzawa converge.

6.4 Convergence d'Usawa dans le cas convexe


0 < n < 2 C2

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 :

hJ 0 (u); v ui + h ; G(v) G(u)i hJ 0 (un); v uni + h n ; G(v) G(un)i hJ 0 (u) J 0 (un ); un ui + h


On pose rn = n
n

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 :

hrn ; G(un) G(u)i

hJ 0 (un ) J 0(u); un ui jjun ujj2


j (u)

(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 :

7.1 Methode de linearisation initiale IQP

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 .

7.2 Methode de linearisation a posteriori EQP

Remarque 3 Pour IQP et EQP :

- A est souvent obtenue par BFGS ; - une recherche lineaire s'avere necessaire apres obtention de wk :

uk+1 = uk + k wk

8 Methode du Lagrangien augmente


Le Lagrangien augmente est la fonctionnelle suivante :

LA(v; ) = J(v) +
1 +2

X
i2E

X
i2E

i Fi(v)

X1 2 +1 2 i2I i max(0; i + iGi (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

= =

k + iFi (uk ) ; 8i 2 E i k + iGi (uk ) ; 8i 2 I i

Cette methode combine la penalisation avec l'emploi du Lagrangien.

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.

hrJ(xk ); pk i avec 0 < < 1

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

10.1 cas lineaire

10.2 cas non lineaire

critere standard

krJ(xk)k "r krJ(x0)k + "a


ou "r est la tolerance d'erreur relative et "a la tolerance d'erreur absolue. ralentissement relatif de convergence kxk+1 xk k < " kx1k La veri cation de ces trois criteres est generalement recherchee pour considerer que l'on est a un minimum.

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

Vous aimerez peut-être aussi