Télécharger exce.notice

Retour à la liste

Afficher cette notice en

Numérotation des lignes :
$$$$ EXCE     NOTICE  KK2000    15/02/03    21:15:06     8353           
                                             DATE     15/02/03

  Operateur EXCELLENCE                     Voir aussi :
    --------------------  
    TAB1 = EXCE  TAB1 ;
                                    TAB1.'VX0'   .'VF'    .'VXMIN'
                                        .'VXMAX' .'MC'    .'VCMAX'
                                        .'METHODE'        .'DELTA0'
                                        .'MAXITERATION'   .'XSMAX'
                                        .'VDIS'   .'T0'   .'S0'
                                        


    Objet :
    -------
 L'operateur EXCELL cherche le minimum d'une fonction F(Xi), la methode 
utilisee est connue sous le nom de MMA (Method of Moving Asymptotes) 
proposee par K.Svanberg. Il s'agit donc de trouver le minimum d'une 
fonction  F(Xi) avec i=1,N et sachant que :


   - il existe des relations   Cj(Xi) < Cjmax       j > 0   j=1,M

   - Il existe des relations sur chaque inconnue  Ximin <  Xi < Ximax

 La donnee des fonctions F et Cj se fait a l'aide des valeurs des
fonctions et de leurs derivees au point de depart X0.






    Donnees :
    ---------
 TAB1.'VX0'        : table (sous-type VECTEUR) contenant les valeurs
                     initiales des variables X0i.
                     La table est indicee par les ENTIERs i. (i=1,N)

 TAB1.'VF'         : table (sous-type VECTEUR) contenant :
                   - dans TAB1.'VF'.0 : la valeur de F(X0i)
                   - dans TAB1.'VF'.I : la valeur de la derivee de F
                     par rapport a Xi en X0 (i=1,N).

 TAB1.'MC'         : table indicee par des ENTIERs j (j=1,M) et
                     contenant autant de tables que de relations Cj.

      TAB1.'MC'.J    est une table representant la fonction Cj
                    - dans TAB1.'MC'.J.0 : la valeur initiale de
                      Cj(X0) (j=1,M)
                    - dans TAB1.'MC'.J.I : la valeur de la derivee de
                      Cj par rapport a Xi en X0 (i=1,N).

 TAB1.'VXMIN'      : table indicee par des ENTIERs (i=1,N) et
                     contenant :
                    - dans TAB1.'VXMIN'.I : la valeur de Ximin

 TAB1.'VXMAX'      : table indicee par des ENTIERs (i=1,N) et
                     contenant :
                    - dans TAB1.'VXMAX'.I : la valeur de Ximax

 TAB1.'VCMAX'      : table indicee par des ENTIERs (i=1,M) et
                     contenant :
                    - dans TAB1.'VCMAX'.I : la valeur de Cjmax

 TAB1.'METHODE'    : (facultatif) est un MOT precisant la methode de
                     linearisation a utiliser.

                    - 'STA'  pour l'emploi de la methode standard.
                    - 'MOV'  si les fonctions sont tres fortement
                      non-lineaires.
                    - 'LIN'  si les fonctions sont peu non-lineaires
                      et qu'il y a des variables a variations non
                      continues.

 TAB1.'T0'         : (facultatif) change la valeur du reel compris
                      entre 0. et 1. qui gouverne la convexite des
                      fonctions. Plus t0 est grand plus les fonctions
                      sont convexes. Par defaut, pour la methode
                      standard, t0 est pris egal a 0.3333.

 TAB1.'S0'         : (facultatif) change la valeur du reel compris
                      entre 0. et 1. qui gouverne la convexite des
                      fonctions. Plus s0 est grand plus les fonctions
                      sont convexes. Par defaut, pour la methode
                      MOV, s0 est pris egal a 0.7.

 TAB1.'MAXITERATION' : (facultatif) change la valeur maximum
                       autorisee pour le nombre d'iterations.
                       (Par defaut 100)

 TAB1.'VDIS'       : table indicee par des ENTIERs k (k=1,KK) et
                     contenant autant de tables que de variables
                     n'ayant que des valeurs discretes autorisees.
                     Cette option n'est pas encore disponible.

    Remarque :
    ----------    -  Au depart les variables X0i doivent satisfaire
                     aux conditions   Ximin < X0i < Ximax

                  -  Le point de depart ne satisfait pas forcement les
                     relations     Cj  < Cjmax
                     Dans ce cas une variables supplementaire de
                     relaxation est introduite et la solution trouvee
                     par EXCELL ne satisfera peut-etre pas non plus
                     les relations. L'influence de cette variable
                     de relaxation peut etre modifiee par deux reels
                     TAB1.'DELTA0'  et TAB1.'XSMAX'. Par defaut
                     DELTA0=50. et XSMAX=500. ( il faut DELTA0 >1. et
                     XSMAX > DELTA0)
    Exemple :
    ---------

    La fonction que l'on desire minimiser n'est pas celle
qui est minimisee par l'operateur EXCE. La demarche a suivre est de
resoudre une succession de probleme. Partant d'un etat connu des
variables on demande a EXCE de calculer le minimum d'un probleme
approche, la fonction F a minimiser est remplacee par la fonction
linearisee decrite ci-dessus ainsi que les fonctions C. Puis on repart
de la solution trouvee par EXCE. L'algorithme se presente ainsi :

       - creation des objets TABLES
       - initialisations de TAB1.'VX0' ( valeurs de Xi0)
       - initialisation de TAB1.'VF'.
       - initialisation de TAB1.'MC'.  J .
       - initialisation de TAB1.'VXMIN' et TAB1.'VXMAX'
       - initialisation de TAB1.'VCMAX'
       - repeter 5 fois la suite :
          - calcul de DF et mise dans TAB1.'VF' , ainsi que F(XI0)
          - calcul des Cj  et mise dans TAB1.'MC'.j.
            ainsi que Cj(Xi0)
          - appel a EXCE avec la table TAB1 en entree.
          - imprimer TAB1.'VX0'
       - fin de boucle

© Cast3M 2003 - Tous droits réservés.
Mentions légales