This class is used to represent a mathematical optimization model.
Public Types
-
enum Storage
Values:
-
enumerator ColumnOriented
-
enumerator RowOriented
-
enumerator Both
Public Functions
-
explicit Model(Env &t_env, Storage t_storage = Both)
-
Model(Model&&) noexcept
-
Model &operator=(const Model&) = delete
-
Model &operator=(Model&&) noexcept = delete
-
~Model()
-
Var add_var(double t_lb, double t_ub, VarType t_type, double t_obj = 0., std::string t_name = "")
-
Var add_var(double t_lb, double t_ub, VarType t_type, double t_obj, LinExpr<Ctr> t_column, std::string t_name = "")
-
template<unsigned int N>
Vector<Var, N> add_vars(Dim<N> t_dim, double t_lb, double t_ub, VarType t_type, double t_obj = 0., const std::string &t_name = "")
-
void add(const Var &t_var)
-
void add(const Var &t_var, TempVar t_temp_var)
-
bool has(const Var &t_var) const
-
void remove(const Var &t_var)
-
inline ConstIteratorForward<std::vector<Var>> vars() const
-
Ctr add_ctr(TempCtr t_temp_ctr, std::string t_name = "")
-
Ctr add_ctr(LinExpr<Var> &&t_lhs, CtrType t_type, double t_rhs, std::string t_name = "")
-
template<unsigned int N>
Vector<Ctr, N> add_ctrs(Dim<N> t_dim, CtrType t_type, double t_rhs, const std::string &t_name = "")
-
void add(const Ctr &t_ctr)
-
void add(const Ctr &t_ctr, TempCtr t_temp_ctr)
-
bool has(const Ctr &t_ctr) const
-
void remove(const Ctr &t_ctr)
-
inline ConstIteratorForward<std::vector<Ctr>> ctrs() const
-
QCtr add_qctr(TempQCtr t_temp_ctr, std::string t_name = "")
-
QCtr add_qctr(QuadExpr<Var> &&t_expr, CtrType t_type, std::string t_name = "")
-
template<unsigned int N>
Vector<QCtr, N> add_qctrs(Dim<N> t_dim, CtrType t_type, const std::string &t_name = "")
-
void add(const QCtr &t_ctr)
-
void add(const QCtr &t_ctr, TempQCtr t_temp_ctr)
-
bool has(const QCtr &t_ctr) const
-
void remove(const QCtr &t_ctr)
-
inline ConstIteratorForward<std::vector<QCtr>> qctrs() const
-
inline unsigned int id() const
-
Model *clone() const
-
Model copy() const
-
void reserve_vars(unsigned int t_size)
-
void reserve_ctrs(unsigned int t_size)
-
void reserve_qctrs(unsigned int t_size)
-
inline Env &env() const
-
void use(const OptimizerFactory &t_optimizer_factory)
-
bool has_optimizer() const
-
inline bool has_optimizer_factory() const
-
inline const OptimizerFactory &optimizer_factory() const
-
void unuse()
-
template<class T, unsigned int N>
void add_vector(const Vector<T, N> &t_vector)
-
inline Optimizer &optimizer()
-
inline const Optimizer &optimizer() const
-
void optimize()
-
void write(const std::string &t_name)
-
void update()
-
ObjectiveSense get_obj_sense() const
-
const QuadExpr<Var> &get_obj_expr() const
-
const LinExpr<Ctr> &get_rhs_expr() const
-
double get_mat_coeff(const Ctr &t_ctr, const Var &t_var) const
-
SolutionStatus get_status() const
-
SolutionReason get_reason() const
-
double get_best_obj() const
-
double get_best_bound() const
-
void set_obj_sense(ObjectiveSense t_value)
-
void set_obj_expr(const QuadExpr<Var> &t_objective)
-
void set_obj_expr(QuadExpr<Var> &&t_objective)
-
void set_rhs_expr(LinExpr<Ctr> &&t_rhs)
-
void set_rhs_expr(const LinExpr<Ctr> &t_rhs)
-
void set_obj_const(double t_constant)
-
void set_mat_coeff(const Ctr &t_ctr, const Var &t_var, double t_coeff)
-
QCtr get_qctr_by_index(unsigned int t_index) const
-
Ctr get_ctr_by_index(unsigned int t_index) const
-
Var get_var_by_index(unsigned int t_index) const
-
unsigned int get_ctr_index(const Ctr &t_ctr) const
-
unsigned int get_qctr_index(const QCtr &tctr) const
-
CtrType get_ctr_type(const Ctr &t_ctr) const
-
double get_ctr_rhs(const Ctr &t_ctr) const
-
const LinExpr<Var> &get_ctr_row(const Ctr &t_ctr) const
-
const QuadExpr<Var> &get_qctr_expr(const QCtr &t_ctr) const
-
CtrType get_qctr_type(const QCtr &t_ctr) const
-
double get_ctr_dual(const Ctr &t_ctr) const
-
double get_ctr_farkas(const Ctr &t_ctr) const
-
void set_ctr_rhs(const Ctr &t_ctr, double t_rhs)
-
void set_ctr_type(const Ctr &t_ctr, CtrType t_type)
-
void set_ctr_row(const Ctr &t_ctr, const LinExpr<Var> &t_row)
-
void set_ctr_row(const Ctr &t_ctr, LinExpr<Var> &&t_row)
-
unsigned int get_var_index(const Var &t_var) const
-
VarType get_var_type(const Var &t_var) const
-
double get_var_lb(const Var &t_var) const
-
double get_var_ub(const Var &t_var) const
-
double get_var_primal(const Var &t_var) const
-
double get_var_reduced_cost(const Var &t_var) const
-
double get_var_ray(const Var &t_var) const
-
const LinExpr<Ctr> &get_var_column(const Var &t_var) const
-
double get_var_obj(const Var &t_var) const
-
void set_var_type(const Var &t_var, VarType t_type)
-
void set_var_lb(const Var &t_var, double t_lb)
-
void set_var_ub(const Var &t_var, double t_ub)
-
void set_var_obj(const Var &t_var, double t_obj)
-
void set_var_column(const Var &t_var, const LinExpr<Ctr> &t_column)
-
void set_var_column(const Var &t_var, LinExpr<Ctr> &&t_column)
-
unsigned int get_n_solutions() const
-
unsigned int get_solution_index() const
-
void set_solution_index(unsigned int t_index)
-
void dump(std::ostream &t_os = std::cout) const
-
inline Storage storage() const
-
void set_storage(Storage t_storage, bool t_reset_minor_representation = false)
-
void reset_minor_representation()
-
template<unsigned int N>
idol::Vector<idol::Var, N> add_vars(Dim<N> t_dim, double t_lb, double t_ub, VarType t_type, double t_obj, const std::string &t_name)
-
template<unsigned int N>
idol::Vector<idol::Ctr, N> add_ctrs(Dim<N> t_dim, CtrType t_type, double t_rhs, const std::string &t_name)