最优化方法实验.docx

上传人:b****7 文档编号:10013508 上传时间:2023-02-07 格式:DOCX 页数:11 大小:66.41KB
下载 相关 举报
最优化方法实验.docx_第1页
第1页 / 共11页
最优化方法实验.docx_第2页
第2页 / 共11页
最优化方法实验.docx_第3页
第3页 / 共11页
最优化方法实验.docx_第4页
第4页 / 共11页
最优化方法实验.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

最优化方法实验.docx

《最优化方法实验.docx》由会员分享,可在线阅读,更多相关《最优化方法实验.docx(11页珍藏版)》请在冰豆网上搜索。

最优化方法实验.docx

最优化方法实验

《最优化方法》实验报告

实验序号:

01     实验项目名称:

线性规划及MATLAB应用

学 号

姓  名

专业、班级

实验地点

计算机楼1402

指导教师

时间

2016.9.21

一、实验目的

1.了解Matlab,学会创建Matlab的M文件。

2.学会利用matlab解决数学模型求得最优解;

3.学会利用matlab求解线性方程组问题。

二、实验环境

使用电脑硬件设备,在matlab工作环境。

三、实验内容及步骤

第一题:

P2例1.1

程序:

f=[8400;7500;6700];

A=[60,65,80;-3800,-3500,-2500];

b=[70;-2900];

Aeq=[1,1,1];

beq=[1];

VLB=[0;0;0];

VUB=[Inf;Inf;Inf];

[x,fval]=linprog(f,A,b,Aeq,beq,VLB,VUB)

实验结果:

Optimizationterminated.

x=

0.0000

0.6667

0.3333

fval=

7.2333e+003

第二题:

P41T4

(1)程序:

f=[-2;-1;1];

A=[1,1,2;1,4,-1];

b=[6;4];

Aeq=[];

beq=[];

VLB=[0;0;0];

VUB=[Inf;Inf;Inf];

[x,fval]=linprog(f,A,b,Aeq,beq,VLB,VUB)

程序结果:

Optimizationterminated.

x=

4.6667

0.0000

0.6667

fval=

-8.6667

Max=8.667

(2)程序:

f=[-1;1;-1];

A=[-1,2,-1];

b=[-1];

Aeq=[-1,1,1];

beq=[2];

VLB=[-1;0;0];

VUB=[Inf;Inf;Inf];

[x,fval]=linprog(f,A,b,Aeq,beq,VLB,VUB)

实验结果:

x=

1.0e+014*

4.0005

0.0000

4.0005

fval=

-8.0011e+014

第三题:

求解:

程序:

model:

min=1.5*x1*x1+0.5*x2*x2-x1*x2-2*x1;

init:

x1=-2;

x2=4;

endinit

@free(x1);

@free(x2);

end

结果:

min=-1

x1=x2=1

第四题:

解方程组:

matlab程序:

[x1,x2]=solve('(x1)^2-x2=1','(x1-2)^2+(x2-0.5)^2=1')

实验结果:

x=

1.5463428833199450050728889725194

1.067346085806689713408597312807

-1.2136904451605911320167045558746*i-1.3068444845633173592407431426632

1.2136904451605911320167045558746*i-1.3068444845633173592407431426632

y=

1.3911763127942410521940863240803114729679579201533260544281675522440233186660598457116942191248575338181509569760819712993230793

0.13922766688686144048362498805141087933357298414914486351532392237011544190365728451529715182980975642655455229498393680361776014

3.1722093284506318231178646481142869096328621010406471307419312878787791623708452886545479195649687661220331009729607188767691491*i-0.76520198984055124633885565606586

-3.1722093284506318231178646481143*i-0.76520198984055124633885565606586

最优解:

x1=1.546x2=1.391

四.实验小结:

通过本次的实验,我已了解了matlab的一些求解数学方法,如调用linprog求得函数的最小值,知道如何应用lingo软件求的方程的最优解,也可以熟练的利用solve函数解决方程组问题,实验过程基本正常。

教师评语:

 

签名:

日期:

成绩

《最优化方法》实验报告

实验序号:

02     实验项目名称:

0.618黄金分割法的应用

学 号

姓  名

专业、班级

实验地点

计算机楼1402

指导教师

时间

2016.10.16

一、实验目的

1.熟悉Matlab上机环境,了解Matlab的相关知识;

2.通过本次实验了解线性搜索,加深对0.618分割法的理解;

3.根据0.618分割法的算法步骤编写相应的Matlab程序,并利用matlab程序计算求解;

4.通过本次实验提高编程能力。

二、实验环境

使用电脑硬件设备,在matlab工作环境。

三、实验内容及步骤

第一题内容:

用黄金分割法计算

,初始区间为[0,3],收敛精度为0.5.

程序:

function[t,f]=golden1(a,b)

m=1-(sqrt(5)-1)/2;

t2=a+m*(b-a);

f2=g(t2);

t1=a+b-t2;

f1=g(t1);

whileabs(t1-t2)>0.5

iff1

a=t2;

t2=t1;

f2=f1;

t1=a+b-t2;

f1=g(t1);

else

b=t1;

t1=t2;

f1=f2;

t2=a+m*(b-a);

f2=g(t2);

end

end

t=(t1+t2)/2;

f=g(t);

functiony=g(t)

y=t^3-2*t+1;

实验数据和分析:

分析:

打开matlab软件,新建m文件,将函数式写入程序,在matlab中输入:

结果分析:

根据以上结果可知,

在区间[0,3]上,函数g(x)=x^3-2*x+1的最小值点在x=0.9271处,此时最小值为0。

第二题:

P50例题3.1

程序:

function[t,f]=golden3(a,b)%黄金分割函数的m文件

t2=a+0.382*(b-a);

f2=2*(t2)^2-(t2)-1;

t1=a+0.618*(b-a);%按照黄金分割点赋值,更准确可直接算

f1=2*(t1)^2-(t1)-1;

whileabs(t1-t2)>0.16;%判定是否满足精度

iff1

a=t2;

t2=t1;

f2=f1;

t1=a+0.618*(b-a);

f1=2*(t1)^2-(t1)-1;

else

b=t1;

t1=t2;

f1=f2;

t2=a+0.382*(b-a);

f2=2*(t2)^2-(t2)-1;

end

end

t=(t1+t2)/2;%满足条件取区间中间值输出

实验数据和分析:

分析:

打开matlab软件,新建m文件,将函数式写入程序,在matlab中输入:

>>golden3(-1,1)

ans=

0.2918

结果分析:

根据以上结果可知,在区间[-1,1]上,函数g(x)=2*x^2-x-1的最小值点在x=0.2918处,此时最小值为0。

第三题:

用牛顿法计算

,初始迭代点为

,要求精确到小数点后第5位。

程序:

function[t,d]=newtow1(t0)

t0=0.4;

t=t0-(18*(t0)-cos(t0))/(18+sin(t0));

k=1;

T

(1)=t;

whileabs(t-t0)>0.000005

t0=t;

t=t0-(18*(t0)-cos(t0))/(18+sin(t0));

k=k+1;

T(k)=t;

end

t1=t0;

d=9*(t1)^2-sin(t1)-1;

k

T

end

运行结果:

第四题:

P64T3

程序:

function[t,d]=newtow2(t0)

t0=2.5;

t=t0-(4*(t0)^3-12*(t0)^2-12*(t0)-16)/(12*(t0)^2-24*(t0)-12);

k=1;

T

(1)=t;

whileabs(t-t0)>0.000005

t0=t;

t=t0-(4*(t0)^3-12*(t0)^2-12*(t0)-16)/(12*(t0)^2-24*(t0)-12);

k=k+1;

T(k)=t;

end

t1=t0;

d=(t1)^4-4*(t1)^3-6*(t1)^2-16*(t1)+4;

k

T

end

运行结果:

当x(0)=2.5

当x(0)=3

 

四.实验小结:

1.通过这次实验,加深了对0.618法的理解。

2.在学习0.618法的过程中,又巩固了倒数、求解函数值等相关知识。

3.利用Matlab的巨大功能来帮助我们学习,进一步提高我们的学习效率。

教师评语:

 

签名:

日期:

成绩

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 判决书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1