22 #ifndef __OBJECTIVE_FUNCTION_TYPES_H__
23 #define __OBJECTIVE_FUNCTION_TYPES_H__
25 #include "algorithms/algorithm.h"
26 #include "data_management/data/numeric_table.h"
27 #include "data_management/data/homogen_numeric_table.h"
28 #include "services/daal_defines.h"
37 namespace optimization_solver
48 namespace objective_function
58 lastInputId = argument
65 enum ResultToComputeId
67 gradient = 0x00000001ULL,
68 value = 0x00000002ULL,
69 hessian = 0x00000004ULL,
70 nonSmoothTermValue = 0x00000008ULL,
71 proximalProjection = 0x00000010ULL,
72 lipschitzConstant = 0x00000020ULL
84 nonSmoothTermValueIdx,
85 proximalProjectionIdx,
87 lastResultId = lipschitzConstantIdx
102 struct DAAL_EXPORT Parameter :
public daal::algorithms::Parameter
108 Parameter(
const DAAL_UINT64 resultsToCompute = gradient);
114 Parameter(
const Parameter &other);
116 virtual ~Parameter() {}
118 DAAL_UINT64 resultsToCompute;
126 class DAAL_EXPORT Input :
public daal::algorithms::Input
133 Input(
const Input& other);
143 void set(InputId
id,
const data_management::NumericTablePtr &ptr);
150 data_management::NumericTablePtr
get(InputId id)
const;
159 services::Status check(
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
166 class DAAL_EXPORT Result:
public daal::algorithms::Result
169 DECLARE_SERIALIZABLE_CAST(Result);
174 virtual ~Result() {};
184 template <
typename algorithmFPType>
185 DAAL_EXPORT services::Status allocate(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *parameter,
const int method);
192 void set(ResultId
id,
const data_management::NumericTablePtr &ptr);
199 data_management::NumericTablePtr
get(ResultId id)
const;
209 virtual services::Status check(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
213 template<
typename Archive,
bool onDeserialize>
214 services::Status serialImpl(Archive *arch)
216 return daal::algorithms::Result::serialImpl<Archive, onDeserialize>(arch);
219 typedef services::SharedPtr<Result> ResultPtr;
222 using interface1::Parameter;
223 using interface1::Input;
224 using interface1::Result;
225 using interface1::ResultPtr;
daal::algorithms::optimization_solver::objective_function::argument
Definition: objective_function_types.h:57
daal::algorithms::optimization_solver::objective_function::value
Definition: objective_function_types.h:68
daal
Definition: algorithm_base_common.h:31
daal::algorithms::interface1::Result
Base class to represent final results of the computation. Algorithm-specific final results are repres...
Definition: algorithm_types.h:307
daal::algorithms::optimization_solver::objective_function::interface1::Parameter::resultsToCompute
DAAL_UINT64 resultsToCompute
Definition: objective_function_types.h:118
daal::algorithms::optimization_solver::objective_function::interface1::Result
Provides methods to access final results obtained with the compute() method of the Objective function...
Definition: objective_function_types.h:166
daal::algorithms::optimization_solver::objective_function::interface1::Result::~Result
virtual ~Result()
Definition: objective_function_types.h:174
daal::algorithms::optimization_solver::objective_function::gradientIdx
Definition: objective_function_types.h:81
daal::algorithms::optimization_solver::objective_function::ResultToComputeId
ResultToComputeId
Definition: objective_function_types.h:65
daal::algorithms::optimization_solver::objective_function::hessian
Definition: objective_function_types.h:69
daal::algorithms::interface1::Parameter
Base class to represent computation parameters. Algorithm-specific parameters are represented as deri...
Definition: algorithm_types.h:60
daal::algorithms::optimization_solver::objective_function::hessianIdx
Definition: objective_function_types.h:83
daal::algorithms::optimization_solver::objective_function::valueIdx
Definition: objective_function_types.h:82
daal::algorithms::optimization_solver::objective_function::ResultId
ResultId
Definition: objective_function_types.h:79
daal::algorithms::optimization_solver::objective_function::gradient
Definition: objective_function_types.h:67
daal::algorithms::optimization_solver::objective_function::InputId
InputId
Definition: objective_function_types.h:55
daal::algorithms::optimization_solver::objective_function::interface1::Parameter
Parameter for the Objective function
Definition: objective_function_types.h:102