Class for an AMPL-objective-function. More...
#include <ampl.h>


Public Member Functions | |
| amplObj (int dim_=0, Pointer< SparsityInfo > sparsity_=NULL, Pointer< ostream > out_func_p_=out_out_p, Pointer< ostream > out_func_log_p_=out_log_p) | |
| (Standard-)Constructor with optional the dimension. | |
| double | eval (const UserVector< double > &x) const |
| Evaluates the objective for a UserVector<double>. | |
| void | grad (dvector &g, const dvector &x) const |
| Computes the gradient of the objective for a dvector. | |
| void | grad (UserVector< double > &g, const UserVector< double > &x) const |
| Computes the (sub)gradient for a UserVector<double>. | |
| void | HessMult (dvector &y, const dvector &x, const dvector &z) const |
| Computes the product of a Hessian and a dvector. | |
| void | HessMult (UserVector< double > &y, const UserVector< double > &x, const UserVector< double > &z) const |
| Evaluates the product of the Hessian and a UserVector<double>. | |
| void | set_curvature (CurvatureType ct) |
| CurvatureType | get_curvature () const |
| void | print (ostream &out) const |
| Prints some information about this function. | |
Private Attributes | |
| Func::CurvatureType | curv_type |
Class for an AMPL-objective-function.
This class is used to compute a nonlinear objective of a problem, which was described by an ampl-file.
Definition at line 66 of file ampl.h.
| amplObj::amplObj | ( | int | dim_ = 0, |
|
| Pointer< SparsityInfo > | sparsity_ = NULL, |
|||
| Pointer< ostream > | out_func_p_ = out_out_p, |
|||
| Pointer< ostream > | out_func_log_p_ = out_log_p | |||
| ) | [inline] |
(Standard-)Constructor with optional the dimension.
| dim_ | The dimension of the function. | |
| out_func_p_ | An ostream to print function-related output to, default is out_out_p. | |
| out_func_log_p_ | An ostream to print function-related logging-output to, default is out_func_p. |
| double amplObj::eval | ( | const UserVector< double > & | x | ) | const [inline, virtual] |
Evaluates the objective for a UserVector<double>.
Calls objval(...) from the AMPL/Solver Interface Library (ASL).
| x | The UserVector<double> to evaluate. |
Implements Func.
| void amplObj::grad | ( | UserVector< double > & | g, | |
| const UserVector< double > & | x | |||
| ) | const [inline, virtual] |
Computes the (sub)gradient for a UserVector<double>.
Abstract.
| g | The UserVector<double> to store the result in. | |
| x | The UserVector<double> to compute the gradient for. |
Implements Func.
| void amplObj::HessMult | ( | UserVector< double > & | y, | |
| const UserVector< double > & | x, | |||
| const UserVector< double > & | z | |||
| ) | const [inline, virtual] |
Evaluates the product of the Hessian and a UserVector<double>.
Abstract.
| y | The UserVector<double> to store the result in: . | |
| x | The UserVector<double> to evaluate the Hessian for. | |
| z | The UserVector<double> to multiply with the Hessian. |
Implements Func.
| void amplObj::set_curvature | ( | CurvatureType | ct | ) | [inline, virtual] |
| CurvatureType amplObj::get_curvature | ( | ) | const [inline, virtual] |
| void amplObj::print | ( | ostream & | out | ) | const [inline, virtual] |
Func::CurvatureType amplObj::curv_type [private] |
1.6.1