• Aucun résultat trouvé

CHAPITRE 3 OPTIMISATION DES TRAJECTOIRES PAR LA METHODE

3.1 Les algorithmes métaheuristiques

Depuis de nombreuses années, l’industrie aéronautique tente d’optimiser les trajectoires des avions afin de réduire les coûts liés à un vol mais aussi afin de réduire les émissions de CO2.

Pour cela, de nombreux algorithmes d’optimisation ont été développés pour répondre à ces besoins. La majeure partie de ces algorithmes se basent sur des méthodes mathématiques comme la programmation linéaire, la programmation non linéaire et la programmation dynamique afin de résoudre des problèmes d’optimisation. Même si ces méthodes sont prometteuses et permettent de fournir un « optimum global » ce qui veut dire la solution optimale, ces méthodes ont des limitations.

En effet, dans le cas de la résolution d’un problème d’optimisation, l’utilisation de la méthode mathématique par une programmation linéaire, reste très limitée car les types de problèmes auxquels nous sommes confrontés dans la vie sont généralement très complexes et sont des problèmes non-linéaires. Cependant, ce type de méthode mathématique peut permettre de se faire une idée quant à l’ordre d’une solution mais beaucoup d’hypothèses de simplifications sont émises ce qui éloigne grandement les résultats d’un programme linéaire à la réalité.

Les limitations de la programmation dynamique ont été expliquées dans le chapitre 1 où ce type de programmation nécessite une grande capacité de calcul et un calculateur suffisamment puissant, ce qui n’est pas le cas du système de gestion de vol du FMS.

Enfin, concernant la programmation non linéaire, dans le cas de notre étude nous disposons de boîte noire, ce qui signifie que nous n’avons pas à disposition les équations. Hors, si l’on veut utiliser une programmation non linéaire les fonctions doit être différentiables ce qui veut dire qu’on puisse calculer la dérivée. Pour le faire, la connaissance des équations est nécessaire ce qui écarte ce type de programmation dans notre étude. De plus si la fonction que l’on souhaite étudier possède de nombreuses discontinuités et contraintes, il devient très

difficile d’effectuer une recherche par le gradient. Un autre point qui limite ce type de programmation est qu’il faut être très prudent quant aux valeurs initiales des paramètres. En effet, ce programme va chercher une solution dans le voisinage d’un paramètre initial, donc s’il y a plus qu’un optimal local dans le problème, il est possible de ne jamais trouver l’optimal global dépendamment des valeurs données aux paramètres initiaux.

Les inconvénients de ces méthodes mathématiques ont ainsi poussé les chercheurs à explorer d’autres types d’algorithmes d’optimisation comme les algorithmes métaheuristiques que l’on utilise en autre, pour la mise en équation et la simulation de phénomène naturel.

Parmi les algorithmes métaheuristiques, nous pouvons énumérer les algorithmes utilisant le processus d’évolution biologique dont l’algorithme génétique proposé par Holland [48] et Goldberg [49] ainsi que les algorithmes se basant sur le comportement des insectes comme celles des abeilles [50, 51].

Les métaheuristiques sont généralement itératifs et progressent vers un optimum locale. Cependant la solution donnée n’est pas forcement l’optimal global.

Il existe un grand nombre d’algorithmes métaheuristiques différents, se basant sur la recherche locale.

Ces algorithmes ont l’avantage de converger vers des optimaux locaux puisqu’ils évaluent plusieurs solutions possibles dans un grand espace de recherche pour sélectionner une solution qui sera la « meilleure solution». Un autre avantage est que ce type d’algorithme ne nécessite pas d’avoir des connaissances particulières sur le problème; en effet, l’algorithme ne nécessite pas de définir un grand nombre de paramètres pour lequel nous devons attribuer des valeurs initiales.

Dans le cas de l’algorithme qui sera présenté dans ce mémoire, pour chaque valeur de variable (vitesse et altitude) nous choisissons un intervalle qui correspond à une marge de valeurs.

Les algorithmes métaheuristiques sont divisés en deux grands groupes de méthodes de recherches : « La méthode de recherche locale » et la « méthode basée sur une population d’individus » [52].

La méthode par la recherche locale considère une solution par une solution [53]. Cette méthode est itérative ce qui veut dire que la recherche est effectué pour trouver une solution, et ensuite, une fois le calcul terminé et si la solution n’est pas trouvée, le programme cherchera à trouver une autre solution. Ce type de recherche cherche souvent les solutions voisines pour créer une nouvelle solution; le problème est donc que l’espace de recherche entre ces solutions est souvent très proche. Même si cette méthode donne des solutions plus structurées et plus rapides que la méthode basée sur la population d’individus, le problème est que cette recherche des solutions à la tendance de se limiter dans le même espace de recherche assez étroit. Ce type de méthode se concentre plus sur l’exploitation de la solution que sur son l’exploration [52].

La seconde méthode basée sur la définition d’une population constituée de plusieurs individus considère plusieurs solutions en même temps. Cette recherche recombine les anciennes solutions trouvées au début de la recherche pour en obtenir des nouvelles solutions [52]. L’avantage de cette méthode est que l’espace de recherche est beaucoup plus grand que l’espace de recherche considéré dans la méthode précédente, ce qui lui donne un très grand avantage sur la qualité d’exploration mais par contre il lui donne une moins bonne qualité sur l’exploitation de la solution puisque les nouvelles solutions sont des recombinaisons des anciennes solutions.