CONOPT
Loading...
Searching...
No Matches

Functions

void qp1_TutModelData.buildModel ()
 adds variables and constraints to the model
 
double qp1_TutModelData.evaluateNonlinearTerm (double[] x, int rowno, boolean ignerr, int thread)
 callback method for evaluating the nonlinear terms in a given row
 
void qp1_TutModelData.evaluateNonlinearJacobian (double[] x, double[] jac, int rowno, int[] jacnum, boolean ignerr, int thread)
 callback method for evaluating the jacobian for the nonlinear terms in a given row
 

Detailed Description

The current model is a simple QP model with a sparse Q matrix, bounded variables, and one constraint.

The number of superbasic variables is larger than the default limit of 500 and the model does not solve nicely. To solve it faster, there are these possibilities:

  1. Increase the limit on the number of superbasics. This can be done with a call to coidef_maxsup() or with an option. Both approaches are shown in extra solves in this file.
  2. Use directional 2nd derivatives, see qp2
  3. Use 2nd derivatives as a matrix, see qp3
  4. 2 and 3 combined, see qp4
  5. Use 2nd derivatives computed using perturbations, see qp5
  6. Use 2nd derivatives computed using perturbations defined using an options routine, see qp6
  7. As 5 but with the objective defined as a positive variable, i.e. it cannot be removed in the post-triangle.

For more information about the individual callbacks, please have a look at the source code.

Function Documentation

◆ buildModel()

void qp1_TutModelData.buildModel ( )
inline

adds variables and constraints to the model

Definition at line 92 of file qp1.java.

◆ evaluateNonlinearTerm()

double qp1_TutModelData.evaluateNonlinearTerm ( double[] x,
int rowno,
boolean ignerr,
int thread )
inline

callback method for evaluating the nonlinear terms in a given row

Parameters
xthe solution vector that needs to be evaluated.
rownothe number for the row in which the nonlinear term exists.
ignerra boolean to indicate whether the current point is safe or unsafe.
threadthe index of the thread from which this method is being called from.
Returns
the value of the nonlinear terms.

Note: an error in the evaluation is reported by calling errorInEvaluation()

Definition at line 128 of file qp1.java.

◆ evaluateNonlinearJacobian()

void qp1_TutModelData.evaluateNonlinearJacobian ( double[] x,
double[] jac,
int rowno,
int[] jacnum,
boolean ignerr,
int thread )
inline

callback method for evaluating the jacobian for the nonlinear terms in a given row

Parameters
xthe solution vector that needs to be evaluated.
jacan array to store the Jacobian at the given point and row. This is of length numVar().
rownothe number for the row in which the nonlinear term exists.
jacnumvector with a list of column numbers for the nonlinear nonzero Jacobian elements in the row.
ignerra boolean to indicate whether the current point is safe or unsafe.
threadthe index of the thread from which this method is being called from.

Note: an error in the evaluation is reported by calling errorInEvaluation()

Definition at line 146 of file qp1.java.