Vous êtes sur la page 1sur 114

Module

Optimisation
Combinatoire

RABE Mahamane Mourtala


murtalarabe@yahoo.fr
rmourtala83@gmail.com

Ingénieur EST/2021 - 2022


EST/2020 - 2021
1 Présentation générale
 Programmati
2 Le problème de Chargement on linéaire
en nombre

Optimisation Combinatoire
3 Le problème de Voyageur de entier
Commerce  Méthode de
séparation et
4 Le problème de Couverture évaluation
 Programmati
Les problèmes de tournée de véhicule on
5 dynamique
 Méthodes
6 Problème de localisation heuristiques

NB: Des Travaux dirigés ( séries d’exercices) seront effectués à la fin de


chaque chapitre.
Ingénieur EST/2021 - 2022 2
Objectifs globaux du Cours

Comprendre les Apprendre à définir,


différents modéliser et
principes et résoudre des
concepts en problèmes
Optimisation d’optimisation
Combinatoire combinatoire.

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


Chapitre 1:

Présentation générale

Euler:“ Il n'y a rien dans le monde qui ne se réalise sans


la volonté de minimiser ou maximiser quelque chose."
4

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


INTRODUCTION GÉNÉRALE
L'optimisation est une branche des mathématiques consistant à
rechercher des conditions ou des configurations optimales pour des
systèmes variés. Ce mot nous vient du latin optimum qui signifie le
meilleur. Elle est très importante dans les mathématiques appliquées,
fondamentales pour l'industrie et l'ingénierie.

Aujourd'hui, tout est optimisé : Le fonctionnement d'un moteur, la


gestion des lignes ferroviaires, les investissements économiques, les
réactions chimiques... etc. Les exemples sont multiples, il est donc
crucial de posséder les outils pour résoudre ces problèmes. L’objectif
consiste à maximiser (minimiser) une fonction f appelée la fonction
objectif. Les éléments de l’espace de définition de la fonction f sont
appelées les solutions admissibles. Dans le cas où les solutions
admissibles appartiennent à l’ensemble des entiers N, on parle de 4
l’optimisation combinatoire.
Ingénieur EST/2021 - 2022 Optimisation Combinatoire
INTRODUCTION GÉNÉRALE
L’optimisation combinatoire (ou discrète) est une branche très
importante en Recherche Opérationnelle, en mathématiques
appliquées et en informatique. Elle comprend un grand nombre de
problèmes d’optimisation combinatoire difficiles issus
d’applications réelles dans différents domaines notamment
l’industrie, la finance ou l’armée .

L’objectif de ces problèmes combinatoires consiste à trouver une


meilleure solution dans un espace fini et discret de solutions
réalisables, qui respectent un ensemble de conditions, dites aussi
contraintes.

L’évaluation d’une solution est effectuée à l’aide d’une fonction dite


fonction objectif. Une meilleure alternative (solution optimale) est
une solution réalisable qui minimise ou maximise, selon le contexte,4

la fonction objectif.
Ingénieur EST/2021 - 2022 Optimisation Combinatoire
INTRODUCTION GÉNÉRALE
Face à la résolution d’un problème d’optimisation, il est
important d’identifier à quelle classe de problèmes il
appartient. Nous nous intéressons particulièrement à la classe
des problèmes d’optimisation discrète en variables 0-1.

Les algorithmes conçus pour résoudre ce type de problèmes


sont nombreux. Ils s’organisent en deux catégories :
 Les algorithmes exactes qui permettent d’obtenir des
solutions dont l’optimalité est garantie ;
 et les algorithmes approchés qui cherchent des solutions de
bonne qualité, sans garantie d’optimalité, mais au profit d’un
temps de calcul plus réduit. 4

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


INTRODUCTION GÉNÉRALE
Le terme « Optimisation Combinatoire » recouvre
l’ensemble des problèmes d’optimisation en variables binaires
et les techniques appropriées pour les résoudre.

Les variables binaires constituent l’outil le plus performant de


formulation d’une multitude d’applications.

De nombreux problèmes types reviennent souvent dans des


applications . Ils présentent un structure particulière et de ce
fait des méthodes spécifiques ont été développées afin
d’exploiter ces particularités.

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


INTRODUCTION GÉNÉRALE

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


INTRODUCTION GÉNÉRALE
La programmation dynamique ce type de méthodes est
utilisé dans le cas où les le problème est décomposables en
petites entités facilement résolubles. Elle n’est utilisable que
lorsque la fonction objectif est monotone croissante.

De ce fait, la résolution d’un problème en programmation


dynamique est basée sur une décomposition du problème en
sous-problèmes plus simples. A chaque sous-problème
correspond un ensemble d’options, représentant chacune un
coût en terme de fonction objectif.

Un ensemble de choix doit donc être effectué pour les


différents sous-problèmes dans le but d’arriver à une solution
4

optimale.
Ingénieur EST/2021 - 2022 Optimisation Combinatoire
CLASSIFICATION DES ALGORITHMES D’OPTIMISATION

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


TAXONOMIE DES MÉTHODES D’OC

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


DÉFINITION D’UN PROBLEME D’OC

13

Ingénieur EST/2021 - 2022 Recherche Opérationnelle EST/2018 - 2019


QUELQUES EXEMPLES DE PROBLÈME D’OC
 Trouver le chemin le plus court entre deux points.

 Ordonnancer les tâches dans un système multiprocesseurs.

 Affecter des travaux à des personnes dans un projet.

 Gérer un emploi de temps

 Routage optimale dans un réseau (ferroviaire, aérienne,


informatique, économique, …).

 Distribution optimale des rayons dans un supermarché.

 Placement optimal des installations de télécommunication. 4

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


PROBLÈMES CLASSIQUES EN OC
Problème de sac à dos (knapsack)
L’énoncé de ce problème fameux est simple : «Étant
donné plusieurs objets possédant chacun un poids et
une valeur et étant donné un poids maximum pour le
sac, quels objets faut-il mettre dans le sac de
manière à maximiser la valeur totale sans dépasser
le poids maximal autorisé pour le sac ? »

Exemple:
On considère 4 objets Oi (i=1,2,3,4 ) de poids respectifs
en kg, pi (i=1,2,3,4 ) 13, 12, 8, 10 et de valeurs ci
données 7,4,3,3. On souhaite ranger ces objets dans un
sac de poids maximal 30 Kg. Donner la formulation 4
mathématique de ce problème.
Ingénieur EST/2021 - 2022 Optimisation Combinatoire
PROBLÈMES CLASSIQUES EN OC

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


PROBLÈMES CLASSIQUES EN OC

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


PROBLÈMES CLASSIQUES EN OC
Problème de Voyageur de Commerce (PVC)

Exemple:
Un voyageur de commerce doit visiter n villes données en passant par
chaque ville exactement une fois. Il commence par une ville
quelconque et termine en retournant à la ville de départ. Les distances
entre les villes sont connues. Quel chemin faut-il choisir afin de
minimiser la distance parcourue ?

La notion de distance peut-être remplacée par d'autres notions comme


le temps qu'il met ou l'argent qu'il dépense : dans tous les cas, on
parle de coût.

Donc le problème de voyageur de commerce consiste à la recherche


4

de trajet minimal en traversant n villes.


Ingénieur EST/2021 - 2022 Optimisation Combinatoire
Chapitre 2: Problème de Chargement

Chapitre 2:
Problème de Chargement

19

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


INTRODUCTION
Le problème de chargement appelé traditionnellement ‘’
Knapsack problem’’ est un problème de base de l’optimisation
combinatoire (OC) et un des plus utilisés pour plusieurs raisons:

 Le problème correspond à plusieurs contextes d’application

 Il possède de nombreuses extensions

 Il peut être considéré comme une réduction d’un problème


général de programmation linéaire en variables binaires, et à
ce titre peut être utilisé pour analyser des problèmes plus
généraux

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


PROBLÈME DE CHARGEMENT: VERSION DE BASE
On considère:
o Un container (camion, cargo, satellite, etc.) de capacité
limitée W en poids (ou en volume)
o N objets j=1,…, n caractérisés par leur valeur pj et leur
poids (ou volume) wj

Le problème consiste à définir le chargement optimal du


container à l’aide des objets disponibles: quels objets
charger dans le container de manière à maximiser la
valeur totale du chargement, tout en respectant la limite de
capacité du container?

Le nom ‘’Knapsack ’’ (sac à dos) lui vient de la situation du


campeur devant selectionner les objets à emporter dans son
sac. Il est aussi appelé ‘’cargo loading problem’’ 4

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


PROBLÈME DE CHARGEMENT: VERSION DE BASE
le problème de Sac à dos fait partie des 21 problèmes NP-complets
identifiés par Richard Karp en 1972. Ces 21 problèmes sont réputés
comme les problèmes les plus difficiles en optimisation
combinatoire. Un grand nombre d’autres problèmes NP-complets
peuvent se ramener à ces 21 problèmes de base.

Domaines d’application:
 en cryptographie, où il fut à l’origine du premier algorithme de
chiffrement asymétrique en 1976 ;
 dans les systèmes financiers, où l’idée est la suivante : étant
donné un certain montant d’investissement dans des projets, quels
projets choisir pour que le tout rapporte le plus d’argent possible ;
 pour la découpe de matériaux, afin de minimiser les pertes dues
aux chutes ; 4
 dans le chargement de cargaisons (avions, camions, bateaux…) ;
Ingénieur EST/2021 - 2022 Optimisation Combinatoire
PROBLÈME DE CHARGEMENT: VERSION DE BASE
Formulation mathématique
La formulation mathématique de ce problème notée (KP) est
particulièrement simple en considérant les variables binaires:

Xj=

Le modèle mathématique correspondant est:

(KP)

4
Sa particularité par rapport à un problème linéaire général en
variables binaires est l’existence d’une contrainte
Ingénieur EST/2021 - 2022
unique
Optimisation Combinatoire
PROBLÈME DE CHARGEMENT: VERSION DE BASE
Autres domaines d’applications du problème (KP)

Problème d’investissement (capital Budgeting problem): sélection


d’investissement nécessitant un capital wj et
correspondant à un rendement pj. W représente alors le capital total
disponible

Problème de découpe (cutting stock problem): découpe d’une


plaque rectangulaire (en carton, acier, verre, etc.) de longueur W, en
différentes pièces disponibles de même largeur que la
plaque et de longueur prédéfinie Wj;

Pj représente le profit correspondant à la pièce j.

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


PROBLÈME DE CHARGEMENT: VERSION DE BASE

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


LES EXTENSIONS DU PROBLÈME DE CHARGEMENT:

26

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


LES EXTENSIONS DU PROBLÈME DE CHARGEMENT:

27

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


LES EXTENSIONS DU PROBLÈME DE CHARGEMENT:

28

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


MÉTHODES DE RÉSOLUTION
Comme nous l’avons précisé, il existe deux grandes catégories
de méthodes de résolution de problèmes d’optimisation
combinatoire :

 les méthodes exactes et


 les méthodes approchées (heuristiques)

Les méthodes exactes permettent d’obtenir la solution


optimale à chaque fois, mais le temps de calcul peut être long
si le problème est compliqué à résoudre.

Les méthodes approchées, encore appelées heuristiques,


permettent d’obtenir rapidement une solution approchée, donc
pas nécessairement optimale. 29

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


MÉTHODES DE RÉSOLUTION

Méthode approchée: Algorithmes glouton


• DEBUT

• calculer la valeur (pi / wi) pour chaque objet i,


• trier tous les objets par ordre décroissant de cette valeur,
• sélectionner les objets un à un dans l’ordre du tri et ajouter
l’objet sélectionné dans le sac si le poids maximal reste
respecté.

•FIN

30

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


MÉTHODES DE RÉSOLUTION
Exemple: Application de l’algorithme glouton
Objet 1 2 3 4
Valeur pi 7 4 3 3
Poids wi 13 12 8 10

 Première étape: calculer de la valeur pi/wi


Objet 1 2 3 4
Pi/wi 7/13=0,54 4/12= 0,33 3/8= 0,37 3/10=0,30

 Deuxième étape : établir l’ordre des objets (décroissant)


il est comme suit: 1, 3, 2, et 4
 Troisième étape : selectionner les objets dans l’ordre du tri

La solution trouvée est de mettre les objets 1 et 3, ce qui donne


une valeur de 10. Question: cette solution est elle optimale? 31

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


MÉTHODES DE RÉSOLUTION
On peut remarquer la solution trouvée n’est pas optimale car une
solution avec une valeur de 11 existe.

Cependant, l’avantage de l’algorithme glouton est sa rapidité même si


le nombre d’objets croit considérablement.

Par ailleurs, l’algorithme glouton ne remet jamais en cause une


décision prise auparavant ( tout objet entré dans le chargement ne sort
Pas)

En dehors des algorithmes gloutons, il existe un grand nombre de


méthodes approchées notamment:
 les méthodes de recherche « tabou »,
 les algorithmes génétiques,
32
 les algorithmes de colonies de fourmis.
Ingénieur EST/2021 - 2022 Optimisation Combinatoire
MÉTHODES DE RÉSOLUTION

Méthodes exactes: Algorithme Branch and Bound (ou PSE)

Pour trouver la solution optimale, il faut utiliser une méthode


exacte, qui demande un temps de calcul beaucoup plus long (si
le problème est difficile à résoudre).

Il n’existe pas une méthode exacte universellement plus rapide


que toutes les autres. Chaque problème possède des méthodes
mieux adaptées que d’autres.

Nous allons présenter un exemple d’algorithme de ce type,


nommé procédure par séparation et évaluation (PSE), ou en
anglais branch and bound (B&B) 33

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


MÉTHODES DE RÉSOLUTION

Une PSE est un algorithme qui permet d’énumérer


intelligemment toutes les solutions possibles. En pratique,
seules les solutions potentiellement de bonne qualité seront
énumérées, les solutions ne pouvant pas conduire à améliorer
la solution courante ne sont pas explorées. Pour représenter
une PSE, nous utilisons un « arbre de recherche » constitué :

o de nœuds ou sommets, où un nœud représente une étape de


construction de la solution
o d’arcs pour indiquer certains choix faits pour construire la
solution.

34

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


ALGORITHME BRANCH AND BOUND (B&B)

Résolution de l’exemple précédent:

Les nœuds en rouge représentent une solution irréalisable


35

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


ALGORITHME BRANCH AND BOUND (B&B)

Relaxation linéaire:

36

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


ALGORITHME BRANCH AND BOUND (B&B)

Principe:

 On partitionne l'ensemble X en {X1,...,Xn}


 On calcule les bornes supérieures B(Xj) de l'optimum pour
chaque Xj

 Si B(Xi)≤ meilleure solution trouvée, on élague


 Sinon on découpe récursivement Xi
 ⇒ arbre de recherche implicite

37

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


ALGORITHME BRANCH AND BOUND (B&B)

Découpe:
o Résolution de la Relaxation Linéaire (RL) sur X(P)
o si x∗ non entier, on branche sur une variable non entière
o X1= x ∈ X et xi≤ a
o X2= x∈ X et xi ≥ a+1

élagage:

o On élague une branche si :


o La (RL) n'a pas de solution (discard)
o La RL a une solution entière (optimum)
o La borne sup est inférieure à la meilleure solution actuelle
(discard) 38

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


ALGORITHME BRANCH AND BOUND (B&B)

Exemple:
Appliquer l’algorithme de Branch and Bound au programme
suivant:

Max x1 +4x2
5x1+ 8x2 ≤ 40
-2x1 + 3x2 ≤ 9
X1, x2 ≥ 0, entier

39

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


ALGORITHME BRANCH AND BOUND (B&B)

40

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


ALGORITHME BRANCH AND BOUND (B&B)

41

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


ALGORITHME BRANCH AND BOUND (B&B)

42

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


ALGORITHME BRANCH AND BOUND (B&B)

43

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


ALGORITHME BRANCH AND BOUND (B&B)

44

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


PROBLÈME DE VOYAGEUR DE COMMERCE

Chapitre 3:
Problème de Voyageur de
Commerce

45

Ingénieur EST/2021 - 2022 Recherche Opérationnelle


INTRODUCTION
Le problème de voyageur de commerce, noté (TSP) pour ‘’Traveling
Salesman Problem’’, est le problème le plus important de
l’optimisation combinatoire. Il est incontournable pour ce domaine
et fait l’objet d’innombrables études spécifiques et complexes. Le
problème du voyageur de commerce (PVC) a été évoqué pour la
première fois en 1930 par le mathématicien viennois Karl Menger et
il a intrigué bon nombre de chercheurs depuis ce temps : sans doute
parce qu'il est facile à énoncer mais redoutable à résoudre. Ce
problème, en apparence anodin et insignifiant, cache de nombreuses
finesses et difficultés qui nous emmèneront dans les développements
récents de la théorie des algorithmes. Beaucoup de méthodes
atteignant ce but de PVC ont été développées (dont certaines assez
récemment) : méthode des plus proches voisins, du recuit simulé, les
réseaux de neurones, algorithmes génétiques, tabu search, colonie de
46
fourmis.
Ingénieur EST/2021 - 2022 Optimisation Combinatoire
INTRODUCTION

Un voyageur de commerce doit visiter n villes données en


passant par chaque ville exactement une fois. Il commence par
une ville quelconque et termine en retournant à la ville de
départ. Les distances entre les villes sont connues.

Quel chemin faut-il choisir afin de minimiser la distance


parcourue ? La notion de distance peut-être remplacée par
d'autres notions comme le temps qu'il met ou l'argent qu'il
dépense : dans tous les cas, on parle de coût.

Donc le problème de voyageur de commerce consiste à la


recherche de trajet minimal en traversant n villes.
47

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


INTRODUCTION
Domaine d’application :
Les domaines d’application sont nombreux :

 problèmes de logistique, de transport aussi bien de


marchandises que de personnes,
 et plus largement toutes sortes de problèmes
d'ordonnancement.

Certains problèmes rencontrés dans l'industrie se modélisent


sous la forme d’un problème de voyageur de commerce,
comme:

l'optimisation de trajectoires de machines outils : comment


percer plusieurs points sur une carte électronique le plus vite 48

possible ? Optimisation Combinatoire


Ingénieur EST/2021 - 2022
MODÉLISATION D’UN PVC

Modélisation d’un problème de voyageur de commerce (PVC)

Ce problème peut être modélisé à l’aide d’un graphe où chaque


sommet représente une ville, une arête le passage d’une ville à une
autre, et on lui associe un poids pouvant représenter une distance, un
temps de parcours ou encore un coût.
Ci-contre, un exemple de graphe à 4 sommets

49

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


MODÉLISATION D’UN PVC
Résoudre ce problème revient à trouver dans ce graphe un cycle
passant par tous les sommets une unique fois (un tel cycle est dit
« hamiltonien ») et qui soit de longueur minimale. Pour le graphe
ci-contre, une solution à ce problème serait le cycle 1, 2, 3, 4 et 1,
correspondant à une distance totale de 23.

Cette solution est optimale, il n’en existe pas de meilleure.

Le graphe présenté est « complet » comme il existe une arête entre


chaque paire de sommets. Pour tout graphe, une matrice de poids
peut être établie.

50

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


MODÉLISATION D’UN PVC
En lignes figurent les sommets d’origine des arêtes et en colonnes les
sommets de destination ; le poids sur chaque arête apparaît à
l’intersection de la ligne et de la colonne correspondantes. Pour notre
exemple, cette matrice est la suivante :

Dans cet exemple, le graphe est « non orienté », cela explique que la
matrice soit symétrique. Cette symétrie n’est pas forcément respectée
dans le cas d’un graphe orienté. Il existe alors deux catégories de
problèmes :
le cas symétrique (le poids de l’arc du sommet X vers Y est égal au
poids de l’arc du sommet Y vers X) et
le cas asymétrique (le poids de l’arc du sommet X vers Y peut être
différent du poids de l’arc du sommet Y vers X). 51

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


MODÉLISATION D’UN PVC

52

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


MODÉLISATION D’UN PVC

53

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


MODÉLISATION D’UN PVC

54

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


MÉTHODES DE RÉSOLUTION D’UN PVC
Méthodes exactes
L’une des méthodes exactes les plus classiques et les plus
performantes reste la Procédure par Séparation et Evaluation (PSE).

Cette méthode repose sur le parcours d’un arbre de recherche. Dans


un chemin de cet arbre, le premier nœud représente la ville de départ,
son successeur la deuxième ville visitée, puis la troisième ville
visitée, etc.

À chaque étape de l’algorithme, on crée autant de nœuds qu’il reste


de villes à visiter.

À chaque nœud, le choix consiste à sélectionner la prochaine ville à


visiter parmi les villes restantes. Ainsi, voici l’arbre de recherche
pour l’exemple présenté ci-dessus : 55

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


MÉTHODES DE RÉSOLUTION D’UN PVC

Pour un problème du voyageur de commerce, la fonction objectif à


minimiser est la longueur du cycle. La réduction de l’espace de
recherche repose sur l’utilisation de bornes inférieures et
supérieures.
56

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


MÉTHODES DE RÉSOLUTION D’UN PVC
Rappelons que :
 Une borne inférieure est une estimation par défaut de la fonction
objectif. Autrement dit, c’est une valeur qui est nécessairement
inférieure à la valeur de la meilleure solution possible. Dans notre
cas, s’il y a un graphe avec N sommets à traverser, le cycle
hamiltonien passera obligatoirement par N arêtes. Ainsi, pour
avoir une borne inférieure assez intuitive, il suffit d’additionner le
poids des N arêtes possédant les plus petits poids. Même si cette
solution a de forts risques de ne pas être réalisable, la valeur de la
fonction objectif ne pourra pas être plus petite.
 une borne supérieure est une estimation par excès de la fonction
objectif. Autrement dit, la meilleure solution a nécessairement
une valeur plus petite. Dans notre cas, un cycle hamiltonien 57
quelconque dans le graphe fournit une borne supérieure
Ingénieur EST/2021 - 2022 Optimisation Combinatoire
MÉTHODES DE RÉSOLUTION D’UN PVC
Méthodes approchées: Algorithmes gloutons
L’idée est la suivante : le parcours du voyageur de commerce est
construit pas à pas en y insérant de nouvelles villes. À un instant
donné de l’algorithme, un certain cycle de villes a été construit.
L’étape suivante consiste à insérer une ville supplémentaire dans le
cycle de manière optimale, c’est-à-dire qu’elle augmente au
minimum la longueur totale du cycle.
À l’étape initiale de l’algorithme, le parcours de voyageur est
composé de deux villes, la ville de départ et celle qui en est la plus
proche. L’algorithme se termine lorsque toutes les villes à visiter ont
été insérées. Cependant, même si l’insertion d’une ville dans le
cycle est optimale et rapide à calculer, la solution finale n’est pas
nécessairement optimale, mais elle est obtenue rapidement. 58

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


MÉTHODES DE RÉSOLUTION D’UN PVC
Algorithme des plus proches voisins (nearest neighbours) :

L’algorithme du plus proche voisin, qui peut lui aussi être


considéré comme un algorithme glouton, est également simple.

La première idée consiste à se rendre systématiquement dans la ville


la plus proche de celle où l’on se trouve, telle que le poids entre la
ville courante et la prochaine ville soit minimale : sans y réfléchir
plus, on pourrait penser que cette méthode résout effectivement le
problème posé.

59

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


MÉTHODES DE RÉSOLUTION D’UN PVC
Algorithme des plus proches voisins (nearest neighbours) :

Principe :
Le trajet est initialement vide (pas de villes visitées) On part d'une
ville au hasard, que l'on met dans la liste des villes visitées. On
recherche la ville la plus proche que l'on ajoute dans la liste des
villes visitées. On recherche la ville la plus proche de cette nouvelle
ville. Si la ville est déjà dans la liste des villes visitées, on prend la
deuxième ville plus proche, la troisième si besoin, etc. et ainsi de
suite... Une manière d'accélérer fortement le calcul de ces solutions
est de calculer auparavant le tableau des villes les plus proches (pour
chaque ville, contient la liste des autres villes triées dans l'ordre du
plus proche au plus éloigné).
60

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


MÉTHODES DE RÉSOLUTION D’UN PVC
Résolution par la méthode hongroise

La méthode Hongroise, proposée par Kuhn en 1955, est un


algorithme dual qui s’appuie sur une modélisation du problème
d’affectation sous forme d’un programme linéaire, mais qui
peut être vu comme une variante de l’algorithme de Busaker et
Gowen, spécialisée pour la structure biparti du graphe.

Du fait de sa grande efficacité sur ce type de problème, c’est


l’algorithme de référence en Recherche Opérationnelle
pour résoudre le problème d’affectation.

61

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


MÉTHODES DE RÉSOLUTION D’UN PVC
Résolution du problème d’affectation par la méthode hongroise
La recherche d’une affectation optimale ( maximale ou
minimale) par la méthode hongroise est basée sur la notion
de zéros indépendants dans une matrice carrée de
dimension n ( c-a d contenant n lignes et n colonnes)

Définition:
On appelle zéros « 0 » indépendants, les zéros qui
n’appartiennent ni à la même ligne ni à la même colonne
d’une matrice.

Exemple

M=

Les zéros de cette matrice ne sont ni sur une même ligne ni sur une62
même colonne, alors ce sont des zéros indépendants.
Ingénieur EST/2021 - 2022 Optimisation Combinatoire
MÉTHODES DE RÉSOLUTION D’UN PVC
Description globale de la méthode hongroise
 La méthode hongroise est applicable sur une matrice
d’affectation de dimension (n*n)

 l’algorithme est basé sur la détermination des zéros sur


chaque ligne et chaque colonne de la matrice d’affectation

 l’affectation d’une personne à une tâche peut se faire en


choisissant un zéro sur chaque ligne et chaque colonne

 Pour que chaque personne soit affectée à une seule


tâche, il faut choisir des zéros (0) indépendants

 Le but de la méthode hongroise est alors d’obtenir « n 63»


zéros indépendants.
Ingénieur EST/2021 - 2022 Optimisation Combinatoire
MÉTHODES DE RÉSOLUTION D’UN PVC
L’algorithme de recherche d’une affectation minimale
Soit A= (aij) une matrice d’affectation de type (n*n)

Première étape

(1) On fait apparaître au moins un zéro sur chaque ligne et chaque


colonne de la matrice en retranchant de chaque ligne, le plus petit
élément; on fait de même pour chaque colonne

(2) On choisit sur chaque ligne un zéro en l’encadrant, et on barre les


zéros qui se trouvent sur la même ligne et la même colonne.

(2) Si on a obtenu n zéros indépendants, alors l’affectation est optimale.


Tout zéro encadré correspond à la valeur aij dans la matrice
d’affectation, alors la personne pi est affectée à la tâche tj ; et la
valeur de l’affectation minimale est égale à la somme des aij de la
matrice de départ V(aff)= Ʃaij avec i=1..n et j=1..m 64
Sinon on passe à la deuxième étape
Ingénieur EST/2021 - 2022 Optimisation Combinatoire
MÉTHODES DE RÉSOLUTION D’UN PVC
Deuxième étape
(1) Marquer toutes les lignes ne contenant pas de zéro encadré
(2) Marquer toutes les colonnes contenant un zéro barré sur une ligne marquée
(3) Marquer toutes les lignes contenant un zéro encadré sur une colonne
marquée
(4) Revenir à (2) et reprendre le même procédé jusqu’à ne pouvoir plus
marquer ni de lignes ni de colonnes.
(5) On barre toutes les lignes non marquées et toutes les colonnes marquées.
(6) On considère les éléments non barrés de la matrice, soit m le plus petit
élément d’entre eux
o à chaque élément non barré de la matrice, on retranche l’ élément m
o à chaque élément barré deux fois de la matrice, on rajoute l’élément m
o On laisse inchangé les éléments barrés une seule fois dans la matrice
(7) On intègre les nouveaux éléments calculés dans A , on obtient ainsi une
nouvelle matrice
(8) On choisit de nouveaux zéros pour les lignes ne contenant pas de zéro
encadré
(9) Si on a n zéros indépendants aller vers (3) de la première étape
65
sinon aller vers (2) de la première étape.

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


MÉTHODES DE RÉSOLUTION D’UN PVC
L’algorithme de recherche d’une affectation minimale

Application

Soit M=

1ere étape:
(1)On fait apparaître sur chaque ligne et chaque colonne un zéro

-2 0 0 0 1
-1
M= -2
Chaque ligne et chaque colonne
-2 Les plus petits éléments
retranchés de chaque ligne et colonne Contiennent au moins un zéro

66

Ingénieur EST/2021 - 2022 Optimisation Combinatoire


MÉTHODES DE RÉSOLUTION D’UN PVC
Application (suite)
Sur la 1 ere ligne, on encadre le zéro de la 3eme
(2) colonne et on barre les zéros se trouvant sur la 1ere
ligne

Sur la 2eme ligne, on encadre le zéro de la 1ere


colonne et on barre les zéros se trouvant sur la
2eme ligne

Sur la 3eme ligne, on encadre le zéro de la 4eme


colonne et on barre le zéro se trouvant sur la 3eme
ligne

Sur la 3eme ligne, on encadre le zéro de la 4eme


colonne et on barre le zéro se trouvant sur la 3eme
ligne

on obtient quatre zéros encadrés, donc 4 zéros indépendants. Le nombre de zéros


indépendants est égal à n=4. L’affectation est donc optimale
La meilleure affectation est: P1 à T3 dont la valeur est 2; P2 à T1 dont la valeur est 1
P3 à T4 dont la valeur est 3; P4 à T2 dont la valeur est 2
La valeur de l’affectation minimale est égale à la somme des aij de la matrice de départ
Val(aff)= 2+1+3+2=8
Ingénieur EST/2021 - 2022
MÉTHODES DE RÉSOLUTION D’UN PVC
Remarque
Si on a une matrice d’affectation non carrée, alors:
 si n > m on crée ( n-m) personnes fictives, c’est-à-dire on complète la
matrice d’affectation en rajoutant (n-m) lignes ne contenant que des zéros, puis
on applique l’algorithme de minimisation

 si n < m , on crée (m-n) tâches fictives, c’est-à-dire on complète la matrice


d’affectation en rajoutant (m-n) colonnes ne contenant que des zéros, puis on
applique l’algorithme de minimisation.

Application 2
Déterminer une affectation minimale du problème représenté par la matrice
suivante:

On rajoute une personne fictive P4 afin d’obtenir une matrice carrée

Ingénieur EST/2021 - 2022


MÉTHODES DE RÉSOLUTION D’UN PVC
1ere étape:
(1) On fait apparaître sur chaque ligne et chaque colonne au moins un zéro
sur la 1ere ligne on encadre le zéro de la
Les plus petits éléments
-7 3eme colonne et on barre les zéros se
retranchés de chaque ligne
-5 trouvant sur la 1erer ligne et la 3eme colonne
-4
-0

On obtient 3 zéros encadrés, donc trois zéros indépendants.


Le nombre de zéros indépendants n’est pas égal n=4. On passe donc à l’étape 2

2eme étape: La 3eme colonne contient un


+
La 3eme ligne ne contient pas un Zéro barré sur la 3eme ligne
Zéro encadré. On la marque + marquée. On la marque +

+ +

+ La 1ere ligne contient un zéro


Encadré sur la 3eme colonne
+
marquée. On la marque + +
+ +
MÉTHODES DE RÉSOLUTION D’UN PVC
(4) On revient à (2), on reprend le même procédé jusqu’à ne pouvoir plus
marquer ni de lignes ni de colonnes
Sur la 1ere ligne marquée, pas de zéro barré, donc pas de colonne marquée.
On passe à l’itération suivante
(5) Les lignes 2 et 4 ne sont pas marquées, donc on les barre. La colonne 3
est marquée, donc on la barre.
+
+
+
(6) Les éléments non barrés de la matrice sont a11=1; a12= 2; a14=4 ; a31=4;
a32=1; a34= 4. Soit m le plus petit élément; m=1
o A chaque élément non barré de la matrice, on soustrait un 1
o A chaque élément barré deux fois de la matrice, on rajoute un 1
o Chaque élément barré une fois dans la matrice, restera inchangé
(7) On intègre les nouveaux éléments calculés dans la matrice,
on obtient ainsi une nouvelle matrice

Ingénieur EST/2021 - 2022


MÉTHODES DE RÉSOLUTION D’UN PVC
(8) Avec les zéros indépendants définis au départ, on ne peut pas en
déterminer le quatrième. Donc on refait l’encadrement des zéros pour la
nouvelle
INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES

Chapitre 4:
INTRODUCTION AUX
HEURISTIQUES ET
METAHEURISTIQUES

72

Ingénieur EST/2021 - 2022 Recherche Opérationnelle


INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES

 Le terme métaheuristique vient des mots grecs méta (au delà) et


heuriskein (trouver).

 Il n'y a pas clairement de consensus sur la définition exacte des


heuristiques et des Meta heuristiques. Nous allons adopter celles-ci
:

 Une heuristique est une technique de résolution spécialisée a


un problème. Elle ne garantit pas la qualité de la solution obtenue.

 Une méta heuristique est une heuristique générique qu'il faut


adapter à chaque problème.

Ingénieur EST/2021 - 2022


INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES

Definitions de la littérature

 Une métaheuristique est un algorithme d'optimisation visant a


résoudre des problèmes d'optimisation difficile (souvent issus
des domaines de la recherche opérationnelle, de l'ingénierie ou de
l'intelligence artificielle) pour lesquels on ne connaît pas de
méthode classique plus efficace.

 Les métaheuristiques sont généralement des algorithmes


stochastiques itératifs, qui progressent vers un optimum global,
c'est-a-dire l'extremum global d'une fonction, par échantillonnage
d'une fonction objectif. Elles se comportent comme des
algorithmes de recherche, qui tentent d'apprendre les
caractéristiques d'un problème afin d'en trouver une
approximation de la meilleure solution (d'une manière proche
des algorithmes d'approximation)."
INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES

Principales caractéristiques

 Les métaheuristiques sont des stratégies qui permettent de guider


la recherche d'une solution.

 Le but visé par les métaheuristiques est d'explorer l'espace de


recherche efficacement afin de déterminer des points (presque)
optimaux.

 Les techniques qui constituent des algorithmes de type


métaheuristique vont de la simple procédure de recherche locale a
des processus d'apprentissage complexes.

 Les métaheuristiques ne donnent aucune garantie d'optimalité.

Ingénieur EST/2021 - 2022


INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES

Principales caractéristiques (suite)

 Les métaheuristiques peuvent contenir des mécanismes qui


permettant d’éviter le blocage dans des régions de l'espace
de recherche.

 Les métaheuristiques peuvent faire appel a des


heuristiques qui tiennent compte de la spécificité du
problème traité, mais ces heuristiques sont contrôlées par
une stratégie de niveau supérieur.

 Les métaheuristiques peuvent faire usage de l'expérience


accumulée durant la recherche de l'optimum, pour mieux
guider la suite du processus de recherche.
Ingénieur EST/2021 - 2022
INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES

Classification des méthodes

 Méthodes de trajectoire : Manipulent un seul point à la fois


et tentent itérativement d'améliorer ce point. Elles construisent
une trajectoire dans l'espace des points en tentant de se diriger
vers des solutions. Par exemple :

 La recherche locale (méthodes de voisniage)


 Le recuit simulé [Kirkpatrick et al., 1983].
 La recherche tabou [Glover, 1986].
 La recherche à voisinages variables (VNS)
[Mladenovic et
 Hansen, 1997].

Ingénieur EST/2021 - 2022


INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES

Classification des méthodes (suite)

 Méthodes basées sur une population de points: en


tout temps on dispose d'une ‘’base’’ de plusieurs points, appelée
population. L'exemple le plus connu est l'algorithme génétique.

 Les métaheuristiques qui s'inspirent de phénomènes naturels.


 les algorithmes génétiques (théorie de l‘évolution)
 les algorithmes des fourmis (comportement de fourmis).

 Les autres, comme la méthode tabou qui n'a semble-t-il pas été
inspirée par un phénomène naturel (même si il y a l'utilisation
d'une memoire).

Ingénieur EST/2021 - 2022


INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES

Classification des méthodes selon les stratégies

 Diversification : mécanismes pour une exploration assez large de


l'espace de recherche.
 Intensification : exploitation de l'information accumulée durant
la recherche et concentration sur une zone précise de l’espace
visé.

Il est important de bien doser l'usage de ces deux ingrédients afin


que l'exploration puisse rapidement identifier des régions de l'espace
de recherche qui contiennent des points de bonne qualité, sans
perdre trop de temps à exploiter des régions moins prometteuses.

Ingénieur EST/2021 - 2022


INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES

A. La méthode de recherche Tabou (Tabu Search)

 La méthode Tabou a été introduite simultanément par


plusieurs (P.Hansen, F.Glover, B.Jaumard) aux environs de
1986.
 Recherche Tabou parce qu’il y a interdiction de reprendre
des solutions récemment visitées.

 A chaque itération, le moins mauvais voisin est choisit.


Pour éviter les cycles, c’est à dire la répétition infinie d’une
séquence de mouvements, les L derniers mouvements sont
considérés comme interdits, L étant la taille de la liste
Tabou. À chaque itération, le mouvement effectué est donc
le moins mauvais mouvement non Tabou.
Ingénieur EST/2021 - 2022
INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES

La méthode de recherche Tabou

 Définition de base de RT: méthode métaheuristique utilisée


pour la résolution des problèmes d’optimisation, destinée
principalement à guider d’autres méthodes afin de trouver
de meilleures solutions à partir d’une solution initiale
obtenue par l’une des heuristiques.

 La méthode peut être utilisée pour guider n’importe quel


processus qui emploie un ensemble de mouvements pour
passer d’une solution à une autre et qui fournit une fonction
d’évaluation pour mesurer la qualité de ces mouvements.

Ingénieur EST/2021 - 2022


INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES

Principe de la recherche Tabou

Le principe de la recherche Tabou repose sur une méthode de déplacement


sur l’espace des solutions, tout en cherchant constamment à améliorer la
meilleure solution courante et en conservant en mémoire la liste des
précédents déplacements et ainsi guider la recherche en dehors de zones
précédemment parcourues.

L’idée de base s’inspire des techniques de recherche utilisées en


intelligence artificielle. Elle consiste à garder la trace du cheminement
passé du processus de recherche dans une ou plusieurs mémoires et à se
servir de cette information afin d’en orienté le déroulement futur.
Principe de base : poursuivre la recherche de solutions même lorsqu'un
optimum local est rencontré et ce :

• En permettant des déplacements qui n'améliorent pas la solution.


• En utilisant le principe de mémoire pour éviter les retours en arrière
(mouvements cycliques).
INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES

Principe de la recherche Tabou (suite)


La RT est basée sur :
o L’utilisation de structures de mémoires flexibles (court, moyen, long
terme) permettant l’exploration complète du critère d’évaluation et
aussi de l’historique de la recherche.

o Un mécanisme de contrôle basé sur l’alternance entre les conditions qui


restreignent (restriction Tabou) et qui libèrent (critère d’aspiration) le
processus de recherche.

o L’incorporation des stratégies dites d’intensification et de


diversification de la recherche :
 La stratégie d’intensification utilisant la mémoire à moyen terme,
sert à renforcer la recherche dans la région des meilleures solutions
trouvées récemment.
 La stratégie de diversification utilisant la mémoire à long terme,
sert à guider la recherche dans de nouvelles régions.
Ingénieur EST/2021 - 2022
INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES

Principe de la recherche Tabou (suite)


En générale on ne va pas garder tous les déplacements (trop coûteux en
mémoire), mais on va seulement empêcher l’accès à certains solutions
pendant un certains nombre d’itérations.

 Voisinage: on définit le voisinage V(s(i)) d’une solution par une


transformation élémentaire permettant de passer d’une solution s(i) de S
à une autre solution s(j) proche avec une faible modification de la
structure de la solution s(i). Cette opération est appelée mouvement (ex:
2-opt dans le cas du PVC)

 Une technique pour ne chercher qu’un sous ensemble du voisinage ;


consiste alors à garder dans une liste de candidats une collection des
mouvements susceptibles d’être meilleurs (de plus forte qualité).

 La manière la plus simple de définir les Tabou est de conserver une liste
T. Quand on explore un voisinage, on choisit le meilleur voisin à
l’exclusion des points de la liste Tabou.
INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES

Principe de la recherche Tabou (suite)

Stratégie d’exploration agressive


La mémoire à court terme correspond à une stratégie d’exploration
agressive, représente la partie principale de la recherche Tabou et a
pour but de choisir le meilleur mouvement, ce mouvement pour être
accepté doit vérifier certaines contraintes appelées restrictions
Tabou. Ces restrictions Tabou sont conçues pour éviter les
répétitions et les mouvements n’améliorant pas la solution.

Liste Tabou
La liste Tabou représente la mémoire à court terme, elle contient les
attributs des mouvements les plus réalisés. Cette liste est maintenue
dans le but d’orienter la recherche.

Ingénieur EST/2021 - 2022


INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES

Principe de la recherche Tabou (suite)

Critère d’intensification (exploration plus poussée d’une région prometteuse)


L’intensification consiste à retourner à l’une des meilleures solutions trouvées
jusqu'à présent, puis de reprendre la recherche à partir de cette solution.

La stratégie d’intensification est matérialisée dans l’algorithme suivant par


renforcement de la recherche dans la liste des meilleurs mouvements.

Critère de diversification
Elle consiste à générer une nouvelle solution, différente de celle déjà explorées,
dans le but de partir dans une nouvelle direction, pour explorer une autre région.

Remarque :
La stratégie d’intensification utilise la mémoire à moyen terme, sert à renforcer la
recherche dans la région des meilleures solutions trouvées récemment.
La stratégie de diversification utilise la mémoire à long terme, sert à guider la
recherche dans des nouvelles régions.
Ingénieur EST/2021 - 2022
INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES

Principe de la recherche Tabou (suite)

Critère d’arrêt

En règle générale, pour interrompre l’algorithme, on prend ou à


laisser compte deux critères, tout d’abord on vérifie à chaque
itération que le compteur d’itérations totales n’a pas dépassé un
nombre maximal depuis le début de processus.

On se base sur une autre valeur seuil, qui correspond au nombre


maximal d’itérations que l’on s’autorise entre deux modifications
(améliorations) consécutives de la (meilleure) solution.
Mais au lieu de considérer le nombre d’itérations, on pourrait aussi
se baser sur le temps total, qui devrait être inférieur à une valeur
maximale.
Ingénieur EST/2021 - 2022
INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES

Algorithme générale de la recherche Tabou (en mettant l’accent sur la


mémoire à court terme et l’exploration agressive) :

1- Obtenir une solution initiale.

2- Créer une liste des mouvements candidats.

3- Choisir le meilleur candidat. Ce choix est basé sur les restrictions


Tabou et le critère d’aspiration. On obtient ainsi une autre solution,
mais qui ne sera enregistrer que si elle est meilleur que la solution
précédente.

4-Appliquer le critère d’arrêt.


 Continue : changer les candidats d’admissibilité (restriction
Tabou et critère d’aspiration). Aller à 2.
 Stop : passer aux stratégies d’intensification et de diversification
Ingénieur EST/2021 - 2022
INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES

Définition des variables

• i : la solution actuelle
• i' : la prochaine solution atteinte (solution voisine)
• N(i): l'espace de solutions voisines à i (l'ensemble des i')
• m : mouvement de i à i‘
• i globale : la solution optimale globale qui minimise la fonction
objectif f( ).

• i* : la solution optimale actuelle f(i*)

• T: liste des mouvements Tabou. Il peut exister plusieurs listes


simultanément. Les éléments de la liste sont t(i,m).

• a(i,m) : critères d'aspiration déterminent quand il est avantageux


d'entreprendre m, malgré son statut Tabou
Ingénieur EST/2021 - 2022
INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES

Algorithme de Recherche Tabou


Étape 1: choisir une solution initiale i dans S (l'ensemble des solutions)
Appliquer i* = i
k := 0 ; T: = 0
Étape 2: appliquer k := k+1 et générer un sous-ensemble de solutions en N(i, k)
pour que :
- les mouvements Tabou ne soient pas choisis
- un des critères d'aspiration a (i, m) soit applicable

Étape 3: choisir la meilleure solution i' parmi l'ensemble de solutions voisines


N (i, k) ; Appliquer i := meilleur i'

Étape 4: si f(i) <= f (i*), alors nous avons trouvé une meilleure solution
Appliquer i* := i

Étape 5: mettre à jour la liste T et les critères d'aspiration

Étape 6: si une condition d'arrêt est atteinte, stop. Sinon, retour à Étape 2.
Condition d'arrêt: condition qui régira l'arrêt de l'algorithme.
Ingénieur EST/2021 - 2022
INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES
Domaines d’application
 Problèmes de transport :
 Tournées de véhicules , Ordonnancement de convois.
 Design de réseaux routiers et Problème du voyageur de commerce

 Problèmes d'affectation et de localisation.


 Planification et ordonnancement, Optimisation de la production
 Production juste-à-temps.
 Planification d'inventaires multi-produits.

 Optimisation de graphes :Coloration de graphes , Clique maximale

 Télécommunications : Conception de réseaux, Routage d'appels.

 Logique et intelligence artificielle : Reconnaissance de formes

 Application à diverses technologies :Construction de stations spatiales.


Distribution de puissance électrique.
 Optimisation de structures : Structure des protéines, Séquençage d'ADN.
INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES
Application de la méthode tabou: problème de reine
Pour faciliter la compréhension des divers composants de la recherche
Tabou, nous présentons son application sur un problème très connu en
intelligence artificielle : le problème des reines.

Ce problème consiste à placer n reines sur un échiquier nxn, de telle


manière qu’aucune reine n’en capture une autre. Pour cela, il ne faut pas
que deux reines soient placées sur la même ligne, la même colonne ou la
même diagonale. Si ce principe n’est pas vérifié, on parle alors de
collision. Le but de l’optimisation du problème est de minimiser le
nombre de collisions.

Formulation d’une collision :


Soit X = {X(1), X(2),X(3),X(4),……,X(n)}
X(i) est l’index de la colonne avec : X(i) ≠ X(j) (pour que deux reines ne
soient pas placées dans la même ligne ou la même colonne).
Ingénieur EST/2021 - 2022
INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES
Application de la méthode tabou: problème de reine (suite)
Pour représenter ce problème, nous utilisons :
o Liste Tabou : contient les mouvements interdits.
o Mouvement (permettant d’aller d’une solution à une autre) :
correspond à permuter les positions des deux reines en collision.
o Critère d’aspiration : entreprendre le mouvement en respectant les
contraintes de collision.

La fonction f à minimiser : minimiser le nombre de collision.

Ingénieur EST/2021 - 2022


INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES
Application de la méthode tabou: problème de reine (suite)
Pour illustrer la méthode et ses composants, nous utiliserons un échiquier 7x7.
Nous supposons au début qu’une solution initiale peut être construite (d’une
manière aléatoire ou intelligente), cette solution est représentée comme suit :
Itération 0 :
4 5 3 6 7 1 2
R1
Cette solution indique qu’il y’a : R2
•une reine (R1) dans la ligne1, colonne4 ; R3
•une reine (R2) dans la ligne2, colonne5 ; R4
R5
•une reine (R3) dans la ligne3, colonne3 ; R6
R7

Cette configuration a un total de 4 collisions : (R1,R2); (R4,R5); (R6,R7);


(R2,R6)

La fonction f = somme(collisions)=4

Ingénieur EST/2021 - 2022


INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES
Application de la méthode tabou: problème de reine (suite)
Itération 1 :
Initiale 4 5 3 6 7 1 2

Appliquer le critère d’aspiration : l’échange de position des reines (R1,R7)


est le meilleur mouvement.
2 5 3 6 7 1 4

Cette configuration a un total de 2 collisions :


•(R4,R5) R1
•(R2,R6) R2
R3
R4
La liste Tabou contient : { (R1,R7) } R5
R6
La fonction f = somme(collisions)=2 R7

Ingénieur EST/2021 - 2022


INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES
Application de la méthode tabou: problème de reine (suite)
Itération 2 :
Appliquer le critère d’aspiration : l’échange de position des
reines (R2,R4) est le meilleur mouvement
2 6 3 5 7 1 4

R1
R2
R3
R4
R5
R6
R7

Cette configuration a un total de 1 collision : (R1,R4)


La liste Tabou contient : { (R1,R7), (R2,R4) }
La fonction f = somme(collisions)=1
INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES
Application de la méthode tabou: problème de reine (suite)
Itération 3 :
Appliquer le critère d’aspiration : l’échange de position des reines
(R1,R3) est le meilleur mouvement.
3 6 2 5 7 1 4 R1
R2
R3
R4
R5
R6
R7
Cette configuration a un total de 1 collision :(R1,R5)
La liste Tabou contient : { (R1,R7), (R2,R4), (R1,R3) }
La fonction f = somme(collisions)=1
Ingénieur EST/2021 - 2022
INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES
Application de la méthode tabou: problème de reine (suite)
Itération 4 :
Appliquer le critère d’aspiration : l’échange de position des
reines (R5,R7) est le meilleur mouvement.
3 6 2 5 4 1 7
R1
Cette configuration a un R2
total de 2 collisions : R3
 (R3,R5) R4
 (R4,R5) R5
R6
R7
La liste Tabou contient : { (R1,R7), (R2,R4), (R1,R3) (R5,R7) }
La fonction f = somme(collisions)=2
Ingénieur EST/2021 - 2022
INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES
Application de la méthode tabou: problème de reine (suite)
Itération 5 :
Appliquer le critère d’aspiration : l’échange de position
des reines (R4,R7) est le meilleur mouvement.

3 6 2 7 4 1 5

Cette configuration a un total de R1


1 collision : R2
 (R3,R5) R3
La liste Tabou contient : { (R1,R7), R4
(R2,R4),(R1,R3), (R5,R7), (R4,R7) R5
} R6
R7

La fonction f = somme(collisions)=1
Ingénieur EST/2021 - 2022
INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES
Application de la méthode tabou: problème de reine (suite)
Itération 6 :
Appliquer le critère d’aspiration : l’échange de position des
reines (R1,R3) est le meilleur mouvement.
2 6 3 7 4 1 5
R1
Cette configuration n’admet
R2
aucune collision
R3
La fonction f atteint donc
R4
son minimum
R5
R6
R7

Ingénieur EST/2021 - 2022


INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES

En résumé
 La recherche Tabou peut être considérer comme une
généralisation des méthodes d’améliorations locales
traditionnelles.

 L’application de recherche Tabou sur n’importe quel type de


problèmes ne garantie pas son succès.

 Le plus important est de savoir comment adapter la recherche


Tabou au problème posé, et ceci en ajustant de façon adéquate ses
différents composants (restriction Tabou, critère d’aspiration,…).

Ingénieur EST/2021 - 2022


INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES

B. La méthode de recuit simulé


 La méthode de recuit simulé est la première métaheuristique qui a
été proposée.

102
 Elle a été réalisée par Metropolis et al. (1953) pour simuler
l'évolution d’un processus de recuit physique (Metropolis53).

 Elle a été mise au point par trois chercheurs de la société IBM,


Kirkpatrick, C.D. Gelatt et M.P. Vecchi en 1983 au Etats-Unis, et
indépendamment par V. Černy en 1985 en Slovaquie.

 L’utilisation pour la résolution des problèmes d'optimisation


combinatoire est beaucoup plus récente.
Ingénieur EST/2021 - 2022
INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES

 La méthode du recuit simulé (simulated annealing) s'inspire du processus


du recuit physique. Ce processus utilisé en métallurgie pour améliorer la
qualité d'un solide cherche un état d'énergie minimale qui correspond à
une structure stable du solide.

 En partant d'une haute température à laquelle le solide est devenu liquide,


la phase de refroidissement conduit la matière liquide à retrouver sa forme
solide par une diminution progressive de la température. Chaque
température est maintenue jusqu'à ce que la matière trouve un équilibre
thermodynamique.
103 Quand la température tend vers zéro, seules les
transitions d'un état à un état d'énergie plus faible sont possibles.

Ingénieur EST/2021 - 2022


INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES

PRINCIPE DU RECUIT SIMULÉ

 Explorer l’espace d’état de manière aléatoire afin d’éviter les


minimums locaux.

104
 Diminuer progressivement la température T(n) pour stabiliser
l’algorithme sur un minimum global.

 Si le refroidissement est trop rapide, il y a un risque de rester


bloqué dans un minimum local (configuration sous-optimale).

Ingénieur EST/2021 - 2022


INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES

L’algorithme de Metropolis:

Dans l'algorithme de Metropolis, on part d'une configuration donnée,


et on lui fait subir une modification aléatoire. Si cette modification fait
diminuer la fonction objectif (ou énergie du système), elle est
directement acceptée ; Sinon, elle n’est acceptée qu’avec une
probabilité égale à , cette règle est appelé critère de
Metropolis.105

Ingénieur EST/2021 - 2022


INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES

L’ALGORITHME DU RECUIT SIMULÉ


Le recuit simulé applique itérativement l’algorithme de Metropolis,
pour engendrer une séquence de configurations qui tendent vers
l'équilibre thermodynamique :

1. Choisir une température de départ T et une solution initiale s = s0;

2. Générer une solution aléatoire dans le voisinage de la solution


actuelle. s0→s’, s’ є V(s);

3. On calcule
106
la variation de coût ∆ƒ = ƒ(s’) – ƒ(s0) ;

4. Si ∆ƒ ≤ 0, le coût diminue et on effectue la transformation


améliorante s0 := s’;
Ingénieur EST/2021 - 2022
INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES

L’ALGORITHME DU RECUIT SIMULÉ (SUITE)


5. Si ∆ƒ>0, le coût remonte. On calcule une probabilité d’acceptation
a = e -∆ƒ/T , puis on tire au sort p dans [0,1] .

o Si p ≤ a , la transformation est déclarée acceptée, bien


qu’elle dégrade le coût, et on fait s0 := s’ .

o Sinon, la transformation est rejetée : on garde s0 pour


l’itération suivante.
107
6. répéter 2 et 3 jusqu'a ce que l'équilibre statistique soit atteint ;

7. décroitre la température et répéter jusqu'a ce que le système soit


gelé. Ingénieur EST/2021 - 2022
INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES

Etat Initial de l’Algorithme Paramètre de température

La solution initiale peut être  Le paramètre T est un réel positif.


prise au hasard dans l'espace  La température (T) permet de contrôler
des solutions possibles. à l’acceptation des dégradations :

108
cette solution correspond une
 Si T est grand, les dégradations sont
énergie initiale E=E0. Cette
acceptées avec une probabilité plus grande.
énergie est calculée en
 A la limite, quand T tend vers l’infini, tout
fonction du critère que l'on
voisin est systématiquement accepté.
cherche à optimiser. Une
 Inversement, pour T=0, une dégradation
température initiale T=T0
n’est jamais acceptée.
élevée est également choisie.
 La température varie au cours de la recherche :
T est élevée au début, puis diminue et finit par
Ingénieur EST/2021 - 2022
INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES

APPLICATION DE L’ALGORITIHME
La méthode du Recuit Simulé permis de résoudre des problèmes très complexes du
type « voyageur de commerce » où les méthodes déterministes sont rapidement
piégées dans des minimums locaux. Le but est alors de trouver le circuit hamiltonien
de coût minimal dans un graphe. L’énergie représentera la distance totale à parcourir,
et un état du système représentera le chemin entre les villes.

L’algorithme va donc tenter de minimiser la longueur totale du chemin, en modifiant


l’ordre des villes à parcourir.

Soit le graphe suivant représentant un


109
ensemble de villes:

Figure 1: Un ensemble de villes (nœuds) reliés


entre eux par des routes (arcs).
Ingénieur EST/2021 - 2022
INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES

 La solution la plus simple est de parcourir les villes dans l’ordre :

Longueur Totale=26
Figure 2: Une première solution (parcours suivant l'ordre des villes).

110
Longueur Totale=21
Figure 3: résultat obtenu: on a déplacé un sommet vers son plus proche voisin.

Longueur Totale=22
Figure 4: Le résultat obtenu en échangeant les sommets 2 et 3.

Ingénieur EST/2021 - 2022


INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES

 Dans la Figure 4. la distance totale a augmenté. Pour une heuristique classique


cette solution est rejetée car la distance doit être minimisée, mais le recuit simulé
l’accepte si la température est encore élevée, et cette solution qui est « mauvaise
» par rapport à la première va lui permettre de trouver une solution meilleure :

111
Longueur totale=18
Figure 5: Le résultat obtenu en échangeant les sommets 5 et 2.

 En résumé : Le recuit simulé, en acceptant une mauvaise solution,


à réussi à échapper au minimum local et à obtenir une solution
meilleure.
Ingénieur EST/2021 - 2022
INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES

Domaine d’application

 L’optimisation combinatoire (ordonnancement).


 la CAO (conception de circuits, placement de composants).

112
 Le traitement d'images (restitution d’images brouillées).

 Le routage des paquets dans les réseaux.

 Le problème du voyageur de commerce.

 le problème du sac à dos.

Ingénieur EST/2021 - 2022


INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES

Avantages Inconvénients

o Très coûteuse en temps de calcul.

113
o Facile à implémenter. o La difficulté de déterminer la
o Donne généralement de température initiale.
bonnes solutions par o Non-convergence vers l'optimum
rapport aux algorithmes peut se rencontrer assez vite.
de recherche classiques. o L'impossibilité de savoir si la
o Peut être utilisé dans la solution trouvée est optimale.
plupart des problèmes o Dégradation des performances
d'optimisation. pour les problèmes où il y a peu
de minimums locaux .
Ingénieur EST/2021 - 2022
INTRODUCTION AUX HEURISTIQUES ET METAHEURISTIQUES

EN RÉSUMÉ
 Nous avons vu que les heuristiques classiques n'étaient pas très
satisfaisantes pour résoudre les problèmes d’optimisation, car les
solutions générées n’étaient pas de bonne qualité.

 L’intelligence artificielle s’est donc tournée vers la nature pour


créer de nouvelles méthodes: plus générales et plus efficaces.

 On peut
114 dire que le recuit simulé est une bonne méthode pour

trouver des solutions acceptables à certains problèmes NP


complets, en particulier le problème du voyageur de commerce.
Ingénieur EST/2021 - 2022

Vous aimerez peut-être aussi