Vous êtes sur la page 1sur 52

Métaheuristique

Algorithmes génétiques et
Applications
Présenté par: Devant les jury :
Aboudihaj Rihab Mr. NAMIR Abdelwahed
Anouar Abderrazak Mme. SAFEH Nisrine
Badi Zakaria Mr. AITDAOUD Mohamed
Kardi Hanane Mr. AITMOUDDEN Othmane
Khaleq Mounir
Zahid Achraf

Année universitaire : 2022-2023


Contexte
Introduction Méthodes d’optimisation
01 Présentation générale du sujet 02 Présentation des métaheuristiques

Résolution du problème Exemples d’applications


03 Voyageur de Commerce 04 d’algorithmes génétiques

Algorithme génétique Limitations et


05 avec Python 06 perspectives

2
01 INTRODUCTION
Les algorithmes génétiques sont des méthodes de recherche
opérationnelle qui visent à trouver une solution optimale à un problème
complexe en imitant le processus de sélection naturelle.

3
Problématique
un problème d'optimisation connu sous le nom de
"Voyageur de Commerce" (TSP : Travelling salesman
problem).

4
Principe de TSP

Si un voyageur part du point A et que


les distances entre toutes les villes sont
connues, quel est le plus court chemin pour
visiter tous les points et revenir au point A ?

5
Étude de cas

Revenir a le cas de Minimiser la Passer au moins


départ distance totale une seule fois par
parcourue. chaque arrête (rue)

6
L'application dans la vie réelle

problèmes de
problèmes de
logistique
transport

problèmes de problèmes de
personnes marchandises

7
02
Présentation des
méthodes
d’optimisation
8
Qu’est ce que
l’optimisation?
Quel est son Objectif et pourquoi elle est importante ?

9
L’objectif de l’optimsation :
• L'optimisation consiste à trouver la
meilleure solution possible en explorant un
espace de recherche complexe.

• Son objectif principal est d'améliorer


l’efficacité, la rentabilité ou toute autre
mesure de qualité en trouvant une solution
qui optimise une fonction spécifique.

10
L’importance de l’optimisation :

L’optimisation permet de :

• D'améliorer l'efficacité des processus en trouvant


des solutions plus efficaces

• Résoudre des problèmes complexes


• Prendre en compte de multiples contraintes,
objectifs et variables

11
Méthodes d’optimisation :
Méthodes d’optimisation

Méthodes Exactes Méthodes Approchés

Méta-heuristiques Heuristiques

à solution unique à population de solutions

12
Méthodes d’optimisation : Les Métaheuristiques

Définition des méta-heuristiques:

Les méta-heuristiques sont des méthodes d'optimisation


puissantes et flexibles qui permettent de rechercher des
solutions de manière intelligente dans des espaces de
recherche vastes et complexes.

13
Méthodes d’optimisation : Les Métaheuristiques

Le rôle des méta-heuristiques:

• Sont utilisées lorsque les approches exactes sont inefficaces.

• Fournissent des outils efficaces pour résoudre des


problèmes d'optimisation complexes.

• Trouver des solutions de qualité, en s'appuyant sur des


principes inspirés de phénomènes naturels.

14
Méthodes d’optimisation : Les Métaheuristiques
Les méta-heuristiques sont basées sur deux approches :

Approche à trajectoire Approche à population

15
Méthodes d’optimisation : Les Métaheuristiques

Approche à trajectoire :

• Les métaheuristiques à trajectoire fonctionnent


en démarrant à partir d'une solution initiale et
en effectuant des mouvements itératifs dans l
l'espace de recherche pour améliorer la
solution à chaque étape.

• Exemple : Recuit simulé, Recherche Tabou

16
Méthodes d’optimisation : Les Métaheuristiques

Approche à Population:

• Les métaheuristiques à population désigne les


algorithmes qui maintiennent et améliorent
plusieurs solutions candidates au même temps.

• Exemple : Algorithmes génétiques (AG),


Algorithmes de fourmis (ACO)…

17
Le principe des algorithmes génétiques:

Une approche Il utilise des concepts tels Il trouve des solutions de


d’optimisation basée sur que les générations, les qualité dans un large
l’évolution biologique chromosomes, et les espace de recherche
opérations de mutation et
de croisment

18
03
Résolution du problème
Voyageur de Commerce

19
Résolution du problème de voyageur de
commerce : TSP

La résolution du problème de voyageur de commerce


TSP (Traveling Salesman Problem) en utilisant
l’algorithmes génétique.

20
La modelisation du probleme du TSP :
Le problème du voyageur de commerce peut être modéliser a l’aide :

Un graph complet pondère Une matrice du poids

21
Pour résoudre ce problème, nous suivrons les principes de l’Algorithme Génétique suivant les étapes du
schéma ci-dessous :

Représentation des solutions


Solution finale

Définition de la population
oui

Evaluation des indeividus Croisement & Prochaine génération


sélection
mutation

non
22
Représentation de la solution💡
Pour le problème auquel nous faisons face, il convient de faire un représentation
de la solution.

• Notre objectif : l'inconnue est le chemin minimal : Une liste dans un certain ordre contenant tous les
sommets: x
• Structuration du chromosome: comment représenter les informations du problème?
• Initialisation: choisir le nombre d'individus dans la populations initiale N
• Fonction d'évaluation ou fitness: selon le contexte du problème f(x)
• L'opérateur de sélection: probabilité que l'individu i soit sélectionné: on peut le définir sélection:

23
1. Définition de la population 👥👥👥
Initialisation:

Choisir aléatoirement une population: (1)

• construire un nombre important d'individus,


(2)
• Chaque individu correspondant à une solution.
• Une solution est une liste dans un certain ordre (3)

contenant tous les sommets.


(4)
• Première génération: choix aléatoire N=5, codage réel
(codage direct): (5)

24
2. Évaluation : calcul de la valeur du fitness

Evaluation:
On évalue chaque individu en calculant la valeur de sa fonction objectif, c.-à-d. la
longueur du cycle parcouru par le voyageur de commerce :

• Individu Evaluation 
• 1 2 3 4 5 --------- f(11)=7+2+5+4= 18
• 5 1 3 2 4 ----------- f(12)=3+6+2+4=15
• 4 1 5 3 2 ---------- f(13)=8+3+6+2=17
• 2 1 3 5 4 ------------ f(14)=7+6+6+4=23
• 2 3 1 5 4 ‒‒‒‒‒‒‒‒ f(15)=2+6+3+4=15

25
3. Sélection 🎲
Sélection par rang:
• Cette technique de sélection choisit toujours les individus possédant
les meilleurs scores d'adaptation, le hasard n'entre donc pas dans ce 12 (15)

mode de sélection. En fait, si N individus constituent la population, la


sélection appliquée consiste à conserver les meilleurs individus (au
13 (17)
sens de la fonction d'évaluation).

15 (15)

26
4. Croisement :
Croisement : Si la probabilité de croisement est inférieur à l'opérateur de croisement, faire la mutation sinon
non

Parent 1 Parent 2

replacer 5 par 4 )

27
6. Mutation :
• Un procédé de mutation est utilisé pour diversifier les solution au fur et à mesure des générations.
• La mutation est importante pour éviter de tomber dans le problème de l'optimum local, c'est-à-dire évité de
rester «coincé » autour d'une solution pas forcément optimale.

insertion

28
6. Mutation :
• Swap

swap

• Reversion
Reversion

29
Résumé :

• Génération initiale : Dimensionnement N=5,


• Fonction d'évaluation: minimisation de la distance du chemin parcouru.
• Dimensionnement :nombre d'individus sélectionnés: N=3
• Operateur de croisement: prendre les 2 gènes de partier du 1 gènes selon
la probabilité Pc=0.8.
• Opérateur de mutation: muter le 3 gène selon la probabilité Pm=0.001
• Test d'arrêt nombre de générations = 50.

30
04
Exemples d’applications
d’algorithmes génétiques

31
Applications de l’algorithme génétique dans différents domaines

Optimisation de la Conception de circuits Apprentissage


planification électroniques automatique

Finance et investissement Jeux et intelligence


artificielle
32
Optimisation de la planification :

L'algorithme génétique peut être utilisé pour


optimiser la planification de projets, l'affectation
des ressources, la logistique et les itinéraires. Il
peut trouver des solutions efficaces en termes de
coûts, de temps et de ressources.

33
Conception de circuits éléctroniques :

L'algorithme génétique peut être appliqué à la conception


et l'optimisation de circuits électroniques, en trouvant des
configurations optimales de composants pour atteindre des
performances spécifiques, comme la vitesse de traitement
ou la consommation d'énergie

34
Apprentissage automatique :

L'algorithme génétique peut être utilisé pour


l'optimisation des paramètres des modèles
d'apprentissage automatique, tels que les
réseaux de neurones, afin d'améliorer leurs
performances prédictives.

35
Finance et investissement :

L'algorithme génétique peut être utilisé pour l'optimisation


de portefeuilles d'investissement en trouvant des
combinaisons optimales d'actifs financiers pour maximiser
les rendements tout en minimisant les risques.

36
Jeux et intelligence artificielle :

L'algorithme génétique peut être utilisé pour


l'apprentissage automatique dans les jeux, la
génération de stratégies optimales et l'évolution de
comportements intelligents pour les agents virtuels.

37
05
Algorithme
génétique avec
Python
38
Définition des paramètres d’algorithme:

39
Les fonctions utilisées dans l’algorithme :

40
Les fonctions utilisées dans l’algorithme :

41
Les fonctions utilisées dans l’algorithme :

42
Les fonctions utilisées dans l’algorithme :

43
Les fonctions utilisées dans l’algorithme :

44
Les fonctions utilisées dans l’algorithme :

45
Les fonctions utilisées dans l’algorithme :

46
Résultats:

47
06
Limitations et
perspectives

48
LES LIMITATIONS

La convergence Sensibilité aux Temps de


prématurée paramètres calcul élevé

49
Les Améliorations possibles et
développements futurs

Méthodes de sélection Parallélisation et


plus avancées techniques
distribuées

Utilisation de
l'apprentissage
automatique 50
Conclusion

51
Merci pour votre
attention !

Vous aimerez peut-être aussi