LA LETTRE AOC
Algorithmes et
Optimisation Combinatoire N°7
Juin 2011
AGENDA
30 juin 2011 :
Date limite de soumission FCST
2011
http://trust.csu.edu.cn/conference/fcst2
011/
2-4 juillet 2011 :
IEEE SERVICES 2011, International
Workshop on Performance Aspects
of Cloud and Service Virtualization,
Washington BC.
http://www.servicescongress.org/2011/
workshops.html
10-15 juillet 2011 :
Conférence IFORS 2011
International Federation of
Operational Research Societies,
Melbourne, Australie.
http://www.ifors2011.org
24-26 août 2011 :
CSE 2011, The 14th IEEE
International Conference on
Computational Science and
Engineering, Dalian, China.
http://ncc.dlut.edu.cn/~cse11/
29 août - 2 septembre 2011 :
Conférence Euro-Par 2011,
Bordeaux.
30 August - 2 September 2011 :
Conférence ParCo2011
International Conference on Parallel
Computing
http://www.parco.org/
13-16 septembre 2011 :
ICPP 2011, The 40th International
Conference on Parallel Processing,
Taipei, Taiwan.
Publication IEEE CS
http://www.icpp-2011.org
*Submission deadline: February 24,
2011
16-18 novembre 2011 :
FCST 2011, The 6th International
Conference on Frontier of Computer
Science and Technology, Changsha,
Hunan, China.
http://trust.csu.edu.cn/conference/fcst2
011/
12-15 décembre 2011 :
APSCC 2011, The 6th IEEE Asia-
Pacific Services Computing
Conference, Jeju, Korea.
Publication IEEE CS
http://www.ftrai.org/apscc2011
Sélection rapide des meilleurs
éléments d'un ensemble ou
comment "déloger un log"
Lorsqu'il s'agit de trouver au plus vite (i.e. en temps linéaire) les k
meilleurs éléments d'un ensemble de cardinalité n, l'algorithme
doit s'affranchir de la mise en jeu du tri complet de ses éléments,
pour ainsi déloger le "logn" de sa complexité temporelle.
Etant donné un ensemble T de n
éléments tj muni d'une relation
de préordre* total R, trouver
l'ensemble de ses k meilleurs
éléments noté Best (avec k donné
compris entre 2 et n-1) peut se faire
simplement par l'algortihme SORT
(voir ci-contre). Son étape 1 se fait "au
mieux" en O(nlogn) (sauf si T a une
structure particulière ; par exemple, si
ses éléments sont des entiers bornés,
on utilise le "tri par casiers" (bucket
sort) qui est en O(n)). Son étape 2 est
linéaire (parcours de l'ensemble T
désormais trié, à partir du premier
élément jusqu'à la récolte de ses k
meilleurs éléments). L'algorithme
SORT est donc en O(nlogn). Notons
que lorsque kn/logn (ou
symétriquement kn-n/logn), le "tri
par tas" (heapsort) (k itérations après
la construction du tas initial) est en
O(n+klogn), donc en O(n).
Pour récolter l'ensemble Best en
temps linéaire et donc déloger le "logn"
de la complexité temporelle,
l'algorithme itératif PARTITION (décrit
succinctement ci-dessus) se base sur
le principe de partition de l'algorithme
de "tri rapide" (quicksort). Si le pivot
de l'étape 1 permet une partition
équilibrée en étape 2, l'étape 3
restreint la recherche à "la moitié" de
l'ensemble précédent, ce qui conduit à
un algorithme en O(n + n/2 + n/4 +..),
donc en O(n). Si le pivot est mal chosi,
on peut atteindre O(n²) et pourtant la
complexité moyenne de l'algorithme
reste O(n) (Aho, Hopcroft et Ullman :
(The Design and Analysis of Computer
Algorithms, 1976) et (Data Sructures
and Algorithms, 1983)).
Dans le cadre de l'optimisation en
variables 0-1, l'algorithme PARTITION
peut être utilisé directement pour la
résolution du problème
opt j=1,...,ntjxj
j=1,...,nxj=k, xj dans {0,1}.
Il peut être aussi adapté dans deux
directions au moins, avec désormais
le nombre k (i.e. la taille de l'ensemble
Best) non connu à l'avance mais
implicitement donné par la
vérification d'une contrainte (k devient
paramètre de sortie) :
-l'application la plus immédiate
consiste à calculer des bornes (kinf et
ksup) sur la somme des n variables xj
Algorithmique et Optimisation Contrôlée
Algorithme SORT (T, n, R, k, Best)
étape 1 : Trier T suivant la relation
R (du meilleur au moins bon) ;
étape 2 : Best <-- k premiers
éléments de T
Algorithme PARTITION (T, n, R, k, Best)
étape 0 : Best <-- Vide ;
étape 1 : Choisir un élément pivot th dans T ;
étape 2 : Créer une tripartition T1, {th}, T2 de T telle que
Pour tout tj dans T1 tj R th R tl pour tout tl dans T2 ;
étape 3 : (i) Si card(T1)>k Alors T <-- T1 ; retourner à l'étape 1 Sinon
(ii) Si card(T1)+1<k Alors T <-- T2 ; retourner à l'étape 1 avec
Best augmenté de T1 U {th} et k diminué de card(T1)+1 Sinon
(iii) Si card(T1)=k (resp. k-1) Alors
Best est augmenté de T1 (resp. T1 U {th}) ; Stop
La lettre AOC N°7
Le coin des thèses
Problèmes de couverture en
nombres entiers:
génération de colonnes,
heuristiques
d'approximation garantie et
schémas hybrides.
Applications en transport
ferroviaire et en
planification de production.
Jalila Sadki Fenzar
mercredi 6 juillet à 14h en B311
Jury :
Pr. Laurent Alfandari, ESSEC
Business School (Co-encadrant)
Pr. Yves Crama, HEC Management
School, Université de Liège (Rap)
Pr. Dominique Feillet, Ecole des
Mines de Saint-Etienne (Rapporteur)
Pr. Olivier Hudry, Télécom
ParisTech (Examinateur)
Pr. émérite Gérard Plateau,
Université Paris 13 (Examinateur)
Dr. Agnès Plateau, Conservatoire
National des Arts et Métiers (Co-
encadrante)
Pr. Anass Nagih, Université de Metz
(Directeur de thèse)
Pr. Roberto Wolfer Calvo, Université
Paris 13 (Examinateur)
Dr. David De Almeida, Direction de
l'Innovation et de la Recherche de la
SNCF (Invité)
Les programmes de couverture en
nombres entiers (CIP) modélisent de
nombreux problèmes industriels
réels. Dans le cadre de cette thèse,
nous nous intéressons aux CIP de
grande taille, programmes qui
apparaissent souvent comme
problèmes maîtres issus d'une
décomposition de type Dantzig-
Wolfe. Les approches de résolution
de problèmes de grande taille, et
plus spécifiquement, la méthode de
génération de colonnes, connaissent
un intérêt grandissant ces dernières
années. Nous présentons dans un
premier temps un tour d'horizon
autour de la méthode de génération
de colonnes, et des approches de
résolution entière (exactes ou
approchées) basées sur cette
méthode. Nous étudions ensuite les
heuristiques d'approximation
dédiées aux CIP, puis nous
proposons une adaptation de
l'heuristique gloutonne de Dobson
aux CIP de grande taille, engendrant
la résolution d'un sous-problème
fractionnaire. Nous revisitons à
l'issue de cette étude la preuve du
rapport d'approximation de
l'heuristique de Dobson à l'aide
d'une reformulation originale
permettant d'étendre cette preuve à
de nouvelles variantes. A l'issue des
deux études précé-
dentes, nous propo-
sons de nouvelles
approches de réso-
lution approchée
pour les CIP de
grande taille qui
font coopérer l'heu-
ristique d'approxi-
mation gloutonne et la méthode de
génération de colonnes. Des
coopérations séquentielles et
hybrides sont alors mises en oeuvre
et évaluées sur des instances de
problèmes réels. Les résultats
obtenus montrent que l'heuristique
gloutonne constitue un générateur
efficace de colonnes et de solutions
diversifiées permettant d'améliorer
différents aspects du schéma de
génération de colonnes: d'une part,
en diminuant le nombre d'itérations
ainsi que le temps de résolution, et
d'autre part, en améliorant la valeur
du majorant (les CIP étant des
problèmes de minimisation) dans
un schéma de résolution en
nombres entiers. La validation
expérimentale de l'ensemble des
approches proposées est finalement
réalisée sur deux applications types
issues des domaines du transport
ferroviaire et de la production
agricole.
Laboratoire LIPN : http://www-lipn.univ-paris13.fr/
Equipe AOC : http://www-lipn.univ-paris13.fr/AOC/
Séminaire : http://lipn.fr/actualites/tag/séminaire AOC
Parus ou acceptés
Nicolas Lermé, Lucas Létocart, François Malgouyres,
"Reduced graphs for min-cut/max-flow approaches in
image segmentation", LAGOS'11 : VI Latin-American
Algorithms, Graphs, and Optimization Symposium,
Bariloche, Argentina, mars 2011, à paraître dans
Electronic Notes in Discrete Mathematics, 6 pages.
du problème en exploitant une contrainte, soit du type (1)
j=1,...,najxjb, soit du type (2) j=1,...,najxjb. Via la
contrainte (1), le calcul du plus grand nombre de plus
petits coefficients aj dont la somme ne dépasse pas le
second membre b fournit un majorant ksup ; à l'inverse,
via la contrainte (2), le calcul du plus petit nombre de
plus grands coefficients aj dont la somme dépasse le
second membre b fournit un minorant kinf. Dans ces deux
cas, l'ensemble T est l'ensemble des aj et la relation
d'ordre R est soit , soit . Le dénombrement des
éléments de Best est ici remplacé par une addition de
coefficients aj ce qui ne change en rien la complexité de
l'algorithme (e.g. "card (T1) > k" est remplacé par "j dans Best
U T1aj > b").
-l'application la plus subtile a trait à la résolution du
programme linéaire (PL) associé au problème du sac à
dos en variables 0-1 (K) formulé comme suit :
max j=1,...,ncjxj
j=1,...,najxjb, xj dans {0,1}.
Elle consiste à trouver le plus grand nombre de plus
grands rapports cj/aj dont la somme associée des aj
(notée Sigma) ne dépasse pas b. Lorsque b est atteint
exactement, (K) est résolu (tous les objets correspondants
sont mis dans le sac, les autres sont exclus). Dans le cas
contraire (i.e. Sigma<b), la solution de (PL) se déduit de la
précédente très simplement en ajoutant à Sigma la
fraction du premier objet exclu permettant de remplir le
sac à "ras bord". L'ensemble T est ici celui des couples
(cj,aj) muni du préordre R défini par : (ci,ai) R (cj,aj) <=>
ci/aicj/aj. Comme précédemment, les calculs de
cardinalités sont remplacés par des additions de
coefficients aj (ici k représente le nombre de variables à 1
dans la solution optimale).
Découvert à la fin des années 70, ce principe
permettant de "s'affranchir du logn" est désormais
couramment utilisé dans plusieurs variantes du
problème du sac à dos, sous-problème (souvent résolu en
cascade) de nombreux problèmes d'optimisation
complexes. Puisse ce billet ouvrir des perspectives
d'autres applications en AOC...
Gérard Plateau
* R n'est pas antisymétrique : on peut avoir ti R tj & tj R ti
1 / 2 100%