idol
A C++ Framework for Optimization
Loading...
Searching...
No Matches
SubProblem.h
1//
2// Created by henri on 18.09.24.
3//
4
5#ifndef IDOL_ADM_SUBPROBLEM_H
6#define IDOL_ADM_SUBPROBLEM_H
7
8#include "idol/general/optimizers/OptimizerFactory.h"
9#include "idol/general/utils/Point.h"
10#include <memory>
11
12namespace idol::ADM {
13 class SubProblem;
14}
15
17 std::unique_ptr<OptimizerFactory> m_optimizer_factory;
18 std::optional<PrimalPoint> m_initial_point;
19public:
20 SubProblem() = default;
21
22 SubProblem(const SubProblem&);
23 SubProblem(SubProblem&&) = default;
24
25 SubProblem& operator=(const SubProblem&) = delete;
26 SubProblem& operator=(SubProblem&&) = default;
27
28 SubProblem& with_optimizer(const OptimizerFactory& t_optimizer_factory);
29
30 SubProblem& with_initial_point(const PrimalPoint& t_initial_point, bool t_force = false);
31
32 const OptimizerFactory& optimizer_factory() const;
33
34 PrimalPoint initial_point() const;
35};
36
37
38#endif //IDOL_ADM_SUBPROBLEM_H