1 : $$$$ OPTIMISE NOTICE SP204843 26/05/06 21:15:07 12542 2 : DATE 26/05/06 3 : 4 : Procedure OPTIMISE 5 : __________________ 6 : 7 : TAB2 = OPTIMISE TAB1 ; 8 : 9 : 10 : Objet : 11 : _______ 12 : 13 : La procedure OPTIMISE recherche un jeu de parametres minimisant 14 : l'ecart entre une simulation et des valeurs objectifs. 15 : 16 : Les parametres sont passes a la simulation sous forme d'un LISTREEL, 17 : de meme que la liste des valeurs auxquelles sa solution est evaluee 18 : (abscisses). La simulation renvoie un vecteur solution egalement 19 : sous forme d'un LISTREEL (ordonnees). La simulation est realisee 20 : par une procedure Gibiane. 21 : 22 : La procedure OPTIMISE comporte quelques options de controle du 23 : processus d'optimisation. Dexu methodes sont disponibles : 24 : - l'algorithme de Levenberg-Marquardt ; 25 : - la methode des moindre carres. 26 : 27 : 28 : 29 : Commentaires : 30 : ______________ 31 : 32 : 33 : TAB1 est une table dont les indices sont : 34 : 35 : Entrees : 36 : _________ 37 : 38 : 39 : 'SIMULATION' = MOT, nom de la procedure de simulation. 40 : 41 : 'PARAMETRES_INITIAUX' = LISTREEL, valeurs initiales des parametres. 42 : 43 : 'POINTS_DE_MESURE' = LISTREEL, valeurs auxquelles la simulation 44 : est evaluee (abscisses de la fonction). 45 : 46 : 'VALEURS_OBJECTIF' = LISTREEL, valeurs a atteindre par la simulation. 47 : 48 : 49 : Options : 50 : _________ 51 : 52 : 'METHODE_OPTIMISATION' = MOT, 'LEVENBERG_MARQUARDT' ou 'MOINDRE_CARRES' 53 : (LEVENBERG_MARQUART par defaut). 54 : 55 : 'POIDS' = LISTREEL, liste de poids a appliquer aux valeurs 56 : objectif (de meme dimension que VALEURS_OBJECTIF). 57 : 58 : 'BORNES_INF' = LISTREEL, bornes inferieure des valeurs des 59 : parametres (0,5 fois les valeurs initiales 60 : par defaut). 61 : 62 : 'BORNES_SUP' = LISTREEL, bornes superieure des valeurs des 63 : parametres (1.5 fois les valeurs initiales 64 : par defaut). 65 : 66 : 'PRECISION' = FLOTTANT, seuil de convergence du processus 67 : de minimisation (1.E-2 par defaut). 68 : 69 : 'NITER_MAX' = ENTIER, nombre maximal d'iterations de la 70 : boucle de minimisation (100 par defaut). 71 : 72 : 'LAMBDA' = FLOTTANT, valeur initiale du parametre lambda 73 : de l'algorithme de Levenberg-Marquardt. 74 : 75 : 'DESSIN_EVOL' = LOGIQUE, VRAI pour afficher l'evolution des 76 : ecarts relatifs aux valeurs objectifs au cours 77 : des iterations (FAUX par defaut). 78 : 79 : 'ECHO_SIMU' = LOGIQUE, VRAI pour afficher l'execution 80 : de la simulation (FAUX par defaut). 81 : 82 : 83 : TAB2 contient en sortie les indices de TAB1, ainsi que les suivants : 84 : 85 : Sorties : 86 : _________ 87 : 88 : 'PARAMETRES_FINAUX' = LISTREEL, valeurs finales des parametres. 89 : 90 : 'VALEURS_SOLUTION' = LISTREEL, valeurs atteintes par la simulation 91 : avec le jeu de parametres resultat. 92 : 93 : 'VALEUR_CRITERE' = FLOTTANT, valeur finale du critere de conver- 94 : -gence (voir remarque). 95 : 96 : 97 : 98 : Remarque : Cette procedure minimise une fonction cout egale a la somme 99 : __________ des carres des ecarts de la simulation aux valeurs objectifs, 100 : ponderes par 1/2. La convergence est atteinte lorsqu'une 101 : norme des ecarts relatifs a ces valeurs est inferieure a la 102 : precision donnee. 103 : 104 : 105 :
© Cast3M 2003 - Tous droits réservés.
Mentions légales