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 to maxiter and nsim to 2 times maxiter

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

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