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] |