19 Map<Ctr, LinExpr<Var, LinExpr<Var>>> m_uncertain_mat_coeff;
22 std::unique_ptr<Model> m_uncertainty_set;
24 explicit Description(
const Model& t_uncertainty_set) : m_uncertainty_set(t_uncertainty_set.clone()) {}
26 Description(Description&&) =
default;
28 [[nodiscard]]
const Model& uncertainty_set()
const {
return *m_uncertainty_set; }
30 [[nodiscard]]
auto uncertain_mat_coeffs()
const {
return ConstIteratorForward(m_uncertain_mat_coeff); }
32 [[nodiscard]]
auto uncertain_rhs()
const {
return m_uncertain_rhs; }
34 [[nodiscard]]
auto uncertain_obj()
const {
return m_uncertain_obj; }
36 [[nodiscard]]
const LinExpr<Var>& uncertain_mat_coeff(
const Ctr& t_ctr,
const Var& t_var)
const;
40 [[nodiscard]]
const LinExpr<Var>& uncertain_rhs(
const Ctr& t_ctr)
const;
42 [[nodiscard]]
const LinExpr<Var>& uncertain_obj(
const Var& t_var)
const;
44 void set_uncertain_mat_coeff(
const Ctr& t_ctr,
const Var& t_var,
const LinExpr<Var>& t_coeff) {
45 m_uncertain_mat_coeff[t_ctr].set(t_var, t_coeff);
49 m_uncertain_rhs.set(t_ctr, t_rhs);
53 m_uncertain_obj.set(t_var, t_obj);
57 m_uncertain_obj = std::move(t_obj);
61 m_uncertain_rhs = std::move(t_rhs);
65 const Description& m_description;
66 const Model& m_deterministic_model;
68 View(
const Model& t_deterministic_model,
const Description& t_description);
70 [[nodiscard]]
const Description& description()
const {
return m_description; }
72 [[nodiscard]]
const Model& deterministic_model()
const {
return m_deterministic_model; }