8.2.8. MdoVar¶
-
class mindopt::MdoVar¶
Object to define an optimization variable.
This object implements the data structure to hold an optimization variable. An empty variable object can be created by calling
MdoModel::addVar()
. Once created, users may modify the its lower bound, upper bound, or objective coefficient by callingMdoVar::setRealAttr()
with a proper real-valued model attribute.Note
Do not use constructor (
MdoVar::MdoVar()
) to create an empty variable object.Examples
/* 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");
Constructor / destructor.
-
MdoVar(void)¶
Default constructor.
-
MdoVar(MdoMdlPtr model, MdoI32 index)¶
Constructor with argument.
- Parameters
model – Pointer to the optimization model.
index – Variable index.
-
virtual ~MdoVar(void)¶
Destructor.
Basic operators.
-
MdoVar &operator=(const MdoVar &rhs)¶
Assignment operator.
- Parameters
rhs – Object to copy.
- Return
Updated object.
Functions to access the internal data.
-
MdoI32 getIndex(void) const¶
This function retrieves the current index of the variable in the optimization model.
- Return
The current index of the variable in the optimization model.
-
MdoBool sameAs(const MdoVar &rhs) const¶
This function checks whether two variable objects refer to the same variable.
- Parameters
rhs – Another variable object.
- Return
A boolean flag indicates if two variable objects refer to the same variable.
-
void setStrAttr(std::string att, std::string val)¶
This function changes the value of a string-valued column attribute.
- Parameters
att – A string-valued column attribute to access.
val – A new value for the string-valued column attribute.
-
std::string getStrAttr(std::string att) const¶
This function retrieves the value of a string-valued column attribute.
- Parameters
att – A string-valued column attribute to access.
- Return
The value of a string-valued column attribute.
-
void setIntAttr(std::string att, MdoI32 val)¶
This function changes the value of an integer-valued column attribute.
- Parameters
att – An integer-valued column attribute to access.
val – A new value.
-
MdoI32 getIntAttr(std::string att) const¶
This function retrieves the value of an integer-valued column attribute.
- Parameters
att – An integer-valued column attribute to access.
- Return
The value of an integer-valued column attribute.
-
MdoVar(void)¶