机械优化设计实验三MATLAB最优化.docx
《机械优化设计实验三MATLAB最优化.docx》由会员分享,可在线阅读,更多相关《机械优化设计实验三MATLAB最优化.docx(13页珍藏版)》请在冰豆网上搜索。
机械优化设计实验三MATLAB最优化
实验三运用MATLAB求最优化问题
一、用MATLAB优化工具箱求解线性规划和非线性约束优化问题
(一)求解线性规划问题——linprog函数
(二)用MATLAB求解非线性约束优化问题——fmincon函数
fmincon是求解多维约束优化问题
minf(X)
s.t.AX≤b(线性不等式约束)
Aeq(X)=beq(线性等式约束)
C(X)≤0(非线性不等式约束)
Ceq(X)=0(非线性等式约束)
Lb≤X≤Ub(边界约束)
的优化工具箱函数,它的语法说明如下:
[x,fval,exitflag,output,grad,hessian]=
fmincon(@fun,x0,A,b,Aeq,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
>>
(二)无约束非线性优化函数