Académique Documents
Professionnel Documents
Culture Documents
Algorithm
On ne peut pas présenter ce rapport sans adresser nos remerciements aux élèves officiers qui
ont participé à l’aboutissement de ce travail.
On tient donc à remercier :
DIEU le créateur, sans qui rien n’est possible.
Le prof Mr. M MJAHED pour les conseils prodigués et le temps consacré à nous guider.
i|P ag e
Résumé
Ce mini projet vise à explorer l'application de l'algorithme génétique (AG) dans le domaine de
l'identification de systèmes dynamiques de second ordre. L'identification de systèmes est
cruciale pour la modélisation et la commande de divers systèmes physiques et techniques.
L'AG, basé sur les principes de l'évolution naturelle, offre une approche innovante pour estimer
les paramètres clés de ces systèmes.
L'objectif de ce mini projet est d'illustrer les avantages et les limitations de l'utilisation de l'AG
dans l'identification de systèmes de second ordre, en mettant l'accent sur la robustesse et la
précision des résultats obtenus.
Abstract
This mini project aims to explore the application of Genetic Algorithm (GA) in the field of
second-order dynamic system identification. System identification is crucial for modeling and
controlling various physical and technical systems. GA, based on the principles of natural
evolution, offers an innovative approach to estimate key parameters of these systems.
The process involves representing the model parameters as genes, defining a fitness function to
assess solution accuracy, and applying genetic operators such as crossover and mutation to
generate new generations of solutions. Performance evaluation is conducted by comparing the
outputs of the identified model with experimental data.
The objective of this mini project is to illustrate the advantages and limitations of using GA in
second-order system identification, with a focus on the robustness and accuracy of the obtained
results.
ii | P a g e
Table des Matières
Remerciement .....................................................................................................................................i
Résumé............................................................................................................................................... ii
Abstract .............................................................................................................................................. ii
Table des Matières ............................................................................................................................ iii
Table des Figures ............................................................................................................................... iv
Introduction........................................................................................................................................1
Chapitre 1 : Etat De L’Art.....................................................................................................................2
1-1) Définition : ..........................................................................................................................3
1-2) Réponse Impulsionnelle : .....................................................................................................4
1-2-1) Cas 1 : ξ > 1 ..........................................................................................................................4
1-2-2) Cas 2 : ξ < 1 ..........................................................................................................................4
1-2-3) Cas 2 : ξ = 1 ..........................................................................................................................5
1-3) Réponse Indicielle :..............................................................................................................5
1-3-1) Cas 1 : ξ >1 ...........................................................................................................................5
1-3-2) Cas 2 : ξ =1 ...........................................................................................................................6
1-3-3) Cas 3 : ξ <1 ...........................................................................................................................6
...........................................................................................................................................................9
Chapitre2 : Algorithme Génétique (GA) ............................................................................................. 10
2-1) définition ............................................................................................................................... 11
2-2) principe de l’algorithme ......................................................................................................... 11
2-3) Description Détaillée .............................................................................................................. 12
Chapitre 3 : Identification d’un système à travers l’algorithme génétique ......................................... 16
3-1) Etapes à suivre : ..................................................................................................................... 17
3-2) Code ...................................................................................................................................... 17
3-3) Exécution ............................................................................................................................... 18
3-4) Régime apériodique ............................................................................................................... 26
3-4-1) Définition de la plage de recherche ..................................................................................... 26
3-4-2) Changement des valeurs ..................................................................................................... 27
3-4-3) Résultats :........................................................................................................................... 28
3-4-4) Interprétation : .................................................................................................................... 29
Conclusion ........................................................................................................................................ 31
Références........................................................................................................................................ 32
iii | P a g e
Table des Figures
iv | P a g e
Introduction
Depuis quelques années, l’intelligence artificielle est bien entrée dans nos vies via les assistants
personnels, les réseaux de neurones, le Depp Learning, etc. Autant d’usages différents qui ont
tous attrait à l’IA et au sein desquels les progrès scientifiques sont époustouflants.
Mais les attaques par dénis de services, virus polymorphes, techniques d'usurpations
diverses…les intrusions informatiques sont devenues de plus en plus courantes, et gagnent en
sophistication.
D'autre part, l'identification de systèmes de second ordre par le biais de l'algorithme génétique
est une méthode puissante qui permet de déterminer les paramètres clés d'un système
dynamique. En utilisant des mécanismes inspirés par l'évolution naturelle, cette approche
permet d'optimiser les paramètres du modèle en fonction des données expérimentales,
conduisant ainsi à des modèles plus précis et adaptés.
Dans cette étude, nous explorerons la convergence de ces deux domaines en examinant
comment l'intelligence artificielle peut être utilisée pour améliorer et optimiser le processus
d'identification des systèmes de second ordre. Nous discuterons des avantages potentiels de
cette approche synergique, ainsi que des défis et des opportunités qui en découlent puis une
validation de ce dernier sur Matlab.
1|P ag e
Chapitre 1 : Etat De L’Art
2|P ag e
1-1) Définition :
Un système de 2ème ordre est régi par une équation différentielle de la forme suivante :
H (p ) = =
E (p )
–
–
–
3|P ag e
1-2) Réponse Impulsionnelle :
La réponse impulsionnelle est donnée par une entrée du type E (p) = 1. On a donc :
Figure 1 :
4|P ag e
Figure 2 :
1-2-3) Cas 2 : ξ = 1
Dans ce cas :
5|P ag e
Figure 3 :
1-3-2) Cas 2 : ξ =1
6|P ag e
Résultat du dépassement :
7|P ag e
Résultat sur le temps de réponse à 5% :
8|P ag e
1-3-4) Évolution de la réponse en fonction du coefficient d’amortissement :
9|P ag e
Chapitre2 : Algorithme Génétique (GA)
10 | P a g e
2-1) définition
Figure 4 : GA expliquée
On commence par engendrer une population d’individus de façon aléatoire. Pour passer d’une
génération k à la génération k + 1, les trois opérations suivantes sont répétées pour tous les éléments
11 | P a g e
de la population k. Des couples de parents P1 et P2 sont sélectionnés en fonction de leurs adaptations.
L’opérateur de croisement leur est appliqué avec une probabilité Pc (généralement autour de 0.6) et
engendre des couples d’enfants C1 et C2. D’autres éléments P sont sélectionnés en fonction de leur
adaptation. L’opérateur de mutation leur est appliqué avec la probabilité Pm (Pm est généralement
très inférieur à Pc) et engendre des individus mutés P 0. Les enfants (C1, C2) et les individus mutés
P 0 sont ensuite évalués avant insertion dans la nouvelle population (la figure 1.1 présente le cas où
les enfants et les individus mutés remplacent les parents). Différents critères d’arrêt de l’algorithme
peuvent être choisis :
– Le nombre de générations que l’on souhaite exécuter peut être fixé a priori. C’est ce que l’on
est tenté de faire lorsque l’on doit trouver une solution dans un temps limité.
– L’algorithme peut être arrêté lorsque la population n’évolue plus ou plus suffisamment rapidement.
Historiquement, le codage utilisé par les algorithmes génétiques était représenté sous forme de
chaînes de bits contenant toute l’information nécessaire à la description d’un point dans l’espace
d’état. Ce type de codage a pour intérêt de permettre de créer des opérateurs de croisement et de
mutation simples. C’est également 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 :
– deux éléments voisins en terme de distance de Hamming ne codent pas nécessairement deux
éléments proches dans l’espace de recherche. Cet inconvénient peut être évité en utilisant un codage
de Gray.
– 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 [Gol91, Wri91] é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. Certains les appellent RCGA (Real Coded Genetic Algorithms, d’autres
parlent d’algorithmes évolutionnaires. La structure du problème est conservée dans le codage.
Ce type de croisement à découpage de chromosomes est très efficace pour les problèmes discrets.
Pour les problèmes continus, un croisement “barycentrique” est souvent utilisé : deux gènes P1(i)
et P2(i) sont sélectionnés dans chacun des parents à la même position i. Ils définissent deux
nouveaux gènes C1(i) et C2(i) par combinaison linéaire :
Où α est un coefficient de pondération aléatoire adapté au domaine d’extension des gènes (il n’est
pas nécessairement compris entre 0 et 1, il peut par exemple prendre des valeurs dans l’intervalle
[-0.5, 1.5], ce qui permet d’engendrer des points entre, ou à l’extérieur des deux gènes considérés).
Dans le cas particulier d’un chromosome matriciel constitué par la concaténation de vecteurs, on
peut étendre ce principe de croisement aux vecteurs constituant les gènes.
13 | P a g e
L’opérateur de mutation apporte aux algorithmes génétiques la propriété d’ergodicité de parcours
d’espace. Cette propriété indique que l’algorithme génétique sera susceptible d’atteindre tous les points
de l’espace d’état, sans pour autant les parcourir tous dans le processus de résolution. Ainsi
en toute rigueur, l’algorithme génétique peut converger sans croisement, et certaines implémentations
fonctionnent de cette manière. Les propriétés de convergence des algorithmes génétiques
sont donc fortement dépendantes de cet opérateur sur le plan théorique.
Pour les problèmes discrets, l’opérateur de mutation consiste généralement à tirer aléatoirement
un gène dans le chromosome et à le remplacer par une valeur aléatoire (voir figure 1.5). Si la notion
de distance existe, cette valeur peut être choisie dans le voisinage de la valeur initiale.
Dans les problèmes continus, on procède un peu de la même manière en tirant aléatoirement un gène
dans le chromosome, auquel on ajoute un bruit généralement gaussien. L’écart-type de ce bruit
est difficile à choisir a priori.
14 | P a g e
Figure 9 : Principe de l’opérateur de mutation
15 | P a g e
Chapitre 3 : Identification d’un système à travers l’algorithme
génétique (TRAVAIL À FAIRE)
16 | P a g e
3-1) Etapes à suivre :
Vous définissez les paramètres du système réel G (Kreel, Wnreel, psi réel) et créez la
fonction de transfert G.
Vous définissez les bornes inférieures (lb) et supérieures (ub) des paramètres à
optimiser (K, Wn, psi).
Vous configurez les options de l'optimisation génétique en spécifiant une taille de
population de 100 et un nombre maximal de générations de 100.
Vous appelez la fonction d'optimisation génétique (Ga) en spécifiant la fonction de
coût à minimiser (costfunction) et le nombre de paramètres à optimiser (3 dans ce cas).
Vous récupérez les paramètres optimaux (Koptimal, Wnoptimal, psi optimal).
Vous affichez les valeurs optimales des paramètres.
Vous créez un modèle d'ordre 2 optimisé (Optimal) en utilisant les paramètres
optimaux.
Vous affichez la réponse indicielle du modèle d'ordre 2 optimisé.
Vous affichez également la réponse indicielle du système réel G
3-2) Code
17 | P a g e
Figure 10 : Code Matlab
3-3) Exécution
Et puis on aperçoit les résultats :
18 | P a g e
Figure 11 : Réponse Indicielle au système réel G
Pour y afficher la différence on ajoute un script, dans ce code, le modèle identifié G_identified
est créé en utilisant les valeurs optimales des paramètres. Ensuite, la réponse indicielle de ce
modèle identifié est affichée, et une comparaison est faite avec la réponse indicielle du système
réel G.
19 | P a g e
En résumé, le code que nous avons fourni utilise déjà l'algorithme génétique pour identifier les
paramètres du modèle qui minimisent l'erreur entre le modèle et le système réel. Après
l'optimisation, les paramètres optimaux sont extraits et utilisés pour créer le modèle identifié,
et les résultats sont affichés.
PARAMETRES A CALCULER :
DOMAINE TEMPOREL :
20 | P a g e
Pour un système oscillant du deuxième ordre non amorti, la relation entre la pulsation
propre non amortie ω0 (aussi appelée fréquence naturelle) et les paramètres de la fonction
Et donc ω0≈0.9798.
On a la réponse impulsionnelle s(t) d'un système du deuxième ordre non amorti peut en
effet être exprimée de la manière suivante :
21 | P a g e
DOMAINE INDICIEL
Dans ce cas on parle de système sous amorti. H (p) admet deux pôles
complexes :
22 | P a g e
Ensuite la décomposition en éléments simples :
Pour s2(t) :
Et pour la diminution :
Calcul de ωp :
23 | P a g e
Calcul de Tp :
D1% : = = et donc
D1%= 0.817 Ainsi, le premier dépassement pour le système du deuxième ordre avec
ζreel=0.2 est d'environ 0.817.
Pour le kème dépassement :
Si k=2 :
24 | P a g e
Psioptimal : Rapport d'amortissement. Il mesure la décroissance exponentielle de
l'amplitude des oscillations.
Comparons les valeurs optimales obtenues avec les valeurs réelles du système:
1. Comparaison du gain
- Valeur Optimale Koptimal = 1.0000
- Valeur Réelle Kréelle=10
- Interprétation : Il y a une différence significative entre la valeur optimale et la valeur
réelle du gain. Cela peut indiquer un écart dans la sensibilité du modèle par rapport au
système réel.
Conclusion Partielle :
Les méthodes d'algorithmes génétiques pour identifier les systèmes présentent plusieurs
avantages.
25 | P a g e
De plus, les algorithmes génétiques sont robustes aux espaces de recherche non linéaires, ce
qui les rend adaptés aux problèmes qui identifient des systèmes au comportement complexe
et non trivial. De plus, cette méthode est relativement facile à mettre en œuvre et ne nécessite
pas de connaissance approfondie du modèle du système, elle peut donc être utilisée même
lorsque la compréhension détaillée du système est limitée.
26 | P a g e
Dans votre code, vous avez défini les bornes des paramètres à optimiser (K, Wn, Ksi) comme
suit :
Cela signifie que lors de l'optimisation, l'algorithme génétique cherchera les valeurs optimales
pour K, Wn, Ksi dans les plages définies par ces bornes. Par exemple, KK sera recherché dans
la plage de 1 à 10, Wn dans la plage de 1 à 10, et Ksi dans la plage de 0.01 à 1.
La définition appropriée de la zone de recherche est importante car elle guide l'algorithme
génétique pour explorer les valeurs possibles des paramètres. Si la zone de recherche est trop
restreinte, l'algorithme peut ne pas trouver les paramètres optimaux. Si elle est trop large, cela
peut augmenter le temps de calcul.
En ajustant les bornes dans la zone de recherche, on peut influencer la recherche des paramètres
optimaux en fonction de notre connaissance préalable du système et des valeurs plausibles des
paramètres
Afin de changer le résultat pour avoir une réponse indicielle du système du 2ème
ordre au régime apériodique, il faut changer la plage de recherche du paramètre
Ksi, tout en gardant les valeurs des paramètres donnés K=10, Wn=1 et Ksi=0.2
Alors pour avoir un régime apériodique comme il est demandé il faut que la borne
inférieure soit supérieure à 1 et donc les bornes vont être comme suites :
% Définissez les bornes des paramètres à optimiser [K, Wn, psi] (Régime
pseudopériodique)
% Définissez les bornes des paramètres à optimiser [K, Wn, psi] (régime apériodique)
27 | P a g e
Lb = [1, 1, 1] ; % Borne inférieure
3-4-3) Résultats :
28 | P a g e
3-4-4) Interprétation :
Rappelons que le coefficient d'amortissement Ksi dans un système du deuxième ordre influence
la nature du mouvement du système. Lorsque Ksi est proche de 1, le système devient fortement
amorti, et la réponse indicielle tend à une exponentielle décroissante sans oscillations
significatives, caractéristique d'un système apériodique. Comme suit si on règle Ksi=1 on aura :
29 | P a g e
REMARQUE : Le coefficient d'amortissement élevé (Ksi) indique que le système atteint
rapidement son état final sans effectuer d'oscillations significatives.
30 | P a g e
Conclusion
En adoptant cette méthode, nous avons pu obtenir des paramètres optimisés qui permettent à
notre modèle d'ordre 2 de reproduire de manière précise la dynamique du système réel. Cela
démontre la puissance des algorithmes génétiques dans le domaine de l'identification des
systèmes, offrant une solution robuste pour la modélisation et la simulation de systèmes
dynamiques complexes. Ce processus d'optimisation ouvre la voie à une meilleure
compréhension des systèmes réels, facilitant ainsi la conception, le contrôle et l'analyse de
divers systèmes dans des contextes pratiques.
31 | P a g e
Références
[1] Mr. M MJAHED, Intelligence Artificielle, Notes de cours, Ecole Royale de l’Air, 2022
[4] http://xpessoles.ptsi.free.fr/fichiers/PDF_VRAC/S6_SLCI_Emericc.pdf
[5] http://w3.cran.univ-lorraine.fr/perso/benoit.marx/IS2_ENSGSI_POLY.pdf
[6] https://www.emse.fr/~dutertre/documents/cours_automatique_1A_jmd_2016.pdf
[7] https://fr.wikipedia.org/wiki/Algorithme_g%C3%A9n%C3%A9tique
32 | P a g e