programmation non linéaire

Upload: hidou2013

Post on 04-Apr-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/31/2019 Programmation non linaire

    1/251

    Programmation non linaire

    Jean-Pierre Dussault1

    4 janvier 2011

    1. Professeur titulaire, dpartement dInformatique, Universit de Sherbrooke, Sherbrooke, Ca-nada J1K 2R1

  • 7/31/2019 Programmation non linaire

    2/251

    2

  • 7/31/2019 Programmation non linaire

    3/251

    Table des matires

    Prface xi

    Notation 1

    Introduction 3

    1 Prliminaires 91.1 Optimisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.2 Types doptima . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    1.2.1 Optima locaux et globaux . . . . . . . . . . . . . . . . . . . . 111.2.2 Optima stricts . . . . . . . . . . . . . . . . . . . . . . . . . 131.2.3 Optima isols . . . . . . . . . . . . . . . . . . . . . . . . . 131.2.4 Remarques . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    1.3 Conditions doptimalit . . . . . . . . . . . . . . . . . . . . . . . . 14

    1.3.1 Conditions pour un point stationnaire. . . . . . . . . . . . . . . 141.3.2 Conditions pour un optimum . . . . . . . . . . . . . . . . . . 161.4 Algorithmes de descente . . . . . . . . . . . . . . . . . . . . . . . 20

    1.4.1 Rduction dintervalle avec f . . . . . . . . . . . . . . . . . . 211.4.2 Rduction dintervalles sans utiliser la drive . . . . . . . . . . . 25

    1.5 Algorithmes dapproximation polynomiale . . . . . . . . . . . . . . . . 291.5.1 Approximation quadratique de la fonction f . . . . . . . . . . . . 301.5.2 Approximation linaire de la fonction f . . . . . . . . . . . . . . 311.5.3 Approximation cubique de la fonction f . . . . . . . . . . . . . . 34

    *1.5.4 Utilisation de lapproximation cubique de f . . . . . . . . . . . . 351.6 Analyse asymptotique . . . . . . . . . . . . . . . . . . . . . . . . 36

    1.6.1 Notation grand O et petit o . . . . . . . . . . . . . . . . . 361.6.2 Vitesse de convergence dalgorithmes itratifs . . . . . . . . . . . 38

    1.7 Convergence locale quadratique de litration de Newton. . . . . . . . . . 401.7.1 Analyse de litration de Newton . . . . . . . . . . . . . . . . . 401.7.2 Preuve concise de la convergence quadratique . . . . . . . . . . . 411.7.3 Preuve dtaille de la convergence quadratique . . . . . . . . . . . 41

    i

  • 7/31/2019 Programmation non linaire

    4/251

    ii TABLE DES MATIRES

    *1.8 Analyse des approximations polynmiales . . . . . . . . . . . . . . . . 431.8.1 Ordre de convergence de la mthode de la scante . . . . . . . . . 431.8.2 Ordre de convergence de lapproximation cubique de f . . . . . . . 44

    1.9 Algorithme combin . . . . . . . . . . . . . . . . . . . . . . . . . 441.9.1 Algorithme de Newton modifi . . . . . . . . . . . . . . . . . . 45

    1.10 Rgion de confiance . . . . . . . . . . . . . . . . . . . . . . . . . 47

    2 Optimisation locale de fonctions diffrentiables sans contrainte 512.1 Formulation du problme . . . . . . . . . . . . . . . . . . . . . . . 522.2 Conditions doptimalit . . . . . . . . . . . . . . . . . . . . . . . . 53

    2.2.1 Analyse du problme une seule variable . . . . . . . . . . . . . 532.2.2 Conditions doptimalit pour un problme n variables . . . . . . . 55

    2.3 Dduction dune classe dalgorithmes itratifs . . . . . . . . . . . . . . 63

    2.3.1 Recherche de points stationnaires. . . . . . . . . . . . . . . . . 632.3.2 Conditions pour la convergence . . . . . . . . . . . . . . . . . 662.3.3 Recherche de minima locaux faibles. . . . . . . . . . . . . . . . 76

    2.4 Itration de Newton modifie pour loptimisation . . . . . . . . . . . . . 812.4.1 Modification de la direction de Newton . . . . . . . . . . . . . . 822.4.2 Analyse du pas pour la direction de Newton . . . . . . . . . . . 822.4.3 Convergence de la mthode de Newton modifie . . . . . . . . . . 842.4.4 Convergence de la mthode de Newton rgions de confiance . . . . 85

    2.5 Mthodes quasi-Newton. . . . . . . . . . . . . . . . . . . . . . . . 862.5.1 Convergence globale . . . . . . . . . . . . . . . . . . . . . . 87

    2.5.2 Vitesse de convergence . . . . . . . . . . . . . . . . . . . . . 882.6 Fonctions objectif quadratiques . . . . . . . . . . . . . . . . . . . . 88

    2.6.1 Dcomposition de Cholesky . . . . . . . . . . . . . . . . . . . 882.6.2 Algorithme du gradient conjugu . . . . . . . . . . . . . . . . . 90

    2.7 Problmes de moindres carrs . . . . . . . . . . . . . . . . . . . . . 932.7.1 Mthodes de descente pour les systmes dquations. . . . . . . . . 942.7.2 Mthodes spcialises aux mointres carrs . . . . . . . . . . . . . 94

    2.8 Mises en uvre . . . . . . . . . . . . . . . . . . . . . . . . . . . 952.8.1 Mise en uvre de la direction de Newton modifie . . . . . . . . . 952.8.2 Mise en uvre dalgorithmes de rgions de confiance . . . . . . . . 99

    2.8.3 Mise en uvre dun pas admissible . . . . . . . . . . . . . . . . 1012.9 Traitement de problmes de trs grande taille . . . . . . . . . . . . . . 102

    2.9.1 Gradient conjugu non-linaire . . . . . . . . . . . . . . . . . . 1032.9.2 Newton tronqu . . . . . . . . . . . . . . . . . . . . . . . . 105

    2.10 Rsum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1052.11 Extensions et rfrences. . . . . . . . . . . . . . . . . . . . . . . . 106

  • 7/31/2019 Programmation non linaire

    5/251

    TABLE DES MATIRES iii

    3 Programmation linaire 1113.1 Formulation du problme . . . . . . . . . . . . . . . . . . . . . . . 1123.2 Solutions de base ralisables . . . . . . . . . . . . . . . . . . . . . . 112

    3.3 Condition doptimalit . . . . . . . . . . . . . . . . . . . . . . . . 1143.4 Algorithme du simplexe . . . . . . . . . . . . . . . . . . . . . . . . 1153.5 Dualit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1183.6 Dgnrescence . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

    3.6.1 Un exemple de cyclage dans lalgorithme du simplexe . . . . . . . . 1 2 13.6.2 Rgles danti-cyclage . . . . . . . . . . . . . . . . . . . . . . 1223.6.3 Convergence finie de lalgorithme du simplexe . . . . . . . . . . . 125

    3.7 Implantation numrique de lalgorithme du simplexe . . . . . . . . . . . 1263.7.1 Utilisation de la dcomposition LU . . . . . . . . . . . . . . . . 1273.7.2 Utilisation de la dcomposition QR . . . . . . . . . . . . . . . . 128

    3.7.3 Dgnrescence numrique. . . . . . . . . . . . . . . . . . . . 1283.8 Comment obtenir la premire solution de base ralisable . . . . . . . . . . 1283.9 Rsum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1293.10 Extensions et rfrences. . . . . . . . . . . . . . . . . . . . . . . . 129

    4 Optimisation diffrentiable avec contraintes linaires 1314.1 nonc du problme . . . . . . . . . . . . . . . . . . . . . . . . . 1324.2 Conditions doptimalit pour les points stationnaires . . . . . . . . . . . 132

    4.2.1 Formulation inspire de la programmation linaire . . . . . . . . . 1334.2.2 Formulation sous forme de projection . . . . . . . . . . . . . . . 134

    4.3 Conditions de Karush-Kuhn-Tucker. . . . . . . . . . . . . . . . . . . 1354.3.1 Conditions pour les contraintes dgalit. . . . . . . . . . . . . . 1354.3.2 Conditions pour les contraintes dingalit . . . . . . . . . . . . . 1384.3.3 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

    4.4 Remarques gnrales sur les algorithmes. . . . . . . . . . . . . . . . . 1474.4.1 Algorithmes de directions ralisables . . . . . . . . . . . . . . . 148

    4.5 Algorithmes inspirs de la programmation linaire . . . . . . . . . . . . 1484.5.1 Algorithme de Frank&Wolfe . . . . . . . . . . . . . . . . . . . 1494.5.2 Algorithme du gradient rduit . . . . . . . . . . . . . . . . . . 151

    4.6 Algorithmes de projection . . . . . . . . . . . . . . . . . . . . . . . 153

    4.6.1 Exemple de calculs de projection . . . . . . . . . . . . . . . . . 1544.7 Algorithmes de contraintes actives . . . . . . . . . . . . . . . . . . . 156

    4.7.1 Quelques aspects pratiques . . . . . . . . . . . . . . . . . . . 1574.7.2 Un exemple dalgorithme globalement convergent . . . . . . . . . . 159

    4.8 Rsum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1604.9 Extensions et rfrences. . . . . . . . . . . . . . . . . . . . . . . . 162

  • 7/31/2019 Programmation non linaire

    6/251

    iv TABLE DES MATIRES

    5 Optimisation diffrentiable avec contraintes dgalit 1635.1 Conditions doptimalit . . . . . . . . . . . . . . . . . . . . . . . . 164

    5.1.1 Conditions de premier ordre . . . . . . . . . . . . . . . . . . . 164

    5.1.2 Conditions de second ordre . . . . . . . . . . . . . . . . . . . 1695.2 Remarques gnrales sur les algorithmes. . . . . . . . . . . . . . . . . 1725.3 Perturbations des conditions doptimalit . . . . . . . . . . . . . . . . 172

    5.3.1 Solution des conditions de premier ordre . . . . . . . . . . . . . 1735.3.2 Perturbation des conditions doptimalitpnalits . . . . . . . . . 1735.3.3 Perturbation des conditions doptimalitLagrangiens augments. . . 1 7 75.3.4 Proprits de convergence globales de la pnalisation . . . . . . . . 1 8 05.3.5 Existence de trajectoires diffrentiables . . . . . . . . . . . . . . 181

    5.4 Linarisation des conditions doptimalit . . . . . . . . . . . . . . . . 1835.5 Implantation de la pnalisation . . . . . . . . . . . . . . . . . . . . 184

    5.5.1 limination du mauvais conditionnement . . . . . . . . . . . . . 1845.5.2 Convergence locale superlinaire de la pnalisation . . . . . . . . . 1865.5.3 Perturbations des conditions doptimalit . . . . . . . . . . . . . 1885.5.4 Convergence globale et localement superlinaire . . . . . . . . . . 192

    5.6 Lagrangiens et pnalits augments. . . . . . . . . . . . . . . . . . . 1965.6.1 Lagrangiens augments . . . . . . . . . . . . . . . . . . . . . 1975.6.2 Pnalits augmentes . . . . . . . . . . . . . . . . . . . . . . 199

    5.7 Fonctions de pnalit exacte . . . . . . . . . . . . . . . . . . . . . . 2025.8 Rsum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2025.9 Extensions et rfrences. . . . . . . . . . . . . . . . . . . . . . . . 203

    6 Optimisation diffrentiable avec contraintes dingalit 2056.1 Conditions doptimalit . . . . . . . . . . . . . . . . . . . . . . . . 206

    6.1.1 Conditions de premier ordre . . . . . . . . . . . . . . . . . . . 2066.1.2 Conditions de second ordre . . . . . . . . . . . . . . . . . . . 2086.1.3 Une analyse base sur les pnalits . . . . . . . . . . . . . . . . 209

    6.2 Construction dalgorithmes de pnalit . . . . . . . . . . . . . . . . . 2136.2.1 Perturbation des conditions doptimalit I : g(x) 0 . . . . . . . . 2 1 36.2.2 Perturbation des conditions doptimalit II : g(x) = 0 . . . . . . . 2156.2.3 Perturbation des conditions doptimalit III : mthodes semi-intrieures

    2176.3 Proprits gnrales des algorithmes de pnalisation . . . . . . . . . . . 217

    6.3.1 Proprit de convergence globale . . . . . . . . . . . . . . . . . 2176.3.2 Proprit didentification des contraintes actives . . . . . . . . . . 2206.3.3 Proprit numriques . . . . . . . . . . . . . . . . . . . . . . 2206.3.4 Proprits asymptotiques des algorithmes . . . . . . . . . . . . . 222

  • 7/31/2019 Programmation non linaire

    7/251

    TABLE DES MATIRES v

    6.4 Implantation des algorithmes de pnalit . . . . . . . . . . . . . . . . 2236.4.1 limination du mauvais conditionnement . . . . . . . . . . . . . 2236.4.2 Ordre (superlinaire) de convergence locale . . . . . . . . . . . . 2256.4.3 Algorithmes globalement et superlinairement convergents . . . . . . 2 2 6

    6.5 Pnalits et Lagrangiens augments. . . . . . . . . . . . . . . . . . . 2276.5.1 Pnalits extrieures . . . . . . . . . . . . . . . . . . . . . . 2276.5.2 Pnalits intrieures . . . . . . . . . . . . . . . . . . . . . . 2286.5.3 Pnalits primales-extrieures . . . . . . . . . . . . . . . . . . 228

    6.6 Rsum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2296.7 Extensions et rfrences. . . . . . . . . . . . . . . . . . . . . . . . 229

    A Solutions dexercices 231A.1 Exercice 2.2.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231A.2 Exercice 4.7.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232

  • 7/31/2019 Programmation non linaire

    8/251

    vi TABLE DES MATIRES

  • 7/31/2019 Programmation non linaire

    9/251

    Table des figures

    1 Moindres carrs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Catnaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    1.1 Minimisation globale difficile . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    1.2 Optima locaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.3 Optima stricts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.4 Points stationnaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.5 Algorithme de Fibonacci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261.6 Approximation quadratique . . . . . . . . . . . . . . . . . . . . . . . . . . . 301.7 Approximation linaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321.8 Fonction 1 1

    5x26x+5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

    2.1 Points stationnaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572.2 Point de selle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 622.3 Exemple de lalgorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

    2.4 Direction suffisamment descendante . . . . . . . . . . . . . . . . . . . . . . 672.5 Pas admissible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692.6 Exemple des algorithmes de Newton et du gradient . . . . . . . . . . . . . . 1092.7 Exemple des algorithmes de Newton et du gradient . . . . . . . . . . . . . . 110

    4.1 Gomtrie de la projection . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

    5.1 Direction ralisable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1655.2 Courbe ralisable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1665.3 Pnalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

    6.1 Pnalisation

    g(x)+

    2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214

    6.2 Pnalisation

    log(gi(x)) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2166.3 Pnalisation

    egi(x) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218

    vii

  • 7/31/2019 Programmation non linaire

    10/251

    viii TABLE DES FIGURES

  • 7/31/2019 Programmation non linaire

    11/251

    Table des algorithmes

    1.1 Trouve intervalle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211.2 Rduit intervallebissection. . . . . . . . . . . . . . . . . . . . . . . . . . . 221.3 Rduit intervalleFibonacci. . . . . . . . . . . . . . . . . . . . . . . . . . . 281.4 Rduit intervalle acclrbissectionNewton. . . . . . . . . . . . . . . . . . 45

    1.5 Newton avec rgion de confiance. . . . . . . . . . . . . . . . . . . . . . . . . 482.1 Descente simplifie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642.2 Newton avec rgion de confiance. . . . . . . . . . . . . . . . . . . . . . . . . 782.3 Newton modifi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 962.4 GCdirection de Newton modife . . . . . . . . . . . . . . . . . . . . . . . . 1002.5 GCRgion de confiance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1012.6 Armijo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1022.7 L-BFGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1053.1 Simplexe rvis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1174.1 Descente ralisable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1484.2 Gradient rduit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

    4.3 Contraintes actives. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1574.4 Gradient rduit amlior. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1615.1 Pnalit simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1745.2 Lagrangien augment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1795.3 Pnalit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1935.4 Pnalit augmente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200

    ix

  • 7/31/2019 Programmation non linaire

    12/251

    x TABLE DES ALGORITHMES

  • 7/31/2019 Programmation non linaire

    13/251

    Prface

    La programmation non-linaire regroupe un ensemble de sujets dans ltude de problmesdoptimisation. Une fonction objectif, parfois nomme critre, est donne, et le problmeconsiste trouver caractriser calculer un point minimisant (ou maximisant) cette fonc-tion. Parfois, tous les points de Rn sont candidats, parfois, des contraintes limitent le domaine

    de recherche.Les fonctions utilises (fonction objectif, contraintes) sont continues, mme diffren-tiables. On utilise des rsultats danalyse mathmatique pour caractriser les points can-didats; un premier pas consiste donc obtenir des conditions vrifiables satisfaites par lesminima ou maxima recherchs. Lorsquun point ne satisfait pas ces conditions doptimalit,on en dduit une manire de calculer un point meilleur, et finalement un algorithme itratifrduisant (pour la minimisation) progressivement la fonction objectif.

    Un effort important est consacr relier ltude des conditions doptimalit au dvelop-pement dalgorithmes de rsolution. Ce lien entre la thorie et les algorithmes constitue lefil conducteur du texte, ainsi que loriginalit de la prsentation.

    Jai utilis ces notes dans le cours ROP 630, et ROP 831. Alors que dans le cours de

    premier cycle on se consacre principalement aux 4 premiers chapitres, en vitant certainessections plus avances, et au survol des chapitres 5 et 6, le cours 831 approfondi justementles sections plus avances, et traite fond les 2 derniers chapitres. Les sections et exercicesplus avancs des 4 premiers chapitres sont marqus dtoiles.

    La programmation non-linaire est utilise dans plusieurs contextes dapplication, maisce texte traite plutt des aspects mathmatiques et algorithmiques de loptimisation.

    xi

  • 7/31/2019 Programmation non linaire

    14/251

    xii PRFACE

  • 7/31/2019 Programmation non linaire

    15/251

    Notation

    Nous adoptons la convention que Rn consiste en des vecteurs colonnes. Le gradient dunefonction f : Rn R est un vecteur ligne not f(x) def= ( fx1 ,

    fx2

    , . . . , fxn ). On dnote latransposition dun vecteur par vt. Le produit scalaire entre deux vecteurs colonnes vtv.

    Les intervalles, ouverts ou ferms, sont dnots par les crochets [ et ] comme suit :

    [a, b] = {x : a x b} ; [a, b[= {x : a x < b} ; ]a, b] = {x : a < x b} ; ]a, b[= {x : a < x < b}.Les vecteurs ligne ou colonne peuvent se mesurer laide de normes, v ; plusieurs

    normes pourront tre utilises, la norme Euclidienne tant la norme par dfaut : v = v2 =n

    i=1 v2i =

    vtv ;

    v1 = ni=1 |vi| ; v = maxni=1{|vi|} ; vQ =

    vtQv ; Q est une matrice symtrique dfinie positive.

    Les symboles de logique habituels sont ( , non), ( , et) et ( , ou).Puisque le sujet de ce texte concerne loptimisation, en mmoire aux origines de la langueFranaise, jutilise les pluriels latiniss pour maximum, minimum, optimum : maxima, mi-nima, optima.

    1

  • 7/31/2019 Programmation non linaire

    16/251

    2 NOTATION

  • 7/31/2019 Programmation non linaire

    17/251

    Introduction

    Ce texte est un document pdagogique pouvant servir de support pour des cours dopti-misation mathmatique non-linaire en dimension finie. Les sujets sont prsents de manirelmentaire et ne ncessitent quune connaissance du calcul diffrentiel et de lalgbre linaire.Nous utiliserons aussi quelques notions lmentaires de calcul diffrentiel vectoriel.

    Loptimisation mathmatique est utilise dans plusieurs contextes. Les gestionnaires d-sirent maximiser leurs profits, ou minimiser leurs cots de production. Un ingnieur souhaiteminimiser le poids dune structure sous contrainte que la structure soit capable de supporterX tonnes ou encore maximiser la force de la structure sous contrainte que son poids soit auplus X tonnes. Un commis voyageur souhaite trouver le chemin de longueur minimale pourse rendre sa destination.

    Ds que lon utilise un des mots minimum, minimiser, minimal, maximal, maximum,maximiser pour dcrire une situation, il devient possible de formuler sous forme mathma-tique un problme doptimisation. On parle de caractrisation ou de calcul dun optimum,dune solution optimale, le terme optimum signifiant minimum ou maximum selon les cas. La

    dmarche permettant de dcrire une situation donne sous forme dun problme doptimisa-tion mathmatique se nomme modlisation. Dans ce texte, nous ne traitons pas cet aspect demodlisation sauf dans cette introduction o nous allons dvelopper quelques formulationsmathmatiques frquentes en guise de motivation.

    Lobjectif de ce texte est plutt de considrer diverses variantes de formulations de pro-blmes doptimisation mathmatique et de dvelopper des caractrisations des solutions op-timales ; ces caractrisations sont nomme conditions doptimalit. Par exemple, on sait quesi une fonction f possde un minimum en x et si sa drive existe en x, alors f(x) = 0.x sera souvent nomm candidat solution; lquation f(x) = 0 permet donc dliminerde mauvais candidats, car si f(x0) = 0, alors il est impossible que x0 soit un minimum.Un aspect distinctif de ce texte est de relier systmatiquement ces conditions doptimalit

    au dveloppement de mthodes de calcul de solutions optimales, mthodes habituellementnommes algorithmes. La prsentation des conditions doptimalit (aspects plus thoriques)conduit alors naturellement au dveloppement dalgorithmes (aspects plus pratiques).

    Le texte peut servir de support des cours plus appliqus, o les conditions doptima-lit, les algorithmes et leurs proprits sont prsents en dtail mais o les dmonstrationsmathmatiques ne sont quesquisses. Des cours plus avancs peuvent traiter rigoureusement

    3

  • 7/31/2019 Programmation non linaire

    18/251

    4 INTRODUCTION

    les dmonstrations mathmatiques, ou encore approfondir considrablement les aspects demise en uvre informatique.

    Exemples de formulations

    Tel que mentionn ci-haut, ce texte ne traite pas de la dmarche de modlisation saufpour prsenter quelques exemples simples de motivation. La modlisation est une disciplineen soi. Dans cette section, en guise de motivation, nous prsentons trois situations frquentesen imagerie.

    Ajustements de modles aux donnes

    Une situation omniprsente en sciences consiste ajuster un modle des mesures. Lasituation la plus simple est quon a un ensemble de points xi, yi mesurs, et on pense queles y sont en fait dpendants des x selon une formule y = f(a, x) o a est un ensemble deparamtres. Le cas le plus simple est celui o les xi et les xi sont des scalaires, et o larelation dcrite par la fonction f est affine, donc le graphe de la fonction y = f(a, x) est unedroite ; dans ce cas, f(a, x) = a0+a1 x. On a donc n valeurs x1 . . . xn et y1 = . . . yn mesures,et on cherche la meilleure droite pour dcrire ces points, i.e. les meilleures valeurs a0 eta1. Meilleures dans quel sens? Il y a plusieurs possibilits, mais un choix usuel est meilleurdans le sens des moindres carrs : on cherche les valeurs de a0 et a1, donc deux valeurs quiminimisentni=1(yi f(a, xi))2 =ni=1(yi (a0 + a1 xi))2.

    .La fonction que nous minimisons est nomme fonction objectif, ou encore critre. Les

    paramtres sujets la minimisation, ici a = [a0, a1] sont les variabes de dcision.La figure 1 donne une illustration du principe. Les donnes sont gnres en ajoutant unbruit alatoire la droite rouge (traits longs), une droite quelconque est illustre en vert,et la solution retrouve par les moindres carrs est en turquoise (traits courts). On auraitpu choisir plusieurs autres critres que la somme des carrs entre les yi et les f(a, xi), quiauraient donn des approximations diffrentes de la droite en traits (courts) turquoises. Danstous les cas, un problme doptimisation permet de calculer la meilleure droite et cest cequil faut retenir de cet exemple. Les formulations de moindres carrs reviennent souvent.

    Problmes inverses

    Les problmes inverses sont une manifestation dajustement de donnes. La tomographieen est un bon exemple. La situation idalise est la suivante : un ensemble de N rayon-Xest lanc sur un objet, chacun tant dtect de lautre ct de lobjet. On dsire se faireune ide de la structure interne de lobjet. Il sagira de calculer sur une grille de n npixels, un coefficient dattnuation pour chaque pixel de la grille. Pour un rayon donn di,il traverse un certain nombre de pixels de la grille et on mesure la somme des attnuations

  • 7/31/2019 Programmation non linaire

    19/251

    INTRODUCTION 5

    Sur cet exemple,x = [0, 0.5, 1, 1.5, 2, 2.5, 3]et yi = 34 + 12xi + uiavec ui un nombrepseudo-alatoire entre15 et 15, donc y =[44, 29, 40, 63, 68, 65, 85].La droite en vert estune droite quelconque(a = [3, 5]), celle enrouge a = [34, 12] uti-lise pour gnrer lesyi,et finalement celle en

    turquoise la solutionobtenue par moindrescarrs a = [29.46, 16.35]

    Figure 1 Moindres carrs

    Ai,jxj = bi. Pour viter de manipuler trois indices, les pixels sont linariss et numrots

    de un n2. Ai,j reprsente la longueur que le rayon intercepte le jme pixel et donc vautzro pour une grande proportion des pixels. Dans ce contexte, on connat A par la gomtrie

    du tomographe, et b par les mesures et on cherche calculer x, lattnuation des pixels. Oncherche donc minimiser Axb, dans un certain sens car il sagit dun vecteur de dimensionN.

    Remarque 1 En gnral, minimiser une quantit vectorielle na pas de sens et il fautprciser nos intentions. En effet, partant dun point A, par exemple Montral, pensez minimiser selon un autre point B (disons Lennoxville) le dplacement de A B. Quesignifie dplacement deA B ? Distance ? Temps de parcours deA B ? Cot en carbu-rant ? Encombrement routier ? Les seules fonctions sujettes optimisation sans ambigutsont des fonctions valeurs relles.

    Un choix possible est de minimiser la somme des carrs du vecteur r = Ax b, minimiserNi=1 r2i = r

    tr = r2. En fait, pour plusieurs raisons, on construit une fonction rgulari-se Ax b + (x) qui doit tre minimise. Puisque les xi reprsentent des coefficients

  • 7/31/2019 Programmation non linaire

    20/251

    6 INTRODUCTION

    La forme dun cble entredeux pylnes lectriquescorrespond au catnaire.

    Figure 2 Catnaire

    dattnuation, il faut les restreindre tre non-ngatifs et on aboutit la formulation :

    min Ax b2 + (x)sujet x 0

    Le problme ne doit donc considrer que les x E = {x : x 0} et lensemble E est nommensemble ralisable. La solution optimale, identifie tout au long de ce texte avec une toile,

    x, permet le meilleur ajustement aux mesures.

    Problmes issus de la physique

    La nature obit des lois doptimisation. Par exemple, un objet mou ou flexible aurepos adopte une forme ou position qui minimise son nergie. Un exemple simple dune tellesituation est la position dune corde ou chane ou un cble fix en ses deux extrmits etlaiss pendre libre. Quelle forme adopte donc le cble? Pour connatre la rponse, il suffitdexprimer son nergie dans une position donne et de minimiser cette nergie.

    Lnergie potentielle dun cble entre les points xa et xb est donne par la formule

    xbxa y

    1 + y2dx

    o y est la hauteur (y(x) est fonction de x) et

    1 + y2 reprsente la masse du cble(y(x) = yx est aussi fonction de x). videmment, il faut ajouter des contraintes, et len-semble ralisable E = {y : xbxa 1 + y2dx = L, y(xa) = ya, y(xb) = yb} impose la massedu cble proportionnelle sa longueur et le cble est suspendu en xa, ya et xb, yb. Ici, lavariable optimiser est une fonction. Dans ce texte, nous ne traiterons pas ce type dop-timisation. Cependant, en envisageant remplacer lintgrale par des sommes sur N points etla variable y par N valeurs, tout comme N valeurs de x :

    ba f(x)dx

    Ni=1

    f(xi+ 12)

    xi+1 xion aboutit la formulation suivante. Notons Dx xi+1 xi. Nous reprsentons Dyj =y(xj+ 1

    2) yj+1yj

    Dx. galement, nous simplifions en approximant y(xj+ 1

    2) yj+1+yj

    2

    minNi=1

    1 + Dy2i ) yj+yj12

  • 7/31/2019 Programmation non linaire

    21/251

    INTRODUCTION 7

    sujet yj = yj1 + Dx Dyj1, j = 0 . . . N 1

    Ni=1

    1 + (Dyi)2) Dx = L

    y0 = yayN = yb

    Ce problme nomm catnaire est bien connu en mathmatiques, et on peut obtenir unesolution analytique qui sexprime laide de cosinus hyperboliques. Cependant, ce genre deproblme peut se complexifier, cble de densit ingale, lasticit du cble, etc. Les situationsralistes conduisent des formulations discrtises similaires, mais plus complexe. Dans cescas plus complexes, en gnral, il ny a pas de solution analytique et lapproche doptimisationdiscrtise demeure la seule possibilit de solution.

    Le but dans cette introduction nest que dillustrer le type de formulations auxquellesles dveloppements qui suivent pourraient sappliquer. Nous y avons vu un problme de

    minimisation dune somme de carrs de fonctions linaires, une minimisation sujette descontraintes simples de non ngativit, et le dernier exemple illustre une formulation avec descontraintes non linaires complexes ainsi quune fonction objectif non linaire.

    Organisation du texte

    Les chapitres qui suivent traitent de cas progressivement de plus en plus complexes duproblme typique

    min f(x)

    sujet x Eo dans le premier chapitre, E est simplement la droite relle, donc les problmes sont dedimension un. Au chapitre deux, E est de dimension n mais il ny a pas dautre contrainte.Au chapitre trois, on fait un rappel de programmation linaire : E est dcrit par des galitset ingalits linaires de Rn alors que F est une fonction linaire. Historiquement, le dve-loppement de la programmation linaire a marqu un jalon important et a donn naissance la recherche oprationnelle. Ce texte est cependant consacr principalement aux aspectsnon linaires de loptimisation ; cest pourquoi le chapitre sur la programmation linaire estautant succinct.

    Le chapitre quatre conserve les ensembles E linaires mais utilise des fonctions objectifs

    non-linaires. Les chapitres cinq et six abordent les ensembles E dcrits respectivement pardes galits et des ingalits non-linaires.

    Le chapitre premier, intitul prliminaires, traite du cas de fonctions dune variable relle.Ce contexte simple permet de mettre laccent sur la dmarche qui sera adopte tout au longdu texte. Comme mentionn prcdemment, les conditions doptimalit y sont prsentesen dtail pour ensuite dfinir des algorithmes en se basant sur ces conditions. Toutefois,

  • 7/31/2019 Programmation non linaire

    22/251

    8 INTRODUCTION

    avant dtudier des conditions doptimalit, il faut rigoureusement prciser la formulation duproblme sous tude. La structure gnrale des chapitres qui suivent prend donc la formesuivante :

    1. formulation du problme;

    2. nonc de conditions doptimalit;

    3. dduction dalgorithmes partir de points qui ne satisfont pas aux conditions dopti-malit;

    4. tude dtaille de quelques algorithmes spcifiques ;

    5. solution des calculs non-triviaux des algorithmes spcifiques.

  • 7/31/2019 Programmation non linaire

    23/251

    Chapitre 1

    Prliminaires

    Sujets du chapitre

    Vocabulaire des problmes doptimisation. Notion de conditions doptimalit. Algorithmes de descente. Convergence globale des algorithmes. Vitesse de convergence des algorithmes.

    9

  • 7/31/2019 Programmation non linaire

    24/251

    10 CHAPITRE 1. PRLIMINAIRES

    Introduction

    Ce texte est consacr ltude de problmes doptimisation. Ce chapitre de prliminairesvise fixer les lments de vocabulaire qui permettent de dcrire, de parler de ce type deproblmes, de leurs solutions, des algorithmes de rsolution. On profite aussi de ces prlimi-naires pour effectuer certains rappels danalyse mathmatique, dalgbre linaire, et danalysenumrique.

    1.1 Optimisation

    Avant dentreprendre ltude de problmes doptimisation, il est bon de bien dfinir cequest un problme doptimisation. Dans toute sa gnralit, le problme doptimisation

    consiste dterminer la plus petite (grande) valeur possible quune fonction relle f : E R

    nomme fonction objectifpuisse prendre dans lensemble E nomm ensemble ralisable. Sousforme mathmatique, ceci sexprime (pour le cas de la minimisation)

    f = infxE

    f(x),

    et signifie :f(x) f, x E et > 0 x E : f(x) < f + ;

    Une autre faon dcrire la signification de inf est dintroduire lensemble Fdes valeurs quibornent infrieurement f(x) sur lensemble E : F= {v : f(x) v, x E}. Cet ensembleest une demi-droite relle, possiblement ouverte; sa fermeture,

    Fest une demi-droite ferme.

    Alors, f = max{v F}.Pour le cas de maximisation, lexpression est f = supxEf(x), et signifie : f(x)

    f, x E et > 0 x E : f(x) > f . En fait, maximiser f revient minimiser f.Dans la suite de ce texte, arbitrairement, on considre les problmes de minimisation.

    Sans ajouter dhypothse sur la fonction f et lensemble E, il nest pas certain que lonpuisse trouver un lment x de lensemble E pour lequel f(x) = f. Lorsque cest le cas,la formulation mathmatique devient (toujours pour le cas de la minimisation)

    f(x) = f = minxE

    f(x),

    et signifie : f(x) f(x), x E. La notation min est rserve aux problmes pour lesquelsil existe un x E qui minimise f.Exemple 1.1.1 Soit E = R et f(x) = ex. On a 0 = infex, mais ex > 0 pour toute valeurrelle x. Par contre, si f(x) = x2, on a 0 = f(0) = min x2. 2

  • 7/31/2019 Programmation non linaire

    25/251

    1.2. TYPES DOPTIMA 11

    Exercice 1.1.1 [Min et inf] Vrifiez que 0 = infex et 0 = f(0) = min x2 satisfont ladfinition de inf et min.

    Nous nous intressons plutt aux problmes pour lesquels il existe un lment de len-semble tel que f(x) = f. Un tel point de lensemble E est nomm un optimum, qui peuttre un minimumou encore un maximum.

    Les chapitres qui suivent considrent diffrentes hypothses sur les donnes du problme(la fonction f et lensemble E). La suite de ce chapitre de prliminaires propose une classi-fication des solutions, ou optima ainsi que quelques notions lmentaires sur les conditionsdoptimalit et les algorithmes.

    1.2 Types doptima

    Sans hypothse additionnelle, les problmes tels que dcrits plus haut sont en gnralimpossible rsoudre. En effet, considrons la figure 1.1. O se situe le minimum de lafonction ? De quel outil peut-on disposer pour identifier celui (ou ceux) des nombreux (infinis)minima apparents qui est le plus petit ?

    Pour arriver tudier les problmes doptimisation, nous allons classifier les optima selondiffrents critres. Par exemple, sur la figure 1.1, lorigine est un minimum local, mais ceminimum local nest pas isol alors que les autres minima locaux sont des minima locaux

    isols. Voyons ces notions en dtail.

    1.2.1 Optima locaux et globaux

    Jusqu maintenant, nous avons dfini les optima en comparant la valeur de la fonctionf loptimum avec sa valeur en toutautre point de E. Ce type de problme est connu sousle nom doptimisation globale.

    Si lon affaiblit ses attentes, et que lon compare les valeurs de la fonction f dans unvoisinage dun candidat optimum x, alors x est un minimum localde f sil existe un > 0tel que f(x)

    f(x),

    x

    E

    V(x), o V(x) dnote un voisinage de diamtre centr

    en x. 1 La raison principale de se restreindre aux optima locaux est de pouvoir utiliser lesoutils de lanalyse mathmatique. Un optimum global correspond au plus petit des optimalocaux.

    1. Nous effectuons notre tude dans des espaces euclidiens, et donc munis dune norme. Alors, on peut

    dfinir V(x) explicitement par V(x)def= {x : |x x| }.

  • 7/31/2019 Programmation non linaire

    26/251

    12 CHAPITRE 1. PRLIMINAIRES

    Cette fonction comporteune infinit de minimalocaux prs de lorigine,mais il est trs difficiledidentifier son(ses) mi-nima globaux

    0

    0.0005

    0.001

    0.0015

    0.002

    0.0025

    0.003

    0.0035

    -0.05-0.04-0.03-0.02-0.01 0 0.010.020.030.040.05

    (x sin(x))2

    + 0.01|x|(cos(1000x) + 1)

    Figure 1.1 Minimisation globale difficile

    Sur cette fonction, lesdeux maxima locaux sontentours dhexagonesalors que les minima sontencercls. Un des minimaest explos, et on peutconstater que dans levoisinage que dcrit lecercle, la fonction atteintson point le plus bas

    Figure 1.2 Optima locaux

  • 7/31/2019 Programmation non linaire

    27/251

    1.2. TYPES DOPTIMA 13

    Sur cette fonction, leszones encercles consti-tuent des minima et des

    maxima locaux, maisne sont pas des optimastricts : dans un voi-sinage, la fonction estconstante

    Figure 1.3 Optima stricts

    1.2.2 Optima stricts

    La notion doptimum strict concerne le fait que dautres points du voisinage puissentavoir la mme valeur de fonction que x. Par exemple, sur la figure 1.3, les zones encerclescontiennent des minima locaux qui ne sont pas stricts alors que les autres optima locauxsont stricts.

    Dfinition 1.2.1 Un minimum local x est dit strict sil existe une valeur > 0 telle quequel que soit x V(x), x = x, f(x) > f(x) ; lingalit est stricte.

    1.2.3 Optima isols

    Sur la figure 1.3, les optima encercls ne sont pas stricts, mais chaque ensemble doptimaest spar des autres. La notion doptimum isol formalise cette situation. Par exemple, lafonction (x sin( 1

    x))2 comporte une accumulation de minima locaux lorigine. Lorigine nest

    donc pas un optimum isol ni strict car une infinit de points valent zro prs de lorigine.

    Dfinition 1.2.2 Un ensemble connexe doptima O est dit isol si quelque soit un optimumx O, la distance de x O est borne infrieurement par une constante positive.

    Exercice 1.2.1 [Optima isols] Trouvez un exemple de fonction qui admet une accumu-lation de minima locaux lorigine, pour laquelle lorigine est un minimum global.

  • 7/31/2019 Programmation non linaire

    28/251

    14 CHAPITRE 1. PRLIMINAIRES

    1.2.4 Remarques

    Chacun des minima locaux de la fonction (x sin(1/x))2 lorsque x sapproche de zro est

    un minimum satisfait la dfinition 1.2.1. Cependant, plus le minimum sapproche de zro,plus la valeur de diminue de sorte que lorigine ne satisfait plus la dfinition. La notionde minimum isol est semblable. Bien que lorigine ne satisfasse pas la dfinition dunminimum local strict pour la fonction (x sin(1/x))2, on peut trouver des valeurs de x aussiproches de zro que lon veut pour lesquelles (x sin(1/x))2 > 0. Proche de zro, on a doncune infinit de minima locaux, ainsi quune infinit de points qui ne sont pas des minimalocaux. Lorigine nest pas un minimum local isol.

    La notion de minimum isol sapplique des ensembles connexes de minima locaux. Parexemple, la fonction f(x) = max(sin(x), 0) possde plusieurs intervalles ([, 2], [3, 4],...)de minima locaux. Ces intervalles sont tous une distance de , et donc sont isols. Paropposition, la fonction f(x) = x2max(sin(1/x), 0) possde galement de nombreux intervallesde minima locaux. Cependant, prs de lorigine, on retrouve le phnomne que les intervallessont de plus en plus rapprochs les un des autres, de sorte que lon retrouve une infinit depetits intervalles dans tout voisinage de lorigine.

    1.3 Conditions doptimalit

    Malgr les classifications que nous venons deffectuer, il serait difficile, ce stade, diden-tifier ou encore de vrifier quun point x constitue bel et bien un optimum dun problme.En effet, les dfinitions que nous avons exigeraient de comparer la valeur dune fonction en un

    point x avec sa valeur en une infinit de points voisins de x. Lanalyse mathmatique vientalors notre secours, et lorsque la fonction possde certaines proprits de diffrentiabilit,on peut tablir des quations que tout optimum doit satisfaire. Il est alors facile de vrifierquun candidat est un optimum : il suffit de vrifier quil satisfait aux quations, qui sontnommes conditions doptimalit.

    Le but de cette section est dillustrer le principe des conditions doptimalit sur desexemples simples de fonctions relles.

    1.3.1 Conditions pour un point stationnaire

    On apprend dans les premiers cours de calcul diffrentiel quune fonction relle possdedes minima locaux en des points qui annulent sa drive. De tels points sont nomms pointsstationnaires. Si lon dpose une bille infiniment petite en un point stationnaire du graphedune fonction, celle-ci demeure immobile.

    Dfinition 1.3.1 Soit le problme de minimisation minxR f(x). Un point x qui annule ladrive de f, f(x) = 0 est nomm point stationnaire pour le problme de minimisation.

  • 7/31/2019 Programmation non linaire

    29/251

    1.3. CONDITIONS DOPTIMALIT 15

    min

    inflexion

    max

    min et max

    min et max

    max

    Cette fonction illustre dif-frents types de pointsstationnaires. Le dernier

    est un maximum atteinten un point o la fonctionnest pas diffrentiable

    Figure 1.4 Points stationnaires

    On observe donc que les points stationnaires, pour une fonction relle, peuvent tre detrois types : minima locaux, maxima locaux ou points dinflexion. Par consquent, toutminimum local est un point stationnaire, mais la contrapose nest pas vraie.

    Les points stationnaires satisfont donc la condition ncessaire doptimalit de premierordre. Il est remarquable que le rsultat ne suppose pas que la fonction est drivable ailleursquau point x. Nous aurons frquemment besoin dhypothses plus fortes, que la fonction estdrivable et mme que sa drive satisfait une condition de Lipschitz, mais pour linstant,il suffit que la drive existe en x.

    Thorme 1.3.1 Soit x un minimum local de la fonction f; si f est diffrentiable en x.Alors, f(x) = 0.

    Corollaire 1.3.1 Soit x un maximum local de la fonction f; si f est diffrentiable en x.Alors, f(x) = 0.

    Exercice 1.3.1 [Point stationnaire]Dmontrez le thorme 1.3.1 en utilisant la dfinitionde la drive.

    On peut maintenant utiliser ce rsultat pour dmontrer le thorme de Rolle :

    Thorme 1.3.2 Soit une fonctionf diffrentiable sur un intervalle[a, b] et telle quef(a) =f(b) ; alors, il existe un point c [a, b] tel que f(c) = 0.Preuve f tant diffrentiable, elle est continue, et on sait quune fonction continue atteintson minimum (maximum) sur un compact ([a, b]). Si f est croissante en a, la valeur de f enson maximum, disons c est plus grande que f(a) = f(b), et le corollaire 1.3.1 nous assure que

  • 7/31/2019 Programmation non linaire

    30/251

    16 CHAPITRE 1. PRLIMINAIRES

    f(c) = 0. On conclut similairement si f est dcroissante en a en utilisant le thorme 1.3.1,et si f est ni croissante, ni dcroissante en a, alors f(a) = 0. 2

    Ce rsultat se gnralise et nous pouvons noncer le thorme de la moyenne :

    Thorme 1.3.3 Soit f une fonction diffrentiable sur un intervalle [a, b]. Alors, il existeun point c [a, b] tel que f(c) = f(b)f(a)

    ba .

    Exercice 1.3.2 [Thorme de la moyenne] Dmontrez le thorme de la moyenne.Construisez une fonction h diffrentiable partir de f, telle que h(a) = h(b) = 0, etappliquez le thorme de Rolle h.

    Une gnralisation importante du thorme de la moyenne concerne le dveloppement de

    Taylor dune fonction f, et sera utilis abondamment tout au long de ce texte.Thorme 1.3.4 Soit une fonction f de classeCp au voisinage dun point x0 ; on peut ap-procher la valeur de la fonction en un point voisin x0+d dex0 (d reprsente un dplacement)par un polynme

    f(x0 + d) P(d) = f(x0) + f(x0)d + f(x0)

    2d2 . . .

    f(p1)(x0)(p 1)! d

    (p1)

    De plus, on peut exprimer lerreur commise par un reste :

    f(x0 + d)

    P(d) =

    f(p)()

    p!

    dp

    o le point est situ entre x0 et x0+ d, et peut tre exprim par = x0+ d pour une valeurde comprise entre 0 et 1, [0, 1].Remarquons que si p = 1, en identifiant x0 = a, x0+ d = b et = c, on retrouve le thormede la moyenne.

    1.3.2 Conditions pour un optimum

    On apprend aussi dans les cours de calcul que si, en un point stationnaire, la driveseconde dune fonction est positive, il sagit dun minimum local ; si elle est ngative, il sagit

    dun maximum local ; si elle sannule, on ne peut rien conclure.Les points stationnaires qui satisfont la condition suffisante doptimalit de second ordre

    (f(x) > 0) sont donc des minima.Par ailleurs, si x est un minimum local de la fonction f, alors ncessairement on a

    f(x) = 0 et f(x) 0. En effet, si la condition f(x) 0 nest pas satisfaite, x satisfait la condition suffisante pour un maximum de la fonction f.

  • 7/31/2019 Programmation non linaire

    31/251

    1.3. CONDITIONS DOPTIMALIT 17

    Le cas f(x) = 0 comporte une ambigut, illustre par les fonctions f1(x) = x4 etf2(x) = x4. En x = 0, pour les 2 fonctions, on a f(0) = f(0) = 0 bien que lorigine soitun minimum pour f1 et un maximum pour f2.

    Exercice 1.3.3 [Condition doptimalit]

    a) Lorigine est un point stationnaire, cest--dire un point pour lequel f(x) = 0, dela fonction f(x) = x2 cos x. Dterminez sil sagit dun minimum (local), maximum(local) ou point dinflexion.

    b) Montrez que la fonctionf(x) = (2 x2)2 + x5

    possde deux points stationnaires, un maximum et un minimum local.

    c) Trouvez un exemple de fonction qui possde trois points stationnaires, un minimumlocal, un maximum local et un point dinflexion.

    Thorme 1.3.5 Soit f de classe C2. Un minimum local qui satisfait la condition suf-fisante doptimalit (f(x) = 0 et f(x) > 0) est un minimum local strict et isol.

    Preuve Montrons que x est un minimum local strict. Exprimons f laide dun dve-loppement de Taylor dordre 2 autour de x :

    f(x) = f(x) + f(x)(x x) + 12

    f()(x x)2,

    avec compris entre x et x. Les conditions suffisantes nous instruisent que f(x) = 0 alorsque f(x) > 0. Posons 0 < A = f(x). Puisque f est une fonction continue, choisissonsun voisinage V de x V = {x : |x x| } tel que quel que soit V, A

    2< f() < 2A.

    Alors, dans ce voisinage,

    f(x) f(x) = f(x)(x x) + 12

    f()(x x)2

    =(x x)2

    2

    f()

    >(x x)2

    2

    A

    2.

    Montrons maintenant que x est un minimum isol. Pour ce faire, nous allons vrifier quef(x) = 0 dans un voisinage de x. Utilisons le thorme de la moyenne dans V

    f(x) f(x) = f()(x x).

  • 7/31/2019 Programmation non linaire

    32/251

    18 CHAPITRE 1. PRLIMINAIRES

    Les conditions suffisantes nous informent que f(x) = 0 alors que f(x) > 0. Donc, si x Vet x = x, f(x) > A2 (x x) > 0. 2

    Exercice 1.3.4 [Analyse dune fonction] Considrez la fonction h() = 472+2 .

    a) Identifiez tous les points stationnaires de h ;

    b) parmi ceux-ci, identifiez tous les minima locaux de h ;

    c) identifiez deux points o la fonction nest pas borne.

    Exercice 1.3.5 [Analyse dune fonction]Considrez la fonction h() = 112+7.523.a) Identifiez tous les points stationnaires de h ;b) parmi ceux-ci, identifiez tous les minima locaux de h.

    Exercices gomtriques

    Exercice 1.3.6 [Droites et paraboles]

    a) Considrez une droite, dquation paramtrique x(t) = x0 + td, et un certain pointx1 ; x0, x1, d Rn, t R et x(t) dcrit les points de la droite dans Rn. On cherchele point de la droite le plus proche de x1. Ce point recherch, x = x(t) = x0 + tdpeut tre obtenu en minimisant la distance au carr entre x(t) et x1,

    x(t) x12 = (x(t) x1)t(x(t) x1).

    Utilisez les conditions doptimalit pour trouver la valeur t, et vrifiez que votrevaleur est belle et bien un minimum local.

    b) Considrez maintenant une parabole de R2, y = x2. Soit un point P =PxPy

    , on veut

    trouver le point de la parabole le plus proche de P. Comme les points de la parabole

    sont de la forme xx2

    , on peut ramener ltude la minimisation selon la seule variablex de la fonction d(x) = (x Px)2 + (x2 Py)2. crivez les conditions doptimalit dece problme minxR d(x).

  • 7/31/2019 Programmation non linaire

    33/251

    1.3. CONDITIONS DOPTIMALIT 19

    Exercice 1.3.7 [Cercles et ellipses] Dans ces exercices, nous allons tudier comment cal-culer le point le plus proche de lorigine sur une ligne courbe dans R2. On commence avecun cercle, puis une ellipse.

    a) Considrons un cercle de rayon 1 centr sur un point P = (Px, Py)t. Lquation ducercle est {(x, y)t : (x Px)2 + (y Py)2 = 1}. On peut se dbarrasser de y enconsidrant les 2 quations y = Py

    1 (x Px)2. On minimise alors par rapport

    x la norme au carr dun point du cercle, x2 + y2 = x2 + (Py

    1 (x Px)2)2.Considrez le point P = (2, 3)t.

    i) Puisque pour un cercle, la solution est situe sur la droite reliant lorigine aupoint P, obtenez la solution graphiquement. Dterminez aussi laquelle des 2quations (le ) dcrit la solution.

    ii) Vrifiez que cette solution satisfait bel et bien aux conditions doptimalit depremier et second ordre du problme de minimisation en x seulement.

    b) Gnralisons maintenant une ellipse dont les axes sont parallles aux axes cano-niques : {(x, y)t : a(xPx)2+b(yPy)2 = 1} Cette fois-ci, il est plus difficile dobtenirla solution directement. Toujours pour P = (2, 3)t, avec a = 1 et b = 2, il est facilede connatre les points de lellipse sur ses axes : il sagit de (2 1, 3)t, (2, 3

    22

    )t.Illustrez graphiquement ce problme et ramenez-le un problme en x seulement,comme en a).

    Exercice 1.3.8 [Hyperboles] Considrez une hyperbole de R2, y = 1/x. Soit un pointP =PxPy

    , on veut trouver le point de lhyperbole le plus proche de P. Comme les points

    de lhyperbole sont de la formex1/x

    , on peut ramener ltude la minimisation selon la

    seule variable x de la fonction d(x) = (x Px)2 + ( 1x Py)2.a) crivez les conditions doptimalit (dordre un et deux) de ce problme minxR d(x).

    b) Si le point P est sur la droite y = x, on devine quil y a 2 candidats solution naturels :11

    et11. En vous limitant aux x > 0, vrifiez cette intuition en utilisant lesconditions doptimalit; vrifiez dabord que x = 1 est un point stationnaire pour

    d(x). Vrifiez ensuite que lintuition nest pas vraie si P est assez loin de lorigine;quantifiez ce loin de lorigine en utilisant les conditions doptimalit dordre 2.)

  • 7/31/2019 Programmation non linaire

    34/251

    20 CHAPITRE 1. PRLIMINAIRES

    1.4 Algorithmes de descente

    Maintenant que nous savons caractriser des optima locaux par les conditions doptima-lit, penchons-nous sur le problme de calculer, didentifier un optimum local dune fonction.Le principe du calcul est dutiliser un algorithme itratif: partir dun point qui ne satisfaitpas aux conditions doptimalit, on va produire un autre point, meilleur que le prcdent.Puis, on va recommencer, et engendrer une suite de points qui sapproche dun optimum.

    Nous avons vu que la recherche de minima locaux dune fonction peut passer par larecherche de points stationnaires, cest--dire, de racines de la drive de la fonction f(x) = 0.Cependant, ce qui distingue les problmes doptimisation des problmes dquations, cestjustement la fonction f, qui permet de comparer la qualit de deux points : puisque lon veutminimiser f, il est intuitif de prfrer un point x1 un point x2 lorsque f(x1) < f(x2). Nousallons tenter de formaliser cette intuition en engendrant une suite de points {xn} telle quepour tous les membres de la suite, f(xi+1) < f(xi). La mthode qui produit une telle suitede points est nomme algorithme de descente.

    Si un point nest pas stationnaire, alors le signe de la drive de la fonction objectifpermet de savoir de quel ct la fonction diminue. On peut donc envisager de rechercher unminimum local en effectuant de petits dplacements dans la direction de diminution de lafonction. Deux indices nous permettent de savoir que nous avons cern un minimum local :

    la fonction se met augmenter, cest--dire f(xk) > f(xk1) pour la premire fois,donc f(xi) < f(xi1) i < k ;

    la pente de la fonction change de signe pour la premire fois : f(xk)f(xk1) < 0 etf(xi)f(xi1) > 0 i < k.

    Si jamais on na pas cern de minimum local aprs un trs grand nombre dessais, cest un

    indice que la fonction f est peut-tre non-borne infrieurement, ou encore quil nexiste pasde x tel que f(x) = inff(x), puisque nous avons identifi de nombreux termes dune suiteprsume monotone dcroissante.

    Cette ide simple est la base des algorithmes de descente. On voit que les algorithmes dedescente sont construits partir de points qui ne satisfont pas aux conditions doptimalit.On dmontre habituellement un thorme de convergence globale dont lnonc ressemble authorme 1.4.1. Observons que lalgorithme Trouve_intervalle est cod laide de variablesinformatiques : les variables x et x+ reprsentent deux points successifs dans la suite {xk},cest--dire xk et xk+1 pour une certaine valeur de k.

    Thorme 1.4.1 Soit M = +

    dans lalgorithme Trouve_intervalle. Alors, si lalgo-

    rithme termine, lintervalle dextrmitsxk2 etxk contient un minimum local de la fonctionf, suppose de classe C1.

    Preuve Si lalgorithme termine, alors au moins une des deux conditions de terminaisonest satisfaite. Vrifions que chacune de ces conditions assure que lintervalle contient unminimum local.

  • 7/31/2019 Programmation non linaire

    35/251

    1.4. ALGORITHMES DE DESCENTE 21

    Trouve_intervalle{ Donns : x0, > 0 et 0 < M < }cern

    faux

    born vraix+ x0tantque ( cern born )

    x x+x+ x signe(f(x)) cern (f(x+) > f(x)) (f(x) f(x+) 0)born |x| < M

    Algorithme 1.1: Trouve intervalle.

    f(xk) > f(xk1) et f(xk1) < f(xk2). Puisque f est continue, elle atteint son mi-nimum sur lintervalle dextrmits xk2 et xk ; de plus, puisque son minimum est devaleur au moins aussi petite que f(xk1), il existe un point lintrieurde lintervallequi minimise f sur lintervalle. Ce minimum, global sur lintervalle, est en particulierun minimum local.

    f(xk)f(xk1) > 0. Supposons sans perte de gnralit que xk < xk1 et que f(xk) < 0.Alors, f(xk1) > 0. Donc, puisque f est une fonction continue, elle doit traverserlaxedes X en au moins un point x appartenant lintervalle, et ce de manire croissante.

    2

    Remarquons que cet algorithme possde la proprit de convergence globale, cest--dire

    quaucune hypothse nest requise sur les proprits du point initial. Cependant, il ne cerneque des minima locaux. Il est donc important de diffrencier la notion de minimum local etglobal qui prcise la nature du minimum, et la notion de convergence globale dun algorithmequi garanti la convergence peu importe lestim initial.

    1.4.1 Rduction dintervalle avec f

    Une fois quun intervalle contenant un minimum local est cern, on utilise des techniquesde rduction dintervallepour amliorer notre estim de la solution. Par exemple, lalgorithmede bissection value la drive de f au point milieu de lintervalle, et conserve la moiti delintervalle pour laquelle les drives des extrmits sont de signe oppos. Il serait dangereuxdinterrompre lalgorithme lorsque la drive au point milieu sannule : rien ne garantiraitalors que ce point stationnaire est un minimum local. Tel qunonc, lalgorithme est assurde cerner soit un minimum local ou un point dinflexion (mais pas un maximum local) carles conditions assurent que f(x1) demeure toujours positif alors que f(x0) demeure toujoursngatif ou nul.

  • 7/31/2019 Programmation non linaire

    36/251

    22 CHAPITRE 1. PRLIMINAIRES

    Bissection{ Donns : x0 < x1 tels que f(x0) 0 et f(x1) 0 ; }

    {f(x1)

    f(x0) > 0

    }{ un critre darrt, . }rpter

    xm (x0 + x1)/2si (f(xm) 0 ) alors x0 xmsinon x1 xm

    jusqu ( |x1 x0| < )

    Algorithme 1.2: Rduit intervallebissection.

    Thorme 1.4.2 LalgorithmeBissection

    cerne un point stationnairex tel quef(x) 0.

    Preuve Les conditions de lalgorithme assurent que f(x0) 0 alors que f(x1) > 0.Puisque x1 x0 > 0, et que (x1 x0) 0, (f(x1) f(x0)) 0,

    0 lim(x1x0)0

    f(x1) f(x0)x1 x0 = f

    (x).

    2

    Lalgorithme Bissection assure la convergence vers un point stationnaire pour lequella drive nest pas dcroissante. Cest un point qui satisfait aux conditions ncessairesdoptimalit. Il est en gnral impossible de concevoir un algorithme convergeant vers unpoint satisfaisant aux conditions suffisantes doptimalit.

    Exercice 1.4.1 [Point milieu stationnaire]

    a) Trouvez un exemple (une fonction f et un intervalle [a, b]) pour lequel les drives def sont de signe oppos aux extrmits de lintervalle (f(a) < 0 et f(b) > 0) pourlequel le point milieu de lintervalle est un maximum local.

    b) Trouvez un pareil exemple pour lequel le point milieu de lintervalle est un pointdinflexion.

    c) Vrifiez que lalgorithme 1.2 ne converge pas vers un maximum local pour vos deuxexemples.

  • 7/31/2019 Programmation non linaire

    37/251

  • 7/31/2019 Programmation non linaire

    38/251

    24 CHAPITRE 1. PRLIMINAIRES

    Le tableau 1.1 illustre lapplication de lalgorithme avec la fonction ex(x1) et lintervalleinitial [2, 1.8349].

    Lalgorithme de bissection requiert un intervalle de dpart qui satisfait la seconde

    condition de terminaison de lalgorithme qui identifie un intervalle cernant un minimumlocal. Si jamais lalgorithme 1.1 avait termin avec un intervalle satisfaisant la premirecondition, cest--dire f(xk) > f(xk1) et (f(xk1) < f(xi) i < k 2), alors il faudraitdabord identifier un point de lintervalle de bornes xk et xk1 dont la drive est de signeoppos la drive en x0.

    Exercice 1.4.2 [Initialisation de bissection]

    a) Dans le contexte de la premire condition de terminaison de lalgorithme de recherchedintervalle, justifiez quil existe un point de lintervalle de bornes xk et xk1 dont ladrive est de signe oppos la drive en x0 ;

    b) Proposez une technique de rduction dintervalle pour identifier un tel point.

    Exercices gomtriques

    Exercice 1.4.3 [Parabole] Suite de lexercice 1.3.6 pour la fonction d(x) = (x Px)2 +(x2 Py)2.

    a) partir de x = 1, appliquez lalgorithme trouve_intervalle pour le point P = 12.

    b) partir de lintervalle trouv en a), effectuez une tape de lalgorithme bissection(toujours pour le point P =

    12

    ).

    c) Recherchez dautres points stationnaires pour ce problme, et identifiez leur nature.

    Exercice 1.4.4 [Ellipse]Suite de lexercice 1.3.7

    a) Vrifiez quen prenant parmi les points sur les axes les deux plus proche de lorigine,on ne peut pas appliquer directement lalgorithme de bissection car une des drives

    est .b) Comme la drive lautre point est positive, faites comme si la drive infinie tait

    finie (et ngative) et effectuez des itrations de bissection jusqu ce que le point drive infinie soit remplac.

  • 7/31/2019 Programmation non linaire

    39/251

    1.4. ALGORITHMES DE DESCENTE 25

    Exercice 1.4.5 [Hyperboles] Suite de lexercice 1.3.8

    a) partir de x = 1, appliquez lalgorithme trouve_intervalle pour le point P =12

    ;utilisez un paramtre = 0.5.

    b) partir de lintervalle trouv en a), effectuez une tape de lalgorithme bissection(toujours pour le point P =

    12

    ).

    1.4.2 Rduction dintervalles sans utiliser la drive

    Dans certaines applications, la drive de f peut-tre difficile calculer. Il est possible deconcevoir une mthode de rduction dintervalle qui nutilise que la fonction f. Supposons

    tout de mme que la fonction f est continue. Soient trois points a < x1 < b. Si f(x1) x1 et que f(x2) f(x1). Nous discuterons du cas limite o f(x2) = f(x1)plus loin. Donc, pour linstant, supposons que f(x2) < f(x1). Alors, le triplet a = x1 < x2 < bsatisfait aux mmes conditions que le triplet a < x1 < b, cest--dire f(x2) < f(a) etf(x2) < f(b). On a donc rduit lintervalle [a, b] lintervalle [a, b] en maintenant un pointintrieur lintervalle de valeur de fonction plus petite que ses extrmits.

    Si le cas f(x1) = f(x2) ne se prsente jamais, nous avons en main une stratgie derduction dintervalle qui cerne un minimum local de f condition que f possde la propritque tous ses minimas locaux stricts dans [a, b] sont uniformment isols, cest--dire quil

    existe un tel que pour tout minimum local strict x de f dans [a, b], f(x) > f(x), x :|x x| .Maintenant, si le cas f(x1) = f(x2) se prsente infiniment souvent, il est possible que le

    point cern appartienne une zne plateau de la fonction f, dont lintrieur est constitu deminima locaux dans un sens faible.

    Il faut galement sassurer que le choix de x2 conduit bel et bien une suite dinter-valles imbriqus dont la longueur converge zro. Nous avons maintenant tout ce quil fautpour montrer la convergence globale dune famille de techniques de rduction dintervallesnutilisant que la fonction f.

    Lemme 1.4.1 Soit un intervalle [a0, b0] et une fonction f, continue sur [a0, b0] et un pointx01 tels que

    1. f(a0) f(x01),2. f(b0) f(x01)3. il existe un tel que tout ensemble connexe de minima locaux de f est isol de tout

    autre minimum local par une distance dau moins ;

  • 7/31/2019 Programmation non linaire

    40/251

    26 CHAPITRE 1. PRLIMINAIRES

    Les premiers nombres deFibonacci sont 1, 1, 2, 3,5, 8. Sur cet exemple, on

    voit que lintervalle ini-tial est dcoup en 3/8 et5/8. Lintervalle restant,[3/8, 1] est son tour d-coup en 2/5 et 3/5. Lin-tervalle restant est main-tenant de longueur 3/8,et est dcoup en son1/3 et 2/3. Finalement,lavant dernier intervalle,

    de longueur 1/4, est d-coup en deux; on choi-sit le point milieu, et unpoint 1/2 + .

    Figure 1.5 Algorithme de Fibonacci

    soit galement un choixxk2 tel que|xk2xk1 |bkak 0,

    |xk2ak |bkak 0 et

    |xk2bk|bkak 0. Alors, limk ak =

    limk xk1 = limk bk = x et x est un minimum local de f dans ]a0, b0[.

    Preuve Pour une infinit de points ak < x : |a x| < et une infinit de points bk > x :|bk x| < , on a f(ak) f(x) et f(bk) f(x).

    Raisonnons par labsurde et supposons que x nest pas un minimum local de f. Il existealors une suite de points xj qui sapprochent de x tels que f(xj) < f(x). La suite xj estentrelace avec au moins une des suites ak ou bk. Par consquent, chacun des xj est encadrdun couple ckj , ckj+1 o c = a ou b. Donc, pour chaque j, on a soit un triplet akj < xj f(x02) > f(b

    0) (ou sa symtrique), et que lalgorithme conservea1 = x01, alors pour un certain nombre dtapes, on peut se retrouver avec la situationf(ak) > f(xk1) > f(b

    k). Cependant, dans ce cas, comme les valeurs de ak sont monotonescroissantes, et puisque f est croissante en bk = bk1 = . . . = b0, tt ou tard, f(xk1) deviendraplus petit que f(b0), et partir de ce moment, le lemme 1.4.1 sapplique, assurant quelalgorithme sapproche dun minimum local. 2

    Exercice 1.4.6 [Applications dalgorithmes]

    a) Pour la fonction f(x) = ex(x1), effectuez trois itrations des deux algorithmes (bis-

    section, Fibonacci) partir de lintervalle initial [1, 1].b) Mme question pour la fonction f(x) = x2(1 cos x) sur lintervalle [1, 0.5].c) Un inconvnient de la mthode de Fibonacci est de devoir fixer a priori le nombre

    ditrations ; si on se fixait une infinit ditrations, en sachant que

    limi

    Fi+1Fi

    = ,

    le nombre dor = 1 + 1 =(1+

    5)2 = 1.618..., on utiliserait ce rapport chaque

    itration. Cette mthode, nomme section dore, consiste donc utiliser

    a, a + (2 )(b a), a + ( 1)(b a), b

    comme quatre points initiaux, et conserver ce rapport chaque itration. Effectueztrois itrations de cet algorithme sur les fonctions de a) et b).

  • 7/31/2019 Programmation non linaire

    42/251

    28 CHAPITRE 1. PRLIMINAIRES

    Fibonacci{ Donns : a et b tels que f(a) < 0 et f(b) > 0 ; }{ un nombre de rductions de lintervalle, n ; }{ la suite des nombres de Fibonacci }{ F1 = 1, F2 = 1, Fn = Fn1 + Fn2, n = 2 . . . }{ Hypothse : les minima locaux de f sont uniformment isols. }L b ax1 a + FnFn+2 Lx2 a +

    Fn+1Fn+2 L

    f1 f(x1); f2 f(x2)k 1rpter

    si (f1 < f2 ) alorsb x2; x2 x1x1 (a Fnk+1 + b Fnk)/Fnk+2f2 f1; f1 f(x1)

    sinona x1; x1 x2x2

    (b

    Fnk+1 + a

    Fnk)/Fnk+2

    f1 f2; f2 f(x2)k k + 1

    jusqu ( k = n)x2 x2 + f2 f(x2)si (f1 < f2 ) alors

    rsultat [a, x2]sinon

    rsultat [x1, b]

    Algorithme 1.3: Rduit intervalleFibonacci.

  • 7/31/2019 Programmation non linaire

    43/251

    1.5. ALGORITHMES DAPPROXIMATION POLYNOMIALE 29

    Rduction dintervalle utilisant f et f

    Nous venons de voir quil est possible, partir dun intervalle contenant un minimum

    local, de le rduire systmatiquement en utilisant une bissection sur la drive f(x), ou encoredirectement en utilisant f(x). Si on dispose de f et f, on devrait pouvoir sen servir. En fait,lalgorithme trouve_intervalle fournit un intervalle qui garanti inclure un minimum local,bien que ne satisfaisant pas aux conditions de lalgorithme de bissection sur f(x). Voici unevariante de bissection qui maintient pour le sous-intervalle conserv les conditions de sortiede trouve_intervalle. Supposons que lintervalle courant soit xg, xd et que lextrmitgauche soit celle pour laquelle f(xg) < 0, et donc soit f(xd) > f(xg), soit f(xd) >= 0 ; lesintervalles imbriqus que nous allons produire satisfont tous linvariant

    (f(xg) < 0) (f(xd) > f(xg) f(xd) >= 0).Nommons xs le point suivant calcul. Alors, si f(xs) > f(xg), on remplace xd par xs et

    linvariant est satisfait. Autrement, f(xs) f(xg) et donc si f(xs) < 0, on remplace xg parxs, sinon, on remplace xd par xs. Le cas o f(xd) > 0 et soit f(xg) > f(xd), soit f(x)g

  • 7/31/2019 Programmation non linaire

    44/251

    30 CHAPITRE 1. PRLIMINAIRES

    On observe deux des pos-sibilits dapproximationquadratique exactes enx0 = 0. Remarquonsque lapproximation s-cante possde la mmepente que f en x1 =0.2. En gnral, le pointauxiliaire est plus loignde la solution, et lap-proximation de Taylor estmeilleure que lapproxi-mation scante.

    0.7

    0.8

    0.9

    1

    1.1

    1.2

    1.3

    1.4

    1.5

    1.6

    1.7

    1.8

    -0.4 -0.2 0 0.2 0.4 0.6

    x0

    xxNxS

    x1

    #

    cc

    c

    T

    f(x) = ex(x1)Taylor

    scante, x1 = 0.2

    Figure 1.6 Approximation quadratique

    1.5.1 Approximation quadratique de la fonction f

    Plusieurs stratgies permettent dapprocher (localement) la fonction f par un polynme

    p de degr deux. La plus naturelle, lorsque la fonction f est de classe C2

    est dutiliser undveloppement de Taylor dordre 2 autour dun point x0 :

    p(x)def= f(x0) + f

    (x0)(x x0) + 12

    f(x0)(x x0)2.

    Nous verrons plus loin que cette approximation correspond la mthode de Newton pourcalculer une racine de f(x). Une fois que nous avons dtermin une approximation quadra-tique de f, il suffit de calculer son minimum pour obtenir un estim (que lon espre meilleur)du minimum de f. Utilisons la condition doptimalit sur la fonction p(x) : p(x) = 0, cest--dire f(x0)(x x0) + f(x0) = 0. Pour dfinir le prochain point xN, la mthode nommemthode de Newton utilise donc la formule suivante : xN = x0 f

    (x0)f(x0) .En fait, un polynme quadratique p est dfini par trois coefficients p(x) = a + b(x

    x0) +c2(xx0)2, et il suffit de fournir trois quations linaires permettant de dfinir ces trois

    coefficients inconnus. Pour lapproximation de Taylor, les trois quations sont les suivantes :p(x0) = f(x0), p(x0) = f(x0), et p(x0) = f(x0). Une autre possibilit consiste choisirtrois points, x0, x1, x2 et utiliser les quations p(x0) = f(x0), p(x1) = f(x1), et p(x2) = f(x2).

  • 7/31/2019 Programmation non linaire

    45/251

    1.5. ALGORITHMES DAPPROXIMATION POLYNOMIALE 31

    Exercice 1.5.1 [Approximation quadratique]Fournissez les coefficients du polynme qua-dratique issu des conditions p(x0) = f(x0), p(x1) = f(x1), et p(x2) = f(x2). Fournissezaussi une expression pour le minimum de la fonction quadratique.

    Dautres possibilits sont envisageables, comme dutiliser deux points x0 et x1 et lestrois quations suivantes : p(x0) = f(x0), p(x0) = f(x0), p(x1) = f(x1). Dans ce cas,les coefficients du polynme sont : a = f(x0), b = f(x0) et c =

    f(x1)f(x0)x1x0 . Nous verrons

    plus loin que cette approximation correspond la mthode de scante pour calculer uneracine de f(x). Comme toutes les approximations quadratiques de f, un estim (que lonespre meilleur) du minimum de f est donn par x+ = x0 bc , condition bien sr que

    p(x) = c > 0.

    1.5.2 Approximation linaire de la fonction f

    Puisque nous recherchons une racine de f(x), nous pouvons envisager utiliser une ap-proximation linaire de g def= f pour identifier un meilleur estim. Si lon approche g parun dveloppement de Taylor dordre un, g(x) g(x0) + g(x0)(x x0), on obtient la m-thode de Newton. Le prochain estim est une racine de lapproximation linaire, cest--direx+ = x0 g(x0)g(x0) qui correspond au mme point que dutiliser une approximation quadratiquede f.

    Si lon utilise plutt deux points pour calculer une approximation scante de g, on obtient

    g(x) g(x0) + g(x1)g(x0)x1x0 (x x0) et le prochain point, toujours donn par une racine delapproximation linaire, est xS = x0 g(x0)(x1x0)g(x1)g(x0) . Cest la mthode de la scante.

    Exercice 1.5.2 [Applications dalgorithmes]

    a) Pour la fonction f(x) = ex(x1), effectuez trois itrations des trois algorithmes (New-ton, scante, Approximation quadratique passant par trois points) partir de lin-tervalle initial [1, 1]. Pour lapproximation utilisant trois points, choisir le troisimepoint en 0.

    b) Mme question pour la fonction f(x) = x2(1

    cos x) sur lintervalle [

    1, 0.5].

    Exercice 1.5.3 [Scante]Suite de lexercic 1.3.4 sur la fonction h() = 472+2 .

  • 7/31/2019 Programmation non linaire

    46/251

  • 7/31/2019 Programmation non linaire

    47/251

    1.5. ALGORITHMES DAPPROXIMATION POLYNOMIALE 33

    a) Peut-on utiliser la mthode de la scante pour identifier un minimum local de h()dans lintervalle [1.0, 0.9] ? Est-ce que le prochain point est meilleur que le point

    milieu de lintervalle ?b) Est-ce que le prochain point de la mthode de la scante partir des points 0 et 0.3est meilleur que le point milieu de lintervalle [0, 0.3] ?

    c) Dans la mthode de la scante, est-il possible que xk+1 = xk ? Si oui, dans quellescirconstances (donnez un exemple) ? Si non, pourquoi?

    Exercice 1.5.4 [Parabole] Suite de lexercice 1.4.3

    a) partir du dernier point obtenu par bissection, effectuez une itration de Newton-Raphson et vrifiez que le point obtenu satisfait approximativement aux conditionsdoptimalit.

    b) partir du dernier intervalle obtenu par bissection, effectuez une itration de lamthode de scante et vrifiez que le point obtenu satisfait approximativement auxconditions doptimalit.

    Exercice 1.5.5 [Ellipses...]Suite de lexercice 1.4.4...a) partir du dernier point obtenu par bissection, effectuez une itration de Newton-

    Raphson et vrifiez que le point obtenu satisfait approximativement aux conditionsdoptimalit.

    b) partir du dernier intervalle obtenu par bissection, effectuez une itration de lamthode de scante et vrifiez que le point obtenu satisfait approximativement auxconditions doptimalit.

    Exercice 1.5.6 [Hyperboles...] Suite de lexercice 1.4.5... partir de chacune des extr-mits de lintervalle final trouv lexercice 1.4.5, page 25, effectuez une itration delalgorithme Newton-Raphson(toujours pour le point P =

    12

    ).

  • 7/31/2019 Programmation non linaire

    48/251

    34 CHAPITRE 1. PRLIMINAIRES

    1.5.3 Approximation cubique de la fonction f

    La mthode de la scante utilise f(xk+1) et f(xk) dans ses calculs. Cependant, on dispose

    dautre information, soit f(xk1) et f(xk), ce qui permet de dvelopper une mthode plusperformante compte tenu de linformation plus riche quelle utilise.Il sagit dutiliser une approximation cubique de f en se basant sur les valeurs de f et

    de sa drive f en deux points xk et xk1 ; notons f(xk) = fk, f(xk1) = fk1, f(xk) = fk,f(xk1) = fk1.

    Cherchons donc un polynme cubique p(t) tel que p(0) = fk, p(0) = fk, p() = fk1 etenfin p() = fk1, o = (xk1 xk).

    Considrons p(t) = fk + fkt + At2 + Bt3, qui satisfait demble aux deux premires

    conditions. p(t) = fk + 2At + 3Bt2, do on tire les deux quations nous permettant de

    dterminer A et B :

    2A + 3B = fk1 fk fk (1.1)2A + 32B = fk1 fk. (1.2)

    Il est plus facile de rsoudre ces quations pour obtenir A et 2B :

    A = (fk + z) (1.3)2B =

    1

    3(fk + f

    k1 + 2z) (1.4)

    o z = 3(fk fk1) + fk + fk1. On exprime maintenant

    p(t) = fk 2(fk + z) t + (fk + f

    k1 + 2z)( t

    )2.

    Les racines t sont

    t

    =

    fk + z

    (fk + z)2 fk(fk + fk1 + 2z)fk + f

    k1 + 2z

    (1.5)

    qui scrit, dnotant w =

    z2 fkfk1,

    t

    =

    fk + z

    w

    fk + fk1 + 2z.

    Pour dterminer laquelle des deux racines on doit choisir, quelle branche du dans lquation1.5, puisque nous voulons un minimum local du polynme cubique, nous choisissons celuipour lequel p(t) > 0, et on constate que p des deux racines vaut 2w/, et donc on prendla branche de signe oppos pour obtenir t/ et finalement, xk+1 = xk + t.

  • 7/31/2019 Programmation non linaire

    49/251

    1.5. ALGORITHMES DAPPROXIMATION POLYNOMIALE 35

    Les mthodes de Newton et de la scante peuvent produire des suites ne sapprochantpas dun minimum local, et mme chouer si leur dnominateur est ngatif. Cette mthodebase sur le polynme dinterpolation cubique de f peut chouer dans des circonstances

    additionnelles : lorsque le discriminant z2 fkfk1 est ngatif, ou encore lorsque le terme ent2 dans lexpression de p, (fk + f

    k1 + 2z) = 0.

    Exercice 1.5.7 [chec de lapproximation cubique]

    a) Vrifiez que le polynme dinterpolation cubique de la fonction de la figure 1.6 enutilisant les points de la figure (x0 = 0 et x1 = 0.2) ne possde pas de minimumlocal. Illustrez graphiquement, et interprtez cet chec de la mthode.

    b) Vrifiez que la mthode dinterpolation cubique choue pour une fonction f quadra-tique. Proposez une technique plus robuste.

    *1.5.4 Utilisation de lapproximation cubique de f

    Les conditions de sortie de lalgorithme 1.1 permettent de garantir quune fonction cu-bique interpolant xk, fk, gk et xk1, fk1, gk1 possde son minimum local dans lintervalledextrmits xk et xk1. Par consquent, on peut utiliser linterpolation cubique p(t) de lafonction f pour obtenir le point x qui minimise p. Alors, sans perte de gnralit, supposonsque p(0) < 0 et que xk < xk1. Dans ce cas, on a p() > 0 ou p() > p(0).

    f(x) > 0 : on conserve lintervalle [xk, x] ;

    f(x) < 0 : il faut considrer deux cas : f(x) f(xk) : on choisit [xk, x] ; f(x) < f(xk) : on choisit [x, xk1] ;

    f(x) = 0 : deux possibilits : f(x) f(xk) : on choisit [xk, x] ; f(x) < f(xk) : lalgorithme termine.

    Ainsi, les conditions pour pour que le nouvel intervalle contienne un minimum local sontprserves. Le cas o f(x) = 0 et f(x) < f(xk) est problmatique car lalgorithme din-terpolation cubique peut sy terminer, mme sil sagit dun maximum local pour lequelf(x) > 0.

    *Exercice 1.5.8 [Panne de la rduction dintervalle par polynome cubique] Fournissez unexemple pour lequel lalgorithme termine en un point qui satisfait f(x) = 0 et f(x) < f(xk),mais pour lequel x est un maximum local de f.

  • 7/31/2019 Programmation non linaire

    50/251

    36 CHAPITRE 1. PRLIMINAIRES

    Il ne faut pas sillusionner et esprer que lordre de convergence de cette stratgie de r-duction dintervalle soit quadratique : en gnral, lalgorithme remplace toujours la mme ex-trmit de lintervalle, et la convergence asymptotique nest que linaire. Cependant, en com-

    binant cette stratgie de rduction dintervalle la vritable interpolation cubique (conserverune paire de points conscutifs en plus des extrmits de lintervalle), on atteint lordre qua-dratique sans utiliser la drive de second ordre.

    1.6 Analyse asymptotique

    Nous nous intresserons tout au long de ce texte au comportement asymptotique desalgorithmes itratifs. En examinant la table 1.2, on peut observer que les trois derniresitrations rduisent lerreur (distance la solution, ou encore |f(x)|) trs rapidement. Lecomportement de lalgorithme est donc bien meilleur proche de la solution que dans lespremires itrations, plus loin de la solution. Ce comportement proche de la solution estnomm convergence asymptotique. Cette section prsente des outils pour faciliter lanalyseasymptotique.

    Nous prsentons dabord les symboles de Landau qui permettent dexprimer le compor-tement dune fonction pour des valeurs soit trs petites proches de 0, soit trs grandes.Les algorithmes itratifs que nous tudions rduisent progressivement lerreur, de sorte quelerreur une itration donne peut tre vue comme une fonction de lerreur litrationprcdente. quel point cette erreur sera plus petite dune itration lautre?

    1.6.1 Notation grand O et petit o

    Soient deux fonctions, f et g, de R dans R, dun mme paramtre x telles que f(x) =g(x) = 0.

    Dfinition 1.6.1 Nous notonsf O(g) au voisinage de x si et seulement si il existe 0tel que

    lim supxx

    f(x)g(x) = < .

    Une autre manire dexprimer cette notation est quil existe un x0 et une valeur M > 0 telsque x : |x x| < |x0 x| on a |f(x)| M|g(x)|.

    En prose, f est grand O de g lorsque f sapproche de zro au moins aussi vite queg sapproche de zro quand x tend vers x. On laisse montrer, en exercices, les propritssuivantes.

    Exercice 1.6.1 [Notation O]

  • 7/31/2019 Programmation non linaire

    51/251

    1.6. ANALYSE ASYMPTOTIQUE 37

    a) Dmontrez les proprits de la notation grand O

    i) f O(g) entrane que f O(g), o est une constante finie;ii) f + g O(max(|f|, |g|)) ;

    b) que peut-on dire de 1f

    O() ?

    Par exemple, deux fonctions linaires f(x) def= afx et g(x)def= agx sont mutuellement

    grand O lune de lautre proche de x = 0 si af = 0 et ag = 0 car, selon la dfinition,f O(g) et inversement, g O(f) puisque fg =

    afag

    . Ces deux fonctions sapprochent dezro linairement.

    Dans un second exemple, supposons f comme ci-haut, et g def= agx2 prs de x = 0.Maintenant, selon la dfinition, g

    O(f) car g

    f= ag

    afx

    0 mais pas linverse car f

    g=

    af

    agx . g sapproche de zro quadratiquement, ce qui est plus vite que f qui sapproche de zrolinairement.

    Exercice 1.6.2 [Ordre de convergence zro] Soit g une fonction relle de classe C1(R)avec g(x) = 0 et g(x) = 0. Montrez quil existe un voisinage de x (dfini comme {x :|x x| }) et des constantes appropries K1, K2, K3, K4 > 0 telles que

    K1|x x| |g(x)| K2|x x|K3

    |g(x)

    | |x

    x

    | K4

    |g(x)

    |

    x : |x x| .

    Ceci dmontre, selon la notation O, que g(x) O(x x) et que (x x) O(g(x)) sig(x) = 0 et g(x) = 0. g pourrait tre la drive dune fonction minimiser f = g et x unminimum local de f et dans ce cas, g(x) > 0.

    Similairement, lorsque f est ngligeable par rapport g, on peut utiliser la notationpetit o.

    Dfinition 1.6.2 Nous notons f o(g) si et seulement si limsupxx f(x)g(x)

    = 0.

    Lutilisation de cette notation grand et petit O permet de dissimuler les constantes sous-jacentes pour ne retenir que lessentiel du comportement asymptotique des fonctions que nouscomparons. Il faut cependant faire preuve dune grande prudence en utilisant ces notationsraccourcies. Voici quelques exercices en guise de mise en garde.

  • 7/31/2019 Programmation non linaire

    52/251

    38 CHAPITRE 1. PRLIMINAIRES

    Exercice 1.6.3 [Proprits deO] Soient f1, f2 et f3 trois fonctions qui sannulent en x.

    a) Montrez que f1 O(f3) et f2 O(f3) implique (f1 + f2) O(f3).b) Montrez que f1 O(f2) et f1 O(f3) nimplique pas quef1 O(f2 + f3).

    Nous profitons de lintroduction de la notation grand O pour donner une forme du tho-rme de Taylor que nous utiliserons frquemment par la suite.

    Thorme 1.6.1 Soit une fonction f de classe Cp au voisinage dun point x0 ; on peutapprocher la valeur de la fonction en un point voisin x0 + d de x0 par un polynme

    f(x0 + d) P(d) = f(x0) + f(x0)d + f(x0)2

    d2 . . . f(p

    1)

    (x0)(p 1)! d(p1)

    De plus, on peut estimer lerreur commise par un reste :

    f(x0 + d) P(d) O(|d|p).

    Si f est seulement de classeCp1, mais toutefois f(p1) est une fonction Lipschitz, on a laborne :

    f(x0 + d) P(d) o(|d|p1).

    1.6.2 Vitesse de convergence dalgorithmes itratifs

    Nous introduisons maintenant le vocabulaire permettant de comparer lefficacit asymp-totique de divers algorithmes.

    Lorsquon parle de vitesse de convergence, il faut supposer que toute la suite {xk}converge, cest--dire que la suite ne possde quun seul point daccumulation, x. Dnotonslerreur k

    def= xk x ainsi que sa valeur absolue ek def= |k|.

    Dfinition 1.6.3 La vitesse de convergence de la suite {xk} vers le point x, telle que

    k, xk

    = x sexprime laide des scalaires p et dans lexpression suivante

    lim supk

    |k+1||k|p = < .

    Lordre de convergence de la suite est donn par la plus grande valeur que p puisse prendrepour que la limite ci-haut demeure finie. Lorsquep = 1, est nomme letaux de convergence.

  • 7/31/2019 Programmation non linaire

    53/251

    1.6. ANALYSE ASYMPTOTIQUE 39

    Les cas importants (frquents) sont le cas p = 1, dite convergence linaire, et le cas p = 2, diteconvergence quadratique. Un cas particulier de convergence linaire est galement important,soit le cas o p = 1 et = 0 ; on nomme ce type de comportement convergence superlinaire.

    videmment, puisque lon sintresse au comportement limite de la suite {xk} qui convergevers x, ce type danalyse ne qualifie que le comportement local dun algorithme, et nest va-lable que lorsque xk devient proche de x.

    Exemple 1.6.1 Dans lalgorithme de bissection, on a la garantie que lintervalle contient unpoint stationnaire. La largeur de lintervalle borne donc lerreur que lon commet. Puisquelintervalle est rduit de moiti chaque itration, nommant k cette largeur litration k,on a (puisque k converge vers zro)

    lim supk

    |k+1||k|1 =

    1

    2< ,

    et donc lordre de convergence de lalgorithme de bissection est un, et on parle de convergencelinaire de taux 1/2. Remarquons que pour cet algorithme, nous avons utilis la mesure dela largeur de lintervalle k plutt que la distance la solution k = xk x. La distance lasolution ne dcrot pas de manire monotone, et il est possible que la mesure k dcroisse un taux moins bon que 1

    2, taux de la dcroissance de k. 2

    En observant le tableau 1.1, on constate que lalgorithme identifie une dcimale addition-nelle de la solution environ toutes les trois itrations. Cest typique dun algorithme quiconverge linairement. Par opposition, sur le tableau 1.2, bien que les premires itrationsne soient pas trs efficaces, on constate que chacune des trois dernires itrations double lenombre de dcimales exactes de la solution, ce qui est typique des algorithmes qui convergentquadratiquement.

    En utilisant la notation grand O, on peut rsumer convergence quadratique : k+1 O(2k) ; convergence superlinaire : k+1 o(k) ; convergence linaire : k+1 O(k) avec une constante cache plus petite que un.

    Exercice 1.6.4 [Une proprit de la convergence superlinaire]Montrez :

    a) toute suite k = xk x convergeant 0 satisfait :1 |xk+1 xk|

    |k

    |

    |k+1|

    |k

    |b) si la vitesse de convergence est superlinaire, alors

    limk

    |xk+1 xk||k| = 1.

  • 7/31/2019 Programmation non linaire

    54/251

    40 CHAPITRE 1. PRLIMINAIRES

    1.7 Convergence locale quadratique de litration deNewton

    Lanalyse de convergence locale peut trs bien tre ralise dans l