[scilab-Users] Academic question

Carrico, Paul paul.carrico at esterline.com
Wed Jan 26 11:12:42 CET 2011


Hi Michaël,

 

Let me saying first (if necessary) I've good results using simplex routines (either fminsearch macro or Nelder-Mead one).

 

It is well known (and mentioned in the literature for example) that this algorithm is robust but slow ... but in some cases it's the last solution (for not saying the last chance) !

 

 

Basically the purpose is to increase the convergence (and the optimization total duration) ... especially when each FEA (= 1 loop) need more than one hour !

 

Commonly I noticed several decades (for not saying hundreds) of loop with Nelder-Mead

 

Paul

 

 

________________________________

De : Michaël Baudin [mailto:michael.baudin at scilab.org] 
Envoyé : mercredi 26 janvier 2011 08:13
À : users at lists.scilab.org
Cc : Carrico, Paul
Objet : Re: [scilab-Users] Academic question


Hi,

Indeed, the Nelder-Mead algorithm is rather slow, as can be expected from an algorithm which does not rely on neither the gradient nor the Hessian (or any approximation to it).

You can use the optim function to solve your problem. In the optim help page :

http://www.scilab.org/product/man/optim.html

search for "Example: Optimizing with numerical derivatives".

The function does not have to be analytic : the only thing that is required is that the function can be evaluated.

Of course, the function should be smooth for the function to work better. 
 * If f and its gradient are continuous, optim with the quasi-Newton and the limited BFGS algorithms should work well (i.e. try the "qn" and "cg" options).
 * If f is discontinuous, only Nelder-Mead can work (but is likely to have some problems to converge).
 * If f is continous but its gradient is discontinous, you may try the "nd" option. It is a special algorithms for functions in this class (e.g. min max_i f_i). Lemaréchal is an expert on this topic.

Try it and you will see !

Best regards,

Michaël


Le 25/01/2011 12:38, Carrico, Paul a écrit : 

	Dear All,

	

	For some times I'm testing Scilab macros for optimization purposes ; "optimization" has to be intended here as an inverse method for fitting parameters (i.e. so that finite element analysis fit test measurements).

	

	I tested basic macros such as fminsearch for unbounded fitting as well as Nelder-Mead one for bracketed parameters fitting. Basically the "cost function" is the normalized Sum of the Square errors SSE from the FEA to the measurements.

	

	In my FEA's the variables can be material parameters, spring stiffness's, damping ratio and so on : the simplex method is well adapted since the former variables are not analytically described in the cost function and since it's not necessary to calculate the gradient vector nor the Hessian matrix ...

	

	

	If this method is robust nevertheless it remains rather slow !

	

	

	Is there a way or another macro I can use to reduce the number of loops and the time consuming consequently ?

	

	Nota : I was thinking in OPTIM macro but from my understanding the cost function need to be twice differentiable at least  (for the Gradient and the Hessian ) i.e. analytically link to the parameters ... isn't it ?

	

	Thanks in advance for any advice (for a better understanding)

	

	Paul

	 
	--------------------------------------------------------------------------------
	
	
	Le présent mail et ses pièces jointes sont confidentiels et destinés à la personne ou aux personnes visée(s) ci-dessus. Si vous avez reçu cet e-mail par erreur, veuillez contacter immédiatement l'expéditeur et effacer le message de votre système. Toute divulgation, copie ou distribution de cet e-mail est strictement interdite.
	
	This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error, please contact the sender and delete the email from your system. If you are not the named addressee you should not disseminate, distribute or copy this email.
	
	



-- 
Michaël Baudin
Ingénieur de développement
michael.baudin at scilab.org
-------------------------
Consortium Scilab - Digiteo
Domaine de Voluceau - Rocquencourt
B.P. 105 - 78153 Le Chesnay Cedex
Tel. : 01 39 63 56 87 - Fax : 01 39 63 55 94


--------------------------------------------------------------------------------


Le présent mail et ses pièces jointes sont confidentiels et destinés à la personne ou aux personnes visée(s) ci-dessus. Si vous avez reçu cet e-mail par erreur, veuillez contacter immédiatement l'expéditeur et effacer le message de votre système. Toute divulgation, copie ou distribution de cet e-mail est strictement interdite.

This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error, please contact the sender and delete the email from your system. If you are not the named addressee you should not disseminate, distribute or copy this email.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/users/attachments/20110126/b616da5d/attachment.htm>


More information about the users mailing list