数学建模实验报告

淮阴工学学院

数理学院数学建模与实验课程实验报告

实验名称五、非线性规划实验地点26#114 日期2014-10-20

姓名班级学号成绩

[1] 学习非线性规划的建模方法;

[2] 掌握建立非线性规划模型的求解方法;

[3] 熟悉MATLAB软件求解非线性规划模型的基本命令;

[4]了解建立非线性规划模型的全过程,与线性规划比较其难点何在。

通过该实验的学习,使学生掌握最优化技术,认识面对什么样的实际问题,提出假设和建立优化模型,并且使学生学会使用MATLAB软件进行非线性规划模型求解的基本命令,并进行灵敏度分析。解决现实生活中的最优化问题是本科生学习阶段中一门重要的课程,因此,本实验对学生的学习尤为重要。

【实验要求】

[1]独立完成各个实验任务;

[2]实验的过程保存成.m 文件,以备检查;

[3]完成实验报告。

【实验内容】

1.建立非线性规划模型的基本要素和步骤;

2.熟悉使用MATLAB命令对非线性规划模型进行计算与灵敏度分析;

3.学会计算无约束优化问题和有约束优化问题的技巧。

【实验步骤】

1.开启MATLAB软件平台,开启MATLAB编辑窗口;

2.根据问题,建立非线性规划模型,并编写求解规划模型的M文件;

3.保存文件并运行;

4.观察运行结果(数值或图形),并不断地改变参数设置观察运行结果;

5.根据观察到的结果和体会,写出实验报告。

【实验要求与任务】

根据实验内容和步骤,完成以下实验,要求写出实验报告(实验目的→问题→数学模型→算法与编程→计算结果→分析、检验和结论)B组

A城和B城之间准备建一条高速公路,B城位于A城正南和正东120公里交汇处,它们之间有东西走向连绵起伏的山脉。公路造价与地形特点有关,图1给出了整个地区的大致地貌情况,显示可分为三条沿东西方向的地形带。已知每个地形带的造价如下:

、22(单位:公里),P点坐标为:(44, 60)(坐标系原点为O,OB为X轴,OA 为Y轴,其中r的数值为你学号后2位+10)。高速公路转弯角度至少为1400,否则会引进交通事故。

你的任务是建立一个数学模型,在给定三种地形上每公里的建造费用的情况下,确定最便宜的路线。图中直线AB显然是路径最短的,但不一定最便宜。请你解决下面2个问题:

(1)你如何修建高速公路,使得总费用最少。

(2)如果道路必须通过一个已知地点P,你如何修建高速公路,使得总费用最少

一、实验目的

根据题目要求,求出符合条件的最佳方案

二、问题

(1)你如何修建高速公路,使得总费用最少。

(2)如果道路必须通过一个已知地点P,你如何修建高速公路,使得总费用最少

三、数学模型

假设路在不同种类型的地形交界处转向,设M1,M2,M3,M4分别为转弯地点,则:

A(0,90);M1(x1,68);P(44,60);M2(x2,51);M3(x3,38);M4(x4,22);B(120,0)。

根据已知条件,建立非线性规划模型:

min y = 500(AM1+M4B) + 800(M1M2+M3M4) + 1200M2M3

s.t.

第二问中要过P点,应加一个条件为:

四、算法与编程

(1)编写函数文件,作为约束条件:function[c, ceq] = test5_2(x)

AM1 = sqrt(x(1)^2+529);

M1M2 = sqrt((x(2)-x(1))^2+289);

M2M3 = sqrt((x(3)-x(2))^2+169);

M3M4 = sqrt((x(4)-x(3))^2+256);

M4B = sqrt((120-x(4))^2+484);

AM2 = sqrt(x(2)^2+1600);

M1M3 = sqrt((x(3)-x(1))^2+900);

M2M4 = sqrt((x(4)-x(2))^2+841);

M3B = sqrt((120-x(3))^2+1444);

y1 = (AM1^2+M1M2^2-AM2^2)/(2*AM1 *M1M2);

y2 = (M1M2^2+M2M3^2-M1M3^2)/(2* M1M2*M2M3);

y3 = (M2M3^2+M3M4^2-M2M4^2)/(2* M2M3*M3M4);

y4 = (M3M4^2+M4B^2-M3B^2)/(2*M3 M4*M4B);

c = [y1 - cos(7*pi/9);y2 - cos(7*pi/9);y

3 - cos(7*pi/9);y

4 - cos(7*pi/9);-1-y1;-1 -y2;-1-y3;-1-y4];

%Q1

ceq = [];

%Q2(除了这句语句外其余与test5_2.m

相同,所以只加上这一句,为test5_3.m) ceq = [9*(x(1)-x(2))-17*(44-x(2))];

end

(2)编写函数文件,作为目标函数:function f = test5_1(x)

AM1 = sqrt(x(1)^2+529);

M1M2 = sqrt((x(2)-x(1))^2+289);

M2M3 = sqrt((x(3)-x(2))^2+169);

M3M4 = sqrt((x(4)-x(3))^2+256);M4B = sqrt((120-x(4))^2+484);

f = 500*(AM1+M4B)+800*(M1M2+M3M

4)+1200*M2M3;

end

(3)编写m文件,求解并画图:%%%%%%

clear all;

clc;

clf;

%%%%%%

format longg

[x1 fval1] = fmincon('test5_1',[60 60 6 0 60],[],[],[],[],[0 0 0 0],[120 120 120 120],'test5_2')

[x2 fval2] = fmincon('test5_1',[60 60 6 0 60],[],[],[],[],[0 0 0 0],[120 120 120 120],'test5_3')

X1 = [0 x1 120];

X2 = [0 x2 120];

Y = [91 68 51 38 22 0];

xx = linspace(0,120,10);

yc = linspace(68,68,10);

yd = linspace(51,51,10);

ye = linspace(38,38,10);

yf = linspace(22,22,10);

plot(X1,Y,X2,Y,'linewidth',2)

xlim([0 120]);

ylim([0 91]);

legend('Question 1','Question 2')

hold on

plot(44,60,'.','markersize',20)

plot(xx,yc,'k',xx,yd,'k',xx,ye,'k',xx,yf,'k','lin

ewidth',2)

text(40,58,'P')

五、计算结果 x1 =

47.1944 58.7399 63.9913 74.8578 fval1 =

100096.7243 x2 =

36.4843 52.4551 69.6724 90.8630 fval2 =

105610.3813

20406080100

1200102030405060708090

六、分析、检验与结论

(1)当M 1(47.1944,68);M 2(58.7399,51);M 3(63.9913,38);M 4(74.8578,22)时,有最小费用,为100096.7243万元。

(2)当M 1(36.4843,68);M 2(52.4551,51);M 3(69.6724,38);M 4(90.8360,22)时,经过P 点,有最小费用,为105610.3813万元。

(3)根据图像,可以看出规划的路径,符合角度小于140°的要求,所以可以认为这个答案就是最佳方案。

相关文档
最新文档