19 Map<Ctr, LinExpr<Var, LinExpr<Var>>> m_uncertain_mat_coeff;
22 Model m_uncertainty_set;
24 explicit Description(
const Model& t_uncertainty_set) : m_uncertainty_set(t_uncertainty_set.copy()) {}
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;
46 void set_uncertain_mat_coeff(
const Ctr& t_ctr,
const Var& t_var,
const LinExpr<Var>& t_coeff) {
47 m_uncertain_mat_coeff[t_ctr].set(t_var, t_coeff);
51 m_uncertain_rhs.set(t_ctr, t_rhs);
55 m_uncertain_obj.set(t_var, t_obj);
59 m_uncertain_obj = std::move(t_obj);
63 m_uncertain_rhs = std::move(t_rhs);
67 const Description& m_description;
68 const Model& m_deterministic_model;
70 View(
const Model& t_deterministic_model,
const Description& t_description);
72 [[nodiscard]]
const Description& description()
const {
return m_description; }
74 [[nodiscard]]
const Model& deterministic_model()
const {
return m_deterministic_model; }