Class PenaltyBarrierU_cos_logarithmic¶
Defined in File PenaltyBarrierU.cc
Inheritance Relationships¶
Base Type¶
public Mechatronix::PenaltyBarrierU_base
(Class PenaltyBarrierU_base)
Class Documentation¶
-
class
Mechatronix
::
PenaltyBarrierU_cos_logarithmic
: public Mechatronix::PenaltyBarrierU_base¶
-
Cosine Logarithmic barrier.
Public Functions
-
inline
PenaltyBarrierU_cos_logarithmic
(string const &name)¶
-
Construct the barrier.
-
inline virtual void
setup
(real_type epsilon, real_type tolerance) override¶
-
Initialize the barrier internal parameters based on the values of \( h \) and \( \epsilon \)
Set the internal parameter
\[ C = \displaystyle\frac{\epsilon}{\log\cos\left(\frac{\pi}{2}(1-h)\right)} \]based on the values of \( h \) and \( \epsilon \)
- Parameters
-
epsilon – value \( \epsilon \)
tolerance – value \( h \)
-
inline virtual real_type
eval
(real_type x) const override¶
-
Compute the barrier \( p(x) = C\log\left(\cos\left(\frac{\pi}{2}x\right)\right) \)
-
inline virtual real_type
solve
(real_type RHS) const override¶
-
Solve the problem \( p'(x) = r \)
\[ x = -\frac{2}{\pi}\arctan\left(\frac{2r}{C\pi}\right) \]
-
inline