数学建模实训报告.docx

上传人:b****5 文档编号:7184899 上传时间:2023-01-21 格式:DOCX 页数:21 大小:26.56KB
下载 相关 举报
数学建模实训报告.docx_第1页
第1页 / 共21页
数学建模实训报告.docx_第2页
第2页 / 共21页
数学建模实训报告.docx_第3页
第3页 / 共21页
数学建模实训报告.docx_第4页
第4页 / 共21页
数学建模实训报告.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

数学建模实训报告.docx

《数学建模实训报告.docx》由会员分享,可在线阅读,更多相关《数学建模实训报告.docx(21页珍藏版)》请在冰豆网上搜索。

数学建模实训报告.docx

数学建模实训报告

实训项目一线性规划问题及lingo软件求解……………………………1

实训项目二lingo中集合的应用………………………………………….7

实训项目三lingo中派生集合的应用……………………………………9

实训项目四微分方程的数值解法一………………………………………13

实训项目五微分方程的数值解法二……………………………………..15

实训项目六数据点的插值与拟合………………………………………….17

综合实训作品…………………………………………………………….18

每次实训课必须带上此本子,以便教师检查预习情况和记录实验原始数据。

实验时必须遵守实验规则。

用正确的理论指导实践袁必须人人亲自动手实验,但反对盲目乱动,更不能无故损坏仪器设备。

这是一份重要的不可多得的自我学习资料袁它将记录着你在大学生涯中的学习和学习成果。

请你保留下来,若干年后再翻阅仍将感到十分新鲜,记忆犹新。

它将推动你在人生奋斗的道路上永往直前!

项目一:

线性规划问题及lingo软件求解

一、实训课程名称数学建模实训

二、实训项目名称线性规划问题及lingo软件求解

三、实验目的和要求了解线性规划的基本知识,熟悉应用LINGO解决线性规划问题的一般方法

四:

实验内容和原理

内容一:

某医院负责人每日至少需要下列数量的护士

班次时间最少护士数

16:

00-10:

0060

210:

00-14:

0070

314:

00-18:

0060

418:

00-22:

0050

522:

00-02:

0020

602:

00-06:

0030

每班的护士在值班的开始时向病房报道,连续工作8个小时,医院领导为满足每班所需要的护士数,最少需要多少护士。

内容二:

内容三

五:

主要仪器及耗材

计算机与Windows2000/XP系统;LINGO软件

六:

操作办法与实训步骤

内容一:

考虑班次的时间安排,是从6时开始第一班,而第一班最少需要护士数为60,故x1>=60,又每班护士连续工作八个小时,以此类推,可以看出每个班次的护士可以为下一个班次工作四小时,据此可以建立如下线性规划模型:

程序编程过程:

min=x1+x2+x3+x4+x5+x6;

x1>=60;

x1+x2>=70;

x2+x3>=60;

x3+x4>=50;

x4+x5>=20;

x5+x6>=30;

编程结果:

Globaloptimalsolutionfound.

Objectivevalue:

150.0000

Infeasibilities:

0.000000

Totalsolveriterations:

3

VariableValueReducedCost

X160.000000.000000

X210.000000.000000

X350.000000.000000

X40.0000001.000000

X530.000000.000000

X60.0000000.000000

RowSlackorSurplusDualPrice

1150.0000-1.000000

20.000000-1.000000

30.0000000.000000

40.000000-1.000000

50.0000000.000000

610.000000.000000

70.000000-1.000000

内容二:

(1)max=6*x1+4*x2;

2*x1+3*x2<100;

4*x1+2*x2<120;

x1,x2分别表示两种型号生产数量。

所以,生产产品A1、A2分别为20、20件时,可使利润最大,最大为200元。

(2)

所以,当产品A1的利润在(2.6666667,8)时,不影响产品的生产数量。

(3)

所以,当装配工序的工时在(60,180)时,不改变产品种类,只需调整数量。

(4)加放产品A3,建立新的线性规划问题

max=6*x1+4*x2+5*x3;

2*x1+3*x2+4*x3<=100;

4*x1+2*x2+2*x3<=120;

@gin(x1);

@gin(x2);

@gin(x3);

内容三:

(1)设生产I产品为x1,生产II为x2,生产III产品为x3,则有:

max=3*x1+2*x2+2.9*x3;

8*x1+2*x2+10*x3<300;

10*x1+5*x2+8*x3<400;

2*x1+13*x2+10*x3<420;

@gin(x1);

@gin(x2);

@gin(x3);

所以,当月仅生产产品Ⅰ、Ⅱ、Ⅲ数量分别为24、24、5时工厂的利益最大,最大利润为134.5千元。

(2)max=3*x1+2*x2+2.9*x3-18;

8*x1+2*x2+10*x3<300;

10*x1+5*x2+8*x3<460;

2*x1+13*x2+10*x3<420;

@gin(x1);

@gin(x2);

@gin(x3);

借用其他工厂的设备B60台时时,可生产产品Ⅰ数量31、产品Ⅱ数量26,此时每月最大利润为127千元,比不借用设备时的利润少7.5千元。

所以借用B设备不合算。

(3)如果投入两种新产品,设每月生产的数量分别为x4、x5,则:

max=3*x1+2*x2+2.9*x3+2.1*x4+1.87*x5;

8*x1+2*x2+10*x3+12*x4+4*x5<300;

10*x1+5*x2+8*x3+5*x4+4*x5<400;

2*x1+13*x2+10*x3+10*x4+12*x5<420;

@gin(x1);

@gin(x2);

@gin(x3);

@gin(x4);

@gin(x5);

投产产品IV、V后,该工厂生产产品I、II、III、IV、V数量分别为26、19、1、1、8时,每月最大利润为135.96千元,比不投产该产品时多增加利润1.46千元。

故投产产品IV、I在经济上合算。

(4)max=4.5*x1+2*x2+2.9*x3;

9*x1+2*x2+10*x3<300;

12*x1+5*x2+8*x3<400;

4*x1+13*x2+10*x3<420;

@gin(x1);

@gin(x2);

@gin(x3);

改进后,要使得每月利润最大,则需生产产品I、II、III数量分别为22、24、2,最大利润为152.8千元。

所以改进结构对原计划有影响。

使得利润比为改进之前多18.3千元。

七:

项目分析

线性规划模型只是忽略一些外在因素所建立的模型,理论比较简单,但涉及的方面不全,所以要运用到实际中还需要多方面的考虑。

项目二:

lingo中集合的应用

一、实训课程名称数学建模实训

二、实训项目名称lingo中集合的应用

三、实验目的和要求熟悉应用LINGO解决规模较大线性规划问题的一般方法,熟悉集合的应用

四:

实验内容和原理

采用lingo中的集合语言,编程求解下列两个问题

内容一:

某医院负责人每日至少需要下列数量的护士

班次时间最少护士数

16:

00-8:

0060

28:

00-10:

0050

310:

00-12:

0070

412:

00-14:

0040

514:

00-16:

0060

616:

00-18:

0040

718:

00-20:

0050

820:

00-22:

0030

922:

00-00:

0020

1000:

00-02:

0030

1102:

00-04:

0030

1204:

00-06:

0030

每班的护士在值班的开始时向病房报道,连续工作6个小时,医院领导为满足每班所需要的护士数,最少需要多少护士。

内容二:

某个百货商场对售货人员(周200元)的需求经统计如下表,

星期1234567

人数16151214161819

为了保证销售人员充分休息,销每周工作5天,休息2天。

问要使工资开支最省至少需要多少售货员?

且给出一个销售人员工作时间安排表。

五:

主要仪器及耗材

计算机与Windows2000/XP系统;LINGO软件

六:

操作办法与实训步骤

内容一:

model:

sets:

class/c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12/:

required,hire;

endsets

data:

required=605070406040503020303030;

enddata

min=@sum(class(i):

hire(i));

@for(class(j):

@sum(class(i)|i#le#3:

hire(@wrap(j-i+1,12)))>=required(j));

end

所以最少需要180名护士。

内容二:

model:

sets:

days/z1,z2,z3,z4,z5,z6,z7/:

required,hire;

endsets

data:

required=16151214161819;

enddata

min=200*@sum(days(i):

hire(i));

@for(days(j):

@sum(days(i)|i#le#5:

hire(@wrap(j-i+1,7)))>=required(j));

end

所以要使工资开支最省至少需要22名售货员,工资开资最省为4400元。

项目三:

lingo中派生集合的应用

一、实训课程名称数学建模实训

二、实训项目名称lingo中派生集合的应用

三、实验目的和要求熟悉应用LINGO解决规模较大线性规划问题的一般方法,熟悉派生集合、稀疏集合的应用

四:

实验内容和原理

采用lingo中的集合语言,编程求解下列两个问题

内容一:

内容二:

计算6个产地8个销地的最小费用运输问题。

产销单位运价如下表。

位销地

产地B1B2B3B4B5B6B7B8产量

A16267425960

A24953858255

A35219743351

A47673927143

A52395726541

A65522814352

销量3537223241324338

五:

主要仪器及耗材

计算机与Windows2000/XP系统;LINGO软件

六:

操作办法与实训步骤

内容一:

程序:

model:

SETS:

CITIES/1,2,3,4,5,6,7,8,9,10/:

L;

ROADS(CITIES,CITIES)/

1,21,3

2,42,52,63,43,53,6

4,74,85,75,85,96,86,9

7,108,109,10/:

D;

ENDSETS

DATA:

D=65

3697511

91875410

579;

L=0,,,,,,,,,;

ENDDATA

@FOR(CITIES(i)|i#GT#1:

L(i)=@MIN(ROADS(j,i):

L(j)+D(j,i)););

END

结果:

所以,从城市1到城市10的最短路径长度为17,具体路径为:

1—2—4—8—10

内容二:

程序:

model:

sets:

gongying/1..6/:

chandi;

xuqiu/1..8/:

xiaodi;

link(gongying,xuqiu):

yunjia,c;

endsets

data:

chandi=605551434152;

xiaodi=3537223241324338;

yunjia=

62674259

49538582

52197433

76739271

23957265

55228143;

enddata

min=@sum(link(i,j):

c*yunjia);

@for(gongying(i):

@sum(xuqiu(j):

c(i,j))<=chandi(i));

@for(xuqiu(j):

@sum(gongying(i):

c(i,j))=xiaodi(j));

end

结果:

Globaloptimalsolutionfound.

Objectivevalue:

664.0000

Infeasibilities:

0.000000

Totalsolveriterations:

15

所以最小费用为664.

项目四:

微分方程的数值解法一

一、实训课程名称数学建模实训

二、实训项目名称微分方程求解

三、实验目的和要求1、学会用Matlab求简单微分方程的解析解.

2、学会用Matlab求微分方程的数值解

四:

实验内容和原理

1、求方程的通解。

2、求微分方程组,在初始条件下的特解。

3、求方程,分别用ode45,ode15s求解,并画出函数图形。

五:

主要仪器及耗材

计算机与Windows2000/XP系统;MATLAB软件

六:

操作办法与实训步骤

1、

>>dsolve('(x^2-1)*Dy+2*x*y-sin(x)=0')

ans=

1/2*(sin(x)+2*exp(-2*x/(x^2-1)*t)*C1*x)/x

2、

>>[x,y]=dsolve('Dx+x+y=0','Dy+x-y=0','x(0)=1,y(0)=0','t');

>>x=simple(x)

x=

(-1/4*2^(1/2)+1/2)*exp(2^(1/2)*t)+(1/4*2^(1/2)+1/2)*exp(-2^(1/2)*t)

>>y=simple(y)

y=

-1/4*2^(1/2)*(exp(2^(1/2)*t)-exp(-2^(1/2)*t))

3、

M_文件:

functiondx=l(t,x)

dx=zeros(2,1);

dx

(1)=x

(1)-0.1*x

(1)*x

(2)+0.01*t;

dx

(2)=-x

(2)+0.4*x

(1)*x

(2)+0.04*t;

程序(ode45):

>>[t,x]=ode45('l',[0,100],[3020]);

>>plot(t,x(:

1),'-',t,x(:

2),'*')

程序(ode15s):

>>[t,x]=ode15s('l',[0,100],[3020]);

>>plot(t,x(:

1),'-',t,x(:

2),'*')

项目五:

微分方程的数值解法二

一、实训课程名称数学建模实训

二、实训项目名称微分方程求解

三、实验目的和要求熟悉并掌握用matlab解微分方程的解析解和数值解

四:

实验内容和原理

一个慢跑者在平面上沿圆以恒定的速率v=1跑步,设圆方程为:

x=10+20cost,y=20+20sint.突然有一只狗攻击他.这只狗从原点出发,以恒定速率w跑向慢跑者,狗的运动方向始终指向慢跑者.分别求出w=20,w=5时狗的运动轨迹.

五:

主要仪器及耗材

计算机、matlab软件

六:

操作办法与实训步骤

当w=20

建立M文件h,M文件如下

functiondy=h(t,y)

dy=zeros(2,1);

dy

(1)=20*(10+20*cos(t)-y

(1))/sqrt((10+20*cos(t)-y

(1))^2+(20+20*sin(t)-y

(2))^2);

dy

(2)=20*(20+20*sin(t)-y

(2))/sqrt((10+20*cos(t)-y

(1))^2+(20+20*sin(t)-y

(2))^2);

程序如下:

取t0=0,tf=10

[t,y]=ode45('h',[010],[00]);

>>t=0:

0.1:

2*pi;

>>X=10+20*cos(t);

>>Y=20+20*sin(t);

>>plot(X,Y,'-')

>>holdon

plot(y(:

1),y(:

2),'*')

当W=5

建立M文件l,M文件如下

functiondy=l(t,y)

dy=zeros(2,1);

dy

(1)=5*(10+20*cos(t)-y

(1))/sqrt((10+20*cos(t)-y

(1))^2+(20+20*sin(t)-y

(2))^2);

dy

(2)=5*(20+20*sin(t)-y

(2))/sqrt((10+20*cos(t)-y

(1))^2+(20+20*sin(t)-y

(2))^2);

程序如下:

取t0=0,tf=10

[t,y]=ode45('l',[010],[00]);

>>t=0:

0.1:

2*pi;

>>X=10+20*cos(t);

>>Y=20+20*sin(t);

>>plot(X,Y,'-')

>>holdon

plot(y(:

1),y(:

2),'*')

项目六:

数据点的插值与拟合

一、实训课程名称数学建模实训

二、实训项目名称数据点的插值与拟合

三、实验目的和要求了解插值、最小二乘拟合的基本原理,掌握用MATLAB计算一维插值和两种二维插值的方法,掌握用MATLAB作最小二乘多项式拟合和曲线拟合的方法

四:

实验内容和原理

附件1列出了采样点的位置、海拔高度及其所属功能区等信息,现要求你们通过数学建模来完成以下任务:

(1)给出8种主要重金属元素在该城区的空间分布,并分析该城区内不同区域重金属的污染程度。

五:

主要仪器及耗材

计算机与Windows2000/XP系统;MATLAB软件

六:

操作办法与实训步骤

在matlab中输入:

x=[];

y=[];

z=[];

cx=0:

100:

28654;

cy=5000:

100:

18449;

cz=griddata(x,y,z,cx,cy','cubic');

meshz(cx,cy,cz),rotate3d

xlabel('X'),ylabel('Y'),zlabel('Z')

figure

(2),contour(cx,cy,cz,15,'r');

综合实训作品

基于枚举法和曲线积分法公路选址问题的求解

摘要

城区公路选址是一项利民工程,为将该工程做好,建设部门在设计时应最大限度减少造价,从而节约成本,达到费用最省。

为此目的,本文利用函数化思想建立模型求解并给出了五种不同要求下的最优方案。

由题目所给数据(图1)可知,直线AB右上方单位区域中的单位建设费用小于AB左下的单位建设费用,且数据矩阵关于其次对角线对称。

因而转弯点(无论一个或两个)均应位于AB右上区域。

问题1要求至多1个转弯点且在网格点上,可分0个和1个转弯点两种情况。

对于0个转弯点,即直线AB,通过几何方法得出建设费用为14.9907百万元。

对于1个转弯点在网格点上的问题,我们利用函数化思想建立函数关系模型,运用枚举法和权重法,并利用编程直接输出最小费用。

比较可知,恰有一个转弯点时较无转弯点为优。

其方案是选择坐标为(5,6)或(6,5)的点,建设费用最小为14.707百万元。

对于问题3,要求转弯点在网格线上,即至少有一个坐标为整数,分一个转弯点和两个转弯点两种情况。

因为整数最优点是最接近理想最优点的整数点,我们可以先算出只有两个转弯点时且转弯点在网格点的费用,计算得出最优转弯点为(4,7)和(7,4)时,建设费用最小,为14.6241百万元。

在此基础上将循环语句中的步长1修改为0.01,运行结果说明,一个转弯点的最优选择是(6,4.57),费用为14.6989百万元;两个转弯点的最优选择是(3.62,7)和(7,3.62),费用为14.6201百万元。

因而选择两个转弯点更优。

对于问题4,坐标点可以为区间[0,9]中的任意实数值,我们在问题三解法的基础上对最优点的两个坐标均用步长0.01循环,得出最优转弯点为(3.58,7.32)和(7.32,3.58),此时最小费用为14.54百万元。

可见较问题3的答案更优。

对于问题5,每个点的单位建设费用都不同,且单位建设费用是连续函数。

我们用曲线积分方法建立总费用模型,求出变下限积分函数的最小值,得出最优点为(5.30,5.30),最优建设费用为14.707百万元,与问题1相同。

最后,我们针对问题的实际情况,对论文的优缺点做了评价,提出了几个改进方向,以便用于指导实际应用。

关键词:

函数化建模编程枚举法最优方案曲线积分法

一、问题重述

某区政府计划在下列区域(见图1)修建一条从A(0,9)到B(9,0)的直线型公路,由于涉及路面拆迁等因素,各地段建设费用有所不同,图1中的数字代表该区域公路单位建设费用(单位:

百万元)。

未标数字的任何地方单位建设费用均为1。

图1的每个网格长与宽都是1个单位。

每个网格的边界上建设费用按该地区最小单位费用计算。

请你按建设部门的如下具体要求,从建设费用最省的角度,给出最优的方案。

(1)公路至多只能有1个转弯点,且转弯点只能建在图1所示的网格点上。

(3)公路至多只能有2个转弯点,且转弯点只能建在图1所示的网格线上。

(4)公路至多只能有2个转弯点,转弯点可以建在图1所示区域的任何位置。

(5)如果各区域的单位建设费用为(百万元),公路至多只能有1个转弯点,转弯点可以建在图1所示区域的任何位置。

图1

二、问题分析

针对问题一:

需要求出当公路至多只能有1个转弯点且转弯点只能建在图1所示的网格点上时所需的费用最省的目标值。

首先,我们计算出没有转弯点时花费为14.9907百万元。

对于有一个转弯点的,我们利用函数化建模思想将W与、的关系用数学方程式表达出来,接着利用编程将函数关系式进行运算,使用枚举法得出所有可能的转弯点的值,最后通过查找语句找出所得数据中的最小值,在与没有转弯点的花费比较,较小的即为可用的最优方案。

针对问题三:

需要求出当公路至多只能有2个转弯点且转弯点只能建在图1所示的网格线上时所需的费用最省的目标值,坐标点至少有一个为小数,在只有两个转弯点时且转弯点在网格点的基础上设定x或y其一必为小数,即步长改为0.01,和只有两个转弯点时且转弯点在网格点类似。

针对问题四:

需要求出当公路至多只能有2个转弯点但转弯点可以建在图1所示区域的任何位置时所需的费用最省的目标值。

此时,坐标点为0-9之间的任意实数,有两种情况:

一种为有一个转弯点,另一种为有两个转弯点。

在问题一与只有两个转弯点时且转弯点在网格点的基础上,针对第一种情况,只需将第一问的程序中的步长改为0.01;针对第二种情况,只需将只有两个转弯点时且转弯点在网格点程序中的步长改为0.01,通过比较两种情况下的值,可得出最优方案。

针对问题五:

如果各区域的单位建设费用为(百万元),公路至多只能有1个转弯点,转弯点可以建在图1所示区域的任何位置。

因为每个点的单位建设费用不同,但又是连续变化的,故我们可以利用微积分法思想,假设在极小的一段路程内建设费用

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

当前位置:首页 > 农林牧渔 > 林学

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

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