#include <ampl.h>
Inheritance diagram for amplObj:
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 |
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. |
Definition at line 75 of file ampl.h.
References Func::sparsity.
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.
Definition at line 85 of file ampl.h.
References asl, UserVector< Type >::dim(), and out_log.
Referenced by HessMult().
Computes the gradient of the objective for a dvector.
Calls objgrd(...) from the AMPL/Solver Interface Library (ASL).
g | The dvector to store the result in. | |
x | The dvector to compute the gradient for. |
Definition at line 103 of file ampl.h.
References asl, DenseVector< Type >::dim(), and out_log.
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. |
valgrad(double&, UserVector<double>&, const UserVector<double>&)
add_grad(UserVector<double>&, UserVector<double>&)
add_valgrad(double&, UserVector<double>&, UserVector<double>&)
Implements Func.
Definition at line 116 of file ampl.h.
References asl, UserVector< Type >::dim(), out_log, UserVector< Type >::set(), and UserVector< Type >::size().
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.
Definition at line 144 of file ampl.h.
References UserVector< Type >::dim(), eval(), UserVector< Type >::set(), and UserVector< Type >::size().
void amplObj::set_curvature | ( | CurvatureType | ct | ) | [inline] |
CurvatureType amplObj::get_curvature | ( | ) | const [inline, virtual] |
void amplObj::print | ( | ostream & | out | ) | const [inline, virtual] |
Prints some information about this function.
Prints the dimension.
out | The ostream to print to. |
Reimplemented from Func.
Definition at line 161 of file ampl.h.
References Func::dim().
Func::CurvatureType amplObj::curv_type [private] |