Les problรจmes dโoptimisation occupent actuellement une place grandissante dans la communautรฉ scientifique. Ces problรจmes peuvent รชtre combinatoires (discrets) ou ร variables continues, avec un seul ou plusieurs objectifs (optimisation mono ou multi-objectifs), statiques ou dynamiques, avec ou sans contraintes. Cette liste nโest pas exhaustive et un problรจme peut รชtre, par exemple, ร la fois continu et dynamique. Lโoptimisation combinatoire est une branche de l’optimisation en mathรฉmatiques appliquรฉes et en informatique, รฉgalement situรฉe au carrefour des diffรฉrentes sciences et technologies liรฉes ร la recherche opรฉrationnelle, l’algorithmique et la thรฉorie de la complexitรฉ. Cโest plutรดt incontournable dans tous les domaines car dans la plupart des cas, on lโappelle souvent : โโaide ร la dรฉcisionโโ.
Un problรจme dโoptimisation est dรฉfini par un ensemble de variables, une fonction objectif (ou fonction de coรปt) et un ensemble de contraintes. Lโespace de recherche est lโensemble des solutions possibles du problรจme. Il possรจde une dimension pour chaque variable. Pour des raisons pratiques et de temps de calcul, lโespace de recherche des mรฉthodes de rรฉsolution est en gรฉnรฉral fini. La fonction objectif dรฉfinit le but ร atteindre, on cherche ร minimiser ou ร maximiser celle-ci. Lโensemble des contraintes est en gรฉnรฉral un ensemble dโรฉgalitรฉs et dโinรฉgalitรฉs que les variables doivent satisfaire. Ces contraintes limitent lโespace de recherche. Malgrรฉ la simplicitรฉ apparente de leur dรฉfinition, les graphes occupent une large part de la complexitรฉ algorithmique. Il est donc trรจs important de bien comprendre la structure des graphes afin de l’utiliser dans des modรฉlisations pertinentes (i.e. des modรฉlisations sur lesquelles les algorithmes de rรฉsolution sont efficaces).
Historique
Au fil de l’histoire, la collaboration entre les scientifiques et les militaires est frรฉquent afin de prendre les meilleures dรฉcisions dans les batailles et d’essayer dโobtenir la victoire. Cโest pour cela que beaucoup d’experts dans le domaine considรจrent le dรฉbut de la Recherche Opรฉrationnelle dans le IIIe siรจcle av. J.-C, pendant les Guerres puniques, avec l’analyse et la solution qu’Archimรจde a proposรฉ pour la dรฉfense de la ville de Syracuse, assiรฉgรฉe par les romains. Parmi ses inventions, on trouve la catapulte et un systรจme de miroirs qui enflammait les embarcations ennemies en faisant usage des rayons de soleil.
En 1503, Lรฉonard de Vinci avait participรฉ comme ingรฉnieur dans la guerre contre Pise puisqu’il connaissait les techniques pour bombarder, construire des bateaux, des vรฉhicules cuirassรฉs, des canons, des catapultes et d’autres machines de guerre. Un autre prรฉcรฉdent est l’usage de la Recherche Opรฉrationnelle pendant la Premiรจre Guerre mondiale en Angleterre, grรขce ร l’รฉtude mathรฉmatique de Frederick William Lanchester sur la puissance balistique des forces opposantes. En plus, il a dรฉveloppรฉ, ร partir d’un systรจme d’รฉquations diffรฉrentielles, la Loi quadratique de Lanchester, avec laquelle il รฉtait possible de dรฉterminer le dรฉnouement d’une bataille militaire en fonction de la force numรฉrique relative et la capacitรฉ relative de feu des combattants. Comme tout progrรจs scientifique, la Recherche Opรฉrationnelle a รฉtรฉ utilisรฉ premiรจrement dans de buts militaires. Cependant, grรขce aux profits, elle a รฉtรฉ adoptรฉe dans d’autres domaines tel que l’industrie, le transport, l’urbanisme, le commerce, les finances, le service sanitaire, etc. pour optimiser les ressources disponibles et obtenir des bรฉnรฉfices, essentiellement รฉconomiques. Nรฉanmoins, la Recherche Opรฉrationnelle n’รฉtait pas considรฉrรฉe comme une science que jusqu’ร la Seconde Guerre mondiale, pendant la bataille d’Angleterre. La Luftwaffe, armรฉe de l’air allemande, soumettait ce pays ร de grands assauts dues ร la capacitรฉ aรฉrienne britannique rรฉduite ร cause de la politique de dรฉsarmement, bien qu’expรฉrimentรฉe dans le combat. Le gouvernement britannique, dans le dessein de trouver une mรฉthode pour dรฉfendre son pays, a convoquรฉ des scientifiques de diverses disciplines pour rรฉsoudre le problรจme et profiter ainsi des radars d’invention rรฉcents dont ils disposaient. Grรขce ร son travail de localisation optimale des antennes et ร l’amรฉlioration de la distribution des signaux, ils ont doublรฉ l’effectivitรฉ du systรจme de dรฉfense aรฉrienne et ils ont รฉvitรฉ que l’รฎle tombe entre les mains de l’Allemagne nazie.
Problรจme dโoptimisationย
Lorsque lโon veut rรฉsoudre un problรจme dโoptimisation, on recherche la meilleure solution possible ร ce problรจme, cโest-ร -dire lโoptimum global. Cependant, il peut exister des solutions intermรฉdiaires, qui sont รฉgalement des optimums, mais uniquement pour un sous-espace restreint de lโespace de recherche : on parle alors dโoptimums locaux. Un problรจme dโoptimisation se dรฉfinit comme la recherche, parmi un ensemble de solutions possibles S (appelรฉ aussi espace de dรฉcision ou espace de recherche), de la (ou des) solution(s) X* qui rend minimale (ou maximale) une fonction mesurant la qualitรฉ de cette solution. Cette fonction est appelรฉe fonction objectif ou fonction coรปt. Si lโon pose :
f : S โ R la fonction objectif ร minimiser (respectivement ร maximiser) ร valeurs dans R, le problรจme revient alors ร trouver lโoptimum x*๏ S tel que f(x*) soit minimal (resp maximal).
Classification des mรฉthodes dโoptimisation
La rรฉsolution dโun problรจme dโoptimisation est rรฉalisรฉe ร lโaide de diverses mรฉthodes dont la classification est illustrรฉe comme dans la Figure 3 ci-dessous. On distingue en premier lieu lโoptimisation continue de lโoptimisation discrรจte (ou combinatoire). Cette premiรจre distinction concerne la nature des ยซ espaces ยป dans lesquels les variables de dรฉcision prennent leurs valeurs : cโest la dichotomie ยซ discret-continu ยป bien marquรฉe en Mathรฉmatiques et qui conditionne รฉvidemment beaucoup les possibilitรฉs de recourir ร certaines mรฉthodes. Pour lโoptimisation continue, on sรฉpare sommairement le cas linรฉaire (qui relรจve notamment de la programmation linรฉaire) du cas non linรฉaire, oรน lโon retrouve le cadre de lโoptimisation difficile.
i- Pour les problรจmes dโoptimisation classรฉs comme facile et de taille raisonnable, les mรฉthodes exactes peuvent trouver des solutions optimales. Ces mรฉthodes explorent de faรงon systรฉmatique lโespace des combinaisons jusquโร trouver une solution optimale.
ii- Lorsque lโon dispose dโun temps de calcul limitรฉ ou lorsquโon est confrontรฉ ร des problรจmes difficiles ou de taille importante, on peut avoir recours aux mรฉthodes approchรฉes, en se contentant de rechercher une solution de ยซ bonne qualitรฉ ยป. On lโappelle souvent ยซ mรฉtaheuristique ยป.
Lโoptimisation combinatoire
En suivant la dรฉfinition mathรฉmatique, l’optimisation recouvre toutes les mรฉthodes qui permettent de dรฉterminer l’optimum d’une fonction, avec ou sans contraintes.
Dans une autre vision, cโest le domaine qui รฉtudie les problรจmes de la forme :
Max x โ X. f(x). (1.01)
Oรน X est un ensemble fini, mais de trรจs grande taille A chaque instance du problรจme est associรฉ un ensemble discret de solutions S, un sous ensemble X de S reprรฉsentant les solutions admissibles (rรฉalisables), ainsi quโune fonction de coรปt f (appelรฉe aussi fonction objectif). f assigne ร chaque solution s โ X le nombre f(s).
Rรฉsoudre un problรจme dโoptimisation combinatoire consiste alors ร trouver une solution s โ X optimisant la valeur de la fonction de coรปt f. Mathรฉmatiquement, on cherche donc s* โ X tel que f(s*) โค f(s) pour tout s โ X. Une telle solution s* s’appelle une solution optimale, ou un optimum global.
Il existe une seconde formalisation du problรจme dโoptimisation combinatoire, plus gรฉnรฉrale, qui inclue la notion de contraintes et dโaffectation de valeurs ร des variables.
Optimisation sous contraintes
La plupart des problรจmes posรฉs dans le monde rรฉel sont souvent soumis ร des contraintes. Plusieurs mรฉthodes, classiques et รฉvolutionnistes, ont รฉtรฉ dรฉveloppรฉes pour prendre en compte la confrontation face ร ces contraintes. Un problรจme dโoptimisation sous contraintes contient deux aspects. Lโaspect ยซ contraintes ยป et lโaspect ยซ optimisation ยป.
a. Lโaspect ยซ contraintes ยป sert ร spรฉcifier la forme que devrait avoir un objet solution du problรจme.
b. Lโaspect ยซ optimisation ยป sert ร classifier les objets vรฉrifiant cette forme et ร sรฉlectionner le(s) meilleure(s).
|
Table des matiรจres
INTRODUCTION GENERALE
Prรฉsentation du problรจme et les principales disciplines
CHAPITRE 1 LE PROBLEME DโOPTIMISATION
1.1 Introduction ร la premiรจre partie
1.2 Historique
1.3 Problรจme dโoptimisation
1.3.1 Classification des mรฉthodes dโoptimisation
1.3.2 Lโoptimisation combinatoire
1.3.3 Optimisation sous contraintes
1.3.4 Problรจme de satisfaction de contraintes
1.3.5 Problรจme dโoptimisation combinatoire sous contraintes
1.4 Complexitรฉ d’un problรจme d’optimisation
1.4.1 Dรฉfinitions
1.4.2 La classe P
1.4.3 La classe NP
1.5 Les mรฉthodes de rรฉsolution exacte et mรฉthode approchรฉe
1.5.1 Heuristique et mรฉtaheuristique
1.5.2 Historique
1.5.3 Heuristique
1.5.4 Mรฉtaheuristique (ou mรฉta-heuristique)
1.5.5 Processus stochastiques
1.6 Conclusion
CHAPITRE 2 LES METHODES DE RESOLUTION ET LES CONCEPTS
2.1 Introduction ร la deuxiรจme partie
2.2 รtat de lโart
2.3 La thรฉorie des graphes
2.3.1 Dรฉfinition
2.3.2 Notions de base sur les graphes
2.3.2.1 Graphes non orientรฉs
2.3.2.2 Graphes orientรฉs
2.3.2.3 Graphes valuรฉs
2.3.2.4 Graphes alรฉatoires
2.3.2.5 Reprรฉsentation matricielle
2.4 Algorithme
2.4.1 Dรฉfinition
2.4.2 Relations Mathรฉmatique (thรฉories des graphes) et informatique (Algorithme)
2.4.2.1 Problรจme algorithmique
2.4.2.2 Algorithmes polynomiaux
2.4.3 Problรจmes classiques dโoptimisation combinatoire
2.4.3.1 Problรจme du voyageur de commerce
2.4.3.2 Problรจme dโaffectation
2.4.3.3 Problรจme du sac-ร -dos
2.4.3.4 Problรจme dโordonnancement
2.4.4 Plus courts chemins
2.4.4.1 Algorithme de Dijkstra
Algorithme
2.4.4.2 Algorithme de Bellman-Ford
Algorithme
2.4.4.3 Algorithme de Ford et Fulkerson
Algorithme
2.4.4.4 Plan dโordonnancement
Algorithme
2.5 Intelligence Artificielle (I.A)
2.6 Simulation informatique
2.7 Les mรฉtaheuristiques ร la rรฉsolution des problรจmes dโoptimisations difficiles
2.7.1 Classification des mรฉtaheuristiques
2.7.1.1 Les approches ยซ trajectoire ยป
2.7.1.2 Les approches ยซ population ยป (ou รฉvolutionnaires)
2.7.2 Analyse des principales mรฉtaheuristiques
2.7.2.1 La mรฉthode de descente
Avantages et inconvรฉnients
2.7.2.2 La mรฉthode du recuit simulรฉ
Avantages et inconvรฉnients
2.7.2.3 La mรฉthode Tabou
Avantages et inconvรฉnients
2.7.2.4 La mรฉthode GRASP
Avantages et inconvรฉnients
2.7.2.5 Les algorithmes gรฉnรฉtiques
Avantages et inconvรฉnients
2.7.2.6 Les algorithmes de colonies de fourmi
Principe de lโalgorithme
Avantages et Inconvรฉnients
2.8 Stratรฉgies de recherche
2.8.1 Intensification et diversification
2.8.1.1 La mรฉthode de descente
2.8.1.2 Algorithme du recuit simulรฉ
2.8.1.3 La mรฉthode Tabou
2.8.1.4 La mรฉthode GRASP
2.8.1.5 Les algorithmes gรฉnรฉtiques
2.8.1.6 Les algorithmes ร colonies de fourmi
2.8.2 Quelle mรฉtaheuristique utiliser ?
2.9 Bilan et perspectives
2.10 Conclusion
CHAPITRE 3 CONCEPTION, REALISATION ET SIMULATION
3.1 Introduction
3.2 Architecture et reprรฉsentation
3.2.1 Le graphe d’un point de vue ยซ model ยป
3.2.2 Le graphe d’un point de vue ยซ view ยป
3.2.2.1 Mise en place des noeuds
3.2.2.2 La gestion des points et la rรฉsolution
3.3 Manuel utilisateur et mise en marche
3.4 Implรฉmentation et jeux de tests
3.4.1 Paramรจtres systรจmes
3.4.2 Rรฉsultats numรฉriques et expรฉrimentaux
3.5 Critรจres de comparaison des algorithmes
3.6 Outillage mathรฉmatique
3.6.1 La mรฉthode des moindres carrรฉs
3.6.2 Calculs de corrรฉlation et coefficient de rรฉgression
3.6.3 Calcul du coefficient de dรฉtermination
3.6.4 Dรฉduction des fonctions Y et les coefficients de dรฉterminations pour chaque algorithmes
3.6.5 Comparaison mathรฉmatique
3.7 Objectifs atteints
3.8 Conclusion
CONCLUSION GENERALE
ANNEXES