The JACNLC statement defines the Jacobian matrix for the system of constraint functions . The statements list the variable names which correspond to the elements , , of the Jacobian matrix by rows.
For example, the statements
nlincon c1-c3; decvar x1-x2; jacnlc cj1-cj6;
correspond to the Jacobian matrix
The rows of the Jacobian matrix must be in the same order as the corresponding names of nonlinear constraints listed in the NLINCON statement. The n columns of the Jacobian matrix must be in the same order as the n corresponding parameter names listed in the DECVAR statement. To specify the values of nonzero derivatives, the variables specified in the JACNLC statement must be defined on the left-hand side of algebraic expressions in programming statements.
For example,
array cd[3,4] cd1-cd12; nlincon c1-c3 >= 0; jacnlc cd1-cd12; c1 = 8 - x1 * x1 - x2 * x2 - x3 * x3 - x4 * x4 - x1 + x2 - x3 + x4; c2 = 10 - x1 * x1 - 2 * x2 * x2 - x3 * x3 - 2 * x4 * x4 + x1 + x4; c3 = 5 - 2 * x1 * x2 - x2 * x2 - x3 * x3 - 2 * x1 + x2 + x4; cd[1,1]= -1 - 2 * x1; cd[1,2]= 1 - 2 * x2; cd[1,3]= -1 - 2 * x3; cd[1,4]= 1 - 2 * x4; cd[2,1]= 1 - 2 * x1; cd[2,2]= -4 * x2; cd[2,3]= -2 * x3; cd[2,4]= 1 - 4 * x4; cd[3,1]= -2 - 4 * x1; cd[3,2]= 1 - 2 * x2; cd[3,3]= -2 * x3; cd[3,4]= 1;