主要内容

优化Variable.

优化变量

描述

一个优化Variable.对象包含优化表达式的变量。使用表达式表示客观函数,约束或方程。变量在自然界中是象征性的,并且可以是任何尺寸的阵列。

小费

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

创建

创建一个优化Variable.物体使用optimvar

特性

展开全部

Array-Wide属性

此属性是只读的。

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

名称给出要显示的变量标签,例如in表演名称还提供解决方案结构中的字段名称解决返回。

小费

避免混淆,套装名称是MATLAB®变量名。例如,

金属= optimvar ('金属'

数据类型:字符|细绳

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

  • '连续的'- 真正的价值

  • “整数”- 整数值

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

小费

要指定二进制变量,请使用“整数”类型和指定下界=0.上行=1

数据类型:字符|细绳

索引名称,指定为字符串或字符向量的单元格数组。有关使用索引名称的信息,请参阅优化变量的命名索引

数据类型:细胞

元素 - 方面属性

下限,指定为真正的标量或作为具有相同尺寸的真实阵列优化Variable.对象。标量值适用于变量的所有元素。

下界属性始终显示为数组。但是,可以将该属性设置为适用于所有元素的标量。例如,

var.lowerbound = 0.

数据类型:

上限,指定为真正的标量或作为具有相同尺寸的真实数组优化Variable.对象。标量值适用于变量的所有元素。

上行属性始终显示为数组。但是,可以将该属性设置为适用于所有元素的标量。例如

var.UpperBound = 1

数据类型:

对象功能

表演 显示有关优化对象的信息
showbounds 显示变量界限
保存优化对象描述
写作 保存变量界限的描述

例子

全部折叠

创建一个名为美元

美元= optimvar ('美元'
$ = OptimizationVariable with properties: Name: 'dollars' Type: 'continuous' IndexNames: {{} {}} LowerBound: -Inf UpperBound: Inf参见variables with show.{{}}{{}}。看到展示的边界。

创建3乘1的优化变量向量X

x = Optimvar('X'3)
x = 3x1具有属性的优化度量阵列:数组范围属性:名称:'x'类型:'连续'索引name:{{} {}}元素属性:下行:[3x1 double] Upperbound:[3x1 double]查看展示变量.看到展示的边界。

创建名为的整数优化变量向量螺栓这是由字符串索引的“黄铜”“不锈钢”,“镀锌”.使用索引螺栓创建一个优化表达式,并试验创建螺栓使用字符数组或以不同的方向。

创建螺栓使用行取向的字符串。

Bnames = [“黄铜”“不锈钢”“镀锌”];螺栓= optimvar ('螺栓',Bnames,“类型”“整数”
螺栓= 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] See variables with show. [-Inf -Inf]查看变量与显示。看到展示的边界。

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

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

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

Bnames = {'黄铜'“不锈钢”'镀锌'};螺栓= optimvar ('螺栓',Bnames,“类型”“整数”
螺栓= 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] See variables with show. [-Inf -Inf]查看变量与显示。看到展示的边界。

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

Bnames = [“黄铜”;“不锈钢”;“镀锌”];螺栓= optimvar ('螺栓',Bnames,“类型”“整数”
bolts = 3x1优化Variable阵列具有属性:数组范围属性:名称:“螺栓”类型:'整数'indexNames:{{1x3 cell} {}}元素属性:下行:[3x1 double]上行:[3x1 double]查看变量展示。看到展示的边界。

创建一个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] See variables with show。看到展示的边界。

您还可以通过名称和数字索引的混合创建索引的多维变量。例如,创建一个3×4阵列的优化变量,其中第一个维度由字符串索引'黄铜'“不锈钢”,'镀锌',第二维度在数值上索引。

Bnames = [“黄铜”“不锈钢”“镀锌”];螺栓= optimvar ('螺栓'bnames 4)
IndexNames: {{1x3 cell} {}} Elementwise properties: LowerBound: [3x4 double] UpperBound: [3x4 double] See variables with show. < br / > < br / > < br / >看到展示的边界。

创建一个名为X表示二进制变量的3×3-y-3的大小。

x = Optimvar('X',3,3,3,“类型”“整数”'indowbound'0,'上行', 1)
x = 3x3x3 OptimizationVariable array with properties: array -wide properties: Name: 'x' Type: 'integer' IndexNames: {{} {} {} Elementwise properties: LowerBound: [3x3x3 double] UpperBound: [3x3x3 double] See variables with show。看到展示的边界。

更多关于

展开全部

提示

  • 优化Variable.对象有处理复制行为。看处理对象的行为手柄和价值类比较.句柄复制行为意味着优化Variable.指向原件,没有独立的存在。例如,创建变量X,复制它y,然后设置一个属性y.请注意,X接受新的财产价值。

    x = Optimvar('X''indowbound',1);y = x;y.lowerbound = 0;showbounds(x)
    0 <= x
在R2017B中介绍