35#ifndef ROL_OBJECTIVE_FROM_BOUND_CONSTRAINT_H
36#define ROL_OBJECTIVE_FROM_BOUND_CONSTRAINT_H
41#include "ROL_ParameterList.hpp"
56 typedef Elementwise::Fill<Real>
Fill;
58 typedef Elementwise::Power<Real>
Power;
64 typedef Elementwise::ReductionSum<Real>
Sum;
111 const ROL::Ptr<const V>
lo_;
112 const ROL::Ptr<const V>
up_;
122 ROL::ParameterList &
parlist ) :
123 lo_(
bc.getLowerBound() ),
124 up_(
bc.getUpperBound() ) {
132 std::string
bfstring =
parlist.sublist(
"Barrier Function").get(
"Type",
"Logarithmic");
137 lo_(
bc.getLowerBound() ),
138 up_(
bc.getUpperBound() ),
152 ROL::Ptr<UnaryFunction>
func;
154 a_->zero();
b_->zero();
203 a_->applyUnary(
Fill(one));
212 b_->applyUnary(
Fill(one));
222 ">>>(ObjectiveFromBoundConstraint::value): Undefined barrier function type!");
234 a_->zero();
b_->zero();
279 a_->applyUnary(
Fill(one));
287 b_->applyUnary(
Fill(one));
305 ">>>(ObjectiveFromBoundConstraint::gradient): Undefined barrier function type!");
381 b_->applyUnary(
Fill(two));
389 ">>>(ObjectiveFromBoundConstraint::hessVec): Undefined barrier function type!");
Objective_SerialSimOpt(const Ptr< Obj > &obj, const V &ui) z0 zero)()
Create a penalty objective from upper and lower bound vectors.
Real value(const Vector< Real > &x, Real &tol)
Compute value.
EBarrierType StringToEBarrierType(std::string s)
Elementwise::ThresholdLower< Real > ThresholdLower
Elementwise::Multiply< Real > Multiply
Elementwise::Reciprocal< Real > Reciprocal
Elementwise::ReductionSum< Real > Sum
Elementwise::Heaviside< Real > Heaviside
void gradient(Vector< Real > &g, const Vector< Real > &x, Real &tol)
Compute gradient.
enum ROL::ObjectiveFromBoundConstraint::EBarrierType eBarrierType_
ObjectiveFromBoundConstraint(const BoundConstraint< Real > &bc)
ROL::Ptr< Vector< Real > > getBarrierVector(void)
Elementwise::Logarithm< Real > Logarithm
void hessVec(Vector< Real > &hv, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
Apply Hessian approximation to vector.
std::string EBarrierToString(EBarrierType type)
Elementwise::Power< Real > Power
const ROL::Ptr< const V > lo_
const ROL::Ptr< const V > up_
Elementwise::ThresholdUpper< Real > ThresholdUpper
Elementwise::UnaryFunction< Real > UnaryFunction
ObjectiveFromBoundConstraint(const BoundConstraint< Real > &bc, ROL::ParameterList &parlist)
Elementwise::Fill< Real > Fill
Provides the interface to evaluate objective functions.
std::string removeStringFormat(std::string s)