Vous êtes sur la page 1sur 115

Thse

pour obtenir le grade de :

Docteur en Sciences

par

Fatima Zohra LEBBAH

Programmation par contraintes applique des


problmes issus des finances
(Approches de rsolution de contraintes pour loptimisation des portefeuilles financiers)

Thse soutenue le 16 Juin 2015 devant le jury compos de :

M. M.Fayal Khelfi Professeur (Examinateur)


Universit dOran 1, Ahmed Ben Bella
M. Belaid Benhamou Matre de Confrences (HDR) (Examinateur)
Universit de Aix-Marseille, France
M. Meziane Aider Professeur (Examinateur)
Universit des Sciences et de la Technologie
de Houari Boumediene (USTHB)
M. AMIR Abdessamad Matre de Confrences (A) (Examinateur)
Universit Abdelhamid Ibn Badis Mostaganem
M. Lakhdar Loukil Matre de Confrences (A) (Examinateur)
Universit dOran 1, Ahmed Ben Bella
M. Khalid Hachemi Matre de Confrences (A) (Invit)
Universit dOran 2 (IMSI)
M. Yahia Lebbah Professeur (Directeur de Thse)
Universit dOran 1, Ahmed Ben Bella

Laboratoire dInformatique et des Technologies de lInformation dOran (LITIO).


Remerciements

Je tiens tout dabord remercier M. Mohammed Fayal Khelfi qui ma fait


lhonneur de prsider le jury de ma soutenance et de juger le travail ralis.
Jadresse mes sincres remerciements aux membres du jury : M. Belaid Benha-
mou, M. Meziane Aider, M. Amir Abdessamad, M. Lakhdar Loukil et M. Khalid
Hachemi davoir accept dexaminer ce travail.

Je remercie mon frre et directeur de thse M. Yahia Lebbah de mavoir propos


ce sujet et de mavoir guide et conseille durant cette thse. Je le remercie pour sa
patience et sa pertinence tout au long de ces annes.

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.

Je tiens exprimer ma reconnaissance et ma profonde gratitude ma famille :


mes chres parents qui ont toujours t prsents pour moi, mes surs, mon frre
et leurs petites familles. En particulier, jadresse un grand merci Tassadit pour sa
patience et de mavoir toujours soutenue et encourage aller vers lavant.

1
tous ceux qui y ont cru ...

2
Table des matires

I Etat de lart 13

1 Ingnierie des finances et la problmatique de conception des por-


tefeuilles 15
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.2 Terminologie financire de base . . . . . . . . . . . . . . . . . . . . . 16
1.3 Risque financier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4 Obligations adosses des actifs (CDO) . . . . . . . . . . . . . . . . 17
1.4.1 CDO2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.4.2 Optimisation dun portefeuille financier et le CDO2 . . . . . . 19
1.5 Modles ensemblistes de conception des portefeuilles . . . . . . . . . . 20
1.5.1 Modle doptimisation des portefeuilles (OP D) . . . . . . . . 20
1.5.2 Modle de conception des portefeuilles (P D) . . . . . . . . . . 21
1.5.3 Rsolution du problme (P D) . . . . . . . . . . . . . . . . . . 22
1.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

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

3 Mthodes approches pour le problme de conception de porte-


feuilles 47
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.2 Modle matriciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.3 Exemple de motivation . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.4 Composants de base des recherches locales . . . . . . . . . . . . . . . 51
3.4.1 Fonction cot . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.4.2 Fonctions de voisinage . . . . . . . . . . . . . . . . . . . . . . 51
3.4.2.1 Fonction de voisinage flip . . . . . . . . . . . . . . . 51
3.4.2.2 Fonction de voisinage swap . . . . . . . . . . . . . . 52
3.5 Algorithme glouton pour calculer la solution initiale . . . . . . . . . . 53
3.6 Mthodes de recherche locale simple . . . . . . . . . . . . . . . . . . . 56
3.7 Mthodes de recherche locale voisinage variable (VNS) . . . . . . . 57
3.7.1 Recherche locale voisinage variable biaise (skewed VNS) . . 58
3.8 Mthode de recherche locale population GWW . . . . . . . . . . . . 59
3.9 Etude exprimentale . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.9.1 Mise en uvre des algorithmes sous INCOP . . . . . . . . . . 60
3.9.2 Protocole exprimental . . . . . . . . . . . . . . . . . . . . . . 60
3.9.3 Rsultats exprimentaux . . . . . . . . . . . . . . . . . . . . . 62
3.9.3.1 Exprimentation de lalgorithme glouton . . . . . . . 62
3.9.3.2 Recherches locales simples . . . . . . . . . . . . . . . 62
3.9.3.3 tude du paysage de rsolution avec recherche locale
simple . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.9.3.4 Recherche locale avec voisinage variable . . . . . . . 70
3.9.3.5 Mthode population GWW . . . . . . . . . . . . . 73
3.9.4 tude des profiles de performance . . . . . . . . . . . . . . . . 76
3.10 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

4 Mthodes exactes pour le problme de conception de portefeuilles 83


4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
4.2 Exemple de motivation . . . . . . . . . . . . . . . . . . . . . . . . . . 84
4.3 Approche base sur la Programmation en Nombres Entiers (PLNE) . 85
4.3.1 Linarisation du modle (P D) . . . . . . . . . . . . . . . . . . 85
4.3.2 limination des symtries sur le modle linaire . . . . . . . . 86
4.4 Approche PPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.4.1 Modlisation du problme (P D) en PPC . . . . . . . . . . . . 87
4.4.2 Symtries dans le problme (P D) . . . . . . . . . . . . . . . . 88
4.5 Etude exprimentale . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
4.5.1 Approche PLNE . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.5.1.1 Lenvironnement SCIP . . . . . . . . . . . . . . . . . 93
4.5.1.2 Rsultats exprimentaux . . . . . . . . . . . . . . . . 93
4.5.2 Approche PPC . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.5.2.1 Environnement GECODE . . . . . . . . . . . . . . . 95
4.5.2.2 Rsultats exprimentaux . . . . . . . . . . . . . . . . 95
4.5.3 Synthse des rsultats . . . . . . . . . . . . . . . . . . . . . . 97
4.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

4
Table des figures

1.1 Exemple de la structure dun CDO . . . . . . . . . . . . . . . . . . . 18


1.2 La structure typique dun CDO . . . . . . . . . . . . . . . . . . . . . 19
1.3 Exemple dune structure de CDO2 (Bhatt et al., 2005) . . . . . . . . 19
2.1 Illustration de la recherche VNS (Hansen et Mladenovic, 2009) . . . . 29
2.2 Exemple dun paysage lisse (Marmion, 2011) . . . . . . . . . . . . . . 32
2.3 Exemple dun paysage rugueux (Marmion, 2011) . . . . . . . . . . . . 32
2.4 Exemple dun paysage neutre . . . . . . . . . . . . . . . . . . . . . . 33
3.1 Exemple de la structure matriciel du modle (P D) . . . . . . . . . . 49
3.2 Le paysage de linstance P Dh16, 8, 3, 1i . . . . . . . . . . . . . . . . . 67
3.3 Le paysage de linstance P Dh19, 20, 9, 4i . . . . . . . . . . . . . . . . 68
3.4 Le paysage de linstance P Dh9, 37, 12, 3i . . . . . . . . . . . . . . . . 69
3.5 Profile de performance-RLS en fonction des nombres de succs et en
en fonction des Temps CPU . . . . . . . . . . . . . . . . . . . . . . . 78
3.6 Profile de performance-VNS/SVNS en fonction des nombres de succs
et en en fonction des Temps CPU . . . . . . . . . . . . . . . . . . . . 80
3.7 Profiles de performance des mthodes performantes en fonction des
nombres de succs et en en fonction des Temps CPU . . . . . . . . . 81
4.1 Comparaison des temps CPU raliss sous SCIP avec et sans limi-
nation de symtries, en fonction du nombre de variables des instances 94
4.2 Comparaison des temps CPU raliss avec les diffrentes implmen-
tations PPC, en fonction du nombre de variables des instances . . . . 96
4.3 Comparaison des meilleurs temps CPU raliss sous Gecode et SCIP
en fonction du nombre de variables des instances . . . . . . . . . . . . 98

5
6
Liste des tableaux

3.1 La solution de P Dh10, 37, 14, 6i avec lapproche VNS . . . . . . . . . 50


3.2 Le nombre moyen de chevauchements et les temps dexcution de lap-
proche de Flener et al. et lapproche VNS sur linstance P Dh10, 37, 14, 6i 50
3.3 Les instances exprimentes . . . . . . . . . . . . . . . . . . . . . . . 61
3.4 Comparaison du nombre de contraintes violes entre une configuration
initiale alatoire et celle gnre par lalgorithme 8. . . . . . . . . . . 63
3.5 Les temps CPU et les nombres de succs . . . . . . . . . . . . . . . . 64
3.6 Les taux moyen du nombre de contraintes non-satisfaites et du nombre
de chevauchements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.7 Rsultats exprimentaux en temps et en nombre de succs . . . . . . 71
3.8 moy-c and moy- results . . . . . . . . . . . . . . . . . . . . . . . . 72
3.9 Les temps CPU et les nombres de succs . . . . . . . . . . . . . . . . 74
3.10 Les taux moyens des nombres de contraintes et des chevauchements . 75
4.1 Les deux solutions gnres pour P Dh10, 8, 3, 2i, en appliquant lap-
proche de Flener et al. sur le modle avec galit et lapproche PPC
sur le modle avec ingalits . . . . . . . . . . . . . . . . . . . . . . . 84
4.2 La moyenne des chevauchements de linstance P Dh10, 8, 3, 2i . . . . . 84
4.3 Les rsultats exprimentaux obtenus avec SCIP . . . . . . . . . . . . 94
4.4 Les rsultats exprimentaux obtenus avec Gecode . . . . . . . . . . 96
4.5 Les meilleurs rsultats exprimentaux obtenus avec lapproche exacte 98

7
8
Introduction gnrale

La rsolution de contraintes est un problme combinatoire qui intresse de nom-


breux domaines, savoir lordonnancement des tches, la planification, lemploi du
temps, la vrification des systmes, etc. Dans ce mmoire, nous nous intressons
un systme de contraintes issu de lingnierie des finances, savoir le problme de
conception des portefeuilles financiers. Il modlise une problmatique critique dans
la gestion quitable des portefeuilles des clients dans un tablissement financier,
savoir viter ce que des portefeuilles soient profitables au dtriment du reste des
portefeuilles.

Problmatique de conception des portefeuilles


tant donn un ensemble de portefeuilles appartenant des clients, ltablis-
sement financier est en charge daffecter ces portefeuilles un ensemble dactifs 1
dune faon fiable, cest--dire en minimisant le risque de perte, et en maximisant le
gain. Mettre les meilleurs actifs dans un sous-ensemble de portefeuilles exposerait le
reste des portefeuilles aux actifs risqus, et affecter des actifs appartenant au mme
secteur un portefeuille augmente le risque de perte. Par consquent, la solution
consisterait donc trouver une solution de compromis et dquilibre entre les affec-
tations des actifs aux diffrents portefeuilles. En dautres termes, il est ncessaire de
partager entre tous les portefeuilles, et dune faon quitable, les actifs gagnants, et
les actifs risqus.
Diffrents modles de gestion de portefeuilles ont t proposs dans la littrature,
comme par exemple le modle CDO (Collateralized Debt Obligation). Un CDO est
un portefeuille qui est divis en tranches dactifs. Dans un modle CDO2 , chaque
portefeuille est compos dun ensemble de tranches de portefeuilles CDO.
La problmatique complexe de laffectation des tranches des actifs aux porte-
feuilles des clients, est 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 por-
tefeuille, la contrainte dquit garantit que ce portefeuille contiendra un tas dautres
actifs de natures diffrentes.
De nombreux modles daffectation des portefeuilles existent dans la littrature.
Nous utilisons dans ce mmoire le modle not (P D) (Portfolio Design) propos par
(Flener et al., 2007). Ce modle est fortement combinatoire, car il comprend de nom-

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

Ingnierie des finances et la


problmatique de conception des
portefeuilles

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.

1.2 Terminologie financire de base


Commenons par introduire les dfinitions financires 1 de base qui font partie
du jargon quotidien des banques et des entreprises.
Crdit : Cest une mise disposition dun prt entre un crancier (prteur) et un
dbiteur (emprunteur).
Crance : Elle dsigne le droit pour le crancier (prteur) dexiger du dbiteur la
remise de cette somme dargent.
Dbiteur : Cest une personne, physique ou morale, qui est redevable envers une
autre personne, physique ou morale, dune somme dargent ou dune autre
forme de crance.
Dette : Cest une prestation de somme dargent due par un dbiteur un crancier
(dit aussi prteur) .
Liquidit : La liquidit mesure la capacit dun dbiteur rembourser ses dettes
dans le cas de la poursuite de ses activits. Dautre part, la solvabilit se place
dans le cas de cessation des activits.
Emetteur : Les metteurs sont les agents, publics ou privs, la recherche de
ressources destines financer leurs investissements.
Titre : Un titre financier est dfini par une suite de flux de trsorerie qui sont plus
ou moins risqus. Il est aussi reprsentatif dune partie du capital dune socit
(actions) ou dune partie de sa dette (titres de crances).
Obligation : Une obligation est un titre de crance (ou de dette).
Titrisation : On appelle titrisation la technique de gestion qui consiste crer une
socit (appel Special Purpose Vehicle - SPV) qui va : (1) acheter un ensemble
de crances peu liquides ; (2) mettre dautres crances des investisseurs. La
titrisation prsente un intrt pour les banques puisquelle leur permet de trans-
frer leur excs de risque de crdit des investisseurs, de la mme manire que
les particuliers transfrent le risque de sinistre aux compagnies dassurances.
Actif : Un actif est une source financire qui est susceptible de produire des revenus
et/ou des gains, en contrepartie dune certaine prise de risque.
1. Vu luniversalit des dfinitions, on sest inspir des sites financiers notamment http:
//www.trader-finance.fr/lexique-finance.html, http://www.lesechos.fr/finance-marches/
vernimmen/index.php, ou gnralistes comme http://fr.wikipedia.org.

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.

1.3 Risque financier


Les institutions financires sont affrontes diffrents risques relevant des grandes
catgories cites ci-dessous (Duffie et Singleton, 2003; Optra, 2006; Godlewski et al.,
2010) :
Le risque du march : Ce risque est li aux changements imprvus des prix et
des taux de change.
Le risque de crdit : Cest le risque de perte en cas de lvolution de la qualit
de signature de lmetteur (Kurtz et Pignard, 2004).
Le risque de liquidit : La liquidit dun instrument financier joue un rle es-
sentiel dans lhypothse de dtention par une banque de ce dernier et donc
dans lapprciation du niveau de couverture par des fonds propres dont il doit
faire lobjet. Par consquent, le risque de liquidit se manifeste dans le cas o
les cots dajustement des positions financires augmentera sensiblement ou
quune entreprise perdra laccs au financement.
Le risque oprationnel : Cest le risque de fraude, de failles systmes, derreurs
de ngociation (e.g., mauvaise valuation sur une affaire), et de nombreux
autres risques organisationnels internes.
Le risque systmique : Une crise systmique implique une crise financire sys-
tme, en dautres termes une crise qui peut toucher de nombreux secteurs
lchelle mondiale, ce qui peut entraner des entreprises en faillites, puis un
effondrement du systme financier mondial.
Les risques rglementaires et juridiques : Cest le risque que des changements
dans la rglementation, des normes comptables, des codes des impts, ou lap-
plication dun changement rglementaire ou juridique dune manire imprvue.
Ce qui peut entraner des pertes imprvues ou un manque de flexibilit.

1.4 Obligations adosses des actifs (CDO)


Le CDO est un type de portefeuille financier, qui est divis en tranches dactifs.
Chaque tranche est caractrise par un point dattachement et un point de dta-
chement ; le point dattachement dfinit le minimum permis de pertes et le point
de dtachement le maximum permis des pertes. La tranche est bien conue dans le
cas o les pertes estimes sont comprises entre le point dattachement et le point de
dtachement.
Le CDO (Tavakoli, 2008) est cr depuis que linstitution financire est sus-
ceptible davoir de nombreux niveaux de risques lis au diffrentes parties dune

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

Figure 1.1 Exemple de la structure dun CDO

Nous remarquons que E est la plus attractive, puis D, C, B, et A. Mais, dun


autre ct, les bnfices et le capital sont pays de manire squentielle, commenant
par la tranche senior et se terminant par la tranche equity. La tranche A est la seule
tre paye, puis la tranche B, et ainsi de suite, jusqu la tranche E. En outre, si
les pertes atteignent moins de 5 $, seulement la tranche E sera affecte. Si les pertes
sont entre 5 $ et 25 $, les tranches junior sont aussi affectes, sans que la tranche
senior le soit. En fait, si les pertes dpassent 25 $, la tranche senior est affecte. Pour
linstant, si seulement 90 $ vont tre pays, la tranche A fait 75 $, la tranche B 10
$, la tranche C 5 $, et finalement rien pour les tranches D+E.
En effet, les CDOs sont une innovation financire qui offre plus de liquidit en
conomie, en permettant aux institutions financires de vendre leurs produits finan-
ciers par tranches.

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.

Figure 1.2 La structure typique dun CDO

1.4.2 Optimisation dun portefeuille financier et le CDO2


Le CDO2 est caractris par les CDOs structurs en tranches (Figure 1.3), dont
chacune est dsigne par un point dattachement et un point de dtachement. Le
payement des bnfices, la perte au niveau des tranches et lchance venant de
toutes les tranches concernes sont accumuls et attribus aux diffrentes tranches
du CDO2 suivant les rgles de priorits (voir le dbut de la section 1.4).

Figure 1.3 Exemple dune structure de CDO2 (Bhatt et al., 2005)

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.

1.5 Modles ensemblistes de conception des portefeuilles


Diffrents travaux ont t raliss pour apprhender le problme de loptimisation
des portefeuilles financiers, mais ils ont la particularit de traiter le problme de point
de vue ingnierie des finances avec des visions particulires et partielles.
Dans (Flener et al., 2007), ils ont propos un modle ensembliste reprsentant
une vision plus globale du problme doptimisation des portefeuilles financiers puis
celui de conception des portefeuilles financiers. Dans cette section nous dtaillerons
les deux problmes, leurs modlisations et les diffrentes approches proposes dans
Flener et al.

1.5.1 Modle doptimisation des portefeuilles (OP D)


Un (OP D) (Optimized Portfolio Design) (Flener et al., 2007) est un modle
qui dcrit les relations existantes entre les diffrentes tranches du CDO2 . On consi-
dre, dans notre cas, que le portefeuille doit contenir v tranches et chaque tranche
comporte r actifs. Au niveau de chaque tranche, les actifs doivent tre choisis de
telle sorte que le nombre des actifs partags par toute paire de tranches ne doit pas
dpasser actifs. Ici on parle du chevauchement ou doverlapping.
Lunivers des actifs est de la taille 250 b 500. Un portefeuille typique est
contraint par 4 v 25 tranches, dont chacune est de taille r 100. La dfinition
1.5.1 suivante, donne par (Flener et al., 2007), dresse le modle daffectation (P D)
modlisant formellement loptimisation dun montage CDO2 .

Dfinition 1.5.1 (Optimized Portfolio Design : OPD) Soit V = {1, ..., v} un


ensemble de v tranches. Soit B = {1, ..., b} un ensemble de b actifs.

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.

Contrainte de chevauchement ou colonne Dite condition dquilibre, chaque paire


de tranches prsente au maximum lments en commun. On dsigne lover-
lap maximum.
i 6= j V :| Vi Vj | .
En somme, nous obtenons le modle global (OP D) ci-dessous o on voudrait
minimiser le degr de chevauchement :


min
j B : Bj V




i V : Vi B

OP Dhv, b, ri (1.2)

j B :| Bj | v



i V :| Vi |= r
i 6= j V :| V V |
i j

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.

1.5.2 Modle de conception des portefeuilles (P D)


Dans (Flener et al., 2007), Flener et al. ont russi calculer analytiquement une
borne infrieure de , donne par linquation (1.3).

d rvb e2 mod(rv, b) + b rvb c2 (b mod(rv, b)) rv


(1.3)
v(v 1)

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

Le problme (1.4) rsoudre est bien videmment un problme de satisfaction


de contraintes. Dans la suite du document, ce modle (P D) est dit problme de
conception des portefeuilles (portfolio design).
Le modle (P D) consiste concevoir les portefeuilles du CDO maitre partir
des tranches des CDOs sous-jacents. Mais au fait, ce modle est plus gnral et peut
tre exploit pour modliser un tas de situations o on veut exprimer un haut niveau
de diversification. Soit par exemple une chaine de b magasins appartenant la mme
enseigne commerciale. On dispose de v types de produits. On voudrait alimenter les
b magasins avec les v types de produits en sassurant que :
On alimente lensemble de tous les magasins avec exactement r units de
chaque type de produits.
Les magasins soient diffrents, diversifiant leurs contenances.
Cet exemple modlise la diversification au niveau des types de produits. On pourrait
poser le mme modle en diversifiant les cots des produits.

1.5.3 Rsolution du problme (P D)


En fait, Flener et al. ont constat une ressemblance entre le problme (P D)
et un autre problme pleinement tudi en optimisation combinatoire, le problme
(BIBD) (Marshall Hall, 1964)(Balanced Incomplete Block Designs) qui est dfini
comme suit :


j 1..b, Bj V
i 1..v, Vi B



BIBDhv, b, r, , ki j 1..b, | Bj |= k (1.5)
i 1..v, | V |= r

i



i 6= j 1..v, | V V |=
i j

En programmation par contraintes, (BIBD) est un problme qui a t bien


apprhend, y compris sur les grandes instances. Ceci en exploitant les diffrentes
techniques de cassure de symtries (voir la section 2.3.2). Flener et al. (Flener et al.,
2007) proposent une approche de rsolution aprs un passage du problme (P D)
vers un problme (BIBD) en calculant la valeur du paramtre k. Leur deuxime
proposition consiste dcomposer les grandes instances en m + 1 petites instances.
Pour le problme P D < v, b, r, >, nous obtenons la dcomposition suivante :

P Dhv, b, r, i = m P Dhv, b1 , r1 , 1 i + P Dhv, b2 , r2 , 2 i. (1.6)

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.

2.2 Mthodes locales


Dans cette section, nous dcrivons les mthodes approches, savoir les mthodes
de recherche locale simple (e.g. recuit simul, IDWalk et tabou), les mthodes
voisinage variable (e.g. VNS et SVNS) et une mthode population (e.g. GWW).

2.2.1 Mthodes de recherche locale simple


Le problme de conception des portefeuilles est un problme class difficile. Vu
son aspect combinatoire, les mthodes approches (ou locales) sont recommandes
pour obtenir une bonne solution en un temps efficace.
Dans cette section nous dcrirons les diffrents types de mthodes locales prises
en considration dans nos travaux.

2.2.1.1 Recuit simul

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

2.2.1.2 Mthode IDWalk


La mthode IDWalk (Intensification and Diversification Walk) (Neveu et al.,
2004) a t introduite pour offrir une meilleur efficacit en utilisant peu de para-
mtres. Lalgorithme 2 dtaille les tapes de IDWalk. Elle ncessite seulement deux
paramtres :
M N : le nombre de voisins maximal couvrir,
SN (spare neighbor) : le type de la remonte.
Considrant CS la solution courante et BS la meilleure solution. La mthode procde
en deux tapes :
Intensification : les M N voisins de la solution courante sont explores. On
choisit le meilleur voisin CN . Si CN est meilleure que BN alors BS est rem-
place par CN .

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

2.2.1.3 Recherche Tabou

La mthode tabou (Algorithme 3) a t introduite par Glover (Glover et Laguna,


1997). Elle est caractrise par la liste tabou T , qui contient les solutions tabou. Dans
une recherche tabou, nous commenons par une solution initiale x et on cherche la
meilleure solution x0 dans les voisins V (x) de x et qui ne figure pas dans T . On met

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

2.2.2 Mthode de recherche locale voisinage variable (VNS)


La Recherche Voisinage Variable RV V (Variable Neighborhood Search V N S)
(Mladenovic et Hansen, 1997) est une mta-heuristique rcente, ou une plate-forme
pour construire des heuristiques, tout en exploitant systmatiquement le principe
de changement de voisinages, dans la dcente loptimum local et pour sortir de la
valle qui la contienne.
La mthode VNS est dcrite par lalgorithme 4 et illustr dans la figure 2.1.
Comme le montre le schma de base de la mthode :
1. On prcise en premier lieu une srie de structures de voisinages, qui dfinissent
les voisinages qui entourent tout point x X de lespace des solutions.
2. Une recherche locale est applique, afin de mener vers un optimum local x.
3. Un point x0 est slectionn alatoirement dans le voisinage N1 (x) de x. Une
descente partir de x0 est ralise avec une mthode de recherche locale. Ce
qui mne vers un nouvel optimum local x00 . A ce niveau, trois rsultats sont
possibles :
(a) x00 = x, i.e. la solution obtenue est encore au fond de la mme valle ; dans
ce cas la procdure est ritre en utilisant un nouveau voisinage Nk (x),
k 2.
(b) x 6= x et f (x) (x), i.e. un autre optimum local doit figurer avec le
nouveau voisinage Nk(x), k>=2.
(c) x00 6= x et f (x00 ) < f (x), i.e., un autre optimum local, meilleur que celui
dj obtenu ; dans ce cas, la recherche est recentre autour de x00 et re-
commence avec le premier voisinage. Le dernier voisinage doit tre balay

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

Figure 2.1 Illustration de la recherche VNS (Hansen et Mladenovic, 2009)

29
2.2.2.1 Mthode Skewed Varibale Neighbourhood Search (SVNS)

Gnralement, la mthode VNS donne de meilleurs rsutats, compare une


recherche locale de descente (appele multistart). VNS est bien meilleure quand le
paysage des solutions reprsente de nombreux optima locaux. VNS a une facilit
pour visiter des voisins lointains. En consquence, il arrive que VNS se comporte
pratiquement comme une mthode multistart. Justement, une nouvelle variante,
dite SVNS (pour Skewed VNS), permet dy remdier en se permettant dintensifier
la recherche sans pour autant changer de voisinage.
Le schma modifi skewed VNS (SVNS ) (Mladenovic et Hansen, 1997), ou le
VNS biais est prsent par lalgorithme 5 SVNS. La rgle de relaxation recentre la
recherche en utilisant la place de f (x00 ) une fonction linaire dvaluation f (x00 )
(x, x00 ) o (x, x00 ) est la distance entre x et x00 et un paramtre. La mesure de
la distance entre deux solutions est pratiquement facile calculer, e.g. la distance de
Hamming quand les solutions sont dfinies par des vecteurs boolens ou la distance
Euclidienne dans le cas de solutions continues.

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

2.2.3 Mthode de recherche locale population GWW

Lalgorithme 6, GWW (Aldous et Pitman, 1994), est une mthode population,


qui explore diffrentes configurations en mme temps dans un espace de recherche
en grant une population de particules (solutions). Au dbut, les particules sont
distribues alatoirement et un seuil est fix au-dessus de la plus mauvaise solution.
A chaque itration, on diminue la valeur du seuil. Les particules dont les valeurs
sont suprieures au seuil sont dites des particules mortes, sinon elles sont dites
vivantes. Aprs la diminution du seuil, les particules mortes sont redistribues sur
les particules vivantes.

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

Dans (Neveu et Trombettoni, 2003), la marche alatoire a t remplace par une


mthode locale (e.g., la mthode tabou, le recuit simul, ...). Lalgorithme 6, ainsi
que dautres mthodes incompltes ont t implments dans la bibliothque INCOP
(Neveu, 2005; Neveu et Trombettoni, 2004).

2.2.4 tude des paysages


Le paysage du problme trait dpend de lapproche utilise, de la fonction de
voisinage et de la fonction dvaluation (Marmion et al., 2013) (Jarboui et al., 2013).
Il reprsente lvolution des mouvements raliss, ainsi que lvolution des solutions
trouves, dont lobjectif est de trouver loptimum global. Ltude dun voisinage
dune solution ou une valle dun paysage, est lie loptimum local trouv. Lalgo-
rithme 7 HillClimbing donne le comportement de la mthode locale dans ltape
dintensification, avec une solution initiale qui est gnralement, calcule via ltape
de diversification.

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.

Figure 2.2 Exemple dun paysage lisse (Marmion, 2011)

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.

Figure 2.3 Exemple dun paysage rugueux (Marmion, 2011)

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

On constate que la mtaheuristique applique stagne, ce qui fait perdre du temps


sans atteindre loptimum global. Pour rgler ce genre de problme (Jarboui et al.,
2013), on doit appliquer une mthode avec une bonne qualit dexploitation et une
bonne qualit dexploration.

2.3 Mthodes globales


En dpit de lapport des mthodes locales par rapport lefficacit du temps
dexcution, les mthodes globales demeurent infaillible par rapport loptimalit
de la solution calcule si elle existe.
Dans cette section, nous prsenterons des approches globales ; savoir : la Pro-
grammation Linaire en Nombres Entiers et la Programmation Par Contraintes.

2.3.1 Programmation linaire en nombres entiers (PLNE)


La programmation linaire (PL) est un outil de base en recherche oprationnelle.
Elle comprend des techniques puissantes qui permettent de modliser et de rsoudre
une multitude de problmes doptimisation. Rsoudre les problmes doptimisation
avec la PL consiste chercher le minimum (resp. le maximum) dune fonction f ,
tout en assurant la satisfaction dun systme dquations et dinquations linaires.
La difficult de la rsolution rside dans deux points :
1. dterminer lensemble des points qui satisfont les contraintes, puis
2. trouver leur minimum.
On distingue dans la programmation linaire, la programmation linaire en nombres
rels (o les variables sont continues) et la programmation linaire en nombres en-
tiers.
La programmation linaire en nombres entiers (PLNE) 2 (Wolsey, 1998; Wins-
ton, 2004) fournit des mthodes efficaces les plus exploites pour le traitement des
problmes doptimisation, notamment en raison de ses possibilits riches en modli-
sation. Un programme PLNE est un programme linaire (PL) o certaines variables
doivent tre entires, voire mme restreintes au domaine boolen {0, 1}. Ces variables
sont dites soumises des contraintes dintgrit 3 . En gnral, un modle PLNE im-
plique :
Un ensemble de variables mathmatiques de dcision ;
Un ensemble de contraintes linaires, o chacune exige quune expression li-
naire des variables de dcision est soit gale , infrieure , ou suprieure
une valeur relle ;
2. En anglais, Mixed-Integer Linear Programming (MILP, MIP).
3. Un problme de programmation linaire classique (PL) sera dit en variables continues.

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

o x reprsente le vecteur des variables de dcision, p est une valeur entire


positive, les valeurs cj , j = 1, ..., n sont appeles coefficients objectifs, A est une
matrice de coefficients de taille m n, et b est un vecteur du second membre de
taille m 1 associ au systme de contraintes linaires.
Pour rsoudre les PLNE, nous faisons appel la mthode de recherche arbo-
rescente par sparation et valuation (branch-and-bound en anglais) provenant du
domaine de la recherche oprationnelle. Cette mthode est essentiellement une ap-
proche diviser-pour-rgner (divide and conquer en anglais), i.e., dcomposer r-
cursivement le problme original en sous-problmes jusqu atteindre des problmes
faciles rsoudre. Pour plus de dtails, nous recommandons les rfrences (Winston,
2004; Wolsey, 1998; Papadimitriou et Steiglitz, 1998; Lawler et Wood, 1966).

2.3.2 Programmation par contraintes (PPC)


La programmation par contraintes PPC (Constraint Programming - CP en an-
glais) propose un paradigme de programmation dclarative, dsignant en mme temps
un formalisme et une algorithmique puissante pour modliser et rsoudre des pro-
blmes combinatoires (e.g., ordonnancement, planification, etc.). Elle prend ses ori-
gines dans les travaux de Laurire (Laurire, 1978), et a eu un dveloppement im-
portant (Hentenryck, 2002; Rossi et al., 2006; Rgin, 2011; Lecoutre, 2013) dans les
annes 1990 et 2000, en intgrant notamment des techniques de recherche opration-
nelle (Rgin, 2011).
La PPC est base sur la notion de rseau de contraintes, ou plus gnralement
de problme de satisfaction de contraintes CSP (Constraint Satisfaction Problem).
Un CSP P est dfini par un triplet P = hX, D, Ci o :
X est un ensemble de n variables X = {x1 , x2 , ..., xn }.
D est un ensemble de n domaines D = {D1 , D2 , ..., Dn }. D dnote le n-uplet
hD1 , ..., Dn i des domaines des variables, avec Di lensemble les valeurs dfinis-
sant la variable xi .
C est lensemble des t contraintes C = {c1 , c2 , ..., ct } du problme. Une contrainte
cj est dfinie par lensemble de tuples autoriss R(cj ) sur une squences de
variables vars(cj ) appele signature ou porte de la contrainte. La taille de
vars(cj ) est larit de la contrainte cj . R(cj ) est un sous-ensemble du produit
cartsien des variables de la squence vars(cj ).
Une instanciation (ou affectation) I dun ensemble de variables V est une fonction
qui met en relation chaque variable xi V une valeur v(xi ) de son domaine Di .
Une solution est une instanciation complte qui satisfait toutes les contraintes ; dite
aussi instanciation globalement consistante. Rsoudre un CSP ou la recherche des

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

Filtrage et rduction des domaines


Pour dfinir ce quest un filtrage, on commence par dfinir ce quest une consis-
tance des domaines.

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.

Lalgorithme de filtrage consiste rduire les domaines des variables, en suppri-


mant les valeurs qui nappartiendront aucune solution (i.e., en vrifiant la consis-
tance des domaines).

Dfinition 2.3.2 (Algorithme de filtrage) Un algorithme de filtrage est un algo-


rithme de rduction associ une contrainte cj . Son rle est de supprimer les valeurs
non consistantes 4 des domaines de dfinition des variables dans vars(cj ).

Suite la rduction du domaine dune variable, dautres variables apparaissant


dans dautres contraintes peuvent devenir inconsistantes. Do lintrt de faire appel
un mcanisme de propagation pour tenter toutes les rductions possibles suite au
retrait des valeurs contenues dans les domaines des variables.

Exemple 2.3.3 ((Consistance des domaines)) Soit le CSP P = hX, D, Ci d-


finit comme suit :

X = {x1 , x2 }

D = {0, 1, 2, 3, 4}, Dx2 = {0, 1, 2, 3}
P x1 (2.1)
C = {c1 }
c1 : x1 < x2

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.

2.4 Problme symtrique


La symtrie est lun des sujets critiques en PPC et en recherche oprationnelle,
devenant un domaine de recherche part entire. Lorigine du traitement des sy-
mtries, plus spcialement en PPC, est d au fait que le processus de la recherche
des solutions peut revisiter de nombreuses fois des tats quivalents, voire mme un

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.

On distingue deux types de mthodes dlimination de symtries savoir : les


mthodes statiques et les mthodes dynamiques.
Il existe diffrentes manires pour liminer les symtries en programmation par
contraintes (Gent et Smith, 1999; Flener et al., 2002; Puget, 2006; Mears et al.,
5. On appelle rflexion toute symtrie orthogonale par rapport un hyperplan (i.e.un espace de dimen-
sion n-1).

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

2.4.1 Symtrie smantique

Dans la PPC nous sommes intresss par deux problmes :


la recherche dune solution,
la recherche de plusieurs solutions.
Par consquent, dans (Benhamou et Sadi, 2007a), on distingue deux niveaux de
symtrie smantique :

Dfinition 2.4.2 (Symtrie smantique par consistance) Deux paires de variable-


valeur hvi , bi i V Di et hvj , bj i V Dj sont symtriques par consistance si et
seulement si les assertions suivantes sont quivalentes :
1. il existe une solution qui affecte la valeur bi la variable vi ;
2. il existe une solution qui affecte la valeur bj la variable vj ;

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.

Autrement dit, lensemble des solutions vrifiant laffectation vi = bi est iso-


morphe la solution dont vj = bj . On parle alors de solutions symtriques.

Remarque 2.4.4 1. Si les variables vi et vj dsignent la mme variable, alors les


deux dfinitions ci-dessus dcrivent la symtrie des valeurs du mme domaine.
2. Une symtrie sur toutes les solutions implique une symtrie par consistance.

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

Dfinition 2.4.5 (Symtrie syntaxique inter-domaine) Une symtrie syntaxique inter-


domaines dun CSP P = (V, D, C, R) est une application : V i[1,n] Di
V i[1,n] Di , qui associe di Di , la valeur (di ) = dj Dj , o Di et Dj sont
des domaines des variables CSP vi et vj , et qui garde le CSP P invariant.

Dfinition 2.4.6 (Symtrie syntaxique variable-valeur) Deux paires variable-valeur


hvi , bi i V Di et hvj , cj i V Dj sont syntaxiquement symtriques ssi il existe
une symtrie syntaxique de P , telle que (hvi , bi i) = vj , cj .

La relation entre la symtrie smantique et la symtrie syntaxique a t introduite


dans (Benhamou et Sadi, 2007) travers le thorme 2.4.7.

Thorme 2.4.7 Si deux paires variable-valeur hvi , bi i V Di et hvj , cj i V Dj


sont syntaxiquement symtriques, alors elles sont smantiquement symtriques pour
toutes les solutions du CSP .

2.5 limination des symtries


Llimination des symtries est un principe qui permet dacclrer le mcanisme
de rsolution. Une tape primordiale raliser avant llimination des symtries, est
ltape de dtection des symtries du problme traiter.
On distingue deux types de symtries (Benhamou et Sadi, 2007b) :
Les symtries globales : sont les symtries dtectes sur le problme lori-
gine.
Les symtries locales : sont les symtries dtectes sur le problme chaque
nud de rsolution au niveau de larbre de recherche.
En dautres termes, les symtries globales sont les symtries dtectes au niveau
de la racine de larbre de recherche et qui peuvent ne pas tre vrifies au niveau des
autres nuds.

2.5.1 limination statique de symtries


Une limination de symtrie statique est une approche base sur laddition de
nouvelles contraintes au CSP initial, afin dliminer toutes les solutions symtriques.
En dautres termes, ces contraintes permettent de liminer les symtries dtectes
et mnent vers un nouveau CSP sans symtries.
Les symtries les plus traites par lapproche statique, sont les symtries ligne
et colonne (Flener et al., 2002, 2003; Kiziltan, 2004). Afin dliminer toutes les
symtries ligne ou colonne, on peut ordonner les lignes (ou les colonnes) dans un
ordre lexicographique. Les lignes (ou les colonnes) dune matrice 2-d, sont ordonnes

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.

2.5.2 limination dynamique des symtries globales


Une limination dynamique de symtries (Puget, 2006) contrairement llimi-
nation statique, est base sur deux points :
1. laddition de nouvelles contraintes aprs chaque exploration dun nouveau nud
de larbre de recherche. Ces contraintes, appeles contraintes conditionnelles,
vont nous permettre dliminer les variantes symtriques de laffectation (ou
linstanciaton) partielle en cours.
2. lutilisation de chaque sous-arbre explor sans succs comme un no-good pour
viter une exploration rpte de la variante symtrique.
Parmi les mthodes les plus connues dans ce type dlimination de symtries, on
peut citer SBDS (Symmetry Breaking During Search)(Gent et Smith, 1999), LDSB
(Lightweight Dynamic Symmetry Breaking) (Mears et al., 2014) et SBDD((Symmetry
Breaking by Dominance Detection)(Gent et al., 2003). La mthode dynamique prise
en considration dans notre travail est la mthode LDSB, raison pour laquelle nous
exposons plus de dtails sur cette mthode.
LDSB est une mthode qui ninteragit pas avec lheuristique de recherche utilise.
Elle peut tre dfinie comme une descendante abrge de la mthode SBDS (Gent et
Smith, 1999). Elle ne demande lutilisateur que de fournir les diffrentes symtries,
et elle fait un lagage des diffrentes parties symtriques de larbre de recherche ds
que possible. Elle permet dliminer les symtries globales (dtectes au au niveau
de la racine de larbre) dune manire dynamique.
Le but de cette mthode est la possibilit de lappliquer sur nimporte quel type
de CSP et avec nimporte quelle stratgie de recherche. Ceci, en prenant comme

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 :

X = {x1,1 , x1,2 , x1,3 , x2,1 , x2,2 , x2,3 , x3,1 , x3,2 , x3,3 }



DXi,j = {1, 2, 3}, avec i, j 1..3

C = {x1,1 = x1,2 , x1,1 = x1,3 , x1,2 = x1,3 , x2,1 = x2,2 ,

P3 x2,1 = x3,2 , x2,2 = x2,2 , x3,1 = x3,2 , x3,1 = x3,3 , (2.4)


x3,2 = x3,3 , x1,1 = x2,1 , x1,1 = x3,1 , x2,1 = x3,1 ,

x 1,2 = x2,2 , x1,2 = x3,2 , x2,2 = x3,2 , x1,3 = x2,2 ,
x = x ,x = x }
1,3 3,3 2,2 3,3

Le CSP P3 ci-dessus possde :


1. des symtries colonne :
(x1,1 , x2,1 , x3,1 ) (x1,2 , x2,2 , x3,2 ),
(x1,1 , x2,1 , x3,1 ) (x1,3 , x2,3 , x3,3 ),
et (x1,2 , x2,2 , x3,2 ) (x1,3 , x2,3 , x3,3 ),
2. des symtries ligne,
3. des symtries par rapport la diagonale,
4. une symtrie variable-valeur f dfinie par : f (xi,j = k) = (xj, k = i)
Le CSP P3 admet toutes les symtries cites ci-dessus, puisque leurs applications
0
sur nimporte quelle solution Xsol mne vers une autre solution Xsol , appele variante
symtrique.

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

Mthodes approches pour le


problme de conception de
portefeuilles

3.1 Introduction

Ce chapitre est consacr aux approches locales de rsolution du problme de


conception de portefeuilles. Dans le chapitre 1, nous avons introduit ltat de lart
de ce problme, et mis en avant le modle ensembliste introduit par Flener et al.,
notamment dans sa version (P D) via la formulation (1.2).puisque exemple
Comme nous lavons dtaill dans la section 1.5, (Flener et al., 2007) ont propos
une approche de rsolution de (P D) base sur des mthodes exactes. Une borne
infrieure analytique de la valeur optimale de chevauchement associe au problme
a t propose, tout en prcisant que cette borne sur les grandes instances est plu-
tt grossire (en comparaison avec la borne optimale). Pour pouvoir apprhender
les grandes instances de (P D), ils ont propos une stratgie pour dcomposer le
problme afin de ramener la rsolution dune grande instance donne vers celle de
petites instances du problme (P D).
Finalement, dun point de vue algorithmique, lapproche de Flener et al. (Flener
et al., 2007) applique sur les grandes instances permet de trouver une solution pour
une valeur donne de chevauchement et une dcomposition donne (1.6). Mais
dans le cas o lapproche ne parvienne pas trouver une solution, on ne peut rien
dcider sur la consistance du problme, car il est probable quil existe une autre
dcomposition qui pourrait mener vers une solution. Ds lors que lapproche de
Flener et al. nexplore pas toutes les dcompositions, linconsistance du problme ne
peut tre certifie. Finalement, lapproche de Flener et al. reflte le comportement des
approches incompltes. Cest la raison pour laquelle nous proposons dans ce chapitre
traiter le problme (P D) entirement avec les algorithmes de recherche locale, et
tudier dans quelle mesure ils pourraient concurrencer la dmarche systmatique de
Flener et al. handicape par le choix de la dcomposition.
Les mthodes de recherche locale ont prouv leurs efficacit dans le traitement
des problmes combinatoires sur les grandes instances dans de nombreux domaines
(e.g., voyageur de commerce, ordonnancement, etc.). Pour la rsolution dun pro-
blme combinatoire, quoique les mthodes exactes sont compltes et garantissent le

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.

3.2 Modle matriciel


Le modle de conception dun portefeuille financier (P D) (Portfolio Design)(Flener
et al., 2007) dcrit les relations entre les diffrentes tranches dun CDO2 (Whetten
et Adelson, 2005; Guillaume et al., 2008). Dans le cas o le CDO2 est constitu de
v tranches, dont chaque tranche contient r actifs. Chaque paire de tranches partage
au plus actifs. La taille de lunivers des actifs est 250 b 500. Un portefeuille
typique est contraint par 4 v 25 tranches, dont chacune est de dimension
r 100. Flener et al. (Flener et al., 2007) ont propos un modle ensembliste que
nous reformulons sous forme dun modle matriciel en 0-1, dcrit dans la dfinition
suivante.

Dfinition 3.2.1 (Modlisation dun portefeuille - (P D)) Le portefeuille


P Dhv, b, r, i comporte v tranches et b portefeuilles dactifs. Le problme (P D)
consiste en v tranches dactifs V1 , ..., Vv , dont chaque tranche a r actifs choisis parmi
b portefeuilles (contrainte ligne). En plus dune condition dquilibre, chaque paire de
tranches contient au maximum lments en commun (contrainte de chevauchement
ou contrainte colonne). Soit M1..v,1..b une matrice boolenne, dont Mi,j = 1 si et
seulement si lactif j est choisi dans la tranche i, et 0 sinon. Ce qui mne vers le
modle matriciel suivant :
P
i 1..v, j1..b PMi,j = r
(P D hv, b, r, i) i 1..v, t > i, bj=1 Mi,j Mt,j (3.1)
i 1..v, j 1..b, Mi,j {0, 1}

Le problme doptimisation (OP D) consiste minimiser le nombre de chevauche-


ments sous les contraintes constituant (P D) :

min
(OP D hv, b, r, i) (3.2)
(P D)

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

Exemple 3.2.2 Comme le montre la Figure 3.1, la rsolution de linstance P D h10, 8, 3, 2i


consiste trouver une matrice M dont chaque ligne contient exactement r = 3 units
et tous les chevauchements sont infrieurs ou gaux = 2.

Figure 3.1 Exemple de la structure matriciel du modle (P D)

(P D) est un problme de satisfaction de contraintes, alors que (OP D) est un


problme doptimisation. Le problme (OP D) (Flener et al., 2007) est plus difficile,
car les chevauchements au niveau de chaque paire de lignes (tranches) sont minimiss.
Ceci mne vers une construction forte des tranches de CDO2 . Le problme (P D) est
galement difficile rsoudre car il contient des contraints quadratiques sur des
variables boolennes.

3.3 Exemple de motivation


Pour illustrer lintrt de notre approche, considrons linstance P Dh10, 37, 14, 6i.
Comme illustr dans la Table 3.2, alors que lapproche de Flener et al. (Flener et al.,
2007) rsout P Dh10, 37, 14, 6i avec = 6, notre approche base sur une recherche
locale voisinage variable (VNS) produit une solution de meilleure qualit = 5.06.
Notre approche adopte la mthode VNS biaise (skewed VNS) utilisant la mthode
locale simple IDW (Neveu et al., 2004) et la fonction de voisinage Swap (dtaille
dans la section 3.4.2.2). Suivant la Table 3.2, notre approche base sur VNS est

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

Table 3.1 La solution de P Dh10, 37, 14, 6i avec lapproche VNS

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

Table 3.2 Le nombre moyen de chevauchements et les temps dexcution de lapproche


de Flener et al. et lapproche VNS sur linstance P Dh10, 37, 14, 6i

Flener et al. SVNS-IDW-Swap


average overlap 6.00 5.06
temps CPU (secondes) 1.28 0.06

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

3.4.1 Fonction cot


Conceptuellement, une instance du problme (P D) est caractrise par son espace
faisable et sa fonction objectif qui associe chaque solution une valeur cot. La
fonction cot Eval consiste comptabiliser le nombre de contraintes non-satisfaites
dans (P D) relativement une configuration M :
X  +1 si la ime contrainte est non-satisfaite avec M
Eval(M ) = (3.3)
0 sinon
k1..m

o m est le nombre de contraintes. La fonction Eval est aussi la fonction objectif


du problme doptimisation que lon se pose pour rsoudre le problme (P D). Bien
videmment, les solutions optimales correspondent aux configurations qui rsolvent
toutes les contraintes du problme (P D).

3.4.2 Fonctions de voisinage


3.4.2.1 Fonction de voisinage flip

La premire fonction de voisinage pour le problme (P D) est la fonction Flip o


une affectation 0-1 M 0 est dite voisine dune autre affectation 0-1 M si M 0 peut tre
obtenue partir de M en inversant (changeant) la valeur dune variable donne. Le
choix de la variable dpend de la mthode de recherche locale :
Recherche voisinage variable : Dans le cas de VNS, la variable slectionne
Ml,c est choisie alatoirement (pour plus de dtails voir les algorithmes de la
section 3.7).

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 :

+1 si Mi,j vars(Ck ), Ck est sous la forme




"fk (M ) = 0" et val(fk (M )) < 0




X 1 si Mi,j vars(Ck ), Ck est sous la forme


val_conf licti,j = "fk (M ) = 0" et val(fk (M )) > 0
k1..m 1 si Mi,j vars(Ck ), ,Ck est sous la forme






"fk (M ) 0" et val(fk (M )) > 0
0 sinon.
(3.4)
o m est le nombre de contraintes, vars(Ck ) est lensemble des variables qui
apparaissent dans Ck , val(fk (M )) value la fonction fk au niveau de M . Lide
de cette fonction dvaluation consiste calculer val_conf licti,j en ajoutant
+1 (resp. 1), si le membre gauche de la contrainte Ck doit tre diminue (resp.
augmente) pour la satisfaire. Soit M [1..v] [1..b] une configuration donne, nous
dnotons V arConf lict la variable ayant le plus grand conflit.

3.4.2.2 Fonction de voisinage swap


Supposons que la recherche locale commence par une affectation o r units sont
places dans chaque ligne, faisant ainsi la contrainte
X
i 1..v, Mij = r
j1..b

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

Les algorithmes de recherche locale ncessitent une configuration initiale pour d-


marrer la recherche. Une configuration initiale gnre alatoirement est souvent uti-
lise dans les mthodes de recherche locale. Le but de lalgorithme glouton 8 (Lebbah
et Lebbah, 2015a), est de fournir une configuration M avec trs peu de contraintes
violes, en comparaison avec une solution gnre alatoirement. GreedyInit prend
en compte lorigine de la contrainte en question : Ct = Row pour exprimer la
contrainte ligne, et Ct = Overlap pour la contrainte de chevauchement. La pre-
mire boucle de GreedyInit essaie de remplir des diagonales afin de satisfaire, aussi
bien que possible, la contrainte de chevauchement. La deuxime boucle a pour but de
satisfaire le maximum de contraintes lignes. Lalgorithme tente de remplir r cellules
au niveau de chaque ligne. Lors de la premire itration, lalgorithme fait un saut de
colonnes, et + 1 sauts dans le reste des itrations. Laccroissement du nombre
de sauts est grand, induit la diminution du risque de violation des contraintes de
chevauchement. Nous fixons le nombre de sauts + 1 pour ne pas trop pnaliser
la contrainte ligne.

Algorithm 8 GreedyInit(P D < v, b, r, >)


Input: v nombre de tranches ; b nombre de titres ; r nombre de titres par tranche ;
nombre de chevauchement maximal ;M matrice v b initialise zro ;
Output: Une configuration matricielle M [v b] rduisant le nombre de conflits
{Overlap constraint}
1: for i 1.. + 1 do
2: FillDiagonal(i, "Overlap")
3: end for{Row constraint}
4: i + ( + 1)
5: while i b do
6: FillDiagonal(i , "Row")
7: i i + ( + 1)
8: end whilereturn M

Lalgorithme GreedyInit est bas sur lalgorithme FillDiagonal 9, qui rem-


plit avec des 1 la diagonale dmarrant de la cellule (1, i). FillDiagonal commence
par calculer le nombre maximal de cellules (variable M ax dans lalgorithme) qui
permet de remplir la diagonale en commenant par la cellule (1, i). M ax dpend
des dimensions de la matrice et la valeur i. Par exemple, soit la matrice (3.5), la
diagonale dont la premire extrmit (1, i = 1) prsente M ax = 7 cellules rem-
plir ; la diagonale dont lextrmit (1, i = 2) possde M ax = 6 ; et la diagonale avec
(1, i = 4) reprsente M ax = 4. La premire boucle de lalgorithme FillDiagonal
remplit la diagonale de lextrmit (1, i) jusqu la dernire ligne ou colonne, selon
la valeur de la variable M ax. Afin de satisfaire les contraintes ligne et colonne, dans
la deuxime boucle, FillDiagonal complte la premire boucle en remplissant la
deuxime diagonale, avec la ligne suivante comme point de dmarrage, en dautres
termes la cellule (M ax + 1, Jump + 1). La variable Jump dpend de la nature de
la contrainte en question. Concernant la contrainte ligne, puisque nous considrons
uniquement la ligne en cours, la valeur Jump = 0 exprime le dbut de la diagonale
gal (M ax + 1, 1). Mais, pour la contrainte de chevauchement, nous devons viter

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

laccroissement du taux de chevauchements avec les autres lignes. Par consquent,


la variable Jump est fixe i (b min(v, b) + 1) pour viter des chevauchements
avec les i premires diagonales. Dans ce cas, nous intgrons dans notre algorithme
lestimation dun certain cart b min(v, b) pour v b.
Lalgorithme GreedyInit est illustr dans (3.5). La premire diagonale com-
mence de (1, 1) et se termine (7, 7). La troisime diagonale comporte les deux
extrmits (1, 4) et (4, 7), mais dans le cas o la diagonale natteint pas la der-
nire ligne, lalgorithme doit continuer avec une diagonale commenant par la ligne
suivante (5, 1) jusqu atteindre la dernire ligne (7, 3). Nous remarquons que lap-
plication de notre algorithme sur linstance P D < 7, 7, 3, 1 > nous permet dobtenir
directement une configuration avec 0 contraintes violes (voir la table ci-dessous).

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.

Proposition 3.5.1 Lalgorithme 8 a une complexit au pire des cas, de lordre de


O(vr).

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.

3.6 Mthodes de recherche locale simple


Nous avons exploit trois algorithmes de recherche locale :
IDWalk method Nous avons adopt le schma algorithmique dcri dans la section
2.2.1.2. La description de son paramtrage est dtaill dans la section expri-
mentale de ce chapitre.
La mthode taboue Lalgorithme taboue na pas t modifi par rapport celui
donn dans la section 2.2.1.3. Son paramtrage est aussi dcrit dans la section
exprimentale.
Recuit simul Lalgorithme dcrit dans la section prliminaire 2.2.1.1 a t l-
grement revu et dcrit comme suit. Les tapes principales du recuit simul
appliqu sur le problme (P D) dcrit par le modle (3.1), sont comme suit :
1. Dmarrer avec une solution initiale S0 , et lvaluer par Eval(S0 ) o Eval
est la fonction objectif.
2. Si la fonction de voisinage choisie est flip, choisir la variable V arconf ict
la moins choisie et ayant la plus grande valeur absolue de val_conf lict
(calcul avec la formule (3.4)). Sinon, si la fonction de voisinage est swap,

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.

3.7 Mthodes de recherche locale voisinage variable (VNS)


La recherche locale voisinage variable (Variable Neighborhood Search (VNS))
(Mladenovic et Hansen, 1997) est une mtaheuristique qui exploite une technique
de recherche locale donne pour chapper au phnomne des minima locaux. Lide
de la stratgie VNS est dexplorer partiellement lespace de recherche avec des chan-
gements systmatiques de la structure de voisinage. Le succs de VNS vient du fait
quun minimum local dans une structure de voisinage ne lest pas ncessairement
dans une autre structure, permettant ainsi dviter autant que possible de se faire
piger par des minima locaux.
Le pseudo-code de lalgorithme VNS est donn dans lAlgorithme 10. Il dmarre
avec une slection dune matrice de configuration initiale. Les fonctions RL et Shake
sont au coeur de lexploration de lespace de recherche. La fonction Shake diversifie
la solution en changeant k variables choisies alatoirement. De ce fait, accrotre k
permet lalgorithme VNS de visiter des configurations distantes de la configuration
courante. Le rsultat M 0 de la fonction Shake est utilis comme un point de dmar-
rage de la recherche locale RL. Suite lappel de RL, la solution calcule M 00 est
compare avec M en utilisant la fonction cot Eval. Nous rappelons que la fonction
cot Eval consiste comptabiliser le nombre de contraintes non-satisfaites dans
(P D) relativement une configuration donne M (voir (3.3)). Si M 00 est meilleur
que M , la configuration M 00 est affecte M et lalgorithme ritre le traitement
avec k = 1. Sinon, k est incrment et lalgorithme continue en appliquant la phase

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.

3.7.1 Recherche locale voisinage variable biaise (skewed VNS)


En gnral, VNS trouve de meilleurs rsultats comparativement aux mthodes
de recherche locale simple, tout particulirement quand le paysage des solutions
contient de nombreux minima locaux. Ceci peut sexpliquer par le fait que VNS
a une grande facilit pour explorer des voisins lointains pour viter le phnomne
des minima locaux. En consquence, adopter souvent des voisins lointains force la
mthode VNS se comporter pratiquement comme une mthode multistart 2 , et
2. Une mthode multistart est entirement base sur les techniques de recherche doptima locaux. Le
principe consiste effectuer de nombreuses recherches locales dans des parties du domaine dtermines

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

Algorithm 11 SVNSPD(RL, Kmax , SM)


Input: P Dhv, b, r, i ; Kmax paramtre de VNS ; RL mthode de recherche locale ; SM
mthode de gnration du nouveau point
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) % se rfrer la fonction Shake dans lalgorithme 10
6: M 00 LS(M 0 ) ;
7: if Eval(M 00 ) < Eval(M ) then
8: M M 00 ; k 1 ;
9: else
10: 1
11: 00 6= M }
= card{(i, j)|i 1..v, j 1..b, Mi,j i,j
12: if Eval(M 00 ) < Eval(M ) then
13: M M 00 ;
14: k 1;
15: else
16: k k + 1;
17: end if
18: end if
19: end while
20: end while

3.8 Mthode de recherche locale population GWW


La dernire approche locale applique sur le problme (P D) est la mthode
population GWW (Go With the Winners)(Lebbah et Lebbah, 2012) dcrite dans
alatoirement.
3. La distance de Hamming
Pn1 L entre deux vecteurs a et b dans {0, 1}n , note par d(a, b) est dfinie comme
suit : d(a, b) = i=0 ai bi

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.

3.9 Etude exprimentale


Nos exprimentations sont ralises sur le problme (P D) o est fix la
borne infrieure du chevauchement propose par Flener et al. Limplmentation a
t ralise sous INCOP avec lintgration des fonctions de voisinage et la fonction
dvaluation (dcrites dans la section 3.4). La machine utilise possde les caract-
ristiques suivantes : Linux-ubuntu 12.04, Intel CPU E5-2603 et 8 GB/RAM. Nous
avons fix le temps limite 200 secondes.

3.9.1 Mise en uvre des algorithmes sous INCOP


INCOP(An Open Library for INcomplete Combinatorial OPtimization) (Neveu
et Trombettoni, 2003) est un solveur de rsolution approche crit en C++. Il re-
groupe un nombre important de mthodes locales et une mthode population
GWW (Go With the Winners) (Dimitriou et Impagliazzo, 1996; Neveu et Trombet-
toni, 2004).
INCOP est conu pour la rsolution des CSPs avec des contraintes linaires et les
MAX-CSP. La gestion des voisinages ainsi que les mouvements est conue dans le
but de faciliter son exploitation par le programmeur et lutilisateur de loutil. Cest
une bibliothque extensible qui autorise des extensions vers de nouvelles mthodes
locales.
Loutil INCOP a montr dexcellentes performances sur des problmes de rf-
rence. On peut citer le problme de coloration de graphes flat300_28 qui a t
colori pour la premire fois en 30 couleurs, en appliquant la mthode Metropolis.
Le modle (3.1) utilis dans la rsolution, est un modle contenant deux types
de contraintes :
les contraintes lignes, qui sont linaires,
les contraintes de chevauchements, qui sont quadratiques
Pour exploiter la bibliothque INCOP, nous tions obligs de ltendre pour quil
soit applicable sur les modles contenant des contraintes n-aires.
Concernant les mthodes locales appliques sur le modle, nous avons exploit
les algorithmes suivants :
le recuit simul,
la mthode taboue,
la mthode population GWW.
Nous avons fait appel lalgorithme VNS (Variable Neighboorhood Search) et
lalgorithme Swap-VNS (VNS biais), que nous avons mis en uvre sous INCOP.

3.9.2 Protocole exprimental


La Table 3.3 dcrit les paramtres des instances (P D) exprimentes ainsi que
leur nombre de contraintes et de variables.

60
Table 3.3 Les instances exprimentes

Instance hv, b, r, i Nombre de variables Nombre de contraintes


Inst1 h7,7,3,1i 49 28
Inst2 h10,8,3,2i 80 55
Inst3 h8,14,7,3i 112 36
Inst4 h11,11,5,2i 121 66
Inst5 h16,8,3,1i 128 136
Inst6 h10,15,6,2i 150 55
Inst7 h9,18,8,3i 162 45
Inst8 h9,24,8,2i 216 45
Inst9 h15,15,4,1i 225 120
Inst10 h10,25,8,2i 250 55
Inst11 h10,30,9,2i 300 55
Inst12 h9,37,12,3i 333 45
Inst13 h10,37,14,6i 370 55
Inst14 h10,38,10,2i 380 55
Inst15 h19,20,9,4i 380 190
Inst16 h15,350,100,25i 5250 1575

Nous commenons notre tude exprimentale par valuer les performances de


lalgorithme glouton au niveau de la section 3.9.3.1. Par la suite, nous avons tudi
les mthodes de recherche locale suivantes :
Recherches locales simples : Nous avons expriment les mthodes du rcuit-
simul, IDWalk et taboue. En premier, nous commenons par la rsolution du
problme avec une configuration initiale 4 alatoire. En deuxime position nous
essayons de rsoudre le problme tout en dmarrant dune configuration initiale
calcule par lalgorithme glouton 8.
Les paramtres des mthodes locales exprimentes sont fixs comme suit : le
nombre max de mouvements est 10 000 ; le nombre max de voisins est 300.
Lvaluation de ces paramtres est le rsultat dune suite de tests et les re-
commandations gnrales donnes dans (Neveu et Trombettoni, 2003; Neveu
et al., 2004). Lunique paramtre du recuit simul, est la temprature initiale
fixe 0.4. Pour la mthode IDWalk, le second paramtre est le paramtre de
la remonte, fix 150 (pour plus de dtails voir la section 2.2.1.2.
Recherches locales de type VNS Le paramtre Kmax de VNS est fix au nombre
maximal de variables v b.
Recherche locale GWW Nous avons paramtr GWW avec de nombreuses re-
cherches locales, savoir IDWalk, taboue et recuit-simul. Le nombre de par-
ticules est fix 10.
Dans le but dvaluer la robustesse des mthodes locales appliques, nous lanons
20 essais sur chaque instance. Les fichiers excutables et la documentation sont
disponible sur le site : https://sites.google.com/site/fzlebbahportfolio.
Pour chaque algorithme local appliqu, nous donnons les colonnes suivantes :
4. Nous rappelons quune configuration correspond une instantiation des variables. Dans (P D), une
configuration est linstantiation de la matrice M , o pour tout (i, j), est instantie par 0 ou 1.

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

Prcisment, nous avons exactement v(v 1)/2 relations de chevauchements,


puisque la premire ligne reprsente des chevauchements avec les v 1 lignes
restantes, la seconde avec (v 2) lignes, et ainsi de suite jusqu deux lignes.
Ce qui donne no = (v 1) + (v 2) + ... + 2 + 1 = v(v 1)/2 chevauchements
considrer.
moy-c est la moyenne des conflits calcule sur 20 essais.

3.9.3 Rsultats exprimentaux


3.9.3.1 Exprimentation de lalgorithme glouton

Dans le tableau 3.4, nous dcrivons le comportement de lalgorithme glouton 8,


minimisant le nombre de contraintes violes, en comparaison avec une configuration
gnre alatoirement. Dans la configuration gnre alatoirement, nous rapportons
lintervalle des nombres de conflits. Avec lalgorithme 8, nous gnrons une seule
configuration dont le nombre de conflits est donn dans la troisime colonne.
Nous remarquons que lalgorithme 8 gnre des configurations initiales meilleures :
tous les taux de conflits sont considrablement infrieurs ceux soulevs dans les
configurations initiales gnres alatoirement. Dans certaines instances telles que
P Dh7, 7, 3, 1i et P Dh10, 8, 3, 2i, notre algorithme fournit des configurations initiales
avec 0 conflits.

3.9.3.2 Recherches locales simples

Le tableau 3.5 fournit les rsultats du recuit-simul et de IDWalk en dmarrant


de deux types de solutions initiailes :
Une solution initiale alatoire :
La colonne SolAla du tableau 3.5 compare le nombre de succs et le temps
moyen des mthodes du recuit-simul et de IDWalk partir dune solution
initiale alatoire. Dans la majorit des instances, le recuit simul trouve la
meilleure solution dans toutes les excutions dans un temps efficace. Mais ID-
Walk choue dans la plupart des instances. Nous avons aussi expriment la
recherche taboue (o la taille de la liste taboue est fixe 20), qui narrive
rsoudre que trois instances : P Dh7, 7, 3, 1i avec 2/20 succs, P Dh10, 8, 3, 2i
avec 20/20 et P Dh10, 37, 14, 6i avec 11/20.
Nous remarquons que dans la plupart des cas, le recuit-simul prsente un
succs total sur les 20 essais. Le recuit simul demeure plus efficace que IDWalk

62
Table 3.4 Comparaison du nombre de contraintes violes entre une configuration initiale
alatoire et celle gnre par lalgorithme 8.

Instance configuration alatoire configuration gloutonne


7-7-3-1 10 25 0
8-14-7-3 11 27 8
9-18-8-3 24 39 17
9-24-8-2 40 45 6
9-37-12-3 43 45 13
10-30-9-2 53 55 8
10-15-6-2 29 54 11
10-8-3-2 11 35 0
10-25-8-2 51 55 9
10-37-14-6 40 54 10
10-38-10-2 52 55 8
10-33-15-6 34 51 10
10-31-22-15 10 11 10
10-38-28-20 10 10 10
11-11-5-2 28 48 13
15-15-4-1 98 119 15

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

3.9.3.3 tude du paysage de rsolution avec recherche locale simple


A travers le tableau exprimental 3.5, nous pouvons distinguer trois types dins-
tances :
Type 1 : Les instances trs difficiles, dont la rsolution nous mne vers 0 succs,
avec un blocage total sur un nombre de conflits.
Type 2 : Les instances difficiles, dont la rsolution nous permet dobtenir 0 ou
quelques succs sur les 20 essais, mais avec une amlioration (dcroissance)
lente du nombre de conflits.

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

Linstance P Dh16, 8, 3, 1i peut tre considre trs difficile, travers le nombre


de succs nul et le nombre de conflits qui stagne 8. La rsolution de cette instance
reprsente un vrai blocage de la mthode, puisquon arrive trs tt au nombre de
conflits 8, sans aucune amlioration observe travers les mouvements raliss. Dans
la figure 3.2, nous reprsentons en premier lieu une vue globale du paysage 3.2a, puis
on donne une vue plus proche de la courbe 3.2b afin de bien tudier le paysage.
Dans la figure 3.2a nous remarquons que la courbe dcrot rapidement avant
datteindre 50 mouvements ; nous russissons dcrmenter le nombre de conflits
(dans lespoir datteindre le 0) qui tait > 90 une valeur 6 20, en moins de 50
mouvements. Tout juste aprs, la courbe devient trs accidente (paysage rugueux),
un phnomne qui va sestomper petit petit jusqu ce quon atteint le paysage
neutre. Dans la figure 3.2b, nous arrivons bien analyser la courbe qui est lisse au
dbut, puis rugueuse avant de devenir neutre en atteignant le nombre de conflits 8,
une courbe neutre qui met en avant le problme du minima local.

Instance P Dh19, 20, 9, 4i

Nous prenons comme exemple linstance P Dh16, 8, 3, 1i ayant fournit 0 succs


mais avec une variation des degrs de violation entre les 20 essais. Dans la figure 3.3,
nous reprsentons en premier la totalit du paysage 3.3a, puis on donne une vision
plus agrandie de la courbe 3.2b afin de bien analyser le paysage.
Nous pouvons dceler le mme phnomne de dcroissance de la courbe dans la
figure 3.3a, en allant dun nombre de conflits > 130 vers 20 conflits en moins de 100
mouvements. Nous marquons aprs sur la figure 3.3b une courbe lisse puis rugueuse
jusqu ce quelle devint neutre. Cest un cas souffrant du problme du minima local.

Instance P Dh9, 37, 12, 3i

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

(b) Le paysage de linstance P Dh16, 8, 3, 1i en dmarrant


avec une solution ayant plus de 10 de conflits
Figure 3.2 Le paysage de linstance P Dh16, 8, 3, 1i

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

(b) Le paysage de linstance P Dh19, 20, 9, 4i en dmarrant


avec une solution ayant plus de 20 de conflits
Figure 3.3 Le paysage de linstance P Dh19, 20, 9, 4i

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

(b) Le paysage de linstance P Dh9, 37, 12, 3i en dmarrant


avec une solution ayant presque 5 de conflits
Figure 3.4 Le paysage de linstance P Dh9, 37, 12, 3i

adapte la particularit de chaque phase de rsolution de linstance.

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

La Table 3.7 rapporte les performances des algorithmes VNSPD et SVNSPD en


considrant les deux fonctions de voisinage. VNS et SVNS avec le rcuit-simul four-
nissent les meilleures combinaisons. Les instances Inst5, Inst15 et Inst16 sont les
instances les plus difficiles. VNS avec le rcuit-simul et la fonction flip est la seule
mthode russir la rsolution de linstance Inst16 dans de nombreuses excutions.
Nous pouvons aussi not que SVNS avec le rcuit-simul et la fonction swap est la
combinaison la plus robuste, car elle a russi dans toutes les excutions, lexception
des trois instances Inst5, Inst15 et Inst16. Finalement, nous pouvons conclure que

71
la mthode VNS avec le rcuit simul et la fonction flip est la combinaison la plus
efficace.

Table 3.8 moy-c and moy- results

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.

3.9.3.5 Mthode population GWW


Dans cette section, nous donnons les rsultats exprimentaux de la mthode
GWW combine avec le recuit-simul (colonne GRecSim), avec IDWalk (colonne
GIDW) et avec IDWalk combin avec taboue (colonne GIDWTab). Le tableau 3.10
(resp. 3.9) tablit les performances en nombre de succs et en temps (resp. en nombre
moyen de contraintes insatisfaites et en nombre moyen de chevauchements).

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.

3.9.4 tude des profiles de performance


Dans cette section, nous avons mis en uvre diffrents types de mthodes locales,
avec diffrentes solutions de dmarrage et diffrentes fonctions de voisinage. Nous
avons test chaque approche sur 16 instances, avec 20 essais lancs sur chacune.
Afin de pouvoir raliser une bonne synthse des performances des diffrentes
approches ralises, nous utilisons le profile de performance propos dans (Dolan et
Mor, 2002)(Fontaine, 2013).
Soient p un ensemble de problmes, et M un ensemble de mthodes dsignes
les rsoudre. Soit pi P un problme et mj M une mthode pour rsoudre pi .
Considrons t une mesure, dont t(pi , mj ) value la performance de la mthode mj
pour rsoudre le problme pi en fonction de t. Le rapport de performance r(pi , mj )
compare la performance de la mthode mj avec celle de la meilleure mthode qui
rsout pi . La plus petite valeur t(pi , mj ) reprsente la meilleure qualit de la mthode.

Dfinition 3.9.1 (Le rapport de performance) (Dolan et Mor, 2002)


t(pi , mj )
r(pi , mj ) = (3.7)
min{t(pi , mk )|mk M }
Si r(pi , mj ) = 1, alors mj est la meilleure mthode pour rsoudre le problme pi .
Soit max le plus grand des rapports calculs r(pi , mj ). Afin dvaluer la performance
de toutes les mthodes dans M sur les problmes P , nous utilisons la performance
fractionnelle mj : [1, max ] [0, 1].

Dfinition 3.9.2 (La performance fractionnelle de la mthode mj )


|pi P : r(pi , mj ) 6 |
mj ( ) = (3.8)
|P |
mj ( ) est la fraction des problmes dans P tels que mj est apte rsoudre avec
un facteur > 1 pour la meilleure mthode. Par consquent, les mthodes ayant la
plus grande valeur mj ( ) seront les meilleures.
Dans les figures 3.5, 3.6 et 3.7, nous exposons les courbes qui dcrivent les profiles
de performance des mthodes implantes, par rapport au nombre de succs et par
rapport au temps dexcution. Pour laxe horizontal (laxe des rapports de perfor-
mance), nous utilisons une chelle logarithmique pour avoir une meilleure distinction
entre les courbes de la mme figure.
Dans la figure ci-dessous 3.5, nous exposons une valuation via le pourcentage de
performance des mthodes locales simples, notes par RLS, par rapport au nombre
de succs et au temps dexcution. Nous dsignons les approches comme suit :

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.

(b) Les temps CPU.


Figure 3.5 Profile de performance-RLS en fonction des nombres de succs et en en
fonction des Temps CPU

Dans la figure 3.5a :


Nous remarquons, via la courbe de GloutIDW lamlioration ralise sur la
mthode IDWalk quand elle est lance avec une solution initiale calcule avec
notre algorithme glouton.
Au dbut, la meilleure mthode considrer en nombre de succs est le recuit
simul avec une solution de dmarrage calcule avec lalgorithme glouton.
Vers la fin, nous constatons la mthode Recuit Simul qui prend llan en
nombre de succs, par rapport au reste des mthodes.
Concernant la figure 3.5b, nous remarquons que la mthode IDWalk avec une

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.

(b) Les temps CPU.


Figure 3.6 Profile de performance-VNS/SVNS en fonction des nombres de succs et en
en fonction des Temps CPU

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.

(a) Les nombres de succs.

(b) Les temps CPU.


Figure 3.7 Profiles de performance des mthodes performantes en fonction des nombres
de succs et en en fonction des Temps CPU

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

Mthodes exactes pour le problme


de conception de portefeuilles

4.1 Introduction

Dans ce chapitre nous apprhendons le problme de conception des portefeuilles


(P D) avec des approches compltes, savoir la Programmation Linaire en Nombres
Entiers PLNE et la Programmation Par Contraintes PPC. Plus particulirement, le
modle (P D) que nous tudions, considre les contraintes originales de chevauche-
ments sous forme dingalits ; contrairement au modle de Flener et al. qui adopte
la forme avec galits. Plus globalement, nous avons de nombreux objectifs :
Nous voulons considrer directement le modle avec ingalits pour pouvoir
produire des solutions avec un meilleur taux de chevauchement.
tudier les performances des modlisations en PLNE et en PPC.
Alors que le modle de Flener et al. considre seulement les symtries ligne
et colonne, on voudrait considrer dautres types de symtries, notamment les
symtries rotationnelles.
tudier lapport des techniques dynamiques dlimination de symtries.
Dans la section prcdente 3.2, nous avons expos un modle matriciel (3.1) de
forme quadratique dfini sur des variables 0 1. Nous proposons une linarisation de
ce modle afin de pouvoir faire appel aux solveurs PLNE. Les techniques dlimina-
tion de symtries issues de la PPC ont eu un grand succs dans lacclration de la
rsolution des systmes de contraintes. Justement, nous proposons aussi denrichir
notre modle PLNE avec des contraintes qui permettent dliminer les symtries
ligne et colonne via une approche statique.
Nous proposons une deuxime formulation du modle prcdent (3.1) sous forme
dun problme de satisfaction de contraintes, permettant ainsi dexploiter les tech-
niques de la PPC et faire appel aux solveurs PPC. Nous rsolvons le problme (P D)
sans et avec prise en considration des symtries prsentes dans le modle.
Les deux modles PLNE et PPC ont t implments dans les deux environne-
ments SCIP (Achterberg, 2009) et GECODE (Schulte et Stuckey, 2008). Nous avons
expriment ces deux modles sur les instances tudies dans le chapitre prcdent,
afin de montrer lapport pratique des mthodes compltes dans la rsolution des
instances du problme de conception des portefeuilles.

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

Modle avec galits Modle avec ingalits


01011000 00000111
10010010 00001011
10011000 00001101
01000011 0 0 0 0 1 1 1 0
10001100 0 0 0 1 0 0 1 1
10000110 00010101
01001010 00010110
00101001 00011001
01000101 00011010
01101000 00011100

La rsolution de linstance P Dh10, 8, 3, 2i avec lapproche de Flener et al. donne


une solution dont toutes les paires de lignes reprsentent deux chevauchements. Par
contre, avec lapplication de lapproche PPC sur le modle original avec ingalit,
nous obtenons des taux de chevauchements compris dans lintervalle [1, 2]. Comme
illustr dans la Table 4.2, la solution du modle original avec ingalits a un taux
moyen de chevauchement meilleur que le modle avec galits de Flener et al.

Table 4.2 La moyenne des chevauchements de linstance P Dh10, 8, 3, 2i

Modle avec galits Modle avec ingalits


Le taux moyen de chevauchement 2.00 1.67

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.

4.3.1 Linarisation du modle (P D)


Dans cette section, nous montrons le procd de linarisation de la contrainte
quadratique de chevauchements. En fait, les techniques de linarisation (Sherali et
Adams, 1999; Sahinidis et Twarmalani, 2002) ont t pleinement dveloppes en re-
cherche oprationnelle afin de ramener des problmes non-linaires vers des modles
linaires profitant des solveurs performants de la programmation linaire.
En appliquant une linarisation classique (voir par exemple (Bisschop, 2006))
destine des contraintes quadratiques dfinies sur des variables binaires, nous ob-
tenons le modle linaire (4.1) donn par la proposition suivante.

Proposition 4.3.1 On considre un problme doptimisation de portefeuilles finan-


ciers P Dhv, b, r, i dfini par le modle quadratique (3.1). La reformulation linaire
du modle 3.1 est donne par :
P
i 1..v, j1..b M =r

Pi,j
b
i 1..v, k > i, j=1 Zikj




i 1..v, j 1..b, Mi,j {0, 1}


P Dlin hv, b, r, i i 1..v, k > i, Zikj Mij (4.1)
i k



1..v, > i, Zikj M kj
i 1..v, k > i, Z M ij + Mkj 1



ikj
i 1..v, j 1..b, k, Zikj {0, 1}

Preuve
Soient les contraintes quadratiques

i 1..v, t > i, bj=1 Mi,j Mk,j


 P
(4.2)
avec Mi,j , Mt,j {0, 1}

qui expriment la relation de chevauchement.


Soit la variable supplmentaire Zikj {0, 1}, telle que Zikj = Mi,j Mk,j . Les
contraintes linaires (4.3) forcent la variable Zikj prendre la valeur du produit
Mij Mkj :

Zikj Mij
Zikj Mkj (4.3)
Z M +M 1
ikj ij kj

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.

4.3.2 limination des symtries sur le modle linaire


Le problme (P D) discut prcdemment, contient deux types de symtries,
savoir : les symtries lignes et les symtries colonnes.
Dans cette section, nous exploitons la smantique particulire de notre problme,
afin dliminer les symtries ligne et colonne, directement lie aux contraintes ligne
et colonne. Llimination de symtries oprera en ajoutant des contraintes linaires
au modle (4.1).
Justement, la prise en compte des symtries ligne et colonne seffectuera en uti-
lisant la contrainte dordre lexicographique 6Lex dcrite dans la section 2.4.
La proposition 4.3.2 exprime le modle (4.4) qui enrichit le modle linaire (4.1)
avec deux contraintes dlimination de symtries.
Proposition 4.3.2 Considrons le modle linaire (4.1) ; Lapplication de llimi-
nation de symtries 6Lex sur les lignes et les colonnes du problme P D, donne le
modle linaire suivant :

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 :

i 1..v 1, Mi,1..b 6Lex Mi+1,1..b (4.5)


j 1..b 1, M1..v,j 6Lex M1..v,j+1 (4.6)

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.

4.4 Approche PPC


4.4.1 Modlisation du problme (P D) en PPC
En se basant sur le catalogue des contraintes globales proposes dans (Beldi-
ceanu et al., 2007), nous reformulons le modle (3.1) sous forme dun CSP, que nous
introduisons dans la proposition 4.4.1.

Proposition 4.4.1 Le modle (P D) exprim dans la formulation (3.1) est qui-


valent au CSP :


X = {Xi,j | i 1..v, j 1..b} {Pi,t,j | i 1..v, j 1..b, i < t 6 b}
DXi,j = DPi,t,j = {0, 1}, avec i 1..v, j 1..b et i < t 6 b


CSPP D c1 : LIN EAR(RowX (i), =, r), i 1..v



c2 : AN D(Pi,t,j , (Xij , Xt,j ))i 1..v, t > i, j 1..b
c : LIN EAR(P {j = 1..b}, , ), i 1..v, t > i
3 i,t,j
(4.9)

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

La contrainte c1 exprime la contrainte ligne du modle (P D). La contrainte c3


exprime la contrainte de chevauchement en fonction du vecteur P rsultant de la
multiplication des paires de lignes.

4.4.2 Symtries dans le problme (P D)


Comme nous lavons dj voqu dans le modle PLNE, le problme (P D)
contient des symtries ligne et colonne. Ces symtries ont t exprimes avec un
codage numrique explicit dans la proposition 4.3.2.
Dfinition 4.4.2 (Symtrie smantique du problme (P D)) Soit P le modle
3.1 dcrivant le problme (P D) et M sa matrice correspondante. La symtrie sman-
tique de P est une permutation des Mij telle que P et (P ) ont le mme ensemble
de solutions.
Dfinition 4.4.3 (Symtrie syntaxique du problme (P D)) Soit P le modle
3.1 dcrivant le problme (P D) et M sa matrice correspondante. Une symtrie syn-
taxique de P est une permutation des Mij telle que P = (P ).
Proposition 4.4.4 Toute symtrie syntaxique de P est une symtrie smantique
de P .
Preuve
Il est trivial de voir que la symtrie syntaxique est une condition suffisante pour la
symtrie smantique. En effet, si est une symtrie syntaxique de P , alors P = (P ),
donc il en rsulte que P et (P ) ont les mmes modles. Ainsi, P et (P ) ont le mme
ensemble de solutions. Par consquent toute symtrie syntaxique est une symtrie
smantique et en gnral, linverse nest pas vrifi. 2

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

Proposition 4.4.6 La symtrie colonne dans le problme (P D) est une symtrie


syntaxique.

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

sont vrifies. Ce qui peut sexprimer comme suit :


i 1..v, t > i,
Pc1 Pc0 1 Pb
j=1 Mi,j Mt,j + Mi,c Mt,c + j=c+1 Mi,j Mt,j + Mi,c0 Mt,c0 + j=c0 +1 Mi,j Mt,j

En remplaant les lments de la matrice M par ceux de la matrice M cl , nous


obtenons les contraintes suivantes :
i 1..v, t > i,
Pc1 Pc0 1
cl cl cl cl
+ Mi,c Mt,c + bj=c0 +1 Mi,j
cl cl
P
j=1 Mi,j Mt,j + Mi,c0 Mt,c0 + j=c+1 Mi,j Mt,j Mt,j
Ce qui est quivalent :
Pb cl cl
i 1..v, t > i, j=1 Mi,j Mt,j
Ce qui implique que les contraintes de chevauchement sont toujours vrifies
dans la matrice Mcl .

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 :

Dfinition 4.4.7 Soient deux vecteurs X et Y de taille n :


X = [X0 , ..., Xn1 ]
Y = [Y0 , ..., Yn1 ]
On dit que le vecteur X est lexicographiquement plus petit ou gal Y , not par
X 6Lex Y , si et seulement si X0 < Y0 ou (X0 = Y0 et [X1 , ..., Xn1 ] 6Lex [Y1 , ..., Yn1 ])

Des symtries traites par la relation dordre lexicographique (ou anti-lexicographique)


entre les lignes et entre les colonnes, que nous dcrirons en dtail dans les sous-
sections suivantes.
En plus de ces deux symtries ligne et colonne, dj voques dans la section
PLNE, nous introduirons une autre symtrie dtecte sur notre problme : la sym-
trie syntaxique de rotation de 180 dcrite dans la proposition suivante.

Proposition 4.4.8 Le problme de conception des portefeuilles (P D) dcrit par le


modle 3.1 contient une symtrie syntaxique de rotation de 180.

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.

limination statique des symtries


Comme nous lavons indiqu prcdemment dans la section 2.4, une cassure de
symtries statique implique lintgration de contraintes supplmentaires au CSP
modlisant le problme, pour exprimer lordre lexicographique entre les lignes et
entre les colonnes. Ce qui donne dans notre cas CSPP DLEX comme suit :


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 :

LEX_GREAT EREQ(V ECT EU R1 , V ECT EU R2 )

pour exprimer la relation V ECT EU R1 >Lex V ECT EU R2


Par consquent, nous avons les contraintes :
c4 : LEX_GREAT EREQ(RowX (i), RowX (i + 1)), i 1..v 1, qui exprime la
relation RowX (i) > RowX (i + 1) avec RowX (i) et RowX (i + 1) qui dsignent
respectivement la ime ligne et et la i + 1me ligne de X.
c5 : LEX_GREAT EREQ(ColumnX (j), ColumnX (j + 1)), j 1..b 1 qui ex-
prime la relation ColumnX (j) > ColumnX (j+1) avec ColumnX (j) et ColumnX (j+
1) qui dsignent respectivement la j me colonne et et la j + 1me colonne de X.

limination dynamique des symtries


Nous allons aussi faire appel la mthode dynamique LDSB dlimination des
symtries. Son apport sera mis en avant dans la partie exprimentale de ce chapitre.

4.5 Etude exprimentale


Nos exprimentations ont t lances sur une machine ayant la configuration :
Linux-ubuntu 12.04, Intel CPU E5-2603 et 8 GB/RAM avec un temps limite de
3600 secondes.

92
4.5.1 Approche PLNE

4.5.1.1 Lenvironnement SCIP

SCIP (Constraint Integer Programming (CIP)) (Achterberg, 2005; Achterberg


et al., 2008a,b) est un environnement logiciel destin pour la programmation linaire
en nombres entiers intgrant finement la notion de contrainte. SCIP propose un
nouveau paradigme qui intgre pleinement les techniques PLNE et des techniques
de la PPC. Le code source du solveur SCIP est accessible pour usage acadmique
et non-commercial scip.zib.de.

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.

Lide de combiner les techniques de modlisation et de rsolution issues de la


PPC et de la PLNE nest pas nouvelle. De nombreux auteurs ont montr quune
approche intgre peut aider dans la rsolution des problmes doptimisation qui
tait insolubles avec une seule mthode.

4.5.1.2 Rsultats exprimentaux

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

Instance Nbe-Var PD-SCIP PD-SCIP-Lex


Nbe-Const Temps-Exe Nbe-Const Temps-Exe
h7,7,3,1i 196 469 1.67 481 0.14
h10,8,3,2i 440 1135 >3600 1151 91.51
h8,14,7,3i 504 1212 33.53 1232 32.18
h11,11,5,2i 726 1881 47.50 1901 191.03
h16,8,3,1i 1088 3016 >3600 3038 14.77
h10,15,6,2i 825 2080 178.92 2130 229.39
h9,18,8,3i 810 1989 96.22 2014 320.75
h9,24,8,2i 1080 2637 304.33 2668 313.74
h15,15,4,1i 1800 4845 >3600 4873 >3600
h10,25,8,2i 1375 3430 1860.47 3463 >3600
h10,30,9,2i 1650 4105 2658.31 4143 >3600
h9,37,12,3i 1665 4041 1260.36 4085 >3600
h10,37,14,6i 2035 5050 588.80 5095 >3600
h10,38,10,2i 2090 5185 6204.09 5231 >3600
h19,20,9,4i 3800 10450 >3600 10487 >3600
h15,350,100,25i 42000 110370 >3600 110733 >3600

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.

4.5.2 Approche PPC


4.5.2.1 Environnement GECODE

Gecode est un environnement de dveloppement des systmes et des appli-


cations bass sur les contraintes (Schulte et al., 2010). Cest un outil open-source
http://www.gecode.org/, accessible et efficace pour la rsolution des problmes
combinatoires. Il propose une bibliothque riche en modlisation, contenant les tech-
niques de propagation, de filtrage, dlimination de symtries, etc. Le point fort du
solveur est la possibilit daccder son code source et pouvoir intgrer :
de nouveaux algorithmes de propagation,
de nouvelles stratgies de branchement,
un nouveau moteur de recherche,
de nouveaux types de variables, etc.
Pour plus de dtails, nous renvoyons le lecteur aux rfrences (Schulte, 2002;
Schulte et Tack, 2006; Reischuk et al., 2009).

4.5.2.2 Rsultats exprimentaux

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

Instance PD PDLex PDSym2LDSB PDLexLDSB PDSym3LDSB


h7,7,3,1i 0.001 0.001 0.001 0.001 0.001
h10,8,3,2i 0.002 0.004 0.003 0.001 0.003
h8,14,7,3i 0.089 2.744 0.018 0.049 0.031
h11,11,5,2i 0.027 1.354 0.013 0.020 0.025
h16,8,3,1i >3600 >3600 >3600 >3600 >3600
h10,15,6,2i 8.641 39.468 0.071 0.476 0.147
h9,18,8,3i 6.955 2009.371 0.156 0.955 0.321
h9,24,8,2i 1.298 3269.871 0.086 1.043 0.178
h15,15,4,1i 350.293 >3600 2.173 0.318 4.683
h10,25,8,2i 182.292 >3600 1.362 11.276 2.994
h10,30,9,2i 9.945 >3600 1.045 8.168 2.173
h9,37,12,3i >3600 >3600 >3600 >3600 >3600
h10,37,14,6i 524.930 >3600 84.055 522.907 90.353
h10,38,10,2i 35.067 >3600 2.093 49.140 2.248
h19,20,9,4i 10.571 >3600 8.914 5.376 9.224
h15,350,100,25i >3600 >3600 >3600 >3600 >3600

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 :

1. Les courbes -PD- et -PDLexLDSB- qui reprsentent respectivement la rsolu-


tion sans limination de symtries et avec limination mixte (statique/dynamique)
de symtries, sont beaucoup moins stables que les autres.

2. Lapplication de LDSB pour liminer


les deux symtries ligne et colonne PDSym2LDSB, dsigne par la courbe
-PDSym2LDSB-,
les trois symtries lignes, colonnes et celle de rotation de 180PDSym3LDSB,
dsigne par la courbe -PDSym3LDSB-,
donne de meilleurs rsultats par rapport aux temps dexcution avec des courbes
stables.

Par consquent, on peut dduire que llimination de symtries avec la mthode


LDSB est trs rentable. Le fait dintgrer le troisime type de symtries (la symtrie
rotationnelle de 180) ne ralentit pas le processus de rsolution du problme (P D).
Tout au contraire : la symtrie rotationnelle a permis damliorer les temps dune
faon notable.

4.5.3 Synthse des rsultats

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.

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

97
Table 4.5 Les meilleurs rsultats exprimentaux obtenus avec lapproche exacte

Instance SCIP Gecode Flener et al.


(PDLex) (PDSym3LDSB)
h7,7,3,1i 1.67 0.00 0.00(PD)
h10,8,3,2i >3600 0.00 -
h8,14,7,3i 33.53 0.03 -(PD) | 00.00(BIBD)
h11,11,5,2i 47.50 0.03 0.01(PD)
h16,8,3,1i >3600 >3600 0.00(PD)
h10,15,6,2i 178.92 0.15 0.52(PD)
h9,18,8,3i 96.22 0.32 0.01(BIBD) | 0.76(PD)
h9,24,8,2i 304.33 0.18 0.01(BIBD) | 0.25(PD)
h15,15,4,1i >3600 4.68 28.62(PD)
h10,25,8,2i 1860.47 3.00 0.02(PD)
h10,30,9,2i 2658.31 2.173 0.01(BIBD) | 373(PD)
h9,37,12,3i 1260.36 >3600 3.05(PD)
h10,37,14,6i 588.80 90.35 0.16(PD)
h10,38,10,2i 6204.09 2.25 0.62(PD)
h19,20,9,4i >3600 9.22 0.16(BIBD) | >3600(PD)
h15,350,100,25i >3600 >3600 >3600

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

Nous remarquons la divergence de la courbe -PD- partir de linstance Inst6,

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.

Rappel des contributions


Notre premier apport tait de proposer un modle matriciel qui reflte exactement
le problme de conception des portefeuilles P D. Ce modle est fortement combina-
toire, car il comprend de nombreuses contraintes quadratiques sur le domaine 0-1. Sa
rsolution est un vritable dfi aux mthodes courantes de rsolution de contraintes.
En parallle, nous exploitons la borne infrieure du taux de chevauchement propose
par (Flener et al., 2007).
En premier lieu, nous avons opt pour les mthodes approches (dites locales),
avec lobjectif de minimiser le nombre de contraintes violes. Nous avons propos
deux fonctions de voisinage qui tiennent compte de la smantique des contraintes :
flip : Elle permet dinverser la valeur de la variable qui reprsente le maximum de
conflits et le minimum de fois o elle a t choisie. Elle a t conue pour le
modle matriciel, avec le risque de violer les contraintes lignes et les contraintes
de chevauchement.
swap : Elle permet de permuter les contenus de deux variables de valeurs diffrentes,
et qui appartiennent la mme ligne de la matrice. Nous lavons conu avec
omission des contraintes ligne dont la consistance est toujours conserve.
Pour la fonction flip, nous avons propos une fonction dvaluation (incrmentale)
qui calcule le nombre de contraintes (ligne et colonne) violes. Par contre, nous avons
dfini une autre fonction dvaluation qui nvalue que le nombre les contraintes de
chevauchement pour la fonction swap, puisquelle garde toutes les contraintes ligne
vrifies.
Nous avons pu appliquer des mthodes locales de trois catgories diffrentes :

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

Achterberg, T. (2005). Scip - a framework to integrate constraint and mixed


integer programming. Rapport technique, ZIB, Takustr.7, 14195 Berlin.
Achterberg, T. (2009). SCIP : solving constraint integer programs. Math.
Program. Comput., 1(1):141.
Achterberg, T., Berthold, T., Heinz, S., Koch, T. et Wolter, K. (2008a).
Constraint integer programming : Techniques and applications. Rapport technique
08-43, ZIB, Takustr.7, 14195 Berlin.
Achterberg, T., Berthold, T., Koch, T. et Wolter, K. (2008b). Constraint
integer programming : A new approach to integrate cp and mip. In Per-
ron, L. et Trick, M., diteurs : Integration of AI and OR Techniques
in Constraint Programming for Combinatorial Optimization Problems, 5th
International Conference, CPAIOR 2008, volume 5015, pages 620.
Aldous, D. et Pitman, J. (1994). Brownian bridge asymptotics for random map-
pings. Random Struct. Algorithms, 5(4):487512.
Ashwani, B. (2007). Collateral debt obligations. Rapport technique, GLOBAL
STRATEGY AND INVESTMENT CONSULTING.
Beldiceanu, N., Carlsson, M., Demassey, S. et Petit, T. (2007). Global
constraint catalogue : Past, present and future. Constraints, 12(1):2162.
Benhamou, B. (1994). Study of symmetry in constraint satisfaction problems.
In In Proceedings of CP-94, Lecture Notes in Computer Science, pages 246254.
Springer.
Benhamou, B. et Sadi, M. R. (2007a). Local symmetry breaking during search
in csps. In Principles and Practice of Constraint Programming - CP 2007, 13th
International Conference, CP 2007, Providence, RI, USA, September 23-27, 2007,
Proceedings, pages 195209.
Benhamou, B. et Sadi, M. R. (2007b). Local symmetry breaking during search
in csps. In Principles and Practice of Constraint Programming - CP 2007, 13th
International Conference, CP 2007, Providence, RI, USA, September 23-27, 2007,
Proceedings, pages 195209.
Benhamou, B. et Sadi, Mohamed, R. (2007). Elimination
des symtries locales durant la rsolution dans les CSPs. In
Troisimes Journes Francophones de Programmationpar Contraintes (JFPC07),
JFPC07, INRIA, Domaine de Voluceau, Rocquencourt, Yvelines France.

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.

Rgin, J.-C. (2011). Global Constraints : a survey, in Hybrid Optimization, M.


Milano and P. Van Hentenryck editors, pages 63134. Springer.
Reischuk, R. M., Schulte, C., Stuckey, P. J. et Tack, G. (2009). Maintai-
ning state in propagation solvers. In Gent, I., diteur : Fifteenth International
Conference on Principles and Practice of Constraint Programming, volume 5732
de Lecture Notes in Computer Science, pages 692706, Lisbon, Portugal. Springer-
Verlag.
Rossi, F., van Beek, P. et Walsh, T. (2006). Handbook of Constraint
Programming. Foundations of Artificial Intelligence. Elsevier Science.
Sahinidis, V. et Twarmalani, M. (2002). Convexification and Global
Optimization in Continuous and Mixed-Integer Nonlinear Programming. Kluwer
Academic Publishers Group.
Schulte, C. (2002). Programming Constraint Services, volume 2302 de Lecture
Notes in Artificial Intelligence. Springer-Verlag.
Schulte, C. et Stuckey, P. J. (2008). Efficient constraint propagation engines.
ACM Trans. Program. Lang. Syst., 31(1).

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

Vous aimerez peut-être aussi