6 #ifndef TURI_CONSTRAINT_INTERFACE_H_ 7 #define TURI_CONSTRAINT_INTERFACE_H_ 10 #include <core/data/flexible_type/flexible_type.hpp> 14 #include <Eigen/SparseCore> 17 #include <ml/optimization/optimization_interface.hpp> 25 namespace optimization {
112 virtual void project(DenseVector &point)
const = 0;
126 virtual void project_block(DenseVector &point,
const size_t block_start,
127 const size_t block_size)
const = 0;
135 virtual bool is_satisfied(
const DenseVector &point)
const = 0;
150 const DenseVector& gradient)
const = 0;
virtual bool is_satisfied(const DenseVector &point) const =0
virtual double first_order_optimality_conditions(const DenseVector &point, const DenseVector &gradient) const =0
virtual void project_block(DenseVector &point, const size_t block_start, const size_t block_size) const =0
virtual void project(DenseVector &point) const =0
virtual ~constraint_interface()