1、fmincon 函数优化问题 fmincon 解决的优化模型如下: min F(X) subject to: A*X 2%被调用的 nonlcon 函数,要求有 4 个输出变量。 GC=.%不等式的梯度。 GCeq=.%等式的梯度。 end 应用举例 已知某设计问题可以简化为如下数学模型:显然,此模型属于一个二维约束优化问题。应用 fmincon 函数求解此优化模型,需要如下几个步骤: 1)创建目标函数 M 文件 myobj.m 程序为: function f=myobj(x) f=2*x(1)2+2*x(2)2-2*x(1)*x(2)-4*x(1)-6*x(2); 2)创建非线性约束函数 M
2、 文件 mycon.m 程序为: functionc,ceq=mycon(x) c(1)=x(1)+5*x(2)2-5; ceq=; 3)创建优化函数主程序, youhua.m 并进行初始化及线性约束条件设置 程序为: %求优化函数极小值 A=11;%线性不等式约束左边矩阵 b=2;%线性不等式约束右边向量 Aeq=;%线性等式约束左边矩阵 beq=;%线性等式约束右边向量 lb=0;0;%自变量下限 ub=inf;inf;%自变量上限 x0=1 ;1;%初始值 options=optimset(LargeScale,off,display,iter); x,fval,exitflag=fmi
3、ncon(myobj,x0,A,b,lb,ub,mycon,options) 在 Command Window 中,输入 youhua 回车 得到程序结果为: youhua max Directional First-order Iter F-count f(x) constraint Step-size derivative optimality Procedure 0 3 -8 1 Infeasible start point 1 7 -7.7037 0.06173 1 0.37 0.83 2 11 -7.67725 0.0003061 1 0.0268 0.0149 3 15 -7.67
4、712 7.682e-009 1 0.000134 7.35e-007 Optimization terminated: first-order optimality measure less than options.TolFun and maximum constraint violation is less than options.TolCon. Active inequalities (to within options.TolCon = 1e-006): lower upper ineqlin ineqnonlin 1 1 x = 1.1190 0.8810 fval = -7.6771 exitflag = 1