Télécharger le Fichier PowerPoint

Download Report

Transcript Télécharger le Fichier PowerPoint

1ére année Master
Section 1
Groupe 5
TIC
SELLAM Mohammed Yassine
DJELLOUL Imed Eddine
Dirigé par :
Mr HAMDAOUI
•
•
•
•
•
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
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.
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(n4 ),
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
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.
• Résoudre un problème d'affectation
quadratique, revient à résoudre le programme
quadratique suivant :
t i ioènr eosp ct iomn at rl ae i ne st et sc ed lélfei nqius is emn it nui m
Les L
t r'oa ifsf epcrteam
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 qe
cutoen3 tè(rm4ae)i noctùoe n: t:r aSiin X
t eisj :v aà uut n1 é, llé' éml eé nmt e dn et iI
e s t a fdfee cI t ée sut na fefte uc tné sàe ul 'l é él él émme ennt t j ddee JJ.
• Cijkl représente le coût lié à l'affectation
respective de i en j et de k en l.
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.
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.
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
m a j o r i t a i re m e n t u t i l i s é d a n s t o u t e s l e s h e u r i s t i q u e s d e
re c h e rc h e l o c a l 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.
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 .
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) =
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 :
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 :
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 !