# derFreeMethods¶

BDF(mapp, x0, options)[source]

BDF is a derivative-free algorithm for solving systems of nonlinear equations $$f(x) = 0$$, x in $$R^m$$ using the nonlinear unconstrained minimization $$\textrm{min}\ \psi(x) = 1/2 ||f(x)||^2$$ s.t. x in $$R^m$$.

Usage

[x_best, psi_best, out] = BDF(mapp, x0, options)

Inputs

• mapp – function handle provides f(x) and gradient f(x)
• x0 – initial point
• options – structure including the parameteres of scheme
• .MaxNumIter - maximum number of iterations
• .MaxNumMapEval - maximum number of function evaluations
• .TimeLimit - maximum running time
• .epsilon - accuracy parameter
• .x_opt - optimizer
• .psi_opt - optimum
• .alpha - constant with $$\alpha < 2 \sigma$$
• .beta - reduction constant of the line search
• .flag_x_error - 1: saves $$x_{error}$$, 0: do not saves $$x_{error}$$ (default)
• .flag_psi_error - 1:saves $$\psi_{error}$$, 0: do not saves $$\psi_{error}$$ (default)
• .flag_time - 1: saves $$\psi_{error}$$, 0: do not saves $$\psi_{error}$$ (default)
• .Stopping_Crit - stopping criterion:
1. stop if $$||nfxk|| \leq \epsilon$$
2. stop if MaxNumIter is reached
3. stop if MaxNumMapEval is reached
4. stop if TimeLimit is reached
5. stop if (default) $$||hxk|| \leq \epsilon$$ or MaxNumIter is reached

Outputs

• x_best – the best approximation of the optimizer
• psi_best – the best approximation of the optimum
• out – structure including more output information
• .T - running time
• .Niter - total number of iterations
• .Nmap - total number of mapping evaluations
• .merit_func - array including all merit function values
• .x_error - relative error $$norm(x_k(:)-x_{opt}(:))/norm(x_{opt})$$
• .psi_error - relative error $$(\psi_k-\psi_{opt})/(\psi_0-\psi_{opt}))$$
• .Status - reason of termination
CSDF(mapp, x0, options)[source]

CSDF is a derivative-free algorithm for solving systems of nonlinear equations $$f(x) = 0$$, x in $$R^m$$ using the nonlinear unconstrained minimization $$\textrm{min}\ \psi(x) = 1/2 ||f(x)||^2$$ s.t. x in $$R^m$$.

Usage

[x_best, psi_best, out] = CSDF(mapp, x0, options)

Inputs

• mapp – function handle provides f(x) and gradient f(x)
• x0 – initial point
• options – structure including the parameteres of scheme
• .MaxNumIter - maximum number of iterations
• .MaxNumMapEval - maximum number of function evaluations
• .TimeLimit - maximum running time
• .epsilon - accuracy parameter
• .x_opt - optimizer
• .psi_opt - optimum
• .sigma - strong duplomonotone parameter
• .l - Lipschitz continuity constant of f
• .tauBar - a constant for determining the step-size
• .flag_x_error - 1: saves $$x_{error}$$, 0: do not saves $$x_{error}$$ (default)
• .flag_psi_error - 1:saves $$\psi_{error}$$, 0: do not saves $$\psi_{error}$$ (default)
• .flag_time - 1: saves $$\psi_{error}$$, 0: do not saves $$\psi_{error}$$ (default)
• .Stopping_Crit - stopping criterion:
1. stop if $$||nfxk|| \leq \epsilon$$
2. stop if MaxNumIter is reached
3. stop if MaxNumMapEval is reached
4. stop if TimeLimit is reached
5. stop if (default) $$||hxk|| \leq \epsilon$$ or MaxNumIter is reached

Outputs

• x_best – the best approximation of the optimizer
• psi_best – the best approximation of the optimum
• out – structure including more output information
• .T - running time
• .Niter - total number of iterations
• .Nmap - total number of mapping evaluations
• .merit_func - array including all merit function values
• .x_error - relative error $$norm(x_k(:)-x_{opt}(:))/norm(x_{opt})$$
• .psi_error - relative error $$(\psi_k-\psi_{opt})/(\psi_0-\psi_{opt}))$$
• .Status - reason of termination
DBDF(mapp, x0, options)[source]

DBDF is a derivative-free algorithm for solving systems of nonlinear equations $$f(x) = 0$$, x in $$R^m$$ using the nonlinear unconstrained minimization $$\textrm{min}\ \psi(x) = 1/2 ||f(x)||^2$$ s.t. x in $$R^m$$.

Usage

[x_best, psi_best, out] = DBDF(mapp, x0, options)

Inputs

• mapp – function handle provides f(x) and gradient f(x)
• x0 – initial point
• options – structure including the parameteres of scheme
• .MaxNumIter - maximum number of iterations
• .MaxNumMapEval - maximum number of function evaluations
• .TimeLimit - maximum running time
• .epsilon - accuracy parameter
• .x_opt - optimizer
• .psi_opt - optimum
• .alpha - constant with $$\alpha < 2 \sigma$$
• .beta - reduction constant of the line search
• .lambda_min - lower bound of the step-size
• .lambda_max - upper bound of the step-size
• .flag_x_error - 1: saves $$x_{error}$$, 0: do not saves $$x_{error}$$ (default)
• .flag_psi_error - 1:saves $$\psi_{error}$$, 0: do not saves $$\psi_{error}$$ (default)
• .flag_time - 1: saves $$\psi_{error}$$, 0: do not saves $$\psi_{error}$$ (default)
• .Stopping_Crit - stopping criterion:
1. stop if $$||nfxk|| \leq \epsilon$$
2. stop if MaxNumIter is reached
3. stop if MaxNumMapEval is reached
4. stop if TimeLimit is reached
5. stop if (default) $$||hxk|| \leq \epsilon$$ or MaxNumIter is reached

Outputs

• x_best – the best approximation of the optimizer
• psi_best – the best approximation of the optimum
• out – structure including more output information
• .T - running time
• .Niter - total number of iterations
• .Nmap - total number of mapping evaluations
• .merit_func - array including all merit function values
• .x_error - relative error $$norm(x_k(:)-x_{opt}(:))/norm(x_{opt})$$
• .psi_error - relative error $$(\psi_k-\psi_{opt})/(\psi_0-\psi_{opt}))$$
• .Status - reason of termination
InitialDuplo(options)[source]

Function for initializing the parameters of DuploBacktrack, DuploConStep, and DuploDoubBacktrack. If some parameters specified by the user InitialDuplo uses these parameters. Otherwise, the default values will be used.

Usage

[MaxNumIter, MaxNumMapEval, TimeLimit, epsilon, alpha, beta, sigma, l, tauBar, lambda_min, lambda_max, flag_x_error, flag_psi_error, flag_time, Stopping_Crit] = InitialDuplo(options)

Input

• options – structure including the parameteres of scheme
• .MaxNumIter - maximum number of iterations
• .MaxNumMapEval - maximum number of function evaluations
• .TimeLimit - maximum running time
• .epsilon - accuracy parameter
• .x_opt - optimizer
• .psi_opt - optimum
• .alpha - constant with $$\alpha < 2 \sigma$$
• .beta - reduction constant of the line search
• .sigma - strong duplomonotone parameter
• .l - Lipschitz continuity constant of f
• .tauBar - a constant for determining the step-size
• .lambda_min - lower bound of the step-size
• .lambda_max - upper bound of the step-size
• .flag_x_error - 1: saves $$x_{error}$$, 0: do not saves $$x_{error}$$ (default)
• .flag_psi_error - 1: saves $$\psi_{error}$$, 0: do not saves $$\psi_{error}$$ (default)
• .flag_time - 1: saves $$\psi_{error}$$, 0: do not saves $$\psi_{error}$$ (default)
• .Stopping_Crit - stopping criterion
1. stop if $$||nfxk|| \leq \epsilon$$
2. stop if MaxNumIter is reached
3. stop if MaxNumMapEval is reached
4. stop if TimeLimit is reached
5. stop if (default) $$||hxk|| \leq \epsilon$$ or MaxNumIter is reached

Outputs

• MaxNumIter – maximum number of iterations
• MaxNumMapEval – maximum number of function evaluations
• TimeLimit – maximum running time
• epsilon – accuracy parameter
• x_opt – optimizer
• psi_opt – optimum
• alpha – a constant
• beta – a constant
• flag_x_error – 1: saves $$x_{error}$$, 0: do not saves $$x_{error}$$ (default)
• flag_psi_error – 1: saves $$\psi_{error}$$, 0: do not saves $$\psi_{error}$$ (default)
• flag_time – 1: saves $$\psi_{error}$$, 0: do not saves $$\psi_{error}$$ (default)
• Stopping_Crit – stopping criterion
Rate_function(opt, varargin)[source]

Usage

Rate_function(opt, varargin)

Inputs

• xk – current point;
• opt – structure includes required parameters;
• .FR - concatenation of forward and reverse stoichiometric matrix
• .A - Reduced forward stoichiometric matrix
• .B - Reduced reverse stoichiometric matrix
• .k - initial kinetic

Output

• fxk – the vector f(xk)
StopCritDuplo(nfxk, Niter, Nmap, T, MaxNumIter, MaxNumMapEval, TimeLimit, epsilon, Stopping_Crit)[source]

Function checking that one of the stopping criteria holds to terminate LLM and GLM. It perepares the status determining why the algorithm is stopped.

Usage

[StopFlag, Status] = StopCritDuplo(nfxk,Niter, Nmap, T, MaxNumIter, MaxNumMapEval, TimeLimit, epsilon, Stopping_Crit)

Inputs

• nhxk – the norm 2 of h(xk)
• Niter – the number of iterations
• Nmap – the number of mapping calls
• T – the running time
• MaxNumIter – maximum number of iterations
• MaxNumMapEval – maximum number of function evaluations
• TimeLimit – maximum running time
• epsilon – accuracy parameter
• Stopping_Crit – stopping criterion:
1. stop if $$||nfxk|| \leq \epsilon$$
2. stop if MaxNumIter is reached
3. stop if MaxNumMapEval is reached
4. stop if TimeLimit is reached
5. stop if (default) $$||hxk|| \leq \epsilon$$ or MaxNumIter is reached

Outputs

• StopFlag – 1: if one of the stopping criteria holds, 0: if none of the stopping criteria holds
• Status – the reason of the scheme termination