M1QN3
/ std
¶
Description¶
M1QN3 is a quasi-Newtonian optimization algorithm originally developed at INRIA to minimize functions with a very high number of variables. The algorithm is described in Gilbert and Lemaréchal, 1989. The original code was written in Fortran; F. Chevallier translated it to Python in 2005.
M1QN3 is distributed under the GNU General Public License and listed in the Free Software Directory.
Yaml arguments¶
The following arguments are used to configure the plugin. pyCIF will return an exception at the initialization if mandatory arguments are not specified, or if any argument does not fit accepted values or type:
Optional arguments¶
niter: (optional)
maximum number of iterations
accepted type: int
nsim: (optional)
maximum number of simulations
accepted type: int
maxiter: (optional): 1
maximum number of iterations; if one of the two previousis missing,
niter
is set tomaxiter
andnsim
to 2 timesmaxiter
accepted type: int
dxmin: (optional): 1e-20
absolute precision on x; optional
accepted type: float
df1: (optional): 0.01
expected decrease for f
accepted type: float
epsg: (optional): 1e-20
relative precision on the gradient
accepted type: float
mode: (optional): 0
mode more M1QN3; for expert users only; see M1QN3 documentation for further details
accepted type: int
nupdates: (optional): 5
number of updates; for experts only
accepted type: int
Requirements¶
The current plugin requires the present plugins to run properly:
Requirement name |
Requirement type |
Explicit definition |
Any valid |
Default name |
Default version |
---|---|---|---|---|---|
simulator |
True |
True |
gausscost |
std |
Yaml template¶
Please find below a template for a Yaml configuration:
1minimizer:
2 plugin:
3 name: M1QN3
4 version: std
5 type: minimizer
6
7 # Optional arguments
8 niter: XXXXX # int
9 nsim: XXXXX # int
10 maxiter: XXXXX # int
11 dxmin: XXXXX # float
12 df1: XXXXX # float
13 epsg: XXXXX # float
14 mode: XXXXX # int
15 nupdates: XXXXX # int