数学建模实验报告
题目:最优化问题建模及求解
院系:计算机科学与工程学院
班级:
姓名:
学号:
【实验目的】
1.掌握matlab软件求解线性规划问题的方法;
2.掌握Matlab软件求解无约束优化问题的方法;
3.掌握matlab软件求解非线性规划的方法。
【实验内容与实现】
1、求解线性规划问题
实验代码:
c=[1 1 1 1 1 1];
A=[-1 0 0 0 0 -1
-1 -1 0 0 0 0
0 -1 -1 0 0 0
0 0 -1 -1 0 0
0 0 0 -1 -1 0
0 0 0 0 -1 -1];
b=[-60;-70;-60;-60;-20;-30];
Aeq=[];
beq=[];
vlb=zeros(6,1);
vub=[];
[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)
实验结果:
2、求解无约束优化问题
实验代码:
function f = fun0 (x)
f = 3*x(1)^2+x(2)^2-12*x(1)-8*x(2);
end
x0 = [-1, 1];
x=fminunc('fun0',x0)
y=fun0(x)
实验结果:
3、求解非线性规划问题
实验代码:
function f=fun3(x)
f=-(2*x(1)^2+2*x(2)^2-2*x(1)*x(2)-4*x(1)-6*x(2));
end
x0=[1;0];
A=[1 1;1 5];
b=[2;5];
Aeq=[];
beq=[];
VLB=[0;0];
VUB=[];
[x,fval]=fmincon('fun3',x0,A,b,Aeq,beq,VLB,VUB)
xmax=x
fmax=-fval
实验结果:
【实验心得】
这次实验我收获不少,通过这次实验我掌握了用matlab软件求解线性规划问题、无约束优化问题、非线性规划问题的方法。求解线性规划问题的函数:linprog;求解无约束优化问题的函数:fminbnd fminunc;求解非线性规划问题的函数:fmincon。通过这次实验我自己动手使用这三个函数解决实验问题,加深了我对这三个函数的理解,更加体会到Matlab软件在解决优化建模问题上的便利与强大,Matlab极大的丰富了我对数学运用的想象,几行代码,就可以迅速的帮人们解决需要大量运算的规划问题。
在课堂上,老师为我们讲解了线性规划函数与非线性规划函数的区别,和如何使用无约束优化函数,本来看着实验题目无从下手的我,在听完老师的讲解后,宛如醍醐灌顶,顺利地完成了实验。其实在做实验过程中,课本上的知识固然重要,但是老师的画龙点睛的讲解更为重要,在编写代码时,运算出错可能只是由于一个小小的问题,这个时候是跟你基础知识的了解没有太大关系,而是经验问题,这时老师的作用就凸显出来了,而且在看课本例题时,总会有不明白的地方,这时候老师在课堂上的讲解就显得尤为重要。
总之,这次的实验课让我有了很大的提升,无论是Matlab软件的使用上,还是编写代码的认知上,都让我受益匪浅。