idol
A C++ Framework for Optimization
Loading...
Searching...
No Matches
SOSCtrVersion.h
1//
2// Created by henri on 13.04.25.
3//
4
5#ifndef IDOL_SOSCTRVERSION_H
6#define IDOL_SOSCTRVERSION_H
7
8#include <vector>
9#include "idol/mixed-integer/modeling/objects/Version.h"
10#include "idol/mixed-integer/modeling/Types.h"
11#include "idol/mixed-integer/modeling/variables/Var.h"
12
13namespace idol {
14 class SOSCtrVersion;
15}
16
18 bool m_is_sos1;
19 std::vector<Var> m_vars;
20 std::vector<double> m_weights;
21public:
22 SOSCtrVersion(unsigned int t_index, bool t_is_sos1, const std::vector<Var>& t_vars, const std::vector<double>& t_weights)
23 : Version(t_index),
24 m_is_sos1(t_is_sos1),
25 m_vars(t_vars),
26 m_weights(t_weights) {}
27
28 [[nodiscard]] bool is_sos1() const { return m_is_sos1; }
29
30 [[nodiscard]] const std::vector<Var>& vars() const { return m_vars; }
31
32 [[nodiscard]] const std::vector<double>& weights() const { return m_weights; }
33};
34
35#endif //IDOL_SOSCTRVERSION_H