] solver
interface is given below. Also see the M-file help for
Solves constrained nonlinear programming problems.
Prob = conAssign( ... );
Prob |
Problem description structure. The following fields are used: |
|
|
A |
Linear constraints coefficient matrix. |
|
x_L, x_U |
Bounds on variables. |
|
b_L, b_U |
Bounds on linear constraints. |
|
c_L, c_U |
Bounds on nonlinear constraints. For equality constraints (or fixed variables), set e.g. b_L(k) == b_U(k). |
|
|
PriLevOpt |
Print level in MEX interface. |
|
|
WarmStart |
If true, use warm start, otherwise cold start. When using WarmStart the following parameters are required: |
|
|
NLPQL.u |
Contains the multipliers with
respect to the actual iterate
stored in the first column of X. The first M locations contain
the multipliers of the M nonlinear constraints, the subsequent
N locations the multipliers of the lower bounds, and the
final N locations the multipliers of the upper bounds.
At an optimal solution, all multipliers with respect to
inequality constraints should be nonnegative. |
|
|
NLPQL.c |
On return, C contains the last
computed approximation
of the Hessian matrix of the Lagrangian function stored in
form of an LDL decomposition. C contains the lower triangular
factor of an LDL factorization of the final quasi-Newton matrix
(without diagonal elements, which are always one).
In the driving program, the row dimension of C has to be equal
to NMAX. |
|
|
NLPQL.d |
The elements of the diagonal matrix
of the LDL decomposition
of the quasi-Newton matrix are stored in the one-dimensional
array D. |
|
|
NLPQL |
Structure with special fields for the NLPQL solver: |
|
|
maxfun |
The integer variable defines an
upper bound for the number of function calls during the line search. |
|
|
maxit |
Maximum number of outer iterations,
where one iteration
corresponds to one formulation and solution of the quadratic
programming subproblem, or, alternatively, one evaluation of
gradients. |
|
|
acc |
The user has to specify the desired
final accuracy (e.g. 1.0e-7).
The termination accuracy should not be smaller
than the accuracy by which gradients are computed. |
|
|
accqp |
The tolerance is needed for the QP
solver to perform several
tests, for example whether optimality conditions are satisfied
or whether a number is considered as zero or not. If ACCQP is
less or equal to zero, then the machine precision is computed
by NLPQL and subsequently multiplied by 1.0e+4. |
|
|
PrintFile |
Name of NLPQL Print file. Amount
and type of printing determined by PriLevOpt. |
|
Result |
Structure
with result from optimization.
The following fields are set: |
|
|
f_k |
Function value at optimum. |
|
g_k |
Gradient of the function. |
|
|
x_k |
Solution vector. |
|
x_0 |
Initial solution vector. |
|
|
c_k |
Nonlinear constraint residuals. |
|
cJac |
Nonlinear constraint gradients. |
|
|
xState |
State of variables. Free == 0; On lower == 1; On
upper == 2; Fixed == 3; |
|
bState |
State of linear constraints. Free == 0; Lower ==
1; Upper == 2; Equality == 3; |
|
cState |
State of nonlinear constraints. Free == 0; Lower
== 1; Upper == 2; Equality == 3; |
|
|
ExitFlag |
Exit status from NLPQL MEX. |
|
ExitText |
Exit text from NLPQL MEX. |
|
Inform |
NLPQL information parameter. |
|
|
FuncEv |
Number of function evaluations. |
|
GradEv |
Number of gradient evaluations. |
|
ConstrEv |
Number of constraint evaluations. |
|
QP.B |
Basis vector in TOMLAB QP standard. |
|
|
Solver |
Name of the solver (NLPQL). |
|
SolverAlgorithm |
Description of the solver. |
|
|
NLPQL.act |
The logical array indicates constraints,
which NLPQL considers to be active at the last computed iterate. |
|
|
NLPQL.u |
See inputs. |
|
|
NLPQL.c |
See inputs. |
|
|
NLPQL.d |
See inputs. |
|