BeforeExpression

(类来自 pyomo.contrib.cp.scheduling_expr.precedence_expressions)

class pyomo.contrib.cp.scheduling_expr.precedence_expressions.BeforeExpression(args)[source]

基础类:PrecedenceExpression

所有优先级表达式的基类。

Parameters:
  • args (tuple) – 类型为 IntervalVar 的子节点。我们期望它们是 (之前的时间, 之后的时间, 延迟)。

  • delay – 一个(可能为负的)整数值,表示前置关系中的时间周期延迟数

__init__(args)

方法

__init__(args)

arg(i)

返回第i个子节点。

clone([substitute])

返回表达式树的克隆。

create_node_with_local_data(args[, classtype])

使用给定的参数构造一个节点。

equivalent_to(other)

在此布尔值与其操作数之间构建一个等价表达式。

getname(*args, **kwds)

返回与此表达式对象关联的函数的文本名称。

implies(other)

使用“implies”方法构建一个ImplicationExpression

is_component_type()

如果此类是Pyomo组件,则返回True

is_constant()

如果此表达式是原子常量,则返回 True

is_expression_type([expression_system])

如果此对象是一个表达式,则返回 True

is_fixed()

如果此表达式不包含自由变量,则返回 True

is_indexed()

如果此逻辑值是一个索引对象,则返回 True

is_logical_type()

如果此类是Pyomo布尔对象,则返回True。

is_named_expression_type()

如果此对象是命名表达式,则返回 True

is_numeric_type()

布尔值不是数字。

is_parameter_type()

除非此类是参数对象,否则返回 False

is_potentially_variable()

如果此表达式可能表示一个变量表达式,则返回 True

is_reference()

如果此对象是引用,则返回 True。

is_relational()

已弃用。

is_variable_type()

除非此类是变量对象,否则返回 False

land(other)

在此BooleanValue和other之间构建一个AndExpression(逻辑与)。

lor(other)

在此BooleanValue和other之间构造一个OrExpression(逻辑或)。

nargs()

返回子节点的数量。

size()

返回表达式树中的节点数量。

to_string([verbose, labeler, smap, ...])

返回表达式树的字符串表示。

xor(other)

使用“xor”方法构造一个XorExpression

属性

PRECEDENCE

返回此运算符的结合性。

args

返回子节点

delay

local_name

name

成员文档

arg(i)

返回第i个子节点。

Parameters:
  • i (int) – 要返回的子参数的索引

  • 返回 (第i个子节点。)

clone(substitute=None)

返回表达式树的克隆。

注意

此方法不会克隆树的叶子,这些叶子是数字常量和变量。 它只克隆内部节点,以及像 _MutableLinearExpression 这样的表达式叶子节点。 然而,命名表达式被视为叶子,它们不会被克隆。

Parameters:

substitute (dict) – 一个将对象ID映射到克隆过程中早期生成的克隆对象的字典。

Returns:

一个新的表达式树。

create_node_with_local_data(args, classtype=None)

使用给定的参数构造一个节点。

该方法为构建节点提供了一个一致的接口,该接口用于树访问者脚本中。在最简单的情况下,它返回:

self.__class__(args)

但通常这会使用本地数据以及表示子节点的参数创建一个表达式对象。

Parameters:

args (list) – 新表达式对象的子节点列表

Returns:

一个新的表达式对象,其类型与当前类相同。

equivalent_to(other)

在此布尔值与其操作数之间构建一个等价表达式。

getname(*args, **kwds)

返回与此表达式对象关联的函数的文本名称。

通常,不会向此函数传递任何参数。

Parameters:
  • *arg – 一个可变长度的参数列表

  • **kwds – 关键字参数

Returns:

函数的字符串名称。

implies(other)

使用“implies”方法构建一个ImplicationExpression

is_component_type()

如果此类是Pyomo组件,则返回True

is_constant()

如果此表达式是原子常量,则返回 True

此方法与is_fixed()方法形成对比。如果表达式是一个原子常量,即它完全由常量和不可变参数组成,则此方法返回True。返回is_constant() == True的NumericValue对象可以在任何时候简化为它们的数值,而不会发出警告。

注意: 默认情况下为False,但在子类中会被重新定义。

is_expression_type(expression_system=None)

如果此对象是一个表达式,则返回 True

这个方法显然会为这个类返回True,但它包含在Pyomo中不是表达式的其他类中,这允许在不评估类类型的情况下检查表达式。

Returns:

一个布尔值。

is_fixed()

如果此表达式不包含自由变量,则返回 True

Returns:

一个布尔值。

is_indexed()

如果此逻辑值是一个索引对象,则返回 True

is_logical_type()

如果此类是Pyomo布尔对象,则返回True。

布尔对象包括常量、变量或逻辑表达式。

is_named_expression_type()

如果此对象是命名表达式,则返回 True

此方法对于此类返回False,并且它包含在Pyomo中不是命名表达式的其他类中,这允许在不评估类类型的情况下检查命名表达式。

Returns:

一个布尔值。

is_numeric_type()

布尔值不是数字。

is_parameter_type()

除非此类是参数对象,否则返回 False

is_potentially_variable()

如果此表达式可能表示一个变量表达式,则返回 True

当(a)表达式树包含一个或多个变量,或(b)表达式树包含一个命名表达式时,此方法返回True。在这两种情况下,表达式不能被视为常量,因为(a)变量可能不是固定的,或(b)命名表达式可能在稍后更改为包含非固定变量。

Returns:

一个布尔值。对于表达式,默认为 True

is_reference()

如果此对象是引用,则返回 True。

is_relational()

已弃用。

如果此逻辑值表示一个关系表达式,则返回True。

自版本6.4.3起已弃用:is_relational() 已被弃用,推荐使用 is_expression_type(ExpressionType.RELATIONAL)

is_variable_type()

除非此类是变量对象,否则返回 False

land(other)

在此BooleanValue和other之间构建一个AndExpression(逻辑与)。

lor(other)

在此BooleanValue和other之间构造一个OrExpression(逻辑或)。

nargs()

返回子节点的数量。

注意

单个表达式节点可能使用不同的内部存储方案,因此开发者必须使用此方法,而不是假设特定属性的存在!

Returns:

int

Return type:

一个非负整数,表示子节点的数量。

size()

返回表达式树中的节点数量。

Returns:

一个非负整数,表示表达式树中内部节点和叶节点的数量。

to_string(verbose=None, labeler=None, smap=None, compute_values=False)

返回表达式树的字符串表示。

Parameters:
  • verbose (bool) – 如果为 True,则字符串表示由嵌套函数组成。否则,字符串表示是一个代数(中缀表示法)方程。默认为 False

  • labeler – 一个为表达式树中的变量生成字符串标签的对象。默认为 None

  • smap – 如果指定,此 SymbolMap 用于缓存变量的标签。

  • (bool) (compute_values) – 如果 True,则在生成表达式字符串之前评估参数和固定变量。 默认值为 False

  • 返回 – 表达式树的字符串表示。

xor(other)

使用“xor”方法构造一个XorExpression

PRECEDENCE = 0

返回此运算符的结合性。

如果此运算符是左到右结合的,则返回1;如果是右到左结合的,则返回-1。任何其他返回值将被解释为“非结合性”(意味着任何具有此运算符优先级的参数将被括在括号中)。

property args

返回子节点

Returns: Either a list or tuple (depending on the node storage

模型)仅包含此节点的子节点