X. Algorithmes d optimisation



Documents pareils
Chapitre 3 : Fonctions d une variable réelle (1)

20. Algorithmique & Mathématiques

[ édité le 10 juillet 2014 Enoncés 1. Exercice 6 [ ] [correction] Si n est un entier 2, le rationnel H n =

Limites des Suites numériques

CHAPITRE 2 SÉRIES ENTIÈRES

1 Mesure et intégrale

Etude de la fonction ζ de Riemann

. (b) Si (u n ) est une suite géométrique de raison q, q 1, on obtient : N N, S N = 1 qn+1. n+1 1 S N = 1 1

14 Chapitre 14. Théorème du point fixe

x +1 + ln. Donner la valeur exacte affichée par cet algorithme lorsque l utilisateur entre la valeur n =3.

55 - EXEMPLES D UTILISATION DU TABLEUR.

Réseaux d ondelettes et réseaux de neurones pour la modélisation statique et dynamique de processus

Convergences 2/2 - le théorème du point fixe - Page 1 sur 9

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable

Séquence 5. La fonction logarithme népérien. Sommaire

4 Approximation des fonctions

Statistique descriptive bidimensionnelle

UNIVERSITÉ DE SFAX École Supérieure de Commerce

Examen final pour Conseiller financier / conseillère financière avec brevet fédéral. Recueil de formules. Auteur: Iwan Brot

STATISTIQUE : TESTS D HYPOTHESES

Processus et martingales en temps continu

STATISTIQUE AVANCÉE : MÉTHODES

Exercice I ( non spé ) 1/ u 1 = u / Soit P la propriété : u n + 4. > 0 pour n 1. P est vraie au rang 1 car u 1

FEUILLE D EXERCICES 17 - PROBABILITÉS SUR UN UNIVERS FINI

3.1 Différences entre ESX 3.5 et ESXi 3.5 au niveau du réseau. Solution Cette section récapitule les différences entre les deux versions.

Séries réelles ou complexes

LES ÉCLIPSES. Éclipser signifie «cacher». Vus depuis la Terre, deux corps célestes peuvent être éclipsés : la Lune et le Soleil.

Sommaire Chapitre 1 - L interface de Windows 7 9

Formation d un ester à partir d un acide et d un alcool

SÉRIES STATISTIQUES À DEUX VARIABLES

Consolidation. C r é e r un nouveau classeur. Créer un groupe de travail. Saisir des données dans un groupe

Suites et séries de fonctions

Cours 5 : ESTIMATION PONCTUELLE

II LES PROPRIETES DES ESTIMATEURS MCO 1. Rappel : M1 LA REGRESSION : HYPOTHESES ET TESTS Avril 2009

Comportement d'une suite

Cours de Statistiques inférentielles

Chap. 6 : Les principaux crédits de trésorerie et leur comptabilisation

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable

EXERCICES : DÉNOMBREMENT

PROMENADE ALÉATOIRE : Chaînes de Markov et martingales

Statistiques appliquées à la gestion Cours d analyse de donnés Master 1

Régulation analogique industrielle ESTF- G.Thermique

Chap. 6 : Les principaux crédits de trésorerie et leur comptabilisation

Chapitre 3 : Transistor bipolaire à jonction

UNIVERSITE MONTESQUIEU BORDEAUX IV. Année universitaire Semestre 2. Prévisions Financières. Travaux Dirigés - Séances n 4

Statistique Numérique et Analyse des Données

Processus géométrique généralisé et applications en fiabilité

Intégration et probabilités ENS Paris, TD (20)13 Lois des grands nombres, théorème central limite. Corrigé :

TRANSFERT DE CHARGE DANS UN RÉSEAU DE PROCESSEURS TOTALEMENT CONNECTÉS (*) par Maryse BÉGUIN ( 1 )

Exo7. Déterminants. = 4(b + c)(c + a)(a + b). c + a c + b 2c Correction. b + a 2b b + c. Exercice 2 ** X a b c a X c b b c X a c b a X

Module 3 : Inversion de matrices

La France, à l écoute des entreprises innovantes, propose le meilleur crédit d impôt recherche d Europe

2 ième partie : MATHÉMATIQUES FINANCIÈRES

Mécanismes de protection contre les vers

Université de Bordeaux - Master MIMSE - 2ème année. Scoring. Marie Chavent machaven/

Chap. 5 : Les intérêts (Les calculs financiers)

RECHERCHE DE CLIENTS simplifiée

Deuxième partie : LES CONTRATS D ASSURANCE VIE CLASSIQUES

Les algorithmes de tri

Groupe orthogonal d'un espace vectoriel euclidien de dimension 2, de dimension 3

Gérer les applications

Polynésie Septembre Exercice On peut traiter la question 4 sans avoir traité les questions précédentes.

Dénombrement. Chapitre Enoncés des exercices

Solutions particulières d une équation différentielle...

Mobile Business. Communiquez efficacement avec vos relations commerciales 09/2012

Création et développement d une fonction audit interne*

Compte Sélect Banque Manuvie Guide du débutant

capital en fin d'année 1 C 0 + T C 0 = C 0 (1 + T) = C 0 r en posant r = 1 + T 2 C 0 r + C 0 r T = C 0 r (1 + T) = C 0 r 2 3 C 0 r 3...

En général, il n y a pas d algorithme fini pour trouver une solution. On est donc obligé d utiliser

Télé OPTIK. Plus spectaculaire que jamais.

Les Nombres Parfaits.

One Office Voice Pack Vos appels fixes et mobiles en un seul pack

Renseignements et monitoring. Renseignements commerciaux et de solvabilité sur les entreprises et les particuliers.

Chapitre 2 SONDAGE ALEATOIRE SIMPLE OU A PROBABILITES EGALES. 2.1 DEFINITIONS 2.2 SONDAGE ALEATOIRE SIMPLE SANS REMISE (PESR) 2.2.

Neolane Message Center. Neolane v6.0

Neolane Leads. Neolane v6.0

Baccalauréat S Asie 19 juin 2014 Corrigé

Guide des logiciels de l ordinateur HP Media Center

LE WMS EXPERT DE LA SUPPLY CHAIN DE DÉTAIL

Logiciel de synchronisation de flotte de baladeurs MP3 / MP4 ou tablettes Androïd

UV SQ 20. Automne Responsable d Rémy Garandel ( m.-el. remy.garandel@utbm.fr ) page 1

Université Victor Segalen Bordeaux 2 Institut de Santé Publique, d Épidémiologie et de Développement (ISPED) Campus Numérique SEME

Introduction : Mesures et espaces de probabilités

La maladie rénale chronique

RESOLUTION DES FLOW SHOP STOCHASTIQUES PAR LES ORDRES STOCHASTIQUES. DERBALA Ali *)

PROBLEMES DIOPTIMISATION EN NOMBRES ENTIERS J. L. NICOLAS

Principes et Méthodes Statistiques

Dénombrement. Introduction. 1 Cardinaux d'ensembles nis. ECE3 Lycée Carnot. 12 novembre Quelques dénitions

La fibre optique arrive chez vous Devenez acteur de la révolution numérique

PageScope Enterprise Suite. Gestion des périphériques de sortie de A à Z. i-solutions PageScope Enterprise Suite

Exercices de mathématiques

Copyright Hewlett-Packard Development Company, L.P.

DETERMINANTS. a b et a'

Manuel d initiation à l ordinateur HP Media Center

Faites prospérer vos affaires grâce aux solutions d épargne et de gestion des dettes

Les solutions mi-hypothécaires, mi-bancaires de Manuvie. Guide du conseiller

c. Calcul pour une évolution d une proportion entre deux années non consécutives

POLITIQUE ECONOMIQUE ET DEVELOPPEMENT

Présentation & organisation du cours. Introduction : décider en milieu industriel. Les méta-heuristiques. Le travail à réaliser

Donnez de la liberté à vos données. BiBOARD.

Transcription:

Cours MATLAB UNIL-FGSE Hiver 009-00. Itroductio Matlab a ue série d algorithmes déjà implémetés pour trouver les racies (root, fzero), les moidres carrés (lsqcurvefit, lsqli ), la solutio de systèmes d équatios (fsolve,fzero) et la miimisatio, e ue et plusieurs dimesios. Pour miimiser ue foctio à ue variable das u domaie o utilise fmibd et si la foctio a plusieurs variables, o utilise fmisearch. Pour le cas de problèmes cotraits o utilise liprog et quadrprog pour les cas liéaires et quadratiques respectivemet. La foctio fmico permet trouver le miimum d u problème avec cotraites o liéaire et multi-variable Matlab possède u toolkit d optimisatio (Optimizatio Toolbox) pour les problèmes plus compliqués, qui automatise via GUI (iterface graphique) le procesus de choix de l algorithme. Matlab utilise plusieurs algorithmes selo le type de problème a résoudre iterior reflective Newto method, trust-regio-dogleg, trust-regio-reflective, levebergmarquardt, simplex, BFGS, MiMax Mais, qu est-ce qu u algorithme d optimisatio? Commet ça marche? Quels sot les paramètres à cotrôler? Quelles sot les limitatios?. Defiitios U algorithme d optimisatio est ue procédure mathématique qui permet d obteir les miimums (ou maximums) d ue foctio réele f (que l o appelle foctio objective) mi x R f (x) E gééral la solutio est u sous-espace A R qui est soumis à u esemble de cotraites (coditios sur les variables), qui sot exprimées comme u système d équatios et iéquatios. Les élémets de A sot appelés solutios admissibles et souvet ot des bores supérieures et iferieures x x x A l Les problèmes d optimisatio peuvet être classés selo le type de restrictio : a) Miimisatio sas restrictios b) Miimisatio avec restrictios d égalité g i (x) = 0 i =,, m e u Maximiser ue foctio f(x) = Miimiser f(x) / 4

Cours MATLAB UNIL-FGSE Hiver 009-00 c) Miimisatio avec restrictios d égalité et d iégalités g i (x) 0 i = m e + m Les algorithmes d optimisatio sot des processus itératifs que géèret ue séquece de valeurs x + à partir d u poit de départ x 0. U algorithme est coverget quad pour importe quel poit de départ, la séquece arrive à la solutio (maximum ou miimum). Les algorithmes d optimisatio ot besoi e gééral des dérivées de premier et deuxième dégré de la foctio Pour le calcul du gradiet d ue foctio, o peut utiliser la dérivatio directe, approximatio par différeces fiies Par exemple, la méthode de descete de gradiet a besoi juste des eres dérivées; la méthode de Newto écessite les èmes dérivées de la foctio objective ; sas dérivée, o peut trouver les méthodes d algorithme du simplexe, simulated aealig, eural etworks, algorithmes géétiques.. Typologie de problèmes Les algorithmes d optimisatio s utiliset e de ombreux problèmes, pour trouver les zéros de foctios, pour miimiser la distace etre des poits de mesure et ue courbe (moidres carrés), itersectios de foctios et pour résoudre des systèmes d équatios à ue ou plusieurs variables. E gééral, il y a pas de méthode idéale et ça déped de la forme de la foctio à étudier et du type de problème à aalyser. La plupart des problèmes e physique et e igéierie peuvet être représetés sous la forme de systèmes liéaires d équatios : A ( x) u = b( x) Ou u est le vecteur de variables d état (déplacemets e problèmes mécaiques, température e problèmes thermiques, cocetratio e problèmes de cotamiats, hauteur d eau e problèmes de fluides ) ; A est la matrice de rigidité ( stiffess matrix ) qui représete les propriétés propres du matériel et peut aussi être ue matrice de coductivité, perméabilité, b est u vecteur représetat les actios ou forces exteres sur u système. E gééral A et b (et pourtat aussi u) sot dépedats d ue série de variables de desig ou paramètres du système que l o veut défiir. O peut trouver différets types de problèmes : a) Cotrol optimal : Détermier les actios b écessaires sur u système pour que u s approche das u état défii comme optimal. Par exemple, quelle pressio ou quelle température dois-je appliquer pour qu u système soit e équilibre. b) Desig optimal : Le but est de trouver les variables de desig x (par exemple desig d ue structure, d u produit) que suivet ue série de critères d optimalité (couts, volume ou poids miimal) et qui satisfait ue série de coditios (par exemple valeurs maximales préétablies) c) Estimatio de paramètres ou problème iverse (problèmes du type moidres carrés) : Trouver les paramètres du modèle afi de correspodre ue foctio aux observatios dispoibles (valeurs calculées qui s approchet des valeurs mesurées das u cas réel). / 4

Cours MATLAB UNIL-FGSE Hiver 009-00 Tous ces types de problèmes impliquet la miimisatio d ue foctio dépedate de x par u et ot des restrictios (coditios) sur x et u. La résolutio du système d équatios peut se compliquer das le cas de problèmes o liéaires ou temporels... Paramètres d u algorithme d optimisatio... Approximatio Iitiale Pour iitialiser l algorithme, il est écessaire d avoir ue approximatio iitiale a la solutio x 0. (Poit de départ). Le choix d ue boe approximatio iitiale coditioe la covergece ou pas à la solutio.... Nombre d Itératios U algorithme d optimisatio utilise u processus récursif, calcule ue ouvelle approximatio (itératio) à la solutio réelle jusqu à ce que les critères de covergece soiet atteits. E programmatio, c est ue boucle de répétitio où la ouvelle approximatio est costruite à partir les approximatios atérieures...3. Vitesse de covergece Quad o parle de covergece proche d ue solutio, o parle de la vitesse à laquelle les termes de l itératio approchet sa limite. x ξ + lim = µ, ou µ >0 et q est l ordre de covergece q x ξ E gééral, les ordres de covergeces so liéaires (p=), quadratiques (p=), cubiques (p=3), quartiques (p=4) Ue méthode d optimisatio avec u ordre de covergece supérieur arrive à la solutio avec peu d itératios. Le choix d ue méthode avec ue haute covergece est importat pour les problèmes d ue certaie taille ou avec de multiples paramètres. Par exemple, pour ue covergece quadratique, o peut dire que le ombre de chiffres corrects est double (au miimum) à chaque pas de calcul. Ou dit sous ue autre forme, l erreur dimiue quadratiquemet à chaque itératio. Si u algorithme e coverge pas, ça e veut pas dire qu il existe pas de solutio. Il existe aucu algorithme uiversel dot la covergece soit garatie, e gééral il déped du choix de l iitialisatio x 0 et de les propriétés de la foctio (cotiuité, dérivabilité)..4. Critère d arrêt Critères pour arrêter le processus de calcul. Il existe plusieurs critères d arrêt. Les plus utilisées : a) Nombre maximal d itératios N max b) f ( x ) < ε Valeur de la foctio 3 / 4

Cours MATLAB UNIL-FGSE Hiver 009-00 x x c) + < ε Différece etre deux approximatios successives R Où ε, ε ε sot les toléraces et sot choisies e foctio du type de problème. E gééral, ce sot des valeurs égligeables ( ε 0-4 -0-6 ). i 3. Rappel 3.. Poits critiques : maximums, miimums Das u esemble ordoé, le plus grad élémet (ou le plus petit) d ue partie de cet esemble est u extremum maximum (ou miimum) s il est supérieur (ou iferieur) à tous les autres élémets de la partie. Ce groupe d élémets sot cous sous le om de poits critiques ou poits extremum défiis sur u domaie d étude D (espace topologique). f(a) est u maximum global si f(a) est u miimum global si x D f ( x) f ( a) x D f ( x) f ( a) f(a) est u maximum local (ou relatif) s il existe u voisiage V de a tel que x V, f ( x) f ( a) f(a) est u miimum local (ou relatif) s il existe u voisiage V de a tel que x V, f ( x) f ( a) Figure - Poits extrêmes (maximums et miimums locaux et globaux) sur ue foctio Pour trouver les maximums et les miimums d ue foctio, o utilise le calcul différetiel, et là ou la dérivée de la foctio s aule, o trouve soit u maximum ou u miimum. U miimum local est facile à trouver, mais il est difficile de trouver u miimum absolu. 4 / 4

Cours MATLAB UNIL-FGSE Hiver 009-00 E gééral, ue foctio a plusieurs miimums. Pour arriver à la solutio désirée (miimum global), il est très importat d aalyser la foctio e détail avat de choisir u poit de départ x 0 pour l algorithme. Pour trouver le type de poit critique, o utilise les deuxièmes dérivées évaluées das le poit d étude. Pour le cas d ue foctio à ue variable f(x), si f (a)>0, o trouve u miimum local e ce poit, si f (a)<0 o trouve u maximum local et si f (a)>0, quad f (a)=0 o a pas d iformatio, mais ça peut être u poit de selle. Par exemple, pour les foctios cotiues et dérivables deux fois, les poits statioaires idetifiés (là ou la dérivée est 0) sot classés selo la matrice Hessiee (miimum local si positif, maximum local si égatif et idéfii si s agit d u poit de selle). Pour le cas d ue foctio à deux variables, o trouve f xx (x,y), f yy (x,y) et f xy (x,y) evalué au poit (a,b). Le détermiat de la matrice Hessiee H = f xx ( x, y)* f yy ( x, y) f xy ( x, y) f xx (a,b)*f yy (a,b)-f xy(a,b) f xx (a,b) Classificatio >0 >0 Miimum Local >0 <0 Maximum Local <0 - Poit de Selle Pour trouver les poits extrêmes (ou poits critiques) d ue foctio de deux variables, par exemple : f (x, y) = x 3 +y 3 +3x -3y -8, o doit trouver les poits qui aulet les dérivés partielles de la foctio x f ( x, y) = 0 et y f ( x, y) = 0. syms x y ; f=x^3+y^3+3*x^-3*y^-8; fx=diff(f,x) fy=diff(f,y) S=solve(fx,fy) La matrice Hessiee H(f) d ue foctio f est ue matrice carrée de ses dérivées partielles secodes. H ij f ( f ) = i j f f = f f f f f f 5 / 4

Cours MATLAB UNIL-FGSE Hiver 009-00 La commade solve trouve les solutios qui sot égales à zéro simultaémet pour les deux foctios dérivées. S est ue structure variable. Pour voir les valeurs de S : [S.x,S.y] Le résultat motre les poits critiques pour la foctio aalysée {(0,0),(0,),(-,0).(-,)}. Pour visualiser les résultats o peut utiliser la foctio : [x,y]= meshgrid (-3:0.:3); z= x.^3+y.^3+3*x.^-3*y.^-8; mesh(x,y,z) xlabel('x') ylabel('y') zlabel ('z=f(x,y)') Ou aussi la foctio surfc(x,y,z) Parfois c est aussi utile de visualiser les liges de iveaux das u graphique séparé cotour(x,y,z) Ou das le même graphique, o utilise pour dessier les cotours e dessous de la maille ou pour dessier les courbes de iveau e dessus de la surface. meshc(x,y,z) surfc(x,y,z) O peut chager le paramètre par défaut des courbes de iveau : cotour(x,y,z,0) O observe mieux les deux poits critiques (-,0 et,0) Matlab permet de dessier les courbes a différetes hauteurs avec : [c,h] = cotour(x,y,z,-4 :-4) ; clabel (c,h) A partir de ces cotours, o observe : Peu importe la directio d approche du poit (-,0) les courbes de iveau augmetet. Par coséquet, o trouve u maximum local à (-,0). Peu importe la directio d approche du poit (0,) les courbes de iveau dimiuet. Par coséquet, o trouve u miimum local au (0,). 6 / 4

Cours MATLAB UNIL-FGSE Hiver 009-00 Pour les poits (0,0) et (-,), o observe ue croissace et décroissace des courbes de iveau selo des directios opposées. O peut dire qu y a u poit de selle à (0,0) et à (-,). 3.. Optimisatio avec Matlab 3... Miimisatio uidimesioel : fmibd Les méthodes d optimisatio pour les foctios à ue variable s appellet recherche par lige ( lie search ). Les algorithmes implémetés das Matlab pour la foctio fmibd sot le Golde sectio search et l iterpolatio parabolique. O crée ue foctio extere das u fichier.m. Travailler avec des fichiers exteres permet de simplifier et réduire les erreurs. fuctio y = f(x) y =./((x-0.3).^ + 0.0)+./((x - 0.9).^ + 0.04) -6; Das livite de commade Matlab o peut observer la foctio clear all fplot('f', [-5 5]) grid o O fait u zoom pour observer où se trouve otre miimum fplot('f', [-5 5-0 5]) grid o Notre miimum se trouve etre 0.3 x mi mi = fmibd('f',0.3,,optimset('display','iter')); fplot('f',[0 ]) hold o ; plot(mi,f(mi),'r*') ; La foctio fmibd permet de trouver le miimum de la foctio das u itervalle doé. Das les optios, o peut voir les approximatio successives et l algorithme que Matlab utilise avec optimset('display','iter') fmibd trouve miimums locaux. C est importat de choisir ue boe approximatio iitiale. fmibbd a ue covergece lete quad la solutio est proche de l itervalle. Essayez ue restrictio de la solutio etre [0,0.6370]. Combie d itératios sot écessaires? 7 / 4

Cours MATLAB UNIL-FGSE Hiver 009-00 La Golde Sectio Search est juste utilisable quad la foctio est cotiue et uimodale (f(x) a juste u miimum das u itervalle [a,b]). O veut réduire l'itervalle qui cotiet la valeur miimum de la foctio. Le facteur optimal de réductio pour l'itervalle c de recherche est le ombre d or ϕ a + b = b a b Figure Nombre d Or Pour x et x das [a ; b], o peut distiguer deux cas : + = ϕ = 5 = 0.680 a) Si f ( x ) < f ( x ), alors [a,b] :=[a,x ] x = x et o calcule le ouvel x selo x = ca + ( c) b b) Si f ( x ) > f ( x ), alors [a,b] :=[x,b] x = x et o calcule le ouvel x selo x = ( c) a + cb pour miimiser est e ce cas liéaire. b a < ε (ou ε est das Matlab la TolX = e-4). La vitesse de covergece L iterpolatio Parabolique : Pour obteir ue covergece superieure, o peut utiliser l Iterpolatio parabolique das l itervalle [a,b]. O peut approximer ue parabole qui passe par les trois poits (a,b et c) et calculer l approximatio suivate comme le miimum de cette parabole (calculable aalytiquemet). Figure 3 Représetatio d algorithmes d Iterpolatio parabolique pour l optimisatio e foctios d ue variable. 8 / 4

Cours MATLAB UNIL-FGSE Hiver 009-00 Cet algorithme e marche pas si o a ue foctio liéaire. Pour certaies foctios, l erreur commise avec cette méthode est fixe parce que proche de la solutio, la foctio deviet localemet liéaire, il suffit de cosidérer que la solutio est le derier poit. 3... Miimisatio multidimesioelle : fmisearch, fmiuc Das Matlab, pour miimiser ue foctio à plusieurs variables, o utilise l algorithme du Simplex qui est implémeté das fmisearch. Matlab utilise la méthode Simplex parce qu o a besoi i de gradiet i de calculer la matrice Hessiee à chaque itératio. La méthode cosiste à etourer le miimum das u simplex. U simplex est u esemble de N+ poits qui etoure le miimum (e D est ue lige, e D c est u triagle, et e 3D c est ue pyramide). Chaque simplexe est caractérisé pour + vecteurs aux vertex du simplex. A chaque pas de calcul, u ouveau poit est pris à l itérieur ou à cote du simplex. La valeur de la foctio e ce poit est comparée avec les valeurs des foctios évaluées aux vertex et ormalemet u des vertex est remplacé par le ouveau poit géérat u ouveau simplex (par réflectio, expasio ou cotractio). Cette procédure est répété jusqu a le diamètre du simplex soit iférieur a ue tolérace spécifiée Figure 4- Représetatio de l Algorithme du Simplexe pour l optimisatio e foctios de deux variables. Exemple : O défiit das le fichier f.m la foctio «baaa» que doit être sur le «Curret Directory» f ( x) = 00( x x ) + ( x : ) fuctio y = f(x) y=00*(x()-x()^)^+(-x())^; 9 / 4

Cours MATLAB UNIL-FGSE Hiver 009-00 Das l ivite de commades de Matlab, o peut miimiser la foctio >> x0 = [5 5]; >> [x, fval, exitflag, output] = fmisearch(f,x0) Ue autre foctio avec ue sytaxe similaire est le fmiuc qui solutioe des problèmes d optimisatio o liéaires et multi-variables et sas restrictios. Cette foctio permet de chager etre algorithmes différets par exemple de méthode de Iterior Reflective Newto (si o coait les dérivées) ou le Méthode BFGS e cas cotraire. L algorithme BFGS approxime la matrice Hessiee (methode quasi-newto). Exemple das le fichier f.m o defies la fuctio suivate f ( x) = x x + x x + x + x : fuctio y = f(x) y= x()^*x()+x()*x()^+x()^+x()^; a) Das l ivite de commades de Matlab, pour le cas BFGS, qui approxime la matrice Hessiae à chaque pas de calcul : >> x0 = [ -]; >> [x,fval,exitflag,output,gradiet,hessia] = fmisearch(@myfu,x0) b) Si o coait le gradiet o peut le défiir explicitemet fuctio [y,dy] = f(x) y = x()^*x()+x()*x()^+x()^+x()^; dy() = *x()*x()+x()^+*x(); dy() = x()^+*x()*x()+*x(); Das le commad de Matlab: >> optios = optimset('gradobj','o'); >> x0 = [ ]; >> [x,fval,exitflag,output] = fmiuc(@f,x0,optios) Pour de grads problèmes, Matlab recommade d utiliser la méthode iterior reflective Newto avec des gradiets cojugués precoditioés parce que c est u algorithme qui coverge plus rapidemet que l atérieur. Pour des problèmes moyes, o utilise souvet le BFGS quasi-newto. Matlab permet aussi d utiliser la méthode de la descete maximale utilisat comme calcul de la matrice Hessiee : HessUpdate steepdesc. Les méthodes implémetées e Matlab sot complexes afi de pouvoir solutioer ue grade variété de problèmes avec la performace maximale (mois itératios). Les algorithmes optimiset aussi l espace de mémoire sur l ordiateur (les problèmes réels impliquet e gééral matrices vides que l o doit stocker e forme vectorielle). Les chapitres suivats expliquet de maière simple les méthodes de Newto et de Descete Maxime pour les problèmes d optimisatio. 0 / 4

Cours MATLAB UNIL-FGSE Hiver 009-00 4. Methode de Newto Le méthode de Newto (ou méthode de Newto-Raphso) est la méthode la plus coue pour trouver les racies (solutios) d ue foctio de variable réelle. O choisit ue valeur iital x0 proche de le solutio. La foctio calcule la tagete au poit (derivée de la fuctio). La prochaie valeur à utiliser est l itersectio de la tagete et l axe x. C est u processus iteratif (iiteratios succesives) qui va s arrêter quad les critères de covergece soit atteits. Le méthode de Newto peut être utilisée das le cas d ue foctio cotiue et différetiable das l iterval de recherche [a,b]. f : [a,b] R La coditio de différetiabilité assure la présece d ue droite tagete a otre foctio. La coditio de cotiuité assure qu il y a pas de sauts das la foctio. Figure 5 Methode de Newto pour trouver zeros de foctios La tagete de la courbe (derivée de la foctio) s obtiet : f (x ) = y f ( x ) = x x x + et si o réorgaize les termes, o peut écrire la méthode de Newto comme: x + = x - f ( x f '( x ) ) ou 0 / 4

Cours MATLAB UNIL-FGSE Hiver 009-00 L itervalle de recherché [a,b], peut être choisi e utilisat le théorème des valeurs itermédiaires qui éoce que pour ue foctio f cotiue das u itervalle [a,b] si f(a)>0 et f(b)<0 (ou l iverse), il existe au mois ue valeur ε [ a, b] qui cofirme f(ε )=0.- Choisir ue approximatio iitiale x 0..- Calculer la valeur de la foctio e ce poit f (x 0 ) 3.- Calculer la dérivée de la foctio f et évaluer la valeur au poit f (x 0 ) 4.- L approximatio x s obtiet avec x = x 0 - f ( x f '( x 0 0 ) ) 5.- Répéter la procédure avec x, x, x 3 jusqu à trouver la racie (solutio) x* E gééral, cette procédure a ue covergece très rapide (covergece d ordre quadratique), surtout quad la valeur iitiale est proche de la solutio. Malgrès ça, elle présete quelques difficultés : a) Pour les approximatios iitiales loi de la solutio, la méthode peut préseter ue o covergece. b) La dérivée de la foctio doit être calculée directemet. Parfois, cette dérivée est pas exacte et o utilise alterativemet des méthodes approximatives du type secat (o pred la secat 3 au lieu de la taget pour chaque itératio) avec u ordre de covergece liéaire. c) Si la dérivée de la foctio est pas cotiue ou ulle, la méthode est pas utilisable. Pour les dérivées proches de zéro (taget horizotal), la méthode peut bypasser la solutio. Pour la méthode de Newto, das le cas de systèmes d équatios à plusieurs variables, o utilise la matrice jacobiee F (x ). Das ce cas, au lieu de diviser par la pete évaluée au poit, o multiplie par l iverse de la matrice jacobiee : F (x ) (x + -x ) = -F(x ) Le méthode de Newto peut être aussi utilisée e optimisatio de faço directe pour trouver les miimums et maximums locaux. Quad o atteit u miimum ou u maximum, la solutio x* est u poit statioaire de la foctio f(x) (x* est ue solutio de la dérivée f (x)) L expasio de Taylor est ue approximatio d ue foctio costruite avec des termes ifiis, avec les valeurs de la foctio et les dérivées e u poit a, avec u voisiage où la foctio est défiie. C est ue approximatio d ue foctio, e u poit, très utilisée e aalyse umérique parce qu elle simplifie la descriptio de foctios complexes. 3 La dérivée est approximée e preat la pete etre deux poits de la foctio. Le méthode de la sécat a u ordre de covergece iférieur a. / 4

Cours MATLAB UNIL-FGSE Hiver 009-00 Si o écrit l expasio de Taylor pour la foctio f(x) : f(x+ x) = f(x)+ f(x) x+ f ''( x) x O trouve le valeur extrême pour : f ( x + x) x = 0 f (x) x + f ''( x) x = 0 Si o a ue foctio dérivable deux fois et l approximatio iitiale est suffisammet proche de la solutio, o peut défiir l algorithme (aalogue au cas atérieur mais e substituat la valeur de la foctio par sa dérivée, et sa dérivée par sa eme dérivée): x + = x - f f '( ''( x x ) ), ou 0 Das le cas de solutio de systèmes d équatios liéaires, (gééralisatio à plusieurs dimesios), o remplace la dérivée par le gradiet f(x), et la eme dérivée avec l iverse de la matrice Hessiee 4 5. Méthode de la Descete de Gradiet ou Descete Maxime Cette méthode cosiste à progresser e directio opposé du gradiet (ou de so approximatio) de la foctio au poit évalué. La méthode de la descete de gradiet est égalemet coue sous les oms de descete de plus forte pete ou descete maximale. O peut progresser à pas costats ou e évaluat le meilleur pas et la directio d avace. A chaque itératio, le poit d arrêt deviet le poit de départ où la foctio est réévaluée et ue ouvelle directio est suivie. Le processus est répété jusqu'à ce que le miimum soit atteit. Schématiquemet o peut résumer le processus aisi :. Défiir ue approximatio iitiale (poit de départ) x 0.. Détermier la directio de descete maximale e x 0 e calculat le gradiet de la fct f 3. Calculer la ouvelle valeur x de sorte que g (x ) < g (x 0 ) x + = x - f '( x ) α, où 0 et α est le pas d avace, qui peut être fixé ou optimisé. 4. Répéter les étapes -4 avec x 0 remplacé par x 4 E gééral les dérivées secodes sot complexes ou impossibles à calculer pour certaies foctios et o utilise des approximatios aux dérivées ou autres algorithmes. 3 / 4

Cours MATLAB UNIL-FGSE Hiver 009-00 La méthode de la descete maximale est u algorithme mois rapide que l atérieur, qui covergera gééralemet liéairemet à la solutio. L avatage est que cette méthode covergera même avec ue cojecture iitiale éloigé de la solutio, mais il peut préseter des problèmes pour approcher des foctios qui ot des formes avec petes peu marquées. Figure 6 Comparaiso etre la méthode de Newto et la méthode de la descete maxime. Extrait de [] 6. Coclusios Pour coclure, - C est très importat de visualiser la foctio que l o veut optimiser avat de choisir l u ou l autre des algorithmes et pour détermier la valeur iitiale à itroduire pour otre aalyse. - Le même algorithme peut s utiliser pour résoudre différets types de problèmes, optimisatio, calcul de racies, solutios d u système d équatios - La o covergece d u algorithme implique pas la o existece de solutio, il faut essayer avec u autre poit de départ x 0 ou utilisat u autre type d algorithme. 7. Référeces [] MATLAB Help [] Wikipedia [3] Amos, Gilat, 007. Matlab, a itroductio with applicatio, Joh Willey ad Soh, Ic. [4] Faires ad Burde, Numerical Aalysis, 004 8 th editio. 4 / 4