主要内容

OptimizationConstraint

描述

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

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

提示

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

创建

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

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

约束用点符号表示的优化问题的性质。

概率= optimproblem;x = optimvar (“x”、5、3);rowsum = (x, 2)之和;prob.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 Linear OptimizationConstraint array with properties: IndexNames: {{} {}} Variables: [1x1 struct] containing 1 OptimizationVariable参见constraint formulation with 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

兼容性的考虑

全部展开

R2019b行为改变

介绍了R2017b