主要内容

optimvar

创建优化变量

描述

使用optimvar创建优化变量。

例子

x= optimvar (的名字创建标量优化变量。优化变量是一种符号对象,它使您能够根据该变量为目标函数和问题约束创建表达式。

提示

为了避免混淆,设置的名字就是MATLAB®变量的名字。例如,

金属= optimvar (“金属”

例子

x= optimvar (的名字n创建一个n优化变量的-乘1向量。

例子

x= optimvar (的名字装运箱创建一个可使用的优化变量向量装运箱索引。元素的数量x和这个的长度一样吗装运箱向量。的方向x和的方向一样吗装运箱x行向量是什么时候的装运箱是行向量吗x列向量是什么时候的装运箱是一个列向量。

例子

x= optimvar (的名字装运箱1,n2……装运箱k)x= optimvar (的名字,{装运箱1,装运箱2……装运箱k})x= optimvar (的名字,[n1,n2……nk),对于任何正整数的组合nj和名称装运箱K,创建一个优化变量数组,其维数等于整数nJ和元素的长度cstr1k。

例子

x= optimvar (___名称,值,则使用由一个或多个指定的附加选项名称,值对参数。例如,要指定整型变量,请使用x = optimvar(“x”、“类型”、“整数”)

例子

全部折叠

创建标量优化变量美元

美元= optimvar (“美元”
$ = OptimizationVariable with properties: Name: 'dollars' Type: 'continuous' IndexNames: {{} {}} LowerBound: -Inf UpperBound: Inf参见variables with show。见bounds with showbounds。

创建一个名为的3乘1优化变量向量x

x = optimvar (“x”3)
x = 3x1 OptimizationVariable array with properties: array wide properties: Name: 'x' Type: 'continuous' IndexNames: {{} {}} Elementwise properties: LowerBound: [3x1 double] UpperBound: [3x1 double]参见variables with show。见bounds with showbounds。

创建一个整数优化变量向量螺栓由字符串索引“铜”“不锈钢”,“镀锌”.使用螺栓创建一个优化表达式,并进行创建实验螺栓使用字符数组或在不同的方向。

创建螺栓在行方向上使用字符串。

bnames = [“铜”“不锈钢”“镀锌”];螺栓= optimvar (螺栓的bnames,“类型”“整数”
bytes = 1x3 OptimizationVariable array with properties: array wide properties: Name: 'bolts' Type: 'integer' IndexNames: {{} {1x3 cell}} Elementwise properties: LowerBound: [-Inf -Inf -Inf] UpperBound: [Inf Inf Inf]参见variables with show. properties: {{} {1x3 cell}}见bounds with showbounds。

使用字符串索引创建优化表达式。

y =螺栓(“铜”) + 2 *螺栓(“不锈钢”) + 4 *螺栓(“镀锌”
y = Linear OptimizationExpression螺栓('黄铜')+ 2*螺栓('不锈钢')+ 4*螺栓('镀锌')

使用字符向量的单元格数组而不是字符串来获得与以前相同的下标的变量。

bnames = {“铜”“不锈钢”镀锌的};螺栓= optimvar (螺栓的bnames,“类型”“整数”
bytes = 1x3 OptimizationVariable array with properties: array wide properties: Name: 'bolts' Type: 'integer' IndexNames: {{} {1x3 cell}} Elementwise properties: LowerBound: [-Inf -Inf -Inf] UpperBound: [Inf Inf Inf]参见variables with show. properties: {{} {1x3 cell}}见bounds with showbounds。

使用的面向列版本bnames3 × 1而不是1 × 3,观察一下螺栓也有这样的取向。

bnames = [“铜”“不锈钢”“镀锌”];螺栓= optimvar (螺栓的bnames,“类型”“整数”
bolt = 3x1 OptimizationVariable array with properties: array wide properties: Name: 'bolts' Type: 'integer' IndexNames: {{1x3 cell} {}} Elementwise properties: LowerBound: [3x1 double] UpperBound: [3x1 double]参见variables with show。见bounds with showbounds。

创建一个3 × 4 × 2的优化变量数组xarray

xarray = optimvar (“xarray”、3、4、2)
xarray = 3x4x2 OptimizationVariable array with properties: array wide properties: Name: 'xarray' Type: 'continuous' IndexNames: {{} {}} Elementwise properties: LowerBound: [3x4x2 double] UpperBound: [3x4x2 double]参见variables with show。见bounds with showbounds。

还可以创建由名称和数字索引混合索引的多维变量。例如,创建一个3乘4的优化变量数组,其中第一个维度由字符串索引“铜”“不锈钢”,镀锌的,第2维是数字索引。

bnames = [“铜”“不锈钢”“镀锌”];螺栓= optimvar (螺栓的bnames 4)
bolt = 3x4 OptimizationVariable array with properties: array wide properties: Name: 'bolts' Type: 'continuous' IndexNames: {{1x3 cell} {}} Elementwise properties: LowerBound: [3x4 double] UpperBound: [3x4 double]参见variables with show。见bounds with showbounds。

创建一个优化变量x大小为3 × 3 × 3,表示二进制变量。

x = optimvar (“x”3, 3, 3,“类型”“整数”下界的0,“UpperBound”, 1)
x = 3x3x3 OptimizationVariable array with properties: array wide properties: Name: 'x' Type: 'integer' IndexNames: {{} {}} Elementwise properties: LowerBound: [3x3x3 double] UpperBound: [3x3x3 double]参见variables with show。见bounds with showbounds。

输入参数

全部折叠

变量名,指定为字符向量或字符串。

提示

为了避免混淆哪个名称与变量的哪个方面相关,请将工作区变量名设置为变量名。例如,

卡车= optimvar (“卡车”);

例子:“仓库”

例子:“卡车”

数据类型:字符|字符串

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

例子:4

数据类型:

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

例子:x = optimvar(“x”,“仓库”,“卡车”,“城市”))

例子:x = optimvar(“x”,{“仓库”,“卡车”,“城市”})

数据类型:字符串|细胞

名称-值参数

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:创建x作为一个3元非负向量x (2) < = 2x (3) < = 4由命令x = optimvar(“x”、3、“下界”,0,“UpperBound”,[正无穷,2、4])

变量类型,指定为“连续”“整数”

  • “连续”——真正的值

  • “整数”——整数值

变量类型适用于数组中的所有变量。要有多个变量类型,请创建多个变量。

提示

要指定二进制变量,请使用“整数”类型与下界等于0UpperBound等于1

例子:“整数”

下界,指定为具有相同大小的数组x或者作为实标量。如果下界是标量,值适用于的所有元素x

例子:设定…的下界0所有的因素x,指定标量值0

数据类型:

上界,指定为大小相同的数组x或者作为实标量。如果UpperBound是标量,值适用于的所有元素x

例子:设定…的上界2所有的因素x,指定标量值2

数据类型:

输出参数

全部折叠

优化变量,返回为OptimizationVariable数组中。数组的维数与相应的输入变量的维数相同,例如装运箱1——- - - - - -cstr2

提示

  • OptimizationVariable对象有处理复制行为。看到处理对象的行为句柄类和值类的比较.处理复制行为意味着OptimizationVariable指的是原始而不是独立存在的。例如,创建一个变量x,复制到y,则设置属性为y.请注意,x采用新的属性值。

    x = optimvar (“x”下界的1);y = x;y.LowerBound = 0;showbounds (x)
    0 < = x
介绍了R2017b