34 #ifndef SHARK_OBJECTIVEFUNCTIONS_ABSTRACTOBJECTIVEFUNCTION_H 35 #define SHARK_OBJECTIVEFUNCTIONS_ABSTRACTOBJECTIVEFUNCTION_H 80 template <
typename Po
intType,
typename ResultT>
168 throw SHARKEXCEPTION(
"dimensionality of function is not scalable");
181 throw SHARKEXCEPTION(
"dimensionality of function is not scaleable");
195 throw SHARKEXCEPTION(
"Objective Function does not have an constraint handler!");
202 virtual bool isFeasible(
const SearchPointType & input)
const {
205 throw SHARKEXCEPTION(
"[AbstractObjectiveFunction::isFasible] not overwritten, even though function is constrained");
227 SearchPointType startingPoint;
229 return startingPoint;
241 virtual ResultType
eval(
const SearchPointType & input )
const {
246 ResultType
operator()(
const SearchPointType & input )
const {
256 virtual ResultType
evalDerivative(
const SearchPointType & input, FirstOrderDerivative & derivative )
const {
266 virtual ResultType
evalDerivative(
const SearchPointType & input, SecondOrderDerivative & derivative )
const {
278 SHARK_CHECK(handler != NULL,
"[AbstractObjectiveFunction::AnnounceConstraintHandler] Handler is not allowed to be NULL");
279 m_constraintHandler = handler;