Initializing help system before first use

grad

grad


Purpose
Evaluate the gradiant of a constraint or objective on the provided assignment of the decision variables.
Synopsis
int grad(XPRMcontext ctx, XPRMnlpdata nlpdata, int nb, double *grad, const double *x, double *val, int dense);
Arguments
ctx 
Mosel's execution context
nlpd 
Problem information as generated by loadprob
nb 
Constraint number to evaluate or NLEVAL_OBJ for the opbjective, NLEVAL_ALL for everything, NLEVAL_NL for nonlinear constraints or NLEVAL_LIN linear constraints.
grad 
Reference that receives the gradiant. In case of multiple evaluations, this must be an array large enough to store all the results
Values assigned to the decision variables
val 
Reference that receives the result of the evaluation (or NULL). In case of multiple evaluations, this must be an array large enough to store all the results
dense 
When processing a single constraint, return data in dense form
Return value
0 if successful or 1 in case of error
Further information
1. This function computes the gradient and evaluation of the objective or constraints. The val argument is handled like with function eval.
2. The dense option is used only when processing a single constraint or the objective: the result is returned in the form of a dense array of coefficients, the grad array must be of size nlpdata->nbvar. In all other cases the result is returned in the form of a sparse array: for the objective the size of the array must be nlpdata->nzrobj and the variable references have to be obtained from nlpdata->vrefobj. For a constraint c the size of the array is nlpdata->ctrstart[c+1]-nlpdata->ctrstart[c] and the variable references are taken from nlpdata->vref[nlpdata->ctrstart[c]] to nlpdata->vref[nlpdata->ctrstart[c+1]].
3. If the function is used to process all constraints ( NLEVAL_ALL) the result array is of size npldata->nzr, for linear constraints only ( NLEVAL_LIN) it is npldata->nzr_lin and for the nonlinear constraints ( NLEVAL_NL) it is npldata->nzr-npldata->nzr_lin.

© 2001-2020 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.