$$$$ EXCE NOTICE CHAT 11/09/12 21:16:06 7124 DATE 11/09/12 Operateur EXCELLENCE Voir aussi : -------------------- TAB1 = EXCE TAB1 ; TAB1.'VX0' .'VF' .'VXMIN' .'VXMAX' .'MC' .'VCMAX' .'METHODE' .'DELTA0' .'MAXITERATION' .'XSMAX' .'VDIS' .'T0' .'S0' Description : ------------- The EXCELL operator computes the minimum of a function F(Xi),the used method is the well-known MMA (Method of Moving Asymptotes) proposed by K.Svanberg. The purpose is to find the minimum of a function F(Xi) with i=1,N given that : - the relations Cj(Xi) < Cjmax (j>0 and j=1,M) must be satisfied - there are relations on each unknown Ximin < Xi < Ximax The functions F and Cj are defined by the function values and by their derivatives at the starting point X0. Input data : ------------ TAB1.'VX0' : table (VECTEUR subtype) containing the variables initial values X0i. The table indices are integers i (i=1,N) TAB1.'VF' : table (VECTEUR subtype) in which : - TAB1.'VF'.0 : is the value of F(X0) - TAB1.'VF'.I : is the value of the derivative of F with respect to Xi at X0 (i=1,N) TAB1.'MC' : table indexed by integers j (j=1,M) containing as many tables as there are relations Cj TAB1.'MC'.J is a table which stands for the function Cj in which : - TAB1.'MC'.J.0 : is the initial value of Cj(X0) - TAB1.'MC'.J.I : is the value of the derivative of Cj with respect to Xi at X0 (i=1,N). TAB1.'VXMIN' : table (VECTEUR subtype) indexed by integers in which : - TAB1.'VXMIN'.I : is the value of Ximin TAB1.'VXMAX' : table (VECTEUR subtype) indexed by integers in which : - TAB1.'VXMAX'.I : is the value of Ximax TAB1.'VCMAX' : table (VECTEUR subtype) indexed by integers in which : - TAB1.'VCMAX'.J : is the value of Cjmax TAB1.'METHODE' : (optional) is a MOT(word) specifying the method of linearization to be used - 'STA' for using the standard method - 'MOV' if the functions are "strongly" non-linear - 'LIN' if the functions are rather linear and if there are discrete variables TAB1.'T0' : (optional) changes the value of the real number ranging between 0. and 1. which governs the convexity of the functions. The greater t0, the convexer the functions. By default, for the standard method, t0 is considered to equal 0.3333 TAB1.'S0' : (optional) changes the value of the real number ranging between 0. and 1. which governs the convexity of the functions. The greater s0, the convexer the functions. By default, for the 'MOV' method, s0 is considered to equal 0.7 TAB1.'MAXITERATION' : (optional) changes the maximum value permitted for the number of iterations. (By default 100) TAB1.'VDIS' : table indexed by integers k (k=1,KK) containing as many tables as there are variables with permitted discrete values. This option is not yet available. Note : -------- - at first the variables X0i must satisfy the following conditions Ximin < X0i < Ximax - the relations Cj < Cjmax are not necessarily satisfied at the starting point X0. In this case, a new relaxation variable is input but the solution found by EXCELL may still not satisfy the relations either. The effect of this relaxation variable can be modified by two real numbers TAB1.'DELTA0' and TAB1.'XSMAX'. By default DELTA0=50. and XSMAX=500. ( DELTA0 > 1. and XSMAX > DELTA0 are requested) Example : --------- The function which the user wishes to minimize is not that minimized by the EXCE operator. First, he must solve a few problems. From a known state of variables, EXCE is asked to compute the minimum of an approximate problem, the function F to be minimized is replaced with the linearized function described above as well as the functions C. Then one starts again from the solution found by EXCE. The algorithm is as follows : - creation of TABLES objects. - initialization of TAB1.'VX0' (values of Xi0) - initialization of TAB1.'VF'. - initialization of TAB1.'MC'. J . - initialization of TAB1.'VXMIN' and TAB1.'VXMAX' - initialization of TAB1.'VCMAX' - repeat 5 times : - computation of DF and set in TAB1.'VF', as well as F(XI0) - computation of Cj and set in TAB1.'MC'.j. as well as Cj(Xi0) - call on EXCE with TAB1 on input. - print TAB1.'VX0' - loop end
© Cast3M 2003 - All rights reserved.
Disclaimer