主要内容

OptimizationConstraint

优化的约束

描述

一个OptimizationConstraint对象包含的约束OptimizationVariable对象或OptimizationExpression对象。每个约束使用以下比较操作符之一:= =< =,或> =

一条语句可以表示一个约束数组。例如,您可以表示约束,即矩阵变量的每一行x和等于1,如在循环中创建简单的约束

提示

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

创建

创建一个空的约束对象optimconstr.通常,使用循环来填充对象中的表达式。

如果使用比较运算符从优化变量创建优化表达式= =< =,或> =,则结果对象为OptimizationEquality或者一个OptimizationInequality.看到兼容性的考虑

约束用点表示法求最优化问题的性质。

Prob =优化问题;X = optimvar(“x”、5、3);Rowsum = optimconstr(5);I = 1:5 rowsum(I) = sum(x(I,:)) == I;结束probo . constraints .rowsum = rowsum;

属性

全部展开

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

数据类型:细胞

此属性是只读的。

对象中的优化变量,指定为的结构OptimizationVariable对象。

数据类型:结构体

对象的功能

不可能实行 在某一点上违反约束
显示 显示优化对象信息
保存优化对象描述

例子

全部折叠

创建一个5乘3的优化变量x

X = optimvar(“x”、5、3);

使用循环创建每行和为1的约束。使用以下命令初始化循环optimconstr

Rowsum = optimconstr(5);rowsum(I) = sum(x(I,:)) == 1;结束

检查rowsum对象。

rowsum
rowsum = 5x1带有属性的线性优化约束数组:IndexNames:{{}{}}变量:[1x1 struct]包含1 OptimizationVariable参见带show的约束公式。

中显示约束rowsum

显示(rowsum)
(1,1) x(1,1) +(1、2)+ x(1、3)= = 1 (2,1)x (2, 1) + (2, 2) + x(2、3)= = 1 (3,1)x (1) + (2) + x(3、3)= = 1 (4,1)x (4 1) + (2) + x(4,3) = = 1(5、1)x (1) + (2) + x (5,3) = = 1

版本历史

在R2017b中引入

全部展开

Baidu
map