CONOPT
Loading...
Searching...
No Matches
pyconopt.ModelData Class Reference

A class that can be extended to build and solve a model using Conopt. More...

Public Member Functions

 __init__ (self)
 init(ModelData self) -> ModelData
 
 evaluateNonlinearTerm (self, x, rowno, ignerr, thread)
 callback method for evaluating the nonlinear terms in a given row
 
 evaluateNonlinearJacobian (self, x, rowno, jacnum, ignerr, thread)
 callback method for evaluating the jacobian for the nonlinear terms in a given row
 
 initFDEvaluation (self, x, rowlist, mode, numthread, ignerr)
 callback method for initialising the first derivative evaluation.
 
 endFDEvaluation (self, ignerr)
 Optional function, if defined, it will be called at the end of the function evaluation stage.
 
 evaluateSDLagrangian (self, x, u, hessianrow, hessiancol)
 Computes and returns the numerical values of the Lagrangian of the Hessian.
 
 evaluateSDDirLagrangian (self, x, dx, u, newpoint)
 computes the directional second derivative for the Lagrangian
 
 evaluateDirectionalSD (self, x, dx, rowno, jacnum, thread)
 computes the directional second derivative for a single constraint
 
 initDirectionalSDEval (self, x, dx, rowlist, numthread, newpoint)
 a callback for the initialisation of the second derivative evaluation.
 
 endDirectionalSDEval (self)
 called by CONOPT after a sequence of evaluateDirectionalSD() calls each time either the point or the direction changes.
 
 errorInEvaluation (self)
 reports that an error occurred in the evaluation.
 
 setProblemDimension (self, numvar, numcons, numnz, numnlnz)
 sets the problem dimension.
 
 addConstraint (self, *args)
 Overload 1: adds a constraint to the problem.
 
 addVariable (self, *args)
 Overload 1: adds a variable to the model.
 
 setObjectiveElement (self, elem, elemindex)
 sets the index for the objective variable or constraint
 
 setOptimizationSense (self, sense)
 sets the optimisation direction.
 
 setInitialStatusOption (self, inistat)
 the setting to indicate how the initial status of the variables and slack variables will be handled.
 
 numVar (self)
 returns the number of variables in the model
 
 numCons (self)
 returns the number of constraints in the model
 
 numHessianNonzeros (self)
 returns the number of non-zeros in the Hessian
 
 getVariable (self, index)
 returns a reference to the variable object
 
 getConstraint (self, index)
 returns a reference to the constraint object
 
 setSDEvaluationType (self, sdevaltype)
 informs CONOPT of the method for evaluating the second derivative
 
 setSDLagrangianStructure (self, rownum, colnum)
 sets the structure of the second derivatives of the Lagrangian
 
 __disown__ (self)
 
- Public Member Functions inherited from pyconopt.ConoptModelData
 __init__ (self)
 Constructor.
 
 readMatrix (self, lower, curr, upper, vsta, type, rhs, esta, colsta, rowno, value, nlflag, numvar, numcon, numnz)
 loads the structure of the model into CONOPT.
 
 getSDLagrangianRowNumbers (self)
 returns the row numbers in the second derivative of the lagrangian structure
 
 getSDLagrangianColumnNumbers (self)
 returns the column numbers in the second derivative of the lagrangian structure
 
 __disown__ (self)
 

Properties

 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
 
- Properties inherited from pyconopt.ConoptModelData
 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
 

Detailed Description

A class that can be extended to build and solve a model using Conopt.

This class is the base class that is used for the extended interfaces for Conopt, namely Python and Java. The virtual methods included in this class can be redefined in the native languages.

Definition at line 2391 of file pyconopt.py.

Constructor & Destructor Documentation

◆ __init__()

pyconopt.ModelData.__init__ ( self)

init(ModelData self) -> ModelData

Parameters

self: PyObject *

Definition at line 2404 of file pyconopt.py.

Member Function Documentation

◆ initFDEvaluation()

pyconopt.ModelData.initFDEvaluation ( self,
x,
rowlist,
mode,
numthread,
ignerr )

callback method for initialising the first derivative evaluation.

If defined, this method will be called each time the point of interest has changed, and it will define the coming point and tell which constraints CONOPT will need during the following calls to evaluateNonlinearTerm and evaluateNonlinearJacobian.

Parameters
xthe solution vector that needs to be evaluated.
rowlistthe list of rows that will be evaluated for the given point.
modethe evaluation mode for the current iteration. This is either TermsOnly, JacobianOnly or Both. See EvaluationMode for more details.
numthreadthe number of threads that will be used for the following FDEval calls.
ignerra boolean to indicate whether the current point is safe or unsafe.

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

Reimplemented in tutoriali.TutModelData.

Definition at line 2455 of file pyconopt.py.

◆ initDirectionalSDEval()

pyconopt.ModelData.initDirectionalSDEval ( self,
x,
dx,
rowlist,
numthread,
newpoint )

a callback for the initialisation of the second derivative evaluation.

This method is called before a sequence of calls to evaluateDirectionalSD(). The user can utilise this method for evaluating common terms and storing important information.

Parameters
xthe solution vector that needs to be evaluated.
dxvector with the direction in which the directional second derivatives should be computed.
rowlistthe list of rows that will be evaluated for the given point.
modethe evaluation mode for the current iteration. This is either TermsOnly, JacobianOnly or Both. See EvaluationMode for more details.
numthreadthe number of threads that will be used for the following FDEval calls.
newpointa boolean to indicate whether x has changed. If newpoint is false, the values of dx may have changed.

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

Definition at line 2543 of file pyconopt.py.

◆ errorInEvaluation()

pyconopt.ModelData.errorInEvaluation ( self)

reports that an error occurred in the evaluation.

When executing evaluateNonlinearTerm() or evaluateNonlinearJacobian() the number of errors are counted and then if an error limit is exceeded, CONOPT will terminate.

When evaluating second derivative information, any errors reported will inform CONOPT that it is unable to use second order methods for the current point.

Definition at line 2578 of file pyconopt.py.

◆ __disown__()

pyconopt.ModelData.__disown__ ( self)

Definition at line 2868 of file pyconopt.py.

Property Documentation

◆ thisown

pyconopt.ModelData.thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
static

Definition at line 2401 of file pyconopt.py.


The documentation for this class was generated from the following file: