Vous êtes sur la page 1sur 132

Universit du Havre e

Ecole doctorale SPMII

La programmation semi-dnie e combine et compare avec dautres e e prob`mes doptimisation e


` THESE
prsente et soutenue publiquement le 6 dcembre 2007 e e e pour lobtention du

Doctorat de lUniversit du Havre e


(spcialit Mathmatiques Appliques) e e e e par

ALABBOUD Hassan
Composition du jury Prsident : e Rapporteur : Examinateurs : Jean-Pierre CROUZEIX Cyril FONLUPT Ahmad ELSOUFI Serigne GUEYE Directeur de Th`se : e Adnan YASSINE Professeur ` lUniversit de Clermont-Ferrand a e Professeur ` lUniversit du Littoral a e Professeur ` lUniversit de Tours a e Ma de confrences ` lUniversit du Havre tre e a e Professeur ` lUniversit du Havre a e

Laboratoire de Mathmatiques Appliques du Havre EA 3821 e e

Mis en page avec la classe thloria.

Remerciements
Je tiens remercier mon directeur de thse Adnan Yassine qui m'a oert la possibilit de raliser ce travail et m'a encadr durant ces annes, mais aussi pour son relectures et commentaires. Je remercie galement les membres du jury : Jean-Pierre Crouzeix, professeur l'Universit de Clermont-Ferrand de m'avoir fait l'honneur de prsider ce jury et de juger mon travail ; Cyril Fonlupt, professeur l'Universit du Littoral d'avoir valu mon travail ; Ahmad Elsou, professeur de l'Universit de Tours et Serigne Gueye, Matre de Confrences l'Universit du Havre d'avoir accept de faire partie de ce jury. Je voudrais adresser mes remerciements tous les membres du Laboratoire de Mathmatiques Appliques du Havre. Je ne pourrais jamais oublier le soutien et l'aide des personnes chres de ma nombreuse et merveilleuse famille. Je rserve une reconnaissance particulire ma mre qui m'a apport la conance dont j'avais besoin pour continuer parcourir cette aventure et mon pre pour son encouragement.

ii

ma famille

iii

iv

Table des matires


Introduction gnrale Chapitre 1 Rappels de base
1.1 1.2 1.3 1.4

vii 1
1 4 6 9 9

Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Le cne des matrices semi-dnies positives . . . . . . . . . . . . . . . . . . Produit de Kronecker et calcul matriciel . . . . . . . . . . . . . . . . . . . Analyse convexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.1 1.4.2 Ensembles et fonctions convexes . . . . . . . . . . . . . . . . . . . .

Programmation convexe . . . . . . . . . . . . . . . . . . . . . . . . 12

Chapitre 2 La programmation semi-dnie : Thorie, algorithmes et applications 15


2.1 2.2 2.3 Les programmes semi-dnis . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Thorie de la dualit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Mthodes de points intrieurs . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.3.1 2.3.2 2.4 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Mthodes de trajectoire centrale . . . . . . . . . . . . . . . . . . . . 22

Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Chapitre 3 Le problme des valeurs propres


3.1 3.2

31

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Optimisation DC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.2.1 3.2.2 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Dualit en optimisation DC . . . . . . . . . . . . . . . . . . . . . . 32 v

Table des matires


3.2.3 3.3 3.4 3.5 Algorithmes d'optimization DC (DCA) . . . . . . . . . . . . . . . . 34

Stabilit de la dualit lagrangienne en optimisation non convexe . . . . . . 35 Calcul des valeurs propres extrmes d'une matrice symtrique relle . . . . 38 Applications et rsultats numriques . . . . . . . . . . . . . . . . . . . . . 46 3.5.1 3.5.2 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Rsultats numriques . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Chapitre 4 La programmation quadratique


4.1 4.2 4.3

57

Le programme quadratique sous contraintes quadratiques et sa relaxation semi-dnie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Le programme quadratique sous contraintes quadratiques en variables bivalentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Programmes quadratiques en variables 0-1 sans contraintes . . . . . . . . . 61 4.3.1 4.3.2 4.3.3 4.3.4 4.3.5 Critres de xation gnraliss . . . . . . . . . . . . . . . . . . . . . 72 Gnration de xations . . . . . . . . . . . . . . . . . . . . . . . . . 79 Dductions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Rsultats numriques . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Reformulation quadratique convexe . . . . . . . . . . . . . . . . . . 94

Annexes Annexe A Logiciels pour la programmation semi-dnie Annexe B La programmation par contrainte

101 103 107

B.1 Recherche arborescente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 B.2 Propagation de contraintes . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

Bibliographie

111

vi

Introduction gnrale
L'optimisation est un outil important pour les sciences de la dcision et l'analyse des systmes physiques. Les ingnieurs, les conomistes, les dcideurs se heurtent quotidiennement, quel que soit leur secteur d'activit, des problmes d'optimisation. Il peut s'agir de minimiser un cot de production, d'optimiser le parcours d'un vhicule ou le rendement d'un portefeuille boursier, de rationaliser l'utilisation de ressources, d'amliorer les performances d'un circuit lectronique, de fournir une aide la dcision des managers, etc. Un problme d'optimisation consiste dterminer la plus petite (ou grande) valeur possible qu'une fonction relle f : C R nomme fonction objectif puisse prendre dans l'ensemble C nomm ensemble des solutions ralisables ou aussi ensemble des contraintes. Nous n'abordons pas ici le cas o on prend en compte plusieurs critres la fois (optimisation multicritre). Les problmes d'optimisation sont diviss naturellement en deux catgories : ceux avec des variables continues, et ceux avec des variables discrtes, qui sont appels souvent problmes d'optimisation combinatoire. Dans l'optimisation continue on considre l'ensemble de solutions ralisables comme un ensemble rel, tandis qu'en optimisation combinatoire on cherche une certain objectif dans des ensembles nis ou innis dnombrables. Ces deux types de problmes ont des champs d'applications varis, et les mthodes de rsolution sont direntes. Dans l'optimisation continue on s'intresse des notions comme la convexit, la direntiabilit, l'existence et l'unicit d'une solution, les conditions ncessaires, les conditions susantes, et les conditions ncessaires et susantes d'optimalit. La programmation semi-dnie est l'un des problmes de l'optimisation continue les plus tudis ces dernires annes. L'intrt pour ce type de problmes est justi par ses multiples applications. On peut vii

Introduction gnrale
mentionner par exemple l'optimisation combinatoire, le problme de valeurs propres, le systme et thorie du contrle, les applications en statistique, etc. Depuis son apparition, elle est considre comme une extension de la programmation linaire. Un grand tournant de la programmation mathmatique fut l'apparition des mthodes de points intrieurs initialises par Karmarkar en 1984 [51]. Depuis cette date, de nombreuses mthodes ont t proposes pour la programmation linaire et ont ensuite t gnralises pour la programmation semi-dnie. L'optimisation combinatoire occupe une place trs importante en recherche oprationnelle, en mathmatiques discrtes et en informatique. Son importance se justie d'une part par la grande dicult de rsolution de ses problmes [76] et d'autre part par de nombreuses applications pratiques pouvant tre formules sous la forme d'un problme d'optimisation combinatoire [90]. Bien que les problmes d'optimisation combinatoire soient souvent faciles dnir, ils sont gnralement diciles rsoudre. En eet, la plupart de ces problmes appartiennent la classe des problmes NP-diciles et ne possdent donc pas ce jour des solutions algorithmiques ecaces valables pour les donnes de grande taille [31]. tant donn l'importance de ces problmes, plusieurs travaux de recherche ont t mens sur ces problmes NP-diciles. Rsoudre un problme NP-dicile peut se faire de deux faons direntes :  Mthodes approches : dans ce cas, on cherche obtenir une "bonne" solution, sans aucune garantie qu'elle soit la meilleure ;  Mthodes exactes : dans ce cas, on cherche la meilleure solution possible et on prouve qu'elle est bien optimale. La premire faon est trs utile pour pouvoir aborder des problmes de tailles importantes si l'optimalit n'est pas primordiale. En eet, Les mthodes approches sont utilises depuis longtemps par de nombreux praticiens. On peut citer les mthodes gloutonnes et l'amlioration itrative : par exemple, la mthode de Lin et Kernighan qui resta longtemps un des meilleurs algorithmes pour le problme du voyageur de commerce [62]. Depuis une dizaine d'annes, des progrs importants ont t raliss avec l'apparition d'une nouvelle gnration de mthodes approches puissantes et gnrales, souvent appeles mtaheuristiques [1] et [89]. Une mtaheuristique est constitue d'un ensemble de concepts fondamentaux qui permettent d'aider la conception de mthodes heuristiques pour un problme d'optimisation. Ainsi les mtaheuristiques sont adaptables et viii

applicables une large classe de problmes. Les mtaheuristiques sont reprsentes essentiellement par les mthodes de voisinage comme le recuit simul, les colonies de fourmis, la recherche tabou, et les algorithmes volutifs comme les algorithmes gntiques et les stratgies d'volution ainsi que les mthodes hybrides. La seconde voie de procder rpond exactement au problme pos mais ne permet le plus souvent de rsoudre que des instances de petites tailles. Le principe essentiel d'une mthode exacte consiste gnralement numrer, souvent de manire implicite, l'ensemble des solutions de l'espace de recherche. Pour amliorer l'numration des solutions, une telle mthode dispose des techniques pour dtecter le plus tt possible les checs (calculs de bornes infrieures de bonne qualit au pralable), pour ceci on largit l'ensemble des solutions ralisables, en mathmatiques on dit qu'on relaxe l'ensemble des solutions ralisables en relchant certaines contraintes, et d'heuristiques spciques pour orienter les dirents choix. Nous envisageons ici le cas de la minimisation. Ceci n'est pas restrictif dans la mesure o la recherche du maximum d'une fonction f se ramne immdiatement au problme de le minimisation de f . Les mthodes de rsolution exactes les plus connues sont les techniques de sparation et valuations progressives (SEP)1 . tant donn qu'une majorit des problmes en optimisation combinatoire sont quadratiques, de nombreuses linarisations ont t proposes, ([2], [27], [28], [34], [36], [37] et [94]). Elles dirent par leur nombre de contraintes et par leur nombre de variables. galement des relaxations lagrangiennes ont t tudies dans la littrature (voir par exemple [36]). Dans cette thse nous nous intressons la relaxation semi-dnie qui nous ore des bornes infrieures de bonnes qualits, mais la rsolution d'un programme semi-dni, ce qui, dans certains cas, se rvle trs coteux en temps de calcul, notamment lorsque le problme rsoudre est de grande taille. Pour garder la qualit de la borne infrieure qui donne la programmation semi-dnie, nous proposons, pour le problme quadratique en variables 0-1 sans contraintes, des critres dits de xation qui peuvent, certaines fois, rsoudre compltement le problme quadratique en variables 0-1 sans contraintes et d'autres fois permettent de rduire la taille du problme, ce qui permet de diminuer le temps de la rsolution de la relaxation semi-dnie associe au nouveau problme quaratique obtenu aprs les xations. Dans les autres cas, o on ne peut pas xer des variables, on peut xer des produits des littraux qui sont quivalents des contraintes linaires d'ingalit, nous
1 En

anglais "Branch-and-Bound"

ix

Introduction gnrale
introduisons ces contraintes dans une mthode de sparation et valuations progressives base sur la relaxation quadratique convexe. Pour obtenir cette relaxation quadratique convexe on fait recours la programmation semi-dnie qui donne une convexication meilleure que celle base sur la plus petite valeur propre. Nous prsentons aussi dans cette thse des formulations semi-dnies pour les valeurs propres extrmes d'une matrice relle symtrique et des algorithmes de sous-gradients, bass sur la stabilit de la dualit lagrangienne en optimisation non convexe et sur la dualit en optimisation DC pour calculer ces valeurs propres extrmes. la n, nous donnons les rsultats numriques comparatifs correspondants. La thse se prsente comme suit : Le chapitre 1, comme son nom l'indique : rappels de base, est une introduction certaines notions et rsultats bien connus de l'analyse matricielle, ainsi que des notions de base de l'analyse convexe, qui seront utiles dans la suite. Le chapitre 2 est un tat de l'art sur la programmation semi-dnie, sa thorie, ses algorithmes et ses applications. Le chapitre 3 est consacr au calcul des valeurs propres extrmes. Nous prsentons dans ce chapitre plusieurs algorithmes bass sur l'optimisation DC et la programmation semi-dnie suivis par des simulations numriques de ces dirents algorithmes. Dans le

chapitre 4 nous prsentons une relaxation semi-dnie du problme quadratique sous


contraintes quadratiques d'une manire gnrale o les variables du problme sont relles, puis nous ajoutons cette relaxation des contraintes supplmentaires, qui permettent d'amliorer la borne infrieure trouve par cette relaxation, quand on passe au variables binaires. Ensuite nous prsentons l'algorithme FSDP pour la programmation quadratique en 0-1 sans contraintes. Cet algorithme est une combinaison des critres de xations proposs par Hansen [41] avec la relaxation semi-dnie. Malgr l'ecacit de ces critres (sur certains problmes quadratiques en 0-1 sans contraintes), plusieurs problmes ne peuvent pas tre rsolus en utilisant uniquement les critres de Hansen tandis que nos critres de xations gnraliss montrent leur ecacit sur ces problmes. la n de ce chapitre des rformulations quadratiques convexes et des rsultats numriques seront prsents.

Chapitre 1 Rappels de base


Dans ce chapitre nous allons introduire certaines notions et rsultats bien connus sur les matrices symtriques et les matrices semi-dnes positives, ainsi que des notions de base de l'analyse convexe.

1.1 Matrices
On notera Mm,n l'espace vectoriel des matrices relles mn et Mn l'espace vectoriel des matrices carres d'ordre n, (i.e. Mn = Mn,n ). L'espace vectoriel des matrices carres symtriques d'ordre n est not Sn . La trace d'une matrice A = (aij ) Mn est dnie par :
n

tr(A) =
i=1

aii .

La trace est une fonction linaire et pour A = (aij ) Mn il est important de signaler qu'elle est gale la somme des valeurs propres de A. L'espace vectoriel Mm,n est isomorphe l'espace vectoriel Rm.n . Dans cet espace vectoriel le produit scalaire entre deux lments A = (aij ), B = (bij ) de Mm,n est dni par :
m n

A, B = tr(B A) =
i=1 j=1

aij bij = tr(AT B).

(1.1)

La norme associe ce produit scalaire est dnie par 1

Chapitre 1. Rappels de base

A =

A, A =

tr(AT A) pour tout A Mn .

la place de Mm,n , on travaillera habituellement dans Sn qui est isomorphe Rt(n) , o` t(n) = u
2 Cn+1 = n(n+1) . 2

Pour A, B Sn , on a
n

A, B = tr(AB) et A =
i=1

i (A)2 ,

Toutes les valeurs propres d'une matrice symtrique A Sn sont relles et en plus il existe une matrice orthogonale P Mn qui diagonalise A, c'est--dire

P T AP = A o A est une matrice diagonale dont les lments diagonaux sont les
valeurs propres de A. Ainsi les valeurs propres sont les solutions du polynme caractris` ` tique pn () = det(A I). On note par Ai,. la ieme ligne de A et par A.,j la j eme colonne

de A. Pour nos besoins, il convient d'crire les valeurs propres dans l'ordre croissant,

min (A) = 1 (A) 2 (A) ... n (A) = max (A).


Pour une matrice A Sn avec rang(A) = k la dcomposition spectrale de A, A =

P A P T , est donne par une matrice diagonale A Sk dont les lments diagonaux sont
les valeurs propres non nulles de A sur sa diagonale principale, et une matrice P Mn,k telle que P T P = Ik . On tudie maintenant les matrices semi-dnies positives. Bien qu'il est possible de dnir ce terme pour des matrices carres quelconques, on va l'utiliser exclusivement pour des matrices symtriques.

Dnition 1.1.1
+ A Sn est semi-dnie positive (A Sn ou A

0) si xT Ax 0 x Rn .

A Sn est dnie positive (A Sn ++ ou A

0) si xT Ax > 0 x Rn \{0}.

On nonce certaines consquences immdiates de ces dnitions qui seront utilises par la suite.

1.1. Matrices

Toute sous-matrice principale d'une matrice semi-dnie (resp. dnie) positive est
aussi semi-dnie (resp. dnie) positive. En particulier, tous les lments diagonaux d'une matrice semi-dnie (resp. dnie) positive doivent tre positifs (resp. strictement positifs).
+ pour A Sn , il existe i {1, ..., n} ; aii = max{|aij |; i, j {1, ..., n}}

+ si A Sn et aii = 0 pour certain i {1, ..., n} alors aij = 0 pour tout j {1, ..., n}. + Proposition 1.1.1 Soit B Mn une matrice non singulire. Alors A Sn si et seule+ ++ ++ ment si B T AB Sn et A Sn si et seulement si B T AB Sn .

Preuve. Pour x Rn et y = B 1 x, on obtient xT Ax = y T B T ABy . Thorme 1.1.1 (Caractrisations des matrices dnies positives)
Pour A Sn les proprits suivantes sont quivalentes :
++ 1. A Sn

2. i (A) > 0 i = 1, ..., n 3. Il existe C Mn avec rang(C) = n tel que A = C T C . 4. Pour une suite arbitraire Ai Si , i = 1, ..., n, de sous-matrices principales de A : det(Ai ) > 0 pour i = 1,..., n.
++ ++ Il est facile de constater qu'une matrice A Sn si et seulement si A1 Sn , car

les valeurs propres de A1 sont

1 i (A)

pour tout i = 1, ..., n.

Thorme 1.1.2 (Complment de Schur)


Soient A Sn , B Mn,m et C Sm avec A inversible. Alors on a A B = In(A) + In(C B T A1 B). In T B C

++ Il s'ensuit que si A Sn , la matrice T 1

A B
T

B C

est dnie (semi-dnie) positive si

et seulement si (C B A B) est dnie (semi-dnie) positive.


3

Chapitre 1. Rappels de base

Thorme 1.1.3 (Factorisation de Cholesky)


Pour A

0, il y a une seule matrice triangulaire infrieure et inversible L telle que

A = LLT .

Dnition 1.1.2 Une matrice A Mn est diagonale strictement dominante si


|aii | >
i=j

|aij | pour tout i = 1, ..., n.

Thorme 1.1.4 Si A Sn est diagonale strictement dominante et si tous les lments


diagonaux sont strictement positfs. Alors A est dnie positive.

Thorme 1.1.5 (Caractrisations des matrices semi-dnies positives)


Pour A Sn les proprits suivantes sont quivalentes :
+ 1. A Sn

2. i (A) 0 i = 1, ..., n 3. Il existe C Mm,n tel que A = C T C avec rang(C) = rang(A).

1.2 Le cne des matrices semi-dnies positives


Nous allons maintenant considrer le cne des matrices semi-dnies positives comme un sous-ensemble de Sn .

Dnition 1.2.1 Un ensemble C Rn est un cne s'il est stable pour la multiplication
par des scalaires positifs et l'addition. (x, y C x + y C et x C 0). Un cne C est pointu si C (C) = {0}.
Remarquons, que cette dnition implique qu'un cne est un ensemble convexe.
+ Proposition 1.2.1 Sn est un cne (convexe), pointu et ferm de pleine dimension dans

Rt(n) .
++ ++ L'ensemble des matrices dnies-positives Sn n'est pas un cne car 0 Sn . Il est + + ++ facile de voir que Sn est l'intrieur du cne Sn et que la frontire de Sn est constitue

par les matrices semi-dnies positives ayant au moins une valeur propre nulle. Le lemme suivant montre que le cne des matrices semi-dnies a un angle d'ouverture gal . 2 4

1.2. Le cne des matrices semi-dnies positives


+ Lemme 1.2.1 Soient A,B Sn . Alors A, B 0 et en plus A, B = 0 si et seulement

si AB = 0.

Dnition 1.2.2 Le cne polaire C d'un cne C est l'ensemble {y : x, y 0 pour tout x
C}.
Pour un cne C , le cne C peut tre vu comme l'ensemble des ingalits strictes valides pour C ou comme l'ensemble des plans tangents C . Il est donc naturel de parler de C comme le cne dual de C . Un cne qui vrie C = C est appel identit-polaires (self-polar) ou identit-dual (self-dual).
+ + Lemme 1.2.2 Sn = Sn . + + + + Preuve. Sn Sn d'aprs le lemme 1.2.1. Pour dmontrer que Sn Sn , notant que + pour tout x Rn la matrice xxT est semi-dnie positive. Soit A Sn , 0 A, xxT = + xT Ax x Rn , d'o A Sn .

Le lemme 1.2.1 est quivalent au thorme de trace de Fejer (Fejer's trace Theorem), qu'on le formule comme un corollaire.

Corollaire 1.2.1 (thorme de trace de Fejer)


+ + A Sn si et seulement si A, B 0 B Sn .

Le cne des matrices semi-dnies positives induit une relation d'ordre partiel sur l'ensemble des matrices symtriques.

Dnition 1.2.3 (La relation d'ordre partielle)


Soient A, B Sn , A
+ B (A B) Sn .

C'est l'origine de la notation A

+ 0 dans la dnition 1.1.1 pour A Sn .

Dnition 1.2.4 Soient x = (x1 , x2 , ..., xn )T Rn et X = (xij ) Mn . On dnit les


deux oprateurs diag et Diag par :  diag(X) = (x11 , x22 , ..., xnn )T Rn .

Chapitre 1. Rappels de base

 Diag(x) =

x1 0 . . . 0

0 x2 .. .

...

0 . . . Mn . .. . 0 0 xn

Le produit d'Hadamard ou produit de Schur, pour A, B Mm,n , est dni par :

A B = [aij .bij ]

Thorme 1.2.1 (Thorme du produit de Schur)


+ + ++ ++ Si A, B Sn alors A B Sn . Si A, B Sn alors A B Sn

Preuve. Pour v Rn , on vrie que (A B)v = diag(ADiag(v)B). Ensuite v T (A


B)v = v T diag(ADiag(v)B) = tr(Diag(v)ADiag(v)B) = Diag(v)ADiag(v), B 0,
+ ++ d'aprs le lemme 1.2.1, car Diag(v)ADiag(v) et B Sn . Si A Sn et v = 0 alors ++ Diag(v)ADiag(v) = 0. Si de plus B Sn alors Diag(v)ADiag(v), B > 0.

1.3 Produit de Kronecker et calcul matriciel


Le produit de Kronecker est une application : Mm,n Mk,l Mmk,nl dnie par :

a11 B a1n B . . .. . AB = . . . . am1 B amn B


En relation avec le produit de Kronecker on doit transformer souvent une matrice

A Mm,n en un vecteur dans Rm.n , en utilisant l'oprateur V ec : Mm,n Rm.n , dni


par

A.,1 . V ec(A) = . . . A.,n


On liste certaines proprits importantes du produit de Kronecker.

1.3. Produit de Kronecker et calcul matriciel

Proposition 1.3.1 Soient A, B, C, et D des matrices des tailles appropries.

(A B)T = AT B T A (B C) = (A B) C (A + B) (C + D) = (A C) + (A D) + (B C) + (B D) (A B)(C D) = (AC) (BD) tr(A B) = tr(A)tr(B) V ec(ABC) = (C T A)V ec(B) V ec(AB + BC) = (I A + C T I)V ec(B)

(1.2) (1.3) (1.4) (1.5) (1.6) (1.7) (1.8)

Proposition 1.3.2 Soient i et i pour i = 1, . . . , n les valeurs propres de A et B respectivement avec xi et yi Cn les vecteurs propres orthogonaux correspondants. Alors toutes les valeurs propres de A B sont donnes par i i avec les vecteurs propres orthogonaux correspondants xi yj .

Preuve.
(A B)(xi yj ) = = = (Axi ) (Byj ) (i xi ) (j yj ) i j (xi yj ) (d apr`s (1.5)) e

T (xi yj )(xh yk ) = (xT yj )(xh yk ) i

= =

T (xT xh ) (yj yk ) i

Nous nous intressons l'tude des fonctions qui dpendent des matrices et leurs drives. Initialement, les drives des matrices variables peuvent causer des confusions des aux problmes d'arrangement des termes, dans ce cas on utilise l'oprateur V ec. Cependant on dnira seulement le gradient pour les fonctions dpendantes des vecteurs, mais on rarrangera aussi le jacobien rsultant dans certaines autres formes matricielles. 7

Chapitre 1. Rappels de base


Soient x un vecteur dans Rn et f : Rn Rm ; x (f1 (x), . . . , fm (x))T une fonction continment direntiable. Le jacobien de f (x) par rapport x est la matrice de type

n m suivante :

f (x) =

f1 (x) x1

. . .

fm (x) x1

. . .

f1 (x) xn

fm (x) xn

L'approximation du premier ordre de f (x0 + x) est

f (x0 + x)

f (x0 ) + f (x0 )x.

Proposition 1.3.3 (Rgle de composition) tant donne f : Rn Rm et g : Rm Rk


deux fonctions continment direntiables alors

(g f ) (x) = g (f (x))f (x)


En particulier si A ets une matrice de type m n et f (x) = Ax alors

(g f ) (x) = g (Ax)A.
On illustre l'application de la dernire proposition aux matrices pour le produit AX et XA o X, A Sn . Pour AX on a V ec(AX) = (I A)V ec(X), et d'aprs (1.7)
XV

ec(AX) = (I A).

et par analogie

XV

ec(XA) = (A I).

Pour obtenir des reprsentations agrables des linarisations on observe que (I

A)V ec(X) = V ec(AX) et par consquence [


et
XV

ec(AX)]T V ec(X) = (I A)V ec(X) = V ec(AX)

XV

ec(XA)]T V ec(X) = (A I)V ec(X) = V ec(XA).

Plus intuitivement, on crira AX et XA les linarisations de AX et XA respectivement. 8

1.4. Analyse convexe

1.4 Analyse convexe


La notion de convexit est un outil mathmatique important pour l'tude thorique et numrique des problmes d'optimisation. ce propos, nous prsentons dans ce paragraphe quelques notions de base d'usage courant.

1.4.1 Ensembles et fonctions convexes


Dnition 1.4.1 Un sous-ensemble S de Rn est dit convexe si :
x, y S, [0, 1] x + (1 )y S.

Dnition 1.4.2 Soient x1 , . . . , xp des points quelconques de Rn on dit que x Rn est


une combinaison convexe de x1 , . . . , xp , s'il existe (1 , 2 , . . . , p ) Rp tels que, +
p p

x=
i=1

i x i

avec
i=1

i = 1.

Dnition 1.4.3 Etant donn S Rn , l'enveloppe convexe de S , not Conv(S), est


dni par : Conv(S) = ensemble de toutes les combinaisons convexes d'lments de S.

Il droule de ce qui prcde que S convexe si et seulement si S = Conv(S).

Thorme 1.4.1 L'intersection d'un nombre quelconque d'ensembles convexes est convexe. Dnition 1.4.4 On dit que f : Rn R dnie sur un ensemble convexe S Rn est
convexe si x, y S , [0, 1] on a

f (x + (1 )y) f (x) + (1 )f (y),


ou d'une manire quivalente si
p p

f(
i=1 n

i x i )
i=1

i f (xi )

p N , i R+ ,
i=1

i = 1 et xi S i = 1, . . . , n. f est strictement convexe si : f (x + (1 )y) < f (x) + (1 )f (y),

x, y S, x = y et 0 < < 1.
9

Chapitre 1. Rappels de base

Thorme 1.4.2 Une combinaison linaire coecients positifs des fonctions convexes
est une fonction convexe.

Thorme 1.4.3 Si f C 2 dans ouvert et S convexe, les conditions suivantes


sont quivalentes : 1. f est convexe sur S . 2. x, y S f (y) f (x) +

f (x), y x .
2

3. x S la matrice Hessienne H(x) =

f (x) est semi-dnie positive dans S .

Dnition 1.4.5 Une fonction f est dite concave si f est convexe. Dnition 1.4.6 Une fonction f est dite fortement convexe sur un ensemble convexe
S Rn s'il existe > 0 tel que : x, y S, [0, 1], f (x+(1)y) f (x)+(1)f (y) (1) 2 xy
2

Dnition 1.4.7 Une fonction f est dite crcive sur un ensemble convexe S si
x + xS

lim

f (x) = +.

Dnition 1.4.8 On appelle sous-gradient d'une fonction f convexe sur S au point x0


S tout vecteur r = (r1 , r2 , ..., rn )T Rn vriant : f (x) f (x0 ) + rT (x x0 ) x S.

Thorme 1.4.4 On appelle sous-direntiel de f au point x0 l'ensemble de tous les


sous-gradients de f en x0 . On le note f (x0 ).

Thorme 1.4.5 [8] Si f est fortement convexe sur Rn , alors il existe un nombre rel
> 0 tel que : f (x ) f (x)+ < y, x x > + x x
2

x, x Rn ;

y f (x).

o f (x) est le sous-direntiel de f en x. La rciproque de ce thorme est vraie si f est sous-direntiable. Dans les mthodes de points intrieurs, la fonction
n n

Log(det(X)) = Log
i=1

i (X) =
i=1

Logi (X),

10

1.4. Analyse convexe


joue un rle important. La fonction X det(X) est une fonction continue, qui est positive pour les matrices dnies positives, et nulle pour les matrices semi-dnies positives singulires. La fonction X Log(det(X)) tend vers l'inni quand X les itrations. Une de ces importantes proprits est sa convexit stricte.

0 approche la

frontire du cne des matrices semi-dnies positives, elle agit comme une barrire dans

Lemme 1.4.1 Log(det(X)) est strictement concave sur l'ensemble des matrices dnies++ positives Sn . ++ Preuve. Soient A 2 la matrice dnie positive telle que A = A 2 A 2 , B Sn et 0 < < 1.
1 1 1

Alors

det(A + (1 )B) = det(I + (1 )A


La matrice A
1 2

1 2

BA

1 2

)det(A)

BA

1 2

est dnie positive elle est gale I si et seulement si A = B.


1 2

Dsignons par i les valeurs propres de A

BA
1 2

1 2

. Alors ( + (1 )i ).

det(I + (1 )A
La fonction t

1 2

BA

)=

ti , ti > 0 est strictement concave, on en dduit que ( + (1 )i ) 1n + (1 ) i

avec galit si et seulement si i = 1 i. Puis

Log(

( + (1 )i )) Log( + (1 )

i )

avec galit si et seulement si i = 1 i. Comme la fonction logarithme est strictement concave alors

Log(

( + (1 )i )) (1 )Log(

i )

avec galit si et seulement si i = 1 i. D'o

Logdet[A + (1 )B] Logdet(A) + (1 )Logdet(B)


avec galit si et seulement si A = B. La concavit stricte vient de la concavit stricte des fonctions produit et logarithme. 11

Chapitre 1. Rappels de base

1.4.2 Programmation convexe


Avant de parler d'un programme convexe, on va donner la dnition d'un programme mathmatique en gnral.

Dnition 1.4.9 D'une faon trs gnrale un programme mathmatique est un problme
d'optimsation sous contraintes dans Rn de la forme

M inimiserf (x) sous les contraintes : (P ) gi (x) 0 i = 1, . . . , m x S Rn


Ici le vecteur x Rn a pour composantes x1 , . . . , xn qui sont les inconnues du problme. La fonction f est appele la fonction objectif (on dit aussi parfois : fonction conomique) et l'ensemble des conditions : gi (x) 0 (i = 1, 2, . . . , m) et x S sont les contraintes du problme. Remarquons, que la forme (P ) inclut le cas des contraintes d'galit. En eet, une contrainte du type hi (x) = 0 peut toujours tre remplace par la double ingalit hi (x) 0 et hi (x) 0. On appelle solution ralisable du problme (P ) tout vecteur x vriant les contraintes, c'est--dire tel que gi (x) 0 (i = 1, 2, . . . , m) et x S . On appelle solution optimale (ou encore : optimum global) de (P ) une solution qui minimise f (x) sur l'ensemble de toutes les solutions ralisable. On dit qu'un vecteur x0 est un optimum local de (P ) si et seulement si il existe un voisinage V (x0 ) de x0 tel que x0 soit optimum global du problme :

M inimiserf (x) sous les contraintes : (P ) gi (x) 0 i = 1, . . . , m x S V (x0 ).


Nous envisageons ici le cas de la minimisation. Ceci n'est pas restrictif dans la mesure o la recherche du maximum d'une fonction f se ramne immdiatement au problme de le minimisation de f . 12

1.4. Analyse convexe

Dnition 1.4.10 On dit qu'un problme de programmation mathmatique est convexe


s'il consiste minimiser une fonction convexe (resp. maximiser une fonction concave) sur un domaine convexe.
Ainsi le problme (P ) est un problme de programmation convexe (ou simplement un programme convexe) si f est convexe, les fonctions gi (i = 1, . . . , m) sont convexes, et

S Rn est convexe.
La proprit fondamentale des programmes convexes apparat alors dans le rsultat suivant :

Thorme 1.4.6 Pour un programme convexe, tout optimum local est un optimum global. Thorme 1.4.7 (Weierstrass) Si f est une fonction relle continue sur K Rn , compact (K ferm born) alors le probme d'optimisation : M inimiserf (x) xK a une solution optimale x K.

Corollaire 1.4.1 Si f est une fonction relle continue et crcive sur Rn , alors le probme
d'optimisation :

M inimiserf (x) x Rn

a une solution optimale x .

Remarque 1.4.1 L'unicit d'une ventuelle solution optimale est en souvent une consquence de la stricte convexit de la fonction objectif et de la convexit du domaine du problme d'optimisation.

Exemple 1.4.1 (La programmation linaire)


Le programme linaire (not (P L)) est un bon exemple de la programmation convexe. Un problme de programmation linaire consiste minimiser (ou maximiser) une fonction linaire sous contraintes linaires. On considre des programmes linaires sous forme standard du type : 13

Chapitre 1. Rappels de base

M in z = cT x (P L) s.c. Ax = b x0
o

(1.9)

n = nombre de variables m = nombre de contraintes A = matrices relle m n (matrice des contraintes) c = (c1 , . . . , cn )T vecteur des cots b = (b1 , . . . , bm )T vecteur du second membre
n

z =c x=
i=1

ci xi fonction minimiser (fonction objectif ou fonction conomique).

On peut toujours mettre un programme linaire quelconque sous forme standard en introduisant des variables supplmentaires, dites variables d'cart. Pour les preuves et plus des dtails sur l'analyse matricielle voir [48, 49]. L'ouvrage de T. Rockafellar [91] est une excellente rfrence pour l'analyse convexe, tout comme celui de M. Minoux [66] pour la programmation mathmatique.

14

Chapitre 2 La programmation semi-dnie : Thorie, algorithmes et applications


2.1 Les programmes semi-dnis
Dnition 2.1.1 Un programme semi-dni, dit primal1 , sous forme standard s'crit
comme suit :

M in (P SDP ) s.c.

C, X AX = b X 0
(2.1)

o b Rm et A est un oprateur linaire de Sn dans Rm tel que

A1 , X . , . AX = . Am , X C et Ai , i = 1, . . . , m, sont des matrices de Mn . Sans perte de gnralit on peut supposer


que C et les Ai sont symtriques.

Proposition 2.1.1 Un programme semi-dnie est un programme convexe. Preuve. En eet, le problme (2.1) n'est autre que
1 En

anglais "Primal SemiDenite Program"

15

Chapitre 2. La programmation semi-dnie : Thorie, algorithmes et applications

M in C, X (P SDP ) s.c. X {Y S + : AY = b} n

(2.2)

Il est facile de voir que la fonction objectif est une fonction linaire, donc dmontrer
+ qu'un programme semi-dni est convexe, revient dmontrer que l'ensemble {Y Sn :

AY = b} est un ensemble convexe. En eet, soient X1 et X2 deux lments quelconques


+ de {Y Sn : AY = b} et [0, 1]. + Il faut dmontrer que X1 + (1 )X2 {Y Sn : AY = b}. Il est clair que + X1 + (1 )X2 Sn , car pour tout x Rn on a xT (X1 + (1 )X2 )x = xT X1 x +

(1 )xT X2 x 0.
En plus,

A1 , X1 + (1 )X2 . . A(X1 + (1 )X2 ) = . Am , X1 + (1 )X2 A1 , X1 + (1 ) A1 , X2 . . = . Am , X1 + (1 ) Am , X2 b1 + (1 )b1 . . = . bm + (1 )bm = b.


La programmation semi-dnie est la programmation linaire sur le cne des matrices semi-dnies positives. En comparaison avec la programmation linaire standard le vecteur
+ de variables x Rn sera remplac par une matrice variable X Sn . Autrement dit, le cne +

de l'orthant positif x 0 sera remplac par le cne des matrices semi-dnies positives

X
16

0. Pour dclarer cette similitude, on utilise l'oprateur V ec, on obtient

2.1. Les programmes semi-dnis

M in V ec(C)T V ec(X) (P SDP ) s.c. AV ec(X) = b X 0

A1,. . o A = . , Ai,. = V ec(Ai )T pour i = 1, . . . , m. . Am,.


En posant c = V ec(C), et x = V ec(X) (PSDP) s'crit

M in s.c.

cT x Ax = b X 0

o c, x Rn , b Rm et A Mm,n2 . An de dnir le dual de (P SDP ) nous avons besoin de l'oprateur adjoint de A. Par dnition, c'est l'oprateur AT : Rm Sn vriant AX, y = X, AT y pour tout

X Sn et y Rm . Ainsi
m m

AX, y =
i=1

yi tr(Ai X) = tr(X
i=1

yi Ai ) = X, AT y ,

on obtient
m

A y=
i=1

yi Ai .

Pour crire le dual de (P SDP ), on considre la fonction lagrangienne associe ce dernier


+ L(X, y) = C, X + b AX, y , X Sn , y Rm

et on calcule la fonctionnelle duale associe H(y) : 17

Chapitre 2. La programmation semi-dnie : Thorie, algorithmes et applications

H(y) =

M in
+ X Sn

C, X + b AX, y

M in
+ X Sn

C, X +
i=1

(bi Ai , X )yi

M in X
+ Sn

C
i=1

yi Ai , X +
i=1

bi yi

b, y + M in [ C AT y, X ]
+ X Sn

Il est facile de voir que

M inX

[ C A y, X ] =

si C AT y sinon

D'o

M ax b, y M ax H(y) =

si C AT y sinon.

Ainsi le problme dual (DSDP ) de (P SDP ) s'crit sous la forme suivante :

M ax b, y (DSDP ) s.c. AT y + Z = C y Rm , Z 0

(2.3)

L'utilisation de la variable libre y dans (DSDP ), peut crer un doute si (DSDP ) est un programme semi-dni. Pour liminer ce doute, on donne une reprsentation lgrement 18

2.2. Thorie de la dualit


dirente de (P SDP ) et (DSDP ), souligne par Nesterov et Nemiroviskii [71]. On suppose que le systme AX = b est vri, i.e., il existe un X Sn satisfait AX = b. Dans ce cas on peut liminer le variable y dans (DSDP ). On exprime tout d'abord la fonction de cot en fonction de Z

b, y = AX, y = X, AT y = X, C Z .
Notons maintenant Im(AT ) l'image de AT , et Ker(A) le noyau de A, il est facile de voir que ces deux sous-espaces sont orthogonaux, Im(AT ) = (Ker(A)) , ce qui nous permet de remplacer les programmes (P SDP ) et (DSDP ) respectivement par les reprsentations suivantes :

M in s.c. X
+ Sn

C, X (X + KerA)

M ax s.c. Z
+ Sn

X, C Z (C + (KerA) ).

(2.4)

Par consquence, (P SDP ) et (DSDP ), sont des programmes semi-dnis et n'importe quelle proprit prise dans la formulation primale a son analogue dans la formulation duale.

2.2 Thorie de la dualit


En dduisant le problme dual de (P SDP ) par une approche lagrangienne, on obtient le problme (2.3). Le saut de dualit entre une solution ralisable duale (y, Z) et une solution ralisable primale X est

C, X b, y = AT y + Z, X AX, y = Z, X 0
d'aprs le lemme 1.2.1, la proprit que la valeur objective de chaque solution ralisable primale est plus grande ou gale la valeur objective de chaque solution ralisable duale et la dirence positive est appele la dualit faible. Contrairement la programmation linaire, il n'est pas toujours vrai que l'optimalit de (P SDP ) et (DSDP ) implique que Z, X = 0 19

Chapitre 2. La programmation semi-dnie : Thorie, algorithmes et applications

Contre exemple 1 Considerons le problme semi-dni suivant :


0 min 0 0 0
1 2 1 2

s.c.

0 1

, X = 1

1 0 0

0 0 0

= 0

0 0 1

0 0 0

= 0

0 0 0

0 1 0

= 0

X
qui est quivalent

min x12 s.c. X

0 x12 x22

0 0 1 + x12

En crivant le problme dual associ, on obtient : max y 1 s.c. Z = C y1 A1 y2 A2 y3 A3 y4 A4


20

2.2. Thorie de la dualit Le problme dual peut s'crire sous la forme suivante : max y1 y2 1+y1 y3 2 s.c. Z = 0 y4 y1

Une condition ncessaire pour que la matrice primale soit semi-dnie positive est que

x12 = 0 car x11 = 0, de la mme manire obtient que z12 = 0 car z22 = 0, i.e. y1 = 1,
dans le problme dual. le saut de dualit entre deux solutions optimales primale et duale est gal 1.
On retourne maintenant aux conditions qui assurent la dualit forte, et l'existence des solutions primales et duales.

Dnition 2.2.1 (Ralisibilit stricte)


Un point X est dit strictement ralisable pour (P SDP ) s'il est ralisable pour (P SDP ) et vrie X

0. 0.

Un point (y, Z) est dit strictement ralisable pour (DSDP ) s'il est ralisable pour

(DSDP ) et vrie Z

Thorme 2.2.1 [102] (la dualit forte)


Supposons qu'il existe une solution strictement ralisable (y0 , Z0 ) pour (DSDP ). Soient

p = inf { C, X : AX = b, X
et

0}

q = sup{ b, y : AT y + Z = C, Z

0},

alors p = q et si p est une valeur nie, elle est atteinte pour une certaine matrice

X {X

0 : AX = b}.

Corollaire 2.2.1 Soient p et q dnis comme dans le thorme 2.2.1


(i) Si (P SDP ) est strictement ralisable avec p nie, alors p = q et cette valeur est
atteinte pour (DSDP )
21

Chapitre 2. La programmation semi-dnie : Thorie, algorithmes et applications

(ii) Si (DSDP ) est strictement ralisable avec q nie, alors p = q et cette valeur
est atteinte pour (P SDP )

(iii) Si (P SDP ) et (DSDP ) sont strictement ralisables, alors p = q et ces deux


valeurs sont atteintes pour les deux problmes.

2.3 Mthodes de points intrieurs


2.3.1 Introduction
Dans le cadre de la programmation mathmatique avec contraintes, on dsigne par mthode de points intrieurs, toute procdure de rsolution gnrant une suite de points appartenant l'intrieur relatif du domaine ralisable et convergeant vers une solution optimale. De mme, on appelle fonction barrire toute fonction f qui vrie,

f est valeurs nies l'intrieur relatif du domaine ralisable f (x) quand x s'approche de la frontire.
Ces mthodes sont rputes pour leur convergence polynomiale, leur rapidit et efcacit et se sont rvles comme de vritables concurrentes des mthodes classiques (simplexe, pivotage de Lemke, etc). La littrature sur ces mthodes a connu une grande expansion et s'est enrichie de plusieurs classes et variantes dans le but de rduire la complexit et amliorer la convergence et l'ecacit. Le lecteur peut se reporter, par exemple, les livres de Ye [106] et Wright [103] qui retracent l'volution des mthodes de points intrieurs. Il y a pratiquement trois catgories des mthodes de points intrieurs : les mthodes anes, les mthodes de rduction de potentiel, et les mthodes de trajectoire centrale. En ce qui concerne le problme (SDP ) en particulier, l'impact des mthodes de points intrieurs est sans prcdent, dans cette thse on prsente les mthodes de trajectoire centrale. Pour les autres catgories voir [14].

2.3.2 Mthodes de trajectoire centrale


Ces mthodes sont le fruit direct d'une grande partie des tudes acharnes menes par plusieurs chercheurs vers la n des annes 80, et pleinement dveloppes au dbut 22

2.3. Mthodes de points intrieurs


des annes 90. Elles possdent les proprits thoriques les plus esthtiques : complexit polynmiale, convergence superlinaire et caractre algorithmique newtonien. Ces qualits de confort placent cette classe de mthodes au centre de l'intret primordial des chercheurs pour rsoudre eectivement des programmes mathmatiques avec contraintes. Revenons notre problme (SDP ), en rappelant ses formulations primale et duale :

M in (P SDP ) s.c.

C, X AX = b X 0 (DSDP )

M ax s.c.

b, y AT y + Z = C y Rm , Z 0

D'aprs le thorme de la dualit forte et son corollaire une condition susante pour atteindre des solutions optimales primales et duales et pour assurer la dualit forte est l'existence des solutions primales et duales strictement ralisables.

Supposition 2.3.1 Supposons qu'il existe une solution strictement ralisable X 0 pour
(P SDP ) et une solution strictement ralisable (y 0 , Z 0 ) pour (DSDP ).
Comme les algorithmes de points intrieurs dmarrent avec un point appartenant l'intrieur du cne des matrices semi-dnies positives, on remplace les deux problmes initiaux (P SDP ) et (DSDP ) par deux suites des problmes de barrires auxiliaires, (P )
+ et (D ) paramtres par le scalaire > 0, pour rester l'intrieur de Sn .

M in (P ) s.c.

C, X Logdet(X) AX = b X 0 (D )

M ax s.c.

b, y + Logdet(Z) AT y + Z = C y Rm , Z 0

Comme les fonctions objectives de (P ) et (D) sont respectivement strictement convexe et concave, alors les solution X de (P ) et (y , Z ) de (D) existent et sont uniques.
++ Ici > 0 est appel le paramtre de barrire et Log(det(Y )) (Y Sn ) est la fonction

barrire. Cette fonction tend vers l'inni quand une valeur propre de la matrice Y tend
+ vers zro, i.e. quand Y s'approche de la frontire de Sn .

On transforme les problmes de barrires en des problmes sans contraintes, en utilisant les multiplicateurs de Lagrange pour les contraintes d'galit : 23

Chapitre 2. La programmation semi-dnie : Thorie, algorithmes et applications

LP (X, y)

C, X b, y

Logdet(X) + + Logdet(Z) +

b AX, y X, C AT y Z

LD (X, y, Z) =

En crivant les conditions de Karush-Kuhn-Tucker (KKT ), on obtient

0 = LP (X, y) = C X 1 AT y b AX C Z AT y b AX Z 1 X

0 = LD (X, y, Z) =

On peut rcrire ces conditions comme :

(S )

AX XZ

, X , Z

0 0
(2.5)

AT y + Z = C = I

Les deux premires conditions correspondent au ralisabilit primale et duale. Pour = 0, la troisime condition correspond la condition de complmenterit XZ = 0. On note par (X , y , Z ) la solution de (S ) pour > 0 x. L'ensemble des solutions (X , y , Z ) pour tout > 0 forme l a trajectoire centrale qui converge vers une solution optimale (X , y , Z ) quand tend vers 0. Si on rsout (S ) par la mthode de Newton, on obtient le systme linaire suivant :

AX AT y + Z

(AX b) I XZ

= Rp
(2.6)

= (AT y + Z C) = Rd = Rc

XZ + ZX =

La rsolution de ce systme donne une matrice symtrique Z , par contre la matrice

X n'est pas ncessairement symtrique. Comme l'itr suivant doit tre symtrique
(dni positif), cela pose un vrai problme. 24

2.3. Mthodes de points intrieurs


Pour cela on introduit l'oprateur de symtrisation HP pour une matrice inversible donne P Sn . Soit M Mn , on dnit

1 HP = (P M P 1 + (P M P 1 )T ) 2
Dirents choix de P coresspondent direntes directions de recherche. Nous citons ici les trois approches les plus clbres. La premire approche de (H.R.V.W. [46]), (K.S.H. [55]), et (M. [68]) correspond

P = Z2.
La deuxime approche de (A.H.O. [4]) correspond P = I . La troisime approche de (N.T. [72] et [73]) correspond P vriant P T P = W =

X 2 (X 2 ZX 2 )

1 2

X2 .

Avant de rsoudre le systme (2.6), nous faisons un changement de variables pour facilit le calcul,

V ec(A1 )T . , . En posant c = V ec(C), x = V ec(X), z = V ec(Z) et A = . T V ec(Am ) le systme (2.6) peut s'crire comme

Ax = rp AT y + z = rd Ex + F z = rc
o E = Z I , F = I X , et r = V ec(R ).

(2.7) (2.8) (2.9)

Le systme (2.6) est rsolu en exprimant x en fonction z dans (2.9), x = E 1 (rc

F z), et z en fonction de y dans (2.8), z = rd AT y . En remplaant x = E 1 (rc F (rd AT y)) dans (2.7) on obtient M y = rp + AE 1 (F rd rc )
++ o M = AE 1 F AT , M Sm si on suppose que A est de plein rang en lignes. Le travail

le plus coteux est la formation et la factorisation de M chaque itration. 25

Chapitre 2. La programmation semi-dnie : Thorie, algorithmes et applications

Dnition 2.3.1 (Voisinage de la trajectoire centrale)


On dit que (X, Z) est dans le voisinage de la trajectoire centrale (not VF ()) s'il vrie :

HP (XZ) (X, Z)I


pour certain (0, 1).

(X, Z)

Nous prsentons maintenant la description gnrale de l'algorithme de points intrieurs pour rsoudre le problme (SDP )

Algorithme 2.3.1

Entre : A, b, C, et un point initial (X (0) , y (0) , Z (0) ) VF () pour un choix convenable


de 0 < < 1, 0 < < 1.
1. k = 0. 2. Calcul de = 3. On choisit P . 4. On rsout le systme suivant pour trouver (X, y, Z).
X (k) ,Z (k) n

AX = 0 AT y + Z = 0 HP (XZ (k) + X (k) Z) = k I H(X k Z k )


5. (X (k+1) , y (k+1) , Z (k+1) ) = (X (k) + X, y (k) + y, Z (k) + Z). 6. Si X (k+1) , Z (k+1) < on s'arrte : (X , y , Z ) = (X (k+1) , y (k+1) , Z (k+1) ) est la solution optimale. Sinon k := k + 1 et on retourne l'tape 2.

Autres mthodes de rsolution d'un programme semidnie


Dans la littrature il existe d'autres mthodes de rsolution d'un programme semidni, moins connues que la mthode de points intrieurs. 26

2.4. Applications
Considrons maintenant la mthode des faisceaux, [42], [45] et [74]. Si l'on suppose que la condition suivante est vrie

Il existe y tel que I = AT y.

(2.10)

La mthode des faisceaux est base sur le problme de valeur propre suivant, quivalent (DSDP ) :

max amin (C AT y) + bT y
y

(2.11)

L'hypothse (2.10) revient supposer que les solutions primales admissibles de (P SDP ) ont une trace constante, note a, i.e. tr(X) = a X {X

0, AX = b}. Il est important

de noter qu'un grand nombre de programmes semi-dnis peuvent s'crire ainsi. Par ailleurs, la fonction min (C AT y) est une fonction concave et non direntiable. Les mthodes de faisceaux permettent de donner une solution approche de la valeur propre minimale. D'autre part, Burer et al [18] ont rsolu une classe des programmes semi-dnis via la programmation non linaire. Nous donnons dans l'annexe A plusieurs logiciels pour rsoudre un programme semidni.

2.4 Applications
Jusqu' prsent on a utilis une matrice variable semi-dnie, on peut aussi formuler des problmes qui comportent plusieurs matrices variables semi-dnies.
k

M in
i=1 k

Ci , Xi Ai Xi = b
i=1

M ax s.c.

b, y AT y + Zi = Ci , i 1ik
(2.12)

s.c.

Xi Sn + , 1 i k i

y Rm , Zi Sn + , 1 i k i

En fait, n'importe quel programme semi-dni en plusieurs variables semi-dnies de dimensions direntes peut se formuler en (P SDP ) standard, grce l'quivalence 27

Chapitre 2. La programmation semi-dnie : Thorie, algorithmes et applications


suivante :

X1 0, X2 0, Xk 0

X1 0 . . . 0

0 X2 .. .

.. .

0 . . . .. . 0 0 Xk

0.

Il est facile maintenant de vrier que la programmation linaire est vraiment un cas particulier de la programmation semi-dnie, en interprtant chaque composant xi 0 comme une matrice semi-dnie positive d'ordre 1 dans (2.12). Plusieurs autres problmes d'optimisation convexe peuvent aussi se formuler comme des programmes semi-dnis. En particulier, le complment de Schur ore une excellente possibilit de modliser des contraintes non linaires en (SDP ). Nous illustrons ce qui prcde pour la contrainte quadratique convexe

xT Qx q T x + c

(2.13)

+ Ici x Rn est le vecteur de variables et Q Sn , q Rn , c R sont des donnes. Commme + Q Sn alors il existe C Mm,n tel que Q = C T C et rang(Q) = rang(C). En utilisant

la matrice identit l'ingalit prcdente sera xT C T ICx q T x + c. D'aprs le complment de Schur, l'ingalit quadratique convexe sera

I Cx xT C T q T x + c
vant :

0
(2.14)

D'o le problme quadratique convexe sous une contrainte quadratique convexe sui-

M in xT Ax + bT x + a (CQP )
qui n'est autre que

s.c.

xT Qx q T x + c x Rn

(2.15)

M in t s.c. xT Qx q T x + c (CQP ) xT Ax + bT x + a t x Rn
28

2.4. Applications
sera :

(CQP )

M in t s.c.

I x C I
T T T

Cx q x+c Dx

0 0

xT DT bT x a + t

o D Mm,n tel que A = DT D et rang(A) = rang(D). Le cas non convexe sera tudi dans le chapitre 4. Considrons le problme non linaire quasi convexe suivant : T 2 M in (cdTx) x (P N QC) s.c. Ax b x Rn o c, d Rn , b Rm , et A Mm,n et on suppose que dT x > 0 pour tout x point ralisable de (P N QC). Ce problme est non linaire, pourtant on verra qu'il admet une modlisation semi-dnie. D'aprs le complment de Schur, on obtient l'quivalence

T 2

cT x 0

(c x) dT x cT x d T x

car dT x > 0. Ceci implique que le problme (P N QC) peut s'crire comme le problme semi-dni suivant :

M in s.c. Diag(b Ax) 0 0


T

c x cT x d T x 0.

Perspectives
Nous citons dans ici des applications de la programmation semi-dnie que nous n'avons pas abord dans cette thse mais qui reprsentent un travail trs intressant 29

Chapitre 2. La programmation semi-dnie : Thorie, algorithmes et applications


dans le futur :  Systme et thorie du contrle [26] ;  Statistiques [93] ;  Problmes de moments [57].

30

Chapitre 3 Le problme des valeurs propres


3.1 Introduction
Le calcul des valeurs propres d'une matrice est un problme d'analyse numrique d'une grande importance pratique et thorique. Il joue un rle trs important dans un grand nombre d'applications industrielles et scientiques et dans dirents domaines scientiques, surtout en dynamique des stuctures [32], physique [88], chimie [24], conomie [70], nanotechnologie [101], optimisation combinatoire [67] et en mathmatiques [20, 21]. Nous tudions la dualit en optimisation non convexe, les mthodes de sous-gradients ainsi que les techniques de rgularisation. Nous prsentons une formulation semi-dnie pour les valeurs propres extrmes d'une matrice relle symtrique et des algorithmes de sous-gradients, bass sur la stabilit de la dualit lagrangienne en optimisation non convexe et sur la dualit en optimisation DC pour calculer ces valeurs propres extrmes. la n, nous donnons les rsultats numriques correspondants.

3.2 Optimisation DC
3.2.1 Introduction
Soit X l'espace euclidien Rn , et Y son espace dual (Y = Rn ). On note par 0 (X) l'ensemble des fonctions convexes, propres et semi-continues infrieurement dans X. Un 31

Chapitre 3. Le problme des valeurs propres


problme d'optimisation DC est de la forme :

(P ) : = inf {f (x) = g(x) h(x) : x X},

g, h 0 (X).

f s'appelle fonction DC, g et h sont appeles composantes DC.


Il est clair qu'une fonction DC peut admettre une innit de dcompositions DC qui jouent un rle important dans les algorithmes DC. Puisque g et h peuvent prendre la valeur + en mme temps, on suppose (+)-(+) = + pour enlever l'indtermination (+)-(+). Cette convention n'est pas du tout articielle comme on verra dans le problme dual ci-dessous La dualit DC peut tre simplement dcrite l'aide des fonctions conjugues g et h de la manire suivante

(D) : = inf {h (y) g (y) : y Y},


o g (y) = sup {< x, y > g(x) : x X} est la fonction conjugue de g 0 (X) appartenant 0 (Y). Le problme (D) est le dual de (P ) et = . Si est ni, alors dom(g) dom(h) et seules les valeurs de (g h) dom(g) interviennent dans la recherche des solutions locales et globales de (P ). Cette dualit DC a t tudie par Toland [99] dans un cadre plus gnral.

3.2.2 Dualit en optimisation DC


Thorme 3.2.1 [81] Soient () et () les ensembles des solutions optimales des problmes (P ) et (D), respectivement. Alors : 1. h(x) g(x) 2. g (y) h (y)

x () ; y () ;
(galit si h est sous-direntiable dans ()) ; (galit si g est sous-direntiable dans ()).

3. {g (y) : y ()} () 4. {h(x) : x ()} ()

Dnition 3.2.1 Un point x de X est un minimum local de (g h) si g(x ) et h(x )


sont nis et si g(x) h(x) g(x ) h(x ) pour tout x dans un voisinage U de x . Par consquent, dom(g) U dom(h).
32

3.2. Optimisation DC

Dnition 3.2.2 Un point x de X est un point critique de (g h) si h(x ) g(x ) =


.
Si x est un minimum local de (gh), alors h(x ) g(x ). Cette condition ncessaire n'est pas loin d'tre suciente et qu'elle l'est pour un certain nombre de problmes DC non dierentiables, [80], en particulier pour h polydrale [47]. Les algorithmes de sous-gradients prsents ci-dessous permettent d'obtenir des points

x tels que h(x ) g(x ). Il est fort probable que ces points x soient des minima locaux
de (g h). Soit 1 (resp. 1 ) l'ensemble des points vriant les conditions ncessaires d'optimalit locale pour (P ) (resp. pour (D)), c'est--dire :

1 = {x X : h(x) g(x)} et 1 = {y Y : g (y) h (y)}.


Pour chaque point x X (resp. y Y), les problmes suivants :

S(x ) = Inf {h (y) g (y) : y h(x )} ;


et

T (y ) = Inf {g(x) h(x) : x g (y )}.


sont dnis. On note par s(x ) (resp. (y )) les ensembles de solutions de S(x ) (resp. de

T (y )).

Thorme 3.2.2 ([99] et [104])


x 1 si et seulement si y 1 tel que x g (y ) ; y 1 si et seulement si x 1 tel que y h(x ).

Corollaire 3.2.1 Si x 1 (resp. y 1 ) alors on a :


i) s(x ) = h(x ) (resp. (y ) = g (y )) ; ii) h (y) g (y) = g(x ) h(x )

y h(x ), x g (y )).

(resp. g(x) h(x) = h (y ) g (y )

Ces caractrisations constituent la base de l'algorithme DCA qui sera tudi dans le paragraphe 3.2.3. En gnral, DCA converge vers une solution locale du problme d'optimisation DC, cependant il est intressant de formuler des conditions susantes pour l'optimalit locale. 33

Chapitre 3. Le problme des valeurs propres

3.2.3 Algorithmes d'optimization DC (DCA)


Forme Complte de DCA
Dans cet algorithme, deux suites {xk } et {y k } veriant les Thormes 3.2.1 et 3.2.2, sont construites comme suit : commenons par un lment x0 quelconque de X, l'algorithme consiste construire deux suites {xk } et {y k } dnies par :

y k s(xk ),

xk+1 (y k ).

Thorme 3.2.3 ([99] et [104]) Supposons que les suites {xk } et {y k } sont bien dnies,
alors on a les proprits suivantes : 1. g(xk+1 ) h(xk+1 ) h (y k ) g (y k ) g(xk ) h(xk ). L'galit

g(xk+1 ) h(xk+1 ) = g(xk ) h(xk ) a lieu si et seulement si xk g (y k )

et y k h(xk ). Ainsi, xk 1 et y k 1 . 2. Si est ni, alors :


k+

lim {g(xk ) h(xk )} = lim {h (y k ) g (y k )} = .


k+

3. Si est ni et les suites {xk } et {y k } sont bornes, alors x (xk )

(resp.

y (y k )) il existe un y (y k ) (resp. x (xk )) tels que :


i) x 1 et g(x ) h(x ) = ; ii) y 1 et h (y ) g (y ) = ; iii) lim {g(xk ) + g (y k )} = g(x ) + g (y ) =< x , y > ;
k+

iv) lim {h(xk ) + h (y k )} = h(x ) + h (y ) =< x , y > ;


k+

o (z ) est l'ensemble des valeurs d'adhrence de la suite {z k }.


k

Du point de vue pratique, bien qu'on utilise une dcomposition DC mentionne auparavant, les problmes (S(xk )) et (T (xk )) restent des programmes de l'optimisation DC.

Forme simple
Dmarrons d'un point arbitraire x0 X, on dnit les deux suites {xk } et {y k } en prenant

y k h(xk ),
34

xk+1 g (y k ).

3.3. Stabilit de la dualit lagrangienne en optimisation non convexe


Dans cette section, toutes les proprits sont rapportes au thorme prcdent. De plus, nous ne sommes plus srs d'obtenir la proprit : h(x ) g(x ) et g (y ) h (y ) mais seulement h(x ) g(x ) = et g (y ) h (y ) = .

Thorme 3.2.4 [104] Supposons que g et h sont fortement convexes et les suites {xk }
et {y k } sont bien dnies, alors on a les proprits suivantes : 1. g(xk+1 ) h(xk+1 ) h (y k ) g (y k ) h xk+1 xk
2

g(xk ) h(xk ) (h +

g ) xk+1 xk 2 ,
o h et g sont respectivement les coecients de coercivit de h et g ; 2. h (y k+1 ) g (y k+1 ) g(xk+1 ) h(xk+1 ) g y k+1 y k
2

h (y k ) g (y k ) (h +

g ) y k+1 y k 2 ,
o h et g sont respectivement les coecients de coercivit de h et g .

Corollaire 3.2.2 (convergence de la forme simple)


1. g(xk+1 ) h(xk+1 ) = h (y k ) g (y k ) 2. h (y k ) g (y k ) = g(xk ) h(xk )

y k h(xk+1 ) et xk+1 = xk .

Dans ce cas, on obtient y k h(xk ) g(xk ) ;

xk g (y k ) et y k1 = y k . x (xk )
(resp.

Ici, on obtient y k h(xk ) g(xk ) ; 3. Si est ni et les suites {xk } et {y k } sont bornes, alors

y (y k )) il existe un y (y k ) [resp. x (xk )] tels que :


i) g(xk ) h(xk ) = h (y k ) g (y k ) [h (y ) g (y )] = quand k + ; ii) y h(x ) g(x ) et x h (y ) g (y ) ; iii) limk+ xk+1 xk = 0 et limk+ y k+1 y k = 0 o (z k ) est l'ensemble des valeurs d'adhrence de la suite {z k }.

3.3 Stabilit de la dualit lagrangienne en optimisation non convexe


Position du problme
On tudie dans cette section la stabilit lagrangienne dans les problmes en optimisation de la forme : 35

Chapitre 3. Le problme des valeurs propres

(P ) : = sup {f (x) : (x) 1}.


o f, 0 (Rn ), positivement homognes, non identiquement nulles. On suppose aussi que f et sont positives et en plus (x) > 0 pour tout x = 0. Le problme (P ) (dit problme primal) peut s'crire sous la forme :

1 1 (P ) : = inf {f (x) : 2 (x) }. 2 2


La fonction de Lagrange associe (P ) dnie sur X R par :

f (x) + (2 (x) 1) si 0 2 L(x, ) = sinon.

On dnit

(P ) : g() = inf {L(x, ) : x Rn } = inf {f (x) + (2 (x) 1) : x Rn }. 2


Le problme dual (D) associ (P ) peut se formuler par :

(D) : = sup {g() : 0}.


La fonction g est concave.

tude du problme (P )
L'tude du problme (P ) nous permet : 1. D'avoir des infromations supplmentaires prcieuses sur la caractrisation des solutions primales et duales ce qui nous permet d'obtenir la solution primale partir de la solution duale et vice-versa. 2. D'utiliser le problme (P ) dont la solution permet d'obtenir la solution de (P ). On dsigne par ( ) (resp. P et D) l'ensemble de solutions de (P ) (resp. (P ) et (D)).

Proposition 3.3.1 [105]


36

3.3. Stabilit de la dualit lagrangienne en optimisation non convexe 1. dom(g)=]0,+[ ; 2. ( ) {x Rn : g() =


f (x) 2

= (2 (x) 1)}. 2

Corollaire 3.3.1 Soit x ( ), alors :

i) (x) > 1 > g() > f (x) ; ii) (x) < 1 < g() < f (x) ; iii) (x) = 1 = g() = f (x) et x P, D.
Corollaire 3.3.2 Pour chaque > 0, une et une seule des proprits suivantes est vrie

i) ( ) {x Rn : (x) > 1} ; ii) ( ) {x Rn : (x) < 1} ; iii) ( ) {x Rn : (x) = 1}.


Ces corollaires sont des consquences directes de la dernire proposition.

Remarque 3.3.1 Si ( ) est un singleton, alors le corollaire prcdent est vident. Thorme 3.3.1 [105]
k + , avec k est une constante ngative dpendante de f et . 2. D = { } = { 2k} est un singleton et on a

1. g() =

i) ( ) {x Rn : (x) = 1} ; ii) = = g( ) = f (x ) = .
3. P = ( ).

Rsolution du problme (P )
L'ide consiste rsoudre le problme (P ) pour un 0 donn, ce qui nous donne la 0 valeur de la constante k : k = 0 (g(0 ) + ), or = 2k est la solution de (D), on 2 rsout une deuxime fois le problme (P ) pour obtenir une solution de (P ). D'o le schma algorithmique : 1. Choisir 0 > 0 quelconque, 37

Chapitre 3. Le problme des valeurs propres


2. Rsoudre le problme (P0 ) : g(0 ) = inf {L(x, 0 ) : x Rn } = inf {f (x) +
0 (2 (x) 2

1) : x Rn }.
0 ), 2

3. Calculer la constante k = 0 (g(0 ) +

2k.

4. Rsoudre (P ) : g( ) = inf {L(x, ) : x Rn } = inf {f (x) + (2 (x) 1) : x 2

Rn }.
La solution x de (P ) est une solution de (P ).

3.4 Calcul des valeurs propres extrmes d'une matrice symtrique relle
Nous prsentons dans cette section plusieurs approches pour calculer les valeurs propres extrmes d'une matrice symtrique relle.

Relaxation semi-dnie
Soit A une matrice symtrique, le problme de la valeur propre minimale d'une matrice symtrique peut s'crire sous la forme suivante :

min (A) =

min xT x = 1

xT Ax

(3.1)

En posant X = xxT le problme (3.1) sera

min (A) = min A, X s.c. tr(X) = 1 X 0

(3.2)

Pour passer du problme (3.1) au problme (3.2) nous avons abandonn la condition que X est de rang 1. Cependant ce n'est pas ncessaire pour la raison suivante :

Thorme 3.4.1 L'enveloppe convexe de l'ensemble


{xxT : x Rn et xT x = 1}
38

3.4. Calcul des valeurs propres extrmes d'une matrice symtrique relle est l'ensemble
+ {X Sn : tr(X) = 1}.

De plus, les lments du premier ensemble sont les points extrmaux du second.

Preuve. Soit X un lment quelconque de conv({xxT : x Rn et xT x = 1}) alors


m m

X =
i=1

i xi xT i

tel que
i=1 m

i = 1 et i 0 i = 1, ..., m. Comme xi xT i
m m

0 et i 0

i = 1, , m, alors X est une matrice semi-dne positive.


Comme tr(X) = tr(

i xi xT ) i
i=1

=
i=1

i xi xT i

=
i=1

+ i = 1, alors X {X Sn ; tr(X) =

1}.

Inversement, soit X une matrice semi-dne positive quelconque telle que tr(X) = 1
m

d'aprs la dcomposition spectrale de X on peut crire X sous la forme X =


i=1 m

T i vi vi

o i 0, car X est une matrice semi-dne positive, et (vi )1in est une base des vecteurs propres orthonormaux. tr(X) = 1 alors
i=1

i = 1. Donc X conv({xxT : x

Rn et xT x = 1}). Il est clair que tout lment du premier ensemble est un point extrmal
du second, et que chaque lment X du deuxime ensemble tel que rang(X) = 1 peut s'crire comme une combinaison convexe non triviale d'lments du premier ensemble et par suite ce n'est pas un point extrmal. Si on minimise une fonction linaire sur un ensemble revient au mme de la minimiser sur l'enveloppe convexe de cet ensemble et comme A, X est une fonction linaire en X donc les problmes (3.1) et (3.2) sont quivalents. Comme dans le cas de la plus petite valeur propre, le problme de la plus grande valeur propre peut s'crire comme,

max (A) =

max xT x = 1

xT Ax.

(3.3)

Par analogie avec le problme de la plus petite valeur propre, la formulation SDP du problme (3.3) est

max (A) = max A, X s.t. tr(X) = 1 X 0.

(3.4)

39

Chapitre 3. Le problme des valeurs propres

Algorithme DC1
Considrons le problme d'optimisation suivant :

(P ) : max{f (x) =

Ax, x : (x) = x 1}

(DC1)

o A est une matrice symtrique semi-dnie positive et . est la norme euclidienne. Il est vident que la valeur optimale de (P ) est gale la racine carre de la plus grande valeur propre de A. Nous avons appliqu l'algorithme de sous-gradient avec rgularisation expos dans la section 3.3 (toutes les conditions sont satisfaites) sur le problme intermdiaire (P ).

(P ) : min{

Ax, x + ( x 2 Ax, x + 2 x

1)} 2
2

(P ) : min{ + ) 2
g(x)

(P ) : min{(

Ax, x +
h(x)

)} . 2

L'utilisation de la forme simple nous permet d'obtenir la formule suivante :

xk+1 =

1 (xk + +

Axk Axk , xk

()

o et sont deux rels strictement positifs. En eet, y k h(xk ) = { h(xk )}, alors y k =

h(xk ) =

Axk Axk ,xk

+ xk .

xk+1 g (y k ) = { g (y k )} y k g(xk+1 ) = { g(xk+1 )}. yk = g(xk+1 ) = ( + )xk+1 xk+1 =


1 (xk + 1 yk . +

D'o xk+1 =

Axk Axk ,xk

).

On choisit x0 arbitraire tel que Ax0 = 0, alors la suite {xk } dnie par () vrie la proprit Axk = 0 k > 0. En eet, dire que Ax1 = 0 (I +
I Ax0 ,x0

)Ax0 = 0

Ax0 = 0, ce qui contredit notre hypothse. Cette remarque permet d'crire l'algorithme
appliqu la recherche de valeurs propres sans passer par les points o la fonction f (x) n'est pas direntiable. Nous pouvons utiliser cette mthode pour calculer les valeurs propres extrmes d'une matrice symtrique quelconque. En eet, soient A une matrice 40

3.4. Calcul des valeurs propres extrmes d'une matrice symtrique relle
symtrique quelconque d'order n, min = 1 2 n = max ses valeurs propres,
n

et = A

= A

= max{
j=1

|Aij | : i = 1, ..., n}, alors :

Si on applique la mthode prsente ci-dessus sur la matrice A = (A + I), semidnie positive, on obtient la valeur ( + n ), ce qui nous donne la valeur n , tandis que si on l'applique sur la matrice A = (A + I), encore semi-dnie positive, on obtient la valeur ( 1 ), ce qui nous permet de connatre la valeur de 1 . Voici la description de l'algorithme de sous-gradient : 1. On choisit 0 > 0 quelconque 2. On rsout (P0 ) : g(0 ) = inf {f (x) +
0 (2 (x) 2

1) : x Rn } par l'algorithme de

sous-gradient avec rgularisation (cf. section 3.2.3). En eet : On prend un x0 Rn quelconque tel que (x0 ) = 1, k = 0, et on construit la suite {xk } comme suit :

xk+1 =

1 (xk + +

Axk Axk , xk

o et sont des rels strictement positifs. Cette suite converge vers une limite x : g(0 ) = f (x) + 0 3. On calcule la constante k = 0 (g(0 ) + ), = 2k. 2 4. On rsout (P ) : inf {f (x) +
(2 (x) 2 0 (2 (x) 2

1).

1) : x Rn } par l'algorithme de sous-

gradient avec rgularisation prsent dans section 3.2.3. La solution x de (P ) est une solution de (P ) et la plus grande valeur propre de A est = [f (x )]2 .

Algorithm DC2
Considrons le problme d'optimisation suivant :

(P ) : max{f (x) = Ax : (x) = x 1}

(DC2)

o A est une matrice symtrique semi-dnie posotive et . est la norme euclidienne. Il est vident que la valeur optimale de (P ) est gale la plus grande valeur propre de A. Le problme intermdiaire (P ) est rsolu par l'algorithme de sous-gradient avec rgularisation de la section 3.2.3.

(P ) : min{ Ax + ( x 2

1)}
41

Chapitre 3. Le problme des valeurs propres

(P ) : min{ Ax + + ) 2
g(x)

2
2

(P ) : min{(

( Ax +

)} . 2

h(x)

L'utilisation de la forme simple nous permet d'obtenir la formule suivante :

xk+1 =

AT Axk 1 (xk + ) + Axk

()

o et sont deux rels strictement positifs. En eet, y k h(xk ) = { h(xk )}, alors y k =

h(xk ) =

AT Axk Axk

+ xk .

xk+1 g (y k ) = { g (y k )} y k g(xk+1 ) = { g(xk+1 )}. yk = g(xk+1 ) = ( + )xk+1 xk+1 =


1 (xk + 1 yk . +

D'o xk+1 =

AT Axk ). Axk

On choisit x0 arbitraire tel que Ax0 = 0, alors la suite {xk } dnie par () vrie la proprit Axk = 0 k > 0. En eet, dire que Ax1 = 0 (I +
AAT Ax0

)Ax0 = 0 Ax0 = 0, ce qui contredit

notre hypothse. Cette remarque permet d'crire l'algorithme appliqu la recherche de valeurs propres sans passer par les points o la fonction f n'est pas direnciable. Nous pouvons utiliser cette mthode pour calculer les valeurs propres extrmes d'une matrice symtrique quelconque. Voici la description de l'algorithme de sous-gradient : 1. On choisit 0 > 0 quelconque 2. On rsout (P0 ) : g(0 ) = inf {f (x) +
0 (2 (x) 2

1) : x Rn } par l'algorithme de

sous-gradient avec rgularisation (voir section 3.2.3). En eet, on prend un x0 Rn quelconque tel que (x0 ) = 1, k = 0, et on construit la suite {xk } comme suit :

xk+1 =

1 AT Axk (xk + ) + Axk

o et sont des rels strictement positifs. Cette suite converge vers une limite x : g(0 ) = f (x) + 42
0 (2 (x) 2

1).

3.4. Calcul des valeurs propres extrmes d'une matrice symtrique relle
3. On calcule la constante k = 0 (g(0 ) + 4. On rsout (P ) : inf {f (x) +
0 ), 2

2k.

(2 (x) 2

1) : x Rn } par l'algorithme de sous-

gradient avec rgularisation (voir section 3.2.3). La solution x de (P ) est une solution de (P ) et la plus grande valeur propre de A est = f (x ). Les deux algorithmes DC prsents ci-dessus sont appliqus sur la fonction lagrangienne. Nous allons prsenter maintenant des algorithmes DC appliqus directement au problme initial (P ), c'est--dire sur la fonction f (x).

Algorithme Proj1
Considrons le problme d'optimisation suivant :

(P ) : max{f (x) =

Ax, x : (x) = x 1}

o A est une matrice symtrique semi-dnie positive et . est la norme euclidienne. Il est facile de vrier que (P ) est quivalent au problme (Q) suivant :

(Q) : min{

Ax, x + E (x) : x Rn }

o E (x) reprsente la fonction indicatrice de l'ensemble E = {x Rn : x 1}. Le problme (Q) peut s'crire sous la forme DC suivante :

(Q) : min{[

x 2

+ E (x)] [

Ax, x +

x 2 ] : x Rn } 2

o est un rel positif quelconque. L'application de la forme simple de l'algorithme de sous-gradient pour rsoudre (Q) nous donne la formule suivante

(Proj1)
o y k =

k+1

yk k = P rojE (y ) = yk k
y

si y k 1 sinon

h(xk ) = (xk +

La suite {xk } converge vers x et la plus petite valeur propre de A est = [f (x )]2 .

Axk Axk ,xk

).

Algorithme Proj2
Considrons le problme d'optimisation suivant

(P ) : max{f (x) = Ax : (x) = x 1}


43

Chapitre 3. Le problme des valeurs propres

A est une matrice symtrique semi-dnie positive et . est la norme euclidienne. Le


problme (P ) est quivalent au problme (Q) :

(Q) : min{A x + E (x) : x Rn }


qui peut s'crire sous la forme DC suivante :

(Q) : min{[

x 2

+ E (x)] [ Ax +

x 2 ] : x Rn } 2

o est rel positif quelconque. L'application de la forme simple de l'algorithme de sous-gradient pour rsoudre (Q) nous donne la formule suivante

(Proj2)
o y k =

xk+1 = P rojE (y k )

h(xk ) = xk +

AT Axk . Ax

La suite {xk } converge vers x solution de (P ) et la plus grande valeur propre de A est = f (x ).

Algorithme Proj3
Considrons le problme d'optimisation suivant

(P ) : max{f (x) =

1 Ax, x : (x) = x 1} 2

(P ) est quivalent au problme (Q) suivant : (Q) : min{[ x 2


2

+ E (x)] [

1 Ax, x + x 2 ] : x Rn } 2 2

o est un rel positif quelconque. L'application de la forme simple de l'algorithme de sous-gradient pour rsoudre (Q) nous donne la formule suivante :

(Proj3)
o y k =

xk+1 = P rojE (y k )

h(xk ) = (A + I)xk .

La suite {xk } converge vers x solution de (P ) et la plus grande valeur propre de A est = Ax . 44

3.4. Calcul des valeurs propres extrmes d'une matrice symtrique relle

Algorithme Proj4
Considrons le problme d'optimisation suivant :

(P ) : max{f (x) =

1 Ax 2

: (x) = x 1}

(P ) est quivalent au problme (Q) suivant : (Q) : min{[ x 2


2

+ E (x)] [

1 Ax 2

x 2 ] : x Rn } 2

o est un rel positif quelconque. L'application de la forme simple de l'algorithme de sous-gradient pour rsoudre (Q) nous donne la formule suivante :

(Proj4)
o y k =

xk+1 = P rojE (y k )

h(xk ) = (AT A + I)xk .

La suite {xk } converge vers x solution de (P ) et la plus grande valeur propre de A est = Ax .

Technique de Linpack pour calculer une approximation de la plus petite valeur propre d'une matrice symtrique
Soient A une matrice symtrique relle, 1 sa plus petite valeur propre et un rel
n

positif strictement suprieur 1 (en gnral on prend, = A

= max{
j=1

|Aij | : i =

1, ..., n}). On dcompose (mthode de cholesky) la matrice (A + I) = RT R, o I dsigne


la matrice identit d'ordre n et R est une matrice triangulaire suprieure. Nous cherchons tablir une estimation du vecteur propre associ la plus petite valeur propre de A, en d'autre terme, on dsire calculer le vecteur z tel que :

Rz = min{ Rx : x = 1}
Il n'est pas raisonnable de rsoudre directement ce dernier problme de minimisation pour dterminer z . Nous appliquons une technique dite technique de Linpack pour calculer une valeur approche de z . Cette technique due Cline et al.[23], consiste dterminer le vecteur w en rsolvant le systme linaire RT w = e avec e = (1, 1, ..., 1)T . 45

Chapitre 3. Le problme des valeurs propres


Le signe de chaque composante du vecteur e est choisi de faon ce que la norme de

w soit assez grande. Il existe plusieurs startgies qui permettent de dterminer le vecteur e pour que la norme de w soit assez large ([69] et [23]). Une fois w est calcul, on rsout
le systme linaire Rv = w d'o z = 1. Choisir un rel > 1 . 2. Dcomposer (A + I) = RT R. 3. Dterminer le vecteur e et rsoudre RT w = e. 4. Rsoudre Rv = w et z =
v v v v

. on peut rsumer la technique de Linpack par :

Pour calculer une valeur approche de la plus grande valeur propre de A, on applique la technique de Linpack la matrice A.

3.5 Applications et rsultats numriques


3.5.1 Applications
Problme de la coupe maximale
Soit G = (V, E)1 un graphe non-orient, muni d'une fonction de poids (capacits) sur ses artes. a : E Rn , dnie par ij aij (i.e. aij est la capacit associe l'arte ij .) tant donn S V , la coupe associe S est l'ensemble C(S) = {ij E : i

S et j V \ S}.
tant donn un graphe non orient G = (V, E) avec des poids sur les artes, le problme de la coupe maximale2 consiste trouver une coupe de G de poids maximum.

(M C) mc(G) = max
ijC(S)

aij

Considrons A = (aij ) Sn la matrice des poids associe G. Une formulation algbrique peut tre obtenue en introduisant le vecteur de coupe x {1, 1}n avec xi = 1 si x S et xi = 1 sinon. Considrons le problme suivant :
1 Les

lments de V = {1, ..., n} sont appels sommets et les lments de E sont les artes de G,

E P2 (V ) o P2 (V ) est l'ensemble des parties deux lments de V . 2 En anglais "Max-Cut".

46

3.5. Applications et rsultats numriques

x{1,1}n

max

aij
i<j

1 xi xj 2

(3.5)

La valeur de l'expression

1xi xj 2

vaut 0 si xi = xj (i.e. si i et j sont dans le mme

ensemble) et vaut 1 si xi = xj . Par consquence le problme (3.5) est quivalent au problme (M C). On modie cette formulation en exploitant le fait que A est une matrice symtrique et que x2 = 1. Comme on a : i

aij (1 xi xj ) =
i,j i<j

aij (1 xi xj ) + aii (1 xi xi ) +
i>j

aij (1 xi xj )

= 2
i<j

aij (1 xi xj ),

donc
1 2 i<j

aij (1 xi xj ) = = = =

1 4 i,j 1 4 i,j 1 4 i

aij (1 xi xj ) aij (xi xi xi xj ) (


j

aij xi xi
j

aij xi xj )

1 T x (Diag(Ae) 4

A)x

avec e = (1, 1, . . . , 1)T Rn . La matrice L = Diag(Ae)A est appele matrice laplacienne associe au graphe G. Le problme de la coupe maximale devient

M ax 1 xT Lx 4 (M C) x {1, 1}n

Citons titre indicatif, quelques rfrences qui s'occupent de ce problme ([6], [35], [43], [59], [60], [100], et autres). Mohar et Poljak [67] ont dmontr que

mc(G) max

n 1 T x Lx = max (L) 4 xT x=n 4

Par consquence, le calcul de la plus grande valeur propre de la matrice laplacienne donne une borne suprieure du problme de la coupe maximale. 47

Chapitre 3. Le problme des valeurs propres

Programmation quadratique
On dnit le programme quadratique (QP ) comme min 1 xT Qx + cT x 2 (QP ) s.c. Ax b x Rn o Q Sn , A Mm,n , c Rn , b Rm sont les donnes du problme, et x Rn est la + variable de (QP ). Il est bien connu que la rsolution d'un programme quadratique convexe est beaucoup plus simple que la rsolution d'un programme quadratique non convexe.

(QP ) est convexe Q

0 min (Q) 0

Dans le cas o les variables sont binaires, nous montrons dans le chapitre suivant comment Hammer et Rubin [39] ont convexi ce problme en utilisant la plus petite valeur propre de la matrice Q.

Problme de complmentarit linaire


Le problme de complmentarit linaire (LCP ) peut s'crire sous la forme suivante :

(LCP )

s sT x

= Mx + q = 0 0

(s, x)

Il s'agit de trouver deux vecteurs variables s et x, tels qu'on a une matrice relle carre

M et le vecteur rel q . (LCP ) est dit monotone si M est semi-dnie positive, qui est quivalent , min ( M +M ) 2 0.
T

La norme-2 pour les matrices relles


Pour tout A Mm,n , on dnit la norm-2 de A comme suit A = max (AT A), donc pour trouver la norme-2 de A il faut calculer la plus grande valeur propre de AT A. Pour plus des applications, le lecteur peut voir, par exemple, le livre [48]. 48

3.5. Applications et rsultats numriques

3.5.2 Rsultats numriques


Dans ce paragraphe, nous donnons des rsultats numriques comparatifs concernant les algorithmes appliqus au calcul de la plus grande valeur propre d'une matrice symtrique. Nous prsentons plusieurs cas dirents

Cas 1 : une matrice pleine, symtrique, semi-dnie positive (la matrice d'Hilbert) :
Aij = 1 i+j1 i, j = 1, ..., n

Cas 2 : une matrice creuse, tridiagonale, symtrique :


Aii = 2 i = 1, ..., n; Aii+1 = 1 i = 1, ..., n 1; Aii1 = 1 i = 2, ..., n; et Aij = 0 ailleurs.
Dans les tableaux ci-dessous, on prsente le temps de calcul coul (en secondes) pour calculer la plus grande valeur propre par des mthodes direntes, en signalant que, Puiss : la mthode de puissance itre, Liniter : calcul approximatif de par la technique de Linpack ([23] et [69]) puis application de la mthode de puissance itre. Tous les rsultats numriques prsents dans ce manuscrit ont t raliss sur un Pentium IV 2.6 GHz avec 1 Go de RAM et SUSE Linux comme systme d'exploitation.

49

Chapitre 3. Le problme des valeurs propres

Cas 1 :
Dimension 50 100 150 200 250 300 350 400 450 500 1000 SDP 0.04 0.1 0.3 0.8 1.8 2.3 3.9 6.3 9 14 108 DC1 0.2 0.2 1 2 2.5 3.5 4.5 6 8 10 48 DC2 0.2 0.6 1.2 2.3 3 4.5 6 8 10 13 73 Proj1 0.3 1 1.8 4 5 7 9 13 15 20 105 Proj2 0.3 1 2 4 6 7.5 10 13 17 21 117 Proj3 0.3 1 1.8 3.5 5 6 8.5 11 14 17 95 Proj4 0.3 1 1.8 3.5 5 5.5 7.5 10 12 16 91 Puiss 0.4 1 2 6 9 14 20 29 44 58 256 Liniter 0.4 1.5 4.5 8.5 14 20 28 37 49 62 274

Cas 2 :
Dimension 50 100 150 200 250 300 350 400 450 500 1000 SDP 0.05 0.1 0.2 0.3 0.4 0.6 0.8 1.1 1.4 1.7 6.8 DC1 3 12 28 50 77 111 156 203 258 316 1364 DC2 6 24 55 98 153 221 301 393 496 613 2687 Proj1 3 13 31 55 86 122 166 218 278 342 1468 Proj2 6 26 60 106 166 240 325 425 546 672 3094 Proj3 3 13 29 54 85 119 165 214 268 335 1428 Proj4 6 26 61 106 152 232 316 412 523 665 2860 Puiss 6 36 82 145 228 329 443 585 741 940 4230 Liniter 12 50 114 203 318 455 618 806 1020 1285 5479

Dans les tableaux suivants, la dernire colonne reprsentent la valeur exacte de la plus grande valeur propre , et les autres colonnes reprsentent les valeurs de la plus grande 50

3.5. Applications et rsultats numriques


valeur propre calcule par direntes mthodes.

Cas 1 :
Dimension 50 100 150 200 250 300 350 400 450 500 1000 SDP DC1 2.0762967 2.1826961 2.2378812 2.2742670 2.3010352 2.3220199 2.3391705 2.3536064 2.3660269 2.3768965 2.4258645 DC2 2.0762967 2.1826961 2.2378812 2.2742670 2.3010352 2.3220199 2.3391705 2.3536064 2.3660269 2.3768965 2.4258645 Puiss 2.0762967 2.1826961 2.2378812 2.2742670 2.3010352 2.3220199 2.3391705 2.3536064 2.3660269 2.3768965 2.4258645 Liniter 2.0762967 2.1826961 2.2378812 2.2742670 2.3010352 2.3220199 2.3391705 2.3536064 2.3660269 2.3768965 2.4258645

2.0762967 2.1826961 2.2378812 2.2742670 2.3010352 2.3220199 2.3391705 2.3536064 2.3660270 2.3768965 2.4431516

2.0762967 2.1826961 2.2378812 2.2742670 2.3010352 2.3220199 2.3391705 2.3536064 2.3660269 2.3768965 2.4431516

Cas 2 :
Dimension 50 100 150 200 250 300 350 400 450 500 1000 SDP DC1 3.9958160 3.9963850 3.9964000 3.9964840 3.9964840 3.9964840 3.9964840 3.9964840 3.9964840 3.9964840 3.9996800 DC2 3.9962050 3.9983211 3.9983267 3.9983267 3.9983267 3.9983267 3.9983270 3.9983270 3.9983270 3.9983270 3.9997460 Puiss 3.9848430 3.9945270 3.9945670 3.9945670 3.9945670 3.9945670 3.9945670 3.9945670 3.9945670 3.9945670 3.9964980 Liniter 3.9962067 3.9991150 3.9997980 3.9999710 3.9999990 3.9999995 3.9999999 4.0000000 4.0000000 4.0000000 4.0000000

3.9962067 3.9990326 3.9995672 3.9997557 3.9998433 3.9998911 3.9999199 3.9999386 3.9999515 3.9999607 3.9999902

3.9962067 3.9990326 3.9995672 3.9997557 3.9998433 3.9998911 3.9999199 3.9999386 3.9999515 3.9999607 3.9999902

51

Chapitre 3. Le problme des valeurs propres


Dimension 2000 2500 3000 3500 4000 4500 5000 5500 6000 6500 7000 7500 8000 par EIGBYSDP. Nous constatons, partir des rsultats numriques obtenus, la supriorit de la programmation semi-dnie par rapport l'optimisation DC, et la supriorit de ces derniers (surtout DC1) par rapport aux autres mthodes classiques. Pour conrmer l'exactitude de notre code EIGBYSDP3 nous prsentons d'autres tests numriques sur des matrices relles symtriques dont on connat leurs valeurs propres extrmes.

max
3.9999975 3.9999984 3.9999989 3.9999992 3.9999994 3.9999995 3.9999996 3.9999997 3.9999997 3.9999998 3.9999998 3.9999998 3.9999998

Temps (s) 30.69 47.99 63.72 90.05 128.7 165.2 219.6 273.2 341.7 427.2 515.2 599.4 706.8

Tab. 3.1: La plus grande valeur propre d'une matrice de Hilbert de grande taille calcule

Thorme 3.5.1 Pour toute A = (aij ) Sn , tel que aij = a i = 1, ..., n, j = 1, ..., n
on a :

pn () = n1 ( na)

n N \ {0}.

Preuve. Nous allons dmontrer ce thorme par rcurrence. Soit A = (aij ) Sn , tel que
aij = a i = 1, ..., n, j = 1, ..., n il est clair que p1 () = ( a) = 0 ( 1.a), et p2 () = 1 ( 2a), supposons que pk () = k1 ( ka) pour k = n 1, et nous voulons
montrer que pn () = n1 ( na). pn () = det(In A), en retranchant les termes de la
3 EIGBYSDP

est un code qui calcule les valeurs propres extrmes d'une matrice symtrique relle en

utilisant la programmation semi-dnie.

52

3.5. Applications et rsultats numriques


deuxime ligne de la premire, puis ceux de la deuxime colonne de la premire, on voit que la matrice (In A) devient :

2 0 . . . 0
et

a . . . a a a a .. . a a 0 0

pn () = det 2 0 . . . 0 a . . . a 0 0 a a

a a .. . a

pn () = 2pn1 () 2 pn2 () = n1 ( na). D'o pn () = n1 ( na)

n N \ {0}.

Maintenant, nous allons vrier la qualit des rsultats trouvs par EIGBYSDP. Soit

A = (aij ) Sn , tel que aij = a i = 1, ..., n, j = 1, ..., n.

Matrice

Dimension 44 100 100 200 321

min (A)
0.00 0.00 0.00 0.00 0.00

Temps (s) 0.02698 0.09410 0.09486 0.5179 2.176

max (A)
48.40 235.00 556.00 802.00 64.20

Temps (s) 0.02657 0.1257 0.1260 0.7061 3.155

A = (1.1) A = (2.35) A = (5.56) A = (4.01) A = (0.2)

53

Chapitre 3. Le problme des valeurs propres


Matrice Dimension 1000 1000 1000 1000 1000

min (A) Temps (s)


0.00 0.00 0.00 0.00 0.00 73.76 73.91 75.77 77.04 75.59

max (A) Temps (s)


1000.00 2000.00 3000.00 4000.00 5000.00 116.1 109.6 113.3 199.8 196.4

A = (1) A = (2) A = (3) A = (4) A = (5)

Matrice

Dimension 2500 2500 2500 2500 2500

min (A) Temps (s)


0.00 0.00 0.00 0.00 0.00 1161.00 1147.00 1158.00 1167.00 1205.00

max (A)
2500.00 5000.00 7500.00 10000.00 12500.00

Temps (s) 3508.00 3378.00 3308.00 3303.00 3307.00

A = (1) A = (2) A = (3) A = (4) A = (5)

Matrice

Dimension 41 62 69 73 80

min (A)
-95.53 -830.80 -22.08 -144.54 -9892.00

Temps (s) 0.02702 0.04802 0.1009 0.07136 0.07616

max (A) Temps (s)


0.00 0.00 0.00 0.00 0.00 0.02084 0.03527 0.09124 0.04799 0.05699

A = (2.33) A = (13.4) A = (0.32) A = (1.98) A = (123.65)

D'aprs ces rsultats numriques, nous remarquons que, pour tout A = (aij ) Sn tel que n N \ {0, 1} et aij = a i = 1, ..., n, j = 1, ..., n, on obtient :

1 (A) = 0 et n (A) = na si a 0, et (A) = 0 et (A) = na si a 0 n 1


54

3.5. Applications et rsultats numriques


n n n1

et comme tr(A) =
i=1

i (A) =
i=1

aii = na. Alors


i=2

i (A) = 0 i (A) = 0 i =

2, ..., n 1. Donc d'aprs EIGBYSDP nous annonons le rsultat suivant : 1 (A) = = n1 (A) = 0 et n (A) = na si a 0 et (A) = = (A) = 0 et 1 (A) = na si a 0. 2 n

Matrice alatoire
Soit A Sn on sait que pour tout R min (A I) = min (A) (resp. max (A

I) = max (A) ). Le tableau 3.5.2 montre que EIGBYSDP vrit aussi cette proprit.
Matrice Alatoire Alatoire+100I Alatoire-10I Dimension 50 50 50

min (A)
0.00 100.00 -10.00

Temps (sec.) 0.05057 0.04541 0.05025

max (A)
114147.63 114247.63 114137.63

Temps (sec.) 0.05993 0.06176 0.05939

Tab. 3.2: A est une matrice pleine semi-dnie positive alatoire.

Perspectives
Il est utile, dans l'avenir, de traiter quelques problmes d'optimisation non convexe avec le calcul des valeurs propres et l'utilisation de l'optimisation DC. Citons par exemple, 1. Les valeurs propres extrmes d'une matrice hermitienne. 2. L'optimisation DC sera utile pour rsoudre le programme semi-dni non linaire et non convexe suivant :

M in (GP SDP ) s.c.

f (X) AX = b X 0
(3.6)

o f est une fonction non linaire et non convexe de Sn dans R. Cette formulation est plus gnrale que la formulation semi-dnie standard. 55

Chapitre 3. Le problme des valeurs propres

56

Chapitre 4 La programmation quadratique


Nous proposons dans ce chapitre une amlioration de la relaxation quadratique convexe introduite par Billionnet et Elloumi [15] pour le problme quadratique en variables 0-1 sans contraintes. Nous proposons galement des critres de xations gnraliss et nous montrons leur importance pour rduire la taille du problme. La contribution de nos travaux se situe dans l'ajout de nouvelles coupes la relaxation quadratique convexe. Cette relaxation fait appel au calcul de multiplicateurs optimaux par programmation semidnie. Avant d'exposer ces coupes et la relaxation induite, nous rappelons la formulation semi-dnie pour les problmes quadratiques gnraux. Dans la section 4.1 nous rappelons la dnition du programme quadratique sous contraintes quadratiques et sa relaxation semi-dnie. Ensuite, dans la section 4.2 nous traitons le cas de la programmation quadratique sous contraintes quadratiques en variables bivalentes. Enn, la section 4.3 sera consacre la programmation quadratique en variables 0-1 sans contraintes. La qualit des bornes infrieures et suprieures calcules par la programmation semi-dnie ncessite l'ajout des contraintes quadratiques qui nous amne la rsolution d'un programme quadratique sous contraintes quadratiques en variables bivalentes de la section 4.2. Nous prsentons galement dans cette section des nouveaux critres de xation et la manire de les gnrer et nous montrons ensuite comment nous les utilisons pour rduire la taille du problme quadratique en variable 0-1 sans contraintes. 57

Chapitre 4. La programmation quadratique

4.1 Le programme quadratique sous contraintes quadratiques et sa relaxation semi-dnie


Le programme quadratique sous contraintes quadratiques est un problme d'optimisation de la forme :

min f0 (x) = xT Q0 x + q T x + 0 0 s.c. T (QP QC) fi (x) = xT Qi x + qi x + i 0, i = 1, ..., m1 , T fi (x) = xT Qi x + qi x + i = 0, i = m1 + 1, ..., m, x Rn .


vecteur inconnu du problme.

(4.1)

o Qi Sn , qi Rn et i R, (i = 0, ..., m) sont les donnes du problme. x Rn est le Remarquons que si les matrices Qi pour tout i = 1, ..., m sont nulles alors (QP QC) est un programme quadratique sous contraintes linaires souvent not comme "Programme Quadratique1  (QP )"

T min f0 (x) = xT Q0 x + q0 x + 0 (QP ) s.c. Ax 0 x Rn .


(4.2)

Comme (QP ) est un cas particulier (QP QC), ce dernier a plus des dicults thoriques et pratiques que (4.2), surtout dans le cas non convexe, c'est--dire o les Qi pour i =

0, ..., m ne sont pas toutes semi-dnies positives.

Relaxation semi-dnie
Posons X = xxT . Les fonctions quadratiques
T fi (x) = xT Qi x + qi x + i , i = 0, ..., m,

peuvent s'crire sous la forme suivante : i fi (x) = 1 q 2 i


1 En


1 T q 2 i

1 x
T

Qi

x X

anglais "Quadratic Program"

58

4.1. Le programme quadratique sous contraintes quadratiques et sa relaxation semi-dnie


On ajoute des variables d'cart aux contraintes d'ingalit pour travailler uniquement avec des contraintes d'galit.

fi (x) 0 fi (x) + si = 0, avec si 0 (i = 1, ..., m1 ). T 1 x peut tre regarde comme le produit tensoriel du vecteur La matrice x X T 1 x = xxT ). La matrice xxT est semi-dnie x = (1, xT )T par son transpos (i.e. x X positive et de rang 1. En outre toute matrice symtrique semi-dnie positive M de rang
1 avec m11 = 1 est de la forme M = xxT avec M = (1, xT )T .

(SDP R) peut tre interprt comme une relaxation semi-dnie du problme (4.1)
obtenue en abandonnant la contrainte rang(xxT ) = 1.

min A0 , X s.c. A , X = 0, i = 1, ..., m, i (SDP R) 1 xT 0 X = x X 0 0. 0 0 S


o

(4.3)

Ai = 1 qi 2 0

1 T q 2 i

Qi

0 1 pour i = 1, ..., m i 1 Li = 0 sinon

0 Li

pour i = 0, ..., m,

1i est une matrice diagonale de type m1 m1 , o tous les lments diagonaux sont gaux
0 sauf l'lment la position (i, i) est gal 1, 0 est la matrice nulle de type m1 m1 , et

S=

s1 0 . . . 0

.. . s2 .. .. . . 0

0 . . . 0 sm1

0.

59

Chapitre 4. La programmation quadratique

4.2 Le programme quadratique sous contraintes quadratiques en variables bivalentes


Le programme quadratique sous contraintes quadratiques en variables bivalentes est un problme d'optimisation combinatoire de la forme :

min f0 (x) = xT Q0 x + q T x + 0 0 s.c. T (BQP QC) fi (x) = xT Qi x + qi x + i 0, i = 1, ..., m1 , T fi (x) = xT Qi x + qi x + i = 0, i = m1 + 1, ..., m, x Bn. 2

(4.4)

o l'ensemble B2 = {0, 1} et des fois B2 = {1, 1} selon le problme et sa modlisation. Il est facile de transformer un problme quadratique dont les variables appartiennent l'ensemble {1, 1} en un autre problme quadrarique quivalent dont les variables appartiennent l'ensemble {0, 1} et inversement. Dans la suite on considrera que l'ensemble

B2 = {0, 1}.
Le fait que x {0, 1}n x2 = xi nous permet d'ajouter (SDP R) (4.3) les n i contraintes suivantes : diag(X) = x. On remarque que la condition x {0, 1}n implique les conditions quadratiques suitantes :

(I1 ) xi xj (I2 ) xi xj (I3 ) xi xj (I4 ) xi xj

xi xj 0 xi + xj 1

1i<jn 1i<jn 1i<jn 1i<jn

Comme diag(X) = x, ces contraintes peuvent tre reprsentes sous format SDP comme 60

4.3. Programmes quadratiques en variables 0-1 sans contraintes


suit :

(I1 ) X ij (I2 ) X ij (I3 ) X ij (I4 ) X ij

X ii X jj 0 X ii + X jj 1

1i<jn 1i<jn 1i<jn 1i<jn

4.3 Programmes quadratiques en variables 0-1 sans contraintes


L'optimisation d'une fonction quadratique de variables 0-1 sans contraintes fait l'objet d'une littrature abondante. Un problme quadratique en variables 0-1 sans contraintes, abrg (U QP )2 , consiste minimiser une fonction quadratique sous la seule contrainte que les variables du problme doivent prendre des valeurs binaires dans {0, 1}. Le problme (U QP ) peut tre formul comme suit :

(U QP )

M in f (x) = cT x + xT Qx = s.c. x {0, 1}


n

c i xi +
i=1 i=1 j=1

qij xi xj

(4.5)

o c = (ci ) Rn , Q = (qij ) Sn et f est une application de {0, 1}n dans R, appele fonction pseudo-boolenne quadratique. Sans perte de gnralit, on peut supposer que

qii = 0 pour tout i {1, ..., n}, parce que x2 = xi pour tout i {1, ..., n}. On transforme i
le problme (U QP ) sous la forme triangulaire suprieure suivante :

M in f (x) = (U QP ) s.c.

n1

c i xi +
i=1 i=1 j=i+1

Qij xi xj
(4.6)

x {0, 1}n

o Qij = 2qij pour tout i = 1, ..., n 1 et j = i + 1, ..., n. Ce problme a eu plusieurs appellations dans la littrature comme le problme de la programmation quadratique bivalente sans contraintes [38], le problme de la program2 En

anglais "Unconstrained Quadratic 0-1 Program"

61

Chapitre 4. La programmation quadratique


mation quadratique binaire sans contraintes [11], le problme de la programmation quadratique pseudo-boolenne en 0-1 sans contraintes [95], le problme de la programmation quadratique boolenne [7], et le problme de la programmation quadratique binaire [33]. Bien que certains cas particuliers du problme (4.5) puissent tre rsolus en temps polynomial (voir [10], [77] et [83]), en gnral (U QP ) est un problme NP-dicile. La programmation quadratique en variables 0-1 sans contraintes intervient dans la rsolution de plusieurs problmes pratiques tels que l'analyse nancire et la gestion de portefeuilles ([58] et [65]), le champ mdical [50], la gestion de tracs de messages [30], l'ordonnancement [3] et la structure molculaire [82]. De plus un nombre important de problmes acadmiques en thorie de graphes peuvent se modliser comme un problme quadratique en variables 0-1 sans contraintes. Il s'agit notamment du problme de la dtermination de la clique maximale et la coupe maximale [78, 79]. De par ses intrts thoriques et pratiques, plusieurs mthodes exactes ont t dveloppes pour sa rsolution. De nombreuses linarisations ont t proposes, ([28], [34], [36], [37] et [94]). Elles se dirent par leur nombre de contraintes et par leur nombre de variables. galement des relaxations lagrangiennes ont t tudies dans la littrature (voir par exemple [36]). En parallle avec les mthodes exactes des mthodes approches ont t dveloppes aussi par exemple la recherche tabou [33] et les algorithmes volutifs [62]. Plusieurs programmes quadratiques en variable 0-1 sous contraintes linaires peuvent se reformuler comme un programme quadratique en variable 0-1 sans contraintes voir [40]. Une des manires de la rsolution de (U QP ) est d'essayer de rduire pralablement sa taille par l'utilisation de critres de xation de variables. L'un des critres les plus connus est celui propos par Hansen [41]. Ce critre est bas sur le rsultat suivant :
+ Proposition 4.3.1 [41] Posons qij = min{0, qij } et qij = max{0, qij }. Alors on a :

(F0 ) : ci +
j=i

qij > 0 xi = 0, + qij < 0 xi = 1. j=i

(F1 ) : ci +

62

4.3. Programmes quadratiques en variables 0-1 sans contraintes

Preuve. Soit x {0, 1}n et posons xi le vecteur binaire (x1 , ..., xi1 , xi , xi+1 , ..., xn ).
Si x est une solution optimale du problme (U QP ) alors pour tout i on a :

f (x) f (xi ) xi (ci +


j=i

qij xj ) xi (ci +
j=i

qij xj )

(1 2xi )(ci +
j=i

qij xj ) 0.

Donc

ci +
j=i

qij > 0 ci + j=i

qij xj > 0

xi = 0.
De mme pour F1 . Il convient de noter qu'un certain nombre d'exprimentations numriques ont t effectues en utilisant ces critres. Dans la plupart de ces rsultats, on peut observer en ce qui concerne les exprimentations de type Branch-and-Bound que le nombre de nuds gnrs est considrable. Si bien qu'en pratique ces critres ne sont ecaces que pour des problmes de faible densit ou de taille raisonnable et ils sont inoprants sur certains problmes comme le problme de coupe maximale. Dans les tests numriques que nous avons eectus par la suite, nous avons utilis les instances de tests de la librairie ORLIB [11] ou des instances alatoires. Ces instances sont des problmes quadratiques en 0-1 sans contraintes dont la structure n'est pas forcment celle d'un problme de coupe maximale, si bien qu'il est tout de mme utile de considrer ces critres. Nammoins certains problmes peuvent se rsoudre compltement par (F0 ) et (F1 ). Nous donnons ici deux exemples.

Exemple 4.3.1
M in + 53x1 +10x2 8x3 +16x4 +32x5 +4x6 86x7 +42x1 x2 6x1 x3 6x1 x4 10x1 x5 +23x1 x6 7x1 x7 2x2 x3 +6x2 x4 +51x2 x5 +82x2 x6 5x2 x7 +2x3 x5 x3 x6 9x3 x7 +70x5 x6 5x5 x7 +2x6 x7 s.c. x {0, 1}7
63

+25x4 x5 +98x4 x6 2x4 x7

Chapitre 4. La programmation quadratique


Pour i = 1, 2, 4, 5 et 6, (F0 ) x1 = x2 = x4 = x5 = x6 = 0. Pour i = 3 et 7, (F1 ) x3 = x7 = 1. La valeur optimale est -103. Le but de l'exemple suivant est de prouver que dans certains cas nous avons besoin d'appliquer (F0 ) et (F1 ) plusieurs fois.

Exemple 4.3.2
M in x1 5x2 +4x1 x2 +8x3 +6x1 x3 +10x4 +8x1 x4 +18x3 x4 s.c. x {0, 1}4
Pour i = 3 et 4, (F0 ) x3 = x4 = 0, le problme resultant est donc,

+12x2 x3 +14x2 x4

M in x1 s.c. x1 et x2 {0, 1}

5x2 +4x1 x2

Pour i = 2, (F1 ) x2 = 1. On obtient donc

M in 3x1 5

s.c. x1 {0, 1}.

Il est clair que x1 = 0 (par (F0 )) et la valeur optimale est -5. Aprs avoir vu dans les deux exemples prcdents comme F0 et F1 peuvent des fois tre utiles pour les programmes quadratiques en variables 0-1 sans contraintes, nous prsentons une simple combinaison algorithmique de ces critres de xation avec la programmation semi-dnie et nous appelons cette combinaison algorithmique "l'algorithme FSDP" qui est bas sur deux sous-programmes principaux, le sous-programme Fixation qui correspond l'application de critres F0 et F1 sur n'importe quel programme quadrarique en variable 0-1 sans contraintes et le sous-programme QPTOSDP qui est charg de construire une relaxation semi-dnie du problme quadratique quelconque en variables 0-1, puis l'utilisation du code DSDP [12] pour rsoudre cette relaxation semi-dnie. Dans la suite nous prsentons, dans les tableaux 4.1, 4.2 et 4.3, des rsultats numriques comparatifs entre les codes FSDP et QPTOSDP an de voir l'avantage qu'apporte les 64

4.3. Programmes quadratiques en variables 0-1 sans contraintes


critres de xations sur la qualit de la borne infrieure et surtout sur le temps de calcul. Nous comparons aussi nos rsultats avec ceux trouvs par le code SDP_S [25] qui rsout la relaxation semi-dnie par le code SB [44]. Dans les tableaux 4.1, 4.2 et 4.3 les meilleures bornes infrieures et le meilleurs temps3 de calcul sont marqus en gras. Des statistiques sur les xtions sont prsentes dans les tableaux 4.4, 4.5 et 4.6. Le tableau 4.7 dcrit la boucle rpte de l'algorithme FSDP sur l'instance "pb60.3".

3 En

format heurs :minutes :secondes.microsecondes

65

Chapitre 4. La programmation quadratique

L'algorithme FSDP Fixation((U QP ),taille){


lire((U QP ),taille) ; Appliquez (F0 ) et (F1 ) (U QP ) ; retourne(N ouvel_(U QP ),Nouvelle_taille) ;

QPTOSDP((U QP ),taille){
lire((U QP ),taille) ; Construire (BQP QC) en ajoutant (I1 ), (I2 ), (I3 ), et (I4 ) (U QP ); Relaxer (BQP QC) (SDP R) et rsoudre (SDP R) par DSDP; retourner (X ) ;

dbut
tape := 0 ;

repter Fixation((U QP ),taille) ;


tape := tape+1 ; Var := taille ; taille := Nouvelle_taille ;

(U QP ) := N ouvel_(U QP ) ;

jusqu' (taille = 0 ou taille = Var) Si (taille = 0) Alors Sortir ; Sinon{ QPTOSDP((U QP ),taille) ; } Fin.

66

4.3. Programmes quadratiques en variables 0-1 sans contraintes

Problme pb40_0 pb40_1 pb40_2 pb40_3 pb40_4 pb40_5 pb40_6 pb40_7 pb40_8 pb40_9 -170.011671 -25.000003

FSDP

Temps -168.011661 -206.000007 -104.000002 -155.000002 00 :10 :17.85 00 :09 :01.10 00 :09 :40.40 00 :07 :45.73 00 :09 :18.70 00 :15 :38.40 -126.000001 00 :14 :22.81 00 :13 :49.20 00 :15 :50.10

QPTOSDP

Temps

SDP_S -184.79262 -230.79129 -104.035325 -157.72096 -43.239609 -219.477359 -170.566767 -347.591404 -59.366428 -126.113557

Temps

-168.011657 00 :00 :16.50 -206.000000 00 :00 :17.41 -102.000002 00 :00 :28.79 -155.000001 00 :00 :23.96 00 :00 :52.52
-219.000002 -347.000005 -59.000001

07 :57 :50.84

04 :37 :52.59

21 :47 :12.38

06 :49 :13.96

-25.000000

06 :47 :23.74

-219.000000 00 :00 :05.81 00 :00 :28.63 00 :00 :03.07 -347.000000 00 :00 :02.42 -59.000000 -126.000000 00 :00 :00.27

04 :49 :58.58

-170.011668 00 :16 :16.70

16 :01 :56.41

03 :48 :50.65

74 :08 :00.03

21 :20 :09.39

Tab. 4.1: Les bornes infrieures trouves respectivement par les codes FSDP, QPTOSDP et SDP_S

pour des problmes de taille 40 et les temps de calcul couls correspondants.

67

Problme pb50_0 pb50_1 pb50_2 pb50_3 pb50_4 pb50_5 pb50_6 pb50_7 pb50_8 pb50_9 -2701.000008

FSDP

Temps -3907.000056 -5093.000094 -3692.000024 -3118.000017 -3221.000019 -3401.000015 -2043.000032 -2804.601487 -4003.000028 00 :41 :16.00 00 :32 :55.00 01 :03 :46.00 01 :07 :09.00 00 :58 :12.91 00 :50 :43.68 00 :50 :43.68

QPTOSDP

Temps

SDP_S -3915.130966 -5095.732444 -3694.165625 -3122.003200 -3258.119542 -3402.797509 -2043.547118 -2701.754406

Temps

-3907.000000 00 :00 :00.03 -5005.000000 00 :00 :00.01 -3617.000002 00 :00 :00.96 -3118.000011 00 :22 :39.00 -3146.000002 00 :00 :00.21 -3273.000000 00 :00 :00.02 -2043.000011 00 :15 :57.90 00 :43 :02.00 -2804.594363 00 :39 :24.00 -3991.000001 00 :00 :00.26

00 :26 :59.13

00 :43 :26.45

04 :09 :52.45

01 :12 :43.02

01 :12 :43.79

00 :58 :01.65

01 :32 :04.99

-2701.000004 01 :09 :33.10


01 :09 :00.18 00 :45 :33.05

01 :33 :03.93 -2808.570671 -4005.497875

02 :52 :54.81

01 :23 :27.78

Chapitre 4. La programmation quadratique

Tab. 4.2: Les bornes infrieures trouves respectivement par les codes FSDP, QPTOSDP et SDP_S

pour des problmes de taille 50 et les temps de calcul couls correspondants.

68

4.3. Programmes quadratiques en variables 0-1 sans contraintes

Problme pb60_0 pb60_1 pb60_2 pb60_3 pb60_4 pb60_5 pb60_6 pb60_7 pb60_8 pb60_9

FSDP

Temps -2839.601383 -2848.000065 -2889.601360 -3400.000028 -2512.002402 -3261.326670 -342.000040 -2594.618070 03 :27 :55.02 02 :48 :40.00 06 :40 :46.96 03 :37 :00.00 02 :31 :24.99 03 :07 :23.24 02 :39 :54.22 -3512.000033 03 :08 :55.35 03 :37 :03.05 04 :00 :42.86

QPTOSDP

Temps

SDP_S -3226.9778 -2849.128368 -2896.923635 -3402.388686 -2514.895145 -3897.4580 -731.98035 -2603.744075 -52.219952 -3518.531260

Temps

-2839.601360 00 :44 :19.00 -2848.000005 00 :42 :20.00 -2828.000005 00 :00 :05.08 -3326.000000 00 :00 :00.02 -2469.000001 00 :01 :27.22 -3027.000000 00 :00 :00.03 -342.000007 -2594.614638 00 :20 :05.00 -30.000000 -3410.000004 00 :00 :01.19 00 :01 :10.01 00 :03 :55.10

00 :54 :26.78

02 :04 :15.23

01 :43 :53.85

03 :20 :22.20

03 :44 :18.68

00 :36 :24.44

00 :28 :36.92

01 :48 :36.93

-30.000000

06 :26 :11.12

02 :31 :41.29

Tab. 4.3: Les bornes infrieures trouves respectivement par les codes FSDP, QPTOSDP et SDP_S

pour des problmes de taille 60 et les temps de calcul couls correspondants.

69

Chapitre 4. La programmation quadratique


Problme pb40_0 pb40_1 pb40_2 pb40_3 pb40_4 pb40_5 pb40_6 pb40_7 pb40_8 pb40_9 taille 40 40 40 40 40 40 40 40 40 40 nouvelle_taille 21 23 25 25 28 19 23 16 16 10 tape 5 4 3 5 3 5 5 4 3 3 # de variables xs 0 16 15 11 12 11 11 12 15 23 28 # de variables xs 1 3 2 4 3 1 10 5 9 1 2

Tab. 4.4: Statistiques sur les xations pour des problmes de taille 40

Problme pb50_0 pb50_1 pb50_2 pb50_3 pb50_4 pb50_5 pb50_6 pb50_7 pb50_8 pb50_9

taille 50 50 50 50 50 50 50 50 50 50

nouvelle_taille 2 0 13 43 9 1 40 47 46 9

tape 8 6 7 4 11 9 2 2 2 12

# de variables xs 0 16 13 19 2 19 22 6 3 4 14

# de variables xs 1 32 37 18 5 22 27 4 0 0 27

Tab. 4.5: Statistiques sur les xations pour des problmes de taille 50

70

4.3. Programmes quadratiques en variables 0-1 sans contraintes


Problme pb60_0 pb60_1 pb60_2 taille 60 60 60 nouvelle_taille 46 47 19 tape 2 3 7 # de variables xs 0 13 11 22 # de variables xs 1 1 2 19

pb60_3
pb60_4 pb60_5 pb60_6 pb60_7 pb60_8 pb60_9

60
60 60 60 60 60 60

1
28 3 34 43 29 14

10
9 9 2 2 2 7

29
21 31 26 17 31 24

30
11 26 0 0 0 22

Tab. 4.6: Statistiques sur les xations pour des problmes de taille 60

pb60_3 tape 1 tape 2 tape 3 tape 4 tape 5 tape 6 tape 7 tape 8 tape 9 tape 10

taille 60 39 33 29 25 19 8 4 2 1

nouvelle_taille 39 33 29 25 19 8 4 2 1 1

# de variables xs 0 15 1 3 1 0 6 1 2 0 0

# de variables xs 1 6 5 1 3 6 5 3 0 1 0

Tab. 4.7: Description de la boucle rpte dans

l'algorithme FSDP

Le fait que plusieurs problmes ne peuvent pas tre rsolus en utilisant uniquement les critres F0 et F1 , comme le montrent les tableaux 4.4, 4.5 et 4.6. Nous avons utilis jusqu' prsent la programmation semi-dnie comme une technique additionnelle. L'avantage de ces critres de xation, dans le cas o ils fonctionnent, nous amne introduire d'autres critres de xation. 71

Chapitre 4. La programmation quadratique

4.3.1 Critres de xation gnraliss


la lumire des critres de xation de Hansen, nous proposons dans cette section de gnraliser les proprits de la proposition prcdente an de dgager de nouveaux critres de xation plus slectifs. En eet, mme dans le cas o une variable ne peut pas tre xe, nous allons montrer qu'un produit quelconque de variables peut toujours tre x. Dans le cas o ce produit fait intervenir deux variables (par exemple x1 x2 ), cela a l'avantage d'liminer ou de linariser un terme quadratique. Pour des produits de plus de 2 variables des nouvelles coupes peuvent tre dtermines. La mthode est la suivante : Considrons les problmes
n n n

= M in{f (x) = c x + x Qx =
i=1

ci xi +
i=1 j=1

qij xi xj : x {0, 1}n }

(U QP )

et
n n n

= M in{f (x) = c x + x Qx =
i=1

c i xi +
i=1 j=1

qij xi xj : x [0, 1]n }

(U QP )

o c Rn et Q Sn avec qii = 0 i = 1, 2, ..., n. Ces deux problme ont des solutions optimales car les ensembles de solutions ralisables sont compacts. En outre

Proposition 4.3.2 (Rosenberg [92])


On a = . Il s'ensuit que toute solution optimale de (U QP ) est une solution optimale de U QP .

Preuve. Il est claire que l'on a . Soit x [0, 1]n tel que f (x) = . Supposons que
l'on ait 0 < x1 < 1. On a = f (x1 , x2 , ..., xn ) f (x1 , x2 , ..., xn ) x1 [0, 1]. Posons

1 (x1 ) = f (x1 , x2 , ..., xn ). Puisque q11 = 0 on a


n n n

1 (x1 ) = (c1 +
j=2 n

q1j xj )x1 + (
i=2

c i xi +
i,j=2

qij xi xj )

l'inf de 1 sur [0, 1] est atteint en 0 ou 1 ou sur [0, 1] tout entier suivant que l'on a

(c1 +
j=2

q1j xj ) > 0, < 0 ou = 0.

On a alors = f (x1 , x2 , ..., xn ) avec x1 {0, 1}. On recommence en montrant que l'on peut prendre x2 {0, 1} et ainsi de suite. 72

4.3. Programmes quadratiques en variables 0-1 sans contraintes

Thorme 4.3.1 Soit x vecteur binaire, solution optimale de (U QP ). Les deux ingalits
suivantes sont ncessairement vries :

ci xi +
j=i

qij xj xi 0,

i = 1, ..., n.

ci (1 xi ) +
j=i

qij xj (1 xi ) 0, i = 1, ..., n.

Preuve. On note par i (resp. i ) les multiplicateurs de Lagrange associs aux contraintes
xi 1 (resp. xi 0). Les conditions ncessaires d'optimalit de Karush-Kuhn-Tucker
permettent d'crire, pour tout 1 i n : 1. ci +
j=i

qij xj + i i = 0.

2. i (1 xi ) = 0. 3. i xi = 0. 4. i 0, i 0. 5. xi 0 et xi 1. En multipliant (1) par xi on obtient,

c i xi +
j=i

qij xj xi + i xi i xi = 0. qij xj xi + i xi = 0, car i xi = 0, d aprs (3). e


j=i

c i xi + c i xi +
j=i

qij xj xi = i xi qij xj xi 0, car i 0, d apr`s (4). e


j=i

c i xi +

Pour trouver la deuxime ingalit du thorme on multiplie (1) par (1 xi ) on obtient,

ci (1 xi ) +
j=i

qij xj (1 xi ) + i (1 xi ) i (1 xi ) = 0 qij xj (1 xi ) i = 0, car i (1 xi ) et i xi = 0, d aprs (2) et (3) e


j=i

ci (1 xi ) + ci (1 xi ) +
j=i

qij xj (1 xi ) = i qij xj (1 xi ) 0, car i 0, d apr`s (4). e


j=i

ci (1 xi ) +

Ce rsultat n'est pas nouveau dans la mesure o il a t dmontr galement par Boros et Hammer [17]. Nous donnons cependant ici une dmonstration dirente en utilisant les 73

Chapitre 4. La programmation quadratique


conditions KKT au lieu des proprits sur les fonctions pseudo-boolennes. La proposition 4.3.1 de Hansen peut tre vue comme un corollaire de ce thorme.
+ Corollaire 4.3.1 Posons qij = min{0, qij } et qij = max{0, qij }. Alors on a :

(F0 ) : ci +
j=i

qij > 0 xi = 0,

(F1 ) : ci +
j=i

+ qij < 0 xi = 1.

Preuve. En eet, nous savons d'aprs ce thorme que si un vecteur binaire x est optimal
alors ncessairement xi [ci +
j=i

qij xj ] 0, i = 1, ..., n. Sachant que 0 xi 1, on peut qij xj . Comme xi 0 alors xi [ci +


qij ] xi [ci + j=i qij ] 0. j=i + qij ci + j=i j=i + qij j=i j=i

crire : ci +
j=i

qij ci + j=i

qij xj ]

La premire ingalit de la proposition 4.3.1 peut donc tre dduite puisque :

Si ci +
j=i

qij > 0 xi = 0, car xi [ci +

De manire symtrique, ci +

qij xj , on dduit que

(1 xi )(ci +
j=i

+ qij )

0, donc si ci +

< 0 alors xi = 1

Observons que chacune des ingalits du thorme est obtenue par des dductions faites en multipliant le terme ci +
j=i

qij xj par xi ou (1 xi ). Donc tant donn que la

multiplication par une variable permet d'tablir des rgles de xation de cette variable, il vient que la multiplication par un produit de 2 variables permettra d'tablir des rgles de xation de ce produit. Le corollaire ci-dessous est bas sur cette d'ide. Nous appelons

xation d'ordre 2 les produits que ce corollaire permet de xer. Corollaire 4.3.2 Soient i, k {1, ..., n} avec i = k
ci + qik + ci +
j=i,k j=i,k qij > qij > 0 xi xk = 0.

0 xi (1 xk ) = 0.
+ qij < 0 (1 xi )xk = 0.

ci + qik + ci +
j=i,k j=i,k + qij <

0 (1 xi )(1 xk ) = 0.

74

4.3. Programmes quadratiques en variables 0-1 sans contraintes

Preuve. Soit x {0, 1}n une solution optimale de (U QP ), d'aprs le thorme 4.3.1
on a : ci xi +
n j=1 j=i

qij xi xj 0. En multipliant cette ingalit par xi xk (i = k ) on obtient


n j=1 j=i,k

ci xi xk + qik xi xk +
Or, ci + qik +
n j=1 j=i,k

qij xi xj xk 0. Il s'ensuit que xi xk [ci + qik +


n j=1 j=i,k

n j=1 j=i,k

qij xj ] 0.

qij ci + qik + n j=1 j=i,k

qij xj xi xk [ci + qik +

n j=1 j=i,k

qij ] 0.

Donc, si ci + qik +

qij > 0 alors xi xk = 0. Et on obtient le premir critre. n

En multipliant ci xi +

j=1 j=i

qij xi xj 0 par xi (1 xk ) (i = k )
n

on obtient ci xi (1xk )+ Or, ci +


n j=1 j=i,k qij ci + n j=1 j=i,k

j=1 j=i,k n

qij xi xj (1xk ) 0. Il s'ensuit que xi (1xk )[ci + qij xj xi (1 xk )[ci +


n j=1 j=i,k qij ] 0.

n j=1 j=i,k

qij xj ] 0.

j=1 j=i,k

Donc, si ci +

qij > 0 alors xi (1 xk ) = 0. Et on obtient le deuxime critre. n j=1 j=i

De mme, d'aprs le thorme 4.3.1 on a aussi : ci (1 xi ) + En multipliant ci (1 xi ) +


n j=1 j=i

qij (1 xi )xj 0.

qij (1 xi )xj 0 par xk (1 xi ) (i = k ), on obtient


n j=1 j=i,k + qij < 0 alors (1 xi )xk = 0. Et

xk (1 xi )[ci + qik +

n j=1 j=i,k

+ qij ] 0. Donc, si ci + qik +

on obtient le troisme critre.


n j=1 j=i

En multipliant ci (1 xi ) +

qij (1 xi )xj 0 par (1 xk )(1 xi ) (i = k ) on obtient


n j=1 j=i,k + qij < 0 alors (1 xi )(1 xk ) = 0. Et

(1 xk )(1 xi )[ci +

n j=1 j=i,k

+ qij ] 0. Donc, si ci +

on obtient le quatrime critre.

Grce ce corollaire certains termes quadratiques peuvent tre xs ou linariss. Mais cela ne sut pas toujours pour dterminer la solution optimale comme cela a t le cas 75

Chapitre 4. La programmation quadratique


pour les xations d'Hansen. C'est la raison pour laquelle des critres plus gnraux seront dduits. Ces critres donnent des xations que nous appellons d'ordre n dont l'obtention est similaire celle du corollaire prcdent. Dsignons par yi le terme littral gal xi ou xi = 1 xi . Avec cette notation, nous pouvons dterminer les xations d'ordre n.

Corollaire 4.3.3 Soit i {1, ..., n}, S = S 1 S 0 {1, ..., n}\{i} et yj (j S) des littraux e
o,  S 1 = {j S : yj = xi }  S 0 = {j S : yj = xi }  S = {1, ..., n} \ S  ci +
jS 1

qij +
jS

qij > 0 xi jS + qij jS

yj = 0. yj = 0.
jS

 ci +
jS 1

qij +

< 0 (1 xi )

Preuve.
Supposons que ci +
jS 1

qij +
jS

qij > 0 et xi jS

yj = 1.

xi
jS

yj = 1 xi = 1 et yj = 1 j S.

yj = 1 j S xj = 1 j S 1 et xj = 0 j S 0 .
Or on a ci +
jS 1

qij +
jS

qij > 0 qui n'est autre F0 pour le nouvel problme alors xi = 0

contradiction. D'o si ci +
jS 1

qij +
jS

qij > 0 xi jS

yj = 0.

Mme principe pour le deuxime critre.

Remarque 4.3.1
 Si S = , on obtient exactement les rsultats du proposition 4.3.1.  Si |S| = 1, on obtient exactement les rsultats du corollaire 4.3.2.  Si |S| > 1, on ne peut pas liminer de termes quadratiques, mais on peut introduire de nouvelles ingalits valides. La xation xi
76
jS

yj = 0 est quivalente l'ingalit linaire suivante

4.3. Programmes quadratiques en variables 0-1 sans contraintes

xi +
jS

yj |S|,

et la xation (1 xi )

jS

yj = 0 est quivalente (1 xi ) +
jS

yj |S|.

An de mesurer l'impact de ces rsultats, considrons l'exemple suivant :

Exemple 4.3.3 Soit le problme quadratique suivant :


M in + 85x1 +100x2 88x3 16x4 37x5 +14x6 +80x7 +42x1 x2 68x1 x3 6x1 x4 10x1 x5 23x1 x6 87x1 x7 +19x3 x5 10x3 x6 +60x3 x7 +25x4 x5 +98x4 x6 2x4 x7 57x6 x7 s.c. x {0, 1}7
Remarquons tout d'abord que les critres de xation de Hansen sont inoprants pour cet exemple, c'est--dire aucune variable ne peut pas tre xe par F0 et F1 . Tandis que des xations peuvent tre trouves en utilisant les nouveaux critres de xation. En eet, pour i = 2 et k = 3, on a,

+60x2 x3 76x2 x4 58x2 x5 +82x2 x6 +85x2 x7

+70x5 x6 57x5 x7

ci + qik +
j=i,k

qij = 100 + 60 76 58 = 26 > 0 x2 x3 = 0

Pour i = 2 et k = 7, on a,

ci + qik +
j=i,k

qij = 100 + 85 76 58 = 51 > 0 x2 x7 = 0

Pour i = 3 et k = 2, on a,

ci +
j=i,k

+ qij = 88 + 19 + 60 = 9 < 0 (1 x3 )(1 x2 ) = 0

77

Chapitre 4. La programmation quadratique


Pour i = 3 et k = 7, on a,

ci +
j=i,k

+ qij = 88 + 19 + 60 = 9 < 0 (1 x3 )(1 x7 ) = 0

Il est clair que (1 x3 )(1 x2 ) = 0 x2 + x3 = 1 + x2 x3 , donc x2 = 1 x3 (car x2 x3 = 0). Remplaons x2 par sa valeur dans x2 x7 = 0, on obtient donc (1x3 )x7 = 0, or (1 x3 )(1 x7 ) = 0 (1 x3 ) (1 x3 )x7 = 0, alors x3 = 1 et par suite x2 = 0. Par consquence les deux variables x2 et x3 vont tre limines et le problme devient :

M in

88

+17x1

16x4

18x5

+4x6

+140x7

6x1 x4 10x1 x5 23x1 x6 87x1 x7 +25x4 x5 +98x4 x6 2x4 x7 +70x5 x6 57x5 x7 57x5 x7 s.c. xi {0, 1} i = 1, 4, 5, 6 et 7 Encore une fois les critres de xation de Hansen sont inoprants sur le nouveau problme. Tandis que des xations d'ordre 2 et 3 peuvent tre trouves : Pour i = 7 et k = 1, on a,

ci +

j=1 j=i,k

qij = 140 2 57 57 = 24 > 0 x7 (1 x1 ) = 0.

Pour i = 7, S = S 1 = {1, 6}, on a,

ci +
jS 1

qij +
jS

+ qij = 140 87 57 + 0 = 4 < 0 (1 x7 )x1 x6 = 0.

Pour i = 1, S = S 0 = {6, 7}, on a

ci +
jS

qij = 17 6 10 = 1 > 0 x1 (1 x6 )(1 x7 ) = 0.

D'une part on a x1 (1 x6 )(1 x7 ) = 0 x1 (1 x7 ) x1 x6 (1 x7 ) = 0

x1 (1 x7 ) = 0 (car x1 x6 (1 x7 ) = 0) x1 x1 x7 = 0 x1 = x1 x7
et d'autre part on a, 78

4.3. Programmes quadratiques en variables 0-1 sans contraintes

x7 (1 x1 ) = 0 x7 x7 x1 = 0 x7 = x7 x1 On obtient donc x1 = x7 .
En remplaant x7 par x1 . Nous obtenons le nouveau problme suivant :

M in

88

+70x1

16x4

18x5

+4x6

8x1 x4 67x1 x5 80x1 x6 +25x4 x5 +98x4 x6 +70x5 x6 s.c. xi {0, 1} i = 1, 4, 5 et 6


L'exemple montre que des xations d'ordre quelconque ont t trouves, suivies de dductions qui ont permis de diminuer le nombre des variables du problme. Trouver des xations d'ordre quelconque et dduire de ces xations d'autre rsultats est un problme non trivial pour lesquels nous proposons des mthodes dans les sections ci-dessous.

4.3.2 Gnration de xations


Les rsultats sur les xations d'ordre quelconque posent des questions quant la manire de les gnrer. Nous prsentons dans cette section une procdure ecace de gnration de xations d'ordre quelconque. L'tude montre que nos xations sont en fait quivalentes des couvertures minimales largement tudies dans la littrature de la programmation linaire en nombres entiers [64]. Nous dtaillons dans la suite la nature de cette quivalence.

quivalence avec des problme de couverture minimale


Soit i {1, 2, ..., n} et considrons la quantit suivante : ci xi +
j=1 j=i

qij xi xj .

Pour tout i, il est toujours possible de remplacer l'expression par une autre quivalente o tous les qij sont ngatifs ou nuls. On procde pour cela l'opration suivante : 79

Chapitre 4. La programmation quadratique

Vi = {1, 2, ..., n}\{i}, Pi = {j = i|qij > 0} et Ni = {j = i|qij 0}.


Dans ci xi +

qij xi xj +
jPi jNi

qij xi xj . qij xi (1 xj ) +
jPi jNi

On remplace xj = 1 xj , on obtient ci xi +

qij xi xj .

(ci +
jPi

qij )xi
jPi

qij xi xj +
jNi

qij xi xj . x jP j i et yj = x j j Ni

q j P ij i Donc, avec ces notations qij = qij j Ni

l'expression obtenue est (ci +

qij )xi +
jPi jVi

qij xi yj o tous les qij , sont ngatifs. qij xi yj , tous les qij

Par la suite, nous considrons donc que dans l'expression ci xi + sont ngatifs.

j=1 j=i

Appliquons les critres de xations sur l'expression prcdente. Nous obtenons les cas suivants :

80

4.3. Programmes quadratiques en variables 0-1 sans contraintes

Cas 1. Cas 2.

ci < 0 : F1 implique que xi = 1. ci = 0 : le troisime critre du corollaire 4.3.2 nous donne (1 xi )yj = 0 ( j | qij < 0).

Cas 3.

ci > 0 et :
n j=1 j=i n j=1 j=i

Cas 3.1. ci +

qij > 0, alors F0 entrane que xi = 0.

Cas 3.2. ci +

qij 0, dans ce cas on utilise les critres de xation gnraliss du

corollaire 4.3.3. Pour le cas 3.2, il y a deux possibilits pour gnrer des xations en utilisant le corollaire 4.3.3.

P1 : Trouver des ensembles S pour lequel S 1 = et ci +


jS

qij > 0.

Dans ce cas, nous trouvons la xation xi

jS

y j = 0. qij +
jS 1 jS + qij < 0.

P2 : Trouver des ensembles S = S 1 pour lequel ci +


Dans ce cas, nous trouvons la xation xi
jS

yj = 0 .

Considrons la possibilit P1 , on peut crire

ci +
jS

qij = ci + jS

qij = ci +

n j=1 j=i

qij
jS

qij

1 jS Posons u la variable binaire vriant uj = 0 sinon


Donc ci +
n j=1 j=i

qij
jS

qij = ci +

n j=1 j=i

qij

n j=1 j=i

qij uj .

81

Chapitre 4. La programmation quadratique


Trouver S vriant ci +
qij > 0 est alors quivalent trouver un vecteur u vriant jS

n j=1 j=i

qij uj > ci

n j=1 j=i

qij .
n j=1 j=i

Posons aj = qij et b = ci

qij . Par construction aj 0 j.


n j=1 j=i

Donc, le problme revient trouver un vecteur binaire u vriant

aj uj > b.

Dans la littrature de la programmation linaire entire, spcialement dans les problmes de sac dos, le vecteur u est appel couverture. Donc, l'ensemble S donnant une xation correspond une couverture de l'ingalit de sac dos
n j=1 j=i

aj uj b.

L'quivalence entre les xations et les couvertures nous permet de trouver les meilleures xations. Tout d'abord nous rappelons la dnition d'une couverture minimale.

Dnition 4.3.1 Soit

n j=1

aj uj b ingalit de sac dos.

S {1, 2, ..., n} est une couverture minimale si et seulement si


jS

aj uj > b et
jS n j=1 j=i

aj uj b S

S.

Un vecteur binaire qui vrie


n jS

aj uj > b correspond un sous-ensemble S pour lequel y j = 0 peut tre introduite dans le problme. y j = 0.
jS

aj > b et pour lequel la xation xi

jS

Cependant, si S S , on a aussi
jS

aj > b et xi

xi
jS

xj = 0 et xi

jS

xj = 0 sont redondantes, xi

jS

y j = 0 est susante.

Par consquent, les meilleures couvertures sont donc les couvertures minimales. En appliquant la mme dmarche on peut faire le lien entre P2 et un autre problme de sac dos. L'ensemble de ces rsultats est rsum dans le lemme ci-dessous.

Lemme 4.3.1 Soient i {1, 2, ..., n} et tous les qij sont ngatifs.
Notons par aj = qij , b1 = ci
82
n j=1 j=i

qij et b2 = ci .

4.3. Programmes quadratiques en variables 0-1 sans contraintes


n j=1 j=i

Si S est une couverture minimale de l'ingalit de sac dos (1) alors xi

aj uj b1

jS

y j = 0.
n j=1 j=i

Si S est une couverture minimale de l'ingalit de sac dos (2) alors (1 xi )

aj uj b2

jS

yj = 0 .

Algorithme de gnration de xations


L'algorithme Calcul de Fixations (Version 1) nous permet de trouver les xations d'ordre quelconque. Calcul de Fixations (Version 1)

pour i = 1, ..., n { . . . . }
Pour gnrer les ingalits (1) et (2). Il sut d'appliquer le lemme 4.3.1. Pour trouver les couvertures et donc les xations, une procdure base sur l'algorithme glouton, a t implmente. Cette procdure est une procdure rcursive pour laquelle chaque itration un aj sera choisi. Donc le nombre des couvertures minimales peut tre exponentiel, et dans ce cas il n'est pas raisonnable d'numrer toutes les couvertures possibles. Pour cette raison, avant d'appliquer la procdure rcursive, on trie les lments du vecteur a des ingalits de sac dos dans l'ordre dcroissant et on introduit un paramtre pour xer le nombre maximal de couvertures (i.e. le nombre maximal des itrations de l'algorithme). L'algorithme est le suivant : 83

Gnrer l'ingalit (1) Trouver des couvertures minimales associes l'ingalit (1) Gnrer l'ingalit (2) Trouver des couvertures minimales associes l'ingalit (2)

Chapitre 4. La programmation quadratique

Recherche de couvertures minimales Init


- Trier les lments du vecteur a dans l'ordre dcroissant - max = le nombre maximal de couvertures - compt = 0 -i=1 -S=0

Trouver les couvertures minimales des ingalits de sac dos


CouvertureMinimale(a,b,n,S,compt,max,i) { . . . . . . . . . . . . . . }
Cet algorithme nous donne les couvertures minimales pour les ingalits de sac dos (1) et (2).

si (S > b) { Finir Rtourner les couvertures correspondantes } sinon si (compt == max) Finir sinon {

S = S + ai (i.e. choisir ai )
CouvertureMinimale(a,b,n,S,compt+1,max,i+1)

S = S ai (i.e. n'est pas choisir ai )


CouvertureMinimale(a,b,n,S,compt+1,max,i+1) }

Gestion des redondances


Beaucoup de xations provenant de l'ingalit (1) apparassent dans des xations provenant de l'ingalit (2) ou inversement. An d'viter ceci, nous proposons la procdure 84

4.3. Programmes quadratiques en variables 0-1 sans contraintes


suivante o une seule ingalit de sac dos sera considre ((1) ou (2)).

Calcul de Fixations (Version 2)


pour i = 1, ..., n { . . . . . . }
Nous avons vu dans l'exemple 4.3.3 comment des dductions peuvent tre trouves partir de l'ensemble de xations. Pour trouver ces dductions d'une manire algorithmique on utilise la programmation par contraintes dans la section qui suit.

Gnrer l'ingalit (1) Gnrer l'ingalit (2) si (b1 < b2 ) Trouver la couverture minimale associe l'ingalit (1) sinon Trouver la couverture minimale associe l'ingalit (2)

4.3.3 Dductions
Supposons qu'aprs l'application de l'algorithme Calcul de Fixations (Version 2) on a trouv les k xations suivantes Fi (i = 1, .., k), tries dans l'ordre croissant dans le sens que l'ordre de la xation F1 est plus petit que l'ordre de la xation F2 et ainsi de suite. Soit Si {1, 2, ..., n} (i = 1, .., k) les k couvertures minimales qui correspondent

Fi (i = 1, .., k). La question qui se pose est la suivante : comment peut-on dduire de ces k xations d'autres xations d'ordre plus petit ?
Notons par F l'ensemble de toutes les xations trouves, i.e. F = {Fi , i = 1, 2, ..., k}. Notre objectif est de dduire de F autres xations d'ordre plus petit. Soit Fk+1 une xation qui n'appartient pas F tel que Sk+1

S1 . Pour vrier que

Fk+1 = 0, il sut de rsoudre le problme suivant :


85

Chapitre 4. La programmation quadratique


(*)

Fk+1 = 1, F1 = 0, F2 = 0,
.= .

Fk = 0 ,
Si ce problme admet une solution, on ne peut rien dduire. Par contre, si le problme (*) n'a pas de solution on peut dduire que Fk+1 = 0. En suite on ajoute Fk+1 F , et on remet F jour. C'est l'ide principale de notre procdure que l'on appelle Test d'une

xation.
Pour mieux comprendre ce mcanisme reprenons les 4 xations qu'on a trouves dans l'exemple 4.3.3 :

(a) x2 x3 = 0 (b) x2 x3 = 0 (c) x3 x7 = 0 (d) x2 x7 = 0 En ajoutant x2 = 1 le problme sera :

x2 = 1
(a) x2 x3 = 0 (b) x2 x3 = 0 (c) x3 x7 = 0 (d) x2 x7 = 0 Initialement, le domain de variables est {0, 1}. - Dans la xation (a), x2 = 1 implique que le domain de x3 est maintenant {0}. Ce nouveau changement est pris en compte aussi dans les xations o x3 apparat. - Dans la xation (b), x3 = 0 implique que x2 = 1. Le domaine {1} de x2 est le mme. 86

4.3. Programmes quadratiques en variables 0-1 sans contraintes

Dans la xation (c), x3 = 0 implique que le domain de x7 est maintenant {1} Ce nouveau changement est pris en compte dans les xations o x7 apparat. - Dans la xation (c), x7 = 1 implique que x2 x7 = 1 = 0 ! (Impossible). Donc, on peut conclure que x2 = 0. Dans la littrature de la programmation par contraintes le problme (*) est connu sous le nom de problme de satisfaction de contraintes (abrg par (CSP)4 ) et la mthode qu'on a utilise pour le rsoudre est connue sous le nom de la mthode de propagation de contraintes. Il existe plusieurs logiciels pour rsoudre un problme de satisfaction de contraintes par la mthode de propagation de contraintes. Gnu-prolog, dvelopp l'INRIA, prolog IV implement par Prologia ou Ilog Solver. Pour nos rsultats numriques, nous avons utilis Ilog Solver 6.1.

Algorithme de dductions I (Test de xation)


Nous avons vu prcdemment que pour dduire de l'ensemble F d'autres xations d'ordre plus petit on a ajout au problme de satisfaction de contrainte une xation Fk+1 qui est un produit de littraux gurant dans F1 . Dans notre algorithme on rptera ceci sur toutes les xations de l'ensemble F. Une question peut se poser : Pour quoi on n'ajoute pas des xations qui ne gurent pas dans Fi (i = 1, ..., k). La rponse cette question est triviale, d'une part le nombre de toutes les xations est exponentiel, parce qu'une xation est un produit de littraux, et d'autre part, la rsolution du problme de satisfaction de contrainte rsultant n'aboutit pas l'objectif souhait. Supposons qu'on a ajout la xation x4 = 1 au problme suivant :
4 En

anglais "Constrainte Satisfaction Problem"

87

Chapitre 4. La programmation quadratique


(a) x2 x3 = 0 (b) x2 x3 = 0 (c) x3 x7 = 0 (d) x2 x7 = 0

par consquence la rsolution du problme de satisfaction de contraintes suivant :

x4 = 1
(a) x2 x3 = 0 (b) x2 x3 = 0 (c) x3 x7 = 0 (d) x2 x7 = 0

n'entraine pas d'autres xations plus simples et par consquence la rsolution de ce dernier problme sera une perte de temps inutile. Donc il est plus raisonnable de ne pas tester que de xations qui sont des produits de littraux gurant dans Fi (i = 1, ..., k). Ces techniques sont gnralises dans l'algorithme suivant :

Init
- F = {Fi , i = 1, 2, ..., k} : un ensemble de xations - Trier F dans l'ordre croissant (par rapport lordre de Fi ) - max = nombre maximale des itrations - n = faut - compt = 0 -i=1 - buer

88

4.3. Programmes quadratiques en variables 0-1 sans contraintes

Test de xations
tantque (n = faut et compt max) { . . . . . . . . . . . . . . . . . . . . . . . . }
89

n = vrai buer = vide pour tout j Si {

Fk+1 =
lSi \{j}

yl

rsultat = le rsultat de la rsolution du (CSP ) suivant F {Fk+1 } si (rsultat = impossible) {

buf f er = buf f er {Fk+1 }


n = faut } } si (n = faut) { pour j = 1,...,|buf f er| {

F = F {buf f erj }
Mettre F jour (i.e. liminer les xations qui appartiennent buf f erj ) } i=1 } sinon i=i+1 compt = compt + 1

Chapitre 4. La programmation quadratique


Nous avons vu dans l'exemple 4.3.3 qu'on peut diminuer la taille du problme non seulement en trouvant des xations d'ordre 1, mais aussi en trouvant des galits entre des variables du problme. Dans la section suivante nous prsentons le schma algorithmique qu'on a utilis pour trouver ces galits.

Algorithme de dductions II (Test d'galit)


An de dduire des galits entre des variables, on va rsoudre les n(n 1) problmes de satisfaction de contraintes suivants :

(CSP1 )

xi = F1 = F2 =
.=

xj , 0, 0,
.

(CSP2 )

xi = xj , F1 = 0 , F2 = 0 ,
.= .

Fk =

Fk = 0

o 1 i < j n et F = {F1 , F2 , ..., Fk } est l'ensemble initial de xations. Nous allons voir comment rsoudre un tel problme pour l'exemple 4.3.3. Considrons les 3 xations qu'on a trouves dans la deuxime tape de l'exemple 4.3.3 :

x7 x1 = 0 x7 x1 x6 = 0 x1 x6 x7 = 0
En ajoutant x1 = x7 le problme sera :

x7 = 0 x1 x6 = 0 x1 x6 = 0.
D'une part, x7 = 0 x1 = 1 (car x1 = x7 ). D'autre part, x1 x6 = 0 x1 (1 x6 ) = 0

x1 x1 x 6 = 0 x1 = x1 x6 x1 = 0 (car x1 x6 = 0). Donc x1 = 0 = 1 ! Impossible. On dduit donc que x1 = x7 . Cette ide est implmente
dans l'algorithme de dductions II (Test d'galit). 90

4.3. Programmes quadratiques en variables 0-1 sans contraintes

Algorithme de dductions II (Test d'galit) Init


- F = {Fi , i = 1, 2, ..., k} : un ensemble de xations - galits : liste des galits trouves - buer

Test dgalit
pour i = 1, ..., n pour j = i + 1, ..., n { . . . . . . } galits = galits {buf f er} Tantque buf f er = { . . . . } Mettre F jour en ajoutant la premire galit buf f er1 Mettre le problme (U QP ) jour en ajoutant la premire galit buf f er1 Mettre jour buf f eri (2 i |buf f er|) avec buf f er1 Suprimer buf f er1 rsultat = le rsultat de la rsolution du (CSP1 ) suivant F {xi = xj } si (rsultat = impossible)

buf f er = buf f er {xi = xj }


rsultat = le rsultat de la rsolution du (CSP2 ) suivant F {xi = xj } si (rsultat = impossible)

buf f er = buf f er {xi = xj }

91

Chapitre 4. La programmation quadratique

Algorithme global de dductions (Test de xations et Test d'galit)


L'algorithme prsent dans cette section, comme son nom l'indique "algorithme global de dductions" est une combinaison de deux algorithmes : Algorithme de dductions I et Algorithme de dductions II. Init

- F = {Fi , i = 1, 2, ..., k} : un ensemble de xations - max = le nombre maximale itrations - Nouvellesgalits : la liste des nouvelles galits trouves par test degalits

Dductions
Tanque (n = faut et compt max) { . . . . . }
Les rsultats numriques de l'algorithme Calcul de xations (Version 2) et l'algorithme global dductions sont prsents dans la section suivante.

Test de xations Nouvellesgalites = Test d'galites si Nouvellesgalites = n = vrai compt = compt + 1

4.3.4 Rsultats numriques


Dans le tableau 4.8, pour chaque instance dans laquelle nous xons toutes les variables, nous donnons la valeur optimale trouve et nous la comparons avec la meilleure valeur trouve par des mthodes heuristiques dans la colonne MVT. Quand le nombre de variables restantes nt est plus petit ou gal 5, nous trouvons aussi la solution optimale en numrant les 2nt solutions. Dans les autres cas, quand nous n'arrivons pas trouver la solution optimale nous crivons "-" dans la colonne OPT. Dans ces cas nous pouvons complter la rsolution en utilisant la programmation semi-dnie comme dans l'algorithme FSDP pour trouver une borne suprieure. Il s'agit ici d'un problme de maximisation de la bibliothque ORLIB. 92

4.3. Programmes quadratiques en variables 0-1 sans contraintes


Problme bqp50.1 bqp50.2 bqp50.3 bqp50.4 bqp50.5 bqp50.6 bqp50.7 bqp50.8 bqp50.9 bqp50.10 Taille 50 50 50 50 50 50 50 50 50 50 MVT 2089 3702 4626 3544 4012 3693 4520 4216 3780 3507 # de variables xs 3 45 50 48 49 36 50 50 47 49 OPT 3702 4626 3544 4012 4520 4216 3780 3507 Temps (sec.) 12.6 60 17.7 15.8 19.8 17.9 17.9 18.0 22.8 14.6

Tab. 4.8: Rsultats des gnrations des xations et dductions.

Pour ces 10 instances, seulement deux entre eux ne sont pas rsolues compltement. Dans le tableau 4.9 nous donnons des rsultats numriques qui montrent la supriorit en nombre des variables xes entre nos critres de xations gnraliss et les critres de Hansen F0 et F1 . Problme bqp50.1 bqp50.2 bqp50.3 bqp50.4 bqp50.5 bqp50.6 bqp50.7 bqp50.8 bqp50.9 bqp50.10 Taille 50 50 50 50 50 50 50 50 50 50 # de variables xs 3 45 50 48 49 36 50 50 47 49 # de variables xs par F0 et F1 1 0 1 3 1 5 1 0 1 1

Tab. 4.9: Comparaison entre les critres de xations gnraliss et F0 et F1 .

93

Chapitre 4. La programmation quadratique


Les rsultats prsents dans le tableau 4.10 montrent que les xations permettent de rsoudre plus rapidement le problme que la programmation semi-dnie et ils prsentent une comparaison entre les codes QPTOSDP et SDP_S. La meilleure borne suprieure trouve et le meilleur temps de calcul pour chaque instance sont marqus en gras. Problme bqp50.1 bqp50.2 bqp50.3 bqp50.4 bqp50.5 bqp50.6 bqp50.7 bqp50.8 bqp50.9 bqp50.10 Taille 50 50 50 50 50 50 50 50 50 50 MVT 2089 3702 4626 3544 4012 3693 4520 4216 3780 3507 QPTOSDP Temps SDP_S 2100 3703 4627 3549 4020 3699 4522 4222 Temps 02 :31 :29.67 02 :12 :01.56 00 :44 :52.65

2089 3702 4626 3544 4012 3693 4520 4216 3780 3507

01 :02 :14.05 00 :56 :06.12 00 :43 :02.52


00 :43 :18.53 00 :50 :42.06 00 :39 :07.41

00 :24 :13.84 00 :36 :20.21 00 :32 :56.85


01 :04 :00.79

00 :51 :32.25
00 :52 :12.14

00 :43 :16.93
01 :38 :19.01 02 :06 :16.57

00 :49 :27.12 01 :34 :52.01

3780 3507

Tab. 4.10: Comparaison entre QPTOSDP et SDP_S.

4.3.5 Reformulation quadratique convexe


Les reformulations quadratiques convexes consistent rcrire (U QP ) comme un problme de minimisation d'une fonction convexe dans un domaine convexe. Elles ont fait l'objet de nombreux travaux parmi lesquels on peut citer l'approche spectrale de Hammer et Rubin [39]. Ils dcrivent de manire thorique une reformulation de f (x) utilisant les contraintes d'intgrit et le calcul de valeurs propres. En utilisant la proprit x2 = xi , on peut montrer facilement que la fonction conoi mique f (x) de (U QP ) peut se rcrire en perturbant la diagonale de la matrice Q par une quantit :
n T

f (x) = x (Q + I)x
i=1

xi

o R et I reprsente la matrice identit de dimension n n. Il est clair que f (x) =

f (x) x {0, 1}n . On peut donc construire une famille de fonctions f (x), toutes gales
94

4.3. Programmes quadratiques en variables 0-1 sans contraintes

f (x) R et x {0, 1}n . L'ide est de rendre l'objectif convexe et donc de choisir les
paramtres tels que la nouvelle matrice (Q+I) soit semi-dnie positive, autrement dit

min (Q + I) 0. Hammer et Rubin ont montr que pour tout min (Q), la fonction f (x) est convexe. Ils montrent aussi que comme min n f (x) est une fonction dcroissante
en , si = min (Q) alors la valeur optimale de la relaxation continue associe est la plus grande possible. Rcemment Billionnet et Elloumi [15] ont prsent une mthode de prtraitement visant convexier le problme (U QP ). Cette mthode consiste dterminer un vecteur
n x[0,1]

u R via la programmation semi-dnie et ajouter l'objectif la quantit x2 ), qui est nulle sur le domaine admissible (x2 = xi i = 1, ..., n). i i
suivante :
i=1

ui (xi

Pour un vecteur quelconque u Rn , on dnit la fonction perturbe fu (x) de la faon

fu (x) = xT (Q Diag(u))x + (c + u)T x


n

on peut facilement voir que fu (x) peut aussi tre crite comme f (x) +
i=1

ui (xi x2 ) et i

que fu (x) = f (x) pour tout x {0, 1}n . Donc on peut rsoudre le problme (U QP ) en rsolvant le problme quivalent suivant : M in f (x) u (U QPu ) s.c. x {0, 1}n

(4.7)

De plus, on dnit la borne infrieure (u) la valeur optimale du problme (U QP ) comme la valeur optimale obtenue par la relaxation continue du problme (U QPu )

(u) = min{fu (x) : x [0, 1]n }


On s'intresse ici au vecteur u tel que la matrice (Q Diag(u)) soit semi-dnie positive. Dans ce cas calculer la borne infrieure (u) revient rsoudre un problme quadratique convexe. En posant u = min (Q).e, on se ramne l'approche de la plus petite valeur propre prsente dans la sous section prcdente. La question qui se pose ici est la suivante : Quel est le meilleur vecteur u , qui maximise

(u) sous la contrainte (Q Diag(u))

0. Considrons donc le vecteur u et la borne


95

Chapitre 4. La programmation quadratique


infrieure associe comme

= (u ) =

(QDiag(u)) 0

max

(u)

Il est dja connu que peut tre calcule comme la valeur optimale d'une relaxation semi-dnie du problme (U QP ). Ce rsultat apparat, par exemple dans [52], [86], [96]. An de rappeller ce rsultat avec nos notations et dans notre contexte, on donne la proposition suivante :

Proposition 4.3.3 La borne infrieure est gale la valeur optimale du programme


semi-dni suivant :

M ax r s.c. 1 T r (c + u) 2 (SDP ) 1 (c + u) Q Diag(u) 2 r R, u Rn


dont le dual est

(4.8)

M in cT diag(X) + Q, X s.c. (P SDP ) T 1 diag(X) diag(X) X

(4.9)

De plus, si (r , u ) est une solution optimale du problme (SDP ), alors (QDiag(u ))

0 et (u ) = .
La proposition 4.3.3 donne une mthode particulire pour calculer le meilleur vecteur

u et la borne infrieure , base sur la rsolution d'un programme semi-dni. Nous


utilisons le code DSDP pour trouver ( , u ). La rsolution exacte du problme convexi par la mthode de sparation et valuation du CPLEX engendre un grand nombre de nuds, d'o l'ide d'ajouter des coupes valides 96

4.3. Programmes quadratiques en variables 0-1 sans contraintes


ce problme avant de le rsoudre avec CPLEX. On verra comment les xations d'ordre quelconque, mme dans le cas o leur ordre n'est pas assez petit, seront utiles pour amliorer ces coupes qui leur tour font diminuer le nombre de nuds dans l'arbre de recherche de la mthode de sparation et valuation du CPLEX. Dans la section suivante nous tudions ces coupes et la manire dont on utilise les xations pour les amliorer.

Coupes de lifting
On a dmontr dans le thorme 4.3.1 que les deux ingalits suivantes sont ncessairement vries pour chaque solution optimale du problme (U QP ).
n j=1 j=i

ci xi +

qij xi xj 0 , i = 1, 2, ..., n.
n j=1 j=i

ci (1 xi ) +

qij (1 xi )xj 0 , i = 1, 2, ..., n.

Donc, si xi = 1 (resp. xi = 0) les ingalits linaires suivantes sont valides.

ci +

n j=1 j=i

qij xj 0 (resp. ci +

n j=1 j=i

qij xj 0)

Pour obtenir des ingalits linaires valides mme si xi n'est pas x 1 (resp. 0) on va utiliser la technique de lifting (voir par exemple [9]) Considrons le cas o xi = 1, (le cas o xi = 0 sera pareil). On a l'ingalit suivante
n j=1 j=i

ci +

qij xj 0

Pour gnrer une ingalit linaire valide pour (U QP ) on doit lifter l'ingalit ci-dessus, c'est--dire il faut trouver une constante M1 vriant l'ingalit suivante :
n j=1 j=i

M1 (1 xi ) + ci +
n j=1 j=i

qij xj 0

Donc M1 ci

qij xj x {0, 1}. Ainsi la meilleure valeur est


n j=1 j=i

M1 = Min
s.c.

ci

qij xj

x {0, 1}n
97

Chapitre 4. La programmation quadratique


Trouver la valeur optimale de ce problme peut se faire dans un temps linaire, puisque
n

M1 = ci

j=1 j=i

+ qij xj .

Les coupes ainsi construites ne sont malheureusement pas de bonne qualit, mais elles peuvent tre amliores en utilisant les xations gnralises. En eet, soit S = {1, 2, ..., n} l'ensemble cit dans le corollaire 4.3.3. Nous savons que les xations ont les formes suivantes : xi
jS

yj = 0 ou (1 xi )

jS

yj = 0. Par linarisation on
jS

peut alors obtenir les contraintes linaires suivantes xi +

Donc l'ensemble de toutes les xations peut tre regroup sous la forme matricielle :

jS

|S|, et (1 xi ) +

|S|.

Ax b o A {1, 0, 1}mn et b Zm . Ici, m est le nombre des xations et n est le


nombre des variables. Les contraintes Ax b peuvent alors tre utilises amliorer la valeur de M1 . An d'obtenir une meilleure M1 , nous ajoutons au problme la contrainte

fu (x) BS 1 o BS est une borne suprieure calcule d'une manire heuristique. Le


problme rsultant donc est

M1 = Min
s.c.

ci

n j=1 j=i

qij xj

Ax b fu (x) BS 1 x {0, 1}n

Rsoudre la formulation en nombres entiers est un problme NP-dicile, ncessitant (en gnral) un temps important. Nous nous contentons donc de la rsolution de sa relaxation continue. On rsume les rsultats prcdents dans proposition ci-dessous.

Proposition 4.3.4 (Coupes de lifting) Soit M 1 et M 2 dnis par


M 1 = Min
s.c.

ci Ax b

n j=1 j=i

qij xj

M 2 = Max
s.c.

ci Ax b

n j=1 j=i

qij xj

fu (x) BS 1 x [0, 1]n


98

fu (x) BS 1 x [0, 1]n

4.3. Programmes quadratiques en variables 0-1 sans contraintes On obtient les ingalits valides suivantes, appeles "coupes de lifting" :
n j=1 j=i

M 1 (1 xi ) + ci + M 2 xi + ci +
n j=1 j=i

qij xj 0, i = 1, 2, ..., n.

qij xj 0, i = 1, 2, ..., n.

Rsultats numriques
Les rsultats de Billionnet et Elloumi montrent un trs grand nombre de nuds. Pour rduire ce nombre de nuds on se propose d'ajouter la formulation de nouvelles coupes venant des xations, ensuite on utilise le logiciel MIQP de CPLEX 9.0 pour rsoudre ces nouveaux problmes quadratiques. Les rsultats numriques prsents ci-dessous sont prliminaires et encourageants mais nous cherchons avec beaucoup de volont de nouveaux moyens pour les amliorer. Il s'agit ici d'un problme de maximisation, les instances sont gnres par Glover et al. [33], elles apparaissent aussi dans la bibliothque ORLIB. Notations dans les tableaux 4.11 et 4.12.

Taille : BS : OPT : BI : # de nud : Temps (sec.) :

La taille du problme (i.e. nombre de variables) Borne suprieure la racine Valeur optimale trouve Borne infrieure la racine Nombre de nuds du Branch-and-Bound Cplex Temps de calcul coul (en secondes)

99

Chapitre 4. La programmation quadratique


Taille 100 100 100 100 100 100 100 100 100 BS 6592.8 7234.2 9963.0 12632.1 12632.1 15672.0 17353.3 17010.9 20421.3 OPT 6333.0 6579.0 9261.0 11626.0 11626.0 14476.0 16352.0 15656.0 19102.0 BI 6287.0 6579.0 9247.0 11604.0 11604.0 14376.0 16352.0 15656.0 19102.0 # de nud 1803 120997 76841 268735 268735 229016 12795 140680 75030 Temps (sec.) 4.0 391.3 220.6 1040.2 1047.9 1048.5 71.8 775.5 402.8

Tab. 4.11: Rsolution exacte du problme (UQP) par le logiciel MIQP de CPLEX sans

les coupes de lifting.

Taille 100 100 100 100 100 100 100 100 100

# de xation 1450 1929 2000 2000 2000 2000 2000 2000 2000

BS 6591.0 7234.2 9963.0 12632.1 12632.1 15672.0 17353.3 17010.9 20421.3

OPT 6333.0 6579.0 9261.0 11626.0 11626.0 14476.0 16352.0 15656.0 19102.0

BI 6287.0 6579.0 9247.0 11604.0 11604.0 14376.0 16352.0 15656.0 19102.0

# de nud 289 29026 20685 116660 116660 102236 6569 64468 25630

Temps (sec.) 2.6 168.1 112.3 948.3 946.1 1011.7 81.5 801.2 334.3

Tab. 4.12: Rsolution exacte du problme (UQP) par le logiciel MIQP de CPLEX avec

les coupes de lifting.

100

4.3. Programmes quadratiques en variables 0-1 sans contraintes

101

Chapitre 4. La programmation quadratique

102

Annexe A

Logiciels pour la programmation semi-dnie

103

Annexe A. Logiciels pour la programmation semi-dnie

CSDP
Auteur : Site : Language : Mthode : B. Borchers

http ://infohost.nmt.edu/ borchers/csdp.html


C Mthode de points intrieurs

DSDP
Auteurs : Site : Language : Mthode : S. Benson et Y. Ye

http ://www-unix.mcs.anl.gov/DSDP/
C Mthode de points intrieurs

MAXDET
Auteurs : Site : Language : Mthode : S.-P. Wu, L. Vandenberghe et S. Boyd

http ://www.stanford.edu/ boyd/MAXDET.html


MATLAB Mthode de points intrieurs

SBmethod
Auteur : Site : Language : Mthode : C. Helmberg

http ://www-user.tu-chemnitz.de/ helmberg/SBmethod/


C++ Mthode de faisceaux

104

SDPA
Auteurs : Site : Language : Mthode : K. Fujisawa, M. Kojima et K. Nakata

http ://www.is.titech.ac.jp/ yamashi9/sdpa/index.html


C++ Mthode de points intrieurs

SDPLR
Auteurs : Site : Language : Mthode : S. Burer, R. D. C. Monteiro et C. Choi

http ://dollar.biz.uiowa.edu/ sburer/software/SDPLR/index.html


C Via la programmation non linaire

SDPpack
Auteurs : Site : Language : Mthode : F. Alizadeh, J.-P. Haeberly, M. V. Nayakkankuppam, M. L. Overton et S. Schmieta

http ://www.cs.nyu.edu/overton/software/sdppack.html
MATLAB Mthode de points intrieurs

SDPT3
Auteurs : Site : Language : Mthode : K.-C. Toh, M. J. Todd et R. H. Tutuncu

http ://www.math.nus.edu.sg/ mattohkc/sdpt3.html


MATLAB Mthode de points intrieurs

SeDuMi
Auteurs : Site : Language : Mthode : J. F. Sturm, O. Romanko et I. Plik

http ://sedumi.mcmaster.ca/
MATLAB Mthode de points intrieurs

105

Annexe A. Logiciels pour la programmation semi-dnie

106

Annexe B La programmation par contrainte


La programmation par contraintes [29] est une technique qui devient de plus en plus importante dans le domaine de l'optimisation. Son avantage principal par rapport d'autres techniques est qu'elle permet de dcrire et rsoudre des modles gnraux, tout en sparant la description de la rsolution. Un problme de programmation par contraintes est dni par un ensemble d'inconnues, ou variables, et un ensemble de contraintes. Chaque variable a un ensemble ni de valeurs possibles (un domaine), et chaque contrainte porte sur un sous-ensemble des variables. Chacune de ces contraintes indique quelles aectations partielles, mettant en jeu seulement les variables apparaissant dans la contrainte, satisfont (ou violent) la contrainte. Le problme de satisfaction de contraintes est alors de trouver une aectation (un seul lment du domaine) pour chaque variable telle qu'aucune contrainte ne soit viole.

B.1 Recherche arborescente


Dans le systmes de programmation par contraintes, la recherche de solutions s'eectue en gnral au moyen de la recherche arborescente, et dans le cas le plus simple, la recherche arborescente en profondeur d'abord. La recherche arborescente en profondeur d'abord prsente l'avantage d'tre la fois complte et conome en mmoire : elle garantit de trouver une solution, s'il y en a une, ou de rpondre qu'il n'y a pas de solution si le problme est insoluble. Dans le pire des cas, la recherche arborescente examine toutes les combinaisons de valeurs pour toutes les variables. 107

Annexe B. La programmation par contrainte

B.2 Propagation de contraintes


La technique de test de contraintes dcrite ci-dessus est connue sous le nom de backward

checking puisque les contraintes sont testes une fois que toutes les variables mises en
jeu dans la contrainte ont t aectes. Les systmes de programmation par contraintes utilisent normalement pour laguer des branches de l'arbre de recherche une mthode beaucoup plus ecace, connue sous le nom de propagation de contraintes. La propagation de contraintes est une technique beaucoup plus active que le backward checking. Au lieu de vrier la validit d'une contrainte, les possibilits futures sont ltres en utilisant un algorithme ltrage ddi. Cette procdure se traduit presque toujours par une rduction du nombre d'checs, c'est--dire, les impasses dans l'arbre de recherche sont remarques plus haut, ce qui vite d'explorer explicitement le sous-arbre. Dans le cas backward checking, chaque variable a dj une valeur aecte, ou pas de valeur du tout. La propagation par contraintes maintient au contraire les domaines courants de chaque variable. Le domaine courant est au dpart gal au domaine initial, et est ltr au fur et mesure que la recherche progresse dans l'arbre. S'il se trouve qu'une valeur ne peut pas tre possible pour une variable (parce qu'elle violerait une contrainte au moins), elle est enleve du domaine courant. Ces valeurs enleves ne sont plus considres comme des branchements possibles et l'arbre de recherche est donc plus ecacement lagu que si on utilisait un algorithme de type backward cheking. Les algorithmes qui prouvent l'invalidit de valeurs dans les domaines et les ltrent ont en gnral une complexit polynomiale. Des mthodes gnrales et des algorithmes spciques pour certains types de contraintes existent. Le ltrage des valeurs des domaines est eectu indpendamment pour chaque contrainte. Les contraintes communiquent entre elles seulement au travers des changements des domaines courants des variables. De manire gnrale, l'algorithme de propagation de contraintes fonctionne en demandant aux contraintes, chacune son tour, de ltrer les domaines des variables qui les concernent. Ce processus est eectu soit jusqu' ce qu'une variable ait une domaine vide (plus de valeur possible), soit jusqu' ce qu'une passe complte de propagation ne rduise plus les domaines des variables. Dans le premier cas, un chec et un retour arrire se produisent. Dans le deuxime cas, on a atteint un point xe. Si toutes les variables n'ont qu'une valeur possible on a une solution ou prouver qu'il n'en 108

B.2. Propagation de contraintes


existe pas. Le point xe trouv par propagation de contraintes ne doit pas dpendre de l'ordre dans lequel les contraintes ltrent les valeurs de domaines.

109

Annexe B. La programmation par contrainte

110

Bibliographie
[1] E.H.L. Aarts and J.K. Lenstra (Eds.). Local search in combinatorial optimization. John Wiley and Sons, (1997). [2] W.P. Adams, R. Forrester, and F. Glover. Comparisons and enhancement strategies

for linearizing mixed 0-1 quadratic programs. Discrete Optimization, 1(2) :99-120,
(2004). [3] B. Alidaee, G. Kochenberger, and A. Ahmadian. 0-1 Quadratic programming ap-

proach for the optimal solution of two scheduling problems. International journal of
systems science, 25 :401-408, (1994). [4] F. Alizadeh, J.-P.A. Haeberly, and M.L. Overton. Primal-dual interior-point methods

for Semidenite programming : Convergence rates, stability and numerical results.


SIAM J. Optim., 8(3) :746-768, (1998). [5] F. Alizadeh. Interior point methods in semidenite programming with applications to

combinatorial optimization. SIAM J. Optim., 5 :13-51, (1995).


[6] M. N. F. F. Dos Anjos. New convex Relaxations for the Maximum Cut and VLSI

Layout Problems. Ph.D Thesis, Waterloo, Ontario, Canada, (2001).


[7] K.M. Anstreicher. On the equivalence of convex programming bounds for boolean qua-

dratic programming. Working paper, available from the author at Department of


Management Sciences, University of Iowa, Iowa City, IA 52242, USA. (1998). [8] A. Auslender. Optimisation, mthodes numriques. Ed. Masson. Paris (1976). [9] E. Balas, S. Ceria, and G. Cornujols. A lift-and-project cutting plane algorithm for

mixed 0-1 programs. Mathematical Programming, 58(3) :295-324, (1993).


[10] F. Barahona. A solvable case of quadratic 0-1 programming. Discrete Applied Mathematics, 13 :23-26, (1986). 111

Bibliographie
[11] J.E. Beasley. Heuristic algorithms for the unconstrained binary quadratic program-

ming problem. Technical report, Department of Mathematics, Imperial College of


Science and Technology, London, England, (1998). [12] S. J. Benson and Y. Ye DSDP5 : Software for Semidenite Programming. Submitted to ACM Transaction on Mathematical Software,Vol. 5, No. N, september (2005). [13] S. Benson, Y. Ye, and X. Zhang. Solving large-scale sparse semidenite programs for

combinatorial optimization. SIAM Journal on Optimization, 10(2) :443-461, (2000).


[14] D. Benterki, J.P. Crouzeix, and B. Merikhi. A numerical implementation of an inter-

ior point method for semidenite programming. Pesquisa Operacional, 23(1) :49-59,
(2003). [15] A. Billionnet and S. Elloumi. Using a mixed integer quadratic programming solver for

the unconstrained quadratic 0-1 problem. Mathematical Programming, 119 : 55-68,


(2006). [16] A. Billionnet, S. Elloumi, and M.C. Plateau. QCR : Quadratic convex reformulation

for exact solution of 0-1 quadratic programs. Technical Report CEDRIC, (2006).
[17] E. Boros and P. Hammer. Pseudo-boolean optimization. Rutcor Research Report RRR 48-2001, Rutgers University, Piscataway, New Jersey, (2001). [18] X. Burer, R.D.C Monteiro, and Y. Zhang. Solving a class of semidenite programs

via nonlinear programming. Mathematical Programming, 93 :97-122, (2002).


[19] P. Chardaire and A. Sutter. A decomposition method for quadratic zero-one program-

ming. Management Science, 41 :704-712, (1995).


[20] F. Chatelin. Spectral approximation of linear operators. Acadimic Press, New Work

(1983).
[21] F. Chatelin. Simultaneous Newton's iterations for the eigenproblem. Computing, Suppl., (5) :67-74, (1984). [22] F. Chatelin. Valeurs propres d'une matrice. Masson, Paris (1988). [23] A. Cline, C. Moler, G. Stewart, and J.H. Wilkinson. An estimate for the condition

number of matrix. SIAM J. Numer. Analysis, 16 :368-375, (1979).


[24] E.R. davidson. Matrix eigenvector methods. Methods in computational Molecular Physics, Reidel, Boston, 95-113, (1983). 112

[25] G. Delaporte, S. Jouteau, and F. Roupin. SDP_S : a tool to formulate and solve

semidenite relaxations for bivalent quadratic problems. In Proceedings ROADEF


2003, Avignon 26-28 Fvrier (2003). [26] L. El Ghaoui and S.I. Niculescu. Advances in Linear Matrix Inequality Methods in

Control. SIAM, Philadelphia, (editors), (2000).


[27] R. Fortet. Applications de l'algbre de boole en recherche oprationnelle. Revue Franaise d'Automatique d'Informatique et de Recherche Oprationnelle, 4 :5-36, (1959). [28] R. Fortet. L'algbre de boole et ses applications en recherche oprationnelle. Cahiers du Centre d'Etudes de Recherche Oprationnelle, 4 :17-26, (1960). [29] T. Fruhwirth and S. Abdennadher. Essentials of Constraint Programming. Springer, (2003). [30] G. Gallo, P. Hammer, and B. Simeone. Quadratic knapsack problems. Mathematical programming, 12 :132-149, (1980). [31] M.R. Garey and D.S. Johnson. Computers and intractability : a guide to the theory

of NP-completeness. W.H. Freeman and Company, New York, 1979.


[32] M. Gradin and N. Kill. Analyse dynamique des machines tournantes. Principes et

applications. Rapport VF-50, labo. Aronaut. Universit de Lige, Belgique. (1984).


[33] F. Glover, G.A. Kochenberger, and B. Alidaee. Adaptive memory tabu search for

binary quadratic programs. Management Science 44 :336-345, (1998).


[34] F. Glover. Improved linear integer programming formulation of non linear integer

problems. Management Science, 22 :445-460, (1975).


[35] M. X. Goemans and D. P. Williamson. Improved approximation algorithms for

Maximum Cut and satisability problems using semidenite programming. J. ACM,


42 :1115-1145, (2001). [36] S. Gueye. Linarisation et relaxation lagrangienne pour les problmes quadratiques

en variables binaires. Thse de doctorat, Universit d'Avignon, (2002).


[37] S. Gueye and P. Michelon. Miniaturized linearizations for quadratic 0/1 problems. Annals of Operations Research, 140 :235-261, (2005). 113

Bibliographie
[38] V.P. Gulati, S.K. Gupta, and A.K. Mittal. Unconstrained quadratic bivalent program-

ming problem. European Journal of Operational Research, 15 :121-125, (1984).


[39] P.L. Hammer and A.A. Rubin. Some remarks on quadratic programming with 0-1

variables. RAIRO, 3 :67-79, (1970).


[40] P.L. Hammer and S. Rudeanu. Boolean Methods in Operations Research. Springer, Berlin, (1968). [41] P. Hansen. Method of non-linear 0-1 programming. Annals of Discrete Mathematics, 5 :53-70, (1979). [42] C. Helmberg and K.C. Kiwiel. A spectral bundle method with bounds. Mathematical Programming, 93(2) : 173-194, (2002). [43] C. Helmberg. Semidenite programming for combinatorial optimization. Habilitationsschrift, TU Berlin, (2000). [44] C.

Helmberg.

c++

implementation

of

the

spectral

bundle

method.

http ://www.zib.de/helmberg/SBmethod, (2000). [45] C. Helmberg and F. Rendl. A spectral bundle method for semidenite programming. SIAM Journal on Optimization, 10 : 673-696, (2000). [46] C. Helmberg, F. Rendl,R. J. Vanderbei, and H. Wolkowicz. An interior-point method

for Semidenite programming. SIAM J. Optim.,6(2) :342-361, (1996).


[47] J.B. Hiriart Urruty. How to regularize a dierence of two functions ? Sminaire d'analyse numrique. Universit Paul Sabatier. (1989). [48] R.A.Horn and C.R.Johnson. Matrix Analysis. Cambridge University Press, (1985). [49] R.A.Horn and C.R.Johnson. Topics Matrix Analysis. Cambridge University Press, (1991). [50] L.C. Iasemidis, P. Pardalos, J.C. Sackellares, and D.-S. Shiau. Quadratic binary pro-

gramming and dynamical system approach to determine the predictability of epileptic seizures. Journal of combinatorial optimization 5 :9-26,(2001).
[51] N. Karmarkar. A new polynomial time algorithm for linear programming. Combinatorica, 4 : 373-395, (1984). [52] F. Krner. A tight bound for the Boolean quadratic optimization problem and its use

in a branch and bound algorithm. Optim. 19 (5) :711-721, (1988).


114

[53] J. Krarup and A. Pruzan. Computer aided layout design. Mathematical Programming study, 9 :75-94, (1978). [54] B.W. Kernighan and S. Lin. An ecient heuristic procedurre for partitioning graphs. Bell systems Technical journal, 49 :291-307, (1970). [55] M. Kojima, S. Shindoh, and S. Hara. Interior-point methods for the monoton linear

complementarity problem in symatric matrices. SIAM J. Optim., 7(1) :86-125, (1997).


[56] V. Kumar, A. Grama, A. Gupta, and G. Karypis. Introduction to parallel compu-

ting : design and analysis of algorithms Benjamin/Cummings Publishing Company,


Redwood City, CA, (1994). [57] J.B. Lasserre. A Semidenite programming approach to the generalized problem of

moments. Mathematical Programming 112 :65-92, (2007).


[58] D.J. Laughunn. Quadratic binary programming. Operations research 14 :454-461, (1970). [59] M. Laurent and S. Poljak. On a positive semidenite relaxation of the cut polytope. Linear Algebra and its Applications, 223/224 :439-461, (1995). [60] M. Laurent and S. Poljak. Gap inequalities for the cut polytope. Europ. J. Combinatorics, 17 :233-254, (1996). [61] T. Lengauer. Combinatorial algorithms for integrated circuit layout. Wiley, Chichester, (1990). [62] F.T. Lin, C.Y.Kao, and C.C. Hsu. Applying the genetic approach to simulated annea-

ling in solving some NP-hard problems. Man and Cybernetics, 23 :1752-1767, (1993).
[63] A. Lodi, K. Allemand, and T.M. Liebling. An evolutionary heuristic for quadratic 0-1

programming. European Journal of Operational Research, 119 (3) :662-670, (1999).


[64] H. Marchand, A. Martin, R. Weismantel, and L. Wolsey. Cutting plane in integer

and mixed integer programming. Technical Report CORE Discussion Paper 9953,
Universit Catholique de Louvain, Louvain-la-Neuve, Belgique, 1999. [65] R.D. McBride and J.S. Yormack. An implicit enumeration algorithm for quadratic

integer programming. Management Science. 26 :282-296, (1980).


[66] M.Minoux. Progarammation Mathmatique, Thorie et Algorithmes. Bordas, (1983). 115

Bibliographie
[67] B. Mohar and S. Poljak. Eigenvalue and the max-cut problem. Czechoslovak Mathematical Journal, 40(115) :343-352, (1990). [68] R.D.C. Monteiro. Primal-dual path -following algorithms for Semidenite program-

ming. SIAM J. Optim., 7(3) :663-678, (1997).


[69] J.J. Mor and D.C. Sorensen. Computing a trust region step. SIAM J. Sc. Stat. Comput, 4 :553-572, (1983). [70] M. Morishima. Marx'Economics. A dual theory of value and growth. Cambridge University Press (1971). [71] Y. Nesterov and A.Nemiroviskii. Interior-Point Polynomial Algorithms in Convex

Programming. SIAM Studies in Applied Mathematics, Philadelphia (1994).


[72] Y. Nesterov and M.J. Todd. Self-scaled barriers and interior-point methods for convex

programming. Math. Oper. Res., 22 :1-42, (1997).


[73] Y. Nesterov and M.J. Todd. Primal-dual interior-point methods for Self-scaled cones. SIAM J. Optim., 8 :324-364, (1998). [74] F. Oustry. A second order bundle method to minimize the maximum eigenvalue func-

tion. Mathematical Programming, 89 : 1-33, (2000).


[75] M.L. Overton. Large-Scale Optimization of Eigenvalues. SIAM Journal on Optimization, 2 : 88 120, (1970). [76] C.H. Papadimitriou and K. Steiglitz. Combinatorial optimization - algorithms and

complexity. Prentice Hall, (1982).


[77] P.M. Pardalos and S. Jha. Graph separation techniques for quadratic zero-one pro-

gramming. Computers and Mathematics with Applications, 21 :107-113, (1991).


[78] P. Pardalos and G.P. Rodgers. A branch and bound algorithm for maximum clique

problem. Computer and OR, 19 :363-375, (1992).


[79] P. Pardalos and J. Xue. The maximum clique problem, The journal of global optimization, 4 :301-328, (1994). [80] T. Pham Dinh. Convergence of subgradient method for computing the bound norm of

matrices. Linear Alg. and Its Appl. (62) :163-182. (1984).


[81] T. Pham Dinh. Algorithms for solving a class of non convex optimization problems.

Methods of subgradients Fermat days 85. Mathematics for Optimization, Hiriart Urruty J.B. (ed.), Elsevier Science Publishers B.V. North-Holland. (1986). 116

[82] A.T. Phillips and J.B. Rosen. A quadratic assignment formulation of the molecular

conformation problem. The journal of global optimization, 4 :229-241, (1994).


[83] J.C. Picard and H.D. Ratli. A graph-theoretic equivalence for integer programs. Operations Research, 21 :261-269, (1973). [84] J.C. Picard and H.D. Ratli. Minimum cuts and related problems. Networks, 5 :357370, (1975). [85] M.C. Plateau. Reformulations quadratiques convexes pour la programmation quadra-

tique en variables 0-1. Thse de doctorat, CEDRIC, (2006).


[86] S. Poljak, F. Rendl, and H. Wolkowicz. A recipe for semidenite relaxation for (01)-

quadratic programming. J. Global Optim. 7, 51-73, (1995).


[87] M.V.Ramana, L.Tunel, and H.Wolkowicz. Strong duality for semidenite program-

ming. SIAM, Journal Optimization, 7(3) :641-662, (1997).


[88] J.Rappaz. Spectral approximation by nite elements and applications. Academic Press, New York, 311-318, (1979). [89] C.R. Reeves (Ed.). Modern heuristic techniques for combinatorial problems. Blackwell Scientic Publications, Oxford, (1993). [90] C.C. Ribeiro and N. Maculan (Eds.). Applications of combinatorial optimization. Annals of Operations Research 50, (1994). [91] R.T.Rockafellar. Convex Analysis. Princeton University Press, Princeton, New Jersey, (1970). [92] I. Rosenberg. 0-1 optimization and nonlinear programming. Revue Franise d'Automatique, Informatique et Recherche Oprationnelle, 6 : 95-97, (1972). [93] A. Shapiro. Extremal problems on the set of nonnegative denite matrices. linear algebra appl, 67 :7-18, (1985). [94] H.D. Sherali and W.P. Adams. A Reformulation-Linearization Technique for Sol-

ving Discrete and Continuous Nonconvex Problems. Kluwer Academic Publishers,


Norwell, MA, (1999). [95] H.D. Sherali, Y. Lee, and W.P. Adams. A simultaneous lifting strategy for identifying

new classes of facets for the Boolean quadric polytope. Operations Research Letters
17 :19-26, (1995). 117

Bibliographie
[96] N.Z. Shor. Class of global minimum bounds of polynomial functions. Cybernetics 236, 731-734, (1987). [97] C. De Simone. The cut polytope and the Boolean quadric polytope. Discrete Mathematics. 79 :71-75, (1989). [98] M.J. Todd. A study of search in Primal-dual interior-point methods for semidenite

programming. Optimization Methode and Software, 11 :1-46, (1999).


[99] J.F. Toland. A duality principle for non-convex optimization and calculus of varia-

tions. Arch. Rational. Mech. Analysis. Vol 71. (1979).


[100] L. Vandenberghe and S. Boyd. Positive denite programming. SIAM, Review, 38 :4995, (1996). [101] L.W. Wang and A. Zunger. Pseudopotential theory of nanometer silicon quantum

dots application to silicon quantum dots. In P.V. Kamat, D. Meisel (Editors) : Semiconductor Nanoclusters 161 207, (1996). [102] H. Wolkowicz, R. Saigal, and L. Vandenberghe. Handbook of Semidenite Program-

ming., Kluwer Academic Publishers, (2000).


[103] S.J. Wright. Primal-Dual Interior-Point Methods. SIAM Publication, Philadelphia, (1997). [104] A. Yassine. Sub-gradient algorithms for solving multi-dimensional analysis problems

of dissimilarity data. journal of applied mathematics and computer science, 7(3) :421443, (1997). [105] A. Yassine. Sub-gradient algorithms for computation of extreme eigenvalue of a real

symmetric matrix. Control and Cybernetics, 27(3) :387-415, (1998).


[106] Y.YE. Interior Point Algorithms : Theory and Analysis. John Wiley, New York,

1997.

118

Rsum
La programmation semi-dnie (SDP) a fait l'objet de recherches intensives durant les dernires dcennies et a suscit l'intrt de plusieurs domaines en sciences appliques, ingnierie et technologie. Dans ce travail nous nous sommes intresss aux applications de la programmation semi-dnie. Dans un premier temps, nous prsentons des tudes comparatives entre la programmation semi-dnie et l'optimisation DC pour le problme de valeurs propres extrmes d'une matrice symtrique relle. Dans un second temps, nous appliquons la programmation semi-dnie aux problmes de la programmation quadratique, en suite, dans le cas particulier o les programmes quadratiques ne comportent pas des contraintes et les variables sont des variables binaires, nous proposons une combinaison de la programmation semi-dnie avec des critres dits de xations qui montrent leur ecacit et leur rapidit. Des simulations numriques qui consolident nos rsultats thoriques sont prsents dans cette thse.

Mots-cls: Programmation semi-dnie, Problme de valeurs propres, Optimisation DC,


Programmation quadratique convexe et non-convexe, critres de xations.

119

120

Vous aimerez peut-être aussi