2
2
2
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
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
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
Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
31
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
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
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
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
(1.1)
A =
A, A =
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,
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 .
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
1 i (A)
A B
T
B C
A = LLT .
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
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.
Le cne des matrices semi-dnies positives induit une relation d'ordre partiel sur l'ensemble des matrices symtriques.
Diag(x) =
x1 0 . . . 0
0 x2 .. .
...
0 . . . Mn . .. . 0 0 xn
A B = [aij .bij ]
(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)
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 (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
n m suivante :
f (x) =
f1 (x) x1
. . .
fm (x) x1
. . .
f1 (x) xn
fm (x) xn
f (x0 + x)
(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).
XV
x=
i=1
i x i
avec
i=1
i = 1.
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(
i=1 n
i x i )
i=1
i f (xi )
p N , i R+ ,
i=1
x, y S, x = y et 0 < < 1.
9
Thorme 1.4.2 Une combinaison linaire coecients positifs des fonctions convexes
est une fonction convexe.
f (x), y x .
2
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) = +.
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
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
1 2
BA
1 2
)det(A)
BA
1 2
BA
1 2
1 2
. Alors ( + (1 )i ).
det(I + (1 )A
La fonction t
1 2
BA
)=
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 )
Dnition 1.4.9 D'une faon trs gnrale un programme mathmatique est un problme
d'optimsation sous contraintes dans Rn de la forme
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
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.
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
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
M in (P SDP ) s.c.
C, X AX = b X 0
(2.1)
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
15
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 :
(1 )xT X2 x 0.
En plus,
de l'orthant positif x 0 sera remplac par le cne des matrices semi-dnies positives
X
16
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 .
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
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.
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
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.
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
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
0 x12 x22
0 0 1 + x12
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.
0. 0.
Un point (y, Z) est dit strictement ralisable pour (DSDP ) s'il est ralisable pour
(DSDP ) et vrie Z
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}.
(ii) Si (DSDP ) est strictement ralisable avec q nie, alors p = q et cette valeur
est atteinte pour (P SDP )
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].
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
LP (X, y)
C, X b, y
Logdet(X) + + Logdet(Z) +
b AX, y X, C AT y Z
LD (X, y, Z) =
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) =
(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 =
X n'est pas ncessairement symtrique. Comme l'itr suivant doit tre symtrique
(dni positif), cela pose un vrai problme. 24
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 ).
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
(X, Z)
Nous prsentons maintenant la description gnrale de l'algorithme de points intrieurs pour rsoudre le problme (SDP )
Algorithme 2.3.1
2.4. Applications
Considrons maintenant la mthode des faisceaux, [42], [45] et [74]. Si l'on suppose que la condition suivante est vrie
(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
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
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 :
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
30
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
g, h 0 (X).
x () ; y () ;
(galit si h est sous-direntiable dans ()) ; (galit si g est sous-direntiable dans ()).
3.2. Optimisation DC
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 :
T (y )).
y h(x ), x 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
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
(resp.
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 ).
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 .
y k h(xk+1 ) et xk+1 = 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
On dnit
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)).
= (2 (x) 1)}. 2
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
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
1) : x Rn }.
0 ), 2
2k.
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)
(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 :
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.
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 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
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
(3.4)
39
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
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 ) =
+ xk .
D'o xk+1 =
).
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
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).
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 :
(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
(P ) : min{ Ax + + ) 2
g(x)
2
2
(P ) : min{(
( Ax +
)} . 2
h(x)
xk+1 =
()
o et sont deux rels strictement positifs. En eet, y k h(xk ) = { h(xk )}, alors y k =
h(xk ) =
AT Axk Axk
+ xk .
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
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 =
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
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 .
).
Algorithme Proj2
Considrons le problme d'optimisation suivant
(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
+ 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}
+ 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 )
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
= max{
j=1
|Aij | : i =
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
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
Pour calculer une valeur approche de la plus grande valeur propre de A, on applique la technique de Linpack la matrice A.
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,
46
x{1,1}n
max
aij
i<j
1 xi xj 2
(3.5)
La valeur de l'expression
1xi xj 2
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 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
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
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.
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.
(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
Cas 1 : une matrice pleine, symtrique, semi-dnie positive (la matrice d'Hilbert) :
Aij = 1 i+j1 i, j = 1, ..., n
49
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
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
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
52
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
n N \ {0}.
Maintenant, nous allons vrier la qualit des rsultats trouvs par EIGBYSDP. Soit
Matrice
min (A)
0.00 0.00 0.00 0.00 0.00
max (A)
48.40 235.00 556.00 802.00 64.20
53
Matrice
max (A)
2500.00 5000.00 7500.00 10000.00 12500.00
Matrice
Dimension 41 62 69 73 80
min (A)
-95.53 -830.80 -22.08 -144.54 -9892.00
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 :
et comme tr(A) =
i=1
i (A) =
i=1
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
max (A)
114147.63 114247.63 114137.63
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 :
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
56
(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 )"
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 =
Relaxation semi-dnie
Posons X = xxT . Les fonctions quadratiques
T fi (x) = xT Qi x + qi x + i , i = 0, ..., m,
1 T q 2 i
1 x
T
Qi
x X
58
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.
(4.3)
Ai = 1 qi 2 0
1 T q 2 i
Qi
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
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 :
xi xj 0 xi + xj 1
Comme diag(X) = x, ces contraintes peuvent tre reprsentes sous format SDP comme 60
X ii X jj 0 X ii + X jj 1
(U QP )
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
61
(F0 ) : ci +
j=i
(F1 ) : ci +
62
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 :
qij xj ) xi (ci +
j=i
qij xj )
(1 2xi )(ci +
j=i
qij xj ) 0.
Donc
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
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
M in 3x1 5
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
3 En
65
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 ;
(U QP ) := N ouvel_(U QP ) ;
jusqu' (taille = 0 ou taille = Var) Si (taille = 0) Alors Sortir ; Sinon{ QPTOSDP((U QP ),taille) ; } Fin.
66
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
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
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
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
02 :52 :54.81
01 :23 :27.78
Tab. 4.2: Les bornes infrieures trouves respectivement par les codes FSDP, QPTOSDP et SDP_S
68
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
69
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
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
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
= M in{f (x) = c x + x Qx =
i=1
ci xi +
i=1 j=1
(U QP )
et
n n n
= M in{f (x) = c x + x Qx =
i=1
c i xi +
i=1 j=1
(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
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 ) = (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
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
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.
c i xi +
j=i
c i xi + c i xi +
j=i
c i xi +
ci (1 xi ) +
j=i
ci (1 xi ) + ci (1 xi ) +
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
(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
crire : ci +
j=i
qij ci + j=i
qij xj ]
Si ci +
j=i
De manire symtrique, ci +
(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
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
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
ci xi xk + qik xi xk +
Or, ci + qik +
n j=1 j=i,k
n j=1 j=i,k
qij xj ] 0.
n j=1 j=i,k
qij ] 0.
Donc, si ci + qik +
En multipliant ci xi +
j=1 j=i
qij xi xj 0 par xi (1 xk ) (i = k )
n
j=1 j=i,k n
n j=1 j=i,k
qij xj ] 0.
j=1 j=i,k
Donc, si ci +
qij (1 xi )xj 0.
xk (1 xi )[ci + qik +
n j=1 j=i,k
En multipliant ci (1 xi ) +
(1 xk )(1 xi )[ci +
n j=1 j=i,k
+ qij ] 0. Donc, si ci +
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
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
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
contradiction. D'o si ci +
jS 1
qij +
jS
qij > 0 xi jS
yj = 0.
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
xi +
jS
yj |S|,
et la xation (1 xi )
jS
yj = 0 est quivalente (1 xi ) +
jS
yj |S|.
+70x5 x6 57x5 x7
ci + qik +
j=i,k
Pour i = 2 et k = 7, on a,
ci + qik +
j=i,k
Pour i = 3 et k = 2, on a,
ci +
j=i,k
77
ci +
j=i,k
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
ci +
jS 1
qij +
jS
ci +
jS
x1 (1 x7 ) = 0 (car x1 x6 (1 x7 ) = 0) x1 x1 x7 = 0 x1 = x1 x7
et d'autre part on a, 78
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
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
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
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
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 +
Cas 3.2. ci +
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.
qij > 0.
jS
y j = 0. qij +
jS 1 jS + qij < 0.
yj = 0 .
ci +
jS
qij = ci + jS
qij = ci +
n j=1 j=i
qij
jS
qij
qij
jS
qij = ci +
n j=1 j=i
qij
n j=1 j=i
qij uj .
81
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
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.
n j=1
aj uj > b et
jS n j=1 j=i
aj uj b S
S.
aj uj > b correspond un sous-ensemble S pour lequel y j = 0 peut tre introduite dans le problme. y j = 0.
jS
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 .
aj uj b1
jS
y j = 0.
n j=1 j=i
aj uj b2
jS
yj = 0 .
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)
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)
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
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 :
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
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.
87
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
Test de xations
tantque (n = faut et compt max) { . . . . . . . . . . . . . . . . . . . . . . . . }
89
Fk+1 =
lSi \{j}
yl
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
(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
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)
91
- 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.
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
93
2089 3702 4626 3544 4012 3693 4520 4216 3780 3507
00 :51 :32.25
00 :52 :12.14
00 :43 :16.93
01 :38 :19.01 02 :06 :16.57
3780 3507
f (x) = x (Q + I)x
i=1
xi
f (x) x {0, 1}n . On peut donc construire une famille de fonctions f (x), toutes gales
94
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
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 ) =
(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 :
(4.8)
(4.9)
0 et (u ) = .
La proposition 4.3.3 donne une mthode particulire pour calculer le meilleur vecteur
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 ) +
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
M1 = Min
s.c.
ci
qij xj
x {0, 1}n
97
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
Donc l'ensemble de toutes les xations peut tre regroup sous la forme matricielle :
jS
|S|, et (1 xi ) +
|S|.
M1 = Min
s.c.
ci
n j=1 j=i
qij xj
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.
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
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.
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
Tab. 4.11: Rsolution exacte du problme (UQP) par le logiciel MIQP de CPLEX sans
Taille 100 100 100 100 100 100 100 100 100
# de xation 1450 1929 2000 2000 2000 2000 2000 2000 2000
OPT 6333.0 6579.0 9261.0 11626.0 11626.0 14476.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
100
101
102
Annexe A
103
CSDP
Auteur : Site : Language : Mthode : B. Borchers
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
SBmethod
Auteur : Site : Language : Mthode : C. Helmberg
104
SDPA
Auteurs : Site : Language : Mthode : K. Fujisawa, M. Kojima et K. Nakata
SDPLR
Auteurs : Site : Language : Mthode : S. Burer, R. D. C. Monteiro et C. Choi
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
SeDuMi
Auteurs : Site : Language : Mthode : J. F. Sturm, O. Romanko et I. Plik
http ://sedumi.mcmaster.ca/
MATLAB Mthode de points intrieurs
105
106
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
109
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
Bibliographie
[11] J.E. Beasley. Heuristic algorithms for the unconstrained binary quadratic program-
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
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
(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
[25] G. Delaporte, S. Jouteau, and F. Roupin. SDP_S : a tool to formulate and solve
Bibliographie
[38] V.P. Gulati, S.K. Gupta, and A.K. Mittal. Unconstrained quadratic bivalent program-
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
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
[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
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
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
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-
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
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
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-
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
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.
119
120