1、机械优化设计实验三MATLAB最优化实验三 运用MATLAB求最优化问题一、用MATLAB优化工具箱求解线性规划和非线性约束优化问题(一)求解线性规划问题linprog函数(二)用MATLAB求解非线性约束优化问题fmincon函数fmincon是求解多维约束优化问题minf(X)s.t. AXb(线性不等式约束) Aeq(X)=beq(线性等式约束) C(X)0(非线性不等式约束) Ceq(X)=0(非线性等式约束) LbXUb(边界约束) 的优化工具箱函数,它的语法说明如下: x,fval,exitflag,output,grad,hessian= fmincon(fun,x0,A,b,A
2、eq,beq,Lb,Ub,Nlc,options,P1,P2) 其中,输出参数有: x是返回目标函数的最优解; fval是返回目标函数在最优解x点的函数值; exitflag是返回算法的终止标志; output是返回优化算法的信息的一个数据结构; grad是返回目标函数在最优解x点的梯度; hessian是返回目标函数在最优解x点的 hessian矩阵值。 输入参数有: fun是调用目标函数的函数文件名; x0是初始点; 线性不等式约束条件的系数矩阵A 和常数向量b; 线性等式约束条件的系数矩阵Aeq和常数向量beq; 设计变量X的下界向量Lb和上界向量Ub; Nlc是定义非线性约束条件的函数名;options是设置优化选项参数P1,P2等是传递给fun的附加参数.参数A,b,Aeq,beq,Lb,Ub,options如果没有定义可用空矩阵符号“”代替。(三)有边界非线性最小化应用实例在区间(上求函数的最小值。x=fminbnd(sin,0,2*pi)x =4.7124 y=sin(x)y = -1.0000(二)无约束非线性优化函数