infeasibility
一个点处的约束违反值
说明
使用 infeasibility
求在某点处的约束违反值数值。
提示
有关完整的工作流,请参阅基于问题的优化工作流或基于问题的方程求解工作流。
示例
计算约束违反值
检查一个点是否满足约束。
设置优化变量和两个约束。
x = optimvar('x'); y = optimvar('y'); cons = x + y <= 2; cons2 = x + y/4 <= 1;
检查点 x = 0
、y = 4
是否满足名为 cons
的约束。当点的不可行性为零时,该点可行。
pt.x = 0; pt.y = 4; infeas = infeasibility(cons,pt)
infeas = 2
该点在此约束下不可行。
检查对于其他约束的可行性。
infeas = infeasibility(cons2,pt)
infeas = 0
该点对于此约束可行。
计算多个约束违反值
检查点是否满足一个具有多个条件的约束。
设置优化变量和约束向量。
x = optimvar('x',3,2);
cons = sum(x,2) <= [1;3;2];
检查点 pt.x = [1,-1;2,3;3,-1]
是否满足这些约束。
pt.x = [1,-1;2,3;3,-1]; infeas = infeasibility(cons,pt)
infeas = 3×1
0
2
0
该点对于第二个约束不可行。
输入参数
constr
— 优化约束
OptimizationEquality
对象 | OptimizationInequality
对象 | OptimizationConstraint
对象
优化约束,指定为 OptimizationEquality
对象、OptimizationInequality
对象或 OptimizationConstraint
对象。constr
可以表示单个约束或约束数组。
示例: 当 x
和 y
是标量变量时,constr = x + y <= 1
是单个约束。
示例: 当 x
是二维或多维数组时,constr = sum(x) == 1
是约束数组。
pt
— 要计算的点
具有与优化变量名称匹配的字段名称的结构体
要计算的点,对于约束中的优化变量,指定为具有与优化变量名称匹配的字段名称的结构体。pt
中每个字段的大小必须与对应优化变量的大小相匹配。
示例: pt.x = 5*eye(3)
数据类型: struct
输出参量
版本历史记录
在 R2017b 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)