KrisLibrary  1.0.0
Public Member Functions | Public Attributes | List of all members
Math::CompositeInequalityConstraint Class Reference
Inheritance diagram for Math::CompositeInequalityConstraint:
Math::InequalityConstraint Math::VectorFieldFunction

Public Member Functions

virtual std::string Label () const
 
virtual std::string Label (int i) const
 
virtual int NumDimensions () const
 
virtual void PreEval (const Vector &x)
 
virtual void Eval (const Vector &x, Vector &v)
 
virtual Real Eval_i (const Vector &x, int i)
 
virtual void Jacobian (const Vector &x, Matrix &J)
 
virtual void Jacobian_i (const Vector &x, int i, Vector &Ji)
 
virtual void DirectionalDeriv (const Vector &x, const Vector &h, Vector &v)
 
virtual void Hessian_i (const Vector &x, int i, Matrix &Hi)
 
virtual Real Margin (const Vector &x, int &minConstraint)
 
virtual bool Satisfies (const Vector &x, Real d=Zero)
 
virtual bool Satisfies_i (const Vector &x, int i, Real d=Zero)
 
virtual void LineSearch (const Vector &x0, const Vector &dx, Real &u)
 
virtual void LineSearch_i (const Vector &x0, const Vector &dx, Real &u, int i)
 
virtual bool Push (Vector &x, Real d)
 
virtual bool Push_i (Vector &x, int i, Real d)
 
int GetConstraint (int &i) const
 
- Public Member Functions inherited from Math::InequalityConstraint
virtual void LineSearch_j (const Vector &x0, int j, Real &u)
 
- Public Member Functions inherited from Math::VectorFieldFunction
virtual std::string VariableLabel (int i) const
 
virtual void operator() (const Vector &x, Vector &v)
 
virtual Real Jacobian_ij (const Vector &x, int i, int j)
 
virtual void Jacobian_j (const Vector &x, int j, Vector &Jj)
 
virtual Real Divergence (const Vector &x)
 
virtual Real Hessian_ijk (const Vector &x, int i, int j, int k)
 

Public Attributes

std::vector< InequalityConstraint * > constraints
 

Member Function Documentation

void CompositeInequalityConstraint::LineSearch ( const Vector x0,
const Vector dx,
Real &  u 
)
virtual

Given x0 feasible, finds a maximal value u<=u0 s.t. x=x0+u*dx satisfies the constraint. i version: only satisfy the i'th constraint. j version: move in the direction ej. (default uses secant method)

Reimplemented from Math::InequalityConstraint.

bool CompositeInequalityConstraint::Push ( Vector x,
Real  d 
)
virtual

Sets x to satisfy the constraint by a margin of d. Returns true on success.

Reimplemented from Math::InequalityConstraint.


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