480 likes | 1.08k Views
1ére année Master Section 1 Groupe 5 TIC. Problème d’affectation quadratique. SELLAM Mohammed Yassine DJELLOUL Imed Eddine. Dirigé par : Mr HAMDAOUI. Sommaire . Introduction Définition Modélisation Exemples & Applications Méthode de résolution Méthode de recherche locale
E N D
1ére année Master Section 1 Groupe 5 TIC Problème d’affectation quadratique SELLAM Mohammed Yassine DJELLOUL Imed Eddine Dirigé par : Mr HAMDAOUI
Sommaire • Introduction • Définition • Modélisation • Exemples & Applications • Méthode de résolution • Méthode de recherche locale • Exemple • Algorithme évolutif • Visant un optimum << Réduction >> • Exemple • Conclusion
Introduction Des besoins concrets nous ont poussés à rechercher une procédure pratique permettant de résoudre les problèmes d'affectation quadratique de taille moyenne (entre 10 et 30), pour lesquels les méthodes proposées précédemment étaient défaillantes. La méthode par réduction des matrices et décomposition en parties linéaire et quadratique de la fonction économique, que nous décrivons ci-après, a été programmée et essayée sur de nombreux exemples et semble efficace. Elle permet d'aborder en un temps raisonnable les problèmes de taille voulue et de connaître une borne de l'erreur commise entre la solution retenue et l'optimum théorique.
Présentation du problème Le problème d'affectation se présente fréquemment en recherche opérationnelle. Il consiste à réaliser une bijection des éléments i d'un ensemble I sur ceux j d'un ensemble J, de même cardinalité, de telle manière qu'une certaine fonction de coût, dépendant du choix des couples (i, j) soit minimale. Lorsque cette fonction de coût est linéaire, c'est un problème classique et sa solution est donnée par un algorithme polynomial [en 0(), si | I | = | J | = n] : la méthode hongroise. Pourtant, il existe des problèmes appartenant à de nombreux domaines, aussi variés que l'électronique, l'économie, l'architecture, l'informatique, etc., pour lesquels la fonction de coût est quadratique. Le problème d'affectation s'appelle alors « affectation quadratique »; c'est un problème NP-complet et donc beaucoup plus difficile à résoudre que l'affectation linéaire. Figure1 : exemple d’un PAQ
Modélisation Le problème d’affectation quadratique consiste à placer n unités communiquant entre elles sur n sites prédéterminés. Entre une unité i placée sur un site k et une unité j placée sur un site l se passe une interaction qui a un coût : cijkl. En général, ce coût est le produit du flux fij entre les deux unités par la distance entre les deux sites dkl. Et le problème consiste à minimiser le coût total de l’implantation des n unités sur les n sites.
modélisation • Résoudre un problème d'affectation quadratique, revient à résoudre le programme quadratique suivant : L'affectation optimale est celle qui minimise une fonction de coût à valeurs positives, d'où la fonction économique (4) où : Les trois premières contraintes définissent une affectation : • 1ère contrainte : Si Xij vaut 1, l'élément i de I est affecté à l'élément j de J • 2ème et 3ème contraintes : à un élément de I est affecté un et un seul élément de J. • Cijklreprésente le coût lié à l'affectation respective de i en j et de k en l.
Exemples et applications du problème d'affectation quadratique En économie, le problème fut posé pour la première fois par Koopmans et Beckmann, en 1957, sous le nom anglais d'« indivisible ressources allocation problem ». Il s'agit d'implanter diverses unités de production à des emplacements différents déjà déterminés. Des quantités fixées de produits (marchandises, matières premières,...) doivent circuler entre ces usines, et leur coût de transport dépend de la distance parcourue L'implantation des usines cherchée est évidemment celle qui assurera un coût de transport minimal : I est l'ensemble des n usines. J celui des n emplacements possibles. Xij=1, si l'usine i est implantée en j, =0 sinon. fik, la quantité de produits à transporter de l'usine i à l'usine k. djl, le coût de transport d'une unité de produits de l'emplacement j à l'emplacement l.
Exemples et applications du problème d'affectation quadratique Dans l'industrie des automatismes et ordinateurs, le problème se pose lors de la conception de la plaquette qui doit supporter les circuits intégrés. Pour obtenir un bon tracé de connexions, il faut chercher à implanter les modules de circuits intégrés sur cette plaquette de manière à minimiser la longueur totale des liaisons : I est alors l'ensemble des modules. J, celui des emplacements possibles pour ces modules sur la plaquette. Xij= 1, si le module i est placé en j, = 0 sinon. fik, le nombre de liaisons du module i au module k. dji, la longueur d'une liaison, c'est-à-dire la distance euclidienne ou rectangulaire entre l'emplacement j et l'emplacement i.
Méthode de résolution 1- Méthodes de recherche locale La solution courante de ces algorithmes évolue en allant « regarder autour » s’il n’y a pas d’amélioration possible. Ceci fait donc appel à une notion de voisinage qu’il faut définir dans notre cas. Pour le problème d’affectation quadratique, une définition simple du voisinage est la suivante : une permutation p1 est voisine d’une permutation p2 si elles diffèrent seulement par un échange entre deux de leurs valeurs. Cette définition du voisinage a un double avantage : d’une part, il est d’une taille raisonnable ( n.[n-1]/2 voisins pour chaque permutation), et d’autre part, la différence de coût entre deux permutations voisines est facilement calculable. Avec : p la solution courante puvla solution obtenue en échangeant le placement des unités u et v de p Δ p(u,v) la variation de coût occasionnée par le passage de p à puv.
On a : Ainsi, par ces avantages, ce voisinage est très majoritairement utilisé dans toutes les heuristiques de recherche locale. La méthode qui a donné les meilleurs résultats est la méthode Tabou. Sa première application au problème d’affectation quadratique est due à Skorin-Kapov en 1990.
2 - Algorithme évolutif Evidemment, la recherche locale n’a pas été la seule voie explorée pour la résolution de ce problème tant étudié. Des heuristiques telles que les algorithmes génétiques, ou les méthodes de recherche par dispersion ont également pris part à la course à la meilleure solution. Ces deux exemples sont basés sur une population de solutions qui évolue. Mais finalement, ils n’offrent, tous seuls, que peu de résultats, se confinant souvent dans un domaine de l’espace et n’atteignant que rarement l’optimum global. Et c’est ainsi que sont nés les algorithmes hybrides évolutifs/recherche locale. En effet, lors de l’évolution de la population dans ces algorithmes, les auteurs ont pensé à utiliser la recherche locale sur ces solutions pour les améliorer, avant de les « accoupler » en mélangeant leurs gênes. Ces hybridations d’algorithmes se sont finalement avérées très efficaces .
Exemple n unités communiquant entre elles doivent être placées sur n sites distants. On note fij > 0 le flux d’échanges entre deux unités i et j et dkl > 0 la distance entre deux sites k et l. Le coût d’interaction du placement des unités i et j respectivement sur les sites k et l est égal au produit du flux entre les unités par la distance entre les sites : cij= fij.dkl. Le problème d’affectation quadratique (QAP) consiste à trouver une affectation des unités aux sites (une unité par site et un site par unité) qui minimise la somme des coûts d’interaction sur toutes les paires d’unités. • exprimer toute solution réalisable du QAP en terme de permutation ; dénombrer l’ensemble des solutions réalisables du QAP. 1. On numérote les unités de 1 à n et les sites de 1 à n, alors à toute solution réalisable du QAP correspond une unique permutation p de l’ensemble {1, . . . , n} telle que p(i) désigne le numéro du site affecté à la i-ème unité. L’ensemble des solutions réalisables du QAP est donc de cardinalité n! (nombre de permutations possibles).
(2) exprimer la valeur du coût d’une solution réalisable du QAP par une formule mathématique, sachant que les matrices de flux f et de distance d sont symétriques. 2. on minimise 2c(p) sur l’ensemble des permutations p avec c(p) =
3 – Méthode visant un optimum « Réduction » Parmi les méthodes dont l'objectif est d'atteindre un optimum, certaines proposent de : - Trouver un programme linéaire équivalent au programme quadratique. La méthode par réduction consiste à mettre la fonction de coût sous la forme de la somme d'une fonction linéaire et d'une fonction quadratique, dite « Réduite ». Cette décomposition permet de trouver aisément à la fois une borne inférieure et une borne supérieure de la solution optimale,l'obtention des deux bornes permet de guider efficacement la construction de l'arborescence.
Le problème d'affectation quadratique (A.Q.) est posé sous la forme : Chercher la permutation ρ de P= {1, 2, ..., n} qui minimise Soient C' = (C'ij) la matrice obtenue par réduction de C : D' = (D‘kl) celle obtenue par réduction de D : Nous appelons problème d'affectation quadratique réduit le problème d'affectation de fonction économique :
Où Z' (ρ) est la fonction économique du problème d'affectation quadratique réduit, K (ρ) la fonction économique d'un problème d'affectation linéaire de matrice K et γ une constante positive. Ce théorème découle directement de ce qui précède. Nous avons donc pu décomposer la fonction coût d'un problème A.Q. en la somme d'une fonction quadratique et d'une fonction linéaire. Cette décomposition va permettre de trouver aisément à la fois une borne inférieure et une « bonne » borne supérieure de la solution optimale du problème A.Q. La recherche de pkamène à résoudre un problème d'affectation linéaire de matrice des coûts K Borne inferieure : Borne supérieure :
Exemple : La façon la plus simple de procéder pour réduire une matrice est de soustraire à chacune de ses lignes son minimum, puis de procéder de même pour chaque colonne
de même pour la matrice D Calculons K dans le cas où C et D sont symétriques :
Tous les éléments d'une ligne de K soient rangés par ordre croissant, tous les éléments d'une colonne de K par ordre décroissant. C'est donc la permutation optimale :
Conclusion Pour conclure, il est important de rappeler la place importante qu’occupent les problèmes quadratiques dans les utilisations pratiques de l’optimisation. Il est évident que toutes les situations ne peuvent pas être formalisées dans un contexte linéaire. Et il arrive plus que fréquemment de tomber sur un problème d’optimisation qui s’avère être quadratique. Certes, d’un côté, la programmation quadratique offre dans un nombre conséquent de cas une solution optimale. De l’autre côté se trouvent pour tous ces grands problèmes combinatoires (dont les problèmes quadratiques font partie) les heuristiques qui permettent, elles, de trouver une solution satisfaisante en un temps correct, mais dont on ne peut garantir l’optimalité. Alors pour en savoir plus sur la programmation quadratique, c’est à vous !