Journées Polyèdres et Optimisation Combinatoire

Transcription

Journées Polyèdres et Optimisation Combinatoire
JPOC6
Journées Polyèdres et
Optimisation Combinatoire
Bordeaux
du 10 au 12 juin 2009
Comité d’organisation :
Sylvie Borne (LIPN / Université Paris 13)
Nathalie Dupuy (INRIA Bordeaux - Sud-Ouest)
Pierre Fouilhoux (LIP6 / Université Paris 6)
Cédric Joncour (IMB - INRIA RealOpt / Université de Bordeaux 1)
A. Ridha Mahjoub (LAMSADE / Paris Dauphine)
Philippe Meurdesoif (IMB - INRIA RealOpt / Université de Bordeaux 1)
Andrew Miller (IMB - INRIA RealOpt / Université de Bordeaux 1)
Arnaud Pêcher (LABRI - INRIA RealOpt / Université de Bordeaux 1)
Pierre Pesneau (IMB - INRIA RealOpt / Université de Bordeaux 1)
Ruslan Sadykov (IMB - INRIA RealOpt)
François Vanderbeck (IMB - INRIA RealOpt / Université de Bordeaux 1)
EDITO
Nous sommes heureux de vous accueillir, ces 10, 11 et 12 juin 2009, pour la sixième édition des
Journées Polyèdres et Optimisation (JPOC6), à Bordeaux.
L’optimisation combinatoire est une branche relativement jeune de l’informatique et de la programmation mathématique. Elle a des applications importantes dans l’industrie. Elle est utilisée dans les
transports, les télécommunications, les systèmes d’information et bien d’autres domaines.
L’optimisation combinatoire est également une discipline qui ne cesse de se développer aussi bien
sur le plan théorique qu’au niveau des applications. Ces dernières années, des avancées majeures ont été
observées en complexité, en algorithmes d’approximation et en performance de résolution de problèmes
difficiles de grande taille.
Les approches polyédrales constituent un des outils puissants de cette discipline. Initiées en 1965
par Jack Edmonds en étudiant le problème du couplage, elles sont maintenant de plus en plus utilisées
pour résoudre les problèmes d’optimisation combinatoire difficiles. Ces techniques, parfois couplées avec
d’autres méthodes comme la génération de colonnes, permettent d’élaborer des algorithmes efficaces de
résolution.
L’équivalence établie entre la séparation et l’optimisation, sur un polyèdre d’une part et l’évolution
des outils de calcul d’autres part, ont donné un essor important à ces méthodes. Ainsi la méthode dite
de « Branch and Cut », qui est une méthode arborescente, inspirée de cette équivalence, est maintenant
largement appliquée pour obtenir des solutions optimales ou proches de l’optimum pour les problèmes
d’optimisation combinatoire.
Nous avons le plaisir d’accueillir une quarantaine de chercheurs, venant de toute la France, et parfois
de plus loin, notamment la Tunisie, pour se retrouver autour d’exposés sur le thème des polyèdres en
optimisation combinatoire. Ces trois jours se déroulent sous la forme d’exposés pleiniers de 25 minutes
suivis de 5 minutes de questions et de 5 exposés de chercheurs invités de 50 minutes suivis de 10 minutes
de questions. Ces journées JPOC6 se tiennent sur 3 jours afin de donner plus de temps à la discussion
et aux échanges entre participants. La fin de la matinée du jeudi sera consacrée principalement à cela.
Nous espérons que les échanges au cours de ces journées seront l’occasion pour les participants d’établir
des liens et des collaborations.
Les exposés et les pauses-café se dérouleront dans les locaux de l’Institut de Mathématique de
Bordeaux. Ces studieuses journées seront ponctuées par un buffet le mercredi soir où sont invités tous
les participants. Ce buffet prendra place à CastelTerrefort (bâtiment A13) sur le campus de l’Université
de Bordeaux 1.
Cette manifestation ne pourrait pas avoir lieu sans la participation de nos partenaires que sont
l’institut de mathématique de Bordeaux (IMB), l’école doctorale de Mathématique et Informatique de
l’université de Bordeaux, le CNRS et l’INRIA ; sans oublier les tutelles du groupe de travail POC : la
ROADEF et le GDR Recherche Opérationnelle.
Nous vous souhaitons un excellent séjour à Bordeaux.
Pierre Pesneau
A. Ridha Mahjoub
3
PROGRAMME JPOC6
Mercredi 10 juin 2009
14h00 - 14h30
Ouverture des Journées JPOC6
14h30 - 15h30
Le polytope du Voyageur de Commerce
D. Naddef
15h30 - 16h00
Localisation de caches dans un réseau de distribution de contenu
J.-M. Ségura, P. Chrétienne, P. Fouilhoux, E. Gourdin
16h00 - 16h30 PAUSE CAFÉ
16h30 - 17h00
Le sandwich line-graphe
D. Cornaz
17h00 - 17h30
Augmentation de l’arête-connexité d’un hypergraphe sous contraintes de partition
A .Bernáth, R. Grappe, Z. Szigeti
17h30 - 18h00
Le Problème du Vendeur m-Péripatétique avec Capacité
E. Duchenne, G. Laporte, F. Semet
19h30 REPAS DE GALA
5
Jeudi 11 juin 2009
9h00 - 10h00
Décompositions et relaxations vues par la génération de colonnes
A. Nagih
10h00 - 10h30
Résolution de programmes quadratiques en nombres entiers par reformulation convexe
A. Billionnet, S. Elloumi, A. Lambert
10h30 - 11h00 PAUSE CAFÉ
11h00 - 12h30
Réunions de travail et discussions
12h30 - 14h00 DÉJEUNER
14h00 - 15h00
Polytope des cliques circulaires et calcul du nombre circulaire-chromatique
A. Pêcher
15h00 - 15h30
Fiabilité des réseaux de télécommunications hiérarchiques
O. Ekin-Karasan, P. Fouilhoux, A. R. Mahjoub, O. Özkök, H. Yaman
15h30 - 16h00 PAUSE CAFÉ
16h00 - 16h30
Algorithme de Branch-and-Cut pour l’installation de capteurs dans un réseau
P. Meurdesoif, P. Pesneau, F. Vanderbeck
16h30 - 17h00
Décomposition lagrangienne et génération de colonnes
N. Touati, L. Létocart, A. Nagih
17h00 - 17h30
On the Convex Hull of Huffman Codes
T. H. Nguyen, J.-F. Maurras, V. H. Nguyen
6
Vendredi 12 juin 2009
9h00 - 10h00
Reformulations in mathematical programming : Symmetry
L. Liberti
10h00 - 10h30
Le problème des k chaînes arête-disjointes de longueur bornée
F. Bendali, I. Diarrassouba, A. R. Mahjoub, J. Mailfert
10h30 - 11h00 PAUSE CAFÉ
11h00 - 11h30
Réseaux de Steiner à composantes connexes unicycliques : un problème facile
W. Ben-Ameur, M. Hadji, A. Ouorou
11h30 - 12h00
Minimisation du coût de maintenance préventive sur une machine
M. Rebai, A. Kondo, I. Kacem
12h00 - 12h30
Analyse Structurelle dans les Systèmes Algébro-différentiels et Optimisation Combinatoire
M. Lacroix, A. R. Mahjoub, S. Martin
12h30 - 14h00 DÉJEUNER
14h00 - 15h00
Méthodes de programmation mathématique pour la résolution de problème de tournées
F. Semet
15h00 - 15h30
Matrices de 1-consécutifs pour le problème de placement
C. Joncour, A. Pêcher
16h00
Cloture des Journées
7
Localisation de caches
dans un réseau de distribution de contenu
J-M. Segura1,2 , P. Chrétienne2 , P. Fouilhoux2 et E. Gourdin1
1. Orange Labs, 38-40 rue du Général Leclerc,
92794 Issy-Les-Moulineaux
2. LIP6, 104 avenue du Président Kennedy,
75016 Paris
[email protected]
Mots-clefs : VoD, télécommunications, caches, localisation, affectation.
Nous nous intéressons au problème de localisation d’équipements dans un réseau lorsque l’on
désire affecter des produits et des clients à ces équipements.
Ce problème intervient dans la distribution de contenu, par exemple celle d’un catalogue de
films dans le service de vidéo à la demande (VoD) destinés à des utilisateurs de ce service et
à travers le réseau d’un opérateur internet. Les équipements à positionner dans le réseau sont
des disques durs, appelés des caches, sur lesquels on peut stocker un nombre limité de films.
Les caches doivent être répartis dans le réseau de manière à permettre un accès rapide lors de
la distribution des films aux clients. La solution de ce problème consiste donc, tout à la fois, à
placer les caches, ainsi qu’à affecter les films sur ces caches, de sorte à ce que chaque client ait
accès à la totalité des films du catalogue.
Dans ce contexte de distribution de films, les coûts de raccordement des clients aux caches
sont plus important pour des films dits "populaires" que pour les films peu demandés. Dès lors,
les objectifs seront de minimiser le coût de raccordement des clients aux caches, ainsi que le
coût d’installation de ces caches.
1
Modélisation
On dispose d’un ensemble de sites V = {1, ..., n} pour installer les caches. Ce sont les
clients, les concentrateurs du réseaux, un système de Peer-to-Peer ou encore le serveur central
de distribution des films. Les sites sont rassemblés dans un réseau R = (V, E) où E est l’ensemble
des liaisons du réseaux. L’ensemble des films est noté F = {1, ..., m}. Le coût de raccordement
d’un client j ∈ V à un équipement situé en i ∈ V pour le film f ∈ F est noté cijf . Ce coût
dépend à la fois de la valeur d’un plus court chemin entre i et j et de la popularité du film f .
On notera µi la capacité en nombre de film que l’on peut disposer sur un cache placé sur le
site i ∈ V . La capacité des disques est différente selon que le disque est placé sur un site client,
concentrateur ou selon le principe de Peer-to-Peer.
Le problème consiste alors à décider de positionner un cache sur chaque site d’un multiensemble S ⊂ V tel que chaque film soit affecté à au moins un cache : on note alors S f
l’ensemble des chaches contenant le film f . Il faut également décider une affectation de chaque
client j à un et un seul site i de S f , pour chaque film f ∈ F . Cette double affectation doit
respecter la contrainte de capacité interdisant de placer plus de µi films par cache.
L’objectif du problème doit réaliser un compromis entre minimiser le nombre de caches
et minimiser la somme des coûts d’accès à chaque film pour tous les clients. En pratique, le
9
nombre de caches peut être fixé à l’avance, notamment pour des contraintes budgétaires. Sous
cette hypothèse, on notera p = |S| le nombre de caches à positionner.
Le problème tel qu’il est défini est NP-difficile dans le cas d’un graphe quelconque, puisqu’il
est une généralisation du problème p-médian qui a été montré NP-difficile, même dans le cas
d’un graphe planaire de degré maximum 3 [1]. En revanche, le problème du p-median a été
montré polynomial dans le cas d’un arbre [1].
2
Formulation PLNE
Nous supposons ici que tous les sites sont des clients potentiels et que chaque cache a la
même capacité µ. Une modélisation mathématique possible sous forme de programme linéaire
en nombre entier est alors la suivante :
P P P
P
min
cijf × xijf + i∈V Ci × zi
i∈V j∈V \{i} f ∈F
s.t.
P
xijf = 1,
∀j, ∀f
(1)
j∈V
xijf ≤ xiif ,
∀i, ∀j, ∀f
P
xiif ≤ µ × zi ,
∀i
f ∈F
P
zi = p,
(2)
(3)
(4)
i∈V
xijf ∈ {0, 1}, zi ∈ N
(5)
La contrainte (1) implique que chaque client j est affecté à un site i pour chaque film f . La
contrainte (2) exprime que si le client j est affecté à un site i pour le film f , alors un cache doit
être installé sur le site i et le film f y être effectivement stocké. La contrainte (3) impose que
le nombre de films stockés sur les caches situés en i est bien inférieur à leurs capacités. Enfin,
la contrainte (4) impose le nombre de caches à placer, tandis que les contraintes (5) expriment
l’intégrité des variables. À la différence de la formulation du problème de p-médian, la variable
représentant l’équipement ou non du site i, notée ici zi , n’est pas booléenne mais entière et
prend la valeur du nombre de caches installés sur le site i.
3
Résultats
Une étude expérimentale a permis de démontrer que, même pour n et p petits, les instances du
problème sous cette modélisation sont difficilement résolues par CPLEX. Nous étudierons alors
une approche polyédrale pour ce problème dont les premiers résultats seront présentés. Nous
présenterons également des résultats algorithmiques exactes ou approchées sur des cas de graphes
simples (ligne, étoile) qui sont fréquemment utilisés pour modéliser les réseaux d’opérateurs
internet.
Références
[1] O. Kariv and S. L. Hakimi, An Algorithmic Approach to Network Location Problems. II :
The p-Medians, SIAM Journal on Applied Mathematics (1979)
10
Le sandwich line-graphe
D. Cornaz
1
1. Université Blaise Pascal - Clermont Ferrand II,
Complexe scientifique des Cézeaux, 63177 Aubière cedex
[email protected]
Mots-clefs : Théorème sandwich de la fonction Theta-Lovász, Line-graphe.
1
Introduction
La fonction Theta-Lovász ϑ(G) d’un graphe G vérifie ω(G) ≤ ϑ(G) ≤ χ(G) et elle peut
se calculer en temps polynomial (à ε près) (voir [4]), où ici ω(G) est la taille maximum d’une
clique de G, χ(G) est le nombre chromatique de G, et G est le graphe complémentaire de G. En
particulier, ϑ permet de calculer ω et χ lorsque ω = χ (e.g. les graphes parfaits) et il n’existe à ce
jour pas d’algorithme combinatoire pour le faire (ϑ se calcule par la programmation semidéfinie
positive).
Un paramètre β(G) est dit sandwich s’il satisfait α(G) ≤ β(G) ≤ χ(G) pour tout graphe
G (où α(G) = ω(G) est la taille maximum d’un stable de G et χ(G) = χ(G) est le nombre
minimum de cliques couvrant G). Il existe de nombreux paramètres sandwich que l’on peut
calculer en temps polynomial avec la SDP (voir [3]). Le line-graphe L(G) de G a pour sommets
les arêtes de G et pour arêtes les paires d’arêtes adjacentes dans G. Lorsque G est sans triangle
on peut observer ceci :
(i)
χ(G) = |V | − α(L(G)) ;
(ii)
χ(L(G)) = |V | − α(G) ;
et
qui impliquent directement que
(iii)
2
α(G) ≤ |V | − β(L(G)) ≤ χ(G) pour tout paramètre sandwich β.
Le sandwich line-graphe
On appelle sandwich line-graphe un graphe auxiliaire S(G) de G tel que S(G) = L(G) si G
est sans-triangle et tel que S(G) vérifie (i), (ii) et donc (iii) pour tout graphe G.
Dans [1] le graphe auxiliaire S(G) de G est défini de manière unique à une orientation
acyclique près et (i) est montré pour tout graphe G si l’on remplace L(G) par S(G). Etant
donnée une orientation acyclique Go de G, le graphe S(Go ) s’obtient à partir du line-graphe
L(G) en retirant les arêtes {{u, v}, {u, w}} de L(G) si (u, v) et (u, w) sont des arcs de Go et si
{v, w} est une arête de G. Une étoile simpliciale de Go est un ensemble d’arcs ayant la même
extrémité initiale et dont les extrémités finales forment une clique. Puisque Go et acyclique, il y a
une bijection entre les cliques non-singleton de G et les étoiles simpliciales non-vides de Go . D’où
une bijection entre les partitions en cliques de G et les forêts stellaires simpliciales de Go (qui
sont les unions d’étoiles simpliciales sommet-disjointes). Finalement, il y a aussi une bijection
entre les forêts stellaires simpliciales de Go et les stables de S(Go ). D’où χ(G) = |V | − α(S(Go )).
En fait, S(Go ) vérifie aussi (ii) et donc (iii) (quelque soit l’orientation choisie).
11
Pour voir que α(G) ≥ |V |−χ(S(Go )), il faut remarquer que toute clique de S(Go ) correspond
à une étoile dans G. En effet, dans le line-graphe L(G) les cliques correspondent aux étoiles ou
aux triangles de G, mais, puisque Go est acyclique, un triangle de G n’est pas une clique de
S(Go ). Donc, pour toute partition en k cliques des sommets S(Go ), il correspond une partition
en k étoiles de G, et donc un stable maximum de G a au-moins |V | − k sommets.
Pour voir que χ(S(Go )) ≤ |V |−α(G), il faut remarquer que pour tout stable S de k sommets
de G, le complémentaire T de S dans G intersecte chaque arête de G, et, de plus, il correspond
à T une partition en |T | cliques de S(Go ). En effet, pour tout sommet v ∈ T on peut définir
δT (v) l’ensemble des arcs a de Go tels que soit v est l’extrémitié finale de a, soit v est l’extrémitié
initiale de a et l’autre extrémité de a n’est pas dans T . Ainsi, puisque chaque arête de G a un
sommet dans T , δT (v) est une clique de S(Go ) et {δT (v) : v ∈ T } est une partition en cliques
de S(Go ).
Fig. 1 – Exemple : Un graphe G et deux sandwich line-graphes de G.
3
Conclusion
Le sandwich line-graphe est donc un opérateur transformant tout paramètre sandwich en un
autre. Il peut être une alternative intéressante à l’opérateur Ψ de [2].
Références
[1] D. Cornaz, V. Jost : A one-to-one correspondence between colorings and stable sets,
Operations Research Letters 36 673-676, (2008).
[2] N. Gvozdenović and M. Laurent : The Operator Ψ for the Chromatic Number of a Graph,
SIAM J. Optim. Volume 19(2) 572-591 (2008) .
[3] P. Meurdesoif : Strengthening the Lovász Theta(G) bound for graph coloring. Math.
Program. 102(3) 577-588 (2005).
[4] A. Schrijver, Combinatorial Optimization, Springer-Verlag Berlin Heidelberg (2003).
12
Augmentation de l’arête-connexité d’un hypergraphe sous
contraintes de partition
A .Bernáth1 , R. Grappe2 et Z. Szigeti2
1. MTA-ELTE Egerváry Research Group, Departement of Operations Research, Eötvös Loránd
University
Budapest, Hungary
2. Laboratoire G-SCOP, Grenoble INP, UJF, CNRS
Grenoble, France
[email protected]
Mots-clefs : hypergraphe, arête-connexité, contraintes de partition.
Un (hyper)graphe est k-arête-connexe si entre toutes paires de sommets il existe k chemins
(hyper)arête-disjoints. L’augmentation de l’arête-connexité d’un graphe consiste à, étant donnés
un graphe G et un entier k, ajouter un nombre minimal d’arêtes à G pour le rendre k-arêteconnexe. Grâce à l’algorithme de Frank, qui résout ce problème, de nombreuses extensions ont vu
le jour : par exemple pour les hypergraphes [1], ou encore avec des contraintes supplémentaires
sur les arêtes à ajouter [2]. Nous proposons de résoudre la généralisation suivante.
Problème : Soit H=(V,E) un hypergraphe, P une partition de V, et k un entier. Ajouter un
nombre minimal d’arêtes de taille 2 reliant différents membres de P à H pour le rendre k-arêteconnexe. Nous exhibons deux bornes inférieures naturelles pour ce problème, et caractérisons
les hypergraphes pour lesquels ces bornes ne peuvent pas être atteintes. Un théorème min-max
résolvant le problème en découle, accompagné d’une preuve constructive et polynomiale.
Références
[1] J. Bang-Jensen et B. Jackson, Augmenting hypergraphs by edges of size two, Math.
Program. Vol. 84, No. 3 (1999) 467-481.
[2] J. Bang-Jensen, H. Gabow, T. Jordán et Z. Szigeti, Edge-connectivity augmentation with
partition constraints, SIAM J. Discrete Math. Vol. 12, No. 2 (1999) 160-207.
13
Le Problème du Vendeur m-Péripatétique avec Capacité
E. Duchenne1 , G. Laporte2 et F. Semet3
1. LAMIH, Université de Valenciennes et du Hainaut-Cambrésis, France
[email protected]
2. CIRRELT and Canada Research Chair in Distribution Management, HEC Montréal,
Canada
[email protected]
3. LAGIS, Ecole Centrale de Lille, France
[email protected]
Mots-clefs : Problème du Vendeur m-Péripatétique, capacité, heuristique, formulation, Branchand-Cut, Branch-and-Price
1
Description du problème
Le Problème du Vendeur m-Péripatétique avec Capacité (m-PVPC) symétrique est défini
sur un graphe complet G = (V, E), où V = {1, . . . , n} est l’ensemble des sommets et E = {e =
(i, j) : i, j ∈ V, i < j} l’ensemble des arêtes. A chaque arête e, on associe un coût ce et une
capacité Ce . Le m-PVPC consiste à déterminer m cycles hamiltoniens de coût total minimum
sur G tels que chaque arête e ∈ E soit utilisée au maximum Ce fois. Le m-PVPC est NP-dur et
se réduit au m-PVP [1] lorsque toutes les capacités Ce sont égales à 1.
2
Méthodes de résolutions
Dans cette présentation, une heuristique et 3 algorithmes exacts seront présentés. L’heuristique se base sur une heuristique de Krarup [2] pour le m-PVP alors que les algorithmes exacts
se basent sur 3 formulations :
– une première utilisant des variables xek égales à 1 lorsque l’arête e est utilisée dans le cycle
k,
– une deuxième utilisant des variables yee′ égales à 1 lorsque les arêtes e et e′ sont dans un
même cycle,
– une troisième utilisant des variables xi égales à 1 si le cycle i est dans la solution optimale.
Références
[1] É Duchenne, G. Laporte, and F. Semet (2007). The Undirected m-Peripatetic Salesman
Problem : Polyhedral Results and New Algorithms. Operations Research, 55, pp. 949-965.
[2] J. Krarup (1975). The Peripatetic Salesman and Some Related Unsolved Problems. Combinatorial Programming, Methods and Applications. B. Roy, ed, Reidel, Dordrecht, 173-178.
14
Résolution de programmes quadratiques en nombres
entiers par reformulation convexe
A. Billionnet1 , S. Elloumi2 , A. Lambert2
1. ENSIIE, CEDRIC,
1, square de la résistance, 91025 Evry Cedex
[email protected]
2. Conservatoire National des Arts et Métiers, CEDRIC,
292 rue saint Martin, 75003 Paris
[email protected] , [email protected]
Mots-clefs : Programmation quadratique discrète, reformulation convexe
De nombreux problèmes de recherche opérationnelle peuvent se modéliser sous la forme
d’un programme mathématique à valeurs entières dont la fonction objectif est quadratique, non
convexe et est soumise à des contraintes linéaires. Sans perte de généralité un problème de ce
type peut s’écrire sous la forme :
(QP )

M in




 s.c.





f (x) = xT Qx + cT x
Ax = b
(1)
Dx ≤ e
(2)
0≤x≤u
(3)
x∈N
(4)
où Q ∈ Sn (l’espace des matrices symétriques d’ordre n), c ∈ Rn , A ∈ Mm,n (ensemble des
matrices m × n), b ∈ Rm , D ∈ Mp,n , e ∈ Rp , u ∈ Nn .
Ce problème entre dans la classe des problèmes difficiles [1]. Les solveurs standards peuvent
résoudre efficacement des programmes quadratiques en variables mixtes (MIQP), mais seulement dans le cas spécifique où f (x) est une fonction convexe. Ainsi, pour résoudre (QP ) nous le
reformulons en un programme équivalent dont la fonction objectif est quadratique et convexe,
puis nous le soumettons à un solveur standard. Concrètement, cela consiste à perturber la matrice Q de (QP ) dans le but d’obtenir une matrice semi définie positive. Une méthode classique
de résolution de programmes quadratiques convexes en nombres entiers consiste à appliquer un
algorithme de Branch and Bound. Il est connu que le comportement de cet algorithme dépend
de la qualité de la borne à la racine de l’arbre de résolution. C’est pourquoi, afin que notre
reformulation soit pertinente, nous cherchons une reformulation qui minimise l’écart entre la
solution optimale en nombres réels et la solution optimale en nombres entiers.
Dans la littérature, les reformulations convexes ont été introduites pour des problèmes quadratiques en variables bivalentes. Il est facile de convexifier une tel problème puisqu’il possède
la propriété x2i = xi . Dans [2], Hammer et Rubin utilisent cette propriété pour ajouter à la
n
X
fonction objectif −λmin (Q)
(x2i − xi ), avec λmin (Q) la plus petite valeur propre de Q. Cette
i=1
addition revient à soustraire λmin (Q) aux termes diagonaux de la matrice Q, ce qui est suffisant
pour obtenir une matrice semi définie positive. Dans le cas où les variables sont entières, x2i n’est
plus égal à xi . Cependant, il est facile d’étendre la méthode de la plus petite valeur propre en
n
X
ajoutant à la fonction objectif −λmin (Q)
additionnelles satisfaisant
ui
X
(x2i − vi ), où vi =
i=1
rik = 1, et xi =
k=0
ui
X
ui
X
k 2 rik , et rik sont des variables
k=0
krik . Cela nous fournit une première méthode
k=0
naïve, appelée NC (Naive Convexification), pour résoudre (QP ).
15
Dans le cas binaire et non contraint, Billionnet et Elloumi améliorent la méthode de la plus
petite valeur propre dans [3], en introduisant un schéma de convexification qui perturbe chaque
terme de la diagonale de Q par un coefficient différent. Ensuite, ils cherchent au sein de ce schéma
la meilleure reformulation convexe dans le sens où elle produit la meilleure borne obtenue par
relaxation continue. Ils montrent que ces coefficients peuvent être déduits de la solution duale
d’une relaxation SDP de (QP ). Ensuite, Billionnet, Elloumi et Plateau [4] ont étendu cette
dernière méthode au cas des programmes quadratiques 0-1 soumis à des contraintes d’égalité. En
effet, dans leur schéma de reformulation ils perturbent, en plus de la diagonale de Q, les termes
généraux de la matrice Q, en ajoutant à la fonction objectif de nouvelles fonctions quadratiques
qui s’annulent sur l’espace des solutions admissibles de (QP ). Ces nouvelles fonctions sont
obtenues en multipliant les égalités linéaires par les variables. Donc à partir d’une contrainte
n
X
ari xi − br , ils construisent les fonctions nulles
n
X
ari xi xj − br xj . Cette méthode appelée QCR
i=1
i=1
améliore significativement la valeur de la borne obtenue par relaxation continue.
Notre contribution dans ce travail est d’étendre les méthodes [3,4] aux programmes quadratiques en nombres entiers. En partant de la méthode NC, nous introduisons de nouvelles variables
et de nouvelles contraintes pour forcer l’égalité yij = xi xj . Ces nouvelles variables permettent
de perturber par un coefficient différent chaque terme de la matrice Q. Pour forcer l’égalité
yij = xi xj , avec un nombre raisonnable de variables additionnelles, nous utilisons la décomposition binaire des variables xi , plutôt que la décomposition unaire de la méthode NC. L’originalité
de cette méthode, que nous avons appelé IQCR(Integer Quadratic Convex Reformulation),
est qu’elle utilise à la fois les idées des linéarisations et des convexifications.
D’abord, nous proposons un schéma général de reformulation convexe de (QP ) en un problème équivalent et convexe (QPα,β ) qui dépend d’un paramètre scalaire α, et d’un paramètre
matriciel β. L’idée est d’ajouter à la fonction objectif initiale f (x) les fonctions suivantes qui
s’annulent sur le domaine réalisable de (QP ) ainsi que sous l’hypothèse yij = xi xj :
(i) α(Ax − b)2 où α ∈ R
(ii) β T (xT x − y) où β ∈ Sn .
Soit (QPα,β ) le programme suivant :

 M in fα,β (x, y) = f (x) + α(Ax − b)2 + β T (xT x − y)
s.c.
(1)(2)
(QPα,β )

x, y, z, t ∈ Pxyzt
où Pxyzt est l’ensemble suivant :



















Pxyzt x, y, z, t :


















(3)
⌊log(ui )⌋
xi =
X
2k tik
i∈I
(5)
k=0
zijk ≤ uj tik
zijk ≤ xj
zijk ≥ xj − uj (1 − tik )
zijk ≥ 0
yij = yji
yij ≥ xi uj + xj ui − ui uj
yii ≥ xi
tik ∈ {0, 1}
(i, k) ∈ E,
(i, k) ∈ E,
(i, k) ∈ E,
(i, k) ∈ E,
i, j ∈ I
(i, k) ∈ E,
i∈I
(i, k) ∈ E
j
j
j
j
∈I
∈I
∈I
∈I
j∈I
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
Il est évident que si x satisfait les contraintes (1) et que xi xj = yij , alors fα,β (x, y) = f (x).
Les contraintes linéaires de Pxyzt assurent l’égalité xi xj = yij . En effet, pour construire Pxyzt ,
16
⌊log(ui )⌋
nous utilisons l’unique décomposition binaire xi =
2k tik . Ensuite, nous déduisons l’égalité
X
k=0
⌊log(ui )⌋
xi xj =
X
2k tik xj = yij , que nous linéarisons en introduisant les nouvelles variables zijk pour
k=0
remplacer chaque terme quadratique tik xj . Enfin, nous ajoutons l’ensemble d’inégalités (6) -(9)
qui force zijk à être égal à tik xj . Les contraintes (10), (11) et (12) sont redondantes, mais elles sont
nécessaires pour les besoins de la projection que nous faisons par la suite. Les contraintes (10)
viennent de l’égalité xi xj = xj xi , les contraintes (11) viennent de l’inégalité (xi −ui )(xj −uj ) ≥ 0,
et les contraintes (12) viennent de l’inégalité x2i ≥ xi qui est satisfaite par n’importe quel entier
xi .
Ici, nous cherchons à reformuler (QP ) en (QPα,β ), si fα,β (x, y) est convexe. Cela est toujours
possible. Par exemple, en prenant ∀i ∈ I, β̄ii = −λmin (Q), ∀i, j ∈ I, i 6= j, β̄ij = 0, et ᾱ
n’importe quel réel positif, il est clair que la fonction fᾱ,β̄ (x, y) est convexe.
Ensuite, afin que notre reformulation soit pertinente, nous cherchons une reformulation qui
minimise l’écart entre la valeur de la solution optimale en nombres réels et la valeurs de la
solution optimale en nombres entiers. C’est pourquoi dans la suite, nous nous intéresserons
particulièrement à la relaxation continue de (QPα,β ), que nous appelons (QP α,β ) :

 M in fα,β (x, y)
s.c.
(1)(2)
(QP α,β )

x, y, z, t ∈ P xyzt
avec P xyzt le polyèdre obtenu en relâchant les contraintes d’intégrité de Pxyzt , et donc en
remplaçant les contraintes (13) par
0 ≤ tik ≤ 1 (13)′
Etant donné que les variables z et t n’interviennent pas dans la fonction objectif fα,β (x, y),
il est intéressant de définir une projection de l’ensemble P xyzt sur x et y. Cette projection
correspond en fait à l’enveloppe convexe minimale définie par McCormick [5]. En effet, nous
avons prouvé que la projection de P xyzt sur x et y est le polyèdre suivant Pxy :

yij ≥ 0




yij = yji



y ≤ uj xi
Pxy x, y : ij
yij ≤ ui xj




yij ≥ xi uj + xj ui − ui uj



yii ≥ xi
i, j ∈ I, qij 6= 0, i 6= j
i, j ∈ I
i, j ∈ I, qij 6= 0, i =
6 j
i, j ∈ I, qij 6= 0, i =
6 j
(i, k) ∈ E, j ∈ I
i∈I
(14)
(10)
(15)
(16)
(11)
(12)
Soit (Pα,β ) le programme suivant :

 M in
s.c.
(Pα,β )

fα,β (x, y)
(1)(2)
x, y ∈ Pxy
Nous pouvons déduire de cette projection polyhédrale qu’il est équivalent de minimiser
fα,β (x, y) sur le polyèdre P xyzt ou sur le polyèdre Pxy , i.e. (QP α,β ) et (Pα,β ) ont la même valeur
optimale.
Maintenant, il reste à caractériser les valeurs de α et β qui maximisent la valeur de (QP α,β ),
et donc celle de (Pα,β ), tout en rendant convexe la fonction fα,β (x, y). Plus formellement, nous
cherchons à résoudre le problème suivant :
(CP ) :
max
α∈R,
{v(Pα,β )}
=
β∈Sn
max
α∈R,
Qα,β 0
β∈Sn
Qα,β 0
17
min
(1)(2)
(x,y)∈Px,y
{fα,β (x, y)}
Où v(Pα,β ) est la valeur de la solution optimale de (Pα,β ) et Qα,β le hessien de fα,β (x, y), i.e.
Qα,β = Q + αAT A + β.
Nous avons montré que les valeurs des coefficients α et β, solutions optimales de (CP ) se
déduisent de la solution duale d’une relaxation SDP de (Pα,β ), qui est le programme suivant :

n
n
n X
X
X



ci xi
q
X
+
M
in
f
(X,
x)
=
ij ij




i=1
j=1
i=1



s.c.
(1)(2)



m
n
n X
m X

X
X



b2r
a
a
X
−
2a
b
x
))
=
−
(
(

ri
rj
ij
ri
r
i



r=1
r=1 i=1 j=1


Xij ≤ uj xi
(SDP )

Xij ≤ ui xj




−X
ij ≤ −uj xi − ui xj + ui uj




−X
ij ≤ 0




−X
i

ii ≤ −x



1
x


0


xT X


x ∈ Rn X ∈ Sn
(17)
i, j ∈ I
i, j ∈ I
i, j ∈ I
i, j ∈ I
i∈I
(18)
(19)
(20)
(21)
(22)
(23)
(24)
Nous pouvons donc construire un algorithme général de résolution exacte de problèmes quadratiques non convexes et à variables entières basé sur le reformulation IQCR :
IQCR (Integer Quadratic Convex Reformulation)
1. Résoudre le programme semi défini (SDP )
2. En déduire α∗ et β ∗ .
3. Résoudre le programme (QPα∗ ,β ∗ ) par un solver MIQP.
Afin d’évaluer expérimentalement cette méthode, nous avons généré des instances de deux
classes, la première, (EIQP ), consiste à minimiser une fonction quadratique non convexe soumise à une contrainte d’égalité, et la deuxième, (IIQP ), consiste à minimiser une fonction quadratique non convexe soumise à une contrainte d’inégalité. Pour ces deux classes d’instances,
nous avons construit des instances ayant 20, 30, et 40 variables, où les coefficients ont été générés
aléatoirement. Les résultats de ces expérimentations, qui comparent les méthodes NC et IQCR,
montrent que la méthode IQCR est nettement plus performante que la méthode NC du point de
vue de la borne obtenue par relaxation continue et du temps de résolution.
Références
[1] M.R. Garey and D.S. Johnson, Computers and Intractability : A guide to the theory of NP-Completness.
W.H. Freeman, San Francisco, CA, (1979)
[2] P.L. Hammer et A.A. Rubin. Some remarks on quadratic programming with 0-1 variables. Revue Française
d’Informatique et de Recherche Opérationnelle, (1970).
[3] A. Billionnet et S. Elloumi, Using a mixed integer quadratic programming solver for unconstrained
quadratic 0-1 problem. Mathematical Programming, 109 : 55-68, (2007).
[4] A. Billionnet, S. Elloumi et M.-C. Plateau. Improving the performance of standard solvers for quadratic
0-1 programs by a tight convex reformulation : the QCR method. Discrete Applied Mathematics, 157(6) : 11851197, (2009).
[5] Garth P. McCormick. Computability of global solutions to factorable nonconvex programs : Part I Convex underestimating problems. Mathematical Programming, 10(1) : 147-175, (1976).
18
Polytope des cliques circulaires et calcul du nombre
circulaire-chromatique
A. Pêcher1
1. Université de Bordeaux (LaBRI, INRIA), 351 cours de la Libération, 33405 Talence, France
[email protected]
Mots-clefs : graphes parfaits, colorations circulaires
Un résultat majeur de la théorie des graphes est que le nombre chromatique d’un graphe
parfait [1] est calculable en temps polynomial (Grötschel, Lovász et Schrijver [2, 3]). Le nombre
circulaire chromatique est un raffinement du nombre chromatique usuel d’un graphe. Xuding
Zhu a mis en évidence que les cliques circulaires sont le pendant naturel des cliques pour les
colorations circulaires. Ceci lui a permis de définir élégamment les graphes circulaires-parfaits
[4], une famille de graphes contenant strictement les graphes parfaits. La complexité du calcul
du nombre circulaire chromatique d’un graphe circulaire parfait est inconnue.
Nous introduisons le polytope des cliques circulaires, un polytope dont les points extrémaux
sont en correspondance avec les cliques circulaires induites d’un graphe, et nous montrons à
l’aide de celui-ci et le théorème de séparabilité de Grötschel, Lovász et Schrijver, que le nombre
(circulaire) chromatique d’un graphe fortement circulaire-parfait est calculable en temps polynomial (les graphes fortement circulaire-parfaits étant une famille intermédiaire entre les graphes
parfaits et les graphes circulaire-parfaits).
Références
[1] C. Berge, Färbungen von Graphen, deren sämtliche bzw. deren ungerade Kreise starr sind,
Wiss. Zeitschrift der Martin-Luther-Universität Halle-Wittenberg 10 (1961) 114–115.
[2] M. Grötschel, L. Lovász et A. Schrijver, The Ellipsoid Method and its Consequences in
Combinatorial Optimization. Combinatorica 1 (1981) 169-197.
[3] M. Grötschel, L. Lovász et A. Schrijver, Geometric Algorithms and Combinatorial Optimization. Springer-Verlag (1988).
[4] X. Zhu, Circular Perfect Graphs J. of Graph Theory 48 (2005) 186–209
19
Fiabilité des réseaux de télécommunications hiérarchiques
Oya Ekin-Karasan1 , Pierre Fouilhoux2 , A. Ridha Mahjoub1 ,
Onur Özkök1 et Hande Yaman1
1. Bilkent University, Department of Industrial Engineering, Bilkent, 06800 Ankara, Turkey
[email protected], [email protected], [email protected]
2. LIP6, Université Pierre et Marie Curie, 4 place Jussieu 75005 Paris
[email protected]
3. LAMSADE, Université Paris-Dauphine, Place du Maréchal de Lattre de Tassigny,
75775 Paris Cedex 16
[email protected]
Mots-clefs : réseaux de télécommunications hiérarchiques, problème du sous-graphe 2-arête
connexe/étoile, polyèdres, facettes, algorithme de coupes
1
Introduction
La plupart des réseaux de télécommunications sont structurés selon une architecture hiérarchique. Le trafic est collecté à un premier niveau puis envoyé dans un niveau supérieur du
réseau [1,3]. La fiabilité est un critère topologique essentiel qui se définit comme la capacité de
transmettre des données même en cas de panne d’une liaison. Cette fiabilité peut être assurée
en plaçant un nombre suffisant de chemins disjoints entre toutes paires de sommets qui doivent
communiquer.
Beaucoup de problème de conception de réseaux réels concerne uniquement les connexions
entre deux niveaux hiérarchiques. Un tel réseau se présente comme un réseau d’accès qui connecte
les terminaux (les usagés) aux concentrateurs (commutateurs, multiplexeurs) et un réseau, appelé backbone, qui interconnectent les concentrateurs et les relie à la racine. La racine est un
point central du réseau ou une passerelle vers un autre réseau. Fréquemment, les terminaux sont
reliés aux concentrateurs par des liaisons point à point créant ainsi une topologie en étoile. La
fiabilité du réseau est donc obtenu par une topologie résistante aux pannes, comme par exemple
la 2-connexité [2,4,5]. Un graphe G = (V, E) est dit 2-connexe si pour toute paire de sommets
i, j ∈ V , il existe au moins 2 chemins arêtes-disjoints entre i et j. La figure ci-dessous donne
un exemple de réseau où les concentrateurs sont représentés par des carrés et les terminaux par
des cercles.
2
Définition et formulation
Dans cet article, nous considérons le problème du sous-graphe 2-arête connexe/étoile (PSACE)
qui peut se définir ainsi. Soit G = (V, E ∪ A) un graphe avec un ensemble de sommets V =
{0, 1, . . . , n} où 0 est la racine. La racine est un concentrateur mais les autres sommets doivent
être déterminés comme concentrateurs ou terminaux. L’ensemble E des arêtes représente les
liaisons potentielles du backbone et l’ensemble A des arcs donne les affectations possibles des terminaux aux concentrateurs. Nous supposons ici que G est complet (E = {{i, j}|i, j ∈ V, i 6= j}
et A = {(i, j)|i, j ∈ V }), en effet tout graphe peut être transformé en un graphe complet en
fixant un coût suffisamment grand aux arcs et arêtes non-existant.
On associe à chaque arête i, j ∈ E un coût d’installation cij et à chaque arc (i, j) ∈ A un
20
Fig. 2 – An example of 2-edge connected/star network.
coût d’affection dij . En particulier, le coût dii correspond à la décision de fixer le sommet i
comme concentrateur. Le problème PSACE revient donc à déterminer un sous-graphe 2-arête
connexe G′ = (V ′ , E ′ ) incluant 0 et une affectation A′ ⊂ A des sommets de V \ V ′ aux sommets
de V ′ , de façon à ce que la somme des coûts d’installation et d’affectation soit minimum. Ce
problème est NP-difficile car le problème du sous-graphe 2-arête connexe est un cas particulier
du PSACE lorsque les coûts d’affectation sont très élevés par rapport aux coûts d’installation.
Nous associons à chaque arête {i, j} ∈ E une variable binaire xij égale à 1 si e est utilisée
dans le backbone et à chaque arc (i, j) ∈ A une variable binaire yi,j égale à 1 si i est affectée à
j. On peut noter que si le sommet i est affectée à lui-même (yii = 1), cela signifie que le sommet
i est un concentrateur. Ainsi, une solution optimale (x, y) du PSACE est solution du PLNE
suivant.
min
X
{i,j}∈E
cij xij +
X
dij yij
(i,j)∈A
xij ≤ yjj
xij ≤ yii
X
yij = 1
∀{i, j} ∈ E
(1)
∀i ∈ V
(2)
∀S ⊂ V : 0 ∈
/ S, i ∈ V
(3)
j∈V
x(δ(S)) ≥ 2
X
yij
j∈S
xij ∈ {0, 1}
yij ∈ {0, 1}
y00 = 1
∀{i, j} ∈ E
∀(i, j) ∈ A
Les inégalités (1) interdisent de prendre des liaisons du backone entre sommets terminaux.
Les inégalités (2) affirme qu’un sommet est soit un concentrateur, soit un terminal. Les inégalités (3), dites de coupes, sont utilisées pour rendre le backbone 2 -connexe.
21
3
Etude polyèdrale
Dans cet article, nous étudions cette formulation PLNE du PSACE. Nous étudions le polyèdre associé pour lequel nous décrivons plusieurs classes d’inéqualités valides et nous donnons
des conditions nécessaires et suffisantes pour que ces inégalités définissent des facettes.
En particulier, nous présentons une famille d’inégalités définissant des facettes qui illustre le
lien entre nos deux classes de variables associées aux arêtes et aux arcs. Une inégalité cheminétoile est définie à partir d’un chemin P reliant les sommets s, i1 , i2 , ..., im par
x(P ) +
m
X
X
yil j +
l=1 j∈V \{il }
4
m
X
ysil ≤ m
(4)
l=1
Séparation et résultats expérimentaux
Nous décrivons alors des procédures de séparations pour ces familles d’inégalités afin de décrire un algorithme de coupes et branchements. Nous proposons également des opérations de
réductions permettant d’effectuer l’algorithme de coupes sur des graphes de plus petites tailles.
Nous prouvons que certains cas de séparation de nos contraintes sont NP-complets et nous donnons pour chaque classe des algorihmes de séparation exacts ou approchés efficaces.
Nous donnons alors des résultats expérimentaux pour résoudre des instances du PSACE
crées à partir de la bibliothèque TSPLIB. Comme les résultats expérimentaux dépendent de la
valeur relative des coûts d’affectation et d’installation, nous proposons des tables expérimentales
pour différentes fonctions objectives.
Références
[1] E. Gourdin, M. Labbe et H. Yaman (2001). Telecommunication and Location. Facility
Location : Applications and Theory, Ed.Z. Drezner and H.W. Hamacher, Springer, pp 275-305.
[2] M. Grötschel, C.L. Monma et M. Stoer (1995). Design of Survivable Network Design.
Network Models, Ed M.O. Ball and T.L. Magnanti and C.L. Monma and G.L. Nemhauser,
Elsevier Science, pp 617-671.
[3] J.G, Klincewicz (1998). Hub location in backbone/tributary network design : a review,
Location Science 6, pp 307-335.
[4] H. Kerivin et A.R Mahjoub (2005). On survivable network polyhedra, Discrete Mathematics 290 pp 183-210.
[5] M. Labbe, G. Laporte, I.R. Martin et J.J.S. Gonzalez (2004). The Ring Star Problem :Polyhedral Analysis and Exact Algorithm’, Networks 43 3 pp 177-189.
22
Algorithme de Branch-and-Cut pour l’installation de
capteurs dans un réseau
P. Meurdesoif1 , P. Pesneau1 et F. Vanderbeck1
1. Université de Bordeaux,
Institut de Mathématiques de Bordeaux,
INRIA Bordeaux Sud-Ouest, RealOpt
351 Cours de la Libération, 33405 Talence Cedex
{philippe.meurdesoif}{pierre.pesneau}{francois.vanderbeck}@math.u-bordeaux1.fr
Mots-clefs : polyèdres, branch-and-cut, installation de capteurs, réseaux
Considérons un réseau représenté par un graphe dirigé G = (V, A) dans lequel transitent des
commodités de quantité unitaire ayant chacune une origine et une destination. Le but est de
pouvoir retracer le chemin parcouru par chacune de ces commodités en installant des capteurs
sur un sous-ensemble de liens.
En effet, chaque capteur installé sera capable d’identifier les commodités passant sur le lien
du réseau. Une solution serait d’installer des capteurs sur tous les arcs du réseau. Ainsi, connaissant l’origine et la destination de la commodité, on peut retrouver facilement le chemin qu’elle a
emprunté. Cependant, il n’est pas nécessaire de mesurer tous les arcs. Par exemple, si le chemin
entre une origine et une destination est unique, il n’est pas nécessaire de mesurer l’un de ses
arcs. Il est donc suffisant de placer des capteurs uniquement lorsqu’il y a ambiguïté sur le chemin
utilisé.
Maintenant, si on associe à chaque arc un coût d’installation d’un capteur sur celui-ci, le
problème consiste à déterminer un ensemble d’arcs de coût minimum sur lesquels installer des
capteurs afin de lever toutes les ambiguïtés sur le chemin emprunté par chacune des commodités.
L’application initiale de ce problème consistait à retracer le parcours des skieurs dans une
station de ski afin de lui fournir des informations sur sa journée. Cependant, d’autres applications sont apparues comme par exemple dans les centres d’appels où un client est redirigé
plusieurs fois avant d’entrer en relation avec le bon interlocuteur. La connaissance du cheminement des appels pourrait servir à réduire ce nombre de relais et à mettre en place des centres
d’appels de meilleure qualité. Une autre application concerne le placement de points d’arrêt
dans un programme informatique afin d’en évaluer sa bonne marche.
Dans cet exposé, nous allons présenter une étude polyédrale de ce problème. Nous allons
introduire des familles de contraintes dont certaines définissent des facettes. Nous discuterons
d’algorithmes de séparation pour chacune de ces familles. Nous finirons par présenter quelques
résultats numériques préliminaires.
23
Décomposition lagrangienne et génération de colonnes
N. Touati1 , L. Létocart1 et A. Nagih2
1. LIPN, UMR 7030 CNRS, Université Paris 13, 99 avenue Jean-Baptiste Clément 93430
Villetaneuse
{nora.touati,lucas.letocart}@lipn.univ-paris13.fr
2. LITA, Université Paul Verlaine, Ile du Saulcy 57045 Metz Cedex 1
[email protected]
Mots-clefs : Décomposition lagrangienne, Génération de colonnes
1
Introduction
Nous nous intéressons dans ce travail à la résolution des formulations issues de la Décomposition Lagrangienne (DL) par la Génération de Colonnes (GC). Notre approche consistera dans
un premier temps à reformuler le dual de la DL afin de l’adapter à une résolution de type GC.
Nous étudierons ensuite les performances de cette approche sur différents problèmes, comme le
problème de planification de locomotives avec contraintes de ressources, le problème de découpe,
le problème d’affectation généralisée et le problème de sac à dos linéaire à deux contraintes.
2
Principe de la décomposition lagrangienne
La décomposition lagrangienne ([3], [5], [6], [7]) est utilisée lorsque la conjonction entre deux
blocs de contraintes complique le problème. Soit le problème (P ), supposons que la conjonction
des contraintes Ax ≤ a et Bx ≤ b rend sa résolution difficile. Cette méthode consiste alors à
dupliquer les variables et à construire un problème équivalent (P ′ ) :

max cx



Ax ≤ a
(P )
Bx ≤ b


 x ∈ Nn

max cx



Bx ≤ b, x ∈ Nn
(P ′ )
x=y


 Ay ≤ a, y ∈ Y
⇐⇒
où Y ⊂ Nn . En relâchant la contrainte x = y suivant le multiplicateur u ∈ Rn , on obtient le
lagrangien
Lx,y (u) = max{(c − ut )x + ut y | Ay ≤ a, y ∈ Y, Bx ≤ b, x ∈ Nn }
qui peut être formulé comme suit
Lx,y (u) = Lx (u) + Ly (u)
où Lx (u) = max{(c − ut )x | Bx ≤ b, x ∈ Nn } et Ly (u) = max{ut y | Ay ≤ a, y ∈ Y }
Le dual de la décomposition lagrangienne est donné par : (DDL) {min Lx,y (u) | u ∈ Rn }, sa
valeur optimale est prouvée meilleure que celle fournie par le dual de la relaxation lagrangienne
[3]. Il est généralement résolu avec l’algorithme de sous-gradient [4].
24
Remarque 1.
(a) La décomposition lagrangienne est une relaxation lagrangienne sur un problème transformé qui décompose le problème initial en une série de sous-problèmes.
(b) La valeur optimale du problème (DDL) est égale à la valeur optimale du problème
max{cx | x ∈ Zx ∩ Zy }
où Zx = conv{x ∈ Nn |Bx ≤ b} et Zy = conv{y ∈ Y |Ay ≤ a}
Nous exploitons dans ce qui suit la génération de colonnes pour résoudre le dual de la décomposition lagrangienne.
3
Résolution avec la génération de colonnes
Les lagrangiens Lx (u) et Ly (u) peuvent être réécrits comme suit :
Lx (u) = {min w1 |w1 ≥ (c − ut )x, x ∈ Zx } = {min w1 |w1 ≥ (c − ut )xk , k ∈ K}
Ly (u) = {min w2 |w2 ≥ ut y, y ∈ Zy } = {min w2 |w2 ≥ ut yl , l ∈ L}
où K (resp. L) désigne l’ensemble des points extrêmes du polyèdre Zx (resp. Zy ) supposé
convexe et borné. Le problème (DDL) correspondant, est réécrit sous la forme d’un dual de type
Dantzig-Wolfe, et résolu par l’algorithme de génération de colonnes, qui alterne la résolution
d’un problème maître comportant les contraintes de copies, et de deux sous-problèmes résolus
respectivement sur les domaines Zx et Zy . Nous effectuerons une étude comparative entre cette
formulation et celle de la décomposition de Dantzig-Wolfe ([1], [2]).
Notre étude vise à analyser la borne obtenue par la DL et son impact sur la qualité de
la solution entière du problème maître restreint. Notre analyse se concentrera sur la qualité
des colonnes générées par les deux sous-problèmes lors de chaque itération et sur des critères
d’amélioration afin de diminuer les temps d’exécution.
Références
[1] GB. Dantzig and P. Wolfe. Decomposition principle for linear programs. INFOR. 8, 101-111.
(1960).
[2] P.C. Gilmore and R.E. Gomory. A Linear programming approch to the cutting stock problem. Operations Research. 9, 849-859. (1961).
[3] M. Guignard. Lagrangian decomposition : a model yielding stronger langrangian bounds.
Mathematical programming. 39, 215-228. (1987).
[4] M. Guignard. An application of Lagrangean decomposition to the resource-constrained minimum weighted arborescence problem. Networks. 20(3), 345-359. (1990).
[5] P. Michelon and N. Maculan. Lagrangean decomposition for integer nonlinear programming
with linear constraints. Mathematical Programming. 52, 303-313. (2005).
[6] P. Michelon. Méthodes lagrangiennes pour la programmation linéaire avec variables entières.
Investigación Operativa. 2(2), 127-146. (1991).
[7] H. Reinoso. Lagrangean decomposition for integer programming : a new scheme. INFOR.
52(2), 1-5. (1992).
25
On the Convex Hull of Huffman Codes
Thanh Hai Nguyen1 , Jean - François Maurras1 and Viet Hung Nguyen
2
1. Fundamental Informatics Laboratory of Marseille, University of the Mediterranean sea,
F-13288 Marseille Cedex 9, France.
{jean-francois.maurras, thanh.hai.nguyen}@lif.univ-mrs.fr
2. Computer Laboratory of Paris 6 – Pierre and Marie Curie University, 4 place Jussieu,
75252 Paris Cedex 05, France.
[email protected]
Mots-clefs : Polyhedral combinatorics, Polytope, Huffman code, Huffman tree, Fibonacci, Hyperplan, Facet.
1
Introduction
In computer science and information theory, Huffman coding is an entropy encoding algorithm used for lossless data compression. It was developed by David A. Huffman [1] in 1952 and
produces prefix-free, variable-length code words based on the frequency of each character. A
frequently used letter will be encoded using a shorter bit string, whereas a less frequently used
letter will be encoded using a longer bit string. Huffman gives a greedy algorithm of linear time
complexity (in term of number of letters) to build such a code. At the beginning, all the letters
are nodes with weight as their frequency. The algorithm then uses a priority queue to extract
two nodes (leaf or internal) with the lowest frequencies, allocates a new node having these two
nodes as children. The weight of the new node is the sum of the weights of its two children.
The new node is inserted back into the priority queue. The algorithm terminates when the one
removes the last node from the priority queue. This node is the root of the Huffman tree. Note
that by construction, every leaf of the Huffman tree correspond to a letter and vice-versa. We
label the leaves by their corresponding letter. Hence the Huffman trees that we consider are
labeled trees.
The bit string for each letter can be produced by going through the unique path in the Huffman
tree from the root to the corresponding leaf. A left-turn movement gives a ’0’ and a right-turn
one gives a ’1’ in the bit string. Huffman algorithm gives the optimal tree (in P
term the length
average of the bit strings of all the letters) as it minimizes the linear function ni=1 fi li , where
fi is the frequency of character i and li is the code length of i (the number of edges joined the
leaf of character ci to the tree’s root).
Given an alphabet of n letters {a1 , a2 , . . . , an } in which ai is the ith letter by the alphabetical
order. To study the convex hull of all the Huffman possible trees over this alphabet, we should
establish a way associating them to points in the rational space of appropriate dimension. Our
way is the following :
– We take the space Qn .
– To a Huffman tree T , we associate the point xT = (xT1 , xT2 , . . . , xTn )t where xTi is the length
(in edges) of the unique path from the root to the leaf corresponding to ith letter.
We call P Hn the convex hull of the points associated to all the Huffman labeled trees over an
alphabet of n letters. For example, let us consider an alphabet of 4 characters {a, b, c, d}. In this
case, there are 13 possible Huffman trees :
26
Fig. 3 – The 13 possible Huffman trees for 4 characters.
The 13 corresponding Huffman points are then (3, 3, 2, 1), (3, 3, 1, 2), (3, 2, 3, 1), (3, 2, 1, 3),
(3, 1, 3, 2), (3, 1, 2, 3), (2, 3, 3, 1), (2, 3, 1, 3), (2, 1, 3, 3), (1, 3, 3, 2), (1, 3, 2, 3), (1, 2, 3, 3),
(2, 2, 2, 2). Note that if we remove the label on the leaves, the 12 first Huffman trees are the
same and we can see that the 12 corresponding points are just the permutations of the sequence
P
3, 3, 2, 1. In addition, these points are on the hyperplane ni=1 xi = 9 = n(n+1)
− 1.
2
The optimization problem associated to P Hn is to minimize a linear function ct x over P Hn .
When the cost vector c is non-negative, it was proved in [8] that the Huffman algorithm can
be applied and gives an optimal Huffman tree. We will show in this paper that the Huffman
algorithm outputs an optimal Huffman tree for arbitrary cost vector c, i.e. even in the cases
when some components of c are negative. Thus we can say that we can optimize over P Hn in
linear time and in a greedy manner. The simplicity of the Huffman algorithm make us to think
that P Hn should have a “beautiful” facial structure and it is hopeful to find a complete linear
description of P Hn . Note that this fact has been remarked by J. F. Maurras and J. R. Edmond [4]
in one of their private discussions in 1974. They wanted at the beginning to investigate P Hn at
least in small dimensions. But the project was abandoned because the structure of P Hn even
when n is small seems to be complex and at this time computers were not powerful enough to
enumerate all the facet-defining inequalities of P Hn for small n.
In this presentation, we first discuss several fundamental properties of P Hn . In particular, we
prove that P Hn has full dimension and that every Huffman points are extreme points of P Hn .
We show that the Huffman algorithm allows us optimize any linear function over P Hn . We
then give a partial description of P Hn , in particular a class of facet-defining inequalities whose
coefficients follow the law of a Fibonacci sequence. Finally, we present a method of composition
de facets which derives a facet of P Hn from two facets of respectively P Hn1 and P Hn2 with
n1 , n2 < n.
Références
[1] D. Avis. Software Lrs. http ://cgm.cs.mcgill.ca/˜avis/C/lrs.html.
[2] V. J. Bowman (1972). Permutation polyhedra. SIAM Journal on Applied Mathematics.
[3] T. Christof. Software PORTA - A Polyhedron Representation Transformation Algorithm.
http ://www.zib.de/Optimization/Software/Porta/.
27
[4] J. R. Edmonds and J. F. Maurras (1974). Private discussion.
[5] K. Fukuda. Software CDD/CDD+ (2008).
http ://www.ifor.math.ethz.ch/˜fukuda/cdd_home/index.html.
[6] P. Gaihaand S. K. Gupta (1977). Adjacent vertices on a Permutahedron. SIAM Journal
on Applied Mathematics.
[7] D. A. Huffman(1951). A method for the construction of minimum–redundancy codes.
Procedings of The I.R.E.
[8] J. Kleinberg and É. Tardos (2006). Algorithm Design. Pearson Addison Wesley.
[9] C. Lee (1989). The associahedron and triangulations of the n–gon. European J. Combinatorics.
[10] J. F. Maurras (2002). Programmation linéaire, complexité. Springer.
[11] G. M. Ziegler (1998) Lectures on Polytopes. Springer.
28
Reformulations in mathematical programming : Symmetry
L. Liberti
LIX, Ecole Polytechnique,
F-91128 Palaiseau, France
[email protected]
Mots-clefs : Reformulations.
If a mathematical program has many symmetric optima, solving it via Branch-and-Bound
often yields search trees of large sizes ; thus, finding and exploiting symmetries is an important
task. We propose a method for finding the formulation group of any MINLP and a reformulation
for reducing symmetries. The reformulated problem can then be solved via solvers such as
CPLEX or Couenne. We present detailed computational results and a study of the Kissing
Number Problem’s symmetries.
29
30
31
Réseaux de Steiner à composantes connexes unicycliques :
un problème facile
W. Ben-Ameur1 , M. Hadji1 et A. Ouorou2
1. Institut Télécom, Evry
{Walid.Benameur,Makhlouf.Hadji}@it-sudparis.eu
2. Orange Labs, Issy-les-Moulineaux
[email protected]
Mots-clefs : Réseaux, problèmes de séparation
Le problème de synthèse d’un réseau à composantes connexes unicycliques est un problème
facile qu’on peut résoudre à l’aide d’un algorithme glouton. En effet, les sous-ensembles d’arêtes
qui vérifient cette propriété forment un matroide (le matroide bi-circulaire). Si on rajoute une
contrainte sur la taille des cycles à l’intérieur de chaque composante, le problème devient NP-dur
dans le cas général. Dans ce papier, nous étudions une autre variante du problème. En plus de la
contrainte d’uncyclicité, nous souhaitons que certains sommets choisis à l’avance appartiennent
aux cycles. Nous montrons que ce problème peut être résolu en temps polynomial. Nous donnons également une description partielle de l’enveloppe convexe des vecteurs d’incidence de ces
réseaux. Des algorithmes de séparation polynomiaux seront également proposés. L’un des ces
algorithme est une modification de l’algorithme de Padberg-Rao pour séparer les inégalités de
type Blossom. Nous montrons en effet que la séparation d’une certaine famille d’inégalités se
fait en résolvant un problème de s-t T coupe dans un graphe orienté, alors que l’algorithme de
Padberg-Rao se base sur la résolution d’un problème de T-coupe dans un graphe non-orienté.
32
Minimisation du coût de maintenance préventive sur une
machine
M. Rebai1 , A. Kondo2 et I.Kacem3
1. Université de technologie de Troyes, 12 rue Marie Curie , 10000 Troyes, France
[email protected]
2. Ecole Nationale d’Ingénieurs de Metz, Ile du Saulcy - 57000 Metz, France
[email protected]
3. Université Paul Verlaine Metz, Ile du Saulcy 57000 Metz, France
[email protected]
Mots-clefs : Programmation lineaire, borne supérieure, borne inférieure.
1
Introduction
Généralement, la maintenance préventive d’une machine ou d’un équipement mécanique
complexe dépend de la loi de distribution des défaillances de ses composants concernés. Ceci
nécessite d’intégrer l’ensemble des actions préventives sur chacun des composants dans un planning où les avances et les retards doivent être contrôlés afin de pouvoir regrouper des tâches.
Dans cette perspective, il faut tenir compte de la précision des dates d’intervention sur chaque
composant, ce qui se traduit par un intervalle autour d’une date TM estimée pour un risque
minimum donné de défaillance, soit une intervention réalisable a un coût minimal CM0 dans
l’intervalle [T M − ∆t, T M + ∆t]. Par ailleurs, une intervention effectuée avant la date limite
inférieure de cet intervalle augmenterait inutilement le coût de maintenance préventive sans
bénéfice pour la production. Ce coût est généralement proportionnel à la fréquence des interventions à des dates d’intervention inférieures à T M − ∆t. Enfin, lorsque les interventions sont
placées après T M + ∆t, le coût de maintenance préventive provient de deux phénomènes : la diminution des fréquences d’intervention due a l’allongement de la durée entre deux interventions
successives, ce qui augmente le risque de défaillance d’une part, et accroît le coût lié aux pertes
par non qualité des produits, généralement proportionnel au retard de l’intervention. Dans ce
même contexte nous nous sommes intéressés au problème d’ordonnancement d’un ensemble de N
tâches de maintenance préventive. Chaque tâche i se caractérise par une durée opératoire notée
pi , une pénalité de retard wi , une pénalité d’avance hi , une date due au plus tôt di1 , une date
due au plus tard di2 et un coût de maintenance préventive minimal Ci0 . Lorsqu’on commence
l’exécution de la tâche i avant la date due au plus tôt di1 , le coût de maintenance préventive
augmente. Ce coût devient égal à hi (di1 − ti ) + Ci0 où ti désigne la date de début d’exécution de
la tâche i. Similairement, quand l’exécution de la tâche i commence après la date due au plus
tard di2 , le coût de maintenance préventive augmente. Ce coût devient égal à wi (ti − di2 ) + Ci0 .
Finalement, lorsque la date de début d’exécution de la tâche i est dans l’intervalle [di1 , di2 ]
le coût de maintenance préventive est considéré minimal et égal à Ci0 . Notre objectif dans ce
travail consiste à trouver un ordonnancement de l’ensemble des tâches de maintenance préventive possèdant un coût minimal sachant que l’exécution des tâches est sans interruption. Deux
méthodes exactes sont proposées pour cette fin : la programmation linéaire et un algorithme
d’énumération par séparation et évaluation. Cette démarche précède une tentative ultérieure de
regroupement des tâches pour optimiser la maintenance opportuniste de la machine.
33
2
Modèle linéaire du problème
Dans
cette formulation linéaire, nous allons considérer les variables de décisions suivantes :
1 Si la tâche i précède le tâche j. (non nécessairement une précédence directe)
xij =
0 Sinon.
−
di : désigne la déviation négative de la tâche i par rapport à sa date due au plus tôt ou également
l’avance.
d+
i : désigne la déviation positive de la tâche i par rapport à sa date due au plus tard ou
également le retard.
Ci : désigne la date d’achèvement de la tâche i dans la séquence optimale.
M in
N
X
−
wi d+
i + hi di + Ci0
i=1
Sous les contraintes :
−
Ci − pi − d+
∀i = 1 . . . N
(1)
i + di ≥ di1
+
Ci − pi − di + d−
≤
d
∀i
=
1
.
.
.
N
(2)
i2
i
xij + xji = 1
∀i = 1 . . . N ∀j = 1 . . . N i 6= j
(3)
Cj ≥ Ci + pj − P (1 − xij )
∀i = 1 . . . N ∀j = 1 . . . N i 6= j
(4)
PN
+ −
xij ∈ {0, 1} Ci , di , di ∈ N
P = i=1 pi
(1)et (2) décident pour chaque tâche soit de dévier positivement ou négativement respectivement par rapport à sa date due au plus tôt ou sa date due au plus tard, soit de commencer à
temps.
(3) indique que la tâche i doit occuper une position avant ou après une tâche j différent de i.
(4) détermine la date d’achèvement pour chaque tâche.
Concernant cette formulation, le MIP Solver ILOG CPLEX 9.1 est capable de résoudre toutes
les instances de taille réduites (N ≤ 15) en une durée de moins d’une heure. De plus, la borne
inférieure obtenue par la relaxation de la contrainte d’integrité des variables amène dans la plus
part des cas à une borne linéaire de bonne qualité. Chose qui nous a encourager à tester l’efficacité de cette borne linéaire dans un algorithme d’énumération par séparation et évaluation.
Pour mieux améliorer la valeur da la borne linéaire, nous proposons de nouvelles contraintes
valides pour le modèle. La première contrainte additionnelle est basée sur la règle WSPT fondé
par Smith. Le reste des contraintes est basé sur la majoration et la minoration de la variable de
décision Ci :.
Premier
type de Coupe :
PN
p
C
i=1 i i = W F1 (p, p)
W F1 (p, p) est la somme du flowtime pondéré de la séquence obtenue en appliquant la règle
WSPT à l’ensemble des tâches et en utilisant des poids fictifs égaux aux durées opératoires des
tâches.
Deuxième
P type de Coupe :
Ci ≤ N
∀i = 1 . . . N
i=1 pi
Ci ≥ pi
∀i = 1 . . . N
3
Algorithme d’énumération par séparation et évaluation
*Initialisation :
L’algorithme d’énumération par séparation et évaluation a été initialisé par une simple heuris34
tique basée sur la technique de recherche locale. L’algorithme suivant décrit l’obtension de la
solution initiale :
V_BS : Valeur courante de la borne supérieure.
nb : nombre de solution aléatoire générée.
nb_amél : nombre de fois de non amélioretion de la solution.
M_Ev : meilleure évaluation trouvée dans le voisinage.
V_BS=INFINI ;
nb=0 ;
Faire
{
Générer une solution aléatoire et la sauvegarder
nb_amél = 0 ;
Faire
{
Créer un voisinage autour de la solution sauvegardée ;
Si (M_Ev < V_BS)
{
V_BS = M_Ev ;
nb_amél = 0 ;
Sauvegarder la solution
}
Sinon
{
nb_amél++ ;
Sauvegarder la solution
}
}Tan que (nb_amél<5) ;
nb++ ;
}Tan que (nb<10) ;
Remarque : La création du voisinage se fait par l’application d’un opérateur de permutation.
Cet opérateur réalise des permutations de deux tâches ayant h tâches entre elles (h=0,. . . , N-1).
*Séparation :
Nous avons adopté dans ce travail un branchement qui affecte l’ensemble des p tâches fixes de
la séquence partielle aux p dernières positions de la séquence.
*Évaluation :
Deux procédures d’évaluation sont utilisées : la comparaison de deux séquences partielles et le
calcul de la borne linéaire. La première séquence partielle est celle composée par l’ensemble des
tâches fixes alors que la deuxsième séquence est obtenue en inversant les deux dernière tâches de
la première séquence. Dans le cas où l’évaluation de la première séquence est supérieure à celle
de la deuxième séquence, on arrête le séparation. Dans le cas inverse, nous passons au calcul de
la borne linéaire. Si la valeur de la borne linéaire est supérieure à celle de la borne supérieure
on arrête la séparation. Dans le cas contraire, on ajoute au noeud ses fils correspondants.
4
Résultats expérimentaux
*Effet d’ajout des contraintes au modèle :
La figure 1 montre, à travers les écarts entre la solution optimale et les deux bornes linéaires
des modèles avec et sans coupes, que les nouvelles contraintes ajoutées augmentent la valeur
35
Fig. 4 – Effet des coupes sur la borne linéaire
de la borne inférieure. Ceci est observé dans toutes les instances testées. Par conséquent, ses
contraintes proposées ne sont pas redondantes et elles sont efficaces pour notre modèle.
*Implémentation de l’algorithme d’énumération par séparation et évaluation :
Les résultats du tableau 1 montrent que la borne supérieure proposée produit une bonne solution
initiale ayant un pourcentage moyen de déviation par rapport à la solution optimale de 0,46%.
Par conséquent, l’évaluation d’une solution de l’heuristique doit être, soit égale à la solution
optimale soit proche de la solution optimale. Les résultats montrent aussi que la borne linéaire
améliorée par les coupes ajoutées présente un ecart moyen de 12,47%. Notons que l’obtension
de la valeur de cette borne linéaire ne nécessite pas beaucoups de temps de calcul et que cette
borne peut s’améliorer encore par l’introduction d’autres coupes au modèle.
N
15
20
25a
30b
UBD(%)
0.45
0,47
0.59
0.42
LBD(%)
13.33
16,17
14.94
5.46
AT(s)
4.74
60,53
421.16
305.78
AN
330
2637
11688
3794
a,b indique
que respectivement 85 et 200
séquences n’ont pas été résolues en 1 heure.
Tab. 1 – Résultats de l’implémentation de l’algoritme par séparation et évaluation
5
Conlusion
Dans ce papier, nous avons traité le problème d’odonnancement d’un ensemble de tâches de
maintenances préventive. Ce problème diffère des problèmes d’ordonnancement classique par le
faite que chaque tâche possède deux dates dues au lieu d’une seule date. Ce problème a été résolu
par deux mèthodes exactes à savoir la programmation linéaire et un algorithme d’énumération
par séparation et évaluation. Les résultats obtenus sont encourageants. Dans les futures travaux,
nous envisageons élaborer un planning de production qui combine un ordonnacement des tâches
de production pour les quelles on se propose de minimiser simultanément le coût des retards et
des avances et un ordonnancement des tâches de maintenance préventive ayant un coût minimal.
Nous proposerons dans le même temps une solution regroupant des tâches, dans une stratégie
de maintenance opportuniste.
36
Références
[1] Baker KR, Scudder GD. Sequencing with earliness and tardiness penalties : a review.
Operations Research 1990 ; 38(1) : 22-36.
[2] C.-Y. Lee . Minimizing the makespan in the tow-machine flowshop scheduling problem
with an availbility constraint. Operations research letters. 1997 ; (20) :129-139.
[3] C.-Y. Lee and Z-L.Chen. Scheduling Jobs and Maintenance Activities on Parallel Machines. Naval Research Logistics, Vol.47 (2000).
[4] E.H. Aghezzaf, A. Jamali, D. Ait-Kadi, An integrated production and preventive maintenance planning model. European Journal of Operational Research 181 (2007) 679-685.
[5] G.H. Graves and C.-Y. Lee, Scheduling maintenance and semiresumable jobs on a single
machine, Working Paper, Department of Industrial Engineering, Texas A and M University,
College Station, 1998.
37
Analyse Structurelle dans les Systèmes Algébro-différentiels
et Optimisation Combinatoire
Mathieu Lacroix1 , A. Ridha Mahjoub2 et Sébastien Martin2
1. LIMOS, Université Blaise Pascal Clermont-Ferrand II, Complexe Scientifique des Cézeaux,
63177 Aubière Cedex, France, [email protected].
2. LAMSADE, Université Paris-Dauphine, Place du Maréchal De Lattre De Tassigny, 75775
Paris Cedex 16, France. [email protected], [email protected].
Mots-clefs : Système algébro-différentiel, analyse structurelle, graphe, programmation en nombres
entiers, couplage, coupe et branchement.
1
Introduction
Les systèmes algébro-différentiels (SAD) sont utilisés pour modéliser des systèmes physiques
complexes comme les circuits électriques et les mouvements dynamiques. Ces systèmes peuvent
s’écrire de la manière suivante :
F (x, ẋ, u, p, t) = 0,
(1)
où x est le vecteur des variables, u est le vecteur d’entrées, p est le vecteur de paramètres et t
exprime le temps. Par exemple, considérons comme instance le circuit électrique RL de la Figure
5. Ce circuit contient une bobine L et une résistance R en série. Le voltage U et le courant i
aux bornes sont inconnus.
Fig. 5 – Circuit électrique.
Pour ce circuit nous pouvons associer le système différentiel :
di
U
= ,
dt
L
E(t) = U + Ri,
où E(t) est une fonction du temps.
Il est intéressant de savoir à l’avance si un SAD peut être, ou non, résolu afin d’éviter une
résolution par simulation longue et fastidieuse. Une condition nécessaire (mais pas suffisante) à
la résolution d’un SAD est de pouvoir associer à chaque équation une unique variable et pour
chaque variable une unique équation. Si ce couplage est vérifié, on dit que le système est bien
38
contraint. Autrement, le système est dit mal contraint. Le problème de l’analyse structurelle
(PAS) pour un SAD consiste à vérifier si le système est bien contraint.
Le PAS a été considéré dans la literature dans le cas des SAD non conditionnels. Dans [2, 3],
Murota développe une méthode basée sur la théorie des graphes pour résoudre le problème. Il
introduit une formulation en termes de graphe biparti, et montre qu’un système d’équations est
bien contraint si et seulement s’il existe un couplage parfait dans le graphe biparti correspondant.
Il introduit aussi des techniques de décompositions de graphes permettant d’identifier les soussystèmes bien contraints et mal contraints. Cela revient à décomposer le graphe en composantes
fortement connexes. Cette décomposition peut être obtenue en utilisant la décomposition de
Dulmage et Mendelsohn [1]. Murota étudie aussi des extensions de son approche et le lien avec
les matroides et les matrices.
A notre connaissance, le PAS n’a pas été étudié dans le cas des SAD possédant des équations
conditionnelles. L’objet de ce papier et d’étudier le problème dans ce cas.
2
Le PAS pour les SAD conditionnel
Nous pouvons associer à un SAD un graphe biparti G = (U ∪ V, E) où U correspond aux
équations, V aux variables, et il existe une arête ui vj ∈ E entre un nœud ui ∈ U et un nœud
vj ∈ V si la variable correspondant à vj apparaît dans l’équation correspondant à ui . Le graphe
G est appelé graphe d’incidence. Pour vérifier si un système est bien contraint, il suffit de vérifier
s’il existe un couplage parfait dans le graphe d’incidence associé. S’il n’existe pas de couplage
parfait alors le système est mal contraint [2].
Dans de nombreuses situations, les systèmes physiques peuvent générer plusieurs états différent en fonction de certaines conditions. Ces différents états représentent, par exemple, un
changement de température dans un système hydraulique ou un interrupteur dans un circuit
électrique. De tels systèmes possèdent des équations conditionnelles.
Un SAD conditionnel peut générer plusieurs systèmes non conditionnels en fonction de la
valeur des conditions. Dans ce papier nous considérons les SAD conditionnels où à chaque
équation conditionnelle est associée une seule condition et chaque équation conditionnelle peut
générer une seule équation suivant la valeur vraie ou fausse de la condition associée.
Considérons par exemple le SAD suivant :
eq1 :
eq2 :
eq3 :
if a > 0
then 0 = 4x2 + 2ẋ + 4y + 2,
else 0 = ẏ + 2z + 4,
if b > 0
then 0 = 6ẏ + 2ż + 2,
else 0 = x + ẏ + 1,
if c > 0
then 0 = 6ẋ + y + 2,
else 0 = 3ẏ + z + 3.
(4)
Soit un SAD conditionnel donné, Le PAS associé consiste à vérifier si le système est bien
contraint pour tous les états possibles du système, et si non, trouver un état qui génère un
système mal contraint. Le PAS pour un SAD conditionnel se ramène donc à vérifier s’il existe
un couplage parfait, dans chaque graphe biparti généré par un état du système. Le nombre
d’états peut être exponentiel. Il est donc nécessaire de développer une méthode efficace de
résolution.
39
Etant donné un SAD conditionnel possédant n équations, eq1 , ..., eqn , et n variables, x1 , ..., xn ,
on considère le graphe biparti G = (U ∪ V, E) où U = {u1 , ..., un } (resp. V = {v1 , ..., vn }) est
associé aux equations (resp. variables). Entre un sommet ui ∈ U et un sommet vj ∈ V on
considère une arête, appelé arête vraie (resp. arête fausse), si la variable xj apparaît dans
l’équation eqi , quand la condition de eqi est vraie (resp. fausse). Soit Eit (resp. Eif ) l’ensemble
des arêtes vraies (resp. fausses) incidentes à ui , pour tout i = 1, ..., n. Soit
[
E=
(Eit ∪ Eif ).
i=1,...,n
La Figure 6 montre le graphe biparti G associé au system (4).
Fig. 6 – Le graphe représentant le système (4).
Le SAP se ramène à trouver un sous-graphe G′ de G contenant pour chaque nœud ui , soit
Eit soit Eif , et ne possédant pas de couplage parfait ou de montrer qu’un tel graphe n’existe pas.
Dans la suite nous allons proposer une formulation en termes de programme en nombres
entiers pour ce problème.
3
Formulation
Pour un sommet ui ∈ U , soit x(ui ) une variable binaire qui prend 1 si Eit est pris dans G′
et 0 si Eif est pris dans G′ , c’st-à-dire x(ui ) = 1 si la condition de l’équation eqi est vraie et 0
sinon.
Soit M un couplage parfait de G. Soit x ∈ {0, 1}U tel que x(ui ) = 1 si M ∩ Eit 6= ∅ et
x(ui ) = 0 si M ∩ Eif 6= ∅. Alors le sous-graphe G′ induit par les Eit tels que x(ui ) = 1 et les Eif
tels que x(ui ) = 0 contient le couplage parfait M . En plus x satisfait l’équation suivante
X
x(ui ) +
ui vj ∈M ∩Eit
X
(1 − x(ui )) = n.
ui vj ∈M ∩Eif
Donc, une solution n’induisant pas de couplage parfait satisfait la contrainte
X
ui vj ∈M ∩Eit
x(ui ) +
X
ui vj ∈M ∩Eif
40
(1 − x(ui )) ≤ n − 1.
Considérons le programme suivant,
min y
X
(2)
x(ui ) +
ui vj ∈M ∩Eit
X
(1 − x(ui )) − y ≤ n − 1
ui vj ∈M ∩Eif
pour tout M ∈ M,
pour tout ui ∈ U ,
0 ≤ x(ui ) ≤ 1,
0 ≤ y,
x(ui ) ∈ {0, 1},
pour tout ui ∈ U ,
(3)
(4)
(5)
(6)
où M est l’ensemble des couplages parfait de G.
Notons par (P ) ce programme. Si (x, y) est la solution optimale de (P ), alors si y = 0 l’état
induit par x est mal contraint, autrement le système est bien contraint. Les contraintes (3)
sont en nombre exponentiel. Nous donnons un algorithme polynomial pour les séparer. En ce
basant sur ces résultats nous donnons un algorithme de coupes et branchement et présentons
des résultats expérimentaux.
Références
[1] A. L. Dulmage, N. S. Mendelsohn, “Coverings of bipartite graphs", Canadian Journal of
Mathematics, 1963, pp. 517-534.
[2] K. Murota, “Systems Analysis by Graphs and Matroids", Springer-Verlag, 1987.
[3] K. Murota, “Matrices and Matroids for Systems Analysis", Springer-Verlag, 2000.
41
Matrices de 1-consécutifs pour le problème de placement
C. Joncour1 et A. Pêcher2
1. Université de Bordeaux 1, IMB/INRIA Bordeaux Sud-Ouest,
351 Cours de la Libération, 33405 Talence Cedex
[email protected]
2. Université de Bordeaux 1, Labri/INRIA Bordeaux Sud-Ouest,
351 Cours de la Libération, 33405 Talence Cedex
[email protected]
Mots-clefs : problème de placement, graphe d’intervalle
Le problème de placement 2D de rectangles est un problème classique en optimisation combinatoire. Etant donné un ensemble de rectangles, le problème consiste à déterminer si l’ensemble
des objets peut rentrer dans une boîte donnée sans chevauchement. La rotation des rectangles
n’est pas permise.
En 1997, Fekete et Schepers ont utilisé les graphes d’intervalles comme structure de données
afin de caractériser les classes de placements réalisables. Ils ont obtenu un algorithme très
efficace.
Nous proposons un nouvel algorithme basé sur la caractérisation de Fulkerson et Gross des
graphes d’intervalles. Ainsi notre approche consiste à énumérer des matrices de 1-consécutifs,
vérifiant certaines contraintes. Nous avons implémenté cet algorithme et les résultats obtenus
sur les données de test classiques sont prometteurs.
Références
[1] F. Clautiaux, J. Carlier et A. Moukrim (2007). A new exact method for the orthogonal
packing problem. European Journal of Operational Research,183(3) :1196-1211.
[2] S. P. Fekete et J. Schepers (2004). A combinatorial characterization of higher-dimensional
orthogonal packing. Mathematics of Operations Research, 29(2) :353-368.
[3] E.P. Ferreira et J.F. Oliveira (2008). Fekete and Schepers’ Graph-based Algorithm for the
Two-Dimensional Orthogonal Packing Problem Revisited. Gabler.
[4] P. C. Gilmore et A. J. Hoffman (1964). A characterization of comparability graphs and
interval graphs. Canadian Journal of Mathematics, 16 :539-548.
42
Index
Ben-Ameur W., 32
Bendali F., 30
Bernàth A., 13
Billionnet A., 15
Touati N., 24
Vanderbeck F., 23
Yaman H., 20
Chrétienne P., 9
Cornaz D., 11
Diarrassouba I., 30
Duchenne E., 14
Ekin-Karasan O., 20
Elloumi S., 15
Fouilhoux P., 9, 20
Gourdin E., 9
Grappe R., 13
Hadji M., 32
Joncour C., 42
Kacem I., 33
Kondo A., 33
Létocart L., 24
Lacroix M., 38
Lambert A., 15
Laporte G., 14
Liberti L., 29
Mahjoub A. R., 20, 30, 38
Mailfert J., 30
Martin S., 38
Maurras J.-F., 26
Meurdesoif P., 23
Nagih A., 24
Nguyen T. H., 26
Nguyen V. H., 26
Ouorou A., 32
Ozkök O., 20
Pêcher A., 19, 42
Pesneau P., 23
Rebai M., 33
Segura J.-M., 9
Semet F., 14
Szigeti Z., 13
43
LISTE DES PARTICIPANTS
Mahjoub A. Ridha
Adasme Pablo
LAMSADE - Université Paris Dauphine
[email protected]
LRI Paris Sud 11, Orsay
[email protected]
Martin Sébastien
Aoudia Lamia
Université des Sciences et Technologies Houari Boumediene, Alger
[email protected]
LAMSADE - Université Paris Dauphine
[email protected]
Masmoudi Youssef
Ben-Ameur Walid
Institut Télécom, Evry
[email protected]
Laboratoire LOGIQ, Sfax
[email protected]
Merel Aurélien
Borne Sylvie
LIPN, Université Paris 13, Villetaneuse
[email protected]
LINA, Nantes
[email protected]
Meurdesoif Philippe
Cao Xiaokang
Université de technologie de Compiègne
[email protected]
IMB/INRIA, Université Bordeaux 1
[email protected]
Michel Sophie
Cornaz Denis
LIMOS, Clermont-Fd
[email protected]
Université du Havre - INRIA Bordeaux Sud-Ouest
[email protected]
Naddef Denis
Duchenne Eric
LAMIH SIADE, Valenciennes
[email protected]
G-SCOP, Grenoble
[email protected]
Nagih Anass
Fouilhoux Pierre
Université Pierre et Marie Curie - LIP6, Paris
[email protected]
LITA, Metz
[email protected]
Nguyen Thanh Hai
Gay Jean-Christophe
LIMOS, Clermont-Fd
[email protected]
LIF, Marseille
[email protected]
Pêcher Arnaud
Grappe Roland
Laboratoire G-SCOP, Grenoble
[email protected]
LaBRI/INRIA, Université Bordeaux 1
[email protected]
Pesneau Pierre
Joncour Cédric
IMB/INRIA, Université Bordeaux 1
[email protected]
IMB/INRIA, Université Bordeaux 1
[email protected]
Rebai Maher
Knippel Arnaud
INSA, Rouen
[email protected]
Université de Technologie de Troyes
[email protected]
Segura Jean-Mathieu
Lacroix Mathieu
LIMOS, Clermont-Fd
[email protected]
Orange / LIP6, Paris
[email protected]
Suon Médéric
Lambert Amélie
CNAM-CEDRIC, Paris
[email protected]
LIMOS - PSA Peugeot Citroën, Sochaux
[email protected]
Sverdlov Dimitri
Liberti Leo
Delft University of Technology, Pays Bas
[email protected]
LIX, Ecole Polytechnique, Paris
[email protected]
45
Taktak Raouia
Vanderbeck François
IMB/INRIA, Université Bordeaux 1
[email protected]
LAMSADE - Université Paris Dauphine
[email protected]
Thabti Boulbaba
Wu Lei
Université de Picardie Jules Verne d’Amiens
[email protected]
LAMSADE, Paris
[email protected]
46