CONOPT
Loading...
Searching...
No Matches

Functions

 pinadd2ddir.PinAdd2DDirModelData.buildModel (self, T, xkeep, xstat, estat)
 adding the variables and constraints to the model
 
 pinadd2ddir.PinAdd2DDirModelData.evaluateNonlinearTerm (self, x, rowno, ignerr, thread)
 callback method for evaluating the nonlinear terms in a given row
 
 pinadd2ddir.PinAdd2DDirModelData.evaluateNonlinearJacobian (self, x, rowno, jacnum, ignerr, thread)
 callback method for evaluating the jacobian for the nonlinear terms in a given row
 
 pinadd2ddir.PinAdd2DDirModelData.evaluateDirectionalSD (self, x, dx, rowno, jacnum, thread)
 computes the directional second derivative for a single constraint
 
 pinadd2ddir.PinAdd2DDirModelData.evaluateSDLagrangian (self, x, u, hessianrow, hessiancol)
 Computes and returns the numerical values of the Lagrangian of the Hessian.
 

Detailed Description

This is a CONOPT implementation of the Pindyck model from the GAMS model library.

The implementation is similar to the one in pinadd.c, where we gradually increase the number of periods one at a time from 16 up to 20. In this case we also use directional 2nd derivative defined in the Pin_2DDir routine.

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

Function Documentation

◆ buildModel()

pinadd2ddir.PinAdd2DDirModelData.buildModel ( self,
T,
xkeep,
xstat,
estat )

adding the variables and constraints to the model

Definition at line 49 of file pinadd2ddir.py.

◆ evaluateNonlinearTerm()

pinadd2ddir.PinAdd2DDirModelData.evaluateNonlinearTerm ( self,
x,
rowno,
ignerr,
thread )

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.

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

Definition at line 348 of file pinadd2ddir.py.

◆ evaluateNonlinearJacobian()

pinadd2ddir.PinAdd2DDirModelData.evaluateNonlinearJacobian ( self,
x,
rowno,
jacnum,
ignerr,
thread )

callback method for evaluating the jacobian for 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.
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.
Returns
a vector the length of jacnum that contains the jacobian values for the referenced elements.

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

Definition at line 371 of file pinadd2ddir.py.

◆ evaluateDirectionalSD()

pinadd2ddir.PinAdd2DDirModelData.evaluateDirectionalSD ( self,
x,
dx,
rowno,
jacnum,
thread )

computes the directional second derivative for a single constraint

Parameters
xthe solution vector that needs to be evaluated.
dxvector with the direction in which the directional second derivatives should be computed.
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.
threadthe index of the thread from which this method is being called from.

returns a vector for the directional second derivative. The length of the vector is the number of variables.

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

Definition at line 397 of file pinadd2ddir.py.

◆ evaluateSDLagrangian()

pinadd2ddir.PinAdd2DDirModelData.evaluateSDLagrangian ( self,
x,
u,
hessianrow,
hessiancol )

Computes and returns the numerical values of the Lagrangian of the Hessian.

Parameters
xthe solution vector that needs to be evaluated.
uthe vector of weights on the individual constraints.
hessianrowvector of row numbers of the lower triangular part of the hessian.
hessiancolvector of column numbers of the lower triangular part of the hessian.

returns a vector for the values of the Lagrangian of the Hessian. The length of the vector is of size numHessianNonzeros().

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

Definition at line 456 of file pinadd2ddir.py.