主要内容

OptimizationVariable

为优化变量

描述

一个OptimizationVariable为优化对象包含变量表达式。使用表达式来表示一个目标函数、约束或方程。变量在本质上是象征性的,并且可以是任何大小的数组。

创建

创建一个OptimizationVariable对象使用optimvar

属性

全部展开

Array-Wide属性

这个属性是只读的。

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

的名字给出了变量标签显示,如显示的名字也给解决方案结构的字段名称解决的回报。

提示

为了避免混淆,集的名字MATLAB的®变量的名字。例如,

金属= optimvar (“金属”)

数据类型:字符|字符串

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

  • “连续”——真正的值

  • “整数”——整数值

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

提示

指定一个二进制变量,使用“整数”类型和指定下界=0UpperBound=1

数据类型:字符|字符串

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

数据类型:细胞

Element-wise属性

下界,指定为一个真正的标量或作为一个真正的数组中有相同的尺寸OptimizationVariable对象。标量值适用于所有元素的变量。

下界房地产总是显示为一个数组。但是,您可以将属性设置为一个标量,适用于所有元素。例如,

var.LowerBound = 0

数据类型:

上界,指定为一个真正的标量或作为一个真正的数组中有相同的尺寸OptimizationVariable对象。标量值适用于所有元素的变量。

UpperBound房地产总是显示为一个数组。但是,您可以将属性设置为一个标量,适用于所有元素。例如

var.UpperBound = 1

数据类型:

对象的功能

显示 显示信息优化对象
showbounds 显示变量范围
保存优化对象描述
writebounds 保存变量范围的描述

例子

全部折叠

创建一个标量优化变量命名美元

美元= optimvar (“美元”)
美元= OptimizationVariable属性:名称:“美元”类型:“连续”IndexNames:{{}{}}下界:负无穷UpperBound:正看到变量与显示。看到与showbounds界限。

创建一个3×1优化变量向量命名x

x = optimvar (“x”3)
x = 3 x1 OptimizationVariable数组属性:Array-wide属性:名称:“x”型:“连续”IndexNames: {{} {}} Elementwise属性:下界:x1双[3]UpperBound: [3 x1双]看到变量与显示。看到与showbounds界限。

创建一个整数优化变量向量命名螺栓索引的字符串“铜”,“不锈钢”,“镀锌”。使用的指标螺栓创建一个表达式优化,尝试创建螺栓使用字符数组或在一个不同的方向。

创建螺栓使用字符串连续取向。

bnames = [“铜”,“不锈钢”,“镀锌”];螺栓= optimvar (螺栓的bnames,“类型”,“整数”)
螺栓= 1 x3 OptimizationVariable数组属性:Array-wide属性:名称:螺栓的类型:“整数”IndexNames: {{} {1 x3细胞}}Elementwise属性:下界:[负负无穷到负无穷到]UpperBound:[正正正]看到变量与显示。看到与showbounds界限。

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

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

用特征向量的单元阵列代替字符串得到相同的变量指标。

bnames = {“铜”,“不锈钢”,镀锌的};螺栓= optimvar (螺栓的bnames,“类型”,“整数”)
螺栓= 1 x3 OptimizationVariable数组属性:Array-wide属性:名称:螺栓的类型:“整数”IndexNames: {{} {1 x3细胞}}Elementwise属性:下界:[负负无穷到负无穷到]UpperBound:[正正正]看到变量与显示。看到与showbounds界限。

使用的用于版本bnames,3×1而不是1×3,并观察螺栓有方向。

bnames = [“铜”;“不锈钢”;“镀锌”];螺栓= optimvar (螺栓的bnames,“类型”,“整数”)
螺栓= 3 x1 OptimizationVariable数组属性:Array-wide属性:名称:螺栓的类型:“整数”IndexNames: {{1 x3细胞}{}}Elementwise属性:下界:x1双[3]UpperBound: [3 x1双]看到变量与显示。看到与showbounds界限。

创建一个数组3-by-4-by-2优化变量的命名xarray

xarray = optimvar (“xarray”、3、4、2)
xarray = 3 x4x2 OptimizationVariable数组属性:Array-wide属性:名称:“xarray”类型:“连续”IndexNames: {{} {} {}} Elementwise属性:下界:[3 x4x2双]UpperBound: [3 x4x2双]看到变量与显示。看到与showbounds界限。

您还可以创建多维变量索引的名称和数字指标。例如,创建一个3×4优化变量的数组,第一个维度是索引的字符串“铜”,“不锈钢”,镀锌的,第二个维度是数值索引。

bnames = [“铜”,“不锈钢”,“镀锌”];螺栓= optimvar (螺栓的bnames 4)
螺栓= 3 x4 OptimizationVariable数组属性:Array-wide属性:名称:螺栓的类型:“连续”IndexNames: {{1 x3细胞}{}}Elementwise属性:下界:[3 x4双]UpperBound: [3 x4双]看到变量与显示。看到与showbounds界限。

创建一个优化变量命名x大小3-by-3-by-3代表二进制变量。

x = optimvar (“x”3,3,3,“类型”,“整数”,下界的0,“UpperBound”,1)
x =子集要OptimizationVariable数组属性:Array-wide属性:名称:“x”型:“整数”IndexNames: {{} {} {}} Elementwise属性:下界:[子集要双]UpperBound:子集要双变量与表演。看到与showbounds界限。

更多关于

全部展开

提示

  • OptimizationVariable对象有处理复制行为。看到处理对象的行为处理的比较和价值类。处理行为意味着一份副本OptimizationVariable指向原来的,没有一个独立的存在。例如,创建一个变量x,将其复制到y,然后设置一个属性y。请注意,x需要在新的属性值。

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