资源描述
MATLAB优化工具箱
实验指导书
执笔人:丁智平
审核人:吴吉平
湖南工业大学机械工程学院
“MATLAB优化工具箱”实验指导书
一、实验类型
验证性实验
二、实验目的
熟悉Matlab7.0软件的界面和基本功能,了解Matlab优化工具箱的常用算法;
使用Matlab优化工具箱的fminunc/fminsearch函数求解多变量非线性无约束优化问题;
使用Matlab优化工具箱的fmincon函数求解多变量非线性约束优化问题。
三、实验设备与软件
台式计算机,Matlab7.0软件。
四、实验内容
求解多变量非线性无约束优化问题和约束优化问题的最优解。
要求:(1)编写求解优化问题的M文件;
(2)在命令窗口输入求解优化问题的命令,并得出计算结果。
五、实验方法与步骤
一、Matlab优化工具箱基础
1.开启计算机,启动Matlab7.0,进入Matlab软件的命令窗口界面,了解并熟悉工具栏的功能;
2. 编写标量优化问题的M文件;
3.在命令窗口输入求解标量优化问题命令,得出计算结果。
算题:
1) f=x2-10x+36
最优解:x*=5.0;f(x*)=11.0
2) f=x4-5x3+4x2-6x+60
最优解:x*=3.2796;f(x*)=22.6590
3) f=(x+1)(x-2)2
最优解:x*=2.0;f(x*)=0
二、多变量无约束非线性最优化问题求解
1. 开启计算机,启动Matlab7.0,进入Matlab软件的命令窗口界面;
2. 编写无约束优化问题的M文件;
3. 在命令窗口输入求解无约束优化问题命令,得出计算结果。
算题:
1) f=4(x1-5) 2+( x2-6) 2
初始点:x0=[8,9]T;f(x0)=45
最优解:x*=[5,6]T;f(x*)=0
2) f=(x12+x2-11)2+( x1+ x22-7)2
初始点:x0=[1,1]T;f(x0)=106
最优解:x*=[3,2]T;f(x*)=0
3) f=[1.5- x1(1- x2)]2+[2.25- x1(1- x2 2)]2+[2.625- x1(1- x23)]2
初始点:x0=[2,0.2]T;f(x0)=0.529
最优解:x*=[3,0.5]T;f(x*)=0
4) f=( x12+12 x2-1)2+(49 x1+49 x2+84 x1+2324 x2-681)2
初始点:x0=[1,1]T;f(x0)=3330769
最优解:x*=[0.336285,0.268126]T;f(x*)=5.431817
5) f=( x1+10 x2)2+5(x3- x4)2+( x2-2 x3)4+10(x1- x4)4
初始点:x0=[3,-1,0,1]T;f(x0)=215
最优解:x*=[0,0,0,0]T;f(x*)=0
三、多变量非线性约束最优化问题求解
1. 开启计算机,启动Matlab7.0,进入Matlab软件的命令窗口界面;
2. 编写有约束优化问题的M文件;
3. 在命令窗口输入求解有约束优化问题命令,得出计算结果。
算题:
1) f=( x1-2)2+( x2-1)2
g1= x12-x2≤0
g2= x1+x2-2≤0
初始点:x0=[3,3]T;f(x0)=5
最优解:x*=[1,1]T;f(x*)=1
2) f= x23[( x1-3)2-9]/27≤0
g1=x2-x1/≤0
g2=-x1+x2/≤0
g3=x1+x2/-6≤0
g4=-x1≤0
g5=-x2≤0
初始点:x0=[1,5]T;f(x0)=-13.3646
最优解:x*=[4.5,2.59808]T;f(x*)=-2.53125
3) f=1000- x12-2x2 2-x32-x1x2-x1x3
g1=-x1≤0
g2=-x2≤0
g3=-x3≤0
g4=x12+x22+x3 2-25=0
g5=8x1+14x2+7x3-56=0
初始点:x0=[2,2,2]T;f(x0)=976
最优解:x*=[3.512,0.217,3.552]T;f(x*)=961.715
4) f=100(x2-x12)2+(1-x1)2+90(x4-x32)2+(1-x3)2+10[(x2-1)2+(x4-1)2]+19.8(x2-1)(x4-1)
-10≤x1≤10
-10≤x2≤10
-10≤x3≤10
-10≤0x4≤10
初始点:x0=[-3,-1,-3,-1]T;f(x0)=19191.2
最优解:x*=[1,1,1,1]T;f(x*)=0
六、实验报告格式及要求
《机械优化设计》课程实验报告
学院: 系: 专业: 年级:
姓名: 学号: 组_______ 实验时间:
指导教师签字: 成绩:
Matlab优化工具箱
一、实验目的和要求
熟悉Matlab7.0软件的界面和基本功能,了解Matlab优化工具箱的常用算法;
使用Matlab优化工具箱的fminunc/fminsearch函数求解多变量非线性无约束优化问题;
使用Matlab优化工具箱的fmincon函数求解多变量非线性约束优化问题。
二、实验设备和软件
台式计算机,Matlab7.0软件。
三、实验内容
求解下列优化问题的最优解。要求:(1)编写求解优化问题的M文件,(2)在命令窗口输入求解优化问题的命令,并得出计算结果。
1、标量优化问题
1) f=x2-10x+36
2) f=x4-5x3+4x2-6x+60
3) f=(x+1)(x-2)2
2、多变量非线性无约束优化问题
1) f=4(x1-5) 2+( x2-6) 2
初始点:x0=[8,9]T;
2) f=(x12+x2-11)2+( x1+ x22-7)2
初始点:x0=[1,1]T;
3) f=[1.5- x1(1- x2)]2+[2.25- x1(1- x2 2)]2+[2.625- x1(1- x23)]2
初始点:x0=[2,0.2]T;
4) f=( x12+12 x2-1)2+(49 x1+49 x2+84 x1+2324 x2-681)2
初始点:x0=[1,1]T;
5) f=( x1+10 x2)2+5(x3- x4)2+( x2-2 x3)4+10(x1- x4)4
初始点:x0=[3,-1,0,1]T;
3、多变量非线性约束优化问题
1) f=( x1-2)2+( x2-1)2
g1= x12-x2≤0
g2= x1+x2-2≤0
初始点:x0=[3,3]T;
2) f= x23[( x1-3)2-9]/27≤0
g1=x2-x1/≤0
g2=-x1+x2/≤0
g3=x1+x2/-6≤0
g4=-x1≤0
g5=-x2≤0
初始点:x0=[1,5]T;
3) f=1000- x12-2x2 2-x32-x1x2-x1x3
g1=-x1≤0
g2=-x2≤0
g3=-x3≤0
g4=x12+x22+x3 2-25=0
g5=8x1+14x2+7x3-56=0
初始点:x0=[2,2,2]T
4) f=100(x2-x12)2+(1-x1)2+90(x4-x32)2+(1-x3)2+10[(x2-1)2+(x4-1)2]+19.8(x2-1)(x4-1)
-10≤x1≤10
-10≤x2≤10
-10≤x3≤10
-10≤0x4≤10
初始点:x0=[-3,-1,-3,-1]T;
四、M文件、在命令窗口输入的求解命令清单及计算结果记录
五、质疑和建议
执笔人:丁智平 2007年8月5日
审核人:吴吉平 2007年8月13日
批准人:胡成武 2007年8月21日
目标函数的M文件: sjlxfun.m
pp249一维搜索方法习题
1.1)
function f =sjlxfun(x)
f=x^2-10*x+36
1.2)
function f =sjlxfun(x)
f=x^4-5*x^3+4*x^2-6*x+60
1.3)
function f =sjlxfun(x)
f=(x+1)*(x-2)^2
pp249无约束优化方法习题
2.1)
function f =sjlxfun(x)
f=4*(x(1)-5)^2+(x(2)-6)^2
2.2)
function f =sjlxfun(x)
f=(x(1)^2+x(2)-11)^2+(x(1)+x(2)^2-7)^2
2.3)
function f =sjlxfun(x)
f=(1.5-x(1)*(1-x(2)))^2+(2.25-x(1)*(1-x(2)^2))^2+(2.625-x(1)*(1-x(2)^3))^2 %
2.4)
function f =sjlxfun(x)
f=(x(1)^2+12*x(2)-1)^2+(49*x(1)+49*x(2)+84*x(1)+2324*x(2)-681)^2
2.5)
function f =sjlxfun(x)
f=(x(1)+10*x(2))^2+5*(x(3)-x(4))^2+(x(2)-2*x(3))^4+10*(x(1)-x(4))^4
pp250约束优化方法习题
3.1)
function f =sjlxfun(x)
f=(x(1)-2)^2+(x(2)-1)^2
3.2)
function f =sjlxfun(x)
f=x(2)^3*((x(1)-3)^2-9)/27/sqrt(3)
3.3)
function f =sjlxfun(x)
f=1000-x(1)^2-2*x(2)^2-x(3)^2-x(1)*x(2)-x(1)*x(3)
3.4)
function f =sjlxfun(x)
f=100*(x(2)-x(1)^2)^2+(1-x(1))^2+90*(x(4)-x(3)^2)^2+(1-x(3))^2+10*((x(2)-1)^2+(x(4)-1)^2)+19.8*(x(2)-1)*(x(4)-1)
约束条件的M文件: sjlxcon.m
3.1)
function [c,ceq] =sjlxcon(x)
c = [x(1)^2-x(2);
x(1)+x(2)-2];
ceq = [ ];
3.2)
function [c,ceq] =sjlxcon(x)
c=[x(2)-x(1)/sqrt(3);
-x(1)+x(2)/sqrt(3);
x(1)+x(2)/sqrt(3)-6;
-x(1);
-x(2)];
ceq = [ ];
3.3)
function [c,ceq] =sjlxcon(x)
c=[-x(1);
-x(2);
-x(3)]
ceq = [x(1)^2+x(2)^2+x(3)^2-25;
8*x(1)+14*x(2)+7*x(3)-56];
3.4)
function [c,ceq] =sjlxcon(x)
c=[x(1)-10;
-x(1)-10;
x(2)-10;
-x(2)-10;
x(3)-10;
-x(3)-10;
x(4)-10;
-x(4)-10];
ceq = [ ];
窗口输入的求解命令
pp249一维搜索习题
1.1),1.2),1.3)
options = optimset('LargeScale','off');
[x,fval] =fminbnd(@sjlxfun,0,10,options)
pp249无约束优化习题
2.1),2.2),2.3)
x0=[1,1];
options = optimset('LargeScale','off');
[x,fval] = fminunc(@sjlxfun,x0,options)
2.4)
x0=[1,1];
options = optimset('LargeScale','off');
[x,fval] = fminsearch(@sjlxfun,x0,options)
2.5)
x0=[3,-1,0,1]
options = optimset('LargeScale','off');
[x,fval] = fminsearch(@sjlxfun,x0,options)
pp250约束优化习题
3.1),3.2)
x0=[1,5];
options = optimset('LargeScale','off');
[x,fval]=fmincon(@sjlxfun,x0,[],[],[],[],[],[],@sjlxcon,options)
3.3)
x0=[2,2,2]
options = optimset('LargeScale','off');
[x,fval]=fmincon(@sjlxfun,x0,[],[],[],[],[],[],@sjlxcon,options)
3.4)
x0=[-3,-1,-3,-1]
options = optimset('LargeScale','off');
[x,fval]=fmincon(@sjlxfun,x0,[],[],[],[],[],[],@sjlxcon,options)
展开阅读全文