Matlab 中的约束优化
Constrained optimisation in Matlab
我有一些函数 f(x)
,其中 x
是一个六元素向量。我想使用
找到这个函数的最小值
x = fmincon(fun,x0,A,B)
我有以下限制:
a*x1<b*x2<c*x3
和 d*x4<e*x5
,其中 a,b,c,d,e
是一些数字。
我的问题是正确编写 fmincon
函数的 A
和 B
参数。
你能帮帮我吗?
更新
我的问题是我不明白如何连接不等式:
如果我只想使用 ax1<bx2
,那么 A=[a,-b,0,0,0]; B=0
,如果我想使用 bx2<cx3
,那么 A=[0,b,-c,0,0]; B=0
。但是我无法加入这些约束。
我可以使用 A=[[a,-b,0,0,0],[0;b;-c;0;0]]; B = [0,0];
吗?
您可以尝试如下所示的约束矩阵 A
和向量 B
A = [a,-b,0,0,0;
0,b,-c,0,0;
0,0,0,d,-e];
B = zeros(3,1);
我有一些函数 f(x)
,其中 x
是一个六元素向量。我想使用
x = fmincon(fun,x0,A,B)
我有以下限制:
a*x1<b*x2<c*x3
和 d*x4<e*x5
,其中 a,b,c,d,e
是一些数字。
我的问题是正确编写 fmincon
函数的 A
和 B
参数。
你能帮帮我吗?
更新
我的问题是我不明白如何连接不等式:
如果我只想使用 ax1<bx2
,那么 A=[a,-b,0,0,0]; B=0
,如果我想使用 bx2<cx3
,那么 A=[0,b,-c,0,0]; B=0
。但是我无法加入这些约束。
我可以使用 A=[[a,-b,0,0,0],[0;b;-c;0;0]]; B = [0,0];
吗?
您可以尝试如下所示的约束矩阵 A
和向量 B
A = [a,-b,0,0,0;
0,b,-c,0,0;
0,0,0,d,-e];
B = zeros(3,1);