约束条件:
1、线性不等式约束;2、线性等式约束;3、变量约束;4、非线性不等式约束;5、非线性等式约束。
[xyumin,fmin]=fmincon(filename,x0,A,b,Aeq,beq,Lbnd,Ubnd,NonF,option) 。
求解问题的标准型为
min F(X)
s.t
AX <= b(线性不等式约束)
AeqX = beq(线性等式约束)
G(x) <= 0(非线性不等式约束)
Ceq(X) = 0(非线性等式约束)
Lbnd<= X <= Ubnd(变量约束)
参数含义:(某个约束不存在,则用空矩阵来表示)
xmin:极小值点
fmin:最小值,
filename:定义的目标函数
A、b、Aeq、beq、Lbnd、Ubnd、对应标准式
下面用一个例子来说明如何进行非线性不等式和非线性等式约束
如果约束条件中有
则
先定义一个函数文件mycon.m
function [g,ceq]=mycon(x)
g=-x(1)^2+x(2);
ceq=-x(1)-x(2)^2+2;
然后在主文件中调用fmincon函数时注意最后一个参数
[xyumin,fmin]=fmincon(filename,x0,A,b,Aeq,beq,Lbnd,Ubnd,'mycon') 。