8.3.8. MdoVar

class mindoptpy.MdoVar(model: MdoModel, index: int)

Bases: object

此对象会实现包含优化变量的数据结构。调用 mindoptpy.MdoModel.add_var(),可创建空的变量对象。创建空变量对象后,用户可通过调用具有适当实值模型属性的 mindoptpy.MdoVar.set_real_attr() 来修改该对象的下界、上界或目标系数。

示例

from mindoptpy import *

# Create an empty model.
model = MdoModel()
MDO_INFINITY = MdoModel.get_infinity()

model.set_int_attr("MinSense", 1)

# Add variables.
x1 = model.add_var(0, MDO_INFINITY, 1, None, "x1", False)
x2 = model.add_var(0, MDO_INFINITY, 1, None, "x2", False)
x3 = model.add_var(0, 3, 1, None, "x2", False)

# Add constraints
cons1 = model.add_cons(2 * x1 - x2 <= 3, "c1")
cons2 = model.add_cons(3 * x1 + 2 * x2 <= 5, "c2")

# Change attributes
x1.set_int_attr("IsInteger", 0)
x1.get_int_attr("IsInteger")
x1.set_real_attr("UB", 10.0)
x1.get_real_attr("UB")
x1.set_str_attr("ColName", "x_1")
x1.get_str_attr("ColName")

# Check variable
x1.same_as(model.get_var(0))
x1.get_index()

# Solve
model.solve_prob()

# Check primal solution
x1.get_soln_value()
x1.get_real_attr("PrimalSoln")

方法

get_index()

此函数可检索优化模型中的变量的当前索引。

get_int_attr()

此函数可检索整数值列属性的值。

get_real_attr()

此函数可检索实值列属性的值。

get_str_attr()

此函数可检索字符串值列属性的值。

same_as()

检查两个变量对象是否引用同一个变量。

set_int_attr()

此函数可更改整数值列属性的值。

set_real_attr()

此函数可更改实值列属性的值。

set_str_attr()

此函数可更改字符串值列属性的值。

get_soln_value()

此函数可检索此原始变量的解值。

..py:function:: get_index()

此函数会检索优化模型中的变量的当前索引。

return

变量的当前索引。

rtype

整型

get_int_attr(att: str)

此函数会检索整数值列属性的值。

Parameters

att (str) – 一个待访问的整数值列属性。

Returns

整数值列属性的当前值。

Return type

整型

get_real_attr(att: str)

此函数会检索实值列属性的值。

Parameters

att (str) – 一个待访问的实值列属性。

Returns

实值列属性的当前值。

Return type

浮点型

get_str_attr(att: str)

此函数会检索字符串值列属性的值。

Parameters

att (str) – 一个待访问的字符串值列属性。

Returns

字符串值列属性的当前值。

Return type

str

same_as(rhs)

检查两个变量对象是否引用同一个变量。

Parameters

rhs (MdoVar) – 其他变量对象。

Returns

一个可指示两个变量对象是否引用同一个变量的布尔标志。

Return type

bint

set_int_attr(att: str, val: int)

此函数会更改整数值列属性的值。

Parameters
  • att (str) – 一个待访问的整数值列属性。

  • val (int) – 整数值列属性的一个新值。

set_real_attr(att: str, val: float)

此函数会更改实值列属性的值。

Parameters
  • att (str) – 一个待访问的实值列属性。

  • val (float) – 实值列属性的一个新值。

set_str_attr(att: str, val: str)

此函数会更改字符串值列属性的值。

Parameters
  • att (str) – 一个待访问的字符串值列属性。

  • val (str) – 字符串值列属性的一个新值。

get_soln_value()

此函数会返回此原始变量的解值。

Returns

此原始变量的当前解值。

Return type

浮点型