getfem-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Getfem-users] Questions about line search heuristics available with


From: yves . renard
Subject: Re: [Getfem-users] Questions about line search heuristics available within Getfem
Date: Sun, 23 Oct 2022 15:55:16 +0200 (CEST)

Dear David,

My experience in this field is that unfortunately, it is preferable not to need line search too much, in the sense that it allows a convergence starting farther than if one does not use line search (in other words it enlarges the domain of convergence of Newton's algorithm) but when there are big difficulties of convergence, it is better to turn to the problem to be solved: are there problems of conditioning? Is it necessary to make loading steps in the resolution ?, ...

The line search themselves are described in file src/getfem/getfem_model_solvers.h. In fact, basic and simplest are very close and have a similar behavior : The initial step is 1. Since the residual is greater than the initial one multiplied by alpha_max_ratio, the step is multiplied by alpha_mult (typically 0.5). If the step is less than alpha_min, it stops.
This is a quite rough strategy but it is difficult to have a real better one (If you think, you can have a better one, do not hesitate to implement it, the implementation of a line search is very easy). The default line search is also built on the same principle, but when it does not converge, it automatically tries to split the loading into some sub steps.
(concerning quadratic and systematic line search, I do not remember clearly .... !)

Best regards,

Yves




De: "David Danan" <daviddanan9021@gmail.com>
À: "getfem-users" <getfem-users@nongnu.org>
Envoyé: Vendredi 21 Octobre 2022 09:35:16
Objet: [Getfem-users] Questions about line search heuristics available within Getfem

Dear Getfem users,

i have quite a broad question about the calibration of parameters related to the line search in the solve method
I am trying to solve a collection of 3D problems that involve hyperelasticity, unilateral contact and friction. In a 2D case, i could manage without it but in 3D, it seems slightly more complicated and i hope some insight regarding the line search could help the convergence (i am using multipliers for the contact and playing with the augmentation parameter did not help).

For instance, according to the documentation, there are 4 methods available:
select explicitely the line search method used for the linear systems (the default value is ‘default’). Possible values are ‘simplest’, ‘systematic’, ‘quadratic’ or ‘basic’.
Could you describe the differences between these methods? In which context should I rather use one instead of another?

In previous discussions, there were some examples, here is one
model.solve('max_res', 1E-5, 'noisy','max_iter',60, 'lsolver', 'MUMPS',
    'lsearch', 'simplest', 'alpha max ratio', 1.5, 'alpha min', 0.2,
'alpha mult', 0.6)


Are alpha max ratio, alpha min and alpha mult the only parameters we have control over, for a given line search method? Are the other relevant? Do you have some advices regarding the choice of these parameters?

It seems the implementation is here
http://download-mirror.savannah.gnu.org/releases/getfem/doc/getfem_reference/getfem__model__solvers_8h_source.html
and that is quite useful to some extent but some help would be more than welcome, in particular related to "user experience".

Thanks in advance,
David


reply via email to

[Prev in Thread] Current Thread [Next in Thread]