fmincon是Matlab优化工具箱(OptimizationToolbox)中的一个命令,用来求有限制条件(约束)的非线性目标函数的极小化问题。x=fmincon(fun,x0,A,b),用于求解目标函数为非线性,约束条件为线性不等式的规划问题。fun是目标函数,x0是求解过程中的初始值,A为线性不等式约束的左端系数矩阵,b为线性不等式约束的左端值,即Ax<=b。返回x为使得目标函数fun最小的变量x的值。x=fmincon(fun,x0,A,b,Aeq,beq),在前面基础上增加了线性等式约束。Aeq为线性等式约束的左端系数矩阵,beq为线性等式约束的左端值,即Ax=b。若没有线性不等式约束,令A=[],b=[]。x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub),在前面基础上增加了x的上届和下届,即lb<=x<=ub。x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon),在前面基础上增加了非线性约束nonlcon,nonlcon的形式如下。function[c,ceq]=mycon(x)c=...%x的非线性函数ceq=...%x的非线性函数调用的时候形式如下:x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,@mycon)其中,c是非线性不等式约束,即c(x)<=0。ceq是非线性等式约束,即ceq(x)=0。
阅读全文 >