线性标准形式编译器

(类来自 pyomo.repn.plugins.standard_form)

class pyomo.repn.plugins.standard_form.LinearStandardFormCompiler[source]

基础类:object

编译器将LP转换为标准形式的矩阵表示:

\[\begin{split}\min\ & c^Tx \\ s.t.\ & Ax \le b\end{split}\]

并返回编译后的表示为NumPy数组和SciPy稀疏矩阵。

__init__()[源代码]

方法

__init__()

write(model[, ostream])

将模型转换为标准形式

属性

CONFIG

成员文档

write(model, ostream=None, **options)[source]

将模型转换为标准形式

Return type:

LinearStandardFormInfo

Parameters:
  • model (ConcreteModel) – 要写出的具体Pyomo模型。

  • ostream – 这是为了与其他写入器的API兼容而提供的,在这里被忽略。

Keyword Arguments:
  • nonnegative_vars (bool, default=False) – 将所有变量转换为非负变量

  • slack_form (bool, default=False) – 添加松弛变量并返回 \(\min c^Tx; s.t. Ax = b\)

  • mixed_form (bool, default=False) – 返回A的混合形式(比较运算符是<=、==和>=的混合)

  • set_sense (InEnum[ObjectiveSense], default=) – 如果不为None,将所有目标映射到指定的方向。

  • show_section_timing (bool, default=False) – 在编译过程的每个阶段后打印时间

  • file_determinism (InEnum[FileDeterminism], default=) –

    我们希望投入多少努力来确保生成的矩阵是确定性的:

    • NONE (0): 无

    • ORDERED (10): 依赖底层组件排序(默认)

    • SORT_INDICES (20) : 对索引组件的键进行排序

    • SORT_SYMBOLS (30) : 对键和名称进行排序(非声明顺序)

  • row_order (可选) – 约束条件的列表,按照它们在结果 A 矩阵中出现的顺序排列。未指定的约束条件将出现在末尾。

  • column_order (可选) – 变量列表,按照它们在编译表示中应出现的顺序排列。未指定的变量将附加到此列表的末尾。