Beruflich Dokumente
Kultur Dokumente
Docteur en Sciences
par
Je remercie les membres de lquipe PCO du laboratoire LITIO qui ont particip
la relecture de ce manuscrit et leurs remarques pertinentes.
Je remercie tous ceux qui ont contribu de prs ou de loin laccomplissement
de cette thse.
1
tous ceux qui y ont cru ...
2
Table des matires
I Etat de lart 13
2 Mthodes de rsolution 25
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2 Mthodes locales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2.1 Mthodes de recherche locale simple . . . . . . . . . . . . . . 25
2.2.1.1 Recuit simul . . . . . . . . . . . . . . . . . . . . . . 25
2.2.1.2 Mthode IDWalk . . . . . . . . . . . . . . . . . . . . 26
2.2.1.3 Recherche Tabou . . . . . . . . . . . . . . . . . . . . 27
2.2.2 Mthode de recherche locale voisinage variable (VNS) . . . . 28
2.2.2.1 Mthode Skewed Varibale Neighbourhood Search (SVNS) 30
2.2.3 Mthode de recherche locale population GWW . . . . . . . 30
2.2.4 tude des paysages . . . . . . . . . . . . . . . . . . . . . . . . 31
2.3 Mthodes globales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.3.1 Programmation linaire en nombres entiers (PLNE) . . . . . . 33
2.3.2 Programmation par contraintes (PPC) . . . . . . . . . . . . . 34
2.4 Problme symtrique . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.4.1 Symtrie smantique . . . . . . . . . . . . . . . . . . . . . . . 38
2.4.2 Symtrie syntaxique . . . . . . . . . . . . . . . . . . . . . . . 39
2.5 limination des symtries . . . . . . . . . . . . . . . . . . . . . . . . 39
2.5.1 limination statique de symtries . . . . . . . . . . . . . . . . 39
2.5.2 limination dynamique des symtries globales . . . . . . . . . 41
2.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3
II Contribution 45
4
Table des figures
5
6
Liste des tableaux
7
8
Introduction gnrale
1. Un actif est une source financire qui est susceptible de produire des revenus et/ou des gains, en
contrepartie dune certaine prise de risque.
9
breuses contraintes quadratiques. Sa rsolution est un vritable dfi aux mthodes
courantes de rsolution de contraintes.
En optimisation combinatoire, les mthodes exactes (compltes) et les mthodes
approches (incompltes) reprsentent les deux grandes approches qui ont des stra-
tgies diffrentes. Les mthodes compltes numre dune faon efficace et complte
lespace de recherche pour trouver les solutions. Cependant, le temps ncessaire pour
assurer la compltude peut tre prohibitif. Do lavnement des mthodes appro-
ches qui parcourent partiellement mais intelligemment lespace de recherche afin de
rsoudre le problme, sans pour autant garantir constamment le succs.
Flener et al. ont signal la nature fortement combinatoire de la recherche de la
solution du problme (P D). En effet, ce problme na pu tre rsolu que sur des
instances petites des CDO2 . Pour apprhender les grandes instances, ils ont aussi
propos une stratgie de dcomposition du problme afin de ramener les grandes
instances du problme de petites instances, notamment en exploitant une forme
de cassure de symtrie. En somme, dun point de vue algorithmique, lapproche de
Flener et al. applique sur les grandes instances permet de trouver une solution
pour une dcomposition donne. Mais dans le cas o lapproche ne parvienne pas
trouver une solution, on ne peut rien statuer sur la consistance du problme, car
il est probable quil existe une autre dcomposition qui pourrait mener vers une
solution.
Contributions
Ds lors que lapproche de Flener et al. nexplore pas toutes les dcompositions,
la mthode propose est videmment incomplte, et reflte le comportement des
approches incompltes. Cest la raison pour laquelle, nous proposons en premier
lieu, de faire appel directement aux approches incompltes de recherche locale. Nous
voulons voir dans quelle mesure une recherche locale avec son caractre glouton
pourrait tre performante.
En effet, nous avons particulirement travaill sur lapplication de diffrentes
mthodes approches, savoir les mthodes locales simples, deux mthodes voi-
sinage variable et une mthode population. Le critre majeur dans nos choix des
recherches locales sest port sur les mthodes ncessitant un paramtrage simple.
Pour faire fonctionner nos recherches locales, nous avons transform le problme de
satisfaction de contraintes, en un problme doptimisation o la fonction objectif
consiste minimiser le nombre de contraintes non-satisfaites. Nous avons propos
deux fonctions de voisinage qui tiendraient compte de la smantique bien particulire
des contraintes du problme trait. La mise en uvre a t faite sous lenvironne-
ment INCOP. Les rsultats exprimentaux ont montr que nos dmarches locales,
notamment celles utilisant le rcuit-simul, sont trs efficaces en pratique, notam-
ment sur de grandes instances. En sommes, nous avons propos les mthodes locales
suivantes :
Les mthodes locales simples : savoir le recuit simul, la recherche tabou et la
mthode IDW (Intensification Diversification Walk). Dans la dmarche nave,
nous avons exploit ces mthodes en dmarrant dune solution initiale gnre
alatoirement. Cette dmarche nave na pas permis de converger souvent ra-
pidement la solution optimale. En consquence, nous avons mis en uvre un
10
algorithme glouton pour gnrer une solution initiale de bonne qualit. Ceci
nous a permis damliorer les rsultats obtenus auparavant en temps dexcu-
tion et en qualit des portefeuilles obtenus.
Les mthodes voisinage variable : VNS (Varibale Neighbourhood Search) et
SVNS (Skiewed VNS). Le choix de ce type dapproches est venu aprs une ana-
lyse de lchec des mthodes locales simples rsoudre certaines instances. Ce
qui a rvl deux types de paysages : neutre ou rugueux, qui imposent un chan-
gement sur les paramtres des mthodes appliques et une variation dans le
voisinage. Faire appel une mthode qui change systmatiquement de voisi-
nage suite un chec (e.g. VNS et SVNS), sest avr porteur pour amliorer
les performances.
La mthode population GWW : (Go With the Winners) propose la strat-
gie puissante qui consiste lancer une mthode locale partir de nombreuses
configurations diffrentes, tout en faisant cooprer intelligemment ces diffrents
lancements. La recherche locale utilise par GWW est un paramtre direct, per-
mettant ainsi de pouvoir exprimenter facilement la panoplie des recherches lo-
cales existantes dans la littrature. Le point cl de notre recours la mthode
population GWW est son paramtrage trs simple, contrairement aux autres
mthodes population (e.g. algorithmes gntiques, colonies de fourmis, etc.)
qui ncessitent un paramtrage trs laborieux.
Le problme (P D) est un problme qui contient beaucoup de symtries. Le mo-
dle initial propos par Flenet et al. est pos dans un formalisme ensembliste o les
variables sont individuelles et posaient des difficults pour exprimer les symtries.
Justement, dans notre proposition dun modle en 0-1, les variables sont toutes re-
groupes dans une seule variable matricielle, o les diffrentes symtries du problme
sexpriment dune faon immdiate et simple. Ces caractristiques importantes de
notre modle matriciel, est un gage intressant pour tenter dappliquer les mthodes
compltes.
Programmation Linaire en Nombres Entiers (PLNE) : Vue la forme ma-
tricielle de la variable du problme, la linarit dune partie des contraintes,
et une proposition de linarisation de la partie quadratique, nous avons russi
modliser notre problme sous forme dun Programme Linaire en Nombres
Entiers (PLNE) en 0-1. Les rsultats exprimentaux de ce premier modle se
sont avrs modestes. Llimination des symtries dans ce modle nous a per-
mis damliorer lgrement les performances, sans pour autant atteindre les
performances des mthodes locales.
Programmation Par Contraintes (PPC) : Par ailleurs, nous nous sommes in-
vestis dans une approche complte en exploitant la Programmation Par Contraintes
(PPC) o les techniques dlimination de symtries ont eu beaucoup de suc-
cs. Notre modle PPC sans limination des symtries sest avr nettement
meilleur exprimentalement que le modle PLNE. Lintgration des symtries
a permis dacclrer les performances du modle PPC.
Plan de la thse
Le mmoire est organis comme suit. Nous commenons par une partie dtat de
lart, compose de deux chapitres :
11
Le chapitre 2 introduit les notions de base de notre problmatique, savoir
loptimisation des portefeuilles financiers et sa modlisation sous forme dun
problme de satisfaction de contraintes.
Le chapitre 3 fait ltat de lart des diffrentes techniques, incompltes et com-
pltes, exploites dans nos travaux.
La partie contribution regroupe deux chapitres :
Le chapitre 4 porte sur les travaux raliss sur les mthodes incompltes. Les
fonctions de voisinage et la fonction cot sont exposes. Puis, nous avons d-
taill les algorithmes adapts sur notre problmatique. Les rsultats expri-
mentaux raliss sous lenvironnement INCOP sont introduits et analyss.
Le chapitre 5 concerne les techniques compltes, savoir la PLNE et la PPC.
Nous avons dtaill la linarisation du modle. Puis, la majeure partie du cha-
pitre aborde la question essentielle dlimination des symtries. La fin de ce
chapitre est consacre ltude exprimentale des rsultats sous lenvironne-
ment SCIP pour la PLNE, et lenvironnement Gecode pour la PPC.
Finalement, nous concluons ce mmoire en dressant les perspectives immdiates des
dmarches proposes.
12
Premire partie
Etat de lart
13
Chapitre 1
1.1 Introduction
Lingnierie des finances est une discipline de la finance qui sintresse loptimi-
sation des montages de financements complexes, notamment dans lobjectif de faire
des investissements. Parmi ses tches, on peut citer :
combiner des instruments financiers varis,
faire appel de nombreux tablissements financiers diffrents,
accorder une attention particulire tant la limitation des risques financiers
qu loptimisation de la rentabilit.
Le rle principal de lingnieur en finance est daider les responsables dtablis-
sements bancaires ou financiers grer les risques lis aux fluctuations des marchs.
Pour ce faire :
il suit, modlise et analyse lvolution des marchs,
il value les prix de produits financiers complexes, la rentabilit et les risques
quils gnrent.
Il est responsable du montage doprations financires de grande envergure (e.g.,
introduction en bourse, augmentation de capital, etc.) pour le compte de son em-
ployeur ou des clients de celui-ci.
Les oprations financires ont deux enjeux majeurs : la rentabilit et le risque.
Toute opration financire vise maximiser sa rentabilit et donc son bnfice net,
tout en minimisant ses risques dchec. Ce sont ces deux aspects opposs rentabi-
lit/risque qui sont au coeur de la difficult des montages financiers. En pratique,
une rentabilit accrue se fait souvent en prenant des risques importants. En contre
partie, une rentabilit modeste est souvent atteinte avec peu de risque. Ainsi, par
exemple, la commercialisation dune entreprise dun nouveau produit peut gnrer
de trs gros bnfices si le produit est bien accueilli par les consommateurs, en raison
du monopole de cette entreprise sur ce produit ; dautre part, lentreprise en question
peut endosser dnormes pertes si le produit est mal peru. Par contre, si lentreprise
fabrique un produit apprci qui est dj commercialis par dautres entreprises, elle
obtiendra des bnfices rduits par la concurrence.
15
De nombreux types de montages financiers existent dans le monde de la finance,
mais celui qui nous semble parmi les plus complexes et les plus utiliss, est celui
adoptant larchitecture CDO2 introduite dans la section 1.4. Le modle mathma-
tique doptimisation relatif au CDO2 , que nous avons tudi, est introduit dans la
section 1.5.
Le lecteur intress seulement par la comprhension de la formulation mathma-
tique aborde par nos contributions, peut entamer directement la section 1.5.
Le lecteur intress par lorigine financire du modle tudi est invit aborder
les sections 1.2, 1.3 et 1.4, o sont exposes respectivement les notions de base des
finances, les risques financiers, et les montages CDOs.
16
Portefeuille financier : Un portefeuille dsigne un ensemble dactifs financiers
dtenus par un tablissement ou un individu. Une caractristique essentielle
dun portefeuille est son niveau de diversification permettant datteindre un
compromis entre le risque et la rentabilit en prenant en compte la dure prvue
de la dtention des actifs.
CDO (Collateralized Debt Obligation) : Dit aussi obligation adosse des
actifs, en franais. Les CDOs sont des produits structurs venant des crdits,
composs dun portefeuille dactifs relatif un emprunt. Ces actifs sont diviss
en diverses tranches. Pour plus de dtails, voir la section 1.4.
17
opration financire. En se basant sur une analyse de risque, lactif est divis en dif-
frents groupements appels tranches, qui sont vendus des investisseurs. Il existe
trois types de tranches (Hager, 2008), qui dsignent le niveau de prfrence (ou prio-
rit de payement) : Senior, Mezzanine (ou Junior) et Equity ; ces types sont dfinis
comme suit : si les actifs dun CDO commencent se dtriorer, les pertes sont sup-
portes dabord par les tranches equity, puis par les tranches junior/mezzanine, et
finalement par les tranches senior. Soit le CDO illustr dans la figure 1.1 (Ashwani,
2007), o une institution financire a un portefeuille de type CDO pour 100 $ de
rendements et 7% de bnfice. Le portefeuille est divis en tranches :
1. Tranche A, senior, 75 $, note AAA, 5.51% de bnfice.
2. Tranche B, junior, 10 $, note AA, 5.81% de bnfice.
3. Tranche C, junior, 5 $, note A, 7.20% de bnfice.
4. Tranche D, junior, 5 $, note BBB, 9.00% de bnfice.
5. Tranche E, equity, 5 $, non note, 29.55% de bnfice.
(5.51%75 + 5.81%10 + 7.20%5 + 9.00%5 + 29.55%5 = 7 $)
1.4.1 CDO2
Le CDO2 (Gilkes et Drexler, 2003) ou CDO-carr, est un type de CDO, dont le
portefeuille sous-jacent est investi dans des tranches dautres CDOs. Dans (Guillaume
et al., 2008), le CDO2 est dfini comme suit :
18
Dfinition 1.4.1 Un CDO2 est une structure double niveaux, soutenue par un
portefeuille de CDOs. Un CDO2 rfrence un portefeuille appel CDO matre (master
CDO, ou "outer CDO" en anglais) compos de tranches de CDOs appeles CDOs
sous-jacents ("inner CDO", en anglais).
La figure 1.2 (Whetten et Adelson, 2005) illustre le CDO2 ayant une structure avec
deux couches dactifs. Le premier niveau reprsente le CDO-matre, qui comporte
des tranches de CDOs sous-jacents.
La manipulation des CDO2 , dans lingnierie des finances, est un problme plus
compliqu quun CDO simple (avec un seul niveau). Mais, lutilisation des struc-
19
tures double couches est justifie par de nombreuses raisons (Whetten et Adelson,
2005)(Guillaume et al., 2008). Parmi ces raisons, on peut voquer le niveau de diver-
sification plus lev en intgrant de nombreux CDOs sous-jacents. Dans la plupart
des CDO2 , des oprations financires peuvent rfrencer de nombreux CDOs sous-
jacents. On dit quil y a chevauchement entre ces oprations. Un chevauchement
important entre ces oprations implique immdiatement un partage de risques im-
portant. En consquence, le chevauchement dans un portefeuille CDO2 doit tre
minimis. Cest un critre crucial pour minimiser le profil du risque dans un CDO2 .
Supposons que le master CDO est compos de N CDOs sous-jacents incluant au
c
maximum M actifs financiers. Par construction, nous avons un chevauchement i,j
de deux sous-CDOs i et j au niveau dun actif c, quon peut dcrire comme suit :
0 si lactif c nappartient pas la fois
c
i,j = au ime CDO sous-jacent et le j me CDO sous-jacent (1.1)
1 sinon
c
i, j 1..N, c 1..M, i,j {0, 1}
Le but principal de notre travail est la minimisation du taux de chevauchement
gnral pour chaque actif c, dans le problme CDO2 considr, travers le modle
mathmatique (P D) quon va introduire dans la section suivante.
20
Un modle de portefeuille (OPD)hv, b, ri, est compos de v ensembles V1 , ..., Vv
dits tranches (co-blocks), et de b ensembles B1 , ..., Bb dits portefeuilles (blocks).
Nous avons deux contraintes :
Contrainte ligne Chaque tranche contient exactement r actifs
i V :| Vi |= r.
Pour faire le parallle avec un montage CDO2 , chaque tranche Vi est prise des
CDOs sous-jacents, et chaque portefeuille Bi composera le CDO maitre. Lobjectif
du modle (OP D) est de concevoir les portefeuilles du CDO maitre assurant un
haut degr de diversification.
Notons que les valeurs des coupons dattachement et de dattachement relatives
aux CDOs manipuls ne sont pas pris en compte dans notre modle. En fait, ces
valeurs sont intimement lies au comportement des actifs, et doivent provenir dune
expertise de lhistorique de ces actifs : un travail pointu et difficile qui relve de la
finance et des statistiques. Cependant, une fois ces valeurs proposes, reste la probl-
matique complexe de laffectation des tranches des actifs aux portefeuilles modlis
dans la formulation (1.2) : une problmatique fortement combinatoire. La rsolution
de ce problme combinatoire, non seulement permet un traitement quitable entre
les clients, elle permet aussi de se librer dune mauvaise estimation du niveau de
risque dun actif. En effet, mme si une tranche dun actif trs risqu est affecte un
portefeuille : la contrainte de chevauchement force ce que ce portefeuille partage le
moins dactifs entre la tranche risque et les autres tranches qui le composent, vitant
ainsi leffondrement de nombreux portefeuilles suite la dfaillance dun actif. En
dautres termes, en assurant un haut degr de diversification entre les portefeuilles,
on garantit aussi un partage quitable des risques et des gains.
21
Flener et al. ont montr que la borne infrieure (1.3) est de pitre qualit quand
la taille est grande.
On remplace par cette borne ou une autre valeur constante dans la dernire
contrainte du modle mathmatique (1.2), et on limine la fonction objectif, donnant
le modle (1.4).
j B : Bj V
i V : Vi B
P Dhv, b, r, i j B :| Bj | v (1.4)
i V :| V |= r
i
i 6= j V :| V V |
i j
22
Cette dcomposition doit respecter certaines conditions :
0 ri bi 1 for i = 1, 2.
b = mb1 + b2
r = mr1 + r2
1 + 2
Pour plus de dtails, voir (Flener et al., 2004, 2007).
1.6 Conclusion
Dans ce chapitre, nous avons introduit quelques notions de base de lingnierie
des finances, savoir :
la problmatique gnrale de lingnierie des fiances et la recherche du com-
promis risque versus rentabilit,
le modle des montages financiers CDO et CDO2 ,
le modle ensembliste gnral de Flener et al. pour apprhender le compromis
risque versus rentabilit.
Nous avons introduit le modle ensembliste de Flener et al. pour loptimisation
des portefeuilles, not (OP D), ainsi que sa variante en satisfaction de contraintes
(P D). Cest un modle ddi aux portefeuilles de type CDO2 , mais suffisamment
gnral pour traiter des problmes de la recherche dun compromis entre la prise de
risques et la rentabilit.
Le chapitre suivant abordera un tat de lart des mthodes doptimisation dont
nous allons nous servir dans nos contributions dans la rsolution du problme (P D)
avec des dmarches incompltes et des dmarches compltes.
23
24
Chapitre 2
Mthodes de rsolution
2.1 Introduction
Ce chapitre prsente les mthodes et les outils de modlisation et de rsolu-
tion, dont nous allons nous servir dans nos approches de rsolution du problme de
conception des portefeuilles (P D).
Nous rappelons les mthodes doptimisation locale, savoir les mthodes locales
simples (e.g., recuit-simul, IDWalk, recherche tabou), les mthodes voisinage va-
riable (e.g., VNS et SVNS)et la mthode population GWW. Ces mthodes locales
seront utilises pour obtenir rapidement des solutions au dtriment de leur optima-
lit.
Enfin, nous dtaillons les mthodes compltes par programmation par contraintes,
et par programmation linaire. Ces mthodes compltes seront exploites pour ga-
rantir lobtention dune solution au dtriment du temps dexcution qui est de nature
exponentielle.
Le recuit simul (Kirkpatrick et al., 1983b) est une mthode propose par Kirk-
patrick et al. en sinspirant du domaine de la mtallurgie. Elle est caractrise par
la temprature T qui est une mesure importante dans le refroidissement du mtal.
On peut dfinir les tapes de cette mthode comme suit :
25
1. Commencer par une solution initiale S0 , dont lvaluation est f (S0 ).
2. Choisir une nouvelle solution alatoire S1 dans le voisinage de S0 not par
V (S0 ).
(a) si f (S0 ) f (S1 ) (problme de minimisation) alors S1 est adopte tout en
amliorant la solution courante S0 .
f (S1 )f (S0 )
(b) si (f (S0 ) < f (S1 )) on calcule v = e T . On choisit alatoirement
une valeur p dans [0, 1]. Si p v alors S0 est remplace par S1 .
3. T est dcrmente lentement chaque itration.
4. si T < alors lalgorithme est arrt, avec S0 meilleure solution trouve sinon
aller ltape 2.
Lalgorithme 1 reproduit les tapes algorithmiques de la mthode du recuit si-
mul.
Algorithm 1 Recuit Simul
Input: S0 solution initiale ; k ]0, 1[ paramtre de refroidissement ; seuil fix, proche de
0 ; T temprature ; M axIter nombre maximal ditrations
1: Iter 0
2: Choisir au hasard une solution initiale S0
3: repeat
4: Iter Iter + 1
5: Choisir au hasard une solution S1 dans V (S0 )
6: f = f (S1 ) f (S0 )
7: if f 0 then
8: S0 S1
9: else
10: Tirer au hasard p dans [0, 1]
11: if p e(f /T ) then
12: S0 S1
13: end if
14: end if
15: T kT
16: until (T ) ou (Iter = M axIter)
17: return S0
26
Diversification : si BN namliore pas CS alors on choisit la meilleure solu-
tion dans les SN premiers voisins. Dans le cas o SN = 1 on choisit alatoi-
rement une solution parmi lensemble des voisins.
A chaque tape, si la nouvelle solution CS amliore la meilleure solution BS alors
BS est remplac par CS.
Algorithm 2 IDWalk
Input: S nombre de mouvements, M ax nombre de voisins ; SP type de diversification
1: Calculer une solution initiale alatoire x
2: xopt x
3: for i 1..S do
4: N bSol 1 ; Solrejete ; SolAccepte f alse
5: while (N bSol M ax) et (SolAccepte = f alse) do
6: Choisir une solution x0 V (x)
7: if f (x0 ) f (x) then
8: SolAccepte true
9: else
10: Solrejete Solrejete {x0 }
11: end if
12: N bSol N bSol + 1
13: end while
14: if SolAccepte then
15: x x0
16: else
17: if SP 6= 0 then
18: x Select(Solrejete , SP )
19: end if
20: end if
21: if f (x) < f (xopt ) then
22: xopt x
23: end if
24: end for
25: return xopt
26: procedure Select(Solrejete , SP )
27: if SP = 1 then
28: Choisir alatoirement une solution x0 Solrejete
29: else
30: Choisir la meilleure solution x0 dans les SP premiers candidats dans Solrejete
31: end if
32: Return x0
33: end procedure
27
jour la meilleure solution si x0 est meilleure que la solution optimale courante. On
sarrte quand la liste est pleine ou quand la condition darrt est vrifie. On peut
adopter dautres conditions darrt (voir par exemple (Prins, 1994)).
Algorithm 3 Tabou
Input: x solution initiale ; T la liste tabou ; V (x) le voisinage de x ; xopt la meilleure
solution.
1: T
2: LT 0
3: Calculer une solution initiale alatoire x
4: xopt x
5: while condition darrt non atteinte do
6: Soit la configuration x0 V (x) tel que x00 V (x), f (x0 ) f (x00 ) et x00 6 T (et
ventuellement critre daspiration).
7: if f (x0 ) < f (xopt ) then
8: xopt = x0
9: end if
10: Mettre jour la liste T avec llment x0
11: x = x0
12: end while
13: return xopt
28
sans atteindre une solution meilleure que le meilleur optimum dj trouv :
dans ce cas, la recherche est relance nouveau sur le premier voisinage
N1 (x) jusqu atteindre la condition darrt (e.g. le temps maximum dex-
cution ou le nombre maximum ditrations partir de la dernire solution
adopte).
Algorithm 4 VNS
Input: x : solution initiale ; Kmax paramtre de VNS ; ls mthode locale ;
1: Calculer une solution initiale alatoire x
2: while condition darrt non atteinte do
3: k 1;
4: while (k Kmax ) do
5: x0 Shake(x, k) ;
6: x00 LS(x0 ) ;
7: if f (x00 ) < f (x) then
8: x x00 ;
9: k 1;
10: else
11: k k + 1;
12: end if
13: end while
14: end while
15: return x
16: procedure Shake(x, k)
17: Gnrer alatoirement une solution x0 dans le k me voisinage de la solution x ; return
x0 ;
18: end procedure
29
2.2.2.1 Mthode Skewed Varibale Neighbourhood Search (SVNS)
Algorithm 5 SVNS(rl)
Input: x : solution initiale ; Kmax paramtre de VNS ; rl mthode locale ;
1: Calculer une solution initiale alatoire initiale x
2: while condition darrt non atteinte do
3: k 1;
4: while (k Kmax ) do
5: x0 Shake(x, k) ;
6: x00 LS(x0 ) ;
7: if f (x00 ) < f (x) then
8: x x00 ;
9: else
10: if f (x00 ) (x, x00 ) < f (x) then
11: x x00 ;
12: k 1;
13: else
14: k k + 1;
15: end if
16: end if
17: end while
18: end while
30
Algorithm 6 GW W LS
Input: B nombre de particules ; S longueur de la marche ; T paramtre seuil ; W P para-
mtre de la marche ;
1: Chaque particule est alatoirement place sur une configuration et range dans le ta-
bleau P articules
2: Seuil la particule de moindre cot dans P articules
3: while True do
4: Seuil baisser le seuil Seuil
5: if M eilleure(P articules) > Seuil then
6: Retourner M eilleure(P articules)
7: else
8: Redistribuer P articules en plaant chaque particule ayant un cot suprieur
Seuil sur une particule vivante choisie alatoirement
9: for particule p dans P articules do
10: for i 1..S do
11: dplacer la particule p dans le meilleur de ses voisins en exploitant une
recherche locale de paramtre W P
12: end for
13: end for
14: end if
15: end while
Algorithm 7 HillClimbing
Input: S ensemble des solutions ; V (s) ensemble des voisins de la solution s
1: Choisir une solution initiale alatoire s S
2: repeat
3: Choisir s0 V (s) telle que eval(s0 ) < eval(s)
4: s s0
5: until (s est un minimum local)
La nature du paysage est distingue par rapport la distance quon peut observer
entre une solution s et une autre solution s0 . Cette distance note par dist(s, s0 ),
31
reprsente le nombre de mouvements ncessaires pour aller de s vers s0 . On distingue
trois types de paysages (Jarboui et al., 2013) : le paysage lisse, le paysage rugueux
et le paysage plat.
Paysage lisse
La figure 2.2 illustre un paysage assez lisse et moins vallonn. Dans ce genre de
situation selon (Jarboui et al., 2013), une mtaheuristique avec une bonne capacit
dexploitation 1 doit permettre une bonne exploration du voisinage dune solution s
et atteindre loptimum global.
Paysage rugueux
La figure 2.3 reprsente un paysage assez accident dit rugueux. Cest un pay-
sage qui reprsente un cas typique du problme des optimaux locaux pos par les
approches incompltes. Par consquent, une bonne capacit dexploration est recom-
mande (Jarboui et al., 2013), afin de permettre la mtaheristique de passer dun
voisinage vers un autre, dans le but de ne pas rester pig au fond de lune des valle
du paysage.
Paysage neutre
Le paysage neutre (Jarboui et al., 2013)(Marmion et al., 2012) est un paysage
sous forme dun plateau. Il reprsente le cas o aucune amlioration de la solution en
cours nest observe. Ce type de phnomne se prsente lorsque la mtaheuristique
prend en considration les solutions neutres. Par consquent, on obtient une suite
de mouvements qui fournissent des solutions dont les valuations sont gales.
1. Une mtaheuristique avec une grande capacit dexploitation sera alors trs efficace pour se dplacer
de nimporte quelle solution vers une solution de trs bonne qualit voire mme loptimum global.
32
Figure 2.4 Exemple dun paysage neutre
33
Une fonction objectif linaire qui value le cot de la solution.
Rsoudre un problme PLNE consiste chercher dans lespace des points sa-
tisfaisant toutes les contraintes, celui qui donne la plus petite valeur la fonction
objectif minimiser. En gnral, un problme PLNE prend la forme :
Minimize cT x
Ax (, =, or ) b
xi Z, i = 1..p
xi R, i = p + 1..n
34
solutions dun CSP est un problme NP-complet.Lensemble des solutions ralisables
dun CSP est not sol(X, D, C).
La programmation par contraintes PPC propose des langages et une algorith-
mique gnrique de rsolution base sur les techniques de filtrage, de propagation,
et de dcomposition des problmes de satisfaction de contraintes (Rgin, 2004).
Dfinition 2.3.1 (consistance des domaines) La consistance des domaines est lie
la notion de faisabilit dune solution partielle. Une valeur v appartenant au do-
maine dune variable xi vrifie la consistance des domaines, si et seulement si pour
toute contrainte cj impliquant la variable xi , il existe une instanciation des variables
appartenant vars(c) telle que c soit vrifie.
Les deux domaines Dx1 et Dx2 ne sont pas consistants, du moment que :
la valeur 4 de Dx1 nest pas consistante, puisque aucune instanciation de x2
dans Dx2 ne peut vrifier la contrainte c1 ,
la valeur 0 de Dx2 nest pas consistante, puisque aucune instanciation de x1
dans Dx1 ne peut vrifier la contrainte c1 .
Par contre aprs le filtrage, on obtient les domaines Dx1 = {0, 1, 2, 3} et Dx2 =
{1, 2, 3} qui vrifient la consistance des domaines (voir la dfinition 2.3.1).
Pour plus de dtails, nous renvoyons le lecteurs aux rfrences (Rossi et al., 2006;
Rgin, 2011; Lecoutre, 2013)
4. Une valeur non consistante dune variable xi est une valeur qui ne vrifie pas la consistance des
domaines
35
Mthodes de rsolutions des CSP
Une mthode de rsolution de CSP doit identifier une affectation des valeurs
aux variables de telle sorte que toutes les contraintes soient satisfaites (i.e., une
affectation totale et consistante). La dmarche gnrale consiste explorer lespace
de recherche dfini par le produit cartsien des domaines, et se termine quand une
affectation consistante est trouve, ou bien quand linexistence dune telle affectation
est prouve (CSP inconsistant).
La mthode la plus simple pour chercher une solution dun CSP consiste gnrer
toutes les affectations "compltes" des variables, et vrifier ensuite, si chacune des
instanciations candidates gnres est une solution valide du problme. Cette strat-
gie "generate and test" est trs coteuse. Do lintrt de faire appel des schmas
labors plus sophistiqus pour rsoudre dune manire plus efficace le problme en
question.
Le premier schma adopt est celui du "retour arrire" qui consiste gnrer
une affectation partielle consistante ; puis tendre cette affectation partielle avec
linstanciation dune nouvelle variable. En dautres termes, les variables du CSP sont
instancies jusqu ce que :
Au moins une contrainte est viole. Lalgorithme revient sur la dernire ins-
tanciation, et teste une autre valeur sur la variable la plus rcente.
Si toutes les valeurs de cette variable ont t testes, sans succs, lalgorithme
fait un retour arrire (back-track en anglais) sur la variable qui prcde la
variable la plus rcente.
Ce processus sarrte une fois quune solution est trouve, ou bien le retour
arrire atteint la racine de larbre de recherche sans quune solution ne soit
trouve.
Le schma de rsolution par "retour arrire" peut tre mis en uvre dans deux
directions :
1. Stratgie prospective : Elle consiste tirer profit des algorithmes de filtrage
(voir la sous-section prcdente) avant chaque instanciation dune variable,
afin dliminer celles qui ne pourront pas mener une solution.
2. Stratgie Rtrospective : En cas dchec sur une variable, au lieu de revenir
sur la variable prcdente, on analyse les causes de lchec pour faire un re-
tour arrire vers la variable qui est lorigine de lchec. Parmi les mthodes
rtrospectives les plus labores, on cite la mthode de dynamic-backtracking
(Ginsberg, 1993).
Ces deux dernires stratgies sont les plus couramment utilises dans les solveurs
de contraintes, et tout particulirement le recours intensif aux algorithmes de filtrage
permettant de rduire dune faon drastique lespace de recherche.
36
nombre exponentiel de fois. Ces tats quivalents sont dits symtriques. Llimina-
tion des symtries permet de rduire larbre de recherche manipul par lalgorithme
de rsolution. Par consquent, les techniques dlimination des symtries peut boos-
ter srieusement le processus de rsolution sur les problmes symtriques. Dans notre
travail, nous nous intressons aux symtries des solutions dfinies sur des matrices
de variables.
Exemple 2.4.1 (Les symtries dans un chiquier) (Rossi et al., 2006) Consi-
drons un chiquier 3 3, dont nous marquons les 9 cases avec les nombres de 1
9. Nous supposons que le problme admet une solution dsign par la matrice sol
ci-dessous :
1 2 3
4 5 6
7 8 9
(sol)
Les nombres de 1 9 sont des points dplacer par des symtries. Nous consid-
rons 9 symtries naturelles sur lchiquier qui gnrent des solutions satisfaisant le
problme. Une symtrie didentit est une symtrie qui laisse chaque point sa place,
ce qui est reprsent par lchiquier le plus gauche not par id. Par la suite, nous
pouvons raliser une rotation de 90 , de 180 et de 270 dans le sens des aiguilles
de la montre. Les emplacements des points rsultant aprs chaque degr de rotation
sont donns par les chiquiers rot90, rot180 et rot270. Finalement, nous avons des
rflexions 5 sur laxe vertical, sur laxe horizontal et sur les deux diagonales, illustres
respectivement par les chiquier v, h, d1 et d2.
1 2 3 7 4 1 9 8 7 3 6 9
4 5 6 8 5 2 6 5 4 2 5 8
7 8 9 9 6 3 3 2 1 1 4 7
id rot90 rot180 rot270
3 2 1 7 8 9 1 4 7 9 6 3
6 5 4 4 5 6 2 5 8 8 5 2
9 8 7 1 2 3 3 6 9 7 4 1
v h d1 d2
Le lien entre ces symtries est trs direct via les permutations. Chaque symtrie
dfinit une permutation dun ensemble de points.
On illustre par les huit chiquiers ci-dessus, 5 types de symtries : symtrie
didentit, symtrie rotationnelle, symtrie colonne, symtrie ligne et symtrie dia-
gonale.
37
2014). Gnralement, elles dmarrent toutes du mme principe qui est dajouter des
contraintes au CSP initial. Ces contraintes ajoutes, appeles contraintes condition-
nelles doivent liminer toutes les variantes symtriques 6 , sans liminer des solutions
non gnriques.
Puisque nous allons aborder dans nos contributions un modle matriciel, nous
allons mettre en avant, dans les deux sections ci-dessous, llimination de symtries
par rapport aux matrices, dont on peut citer diffrents travaux (Flener et al., 2001,
2002).
Les paires variable-valeur peuvent reprsenter plus quune symtrie par consistance,
ainsi elles peuvent tre symtriques pour tout lensemble des solutions. Par cons-
quent, si sol(P ) dnote lensemble des solutions du CSP P , alors nous dfinissons le
second niveau de symtrie comme suit :
Dfinition 2.4.3 (Symtrie smantique pour toutes les solutions) Deux paires variable-
valeur hvi , bi i V Di et hvj , bj i V Dj sont symtriques pour sol(P ) si et
seulement si pour chaque solution affectant la valeur bi la variable vi peut tre
transforme en une solution affectant la valeur bj vj et vice versa.
Manifestement, lidentification des symtries smantiques est une tche qui doit
consommer beaucoup de temps, puisquelle requiert la rsolution du problem.
6. Une variante symtrique est une nouvelle solution quon peut gnrer dune soluiton du CSP
38
2.4.2 Symtrie syntaxique
La vrification de lexistence dune symtrie smantique ncessite la vrification
des solutions une par une. Par consquent ltape de rsolution est indispensable.
Ce qui rend la symtrie smantique lourde dmontrer.
A travers les dfinitions 2.4.5 et 2.4.6 donnes dans (Benhamou, 1994), (Benha-
mou et Sadi, 2007) et (Benhamou et Sadi, 2007b), nous introduisons la symtrie
syntaxique qui intgre la symtrie par rapport aux contraintes
39
dans un ordre lexicographique. Si une ligne (resp. une colonne) est, de point de vue
lexicographique, plus petite que la suivante, et on note 6lex . Dans le cas dordre
anti-lexicographique, chaque ligne (resp. une colonne) est plus grande que la ligne
suivante, si elle est plus grande de point de vue lexicographique. Lexemple ci-dessous
illustre un cas de matrice reprsentant des symtries ligne et colonne.
Exemple 2.5.1 (Exemple sur les symtries ligne et colonne et lordre lexicogra-
phique)(Flener et al., 2002)
X = {xi,j |i 1..3, j 1..4}
DXi,j = {0, 1|i 1..3, j 1..4}
P1 C =P {c1 , c2 } (2.2)
c1 : ij xij = 7|i 1..3, j 1..4
P
c2 : j 6= k, i xik xkj 6 1|i 1..3, j 1..4
Ce modle reprsente des symtries ligne et colonne. Une solution avec un ordre
lexicographique, sur les lignes, peut tre donne comme suit :
0 1 0
0 1 1
1 0 1
1 1 0
Aprs avoir appliqu un ordre lexicographique sur les colonnes de la premire
solution on obtient la matrice :
0 0 1
0 1 1
1 1 0
1 0 1
Cependant, ceci dtruit lordre lexicographique au niveau des colonnes. En ror-
donnant les deux dernires lignes, on obtient une matrice (ou une solution) avec un
ordre lexicographique respect autant sur les lignes que sur les colonnes :
0 0 1
0 1 1
1 0 1
1 1 0
Pour liminer les symtries ligne et colonne, Flener et al. propose lintgration de
deux types de contraintes dans le CSP initial : lune pour liminer la symtrie ligne
et lautre pour liminer la symtrie colonne. Par consquent, durant la recherche,
les contraintes dordre lexicographique fonctionnent en parallle, la fois au niveau
des lignes et des colonnes. Le thorme ci-dessous 2.5.2 montre que, le fait que ce
type dordre soit ralis dune manire squentielle ou parallle, on aura toujours
une solution qui respecte lordre lexicographique lignes et colonnes. Lexploitation
de ce type de contrainte est prsent dans la partie contribution, chapitre 4.
Thorme 2.5.2 (Flener et al., 2002) Dans un modle matriciel avec des sym-
tries ligne et colonne dans une matrice 2 d, chaque classe de symtries possde un
lment dont les lignes et les colonnes de la matrice qui vrifient lordre lexicogra-
phique.
40
Malheureusement, lapplication simultane de lordre lexicographique sur les lignes
et les colonnes peut laisser des symtries sur une matrice 2-d, un phnomne quon
peut illustrer travers lexemple ci-dessous :
Exemple 2.5.3 (Flener et al., 2001)
Considrons la matrice 3 3 de variables xi,j 0-1, et quon peut dfinir travers
le CSP suivant :
X = {xi,j |i, j 1..3}
DXi,j = {0, 1|i, j 1..3}
P2 C =P {c1 , c2 } (2.3)
c1 : j=1..3 xi,j > 1, j 1..3
P P
c1 : i=1..3 j=1..3 xi,j = 4
Ce modle reprsente les deux symtries : ligne et colonne. La rsolution de P2
avec des contraintes imposant lordre lexicographique au niveau des lignes et des
colonnes peut gnrer les solutions suivantes :
0 0 1 0 0 1 0 0 1
0 1 1 , 0 1 0 , et 0 1 0
1 0 0 1 0 1 1 1 0
Par consquent, on peut dduire que llimination des symtries ligne et colonne
via lapplication de lordre lexicographique sur les lignes et les colonnes, est une
limination de symtries partielle.
41
cible les groupes de symtries courantes en pratique, et qui peuvent tre reprsents
dune manire compacte et manipuls avec efficacit (voir lexemple 2.5.4).
Exemple 2.5.4 (le carr latin)(Mears et al., 2014) Le problme du carr latin de
taille 3 comporte 3 3 cases, o chacune des 9 cellules du carr prend une valeur de
lensemble {1, 2, 3}, de telle sorte que : chaque valeur apparat une et une seule fois
au niveau de chaque ligne et de chaque colonne.
Le CSP correspondant peut tre dfini comme suit :
Pour liminer les symtries dun CSP P = hX, D, Ci, la mthode LDSB gnre et
manipule les quatre groupes de symtries, que nous rcapitulons comme suit (Mears
et al., 2014) :
Les variables interchangeables : Lensemble des variables W X sont in-
terchangeables pour P si une extension fr de toute permutation de la variable
r de W garde les variables dans X \ W inchanges alors r est une variable
symtrique de P .
Les valeurs interchangeables : Lensemble des valeurs W D sont inter-
changeables pour P si lextension fl de toute valeur l de W garde les valeurs
dans D W inchanges, alors l est une valeur symtrique de P .
Les variables interchangeables simultanment : Deux squences de variables
hx1 , ..., xn i et hy1 , ..., yn i , telles que hx1 , ..., xn i, hy1 , ..., yn i X sont simultan-
ment interchangeables pour P , si hx1 , ..., xn i hy1 , ..., yn i, i.e. si la bijection
qui associe chaque xi yi et vice versa, garde le reste des variables de X
inchanges, alors les deux squences reprsentent des variables symtriques
pour P . On dit que S est lensemble des squences interchangeables pour P
si :s1 , s2 S, s1 et s2 sont simultanment interchangeables.
42
Les valeurs interchangeables simultanment : Deux squences de valeurs
hx1 , ..., xn i et hy1 , ..., yn i, telles que hx1 , ..., xn i, hy1 , ..., yn i D sont simultan-
ment interchangeables pour P , si hx1 , ..., xn i hy1 , ..., yn i. S est un ensemble
de squences de valeurs simultanment interchangeables pour P si s1 , s2 S,
s1 et s2 sont simultanment interchangeables.
La mthode LDSB est une approche avance, qui reprsente une version allge
de la la mthode SBDS. Cest une mthode considre plus rapide et plus efficace,
puisque lexploitation des symtries ne se fait que sur celles qui sont actives aprs
leurs compositions. Sachant, quune symtrie active est une symtrie qui garde lins-
taciation partielle courante, au nud n, inchange (consistante). En dautres termes,
(Mears et al., 2014) la mthode LDSB possde :
1. un mcanisme qui permet de dtecter les symtries qui sont toujours vri-
fies parmi celles dtectes au niveau racine. Ces symtries appartiennent aux
quatre types de symtries savoir : les variables interchangeables, les valeurs
interchangeables, les variables interchangeables simultanment et les valeurs
interchangeables simultanment,
2. des algorithmes trs efficaces, pour traiter ces catgories de symtries.
Enfin, LDSB est une mthode dlimination de symtries dynamique et partielle
qui donne des rsultats performants en pratique.
2.6 Conclusion
Dans ce chapitre nous avons expos les diffrentes approches que nous allons
exploiter dans la rsolution du modle de conception de portefeuilles. Nous avons
commenc par les approches incompltes, o nous avons dcrit trois types de m-
thodes, savoir les mthodes locales simples, les mthodes voisinage variable et
une mthode population. Pour les approches compltes nous avons introduit la
programmation linaire et la programmation par contraintes, en mettant en avant
les techniques dliminations de symtries.
Lexploitation des mthodes incompltes sur le problme (P D) est expose dans
le chapitre 3. Le chapitre 4 tudie lutilisation des mthodes compltes.
43
44
Deuxime partie
Contribution
45
Chapitre 3
3.1 Introduction
47
balayage de tout lespace de recherche, elles savrent pratiquement inefficaces sur
les instances grandes et difficiles. En effet, dans le chapitre 4, les mthodes exactes
(e.g., PLNE et PPC) se sont avres coteuses dans lvaluation exprimentale des
grandes instances du problme (P D). Lide des mthodes locales consiste explo-
rer partiellement lespace de recherche, mais intelligemment pour converger vers une
solution de bonne qualit par rapport la fonction objectif du problme (Pedroso,
2001).
Nous proposons un algorithme glouton pour calculer une solution initiale, des
fonctions de voisinages et une fonction cot qui tirent profit de la smantique par-
ticulire des contraintes du modle (P D). Ces fonctions seront utilises pour faire
appel diffrentes recherches locales simples, voisinages variables ou population.
Une implmentation a t ralise sous lenvironnement INCOP (Neveu et Trom-
bettoni, 2003), permettant dentreprendre une valuation exprimentale dtaille de
ces diffrentes approches locales. Nous avons implment sous INCOP de nouvelles
classes et de nouvelles mthodes, afin dy intgrer le traitement des CSPs n-aires,
des mthodes voisinage variable et des diffrentes fonctions de voisinage et des
fonctions dvaluation.
48
Une configuration du problme (P D) est reprsente par la matrice M1..v,1..b , o
i 1..v, j 1..b, Mi,j {0, 1}. Rsoudre (P D) consiste trouver une configuration,
dont chaque ligne comporte r units, et le chevauchement entre nimporte quelles
deux lignes est infrieur ou gal (voir lexemple 3.2.2).
49
plus efficace que lapproche systmatique propose par Flener et al., relativement au
nombre moyen de chevauchements et au temps dexcution 1 .
Dans (Flener et al., 2007), pour rsoudre le modle mathmatique (P D) les
contraintes dingalit sont remplaces par des contraintes dgalit. Dans notre
approche, nous apprhendons directement le problme original (P D) en essayant
de casser la difficult de satisfaire les contraintes dingalit. Dans la Table 3.1, nous
prsentons la solution donne par la mthode VNS (dcrite dans la section 3.7).
0100100100011100000000011010111001001
0110101001100000011000100000011011001
0000000100000000101110100001110011111
0 0 0 1 0 1 0 1 1 1 1 0 0 0 0 0 0 1 0 1 0 1 1 0 1 0 0 0 0 0 0 1 0 1 0 0 1
1 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 0 0 1 0 1 1 0 1 0 1 0 1 0 0 0 1 0
0111010011001000011010001000010000110
1000001001010010000110001110001100011
0000010110110010010010100110110000100
0101001010101001000000110110001100010
1101111001011000000101100000000010010
Dans la solution trouve par (Flener et al., 2007), toutes les paires ont exactement
6 chevauchements, alors que notre solution a nettement moins de chevauchements.
Dans la Table 3.1, nous avons deux cas particuliers intressants :
la paire en italique-gras contient 3 chevauchements,
la paire en gras contient 6 chevauchements.
Dans la solution donne dans la Table 3.1, le nombre de chevauchements de toutes
les paires de lignes est compris dans lintervalle [3, 6]. Le nombre moyen de che-
vauchements donn dans la Table 3.2 montre bien que notre solution est meilleure
que celle de Flener et al., i.e. avec notre solution nous fournissons une meilleure
diversification des portefeuilles, et donc un meilleur quilibre risque/rentabilit.
1. Les exprimentations de (Flener et al., 2007) ont t ralises sur une machine avec un processeur
AMD Athlon XP 2400+ qui est plus lent que notre machine (Intel CPU E5-2603) avec un facteur 8 Voir
le benchmarking des processeurs disponible sur le site http ://www.cpubenchmark.net/singleThread.html.
Lindice de performances du processeur AMD Athlon XP +2400 est 462, et celui du processeur Intel CPU
E5-2603 est 3765. En somme, notre temps doit tre multipli par 8.
50
3.4 Composants de base des recherches locales
Comme toute recherche locale, nos approches dmarrent avec une configuration
complte mais non optimale (ou des configurations dans le cas des mthodes po-
pulation). Ici, on se met dans un cadre de minimisation. La mthode locale rpare
la solution courante en appliquant des changements locaux qui vont dcrotre une
fonction cot. Les composants de base de nos mthodes locales (Walser, 1999) sont :
Problme combinatoire : Nous considrons le problme (P D).
Fonction cot : Le problme est de trouver une solution optimale qui minimise
globalement une fonction cot. La section 3.4.1 dtaille la fonction cot.
Fonction de voisinage : Soit une configuration donne M . La fonction de voi-
sinage dfinit lensemble des configurations voisines N (M ) de M que nous
pouvons obtenir en appliquant de petits changements sur M . Une configura-
tion est localement optimale relativement la fonction de voisinage si son cot
est meilleur que celui de tous ses voisins. Nous avons utilis deux fonctions de
voisinage dtailles dans la section 3.4.2.
Stratgie de contrle : Elle dfinit comment les configurations sont explores. Les
sections suivantes dtaillent nos stratgies, soit par recherche locale simple
(section 3.6), soit par voisinage variable (section 3.7), soit population (section
3.8).
51
Recherches locales simples : Dans le cas des recherches locales simples (e.g., re-
cuit simul, IDWalk et recherche taboue, considres dans notre travail), nous
reprons les deux indices (l, c) de la variable slectionne Ml,c ayant le plus de
conflits et la moins change :
(l, c) = argmaxi1..v,j1..b (abs(val_conf licti,j ) compti,j )
o compti,j est le compteur qui stocke le nombre de fois o la variable Mi,j
a t change. La matrice val_conf lict contient lvaluation des conflits des
variables individuelles Mi,j de la variable matricielle M . Nous associons une
valeur de conflit val_conf licti,j chaque variable Mi,j , dfinie comme suit :
pleinement satisfaite. Pour garder cette contrainte ligne constamment satisfaite, nous
adoptons la fonction de voisinage swap qui consiste inter-changer entre deux
variables, une ayant la valeur 0, et lautre la valeur 1. Plus prcisment, la fonction
swap dans toutes les recherches locales tudies, procdent en trois tapes :
1. Slection alatoirement une variable Ml,c1 parmi celles ayant la valeur 1.
2. Sur la mme ligne que la variable prcdemment slectionne, choisir alatoi-
rement une seconde variable Ml,c2 parmi celles fixes 0.
3. Affecter 0 Ml,c1 , et 1 Ml,c2 .
Ds lors que la contrainte ligne est tout le temps satisfaite, les mthodes de
recherche locale adoptant cette fonction de voisinage doivent rsoudre seulement les
contraintes de chevauchement :
b
X
i 1..v, t > i, Mij Mtj .
j=1
52
3.5 Algorithme glouton pour calculer la solution initiale
53
Algorithm 9 F illDiagonal(i, Ct)
Input: v nombre de tranches ; b nombre de titres ; M matrice v b ; Ct = "Overlap" ou
"Row"
Output: Remplir la diagonale de M [v b] en commenant par (1, i)
M ax si (b (min(v, b) + i 1)) alors min(v, b) sinon b i + 1
2: for j 1..M ax do
M [j] [i + j 1] 1
4: end for
if Ct = Overlap then
6: Jump (i (b min(v, b) + 1))
else
8: if Ct = Row then
Jump 0
10: end if
end if
12: for j 1..v M ax do
M [M ax + j] [Jump + j] 1
14: end forreturn M
11 12 0 13 0 0 0
0 11 12 0 13 0 0
0 0 11 12 0 13 0
MP D<7,7,3,1> = 0 0 0 11 12 0 13 (3.5)
13 0 0 0 11 12 0
0 13 0 0 0 11 12
12 0 13 0 0 0 11
Soit la deuxime instance P D < 10, 8, 3, 2 > qui comporte plus de lignes que de
colonnes.
54
11 12 13 0 0 0 0 0
0 11 12 13 0 0 0 0
0 0 11 12 13 0 0 0
0 0 0 11 12 13 0 0
0 0 0 0 11 12 13 0
MP D<10,8,3,2> =
0 0 0 0 0 11 12 13
0 0 13 0 0 0 11 12
0 12 0 13 0 0 0 11
11 0 12 0 13 0 0 0
0 11 0 12 0 13 0 0
Aprs lapplication de lalgorithme 8, nous obtenons la configuration MP D<10,8,3,2>
avec 0 conflits.
Maintenant, soit linstance P D < 8, 14, 7, 3 > ayant plus de colonnes et de lignes.
11 12 13 14 0 0 0 15 0 0 0 0 16 0
0 11 12 13 14 0 0 0 15 0 0 0 0 16
16 0 11 12 13 14 0 0 0 15 0 0 0 0
0 16 0 11 12 13 14 0 0 0 15 0 0 0
MP D<8,14,7,3> =
0 0 16 0 11 12 13 14 0 0 0 15 0 0
0 0 0 16 0 11 12 13 14 0 0 0 15 0
0 0 0 0 16 0 11 12 13 14 0 0 0 15
15 0 0 0 0 16 0 11 12 13 14 0 0 0
Aprs lapplication de lalgorithme 8, nous obtenons une configuration avec 8
conflits.
Preuve Au plus r cellules par ligne sont remplies, ce qui ne peut pas dpasser vr
oprations excuter.
2
La proposition suivante introduit des proprits intressantes, indiquant les cas
o lalgorithme glouton russit satisfaire toutes les contraintes du modle
Proposition 3.5.2 Si
+ 1 = r ou
( + 1 < r) 2( + 1) + (r ( + 1) 1)( + 2) b
alors toutes les contraintes lignes sont vrifies.
Si une des conditions ci-dessus est satisfaite, et (r + 3), alors toutes les
contraintes de chevauchement sont vrifies.
Preuve
Dans la premire boucle de lalgorithme 8, nous russissons affecter +1 cellules
avec la valeur 1 au niveau de chaque ligne, afin de satisfaire les contraintes lignes. La
deuxime boucle de lalgorithme affecte la valeur 1 aux r ( + 1) cellules restant
au niveau de chaque ligne. A chaque itration et dans chaque ligne, le nombre de
1 affects diminue. Dans la deuxime boucle, si + 1 6= r alors nous devons avoir
2( + 1) + (r ( + 1) 1)( + 2) b afin de satisfaire toutes les contraintes lignes.
55
Plus prcisment, puisque dans la deuxime boucle, i est incrment de ( + 2), les
(r ( + 1) 1) cellules vides qui restent, doivent tre affectes de 1 sans dpasser
b. Ce qui introduit la premire proprit de la proposition.
Aprs la premire boucle de lalgorithme 8, nous obtenons au plus chevau-
chements. Aprs la premire boucle, FillDiagonal est appliqu sur la diagonale
2( + 1). De cette manire, nous assurons la satisfaction des contraintes de che-
vauchement. Dans la deuxime boucle nous traitons les diagonales dmarrant des
positions espaces de +2 lignes. Lors du remplissage de la premire diagonale, cette
dernire est espace de + 2. Les contraintes de chevauchement demeurent toujours
vrifies. Mais, dans le reste des diagonales, le risque de violer des contraintes de
chevauchement se manifeste. Par consquent, quand r + 1 + 1 + 1 les contraintes
de chevauchement sont certainement vrifies.
2
En utilisant lalgorithme glouton pour calculer la solution initiale, il faut sat-
tendre un comportement diffrent dune solution gnre alatoirement. Syst-
matiquement, avec une solution initiale alatoire, lalgorithme peut gnrer plus
de solutions quavec une solution gnre par un algorithme glouton. Cependant,
en dpit du taux de variation des solutions gnres travers une solution initiale
alatoire, la qualit des solutions gnres travers une solution initiale calcule,
demeurent meilleure. Dans nos exprimentations (voir la section 3.9.3.2), la version
gloutonne est plus performante que la version alatoire. Mais, en pratique, cause
de lesprit de lalgorithme glouton 8, il existe srement des solutions initiales S 00 plus
intressantes mais ignores par notre stratgie gloutonne. Conformment au tho-
rme doptimisation no-free-lunch (Wolpert et Macready, 1997), la version alatoire
dune solution doit tre plus efficace sur des instances de S 00 . Daprs ce thorme
et dun point de vue thorique, nous pouvons avoir ce comportement. Mais, encore
une fois, les exprimentations ralises sur les instances cites dans (Flener et al.,
2007) sont mieux rsolues via la version gloutonne.
56
choisir alatoirement deux variables appartenant la mme ligne, et ayant
les valeurs respectives 0 et 1, puis permuter leurs valeurs.
3. Suivant la fonction de voisinage choisie, changer la valeur de la variable
V arconf ict , puis calculer une nouvelle solution S1 dans le voisinage de S0 .
valuer S1 avec Eval(S1 ) (comme indiqu dans la section 3.4).
(a) si (Eval(S0 ) Eval(S1 )) alors S1 est adopte tout en amliorant la
solution S0 .
(val(S1 ) val(S0 )
(b) si (Eval(S0 ) < Eval(S1 )) alors on calcule = exp T .
Choisir alatoirement une valeur r dans lintervalle [0, 1]. Si (r )
alors remplacer S0 par S1 et mettre jour la matrice val_conf lict.
4. Dcrmenter T doucement chaque itration. Si (T 0) alors arrter et
dclarer la solution S0 comme tant une solution optimale sinon aller
ltape 2.
La recherche locale applique ce niveau est diffrente dune recherche locale
standard, puisque dans le cas de la fonction de voisinage flip, la fonction de
transition nest pas conforme au choix alatoire du voisin. Tandis que, dans
notre algorithme, dans le cas flip, on choisit le meilleure voisin, ce qui nous
fait perdre les proprits des chanes de Markov (Henderson et al., 2003)qui
garantissent la convergence. En ce qui concerne la terminaison de lalgorithme,
elle est garantie par la dcroissance stricte de la temprature. Bien videmment,
il faudra que cette dcroissance de la temprature converge en un temps fini
vers zro ; ceci est garantie sur machine, vue la finitude des nombres flottants.
57
Algorithm 10 VNSPD(RL, Kmax , SM)
Input: P Dhv, b, r, i ; Kmax paramtre de VNS ; RL mthode de recherche locale ; SM
mthode pour gnrer un nouveau point dans le voisinage
1: Initialiser M alatoirement
2: while (non time-out) et (Eval(M ) 6= 0) do
3: k 1;
4: while (k Kmax ) et (Eval(M ) 6= 0) et (non time-out) do
5: M 0 Shake(SM, M, k) ;
6: M 00 LS(M 0 ) ;
7: if Eval(M 00 ) < Eval(M ) then
8: M M 00 ;
9: k 1;
10: else
11: k k + 1;
12: end if
13: end while
14: end while
15: procedure Shake(SM, M, k)
16: M0 M ;
17: for i in 1..k do
18: if SM = Flip then % Parcours du voisinage avec la fonction Flip
19: (i, j) RandomSelectIn(1..v, 1..b) ;
20: 0 abs(1 M 0 ) ;
Mi,j i,j
21: else % Parcours du voisinage avc la fonction Swap
22: l RandomSelectIn(1..v) ;
23: v1 RandomSelectIn(1..b) avec Ml,v1 = 1 ;
24: v0 RandomSelectIn(1..b) avec Ml,v0 = 0 ;
25: 0
Ml,v 0
0 ; Ml,v 1;
1 0
26: end if
27: end for
28: Return M 0 ;
29: end procedure
Shake avec la nouvelle structure de voisinage. La boucle interne prend fin une fois
que toutes les structures de voisinage sont explores ou une solution satisfaisant
toutes les contraintes est trouve. La boucle externe itre jusqu ce que le temps
CPU soit puis ou quune solution est atteinte.
58
empche VNS de converger par petits changements locaux au minimum global.
Justement pour y remdier, une nouvelle variante de VNS, SVNS (pour Skewed
Variable Neighborhood Search), a t propose. Cette version rvise de VNS, SVNS,
est donne dans lalgorithme 11 SVNSPD. Dans cette variante, nous relchons la
condition dadoption dune nouvelle solution. Plus prcisment, au lieu dutiliser
la fonction cot Eval, on utilisera une autre qui se permet un certain degr de
tolrance dans le solution courante, dans lobjectif dintensifier la recherche toujours
autour de la solution courante et dans la structure courante de voisinage, et retarder
le changement de la structure de voisinage.
La relaxation de la condition dadoption de la solution avec la fonction Eval,
utilise une fonction dvaluation linaire de la distance : lexpression Eval(M 00 ) est
remplace par Eval(M 00 ) (M, M 00 ) o (M, M 00 ) est une distance entre M et
M 00 , et est un paramtre donn. Ds lors quon a des variables boolennes, nous
avons adopt la distance de Hamming 3 . Le paramtre est fixe la valeur par
dfaut 1 (Fonseca et Santos, 2014).
59
la section 2.2.3. Dans (Neveu et Trombettoni, 2003), la marche alatoire a t rem-
place par une mthode locale (e.g., la mthode taboue, le recuit simul, ...). Pour
apprhender le problme (P D), nous adoptons lalgorithme 6, en utilisant au lieu de
la marche alatoire, une recherche locale simple (Neveu et al., 2004). Le paramtrage
de la mthode est dtaill dans la section exprimentale de ce chapitre.
60
Table 3.3 Les instances exprimentes
61
succ. : le nombre de succs parmi les 20 essais,
temps-moy : le temps moyen sur 20 essais.
La premire comparaison est faite par rapport aux paramtres dj cits : succ.,
et temps-moy. La seconde, en considrant la qualit de la solution obtenue, qui
consiste calculer les colonnes suivantes :
moy- est la moyenne des chevauchements obtenus, en exploitant la formule
( Pn
i=1 o
Avg = no
(3.6)
no = v(v1)
2
nombre de chevauchements
62
Table 3.4 Comparaison du nombre de contraintes violes entre une configuration initiale
alatoire et celle gnre par lalgorithme 8.
en temps dexcution. Dans la plupart des cas, IDWalk prsente des taux de
conflit plus levs que le recuit-simul.
Le tableau 3.6 compare la qualit des rsultats calculs avec la formule (3.6),
entre Flener et al. et le recuit-simul. Nous remarquons que la moyenne des
chevauchements dune solution de lapproche de Flener et al. est gale ,
due lutilisation des galits dans la contrainte de chevauchement du modle
(P D) : toute paire de lignes de la matrice a un taux de chevauchements gal
, ce qui implique une moyenne gale . Le recuit-simul est plus efficace
que Flener et al. La majorit des instances rsolues, reprsente une moyenne
des chevauchements infrieure celle obtenue par lapproche de Flener et al.
Une solution initiale gloutonne :
La colonne SolInit du tableau 3.5 compare le recuit-simul avec IDWalk,
en dmarrant dune configuration initiale calcule avec lalgorithme glouton 8.
Nous remarquons que dans la plupart des cas, IDWalk prsente un meilleur suc-
cs sur les 20 essais. Nous avons lanc la mthode taboue (avec une liste taboue
de longueur 20). Elle na russi rsoudre que trois instances : P Dh7, 7, 3, 1i
avec un succs total de 20/20, P Dh10, 8, 3, 2i avec 20/20 et P Dh10, 37, 14, 6 >i
avec 20/20. Dsormais, la recherche taboue demeure inefficace compare au re-
cuit simul et IDWalk. Le recuit-simul demeure plus efficace que IDWalk en
temps dexcution. Dans quelques cas, IDWalk prsente des taux de conflit
plus levs que le recuit-simul.
Le tableau 3.6 compare la qualit des rsultats calculs avec la formule 3.6
(voir le dbut de la section 3.9.2), entre Flener et al. et IDWalk. Dans la
colonne de Flener et al., la moyenne (ou la qualit) est gale la valeur
(puisque toutes les paires de lignes ont le mme taux de chevauchements). Le
tableau 3.6 montre clairement que notre approche fournit des solutions avec
de meilleurs taux de chevauchements.
63
Table 3.5 Les temps CPU et les nombres de succs
SolAla SolInit
Instance RecSim IDW RecSim IDW
succ. /20 20 17 20 20
Inst1
temps-moy 0.00 3.70 0.01 0.00
succ. /20 20 20 20 20
Inst2
temps-moy 0.00 0.00 0.00 0.00
succ. /20 20 01 20 00
Inst3
temps-moy 1.73 14.10 4.22 20.70
succ. /20 20 00 20 20
Inst4
temps-moy 1.15 15.63 4.01 0.02
succ. /20 00 00 00 00
Inst5
temps-moy 15.52 16.17 23.75 42.23
succ. /20 19 00 20 00
Inst6
temps-moy 5.33 23.76 7.66 49.75
succ. /20 08 00 18 20
Inst7
temps-moy 11.43 21.20 12.32 1.61
succ. /20 19 00 20 20
Inst8
temps-moy 8.38 50.17 15.21 5.47
succ. /20 20 00 20 00
Inst9
temps-moy 5.44 119.40 14.81 199.84
succ. /20 10 00 14 20
Inst10
temps-moy 31.96 67.76 44.70 71.43
succ. /20 18 00 17 20
Inst11
temps-moy 19.36 64.75 37.66 9.66
succ. /20 20 20 17 20
Inst12
temps-moy 10.84 64.66 36.59 7.02
succ. /20 20 20 20 20
Inst13
temps-moy 0.01 0.03 0.02 0.02
succ. /20 20 13 20 20
Inst14
temps-moy 4.14 48.90 11.33 3.22
succ. /20 00 00 00 00
Inst15
temps-moy 25.60 28.95 44.70 83.61
succ. /20 02 01 00 00
Inst16
temps-moy 196.76 193.31 199.84 199.92
64
Table 3.6 Les taux moyen du nombre de contraintes non-satisfaites et du nombre de
chevauchements
SolAlea SolInit
Instance RecSim IDW RecSim IDW Flener et al.
moy-c 0.00 0.20 0.00 0.00
Inst1
moy- 1.00 0.99 1.00 1.00 1
moy-c 0.00 0.00 0.00 0.00
Inst2
moy- 1.07 1.08 1.00 0.98 2
moy-c 0.00 2.00 0.00 2.00
Inst3
moy- 3.00 2.80 3.00 2.64 3
moy-c 0.00 3.75 0.00 0.00
Inst4
moy- 2.00 1.74 2.00 2.00 2
moy-c 8.00 8.75 8.00 8.00
Inst5
moy- 0.68 0.63 0.63 0.70 1
moy-c 0.05 2.65 0.00 2.00
Inst6
moy- 2.00 1.83 2.00 1.64 2
moy-c 0.60 3.15 0.10 0.00
Inst7
moy- 2.88 2.76 2.97 3.00 3
moy-c 0.05 50.17 0.00 0.00
Inst8
moy- 1.99 1.92 2.00 2.00 2
moy-c 0.00 1.35 0.00 1.00
Inst9
moy- 0.86 0.83 0.86 0.81 1
moy-c 0.50 2.30 0.30 0.00
Inst10
moy- 1.95 1.88 1.93 2.00 2
moy-c 0.10 3.30 0.15 0.00
Inst11
moy- 1.99 1.92 1.97 2.00 2
moy-c 0.00 2.45 0.15 0.00
Inst12
moy- 2.97 2.89 2.98 2.97 3
moy-c 0.00 0.00 0.00 0.00
Inst13
moy- 4.89 4.88 4.99 5.00 6
moy-c 0.00 0.90 0.00 0.00
Inst14
moy- 1.94 1.94 1.94 1.98 2
moy-c 5.40 7.90 3.30 3.00
Inst15
moy- 3.48 3.37 3.36 3.38 4
moy-c 1.25 1.95 4.50 3.30
Inst16
moy- 24.57 24.55 24.37 24.33 26
65
Type 3 : Les instances trs faciles, dont la rsolution nous permet dobtenir un
succs absolu (20 succs sur 20 essais).
Afin de bien tudier les instances et de dceler lorigine de lchec et du succs,
nous avons pris un chantillon de chaque type dinstances, savoir P Dh16, 8, 3, 1i,
P Dh19, 20, 9, 4i et P Dh9, 37, 12, 3i qui reprsentent respectivement les types 1, 2 et
3. Ceci afin de raliser ltude du paysage (Marmion, 2011)(Marmion et al., 2013)
de chacune des instances.
Nous avons trac les courbes 3.2, 3.3 et 3.4 qui dcrivent le nombre de conflits
en fonction du nombre de mouvements raliss. En dautres termes, nous avons le
nombre de contraintes violes sur laxe des ordonnes et le nombre de mouvements
raliss sur laxe des abscisses.
Instance P Dh16, 8, 3, 1i
En dernire position nous prenons linstance P Dh9, 37, 12, 3i qui donne 20 succs
sur les 20 essais, en un temps raisonnable. Nous illustrons dans la figure 3.4 le
paysage des solutions allant de 45 conflits jusqu 0 conflits (toutes les contraintes
sont vrifies).
Nous relevons dans la figure 3.4a, une courbe plus ou moins neutre au dbut, puis
une convergence rapide de 45 conflits vers 5 conflits en 100 mouvements seulement.
66
(a) Le paysage de linstance P Dh16, 8, 3, 1i en dmarrant
avec une solution ayant plus de 90 de conflits
Nous illustrons dans la figure 3.4b une vision plus proche de la courbe aprs avoir
atteint 5 conflits. Nous relevons un paysage lisse qui reflte une exploration de bonne
qualit et par consquent une mthode bien adapte la rsolution de linstance.
Finalement, on peut conclure que lchec de la mthode sur une instance peut tre
relev sur des parties des courbes reprsentant des paysages neutres. Un phnomne
67
(a) Le paysage de linstance P Dh19, 20, 9, 4i en dmarrant
avec une solution presque 140 conflits
qui peut tre expliqu par des valles trs profondes (problme de loptimum local),
ce qui exige une augmentation du degr dexploration. Une augmentation qui peut
dcrotre la qualit des rsultats dans le cas des paysages lisses. Nous pensons quune
gestion plus rflchie de la particularit de chaque partie du paysage doit donner
de meilleurs rsultats. En dautres termes, proposer une procdure dexploration
68
(a) Le paysage de linstance P Dh9, 37, 12, 3i en dmarrant
avec une solution de 45 conflits
69
3.9.3.4 Recherche locale avec voisinage variable
Cette section expose les rsultats exprimentaux sur les diffrentes variantes VNS
sur les instances (P D), avec les algorithmes 10 et 11 (VNSPD et SVNSPD) en uti-
lisant le rcuit-simul (sim-ann) (Kirkpatrick et al., 1983a) et lalgorithme IDWalk
(idw) (Neveu et al., 2004). Nous avons expriment les stratgies VNS suivantes :
1. VNS basique avec recuit-simul et la fonction de voisinage flip : VSF
2. VNS basique avec recuit-simul et la fonction de voisinage swap : VSS
3. VNS basique avec IDW et la fonction de voisinage flip : VIF
4. VNS basique avec IDW et la fonction de voisinage swap : VIS
5. Skewed VNS avec recuit-simul et la fonction de voisinage flip : SSF
6. Skewed VNS avec recuit-simul et la fonction de voisinage swap : SSS
7. Skewed VNS avec IDW et la fonction de voisinage flip : SIF
8. Skewed VNS avec IDW et la fonction de voisinage swap : SIS
70
Table 3.7 Rsultats exprimentaux en temps et en nombre de succs
VNSPD SVNSPD
Instance RecSim IDW RecSim IDW
Flip Swap Flip Swap Flip Swap Flip Swap
VSF VSS VIF VIS SSF SSS SIF SIS
succ. /20 20 20 20 20 20 20 20 20
Inst1
temps-moy 0.00 0.00 7.51 0.01 0.01 0.01 10.41 0.01
succ. /20 20 20 20 20 20 20 20 20
Inst2
temps-moy 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
succ. /20 20 20 03 20 20 20 02 20
Inst3
temps-moy 2.34 1.51 182.96 0.25 2.66 1.54 189.90 0.12
succ. /20 20 20 03 20 20 20 01 20
Inst4
temps-moy 1.24 2.27 169.80 0.34 1.35 2.20 196.64 1.10
succ. /20 00 00 00 00 00 00 00 00
Inst5
temps-moy 199.66 199.77 199.76 199.71 199.83 193.85 199.83 199.83
succ. /20 20 20 19 20 20 20 00 20
Inst6
temps-moy 5.29 1.70 5.57 4.89 10.33 6.27 199.84 3.04
succ. /20 17 20 00 20 20 20 00 20
Inst7
temps-moy 50.18 9.35 199.72 5.52 47.70 10.66 199.84 6.40
succ. /20 20 20 01 20 20 20 00 20
Inst8
temps-moy 7.78 10.96 199.05 7.64 12.69 14.97 199.84 6.46
succ. /20 20 20 04 20 20 20 20 20
Inst9
temps-moy 5.55 8.87 163.85 1.69 0.00 0.00 0.00 0.00
succ. /20 17 20 00 18 20 15 00 18
Inst10
temps-moy 62.50 47.49 199.75 72.75 93.55 111.11 199.82 67.78
succ. /20 20 10 18 08 20 05 00 06
Inst11
temps-moy 20.19 143.43 20.05 162.07 62.79 167.38 199.80 151.28
succ. /20 20 20 20 20 20 20 01 20
Inst12
temps-moy 10.77 9.39 11.10 1.73 17.67 9.48 199.59 1.91
succ. /20 20 20 20 20 20 20 20 20
Inst13
temps-moy 0.01 0.01 0.07 0.00 0.02 0.01 0.11 0.01
succ. /20 20 20 12 20 20 20 08 20
Inst14
temps-moy 4.99 5.92 84.60 0.21 8.27 5.93 126.07 0.21
succ. /20 00 00 00 00 00 00 00 00
Inst15
temps-moy 199.70 199.73 199.72 199.80 199.81 199.81 199.65 199.65
succ. /20 13 00 01 00 01 00 00 00
Inst16
temps-moy 193.08 199.77 195.98 199.75 199.18 199.81 199.63 199.77
71
la mthode VNS avec le rcuit simul et la fonction flip est la combinaison la plus
efficace.
VNSPD SVNSPD
Instance RecSim IDW RecSim IDW
Flip Swap Flip Swap Flip Swap Flip Swap
VSF VSS VIF VIS SSF SSS SIF SIS
moy-c 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Inst1
moy- 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1
moy-c 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Inst2
moy- 1.08 1.08 1.09 1.08 1.07 1.08 1.09 1.09 2
moy-c 0.00 0.00 1.30 0.00 0.00 0.00 1.20 0.00
Inst3
moy- 3.00 3.00 2.82 3.00 3.00 3.00 2.97 3.00 3
moy-c 0.00 0.00 2.25 0.00 0.00 0.00 2.50 0.00
Inst4
moy- 2.00 2.00 1.75 2.00 2.00 2.00 1.81 2.00 2
moy-c 7.95 8.00 8.60 8.00 8.00 8.00 8.50 8.00
Inst5
moy- 0.68 1.00 0.67 1.00 0.72 1.04 0.70 1.04 1
moy-c 0.00 0.00 0.05 0.00 0.00 0.00 2.45 0.00
Inst6
moy- 2.00 2.00 1.84 2.00 2.00 2.00 1.92 2.00 2
moy-c 0.15 0.00 2.20 0.00 0.00 0.00 2.30 0.00
Inst7
moy- 2.95 3.00 2.80 3.00 3.00 3.00 2.87 3.00 3
moy-c 0.00 0.00 1.80 0.00 0.00 0.00 2.30 0.00
Inst8
moy- 2.00 2.00 1.91 2.00 2.00 2.00 2.00 2.00 2
moy-c 0.00 0.00 1.05 0.00 0.00 0.00 0.00 0.00
Inst9
moy- 0.75 0.68 0.76 0.76 0.07 0.68 0.07 0.73 1
moy-c 0.15 0.00 2.10 0.10 0.00 0.30 2.90 0.10
Inst10
moy- 1.97 2.00 1.92 2.00 1.99 2.00 1.95 2.00 2
moy-c 0.00 0.50 0.10 0.60 0.00 0.75 3.15 0.70
Inst11
moy- 2.00 2.00 1.94 2.00 2.00 2.00 2.00 2.00 2
moy-c 0.00 0.00 0.00 0.00 0.00 0.00 3.00 0.00
Inst12
moy- 2.97 2.97 2.87 2.96 2.97 2.97 2.93 2.96 3
moy-c 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Inst13
moy- 4.87 4.90 4.91 4.88 4.80 4.90 4.87 4.66 6
moy-c 0.00 0.00 0.80 0.00 0.00 0.00 1.05 0.00
Inst14
moy- 1.94 1.93 1.88 1.93 1.93 1.94 1.94 1.93 2
moy-c 4.90 2.85 7.25 2.85 4.60 3.15 7.65 3.10
Inst15
moy- 3.50 3.82 3.40 3.84 3.50 3.84 3.42 4.83 4
moy-c 1.55 4.35 1.75 2.85 1.70 4.35 3.70 2.85
Inst16
moy- 24.59 24.89 24.53 24.83 24.52 25.00 24.37 24.79 26
Concernant les rsultats relativement moy-, notons que dans lapproche exacte
de Flener et al., moy- est constamment gal , car elle utilise le modle avec ga-
lit (i.e., Mi,j Mt,j = in (P D)). Dans la plupart des instances, le nombre moyen
de chevauchements des approches VNS avec le rcuit-simul est strictement inf-
rieur . Ceci montre que notre approche VNS rsout mieux le problme original
72
(P D). Il y a seulement deux instances P Dh16, 8, 3, 1i et h19, 20, 9, 4i qui nont pas
t rsolues, mais leur nombre de contraintes non-satisfaites est bas (resp. 7.95 et
4.65) comparativement au nombre de contraintes (resp. 136 et 190). En plus, dans
les excutions non-russies fournissant des solutions approches, nous remarquons
que le nombre de chevauchements, mme si strictement suprieur , il reste trs
proche de . Dans linstance I5 ayant 136 contraintes, toutes les combinaisons ont
russi atteindre seulement huit contraintes non-satisfaites et le nombre moyen de
chevauchements est trs proche de = 1. Concernant linstance Inst15 avec ses
190 contraintes, VNS avec le rcuit-simul et la fonction swap a russi avoir en
moyenne 2.85 contraintes non-satisfaites et le nombre moyen de chevauchements in-
frieur = 4. Avoir un nombre moyen de chevauchement bas dans les excutions
non-russies, est une proprit intressante pour la robustesse de la mthode.
73
Table 3.9 Les temps CPU et les nombres de succs
GWW
Instance GRecSim GIDW GIDWTab
succ. /20 20 20 20
Inst1
temps-moy 1.29 0.61 28.297
succ. /20 20 20 20
Inst2
temps-moy 0.00 0.00 0.00
succ. /20 05 13 01
Inst3
temps-moy 107.56 106.84 190.53
succ. /20 15 16 03
Inst4
temps-moy 165.43 90.37 183.24
succ. /20 00 00 00
Inst5
temps-moy 199.66 199.60 199.62
succ. /20 00 04 00
Inst6
temps-moy 199.65 168.71 199.63
succ. /20 01 03 00
Inst7
temps-moy 189.01 194.59 199.63
succ. /20 01 09 00
Inst8
temps-moy 199.05 133.28 199.63
succ. /20 00 12 00
Inst9
temps-moy 199.65 130.95 199.64
succ. /20 00 00 00
Inst10
temps-moy 199.66 199.64 199.64
succ. /20 00 02 00
Inst11
temps-moy 199.64 190.98 199.63
succ. /20 00 16 15
Inst12
temps-moy 199.65 97.10 91.35
succ. /20 20 20 20
Inst13
temps-moy 0.04 0.10 0.80
succ. /20 00 20 20
Inst14
temps-moy 199.65 13.67 59.54
succ. /20 00 00 00
Inst15
temps-moy 199.64 199.64 199.63
succ. /20 00 02 00
Inst16
temps-moy 199.65 184.06 199.64
74
Table 3.10 Les taux moyens des nombres de contraintes et des chevauchements
GWW
Instance GRecSim GIdw GIDWTab Flener et al.
moy-c 1.28 00 00
Inst1
moy- 1.00 1.00 1.00 1
moy-c 0.00 0.00 0.00
Inst2
moy- 1.06 1.07 1.07 2
moy-c 0.80 0.35 1.90
Inst3
moy- 2.88 2.99 2.75 3
moy-c 0.30 0.20 1.55
Inst4
moy- 1.97 1.98 1.82 2
moy-c 8.00 8.00 8.05
Inst5
moy- 0.69 0.66 0.58 1
moy-c 1.45 0.80 3.00
Inst6
moy- 1.88 1.94 1.73 2
moy-c 1.70 1.25 2.45
Inst7
moy- 2.80 2.92 2.77 3
moy-c 1.80 0.65 1.95
Inst8
moy- 1.81 1.97 1.92 2
moy-c 3.15 0.40 1.60
Inst9
moy- 0.78 0.82 0.83 1
moy-c 2.65 1.00 2.20
Inst10
moy- 1.75 1.91 1.85 2
moy-c 3.10 1.50 3.30
Inst11
moy- 1.72 1.94 0.83 2
moy-c 2.15 0.20 0.25
Inst12
moy- 2.59 2.95 2.96 3
moy-c 0.00 0.00 0.00
Inst13
moy- 4.85 4.83 4.93 6
moy-c 2.15 0.00 0.00
Inst14
moy- 1.69 1.94 1.95 2
moy-c 9.70 5.15 7.05
Inst15
moy- 3.05 3.50 3.36 4
moy-c 6.20 1.65 10.10
Inst16
moy- 20.17 24.55 24.36 26
La combinaison GWW avec IDWalk est plus performante que GWW avec recuit-
simul et GWW avec IDWalk combin avec taboue.
En somme, les performances des diffrentes combinaisons restent infrieures aux
performances des recherches locales simples et des recherches locales voisinage
variable. On peut dduire :
La stratgie qui consiste changer de voisinage systmatiquement est plus
payante que de faire travailler de nombreuses recherches locales.
75
Les recherches locales simples donnent de meilleurs rsultats si on les laisse
fonctionner plus longtemps. En effet, GWW partage le temps allou entre de
nombreuses recherches, pnalisant les recherches locales qui ont besoin de plus
de temps pour converger vers la solution.
Ces deux remarques sont dduites relativement au temps limite de 200 secondes.
Cependant, vues les performances des recherches locales simples, augmenter le temps
limite permettra ventuellement davoir de meilleurs succs pour la mthode GWW,
mais ne pourra pas rendre GWW plus performante en temps.
76
AlaRS : Le recuit simul lanc avec une solution initiale gnre alatoirement.
AlaIDW : La mthode IDWalk lance avec une solution initiale gnre alatoi-
rement.
GloutRS : Le recuit simul lanc avec une solution initiale calcule avec lalgo-
rithme glouton 8.
GloutIDW : La mthode IDWalk lance avec une solution initiale calcule avec
lalgorithme glouton 8.
Nous dcrivons les deux illustrations 3.5a et 3.5b contenues dans la figure 3.5
comme suit :
La figure 3.5a analyse les nombres de succs raliss par chacune des mthodes.
Ceci en traant les courbes respectives via le pourcentage de performance.
La figure 3.5b analyse les temps CPU raliss par chacune des mthodes. Ceci en
traant les courbes respectives via le pourcentage de performance.
77
(a) Les nombres de succs.
78
solution initiale gloutonne est plus performante que celle lance avec une solution
initiale alatoire. Dailleurs, cest la plus performante au dpart, mais vers la fin cest
le Recuit Simul qui lemporte, avec les deux versions : solution initiale alatoire et
solution initiale gloutonne, savoir BloutRS et AlaRS.
La figure 3.6 dcrit lvolution du nombre de succs et du temps CPU, relative-
ment aux approches voisinage variable implantes. Nous dsignons par :
VRF : La mthode VNS combine avec le Recuit Simul lance avec la fonction de
voisinage Flip.
VRS : La mthode VNS combine avec le Recuit Simul lance avec la fonction de
voisinage Swap.
VIF : La mthode VNS combine avec IDWalk lance avec la fonction de voisinage
Flip.
VIS : La mthode VNS combine avec IDWalk lance avec la fonction de voisinage
Swap.
SRF : La mthode SVNS combine avec le Recuit Simul lance avec la fonction
de voisinage Flip.
SRS : La mthode SVNS combine avec le Recuit Simul lance avec la fonction
de voisinage Swap.
SIF : La mthode SVNS combine avec IDWalk lance avec la fonction de voisinage
Flip.
SIS : La mthode SNS combine avec IDWalk lance avec la fonction de voisinage
Swap.
La figure 3.6 comporte deux parties :
La figure 3.6a analyse les nombres de succs raliss par chacune des mthodes,
ceci en traant les courbes respectives via les profiles de performance.
La figure 3.6b analyse les temps CPU raliss par chacune des mthodes, ceci en
traant les courbes respectives via les profiles de performance.
79
(a) Les nombres de succs.
Les courbes 3.6a illustres dans 3.6, peuvent tre dcrites en trois points :
La mthode SRF dmarre avec les meilleures performances, avant que la m-
thode lemporte tout juste aprs, pour devenir la plus performante en nombre
de succs.
Vers la fin, nous remarquons une amlioration de SRF pour quelle devienne
aussi performante que VRF.
Relativement la figure 3.6b, nous relevons le succs marqu par la mthode SIS,
pour quelle soit la meilleure en temps dexcution au dmarrage. Mais la mthode
note par VRF devient plus performante (plus rapide) vers la fin.
80
Les tableaux exprimentaux 3.9 et 3.10 qui exposent les rsultats obtenus via
lapproche population (voir la section 3.9), ont mis en avant la mthode GWW
combin avec la mthode IDW.
Pour avoir une synthse plus gnrale des approches incompltes appliques,
nous avons pris les deux meilleures mthodes des catgories : RS (Recherche locale
Simple) et VNS (en deux versions : basique et biaise), en plus de la mthode
GWW+IDwak (note par GIDW. Nous regroupons les courbes qui illustrent les
profiles de performances (en nombre de succs et en temps CPU) dans la figure 3.7.
Les illustrations 3.7a et 3.7b dcrivent respectivement lvolution des nombres de
succs et les temps dexcution.
81
Par rapport au nombre de succs, la figure 3.7a met en avant la mthode VRF
par rapport au reste des mthodes. Comme nous pouvons percevoir la dficience de
la mthode population GIDW (GWW combine avec IDWalk).
La figure 3.7b peut tre dcrite en trois points :
Initialement, elle montre lavantage de la mthode SIS en temps dexcution,
par rapport au reste des mthodes.
Puis, on remarque la mthode AlaRS qui devient la plus performante. Mais
la mthode GloutRS devient aussi rapide (performante) que AlaRS.
Comme nous pouvons constater la lenteur de la mthode GIDW.
A travers les 6 figures de courbes illustres ci-dessus, nous pouvons conclure en
moyenne que la mthode VRF est la plus adapte en nombre de succs notre
problme P D. Par contre, les mthodes SIS, AlaRS et GloutRS sont les plus
performantes en nombre de succs
3.10 Conclusion
Dans ce chapitre, nous avons dtaill lapplication des mthodes incompltes sur
le problme (P D). Nous avons propos une mthode gloutonne qui permet de pro-
duire une solution dune meilleure qualit par rapport des solutions choisies ala-
toirement. En effet, les recherches locales simples ont produit de meilleurs rsultats
en dmarrant de la solution initiale gloutonne, par rapport des solutions choisies
alatoirement. Les performances des recherches locales se sont nettement amliores
en adoptant des voisinages variables dans le contexte des algorithmes VNS. Cepen-
dant, ladoption dune mthode population na pas permis damliorer rellement
les performances.
En somme, les exprimentations entreprises ont montr que la mthode du recuit-
simul a produit les meilleures performances soit dans sa version simple ou dans sa
version voisinage variable.
82
Chapitre 4
4.1 Introduction
83
4.2 Exemple de motivation
Dans cette section, nous illustrons lapport des mthodes compltes via lap-
proche PPC sur le modle (P D) avec des ingalits. Considrons linstance h10, 8, 3, 2i
que nous rsolvons avec le solveur Gecode en intgrant la technique dlimination
de symtries LDSB sur le modle avec ingalits. Dans le tableau 4.1, nous mon-
trons les deux solutions sur le modle avec galit et le modle avec ingalits. La
paire de lignes en gras contient deux chevauchements, alors que les deux lignes en
gras/italique contient un seul chevauchement.
Table 4.1 Les deux solutions gnres pour P Dh10, 8, 3, 2i, en appliquant lapproche de
Flener et al. sur le modle avec galit et lapproche PPC sur le modle avec ingalits
Dans la suite du document, nous allons voir que le modle PPC intgrant les
symtries permet damliorer nettement les performances de lapproche de Flener
et al. sur de nombreuses instances du problme, en considrant les ingalits ; les
solutions obtenues ont un taux de chevauchement meilleur permettant une plus
grande diversification des portefeuilles.
84
4.3 Approche base sur la Programmation en Nombres En-
tiers (PLNE)
La programmation linaire (PL) (Bisschop, 2006) a t dveloppe au dbut
de lre de la programmation mathmatique. Elle demeure la plus utilise dans le
domaine de loptimisation des modles contraintes, en raison de lexistence dune
vaste thorie, la disponibilit des mthodes efficaces de rsolution, et lapplicabilit
de la programmation linaire sur de nombreux problmes pratiques.
La programmation linaire en nombres entiers est un sous-domaine de la PL,
avec des variables de dcisions de type entier.
Preuve
Soient les contraintes quadratiques
85
On peut facilement dmontrer que le systme (4.3) est quivalent la contrainte
Zikj = Mi,j Mk,j . Il suffit de vrifier que ces deux systmes ont les mmes solutions
en numrant les huit cas de la table de vrit de la formule Zikj = Mi,j Mk,j .
En remplaant le produit Mi,j Mk,j par la variable Zikj et en introduisant les
contraintes (4.3) de linarisation, on obtient le modle linaire (4.1)
2
Le modle linaire (5.1) donn ci-dessus regroupe :
v(v1)
2
b variables de linarisation plus vb variables du modle quadratique, ce
2
qui donne v(v1)
2
b + vb, soit v b+vb
2
au total.
2 (v(v 1)b contraintes de linarisation et v + v(v1)
3
2
contraintes du modle
(1+3b)v 2 +(13b)v
initial, ce qui donne au total 2
contraintes.
P
i 1..v, j1..b Mi,j = r
i 1..v, k > i, bj=1 Zikj
P
i 1..v, k > i, Zikj Mij
i 1..v, k > i, Zikj Mkj
P DlinLex hv, b, r, i i 1..v, k > i, Zikj Mij + Mkj 1
i 1..v, j 1..b, Mi,j {0, 1}
i 1..v, j 1..b, k, Zikj {0, 1}
i 1..v 1, bj=1 Mi,j .2(j1b) bj=1 Mi+1,j .2(j1b)
P P
j 1..b 1, vi=1 Mi,j .2(i1v) vi=1 Mi,j+1 .2(i1v)
P P
(4.4)
Preuve
Soit M la matrice v b de variables 0 1 manipules dans le modle (4.1). Toute
permutation entre une ligne quelconque et une autre ligne quelconque garde intactes
les solutions du modle (P D). De mme, permuter une colonne et une autre colonne
prserve lensemble des solutions. En consquence, tant donne une solution du
problme, on peut obtenir les autres solutions symtriques en permutant les lignes
et/ou les colonnes.
86
Nous supposons que Mi,1..b et Mi+1,1..b sont les deux vecteurs reprsentant les
deux lignes successives dindices i et i + 1 de M . De mme sur les colonnes, soient
M1..v,j et M1..v,j+1 les deux vecteurs reprsentant les deux colonnes successives de
M . En appliquant la relation dordre lexicographique 6Lex que nous avons introduit
dans la section 4.4.2, on aura :
Injecter ces deux types de contraintes dans le modle vitera de trouver les solu-
tions symtriques au niveau lignes et/ou colonnes. On doit dmontrer que les deux
contraintes (4.5) et (4.6) sont respectivement quivalentes aux deux contraintes ajou-
tes du modle (4.4) :
b
X b
X
(j1b)
i 1..v 1, Mi,j .2 Mi+1,j .2(j1b) (4.7)
j=1 j=1
Xv Xv
j 1..b 1, Mi,j .2(i1v) Mi,j+1 .2(i1v) (4.8)
i=1 i=1
Par le fait que les variables Mi,j sont binaires, les deux ordres lexicographiques
(4.5) et (4.6) peuvent tre traduits numriquement vers les deux contraintes (4.7) et
(4.8). Linverse est aussi vrai.
2
Le nombre de contraintes ajoutes pour liminer les symtries ligne et colonne est
(v 1) + (b 1) qui est ngligeable par rapport au nombre de contraintes contenues
dans le P L initial (4.1). Dans la section exprimentale de ce chapitre, la table 4.3
montre clairement que le nombre de contraintes ajoutes dans les instances tudies
est ngligeable.
87
Le CSP propos CSPP D comporte la matrice des variables X et la matrice des
variables de rification P . Nous avons fait appel deux contraintes globales connues
en P P C :
1. La contrainte globale LIN EAR, dont la syntaxe est
LIN EAR(V ECT EU R, CT R, V AL)
o V ECT EU R est le vecteur dont on veut sommer les composantes, CT R
{<, >, =, 6, >}. La relation CT R doit tre vrifie entre le rsultat de la somme
calcule et la valeur dsigne par V AL. RowX (i) dsigne la ligne i de la matrice
X.
2. La contrainte globale AN D dont la syntaxe est
AN D(V AR, V ARIABLES)
o V ARIABLES est une suite de variables 0-1 :
V AR1 , V AR2 , ..., V ARn (n 2)
et V AR est une variable dfinie par lgalit V AR = V AR1 V AR2 ...V ARn .
En fait, les contraintes c1 , c2 et c3 expriment la forme usuelle :
P
c1 : j1..b Xi,j = r, i 1..v
c2 : Pi,t,j = Xi,j Xt,j , i 1..v, t > i, j 1..b
c :P
3 j1..b Pi,t,j , i 1..v, t > i
88
Proposition 4.4.5 La symtrie ligne dans le problme (P D) est une symtrie syn-
taxique.
Preuve
Soit M la matrice solution de taille v b du problme (P D). Pour montrer
syntaxiquement que (P D) admet une symtrie ligne, nous devons prouver que la
matrice M lg obtenue aprs :
permutation de deux lignes quelconques,
et le reste des variables restent inchanges,
vrifie les contraintes ligne et de chevauchement du problme (P D).
Les contraintes ligne :
Soient RowM (i) = [V0 , V1 , ..., Vb1 ] et RowM (i0 ) = V00 , V10 , ..., Vb1
0
les lignes
respectives i et i0 de la matrice solution M . En appliquant une permuta-
tion sur les lignes RowM (i) et RowM (i0 ), et en laissant le reste des lignes in-
changes, nous obtenons la matrice M lg avec RowM lg (i0 ) = [V0 , V1 , ..., Vb1 ] et
RowM lg (i) = V00 , V10 , ..., Vb1
0
.
Puisque M est une matrice solution, les contraintes ligne :
P
M =r
P j1..b i,j
j1..b Mi0 ,j = r
sont vrifies. Nous avons RowM lg (i0 ) = RowM (i) et RowM lg (i) = RowM (i0 ),
ce qui donne les deux contraintes ligne par rapport M lg :
P lg
j1..b Mi0 ,j = r
P lg
j1..b Mi,j = r
vrifies.
Par consquent, la permutation de nimporte quelle paire de lignes dans une
matrice solution gnre une matrice solution prservant la consistance des
contraintes ligne.
Les contraintes de chevauchement :
Puisque la matrice M est une matrice solution, alors :
le chevauchement entre la ligne i et une ligne quelconque de M est 6 ,
et le chevauchement entre la ligne i0 et une ligne quelconque de M est 6 .
Sachant que RowM (i) = RowM lg (i0 ) et RowM (i0 ) = RowM lg (i), nous constatons
que la matrice Mlg rsultant de la permutation reprsente :
le chevauchement entre la ligne i0 et une ligne quelconque de M lg est 6 ,
et le chevauchement entre la ligne i et une ligne quelconque de M lg est 6 .
Ainsi, les contraintes de chevauchement sont vrifies dans la matrice M lg .
Par consquent, la permutation de nimporte quelle paire de lignes dune matrice
solution de P D, gnre une matrice solution prservant la consistance de lensemble
des contraintes. Ce qui implique que le problme (P D) contient une symtrie ligne.
2
89
Preuve
Soit M la matrice solution de taille v b rsolvant le problme (P D). Pour
dire que M admet une symtrie colonne, nous devons montrer que la matrice M cl
rsultant aprs :
permutation de deux colonnes quelconques,
et le reste des variables invariant,
respecte les contraintes ligne et de chevauchement du problme P D.
Les contraintes ligne :
Soient ColM (c) = [V0 , V1 , ..., Vb1 ] et ColM (c0 ) = V00 , V10 , ..., Vb1
0
, avec c < c0 ,
les colonnes respectives c et c0 de la matrice solution M . En appliquant une
permutation sur les colonnes ColM (c) et ColM (c0 ), et en laissant le reste des co-
cl 0
lonnes invariantes,
0 nous0
la matrice M avec colM cl (c ) = [V0 , V1 , ..., Vb1 ]
obtenons
0
et colM cl (c) = V0 , V1 , ..., Vb1 .
Puisque M est une matrice solution, les contraintes ligne :
P
i 1..v, j1..b Mi,j = r
sont vrifies, alors :
P P P
i 1..v, j1..c1 Mi,j + Mi,c + jc+1..c0 1 Mi,j + Mi,c0 + jc0 +1..b Mi,j = r
sont vrifies. En remplaant les lments de la matrice M par ceux de la
matrice Mcl , nous obtenons lcriture suivante :
cl cl cl
P P P
i 1..v, j1..c1 Mi,j + Mi,c0 + jc+1..c0 1 Mi,j + Mi,c + jc0 +1..b Mi,j =r
ce qui est quivalent :
cl
P
i 1..v, j1..b Mi,j =r
Par consquent, la permutation de deux colonnes dans la matrice solution,
donne toujours une solution.
Les contraintes de chevauchement :
Puisque M est une matrice solution, les contraintes de chevauchement :
i 1..v, t > i, bj=1 Mi,j Mt,j
P
90
Par consquent, la permutation de nimporte quelle paire de colonnes dune ma-
trice solution de P D, gnre une matrice solution prservant la consistance de len-
semble des contraintes. Ce qui implique que le problme (P D) contient une symtrie
colonne. 2
En PPC, on peut liminer ces symtries directement en faisant appel la contrainte
globale dordre lexicographique :
Preuve
Soit M la matrice de taille v b rsolvant le problme (P D). Soit M 180 la
matrice obtenue aprs une rotation de 180. En fait, M 180 est obtenue partir de
M en appliquant les oprations suivantes :
1. Permutations des lignes : Dans la matrice M , on permute la ligne v 1 avec
la ligne 0, la ligne v 2 avec la ligne 1, ..., la ligne v/2 avec la ligne [si v est
pair alors (v + 2)/2 sinon (v + 3)/2]. En appliquant ces v/2 permutations, on
obtient la matrice intermdiaire M 0 .
2. Permutations des colonnes : Dans la matrice M 0 , on permute la colonne b 1
avec la colonne 0, la colonne b 2 avec la colonne 1, ..., la colonne b/2 avec
la colonne [si b est pair alors (b + 2)/2 sinon (b + 3)/2]. En appliquant ces b/2
permutations, on obtient la matrice intermdiaire M 00 .
3. La matrice M 00 est videmment la matrice M 180
2
En somme, nous disposons de trois symtries dans le modle (P D) : ligne, co-
lonne et rotationnelle de 180. En PPC, trois techniques ont t dveloppes pour
implmenter les symtries : statique, dynamique et mixte. Pour plus de dtails sur
ces trois techniques, nous renvoyons le lecteur la section 2.4.
En se basant sur le modle CSPP D , nous avons opt pour trois stratgies pour
implmenter llimination des trois symtries :
1. Llimination des symtries ligne et colonne statiquement en utilisant lordre
lexicographique (Flener et al., 2002, 2009). Ceci en intgrant deux contraintes
supplmentaires dans CSPP D .
91
2. Llimination des symtries ligne et colonne dune manire dynamique, en adop-
tant la mthode LDSB (Mears et al., 2014) dcrite dans la section 2.5.2.
3. Llimination des symtries ligne et colonne via la mthode Lex et LDSB, ceci
en appliquant :
la relation 6Lex sur les lignes (ou sur les colonnes).
la mthode LDSB pour liminer les symtries au niveau des colonnes (ou au
niveau des lignes).
4. En dernire position, nous introduisons la symtrie rotationnellle de 180, pour
la traiter avec LDSB.
CSPP D
CSPP DLEX c4 : LEX_GREAT EREQ(RowX (i), RowX (i + 1)), i 1..v 1
c5 : LEX_GREAT EREQ(ColumnX (j), ColumnX (j + 1)), j 1..b 1
(4.10)
CSPP DLEX alimente le modle CSPP D avec deux contraintes supplmentaires
pour llimination des symtries ligne et colonne. Ces deux contraintes ajoutes font
appel la contrainte globale LEX_GREAT EREQ dont la syntaxe est :
92
4.5.1 Approche PLNE
Lapproche exploite dans la ralisation du solveur SCIP diffre des travaux qui
lont prcd par rapport au niveau de lintgration. SCIP combine les techniques
se la PPC, SAT et PLNE au plus bas niveau de la plate-forme. En particulier, tous
les algorithmes de recherche oprent sur un seul arbre de recherche, qui permet
une interaction troite entre ces techniques. Par exemple, les composantes de la
PLNE peuvent utiliser des heuristiques de dcision qui se basent sur des statistiques,
recueillies par des algorithmes de la PPC ou vice versa. Les deux paradigmes PLNE
et PPC peuvent utiliser linformation duale fournie par le PL aprs relaxation du
sous-problme en cours. En dautres termes, SCIP permet dexploiter diffrents
algorithmes de diffrentes techniques, savoir :
la propagation des domaines des variables par des algorithmes spcifiques ap-
pliqus sur les contraintes,
la rsolution des programmes linaires PL aprs relaxation du modle repr-
sentant le problme,
le renforcement du modle PL avec les techniques de Branch & Cut,
lanalyse des sous-problmes irralisables pour dduire une connaissance glo-
bale et utilisation de linstance traite du problme.
Le tableau 4.3 dcrit chaque instance par ses paramtres et le nombre de va-
riables quelle contient. Pour chacun des modles (4.1) et (4.4), nous introduisons
via les colonnes respectives PD-SCIP et PD-SCIP-Lex le nombre de contraintes quil
regroupe ainsi que les temps CPU raliss.
93
Table 4.3 Les rsultats exprimentaux obtenus avec SCIP
Nous constatons que la colonne PD-SCIP montre lchec de SCIP dans la rso-
lution de quelques instances. Avec llimination des symtries lignes et des symtries
colonnes, il y a seulement deux instances nouvellement rsolues, et qui taient in-
solvables sans limination de symtries. Cependant, de nombreuses instances qui
taient rsolues sans liminations de symtries, nont pas t rsolues en intgrant
les symtries.
La Figure 4.1 illustre lvolution des temps CPU sous lenvironnement SCIP en
fonction du nombre de variables des instances, pour la rsolution du modle (4.1) et
(4.4), dsigns respectivement par les courbes PD et PD-Lex.
Figure 4.1 Comparaison des temps CPU raliss sous SCIP avec et sans limination de
symtries, en fonction du nombre de variables des instances
94
Daprs la Figure 4.1 qui contient les temps CPU raliss sur les instances rsolues
en moins dune heure avec la PL, nous constatons que les deux PLs (4.1) et (4.4)
sont trs proches en temps dexcution jusqu ce quon arrive linstance Inst6
o on observe la divergence de la courbe -PD-Lex-, ce qui reflte la lourdeur de
llimination des symtries en PL.
Limplmentation des diffrents CSPs (e.g., CSPP D , CSPP DLEX ) avec ou sans
limination des diffrentes symtries a t ralise dans lenvironnement Gecode.
Dans le tableau 4.4, nous introduisons les temps CPU obtenus via les diffrentes
implmentations ralises, savoir :
1. Rsolution de CSPP D (4.9) sans aucune prise en considration des trois sym-
tries. Elle est note par PD.
2. Rsolution de CSPP DLEX (4.4) avec limination des symtries ligne et colonne
avec la mthode Lex. Elle est note par PDLex.
3. Rsolution de CSPP D (4.9) avec limination des symtries ligne et colonne avec
la mthode LDSB. Elle est note par PDSym2LDSB.
4. Rsolution du CSP avec limination des symtries lignes avec la mthode
Lex et des symtries colonnes avec la mthode LDSB. Elle est note par
PDLexLDSB.
5. Rsolution de CSPP D (4.9) avec limination des trois symtries avec la mthode
LDSB. Elle est note par PDSym3LDSB.
La premire colonne de la table exprimentale 4.4 introduit les instances traites,
dans lordre croissant par rapport au nombre de variables. Les colonnes 2, 3, 4 et 5
introduisent les temps CPU raliss par les trois types de rsolutions cites ci-dessus.
95
Table 4.4 Les rsultats exprimentaux obtenus avec Gecode
La premire remarque quon peut prononcer sur le tableau 4.4, est lchec de
lapplication de llimination des deux symtries (ligne et colonne) avec la mthode
Lex rsoudre la moiti des instances en moins dune heure. Ceci est d la nature
partielle de la mthode Lex (voir la section 2.5.1). Nous constatons que la rsolution
avec une limination de symtries de type LDSB donne des rsultats meilleurs que
les deux autres cas.
Pour la comparaison entre les mthodes les plus rentables : PD, PDSym2LDSB,
PDLexLDSB et PDSym3LDSB, nous introduisons la figure 4.2. Dans cette der-
nire, nous analysons quatre implmentations par rapport au temps CPU sur les
instances rsolues en un temps infrieur ou gal une heure.
Figure 4.2 Comparaison des temps CPU raliss avec les diffrentes implmentations
PPC, en fonction du nombre de variables des instances
96
A travers les courbes traces sur la Figure 4.2, nous mettons deux conclusions :
Dans la Table 4.5, nous introduisons dans les colonnes 2 et 3 les temps CPU
raliss avec les meilleures mises en ouvre sous SCIP et sous Gecode savoir :
PD-SCIP et PDSym3LDSB et ceux de Flener et al.
Dans la quatrime colonne nous introduisons les temps dexcution avec le type de
modle adopt dans (Flener et al., 2007) : le modle ensembliste avec simplification
des contraintes de chevauchement et/ou le modle BIBD correspondant au problme
(P D). Sachant que les exprimentations de (Flener et al., 2007) ont t ralises sur
une machine avec un processeur AMD Athlon XP 2400+ qui est plus lent que notre
machine (Intel CPU E5-2603) avec un facteur 8 1 En somme, le temps de lapproche
de Flener et al. doit tre divis par 8.
97
Table 4.5 Les meilleurs rsultats exprimentaux obtenus avec lapproche exacte
Nous introduisons via la Figure 4.3, deux courbes -PD- et -PDSym3LDSB- qui
dsignent respectivement la rsolution sous lenvironnement SCIP sans limination
de symtries et la rsolution sous lenvironnement Gecode avec llimination des
trois types de symtries. Ces deux courbes introduisent les temps CPU raliss sur
les instances rsolues en un temps infrieur ou gal une heure.
Figure 4.3 Comparaison des meilleurs temps CPU raliss sous Gecode et SCIP en
fonction du nombre de variables des instances
98
et la stabilit de la courbe -PDSym3LDSB- et dont les temps CPU raliss sont
raisonnables.
4.6 Conclusion
Dans ce chapitre nous avons introduit les deux approches exactes adoptes pour
apprhender le problme P D : la programmation linaire en nombres entiers (PLNE)
et la programmation par contraintes (PPC).
Notre problme est fortement symtrique. Flener et al. ont exploit les symtries
ligne et colonne dtectes dans le problme ensembliste (P D) avec galits. Nous
avons formalis ces symtries dans un cadre matriciel sur le domaine 0-1. Nous avons
introduit la symtrie rotationnelle de 180, renforant plus la prise en compte des
symtries du problme.
Nous avons linaris le modle quadratique (P D), nous permettant ainsi de faire
appel aux solveurs PLNE. Nous avons intgr les symtries ligne et colonne dans le
modle linaris.
Par la suite, nous avons prsent le modle PPC du problme (P D). Ensuite nous
avons introduit les deux types dlimination de symtries statique et dynamique
travers les mthodes respectives Lex et LDSB. En dernire position nous avons
propos une approche dhybridation entre les mthodes dlimination statique via
Lex et dlimination dynamique via LDSB.
Nous avons expriment lensemble de tous les modles PPC et PLNE prsents,
nous permettant de tirer les conclusions suivantes :
1. Lintgration des contraintes dlimination des symtries ligne et colonne en
PLNE naccrot pas vraiment le nombre de contraintes. Le modle PLNE avec
limination de symtries na pas amlior notablement les performances du PL
initial. Cependant, certaines instances qui taient insolvables sans limination
de symtries, ont t rsolues grce lintgration des symtries.
2. Llimination des symtries avec LDSB, applique sur CSPP D savre beau-
coup plus efficace par rapport la PLNE et les autres types dliminations de
symtries.
99
100
Conclusions et perspectives
Dans cette thse, nous avons apprhend le problme de conception des porte-
feuilles, issu de lingnierie des finances not P D (Portfolio Design). Cest un pro-
blme qui a t formul sous forme dun modle ensembliste simplifi et abord par
(Flener et al., 2007) avec une approche systmatique base sur les techniques de la
Programmation Par Contraintes (PPC).
Lobjectif principal de ce travail est de rsoudre le problme P D sans simpli-
fication, afin de concevoir des portefeuilles de meilleure qualit, et en un temps
raisonnable. Ceci en utilisant diffrentes techniques de rsolution : approches (in-
compltes) et exactes (compltes) via diffrents environnements de modlisation.
Dans ce chapitre, nous commenons par un rappel de nos contributions, puis nous
prsentons les conclusions gnrales de notre travail. Finalement, nous terminons
avec des perspectives.
101
Les mthodes locales simples : (Lebbah et Lebbah, 2015a) nous avons appliqu
trois approches, savoir le recuit simul, IDWalk et la mthode taboue, en
deux versions : avec une solution initiale alatoire et avec une solution initiale
calcule.
Les mthodes locales voisinage variable : nous avons mis en uvre la m-
thode VNS basique (Lebbah et Lebbah, 2015b) et la mthode VNS biais
(appele skewed VNS et note SVNS).
Les mthodes locales population : (Lebbah et Lebbah, 2012) nous avons ap-
pliqu la mthode GWW.
Concernant les mthodes simples, nous avons propos un algorithme glouton qui
calcule la solution initiale (solution de dmarrage). Cet algorithme nous a per-
mis de dmarrer avec une solution initiale calcule et qui reprsente moins de
conflits (contraintes violes) par rapport une solution initiale gnre alatoire-
ment. Nous avons ralis les diffrentes mises en uvre sous lenvironnement open-
source INCOP, un outil qui a t conu pour le traitement des CSP linaires et les
CSP pondres, disposant des mthodes locales du recuit simul, de IDWalk, de la
mthode taboue et de la mthode population GWW. Nous avons implment sous
INCOP de nouvelles classes et de nouvelles mthodes, afin dy intgrer le traitement
des CSPs n-aires, des mthodes voisinage variable et des diffrentes fonctions de
voisinage et des fonctions dvaluation. Ce qui nous a permis dexprimenter conve-
nablement lensemble des mthodes proposes.
Pour valuer exprimentalement les mthodes approches proposes, nous avons
introduit au niveau de chacune des trois catgories, des tableaux exprimentaux qui
mettent en avant lapport de chaque mthode travers diffrents critres (e.g., le
temps dexcution, le nombre de succs, le nombre de conflits et la moyenne des taux
de chevauchement). Nous avons par la suite intgr des courbes de performance, afin
de dceler la ou les mthode(s) de meilleures performances.
Suite nos propositions des mthodes approches, nous avons abord notre pro-
blme avec les mthodes compltes, en puisant dans la PLNE (Programmation Li-
naire en Nombres Entiers) et la PPC.
Suite la nature quadratique de notre modle matriciel, nous avons propos une
reformulation linaire exacte du modle initial. Pour exploiter la nature fortement
symtrique de notre problme, nous avons propos et intgr des contraintes linaires
pour casser les symtries ligne et colonne. Par la suite, nous avons expriment notre
modle PLNE avec et sans cassure de symtries, en exploitant le solveur open-source
SCIP.
Enfin nous avons fait appel aux techniques de la PPC. Nous avons introduit le
CSP correspondant au modle matriciel via des contraintes globales connues en PPC
(Beldiceanu et al., 2007). Les symtries ligne et colonne sont deux symtries dtec-
tes par (Flener et al., 2007), et rsolues avec une technique de cassure de symtrie
statique, base sur laddition de contraintes qui impose lordre lexicographique entre
les lignes et/ou les colonnes. Nous avons dtect une nouvelle symtrie, dite symtrie
de rotation de 180. Par la suite, nous avons exploit les techniques de cassure de
symtrie statique et dynamique. Plus prcisment, nous avons appliqu les mthodes
Lex (pour lordre lexicographique)(Flener et al., 2002) et LDSB (Lightweight Dy-
namic Symmetry Breaking) (Mears et al., 2014). La mise en uvre a t ralise sous
lenvironnement open-source Gecode, qui nous a permis de traiter notre problme
102
de diffrentes manires :
1. sans cassure de symtrie,
2. en appliquant une cassure des symtries ligne et colonne avec la mthode Lex
(mthode statique),
3. en appliquant une cassure des symtries ligne et colonne avec la mthode
LDSB (mthode dynamique),
4. en appliquant une cassure de symtrie mixte : Lex sur la symtrie ligne et
LDSB sur la symtrie colonne,
5. en prenant en considration la symtrie rotationnelle, nous avons appliqu la
mthode LDSB pour briser les trois types de symtries (ligne, colonne et
rotationnelle de degr 180).
Nous avons finalis ces mises en uvres avec des tableaux exprimentaux et des
courbes comparatives, afin de bien tudier et analyser les instances traites.
Les conclusions
Le problme doptimisation des portefeuilles financiers est un problme critique
qui peut tre gnralis vers dautres domaines en dehors de la finance. Le modle
matriciel que nous avions propos, par le fait quil respecte exactement les contraintes
imposes par le problme, nous a permis davoir des portefeuilles de qualit nette-
ment meilleurs en un temps raisonnable.
La mise en place de notre algorithme glouton pour la gnration de la solution
initiale, a permis aux mthodes locales simples damliorer les rsultats obtenus
en temps dexcution et en taux de succs, lexception de la mthode taboue qui
demeure inefficace. Cet algorithme, donne la possibilit aux mthodes locales simples
de dmarrer avec une solution initiale dont le nombre de conflits (contraintes violes)
incontestablement diminu par rapport une solution gnre alatoirement.
Lapplication des mthodes locales VNS et SVNS voisinage variable avec les
deux fonctions de voisinage Flip et Swap, a permis la proposition de nombreuses
mthodes locales simples. Les mthodes voisinage variable ralises avec le recuit-
simul, ont permis davoir une meilleure qualit des portefeuilles. La combinaison
avec le recuit-simul et la fonction de voisinage Swap a produit les solutions qui ont
le plus petit taux de conflits.
Concernant la mthode population, nous constatons que la combinaison GWW-
IDWalk est plus performante que GWW-Recuit-simul. Cette approche popula-
tion, applique sur notre problme sest avre moins performante que les approches
adoptant le changement systmatique du voisinage.
En somme, on peut dduire que :
Les performances des recherches locales simples et des recherches locales
voisinage variable demeurent les meilleures.
La mthode GWW partage le temps allou entre de nombreuses recherches,
pnalisant les recherches locales qui ont besoin de plus de temps pour converger
vers la solution. Cette conclusion exprimentale doit tre relativise au temps
limite de 200 secondes.
A propos des approches compltes, nous constatons que :
103
Lintgration des contraintes de cassure des symtries ligne et colonne dans le
modle PLNE a permis damliorer lgrement les performances de ce modle.
La cassure des symtries avec LDSB applique sur le modle PPC, savre
beaucoup plus performante par rapport au modle PLNE, ainsi que le modle
PPC intgrant la cassure statique des symtries.
Globalement, les temps CPU raliss avec la PPC se sont rvls trs compti-
tifs. Nos solutions constituent des portefeuilles de meilleures qualits par rap-
port celles de Flener et al. en raison de notre prise en compte des contraintes
dingalit.
Les perspectives
Dans cette thse nous avons apprhend le problme de conception des porte-
feuilles avec diffrentes approches et diffrentes techniques, ce qui nous a permis
dtudier et danalyser le problme de diffrents angles. En consquence, nous pou-
vons exprimer de nombreuses perspectives afin de poursuivre le prsent travail :
1. Nous prospectons la rsolution de notre problme avec une approche parallle
applique sur une mthode incomplte population. Ce qui nous permettra
daugmenter le nombre de particules et dexploiter profondment la notion de
population.
2. Nous voulons tudier lopportunit pour hybrider les recherches locales propo-
ses, notamment avec des mthodes dapprentissage permettant de choisir la
bonne recherche locale par rapport la nature du paysage.
3. Nous voudrons tudier et analyser les instances difficiles, paysages neutres
ou rugueux, afin de dtecter la particularit de ces instances qui les rend dures
rsoudre. Ceci pour pouvoir les aborder avec une approche meilleure avec
des propositions algorithmiques qui tirent encore plus profit de la smantique
particulire du modle (P D).
4. Les mthodes voisinage variable se sont avres les plus efficaces. Par cons-
quent, nous avons la perception de pouvoir raliser de meilleures performances
via des amliorations raliser sur la mise en uvre de ces mthodes. Nous
estimons, quil est possible de gnrer une version paralllise avec une bonne
synchronisation entre les diffrentes tapes de gnration des voisinages.
5. Nous pensons que les mthodes compltes mritent encore plus dinvestisse-
ments. Pour preuve, notre modle simple de cassure de symtries dans le mo-
dle PPC a permis davoir des rsultats comptitifs. Nos perspectives au niveau
des mthodes compltes sont les suivantes :
aborder le problme doptimisation (OP D) (Optimized Portfolio Design)
avec la PLNE et la PPC, notamment en exploitant les solutions des re-
cherches locales comme des bornes suprieures,
proposer un algorithme de cassure de symtrie plus adapt au contexte dop-
timisation (OP D),
r-exprimer notre problme PPC avec dautres contraintes globales qui peuvent
acclrer le processus de rsolution.
6. Nous esprons avoir lopportunit de combiner le principe des mthodes ap-
proches et celui des mthodes compltes, afin de tirer profit des avantages des
deux dans une approche hybride.
104
7. tudier la possibilit dexploiter les symtries du problme pour amliorer les
performances des mthodes de recherche locale.
8. La modlisation de notre problme en puisant dans les concepts de la thorie
des graphes est une piste explorer.
105
106
Bibliographie
107
Bhatt, R., Adams, A. et Clunie, J. (2005). Hidden risks in the cdo-squared
market, working paper 05.03.
Bisschop, J. (2006). Aimms Optimization Modeling. Paragon Decision Technology.
Dimitriou, T. et Impagliazzo, R. (1996). Towards an analysis of local optimiza-
tion algorithms. In Proceedings of the Twenty-Eighth Annual ACM Symposium
on the Theory of Computing, Philadelphia, Pennsylvania, USA, May 22-24, 1996,
pages 304313.
Dolan, E. D. et Mor, J. J. (2002). Benchmarking optimization software with
performance profiles. Math. Program., 91(2):201213.
Duffie, D. et Singleton, K. J. (2003). Credit Risk : Pricing, Measurement, and
Management. Princeton Series in Finance. Princeton University Press.
Flener, P., Frisch, A., Hnich, B., Jefferson, C., Kiziltan, Z., Miguel, I.,
Pearson, J. et Walsh, T. (2003). Breaking symmetries in matrix models : A
brief overview. In Proceedings of the Tenth Workshop on Automated Reasoning,
pages 2728.
Flener, P., Frisch, A. M., Hnich, B., Kiziltan, Z., Miguel, I., Pearson, J.
et Walsh, T. (2002). Breaking row and column symmetries in matrix models. In
Hentenryck, P. V., diteur : CP, volume 2470 de Lecture Notes in Computer
Science, pages 462476. Springer.
Flener, P., Frisch, A. M., Hnich, B., K ?z ?ltan, Z., Miguel, I., Pearson, J.
et Walsh, T. (2001). Symmetry in matrix models. In Proceedings of the CP01
Workshop on Symmetry in Constraints, pages 4148.
Flener, P., Pearson, J. et Reyna, L. G. (2004). Financial portfolio optimisation.
In CP, pages 227241. LNCS 3258, Springer Berlin Heidelberg.
Flener, P., Pearson, J., Reyna, L. G. et Sivertsson, O. (2007). Design of
financial CDO squared transactions using constraint programming. Constraints,
12(2):179205.
Flener, P., Pearson, J., Sellmann, M., Hentenryck, P. V. et gren, M.
(2009). Dynamic structural symmetry breaking for constraint satisfaction pro-
blems. Constraints, 14(4):506538.
Fonseca, G. H. G. et Santos, H. G. (2014). Variable neighborhood search based
algorithms for high school timetabling. Computers & OR, 52:203208.
Fontaine, M. (2013). Apport de la domposition arborescente pour les mthodes
de type VNS. Thse de doctorat, Universit de Caen Basse-Normandie. cole
doctorale SIMEM, Universit de Caen Basse-Normandie / Esplanade de la Paix
/ CS 14032 / 14032 CAEN cedex 5, France.
Gent, I. P., Harvey, W., Kelsey, T. et Linton, S. (2003). Generic SBDD
using computational group theory. In Principles and Practice of Constraint
Programming - CP 2003, 9th International Conference, CP 2003, Kinsale, Ireland,
September 29 - October 3, 2003, Proceedings, pages 333347.
108
Gent, I. P. et Smith, B. (1999). Symmetry breaking during search in constraint
programming. In Proceedings ECAI2000, pages 599603.
Gilkes, K. et Drexler, M. (2003). Drill-down approach for synthetic cdo squared
transactions. Rapport technique, Standard & Poors. RatingsDirect. Structured
finance-New York.
Ginsberg, M. L. (1993). Dynamic backtracking. J. Artif. Intell. Res. (JAIR),
1:2546.
Glover, F. et Laguna, M. (1997). Tabu Search. Kluwer Academic Publishers,
Norwell, MA, USA.
Godlewski, C., Hull, J., Merli, M., Hull, J., Godlewski, C. et Merli, M.
(2010). Gestion des risques et institutions financires, chapitre 16, pages 345363.
Pearson.
Guillaume, F., Jacobs, P. et Schoutens, W. (2008). Pricing and hedging of cdo-
squared tranches by using a one factor levy model. Rapport technique, Section of
Statistics-Department of Mathematics-Katholike Universitit Leuven, Department
of Mathematics, Celestijnenlaan 200 B, B-3001 Leuven, Belgium.
Hager, S. (2008). Pricing Portfolio Credit Derivatives by Means of Evolutionary
Algorithms, chapitre Collateralized Debt Obligations : Structure and Valuation,
pages 739. Springer, Berlin Heidelberg.
Hansen, P. et Mladenovic, N. (2009). Variable neighborhood search methods.
In Encyclopedia of Optimization, Second Edition, pages 39753989.
Henderson, D., Jacobson, S. H. et Johnson, A. W. (2003). The theory and prac-
tice of simulated annealing. In Glover, F. et Koshenberger, G. A., diteurs :
Handbook of Metaheuristics, volume 57, chapitre 8, pages 287319. International
Series in Operations Research and Management Science.
Hentenryck, P. V., diteur (2002). Principles and Practice of Constraint
Programming - CP 2002, 8th International Conference, CP 2002, Ithaca, NY, USA,
September 9-13, 2002, Proceedings, volume 2470 de Lecture Notes in Computer
Science. Springer.
Jarboui, B., Siarry, P. et Teghem, J. (2013). Mtaheuristiques pour
lordonnancement monocritre des ateliers de production. Productique. Recherche,
technologie, applications. Herms science publications.
Kirkpatrick, S., Jr., C. D. G. et Vecchi, M. P. (1983a). Optimization by simu-
lated annealing. Science, 220:671680.
Kirkpatrick, S., Jr., D. G. et Vecchi, M. P. (1983b). Optimization by simmu-
lated annealing. Science, 220(4598):671680.
Kiziltan, Z. (2004). Symmetry Breaking Ordering Constraints. Thse de doctorat,
Uppsala University. Department of Information Science. Computer Science Di-
vision, Department of Information Science, Computer Science, Kyrkogardsg. 10,
Box 513, Uppsala University, SE-751 20 Uppsala, Sweden.
109
Kurtz, D. et Pignard, T. B. (2004). Modlisation du risque de crdit. DEA
de statistique et modles alatoires en conomie et finance, Universit Paris 7-
Universit Paris 1, Le Centorial, 18 rue du 4 septembre, 75002 Paris.
Laurire, J. (1978). A language and a program for stating and solving combina-
torial problems. Artif. Intell., 10(1):29127.
Lawler, E. L. et Wood, D. E. (1966). Branch-and-bound methods : A survey.
Operations Research, 14(4):699719.
Lebbah, F. Z. et Lebbah, Y. (2012). Une approche de rsolution population
pour le problme du cdo carr. In Neuvime Colloque sur loptimisation et les
Systmes dinformation - du 12 au 15 mai, Tlemcen, Algrie, pages 128155.
Lebbah, F. Z. et Lebbah, Y. (2015a). A local search approach to solve a fi-
nancial portfolio design problem. International Journal of Applied Metaheuristic
Computing (IJAMC), 6(2):117.
Lebbah, F. Z. et Lebbah, Y. (2015b). VNS approach for solving a financial portfolio
design problem. Electronic Notes in Discrete Mathematics, 47:125132.
Lecoutre, C. (2013). Constraint Networks : Targeting Simplicity for Techniques
and Algorithms. ISTE. Wiley.
Marmion, M., Jourdan, L. et Dhaenens, C. (2013). Fitness landscape analysis
and metaheuristics efficiency. J. Math. Model. Algorithms, 12(1):326.
Marmion, M.-E. (2011). Recherche locale et optimisation combinatoire : De
lanalyse structurelle dun problme la conception dalgorithmes efficaces. Thse
de doctorat, Universit Lille 1 - cole Doctorale Sciences Pour lIngnieur Uni-
versit Lille Nord-de-France - Laboratoire dInformatique Fondamentale de Lille
(UMR CNRS 8022) - Centre de Recherche INRIA -Lille - Nord Europe.
Marmion, M.-E., Dhaenens, C., Jourdan, L., Liefooghe, A. et Verel, S.
(2012). Conception de recherche locale en prsence de neutralit. In ROADEF
2012 : 13e congrs de la Socit Franaise de Recherche Oprationnelle et dAide
la Dcision, Angers, France.
Marshall Hall, J. (1964). Applied combinatorial mathematics. chapitre Block
designs, pages 369405. Wiley, New York.
Mears, C., de la Banda, M. G., Demoen, B. et Wallace, M. (2014). Lightweight
dynamic symmetry breaking. Constraints, 19(3):195242.
Mladenovic, N. et Hansen, P. (1997). Variable neighborhood search. Computers
& OR, 24(11):10971100.
Neveu, B. (2005). Techniques de rsolution des problmes de satisfaction de
contraintes. Thse de doctorat, Universit de Nice-Sophia Antipolis.
Neveu, B. et Trombettoni, G. (2003). Incop : An open library for incomplete
combinatorial optimization. In CP, pages 909913. LNCS 2833, Springer Berlin
Heidelberg.
110
Neveu, B. et Trombettoni, G. (2004). Hybridation de gww avec de la recherche
locale. JEDAI, journal lectronique dintelligence artificielle : rsolution pratique
des problmes NP-Complets, 3.
Neveu, B., Trombettoni, G. et Glover, F. (2004). Id walk : A candidate list
strategy with a simple diversification device. In CP, pages 423437. LNCS 3258,
Springer Berlin Heidelberg.
Optra, O. (2006). Mieux apprhender les risques du portefeuille de ngociation.
Rapport technique, Direction de la Surveillance gnrale du systme bancaire-
Service des Affaires internationales. Banque de France-Revue de la stabilit finan-
cire. N 8.
Papadimitriou, C. et Steiglitz, K. (1998). Combinatorial Optimization :
Algorithms and Complexity. Dover Books on Computer Science Series. Dover
Publications.
Pedroso, J. P. (2001). Metaheuristics for combinatorial optimisation. Working Pa-
per 9/01, Centro de Investigao Operacional da Universidade de Lisboa, Centro
de Investigao Operacional, Faculdade de Cincias da Universidade de Lisboa,
1749-016 Lisboa, Portugal.
Prins, C. (1994). Algorithmes de graphes avec programmes en PASCAL. Eyrolles.
Puget, J.-F. (2006). An efficient way of breaking value symmetries. In AAAI, pages
117122.
Rgin, J.-C. (2004). Modisation et Contraintes Globales en Programmation par
Contraintes. HABILITATION A DIRIGER DES RECHERCHES, Universit de
Nice-Sophia Antipolis. ECOLE DOCTORALE STIC. Spcialit
c Informatique.
111
Schulte, C. et Tack, G. (2006). Views and iterators for generic constraint imple-
mentations. In Recent Advances in Constraints (2005), volume 3978 de Lecture
Notes in Artificial Intelligence, pages 118132. Springer-Verlag.
Schulte, C., Tack, G. et Lagerkvist, M. Z. (2010). Modeling and programming
with gecode.
Sherali, H. et Adams, W. (1999). A Reformulation-Linearization Technique for
Solving Discrete and Continuous Nonconvex Problems. Kluwer Academic Publi-
shing.
Tavakoli, J. M. (2008). Structured finance and collateralized debt obligations. J.
Wiley & Sons.
Walser, J. P. (1999). Integer Optimization by Local Search : A
Domain-independent Approach. Springer-Verlag, Berlin, Heidelberg.
Whetten, M. et Adelson, M. (2005). Cdos-squared demystified. Rapport tech-
nique, Nomura Fixed Income Research, Nomura Securities International, Inc. Two
World Financial Center, New York, NY 10281-1198.
Winston, W. L. (2004). Operations Research. Applications and Algorithms.
Brooks/Cole, 4th dition.
Wolpert, D. H. et Macready, W. G. (1997). No free lunch theorems for optimi-
zation. IEEE Transactions on Evolutionary Computation, 1(1):6782.
Wolsey, L. (1998). Integer Programming. A Wiley-Interscience publication. Wiley.
112
Rsum
Ce mmoire dcrit des approches algorithmiques de rsolution du problme de
conception des portefeuilles financiers provenant de lingnierie des finances. Il consiste
affecter aux portefeuilles des actifs qui doivent tre varis, permettant ainsi un com-
promis entre la maximisation de la rentabilit et la minimisation du risque de perte.
Ce problme est formalisable en terme dun programme quadratique sur le domaine
0-1.
Notre premire contribution porte sur la proposition de mthodes approches,
savoir les mthodes locales simples, les mthodes voisinage variable et une mthode
population. A ce niveau, nous proposons deux fonctions de voisinage et une fonction
cot qui tiennent compte de la smantique particulire des contraintes du modle.
Nous proposons aussi un algorithme glouton qui calcule une solution initiale de bonne
qualit. Notre mise en uvre informatique a montr lintrt de nos approches sur
des instances non triviales du problme.
Notre deuxime contribution introduit des dmarches compltes via la program-
mation linaire en nombres entiers (PLNE) et la programmation par contraintes
(PPC). Le modle initial propos par Flener et al. est pos dans un formalisme en-
sembliste. Justement, dans notre proposition dun modle en 0-1, les variables sont
toutes regroupes dans une seule variable matricielle, o les diffrentes symtries
du problme sexpriment dune faon immdiate et simple. Nous proposons une re-
formulation linaire exacte du modle quadratique qui nous permet dexploiter les
solveurs PLNE. Nous avons mis au point un modle contraintes traitable avec un
solveur PPC. Lintgration des symtries a permis dacclrer significativement les
performances du modle PPC.
Mots cls : Conception de portefeuilles financiers, VNS, Recuit Simul, IDWalk,
Programmation Par Contraintes, Cassure de symtries, Programmation Linaire en
Nombres Entiers.
Abstract
The aim of this thesis is to provide algorithms for solving the portfolio design
problem coming from financial engineering. It is a critical problem in equitable mana-
gement of clients portfolios. The problem can be formulated as a quadratic program
on the 0-1 domain.
In the first contribution of this work, we propose approximate approaches, namely
simple local search methods, variable neighborhood search methods and a population
based local search method. We introduce two neighborhood functions and an objec-
tive function which take into account the particular semantics of the constraints. We
propose also a greedy algorithm which enables to get an optimized initial solution.
We have implemented the proposed local search methods and showed that they are
efficient on significantly large problems.
The second contribution introduced exact approaches through integer linear pro-
gramming and constraint programming models. We propose a matricial model where
the different symmetries of the problem can be easily expressed. We have introduced
an exact linearization of the problem, which enables to exploit linear programming
solvers. We have also developed a constraint programming model. Breaking symme-
tries succeeded to boost significantly the performances of the CP model.
Keywords : Financial Portfolio Design, VNS, Simulated Annealing, IDWalk, Constraint
Programming, Symmetry Breaking, Integer Linear Programming.
113