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