变量
(类来自 pyomo.core.kernel.variable)
- class pyomo.core.kernel.variable.variable(domain_type=None, domain=None, lb=None, ub=None, value=None, fixed=False)[source]
基础类:
IVariable决策变量
决策变量用于目标和约束中,以定义优化问题。
- Parameters:
domain_type – 设置变量的域类型。必须是
RealSet或IntegerSet之一。可以通过赋值给domain_type属性来更新。默认值None等同于RealSet,除非使用了domain关键字。domain – 设置变量的域。这将更新变量的
domain_type、lb和ub属性。None的默认值意味着忽略此关键字。此关键字不能与domain_type关键字一起使用。lb – 设置变量的下界。可以通过分配给变量的
lb属性来更新。默认值为None,这相当于-inf。ub – 设置变量的上限。可以通过分配给变量的
ub属性来更新。默认值为None,相当于+inf。value – 设置变量的值。可以通过分配给变量的
value属性来更新。默认值为None。fixed (bool) – 设置变量的固定状态。可以通过赋值给
fixed属性或调用fix()方法来更新。默认值为False。
示例
>>> import pyomo.kernel as pmo >>> # A continuous variable with infinite bounds >>> x = pmo.variable() >>> # A binary variable >>> x = pmo.variable(domain=pmo.Binary) >>> # Also a binary variable >>> x = pmo.variable(domain_type=pmo.IntegerSet, lb=0, ub=1)
方法
__init__([domain_type, domain, lb, ub, ...])activate()激活此对象。
clone()返回此对象的副本,并将父指针设置为
None。停用此对象。
fix([value])修复变量。
free()释放变量。
getname([fully_qualified, name_buffer, ...])动态生成此对象的名称。
has_lb()当下限为
None或负无穷大时返回Falsehas_ub()当上限为
None或正无穷大时返回False当域类型为
IntegerSet且边界在[0,1]范围内时,返回True。如果此类是Pyomo组件,则返回True
返回
False因为这不是表达式中的常量。当域类型为
RealSet时返回True。当域类型为
IntegerSet时返回True。is_expression_type([expression_system])如果此数值是一个表达式,则返回 True
is_fixed()如果此变量是固定的,则返回
True,否则返回False。如果此数值是一个索引对象,则返回 True
当域类型为
IntegerSet时返回True。如果此类是Pyomo布尔对象,则返回True。
如果此数值是一个命名表达式,则返回 True
如果此类是Pyomo数值对象,则返回True
返回
False因为这不是一个参数对象。返回
True因为这是一个变量。如果此对象是引用,则返回 True。
已弃用。
返回
True因为这是一个可变对象。返回此表达式的多项式次数
set_value(value[, skip_validation])to_string([verbose, labeler, smap, ...])返回表达式树的字符串表示。
unfix()释放变量。
属性
此对象的活动状态。
获取/设置边界为一个元组 (lb, ub)。
对象的类别类型。
设置变量的域。
变量的域类型(
RealSet或IntegerSet)变量的固定状态
返回变量下限的数值。
对象在其父级上下文中的本地名称。
变量的下限
下界松弛(值 - 下界)。
对象的完全限定名称。
对象的父级(可能为None)。
最小(lslack, uslack).
变量的陈旧状态
对象在其父级中的存储键
返回变量上限的数值。
变量的上限
上界松弛(ub - 值)。
变量的值
成员文档
- activate()
激活此对象。
- clone()
返回此对象的副本,并将父指针设置为
None。克隆几乎等同于深拷贝,除了遇到的任何分类对象如果不是该对象的后代,将在克隆上引用相同的对象。
- deactivate()
停用此对象。
- fix(value=NOTSET)
修复变量。将固定指示器设置为
True。一个可选的值参数将在修复前更新变量的值。
- free()
释放变量。将固定指示器设置为
False。
- getname(fully_qualified=False, name_buffer={}, convert=<class 'str'>, relative_to=None)
动态生成此对象的名称。
- has_lb()
当下限为
None或负无穷时返回False
- has_ub()
当上限为
None或正无穷大时返回False
- is_binary()
当域类型为
IntegerSet且边界在[0,1]范围内时,返回True。
- is_component_type()
如果此类是Pyomo组件,则返回True
- is_constant()
返回
False因为这不是表达式中的常量。
- is_continuous()
当域类型为
RealSet时返回True。
- is_discrete()
当域类型为
IntegerSet时,返回True。
- is_expression_type(expression_system=None)
如果此数值是一个表达式,则返回 True
- is_fixed()
如果此变量是固定的,则返回
True,否则返回False。
- is_indexed()
如果此数值是一个索引对象,则返回 True
- is_integer()
当域类型为
IntegerSet时,返回True。
- is_logical_type()
如果此类是Pyomo布尔对象,则返回True。
布尔对象包括常量、变量或逻辑表达式。
- is_named_expression_type()
如果此数值是一个命名表达式,则返回 True
- is_numeric_type()
如果此类是Pyomo数值对象,则返回True
- is_parameter_type()
返回
False因为这不是一个参数对象。
- is_potentially_variable()
返回
True因为这是一个变量。
- is_reference()
如果此对象是引用,则返回 True。
- is_relational()
已弃用。
如果此数值表示一个关系表达式,则返回True。
自版本6.4.3起已弃用:is_relational() 已被弃用,推荐使用 is_expression_type(ExpressionType.RELATIONAL)
- is_variable_type()
返回
True因为这是一个变量对象。
- polynomial_degree()
返回此表达式的多项式次数
- to_string(verbose=None, labeler=None, smap=None, compute_values=False)
返回表达式树的字符串表示。
- unfix()
释放变量。将固定指示器设置为
False。
- property active
此对象的活动状态。
- property bounds
获取/设置边界为一个元组 (lb, ub)。
- property ctype
对象的类别类型。
- property domain
设置变量的域。此方法更新
domain_type属性,并用域边界覆盖lb和ub属性。
- property domain_type
变量的域类型(
RealSet或IntegerSet)
- property fixed
变量的固定状态
- property lb
返回变量下限的数值。
- property local_name
对象在其父级上下文中的本地名称。是 obj.getname(fully_qualified=False)的别名。
- property lower
变量的下限
- property lslack
下界松弛(值 - 下界)。如果变量值为
None,则返回None。
- property name
对象的完全限定名称。obj.getname(fully_qualified=True)的别名。
- property parent
对象的父级(可能为None)。
- property slack
min(lslack, uslack)。如果变量值为
None,则返回None。
- property stale
变量的陈旧状态
- property storage_key
对象在其父级中的存储键
- property ub
返回变量上限的数值。
- property upper
变量的上限
- property uslack
上界松弛(ub - 值)。如果变量值为
None,则返回None。
- property value
变量的值