1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
// SPDX-License-Identifier: LGPL-3.0-or-later
// Author: Kristian Lytje
#pragma once
#include <mini/Minimizer.h>
#include <mini/detail/Parameter.h>
#if defined(DLIB_AVAILABLE)
namespace ausaxs::mini {
struct column_vector;
template<mini::algorithm algo>
class dlibMinimizer : public Minimizer {
public:
dlibMinimizer();
dlibMinimizer(std::function<double(std::vector<double>)> function, std::vector<Parameter> param = {});
dlibMinimizer(std::function<double(double)> function, const Parameter& param = Parameter());
~dlibMinimizer() override;
private:
/**
* @brief Perform the minimization.
*/
Result minimize_override() override;
};
}
#endif
|