idol
A C++ Framework for Optimization
Loading...
Searching...
No Matches
HiGHS.h
1//
2// Created by henri on 23/03/23.
3//
4
5#ifndef IDOL_HIGHS_H
6#define IDOL_HIGHS_H
7
8#include "idol/general/optimizers/OptimizerFactory.h"
9#include "idol/general/utils/Map.h"
10
11namespace idol {
12 class HiGHS;
13}
14
16 std::optional<bool> m_continuous_relaxation;
17
18 explicit HiGHS(bool t_continuous_relaxation) : m_continuous_relaxation(t_continuous_relaxation) {}
19public:
20 HiGHS() = default;
21
22 HiGHS(const HiGHS&) = default;
23 HiGHS(HiGHS&&) noexcept = default;
24
25 HiGHS& operator=(const HiGHS&) = delete;
26 HiGHS& operator=(HiGHS&&) noexcept = delete;
27
28 Optimizer *operator()(const Model &t_model) const override;
29
30 static HiGHS ContinuousRelaxation();
31
32 [[nodiscard]] HiGHS *clone() const override;
33
34 HiGHS& with_continuous_relaxation_only(bool t_value);
35};
36
37#endif //IDOL_HIGHS_H
Optimizer * operator()(const Model &t_model) const override
HiGHS * clone() const override