主要内容

optimexpr

创建空优化表达式数组

描述

使用optimexpr初始化一组优化表达式。

提示

有关完整的工作流程,请参见基于问题的优化工作流基于问题的解方程工作流

例子

expr= optimexpr (n创建一个空的n1OptimizationExpression数组中。使用expr作为创建优化表达式的循环中的初始值。

例子

expr= optimexpr (装运箱创建一个空的OptimizationExpression可以使用vector的数组装运箱索引。元素的个数expr和的长度相等吗装运箱。当装运箱是行向量吗expr是行向量。当装运箱是列向量吗expr是列向量。

例子

expr= optimexpr (装运箱1,n2……装运箱k)expr= optimexpr ([n1,n2……nk)expr= optimexpr ({装运箱1,装运箱2……装运箱k}),对于任何正整数的组合nj和名称装运箱j,创建维数等于整数的优化表达式空数组nj或者说元素的长度装运箱j

例子

全部折叠

创建一个包含三个优化表达式的空数组。

Expr = optimexpr(3)
IndexNames:{{}{}}变量:[1x1 struct]包含0 OptimizationVariables参见expression formulwith show。

创建一个颜色名称的字符串数组,以及一个根据颜色名称索引的优化表达式。

Strexp = [“红色”“绿色”“蓝色”“黄色”];Expr = optimexpr(strexp)
expr = 1x4 OptimizationExpression数组,属性:IndexNames: {{} {1x4 cell}}变量:[1x1 struct] contains 0 OptimizationVariables参见expression formulation with show。

您可以使用字符向量的单元格数组而不是字符串来获得相同的效果。

Strexp = {“红色”“绿色”“蓝”“黄色”};Expr = optimexpr(strexp)
expr = 1x4 OptimizationExpression数组,属性:IndexNames: {{} {1x4 cell}}变量:[1x1 struct] contains 0 OptimizationVariables参见expression formulation with show。

如果strexp是4 × 1而不是1 × 4expr也是4乘1:

Strexp = [“红色”“绿色”“蓝色”“黄色”];Expr = optimexpr(strexp)
IndexNames: {{1x4 cell}{}}变量:[1x1 struct]包含0个OptimizationVariables参见expression formulation with show。

创建一个空的3 × 4 × 2优化表达式数组。

Expr = optimexpr(3,4,2)
expr = 3x4x2 OptimizationExpression数组,属性:IndexNames:{{}{}{}}变量:[1x1 struct] contains 0 OptimizationVariables参见expression formulwith show。

创建一个3乘4的优化表达式数组,其中第一个维度由字符串索引“铜”“不锈钢”,“镀锌”,第二个维度是数字索引。

Bnames = [“铜”“不锈钢”“镀锌”];Expr = optimexpr(bnames,4)
IndexNames: {{1x3 cell}{}}变量:[1x1 struct]包含0 OptimizationVariables参见expression formulation with show。

使用命名索引创建表达式,该索引指示每个不锈钢表达式是对应的1.5倍x(镀锌)价值。

X = optimvar(“x”bnames 4);expr (“不锈钢”,:) = x(镀锌的:) * 1.5;显示(expr (“不锈钢”:))
(“不锈钢”,1)1.5 * x(镀锌,1)(“不锈钢”,2)1.5 * x(镀锌,2)(“不锈钢”,3)1.5 * x(镀锌,3)(“不锈钢”,4)1.5 * x(镀锌,4)

输入参数

全部折叠

变量维度,指定为正整数。

例子:4

数据类型:

索引名,指定为字符串数组或字符向量的单元格数组。

例子:expr = optimexpr(["Warehouse","Truck","City"])

例子:expr = optimexpr({'仓库','卡车','城市'})

数据类型:字符串|细胞

输出参数

全部折叠

优化表达式,返回为OptimizationExpression对象。

提示

  • 你可以用optimexpr创建以编程方式填充的空表达式,例如循环。

    X = optimvar(“x”8);Expr = optimexpr(4)K = 1:4 expr(K) = 5* K *(x(2* K) - x(2* K -1));结束
  • 通过向量化语句创建表达式通常比通过循环更有效。看到创建有效的优化问题

在R2017b中引入