Minotaur 0.4.1
Docs for developers
|
AMPLHessian class has methods to call Hessian of Lagrangian evaluation routines of AMPL. This class is not meant to calculate Hessian of native Minotaur functions. More...
#include <AMPLHessian.h>
Public Member Functions | |
AMPLHessian (AMPLInterfacePtr iface) | |
Construct AMPLHessian using an AMPL(ASL) interface. More... | |
~AMPLHessian () | |
Destroy. | |
Minotaur::UInt | getNumNz () const |
Return the number of non-zeros in the Hessian of Lagrangian. More... | |
void | fillRowColIndices (Minotaur::UInt *iRow, Minotaur::UInt *jCol) |
Fill in row and column indices of nonzeros in Hessian of Lagrangian. More... | |
void | fillRowColValues (const double *x, double obj_mult, const double *con_mult, double *values, int *error) |
Evaluate Hessian of Lagrangian at a given point x, row-wise. More... | |
void | negateObj () |
Ugly hack for maximization problems. More... | |
![]() | |
HessianOfLag () | |
Default constructor. | |
HessianOfLag (Problem *p) | |
virtual | ~HessianOfLag () |
Destroy. More... | |
virtual UInt | getNumNz () const |
virtual void | fillRowColIndices (UInt *irow, UInt *jcol) |
virtual void | fillRowColValues (const double *x, double obj_mult, const double *con_mult, double *values, int *error) |
virtual void | negateObj () |
Ugly hack to solve maximization problem. TODO: delete it. More... | |
virtual void | setupRowCol () |
virtual void | write (std::ostream &out) const |
AMPLHessian class has methods to call Hessian of Lagrangian evaluation routines of AMPL. This class is not meant to calculate Hessian of native Minotaur functions.
AMPLHessian::AMPLHessian | ( | AMPLInterfacePtr | iface | ) |
Construct AMPLHessian using an AMPL(ASL) interface.
[in] | iface | Pointer to AMPLInterface class from which we read the instance. |
|
virtual |
Fill in row and column indices of nonzeros in Hessian of Lagrangian.
Given arrays irow and jcol, fill in the row and column index of each non-zero in the Hessian of Lagrangian. The entries are ordered by rows.
[out] | jcol | Array of size returned by getNumNz(). |
[out] | irow | Array of size returned by getNumNz(). |
Reimplemented from Minotaur::HessianOfLag.
|
virtual |
Evaluate Hessian of Lagrangian at a given point x, row-wise.
[in] | x | The point at which Hessian of Lagrangian is to be evaluated. |
[in] | obj_mult | The multiplier for the objective. |
[in] | con_mult | Array of multipliers for constraints. |
[out] | values | The array of size returned by getNumNz() into which values are saved. |
[out] | error | is set to a nonzero value if a problem is encountered, otherwise it is left undisturbed. |
Reimplemented from Minotaur::HessianOfLag.
|
virtual |
Return the number of non-zeros in the Hessian of Lagrangian.
Reimplemented from Minotaur::HessianOfLag.
|
virtual |
Ugly hack for maximization problems.
Reimplemented from Minotaur::HessianOfLag.