NlpCallbackBase::EvalObj(INdArray<double, 1>* xdata, INdArray<double, 1>* outdata)

计算非线性模型的目标函数值。

Synopsis

void EvalObj(

INdArray<double, 1> *xdata,

INdArray<double, 1> *outdata)

Arguments

xdata: 存有变量值的一维数组。

outdata: 保存目标值的输出数组(一个元素)。

NlpCallbackBase::EvalGrad(INdArray<double, 1>* xdata, INdArray<double, 1>* outdata)

计算非线性模型的目标梯度。

Synopsis

void EvalGrad(

INdArray<double, 1> *xdata,

INdArray<double, 1> *outdata)

Arguments

xdata: 存有变量值的一维数组。

outdata: 保存目标梯度的输出数组。

NlpCallbackBase::EvalCon(INdArray<double, 1>* xdata, INdArray<double, 1>* outdata)

计算非线性模型的约束值。

Synopsis

void EvalCon(

INdArray<double, 1> *xdata,

INdArray<double, 1> *outdata)

Arguments

xdata: 存有变量值的一维数组。

outdata: 保存约束值的输出数组。

NlpCallbackBase::EvalJac(INdArray<double, 1>* xdata, INdArray<double, 1>* outdata)

计算非线性模型约束的Jacobian矩阵值。

Synopsis

void EvalJac(

INdArray<double, 1> *xdata,

INdArray<double, 1> *outdata)

Arguments

xdata: 存有变量值的一维数组。

outdata: 保存Jacobian矩阵非零元的输出数组。

NlpCallbackBase::EvalHess(INdArray<double, 1>* xdata, double sigma, INdArray<double, 1>* lambdata, INdArray<double, 1>* outdata)

计算非线性模型Lagrange函数的Hessian矩阵值。

Synopsis

void EvalHess(

INdArray<double, 1> *xdata,

double sigma,

INdArray<double, 1> *lambdata,

INdArray<double, 1> *outdata)

Arguments

xdata: 存有变量值的一维数组。

sigma: 目标在Lagrange函数中的权重。

lambdata: 保存约束函数对应Lagrange乘子的一维数组。

outdata: 保存Hessian矩阵非零元的输出数组。