amplCon Class Reference

Class for an AMPL-constraints-function. More...

#include <ampl.h>

Inheritance diagram for amplCon:
Inheritance graph
[legend]
Collaboration diagram for amplCon:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 amplCon (int connr_, int dim_=0, Pointer< SparsityInfo > sparsity_=NULL, Pointer< ostream > out_func_p_=out_out_p, Pointer< ostream > out_func_log_p_=out_log_p)
 Constructor for the number of the constraint and the dimension of the function.
double eval (const UserVector< double > &x) const
 Evaluates a constraint for a UserVector<double>.
void grad (dvector &g, const dvector &x) const
 Computes the gradient of a constraint 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

fint connr
 The number of the constraint, this function represents.
Pointer< real > con_select
 Array for Hessain-Multiplication, to select the constraint, which Hessian should be computed.
Func::CurvatureType curv_type

Detailed Description

Class for an AMPL-constraints-function.

Definition at line 169 of file ampl.h.


Constructor & Destructor Documentation

amplCon::amplCon ( int  connr_,
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]

Constructor for the number of the constraint and the dimension of the function.

Parameters:
connr_ The number of the constraint, this function represents.
dim_ The dimension.
conv_ Indicates, whether the function is convex, default is false.
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.
See also:
amplCon(int)

Definition at line 189 of file ampl.h.


Member Function Documentation

double amplCon::eval ( const UserVector< double > &  x  )  const [inline, virtual]

Evaluates a constraint for a UserVector<double>.

Calls conival(connr, ...) from the AMPL/Solver Interface Library (ASL).

Parameters:
x The UserVector<double> to evaluate.
Returns:
The value of the connr-th constraint.

Implements Func.

Definition at line 201 of file ampl.h.

void amplCon::grad ( dvector g,
const dvector x 
) const [inline]

Computes the gradient of a constraint for a dvector.

Calls congrd(connr, ...) from the AMPL/Solver Interface Library (ASL).

Parameters:
g The dvector to store the connr-th gradient in.
x The dvector to compute the gradient for.

Definition at line 220 of file ampl.h.

void amplCon::grad ( UserVector< double > &  g,
const UserVector< double > &  x 
) const [inline, virtual]

Computes the (sub)gradient for a UserVector<double>.

Abstract.

Parameters:
g The UserVector<double> to store the result in.
x The UserVector<double> to compute the gradient for.
See also:
grad(const dvector&)
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 234 of file ampl.h.

void amplCon::HessMult ( dvector y,
const dvector x,
const dvector z 
) const [inline]

Computes the product of a Hessian and a dvector.

Parameters:
y The dvector to store the result in.
x The dvector to compute the Hessian for.
z The dvector to multiply with the Hessian.

Definition at line 258 of file ampl.h.

void amplCon::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.

Parameters:
y The UserVector<double> to store the result in: $ y = \nabla^2 f(x) \cdot z $.
x The UserVector<double> to evaluate the Hessian for.
z The UserVector<double> to multiply with the Hessian.
See also:
HessMult(const UserVector<double>&, const UserVector<double>&)

Implements Func.

Definition at line 263 of file ampl.h.

void amplCon::set_curvature ( CurvatureType  ct  )  [inline, virtual]

Implements Func.

Definition at line 273 of file ampl.h.

CurvatureType amplCon::get_curvature (  )  const [inline, virtual]

Implements Func.

Definition at line 274 of file ampl.h.

void amplCon::print ( ostream &  out  )  const [inline, virtual]

Prints some information about this function.

Prints the dimension and constraint-number.

Parameters:
out The ostream to print to.

Reimplemented from Func.

Definition at line 280 of file ampl.h.


Member Data Documentation

fint amplCon::connr [private]

The number of the constraint, this function represents.

Definition at line 173 of file ampl.h.

Pointer<real> amplCon::con_select [private]

Array for Hessain-Multiplication, to select the constraint, which Hessian should be computed.

Definition at line 177 of file ampl.h.

Definition at line 179 of file ampl.h.


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

Generated on 10 Mar 2013 for LaGO by  doxygen 1.6.1