Vous êtes sur la page 1sur 21

1ére année

Master
Section 1
Groupe 5
Problème TIC

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 :

Les L
t r' oa if sf epcrt ea mt i ioènr eosp tciomn at rl ea i en st et sc edlélfei nqius is emn it n ui m
n ei saef fuencet a t i o n :
fonction de coût à valeurs positives, d'où la fonction
é c••o n12oèè m rme ei q u e è( m
ec to n3t r4ae)i noctùoe n: t:r aSiin Xt eisj :v aà uut n1 ,é llé' éml eé nmte dn et iI
e s t a fdfee cI t ée sut na feft e uc nt é sàe ul l' éél él émmeennt t j ddee JJ.
• Cijkl représente le coût lié à l'affectation
respective de i en j et de k en l.
E x e m p l e s e t a p p l i c a t i o n s d u p ro b l è m e
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
puv la 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
re c he rc he l oc al e .
La méthode qui a donné les meilleurs résultats est la
m é t h o d e Ta b o u . S a p r e m i è r e a p p l i c a t i o n a u p r o b l è m e
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.

(1) 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 pk amè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 !
Merci pour
votre attention

Vous aimerez peut-être aussi