分段多维
(函数来自 pyomo.core.kernel.piecewise_library.transforms_nd)
- pyomo.core.kernel.piecewise_library.transforms_nd.piecewise_nd(tri, values, input=None, output=None, bound='eq', repn='cc')[source]
模拟一个多变量分段线性函数。
此函数接受一个D维三角剖分和与该三角剖分点相关联的函数值列表,并将此输入数据转换为一组变量和约束,这些变量和约束在输入变量的D维向量和单个输出变量之间强制执行分段线性关系。在一般情况下,此转换需要使用离散决策变量。
- Parameters:
tri (scipy.spatial.Delaunay) –
离散变量域上的三角剖分。可以使用变量列表通过实用函数
util.generate_delaunay()生成。必需的属性:points: 一个形状为 (npoints, D) 的数组,列出离散点的 D 维坐标。
simplices: 一个形状为 (nsimplices, D+1) 的整数数组,指定定义每个三角剖分单纯形的点向量的 D+1 个索引。
值 (numpy.array) – 一个形状为 (npoints,) 的数组,表示在三角剖分点数组中每个坐标处的分段函数的值。
input – 一个长度为D的变量或表达式列表,作为分段函数的输入。
output – 被约束为分段线性函数输出的变量。
bound (str) –
对输出表达式施加的约束类型。可以是以下之一:
’lb’: y <= f(x)
’eq’: y = f(x)
’ub’: y >= f(x)
repn (str) –
使用的分段表示类型。可以是以下之一:
’cc’: 凸组合
- Returns:
- 一个块
包含任何新变量、约束和 用于分段表示的其他组件
- Return type: