35 0 2MB
ALGORITHMES GENETIQUES Encadré par : Mme Lebbar
PLAN DE PRESENTATION :
01
Historique et principes des AG
02
Notions de base et opérateurs d’évolution
03
Algorithme
04
05
06
Cas pratiques d’utilisation
Avantages et inconvénients
Conclusion
2
Introduction
Introduction Les algorithmes génétiques appartiennent à la famille des algorithmes évolutionnistes // évolutionnaires. Leur but est d'obtenir une approximation de la solution à un problème NP-complet par un mécanisme d'optimisation. Ils utilisent la notion de sélection naturelle développée au XIXe siècle par Darwin et l'appliquent à une population de solutions potentielles au problème donné.
Pourquoi avons-nous besoin des algorithmes génétiques? Complexité Problème trop complexes pour que l'on puisse proposer un algorithme
Tolérance aux variations Ce sont des algorithmes tolérants aux
Solution inconnue
variations de données, susceptibles de
Il n'y a aucune méthode exacte pour
s'adapter à une nouvelle situation, pour
résoudre le problème , ou on a une
qu'ils évoluent. Par exemple le déplacement d'un robot
modélisation délicate et/ou confuse où la solution au problème est inconnue
5
Historique et Principes des AG
Histoire
Charles Darwin publie son livre
1860
Intitulé L'origine des espèces au moyen de la sélection naturelle ou la lutte pour l'existence dans la nature et expose sa théorie de l'évolution des espèces
1975
John Holland Introduit le premier modèle formel des algorithmes génétiques dans son livre
Modèle repris par Goldberg
1989
Adaptation in Natural and Artificial Systems
Publiera un ouvrage de vulgarisation des algorithmes génétiques ce qui contribuera à la popularisation de ces derniers
7
Origine et principes des algorithmes génétiques
Le principe de variation Chaque individu au sein d’une population est unique. Ces différences, plus ou moins importantes, vont être décisives dans le processus de sélection.
Blog de Burak Kanber, ingénieur ayant fait des travaux sur le Machine Learning Travaux sur les optimisations et algorithmes génétiques
8
Origine et principes des AG
Le principe d'adaptation Les individus les plus adaptés à leur environnement atteignent plus facilement l'âge adulte. Ceux ayant une meilleure capacité de survie pourront donc se reproduire davantage.
Blog de Burak Kanber, ingénieur ayant fait des travaux sur le Machine Learning Travaux sur les optimisations et algorithmes génétiques
9
Origine et principes des AG
Le principe d’hérédité Les caractéristiques des individus doivent être héréditaires pour pouvoir être transmises à leur descendance. Ce mécanisme permettra de faire évoluer l’espèce pour partager les caractéristiques avantageuse à sa survie.
Blog de Burak Kanber, ingénieur ayant fait des travaux sur le Machine Learning Travaux sur les optimisations et algorithmes génétiques
10
Domaines d’utilisation Finance Prédiction de l'évolution d'une action.
Robotique Comportement intuitif et apprentissage.
Planning Obtenir le meilleur planning en fonction de dispositions.
Plan de table
Data Mining
Effectuer la meilleure disposition de
Création et utilisation de règles pour
table en fonction des affinités de
obtenir de nouvelles informations.
chacun. Blog de Burak Kanber, ingénieur ayant fait des travaux sur le Machine Learning Travaux sur les optimisations et algorithmes génétiques
11
Notions de base et opérateurs d’évolution
Notions de base: Fitness: La fonction objectif qui mesure l’adaptation de l’individu à son environnement local
Population
Individu
est l’ensemble des solutions envisageables. Chromosome
représente une solution. Il a deux représentations appelées phénotype et génotype. • Le phénotype :représente une solution potentielle du problème à optimiser en utilisant la formulation originale du problème. • Le génotype: donne une représentation codée d’une solution potentielle sous la forme d’un chromosome.
Source:Tarek Chaari. Un algorithme génétique pour l’ordonnancement robuste: application au problème du flow shop hybride. Automatique / Robotique. Université de Valenciennes et du Hainaut-Cambresis, 2010.
Gènes
13
Notions de base: est une représentation ou un codage d’une solution du problème donné.
Population
Individu
est une caractéristique, une particularité, qui peut prendre plusieurs valeurs, appelées "allèles". Xi
Chromosome
Source:Tarek Chaari. Un algorithme génétique pour l’ordonnancement robuste: application au problème du flow shop hybride. Automatique / Robotique. Université de Valenciennes et du Hainaut-Cambresis, 2010.
Gènes
14
Notions de base: Une première population est choisie soit aléatoirement, soit par des heuristiques ou par des méthodes spécifiques au problème, soit encore par mélange de solutions aléatoires et heuristiques. Cette population doit être suffisamment diversifiée pour que l’algorithme ne reste pas bloqué dans un optimum local. C’est ce qui se produit lorsque trop d’individus sont semblables. Les algorithmes génétiques génèrent de nouveaux individus, de telle sorte qu’ils soient plus performants que leurs prédécesseurs. Le processus d’amélioration des individus s’effectue par utilisation d’opérateurs génétiques, qui sont la sélection, le croisement et la mutation.
Codage des solutions La première particularité des AG réside dans le fait qu'ils n'agissent pas directement sur l'espace des solutions : les solutions sont codées. Le codage permet de représenté l’individu sous la forme d’un chromosome. Ce chromosome est constitué de gènes qui prennent des valeurs dans un alphabet binaire ou non, ça dépend du choix du codage qui est délicat. Il doit permettre de coder toutes les solutions et permettre la mise en œuvre des opérateurs de reproduction. C’est ainsi que le bon déroulement des algorithmes génétiques sera assuré. Plusieurs type de codages sont utilisés, on citera à titre d'exemple: Codage binaire X : {00000 11111} // Codage réel
: X { 1 4 5 2 …}
Source: Terki Amel. Analyse des performances des algorithmes génétiques utilisant différentes techniques d’évolution de la population. Universite Mentouri, 2006.
16
Notations Pb Optimisation combinatoire : vecteur des variables de décision S : l’ensemble des solution réalisables qui respectent les contraintes Min f( )
S
f : capacités d’adaptation des individus The Power of PowerPoint | thepopp.com
17
Codage des solutions
Chromosome A 1
0
0
Codage binaire 0
1
0
1
1 • Les AG utilisent généralement la représentation binaire;
Chromosome B 0
0
1
• Dans le codage binaire le gène est codé par un caractère binaire, 0
0
1
1
1
0
ou 1; • Un des avantages du codage binaire est que l’on peut ainsi facilement coder toutes sortes d’objets : des réels, des entiers, des valeurs booléennes, des chaînes de caractères
Source: Terki Amel. Analyse des performances des algorithmes génétiques utilisant différentes techniques d’évolution de la population. Universite Mentouri, 2006.
18
Codage des solutions
Codage réel • Dans ce codage le chromosome est un vecteur réel et l’espace de recherche est un sous-ensemble de IR • Très utilisée dans les problèmes d’optimisation car dans de nombreuses applications du monde réel, ces problèmes sont naturellement formulés sous forme paramétrique.
Source: Terki Amel. Analyse des performances des algorithmes génétiques utilisant différentes techniques d’évolution de la population. Universite Mentouri, 2006.
19
Codage binaire vs Codage réel Historiquement, le codage utilisé par les algorithmes génétiques était le codage binaire. C’est en utilisant ce type de codage que les premiers résultats de convergence théorique ont été obtenus. Cependant, ce type de codage n’est pas toujours bon. Pour des problèmes d’optimisation dans des espaces de grande dimension, le codage binaire peut rapidement devenir mauvais. Généralement, chaque variable est représentée par une partie de la chaîne de bits et la structure du problème n’est pas bien reflétée, l’ordre des variables ayant une importance dans la structure du chromosome, alors qu’il n’en a pas forcément dans la structure du problème. Les algorithmes génétiques utilisant des vecteurs réels évitent ce problème en conservant les variables du problème dans le codage de l’élément de population, sans passer par le codage binaire intermédiaire.
Les codages réels sont désormais largement utilisés, notamment dans les domaines applicatifs, pour l’optimisation de
.
problèmes à variables continues
Source: Nicolas Durand. Algorithmes Génétiques et autres méthodes d’optimisation appliqués à la gestion de trafic aérien. Optimisation et contrôle. INPT, 2004.
20
Sélection
Sélection par rang Une sélection est opérée pour déterminer quels individus sont plus enclins à obtenir les meilleurs résultats.
Sélection par roulette
Sélection par tournoi
Sélection aléatoire
21
Sélection par rang
Cette méthode consiste à ranger les individus de la population dans un ordre croissant ou décroissant, selon l’objectif (fonction fitness) On prélève ensuite la nouvelle population à partir d’ensemble d’individus ordonnés en utilisant des probabilités indexées sur les rangs des individus.
La probabilité de sélection =
Source: Terki Amel. Analyse des performances des algorithmes génétiques utilisant différentes techniques d’évolution de la population. Universite Mentouri, 2006.
22
Sélection par roulette La Sélection par roulette consiste à attribuer à chaque individu une probabilité de survie proportionnelle à son adaptation dans la population. Lors de la phase de sélection, les individus sont sélectionnés aléatoirement en respectant les probabilités Probi associées pour former la population de la nouvelle génération.
Cette méthode consiste à dupliquer chaque individu de la population proportionnellement à son milieu. Ainsi, les individus ayant la plus grande valeur de fitness Fi auront plus de chance d'être choisis.
Source: Terki Amel. Analyse des performances des algorithmes génétiques utilisant différentes techniques d’évolution de la population. Universite Mentouri, 2006.
23
Sélection par roulette (suite)
En utilisant cette probabilité de reproduction, on crée une roue de loterie biaisée. Chaque individu de la population occupe une section de la roue proportionnellement à son adaptation et qui indique Exemple de sélection par roulette
aléatoirement quel individu peut se reproduire.
Source: Terki Amel. Analyse des performances des algorithmes génétiques utilisant différentes techniques d’évolution de la population. Universite Mentouri, 2006.
24
Sélection par tournoi Le principe de cette méthode consiste à choisir une sous population, de taille M fixée à priori par l’utilisateur, aléatoirement. L’individu de meilleure qualité par rapport à la sous population sera sélectionné pour l’application de l’opérateur de croisement. En effet c’est une compétition entre les individus d’une sous population de taille M (M≤N). Cette méthode donne plus de chance aux individus de mauvaise qualité de participer à l’amélioration de la qualité de la population.
Source: Jean-Marc Alliot, Nicolas Durand. Algorithmes génétiques.
Le paramètre M joue un rôle important dans la méthode du tournoi. Dans le cas où M=N avec N qui est la taille de la population, le résultat par la sélection de tournoi donne à chaque fois un seul individu qui est le meilleur individu par rapport à la valeur de la fonction objectif, ce qui réduit l’algorithme génétique à un algorithme de recherche locale. Dans le cas où M=1, la sélection correspond à la sélection aléatoire. Source: Radhia Zaghdoud. Hybridation d’algorithme génétique pour les problèmes des véhicules intelligents autonomes : applications aux infrastructures portuaires de moyenne taille. Automatique. Ecole Centrale de Lille, 2015.
25
Sélection aléatoire
Cette sélection se fait aléatoirement, uniformément et sans intervention de la valeur d’adaptation. Chaque individu a donc une probabilité uniforme 1/Psize d’être sélectionné, où Psize est le nombre total d’individus dans la population.
Voici un exemple avec des individus en représentation binaire une fois la sélection effectuée :
Source: Tarek Chaari. Un algorithme génétique pour l’ordonnancement robuste: application au problème du flow shop hybride. Automatique / Robotique. Université de Valenciennes et du Hainaut-Cambresis, 2010. Français.
26
Le croisement (crossover):
Le croisement est un opérateur de recombinaison permettant d’enrichir la population en manipulant les composantes des chromosomes. Un croisement est envisagé avec deux parents et génère un ou deux enfants. Il est appliqué avec une probabilité Pcross, appelée probabilité de croisement. Après la sélection de deux individus, nous générons un nombre aléatoire α
[0, 1]. Si α ≤ Pcross, nous appliquons l’opérateur de croisement sur les deux parents.
Source:Tarek Chaari. Un algorithme génétique pour l’ordonnancement robuste: application au problème du flow shop hybride. Automatique / Robotique. Université de Valenciennes et du Hainaut-Cambresis, 2010.
27
Le croisement:
Croisement en 1-point : Si le chromosome est une chaîne binaire de longueur n. Le croisement à un point place un point de croisement au hasard. Un enfant prend une section avant le point de croisement d’un parent et prend l’autre section après le point de croisement de l’autre parent puis recombine les deux sections en maintenant l’ordre des gènes, pour former une nouvelle chaîne binaire. Et inversement pour l’enfant2.
Source: MÉTAHEURISTIQUES POUR L’OPTIMISATION DIFFICILE
28
Le croisement:
Croisement en 2-points : Ce type de croisement est utilisé en choisissant aléatoirement 2 points de coupure pour dissocier chaque parent en 3 fragments. Les 2 fragments en extrémités pour le Parent1 (respectivement Parent2 ) sont copiés à l’Enfant1 (respectivement Enfant2 ). On complète la partie restante de l’Enfant1 par les éléments du Parent2 et la partie restante de l’Enfant2 par les éléments du Parent1 en balayant de gauche à droite et en ne reprenant que les éléments non encore transmis Source:Tarek Chaari. Un algorithme génétique pour l’ordonnancement robuste: application au problème du flow shop hybride. Automatique / Robotique. Université de Valenciennes et du Hainaut-Cambresis, 2010.
29
Le croisement:
Parent 1
Croisement uniforme : Enfant
Il consiste à choisir avec la même probabilité un allèle de l’un ou de l’autre parent, pour transmettre sa valeur à la même position, aux enfants. Parent 2 Source:MÉTAHEURISTIQUES POUR L’OPTIMISATION DIFFICILE
30
Remarque Plus le nombre de points de croisements sera grand et plus la probabilité de croisement sera élevée plus il y aura d'échange de segments, donc d'échange de paramètres, d'information, et plus le nombre de points de croisements sera petit et plus la probabilité de croisement sera faible, moins le croisement apportera de diversité.
La mutation Conformément à la mutation naturelle, Cet opérateur permet de changer la valeur d’un chromosome dans le but d’améliorer les caractéristiques de l’individu. Il est utilisé avec une probabilité Pmut. Si β, généré aléatoirement, appartient à [0, Pmut], nous appliquons l’opérateur de mutation sur cet individu Il modifie donc de manière complètement aléatoire les caractéristiques d'une solution, ce qui permet d'introduire et de maintenir la diversité au sein de notre population de solutions. Cet opérateur joue le rôle d'un "élément perturbateur", il introduit du "bruit" au sein de la population.
ALGORITHMES GENETIQUES TE de fin d’année présenté par Souquet Amédée et Radet Francois-Gérard
32
Méthodes de mutation
Opérateur d’inversion simple
Opérateur d’échange réciproque
Cet opérateur consiste à choisir aléatoirement deux
C’est un opérateur qui permet de sélectionner deux
points de coupure et inverser les positions des gènes
gènes et de les changer.
situées au milieu
Tarek Chaari. Un algorithme génétique pour l’ordonnancement robuste: application au problème du flow shop hybride. Automatique / Robotique. Université de Valenciennes et du Hainaut-Cambresis, 2010. Français.
33
Méthodes de mutation Opérateur d’insertion : Cet opérateur consiste à sélectionner au hasard un gène et une position dans le chromosome à muter, puis à insérer le gène sélectionné dans la position choisie .
Tarek Chaari. Un algorithme génétique pour l’ordonnancement robuste: application au problème du flow shop hybride. Automatique / Robotique. Université de Valenciennes et du Hainaut-Cambresis, 2010. Français.
34
Avantages de la mutation Atteindre la propriété d'ergodicité
Garantir une diversité de la population
C’est la propriété garantissant que chaque
Ce qui est primordial pour les algorithmes
point de l'espace de recherche puisse être
génétiques
atteint et d’explorer efficacement l’espace de recherche.
Limiter les risques d'une convergence prématurée
Eviter le phénomène de dérive génétique
Dans le cas d'une convergence prématurée on
On parle de dérive génétique quand certains
se retrouve avec une population dont tous les
gènes favorisés par le hasard se répandent au
individus sont identiques mais ne sont que des
détriment des autres et sont ainsi présents au
optimums locaux. Tous les individus étant
même endroit sur tout les chromosomes
identiques, le croisement ne changera rien à la situation
ALGORITHMES GENETIQUES TE de fin d’année présenté par Souquet Amédée Radet Francois-Gérard
35
Algorithme :
Architecture générale d’un algorithme génétique Générer un ensemble de solutions initiales Aléatoire : génération 1
Insertion
Rare
Choix des chromosomes Individus : parents
Générer les chromosomes des enfants
Source: Radhia Zaghdoud. Hybridation d’algorithme génétique pour les problèmes des véhicules intelligents autonomes : applications aux infrastructures portuaires de moyenne taille. Automatique. Ecole Centrale de Lille, 2015.
37
Aperçu de l'algorithme génétique de base 1. [Start] Générer aléatoirement une population de n chromosomes; 2. [Fitness] Evaluer la fonction objectif ou fitness f(x) de chaque chromosome x dans la population; 3. [New population] Créer une nouvelle population en réitérant les mêmes étapes jusqu’à ce que la nouvelle population soit compléter [Selection] Sélectionner deux parents de la population selon leur fitness (the better fitness, the bigger chance to be selected) [Crossover] Avec une probabilité de croisement, on croise les parents pour former de nouveaux individus (enfants). Si aucun croisement n’est effectué, les nouveaux individus sont une exacte copie des parents [Mutation] Avec une probabilité de mutation, on altère aléatoirement les particularités d'un individu [Accepting] Insérer les nouveaux individus dans la nouvelle population 4. [Replace] Utiliser la nouvelle population pour une compilation ultérieure de l’algorithme 5. [Test] Si le critère d’arrêt est satisfait, stop, et retourner la meilleure solution dans la population actuel 6. [Loop] Aller à l’etape 2
Source: Marek Obitko. Genetic algorithms tutorials,1998.
38
Insertion Choisir les Psize individus à partir des Psize enfants déjà créés par les opérateurs de croisement et de mutation. Dans ce cas, les parents sont remplacés par les enfants mutés.
Choisir les Psize individus à partir des Psize parents de la population précédente et de Psize nouveaux enfants. A chaque itération, les individus ayant les meilleures fitness seront sélectionnés afin de créer des individus fils qui remplaceront les plus mauvais parents. Le reste survit et sera copié dans la nouvelle génération.
L’élitisme , consiste à copier quelques meilleurs individus dans la nouvelle population. L’objectif est d’éviter que les meilleurs individus soient perdus après les opérateurs de croisement et de mutation. Cette méthode permet de conserver, à une itération donnée, le meilleur individu trouvé dans toutes les populations générées antérieurement.
Source: Tarek Chaari. Un algorithme génétique pour l’ordonnancement robuste: application au problème du flow shop hybride. Automatique / Robotique. Université de Valenciennes et du Hainaut-Cambresis, 2010. Français.
39
La fin de l’algorithme
Condition d’arrêt Le test d’arrêt joue un rôle très important dans le jugement de la qualité des individus. Les critères d’arrêt sont de deux types : Arrêt après un nombre fixé a priori de générations ; Arrêt lorsque la population cesse d’évoluer ou n’évolue plus suffisamment.
Source: Tarek Chaari. Un algorithme génétique pour l’ordonnancement robuste: application au problème du flow shop hybride. Automatique / Robotique. Université de Valenciennes et du Hainaut-Cambresis, 2010. Français.
40
Cas pratiques d’utilisation Exemple de Goldberg (1989) Modélisation du PVC sous MATLAB Application industrielle
Exemple de Goldberg (1989)
Enoncé: Il consiste à trouver le maximum de la fonction f(x)=x sur l’intervalle [0, 31] où x est un entier. La première étape consiste à coder la fonction. Par exemple, nous utilisons un codage binaire de x, la séquence (chromo-some) contenant au maximum 5 bits. Ainsi, nous avons de même . x=2->{0,0,1,0} et x=31->{1,1,1,1,1} Nous recherchons donc le maximum d’une fonction de « fitness » dans un espace de 32 valeurs possibles de x Source:MÉTAHEURISTIQUES POUR L’OPTIMISATION DIFFICILE
42
Exemple de Goldberg (1989)
Tirage et évaluation de la population initiale: Numéro
Total
Séquence
Fitness
% du total
Nous fixons la taille de la population à N = 4.
1
00101
5
14,3
Nous tirons donc de façon aléatoire 4
2
10000
16
45,7
chromosomes sachant qu’un chromosome
3
00010
2
5,7
est composé de 5 bits et que chaque bit
4
01100
12
34,3
35
100
dispose d’une probabilité 1/2 d’avoir une valeur 0 ou 1.Le maximum, 16, est atteint par la deuxième séquence.
Source:MÉTAHEURISTIQUES POUR L’OPTIMISATION DIFFICILE
43
Exemple de Goldberg (1989)
La sélection: Numéro
Séquence
Une nouvelle population va être créée à partir de l’ancienne par le processus de sélection
1
10000
2
01100
3
00101
nouvelle population décrite dans le tableau
4
10000
suivant:
de la roue de loterie biaisée. Nous tournons cette roue 4 fois et nous obtenons au final la
Nouvelle population Source:MÉTAHEURISTIQUES POUR L’OPTIMISATION DIFFICILE
44
Exemple de Goldberg (1989)
Le croisement: Les parents sont sélectionnés au hasard. Nous tirons
Parents 1 I=3 100|00 001|01 10001 00100
Parents 2 I=2
aléatoirement un lieu de croisement (site ou locus)
01|100 10|000
lieu avec une probabilité Pcross. Le tableau suivant
01000 10100
dans la séquence. Le croisement s’opère alors à ce donne les conséquences de cet opérateur en supposant que les chromosomes 1 et 3, puis 2 et 4 sont appariés et qu’à chaque fois le croisement s’opère (par exemple avec Pcross = 1).
Source:MÉTAHEURISTIQUES POUR L’OPTIMISATION DIFFICILE
45
Exemple de Goldberg (1989)
La mutation: Tirage Ancien chromosome aléatoire
Dans cet exemple à codage binaire, la mutation
10001
00010
Nouve Nouveau au bit chromoso consiste à inverser un bit .Nous tirons ainsi pour me chaque bit un chiffre aléatoire entre 0 et 1 et si ce 1 10011
00100
00000
-
00100
s’opère. Le
01000
00000
-
01000
tableau 3, avec Pm = 0,05, met en évidence ce
10100
01000
chiffre est inférieur à Pm alors la mutation
1
11100
processus
Source:MÉTAHEURISTIQUES POUR L’OPTIMISATION DIFFICILE
46
Exemple de Goldberg (1989)
Retour à la phase d’évaluation: Numéro
Séquence Fitness
% du total
Le maximum est maintenant de 28 (séquence 4). Donc, nous sommes passés
1
10011
32,2
2
00100
6,8
sûr, nous devons recommencer la procédure
3
01000
13,5
à partir de l’étape de sélection jusqu’à ce
4
11100
47,5
Total
de 16 à 28 après une seule génération. Bien
que le maximum global, 31, soit obtenu, ou bien qu’un critère d’arrêt ait été satisfait
100 Source:MÉTAHEURISTIQUES POUR L’OPTIMISATION DIFFICILE
47
Problème du voyageur de commerce (PVC) C'est sous forme de jeu que William Rowan Hamilton a posé pour la première fois ce problème, dès 1859. Sous sa forme la plus classique, son énoncé est le suivant : « Un voyageur de commerce doit visiter une et une seule fois un nombre fini de villes et revenir à son point d’origine. Trouvez l’ordre de visite des villes qui minimise la distance totale parcourue par le voyageur »
Modélisation du PVC sous MATLAB Source: Shravan Kumar. Travelling Sales Man Problem MATLAB code.Youtube, 2016.
Source: Yifang Li, Yannick Kergosien et Jean-Charles Billaut. Le problème du voyageur de commerce. Université de Tours, 2008.
48
PVC Démarche suivie 1. On génère aléatoirement une population de 500 individus (séquence des villes parcouru). 2. On crée une boucle de génération c.-à-d. le nombre de fois que l’algorithme sera exécuté avant de trouver le résultat optimal. 3. Lors de chaque génération : On crée la matrice des distances ; On calcul le fitness « la longueur du cycle parcouru par le voyageur » ; On tri les résultats dans l’ordre croissant ; On augmente la population, on rajoutant de nouveaux individus grâce à l’opérateur de croisement ; On réévalue le fitness ; On sélectionne le meilleur résultat et on plot. : garde les 500 meilleurs On réitère
Source: Shravan Kumar. Travelling Sales Man Problem MATLAB code.Youtube, 2016.
49
Résolution du problème d’affectation des conteneurs aux Véhicules Autonomes Etude du problème d’affectation des tâches aux AIVs Le problème d'affectation des tâches aux AIVs dans un terminal à conteneurs est un problème complexe, il s’agit d’une combinaison de trois sous problèmes ; le problème de répartition des tâches, le problème de routage des véhicules et le problème d'ordonnancement des tâches. Chaque sous problème dépend de certains critères tels que ; l'infrastructure du port, en particulier le réseau routier, la limitation de charge électrique des véhicules à cause de leurs autonomies et la date d'arrivée et de départ du navire. Ces facteurs rendent le problème global multicritères. Radhia Zaghdoud. Hybridation d’algorithme génétique pour les problèmes des véhicules intelligents autonomes : applications
aux infrastructures portuaires de moyenne taille. Automatique. Ecole Centrale de Lille, 2015. Français.
50
Approche • Pour résoudre ce problème global, l'idée proposée consiste à étudier chaque sous problème sous forme d'un problème monocritère . • Le makespan de ce problème dépend de trois facteurs : la distance totale parcourue par tous les AIVs, la durée totale de travail pour chaque AIV et la date de traitement de chaque tâche. • Le problème global peut être assimilé à un problème d’ordonnancement des tâches à des machines. Une tâche est représenté l’opération de déplacer un conteneur de sa position initiale vers sa position finale et le véhicule joue le rôle d’une machine • Il peut être aussi assimilé à un problème de tournée de véhicules VRP dont chaque véhicule doit faire un nombre des allez et retour d’un dépôt de chargement vers un dépôt de déchargement et inversement, ce qui peut représenter une tournée. L’ensemble des taches des véhicules sera un ensemble de tournées (VRP)
Radhia Zaghdoud. Hybridation d’algorithme génétique pour les problèmes des véhicules intelligents autonomes : applications aux infrastructures portuaires de moyenne taille. Automatique. Ecole Centrale de Lille, 2015. Français.
51
Le codage Une solution sera représentée par une liste d’éléments. Chaque élément est composé d'une tâche, d’un AIV affecté à cette tâche et du rang de la tâche dans la liste des tâches de l’AIV.
Ti est la tâche à exécuter, Aj est l’AIV qui va déplacer cette tâche et Rk est le rang de la tâche dans la liste des tâches de l'AIV Aj.
Radhia Zaghdoud. Hybridation d’algorithme génétique pour les problèmes des véhicules intelligents autonomes : applications aux infrastructures portuaires de moyenne taille. Automatique. Ecole Centrale de Lille, 2015. Français.
52
La sélection
• Les individus de la population initiale et les individus de croisement sont sélectionnés aléatoirement. • Ensuite, le descendant ayant une valeur de la fonction coût qui est meilleure que celles de ses parents, va remplacer l’un de ses parents. •
Également pour l’individu après mutation, il sera inséré dans la population si la valeur de sa fonction coût est meilleure que celle avant la mutation.
• Pour choisir les individus qui survivront, nous appliquons la méthode de sélection de la roulette grâce à la variété qu’elle peut assurer à la nouvelle population
Radhia Zaghdoud. Hybridation d’algorithme génétique pour les problèmes des véhicules intelligents autonomes : applications aux infrastructures portuaires de moyenne taille. Automatique. Ecole Centrale de Lille, 2015. Français.
53
Le croisement Le croisement doit se faire entre deux individus. Opérateurs de croisement adaptés au problème : génèrent des enfants qui représentent des X S L'opération consiste à modifier la répartition des tâches entre les AIVs afin de trouver des descendants ayant une valeur de la fonction coût meilleure que celles de leurs parents. Par exemple on a deux individus, le parent P1 et le parent P2 présentant l’affectation de 3 tâches sur 2 AIVs. Nous choisissons le croisement à point.
Radhia Zaghdoud. Hybridation d’algorithme génétique pour les problèmes des véhicules intelligents autonomes : applications aux infrastructures portuaires de moyenne taille. Automatique. Ecole Centrale de Lille, 2015. Français.
54
La correction du croisement
• En étudiant les représentations des deux descendants de cette opération de croisement, on remarque des anomalies de formation, ce qui nécessite une opération de correction. Pour le descendant D1, la tâche T1 se répète deux fois par contre la tâche T2 n’existe pas. Pour le descendant D2, la tâche T2 se répète deux fois mais la tâche T1 est absente. Ensuite, il faut corriger l’ordre de chaque tâche. • C'est donc une opération qui consiste à vérifier si, une tâche n'est pas affectée à un AIV et s’il existe des tâches qui sont présentent plus qu’une fois. Dans ce cas, la tâche qui est répétée sera remplacée par celle qui ne l'est pas. Le classement des tâches est également modifié, il faut donc corriger ce rang en se référant à la date de début de la tâche.
Radhia Zaghdoud. Hybridation d’algorithme génétique pour les problèmes des véhicules intelligents autonomes : applications aux infrastructures portuaires de moyenne taille. Automatique. Ecole Centrale de Lille, 2015. Français.
55
La mutation Elle est faite pour changer l'affectation d'une tâche d'un AIV à un autre Par exemple :
Parfois ,une correction de la mutation similaire à la correction de croisement doit être effectuée. Mais dans cette opération, le risque de perte de tâches ou des tâches répétitives n’existe pas. Elle consiste seulement à corriger les rangs des tâches pour chaque AIV. Il faut seulement corriger ce rang en se référant à la date de début de la tâche
Radhia Zaghdoud. Hybridation d’algorithme génétique pour les problèmes des véhicules intelligents autonomes : applications aux infrastructures portuaires de moyenne taille. Automatique. Ecole Centrale de Lille, 2015. Français.
56
Application Premier individu I1
C1 AIV2
C4 AIV1
C7 AIV3
C8 AIV1
C3 AIV2
C2 AIV2
C5 AIV3
C6 AIV1
Deuxième individu I2
C1 AIV1
C2 AIV1
C3 AIV3
C8 AIV1
C4 AIV2
C5 AIV3
C6 AIV2
C7 AIV1
Après le croisement Descendant D1
C1 AIV2
C4 AIV1
C7 AIV3
C8 AIV1
C4 AIV2
C5 AIV3
C6 AIV2
C7 AIV1
Descendant D2
C1
C2
C3
C8
C4
C5
C6
C7
AIV1
AIV1
AIV3
AIV1
AIV2
AIV2
AIV3
AIV1
Radhia Zaghdoud. Hybridation d’algorithme génétique pour les problèmes des véhicules intelligents autonomes : applications aux infrastructures portuaires de moyenne taille. Automatique. Ecole Centrale de Lille, 2015. Français.
57
Correction du croisement et mutation Descendant D1 C1 AIV2
C4 AIV1
C7 AIV3
C8 AIV1
C4 AIV2
C5 AIV3
C6 AIV2
C7 AIV1
C1
C2
C3
C8
C4
C5
C6
C7
AIV1
AIV1
AIV3
AIV1
AIV2
AIV2
AIV3
AIV1
C1 AIV2
C4 AIV1
C7 AIV1
C8 AIV1
C4 AIV2
C5 AIV3
C6 AIV2
C7 AIV1
Descendant D2
Radhia Zaghdoud. Hybridation d’algorithme génétique pour les problèmes des véhicules intelligents autonomes : applications aux infrastructures portuaires de moyenne taille. Automatique. Ecole Centrale de Lille, 2015. Français.
58
Etude empirique
Données Nous avons testé l’approche génétique avec différents nombres de tâches et différents nombres d’AIVs. Les paramètres de l'algorithme génétique sont les suivants: 70% de la population est choisi pour le croisement et 10% pour la mutation. Le graphe représente la variation du coût total en fonction du nombre de générations.
Radhia Zaghdoud. Hybridation d’algorithme génétique pour les problèmes des véhicules intelligents autonomes : applications aux infrastructures portuaires de moyenne taille. Automatique. Ecole Centrale de Lille, 2015. Français.
59
Conclusion • L'approche génétique converge vers une solution optimale. • Cette convergence est autour de la génération 70 pour 20 tâches, mais elle est un peu plus tard, autour de la 80eme génération pour 40 tâches et la 90eme génération pour 60 tâches. • La valeur de la fonction objectif varie selon le nombre de tâches, elle augmente lorsque le nombre de tâches augmente et inversement. • Par exemple, dans le test avec 20 tâches et 40 tâches, le nombre d’AIVs est le même, mais les valeurs de la fonction objectif sont différentes. La valeur correspondante à 40 tâches est plus grande que celle pour 20 tâches. •
Ce résultat est justifié parce que pour transporter 40 conteneurs de leurs positions initiales vers leurs positions finales, nous avons besoin de plus de temps que pour transporter 20 conteneurs.
Radhia Zaghdoud. Hybridation d’algorithme génétique pour les problèmes des véhicules intelligents autonomes : applications aux infrastructures portuaires de moyenne taille. Automatique. Ecole Centrale de Lille, 2015. Français.
60
Résolution du problème d’ordonnancement flow shop
Le codage: de longueur égale au nombre total de jobs à réaliser.
L’individu : est représenté par une séquence de jobs. • Cette séquence est appliquée seulement au premier étage. • De l’étage 2 à l’étage k: les jobs sont ordonnés selon leurs dates d’achèvement minimales de l’étage précédent. Source:Tarek Chaari. Un algorithme génétique pour l’ordonnancement robuste: application au problème du flow shop hybride. Automatique / Robotique. Université de Valenciennes et du Hainaut-Cambresis, 2010.
61
Résolution du problème d’ordonnancement flow shop
Etape 1:Fonction d’évaluation ( fitness) La fonction d’évaluation consiste à minimiser le makespan (noté Cmax). Cjt désigne le temps d’achèvement du job j dans l’étage t.
Etape 2:Génération d’une population initiale La procédure que nous avons utilisée pour générer la population initiale des individus, est une génération aléatoire de Psize individus. C’est le meilleur choix, car il permet l’hétérogénéité de la population.
Source:Tarek Chaari. Un algorithme génétique pour l’ordonnancement robuste: application au problème du flow shop hybride. Automatique / Robotique. Université de Valenciennes et du Hainaut-Cambresis, 2010.
Etape 3:Opérateur de sélection • La méthode utilisée est la sélection aléatoire. • Chaque individu a donc une probabilité uniforme (1/Psize) d’être sélectionné
62
Résolution du problème d’ordonnancement flow shop Etape 4:Opérateur de croisement
Etape 5:Opérateur de mutation
Nous utiliserons l’opérateur de croisement en 2-
L’opérateur de mutation utilisé est l’opérateur
points.
d’insertion.
Etape 6:Opérateur d’insertion
Etape 7:Critère d’arrêt
L’insertion dans le contexte de l’ordonnancement est employée pour réduire au minimum la fonction fitness.
Le critère d’arrêt utilisé est le nombre de générations égal à
Cette insertion permet d’éliminer de la population les chromosomes les plus faibles.
Après IterMax générations, l’algorithme génétique s’arrête et
IterMax.
donne le meilleur chromosome qui possède un Cmax minimum.
Source:Tarek Chaari. Un algorithme génétique pour l’ordonnancement robuste: application au problème du flow shop hybride. Automatique / Robotique. Université de Valenciennes et du Hainaut-Cambresis, 2010.
63
Avantages et inconvénients
Avantages
L’utilisation d’une fonction objectif (fitness) indépendamment de sa nature ; convexe, continue et dérivable lui donne plus de souplesse et un large domaine d’application. La probabilité de croisement et de mutation permettent parfois d’éviter de tomber dans un optimum local et se diriger vers l’optimum global. Les algorithmes génétiques présentent par rapport aux algorithmes de type recuit simulé (1 solution) plusieurs solutions viables (plusieurs de bonne qualité) , et non une seule, au terme d’une exécution du programme. Il faut donc éviter l’élimination de tous les individus au bénéfice d’un seul, même s’il est mieux adapté. Source:Tarek Chaari. Un algorithme génétique pour l’ordonnancement robuste: application au problème du flow shop hybride. Automatique / Robotique. Université de Valenciennes et du Hainaut-Cambresis, 2010.
65
Inconvénients
Le temps de calcul long : par rapport à d'autres métaheuristiques, les AG nécessitent de nombreux calculs, en particulier au niveau de la fonction d'évaluation. Ils sont le plus souvent difficiles à mettre en œuvre : des paramètres comme la taille de la population ou le taux de mutation sont parfois difficiles à déterminer. Matlab …. L'impossibilité
d'être
assuré,
même
après
un
nombre
important
de
générations, que la solution trouvée soit la meilleure. On peut seulement être sûr que l'on s'est approché de la solution optimale.
Source: Wiképedia « Algorithme Génétique»
66
Conclusion
Récapitulatif Les origines de l’algorithme génétique S’inspire de la théorie
Les notions de base
darwinienne de l'évolution.
01
Fitness
Les opérateurs
Population Individu Chromosome Gène
02
Sélection Croisement Mutation
03
L’architecture d’un AG
04
68
Architecture générale d’un algorithme génétique
Insertion
Source: Radhia Zaghdoud. Hybridation d’algorithme génétique pour les problèmes des véhicules intelligents autonomes : applications aux infrastructures portuaires de moyenne taille. Automatique. Ecole Centrale de Lille, 2015.
69
Merci pour votre attention
Bibliographie Blog de Burak Kanber, ingénieur ayant fait des travaux sur le Machine Learning. Travaux sur les optimisations et algorithmes génétiques. Tarek Chaari. Un algorithme génétique pour l’ordonnancement robuste: application au problème du flow shop hybride. Automatique / Robotique. Université de Valenciennes et du Hainaut-Cambresis, 2010. Terki Amel. Analyse des performances des algorithmes génétiques utilisant différentes techniques d’évolution de la population. Universite Mentouri, 2006. Jean-Marc Alliot, Nicolas Durand. Algorithmes génétiques. Yifang Li, Yannick Kergosien et Jean-Charles Billaut. Le problème du voyageur de commerce. Université de Tours, 2008. Marek Obitko. Genetic algorithms tutorials, 1998. Nicolas Durand. Algorithmes Génétiques et autres méthodes d’optimisation appliqués à la gestion de trafic aérien. Optimisation et contrôle. INPT, 2004.
71
Bibliographie Radhia Zaghdoud. Hybridation d’algorithme génétique pour les problèmes des véhicules intelligents autonomes : applications aux infrastructures portuaires de moyenne taille. Automatique. Ecole Centrale de Lille, 2015. MÉTAHEURISTIQUES POUR L’OPTIMISATION DIFFICILE. TE de fin d’année présenté par Souquet Amédée Radet Francois-Gérard. ALGORITHMES GENETIQUES. Shravan Kumar. Travelling Sales Man Problem MATLAB code.Youtube, 2016. Wiképedia « Algorithme Génétique». Hanaa Hachimi. Hybridations d’algorithmes Meta-heuristiques en optimisation globale et leurs applications. INSA de Rouen; Ecole Mohammadia d’ingénieurs (Rabat, Maroc), 2013. Imen Boulnemour. Optimisation par Essaim de Particules Quantiques et ses Nouvelles Hybridations pour le Clustering des Données. Département d’informatique, Université du 20 août 1955 de Skikda. Algérie, 2013.
72