帮助中心帮助中心
创建二阶锥约束
自从R2020b
socConstraint = secondordercone (A, b, d,γ)
的secondordercone函数创建一个二阶锥约束代表不平等
secondordercone
为 一个 ⋅ x − b 为 ≤ d T ⋅ x − γ
从输入矩阵一个,b,d,γ。
一个
b
d
γ
例子
socConstraint= secondordercone (一个,b,d,γ)创建一个二阶锥约束对象socConstraint。
socConstraint= secondordercone (一个,b,d,γ)
socConstraint
通过使用解决问题与二阶锥约束coneprog函数。代表多个锥约束,这些约束的数组传递给coneprog如这个例子所示几个锥约束。
coneprog
全部折叠
建立一个二阶锥约束的问题,创建一个二阶锥约束对象。
一个=诊断接头([1,1/2,0]);b = 0 (3,1);d = [0, 0, 1];γ= 0;socConstraints = secondordercone (A, b, d,γ);
创建一个目标函数向量。
f = (1 2 0);
这个问题没有线性约束。为这些约束创建空矩阵。
Aineq = [];bineq = [];Aeq = [];说真的= [];
设置上下界限x (3)。
x (3)
磅=(负负0);乌兰巴托=(正,正无穷,2);
通过使用解决问题coneprog函数。
[x, fval] = coneprog (f socConstraints Aineq、bineq Aeq,说真的,磅,乌兰巴托)
找到最优解。
x =3×10.4851 3.8806 2.0000
fval = -8.2462
解决方案组件x (3)上界。锥约束是活跃的解决方案:
规范(*取向)- d ' * x% 0附近时,约束是活跃的
ans = -2.5677 e-08
设置几个问题二阶锥约束,约束对象的创建一个数组。为了节省时间和内存,首先创建最高限制。
一个=诊断接头([1 2 0]);b = 0 (3,1);d = [0, 0, 1];γ= 1;socConstraints (3) = secondordercone (A, b, d,γ);一个=诊断接头([0,1]);d = (0, 1, 0);socConstraints (2) = secondordercone (A, b, d,γ);一个=诊断接头([0;1/2;1/2]);d = (1, 0, 0); socConstraints(1) = secondordercone(A,b,d,gamma);
创建一个线性目标函数向量。
f = [1, 2, 4];
[x, fval] = coneprog (f, socConstraints)
x =3×10.4238 1.6477 2.3225
fval = -13.0089
线性因子的锥,指定为一个真正的矩阵。列的数量一个必须等于元素的数量吗d的行数一个必须等于元素的数量吗b。
例子:诊断接头([1 1/2 0])
诊断接头([1 1/2 0])
数据类型:双
双
中心锥,指定为一个真正的向量。元素的数量b必须等于中的行数一个。
例子:0 (1)
0 (1)
线性约束,指定为一个真正的向量。元素的数量d必须等于列数一个。
例子:[0,0,1]
[0,0,1]
绑定,指定为一个真正的标量。较小的值γ对应于宽松的约束。
例子:1
1
SecondOrderConeConstraint
二阶锥约束,作为一个返回SecondOrderConeConstraint对象。使用这个对象的约束coneprog解算器。如果你有多个锥约束,通过约束的向量coneprog;看到几个锥约束。
介绍了R2020b
coneprog|SecondOrderConeConstraint
你有一个修改版的这个例子。你想打开这个例子与编辑?
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
选择一个网站
选择一个网站翻译内容,看到当地事件和提供。根据你的位置,我们建议您选择:。
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。
联系你当地的办公室