8.2.8. MdoVar¶
-
class mindopt::MdoVar¶
一个可定义优化变量的对象。
此对象会实现包含优化变量的数据结构。可通过调用
MdoModel::addVar()
创建空变量对象。创建空变量对象后,用户可通过调用具有适当实值模型属性的MdoVar::setRealAttr()
来修改该对象的下界、上界或目标系数。Note
请勿使用构造函数 (
MdoVar::MdoVar()
) 创建空变量对象。示例
/* Create an empty model. */ MdoModel model; MdoI32 itmp = 0; MdoReal dtmp = 0.0; std::string ctmp; /* Add variables. */ std::vector<std::reference_wrapper<MdoVar> > x; x.push_back(model.addVar(0.0, 10.0, 1.0, col[0], "x0", MDO_NO)); x.push_back(model.addVar(0.0, MDO_INFINITY, 1.0, col[1], "x1", MDO_NO)); x.push_back(model.addVar(0.0, MDO_INFINITY, 1.0, col[2], "x2", MDO_NO)); x.push_back(model.addVar(0.0, MDO_INFINITY, 1.0, col[3], "x3", MDO_NO)); /* Check variable object */ MdoVar x0 = model.getVar(0); itmp = x[0].get().sameAs(x0); std::string x0_name = x0.getStrAttr("ColName"); MdoVar x0_copy = model.getVar(x0_name); itmp = x[0].get().sameAs(x0_copy); itmp = x0.getIndex(); /* Set/get attribute */ x[1].get().setIntAttr("IsInteger", 0); itmp = x[1].get().getIntAttr("IsInteger"); x[1].get().setStrAttr("ColName", col_name); ctmp = x[1].get().getStrAttr("ColName"); x[2].get().setRealAttr("Obj", +100); dtmp = x[2].get().getRealAttr("Obj");
构造函数/析构函数。
-
MdoVar(void)¶
默认构造函数。
-
virtual ~MdoVar(void)¶
析构函数。
基本运算符。
用于访问内部数据的函数。
-
MdoBool sameAs(const MdoVar &rhs) const¶
此函数会检查两个变量对象是否引用同一个变量。
- Parameters
rhs – 其他变量对象。
- Return
一个可指示两个变量对象是否引用同一个变量的布尔标志。
-
void setStrAttr(std::string att, std::string val)¶
此函数会更改字符串值列属性的值。
- Parameters
att – 待访问的字符串值列属性。
val – 字符串值列属性的新值。
-
std::string getStrAttr(std::string att) const¶
此函数会检索字符串值列属性的值。
- Parameters
att – 待访问的字符串值列属性。
- Return
字符串值列属性的值。
-
void setIntAttr(std::string att, MdoI32 val)¶
此函数会更改整数值列属性的值。
- Parameters
att – 待访问的整数值列属性。
val – 新值。
-
MdoI32 getIntAttr(std::string att) const¶
此函数会检索整数值列属性的值。
- Parameters
att – 待访问的整数值列属性。
- Return
整数值列属性的值。
-
MdoVar(void)¶